
:root{color-scheme:dark;--bg:#0b0a08;--surface:#14120e;--surface-2:#1b1812;--line:#3a3428;--ink:#eee8dc;--ink-2:#bdb4a2;--amber:#ffb000;--danger:#ff8b82;--ready:#ddd3bd}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif}
a{color:var(--amber);text-underline-offset:.2em}button,input,select{font:inherit}.skip-link{position:absolute;left:.75rem;top:-5rem;background:var(--amber);color:#171006;padding:.75rem 1rem;z-index:5}.skip-link:focus{top:.75rem}
.masthead{min-height:58px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:1rem;padding:.75rem max(1rem,calc((100vw - 1120px)/2));color:var(--ink-2)}.masthead .wordmark{font-size:1.25rem;font-weight:800;letter-spacing:-.03em;color:var(--ink);text-decoration:none}.masthead a:last-child{margin-left:auto}
main{width:min(1120px,calc(100% - 2rem));margin:0 auto;padding:1.5rem 0 4rem}.hero{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1rem}.eyebrow{margin:0 0 .25rem;color:var(--amber);font-size:.78rem;font-weight:750;letter-spacing:.12em;text-transform:uppercase}.hero h1,.unlock-card h1{font-size:clamp(1.75rem,4vw,2.55rem);line-height:1.05;letter-spacing:-.045em;margin:0}.updated{margin:.5rem 0 0;color:var(--ink-2);font-size:.82rem}.updated time,.metric,.technical-value{font-family:"IBM Plex Mono",ui-monospace,monospace;font-variant-numeric:tabular-nums}
section{margin-top:1.25rem}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:.65rem}.section-head h2{margin:0;font-size:1.05rem}.section-head p{margin:0;color:var(--ink-2);font-size:.82rem}
.launch-card,.service-card,.cost-card,.unlock-card,details{min-width:0;border:1px solid var(--line);background:var(--surface);border-radius:12px}.launch-card{padding:1.1rem}.launch-card>header{display:flex;justify-content:space-between;gap:1rem;align-items:start}.launch-card h2{margin:0;font-size:1.25rem}.launch-card header p{margin:.25rem 0 0;color:var(--ink-2);max-width:68ch}.launch-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin:1rem 0}.launch-block{min-width:0;background:var(--surface-2);border:1px solid var(--line);border-radius:9px;padding:.8rem}.launch-block span{display:block;color:var(--ink-2);font-size:.78rem}.launch-block strong{display:block;margin-top:.25rem;font-size:1rem}.launch-result{border-left:3px solid var(--ready);padding:.65rem .8rem;margin:.75rem 0;background:#1d1a14}.launch-result.attention{border-color:var(--danger)}.launch-result.active,.launch-result.ready{border-color:var(--amber)}.launch-result strong,.launch-result span{display:block}.launch-result span{color:var(--ink-2);margin-top:.1rem}.visible-warning{border:1px solid #7a433c;background:#291816;color:#ffd5d1;border-radius:8px;padding:.7rem .8rem;margin:.65rem 0}.visible-note{border-left:3px solid var(--amber);padding:.55rem .75rem;margin:.65rem 0;color:var(--ink)}
.action-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin-top:.9rem}.action-row form,.control-form{margin:0}.action-row fieldset,.control-form fieldset,.login-form fieldset{border:0;padding:0;margin:0;min-width:0}button{min-height:44px;border:1px solid var(--amber);border-radius:7px;background:var(--amber);color:#171006;padding:.65rem .9rem;font-weight:800;cursor:pointer}button.secondary{background:transparent;color:var(--amber)}button:disabled{cursor:not-allowed;border-color:#5a5346;background:#29251e;color:#8f8778}.disabled-reason{color:var(--ink-2);font-size:.8rem;margin:.5rem 0 0}.gate-rule{color:var(--ink-2);font-size:.82rem;margin:.85rem 0 0}
.guardrail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.service-card,.cost-card{padding:1rem;display:flex;flex-direction:column;gap:.7rem}.service-head{display:flex;justify-content:space-between;align-items:start;gap:.75rem}.service-head h3{margin:0;font-size:1rem}.state-chip{border:1px solid var(--line);border-radius:999px;padding:.2rem .55rem;font-size:.75rem;font-weight:750;text-align:right}.state-chip.attention{border-color:var(--danger);color:#ffd5d1}.state-chip.open{border-color:var(--amber);color:var(--amber)}.metric-list{display:grid;gap:.55rem;margin:0}.metric-list div{display:grid;gap:.08rem}.metric-list dt{color:var(--ink-2);font-size:.75rem}.metric-list dd{margin:0}.provenance{color:var(--ink-2);font-size:.75rem}.control-form{margin-top:auto}.control-button{width:100%}
.cost-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.cost-card h3{margin:0;font-size:.9rem}.cost-card .metric{font-size:1.25rem;font-weight:800}.threshold{margin:.75rem 0 0;color:var(--ink-2)}.threshold.attention{color:#ffd5d1}.dynamic-safety{overflow-wrap:anywhere}
details{margin-top:.75rem}summary{min-height:44px;display:flex;align-items:center;padding:.65rem .85rem;color:var(--amber);font-weight:750;cursor:pointer}details>div{border-top:1px solid var(--line);padding:.9rem}.technical-list{display:grid;grid-template-columns:minmax(10rem,.45fr) minmax(0,1fr);gap:.5rem 1rem;margin:0}.technical-list dt{color:var(--ink-2)}.technical-list dd{margin:0}.technical-value,.diagnostic{overflow-wrap:anywhere}.observation-form{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.observation-form label{display:grid;gap:.3rem}.observation-form label:last-of-type{grid-column:1/-1}.observation-form button{grid-column:1/-1;justify-self:start}input,select{width:100%;min-height:44px;border:1px solid #655d4f;border-radius:6px;background:#0f0e0b;color:var(--ink);padding:.6rem .7rem}
.auth-shell{min-height:calc(100vh - 58px);display:grid;place-items:center}.unlock-card{width:min(520px,100%);padding:clamp(1.25rem,4vw,2rem)}.unlock-card>p:not(.eyebrow){color:var(--ink-2)}.login-form label{display:block;margin-bottom:.35rem}.login-form button{width:100%;margin-top:.75rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid #fff;outline-offset:3px}
@media(max-width:640px){body{font-size:15px}.masthead{gap:.65rem;padding:.65rem 1rem}.masthead span{display:none}main{width:min(100% - 1rem,1120px);padding-top:1rem}.hero{align-items:start;flex-direction:column}.launch-card,.service-card,.cost-card{padding:.85rem}.launch-card>header,.section-head{display:block}.section-head p{margin-top:.2rem}.launch-grid,.guardrail-grid,.cost-grid,.action-row,.observation-form{grid-template-columns:minmax(0,1fr)}.observation-form label:last-of-type,.observation-form button{grid-column:auto}.action-row button,.observation-form button{width:100%}.technical-list{grid-template-columns:minmax(0,1fr);gap:.15rem}.technical-list dd{margin-bottom:.55rem}.service-head{align-items:center}.state-chip{max-width:55%}.auth-shell{min-height:auto;padding-top:2rem}}


@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:400 700;font-display:swap;src:url('/assets/fonts/bricolage-grotesque-latin.woff2') format('woff2')}
@font-face{font-family:'Schibsted Grotesk';font-style:normal;font-weight:400 700;font-display:swap;src:url('/assets/fonts/schibsted-grotesk-latin.woff2') format('woff2')}
@font-face{font-family:'Schibsted Grotesk';font-style:italic;font-weight:400 700;font-display:swap;src:url('/assets/fonts/schibsted-grotesk-italic-latin.woff2') format('woff2')}
@font-face{font-family:'Spline Sans Mono';font-style:normal;font-weight:400 700;font-display:swap;src:url('/assets/fonts/spline-sans-mono-latin.woff2') format('woff2')}
:root{color-scheme:light;--bg:#F7F6F2;--surface:#FFFFFF;--well:#F1F0EA;--ink:#1B1A15;--muted:#6C6A60;--faint:#9A978B;--on-ink:#FFFFFF;--line:#E7E5DC;--strong:#D6D3C7;--brand:#EF4E23;--brand-ink:#C13A12;--brand-soft:#FDEDE6;--brand-a35:rgba(239,78,35,.35);--brand-a15:rgba(239,78,35,.15);--up:#0E8A5F;--up-soft:#E4F4ED;--down:#B3261E;--down-soft:#F9E8E6;--info:#2C5FD8;--info-ink:#1F47AC;--info-soft:#E9EFFB;--info-line:#C6D5F3;--social:#6D4AC8;--social-ink:#553AA6;--social-soft:#EFEAFB;--social-line:#D6CBF1;--warn:#A96F0B;--warn-soft:#F7EDD6;--warn-line:#E6D3A2;--price-wash:rgba(27,26,21,.055);--cap-ground:#FCFCFE;--display:'Bricolage Grotesque',sans-serif;--ui:'Schibsted Grotesk',sans-serif;--mono:'Spline Sans Mono',monospace;--page-max:1280px;--feed-max:860px;--gutter:24px;--mast-h:56px;--touch:44px;--r:14px;--r-stage:20px;--r-feed-card:18px;--sh-card:0 1px 2px rgba(27,26,21,.04),0 4px 14px rgba(27,26,21,.05);--sh-capsule:0 2px 8px rgba(27,26,21,.07);--sh-dock:0 6px 24px rgba(27,26,21,.06);--sh-sheet:0 -12px 40px rgba(27,26,21,.22);--sh-strip:0 10px 24px -14px rgba(27,26,21,.28);--operator-accent:#7B3400;--operator-danger:#92251F}
:root[data-theme=dark]{color-scheme:dark;--bg:#141310;--surface:#1C1A16;--well:#232019;--ink:#F2EFE7;--muted:#A29D90;--faint:#7C776B;--on-ink:#141310;--line:#2E2A22;--strong:#463F33;--brand:#FF6134;--brand-ink:#FF8763;--brand-soft:#33190F;--up:#37B98A;--up-soft:#142D24;--down:#E8695F;--down-soft:#331B18;--info:#7FA3F2;--info-ink:#A9C2FA;--info-soft:#1B2438;--info-line:#33415F;--social:#A98CF0;--social-ink:#C0AAF7;--social-soft:#231C38;--social-line:#3D3260;--warn:#D8A23A;--warn-soft:#2E2413;--warn-line:#4B3B1C;--price-wash:rgba(242,239,231,.055);--cap-ground:#1F1D19;--operator-accent:#FFC36B;--operator-danger:#FFAAA2}
*{box-sizing:border-box}[hidden]{display:none!important}html{background:var(--bg);scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--ui);line-height:1.5}a{color:inherit;text-underline-offset:2px}button,input,select{font:inherit}.skip-link{position:fixed;left:12px;top:-80px;z-index:100;background:var(--ink);color:var(--on-ink);padding:10px 14px;border-radius:8px}.skip-link:focus{top:12px}:focus-visible{outline:2.5px solid var(--info)!important;outline-offset:3px}
.sw-mast{position:sticky;top:0;z-index:60;display:flex;align-items:center;gap:22px;min-height:56px;padding:0 20px;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.sw-brand{font:700 15px/1 var(--display);letter-spacing:.26em;text-transform:uppercase;text-decoration:none}.sw-fixture{min-width:0;flex:1;color:var(--muted);font:400 11px/1.5 var(--mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sw-health{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font:500 10.5px/1.3 var(--mono);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}.sw-health i{width:7px;height:7px;border-radius:50%;background:var(--up)}.sw-health--warn i{background:var(--warn)}.sw-mast-actions{display:flex;gap:8px;align-items:center}.sw-iconbtn,.sw-button{min-height:44px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink);padding:0 14px;font:600 12px/1 var(--ui);display:inline-flex;align-items:center;justify-content:center;text-decoration:none;cursor:pointer}
.v3-chart{position:fixed;left:0;right:0;top:56px;height:clamp(480px,70vh,620px);z-index:10;background:var(--bg);border-bottom:1px solid var(--line);transition:height .2s cubic-bezier(.2,.8,.2,1)}.v3-spacer{height:clamp(480px,70vh,620px)}.sw-stage{position:absolute;inset:0;background:var(--surface);overflow:hidden;transition:opacity .12s linear}.sw-stage>svg{display:block;width:100%;height:100%}.sw-grid{stroke:var(--line);stroke-width:1}.sw-pline{fill:none;stroke:var(--ink);stroke-width:2.25;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.sw-pwash{fill:var(--price-wash)}.sw-axis{fill:var(--faint);font:500 10px var(--mono)}.sw-reptick{stroke:var(--info);stroke-width:1.5;opacity:.55}.sw-nowbeam{stroke:var(--brand);stroke-width:2}.sw-nowdot{fill:var(--brand);stroke:var(--surface);stroke-width:3}.sw-cap{width:44px;height:44px;display:grid;place-items:center;padding:0;border:1px solid var(--info-line);border-radius:999px;background:var(--cap-ground);box-shadow:var(--sh-capsule);color:var(--ink);cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.sw-cap--full{width:52px;height:52px}.sw-cap:hover,.sw-cap:focus-visible{transform:scale(1.08)}.sw-cap:focus-visible{outline:2px solid var(--info);outline-offset:2px}.sw-cap .sw-tile{width:auto;height:auto;background:transparent;color:inherit;display:contents}.sw-cap--compact .sw-cap__ct,.sw-cap--full .sw-cap__ct{display:none}.sw-cap--row{width:100%;height:auto;min-height:48px;display:flex;align-items:center;justify-content:flex-start;gap:10px;padding:5px 12px 5px 6px;border-radius:14px;text-align:left}.sw-cap--row .sw-mark{flex:none}.sw-cap--row .sw-cap__ct{display:flex}.sw-cap--row .sw-cap__ct b{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.sw-cap--row:hover,.sw-cap--row:focus-visible{transform:none;background:var(--info-soft)}.sw-mark{position:relative;width:34px;height:34px;border-radius:999px;display:grid;place-items:center}.sw-cap--full .sw-mark{width:42px;height:42px}.sw-mark__mono{font:700 12px/1 var(--mono);letter-spacing:.02em}.sw-hue-0{--mark-hue:45}.sw-hue-1{--mark-hue:70}.sw-hue-2{--mark-hue:95}.sw-hue-3{--mark-hue:180}.sw-hue-4{--mark-hue:200}.sw-hue-5{--mark-hue:215}.sw-hue-6{--mark-hue:232}.sw-hue-7{--mark-hue:250}.sw-hue-8{--mark-hue:270}.sw-hue-9{--mark-hue:290}.sw-hue-10{--mark-hue:312}.sw-hue-11{--mark-hue:330}.sw-mark--news{background:hsl(var(--mark-hue,220) 65% 90%);color:hsl(var(--mark-hue,220) 45% 32%)}[data-theme="dark"] .sw-mark--news{background:hsl(var(--mark-hue,220) 35% 24%);color:hsl(var(--mark-hue,220) 70% 82%)}.sw-mark--x{background:var(--ink);color:var(--on-ink)}.sw-mark__img{width:100%;height:100%;object-fit:cover;border-radius:999px;display:block}.sw-mark__badge{position:absolute;right:-5px;bottom:-5px;width:17px;height:17px;border-radius:999px;background:var(--ink);color:var(--on-ink);display:grid;place-items:center;font:800 9px/1 var(--display);border:2px solid var(--surface);font-style:normal}.sw-preview{position:absolute;z-index:9;width:260px;transform:translateX(-50%);padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--sh-card);pointer-events:none;display:flex;flex-direction:column;gap:4px;color:var(--ink)}.sw-preview b{font:600 12.5px/1.3 var(--ui);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.sw-preview span{font:400 10px/1.3 var(--mono);color:var(--muted)}.sw-preview i{font:600 10px/1 var(--mono);font-style:normal;color:var(--info-ink)}.sw-preview[data-kind="x"] i{color:var(--social-ink)}.sw-cap:hover,.sw-cap--hi{border-color:var(--info);box-shadow:0 3px 12px rgba(44,95,216,.18)}.sw-cap__ct{min-width:0;display:flex;flex-direction:column;gap:1px}.sw-cap__ct b{font:600 12.5px/1.25 var(--ui);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sw-cap__ct i{font:400 9.5px/1.3 var(--mono);font-style:normal;color:var(--info-ink)}
.v3-fullhero{position:absolute;left:28px;right:28px;top:20px;z-index:4;display:flex;justify-content:space-between;align-items:flex-start;gap:40px;pointer-events:none}.v3-fullhero a,.v3-fullhero button{pointer-events:auto}.v2-col{display:flex;flex-direction:column;gap:12px;max-width:640px;min-width:0}.sw-eyebrow{margin:0;color:var(--faint);font:500 10px/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase}.v2-q{margin:0;font:600 clamp(24px,2.6vw,34px)/1.04 var(--display);letter-spacing:-.02em;overflow-wrap:anywhere}.sw-qsub{margin:0;color:var(--muted);font:400 12px/1.5 var(--mono)}.v2-pills{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.sw-pill,.sw-window a{display:inline-flex;align-items:center;min-height:38px;padding:0 13px;border:1px solid var(--line);border-radius:999px;background:var(--surface);font:500 12.5px/1.3 var(--ui);text-decoration:none}.sw-pill--warn{border-color:var(--warn-line);background:var(--warn-soft);color:var(--warn)}.sw-pill--x{border-color:var(--social-line);background:var(--social-soft);color:var(--social-ink)}.sw-window{display:flex;gap:3px;padding:3px;border-radius:999px;background:var(--well)}.sw-window a{min-height:34px;border:0;background:transparent;font:600 12px/1 var(--mono)}.sw-window a[aria-current=page]{background:var(--surface);box-shadow:0 1px 2px rgba(27,26,21,.08)}.v2-price{text-align:right;flex:none}.v2-price-num{font:700 clamp(64px,7vw,96px)/.86 var(--display);letter-spacing:-.045em;font-variant-numeric:tabular-nums;white-space:nowrap}.sw-delta{display:inline-flex;padding:7px 10px;border-radius:999px;background:var(--up-soft);color:var(--up);font:600 12px/1 var(--ui)}.sw-delta--down{background:var(--down-soft);color:var(--down)}.sw-snapshot{color:var(--faint);font:400 10.5px/1.5 var(--mono)}.sw-strip{position:absolute;inset:0;z-index:5;display:flex;align-items:center;gap:20px;padding:0 24px;min-width:0;background:var(--bg);opacity:0;visibility:hidden;pointer-events:none;cursor:pointer}.sw-strip__lead{display:flex;flex-direction:column;gap:5px;flex:0 1 380px;min-width:0}.sw-strip__title{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--ink);font:600 13px/1.25 var(--display)}.sw-strip__num{display:flex;align-items:baseline;gap:10px;flex:0 0 auto}.sw-strip__price{font:700 28px/1 var(--display);letter-spacing:-.03em;font-variant-numeric:tabular-nums;white-space:nowrap}.sw-strip__side{color:var(--muted);font:600 11px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase}.sw-spark{flex:1 1 auto;min-width:120px;height:48px;display:block}.sw-spark__line{fill:none;stroke:var(--ink);stroke-width:2;vector-effect:non-scaling-stroke;stroke-linejoin:round}.sw-spark__dot{fill:var(--brand)}.sw-spark__empty{display:flex;align-items:center;color:var(--muted);font:500 11px/1.3 var(--mono)}.sw-strip__meta{display:flex;align-items:center;gap:12px;flex:0 0 auto;min-width:0}.sw-strip__clock{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font:500 11px/1.3 var(--mono);white-space:nowrap}.sw-strip__clock i{width:6px;height:6px;border-radius:50%;background:var(--brand)}.sw-strip__clock--warn i{background:var(--warn)}.sw-strip__state{color:var(--muted);font:500 11px/1.3 var(--mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px}.sw-strip .sw-pill{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sw-strip .sw-window{flex:0 0 auto}.v3-cue{position:absolute;left:50%;transform:translateX(-50%);bottom:38px;z-index:5;border:1px solid var(--line);border-radius:999px;background:var(--surface);min-height:38px;padding:0 16px;color:var(--muted);font:500 11px/1.4 var(--mono);box-shadow:var(--sh-card);cursor:pointer}.market-condensed .v3-chart{height:76px;box-shadow:var(--sh-strip)}.market-condensed .v3-fullhero,.market-condensed .v3-cue{opacity:0;visibility:hidden;pointer-events:none}.market-condensed .sw-strip{opacity:1;visibility:visible;pointer-events:auto}.market-condensed .sw-stage{opacity:calc(1 - var(--collapse,0) * .85)}.market-settled .sw-stage{visibility:hidden}
.v3-ledger{position:relative;z-index:20;background:var(--well);border-top:1px solid var(--line);min-height:100vh}.sw-feedwrap{max-width:860px;margin:0 auto;width:100%;padding:26px 24px 60px}.sw-feedhead{margin:4px 0 18px}.sw-feedhead h2{margin:0;font:600 28px/1.1 var(--display);letter-spacing:-.02em}.sw-feedhead p{margin:6px 0 0;color:var(--muted);font:400 12px/1.6 var(--ui)}.sw-card{display:block;padding:18px;border:1px solid var(--line);border-radius:18px;background:var(--surface);margin-bottom:12px;box-shadow:var(--sh-card)}.sw-card[open]{border-color:var(--info);box-shadow:0 0 0 2.5px var(--info-soft),0 3px 12px rgba(44,95,216,.2)}.sw-card summary{list-style:none;display:flex;align-items:flex-start;gap:14px;min-width:0;width:100%;cursor:pointer}.sw-card summary::-webkit-details-marker{display:none}.sw-tile{width:34px;height:34px;border-radius:999px;background:var(--info-soft);color:var(--info-ink);display:grid;place-items:center;font:700 11px/1 var(--mono);flex:none}.sw-xrow .sw-tile{background:var(--social-soft);color:var(--social-ink)}.sw-xshell .sw-tile{background:transparent;border:1px dashed var(--social-line)}.sw-cb{min-width:0;flex:1}.sw-toprow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:4px}.sw-status{padding:3px 7px;border-radius:999px;background:var(--info-soft);color:var(--info-ink);font:600 9.5px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase}.sw-xrow .sw-status{background:var(--social-soft);color:var(--social-ink)}.sw-card time{color:var(--faint);font:400 10.5px/1.4 var(--mono)}.sw-card h3{margin:0 0 4px;font:600 17px/1.35 var(--ui);letter-spacing:-.01em;overflow-wrap:anywhere}.sw-srcline{color:var(--muted);font:400 11.5px/1.5 var(--ui)}.sw-clockline2{margin-top:7px;color:var(--faint);font:400 10.5px/1.6 var(--mono)}.sw-carddetail{margin:14px -18px -18px;border-top:1px solid var(--line);padding:14px 18px 16px;background:var(--bg);border-radius:0 0 17px 17px;color:var(--muted);font:400 12px/1.6 var(--ui)}.sw-carddetail dl{display:grid;grid-template-columns:minmax(120px,.35fr) minmax(0,1fr);gap:5px 12px}.sw-carddetail dt{color:var(--faint)}.sw-carddetail dd{margin:0;overflow-wrap:anywhere}.sw-cardchev{color:var(--muted);font:600 15px/1 var(--ui)}.sw-empty{padding:28px;border:1px solid var(--line);border-radius:18px;background:var(--surface);color:var(--muted)}.v3-chart>.sw-empty{position:absolute;left:28px;right:28px;top:max(46%,calc(var(--hero-h,0px) + 24px));bottom:auto;padding:18px 22px;text-align:center}.v3-chart>.sw-empty p{margin:6px 0 0}.market-condensed .v3-chart>.sw-empty{display:none}.sw-causality{padding:12px 14px;border:1px solid var(--line);border-radius:12px;color:var(--muted);font:400 11.5px/1.6 var(--ui)}.sw-feedfoot{color:var(--faint);font:400 10.5px/1.5 var(--mono);text-align:center}.identifier,.source-url,.diagnostic{overflow-wrap:anywhere}
.sw-dock{max-width:1280px;margin:0 auto 24px;width:100%;padding:0 24px}.sw-dock[hidden]{display:none}.sw-dockcard{border:1px solid var(--line);border-radius:20px;background:var(--surface);padding:20px 22px;box-shadow:var(--sh-dock)}.sw-dockhead{display:flex;align-items:flex-start;gap:14px}.sw-dockhead h2{margin:2px 0 4px;font:600 clamp(17px,2vw,22px)/1.2 var(--display)}.sw-dockclose{margin-left:auto;min-width:44px;min-height:44px;border:1px solid var(--line);border-radius:999px;background:var(--surface);cursor:pointer}
.operator-page{font-family:var(--ui)}.operator-page .masthead{min-height:56px;background:var(--bg);border-color:var(--line)}.operator-page .wordmark{font-family:var(--display);letter-spacing:.12em}.operator-page .launch-card,.operator-page .service-card,.operator-page .cost-card,.operator-page .unlock-card,.operator-page details{background:var(--surface);border-color:var(--line);border-radius:14px;box-shadow:var(--sh-card)}.operator-page .launch-result{background:var(--well)}.operator-page a,.operator-page .eyebrow,.operator-page summary,.operator-page button.secondary,.operator-page .state-chip.open{color:var(--operator-accent)}.operator-page .state-chip.attention,.operator-page .threshold.attention,.operator-page .visible-warning{color:var(--operator-danger)}.operator-page button{border-radius:999px}.operator-page input,.operator-page select{background:var(--well);border-color:var(--strong);color:var(--ink)}
@media(max-width:820px){.sw-mast{gap:12px;padding:0 14px}.sw-fixture{display:none}.v3-chart{height:530px}.v3-spacer{height:530px}.v3-fullhero{flex-direction:column;gap:10px;left:16px;right:16px;top:12px}.v2-price{text-align:left}.v2-price-num{font-size:56px}.sw-strip{flex-wrap:wrap;gap:6px 12px;padding:8px 14px;align-content:center}.sw-strip__lead{order:1;flex:1 1 55%;gap:2px}.sw-strip__title{font-size:12px}.sw-strip__price{font-size:22px}.sw-strip__meta{order:2;margin-left:auto}.sw-spark{order:3;flex:1 1 100%;height:32px;min-width:0}.sw-strip__state,.sw-strip .sw-pill{display:none}.sw-strip .sw-window a{min-height:28px;padding:0 9px}.sw-feedwrap{padding:14px 14px 90px}.sw-dock--sheet{position:fixed;left:0;right:0;bottom:0;z-index:70;margin:0;padding:0;max-width:none}.sw-dock--sheet .sw-dockcard{border-radius:20px 20px 0 0;max-height:64vh;overflow:auto;padding:14px 16px calc(16px + env(safe-area-inset-bottom));box-shadow:var(--sh-sheet)}.sw-dock--sheet .sw-dockcard::before{content:'';display:block;width:44px;height:4px;border-radius:2px;background:var(--strong);margin:0 auto 12px}.sw-card{padding:14px}.sw-carddetail{margin:12px -14px -14px;padding:12px 14px 14px}.sw-carddetail dl{grid-template-columns:1fr}.v3-cue{bottom:20px}.market-condensed .v3-chart{height:68px}}
:root{--surface-2:var(--well);--ink-2:var(--muted);--amber:var(--brand);--danger:var(--operator-danger);--ready:var(--up)}
:root[data-theme=dark]{--up-soft:#12291F;--down-soft:#331715;--price-wash:rgba(242,239,231,.07);--cap-ground:#211E19}
.sw-window a,.v3-cue{min-height:44px}.sw-move{fill:var(--info-line);stroke:var(--info);stroke-width:1}.sw-move:hover,.sw-move:focus{fill:var(--info)}
.sw-feedhead form{display:flex;align-items:end;gap:8px;flex-wrap:wrap;margin-top:12px}.sw-feedhead form label{font:500 11px/1.4 var(--mono);color:var(--muted)}.sw-feedhead form input{min-height:44px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);padding:8px}
.sw-brand{color:var(--brand)}.sw-theme{display:flex;align-items:center;padding:3px;border-radius:999px;background:var(--well)}.sw-theme button{min-width:58px;min-height:44px;border:0;border-radius:999px;background:transparent;color:var(--faint);font:600 10px/1 var(--mono);letter-spacing:.08em;cursor:pointer}.sw-theme button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px rgba(27,26,21,.08)}.sw-pill--move-up{border-color:color-mix(in srgb,var(--up) 38%,var(--line));background:var(--up-soft);color:var(--up)}.sw-pill--move-down{border-color:color-mix(in srgb,var(--down) 38%,var(--line));background:var(--down-soft);color:var(--down)}.sw-pill--move-neutral{border-color:var(--line);background:var(--well);color:var(--muted)}.sw-pill--report{border-color:var(--info-line);background:var(--info-soft);color:var(--info-ink)}.sw-pill--move,.sw-pill--report{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sw-live-label{fill:var(--brand);font:700 10px var(--mono);letter-spacing:.08em}.sw-live-price{fill:var(--ink);font:700 13px var(--display)}.sw-stage .sw-chart-mobile,.sw-mobile-cap{display:none}
@media(max-width:820px){.sw-mast .sw-health,.sw-mast-actions>.sw-button{display:none}.sw-fixture{display:block}.sw-theme button{min-width:50px;min-height:44px}.v3-chart,.v3-spacer{height:690px}.sw-stage .sw-chart-desktop{display:none}.sw-stage .sw-chart-mobile{position:absolute;inset:0;display:block;width:100%;height:100%}.sw-mobile-cap{position:absolute;right:14px;bottom:78px;z-index:3;display:flex;width:180px;min-height:44px}.v3-fullhero .v2-pills{max-width:calc(100vw - 32px)}.v3-cue{bottom:10px}}
.operator-page .visible-warning{background:var(--down-soft);border-color:var(--operator-danger)}.operator-page .visible-note{border-color:var(--brand)}.operator-page button:not(.secondary){background:var(--ink);border-color:var(--ink);color:var(--on-ink)}.operator-page button:disabled{background:var(--well);border-color:var(--strong);color:var(--faint)}
body.market-page{overflow-x:hidden;overscroll-behavior-y:none;padding-top:56px}body.market-page .sw-mast{position:fixed;top:0;left:0;right:0;z-index:60}.v3-chart{height:calc(100vh - 56px);min-height:92px;will-change:height}.v3-spacer{height:calc(100vh - 56px)}.market-condensed .v3-chart{height:92px}.market-condensed .sw-stage{opacity:calc(1 - var(--collapse,0) * .85)}.market-settled .sw-stage{visibility:hidden}.v3-fullhero{opacity:calc(1 - min(1,var(--collapse,0) * 2));transition:opacity .12s linear}.sw-strip{opacity:max(0,calc((var(--collapse,0) - .62) * 3));transition:opacity .12s linear}.v3-cue{opacity:calc(1 - min(1,var(--collapse,0) * 3))}
.sw-stage svg.sw-chart{position:absolute;inset:0;display:block;width:100%;height:100%}.sw-grid--time{opacity:.55}.sw-pcarry{fill:none;stroke:var(--faint);stroke-width:1.5;stroke-dasharray:3 6;vector-effect:non-scaling-stroke}.sw-publine{stroke:var(--ink);stroke-width:1;stroke-dasharray:2 6;opacity:.34;vector-effect:non-scaling-stroke}.sw-pubdiamond{fill:var(--ink)}.sw-selband{fill:color-mix(in srgb,var(--ink) 8%,transparent)}.sw-moveband{fill:color-mix(in srgb,var(--ink) 7%,transparent)}.sw-movetick--up{fill:var(--up)}.sw-movetick--down{fill:var(--down)}.sw-movetick--unknown{fill:var(--muted)}.sw-now{display:flex;flex-direction:column;align-items:flex-end;gap:3px;margin-top:10px;padding:8px 12px 9px;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:var(--sh-card);color:var(--muted);font:500 10px/1.3 var(--mono);text-align:right}.sw-nowhalo{fill:var(--side,var(--brand));opacity:.3;transform-box:fill-box;transform-origin:center;animation:sw-halo 2.4s ease-out infinite}@keyframes sw-halo{0%{transform:scale(1);opacity:.32}100%{transform:scale(3.4);opacity:0}}.sw-stale .sw-nowhalo{animation:none;opacity:0}.sw-stale .sw-nowdot{fill:var(--warn)}.sw-now__head{display:flex;align-items:center;gap:7px}.sw-now__ring{width:22px;height:22px;transform:rotate(-90deg);flex:none}.sw-now__track{fill:none;stroke:var(--line);stroke-width:2.5}.sw-now__arc{fill:none;stroke:var(--brand);stroke-width:2.5;stroke-linecap:round;stroke-dasharray:56.55;stroke-dashoffset:56.55;animation:sw-sweep var(--poll-ms,10000ms) linear forwards}@keyframes sw-sweep{from{stroke-dashoffset:56.55}to{stroke-dashoffset:0}}.sw-now__label{font:700 10px/1 var(--mono);letter-spacing:.08em;color:var(--brand-ink)}.sw-now__price{font:700 14px/1 var(--mono);color:var(--ink);font-variant-numeric:tabular-nums}.sw-now__age,.sw-now__quiet{font-style:normal;white-space:nowrap}.sw-now--stale .sw-now__arc{stroke:var(--warn)}.sw-now--stale .sw-now__label{color:var(--warn)}.sw-now--frozen .sw-now__arc{animation:none;stroke-dashoffset:0;stroke:var(--muted)}.sw-now--frozen .sw-now__label{color:var(--muted)}.sw-railitem--arrive{animation:sw-arrive .9s cubic-bezier(.2,.8,.2,1) both}@keyframes sw-arrive{from{transform:translateX(calc(-50% + var(--spawn-dx,0px))) scale(1.12);opacity:0}to{transform:translateX(-50%) scale(1);opacity:1}}.sw-cap--fresh{box-shadow:0 0 0 3px var(--brand-soft),var(--sh-capsule);animation:sw-fresh 2.4s ease-in-out infinite}@keyframes sw-fresh{0%,100%{box-shadow:0 0 0 2px var(--brand-soft),var(--sh-capsule)}50%{box-shadow:0 0 0 5px var(--brand-soft),var(--sh-capsule)}}.sw-delta--tick{animation:sw-tick .6s ease-out}@keyframes sw-tick{0%{transform:scale(1)}35%{transform:scale(1.12)}100%{transform:scale(1)}}[data-side="yes"]{--side:var(--up);--side-soft:var(--up-soft)}[data-side="no"]{--side:var(--down);--side-soft:var(--down-soft)}.sw-nowdot{fill:var(--side,var(--brand))}.sw-strip__side{color:var(--side,var(--muted))}@media(prefers-reduced-motion:reduce){.sw-now__arc{animation:none;stroke-dashoffset:0}.sw-railitem--arrive,.sw-cap--fresh,.sw-delta--tick,.sw-nowhalo{animation:none}.sw-nowhalo{opacity:.2}}
.sw-movehit{position:absolute;bottom:30px;z-index:6;transform:translateX(-50%);display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--muted);font:700 12px var(--mono);text-decoration:none}.sw-movehit:hover,.sw-movehit:focus-visible{border-color:var(--info);color:var(--ink)}
.sw-rail-legend{position:absolute;left:calc(4% + 52px);top:calc(var(--rail-top,max(31%,calc(var(--hero-h,0px) + 40px))) - 26px);opacity:var(--rail-alpha,1);display:flex;gap:14px;color:var(--muted);font:500 10px/1.3 var(--mono)}.sw-rail{position:absolute;left:4%;right:4%;top:var(--rail-top,max(31%,calc(var(--hero-h,0px) + 40px)));height:106px;opacity:var(--rail-alpha,1)}.market-marks-off .sw-rail,.market-marks-off .sw-rail-legend{visibility:hidden}.sw-railitem{position:absolute;transform:translateX(-50%);width:auto;z-index:5}.sw-cluster>summary{list-style:none;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid var(--info-line);border-radius:999px;background:var(--cap-ground);box-shadow:var(--sh-capsule);cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.sw-cluster>summary:hover,.sw-cluster>summary:focus-visible{transform:scale(1.08);border-color:var(--info);box-shadow:0 3px 12px rgba(44,95,216,.18)}.sw-cluster>summary:focus-visible{outline:2px solid var(--info);outline-offset:2px}.sw-cluster:has(.sw-cap--fresh)>summary{box-shadow:0 0 0 3px var(--brand-soft),var(--sh-capsule)}.sw-cluster[open]>summary,.sw-cluster--hi>summary{border-color:var(--info);box-shadow:0 0 0 2px var(--info-soft),var(--sh-capsule)}.sw-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sw-cluster>summary::-webkit-details-marker{display:none}.sw-fan{position:absolute;top:50px;left:50%;transform:translateX(-50%);width:min(300px,calc(100vw - 28px));max-height:min(250px,34vh);overflow:auto;display:grid;gap:6px;padding:10px;border:1px solid var(--info-line);border-radius:14px;background:var(--surface);box-shadow:var(--sh-dock)}.sw-fan .sw-cap{position:static}
.sw-pausedpill{position:absolute;left:24px;bottom:60px;z-index:7;display:flex;align-items:center;gap:10px;min-height:44px;padding:5px 8px 5px 14px;border:1px solid var(--warn-line);border-radius:999px;background:var(--warn-soft);color:var(--warn);font:500 11px/1.3 var(--mono)}.sw-update-banner{position:fixed;top:56px;left:0;right:0;z-index:70;margin:0;padding:8px 14px;background:var(--warn-soft);color:var(--warn);border-bottom:1px solid var(--warn-line);text-align:center;font:600 11px/1.4 var(--mono)}
.sw-clocks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.sw-clocks>div{display:flex;flex-direction:column;padding:10px;border:1px solid var(--line);border-radius:10px}.sw-clocks em{color:var(--faint);font:500 9.5px/1.3 var(--mono);font-style:normal;text-transform:uppercase}.sw-clocks b{color:var(--ink);font:600 12px/1.4 var(--ui)}.sw-sparkrow{display:flex;align-items:center;gap:12px;margin-top:12px}.sw-sparkrow svg{width:240px;height:52px;flex:none}.sw-actions{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.sw-evidence{margin-top:12px;border:1px solid var(--line);border-radius:12px}.sw-evidence>summary{min-height:44px;padding:0 12px;display:flex;align-items:center;cursor:pointer}.sw-evidence dl{padding:0 12px 12px}.sw-evidence pre{margin:0;padding:12px;white-space:pre-wrap}
.sw-trace-firstseen{stroke:var(--brand);stroke-width:1.5;stroke-dasharray:2 3;vector-effect:non-scaling-stroke}
.sw-movement{margin:10px 0 16px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.sw-movement>summary{list-style:none;min-height:56px;padding:10px 14px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;align-items:center;cursor:pointer}.sw-movement>summary::-webkit-details-marker{display:none}.sw-movement>summary strong{grid-column:1}.sw-movement>summary time{grid-column:2;grid-row:1/3;color:var(--faint);font:500 10px var(--mono)}.sw-movekick{color:var(--muted);font:600 10px var(--mono);text-transform:uppercase}.sw-movement-body{padding:0 14px 14px}.sw-mvsplit{display:grid;grid-template-columns:1fr 1fr;gap:12px}.sw-mvrow{display:flex;justify-content:space-between;gap:10px;min-height:44px;padding:8px;border-top:1px solid var(--line);text-decoration:none}.sw-mvrow span{min-width:0;overflow:hidden;text-overflow:ellipsis}.sw-mvrow b{flex:none;color:var(--muted);font:600 10px var(--mono)}
.sw-mvprices{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}.sw-mvprices>div{display:flex;flex-direction:column;padding:10px;border:1px solid var(--line);border-radius:10px}.sw-mvprices em{color:var(--faint);font:500 9.5px var(--mono);font-style:normal;text-transform:uppercase}.sw-mvprices b{font:600 12px var(--ui)}
.sw-window a,.v3-cue,.sw-pill--move-up,.sw-pill--move-down,.sw-pill--move-neutral,.sw-pill--report,.sw-cluster>summary,.sw-mvrow{min-height:44px}
@media(max-width:820px){.v3-chart{height:calc(100vh - 56px)}.v3-spacer{height:calc(100vh - 56px)}.market-condensed .v3-chart{height:104px}.sw-rail{top:var(--rail-top,max(39%,calc(var(--hero-h,0px) + 40px)))}.sw-rail-legend{left:calc(4% + 44px);top:calc(var(--rail-top,max(39%,calc(var(--hero-h,0px) + 40px))) - 26px)}.v3-chart>.sw-empty{left:16px;right:16px}.sw-railitem{width:auto}.sw-fan{width:min(280px,calc(100vw - 28px));left:50%;transform:translateX(-50%)}.sw-stage svg.sw-chart{display:block}.v2-price-num{font-size:56px}.sw-now{align-items:flex-start;text-align:left;padding:6px 10px 7px}.sw-clocks,.sw-mvsplit,.sw-mvprices{grid-template-columns:1fr}.sw-sparkrow{align-items:flex-start;flex-direction:column}.sw-sparkrow svg{max-width:100%}.sw-pausedpill{left:10px;right:10px;justify-content:space-between}.sw-card summary{min-height:44px}.sw-actions .sw-button{width:100%}}
.sw-srcline,.sw-clockline2{display:block;overflow-wrap:anywhere}.skip-link{display:inline-flex;align-items:center;min-height:44px}.v3-cue{white-space:nowrap}
@media(max-width:820px){.sw-mast .sw-health,.sw-fixture{display:none}.sw-mast{gap:10px}.sw-mast-actions{margin-left:auto;gap:6px}.sw-mast-actions>.sw-button{display:inline-flex;min-height:44px;padding-inline:12px}.sw-theme button{min-width:48px}.v3-cue{max-width:calc(100vw - 28px);padding-inline:12px}}
.v3-chart{z-index:30;margin:0}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}


.sw-reports-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.follow-page{font:400 15px/1.6 var(--ui)}.follow-page .card{margin:0 0 20px;padding:24px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}
.follow-page h1,.follow-page h2{margin:4px 0 12px;font-family:var(--display);line-height:1.15;letter-spacing:-.02em}.follow-page h1{font-size:34px}.follow-page h2{font-size:24px}
.follow-page .muted,.follow-page .coverage-note,.follow-page small{color:var(--muted)}.follow-page form{display:grid;gap:16px}.follow-page label{display:grid;gap:6px;font-weight:600}
.follow-page input{min-width:0;max-width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--strong);border-radius:10px;background:var(--well);color:var(--ink);font:400 16px/1.5 var(--ui)}
.follow-page button{min-height:44px;width:fit-content;max-width:100%;padding:10px 18px;border:1px solid var(--ink);border-radius:999px;background:var(--ink);color:var(--on-ink);font:600 13px/1.5 var(--ui);cursor:pointer}
.follow-page button:focus-visible,.follow-page input:focus-visible{outline:2px solid var(--info);outline-offset:3px}.follow-page fieldset{display:grid;gap:10px;border:0;padding:0;margin:0;min-width:0}.follow-page legend{padding:0 0 10px;font-weight:600}
.follow-page .choice{grid-template-columns:24px minmax(0,1fr);gap:12px;padding:14px;border:1px solid var(--line);border-radius:12px;cursor:pointer}.follow-page .choice:has(input:checked){border-color:var(--info);background:var(--info-soft)}
.follow-page .choice input{min-height:24px;width:24px;margin:2px 0;accent-color:var(--info)}.follow-page small{display:block;font-size:12px;font-weight:400;overflow-wrap:anywhere}
.follow-page .coverage-note{padding:14px;border-radius:12px;background:var(--well);font-size:13px}.follow-page .message{padding:14px;border-radius:12px}.follow-page .error{background:var(--down-soft);color:var(--down)}.follow-page .success{background:var(--up-soft);color:var(--up)}
.follow-page .follow-list{list-style:none;padding:0;display:grid;gap:18px}.follow-page .follow-list li{display:grid;gap:12px;padding-top:18px;border-top:1px solid var(--line);overflow-wrap:anywhere}.follow-page .follow-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.follow-page .danger{border-color:var(--line);background:transparent;color:var(--operator-danger)}
@media(max-width:480px){.follow-page .card{padding:18px}.follow-page h1{font-size:30px}.follow-page .sw-mast-actions{margin-left:auto}}
.sw-market-collection{margin:0 0 20px;padding:0 16px 12px;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--muted);font:400 12px/1.6 var(--ui)}
.sw-market-collection:not([open]){padding-bottom:0}.sw-market-collection>summary{padding:14px 0;min-height:48px;cursor:pointer;color:var(--ink);font-weight:600}
.sw-collection-panel h3{margin:0 0 10px;color:var(--ink);font:600 19px/1.3 var(--display)}
.sw-collection-panel p,.sw-collection-panel ul{margin:8px 0;overflow-wrap:anywhere}.sw-collection-panel ul{padding-left:20px}
.sw-collection-panel .sw-control-state{color:var(--ink);font-weight:600}.sw-collection-panel form{margin:14px 0}
.sw-collection-panel button:disabled{cursor:not-allowed;opacity:.6}.sw-market-collection[data-pending=true] button[type=submit]{pointer-events:none;opacity:.6}
.market-controls-page{font-family:var(--ui)}.market-controls-page .sw-collection-panel{padding:22px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
.sw-report-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 22px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.sw-source-filters{display:flex;gap:4px;padding:4px;border:1px solid var(--line);border-radius:999px;background:var(--surface)}
.sw-source-filters button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;min-width:76px;padding:0 16px;border:0;border-radius:999px;background:transparent;color:var(--muted);font:600 13px/1 var(--ui);cursor:pointer}
.sw-source-filters button[aria-pressed=true]{background:var(--ink);color:var(--on-ink)}
.sw-source-filters button span{font:500 11px/1 var(--mono)}
.sw-source-filters button:focus-visible{outline:2px solid var(--info);outline-offset:3px}
.sw-report-tools p{flex-basis:100%;margin:0;color:var(--muted);font:400 11px/1.6 var(--ui)}
.sw-filter-count{color:var(--muted);font:500 11px/1.5 var(--mono)}
.sw-source-guide{margin:12px 0 0;color:var(--muted);font:400 12px/1.6 var(--ui)}
.sw-source-guide summary{display:list-item;width:fit-content;min-height:44px;padding:12px 0;cursor:pointer;color:var(--ink);font-weight:600}
.sw-source-guide p{max-width:68ch}.sw-source-guide a{text-underline-offset:3px}
.sw-source-badge{font:700 10px/1.4 var(--mono);color:var(--info-ink);letter-spacing:.04em}
.sw-xrow .sw-source-badge{color:var(--social-ink)}
.sw-avatar{width:34px;height:34px;border-radius:999px;object-fit:cover;display:block}
.sw-viewx{color:var(--social-ink);font:600 10.5px/1.4 var(--mono);text-decoration:underline;text-underline-offset:2px;white-space:nowrap}.sw-viewx:focus-visible,.sw-author:focus-visible{outline:2px solid var(--info);outline-offset:2px}
a.sw-author{color:var(--ink);font-weight:600;text-decoration:underline;text-underline-offset:2px}a.sw-author+a.sw-author{color:var(--muted);font-weight:400}
.sw-card .sw-status{font-size:9px;letter-spacing:.04em}.sw-card h3{line-height:1.45;color:var(--ink)}
.sw-source-guide{padding:0 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
@media(max-width:480px){.sw-report-tools{gap:10px}.sw-source-filters{width:100%}.sw-source-filters button{flex:1;min-width:0}.sw-filter-count{width:100%}}


@font-face{font-family:'Outfit';font-style:normal;font-weight:100 900;font-display:swap;src:url('/assets/fonts/outfit-latin.woff2') format('woff2')}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:200 800;font-display:swap;src:url('/assets/fonts/plus-jakarta-sans-latin.woff2') format('woff2')}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400 800;font-display:swap;src:url('/assets/fonts/jetbrains-mono-latin.woff2') format('woff2')}


body.courtside-page{
  --bg:#0E1116;--surface:#141920;--raised:#1B222C;--ink:#F3F5F8;--muted:#8E98A9;--faint:#586275;--line:#232B37;
  --brand:#FF6A3D;--up:#3DD68C;--down:#FF5C7A;--info:#5EB0FF;--warn:#FFB547;
  --display:'Outfit',system-ui,sans-serif;--ui:'Plus Jakarta Sans',system-ui,sans-serif;--mono:'JetBrains Mono',ui-monospace,SFMono-Regular,monospace;
  --r:18px;--rs:12px;--mark:40px;--lane:76px;--gutter:24px;
}

body.courtside-page *{box-sizing:border-box}

body.courtside-page [hidden]{display:none!important}

html:has(body.courtside-page){color-scheme:dark;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){

html:has(body.courtside-page){scroll-behavior:auto}}

body.courtside-page{margin:0;color:var(--ink);font:15px/1.45 var(--ui);-webkit-font-smoothing:antialiased;background:var(--bg) radial-gradient(120% 70% at 28% 0%,#161E2A 0%,#0F1319 50%,#0B0E12 100%) fixed}

body.courtside-page button{font:inherit;color:inherit}

body.courtside-page button:focus-visible,body.courtside-page a:focus-visible{outline:2px solid var(--info);outline-offset:2px;border-radius:8px}

body.courtside-page .mono{font-family:var(--mono);font-variant-numeric:tabular-nums}

body.courtside-page .muted{color:var(--muted)}

body.courtside-page.zen .money{display:none}

body.courtside-page .frame{position:sticky;top:0;z-index:60;display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:5px 14px;background:#2A1D14;color:#FFD3C2;font:600 11.5px/1.2 var(--mono);letter-spacing:.04em;text-transform:uppercase;flex:none}

body.courtside-page .frame b{color:var(--brand)}

body.courtside-page .frame .sp{flex:1}

body.courtside-page .frame button{border:1px solid #4A372A;background:#241B15;color:inherit;border-radius:7px;padding:4px 8px;cursor:pointer;min-height:26px;font:600 11px/1 var(--mono);text-transform:none;letter-spacing:0}

body.courtside-page .frame button[aria-pressed=true]{background:#FF6A3D;color:#1A0E07;border-color:#FF6A3D}

body.courtside-page .frame .go{background:#5EB0FF;color:#06111D;border-color:#5EB0FF}

body.courtside-page .frame label{display:inline-flex;gap:5px;align-items:center;cursor:pointer;text-transform:none;letter-spacing:0;font-weight:500}

body.courtside-page .frame .st{color:#B9A89A;text-transform:none;letter-spacing:0;font-weight:500}

body.courtside-page .app{position:relative;padding:0 0 120px}
/* top bar: floats on the ground, no border */
body.courtside-page .top{display:flex;align-items:center;gap:16px;height:60px;padding:0 var(--gutter);flex:none}

body.courtside-page .wordmark{display:inline-flex;align-items:center;gap:8px;font:800 22px/1 var(--display);letter-spacing:-.02em;text-decoration:none;color:var(--ink)}

body.courtside-page .dot{width:10px;height:10px;border-radius:50%;background:var(--brand)}
@keyframes courtside-pulse{0%{box-shadow:0 0 0 0 rgba(255,106,61,.55)}70%{box-shadow:0 0 0 12px rgba(255,106,61,0)}100%{box-shadow:0 0 0 0 rgba(255,106,61,0)}}

body.courtside-page .health{margin-left:auto;display:inline-flex;align-items:center;gap:8px;font:600 13px/1 var(--ui);color:var(--warn)}

body.courtside-page .health i{width:9px;height:9px;border-radius:50%;background:var(--up)}

body.courtside-page .health span{display:none}

body.courtside-page .health.warn i{background:var(--warn)}

body.courtside-page .health.warn span{display:inline}

body.courtside-page .win{display:inline-flex;padding:4px;border-radius:999px;background:rgba(20,25,32,.7);border:1px solid var(--line)}

body.courtside-page .win button{border:0;background:none;padding:6px 11px;border-radius:999px;font:700 13px/1 var(--mono);color:var(--muted);min-width:42px;min-height:36px;cursor:pointer}

body.courtside-page .win button[aria-pressed=true]{background:var(--raised);color:var(--ink)}
/* the field: the chart is the page */
body.courtside-page .field{position:relative;display:flex;flex-direction:column;height:min(60vh,600px);min-height:400px}

body.courtside-page .field::after{content:"";position:absolute;top:100%;left:0;right:0;height:180px;background:linear-gradient(rgba(255,106,61,.055),rgba(255,106,61,0));pointer-events:none}

body.courtside-page .plot{position:relative;flex:1;min-height:0}

body.courtside-page .plot > svg{position:absolute;inset:0;width:100%;height:100%;display:block}
/* the tape: a strip that stays on screen while the chart is */
body.courtside-page .tape{position:sticky;bottom:0;z-index:6;flex:none;height:30px;background:linear-gradient(rgba(14,17,22,0),rgba(14,17,22,.82) 45%)}

body.courtside-page .tape [data-ticks]{position:absolute;inset:0}

body.courtside-page .tape .tabs{position:absolute;top:1px;right:var(--tabsright,12px);z-index:2;background:rgba(14,17,22,.7);border-radius:8px}

body.courtside-page .tape i{position:absolute;top:0;width:1px;height:6px;background:var(--ink);opacity:.16}

body.courtside-page .tape i.future{opacity:.35;background:var(--faint)}

body.courtside-page .tape span{position:absolute;top:9px;transform:translateX(-50%);font:500 11px/1 var(--mono);color:var(--muted);white-space:nowrap}

body.courtside-page .tape span.future{color:var(--faint);opacity:.8}

body.courtside-page .tape span.now{color:var(--brand);font-weight:700}

body.courtside-page .lane{position:absolute;left:0;right:0;top:8px;height:var(--lane);pointer-events:none}
/* title row: on the ground, not over the plot */
body.courtside-page .titlerow{display:grid;grid-template-columns:1fr auto;gap:6px 28px;align-items:center;padding:10px var(--gutter) 12px;flex:none}

body.courtside-page .tp{display:flex;flex-direction:column;align-items:flex-end;gap:4px;text-align:right}

body.courtside-page .price{display:flex;flex-direction:column;align-items:flex-end;gap:2px}

body.courtside-page .price b{font:800 clamp(48px,5.4vw,72px)/.95 var(--display);letter-spacing:-.045em;font-variant-numeric:tabular-nums;transition:color .4s}

body.courtside-page .price b.tick-up{color:var(--up)}

body.courtside-page .price b.tick-down{color:var(--down)}

body.courtside-page .price .tabs{display:none}
/* window ladder as text tabs */
body.courtside-page .tabs{display:inline-flex;gap:2px}

body.courtside-page .tabs button{border:0;background:none;padding:6px 8px;border-radius:6px;font:700 12px/1 var(--ui);color:var(--faint);cursor:pointer;min-height:30px}

body.courtside-page .tabs button:hover{color:var(--muted)}

body.courtside-page .tabs button[aria-pressed=true]{color:var(--ink)}

body.courtside-page .eyebrow{display:inline-flex;align-items:center;gap:8px;font:600 12px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}

body.courtside-page h1{margin:0;font:700 clamp(22px,2.4vw,32px)/1.15 var(--display);letter-spacing:-.02em;text-wrap:balance;max-width:640px}

body.courtside-page .quiet{margin:0;font-size:13.5px;color:var(--muted)}

body.courtside-page .quiet b{color:var(--ink);font-weight:600}
/* LIVE chip on the now-line */
body.courtside-page .nowchip{position:absolute;z-index:3;transform:translateX(-50%);display:inline-flex;align-items:center;gap:8px;padding:5px 10px 5px 8px;border-radius:999px;background:rgba(14,17,22,.85);border:1px solid var(--line);font:600 12px/1 var(--ui);color:var(--muted);white-space:nowrap;transition:left .2s linear}

body.courtside-page .nowchip .lv{display:inline-flex;align-items:center;gap:6px;color:var(--brand);font-weight:700;letter-spacing:.06em}

body.courtside-page .nowchip .lbl{display:none}

body.courtside-page .nowchip .lv i{width:7px;height:7px;border-radius:50%;background:var(--brand)}

body.courtside-page .ring{width:14px;height:14px}

body.courtside-page .ring circle{fill:none;stroke-width:3}

body.courtside-page .ring .t{stroke:var(--line)}

body.courtside-page .ring .a{stroke:var(--brand);stroke-linecap:round;transform:rotate(-90deg);transform-origin:50% 50%}

body.courtside-page .chg{display:inline-flex;align-items:center;gap:6px;font:700 14px/1 var(--ui);color:var(--up)}

body.courtside-page .chg.down{color:var(--down)}
body.courtside-page .chg.none{color:var(--muted);font-weight:500}
body.courtside-page .price b.pending{color:var(--faint);font-size:clamp(32px,3.4vw,44px)}
body.courtside-page .nowchip .lv.stale{color:var(--warn)}
body.courtside-page .nowchip .lv.stale i{background:var(--warn)}
body.courtside-page .chip--later{color:var(--faint);border-style:dashed}
body.courtside-page .latest{margin:4px 0 0;color:var(--brand);font:600 12.5px/1.4 var(--ui)}
body.courtside-page .card.is-since{border-left:2px solid var(--brand)}
body.courtside-page .settledline{grid-column:1;margin:6px 0 0;color:var(--muted);font:600 14px/1.4 var(--ui)}
body.courtside-page .credit{grid-column:1}
/* Review of 81b2321 (N1): above phone width the price holds column 2 across the title's rows, so a settled line and the credit stack under the title. */
@media (min-width:721px){body.courtside-page .titlerow .tp{grid-column:2;grid-row:1/span 3}}
body.courtside-page .credit p{margin:0;color:var(--muted);font:600 13px/1.4 var(--ui)}
body.courtside-page .credit a{color:var(--ink);text-decoration:underline;text-underline-offset:2px}
body.courtside-page .credit .credit__note{margin-top:2px;color:var(--faint);font:500 12px/1.4 var(--ui)}
body.courtside-page .nowchip .lv.settled{color:var(--muted)}
body.courtside-page .nowchip .lv.settled i{background:var(--muted)}
body.courtside-page .chip--settle{color:var(--brand);border-color:var(--brand)}
body.courtside-page .xstate{margin:0 0 10px;color:var(--muted);font:500 12.5px/1.4 var(--ui)}

body.courtside-page .chg small{font:500 13px/1 var(--ui);color:var(--muted)}
/* your position, beside the price */
body.courtside-page .pos{display:grid;gap:3px;justify-items:end;font-size:13px;margin-top:4px}

body.courtside-page .pos__line{display:flex;align-items:center;gap:10px}

body.courtside-page .pos__you{display:flex;align-items:center;gap:6px;color:var(--muted)}

body.courtside-page .pos__you .side{font-weight:800;color:var(--ink);letter-spacing:.02em}

body.courtside-page .pos__you b{font:700 13px/1 var(--ui);color:var(--ink)}

body.courtside-page .pos__pnl{display:inline-flex;align-items:baseline;gap:6px;font:700 13.5px/1 var(--ui);color:var(--up)}

body.courtside-page .pos__pnl.down{color:var(--down)}

body.courtside-page .pos__sync{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font:500 12px/1.3 var(--ui);color:var(--faint)}

body.courtside-page .pos__short{display:none}

body.courtside-page .pos__sync .k{display:grid;place-items:center;width:14px;height:14px;border-radius:3px;background:#0F8F5A;color:#fff;font:800 9px/1 var(--display)}

body.courtside-page .pos__sync button{border:0;background:none;color:var(--faint);font:500 12px/1 var(--ui);cursor:pointer;padding:2px;text-decoration:underline dotted}
@media (prefers-reduced-motion:reduce){

body.courtside-page .nowchip{transition:none}}
/* marks (moments) */
body.courtside-page .mark{position:absolute;left:var(--x);bottom:0;transform:translateX(-50%);width:var(--mark);height:var(--mark);pointer-events:auto;border:0;padding:0;background:none;cursor:pointer;border-radius:50%;transition:left .2s linear}
@media (prefers-reduced-motion:reduce){

body.courtside-page .mark{transition:none}}

body.courtside-page .mark .av{position:relative;z-index:2;display:grid;place-items:center;width:100%;height:100%;border-radius:50%;font:800 13px/1 var(--display);color:#fff;background:linear-gradient(145deg,hsl(var(--h) 70% 55%),hsl(calc(var(--h) + 40) 70% 40%));border:2px solid var(--bg);box-shadow:0 4px 14px rgba(0,0,0,.45)}

body.courtside-page .mark .tile{position:relative;z-index:2;display:grid;place-items:center;width:100%;height:100%;border-radius:11px;font:800 10.5px/1 var(--display);letter-spacing:-.02em;color:var(--tfg);background:var(--tile);border:2px solid var(--bg);box-shadow:0 4px 14px rgba(0,0,0,.45)}

body.courtside-page .mark .tile.big{font-size:15px}

body.courtside-page .mark .xb{position:absolute;z-index:3;right:-4px;bottom:-4px;width:16px;height:16px;border-radius:50%;background:#000;border:2px solid var(--bg);display:grid;place-items:center;font:800 9px/1 var(--display);color:#fff}

body.courtside-page .mark.shell .av{background:var(--raised);color:var(--faint);border-style:dashed;border-color:var(--faint)}

body.courtside-page .mark .ghost{position:absolute;inset:0;border-radius:50%;background:var(--raised);border:2px solid var(--bg);z-index:1;transform:translate(7px,-3px) scale(.92);opacity:.9}

body.courtside-page .mark .ghost.g2{transform:translate(14px,-6px) scale(.84);opacity:.6;z-index:0}

body.courtside-page .mark .n{position:absolute;z-index:4;right:-8px;top:-8px;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--info);color:#06111D;font:800 11px/20px var(--ui);text-align:center;border:2px solid var(--bg)}

body.courtside-page .mark.is-sel .av,body.courtside-page .mark.is-sel .tile,body.courtside-page .mark:hover .av,body.courtside-page .mark:hover .tile{box-shadow:0 0 0 3px var(--ink),0 4px 14px rgba(0,0,0,.45)}

body.courtside-page .mark.is-new .av,body.courtside-page .mark.is-new .tile{animation:courtside-aura 9s ease-out forwards}
@keyframes courtside-aura{0%,60%{box-shadow:0 0 0 3px var(--info),0 0 28px 6px rgba(94,176,255,.55)}100%{box-shadow:0 0 0 0 var(--info),0 4px 14px rgba(0,0,0,.45)}}

body.courtside-page .mark.spawn{animation:courtside-spawn .7s cubic-bezier(.2,1.4,.4,1) both}
@keyframes courtside-spawn{0%{transform:translateX(-50%) translateY(-24px) scale(.3);opacity:0}60%{transform:translateX(-50%) translateY(4px) scale(1.12);opacity:1}100%{transform:translateX(-50%) scale(1)}}

body.courtside-page .mark .ripple{position:absolute;inset:-4px;border-radius:50%;border:2px solid var(--info);opacity:0;pointer-events:none;z-index:3}

body.courtside-page .mark.spawn .ripple{animation:courtside-ripple 1.4s ease-out .2s 2}
@keyframes courtside-ripple{0%{transform:scale(.8);opacity:.9}100%{transform:scale(2.6);opacity:0}}
@media (prefers-reduced-motion:reduce){

body.courtside-page .mark.spawn,body.courtside-page .mark.spawn .ripple,body.courtside-page .mark.is-new .av,body.courtside-page .mark.is-new .tile,body.courtside-page .dot,body.courtside-page .nowchip .lv i{animation:none}}

body.courtside-page .peek{position:absolute;z-index:7;max-width:300px;padding:10px 12px;border-radius:12px;background:var(--raised);border:1px solid var(--line);box-shadow:0 10px 30px rgba(0,0,0,.5);font-size:13px;pointer-events:none;opacity:0;transform:translateY(4px);transition:opacity .15s,transform .15s}

body.courtside-page .peek.on{opacity:1;transform:none}

body.courtside-page .peek b{display:block;font-weight:700;margin-bottom:2px}

body.courtside-page .peek small{font:500 11.5px/1.3 var(--ui);color:var(--muted)}

body.courtside-page .peek .pk{display:flex;gap:8px;align-items:center;margin-top:6px;color:var(--ink)}

body.courtside-page .fan{position:absolute;z-index:8;width:min(340px,calc(100% - 24px));max-height:60%;overflow:auto;padding:8px;border-radius:14px;background:var(--raised);border:1px solid var(--line);box-shadow:0 16px 40px rgba(0,0,0,.55)}

body.courtside-page .fan h4{margin:4px 8px 8px;font:600 11.5px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}

body.courtside-page .fan__row{display:grid;grid-template-columns:30px 1fr auto;gap:10px;align-items:center;width:100%;padding:8px;border:0;border-radius:10px;background:none;text-align:left;cursor:pointer;min-height:44px}

body.courtside-page .fan__row:hover,body.courtside-page .fan__row:focus-visible{background:var(--surface)}

body.courtside-page .fan__row .f{position:relative;width:30px;height:30px}

body.courtside-page .fan__row .f .p,body.courtside-page .fan__row .f .t{display:grid;place-items:center;width:100%;height:100%;font:800 10px/1 var(--display);color:#fff}

body.courtside-page .fan__row .f .p{border-radius:50%;background:linear-gradient(145deg,hsl(var(--h) 70% 55%),hsl(calc(var(--h) + 40) 70% 40%))}

body.courtside-page .fan__row .f .t{border-radius:8px;background:var(--tile);color:var(--tfg)}

body.courtside-page .fan__row .f .t.big{font-size:13px}

body.courtside-page .fan__row .f .xb{position:absolute;right:-3px;bottom:-3px;width:13px;height:13px;border-radius:50%;background:#000;border:2px solid var(--raised);display:grid;place-items:center;font:800 7px/1 var(--display);color:#fff}

body.courtside-page .fan__row .h{font-size:13px;line-height:1.3;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}

body.courtside-page .fan__row .h b{display:block;font-size:12px;color:var(--muted);font-weight:600;margin-bottom:1px}

body.courtside-page .fan__row time{font:500 11px/1 var(--mono);color:var(--muted)}

/* Update 28: it sat on the lowest price label; with no reports in the window the marker lane at the top is empty. */
body.courtside-page .plot .empty{position:absolute;left:var(--gutter);right:var(--gutter);top:16px;margin:0;font:500 12px/1.4 var(--mono);color:var(--faint)}
/* svg */
body.courtside-page .grid{stroke:var(--ink);stroke-opacity:.07;stroke-width:1}

body.courtside-page .glabel{fill:var(--faint);font:500 11px var(--mono)}

body.courtside-page .tick{stroke:var(--ink);stroke-opacity:.14;stroke-width:1}

body.courtside-page .tick.future{stroke:var(--faint);stroke-dasharray:2 4;opacity:.6}

body.courtside-page .tlabel{fill:var(--muted);font:500 11px var(--mono)}

body.courtside-page .tlabel.future{fill:var(--faint);opacity:.8}

body.courtside-page .tapeline{stroke:var(--ink);stroke-opacity:.12;stroke-width:1}

body.courtside-page .nowline{stroke:var(--brand);stroke-width:1;stroke-dasharray:3 5;opacity:.45}

body.courtside-page .nowlabel{fill:var(--brand);font:700 11px var(--mono)}

body.courtside-page .stem{stroke:var(--info);stroke-width:1;stroke-dasharray:2 4;opacity:.35}

body.courtside-page .stem.sel{opacity:.9;stroke-width:1.5}

body.courtside-page .line{fill:none;stroke:var(--ink);stroke-width:2.2;stroke-linejoin:round;stroke-linecap:round}

body.courtside-page .gain{stroke:none}

body.courtside-page .gain.up{fill:var(--up);fill-opacity:.13}

body.courtside-page .gain.down{fill:var(--down);fill-opacity:.13}

body.courtside-page .mline{fill:none;stroke-width:3.2;stroke-linejoin:round;stroke-linecap:round}

body.courtside-page .mline.up{stroke:var(--up)}

body.courtside-page .mline.down{stroke:var(--down)}

body.courtside-page .entry{stroke:var(--muted);stroke-width:1;stroke-dasharray:6 5;opacity:.7}

body.courtside-page .livedot{fill:var(--brand);stroke:var(--bg);stroke-width:3}

body.courtside-page .livering{fill:none;stroke:var(--brand);stroke-width:2;transform-box:fill-box;transform-origin:center;animation:courtside-ring 2.2s ease-out infinite}
@keyframes courtside-ring{0%{transform:scale(.6);opacity:.9}100%{transform:scale(3.2);opacity:0}}
@media (prefers-reduced-motion:reduce){

body.courtside-page .livering{animation:none;opacity:0}}

body.courtside-page .pricelbl{fill:var(--ink);font:800 13px var(--display);letter-spacing:-.03em}

body.courtside-page .pricetag{fill:var(--ink);font:700 13px var(--mono)}

body.courtside-page .entrylbl{fill:var(--muted);font:600 11px var(--mono)}

body.courtside-page .mv{stroke:none}

body.courtside-page .mv.up{fill:var(--up)}

body.courtside-page .mv.down{fill:var(--down)}

body.courtside-page .band{fill:var(--ink);opacity:.07}
/* the collapsed chart: a glance strip pinned under the fixture bar once the price scrolls off */
body.courtside-page .glance{position:fixed;left:0;right:0;top:26px;z-index:50;height:64px;background:rgba(14,17,22,.9);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);transform:translateY(-110%);transition:transform .28s cubic-bezier(.2,.8,.2,1);cursor:pointer;user-select:none}

body.courtside-page .glance::after{content:"";position:absolute;top:100%;left:0;right:0;height:18px;background:linear-gradient(rgba(14,17,22,.9),rgba(14,17,22,0));pointer-events:none}

body.courtside-page .glance.on{transform:none}

body.courtside-page .glance:hover{background:rgba(20,25,32,.94)}

body.courtside-page .glance:focus-visible{outline:2px solid var(--info);outline-offset:-2px}
@media (prefers-reduced-motion:reduce){

body.courtside-page .glance{transition:none}}

body.courtside-page .glance__in{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:16px;align-items:center;height:100%;padding:0 var(--gutter)}

body.courtside-page .glance__p{display:flex;align-items:baseline;gap:10px;white-space:nowrap}

body.courtside-page .glance__p b{font:800 26px/1 var(--display);letter-spacing:-.04em;font-variant-numeric:tabular-nums}

body.courtside-page .glance__p .chg{font-size:13px}

body.courtside-page .glance__p .pnl{font:700 13px/1 var(--ui);color:var(--up)}

body.courtside-page .glance__p .pnl.down{color:var(--down)}

body.courtside-page .glance__spark{height:40px;min-width:0;opacity:0;transition:opacity .25s}

body.courtside-page .glance__spark svg{width:100%;height:100%;display:block}

body.courtside-page .glance__face{position:relative;width:28px;height:28px;opacity:0;transition:opacity .25s}

body.courtside-page .glance.stage2 .glance__spark,body.courtside-page .glance.stage2 .glance__face{opacity:1}

body.courtside-page .glance__face .p{font-size:10px}

body.courtside-page .glance__face .t{font-size:7px;border-radius:8px}

body.courtside-page .glance__face .t.big{font-size:10px}

body.courtside-page .glance__face .xb{width:13px;height:13px;font-size:7px;right:-3px;bottom:-3px;border-color:var(--bg)}

body.courtside-page .glance__face.is-new .p,body.courtside-page .glance__face.is-new .t{animation:courtside-aura 9s ease-out forwards}

body.courtside-page .glance__up{width:9px;height:9px;border-left:2px solid var(--faint);border-top:2px solid var(--faint);transform:rotate(45deg);margin:4px 2px 0 0}

body.courtside-page .spark .line{stroke-width:1.8}

body.courtside-page .spark .entry{opacity:.6}

body.courtside-page .spark .livedot{stroke-width:2}
/* feed */
body.courtside-page .feed{position:relative;max-width:1140px;margin:22px auto 0;padding:0 20px}

body.courtside-page .feedhead{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:0 4px 12px}

body.courtside-page .feedhead h2{margin:0;font:700 20px/1 var(--display);letter-spacing:-.01em}

body.courtside-page .feedhead .mono{font-size:12px;color:var(--muted)}

body.courtside-page .newpill{position:sticky;top:170px;z-index:40;display:block;margin:0 auto 12px;padding:10px 16px;border-radius:999px;border:0;background:var(--info);color:#06111D;font-weight:700;box-shadow:0 10px 30px rgba(94,176,255,.35);cursor:pointer;animation:courtside-drop .35s cubic-bezier(.2,1.2,.4,1)}
@keyframes courtside-drop{from{transform:translateY(-10px);opacity:0}}

body.courtside-page .cards{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}

body.courtside-page .card{display:grid;grid-template-columns:36px 1fr;gap:12px;padding:12px 8px;border-radius:12px;background:transparent;border:1px solid transparent;border-bottom-color:var(--line);position:relative;cursor:pointer;transition:box-shadow .3s,border-color .3s,background .2s}

body.courtside-page .card:hover{background:rgba(255,255,255,.03)}

body.courtside-page .card.is-sel{background:var(--raised);border-color:transparent}

body.courtside-page .card.is-new{animation:courtside-cardaura 9s ease-out forwards}
@keyframes courtside-cardaura{0%,60%{border-color:var(--info);box-shadow:0 0 0 1px var(--info),0 0 40px rgba(94,176,255,.25)}100%{border-color:transparent;border-bottom-color:var(--line);box-shadow:none}}

body.courtside-page .card.enter{animation:courtside-enter .45s cubic-bezier(.2,1.2,.4,1),courtside-cardaura 9s ease-out forwards}
@keyframes courtside-enter{from{transform:translateY(-14px);opacity:0}}
@media (prefers-reduced-motion:reduce){

body.courtside-page .card.is-new,body.courtside-page .card.enter,body.courtside-page .newpill{animation:none}}

body.courtside-page .av{position:relative;width:36px;height:36px}

body.courtside-page .av .p{display:grid;place-items:center;width:100%;height:100%;border-radius:50%;font:800 13px/1 var(--display);color:#fff;background:linear-gradient(145deg,hsl(var(--h) 70% 55%),hsl(calc(var(--h) + 40) 70% 40%))}

body.courtside-page .av .t{display:grid;place-items:center;width:100%;height:100%;border-radius:10px;font:800 9.5px/1 var(--display);color:var(--tfg);background:var(--tile)}

body.courtside-page .av .t.big{font-size:14px}

body.courtside-page .av .xb{position:absolute;right:-4px;bottom:-4px;width:18px;height:18px;border-radius:50%;background:#000;border:2px solid var(--surface);display:grid;place-items:center;font:800 10px/1 var(--display);color:#fff}

body.courtside-page .av .p.shell{background:var(--raised);color:var(--faint);border:2px dashed var(--faint)}

body.courtside-page .av .mv{display:grid;place-items:center;width:100%;height:100%;border-radius:50%;font:800 15px/1 var(--display);background:var(--raised)}

body.courtside-page .av .mv.up{color:var(--up)}

body.courtside-page .av .mv.down{color:var(--down)}

body.courtside-page .c__top{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13.5px}

body.courtside-page .c__top b{font-weight:700}

body.courtside-page .c__top time{margin-left:auto;font:500 12px/1 var(--ui);color:var(--muted);white-space:nowrap}

body.courtside-page .c__top .chev{width:8px;height:8px;border-right:2px solid var(--faint);border-bottom:2px solid var(--faint);transform:rotate(45deg);margin:0 4px 3px 2px;transition:transform .2s}

body.courtside-page .card[aria-expanded=true] .c__top .chev{transform:rotate(-135deg);margin-bottom:-2px}

body.courtside-page .chip{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:999px;font:600 11.5px/1.2 var(--ui);border:1px solid var(--line);color:var(--muted)}

body.courtside-page .chip.new{background:var(--info);border-color:var(--info);color:#06111D;font-weight:800;letter-spacing:.04em}

body.courtside-page .c__title{margin:4px 0 0;font-size:15px;font-weight:600;line-height:1.35;letter-spacing:-.005em}
body.courtside-page .c__also{display:block;margin-top:4px;font-size:12.5px;color:var(--muted)}
body.courtside-page .c__also-h{margin:0 0 4px;font-size:12px;color:var(--muted)}
body.courtside-page .c__also-list{margin:0 0 10px;padding-left:18px;font-size:13px;display:grid;gap:4px}
body.courtside-page .c__also-list a{color:inherit}

body.courtside-page .card--move .c__title{margin:0}

body.courtside-page .c__det{grid-column:2;display:grid;gap:10px;margin-top:10px;padding-top:10px;border-top:1px solid var(--line);font-size:13px;cursor:default}

body.courtside-page .c__det dl{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;margin:0;font-family:var(--mono);font-size:12px}

body.courtside-page .c__det dt{color:var(--faint)}

body.courtside-page .c__det dd{margin:0}

body.courtside-page .c__det .acts{display:flex;gap:8px;flex-wrap:wrap}

body.courtside-page .btn{display:inline-flex;align-items:center;gap:6px;padding:9px 14px;border-radius:999px;border:1px solid var(--line);background:var(--raised);font-weight:600;font-size:13px;cursor:pointer;min-height:38px;text-decoration:none;color:var(--ink)}

body.courtside-page .btn.primary{background:var(--ink);color:var(--bg);border-color:var(--ink)}

body.courtside-page .c__det .note{color:var(--muted);font-size:12.5px}

body.courtside-page .c__det .note b{color:var(--ink)}

body.courtside-page .card--move{border-bottom-style:dashed;cursor:default}

body.courtside-page .card--move:hover{background:transparent}

body.courtside-page .card--move .c__top b{font-family:var(--display);font-size:16px;letter-spacing:-.01em}

body.courtside-page .card--move.up .c__top b{color:var(--up)}

body.courtside-page .card--move.down .c__top b{color:var(--down)}

body.courtside-page .card--shell .c__title{color:var(--muted);font-style:italic}

body.courtside-page .feedfoot{padding:24px 4px;text-align:center;font:500 12px/1.5 var(--mono);color:var(--faint)}

body.courtside-page .feedfoot a{color:var(--muted)}

/* wide monitor: the chart is the viewport, the feed floats over the runway */
@media (min-width:900px){

body.courtside-page .app{height:100vh;display:flex;flex-direction:column;overflow:hidden;padding:0}

body.courtside-page .field{flex:1;min-height:0;height:auto}

body.courtside-page .feed{position:absolute;right:16px;top:var(--feedtop,200px);bottom:14px;z-index:5;width:clamp(300px,30vw,440px);max-width:none;margin:0;padding:0 10px 12px;overflow-y:auto;overscroll-behavior:contain;border-radius:var(--r);background:rgba(20,25,32,.66);backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);border:1px solid rgba(255,255,255,.06);scrollbar-width:thin;scrollbar-color:var(--line) transparent}

body.courtside-page .feedhead{position:sticky;top:0;z-index:2;padding:14px 8px 10px;background:linear-gradient(rgba(20,25,32,.95) 70%,rgba(20,25,32,0))}

body.courtside-page .newpill{top:48px}

body.courtside-page .glance{display:none}

body.courtside-page .field::after{display:none}

body.courtside-page .tape{position:relative;background:none}
}
@media (max-width:899px){

body.courtside-page .frame label,body.courtside-page .frame .st{display:none}
}
@media (max-width:720px){

body.courtside-page .app{padding:0 0 140px}

body.courtside-page .top{height:52px;gap:10px;padding:0 12px}

body.courtside-page{--gutter:12px;--mark:32px;--lane:60px}

body.courtside-page .wordmark{font-size:19px}

body.courtside-page .health{padding:7px 10px;font-size:12px}

body.courtside-page .health span{display:none}

body.courtside-page .win button{padding:6px 8px;min-width:36px}

body.courtside-page .field{height:380px;min-height:380px}

body.courtside-page .titlerow{grid-template-columns:1fr;gap:10px;padding:4px 12px 8px}

body.courtside-page .tp{align-items:flex-start;text-align:left}

body.courtside-page .price{flex-direction:row;align-items:center;justify-content:space-between;gap:10px;width:100%;flex-wrap:wrap}

body.courtside-page .price b{font-size:44px}

body.courtside-page .price .tabs{display:inline-flex;margin-left:auto}

body.courtside-page .tape .tabs{display:none}

body.courtside-page .pos{justify-items:start}

body.courtside-page h1{font-size:20px}

body.courtside-page .quiet{font-size:12.5px}

body.courtside-page .nowchip .lbl{display:none}

body.courtside-page .chg{font-size:11px;padding:4px 7px}

body.courtside-page .pos{font-size:12px;gap:3px}

body.courtside-page .pos__pnl{font-size:12px;white-space:nowrap}

body.courtside-page .pos__sync{display:flex}

body.courtside-page .glance{height:56px}

body.courtside-page .glance__in{gap:10px;padding:0 12px}

body.courtside-page .glance__p{gap:8px}

body.courtside-page .glance__p b{font-size:22px}

body.courtside-page .glance__p .chg small{display:none}

body.courtside-page .glance__spark{height:32px}

body.courtside-page .glance__face{width:26px;height:26px}

body.courtside-page .feed{padding:0 12px}

body.courtside-page .card{grid-template-columns:38px 1fr;gap:10px;padding:12px}

body.courtside-page .av{width:38px;height:38px}

body.courtside-page .c__title{font-size:15px}

body.courtside-page .newpill{top:150px}
}

/* Semantic runtime adapters: native details preserve keyboard and disclosure behavior. */
body.courtside-page details.card{display:block}
body.courtside-page details.card>summary{display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;list-style:none;cursor:pointer}
body.courtside-page details.card>summary::-webkit-details-marker{display:none}
body.courtside-page details.card>summary::marker{content:""}
body.courtside-page details.card .c__body{min-width:0}
body.courtside-page details.card .c__title{display:block}
body.courtside-page details.card .c__det{margin-left:48px}
body.courtside-page details.card[open] .chev{transform:rotate(-135deg);margin-bottom:-2px}
body.courtside-page .mark .sw-mark{position:relative;z-index:2;border:2px solid var(--bg);box-shadow:0 4px 14px rgba(0,0,0,.45)}
body.courtside-page .mark .sw-mark--news{border-radius:11px}
body.courtside-page .mark.is-sel .sw-mark,body.courtside-page .mark:hover .sw-mark{box-shadow:0 0 0 3px var(--ink),0 4px 14px rgba(0,0,0,.45)}
body.courtside-page .mark.is-new .sw-mark,body.courtside-page .glance__face.is-new .sw-mark{animation:courtside-aura 9s ease-out forwards}
body.courtside-page .sw-mark__mono{font-family:var(--display);font-weight:800}
body.courtside-page .glance__face .sw-mark{width:100%;height:100%}
body.courtside-page .glance__face .sw-mark__mono{font-size:10px}
body.courtside-page .fan__row .sw-mark{width:30px;height:30px}
body.courtside-page .live-pulse{position:absolute;width:12px;height:12px;margin:-6px 0 0 -6px;border:2px solid var(--brand);border-radius:50%;pointer-events:none;animation:courtside-ring 2.2s ease-out infinite}
body.courtside-page .tape-move{position:absolute;top:-10px;transform:translateX(-50%);padding:0 4px;color:var(--muted);font-size:12px;text-decoration:none;z-index:3}
body.courtside-page .tape-move.up{color:var(--up)}
body.courtside-page .tape-move.down{color:var(--down)}
body.courtside-page [data-position-form]{position:relative;z-index:6;max-width:min(100%,360px);display:flex;flex-wrap:wrap;gap:8px;text-align:left}
body.courtside-page [data-position-form] label{display:grid;gap:4px;flex:1 1 80px;font-size:12px;color:var(--muted)}
body.courtside-page [data-position-form] input,body.courtside-page [data-position-form] select{width:100%;min-width:0;border:1px solid var(--line);border-radius:6px;background:var(--raised);color:var(--ink);padding:7px}
/* Runtime receipts and operator controls retain their original classes and behavior. */
body.courtside-page{color-scheme:dark;--well:#1B222C;--strong:#364153;--on-ink:#0E1116;--brand-ink:#FF8B67;--brand-soft:#332017;--up-soft:#163025;--down-soft:#351B25;--info-ink:#9CCDFF;--info-soft:#152C43;--info-line:#2B4F72;--social-ink:#C0AAF7;--social-soft:#231C38;--social-line:#3D3260;--warn-soft:#352B1B;--warn-line:#6B5128;--cap-ground:#1B222C;min-width:0}
body.courtside-page .app{min-width:0}
body.courtside-page .top{position:sticky;top:0;z-index:60;height:56px;background:rgba(14,17,22,.92);backdrop-filter:blur(14px)}
body.courtside-page .glance{top:56px;border:0;color:var(--ink);width:100%;padding:0;text-align:left}
body.courtside-page .tq,body.courtside-page .card>div,body.courtside-page .feedhead{min-width:0}
body.courtside-page .c__title,body.courtside-page h1{overflow-wrap:anywhere}
body.courtside-page .feedhead{flex-wrap:wrap;align-items:center}
body.courtside-page .feedhead .quiet{flex:1 1 180px}
body.courtside-page .cards{min-width:0}
body.courtside-page .tabs a{display:inline-flex;align-items:center;justify-content:center;padding:6px 8px;border-radius:6px;font:700 12px/1 var(--ui);color:var(--faint);min-height:30px;text-decoration:none}
body.courtside-page .tabs a:hover{color:var(--muted)}
body.courtside-page .tabs a[aria-current=page]{color:var(--ink)}
body.courtside-page .av img,body.courtside-page .mark img,body.courtside-page .glance__face img,body.courtside-page .fan__row img{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%}
body.courtside-page .card .sw-mark{width:36px;height:36px}
body.courtside-page .mark .sw-mark{width:100%;height:100%}
body.courtside-page .sw-mark--news{background:hsl(var(--mark-hue,220) 35% 24%);color:hsl(var(--mark-hue,220) 70% 82%)}
body.courtside-page .card--shell{border-style:dashed;border-color:var(--line)}
body.courtside-page .c__det .sw-detail,body.courtside-page .c__det .sw-receipts{max-width:100%;overflow-wrap:anywhere}
body.courtside-page .c__det dd{overflow-wrap:anywhere;min-width:0}
body.courtside-page .pos form{max-width:min(100%,360px);display:flex;flex-wrap:wrap;gap:8px;text-align:left}
body.courtside-page .pos label{display:grid;gap:4px;flex:1 1 80px;font-size:12px;color:var(--muted)}
body.courtside-page .pos input,body.courtside-page .pos select{width:100%;min-width:0;border:1px solid var(--line);border-radius:6px;background:var(--raised);color:var(--ink);padding:7px}
body.courtside-page .pos button{cursor:pointer}
body.courtside-page .health.warn span{display:inline}
body.courtside-page [data-stale-banner]{margin:8px var(--gutter);padding:8px 12px;border:1px solid var(--warn-line);border-radius:8px;background:var(--warn-soft);color:var(--warn);font-size:13px}
body.courtside-page .feedfoot{overflow-wrap:anywhere}
@media(min-width:900px){
 html:has(body.courtside-page),body.courtside-page{height:100%;overflow:hidden}
 body.courtside-page .app{height:100dvh}
 body.courtside-page .glance{display:none}
}
@media(max-width:720px){
 body.courtside-page .glance{top:56px}
 body.courtside-page .top{gap:8px;padding:0 12px}
 body.courtside-page .top>.btn{padding:6px 8px;min-height:32px;font-size:11px;line-height:1.2}
 body.courtside-page .top .wordmark{font-size:19px;gap:5px}
 body.courtside-page .health{padding:0}
 body.courtside-page .health.warn{max-width:38%;line-height:1.3;padding:0;font-size:10px}
 body.courtside-page .pos__line{flex-wrap:wrap;gap:6px}
 body.courtside-page details.card .c__det{margin-left:0}
 body.courtside-page .health.warn i{flex:none}
 body.courtside-page .c__det{grid-column:1/-1}
 body.courtside-page .c__det dl{grid-template-columns:1fr;gap:3px}
 body.courtside-page .c__det dd{margin-bottom:7px}
}
@media(prefers-reduced-motion:reduce){
 html:has(body.courtside-page){scroll-behavior:auto}
 body.courtside-page *,body.courtside-page *::before,body.courtside-page *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
body.courtside-page .shell-mark{display:grid;place-items:center;width:100%;height:100%;border:1px dashed var(--faint);border-radius:50%;background:var(--raised);color:var(--muted);font:700 13px var(--ui)}
body.courtside-page .no-price{position:absolute;top:40%;left:24px;color:var(--muted);font-size:13px}
/* Reset inherited operator page geometry and native disclosure chrome. */
body.courtside-page{padding:0}
body.courtside-page main.app{width:100%;max-width:none;margin:0;padding-top:0}
body.courtside-page details.card{margin:0;border-radius:0;padding:12px 8px}
body.courtside-page details.card>summary{color:var(--ink);padding:0;font-weight:400}
body.courtside-page details.card .c__det{padding:12px 0 0}
body.courtside-page .field>[data-ledger-cue]{display:none}
body.courtside-page .sw-movement{margin:0;border:0;border-bottom:1px dashed var(--line);border-radius:0;background:transparent}
body.courtside-page .sw-movement>summary{display:block;padding:15px 8px;color:var(--muted);font:500 12px/1.5 var(--ui)}
body.courtside-page .sw-movement>summary strong{font:700 15px/1.5 var(--display);color:var(--ink)}
body.courtside-page .sw-movement>summary time{margin-left:8px;font:500 12px/1 var(--ui)}
body.courtside-page .sw-mark__img{position:absolute;inset:0}
body.courtside-page .top{flex-shrink:0}
body.courtside-page .feedhead h2{flex:none}
@media(max-width:720px){body.courtside-page .price b{font-size:48px}body.courtside-page .top:has(.health.warn){height:auto;min-height:56px;flex-wrap:wrap;padding-block:8px}body.courtside-page .health.warn{max-width:100%;width:100%;margin-left:0}}

body.courtside-page .c__top{flex-wrap:nowrap;gap:6px}
body.courtside-page .c__top b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}
body.courtside-page .c__top .chip{flex:none;font-size:10px;padding:3px 5px}
body.courtside-page .c__top time{flex:none;font-size:11px;margin-left:0}
body.courtside-page .c__top .chev{flex:none;margin-left:0}
/* D99 amendment 2: source labels, time against a move, and a move's window lit on demand. */
/* Review of 4cb0af3 (S2): the top line wraps before the handle can be clipped; the display name shortens first. */
body.courtside-page .c__top{flex-wrap:wrap;row-gap:2px}
body.courtside-page .c__top .c__who{display:flex;align-items:baseline;gap:6px;flex:1 1 auto;min-width:0;max-width:100%}
body.courtside-page .c__top .c__who b{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.courtside-page .c__handle{flex:none;font:500 12.5px/1.2 var(--ui);color:var(--muted);white-space:nowrap}
body.courtside-page .c__found{display:block;margin-top:2px;font:600 12px/1.4 var(--ui);color:var(--muted);text-decoration:underline dashed var(--faint);text-underline-offset:3px;text-decoration-thickness:1px;width:fit-content}
body.courtside-page .feedhow{margin:0 4px 10px;max-width:62ch;font:500 12.5px/1.5 var(--ui);color:var(--muted)}
body.courtside-page .c__pair{display:block;margin-top:6px;font:500 12.5px/1.4 var(--ui);color:var(--muted)}
body.courtside-page .c__pair b{color:var(--ink);font-weight:600}
body.courtside-page .mv__pair{display:flex;align-items:center;margin-top:2px;font:500 13px/1.4 var(--ui);color:var(--muted)}
body.courtside-page .mv__pair span{color:var(--muted);font-weight:500}
body.courtside-page .mv__count{min-height:40px;padding:6px 0;border:0;background:transparent;color:var(--ink);font:600 13px/1.4 var(--ui);text-decoration:underline;text-decoration-color:rgba(243,245,248,.45);text-underline-offset:4px;cursor:pointer}
body.courtside-page .mv__count:hover,body.courtside-page .mv__count[aria-pressed="true"]{text-decoration-color:var(--ink)}
body.courtside-page .mv__count:focus-visible{outline:2px solid var(--info);outline-offset:2px;border-radius:4px}
/* D43, amendment 3 point 5: posts never wear the move's colour; the highlight is neutral. */
body.courtside-page .card.is-paired{box-shadow:inset 0 0 0 1px rgba(243,245,248,.5)}
body.courtside-page.is-pairing .mark:not(.is-paired),body.courtside-page .is-pairing .mark:not(.is-paired){opacity:.3}
body.courtside-page .mark.is-paired .sw-mark,body.courtside-page .mark.is-paired .av,body.courtside-page .mark.is-paired .tile{box-shadow:0 0 0 3px var(--ink),0 4px 14px rgba(0,0,0,.45)}
body.courtside-page .mv__unchecked{display:block;margin-top:2px;font:500 12.5px/1.45 var(--ui);color:var(--muted)}
body.courtside-page .sw-movement:has(+.mv__pairrow){border-bottom:0}
body.courtside-page .mv__pairrow{padding:0 8px 12px;border-bottom:1px dashed var(--line)}
body.courtside-page details.card--people>summary{grid-template-columns:auto minmax(0,1fr)}
body.courtside-page .people__faces{display:flex;align-items:center;padding-top:2px}
body.courtside-page .people__face{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;font:800 10px/1 var(--display);color:var(--muted);background:var(--raised);border:1.5px dashed var(--faint)}
body.courtside-page .people__face+.people__face{margin-left:-10px}
body.courtside-page .people{list-style:none;margin:0;padding:0;display:grid;min-width:0}
body.courtside-page .people__post{display:flex;gap:12px;min-width:0;padding:12px 0;border-top:1px solid var(--line)}
body.courtside-page .people__post:first-child{border-top:0;padding-top:0}
body.courtside-page .people__rank{flex:none;width:14px;padding-top:1px;font:600 12px/1.4 var(--mono);color:var(--faint)}
body.courtside-page .people__body{display:block;min-width:0;flex:1}

body.courtside-page .people__text{display:block;margin-top:4px;font:600 14.5px/1.4 var(--ui);color:var(--ink);overflow-wrap:anywhere}
body.courtside-page .people__meta{display:block;margin-top:6px;font:500 12.5px/1.5 var(--ui);color:var(--muted)}
body.courtside-page .people__meta b{color:var(--ink);font-weight:600}
.people__meta b.people__rising{color:var(--warn)}
body.courtside-page .people__meta a{margin-left:6px;color:var(--info)}
body.courtside-page .tape .tabs a{padding-inline:5px;font-size:11px}
body.courtside-page .tape span.now{transform:translateX(-100%)}
@media(min-width:900px) and (max-width:1100px){body.courtside-page .tape .tabs a{padding-inline:3px}}

/* 2026-09-16 addendum: silent health, hide X, gap, LIVE on the tape, targets, freshness line */
body.courtside-page .health:not(.warn){display:none}
body.courtside-page .xtoggle{border:1px solid var(--line);background:none;color:var(--muted);font:600 11.5px/1.2 var(--ui);padding:8px 10px;border-radius:999px;cursor:pointer;white-space:nowrap;min-height:36px}
body.courtside-page .xtoggle[aria-pressed=true]{color:var(--ink);border-color:var(--faint)}
body.courtside-page .xtoggle:hover{color:var(--ink)}
body.courtside-page .xhidden{display:flex;align-items:center;gap:8px;padding:8px 10px;margin:0 0 6px;border-radius:10px;background:var(--raised);color:var(--muted);font:500 13px/1.3 var(--ui)}
body.courtside-page .xhidden button{border:0;background:none;color:var(--info);font:600 13px/1 var(--ui);cursor:pointer;padding:8px 6px;min-height:36px}
body.courtside-page .gaprect{fill:url(#hatch);stroke:none}
body.courtside-page .gaplbl{fill:var(--faint);font:600 10.5px var(--ui);letter-spacing:.04em;text-transform:uppercase}
body.courtside-page .card--gap{cursor:default;opacity:.85}
body.courtside-page .card--gap .av .mv{color:var(--faint)}
body.courtside-page .card--gap .c__title{color:var(--muted);font-weight:500}
/* UI audit 2026-09-26: posts that left, folded quiet moves, the searched line, the X status line, operator links. */
body.courtside-page .card--gone{cursor:default;border-style:dashed;border-color:var(--line)}
body.courtside-page .card--gone .c__title{color:var(--muted);font-weight:500}
body.courtside-page details.card--quietmoves>summary .c__title{color:var(--muted);font-weight:500}
body.courtside-page details.card--quietmoves .av .mv{color:var(--faint)}
body.courtside-page details.card--quietmoves .c__det .sw-movement{border-bottom:1px dashed var(--line)}
body.courtside-page .mv__searched{display:block;margin-top:2px;font:500 12.5px/1.45 var(--ui);color:var(--muted)}
body.courtside-page .xwatch{margin:-4px 4px 12px;max-width:62ch;font:500 12.5px/1.5 var(--ui);color:var(--ink);opacity:.8}
body.courtside-page .operatorlinks{opacity:.7}
body.courtside-page .tape .nowchip{position:absolute;top:3px;z-index:3;transform:translateX(-50%);display:inline-flex;align-items:center;gap:7px;padding:4px 9px 4px 8px;border-radius:999px;background:rgba(14,17,22,.92);border:1px solid var(--line);white-space:nowrap;transition:left .2s linear}
body.courtside-page .tape .nowchip span{position:static;transform:none;top:auto}
body.courtside-page .tape .nowchip .lv{font:700 11px/1 var(--ui);letter-spacing:.06em;color:var(--brand)}
body.courtside-page .tape .nowchip .clk{font:700 11px/1 var(--mono);color:var(--brand)}
body.courtside-page .tape .nowchip .sw-sr{position:absolute}
body.courtside-page .tabs a{min-height:40px;margin:-5px 0;padding:6px 10px}
body.courtside-page .pos__sync button{padding:12px 6px;margin:-10px 0}
body.courtside-page .mark::before{content:"";position:absolute;inset:-4px;border-radius:50%}
body.courtside-page .feedfoot .fresh{display:block;margin:6px 0 8px;color:var(--muted);font:500 12.5px/1.5 var(--ui)}
body.courtside-page .watchslot{display:inline-flex;align-items:center;gap:8px}
body.courtside-page .watchbtn{border-color:var(--brand);color:var(--brand)}
body.courtside-page .watchbtn:hover{background:rgba(255,106,61,.1)}
body.courtside-page .watching{display:inline-flex;align-items:center;gap:8px;font:600 13px/1 var(--ui);color:var(--up);white-space:nowrap}
body.courtside-page .watching button{border:1px solid var(--line);background:none;color:var(--muted);font:600 12px/1 var(--ui);cursor:pointer;border-radius:999px;padding:9px 10px;min-height:36px}
body.courtside-page .watching button:hover{color:var(--down);border-color:var(--down)}
body.courtside-page .gate{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:20px;background:rgba(8,10,14,.66)}
body.courtside-page .gate__card{width:min(460px,100%);display:grid;gap:14px;padding:24px;border-radius:22px;background:var(--surface);border:1px solid var(--line)}
body.courtside-page .gate__card h3{margin:0;font:700 22px/1.15 var(--display);letter-spacing:-.02em}
body.courtside-page .gate__card p{margin:0;font-size:14.5px;color:var(--muted)}
body.courtside-page .gate__card p b{color:var(--ink);font-weight:600}
body.courtside-page .gate__opts{display:flex;gap:10px;flex-wrap:wrap}
body.courtside-page .opt{border:1px solid var(--line);background:var(--raised);color:var(--ink);font:700 14px/1 var(--ui);cursor:pointer;padding:13px 16px;min-height:48px;border-radius:14px}
body.courtside-page .opt.primary{background:var(--brand);border-color:var(--brand);color:#1A0E07;font-family:var(--display);font-weight:800}
@media(max-width:720px){body.courtside-page .watching span{display:none}}
body.courtside-page .top .btn{min-height:36px;display:inline-flex;align-items:center}
/* Update 28: at phone width the header ran 423px wide on a 375px screen and pushed the whole page sideways; it now
   wraps onto a second row, and no pill breaks its label across lines. */
@media(max-width:520px){body.courtside-page .top{height:auto;min-height:52px;flex-wrap:wrap;row-gap:8px;padding-block:8px}body.courtside-page .top>.btn{white-space:nowrap}}
@media (prefers-reduced-motion:reduce){body.courtside-page .tape .nowchip{transition:none}}



body.courtside-page.v26-page{
  --bg:#0E1116;--surface:#151A21;--raised:#1A2029;--ink:#F3F5F8;--ink-2:#B3BBC8;--muted:#8C96A7;--faint:#5C6779;
  --raised-2:#222A35;--hairline:#1E252F;--sep:#212833;--line:#2A323E;--rail:#2A323E;--ring:#3A4454;
  --amber:#FF6134;--amber-text:#FF8763;--amber-bg:#2A1A14;--up:#37B98A;--down:#E8695F;--up-bg:#16332A;--scrim:rgba(5,7,10,.66);--brand:var(--ink);
  --display:'Bricolage Grotesque',system-ui,sans-serif;--ui:'Schibsted Grotesk',system-ui,sans-serif;
  --serif:Georgia,'Times New Roman',serif;--mono:'Spline Sans Mono',ui-monospace,monospace;
  --gutter:16px;--v26-pill-top:116px;
  background:var(--bg)
}
body.courtside-page.v26-page .app{max-width:720px;margin:0 auto}
/* Persona review R2-1 (D107): the operator page's global details and summary rules (a bordered box, amber 750 text) are
   reset for v2.6, so no disclosure inherits them; v2.6's own rules set what each one looks like. */
body.courtside-page.v26-page details{min-width:0;margin:0;border:0;border-radius:0;background:none}
body.courtside-page.v26-page summary{min-height:0;display:list-item;padding:0;color:inherit;font-weight:inherit;cursor:pointer}
body.courtside-page.v26-page details>div{border-top:0;padding:0}
/* Persona review R1 #22: the base page gives every section a 20px top margin, which put v2.6 content about 20px lower
   than every board and made Home's section gap 48 instead of 28. v2.6's sections set their own spacing. */
body.courtside-page.v26-page .titlerow.v26-title,body.courtside-page.v26-page .v26-h-landing,body.courtside-page.v26-page .v26-h-heroarea,body.courtside-page.v26-page .v26-h-moving,body.courtside-page.v26-page .v26-long,body.courtside-page.v26-page .v26-board__tiles,body.courtside-page.v26-page .v26-gone__body,body.courtside-page.v26-page .v26-sheet__panel{margin-top:0}
body.courtside-page.v26-page .field::after{display:none}
body.courtside-page.v26-page a{color:var(--ink);text-decoration-color:var(--faint);text-underline-offset:3px}
body.courtside-page.v26-page a:hover{text-decoration-color:var(--ink)}
/* DESIGN-SYSTEM.md 8.7: one visible focus ring on every control; the outline follows the control's radius. */
body.courtside-page.v26-page :focus-visible{outline:2px solid var(--ink)!important;outline-offset:2px}
/* Persona review R1 #17 (DESIGN-SYSTEM.md 10): the skip link reads when focused: --raised fill, --ink text, the ring. */
body.courtside-page.v26-page .skip-link{background:var(--raised);color:var(--ink);border-radius:12px;font:500 0.9375rem/1.25rem var(--ui);text-decoration:none}
body.courtside-page.v26-page [tabindex="-1"]:focus-visible{outline:none!important}
body.courtside-page.v26-page .gate{background:var(--scrim)}
/* QA of 650e5ce, finding 1 (D107: orange is a big move and nothing else): a delayed source reads quietly, as the card's
   paused line does, on every v2.6 page that shows health. */
body.courtside-page.v26-page .health{color:var(--muted);font:400 0.75rem/1rem var(--ui)}
/* Persona review R1 #23: never under the 12px floor (spec 3), on phone too. */
body.courtside-page.v26-page .health span{font-size:0.75rem}
/* R3 V1-17: 12/400. R3 K3-5: the line shrinks and ellipsizes in the header rather than spilling out of it. */
body.courtside-page.v26-page .health.warn{color:var(--muted);font-weight:400}
/* R4 K2-3 (P1HomePhone): the status sits right-aligned, clear of the wordmark. */
body.courtside-page.v26-page .top.v26-top .health{flex:0 1 auto;min-width:0;margin-left:auto}
/* Persona review R5 (R4 K2-3, second round): the wordmark never shrinks (its 44px min-width let the flex row squeeze its
   box under its glyphs, so the status started inside "sweat."); the status gives way instead. */
body.courtside-page.v26-page .top.v26-top .v26-logo{flex:none}
/* R3 answer (V2-7): the market page and the Board have no header status line; Home keeps its health line, only when true. */
body.courtside-page.v26-page [data-market-page] .top.v26-top .health{display:none}
body.courtside-page.v26-page .top.v26-top .health span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.courtside-page.v26-page .health.warn i{background:var(--muted)}
/* Silent while every source is fine (D81 amendment): no dot, never the base page's green (D107: green is money). */
body.courtside-page.v26-page .health:not(.warn) i{display:none}
/* QA 2026-10-01 items 1 and 2: the Courtside chart (outside a recorded view) and the glance strip never show. */
body.courtside-page.v26-page .v26-app:not([data-historical="true"]) .field{display:none}
body.courtside-page.v26-page .glance{display:none}
/* R3 K3-5: the header grows with the text size (its height in rem), so the wordmark and the line never spill. */
body.courtside-page.v26-page .top.v26-top{height:auto;min-height:2.75rem;gap:8px;padding:0 8px 0 var(--gutter);flex-wrap:nowrap}
body.courtside-page.v26-page .v26-back{display:flex;width:44px;height:44px;margin-left:-12px;align-items:center;justify-content:center;color:var(--ink);border-radius:12px}
body.courtside-page.v26-page .v26-back svg{width:22px;height:22px}
/* R3 K4-6: the wordmark is a 44px target. */
body.courtside-page.v26-page .v26-logo{display:inline-flex;align-items:center;min-height:44px;min-width:44px;font:700 1.1875rem/1 var(--display);letter-spacing:-.01em;color:var(--ink);text-decoration:none}
body.courtside-page.v26-page .v26-logo__dot{color:var(--ink)}
body.courtside-page.v26-page .titlerow.v26-title{display:flex;flex-direction:column;align-items:stretch;gap:4px;padding:4px var(--gutter) 0}
/* Kha, 2026-10-01: the thumbnail lines up with the top of the text block (the kicker and the title's first line). */
body.courtside-page.v26-page .v26-title__row{display:flex;align-items:flex-start;gap:12px;min-width:0}
body.courtside-page.v26-page .v26-title__row>.v26-thumb{margin-top:1px}
body.courtside-page.v26-page .v26-title__text{display:flex;flex-direction:column;gap:2px;min-width:0}
body.courtside-page.v26-page .v26-title h1{margin:0;max-width:none;font:700 1.375rem/1.625rem var(--display);letter-spacing:-.01em;overflow-wrap:break-word}
body.courtside-page.v26-page .v26-thumb{flex:none;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:11px;color:rgba(243,245,248,.92);font:700 18px/1 var(--ui)}
body.courtside-page.v26-page .v26-thumb svg{width:22px;height:22px}
body.courtside-page.v26-page .v26-thumb--fed{background:#2F4747}
body.courtside-page.v26-page .v26-thumb--rec{background:#34405A}
body.courtside-page.v26-page .v26-thumb--cut{background:#2F4747}
body.courtside-page.v26-page .v26-thumb--btc{background:#4A4036}
body.courtside-page.v26-page .v26-thumb--uk{background:#3F3550}
body.courtside-page.v26-page .v26-thumb--eur{background:#34405A}
body.courtside-page.v26-page .v26-thumb--oil{background:#4A4036}
body.courtside-page.v26-page .v26-thumb--vote{background:#3F3550}
body.courtside-page.v26-page .v26-thumb--sport{background:#2F4747}
body.courtside-page.v26-page .v26-thumb--company{background:#34405A}
body.courtside-page.v26-page .v26-thumb--crypto{background:#4A4036}
body.courtside-page.v26-page .v26-thumb--neutral{background:#34405A}
body.courtside-page.v26-page .v26-kicker{margin:0;font:400 0.75rem/1rem var(--ui);color:var(--muted)}
/* R3 K2-9: "you −$5,799,000 total" never breaks after the minus. */
/* R4 W1-7: the amount stays whole; the line may break after the dot before it. */
body.courtside-page.v26-page .v26-context__amt{white-space:nowrap}
/* R4 W2-8: "14 stories · 5 posts" stays whole too; a short line breaks after the dot before it. */
body.courtside-page.v26-page [data-v26-items]{white-space:nowrap}
body.courtside-page.v26-page .v26-outcome{margin:2px 0 0;font:400 0.9375rem/1.25rem var(--ui);color:var(--ink-2)}
body.courtside-page.v26-page .v26-outcome b{font-weight:600;color:var(--ink)}
body.courtside-page.v26-page .v26-hero__other{margin:-4px 0 0;font:400 0.8125rem/1.125rem var(--ui);color:var(--muted);font-variant-numeric:proportional-nums}
@media (max-width:899px){body.courtside-page.v26-page .v26-title--long h1{font-size:1.25rem;line-height:1.5625rem}}
body.courtside-page.v26-page .v26-title .settledline{margin:2px 0 0;font:500 0.8125rem/1.125rem var(--ui);color:var(--ink-2)}
body.courtside-page.v26-page .v26-credit{display:flex;flex-wrap:wrap;align-items:center;gap:0 6px;margin:0;font:400 0.75rem/1rem var(--ui);color:var(--ink-2)}
body.courtside-page.v26-page .v26-credit__dot{color:var(--muted)}
/* R3 K3-12: the target's spill follows the line height (it scales with text size), so its underline never reaches the next line. */
body.courtside-page.v26-page .v26-credit a{display:inline-flex;align-items:center;min-height:44px;margin:calc((1lh - 44px) / 2) 0;color:var(--ink);font-weight:500}
/* R3 V1-12 (MarketV26Phone): the view-only line sits 4 under the credit. */
body.courtside-page.v26-page .v26-credit__note{margin:4px 0 0;font:400 0.75rem/1rem var(--ui);color:var(--muted)}
body.courtside-page.v26-page .v26-card{display:grid;gap:8px;margin:16px var(--gutter) 0;padding:16px;border-radius:16px;background:var(--surface)}
body.courtside-page.v26-page .v26-card__head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:2px 12px}
body.courtside-page.v26-page .v26-card__label{margin:0;white-space:nowrap;font:600 0.6875rem/0.875rem var(--ui);letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
body.courtside-page.v26-page .v26-card__ago{font:400 0.75rem/0.875rem var(--ui);color:var(--muted);text-align:right;white-space:nowrap}
body.courtside-page.v26-page .v26-hero{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
body.courtside-page.v26-page .v26-hero__side{font:500 0.9375rem/1 var(--ui);color:var(--ink-2)}
body.courtside-page.v26-page .v26-hero__price{font:600 2.25rem/1 var(--ui);letter-spacing:-.02em;color:var(--ink);font-variant-numeric:proportional-nums;transition:color .4s}
/* Persona review R1 #21: --faint is never text; the "—" of a market with no price yet is --muted. */
body.courtside-page.v26-page .v26-hero__price.pending{color:var(--muted)}
body.courtside-page.v26-page .v26-hero:has(.v26-hero__price.pending) .v26-hero__side{display:none}
/* R4 answer 2 (W1-15): "No price yet" at 17/22, 500, --muted, on the price row's baseline (the row aligns baselines). */
body.courtside-page.v26-page .v26-hero .v26-hero__price.pending{font:500 1.0625rem/1.375rem var(--ui);letter-spacing:normal;color:var(--muted)}
body.courtside-page.v26-page .v26-hero__price.tick-up{color:var(--up)}
body.courtside-page.v26-page .v26-hero__price.tick-down{color:var(--down)}
/* R1 #29 (spec 8.2): the move is --muted in look mode; a holder's is --up or --down. */
body.courtside-page.v26-page .v26-hero__move{font:600 1.125rem/1 var(--ui);font-variant-numeric:proportional-nums;color:var(--muted)}
body.courtside-page.v26-page .v26-hero__move.up{color:var(--up)}
body.courtside-page.v26-page .v26-hero__move.down{color:var(--down)}
body.courtside-page.v26-page .v26-hero__note{font:400 0.8125rem/1 var(--ui);color:var(--muted)}
body.courtside-page.v26-page .v26-context{margin:0;font:400 0.875rem/1.25rem var(--ui);color:var(--ink-2)}
body.courtside-page.v26-page .v26-thin{margin:0;font:400 0.8125rem/1.125rem var(--ui);color:var(--muted)}
body.courtside-page.v26-page .v26-context__moves{font-weight:500;color:var(--amber-text)}
body.courtside-page.v26-page .v26-context__moves.none{color:var(--ink-2)}
body.courtside-page.v26-page .v26-context__pnl b{font-weight:500;font-variant-numeric:proportional-nums;color:var(--ink-2)}
body.courtside-page.v26-page .v26-context__pnl.up b{color:var(--up)}
body.courtside-page.v26-page .v26-context__pnl.down b{color:var(--down)}
body.courtside-page.v26-page .v26-context__pnl[hidden]{display:none}
body.courtside-page.v26-page .v26-card{--v26-chart-h:118px}
body.courtside-page.v26-page .v26-card.v26-card--flat{--v26-chart-h:64px}
body.courtside-page.v26-page .v26-paused{margin:0;font:400 0.8125rem/1.125rem var(--ui);color:var(--ink-2)}
body.courtside-page.v26-page .v26-chart{position:relative;height:var(--v26-chart-h);margin:4px 0 0}
body.courtside-page.v26-page .v26-chart__svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
body.courtside-page.v26-page .v26-chart__area{stroke:none}
body.courtside-page.v26-page .v26-chart__line{fill:none;stroke:#B3BBC8;stroke-width:2;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
body.courtside-page.v26-page .v26-chart__buy{fill:none;stroke:#8C96A7;stroke-opacity:.75;stroke-width:1.5;stroke-dasharray:4 4;vector-effect:non-scaling-stroke}
body.courtside-page.v26-page .v26-chart__move{fill:none;stroke:var(--amber);stroke-width:3;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
body.courtside-page.v26-page .v26-chart__dot{position:absolute;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background:var(--faint);box-shadow:0 0 0 2px var(--surface)}
body.courtside-page.v26-page .v26-chart__dot,body.courtside-page.v26-page .v26-chart__tag{visibility:hidden}
body.courtside-page.v26-page .v26-chart__dot.is-placed,body.courtside-page.v26-page .v26-chart__tag.is-placed{visibility:visible}
body.courtside-page.v26-page .v26-chart__dot.is-live{background:var(--ink)}
body.courtside-page.v26-page .v26-chart__dot.is-live::after{content:'';position:absolute;inset:0;border-radius:50%;background:var(--ink);animation:v26-ring 1.6s ease-out infinite}
@keyframes v26-ring{0%{transform:scale(1);opacity:.6}100%{transform:scale(3.2);opacity:0}}
body.courtside-page.v26-page .v26-chart__tag{--tx:calc(-100% - 6px);--ty:-100%;position:absolute;transform:translate(calc(var(--tx) + var(--nx, 0px)),calc(var(--ty) + var(--ny, 0px)));box-sizing:border-box;padding:3px 8px;border-radius:6px;background:var(--amber-bg);color:var(--amber-text);font:600 0.75rem/1rem var(--ui);font-variant-numeric:proportional-nums;white-space:nowrap}
/* Persona review R8 (spec 8.3): a tag that can't sit on one line beside its move without covering the line is hidden, and
   its words are the caption row under the chart, above the axis row: 13/18, amber, 600. */
body.courtside-page.v26-page .v26-chart__tag.v26-chart__tag--off{display:none}
body.courtside-page.v26-page .v26-chart__caption{margin:0;font:600 0.8125rem/1.125rem var(--ui);color:var(--amber-text);font-variant-numeric:proportional-nums}
body.courtside-page.v26-page .v26-chart__caption[hidden],body.courtside-page.v26-page .v26-board .v26-chart__caption{display:none}
body.courtside-page.v26-page .v26-chart__tag--right{--tx:6px}
body.courtside-page.v26-page .v26-chart__tag--center{--tx:-50%}
body.courtside-page.v26-page .v26-chart__tag--below{--ty:0px}
/* Persona review R5, decided call 3 (W1-2): a market with no price collapses its chart area (and its axis); "No price yet"
   is said once, on the price row. */
body.courtside-page.v26-page .v26-card .v26-chart:has(>.v26-chart__none),body.courtside-page.v26-page .v26-card:has(.v26-chart__none) .v26-axis{display:none}
body.courtside-page.v26-page .v26-chart__none{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;margin:0;font:400 0.8125rem/1.125rem var(--ui);color:var(--muted)}
/* Chart to feed (DESIGN-SYSTEM.md 8.4, Kha 2026-10-02): the layer over the picture (outside its role="img"), the chart's
   own box: in the 8px-gap column after the chart, pulled up by its height and the gap, so what follows stays put. Each
   move's band (44px or more, placed by the card's script) links to its row; desktop shows a pointer, and another move's
   tag on hover. A lifted band rises to --raised-2, as the lit row does (spec 8.4, claude/redesign c13ab12), by lightening
   only what is darker, so the line and the amber keep their colour. The tag that links keeps its look and has a 44px target. */
body.courtside-page.v26-page .v26-chart__over{position:relative;height:var(--v26-chart-h);margin:calc(-8px - var(--v26-chart-h)) 0 0;pointer-events:none}
body.courtside-page.v26-page .v26-long__over{--v26-chart-h:190px}
body.courtside-page.v26-page .v26-card .v26-chart:has(>.v26-chart__none)+.v26-chart__over,body.courtside-page.v26-page .v26-long__chart[data-v26-long-empty]+.v26-chart__over,body.courtside-page.v26-page .v26-board .v26-chart__over{display:none}
body.courtside-page.v26-page .v26-chart__band{position:absolute;top:0;bottom:0;border-radius:8px;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:background-color .3s ease}
body.courtside-page.v26-page a.v26-chart__band{cursor:pointer}
body.courtside-page.v26-page .v26-chart__band.is-lit{background:var(--raised-2);mix-blend-mode:lighten}
/* Live re-check of update 55, D1 (spec 8.4): every tag sits above every band, so its whole box and its 44px target are
   its own move's; a tag that does not link takes its taps too (and does nothing), never passing them to a band under it.
   Another move's hover tag stays see-through to taps. */
body.courtside-page.v26-page .v26-chart__over>.v26-chart__tag{z-index:1;pointer-events:auto}
body.courtside-page.v26-page .v26-chart__over>.v26-chart__tag--hover{pointer-events:none}
body.courtside-page.v26-page a.v26-chart__tag{text-decoration:none;cursor:pointer}
body.courtside-page.v26-page a.v26-chart__tag::after{content:'';position:absolute;left:0;right:0;top:50%;height:44px;transform:translateY(-50%)}
body.courtside-page.v26-page .v26-chart__tag--hover{opacity:0}
@media (hover:hover) and (pointer:fine){body.courtside-page.v26-page .v26-chart__band:hover+.v26-chart__tag--hover{opacity:1}}
body.courtside-page.v26-page .v26-chart__band.is-lit+.v26-chart__tag--hover{opacity:1}
body.courtside-page.v26-page .v26-chart__capjump{display:inline-flex;align-items:center;min-height:44px;margin:-13px 0;color:inherit;text-decoration:none}
/* R1 #30: the start label, the buy key and the live state stay on one row; the buy key gives way first. */
body.courtside-page.v26-page .v26-axis{display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:4px 8px;font:400 0.75rem/1rem var(--ui);color:var(--muted)}
body.courtside-page.v26-page .v26-axis__buy{min-width:0;overflow:hidden}
body.courtside-page.v26-page .v26-axis__buy>span{overflow:hidden;text-overflow:ellipsis}
body.courtside-page.v26-page .v26-axis>span{white-space:nowrap}
body.courtside-page.v26-page .v26-axis__buy,body.courtside-page.v26-page .v26-axis__fresh{display:flex;align-items:center;gap:6px}
body.courtside-page.v26-page .v26-axis__buy[hidden]{display:none}
body.courtside-page.v26-page .v26-axis__buy i{width:16px;border-top:1.5px dashed #8C96A7}
body.courtside-page.v26-page .v26-axis__fresh i{width:6px;height:6px;border-radius:3px;background:var(--faint)}
body.courtside-page.v26-page .v26-axis__fresh--live i{background:var(--ink)}
/* Design rule 2026-10-02: the label measures Sweat's last price check. Its no-script fallback ("checked 3:42 PM UTC") is
   shown only by the rules by the times' fallback below; a label the server could not date keeps its space, unseen. */
body.courtside-page.v26-page .v26-axis__checked{display:none}
body.courtside-page.v26-page .v26-axis__fresh[data-v26-pending]{visibility:hidden}
body.courtside-page.v26-page .v26-card .pos{justify-items:start;margin:0}
body.courtside-page.v26-page .v26-card .pos__pnl{color:var(--up)}
body.courtside-page.v26-page .v26-card .pos__pnl.down{color:var(--down)}
body.courtside-page.v26-page .v26-card__acts{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
body.courtside-page.v26-page .v26-card .btn{min-height:44px;border-radius:12px;background:var(--raised);border-color:var(--line)}
/* QA re-run findings 2 and 3: the holder's one quiet row, on one line at 390. */
body.courtside-page.v26-page .v26-card__acts{display:flex;flex-wrap:wrap;align-items:center;font:400 0.75rem/1rem var(--ui);color:var(--muted)}
body.courtside-page.v26-page .v26-card__acts .watchslot{display:inline-flex;flex-wrap:wrap;align-items:center;gap:0;white-space:nowrap}
/* R1 #18: with large text the words wrap rather than push the page sideways. */
body.courtside-page.v26-page .v26-main>.v26-card__acts .watchslot,body.courtside-page.v26-page .v26-main>.v26-card__acts .watchslot .watching{white-space:normal}
body.courtside-page.v26-page .v26-card__acts .watchslot .watching{display:inline;margin:0;padding:0;border:0;background:none;color:var(--muted);font:inherit;white-space:nowrap}
body.courtside-page.v26-page .v26-link{display:inline-flex;align-items:center;min-height:44px;margin:-14px 0;padding:0 2px;border:0;background:none;color:var(--ink-2);font:500 0.75rem/1rem var(--ui);text-decoration:underline;text-decoration-color:var(--faint);text-underline-offset:3px;cursor:pointer}
body.courtside-page.v26-page .v26-link:hover{text-decoration-color:var(--ink)}
/* Persona review R2-20: Stop is a 44-wide target. */
body.courtside-page.v26-page .v26-stop .v26-link{min-width:44px;justify-content:center;margin-left:-8px;margin-right:-8px}
/* R3 V2-13, V1-14: the watching line's links are 400 (inline 13/18 on desktop, 12/17 on the phone's Board). */
body.courtside-page.v26-page .v26-card__acts .v26-link{font-weight:400}
body.courtside-page.v26-page .v26-dot{white-space:pre}
body.courtside-page.v26-page .v26-card__acts .watchslot .watching[hidden]~.v26-stop,body.courtside-page.v26-page .v26-card__acts .watchbtn[hidden]+.v26-dot--watch{display:none}
body.courtside-page.v26-page .v26-card__acts .watchslot .watching span{display:inline}
body.courtside-page.v26-page .v26-on-computer,body.courtside-page.v26-page .v26-card__acts .watchslot .watching .v26-on-computer{display:none}
/* QA re-run finding 1: the side step, a sheet on phone and a centred dialog from 900px (DESIGN-SYSTEM.md 8.9). */
body.courtside-page.v26-page .v26-sheet{position:fixed;inset:0;z-index:90;display:flex;align-items:flex-end;justify-content:center}
body.courtside-page.v26-page .v26-sheet__scrim{position:absolute;inset:0;background:var(--scrim);animation:v26-fade .25s ease-out}
body.courtside-page.v26-page .v26-sheet__panel{position:relative;box-sizing:border-box;width:100%;max-height:calc(100dvh - 24px);overflow:auto;padding:8px var(--gutter) calc(28px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0;background:var(--surface);animation:v26-up .32s cubic-bezier(.2,.8,.2,1)}
body.courtside-page.v26-page .v26-sheet__step{display:flex;flex-direction:column;gap:14px}
body.courtside-page.v26-page .v26-sheet__handle{width:36px;height:5px;margin:0 auto 14px;border-radius:3px;background:var(--line)}
body.courtside-page.v26-page .v26-sheet__title{margin:0;font:700 1.375rem/1.6875rem var(--display);color:var(--ink)}
body.courtside-page.v26-page .v26-sheet__body{margin:0;font:400 0.9375rem/1.375rem var(--ui);color:var(--ink-2)}
body.courtside-page.v26-page .v26-sides{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;border:0;min-width:0}
body.courtside-page.v26-page .v26-side{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;padding:0 16px;border-radius:12px;background:var(--raised);font:500 1rem/1.25rem var(--ui);color:var(--ink);cursor:pointer}
body.courtside-page.v26-page .v26-side input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
body.courtside-page.v26-page .v26-side:has(input:checked){background:var(--raised-2);box-shadow:inset 0 0 0 1.5px var(--ink-2)}
body.courtside-page.v26-page .v26-side:has(input:focus-visible){outline:2px solid var(--ink);outline-offset:2px}
/* Persona review R2-27: a selected side with focus shows one ring, the focus ring on its edge, not two. */
body.courtside-page.v26-page .v26-side:has(input:checked:focus-visible){box-shadow:none;outline-offset:0}
body.courtside-page.v26-page .v26-side__note{font:500 0.875rem/1.25rem var(--ui);color:var(--muted)}
body.courtside-page.v26-page .v26-more{display:flex;flex-direction:column;gap:10px;padding:12px 14px;border-radius:12px;background:var(--bg)}
body.courtside-page.v26-page .v26-field{display:flex;align-items:center;justify-content:space-between;gap:12px;font:400 0.875rem/1.25rem var(--ui);color:var(--ink-2)}
body.courtside-page.v26-page .v26-field__num{display:inline-flex;align-items:center;gap:4px;font:600 1.125rem/1 var(--ui);color:var(--ink-2)}
/* R4 V1-9 (P1EditSide): the ¢ suffix is 16/400 --muted. */
body.courtside-page.v26-page .v26-field__num>span{font:400 1rem/1 var(--ui);color:var(--muted)}
/* Persona review R1 #8 (P1F_watch_phone_price): a 48-high field on --surface with an inset 1.5px --line ring, the ¢ inside. */
body.courtside-page.v26-page .v26-field__num{box-sizing:border-box;height:48px;padding:0 14px;border-radius:12px;background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--line)}
body.courtside-page.v26-page .v26-field input{box-sizing:border-box;width:84px;height:100%;padding:0;border:0;border-radius:0;background:none;color:var(--ink);font:600 1.125rem/1 var(--ui);font-variant-numeric:proportional-nums;text-align:right}
body.courtside-page.v26-page .v26-field input:focus-visible{outline:none!important}
body.courtside-page.v26-page .v26-field__num:focus-within{box-shadow:inset 0 0 0 1.5px var(--ink-2);outline:2px solid var(--ink);outline-offset:2px}
body.courtside-page.v26-page .v26-chips{display:flex;flex-wrap:wrap;gap:8px}
body.courtside-page.v26-page .v26-chip{min-height:44px;padding:0 14px;border:0;border-radius:22px;background:var(--raised);color:var(--ink);font:500 0.875rem/1.125rem var(--ui);cursor:pointer}
body.courtside-page.v26-page .v26-chip[aria-pressed="true"]{background:var(--raised-2);box-shadow:inset 0 0 0 1.5px var(--ink-2);color:var(--ink)}
body.courtside-page.v26-page .v26-sheet__fine{margin:0;font:400 0.75rem/1.0625rem var(--ui);color:var(--muted)}
body.courtside-page.v26-page .v26-check{display:flex;align-items:center;gap:10px;min-height:44px;font:400 0.9375rem/1.375rem var(--ui);color:var(--ink-2)}
body.courtside-page.v26-page .v26-check input{width:20px;height:20px;margin:0;accent-color:var(--ink)}
/* Design answer to R3 K2-5 (spec 8.9): an error is never red or amber. The field takes an inset 1.5px --ink ring; under it,
   a 13/18 --ink line led by a 16px "!" circle in --ink-2. */
body.courtside-page.v26-page .v26-field__error{display:flex;align-items:flex-start;gap:6px;margin:0;font:400 0.8125rem/1.125rem var(--ui);color:var(--ink)}
body.courtside-page.v26-page .v26-field__error[hidden]{display:none}
/* Persona review R5 K1-5: on phone the first-run error takes the sheet's full width (the board's 358), past the price
   panel's 14px padding, so the range line sits on one line at 390. */
@media (max-width:899px){body.courtside-page.v26-page .v26-sheet:not([data-v26-mode="edit"]) .v26-more .v26-field__error{margin-left:-14px;margin-right:-14px}}
body.courtside-page.v26-page .v26-field__erricon{flex:none;display:flex;align-items:center;justify-content:center;width:16px;height:16px;margin-top:1px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--ink-2);color:var(--ink-2);font:700 0.6875rem/1 var(--ui)}
/* R4 question 3 (decided): one ring on an invalid field; the inset ink ring is its focus ring too. */
body.courtside-page.v26-page .v26-sheet .v26-field__num:has(input[aria-invalid="true"]){box-shadow:inset 0 0 0 1.5px var(--ink);outline:none}
/* Persona review R3 W3-3, V2-1 (P1EditSidePhone, P1EditSideDesktop). The actions stack on phone (a row on desktop's Edit
   side); the hide-dollars switch sits on the right; Edit side has no chips, its two fields side by side, its footnote. */
body.courtside-page.v26-page .v26-sheet__acts{display:flex;flex-direction:column;gap:4px}
body.courtside-page.v26-page .v26-sheet__acts .v26-btn--ghost{margin-top:0}
body.courtside-page.v26-page .v26-switch{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;font:400 0.9375rem/1.375rem var(--ui);color:var(--ink);cursor:pointer}
body.courtside-page.v26-page .v26-switch[hidden],body.courtside-page.v26-page .v26-sheet__editfoot{display:none}
body.courtside-page.v26-page .v26-switch input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
body.courtside-page.v26-page .v26-switch__track{position:relative;flex:none;width:44px;height:26px;border-radius:13px;background:var(--line)}
body.courtside-page.v26-page .v26-switch__track::after{content:'';position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:10px;background:var(--ink-2)}
body.courtside-page.v26-page .v26-switch input:checked+.v26-switch__track{background:var(--ink)}
body.courtside-page.v26-page .v26-switch input:checked+.v26-switch__track::after{left:21px;background:var(--bg)}
body.courtside-page.v26-page .v26-switch:has(input:focus-visible) .v26-switch__track{outline:2px solid var(--ink);outline-offset:2px}
body.courtside-page.v26-page .v26-sheet[data-v26-mode="edit"] .v26-sheet__editfoot{display:block}
body.courtside-page.v26-page .v26-sheet[data-v26-mode="edit"] .v26-chips,body.courtside-page.v26-page .v26-sheet[data-v26-mode="edit"] #v26-side-fine,body.courtside-page.v26-page .v26-sheet[data-v26-mode="edit"] [data-v26-optional]{display:none}
body.courtside-page.v26-page .v26-sheet[data-v26-mode="edit"] .v26-more{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;padding:0;background:none}
body.courtside-page.v26-page .v26-sheet[data-v26-mode="edit"] .v26-more[hidden]{display:none}
body.courtside-page.v26-page .v26-sheet[data-v26-mode="edit"] .v26-field--paid{order:1}body.courtside-page.v26-page .v26-sheet[data-v26-mode="edit"] .v26-field--shares{order:2}
/* P1EditSideErrorPhone/Desktop: the fields' row, then each error line across the width, 8 below. */
body.courtside-page.v26-page .v26-sheet[data-v26-mode="edit"] [data-v26-field-error="paid"]{order:3;grid-column:1/-1}body.courtside-page.v26-page .v26-sheet[data-v26-mode="edit"] [data-v26-field-error="shares"]{order:4;grid-column:1/-1}
body.courtside-page.v26-page .v26-sheet[data-v26-mode="edit"] .v26-field{flex-direction:column;align-items:stretch;justify-content:flex-start;gap:6px;font:400 0.8125rem/1.125rem var(--ui);color:var(--muted)}
body.courtside-page.v26-page .v26-sheet[data-v26-mode="edit"] .v26-field__num{height:48px;padding:0 14px;border-radius:12px;background:var(--bg);box-shadow:inset 0 0 0 1.5px var(--line)}
body.courtside-page.v26-page .v26-sheet[data-v26-mode="edit"] .v26-field input{flex:1;width:auto;min-width:0;font:400 1rem/1 var(--ui);text-align:left}
/* Persona review R3 K3-3, W6-8: buttons grow with their label (min-height, padding in rem) instead of a fixed height. */
body.courtside-page.v26-page .v26-btn{width:100%;min-height:48px;padding:.75rem 1rem;border:0;border-radius:12px;font:600 0.9375rem/1.25rem var(--ui);cursor:pointer}
body.courtside-page.v26-page .v26-btn--primary{background:var(--ink);color:var(--bg)}
body.courtside-page.v26-page .v26-btn--ghost{min-height:44px;padding:.625rem 1rem;margin-top:-8px;background:none;color:var(--ink-2);font-weight:500}
/* Persona review R1 #6 (Pre1GatePhone, Pre1GateDesktop): the gates as sheets. A quiet button (8.7), the head with the
   desktop's ×, and the swap card on --raised with its own quiet button a step up. */
body.courtside-page.v26-page a.v26-btn{display:flex;align-items:center;justify-content:center;text-decoration:none}
body.courtside-page.v26-page .v26-btn--quiet{background:var(--raised);color:var(--ink)}
body.courtside-page.v26-page .v26-sheet__head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
body.courtside-page.v26-page .v26-sheet__words{display:flex;flex-direction:column;gap:6px;min-width:0}
body.courtside-page.v26-page .v26-sheet__body b{font-weight:inherit;color:var(--ink)}
body.courtside-page.v26-page .v26-x{display:none;position:relative;isolation:isolate;flex:none;align-items:center;justify-content:center;width:44px;height:44px;margin:-6px -6px 0 0;padding:0;border:0;background:none;color:var(--ink-2);cursor:pointer}
body.courtside-page.v26-page .v26-x::before{content:'';position:absolute;inset:6px;z-index:-1;border-radius:16px;background:var(--raised)}
body.courtside-page.v26-page .v26-x svg{width:14px;height:14px}
/* Persona review R4 W4-6 (Pre1GatePhone, Pre1GateDesktop): the swap card at radius 14, padding 16 (18 on desktop), and
   "Not now, keep looking" at 600. */
body.courtside-page.v26-page .v26-gate__swap{display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:14px;background:var(--raised)}
body.courtside-page.v26-page .v26-gate .v26-btn--ghost{font-weight:600}
body.courtside-page.v26-page .v26-gate__swaptitle{margin:0;font:600 1rem/1.375rem var(--ui);color:var(--ink)}
body.courtside-page.v26-page .v26-gate__swapbody{margin:-8px 0 0;font:400 0.875rem/1.25rem var(--ui);color:var(--ink-2)}
body.courtside-page.v26-page .v26-gate__swapbody b{font-weight:inherit;color:var(--ink)}
body.courtside-page.v26-page .v26-gate__swap .v26-btn--quiet{background:var(--raised-2)}
body.courtside-page.v26-page .v26-sheet__rows{margin:0}
body.courtside-page.v26-page .v26-sheet__rows>div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--hairline);font:400 0.9375rem/1.25rem var(--ui)}
body.courtside-page.v26-page .v26-sheet__rows>div:last-child{border-bottom:0}
/* R3 V2-5: each row stays one row: the label never wraps, the value takes the rest. */
body.courtside-page.v26-page .v26-sheet__rows dt{flex:none;white-space:nowrap;color:var(--muted)}
/* Persona review R5, decided call 7 (W2-5), and R6: a value is left-aligned, a short one too: it starts 16px after its label. */
body.courtside-page.v26-page .v26-sheet__rows dd{flex:1 1 auto;min-width:0;margin:0;text-align:left;color:var(--ink)}
/* R1 #8: the done step's round check tile; the desktop's top row and its device row. */
body.courtside-page.v26-page .v26-sheet__donehead{display:flex;align-items:center;gap:12px}
body.courtside-page.v26-page .v26-checktile{flex:none;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:18px;background:var(--raised);color:var(--ink)}
body.courtside-page.v26-page .v26-checktile svg{width:18px;height:18px}
body.courtside-page.v26-page .v26-sheet__top,body.courtside-page.v26-page .v26-sheet__rows>.v26-sheet__devicerow{display:none}
/* Persona review R2-16 (spec 8.9): on phone the Edit side sheet keeps its kicker (the × stays desktop's). */
body.courtside-page.v26-page .v26-sheet[data-v26-mode="edit"] .v26-sheet__top{display:flex;margin:0 0 6px}
body.courtside-page.v26-page .v26-sheet__kick{font:400 0.75rem/1rem var(--ui);color:var(--muted)}
body.courtside-page.v26-page .v26-sheet__devicerow dd{color:var(--ink-2)}
@keyframes v26-up{from{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}
@keyframes v26-fade{from{opacity:0}to{opacity:1}}
/* R3 K4-12 (spec 6): with reduced motion a sheet still fades, over the base sheet's rule that switches animation off. */
@media (prefers-reduced-motion:reduce){body.courtside-page.v26-page .v26-sheet__panel,body.courtside-page.v26-page .v26-sheet__scrim{animation:v26-fade .25s ease-out!important}}
/* Persona review R1 #13: the watching line sits under the card (P1MarketDesktop), 13/18 muted on desktop, links in --ink-2;
   look mode's bar is the page's one watch control while it shows. */
body.courtside-page.v26-page .v26-card[data-v26-bar="on"]+.v26-card__acts{display:none}
body.courtside-page.v26-page .v26-main>.v26-card__acts{margin:10px var(--gutter) 0}
body.courtside-page.v26-page .v26-card [data-position-form]{max-width:none}
body.courtside-page.v26-page .field{margin-top:12px}
body.courtside-page.v26-page .feed{padding:0 var(--gutter)}
body.courtside-page.v26-page .v26-feedhead{display:flex;justify-content:flex-end;align-items:center;margin:8px 0 0}
body.courtside-page.v26-page .v26-feedhead__title{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
body.courtside-page.v26-page .v26-feedhead__side{display:none}
body.courtside-page.v26-page .v26-list{list-style:none;margin:0;padding:0}
body.courtside-page.v26-page .v26-row--item:has(> [hidden]),body.courtside-page.v26-page .v26-row--card:has(> [hidden]){display:none}
body.courtside-page.v26-page .v26-feed .newpill{position:sticky;top:var(--v26-pill-top);z-index:40;display:block;min-height:44px;margin:8px auto 12px;padding:0 18px;border:0;border-radius:22px;background:var(--ink);color:var(--bg);font:600 0.875rem/2.75rem var(--ui);font-variant-numeric:tabular-nums;box-shadow:0 6px 18px rgba(0,0,0,.45);cursor:pointer}
body.courtside-page.v26-page .v26-feed .newpill[hidden]{display:none}
/* Feed B, the timeline (Kha, 2026-10-01; FeedSocialPhone opt timeline; DESIGN-SYSTEM.md 8.4): a 40px avatar column,
   the post beside it, a hairline between items, no rail. Gap rows keep their form, aligned with the text column. */
body.courtside-page.v26-page .v26-row{position:relative;margin:0}
body.courtside-page.v26-page .v26-gap{padding-left:52px}
body.courtside-page.v26-page .v26-row--move .mv__pairrow{margin-left:52px;font:400 0.75rem/1rem var(--ui);color:var(--muted)}
body.courtside-page.v26-page .v26-row--move .mv__pairrow>span{display:block;margin:0 0 8px}
body.courtside-page.v26-page .v26-row--card{padding:4px 0}
body.courtside-page.v26-page .v26-item{display:flex;gap:12px;padding:14px 0 12px;border-bottom:1px solid var(--hairline)}
/* R1 #27, as revised by R3 V1-7 (FeedSocialPhone): a news monogram is 17/700, one letter or two. */
body.courtside-page.v26-page .v26-post__av{flex:none;display:flex;align-items:center;justify-content:center;width:40px;height:40px;margin-top:1px;border-radius:10px;background:var(--line);color:var(--ink);font:700 17px/1 var(--ui);letter-spacing:-.01em}
body.courtside-page.v26-page .v26-post__av--one{font:700 17px/1 var(--ui)}
body.courtside-page.v26-page .v26-post__av--x{border-radius:50%;font:600 13px/1 var(--ui)}
body.courtside-page.v26-page .v26-post__av--t0{background:#3F3550}
body.courtside-page.v26-page .v26-post__av--t1{background:#34405A}
body.courtside-page.v26-page .v26-post__av--t2{background:#2F4747}
body.courtside-page.v26-page .v26-post__av--t3{background:#4A4036}
body.courtside-page.v26-page .v26-item__body{display:flex;flex:1;flex-direction:column;gap:6px;min-width:0}
/* Persona review R2-12: the post's header is one line: the handle ellipsizes first, the name next; the time never wraps.
   R2-20/R2-30: a handle that links is a 44-high target. */
body.courtside-page.v26-page .v26-item__meta{display:flex;align-items:center;min-width:0;margin:0;font:400 0.875rem/1.1875rem var(--ui);color:var(--muted);white-space:nowrap}
/* R3 K3-9: at 195 wide (200% zoom) the line clips sideways rather than widening the page; clip keeps its 44px targets. */
body.courtside-page.v26-page .v26-item__meta{overflow-x:clip}
body.courtside-page.v26-page .v26-post__name{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;font-weight:700;color:var(--ink);text-decoration:none}
/* R4 answer 4 (W1-14, at 390): the name stays whole, Rising stays inline and the time never truncates; the handle gives way
   first, down to "@…", and the name ellipsizes only when it alone is wider than what is left. A linked handle keeps its
   44-wide hit area through padding that its negative margins take back (4px gap before it, as R3 W5-2). */
body.courtside-page.v26-page .v26-post__handle{flex:0 1000 auto;min-width:1.75em;overflow:hidden;text-overflow:ellipsis;margin-left:4px;color:var(--muted);text-decoration:none}
body.courtside-page.v26-page a.v26-post__handle,body.courtside-page.v26-page a.v26-post__name{min-height:44px;line-height:2.75rem;margin:-13px 0 -12px}
body.courtside-page.v26-page a.v26-post__handle{box-sizing:border-box;min-width:44px;padding:0 4px 0 12px;margin-left:-8px;margin-right:-4px}
/* R3 K4-6: a short outlet name in the list is still a 44-wide target. */
body.courtside-page.v26-page .v26-item__also .c__also-list a{min-width:44px}
body.courtside-page.v26-page .v26-post__dot{flex:none;white-space:pre}
body.courtside-page.v26-page .v26-post__time,body.courtside-page.v26-page .v26-item__new{flex:none}
body.courtside-page.v26-page a.v26-post__handle:hover{text-decoration:underline;text-decoration-color:var(--faint)}
/* R2-29 (spec small): the Rising tag at 12, min-height 20. */
body.courtside-page.v26-page .v26-post__rising{flex:none;display:inline-flex;align-items:center;min-height:20px;margin-left:6px;padding:2px 6px;border-radius:6px;background:var(--raised-2);font:600 0.75rem/1 var(--ui);color:var(--ink);vertical-align:1px}
body.courtside-page.v26-page .v26-item__new{margin-left:8px;padding:1px 6px;border-radius:6px;background:var(--raised);color:var(--ink);font:600 0.6875rem/1rem var(--ui)}
body.courtside-page.v26-page .v26-item__found{margin:-4px 0 0;font:400 0.75rem/1rem var(--ui);color:var(--muted)}
body.courtside-page.v26-page .v26-item__title{margin:0;font:400 1rem/1.4375rem var(--ui);color:var(--ink);overflow-wrap:break-word}
/* R2-12: "Read on Business Insider ↗" stays whole on one line; the domain after it ellipsizes. */
/* R3 K3-10, K4-7: the domain keeps a readable width or drops out: it wraps to a second line the row clips (the row is one
   line of its own height, which scales with text size). */
body.courtside-page.v26-page .v26-post__link{display:flex;flex-wrap:wrap;align-items:center;align-content:flex-start;column-gap:8px;min-height:44px;max-height:2.75rem;padding:0 12px;border-radius:12px;box-shadow:inset 0 0 0 1px var(--line);font:400 0.8125rem/1.125rem var(--ui);color:var(--muted);text-decoration:none;white-space:nowrap;min-width:0;overflow:hidden}
body.courtside-page.v26-page .v26-post__linkname,body.courtside-page.v26-page .v26-post__domain{line-height:2.75rem}
body.courtside-page.v26-page .v26-post__linkname{flex:0 1 auto;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;font-weight:600;color:var(--ink)}
body.courtside-page.v26-page .v26-post__domain{flex:0 1 auto;min-width:6em;overflow:hidden;text-overflow:ellipsis}
body.courtside-page.v26-page .v26-post__link:hover{box-shadow:inset 0 0 0 1px var(--ring)}
body.courtside-page.v26-page .v26-post__counts{margin:0;font:400 0.75rem/1rem var(--ui);color:var(--muted);font-variant-numeric:proportional-nums}
/* Spec 8.4 (R3 answer, W1-13): an X post's time is its link, "8m ↗", with a 44-high hit area from padding and a negative margin. */
/* Persona review R4 W2-9, K2-7: "8m ↗" with its space (a flex row drops the space between its items), and 44 wide at least.
   The header sits above the line under it, so its 44-high targets aren't covered by "Not from a known source". */
body.courtside-page.v26-page .v26-post__timelink{flex:none;display:inline-flex;align-items:center;column-gap:.25em;min-width:44px;padding:13px 2px 12px;margin:-13px 0 -12px;color:var(--muted);text-decoration:none}
body.courtside-page.v26-page .v26-item__meta{position:relative;z-index:1}
body.courtside-page.v26-page .v26-post__timelink:hover{color:var(--ink-2)}
/* Persona review R2-4 (board: grouped coverage with ▾): a plain line, a pile of three 18px monograms then the words at
   13/18 400 --ink-2, no box, a small ▾ after them, the whole line a 44 target; open, the list is 13/18 and each outlet a
   44-high row. R2-5: the trust labels are the spec's and scale with text size (their Courtside px sizes are reset). */
body.courtside-page.v26-page .v26-item__also{font:400 0.8125rem/1.125rem var(--ui);color:var(--ink-2)}
/* R3 W1-1: the 44px target comes from padding, so a line of two or three rows takes its own height (min-height with
   negative margins only works for one row). R3 W1-8, W5-9: the pile is part of the target; the ▾ sits inline after the
   words. */
body.courtside-page.v26-page .v26-item__also summary{display:flex;align-items:flex-start;gap:8px;padding:13px 0;margin:-13px 0;list-style:none;cursor:pointer}
body.courtside-page.v26-page .v26-item__also summary::-webkit-details-marker{display:none}
body.courtside-page.v26-page .v26-item__also .c__also{display:inline;margin:0;font:inherit;color:inherit}
body.courtside-page.v26-page .v26-item__also__text{flex:1;min-width:0}
body.courtside-page.v26-page .v26-item__caret{display:inline-block;margin-left:4px;color:var(--muted);font:400 0.8125rem/1.125rem var(--ui)}
body.courtside-page.v26-page .v26-item__also[open] .v26-item__caret{transform:rotate(180deg)}
body.courtside-page.v26-page .v26-item__also .c__also-h{margin:12px 0 0;font:400 0.8125rem/1.125rem var(--ui);color:var(--muted)}
body.courtside-page.v26-page .v26-item__also .c__also-list{display:block;margin:0;padding:0;list-style:none;font:400 0.8125rem/1.125rem var(--ui);color:var(--ink-2)}
/* R3 W1-7, W5-10: one 44-high row per outlet or account; the rest of the row ellipsizes, so no line starts with "·". */
body.courtside-page.v26-page .v26-item__also .c__also-list li{display:flex;flex-wrap:nowrap;align-items:center;column-gap:4px;min-height:44px;white-space:nowrap;box-shadow:inset 0 -1px 0 var(--hairline)}
body.courtside-page.v26-page .v26-item__also .c__also-list a{flex:0 1 auto;display:inline-block;min-height:44px;line-height:2.75rem;overflow:hidden;text-overflow:ellipsis;color:var(--ink)}
body.courtside-page.v26-page .v26-item__also .c__also-t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}
body.courtside-page.v26-page .v26-item__also .c__also-n{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}
/* R4 W1-6: an X account's time stays whole, and its handle looks like every other handle (muted, not underlined). */
body.courtside-page.v26-page .v26-item__also .c__also-w{flex:none}
body.courtside-page.v26-page .v26-item__also .c__also-list .c__also-handle{color:var(--muted);text-decoration:none}
body.courtside-page.v26-page .v26-item__also .c__also-list a.c__also-handle:hover{text-decoration:underline;text-decoration-color:var(--faint)}
/* Persona review R5 (R4 W1-6 leftover): an X account's row keeps its name whole, its handle giving way first, its time
   whole, and the quote on a line of its own under them; the list starts right under the summary's 44px target. */
body.courtside-page.v26-page .v26-item__also summary+.c__also-list{margin-top:0}
body.courtside-page.v26-page .v26-item__also .c__also-list li:has(>.c__also-w){display:grid;grid-template-columns:max-content minmax(1.75em,max-content) max-content 1fr;align-items:center;padding-bottom:8px}
body.courtside-page.v26-page .v26-item__also .c__also-list li:has(>.c__also-w)>.c__also-handle{min-width:0;overflow:hidden;text-overflow:ellipsis}
body.courtside-page.v26-page .v26-item__also .c__also-list li>.c__also-w+.c__also-t{grid-column:1/-1;margin-top:-10px;color:var(--ink-2)}
body.courtside-page.v26-page .c__found{display:block;margin:0;font:400 0.75rem/1rem var(--ui);color:var(--muted);text-decoration:none;width:auto}
/* R4 answer 5 (spec 8.4, grouped pile): tiles 20×20 (their size follows the text), letters 10px 700, at most two, a
   -6px overlap with a 1.5px --bg ring between tiles; aria-hidden in the markup. */
body.courtside-page.v26-page .v26-pile{display:inline-flex;flex:none;margin:0}
body.courtside-page.v26-page .v26-pile span{display:flex;flex:none;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;margin-left:-6px;border-radius:5px;background:var(--line);box-shadow:0 0 0 1.5px var(--bg);color:var(--ink);font:700 0.625rem/1 var(--ui);letter-spacing:-.02em}
body.courtside-page.v26-page .v26-pile span:first-child{margin-left:0}
body.courtside-page.v26-page .v26-item__late.chip--later{all:unset;display:block;font:400 0.75rem/1rem var(--ui);color:var(--muted)}
body.courtside-page.v26-page .v26-item.is-sel,body.courtside-page.v26-page .v26-item.is-paired{background:linear-gradient(90deg,var(--raised),transparent)}
/* Preview 1 reactions: four chips under every item, 30 high inside a 44px target; a picked one is a grey ring (never amber). */
body.courtside-page.v26-page .v26-rx{display:flex;flex-wrap:wrap;align-items:center;margin:-4px 0 -8px -4px}
body.courtside-page.v26-page .v26-rx__said{flex-basis:100%;padding-left:4px;font:400 0.75rem/1.0625rem var(--ui);color:var(--muted)}body.courtside-page.v26-page .v26-rx__said:empty{display:none}
/* R1 #31 (spec 8.6): a chip is at least 44 wide with 0 10 padding, so it grows with its count. */
body.courtside-page.v26-page .v26-rx__chip{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:52px;height:44px;padding:0 14px;border:0;background:none;color:var(--ink-2);font:500 0.8125rem/1 var(--ui);font-variant-numeric:proportional-nums;cursor:pointer}
body.courtside-page.v26-page .v26-rx__chip>span:first-child{font-size:0.875rem}
body.courtside-page.v26-page .v26-rx__chip{position:relative;isolation:isolate}
body.courtside-page.v26-page .v26-rx__chip::after{content:'';position:absolute;left:4px;right:4px;top:7px;bottom:7px;z-index:-1;border-radius:15px;background:var(--raised)}
body.courtside-page.v26-page .v26-rx__chip[aria-pressed="true"]{color:var(--ink)}
body.courtside-page.v26-page .v26-rx__chip[aria-pressed="true"]::after{background:var(--raised-2);box-shadow:inset 0 0 0 1.5px var(--ink-2)}
body.courtside-page.v26-page .v26-foot__rx{margin:0}
/* Persona review R1 #15 (spec 8.7): a destructive action is a quiet button in --down, and asks first. */
body.courtside-page.v26-page .v26-foot__clear{min-height:44px;margin:4px 0 0;padding:0 16px;border:0;border-radius:12px;background:var(--raised);color:var(--down);font:500 0.875rem/1.25rem var(--ui);cursor:pointer}
body.courtside-page.v26-page .v26-btn--down{color:var(--down)}
/* Day dividers (the board's "LAST NIGHT"): the card's script puts one before the first row of each earlier day. */
body.courtside-page.v26-page .v26-daybar{display:flex;align-items:center;gap:8px;padding:16px 0 4px;font:600 0.6875rem/0.875rem var(--ui);letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
/* Persona review R2-32: on the Board the feed follows "Today · last 24 hours" directly, so a day divider at its top sits
   8 under it rather than 42. */
body.courtside-page.v26-page .v26-board .feed{margin-top:0}
body.courtside-page.v26-page .v26-board .v26-list>.v26-daybar:first-child{padding-top:8px}
body.courtside-page.v26-page .v26-daybar::after{content:'';flex:1;height:1px;background:var(--hairline)}
/* Persona review R2-17: gap rows are 38 high (padding 10 0 10 52). */
body.courtside-page.v26-page .v26-gap__text{margin:0;padding:10px 0;font:400 0.8125rem/1.125rem var(--ui);color:var(--muted)}
body.courtside-page.v26-page .v26-gap__num{font-weight:500;font-variant-numeric:proportional-nums}
body.courtside-page.v26-page .v26-gap.against .v26-gap__text{color:var(--down)}
body.courtside-page.v26-page .v26-caught{display:flex;align-items:center;gap:8px;padding-top:12px;padding-bottom:12px;font:600 0.6875rem/0.875rem var(--ui);letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
body.courtside-page.v26-page .v26-caught i{flex:1;height:1px;background:var(--hairline)}
/* R1 #21 (spec 8.4, the quiet notice): in the feed's text column, 13/18, the head 500 --ink-2. */
body.courtside-page.v26-page .v26-empty{padding:16px 0 8px 52px}
body.courtside-page.v26-page .v26-empty p{margin:0;font:400 0.8125rem/1.125rem var(--ui);color:var(--muted)}
body.courtside-page.v26-page .v26-empty .v26-empty__head{margin-bottom:4px;font:500 0.8125rem/1.125rem var(--ui);color:var(--ink-2)}
body.courtside-page.v26-page .v26-odds-mark{display:none}
body.courtside-page.v26-page .v26-hidden{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:16px 0 0;font:400 0.75rem/1.0625rem var(--ui);color:var(--muted)}
body.courtside-page.v26-page .v26-hidden[hidden]{display:none}
/* R3 W1-14: a 44×44 target. */
body.courtside-page.v26-page .v26-hidden__show{flex:none;min-width:44px;min-height:44px;margin:-13px 0;padding:0 4px;border:0;background:none;color:var(--ink-2);font:500 0.75rem/1.0625rem var(--ui);text-decoration:underline;text-decoration-color:var(--faint);text-underline-offset:3px;cursor:pointer}
/* R1 #24: no rule of its own; the last item's hairline already sits above it. */
body.courtside-page.v26-page .v26-foot{margin:16px 0 0;padding:0;font:400 0.75rem/1.0625rem var(--ui);color:var(--muted)}
body.courtside-page.v26-page .v26-foot p{margin:0 0 8px}
/* D109 point 2: X's lines and its control, in the footer's quiet style. */
/* Persona review R2-3 (layout only; its place and words wait on Kha): the hidden-posts line is one line of 12/17 --muted
   text with "Show them" in --ink-2 as a 44 target, not the base page's three-column flex box. R2-20: stacked 44px targets
   keep 44 between their lines, so no hit area covers the next. */
body.courtside-page.v26-page .v26-foot .feedhow{margin:0 0 8px;font:inherit;color:inherit}
body.courtside-page.v26-page .v26-foot .xtoggle{display:flex;align-items:center;min-height:44px;margin:-13px 0 0;padding:0;border:0;background:none;color:var(--ink-2);font:500 0.75rem/1.0625rem var(--ui);text-decoration:underline;text-decoration-color:var(--faint);text-underline-offset:3px;cursor:pointer}
body.courtside-page.v26-page .v26-foot__x+.v26-foot__links{padding-top:13px}
/* D109 amendment 1 (R2-3; Feed_timeline_preview1_hidex): the stand-in at the top of the feed, one line, 12/17 --muted,
   "Show them" on the right in --ink-2 with a 44 target. */
body.courtside-page.v26-page .v26-xhidden{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:8px 0 0;font:400 0.75rem/1.0625rem var(--ui);color:var(--muted)}
body.courtside-page.v26-page .v26-xhidden__show{flex:none;min-height:44px;margin:-13px 0;padding:0;border:0;background:none;color:var(--ink-2);font:500 0.75rem/1.0625rem var(--ui);cursor:pointer}
body.courtside-page.v26-page .v26-foot__x{margin:0 0 8px}
/* Persona review R4 W2-15, K2-11: every footer link has the same 6px each side, so the gaps around each "·" are even and a
   short link ("Terms") is still 44 wide; the first one starts on the text's edge. */
body.courtside-page.v26-page .v26-foot__links a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:0 6px;margin:-13px 0;color:var(--muted)}
body.courtside-page.v26-page .v26-foot__links a:first-child{margin-left:-6px}
/* Owner review of the v2.6 switch, B2: the private listener's operator links, quiet 12/17 --muted, 44-high targets. */
body.courtside-page.v26-page .v26-foot__ops{margin:0;font:400 0.75rem/1.0625rem var(--ui);color:var(--muted)}
body.courtside-page.v26-page .v26-foot__ops a{display:inline-flex;align-items:center;min-height:44px;margin:-13px 0;color:var(--muted)}
body.courtside-page.v26-page .v26-foot__ops a:hover{color:var(--ink)}
body.courtside-page.v26-page .v26-foot__links a:hover{color:var(--ink)}
body.courtside-page.v26-page .v26-move{display:flex;flex-wrap:wrap;gap:0 12px;border-bottom:1px solid var(--hairline);transition:background-color .3s ease,box-shadow .3s ease}
/* Chart to feed (spec 8.4): the rail and the text keep one line (the text at most the row less the rail and its gap);
   "Show on chart" joins them when it fits, else goes under, right-aligned. The move a chart link went to lights up
   to --raised-2 (spec 8.4 as fixed at claude/redesign 56d7746: the feed's cards already sit on --surface) for about
   1.5 s; "Show on chart ↑" ends the row (under it when the text is large), shown by the card's script only while a
   chart draws the move. */
body.courtside-page.v26-page .v26-move.is-lit{border-radius:4px;background:var(--raised-2);box-shadow:0 0 0 8px var(--raised-2)}
body.courtside-page.v26-page .v26-move__back{display:flex;flex:none;gap:4px;align-items:center;align-self:center;min-height:44px;margin:-12px 0 0 auto;font:400 0.75rem/1rem var(--ui);color:var(--ink-2);text-decoration:underline;text-decoration-color:var(--faint);text-underline-offset:3px}
body.courtside-page.v26-page .v26-move__back[hidden]{display:none}
/* Live re-check of update 55, D2: its 44px target ends at the row's foot (no margin below), so the next row's own 44px
   targets (a post's time link) never cover it; under the text it adds 12px to the row. */
/* D3: a lit target found again on a new root (a live update) takes the lift at once, no fade, on the same clock. */
body.courtside-page.v26-page .v26-move.v26-lit-carry,body.courtside-page.v26-page .v26-chart__band.v26-lit-carry{transition:none}
body.courtside-page.v26-page .v26-move__rail{position:relative;flex:none;width:40px}
/* R3 V1-13: the amber rail is 6×36, beside the text. */
body.courtside-page.v26-page .v26-move__rail::before{content:'';position:absolute;left:50%;top:12px;height:36px;width:6px;transform:translateX(-50%);background:var(--amber)}
body.courtside-page.v26-page .v26-move__body{display:flex;flex:1 1 auto;flex-direction:column;gap:2px;min-width:0;max-width:calc(100% - 52px);padding:12px 0}
body.courtside-page.v26-page .v26-move__head{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 8px;margin:0;font:600 0.8125rem/1.125rem var(--ui);color:var(--amber-text)}
body.courtside-page.v26-page .v26-move__delta{font-weight:500;font-variant-numeric:proportional-nums}
body.courtside-page.v26-page .v26-move__usual{margin:0;font:400 0.75rem/1rem var(--ui);color:var(--muted)}
body.courtside-page.v26-page .v26-nav{display:none;gap:4px}
/* Persona review R2-20: the desktop header's links are 44 high. */
body.courtside-page.v26-page .v26-nav__item{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;border-radius:10px;font:500 0.875rem/1.25rem var(--ui);color:var(--muted);text-decoration:none}
body.courtside-page.v26-page a.v26-nav__item:hover{color:var(--ink)}
body.courtside-page.v26-page .v26-nav__item[aria-disabled="true"]{color:var(--muted);cursor:default}
body.courtside-page.v26-page .v26-tabs{position:fixed;left:0;right:0;bottom:0;z-index:60;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));height:calc(60px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--hairline);background:var(--bg)}
body.courtside-page.v26-page .v26-tabs__item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:44px;font:500 0.6875rem/1 var(--ui);color:var(--muted);text-decoration:none}
body.courtside-page.v26-page .v26-tabs__item svg{width:22px;height:22px}
body.courtside-page.v26-page .v26-tabs__item[aria-disabled="true"]{cursor:default}
@media (max-width:899px){
  /* Persona review R1 #22 (spec 7; P1HomePhone, P1BoardPhone, P1NotInPhone): Home, the Board and the not-in page have the
     48 header with the 21 wordmark (the market page keeps 44 and 19); Home without its landing starts 4 under it. */
  body.courtside-page.v26-page .v26-home .top.v26-top,body.courtside-page.v26-page .v26-board .top.v26-top,body.courtside-page.v26-page .v26-notin .top.v26-top{height:auto;min-height:3rem}
  body.courtside-page.v26-page .v26-home .v26-logo,body.courtside-page.v26-page .v26-board .v26-logo,body.courtside-page.v26-page .v26-notin .v26-logo{font-size:1.3125rem}
  /* Persona review R2-21 (P1PrivacyPhone, P1AboutPhone): the static pages' phone header is 48 with the 21 wordmark and a hairline. */
  body.courtside-page.v26-page .top.v26-top.v26-static__top{height:auto;min-height:3rem;border-bottom:1px solid var(--hairline)}
  body.courtside-page.v26-page .v26-static__top .v26-logo{font-size:1.3125rem}
  body.courtside-page.v26-page .v26-h-landing[hidden]+.v26-h-cols{padding-top:4px}
  /* R3 K3-4, K4-1: the page's bottom padding and its scroll padding follow the fixed bars' real heights (the card's script
     measures them into --v26-bottom and --v26-top), so the footer and a focused control never sit under them; the
     fallbacks are the bars at 100% text. */
  body.courtside-page.v26-page .v26-app{padding-bottom:calc(var(--v26-bottom, 60px + env(safe-area-inset-bottom)) + 24px)}
  body.courtside-page.v26-page .v26-app:has([data-v26-lookbar]:not([hidden])){padding-bottom:calc(var(--v26-bottom, 164px + env(safe-area-inset-bottom)) + 24px)}
  /* R5 K2-R5-6: the header's own height where the page script measures it, else 3rem (48 at 100%, 96 at 200% text). */
  html:has(body.courtside-page.v26-page){scroll-padding-top:calc(var(--v26-top, 3rem) + 8px);scroll-padding-bottom:calc(var(--v26-bottom, 164px) + 8px)}
}
body.courtside-page.v26-page .v26-card__text,body.courtside-page.v26-page .v26-card__plot{display:contents}
body.courtside-page.v26-page .v26-context__hold{display:none}
/* QA 2026-10-01 item 4: below 900px the look bar is Loop4FirstRunPhone's, fixed above the tab bar. */
body.courtside-page.v26-page .v26-lookbar{position:fixed;left:0;right:0;bottom:calc(60px + env(safe-area-inset-bottom));z-index:55;display:flex;flex-direction:column;gap:8px;padding:12px var(--gutter);border-top:1px solid var(--hairline);background:var(--bg)}
body.courtside-page.v26-page .v26-lookbar__text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
body.courtside-page.v26-page .v26-lookbar__title{margin:0;font:600 0.9375rem/1.25rem var(--ui);color:var(--ink)}
body.courtside-page.v26-page .v26-lookbar__title[hidden]{display:none}
body.courtside-page.v26-page .v26-lookbar__pitch{display:none}
body.courtside-page.v26-page .v26-lookbar__btn{flex:none;width:100%;min-height:48px;padding:.75rem 1.25rem;border-radius:12px;border:0;background:var(--ink);color:var(--bg);font:600 0.9375rem/1.25rem var(--ui);cursor:pointer}
body.courtside-page.v26-page .v26-lookbar__fine{margin:0;text-align:center;font:400 0.75rem/1.0625rem var(--ui);color:var(--muted)}
/* Persona review R1 #9: after Stop, a short note in the bar that comes back. */
/* R1 question 3: 13/18 --muted, in place of the bar's helper line for this page view (the card's script hides that). */
body.courtside-page.v26-page .v26-lookbar__stopped{margin:0;text-align:center;font:400 0.8125rem/1.125rem var(--ui);color:var(--muted)}
/* R3 K4-4: empty until Stop, but still in the page, so its words are announced when they arrive. */
body.courtside-page.v26-page .v26-lookbar__stopped:empty{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0)}
body.courtside-page.v26-page .v26-lookbar.is-stopped .v26-lookbar__fine{display:none}
body.courtside-page.v26-page .v26-about{display:none;flex-direction:column;gap:20px;min-width:0}
/* R3 V2-8 (P1F_market_desk_holder): the holder's side is a --surface panel, 16 18 (radius 12, spec 11; the board's 14 is drift). */
body.courtside-page.v26-page .v26-about__side{padding:16px 18px;border-radius:12px;background:var(--surface)}
body.courtside-page.v26-page .v26-about__side[hidden]{display:none}
/* R3 V2-8, R4: its label is the board's "YOUR SIDE", 11/14/600 capitals like the column's titles. */
body.courtside-page.v26-page .v26-about__side .v26-about__k{font:600 0.6875rem/0.875rem var(--ui);letter-spacing:.07em;text-transform:uppercase}
body.courtside-page.v26-page .v26-about__side .v26-about__v{margin-top:6px;font:400 0.875rem/1.25rem var(--ui)}
body.courtside-page.v26-page .v26-about__title{margin:0;font:600 0.6875rem/0.875rem var(--ui);letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
body.courtside-page.v26-page .v26-about__k{margin:0;font:400 0.75rem/1rem var(--ui);color:var(--muted)}
body.courtside-page.v26-page .v26-about__v{margin:4px 0 0;font:500 0.9375rem/1.25rem var(--ui);color:var(--ink)}
body.courtside-page.v26-page .v26-about__side[hidden]{display:none}
body.courtside-page.v26-page .v26-about__pnl[hidden]{display:none}
body.courtside-page.v26-page .v26-about__pnl b{font-weight:600;font-variant-numeric:proportional-nums;color:var(--ink-2)}
body.courtside-page.v26-page .v26-about__pnl.up b{color:var(--up)}
body.courtside-page.v26-page .v26-about__pnl.down b{color:var(--down)}
body.courtside-page.v26-page .v26-rules__link{margin:6px 0 0}
body.courtside-page.v26-page .v26-facts .v26-rules__link a{color:var(--ink-2);font-weight:400}
body.courtside-page.v26-page .v26-long{display:flex;flex-direction:column;gap:8px}
body.courtside-page.v26-page .v26-long__head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
/* Persona review R1 #14 (spec 8.8, P1MarketDesktop): the header's title 13/18, the move 600 --ink-2 (a holder's in money
   colours); the range is a segmented control: a --surface track, radius 13, padding 3; 48×36 segments, radius 10, 13/500,
   the selected one --line with ink. */
body.courtside-page.v26-page .v26-long__head .v26-about__k{font-size:0.8125rem;line-height:1.125rem}
body.courtside-page.v26-page .v26-long__move{font-weight:600;font-variant-numeric:proportional-nums;color:var(--ink-2)}
body.courtside-page.v26-page .v26-long__move.up{color:var(--up)}
body.courtside-page.v26-page .v26-long__move.down{color:var(--down)}
body.courtside-page.v26-page .v26-long__span{font-weight:400;color:var(--ink-2)}
body.courtside-page.v26-page .v26-range{display:flex;flex:none;padding:3px;border-radius:13px;background:var(--surface)}
body.courtside-page.v26-page .v26-range button{min-width:48px;height:44px;padding:0 8px;border-radius:10px;border:0;background:transparent;color:var(--muted);font:500 0.8125rem/1.125rem var(--ui);cursor:pointer}
body.courtside-page.v26-page .v26-range button[aria-pressed="true"]{background:var(--line);color:var(--ink)}
body.courtside-page.v26-page .v26-range button[aria-disabled="true"]{cursor:default}
body.courtside-page.v26-page .v26-long__chart{height:190px;margin:4px 0 0;border-bottom:1px solid var(--hairline)}
body.courtside-page.v26-page .v26-long__none{margin:0;padding:80px 0 0;text-align:center;font:400 0.8125rem/1.125rem var(--ui);color:var(--muted)}
/* Persona review R5, call 3 as answered (spec 8.8): a range with no prices is one muted 13/18 line under the segments;
   the chart box and its axis give way to it. */
body.courtside-page.v26-page .v26-long__chart[data-v26-long-empty]{height:auto;margin:0;border-bottom:0}
body.courtside-page.v26-page .v26-long__empty{margin:0;font:400 0.8125rem/1.125rem var(--ui);color:var(--muted)}
body.courtside-page.v26-page .v26-long:has(.v26-long__chart[data-v26-long-empty]) .v26-long__axis{display:none}
body.courtside-page.v26-page .v26-long__credit{margin:0;font:400 0.75rem/1rem var(--ui);color:var(--muted)}
body.courtside-page.v26-page .v26-long__credit[hidden]{display:none}
/* Persona review R1 #11 (P1MarketDesktop): a 96px label column, labels 13/18 muted, values 14/20 ink, left-aligned. */
body.courtside-page.v26-page .v26-facts{margin:0;border-top:1px solid var(--hairline)}
/* Persona review R4 K2-10: label columns in rem, so a label grows with the text size instead of running into its value. */
body.courtside-page.v26-page .v26-facts__row{display:grid;grid-template-columns:6rem minmax(0,1fr);gap:12px;padding:12px 0;border-bottom:1px solid var(--hairline);font:400 0.875rem/1.25rem var(--ui)}
body.courtside-page.v26-page .v26-facts dt{font:400 0.8125rem/1.125rem var(--ui);color:var(--muted);overflow-wrap:break-word}
body.courtside-page.v26-page .v26-facts dd{margin:0;text-align:left;color:var(--ink)}
/* Persona review R2-20: the facts' links are 44-high targets that keep the line's place. */
/* R3 W2-12: a flex link drops the space before ↗; a gap keeps it. */
body.courtside-page.v26-page .v26-facts a{display:inline-flex;align-items:center;gap:.25em;min-height:44px;margin:-12px 0;font-weight:500}
body.courtside-page.v26-page .v26-about__note{margin:0;font:400 0.75rem/1.125rem var(--ui);color:var(--muted)}
/* Persona review R4 V1-13: three lines of the summary before it is cut (the link stays on its own line; see the report). */
body.courtside-page.v26-page .v26-rules__text{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin:0;font:400 0.875rem/1.25rem var(--ui);color:var(--ink);overflow-wrap:break-word}
html:has(body.courtside-page.v26-page){background:#0E1116}
body.courtside-page.v26-page .v26-gone__body{padding:48px var(--gutter);display:flex;flex-direction:column;gap:12px}
body.courtside-page.v26-page .v26-gone__body h1{margin:0;font:700 1.375rem/1.625rem var(--display);color:var(--ink)}
body.courtside-page.v26-page .v26-gone__body p{margin:0;font:400 0.9375rem/1.375rem var(--ui);color:var(--ink-2)}
body.courtside-page.v26-page .v26-gone__body .btn{display:inline-flex;align-items:center;min-height:44px}
@media (max-width:720px){body.courtside-page.v26-page{--v26-pill-top:108px}}
@media (prefers-reduced-motion:reduce){body.courtside-page.v26-page .v26-hero__price{transition:none}body.courtside-page.v26-page .v26-chart__dot.is-live::after{animation:none;display:none}body.courtside-page.v26-page .v26-move,body.courtside-page.v26-page .v26-chart__band{transition:none}}
/* Preview 1's Board (tasks/HOME-BOARD-P1.md; P1BoardPhone, P1BoardDesktop). */
body.courtside-page.v26-page .v26-board__headrow{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:8px var(--gutter) 0}
body.courtside-page.v26-page .v26-board__toptitle{margin:0;font:700 1.5rem/1.75rem var(--display);letter-spacing:-.01em;color:var(--ink)}
body.courtside-page.v26-page .v26-board .v26-top .v26-logo{display:none}
body.courtside-page.v26-page .v26-board__headrow,body.courtside-page.v26-page .v26-board__empty .v26-board__h1{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
body.courtside-page.v26-page .v26-board__yourrow{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
body.courtside-page.v26-page .v26-board__h1{margin:0;font:700 1.5rem/1.75rem var(--display);letter-spacing:-.01em;color:var(--ink)}
body.courtside-page.v26-page .v26-board__count{font:400 0.8125rem/1.125rem var(--ui);color:var(--muted)}
body.courtside-page.v26-page .v26-board__h2{margin:0;font:600 1.0625rem/1.375rem var(--ui);color:var(--ink)}
body.courtside-page.v26-page .v26-board__grid{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"tiles" "side" "feed"}
body.courtside-page.v26-page .v26-board__tiles{grid-area:tiles;padding:8px var(--gutter) 0}
/* R4 K2-5: two tiles while each keeps 10rem; at 200% text one column. */
body.courtside-page.v26-page .v26-board__row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr));gap:8px;margin-top:8px}
body.courtside-page.v26-page .v26-board .v26-card{position:relative;margin:0;padding:12px 12px 10px;gap:6px;border-radius:16px;--v26-chart-h:28px}
body.courtside-page.v26-page .v26-board .v26-card.v26-card--flat{--v26-chart-h:28px}
body.courtside-page.v26-page .v26-board .v26-card__head,body.courtside-page.v26-page .v26-board .v26-hero__note,body.courtside-page.v26-page .v26-board .v26-hero__other,body.courtside-page.v26-page .v26-board .v26-thin,body.courtside-page.v26-page .v26-board .v26-context__moves,body.courtside-page.v26-page .v26-board .v26-context__day,body.courtside-page.v26-page .v26-board .v26-context__items,body.courtside-page.v26-page .v26-board .v26-axis,body.courtside-page.v26-page .v26-board .v26-paused,body.courtside-page.v26-page .v26-board .v26-chart__tag{display:none}
body.courtside-page.v26-page .v26-board .v26-hero{gap:6px}
body.courtside-page.v26-page .v26-board .v26-hero__side{font-size:0.8125rem;font-weight:400}
body.courtside-page.v26-page .v26-board .v26-hero__price{font-size:1.375rem}
body.courtside-page.v26-page .v26-board .v26-hero__move{font-size:0.875rem}
body.courtside-page.v26-page .v26-board .v26-context{font-size:0.8125rem;line-height:1.125rem;color:var(--muted)}
body.courtside-page.v26-page .v26-board .v26-context__money .v26-context__sep,body.courtside-page.v26-page .v26-board .v26-context__hold{display:none}
body.courtside-page.v26-page .v26-board .v26-chart__none{margin:0;font:400 0.75rem/1rem var(--ui);color:var(--muted)}
body.courtside-page.v26-page .v26-tile__head{display:flex;align-items:flex-start;gap:8px;min-width:0}
body.courtside-page.v26-page .v26-board .v26-tile__head .v26-thumb{width:28px;height:28px;border-radius:8px;margin:0}
body.courtside-page.v26-page .v26-board .v26-tile__head .v26-thumb svg{width:16px;height:16px}
body.courtside-page.v26-page .v26-tile__text{display:flex;flex-direction:column;gap:1px;margin:0;min-width:0}
/* R2-29 (spec small): 12/16. */
body.courtside-page.v26-page .v26-tile__kick{font:400 0.75rem/1rem var(--ui);color:var(--muted)}
body.courtside-page.v26-page .v26-tile__name{font:600 0.875rem/1.125rem var(--ui);color:var(--ink);text-decoration:none;overflow-wrap:break-word}
/* Persona review R2-15 (P1BoardPhone): the whole tile is one link, padded so its edge is the tile's, with the tile's focus
   ring; the line is plain #B3BBC8 at 1.6. */
body.courtside-page.v26-page .v26-board .v26-card.v26-card--tile{padding:0}
body.courtside-page.v26-page .v26-tile__link{display:flex;flex-direction:column;gap:6px;min-width:0;padding:12px 12px 10px;border-radius:16px;color:inherit;text-decoration:none}
body.courtside-page.v26-page .v26-tile__link:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
body.courtside-page.v26-page .v26-board .v26-chart__area,body.courtside-page.v26-page .v26-board .v26-chart__buy,body.courtside-page.v26-page .v26-board .v26-chart__move,body.courtside-page.v26-page .v26-board .v26-chart__dot{display:none}
body.courtside-page.v26-page .v26-board .v26-chart__line{stroke-width:1.6}
body.courtside-page.v26-page .v26-addtile{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:8px;min-height:44px;padding:12px;border:1.5px dashed var(--line);border-radius:16px;background:none;color:var(--ink);text-align:left;font:inherit;text-decoration:none;cursor:pointer}
body.courtside-page.v26-page .v26-addtile__plus{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:16px;background:var(--raised);color:var(--ink)}
body.courtside-page.v26-page .v26-addtile__plus svg,body.courtside-page.v26-page .v26-h-add__plus svg{width:16px;height:16px}
body.courtside-page.v26-page .v26-addtile__title{font:500 0.875rem/1.1875rem var(--ui)}
body.courtside-page.v26-page .v26-addtile__sub{font:400 0.8125rem/1.125rem var(--ui);color:var(--muted)}
body.courtside-page.v26-page .v26-board__side{grid-area:side;padding:10px var(--gutter) 0}
body.courtside-page.v26-page .v26-board__yours,body.courtside-page.v26-page .v26-board__foot{display:none}
/* R3 W3-10 (P1BoardPhone, redrawn): the phone's watching line is left-aligned under the tiles, 12/17. */
body.courtside-page.v26-page .v26-board__card .v26-card__acts{display:flex;justify-content:flex-start;text-align:left;font:400 0.75rem/1.0625rem var(--ui)}
body.courtside-page.v26-page .v26-board .watchslot{display:inline-flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:0;white-space:normal}
body.courtside-page.v26-page .v26-board .watchslot .watching{display:inline;margin:0;padding:0;border:0;background:none;color:var(--muted);font:inherit;white-space:normal}
body.courtside-page.v26-page .v26-board .watchslot .watching span{display:inline}
body.courtside-page.v26-page .v26-board .watchslot .watching .v26-on-computer{display:none}
body.courtside-page.v26-page .v26-board .watchslot .watching[hidden]~.v26-stop,body.courtside-page.v26-page .v26-board .watchbtn[hidden]+.v26-dot--watch{display:none}
body.courtside-page.v26-page .v26-board__feed{grid-area:feed;min-width:0}
/* Persona review R4 (R3 V1-14, P1BoardPhone): the feed's heading row 6px higher than before (W3 measured it 6px low). */
body.courtside-page.v26-page .v26-board__since{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:14px var(--gutter) 4px}
body.courtside-page.v26-page .v26-board__ago{font:400 0.8125rem/1.125rem var(--ui);color:var(--muted)}
body.courtside-page.v26-page .v26-board .v26-feedhead__title{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
body.courtside-page.v26-page .v26-board .v26-feedhead__side{display:none}
/* Persona review R3 W6-1 (P1BoardEmptyPhone, P1BoardEmptyDesktop): "Your market", then one --surface card. */
body.courtside-page.v26-page .v26-board__empty{display:flex;flex-direction:column;gap:12px;padding:8px var(--gutter) 24px}
body.courtside-page.v26-page .v26-board__empty[hidden],body.courtside-page.v26-page .v26-board__body[hidden]{display:none}
body.courtside-page.v26-page .v26-board__emptycard{display:flex;flex-direction:column;gap:10px;padding:20px;border-radius:16px;background:var(--surface)}
body.courtside-page.v26-page .v26-board__emptycard[hidden]{display:none}
body.courtside-page.v26-page .v26-board__emptyhead{margin:0;font:500 1rem/1.375rem var(--ui);color:var(--ink)}
body.courtside-page.v26-page .v26-board__emptybody{margin:0;font:400 0.875rem/1.25rem var(--ui);color:var(--ink-2)}
body.courtside-page.v26-page .v26-board__empty .v26-board__find{align-self:flex-start;width:auto;margin-top:6px;padding:12px 20px}
body.courtside-page.v26-page .v26-board__now b{font-weight:600;font-variant-numeric:proportional-nums}
body.courtside-page.v26-page .v26-board__pnl--up{color:var(--up)}
body.courtside-page.v26-page .v26-board__pnl--down{color:var(--down)}
body.courtside-page.v26-page .v26-tabs__item[aria-current="page"]{color:var(--ink)}
body.courtside-page.v26-page .v26-nav__item[aria-current="page"]{color:var(--ink);background:var(--raised)}
/* Preview 1's Home (P1HomePhone, P1HomeDesktop). */
body.courtside-page.v26-page .v26-home{display:flex;flex-direction:column}
body.courtside-page.v26-page .v26-h-landing{display:flex;flex-direction:column;gap:14px;padding:12px var(--gutter) 0}
body.courtside-page.v26-page .v26-h-landing[hidden]{display:none}
body.courtside-page.v26-page .v26-h-landing__words{display:flex;flex-direction:column;gap:14px}
/* Persona review R4 K2-8 (R2-13, K3-8): the default skin's overflow-wrap:anywhere on h1 cut "Polymarke/t"; v2.6 headings break at spaces,
   and mid-word only when one word is wider than the line. */
body.courtside-page.v26-page h1,body.courtside-page.v26-page h2{overflow-wrap:break-word}
body.courtside-page.v26-page .v26-h-line{margin:0;max-width:none;font:700 1.75rem/2rem var(--display);letter-spacing:-.015em;color:var(--ink);text-wrap:balance}
body.courtside-page.v26-page .v26-h-sub{margin:0;font:400 0.9375rem/1.375rem var(--ui);color:var(--ink-2)}
body.courtside-page.v26-page .v26-h-foot{margin:0;font:400 0.75rem/1.0625rem var(--ui);color:var(--muted)}
body.courtside-page.v26-page .v26-h-cols{display:flex;flex-direction:column;gap:28px;padding:28px var(--gutter) 0}
/* D111: This market isn't in the preview (P1NotInPhone, P1NotInDesktop). */
body.courtside-page.v26-page .v26-notin__cols{display:flex;flex-direction:column;gap:32px;padding:20px var(--gutter) 24px}
body.courtside-page.v26-page .v26-notin__msg{display:flex;flex-direction:column;gap:14px;margin:0}
body.courtside-page.v26-page .v26-notin__kick{margin:0;font:400 0.8125rem/1.125rem var(--ui);color:var(--muted)}
body.courtside-page.v26-page .v26-notin__msg h1{margin:0;max-width:none;font:700 1.75rem/2rem var(--display);letter-spacing:-.015em;color:var(--ink);text-wrap:balance}
body.courtside-page.v26-page .v26-notin__body{margin:0;font:400 0.9375rem/1.47 var(--ui);color:var(--ink-2)}
body.courtside-page.v26-page .v26-notin__msg .v26-gone__watch{display:flex;flex-direction:column;gap:8px;font:400 0.9375rem/1.375rem var(--ui);color:var(--ink-2)}
body.courtside-page.v26-page .v26-notin__msg .v26-gone__watch[hidden]{display:none}
body.courtside-page.v26-page .v26-notin__msg .v26-gone__watch p{margin:0}
body.courtside-page.v26-page .v26-notin__acts{display:flex;flex-wrap:wrap;align-items:center;gap:4px 20px;padding-top:6px}
body.courtside-page.v26-page .v26-notin__home{display:inline-flex;align-items:center;min-height:48px;padding:.75rem 1.25rem;border-radius:12px;background:var(--ink);color:var(--bg);font:600 0.9375rem/1.25rem var(--ui);text-decoration:none}
body.courtside-page.v26-page .v26-notin__out{display:inline-flex;align-items:center;min-height:44px;font:500 0.9375rem/1.25rem var(--ui);color:var(--ink-2);text-decoration:underline;text-decoration-color:var(--faint);text-underline-offset:3px}
body.courtside-page.v26-page .v26-notin__list{display:flex;flex-direction:column;gap:12px;margin:0}
body.courtside-page.v26-page .v26-h-heroarea{display:flex;flex-direction:column;gap:12px}
body.courtside-page.v26-page .v26-h-heroarea[data-h-nohero]{display:none}
body.courtside-page.v26-page .v26-h-sh{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
body.courtside-page.v26-page .v26-h-sh h2{margin:0;font:600 1.0625rem/1.375rem var(--ui);color:var(--ink)}
body.courtside-page.v26-page .v26-h-side{font:400 0.8125rem/1.125rem var(--ui);color:var(--muted);text-align:right}
body.courtside-page.v26-page .v26-h-hero{display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:16px;background:var(--surface);color:var(--ink);text-decoration:none}
/* Spec 8.7 (R3 V2-17): hovering a whole-card link (the hero, a Home row, the Board tile) steps its fill up one level over
   120 ms; no underline; the focus ring stays for the keyboard. */
body.courtside-page.v26-page .v26-h-hero,body.courtside-page.v26-page .v26-h-row,body.courtside-page.v26-page .v26-board .v26-card--tile{transition:background-color .12s ease-out}
@media (hover:hover){body.courtside-page.v26-page a.v26-h-hero:hover,body.courtside-page.v26-page a.v26-h-row:hover,body.courtside-page.v26-page .v26-board .v26-card--tile:has(.v26-tile__link:hover){background:var(--raised)}}
body.courtside-page.v26-page .v26-h-hero[hidden]{display:none}
body.courtside-page.v26-page .v26-h-hero__top{display:flex;align-items:flex-start;gap:12px;min-width:0}
body.courtside-page.v26-page .v26-h-hero .v26-thumb{width:36px;height:36px;border-radius:10px}
body.courtside-page.v26-page .v26-h-hero .v26-thumb svg{width:20px;height:20px}
body.courtside-page.v26-page .v26-h-hero__titles{display:flex;flex-direction:column;gap:1px;min-width:0}
body.courtside-page.v26-page .v26-h-hero__kick{font:400 0.75rem/1rem var(--ui);color:var(--muted)}
body.courtside-page.v26-page .v26-h-hero__kick:empty{display:none}
body.courtside-page.v26-page .v26-h-hero__name{font:700 1.1875rem/1.4375rem var(--display);color:var(--ink);text-wrap:balance;overflow-wrap:break-word}
body.courtside-page.v26-page .v26-h-hero__price{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px}
body.courtside-page.v26-page .v26-h-hero__label{font:500 0.9375rem/1 var(--ui);color:var(--ink-2)}
body.courtside-page.v26-page .v26-h-hero__num{font:600 2.125rem/1 var(--ui);letter-spacing:-.02em;font-variant-numeric:proportional-nums;color:var(--ink)}
body.courtside-page.v26-page .v26-h-tag{display:inline-flex;align-items:center;min-height:20px;padding:2px 7px;border-radius:6px;background:var(--raised-2);color:var(--ink-2);font:600 0.75rem/1 var(--ui);font-variant-numeric:proportional-nums;white-space:nowrap}
body.courtside-page.v26-page .v26-h-tag:empty{display:none}
body.courtside-page.v26-page .v26-h-tag--move{background:var(--amber-bg);color:var(--amber-text)}
body.courtside-page.v26-page .v26-h-tag--up{background:var(--up-bg);color:var(--up)}
body.courtside-page.v26-page .v26-h-tag--down{background:#331B18;color:var(--down)}
body.courtside-page.v26-page .v26-h-hero__pnl{margin-left:auto;font:600 0.9375rem/1 var(--ui);font-variant-numeric:proportional-nums;color:var(--ink-2)}
body.courtside-page.v26-page .v26-h-hero__pnl[hidden]{display:none}
body.courtside-page.v26-page .v26-h-hero__total{display:none}
body.courtside-page.v26-page .v26-h-list[hidden],body.courtside-page.v26-page .v26-h-list li[hidden],body.courtside-page.v26-page .v26-h-empty[hidden]{display:none}
body.courtside-page.v26-page .v26-h-hero__pnl--up{color:var(--up)}
body.courtside-page.v26-page .v26-h-hero__pnl--down{color:var(--down)}
body.courtside-page.v26-page .v26-h-hero__spark{display:block;width:100%;height:52px;overflow:visible}
body.courtside-page.v26-page .v26-h-hero__spark path,body.courtside-page.v26-page .v26-h-row__spark path{fill:none;stroke:var(--muted);stroke-width:1.8;stroke-linejoin:round;vector-effect:non-scaling-stroke}
/* Persona review R1 #10: the end dot, r3.5 on phone and r4 from 900px, in ink. */
body.courtside-page.v26-page .v26-h-hero__spark .v26-h-hero__dot{stroke:var(--ink);stroke-width:7;stroke-linecap:round}
body.courtside-page.v26-page .v26-h-hero__latest{display:flex;flex-direction:column;padding-top:12px;box-shadow:inset 0 1px 0 var(--sep);font:400 0.8125rem/1.125rem var(--ui);color:var(--ink-2)}
body.courtside-page.v26-page .v26-h-hero__latest[hidden]{display:none}
body.courtside-page.v26-page .v26-h-hero__item{display:flex;align-items:center;gap:8px;min-width:0}
body.courtside-page.v26-page .v26-h-hero__item+.v26-h-hero__item{display:none}
body.courtside-page.v26-page .v26-h-mono{flex:none;display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:6px;background:var(--line);color:var(--ink);font:700 9px/1 var(--ui)}
body.courtside-page.v26-page .v26-h-hero__head{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.courtside-page.v26-page .v26-h-hero__ago{flex:none;color:var(--muted)}
body.courtside-page.v26-page .v26-h-watching{margin:0;font:400 0.75rem/1.0625rem var(--ui);color:var(--muted)}
body.courtside-page.v26-page .v26-h-watching[hidden],body.courtside-page.v26-page .v26-h-add[hidden]{display:none}
body.courtside-page.v26-page .v26-h-watching .v26-on-computer{display:none}
/* Q4: the row is a link to What's moving now. R3 V1-15 (spec 11): radius 12. */
body.courtside-page.v26-page .v26-h-add{display:flex;align-items:center;gap:12px;min-height:52px;padding:0 16px;border:0;border-radius:12px;background:var(--surface);color:var(--ink);text-align:left;font:inherit;text-decoration:none;cursor:pointer}
body.courtside-page.v26-page .v26-h-add__plus{flex:none;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:9px;background:var(--raised-2);color:var(--ink-2)}
body.courtside-page.v26-page .v26-h-add__text{display:flex;flex-direction:column;gap:2px;min-width:0}
body.courtside-page.v26-page .v26-h-add__title{font:500 0.9375rem/1.25rem var(--ui)}
body.courtside-page.v26-page .v26-h-add__sub{font:400 0.75rem/1rem var(--ui);color:var(--muted)}
body.courtside-page.v26-page .v26-h-moving{display:flex;flex-direction:column;gap:12px;scroll-margin-top:56px}
body.courtside-page.v26-page .v26-h-sort{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:3px;border-radius:13px;background:var(--surface)}
body.courtside-page.v26-page .v26-h-sort a{display:flex;align-items:center;justify-content:center;min-height:44px;border-radius:10px;color:var(--muted);font:500 0.875rem/1 var(--ui);text-decoration:none}
body.courtside-page.v26-page .v26-h-sort a[aria-current="true"]{background:var(--line);color:var(--ink)}
/* Persona review R4 K2-9: at 200% text a label wraps inside its segment, which grows with it, instead of running into the next. */
body.courtside-page.v26-page .v26-h-sort a{padding:.375rem .5rem;line-height:1.2;text-align:center;overflow-wrap:break-word}
body.courtside-page.v26-page .v26-h-list{margin:0;padding:0;list-style:none;border-radius:16px;background:var(--surface);overflow:hidden}
body.courtside-page.v26-page .v26-h-list li+li{box-shadow:inset 0 1px 0 var(--sep)}
body.courtside-page.v26-page .v26-h-row{display:flex;align-items:center;gap:12px;min-height:64px;padding:10px 16px;color:var(--ink);text-decoration:none}
body.courtside-page.v26-page .v26-h-row .v26-thumb{width:36px;height:36px;border-radius:10px}
body.courtside-page.v26-page .v26-h-row .v26-thumb svg{width:20px;height:20px}
body.courtside-page.v26-page .v26-h-row__text{flex:1;display:flex;flex-direction:column;gap:3px;min-width:0}
/* R3 K3-7 (spec 8.4): a row's name is three lines at most. */
body.courtside-page.v26-page .v26-h-row__name{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font:500 0.9375rem/1.25rem var(--ui);overflow-wrap:break-word}
body.courtside-page.v26-page .v26-h-row__sub{font:400 0.75rem/1rem var(--ui);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.courtside-page.v26-page .v26-h-row__spark{flex:none;width:36px;height:22px}
body.courtside-page.v26-page .v26-h-row__nums{flex:none;width:58px;display:flex;flex-direction:column;align-items:flex-end;gap:4px}
body.courtside-page.v26-page .v26-h-row__price{font:600 1.0625rem/1.25rem var(--ui);font-variant-numeric:proportional-nums}
body.courtside-page.v26-page .v26-h-row__price--none{font:400 0.75rem/1rem var(--ui);color:var(--muted);text-align:right}
/* Persona review R4 W2-10, V1-11: "No price yet" is one line at one size (12/16) on every row, phone, desktop and not-in;
   its column widens to hold it. */
body.courtside-page.v26-page .v26-h-row .v26-h-row__price.v26-h-row__price--none{font:400 0.75rem/1rem var(--ui);white-space:nowrap}
body.courtside-page.v26-page .v26-h-row .v26-h-row__nums:has(>.v26-h-row__price--none){width:auto;min-width:58px}
/* Persona review R5 K2-R5-2: the name keeps a readable width (9rem, so it grows with the text size); when the row can't
   give it that, the price column wraps under the title, to the right, instead of cutting the name to "Fed Decision in…". */
body.courtside-page.v26-page .v26-h-row{flex-wrap:wrap;row-gap:6px}
body.courtside-page.v26-page .v26-h-row__text{flex:1 1 9rem}
body.courtside-page.v26-page .v26-h-row__spark{margin-left:auto}
body.courtside-page.v26-page .v26-h-row__move{display:inline-flex;align-items:center;min-height:20px;padding:2px 7px;border-radius:6px;background:var(--raised-2);color:var(--ink-2);font:600 0.75rem/1 var(--ui);font-variant-numeric:proportional-nums;white-space:nowrap}
body.courtside-page.v26-page .v26-h-empty{margin:0;padding:16px;border-radius:16px;background:var(--surface);font:400 0.875rem/1.25rem var(--ui);color:var(--ink-2)}
/* R3 K1-3: a watched market that is gone, said on Home as on the Board. */
body.courtside-page.v26-page .v26-h-stale{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:16px;border-radius:16px;background:var(--surface)}
body.courtside-page.v26-page .v26-h-stale[hidden]{display:none}
body.courtside-page.v26-page .v26-h-stale p{margin:0;font:400 0.9375rem/1.375rem var(--ui);color:var(--ink-2)}
body.courtside-page.v26-page .v26-h-stale .v26-btn{width:auto}
body.courtside-page.v26-page .v26-h-foot--end{padding-top:4px}
body.courtside-page.v26-page .v26-home .v26-foot__links{margin:0;font:400 0.75rem/1.0625rem var(--ui);color:var(--muted)}
/* Preview 1's About sources, Privacy and Terms (P1AboutPhone, P1PrivacyPhone; claude/redesign 7e5880d). */
body.courtside-page.v26-page .v26-static__back{margin-left:auto;display:inline-flex;align-items:center;min-height:44px;font:400 0.875rem/1 var(--ui);color:var(--ink-2);text-decoration:none}
body.courtside-page.v26-page .v26-static__back .v26-on-phone{display:inline}
body.courtside-page.v26-page .v26-static{padding:24px var(--gutter) 48px}
body.courtside-page.v26-page .v26-static__rail{display:none}
/* Persona review R1 #19: the base main element's width and padding do not apply here (the phone's right gutter is 16). */
body.courtside-page.v26-page .v26-doc{width:auto;max-width:640px;margin:0;padding:0;font:400 0.9375rem/1.5rem var(--ui);color:var(--ink-2)}
body.courtside-page.v26-page .v26-doc h1{margin:0;font:700 1.75rem/2rem var(--display);letter-spacing:-.015em;color:var(--ink);text-wrap:balance}
body.courtside-page.v26-page .v26-doc h2{margin:36px 0 12px;font:600 1.125rem/1.5rem var(--ui);color:var(--ink);scroll-margin-top:60px}
body.courtside-page.v26-page .v26-doc h3{margin:0 0 8px;font:600 1rem/1.375rem var(--ui);color:var(--ink)}
body.courtside-page.v26-page .v26-doc p,body.courtside-page.v26-page .v26-doc li,body.courtside-page.v26-page .v26-doc dd{color:var(--ink-2)}
body.courtside-page.v26-page .v26-doc b{color:var(--ink);font-weight:600}
body.courtside-page.v26-page .v26-doc p{margin:0 0 14px}
body.courtside-page.v26-page .v26-doc .lede{margin-top:12px;font-size:1rem;line-height:1.5625rem}
body.courtside-page.v26-page .v26-doc .fine{font-size:0.8125rem;line-height:1.25rem;color:var(--muted)}
body.courtside-page.v26-page .v26-doc ul{margin:0 0 14px;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}
body.courtside-page.v26-page .v26-doc ul li{position:relative;padding-left:20px}
body.courtside-page.v26-page .v26-doc ul li::before{content:'';position:absolute;left:4px;top:.72em;width:6px;height:6px;border-radius:3px;background:var(--faint)}
body.courtside-page.v26-page .v26-doc dl{margin:0 0 14px;display:grid;grid-template-columns:7.375rem minmax(0,1fr);border-top:1px solid var(--hairline)}
body.courtside-page.v26-page .v26-doc dt,body.courtside-page.v26-page .v26-doc dd{margin:0;padding:12px 0;border-bottom:1px solid var(--hairline)}
body.courtside-page.v26-page .v26-doc dt{padding-right:12px;font:400 0.8125rem/1.375rem var(--ui);color:var(--muted);overflow-wrap:break-word}
body.courtside-page.v26-page .v26-doc dd{font:400 0.9375rem/1.375rem var(--ui);color:var(--ink);overflow-wrap:break-word}
/* Persona review R5 K2-R5-1: when the page is too narrow for the label column and a readable value (under 22rem, so at
   200% text on a phone), each value stacks under its label instead of breaking letter by letter. rem in a container
   query follows the root's text size. */
body.courtside-page.v26-page .v26-doc{container-type:inline-size}
@container (max-width:22rem){body.courtside-page.v26-page .v26-doc dl{display:block}body.courtside-page.v26-page .v26-doc dt{padding:12px 0 2px;border-bottom:0}body.courtside-page.v26-page .v26-doc dd{padding-top:0}}
body.courtside-page.v26-page .v26-doc .rule{margin:20px 0;padding:16px 20px;border-radius:14px;background:var(--surface);font-size:0.9375rem;line-height:1.4375rem;color:var(--ink-2)}
body.courtside-page.v26-page .v26-doc .rule b{display:block;margin-bottom:4px;font-size:1rem}
body.courtside-page.v26-page .v26-doc .plans,body.courtside-page.v26-page .v26-doc .keep{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin:8px 0 14px}
body.courtside-page.v26-page .v26-doc .plan,body.courtside-page.v26-page .v26-doc .keep>div{padding:16px 18px;border-radius:14px;background:var(--surface)}
body.courtside-page.v26-page .v26-doc .plan ul{gap:6px;margin:0}
body.courtside-page.v26-page .v26-doc .keep>div{font-size:0.9375rem;line-height:1.4375rem;color:var(--ink-2)}
body.courtside-page.v26-page .v26-doc .keep b{display:block;margin-bottom:6px}
body.courtside-page.v26-page .v26-doc .soon{display:inline-flex;align-items:center;min-height:18px;padding:2px 6px;margin-left:6px;border-radius:6px;background:var(--raised-2);color:var(--ink-2);font:600 0.75rem/1 var(--ui);vertical-align:2px}
/* R3 K3-6: the switch never runs past a narrow column. */
body.courtside-page.v26-page .v26-doc .tabs{display:inline-grid;max-width:100%;box-sizing:border-box;grid-template-columns:repeat(2,minmax(0,96px));padding:3px;border-radius:13px;background:var(--surface);margin-bottom:22px}
/* Persona review R2-21: the base .tabs link's -5px margin squeezed the track to 40; with 44 segments it is 50. */
body.courtside-page.v26-page .v26-doc .tabs a{min-height:44px;margin:0;padding:0 10px;border-radius:10px;display:flex;align-items:center;justify-content:center;font:500 0.875rem/1 var(--ui);color:var(--muted);text-decoration:none}
body.courtside-page.v26-page .v26-doc .tabs a[aria-current="page"]{background:var(--line);color:var(--ink)}
body.courtside-page.v26-page .v26-doc .draft{margin:16px 0 6px;padding:12px 16px;border-radius:12px;box-shadow:inset 0 0 0 1px var(--ring);font-size:0.875rem;line-height:1.3125rem;color:var(--ink-2)}
body.courtside-page.v26-page .v26-doc .dates{font-size:0.8125rem;color:var(--muted)}
body.courtside-page.v26-page .v26-doc .ph{padding:0 4px;border-radius:4px;background:var(--raised-2);color:var(--ink);box-shadow:inset 0 -1px 0 var(--muted);font-size:.94em}
body.courtside-page.v26-page .v26-doc .static__foot{margin-top:48px;padding-top:16px;border-top:1px solid var(--hairline);font:400 0.8125rem/1.25rem var(--ui);color:var(--muted)}
/* Persona review R2-20: the legal footer links are 44 targets without moving the line. */
body.courtside-page.v26-page .v26-doc .static__foot a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:0 6px;margin:-12px 0}
body.courtside-page.v26-page .v26-doc .static__foot a:first-child{margin-left:-6px}
body.courtside-page.v26-page .v26-otp{margin:22px 0 4px;padding:4px 16px;border-radius:14px;background:var(--surface)}
body.courtside-page.v26-page .v26-otp summary{min-height:44px;display:flex;align-items:center;justify-content:space-between;font:600 0.875rem/1 var(--ui);color:var(--ink);cursor:pointer;list-style:none}
body.courtside-page.v26-page .v26-otp summary::-webkit-details-marker{display:none}
body.courtside-page.v26-page .v26-otp summary span{font-weight:400;color:var(--muted)}
body.courtside-page.v26-page .v26-doc .v26-toc,body.courtside-page.v26-page .v26-toc{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:0}
body.courtside-page.v26-page .v26-doc .v26-toc li{padding-left:0}
body.courtside-page.v26-page .v26-doc .v26-toc li::before{display:none}
body.courtside-page.v26-page .v26-otp .v26-toc a{display:flex;align-items:center;min-height:44px;border-top:1px solid var(--sep);font:400 0.875rem/1.125rem var(--ui);color:var(--ink-2);text-decoration:none}
@media (min-width:900px){
  html:has(body.courtside-page.v26-page),body.courtside-page.v26-page{height:auto;overflow:visible}
  body.courtside-page.v26-page .app{height:auto;display:block;overflow:visible;padding:0 0 120px}
  body.courtside-page.v26-page .top.v26-top{height:auto;min-height:3.5rem}
  body.courtside-page.v26-page .v26-logo{font-size:1.375rem}
  body.courtside-page.v26-page .v26-thumb{width:48px;height:48px;border-radius:13px}
  body.courtside-page.v26-page .v26-title h1{font-size:1.75rem;line-height:2rem}
  /* R3 V2-15 (P1MarketDesktop): the title's kicker is 13/18. */
  body.courtside-page.v26-page .v26-kicker{font-size:0.8125rem;line-height:1.125rem}
  /* Persona review R2-27 (P1MarketDesktop): the credit and the view-only line are 13/18. */
  body.courtside-page.v26-page .v26-credit,body.courtside-page.v26-page .v26-credit__note{font-size:0.8125rem;line-height:1.125rem}
  body.courtside-page.v26-page .v26-credit__note{margin-top:0}
  /* Persona review R1 #25 (P1MarketDesktop): the credit lines up with the title, past the 48px thumbnail and its gap. */
  body.courtside-page.v26-page .v26-title .v26-credit-block{padding-left:60px}
  body.courtside-page.v26-page .v26-hero__price{font-size:2.5rem}
  body.courtside-page.v26-page .field{flex:none;height:420px;min-height:400px}
  body.courtside-page.v26-page .feed{position:static;width:auto;max-width:none;margin:22px 0 0;overflow:visible;border:0;border-radius:0;background:none;backdrop-filter:none;-webkit-backdrop-filter:none}
  body.courtside-page.v26-page .feedhead{position:static;padding:0 4px 12px;background:none}
  body.courtside-page.v26-page{--v26-pill-top:72px}
  body.courtside-page.v26-page .app{max-width:1280px}
  /* Persona review R1 #37: the header's hairline runs edge to edge past the 1280 container (drawn as ink overflow, so the
     page never scrolls sideways). */
  body.courtside-page.v26-page .top.v26-top{gap:24px;padding:0 32px;border-bottom:1px solid var(--hairline);border-image:linear-gradient(var(--hairline),var(--hairline)) 0 0 1 0 / 0 0 1px 0 / 0 100vmax 0 100vmax}
  body.courtside-page.v26-page .v26-back{display:none}
  body.courtside-page.v26-page .v26-nav{display:flex}
  body.courtside-page.v26-page .v26-tabs{display:none}
  /* R1 #28 (spec rule 5): surfaces separate by fill, so no ring. */
  body.courtside-page.v26-page .v26-lookbar{position:static;flex-direction:row;align-items:center;gap:16px;margin:14px 0 0;padding:12px 12px 12px 18px;border:0;border-radius:12px;background:var(--surface)}
  body.courtside-page.v26-page .v26-lookbar__text{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal;flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}
  body.courtside-page.v26-page .v26-lookbar__pitch{display:block;margin:0;font:400 0.8125rem/1.125rem var(--ui);color:var(--muted)}
  /* R4 K2-4, V1-16 (spec 8.7): 44 high, growing with its label at larger text. */
  body.courtside-page.v26-page .v26-lookbar__btn{width:auto;min-height:44px;padding-top:.625rem;padding-bottom:.625rem}
  body.courtside-page.v26-page .v26-lookbar__fine{display:none}
  /* R1 question 3: on desktop the note takes the pitch's place, under "Hold a side here?", the button beside both. */
  body.courtside-page.v26-page .v26-lookbar{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:16px;row-gap:2px}
  body.courtside-page.v26-page .v26-lookbar__text{grid-column:1;grid-row:1}
  body.courtside-page.v26-page .v26-lookbar__btn{grid-column:2;grid-row:1 / span 2}
  body.courtside-page.v26-page .v26-lookbar__stopped{grid-column:1;grid-row:2;text-align:left}
  body.courtside-page.v26-page .v26-lookbar.is-stopped .v26-lookbar__pitch{display:none}
  body.courtside-page.v26-page .v26-cols{display:grid;grid-template-columns:minmax(0,680px) minmax(280px,1fr);grid-template-rows:auto 1fr;grid-template-areas:"main about" "feed about";gap:0 48px;align-items:start;padding:24px 32px 0}
  body.courtside-page.v26-page .v26-main{grid-area:main;min-width:0}
  body.courtside-page.v26-page .v26-main--feed{grid-area:feed}
  body.courtside-page.v26-page .v26-about{grid-area:about}
  body.courtside-page.v26-page .titlerow.v26-title{padding:0}
  /* Persona review R1 #34 (P1MarketDesktop): 12 under the card's last row, and "today" under the price row. */
  body.courtside-page.v26-page .v26-card{--v26-chart-h:132px;grid-template-columns:256px minmax(0,1fr);gap:12px 0;margin:24px 0 0;padding:0;overflow:hidden}
  body.courtside-page.v26-page .v26-hero__note{flex-basis:100%;margin-top:-4px}
  body.courtside-page.v26-page .v26-card.v26-card--flat{--v26-chart-h:88px}
  /* Persona review R2-27 (P1MarketDesktop): the text is padded 20 and the plot 16 16 12 0, so the card is 183 high. */
  body.courtside-page.v26-page .v26-card__text{display:flex;flex-direction:column;gap:8px;padding:20px}
  body.courtside-page.v26-page .v26-card__plot{display:flex;flex-direction:column;gap:8px;min-width:0;padding:16px 16px 12px 0}
  body.courtside-page.v26-page .v26-card>:not(.v26-card__text):not(.v26-card__plot){grid-column:1/-1;margin:0 20px}
  body.courtside-page.v26-page .v26-card__plot>.v26-chart{margin-top:0}
  body.courtside-page.v26-page .v26-hero{margin-top:4px}
  body.courtside-page.v26-page .v26-hero__side{font-size:1rem}
  body.courtside-page.v26-page .v26-context__pnl{display:block}
  body.courtside-page.v26-page .v26-context__you{display:none}
  body.courtside-page.v26-page .v26-context__hold{display:inline}
  body.courtside-page.v26-page .v26-on-phone,body.courtside-page.v26-page .v26-card__acts .watchslot .watching .v26-on-phone{display:none}
  body.courtside-page.v26-page .v26-main>.v26-card__acts{margin:12px 0 0;font:400 0.8125rem/1.125rem var(--ui)}
  body.courtside-page.v26-page .v26-main>.v26-card__acts .v26-link{font-size:0.8125rem;line-height:1.125rem}
  body.courtside-page.v26-page .v26-on-computer,body.courtside-page.v26-page .v26-card__acts .watchslot .watching .v26-on-computer{display:inline}
  body.courtside-page.v26-page .v26-sheet{align-items:center}
  body.courtside-page.v26-page .v26-sheet__panel{width:440px;max-width:calc(100vw - 64px);padding:28px;border-radius:20px;box-shadow:0 24px 60px rgba(0,0,0,.5)}
  body.courtside-page.v26-page .v26-sheet__handle{display:none}
  body.courtside-page.v26-page .v26-x{display:flex}
  /* R4 K2-6: focus never lands under the sticky 56px header. */
  /* R5 K2-R5-6: the header's height (measured, else 3.5rem: 56 at 100%, 112 at 200% text) plus 16. */
  html:has(body.courtside-page.v26-page){scroll-padding-top:calc(var(--v26-top, 3.5rem) + 16px)}
  /* R1 #8 (P1F_watch_desk_side, _price, _done): the top row, three side tiles, the price and shares side by side. */
  body.courtside-page.v26-page .v26-sheet__top{display:flex;justify-content:space-between;align-items:center;margin:-6px 0 14px}
  body.courtside-page.v26-page .v26-sheet__rows>.v26-sheet__devicerow{display:flex}
  body.courtside-page.v26-page .v26-sides{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
  body.courtside-page.v26-page .v26-side{flex-direction:column;justify-content:center;gap:4px;min-height:72px;padding:0 8px;text-align:center}
  body.courtside-page.v26-page .v26-side__note{font-size:0.8125rem;line-height:1.125rem}
  body.courtside-page.v26-page .v26-more{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0;background:none}
  body.courtside-page.v26-page .v26-field{flex-direction:column;align-items:stretch;justify-content:flex-start;gap:6px;font-size:0.75rem;line-height:1rem;color:var(--muted)}
  body.courtside-page.v26-page .v26-field--paid{order:1}body.courtside-page.v26-page .v26-field--shares{order:2}body.courtside-page.v26-page .v26-more [data-v26-field-error="paid"]{order:3;grid-column:1/-1}body.courtside-page.v26-page .v26-more [data-v26-field-error="shares"]{order:4;grid-column:1/-1}body.courtside-page.v26-page .v26-more .v26-chips{order:5;grid-column:1/-1}body.courtside-page.v26-page .v26-more .v26-sheet__fine{order:6;grid-column:1/-1}
  body.courtside-page.v26-page .v26-field__num{height:44px;padding:0 12px;border-radius:10px;background:var(--bg);box-shadow:none;font-size:1.0625rem}
  body.courtside-page.v26-page .v26-field input{flex:1;width:auto;min-width:0;font-size:1.0625rem;text-align:left}
  body.courtside-page.v26-page .v26-field--shares input{font-weight:400}
  body.courtside-page.v26-page .v26-gate .v26-btn--quiet{min-height:44px;padding-top:.625rem;padding-bottom:.625rem}
  body.courtside-page.v26-page .v26-gate__swap{padding:18px}
  /* R3 V2-1 (P1EditSideDesktop): Cancel then Save changes, right-aligned, both 44 high. */
  body.courtside-page.v26-page .v26-sheet[data-v26-mode="edit"] .v26-sheet__acts{flex-direction:row-reverse;justify-content:flex-start;gap:8px}
  body.courtside-page.v26-page .v26-sheet[data-v26-mode="edit"] .v26-sheet__acts .v26-btn{width:auto;min-height:44px;padding:.625rem 1.25rem}
  body.courtside-page.v26-page .v26-sheet[data-v26-mode="edit"] .v26-sheet__acts .v26-btn--ghost{padding:.625rem 1rem}
  /* Fourth QA pass: in the 208px text column the money takes its own line ("−$12 total"), so no line starts with a dot. */
  body.courtside-page.v26-page .v26-context__money{display:block;white-space:nowrap}
  body.courtside-page.v26-page .v26-context__money .v26-context__sep{display:none}
  body.courtside-page.v26-page .feed{padding:0}
  body.courtside-page.v26-page .v26-feedhead{justify-content:space-between;align-items:baseline;margin:0 0 4px}
  body.courtside-page.v26-page .v26-feedhead__title{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto;white-space:normal;font:600 1.0625rem/1.375rem var(--ui);color:var(--ink)}
  body.courtside-page.v26-page .v26-feedhead__side{display:inline;font:400 0.75rem/1rem var(--ui);color:var(--muted)}
  /* R5 K2-R5-6, K2-R5-5: under the header at any text size, and no taller than the screen below it (it scrolls itself). */
  body.courtside-page.v26-page .v26-about{display:flex;position:sticky;top:calc(var(--v26-top, 3.5rem) + 24px);max-height:calc(100dvh - var(--v26-top, 3.5rem) - 48px);overflow-y:auto;overscroll-behavior:contain;padding-bottom:24px}
  body.courtside-page.v26-page .v26-board__toptitle,body.courtside-page.v26-page .v26-board__count--row{display:none}
  /* R4 V1-4, W2-7: the Board's wordmark centres in the header as on every other page. */
  body.courtside-page.v26-page .v26-board .v26-top .v26-logo{display:inline-flex}
  /* R3 V2-11: the count's right edge lines up with the 680 column (x712). */
  body.courtside-page.v26-page .v26-board__headrow{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto;white-space:normal;display:flex;padding:28px 32px 0;max-width:744px;box-sizing:border-box}
  body.courtside-page.v26-page .v26-board__empty .v26-board__h1{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto;white-space:normal}
  body.courtside-page.v26-page .v26-board__h1{font-size:1.75rem;line-height:2rem}
  body.courtside-page.v26-page .v26-board__h2--yours{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
  body.courtside-page.v26-page .v26-board__grid{grid-template-columns:680px minmax(0,1fr);grid-template-areas:"tiles side" "feed side";column-gap:48px;padding:0 32px;align-items:start}
  body.courtside-page.v26-page .v26-board__tiles{padding:12px 0 0}
  body.courtside-page.v26-page .v26-board__row{gap:12px;margin:0}
  body.courtside-page.v26-page .v26-board .v26-card{display:flex;flex-direction:column;margin:0;padding:12px 12px 10px;overflow:visible;--v26-chart-h:28px}
  body.courtside-page.v26-page .v26-board .v26-card.v26-card--flat{--v26-chart-h:28px}
  body.courtside-page.v26-page .v26-board .v26-card__text,body.courtside-page.v26-page .v26-board .v26-card__plot{padding:0;gap:6px}
  body.courtside-page.v26-page .v26-board .v26-card>:not(.v26-card__text):not(.v26-card__plot){margin:0}
  body.courtside-page.v26-page .v26-board .v26-hero{margin:0}
  body.courtside-page.v26-page .v26-board .v26-hero__price{font-size:1.375rem}
  body.courtside-page.v26-page .v26-board .v26-context__pnl{display:block}
  body.courtside-page.v26-page .v26-board .v26-context__you{display:inline}
  body.courtside-page.v26-page .v26-board .v26-context__hold{display:none}
  /* Persona review R2-24 (P1BoardDesktop): the card starts level with the tiles (y128). */
  body.courtside-page.v26-page .v26-board__side{position:sticky;top:calc(var(--v26-top, 3.5rem) + 24px);display:flex;flex-direction:column;gap:16px;padding:12px 0 24px}
  body.courtside-page.v26-page .v26-board__card{display:flex;flex-direction:column;gap:10px;padding:18px 20px;border-radius:16px;background:var(--surface)}
  body.courtside-page.v26-page .v26-board__yours{display:flex;flex-direction:column;gap:4px}
  body.courtside-page.v26-page .v26-board__yours[hidden]{display:none}
  body.courtside-page.v26-page .v26-board__v,body.courtside-page.v26-page .v26-board__now{margin:0;font:400 0.9375rem/1.375rem var(--ui);color:var(--ink)}
  body.courtside-page.v26-page .v26-board__now{color:var(--ink-2)}
  /* R2-24: the watching line is left-aligned in the card, its links at the line's 13/18, and the divider only follows a
     shown "Your side" (a just-watching viewer's card has no empty top). */
  body.courtside-page.v26-page .v26-board__card .v26-card__acts{justify-content:flex-start;text-align:left;font-size:0.8125rem;line-height:1.125rem}
  body.courtside-page.v26-page .v26-board .watchslot{justify-content:flex-start}
  body.courtside-page.v26-page .v26-board__card .v26-link{font-size:0.8125rem;line-height:1.125rem}
  body.courtside-page.v26-page .v26-board__yours:not([hidden])+.v26-card__acts{padding-top:4px;border-top:1px solid var(--sep)}
  body.courtside-page.v26-page .v26-board .watchslot .watching .v26-on-phone{display:none}
  body.courtside-page.v26-page .v26-board .watchslot .watching .v26-on-computer{display:inline}
  body.courtside-page.v26-page .v26-board__foot{display:block;margin:0;font:400 0.75rem/1.0625rem var(--ui);color:var(--muted)}
  body.courtside-page.v26-page .v26-board__since{padding:16px 0 4px}
  body.courtside-page.v26-page .v26-board__empty{padding:28px 32px 32px;max-width:744px}
  body.courtside-page.v26-page .v26-board__h2--empty{display:none}
  body.courtside-page.v26-page .v26-board .feed{margin:0}
  body.courtside-page.v26-page .v26-notin__cols{flex-direction:row;align-items:flex-start;gap:64px;padding:56px 32px 32px}
  body.courtside-page.v26-page .v26-notin__msg{width:520px;flex:none}
  body.courtside-page.v26-page .v26-notin__msg h1{font-size:2.5rem;line-height:2.75rem}
  body.courtside-page.v26-page .v26-notin__body{font-size:1.0625rem}
  body.courtside-page.v26-page .v26-notin__list{flex:1;min-width:0;padding-top:4px}
  body.courtside-page.v26-page .v26-notin .v26-h-list{border-radius:16px;background:var(--surface)}
  body.courtside-page.v26-page .v26-notin .v26-h-list li+li{box-shadow:inset 0 1px 0 var(--sep)}
  body.courtside-page.v26-page .v26-notin .v26-h-row{gap:12px;padding:10px 16px;border-bottom:0}
  /* Persona review R1 #16 (P1NotInDesktop): the list's price 17/20/600 over a neutral move tag, as on phone. */
  body.courtside-page.v26-page .v26-notin .v26-h-row__nums{width:58px;gap:4px}
  body.courtside-page.v26-page .v26-notin .v26-h-row__price{font-size:1.0625rem;line-height:1.25rem}
  body.courtside-page.v26-page .v26-notin .v26-h-row__move{min-height:20px;padding:2px 7px;background:var(--raised-2);font:600 0.75rem/1 var(--ui)}
  body.courtside-page.v26-page .v26-h-landing{padding:40px 32px 0}
  body.courtside-page.v26-page .v26-h-landing__words{width:680px;max-width:100%}
  body.courtside-page.v26-page .v26-h-line{font-size:2.875rem;line-height:3.125rem;letter-spacing:-.02em}
  body.courtside-page.v26-page .v26-h-sub{font-size:1.125rem;line-height:1.6875rem}
  body.courtside-page.v26-page .v26-h-cols{flex-direction:row;align-items:flex-start;gap:48px;padding:32px 32px 32px}
  body.courtside-page.v26-page .v26-h-heroarea{width:680px;flex:none;gap:14px}
  body.courtside-page.v26-page .v26-h-moving{flex:1;min-width:0}
  body.courtside-page.v26-page .v26-h-hero{gap:14px;padding:22px 24px}
  body.courtside-page.v26-page .v26-h-hero .v26-thumb{width:48px;height:48px;border-radius:13px}
  body.courtside-page.v26-page .v26-h-hero .v26-thumb svg{width:26px;height:26px}
  body.courtside-page.v26-page .v26-h-hero__kick{font-size:0.8125rem;line-height:1.125rem}
  body.courtside-page.v26-page .v26-h-hero__name{font-size:1.625rem;line-height:1.875rem}
  body.courtside-page.v26-page .v26-h-hero__label{font-size:1rem}
  body.courtside-page.v26-page .v26-h-hero__num{font-size:2.5rem}
  body.courtside-page.v26-page .v26-h-hero__spark{height:64px}
  body.courtside-page.v26-page .v26-h-hero__spark path{stroke:var(--ink-2);stroke-width:2}
  body.courtside-page.v26-page .v26-h-hero__spark .v26-h-hero__dot{stroke:var(--ink);stroke-width:8}
  /* R1 #10 (P1HomeDesktop): three latest items under a hairline, each with a hairline, 22px monograms, the headline
     15/21 in ink and wrapping, the age 13. */
  body.courtside-page.v26-page .v26-h-hero__latest{padding-top:0;box-shadow:inset 0 1px 0 var(--hairline);font-size:0.9375rem;line-height:1.3125rem;color:var(--ink)}
  body.courtside-page.v26-page .v26-h-hero__item,body.courtside-page.v26-page .v26-h-hero__item+.v26-h-hero__item{display:flex;gap:10px;padding:10px 0}
  body.courtside-page.v26-page .v26-h-hero__item+.v26-h-hero__item{box-shadow:inset 0 1px 0 var(--hairline)}
  body.courtside-page.v26-page .v26-h-hero__item .v26-h-mono{width:22px;height:22px}
  body.courtside-page.v26-page .v26-h-hero__item .v26-h-hero__head{white-space:normal}
  body.courtside-page.v26-page .v26-h-hero__item .v26-h-hero__ago{font-size:0.8125rem}
  body.courtside-page.v26-page .v26-h-watching{font-size:0.8125rem;line-height:1.125rem}
  body.courtside-page.v26-page .v26-h-hero__total{display:inline}
  body.courtside-page.v26-page .v26-h-watching .v26-on-phone{display:none}
  body.courtside-page.v26-page .v26-h-watching .v26-on-computer{display:inline}
  body.courtside-page.v26-page .v26-h-add{background:none;border:1.5px dashed var(--line);border-radius:12px;padding:0 18px}
  body.courtside-page.v26-page .v26-h-add__plus{width:auto;height:auto;background:none}
  body.courtside-page.v26-page .v26-h-add__text{flex:1;flex-direction:row;justify-content:space-between;align-items:center;gap:12px}
  body.courtside-page.v26-page .v26-h-add__sub{font-size:0.8125rem}
  body.courtside-page.v26-page .v26-h-list{border-radius:0;background:none}
  body.courtside-page.v26-page .v26-h-list li+li{box-shadow:none}
  body.courtside-page.v26-page .v26-h-row{gap:14px;padding:12px 0;border-bottom:1px solid var(--hairline)}
  body.courtside-page.v26-page .v26-h-row__spark{width:72px;height:26px}
  body.courtside-page.v26-page .v26-h-row__nums{width:70px;gap:3px}
  body.courtside-page.v26-page .v26-h-row__price{font-size:1rem}
  body.courtside-page.v26-page .v26-h-row__move{min-height:0;padding:0;background:none;font:500 0.8125rem/1 var(--ui)}
  body.courtside-page.v26-page .v26-static__back .v26-on-phone{display:none}
  body.courtside-page.v26-page .v26-static__back .v26-on-computer{display:inline}
  body.courtside-page.v26-page .v26-static{display:flex;gap:64px;padding:48px 32px 64px}
  body.courtside-page.v26-page .v26-static__rail{display:block;width:240px;flex:none}
  /* R3 W2-6 (P1PrivacyDesktop): the rail stays in view, 24 from the top (the header scrolls away here). */
  /* R4 K2-2: the rail sits below the 56px header and scrolls inside itself when taller than the screen. */
  body.courtside-page.v26-page .v26-static__railbox{position:sticky;top:calc(3.5rem + 24px);max-height:calc(100dvh - 3.5rem - 48px);overflow-y:auto;overscroll-behavior:contain}
  body.courtside-page.v26-page .v26-static__railhead{margin:0;padding:0 0 10px 16px;font:600 0.6875rem/0.875rem var(--ui);letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
  /* R3 K4-6 (spec 7): each rail link is a 44-high target. */
  body.courtside-page.v26-page .v26-static__rail .v26-toc a{display:block;padding:13px 0 13px 14px;border-left:2px solid var(--hairline);font:400 0.8125rem/1.125rem var(--ui);color:var(--muted);text-decoration:none}
  body.courtside-page.v26-page .v26-static__rail .v26-toc a:hover{color:var(--ink);border-left-color:var(--ink)}
  /* R1 #19: the section being read, ink with a 2px ink marker. */
  body.courtside-page.v26-page .v26-static__rail .v26-toc a[aria-current="location"]{color:var(--ink);border-left-color:var(--ink)}
  body.courtside-page.v26-page .v26-otp{display:none}
  /* R3 K3-1: from 900 to 1007 the text column gives way beside the rail (a 32 gutter stays); 640 at most. */
  body.courtside-page.v26-page .v26-doc{width:auto;max-width:640px;flex:0 1 640px;min-width:0;font-size:1rem;line-height:1.625rem}
  body.courtside-page.v26-page .v26-doc h1{font-size:2.5rem;line-height:2.875rem}
  body.courtside-page.v26-page .v26-doc h2{margin-top:44px;font-size:1.25rem;line-height:1.625rem;scroll-margin-top:68px}
  body.courtside-page.v26-page .v26-doc .lede{margin-top:14px;font-size:1.125rem;line-height:1.75rem}
  body.courtside-page.v26-page .v26-doc dl{grid-template-columns:9.375rem minmax(0,1fr)}
  body.courtside-page.v26-page .v26-doc .plans,body.courtside-page.v26-page .v26-doc .keep{grid-template-columns:repeat(2,minmax(0,1fr))}
}
/* D109 amendment 1 (spec 9): times are written once, in the viewer's zone, by the page's script (V26_TIME_JS). Until it has
   (html[data-v26-times]), what the server wrote (a UTC fallback for a browser without scripts) stays invisible, so a time
   never visibly changes after load. Without scripts the rule does not apply and the labelled UTC text shows.
   Tier B review of d2b2ee9, B1: if the script never gets there (market.js fails to load, or an earlier part of it
   throws), the times show anyway after 2 s, by CSS alone: a zero-length animation ends on visible and holds it. A format
   before then removes the rule (and the animation) first, so nothing visibly changes. It is a jump, not motion, so it is
   !important over the reduced-motion rules that switch animations off (and wins them on specificity). */
@media (scripting:enabled){html:not([data-v26-times]) body.courtside-page.v26-page time,html:not([data-v26-times]) body.courtside-page.v26-page [data-local-date]{visibility:hidden;animation:v26-reveal 0s 2s forwards!important}}
@keyframes v26-reveal{to{visibility:visible}}
/* Design rule 2026-10-02: the freshness label's check time falls back the same way. Without scripts it reads "checked
   3:42 PM UTC" at once; with scripts it reads the server's "updated 20s ago" (what the card's script will write) until
   the times are released, and only if that never happens, after 2 s, the check time takes its place. Both are zero-
   length jumps of max-width, not motion; the -6px takes back the flex gap the zero-width one would add. */
@media (scripting:none){body.courtside-page.v26-page .v26-axis__checked{display:inline}body.courtside-page.v26-page .v26-axis__fresh[data-v26-checked] [data-v26-fresh-text]{display:none}}
@media (scripting:enabled){html:not([data-v26-times]) body.courtside-page.v26-page .v26-axis__checked{display:inline-block;max-width:0;margin-left:-6px;overflow:hidden;white-space:nowrap;animation:v26-reveal 0s 2s forwards,v26-open 0s 2s forwards!important}html:not([data-v26-times]) body.courtside-page.v26-page .v26-axis__fresh[data-v26-checked] [data-v26-fresh-text]{display:inline-block;max-width:20em;overflow:hidden;white-space:nowrap;animation:v26-shut 0s 2s forwards!important}}
@keyframes v26-open{to{max-width:20em}}
@keyframes v26-shut{to{max-width:0;visibility:hidden}}
/* R3 K3-2: at 195 to 359 wide a Home or not-in row drops its line, then its thumbnail, so the name keeps a readable width. */
@media (max-width:359px){body.courtside-page.v26-page .v26-h-row__spark{display:none}body.courtside-page.v26-page .v26-h-row__nums{margin-left:auto}}
@media (max-width:259px){body.courtside-page.v26-page .v26-h-row .v26-thumb{display:none}}
/* Persona review R2-13 (200% text, 200% zoom on phone): words break only at spaces (titles and names use break-word); the
   card's header wraps; the card keeps its chart's tag and the axis inside it, never pushing the page sideways. */
@media (max-width:899px){body.courtside-page.v26-page .v26-card{overflow:hidden}}
/* Persona review R2-27, as revised by R4 (R3 V1-11, P1MarketPhone): on phone the chart runs from the card's left edge (x16
   on a 390 screen) to 4px short of its right edge, so the 8px live dot at the line's end is not cut by the card. */
@media (max-width:899px){body.courtside-page.v26-page .v26-card:not(.v26-card--tile) .v26-card__plot>.v26-chart,body.courtside-page.v26-page .v26-card:not(.v26-card--tile) .v26-card__plot>.v26-chart__over{margin-left:-16px;margin-right:-12px}}
/* Chart to feed: below 900px the card is a grid, whose row for the layer over the chart can't be shorter than nothing, so
   it adds one gap; the row after it takes that gap back, so the caption and the axis stay where they were. */
@media (max-width:899px){body.courtside-page.v26-page .v26-card .v26-chart__over+.v26-chart__caption:not([hidden]),body.courtside-page.v26-page .v26-card .v26-chart__over+.v26-chart__caption[hidden]+.v26-axis{margin-top:-8px}}
/* R4 V1-1, as decided in R5 (call 5, W3-3): one axis row that never cuts "you bought 42¢" or the freshness label; the
   card's script drops ", you left" first when the start label doesn't fit, then the start label ellipsizes. */
body.courtside-page.v26-page .v26-axis{flex-wrap:nowrap;min-width:0}
/* Persona review R6 C2-1: the card's one column never grows to the axis row's no-wrap width (511 in a 358 card at 200%
   text), so the start label ellipsizes as on desktop instead of the whole card clipping. */
@media (max-width:899px){body.courtside-page.v26-page .v26-card{grid-template-columns:minmax(0,1fr)}}
/* R6 C2-1: when even "you bought" and the freshness label can't share one row (200% text on a phone), the card's script
   lets the row wrap rather than cut either; the start label keeps whatever is left on the first line. */
body.courtside-page.v26-page .v26-axis.v26-axis--wrap{flex-wrap:wrap}
body.courtside-page.v26-page .v26-axis.v26-axis--wrap>span:first-child{flex:1 1 0}
body.courtside-page.v26-page .v26-axis>span{flex:none}
body.courtside-page.v26-page .v26-axis>span:first-child{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* Persona review R1 #3: between 900 and 1180 wide the 680 hero column left the list a sliver (232 at 1024, one letter per
   line), so Home stacks its two columns there, 28 apart as on phone; R2-28 (design call): the single column is 760 wide. */
@media (min-width:900px) and (max-width:1179px){
  body.courtside-page.v26-page .v26-h-cols{flex-direction:column;gap:28px}
  body.courtside-page.v26-page .v26-h-heroarea,body.courtside-page.v26-page .v26-h-moving{width:100%;max-width:760px;flex:none}
}
/* Persona review R1 #18 (DESIGN-SYSTEM.md 10): on a short screen (under 560px of height, as at 200% zoom on a phone)
   the fixed watch bar is its 48px button alone, with no helper line. */
@media (max-width:899px) and (max-height:559px){
  /* Q8 (decided): the tab bar steps away while scrolling down; the watch bar drops to the foot with it. */
  body.courtside-page.v26-page .v26-tabs{transition:transform .2s ease-out}
  body.courtside-page.v26-page .v26-tabs.is-away{transform:translateY(100%)}
  body.courtside-page.v26-page:has(.v26-tabs.is-away) .v26-lookbar{bottom:env(safe-area-inset-bottom)}
  body.courtside-page.v26-page .v26-lookbar{gap:0;padding:6px var(--gutter)}
  body.courtside-page.v26-page .v26-lookbar__fine,body.courtside-page.v26-page .v26-lookbar__stopped{display:none}
  /* R5 decided call 6: the short bar is its Watch button alone (the title kept for assistive tech). */
  body.courtside-page.v26-page .v26-lookbar__title,body.courtside-page.v26-page .v26-lookbar__pitch{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  body.courtside-page.v26-page .v26-app:has([data-v26-lookbar]:not([hidden])){padding-bottom:calc(var(--v26-bottom, 120px + env(safe-area-inset-bottom)) + 24px)}
}
/* Persona review R4 K2-12 (decided 2026-10-02): the same short form when the header and the bars at the foot would take
   more than 40% of the screen's height (the page script sets v26-tight); the tab bar stays, and the stopped line is still
   read out. */
@media (max-width:899px){
  body.courtside-page.v26-page.v26-tight .v26-lookbar{gap:0;padding:6px var(--gutter)}
  body.courtside-page.v26-page.v26-tight .v26-lookbar__fine{display:none}
  /* Persona review R5, decided call 6 (K2-R5-7): the tight bar is its Watch button alone; the title stays for assistive
     tech (it names the bar), out of sight. */
  body.courtside-page.v26-page.v26-tight .v26-lookbar__title,body.courtside-page.v26-page.v26-tight .v26-lookbar__pitch{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  body.courtside-page.v26-page.v26-tight .v26-lookbar__stopped{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  body.courtside-page.v26-page.v26-tight .v26-app:has([data-v26-lookbar]:not([hidden])){padding-bottom:calc(var(--v26-bottom, 120px + env(safe-area-inset-bottom)) + 24px)}
}
/* Persona review R1 #35: "this phone" or "this computer" follows the device, not the width: a computer zoomed to a phone's
   width still says computer, and a tablet held wide still says phone. The static pages' back link keeps its width rule. */
@media (max-width:899px) and (hover:hover) and (pointer:fine){
  body.courtside-page.v26-page .v26-on-phone,body.courtside-page.v26-page .v26-card__acts .watchslot .watching .v26-on-phone,body.courtside-page.v26-page .v26-board .watchslot .watching .v26-on-phone,body.courtside-page.v26-page .v26-h-watching .v26-on-phone{display:none}
  body.courtside-page.v26-page .v26-on-computer,body.courtside-page.v26-page .v26-card__acts .watchslot .watching .v26-on-computer,body.courtside-page.v26-page .v26-board .watchslot .watching .v26-on-computer,body.courtside-page.v26-page .v26-h-watching .v26-on-computer{display:inline}
  body.courtside-page.v26-page .v26-static__back .v26-on-phone{display:inline}
  body.courtside-page.v26-page .v26-static__back .v26-on-computer{display:none}
}
@media (min-width:900px) and (pointer:coarse){
  body.courtside-page.v26-page .v26-on-phone,body.courtside-page.v26-page .v26-card__acts .watchslot .watching .v26-on-phone,body.courtside-page.v26-page .v26-board .watchslot .watching .v26-on-phone,body.courtside-page.v26-page .v26-h-watching .v26-on-phone{display:inline}
  body.courtside-page.v26-page .v26-on-computer,body.courtside-page.v26-page .v26-card__acts .watchslot .watching .v26-on-computer,body.courtside-page.v26-page .v26-board .watchslot .watching .v26-on-computer,body.courtside-page.v26-page .v26-h-watching .v26-on-computer{display:none}
  body.courtside-page.v26-page .v26-static__back .v26-on-phone{display:none}
  body.courtside-page.v26-page .v26-static__back .v26-on-computer{display:inline}
}


/* The home page, landing state (D94 point 1). Server-rendered; no layout depends on script. */
body.home-page{margin:0;background:var(--bg) radial-gradient(120% 70% at 28% 0%,#161E2A 0%,#0F1319 50%,#0B0E12 100%) fixed;min-height:100vh;color:var(--ink)}
body.home-page .home{max-width:1180px;margin:0 auto;padding:0 var(--gutter) 80px}
body.home-page .home__top{display:flex;align-items:center;gap:14px;height:60px}
body.home-page .home__top .sp{flex:1}
body.home-page .hero{display:grid;gap:12px;padding:18px 0 22px;max-width:760px}
body.home-page .hero h1{margin:0;font:700 clamp(30px,4.6vw,46px)/1.06 var(--display);letter-spacing:-.03em;text-wrap:balance}
body.home-page .hero p{margin:0;font-size:16px;color:var(--muted);max-width:62ch}
body.home-page .paste{display:flex;gap:8px;align-items:stretch;margin-top:4px}
body.home-page .paste input{flex:1;min-width:0;padding:14px 16px;border-radius:14px;border:1px solid var(--line);background:var(--surface);font-size:15px;color:var(--ink)}
body.home-page .paste input::placeholder{color:var(--faint)}
body.home-page .paste input[aria-invalid=true]{border-color:var(--down)}
body.home-page .paste button{padding:0 20px;border-radius:14px;border:0;background:var(--brand);color:#1A0E07;font:800 15px/1 var(--display);cursor:pointer;min-height:48px;white-space:nowrap}
body.home-page .err{margin:0;font-size:13.5px;color:var(--down);max-width:62ch}
body.home-page .plats{display:flex;align-items:center;gap:8px;margin:0;font:600 12px/1 var(--ui);letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}
body.home-page .pm{width:16px;height:16px;border-radius:4px;display:inline-grid;place-items:center;font:800 9px/1 var(--display);color:#fff;vertical-align:middle}
body.home-page .pm.k{background:#0F8F5A}
body.home-page .pm.p{background:#2E5BFF}
body.home-page .moving{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:18px 0 12px;border-top:1px solid var(--line);margin-top:8px}
body.home-page .moving h2{display:flex;align-items:center;gap:8px;margin:0;font:700 19px/1 var(--display);letter-spacing:-.01em}
body.home-page .moving h2 i{width:8px;height:8px;border-radius:50%;background:var(--brand)}
body.home-page .sort{display:flex;gap:2px;flex-wrap:wrap}
body.home-page .sort a{color:var(--faint);text-decoration:none;font:700 12.5px/1 var(--ui);padding:10px;border-radius:8px;min-height:40px;display:inline-flex;align-items:center}
body.home-page .sort a:hover{color:var(--muted)}
body.home-page .sort a[aria-current=page]{color:var(--ink)}
body.home-page .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
body.home-page .tile{display:grid;grid-template-rows:auto auto 1fr auto;gap:10px;min-width:0;overflow:hidden;padding:14px 14px 12px;border-radius:16px;background:var(--surface);border:1px solid var(--line);text-decoration:none;color:inherit}
body.home-page .tile:hover{border-color:var(--faint)}
body.home-page .tile__top{display:flex;align-items:center;gap:6px;font:600 11.5px/1 var(--ui);letter-spacing:.06em;text-transform:uppercase;color:var(--faint);min-width:0}
body.home-page .tile__top .tag{margin-left:auto;color:var(--muted)}
body.home-page .tile__top .newcount{margin-left:auto;padding:3px 7px;border-radius:999px;background:var(--brand);color:#fff;font:700 10.5px/1 var(--ui);letter-spacing:.02em;text-transform:none}
body.home-page .tile__top .newcount:not([hidden])+.tag{margin-left:6px}
body.home-page .tile__q{font:700 16px/1.25 var(--display);letter-spacing:-.01em;color:var(--ink)}
body.home-page .tile__mid{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;min-width:0}
body.home-page .tile__price{display:flex;flex-direction:column;gap:2px;min-width:0}
body.home-page .tile__price b{font:800 34px/.95 var(--display);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
body.home-page .chg{font:700 12.5px/1 var(--ui);color:var(--up)}
body.home-page .chg.down{color:var(--down)}
body.home-page .chg--none{color:var(--faint);font-weight:600}
body.home-page .chg small{color:var(--faint);font-weight:600}
body.home-page .spark{display:block;width:140px;height:44px;flex:none}
body.home-page .spark svg{width:100%;height:100%;display:block}
body.home-page .spark .line{fill:none;stroke:var(--ink);stroke-opacity:.75;stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round}
body.home-page .spark .livedot{fill:var(--brand)}
body.home-page .spark--empty{display:block;width:140px;height:44px;flex:none;border-bottom:1px dashed var(--line)}
body.home-page .tile__foot{display:flex;align-items:center;gap:8px;min-width:0;padding-top:10px;border-top:1px solid var(--line);font:500 12.5px/1.4 var(--ui);color:var(--muted)}
body.home-page .tile__foot .txt{min-width:0;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
body.home-page .tile__foot b{color:var(--ink);font-weight:600}
body.home-page .empty{padding:24px 4px;color:var(--muted);font-size:14.5px}
body.home-page .trust{padding:22px 4px 0;font:500 12.5px/1.5 var(--ui);color:var(--faint);max-width:70ch}
body.home-page .foot{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;justify-content:space-between;margin-top:18px;padding:16px 4px 0;border-top:1px solid var(--line);font:500 12.5px/1.5 var(--ui);color:var(--faint)}
body.home-page .foot nav a{color:var(--muted);text-decoration:none}
body.home-page .foot nav a:hover{color:var(--ink)}
body.home-page .health{display:inline-flex;align-items:center;gap:8px;font:600 13px/1 var(--ui);color:var(--warn)}
body.home-page .health i{width:8px;height:8px;border-radius:50%;background:var(--warn)}

/* The watch marker and the free-tier gate (D93, D94 point 1). */
body.home-page .tilewrap{position:relative;min-width:0;display:flex}
body.home-page .tilewrap .tile{flex:1;min-width:0}
body.home-page .tilewrap .tile__foot{padding-right:96px}
body.home-page .watch{position:absolute;right:12px;bottom:10px;border:1px solid var(--line);background:var(--raised);color:var(--ink);font:700 12.5px/1 var(--ui);cursor:pointer;padding:10px 12px;min-height:36px;border-radius:999px}
body.home-page .watch:hover{border-color:var(--faint)}
body.home-page .watch.stop{background:none;color:var(--muted);font-weight:600}
body.home-page .watch.stop:hover{color:var(--down);border-color:var(--down)}
body.home-page .since{position:absolute;left:14px;bottom:-20px;margin:0;font:600 11.5px/1 var(--ui);color:var(--faint)}
body.home-page .yours{padding:10px 0 18px}
body.home-page .yours h2{display:flex;align-items:center;gap:8px;margin:0 0 6px;font:700 19px/1 var(--display);letter-spacing:-.01em}
body.home-page .yours h2 i{width:8px;height:8px;border-radius:50%;background:var(--brand)}
body.home-page .devline{margin:0 0 12px;font:500 12.5px/1.5 var(--ui);color:var(--faint);max-width:70ch}
body.home-page .yours .tilewrap .tile{border-color:var(--faint)}
body.home-page .gate{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:20px;background:rgba(8,10,14,.66)}
body.home-page .gate__card{width:min(460px,100%);display:grid;gap:14px;padding:24px;border-radius:22px;background:var(--surface);border:1px solid var(--line)}
body.home-page .gate__card h3{margin:0;font:700 22px/1.15 var(--display);letter-spacing:-.02em}
body.home-page .gate__card p{margin:0;font-size:14.5px;color:var(--muted)}
body.home-page .gate__card p b{color:var(--ink);font-weight:600}
body.home-page .gate__opts{display:flex;gap:10px;flex-wrap:wrap}
body.home-page .opt{border:1px solid var(--line);background:var(--raised);color:var(--ink);font:700 14px/1 var(--ui);cursor:pointer;padding:13px 16px;min-height:48px;border-radius:14px}
body.home-page .opt.primary{background:var(--brand);border-color:var(--brand);color:#1A0E07;font-family:var(--display);font-weight:800}
body.home-page .gate__card .fine{font-size:12.5px;color:var(--faint)}
body.home-page .stale{font:600 11.5px/1 var(--ui);color:var(--faint)}
@media(max-width:720px){
body.home-page .since{position:static;margin:8px 0 0}
body.home-page .tilewrap{flex-direction:column}
}
@media(max-width:720px){
body.home-page{--gutter:12px}
body.home-page .paste{flex-direction:column}
body.home-page .grid{grid-template-columns:1fr}
body.home-page .spark,body.home-page .spark--empty{width:110px}
}


/* About sources, and the legal drafts. Reading pages: one column, generous measure. */
body.static-page{margin:0;background:var(--bg) radial-gradient(120% 70% at 28% 0%,#161E2A 0%,#0F1319 50%,#0B0E12 100%) fixed;min-height:100vh;color:var(--ink);font:15.5px/1.55 var(--ui)}
body.static-page .look__eyebrow{display:inline-block;margin-bottom:10px;color:var(--faint);font:600 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase}
body.static-page .look__event{margin:6px 0 0;color:var(--muted)}
body.static-page .look__price{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin:22px 0 12px}
body.static-page .look__price b{font:800 clamp(44px,6vw,64px)/1 var(--display);letter-spacing:-.04em;font-variant-numeric:tabular-nums}
body.static-page .look__price span{color:var(--muted)}
body.static-page .look__chart{display:block;width:100%;height:auto;max-width:860px;margin:8px 0 18px}
body.static-page .look__grid{stroke:var(--line);stroke-width:1}
body.static-page .look__axis{fill:var(--faint);font:500 11px var(--mono)}
body.static-page .look__line{fill:none;stroke:var(--ink);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
body.static-page .look__dot{fill:var(--brand)}
body.static-page .look__nochart{color:var(--muted);margin:10px 0 18px}
body.static-page .look__note{color:var(--ink);font-weight:600}
body.static-page .look__small{color:var(--muted);font-size:13px;font-weight:500}
body.static-page .look__options{list-style:none;padding:0;display:grid;gap:8px;max-width:640px}
body.static-page .look__options li{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--raised)}
body.static-page .look__options span{font:600 13px var(--mono);color:var(--muted)}
body.static-page .look__links a,body.static-page .look__back a{color:var(--info)}
body.static-page .static__top{display:flex;align-items:center;gap:16px;height:60px;padding:0 var(--gutter);max-width:1180px;margin:0 auto}
body.static-page .back{border:1px solid var(--line);background:var(--raised);color:var(--ink);border-radius:999px;padding:9px 12px;font:700 12.5px/1 var(--ui);text-decoration:none;min-height:36px;display:inline-flex;align-items:center}
body.static-page .static{max-width:68ch;margin:0 auto;padding:0 var(--gutter) 80px}
body.static-page .static h1{margin:18px 0 6px;font:700 clamp(28px,4vw,40px)/1.08 var(--display);letter-spacing:-.025em;text-wrap:balance}
body.static-page .static h2{margin:32px 0 8px;font:700 21px/1.2 var(--display);letter-spacing:-.015em}
body.static-page .static h3{margin:0 0 6px;font:700 17px/1.2 var(--display)}
body.static-page .static p{margin:0 0 12px}
body.static-page .static ul{margin:0 0 12px;padding-left:20px}
body.static-page .static li{margin:0 0 6px}
body.static-page .lede{font-size:17px;color:var(--muted);margin-bottom:24px}
body.static-page .fine{font-size:13px;color:var(--faint)}
body.static-page .ph{color:var(--warn);font-family:var(--mono);font-size:.92em}
body.static-page .draft{display:block;padding:10px 14px;border-radius:10px;border:1px solid rgba(255,181,71,.35);background:rgba(255,181,71,.07);color:var(--warn);font:500 13px/1.45 var(--ui);margin:0 0 20px}
body.static-page .draft b{font-weight:700}
body.static-page .dates{margin:-10px 0 18px;font:500 12.5px/1.4 var(--ui);color:var(--faint)}
body.static-page .tabs{display:flex;gap:6px;flex-wrap:wrap;margin:22px 0 4px}
body.static-page .tabs a{color:var(--muted);text-decoration:none;font:700 13px/1 var(--ui);padding:11px 14px;border-radius:999px;border:1px solid var(--line);min-height:40px;display:inline-flex;align-items:center}
body.static-page .tabs a[aria-current=page]{color:var(--ink);background:var(--raised)}
body.static-page .rec{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;padding:14px 16px;border-radius:14px;background:var(--surface);border:1px solid var(--line);margin:0 0 14px;font-size:14px}
body.static-page .rec dt,body.static-page .who dt{color:var(--muted);font-weight:600}
body.static-page .rec dd,body.static-page .who dd{margin:0}
body.static-page .mono{font-family:var(--mono);font-size:13px}
body.static-page .rule{padding:14px 16px;border-radius:14px;border:1px solid rgba(255,106,61,.35);background:rgba(255,106,61,.06);margin:0 0 14px}
body.static-page .rule b{display:block;font:700 15px/1.3 var(--display);margin-bottom:4px}
body.static-page .keep{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 14px}
body.static-page .keep div{padding:14px 16px;border-radius:14px;background:var(--surface);border:1px solid var(--line);font-size:14px}
body.static-page .keep b{display:block;font:700 15px/1.3 var(--display);margin-bottom:6px}
body.static-page .who{display:grid;grid-template-columns:auto 1fr;gap:8px 18px;padding:16px;border-radius:16px;background:var(--surface);border:1px solid var(--line);font-size:14.5px;margin:0 0 14px}
body.static-page .plans{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 14px}
body.static-page .plan{padding:16px;border-radius:16px;background:var(--surface);border:1px solid var(--line)}
body.static-page .plan ul{padding-left:18px;font-size:14px;margin:0}
body.static-page .soon{display:inline-flex;padding:3px 7px;border-radius:5px;background:var(--raised);color:var(--muted);font:700 10px/1 var(--ui);letter-spacing:.06em;text-transform:uppercase;vertical-align:middle}
body.static-page .static__foot{margin-top:40px;padding-top:16px;border-top:1px solid var(--line);font:500 12.5px/1.5 var(--ui);color:var(--faint)}
body.static-page .static__foot a{color:var(--muted);text-decoration:none}
body.static-page .static__foot a:hover{color:var(--ink)}
@media(max-width:720px){body.static-page{--gutter:14px}body.static-page .keep,body.static-page .plans{grid-template-columns:1fr}
body.static-page .rec,body.static-page .who{grid-template-columns:1fr;gap:2px 0}
body.static-page .rec dt,body.static-page .who dt{margin-top:10px}
body.static-page .who dt:first-of-type,body.static-page .rec dt:first-of-type{margin-top:0}}
