:root{--ground: #f3eee4;--panel: #fffdf9;--panel-2: #f8f3ea;--rule: #e6ddcd;--rule-2: #d3c6b1;--control-line: #857a69;--ink: #17130e;--ink-2: #51483c;--ink-3: #665b4d;--label: #8a4f00;--accent: #ffb21a;--accent-ink: #000000;--gain: #08743a;--gain-bg: #e3f1e0;--loss: #bf1e2b;--loss-bg: #fbe4df;--warn: #7a4e00;--warn-bg: #fcefca;--info: #1f5fa8;--info-bg: #e6edf4;--ham: #b0124f;--ham-soft: rgba(214, 51, 112, .34);--ham-wash: #fbe7ea;--cost: #17130e;--sel: #fff2d6;--sel-line: #b86e00;--hover: #f9f4ec;--chart-bar: #4a4136;--chart-grid: #e6ddcd;--scrim: rgba(23, 19, 14, .45);--focus-inner: #17130e;--focus-ring: 0 0 0 2px var(--focus-inner);color-scheme:light;--font-ui: "Sofia Sans", "Segoe UI", Arial, sans-serif;--font-fig: "Martian Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--fig-stretch: 78%;--text-2xs: 11px;--text-xs: 12px;--text-sm: 13px;--text-base: 15px;--text-md: 16px;--text-lg: 19px;--text-xl: 24px;--text-2xl: 30px;--text-3xl: 38px;--leading-tight: 1.15;--leading: 1.4;--leading-prose: 1.55;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--weight-black: 800;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--rail-w: 208px;--rail-w-collapsed: 64px;--row-h: 48px;--control-h: 40px;--content-max: 1120px;--topbar-h: 56px;--tabbar-h: 60px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-full: 999px;--shadow-pop: 0 10px 28px rgba(23, 19, 14, .16), 0 2px 6px rgba(23, 19, 14, .08);--dur-fast: .12s;--dur-base: .18s;--dur-slow: .32s;--ease-out: cubic-bezier(.2, .8, .2, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--z-sticky: 10;--z-nav: 20;--z-menu: 30;--z-sheet: 40;--z-toast: 50}@media(max-width:640px){:root{--control-h: 44px;--row-h: 52px}}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--ground: #14110d;--panel: #1c1813;--panel-2: #241f19;--rule: #342d24;--rule-2: #4a4034;--control-line: #827563;--ink: #f4eee4;--ink-2: #c1b5a4;--ink-3: #a99b88;--label: #ffb21a;--accent: #ffb21a;--accent-ink: #000000;--gain: #3fdb86;--gain-bg: #13281b;--loss: #ff6b70;--loss-bg: #34181a;--warn: #ffc94d;--warn-bg: #2f2408;--info: #7fb2f0;--info-bg: #142438;--ham: #ff9cc0;--ham-soft: rgba(255, 141, 179, .42);--ham-wash: #30191f;--cost: #f4eee4;--sel: #2c2417;--sel-line: #ffb21a;--hover: #221d17;--chart-bar: #b6a994;--chart-grid: #342d24;--scrim: rgba(0, 0, 0, .6);--focus-inner: transparent;--shadow-pop: 0 10px 28px rgba(0, 0, 0, .55), 0 0 0 1px #4a4034;color-scheme:dark}}:root[data-theme=dark]{--ground: #14110d;--panel: #1c1813;--panel-2: #241f19;--rule: #342d24;--rule-2: #4a4034;--control-line: #827563;--ink: #f4eee4;--ink-2: #c1b5a4;--ink-3: #a99b88;--label: #ffb21a;--accent: #ffb21a;--accent-ink: #000000;--gain: #3fdb86;--gain-bg: #13281b;--loss: #ff6b70;--loss-bg: #34181a;--warn: #ffc94d;--warn-bg: #2f2408;--info: #7fb2f0;--info-bg: #142438;--ham: #ff9cc0;--ham-soft: rgba(255, 141, 179, .42);--ham-wash: #30191f;--cost: #f4eee4;--sel: #2c2417;--sel-line: #ffb21a;--hover: #221d17;--chart-bar: #b6a994;--chart-grid: #342d24;--scrim: rgba(0, 0, 0, .6);--focus-inner: transparent;--shadow-pop: 0 10px 28px rgba(0, 0, 0, .55), 0 0 0 1px #4a4034;color-scheme:dark}@media(prefers-reduced-motion:reduce){:root{--dur-fast: 0ms;--dur-base: 0ms;--dur-slow: 0ms}}@font-face{font-family:Martian Mono;font-style:normal;font-weight:100 800;font-stretch:75% 112.5%;font-display:swap;src:url(/fonts/martian-mono-variable-latin.woff2) format("woff2")}@font-face{font-family:Sofia Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/sofia-sans-latin-400-normal.woff2) format("woff2")}@font-face{font-family:Sofia Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/sofia-sans-latin-500-normal.woff2) format("woff2")}@font-face{font-family:Sofia Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/sofia-sans-latin-600-normal.woff2) format("woff2")}@font-face{font-family:Sofia Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/sofia-sans-latin-700-normal.woff2) format("woff2")}@font-face{font-family:Sofia Sans;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/sofia-sans-latin-800-normal.woff2) format("woff2")}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--ground);color:var(--ink);font:var(--weight-medium) var(--text-base)/var(--leading) var(--font-ui)}::selection{background:var(--accent);color:var(--accent-ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;box-shadow:var(--focus-ring)}a{color:inherit}h1,h2,h3,p{margin:0}[hidden]{display:none!important}.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.fig{font-family:var(--font-fig);font-stretch:var(--fig-stretch);font-variant-numeric:tabular-nums;letter-spacing:-.01em}kbd{font:var(--weight-medium) var(--text-2xs) var(--font-fig);border:1px solid var(--rule-2);color:var(--ink-3);border-radius:var(--radius-sm);padding:0 4px;line-height:16px}code{font-family:var(--font-fig);font-stretch:var(--fig-stretch);font-size:var(--text-sm);background:var(--panel-2);border:1px solid var(--rule);border-radius:var(--radius-sm);padding:1px 6px}svg.i{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}.sub{display:block;font-size:var(--text-xs);color:var(--ink-3);font-weight:var(--weight-medium)}.grow{flex:1}.skip{position:absolute;left:var(--space-2);top:-60px;z-index:var(--z-toast);background:var(--panel);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md)}.skip:focus{top:var(--space-2)}.top{position:sticky;top:0;z-index:var(--z-nav);height:var(--topbar-h);display:flex;align-items:center;gap:var(--space-4);padding:0 var(--space-5);background:var(--panel);border-bottom:1px solid var(--rule)}.brand{display:flex;align-items:center;gap:9px;text-decoration:none;color:var(--ink);font-weight:var(--weight-black);font-size:var(--text-lg);letter-spacing:-.01em;white-space:nowrap}.trotter-mark{width:26px;height:26px;color:var(--ink);flex:none}.trotter-mark .snout{fill:var(--ham-soft);stroke:var(--ham)}.trotter-mark .cap{fill:var(--panel)}.tabs{display:flex;align-self:stretch;gap:var(--space-1)}.tabs a{display:flex;align-items:center;gap:7px;padding:0 var(--space-3);color:var(--ink-2);text-decoration:none;font-weight:var(--weight-semibold);font-size:var(--text-md);white-space:nowrap}.tabs a svg.i{width:16px;height:16px}.tabs a:hover{color:var(--ink);background:var(--hover)}.tabs a[aria-current=page]{color:var(--ink);box-shadow:inset 0 -2px 0 var(--accent)}.tabs a[aria-current=page]:focus-visible{outline-offset:-2px;box-shadow:inset 0 -2px 0 var(--accent),inset 0 0 0 4px var(--focus-inner)}.iconbtn{width:var(--control-h);height:var(--control-h);display:grid;place-items:center;border:1px solid var(--rule-2);border-radius:var(--radius-md);background:transparent;color:var(--ink-2);cursor:pointer;flex:none;padding:0}.iconbtn:hover{color:var(--ink);border-color:var(--ink-3)}.iconbtn svg.i{width:16px;height:16px}.pill{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border:1px solid var(--rule-2);border-radius:var(--radius-full);background:var(--panel);color:var(--ink-2);font-size:var(--text-sm);font-weight:var(--weight-bold);text-decoration:none;white-space:nowrap}.pill svg.i{width:16px;height:16px}.pill .fig{color:var(--ink);font-weight:var(--weight-semibold)}.pill.is-run svg.i{color:var(--info)}.pill.is-idle,.pill.is-idle .fig{color:var(--ink-3)}.pill.is-full{background:var(--warn-bg);border-color:var(--warn);color:var(--warn)}.pill.is-full .fig{color:var(--warn)}.pill:hover{border-color:var(--ink-3)}.tabbar{display:none}.page{max-width:1120px;margin:0 auto;padding:var(--space-4) var(--space-5) var(--space-8);display:grid;gap:var(--space-4);min-width:0}.page>*:not(router-outlet){display:grid;gap:var(--space-4);min-width:0;align-content:start}.page>router-outlet{display:none}.phead{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3)}.phead h1{font-size:var(--text-xl);font-weight:var(--weight-black);letter-spacing:-.01em;line-height:var(--leading-tight)}.phead .ctx{font-size:var(--text-sm);color:var(--ink-2)}.phead .acts{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-left:auto}.phead .st{font-size:var(--text-md)}.phead .st svg.i{width:18px;height:18px}.crumb{font-size:var(--text-sm);color:var(--ink-2);text-decoration:none;display:inline-flex;align-items:center;gap:4px;font-weight:var(--weight-semibold)}.crumb:hover{color:var(--ink)}.crumb svg.i{width:14px;height:14px}.vfoot{max-width:1120px;margin:0 auto;display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-4);justify-content:space-between;padding:var(--space-3) var(--space-5) var(--space-8);font-size:var(--text-xs);color:var(--ink-3)}.vfoot .fig{font-size:var(--text-xs)}.btn{font:var(--weight-bold) var(--text-base) var(--font-ui);height:var(--control-h);padding:0 16px;border-radius:var(--radius-md);border:1px solid var(--rule-2);background:var(--panel);color:var(--ink);display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;white-space:nowrap;text-decoration:none}.btn:hover{border-color:var(--ink-3)}.btn svg.i{width:16px;height:16px}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn-primary:hover{filter:brightness(1.06);border-color:var(--accent)}.btn-ghost{background:transparent;border-color:transparent;color:var(--ink-2)}.btn-ghost:hover{color:var(--ink);border-color:var(--rule-2)}.btn-sm{height:34px;padding:0 12px;font-size:var(--text-sm)}.btn-sm svg.i{width:14px;height:14px}.btn-lg{height:48px;padding:0 20px;font-size:var(--text-md)}.btn[disabled],.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}.linkbtn{font:inherit;font-weight:var(--weight-bold);color:var(--label);background:none;border:0;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.input{font:var(--weight-semibold) var(--text-base) var(--font-ui);height:var(--control-h);color:var(--ink);background:var(--panel);border:1px solid var(--rule-2);border-radius:var(--radius-md);padding:0 12px;min-width:0}.input::placeholder{color:var(--ink-3)}.input:hover{border-color:var(--ink-3)}.input[aria-invalid=true]{border-color:var(--loss);box-shadow:inset 0 0 0 1px var(--loss)}.input[aria-invalid=true]:focus-visible{box-shadow:inset 0 0 0 1px var(--loss),var(--focus-ring)}.input.fig{font-family:var(--font-fig);font-weight:var(--weight-semibold)}.input.fig::placeholder{font-family:var(--font-ui);font-stretch:normal;letter-spacing:0;font-weight:var(--weight-medium)}.field{display:grid;gap:5px;min-width:0;align-content:start}.field>label,.field>.flabel{font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--label)}.field .hint{font-size:var(--text-xs);color:var(--ink-3)}.field .err{font-size:var(--text-xs);color:var(--loss);font-weight:var(--weight-semibold);display:flex;gap:4px;align-items:center}.field .err svg.i{width:12px;height:12px}.st{display:inline-flex;align-items:center;gap:6px;font-weight:var(--weight-bold);font-size:var(--text-sm);white-space:nowrap;color:var(--ink-2)}.st svg.i{width:16px;height:16px}.st.s-running{color:var(--info)}.st.s-completed{color:var(--gain)}.st.s-failed{color:var(--loss)}.st.s-used{color:var(--ink-3)}.st.s-warn{color:var(--warn)}@media(prefers-reduced-motion:no-preference){.spin{animation:spin 1s linear infinite;transform-origin:12px 12px}@keyframes spin{to{transform:rotate(360deg)}}}.panel{background:var(--panel);border:1px solid var(--rule);border-radius:var(--radius-md);min-width:0}.panel-h{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1) var(--space-3);padding:var(--space-4) var(--space-5) var(--space-3);border-bottom:1px dashed var(--rule-2)}.panel-h h2{font-size:var(--text-lg);font-weight:var(--weight-black);letter-spacing:-.005em}.panel-h .meta{font-size:var(--text-sm);color:var(--ink-3)}.panel-h .linkbtn,.panel-h>a{margin-left:auto;font-size:var(--text-sm)}.panel-b{padding:var(--space-4) var(--space-5) var(--space-5)}.dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-2) var(--space-4);margin:0}.dl dt{color:var(--label);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.dl dd{margin:0;text-align:right;min-width:0;overflow-wrap:anywhere}.dl dd.fig,.dl dd .fig,.dl dd.scode{font-size:var(--text-sm)}.wallet-h{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-1) var(--space-3)}.wallet-h h2{font-size:var(--text-lg);font-weight:var(--weight-black)}.wallet-h .meta{font-size:var(--text-sm);color:var(--ink-2)}.wallet-h .meta .fig{color:var(--ink)}.vcode.md{font-size:var(--text-xl);letter-spacing:.03em}.vlist{list-style:none;margin:0;padding:0}.vrow{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-2) var(--space-3);padding:var(--space-3) var(--space-5);border-top:1px solid var(--rule)}.vrow:first-child{border-top:0}.vrow .where{font-size:var(--text-xs);color:var(--ink-3)}.vrow .acts{display:flex;gap:var(--space-2)}.used-list{border:1px solid var(--rule);border-radius:var(--radius-md);background:var(--panel)}.used-list>summary{list-style:none;display:flex;align-items:center;gap:var(--space-2);min-height:var(--row-h);padding:var(--space-2) var(--space-5);cursor:pointer;font-weight:var(--weight-bold);color:var(--ink-2)}.used-list>summary::-webkit-details-marker{display:none}.used-list>summary svg.i{width:14px;height:14px;transition:transform var(--dur-base) var(--ease-out)}.used-list[open]>summary svg.i{transform:rotate(180deg)}.used-list>summary .fig{color:var(--ink-3);font-weight:var(--weight-semibold)}.used-list .vrow .scode{color:var(--ink-3);text-decoration:line-through;text-decoration-thickness:1px}.used-list ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}.toast .t-acts{display:flex;gap:var(--space-3);margin-top:var(--space-2);font-size:var(--text-sm)}.quote{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0}.quote>div{padding:var(--space-3) var(--space-5);border-right:1px solid var(--rule);min-width:0}.quote>div:last-child{border-right:0}.quote dt{font-size:var(--text-sm);color:var(--label);font-weight:var(--weight-semibold);margin-bottom:3px}.quote dd{margin:0;display:flex;align-items:baseline;gap:var(--space-2);flex-wrap:wrap}.quote dd .fig{font-size:var(--text-xl);font-weight:var(--weight-semibold);white-space:nowrap}.callout{display:grid;grid-template-columns:16px minmax(0,1fr);gap:var(--space-1) var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--warn-bg);color:var(--ink);font-size:var(--text-sm);line-height:var(--leading)}.callout>app-icon{color:var(--warn);margin-top:1px}.callout>app-icon svg.i{width:16px;height:16px}.callout strong{color:var(--warn)}.callout.is-error{background:var(--loss-bg)}.callout.is-error>app-icon,.callout.is-error strong{color:var(--loss)}.callout .row{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.err-panel{display:grid;gap:var(--space-3);padding:var(--space-6) var(--space-5)}.err-panel h2{font-size:var(--text-xl);font-weight:var(--weight-black)}.err-panel p{color:var(--ink-2);max-width:60ch;line-height:var(--leading-prose)}.err-panel .row{display:flex;flex-wrap:wrap;gap:var(--space-2)}.tag{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px;font-size:var(--text-xs);font-weight:var(--weight-bold);border-radius:var(--radius-sm);white-space:nowrap;color:var(--ink-2);background:var(--panel-2);border:1px solid var(--rule-2)}.tag svg.i{width:12px;height:12px}.tag.is-loss{color:var(--loss);background:var(--loss-bg);border-color:transparent}.tag.is-warn{color:var(--warn);background:var(--warn-bg);border-color:transparent}.exp{display:inline-flex;align-items:center;gap:4px}.exp svg.i{width:12px;height:12px}.exp.is-warn{color:var(--warn)}.exp.is-loss{color:var(--loss)}.clock{font-family:var(--font-fig);font-stretch:var(--fig-stretch);font-variant-numeric:tabular-nums;font-size:calc(var(--text-3xl) * 1.34);font-weight:var(--weight-semibold);letter-spacing:-.03em;line-height:1;white-space:nowrap}.clock.is-idle{font-size:var(--text-xl);letter-spacing:0;color:var(--ink-2)}.vcode{font-family:var(--font-fig);font-stretch:var(--fig-stretch);font-variant-numeric:tabular-nums;font-size:calc(var(--text-3xl) * 1.34);font-weight:var(--weight-semibold);letter-spacing:.04em;line-height:1;color:var(--ink);overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}.scode{font-family:var(--font-fig);font-stretch:var(--fig-stretch);font-variant-numeric:tabular-nums;font-weight:var(--weight-semibold);letter-spacing:.02em}.receipt{--z: 14px;--zz: conic-gradient( from -45deg at bottom, transparent, black 1deg 89deg, transparent 90deg ) bottom/var(--z) 51% repeat-x, conic-gradient( from 135deg at top, transparent, black 1deg 89deg, transparent 90deg ) top/var(--z) 51% repeat-x;background:var(--rule-2);padding:1px;-webkit-mask:var(--zz);mask:var(--zz);min-width:0}.receipt>.paper{-webkit-mask:var(--zz);mask:var(--zz);background:var(--panel);display:grid;gap:var(--space-3);padding:calc(var(--z) / 2 + var(--space-4)) var(--space-5) calc(var(--z) / 2 + var(--space-5))}.rcpt-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px var(--space-3);font:var(--weight-semibold) var(--text-2xs)/1.4 var(--font-fig);font-stretch:var(--fig-stretch);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-2)}.rcpt-sub{font-size:var(--text-sm);color:var(--ink-2)}.rcpt-sub b{color:var(--ink)}.tear{border:0;border-top:2px dashed var(--rule-2);margin:var(--space-1) calc(-1 * var(--space-5)) 0;height:0}.rcpt-act{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.rcpt-act .runlink{margin-left:auto;font-size:var(--text-sm);color:var(--ink-2);font-weight:var(--weight-semibold);text-decoration:none}.rcpt-act .runlink:hover{color:var(--label);text-decoration:underline;text-underline-offset:2px}.rcpt-act .note{font-size:var(--text-sm);color:var(--ink-2);display:inline-flex;align-items:center;gap:6px}.rcpt-act .used-act{display:inline-flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3)}.rcpt-act .note.is-used svg.i{color:var(--ink-3)}.rcpt-act .note svg.i{width:14px;height:14px;color:var(--gain)}.rtotal{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-3);margin-top:var(--space-3);padding-top:var(--space-3);border-top:2px dashed var(--rule-2);font:var(--weight-semibold) var(--text-xs) var(--font-fig);font-stretch:var(--fig-stretch);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-2)}.rtotal .fig{font-size:var(--text-lg);color:var(--ink);letter-spacing:-.01em;text-transform:none}.perf{--z: 14px;--pz: conic-gradient( from -45deg at bottom, transparent, black 1deg 89deg, transparent 90deg ) bottom/var(--z) 51% repeat-x, linear-gradient(black, black) top/100% 50% no-repeat;background:var(--rule);padding:1px;border-radius:var(--radius-md) var(--radius-md) 0 0;-webkit-mask:var(--pz);mask:var(--pz);min-width:0}.perf>.perf-in{-webkit-mask:var(--pz);mask:var(--pz);background:var(--panel);border-radius:calc(var(--radius-md) - 1px) calc(var(--radius-md) - 1px) 0 0;padding-bottom:calc(var(--z) / 2 + var(--space-5))}.runs-live{list-style:none;margin:0;padding:0}.runs-live li{border-top:1px solid var(--rule)}.runs-live li:first-child{border-top:0}.runs-live a{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-1) var(--space-3);min-height:var(--row-h);padding:var(--space-3) var(--space-5);text-decoration:none}.runs-live a:hover{background:var(--hover)}.runs-live .who{min-width:0}.runs-live .who b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tw{border:1px solid var(--rule);border-radius:var(--radius-md);background:var(--panel);overflow-x:auto;position:relative}table.data{width:100%;border-collapse:collapse}.data caption{text-align:left}.data th{text-align:left;font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--label);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--rule-2);background:var(--panel-2);white-space:nowrap;position:sticky;top:0}.data td{padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--rule);vertical-align:middle;white-space:nowrap;height:var(--row-h)}.data tbody tr:last-child td{border-bottom:0}.data tbody tr:hover{background:var(--hover)}.data .num{text-align:right}.data .fig{font-size:var(--text-sm)}.data a.rl{font-weight:var(--weight-bold);text-decoration:none;color:var(--ink)}.data a.rl:hover{color:var(--label);text-decoration:underline;text-underline-offset:2px}.data .store{max-width:220px;overflow:hidden;text-overflow:ellipsis}.data .err{color:var(--ink-2);font-size:var(--text-sm)}.data .vc{font-weight:var(--weight-semibold);font-size:var(--text-base);letter-spacing:.03em}.pager{display:flex;align-items:center;gap:var(--space-2);justify-content:flex-end;font-size:var(--text-sm);color:var(--ink-2)}.hcards{display:none;list-style:none;margin:0;padding:0;border:1px solid var(--rule);border-radius:var(--radius-md);background:var(--panel)}.hcards li{border-top:1px solid var(--rule)}.hcards li:first-child{border-top:0}.hcards a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px var(--space-3);padding:var(--space-3) var(--space-4);text-decoration:none;align-items:center}.hcards a:hover{background:var(--hover)}.hcards .l1{display:flex;align-items:center;gap:var(--space-2);min-width:0}.hcards .when{font-size:var(--text-xs);color:var(--ink-3);text-align:right}.hcards .store{font-weight:var(--weight-bold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hcards .l3{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);font-size:var(--text-sm);color:var(--ink-2);min-width:0}.hcards .l3 .vc{font-size:var(--text-md);color:var(--ink);letter-spacing:.03em}.shots{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--space-3)}.shots li{min-width:0}.shot{width:100%;display:grid;gap:6px;text-decoration:none;color:var(--ink);font:inherit;background:none;border:0;padding:0;text-align:left;cursor:zoom-in;min-width:0}.shot .img{width:100%;aspect-ratio:4/3;max-width:100%;border:1px solid var(--rule-2);border-radius:var(--radius-sm);overflow:hidden}.shot:hover .img{border-color:var(--ink-3)}.shot .cap{display:flex;align-items:center;gap:6px;font-size:var(--text-sm);font-weight:var(--weight-bold);min-width:0}.shot .cap .fig{font-size:var(--text-xs);color:var(--ink-3);font-weight:var(--weight-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shot.is-fail .img{border:2px solid var(--loss)}.shot.is-fail .cap{color:var(--loss)}.toast{position:fixed;right:var(--space-5);bottom:calc(var(--space-5) + env(safe-area-inset-bottom,0px));z-index:var(--z-toast);display:flex;gap:var(--space-3);align-items:flex-start;width:380px;max-width:calc(100% - 2 * var(--space-5));padding:var(--space-3) var(--space-3) var(--space-3) var(--space-4);background:var(--panel);border:1px solid var(--rule-2);border-radius:var(--radius-lg);box-shadow:var(--shadow-pop)}.toast>app-icon{margin-top:2px;color:var(--ink-2)}.toast>app-icon.g-info{color:var(--info)}.toast>app-icon.g-warn{color:var(--warn)}.toast>app-icon.g-ok{color:var(--ink)}.toast .tb{flex:1;min-width:0}.toast strong{display:block;font-size:var(--text-md)}.toast p{font-size:var(--text-sm);color:var(--ink-2);margin-top:2px}@media(prefers-reduced-motion:no-preference){.toast{animation:toast-in var(--dur-slow) var(--ease-out) both}@keyframes toast-in{0%{transform:translateY(8px);opacity:.4}}}.trotter{color:var(--ink);display:block;max-width:100%;height:auto}.trotter .fill{fill:var(--panel)}.trotter .snout{fill:var(--ham-soft);stroke:var(--ham)}.trotter .ground{stroke:var(--rule-2);stroke-dasharray:2 6}.trotter .prop{stroke:var(--ink-3)}.trotter .ink{fill:currentColor;stroke:none}.trotter .paper{fill:var(--panel)}.moment{display:grid;justify-items:center;text-align:center;gap:var(--space-3);padding:var(--space-10) var(--space-5)}.moment h2,.moment h1{font-size:var(--text-3xl);font-weight:var(--weight-black);letter-spacing:-.015em;text-wrap:balance;line-height:var(--leading-tight)}.moment p{color:var(--ink-2);max-width:52ch;line-height:var(--leading-prose);font-size:var(--text-md)}.moment .actions{display:flex;gap:var(--space-2);flex-wrap:wrap;justify-content:center;margin-top:var(--space-2)}.moment-panel{background:var(--panel);border:1px solid var(--rule);border-radius:var(--radius-lg)}.avatar .trotter{width:100%}.moment-panel .trotter{width:240px}.loading{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--ink-2)}.loading .trotter-mark{width:20px;height:20px}.vwait{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-xl);font-weight:var(--weight-bold);color:var(--ink-2)}.vwait.sm{font-size:var(--text-md)}.vwait.sm svg.i{width:18px;height:18px;flex:none}.vwait .trotter-mark{width:28px;height:28px;flex:none}@media(prefers-reduced-motion:no-preference){.loading .trotter-mark,.vwait .trotter-mark{animation:sniff 1.6s var(--ease-in-out) infinite}@keyframes sniff{0%,to{transform:translate(0)}50%{transform:translate(2px)}}}.sk{display:block;background:var(--rule);border-radius:var(--radius-sm);height:12px}@media(prefers-reduced-motion:no-preference){.sk{animation:sk 1.4s var(--ease-in-out) infinite}@keyframes sk{50%{opacity:.55}}}.cel{display:grid;grid-template-columns:170px minmax(0,1fr);gap:var(--space-4) var(--space-5);align-items:end;padding:var(--space-5) var(--space-5) 0}.perf>.perf-in.cel{background:var(--ham-wash)}.cel>.trotter{width:170px}.cel h2{font-size:var(--text-xl);font-weight:var(--weight-black);letter-spacing:-.01em}.cel .lede{color:var(--ink-2);font-size:var(--text-md);margin-top:2px;max-width:46ch}.cel>.receipt{grid-column:1/-1}@media(prefers-reduced-motion:no-preference){.cel.arrive{animation:wash 1.4s var(--ease-out) both}@keyframes wash{0%{background-color:var(--ham-soft)}to{background-color:var(--ham-wash)}}}.why{display:grid;gap:var(--space-3)}.why .cat{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-lg);font-weight:var(--weight-black);color:var(--loss)}.why .cat svg.i{width:22px;height:22px}.why .guide{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-2) var(--space-4);margin:0;font-size:var(--text-base);line-height:var(--leading-prose)}.why .guide dt{font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--label);padding-top:2px}.why .guide dd{margin:0;color:var(--ink);max-width:62ch}.why .aside{display:flex;gap:var(--space-2);align-items:center;font-size:var(--text-sm);color:var(--ink-2);padding-top:var(--space-3);border-top:1px solid var(--rule)}.why .aside .trotter-mark{width:20px;height:20px}.why .acts{display:flex;flex-wrap:wrap;gap:var(--space-2)}@media(prefers-reduced-motion:no-preference){.btn,.tabs a,.data tbody tr,.input,.iconbtn,.pill,.runs-live a,.hcards a{transition:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}}@media(max-width:760px){.page{padding:var(--space-3) var(--space-3) var(--space-6)}.phead h1{font-size:var(--text-lg)}.quote{grid-template-columns:1fr 1fr}.quote>div{padding:var(--space-2) var(--space-3);border-right:0;border-top:1px solid var(--rule)}.quote>div:nth-child(odd){border-right:1px solid var(--rule)}.quote>div:nth-child(-n+2){border-top:0}.quote dd .fig{font-size:var(--text-lg)}.moment{padding:var(--space-8) var(--space-3)}.moment h2,.moment h1{font-size:var(--text-2xl)}.toast{left:var(--space-3);right:var(--space-3);width:auto;max-width:none}.clock{font-size:var(--text-3xl)}.cel{grid-template-columns:minmax(0,1fr);padding:var(--space-4) var(--space-4) 0}.cel>.trotter{width:150px}.receipt>.paper{padding-left:var(--space-4);padding-right:var(--space-4)}.tear{margin-left:calc(-1 * var(--space-4));margin-right:calc(-1 * var(--space-4))}.vfoot{padding:var(--space-3) var(--space-3) var(--space-6)}.hcards{display:block}.hist-table{display:none}}@media(max-width:640px){.vrow{grid-template-columns:minmax(0,1fr)}.vrow .acts .btn{flex:1}.used-list .vrow .acts{justify-self:start}.used-list .vrow .acts .btn{flex:none}.rcpt-act .used-act{flex:1 1 100%}.rcpt-act .used-act .btn{flex:1}.btn-sm{height:var(--control-h)}.top{padding:0 var(--space-3);gap:var(--space-2)}.top .tabs,.top .pill .w{display:none}.top .pill{height:var(--control-h)}.top .trotter-mark{width:24px;height:24px}.tabbar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));position:fixed;left:0;right:0;bottom:0;z-index:var(--z-nav);height:calc(var(--tabbar-h) + env(safe-area-inset-bottom,0px));padding:0 env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);background:var(--panel);border-top:1px solid var(--rule)}.tabbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--ink-2);text-decoration:none;font-size:var(--text-xs);font-weight:var(--weight-bold)}.tabbar a svg.i{width:20px;height:20px}.tabbar a[aria-current=page]{color:var(--ink);box-shadow:inset 0 2px 0 var(--accent)}.tabbar a[aria-current=page]:focus-visible{outline-offset:-2px;box-shadow:inset 0 2px 0 var(--accent),inset 0 0 0 4px var(--focus-inner)}.has-tabbar{padding-bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom,0px))}.has-tabbar .toast{bottom:calc(var(--tabbar-h) + var(--space-3) + env(safe-area-inset-bottom,0px))}}.flap{display:inline-flex;vertical-align:middle;color:var(--ink)}.flap .tiles{display:inline-flex;gap:1px}.flap .t{position:relative;display:inline-grid;place-items:center;width:calc(1ch + 4px);height:18px;font:var(--weight-semibold) var(--text-sm)/1 var(--font-fig);font-stretch:var(--fig-stretch);background:var(--rule);border-radius:2px}.flap .t:after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:var(--panel);opacity:.9}.flap .t.b{background:transparent}.flap .t.b:after{display:none}.flap.big .t{width:calc(1ch + 7px);height:30px;font-size:var(--text-xl);border-radius:3px}.flap.big .t:after{height:2px;margin-top:-1px}@media(prefers-reduced-motion:no-preference){.flap .t.f{animation:flap 60ms linear}@keyframes flap{0%{transform:scaleY(.08);filter:brightness(1.35)}to{transform:none;filter:none}}}.flapline{display:inline-flex;align-items:center;gap:var(--space-2)}.flapline>app-icon svg.i{width:20px;height:20px}[data-tone=info]{color:var(--info)}[data-tone=gain]{color:var(--gain)}[data-tone=loss]{color:var(--loss)}[data-tone=ink]{color:var(--ink-2)}.board-head .sub{font-size:var(--text-sm);color:var(--ink-2)}.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--rule);border-radius:var(--radius-md);overflow:hidden}.step{position:relative;display:grid;gap:3px;padding:var(--space-3) var(--space-3) 10px;border-right:1px solid var(--rule);min-width:0;background:var(--panel)}.step:last-child{border-right:0}.step:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--rule)}.step .nm{font-size:var(--text-md);font-weight:var(--weight-bold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.step .st{font-size:var(--text-xs)}.step .st svg.i{width:14px;height:14px}.step .at{font-size:var(--text-xs);color:var(--ink-3);min-height:1.4em}.step .at .fig{color:var(--ink);font-size:var(--text-sm)}.step.is-done:before{background:var(--gain)}.step.is-run{background:var(--info-bg)}.step.is-run:before{background:var(--info)}.step.is-fail{background:var(--loss-bg)}.step.is-fail:before{background:var(--loss)}.step.is-nomail,.step.is-unread{background:var(--warn-bg)}.step.is-nomail:before,.step.is-unread:before{background:var(--warn)}.step.is-wait .nm,.step.is-skip .nm{color:var(--ink-2)}.step.is-skip .nm{text-decoration:line-through;text-decoration-thickness:1px;color:var(--ink-3)}.step.is-end{background:var(--gain-bg)}.runs-live .el{font-size:var(--text-sm)}.runs-live .flapline{gap:var(--space-3)}dialog.lb{width:min(920px,100% - 2 * var(--space-5));max-width:none;max-height:calc(100vh - 2 * var(--space-5));margin:auto;padding:0;grid-template-rows:auto minmax(0,1fr) auto;color:var(--ink);background:var(--panel);border:1px solid var(--rule-2);border-radius:var(--radius-lg);box-shadow:var(--shadow-pop);overflow:hidden}dialog.lb[open]{display:grid}dialog.lb::backdrop{background:var(--scrim)}.lb-h{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--rule)}.lb-h h2{font-size:var(--text-lg);font-weight:var(--weight-black);white-space:nowrap}.lb-h .nth{white-space:nowrap;font-size:var(--text-sm);color:var(--ink-2)}.lb-b{position:relative;background:var(--ground);display:grid;min-height:0;overflow:hidden}.lb-img{display:flex;padding:var(--space-4);min-height:0;overflow:auto}.lb-img img{margin:auto}html:has(dialog.lb[open]){overflow:hidden}.iconbtn[aria-disabled=true],.iconbtn[disabled]{opacity:.5;cursor:not-allowed}.iconbtn[aria-disabled=true]:hover,.iconbtn[disabled]:hover{color:var(--ink-2);border-color:var(--rule-2)}.lb-b img{display:block;width:min(720px,100%);height:auto;border:1px solid var(--rule-2);border-radius:var(--radius-md)}.lb-b img.is-fail{border:2px solid var(--loss)}.lb-nav{position:absolute;top:50%;transform:translateY(-50%);background:var(--panel);z-index:1}.lb-nav.prev{left:var(--space-2)}.lb-nav.next{right:var(--space-2)}.lb-f{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3);padding:var(--space-3) var(--space-4);border-top:1px solid var(--rule);font-size:var(--text-sm);color:var(--ink-2)}.lb-f .keys{display:inline-flex;gap:var(--space-2);align-items:center;margin-left:auto}.toast>app-trotter-mark{margin-top:2px}.toast>app-trotter-mark .trotter-mark{width:32px;height:32px}@media(max-width:760px){dialog.lb{width:100%;height:100%;max-height:none;border:0;border-radius:0}.lb-f .keys{display:none}.step{padding:var(--space-2)}.step .nm{font-size:var(--text-sm)}}@media(max-width:460px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}.step:nth-child(2){border-right:0}.step:nth-child(n+3){border-top:1px solid var(--rule)}}.switch{display:inline-flex;align-items:center;gap:var(--space-2);cursor:pointer;font-weight:var(--weight-semibold);min-height:var(--control-h)}.switch input{appearance:none;width:38px;height:22px;border-radius:var(--radius-full);background:var(--control-line);position:relative;margin:0;cursor:pointer;flex:none}.switch input:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:var(--panel)}.switch input[aria-disabled=true],.switch input:disabled{opacity:.5;cursor:not-allowed}.switch input:checked{background:var(--accent)}.switch input:checked:after{transform:translate(16px);background:var(--accent-ink)}.again{display:inline-flex;align-items:center;gap:6px;height:var(--control-h);padding:0 12px 0 10px;border:1px solid var(--rule-2);border-radius:var(--radius-full);background:var(--panel);color:var(--ink);font:var(--weight-bold) var(--text-base) var(--font-ui);text-decoration:none;white-space:nowrap;cursor:pointer;max-width:100%}.again svg.i{width:16px;height:16px;color:var(--ink-2)}.again span{overflow:hidden;text-overflow:ellipsis}.again:hover{border-color:var(--ink-3)}.again[aria-disabled=true]{opacity:.5;cursor:not-allowed}.again:hover[aria-disabled=true]{border-color:var(--rule-2)}.again-why{flex-basis:100%;font-size:var(--text-xs);color:var(--ink-2);text-align:right}.quick{display:flex;flex-wrap:wrap;gap:var(--space-2)}.quick .again svg.i{width:14px;height:14px}.favmark{width:var(--control-h);display:grid;place-items:center;color:var(--ink)}.favmark svg.i{width:16px;height:16px;fill:currentColor}.fav{width:var(--control-h);height:var(--control-h);display:grid;place-items:center;border:0;background:transparent;color:var(--ink-3);cursor:pointer;border-radius:var(--radius-sm);padding:0}.fav svg.i{width:16px;height:16px}.fav[aria-pressed=true]{color:var(--ink)}.fav[aria-pressed=true] svg.i{fill:currentColor}.fav:hover{color:var(--ink)}.fav[aria-disabled=true]{opacity:.5;cursor:not-allowed}.quote .chg{font-size:var(--text-xs);color:var(--ink-2);display:inline-flex;align-items:center;gap:4px}.quote .chg.gain{color:var(--gain)}.quote .chg.loss{color:var(--loss)}.quote .chg .fig{font-size:var(--text-xs);font-weight:var(--weight-semibold)}.gain{color:var(--gain)}.loss{color:var(--loss)}.arr{width:9px;height:9px;fill:currentColor;flex:none}.chart-b{padding:var(--space-4);border-top:1px solid var(--rule)}.chart-b h3{font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--label)}.ylab{display:flex;justify-content:space-between;gap:var(--space-3);font-size:var(--text-xs);color:var(--ink-3);margin-top:var(--space-3)}.bars{display:grid;grid-template-columns:repeat(14,minmax(0,1fr));align-items:end;gap:2px;height:96px;padding-top:var(--space-4);position:relative;background:linear-gradient(var(--chart-grid),var(--chart-grid)) 0 100%/100% 1px no-repeat content-box,repeating-linear-gradient(90deg,var(--control-line) 0 4px,transparent 4px 8px) 0 50%/100% 1px no-repeat content-box}.bars i{display:block;background:var(--chart-bar);border-radius:4px 4px 0 0;position:relative;min-height:2px}.bars i.none{background:transparent;min-height:0;border-bottom:2px dotted var(--control-line);border-radius:0}.bars i.part{background:repeating-linear-gradient(135deg,var(--chart-bar) 0 2px,transparent 2px 5px);outline:1px solid var(--chart-bar);outline-offset:-1px}.bars i b{position:absolute;bottom:calc(100% + 3px);left:50%;transform:translate(-50%);font:var(--weight-semibold) var(--text-2xs) var(--font-fig);font-stretch:var(--fig-stretch);color:var(--ink);white-space:nowrap}.axis{display:flex;justify-content:space-between;font-size:var(--text-xs);color:var(--ink-3);margin-top:4px}.tbl{margin-top:var(--space-3)}.tbl summary{cursor:pointer;font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--label);text-decoration:underline;text-underline-offset:2px;list-style:none;display:inline-block}.tbl summary::-webkit-details-marker{display:none}.tbl table{margin-top:var(--space-2)}.share{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-3)}.share li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px var(--space-3);align-items:center}.share .nm{font-weight:var(--weight-semibold);min-width:0}.share .v{font-size:var(--text-sm);text-align:right;white-space:nowrap}.share .v .p{color:var(--ink-3);margin-left:6px}.share .track{grid-column:1/-1;height:6px;background:var(--panel-2);border-radius:var(--radius-full);overflow:hidden}.share .track i{display:block;height:100%;background:var(--chart-bar);border-radius:var(--radius-full)}.meter{display:flex;align-items:center;gap:3px}.meter i{width:18px;height:10px;border-radius:2px;border:1px solid var(--control-line);background:transparent}.meter i.on{background:var(--chart-bar);border-color:var(--chart-bar)}.meter i.limit{border-style:dashed}.meter-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3)}.cool-b{display:grid;gap:var(--space-3);padding:var(--space-4)}.cool-b .big{font-size:var(--text-xl);font-weight:var(--weight-semibold)}.seg{display:inline-flex;flex-wrap:wrap;border:1px solid var(--rule-2);border-radius:var(--radius-md);margin:0;padding:3px;gap:3px;background:var(--panel);min-width:0}.seg legend{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.seg label{position:relative}.seg input{position:absolute;inset:0;opacity:0;cursor:pointer;margin:0}.seg span{display:flex;align-items:center;gap:6px;height:calc(var(--control-h) - 8px);padding:0 12px;border-radius:var(--radius-sm);font-weight:var(--weight-semibold);color:var(--ink-2);white-space:nowrap}.seg input:checked+span{background:var(--panel-2);color:var(--ink);box-shadow:inset 0 -2px 0 var(--accent)}.seg input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px;box-shadow:var(--focus-ring)}.seg input:checked:focus-visible+span{box-shadow:inset 0 -2px 0 var(--accent),var(--focus-ring)}.filters{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-3);align-items:center}.filters .count{margin-left:auto;font-size:var(--text-sm);color:var(--ink-2)}.filters .fbody{display:contents}.filter-toggle{display:none}.store-f{position:relative}.store-f .input{width:220px;padding-left:30px}.store-f svg.i{position:absolute;left:9px;top:50%;margin-top:-8px;width:16px;height:16px;color:var(--ink-3)}@media(max-width:760px){.filter-toggle{display:inline-flex}.filters .fbody{display:none;flex-basis:100%;flex-direction:column;align-items:stretch;gap:var(--space-2)}.filters .fbody.is-open,.filters .fbody .seg{display:flex}.filters .fbody .seg label{flex:1}.filters .fbody .seg span{justify-content:center}.store-f .input{width:100%}.filters .fbody .switch{padding:var(--space-1) 0}}
