/* Figtree, self-hosted so the page makes no third-party requests. SIL OFL 1.1, see fonts/OFL.txt. */
@font-face{font-family:'Figtree';font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/figtree-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Figtree';font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/figtree-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

/* Base */
:root{box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
html{scroll-padding-top:env(safe-area-inset-top,0px)}
body{margin:0;padding:0}

/* Layout: one centered column at container-max, bands on a 104px rhythm; the score table is the page's specimen. Dark only. */
:root{
  color-scheme: dark;
  --bg: oklch(0.141 0.005 285.823);
  --fg: oklch(0.985 0 0);
  --card: oklch(0.21 0.006 285.885);
  --muted: oklch(0.274 0.006 286.033);
  --mfg: oklch(0.705 0.015 286.067);
  --line: rgba(255,255,255,0.09);
  --line2: rgba(255,255,255,0.06);
  --ring: oklch(0.552 0.016 285.938);
  --accent: oklch(0.74 0.1 155);
  --accent-soft: oklch(0.8 0.1 155);
  --accent-dim: oklch(0.52 0.1 155);
  --accent-ink: oklch(0.3 0.06 158);
  --primary: oklch(0.46 0.09 155);
  --primary-fg: oklch(0.985 0.02 155);
  --glow-faint: oklch(0.74 0.1 155 / 0.16);
  --wash: oklch(0.74 0.1 155 / 0.06);
  --c1: oklch(0.871 0.006 286.286);
  --c2: oklch(0.552 0.016 285.938);
  --c3: oklch(0.442 0.017 285.786);
  --c4: oklch(0.37 0.013 285.805);
  --c5: oklch(0.274 0.006 286.033);
  --scrim: rgba(0,0,0,0.58);
  --lift: 0 30px 80px rgba(0,0,0,0.6);
  --ease: cubic-bezier(0.22,0.61,0.36,1);
  --font: 'Figtree', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;
  --mono: ui-monospace, 'SFMono-Regular', Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
  --gutter: 24px;
  --nw: clamp(250px, calc(100vw - 840px), 360px); --tw: 60px; --th: 50px; --gg: 12px;
}
html{background:var(--bg)}
[hidden]{display:none!important}
html.locked{overflow:hidden}
body{background:var(--bg);color:var(--fg);font-family:var(--font);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
*,*::before,*::after{box-sizing:border-box}
a{color:inherit}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--ring);outline-offset:2px}
.wrap{max-width:1180px;margin-inline:auto;padding-inline:var(--gutter)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Header */
.top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:20px}
.brand{display:inline-flex;align-items:center;text-decoration:none;font-weight:600;font-size:18px;letter-spacing:-0.02em}
.nav{display:flex;align-items:center;gap:6px}
.nav a{text-decoration:none;font-size:14.5px;font-weight:500;color:var(--mfg);padding:8px 12px;border-radius:9999px;transition:color .15s var(--ease),background-color .15s var(--ease)}
.nav a:hover{color:var(--fg);background:var(--muted)}

/* Type roles */
.display{margin:0;font-size:clamp(46px,8vw,104px);line-height:.98;letter-spacing:-0.035em;font-weight:700;text-wrap:balance}
.h2{margin:0;font-size:clamp(32px,4.6vw,56px);line-height:1.02;letter-spacing:-0.03em;font-weight:700;text-wrap:balance}
.h3{margin:0;font-size:23px;line-height:1.15;letter-spacing:-0.02em;font-weight:700}
.line{margin:16px 0 0;font-size:clamp(17px,1.5vw,20px);line-height:1.5;color:var(--mfg);max-width:46ch;text-wrap:pretty}

/* Hero */
.hero{padding-block:56px 8px;position:relative;isolation:isolate}
.hero::before{content:"";position:absolute;z-index:-1;top:-140px;right:0;width:min(900px,100%);height:560px;background:radial-gradient(closest-side,var(--glow-faint),transparent);pointer-events:none}
.meta{margin:28px 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:8px 24px;font-size:14px;color:var(--mfg)}
.meta li{display:flex;align-items:center;gap:8px}

/* Bands */
.band{padding-block:104px}
.band.first{padding-top:36px}
.bandhead{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px 32px}
.bandhead > div{min-width:0}

/* Legend */
.legend{display:flex;align-items:center;gap:12px;font-size:13.5px;color:var(--mfg);flex-wrap:wrap}
.legend .sws{display:flex;gap:3px}
.sw{width:28px;height:22px;border-radius:6px;display:grid;place-items:center;font-size:11.5px;font-weight:600;font-variant-numeric:tabular-nums}

/* Score tiles */
.s5{background:var(--accent);color:var(--accent-ink)}
.s4{background:var(--primary);color:var(--primary-fg)}
.s3{background:var(--c4);color:var(--fg)}
.s2{background:var(--c5);color:var(--fg)}
.s1{background:var(--card);color:var(--mfg)}
.s0{background:transparent;color:var(--mfg);box-shadow:inset 0 0 0 1px var(--line)}

/* Table */
.tbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 32px}
.tnote{font-size:15.5px;line-height:1.5;color:var(--mfg)}
.tnote h2{display:inline;margin:0;font:inherit;font-weight:600;color:var(--fg)}
.tcard{position:relative;margin-top:20px;border-radius:18px;box-shadow:0 0 0 1px var(--line);background:var(--bg)}
/* Fades the right edge while more columns are hidden; app.js sets .more */
.tcard::after{content:"";position:absolute;top:0;right:0;bottom:0;width:56px;border-radius:0 18px 18px 0;background:linear-gradient(90deg,transparent,var(--bg));pointer-events:none;opacity:0;transition:opacity .2s var(--ease)}
.tcard.more::after{opacity:1}
.scroller{overflow-x:auto;overscroll-behavior-x:contain;border-radius:18px}
.t{min-width:max-content;padding:18px 0 20px}
/* .t is a real <table> so crawlers keep each score with its column. Undo table layout at zero specificity; the classes below lay it out as grid rows. */
:where(.t),:where(.t) :where(thead,tbody,tr,th,td){display:block}
:where(.t) :where(th,td){padding:0;font-weight:inherit;text-align:inherit}
.t-row{display:grid;grid-template-columns:var(--nw) repeat(8,var(--tw)) var(--gg) repeat(3,var(--tw));column-gap:4px;align-items:center;padding-right:20px}
.t-row+.t-row{margin-top:4px}
.t-name{position:sticky;left:0;z-index:2;background:var(--bg);align-self:stretch;display:flex;align-items:center;min-width:0}
.scroller.scrolled .t-name::after{content:"";position:absolute;top:0;bottom:0;right:-14px;width:14px;background:linear-gradient(90deg,rgba(0,0,0,.35),transparent);pointer-events:none}
.t-corner{background:var(--bg)}
.t-h1{align-items:end}
.t-grp{padding:0 2px 8px;border-bottom:1px solid var(--line);font-size:15px;font-weight:600;line-height:1.25}
/* Group headings stay readable while their columns scroll, and wrap to fit a phone */
.t-grp span{position:sticky;left:calc(var(--nw) + 6px);display:inline-block;max-width:calc(100vw - var(--nw) - 2 * var(--gutter) - 32px)}
.t-h2{margin-top:10px!important;align-items:end}
.chead{display:block;width:100%;background:none;border:0;padding:6px 2px;border-radius:8px;font-size:12.5px;line-height:1.2;font-weight:500;color:var(--mfg);text-align:center;cursor:pointer;transition:color .15s var(--ease),background-color .15s var(--ease)}
.chead:hover,.chead.on{color:var(--fg);background:var(--muted)}
.t-group{padding:22px 0 10px;font-size:13.5px;font-weight:600;color:var(--mfg);min-width:max-content}
.t-group span{position:sticky;left:20px}
.t tbody:first-of-type .t-group{padding-top:12px}
.t-cell{display:flex}
.tile{width:var(--tw);height:var(--th);border:0;border-radius:8px;font-size:20px;font-weight:600;line-height:1;font-variant-numeric:tabular-nums;cursor:pointer;display:grid;place-items:center;transition:box-shadow .15s var(--ease),transform .15s var(--ease)}
.tile:hover{box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--ring)}
.tile.s0:hover{box-shadow:inset 0 0 0 1px var(--line),0 0 0 2px var(--bg),0 0 0 4px var(--ring)}
.tile.on{box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--fg)}
.tile.s0.on{box-shadow:inset 0 0 0 1px var(--line),0 0 0 2px var(--bg),0 0 0 4px var(--fg)}
.pname{display:flex;flex-direction:column;gap:3px;width:100%;height:100%;justify-content:center;text-align:left;text-decoration:none;background:none;border:0;padding:6px 16px 6px 20px;border-radius:0 12px 12px 0;cursor:pointer;transition:background-color .15s var(--ease)}
.pname:hover,.pname.on{background:var(--muted)}
.pn{font-size:17px;font-weight:600;line-height:1.2;letter-spacing:-0.01em}
.pm{font-weight:400;color:var(--mfg)}
.reason{font-size:13px;line-height:1.35;color:var(--mfg);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.notes{margin:20px 0 0;padding:0;list-style:none;display:grid;gap:6px;font-size:14px;line-height:1.5;color:var(--mfg);max-width:84ch}

/* Map */
.mapcard{position:relative;margin-top:36px;border-radius:18px;box-shadow:0 0 0 1px var(--line);background:var(--bg)}
.mapscroll{overflow-x:auto;border-radius:18px}
#mapplot{min-width:640px}
#mapplot svg{display:block}
.map text{font-family:var(--font)}
.map .tick{fill:var(--mfg);font-size:12px;font-weight:500;font-variant-numeric:tabular-nums}
.map .axt{fill:var(--mfg);font-size:13px;font-weight:600}
.map .quad{fill:var(--mfg);font-size:13px;font-weight:600}
.map .quad.hot{fill:var(--accent-soft)}
.map .qg0{stop-color:var(--accent);stop-opacity:.16}
.map .qg1{stop-color:var(--accent);stop-opacity:0}
.map .lab{fill:var(--fg);font-size:12.5px;font-weight:500}
.map .lab.mute{fill:var(--mfg)}
.map .grid{stroke:var(--line2);stroke-width:1}
.map .axis{stroke:var(--line);stroke-width:1}
.map .mid{stroke:var(--line);stroke-width:1;stroke-dasharray:4 5}
.map .lead{stroke:var(--ring);stroke-width:1}
.map .brk{stroke:var(--ring);stroke-width:1;fill:none}
.map .dot{fill:var(--c1);stroke:var(--bg);stroke-width:2;transform-box:fill-box;transform-origin:center;transition:transform .15s var(--ease)}
.map .pt{cursor:pointer}
.map .pt:hover .dot,.map .pt:focus-visible .dot{transform:scale(1.3)}
.map .pt:focus{outline:none}
.map .pt:focus-visible .ring{stroke:var(--ring);stroke-width:2;fill:none}
.tip{position:absolute;z-index:5;pointer-events:none;background:var(--card);box-shadow:0 0 0 1px var(--line),0 8px 24px rgba(0,0,0,.4);border-radius:10px;padding:8px 12px;font-size:13px;line-height:1.4;white-space:nowrap}
.tip b{font-weight:600}
.tip span{color:var(--mfg)}
.maphint{display:none;margin:12px 0 0;font-size:13.5px;color:var(--mfg)}

/* If the company quits */
.quits{margin-top:36px;border-top:1px solid var(--line)}
.q-row{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(0,1.6fr);gap:8px 32px;padding:18px 0;border-bottom:1px solid var(--line);align-items:baseline}
.q-head{padding:14px 0;font-size:13.5px;font-weight:600;color:var(--mfg)}
.q-who{font-weight:600;font-size:17px;line-height:1.3}
.q-who small{display:block;margin-top:4px;font-weight:400;font-size:13.5px;line-height:1.45;color:var(--mfg)}
.q-stop,.q-keep{font-size:15.5px;line-height:1.5}
.q-keep{color:var(--mfg)}
.q-lab{display:none}

/* Method */
.method{margin-top:40px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:48px 64px}
.rules{display:grid;gap:32px;align-content:start}
.rule p{margin:10px 0 0;color:var(--mfg);max-width:56ch}
.stmts{display:grid;gap:28px;align-content:start}
.stmt-g h3{margin:0 0 10px;font-size:15px;font-weight:600}
.stmt-list{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}
.stmt{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:16px;align-items:center;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--line);padding:12px 8px;cursor:pointer;transition:background-color .15s var(--ease)}
.stmt:hover{background:var(--muted)}
.stmt b{font-weight:600;font-size:15px}
.stmt span{color:var(--mfg);font-size:15px;line-height:1.45}
.stmt svg{width:16px;height:16px;color:var(--mfg)}

/* FAQ */
.faq{margin-top:36px;border-top:1px solid var(--line);max-width:860px}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:20px 4px;font-size:18px;font-weight:600;line-height:1.35}
.faq summary::-webkit-details-marker{display:none}
.faq summary svg{flex:none;width:18px;height:18px;color:var(--mfg);transition:transform .2s var(--ease)}
.faq details[open] summary svg{transform:rotate(45deg)}
.faq .ans{padding:0 4px 22px;color:var(--mfg);max-width:68ch}
.faq .ans p{margin:0}
.faq .ans p+p{margin-top:10px}
.faq a,.rule a{color:var(--accent-soft);text-underline-offset:3px;text-decoration-color:var(--accent-dim)}
.faq a:hover,.rule a:hover{text-decoration-color:var(--accent-soft)}
.todo{display:inline-block;padding:0 8px;border-radius:6px;box-shadow:inset 0 0 0 1px var(--ring);color:var(--fg);font-family:var(--mono);font-size:13px}

/* Footer */
.foot{border-top:1px solid var(--line);padding-block:40px 56px;display:flex;flex-wrap:wrap;gap:20px 40px;align-items:center;justify-content:space-between}
.foot p{margin:0;font-size:14px;color:var(--mfg);max-width:60ch}

/* Sheet */
.scrim{position:fixed;inset:0;background:var(--scrim);z-index:40}
.sheet{position:fixed;top:0;right:0;bottom:0;width:min(500px,100vw);z-index:50;background:var(--card);box-shadow:var(--lift),-1px 0 0 var(--line);display:flex;flex-direction:column;padding-top:env(safe-area-inset-top,0px)}
.sheet:not([hidden]){animation:slidein .2s var(--ease)}
@keyframes slidein{from{transform:translateX(28px)}to{transform:none}}
.sh-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 16px 4px 28px}
.sh-ctx{margin:0;font-size:13.5px;color:var(--mfg);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.iconbtn{flex:none;width:40px;height:40px;border-radius:10px;border:0;background:none;display:grid;place-items:center;cursor:pointer;color:var(--mfg);transition:background-color .15s var(--ease),color .15s var(--ease)}
.iconbtn:hover{background:var(--muted);color:var(--fg)}
.iconbtn svg{width:20px;height:20px}
.sh-body{flex:1;overflow-y:auto;padding:4px 28px 36px;overscroll-behavior:contain}
.sh-title{margin:0;font-size:23px;line-height:1.15;letter-spacing:-0.02em;font-weight:700}
.sh-title:focus{outline:none}
.sh-title .pm{font-weight:500}
.sh-q{margin:8px 0 0;color:var(--mfg);font-size:15.5px;line-height:1.5}
.sh-score{display:flex;align-items:center;gap:16px;margin:22px 0 0;padding:16px;border-radius:14px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line2)}
.tile.big{width:64px;height:64px;font-size:30px;border-radius:12px;cursor:default;flex:none}
.tile.big:hover{box-shadow:none}
.tile.big.s0:hover{box-shadow:inset 0 0 0 1px var(--line)}
.sh-score > div{min-width:0}
.sh-of{margin:0;font-weight:600;font-size:15px}
.sh-means{margin:2px 0 0;color:var(--mfg);font-size:14.5px;line-height:1.45}
.sh-h{margin:26px 0 8px;font-size:13.5px;font-weight:600;color:var(--mfg)}
.sh-p{margin:0;font-size:16px;line-height:1.6}
.sh-m{margin:0;font-size:15px;line-height:1.55;color:var(--mfg)}
.srcs{margin:0;padding:0;list-style:none;display:grid;gap:2px}
.srcs a{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;text-decoration:none;padding:10px 12px;margin-inline:-12px;border-radius:10px;transition:background-color .15s var(--ease)}
.srcs a:hover{background:var(--muted)}
.srcs a:hover .st{color:var(--accent-soft)}
.st{font-size:15px;line-height:1.4;font-weight:500;transition:color .15s var(--ease)}
.sd{display:block;font-size:13px;color:var(--mfg);margin-top:2px}
.srcs svg{flex:none;width:16px;height:16px;margin-top:3px;color:var(--mfg)}
.nosrc{margin:0;font-size:14.5px;color:var(--mfg);line-height:1.5}
.sh-checked{margin:22px 0 0;font-size:13.5px;color:var(--mfg)}
.sh-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.chip{display:inline-block;border:0;cursor:pointer;background:var(--muted);border-radius:9999px;padding:8px 14px;font-size:14px;font-weight:500;text-decoration:none;transition:background-color .15s var(--ease)}
.chip:hover{background:var(--c4)}
.sh-nav{display:flex;justify-content:space-between;gap:8px;margin-top:28px;padding-top:16px;border-top:1px solid var(--line)}
.navbtn{display:inline-flex;align-items:center;gap:6px;border:0;background:none;cursor:pointer;padding:8px 10px;border-radius:10px;font-size:14px;font-weight:500;color:var(--mfg);transition:background-color .15s var(--ease),color .15s var(--ease)}
.navbtn:hover{background:var(--muted);color:var(--fg)}
.navbtn svg{width:16px;height:16px}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}
.stat{padding:14px 16px;border-radius:14px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line2)}
.stat b{display:block;font-size:26px;font-weight:700;letter-spacing:-0.02em;font-variant-numeric:tabular-nums}
.stat span{font-size:13.5px;color:var(--mfg);line-height:1.35;display:block;margin-top:2px}
.plist{margin:0;padding:0;list-style:none;display:grid;gap:2px}
.prow{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:start;width:100%;text-align:left;background:none;border:0;cursor:pointer;padding:10px 12px;margin-inline:-12px;border-radius:12px;transition:background-color .15s var(--ease)}
.prow:hover{background:var(--muted)}
.prow .tile{--tw:36px;--th:32px;font-size:15px;border-radius:7px;cursor:inherit}
.prow .tile:hover{box-shadow:none}
.prow .tile.s0:hover{box-shadow:inset 0 0 0 1px var(--line)}
.pr-n{display:block;font-weight:600;font-size:15px;line-height:1.35}
.pr-w{display:block;font-size:14px;line-height:1.45;color:var(--mfg);margin-top:2px}
.levels{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.levels li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:center;font-size:15px;line-height:1.45}
.levels .sw{width:36px;height:30px;font-size:14px;border-radius:7px}
.limits{margin:0;padding:0 0 0 18px;display:grid;gap:8px;font-size:15px;line-height:1.5;color:var(--mfg)}

/* Product pages, written by build.mjs: one column, the sheet's parts at page size */
.pg{padding-top:32px}
.pg-crumb{margin-bottom:28px;font-size:14px;color:var(--mfg)}
.pg-crumb a{color:inherit;text-underline-offset:3px;text-decoration-color:var(--ring)}
.pg-crumb a:hover{color:var(--fg)}
.pg .display{font-size:clamp(40px,7vw,88px)}
.pg-body{max-width:780px}
.pg-set{margin-top:56px}
.pg-set+.pg-set{margin-top:104px}
.pg-set>.line{margin-top:12px}
.pg-set .stats{max-width:520px}
.pg-set>.stats:first-child{margin-top:0}
.pg-gh{margin:56px 0 16px}
.pg-list{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}
.pg-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;align-items:start;padding:18px 0;border-bottom:1px solid var(--line)}
.pg-row .tile{--tw:44px;--th:40px;font-size:18px;cursor:default}
.pg-row .tile:hover{box-shadow:none}
.pg-row .tile.s0:hover{box-shadow:inset 0 0 0 1px var(--line)}
.pg-n{margin:0;font-size:16px;font-weight:600;line-height:1.35}
.pg-q{margin:2px 0 0;font-size:14.5px;line-height:1.45;color:var(--mfg)}
.pg-w{margin:10px 0 0;font-size:16px;line-height:1.6}
.pg-src{margin:6px 0 0;font-size:13.5px;line-height:1.5;color:var(--mfg)}
.pg-notes{margin:0;padding:0 0 0 18px;display:grid;gap:14px;font-size:15.5px;line-height:1.55}
.pg-more{margin-top:104px;padding:40px 0 104px;border-top:1px solid var(--line)}
.pg-links{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:8px}
.pg-all{margin:32px 0 0;font-size:15px}
.pg-src a,.pg-all a{color:var(--accent-soft);text-underline-offset:3px;text-decoration-color:var(--accent-dim)}
.pg-src a:hover,.pg-all a:hover{text-decoration-color:var(--accent-soft)}

@media (max-width:1100px){:root{--nw:250px;--tw:54px}}
@media (max-width:900px){
  .method{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:720px){
  :root{--gutter:16px;--nw:132px;--tw:52px;--th:44px;--gg:8px}
  .chead{font-size:11.5px;padding-inline:0}
  .band{padding-block:72px}
  .band.first{padding-top:28px}
  .hero{padding-top:16px}
  .meta{margin-top:20px}
  .tcard{margin-top:14px}
  .t{padding-top:10px}
  /* The nav gets its own full-width row, scrolling sideways if it ever outgrows it */
  .top{flex-wrap:wrap;row-gap:2px;padding-block:14px 4px}
  .nav{width:calc(100% + 2 * var(--gutter));margin-inline:calc(-1 * var(--gutter));padding-inline:calc(var(--gutter) - 10px);gap:2px;overflow-x:auto;scrollbar-width:none}
  .nav::-webkit-scrollbar{display:none}
  .nav a{flex:none;padding:8px 10px}
  .reason{display:none}
  .pn{font-size:15px}
  .pn .pm{display:block;font-size:12.5px;margin-top:2px}
  .pname{padding:6px 10px 6px 16px}
  .t-group span{left:16px}
  .tile{font-size:18px}
  .maphint{display:block}
  .q-head{display:none}
  .q-row{grid-template-columns:minmax(0,1fr);gap:6px}
  .q-lab{display:inline;color:var(--mfg);font-weight:500}
  .stmt{grid-template-columns:minmax(0,1fr) auto;gap:4px 12px}
  .stmt span{grid-column:1;grid-row:2}
  .stmt svg{grid-column:2;grid-row:1 / span 2}
  .sheet{top:auto;left:0;width:100%;max-height:88vh;border-radius:18px 18px 0 0;box-shadow:var(--lift),0 -1px 0 var(--line);padding-top:0;padding-bottom:env(safe-area-inset-bottom,0px)}
  .sheet:not([hidden]){animation:slideup .22s var(--ease)}
  .sh-top{padding:12px 10px 0 20px}
  .sh-body{padding:4px 20px 28px}
  .foot{flex-direction:column;align-items:flex-start}
}
@keyframes slideup{from{transform:translateY(32px)}to{transform:none}}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
}
