/* Vikshy site styles. Ported from design/prototype/vikshy-site.html (round 2). Fonts are self-hosted (OFL). */
@font-face{font-family:'Onest';font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/fonts/onest.woff2) format('woff2')}
@font-face{font-family:'Geist Mono';font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/fonts/geist-mono.woff2) format('woff2')}

:root{
  --paper:#FFFCF5; --raised:#FFFFFF; --sky:#EEF4FB; --sky2:#DFE8F4; --sand:#F4F0E6; --sand2:#ECE6D8;
  --ink:#121419; --ink2:#3F444E; --muted:#676C76; --faint:#A2A6AE; --line:#EBE5D9; --line2:#DCD4C4;
  --sun:#FFC62E; --sunwash:#FFF3CC; --bird:#F0A500; --rise:#178048; --risewash:#E3F3EA; --fall:#C63535; --fallwash:#FBE7E5;
  --rise-ink:#0F6A3A; --fall-ink:#A82A2A;
  --lake:#2F6BD8; --lakewash:#E6EEFB; --focus:#2F6BD8; --glass:rgba(255,252,245,.82);
  --k-money:#E27A48; --k-policy:#7760C8;
  --disc:radial-gradient(circle,#FFF1C2 0 60%,transparent 61%); --todaywash:linear-gradient(180deg,#FFF3CC,rgba(255,243,204,0) 110%);
  --shadow:0 1px 1px rgba(18,20,25,.04),0 12px 32px -18px rgba(18,20,25,.30);
  --sans:'Onest',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --mono:'Geist Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --r-s:10px; --r-m:16px; --r-l:24px; --gut:28px;
}
/* Light is the default everywhere; dark is a choice, made with the switch in the header and remembered. */
:root[data-theme="dark"]{
  color-scheme:dark;
  --paper:#0D1220; --raised:#151D30; --sky:#111A2D; --sky2:#1C2740; --sand:#182033; --sand2:#212B42;
  --ink:#F4F2EC; --ink2:#CBD0DA; --muted:#98A0B2; --faint:#626C82; --line:#212B41; --line2:#2D3954;
  --sun:#FFC62E; --sunwash:rgba(255,198,46,.13); --bird:#FFC62E; --rise:#45CD85; --risewash:rgba(69,205,133,.13); --fall:#FF7474; --fallwash:rgba(255,116,116,.13);
  --rise-ink:#62DA9A; --fall-ink:#FF8E8E;
  --lake:#8BAEFF; --lakewash:rgba(139,174,255,.13); --focus:#8BAEFF; --k-money:#FF9C6B; --k-policy:#A994F2; --glass:rgba(13,18,32,.80); --disc:radial-gradient(circle,rgba(255,198,46,.17) 0,rgba(255,198,46,.06) 42%,transparent 62%); --todaywash:linear-gradient(180deg,rgba(255,198,46,.10),rgba(255,198,46,0) 100%);
  --shadow:0 1px 0 rgba(255,255,255,.03),0 16px 36px -18px rgba(0,0,0,.8);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{background:var(--paper);color:var(--ink);font:400 15px/1.55 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transition:background-color .25s,color .25s}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
h1,h2,h3,h4{margin:0;text-wrap:balance}
p{margin:0}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:6px}
.wrap{max-width:1240px;margin-inline:auto;padding-inline:var(--gut)}
.mono,.num{font-family:var(--mono);font-variant-numeric:tabular-nums}
.eyebrow{font:500 11.5px/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.muted{color:var(--muted)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* prototype strip: not part of the site */
.proto{background:var(--ink);color:var(--paper);font:500 12px/1 var(--mono)}
.proto .wrap{display:flex;align-items:center;gap:14px;min-height:38px;overflow-x:auto;scrollbar-width:none}
.proto .wrap::-webkit-scrollbar{display:none}
.proto .tag{background:var(--sun);color:#121419;padding:4px 8px;border-radius:999px;font-weight:600;letter-spacing:.06em;flex-shrink:0}
.proto .note{opacity:.72;white-space:nowrap}
.proto nav{display:flex;gap:4px;margin-left:auto;flex-shrink:0}
.proto nav a{padding:6px 9px;border-radius:999px;white-space:nowrap;opacity:.8}
.proto nav a:hover,.proto nav a[aria-current="true"]{opacity:1;background:rgba(127,127,127,.22)}

/* header */
.hdr{position:sticky;top:env(safe-area-inset-top,0px);z-index:40;background:var(--glass);-webkit-backdrop-filter:saturate(1.5) blur(16px);backdrop-filter:saturate(1.5) blur(16px);border-bottom:1px solid transparent;transition:border-color .2s}
.hdr.scrolled{border-bottom-color:var(--line)}
.hdr-row{display:flex;align-items:center;gap:26px;height:66px}
.logo{display:flex;align-items:center;padding:6px 2px}
.logo svg{height:24px;width:auto;display:block;overflow:visible}
.logo .w{fill:var(--ink)}
.logo .b{fill:var(--bird);transform-box:fill-box;transform-origin:50% 70%;transition:transform .55s cubic-bezier(.3,1.7,.45,1)}
.logo:hover .b,.logo:focus-visible .b{transform:translateY(-22%) rotate(-9deg)}
.nav{display:flex;gap:2px}
.nav a{padding:8px 13px;border-radius:999px;font-weight:500;font-size:14.5px;color:var(--ink2);transition:background-color .15s,color .15s}
.nav a:hover{background:var(--sand);color:var(--ink)}
.nav a[aria-current="page"]{color:var(--ink);background:var(--sand)}
.hdr-r{margin-left:auto;display:flex;gap:8px;align-items:center}
.ibtn{height:38px;min-width:38px;padding-inline:10px;border-radius:999px;border:1px solid var(--line2);background:var(--raised);display:inline-flex;align-items:center;justify-content:center;gap:8px;color:var(--ink2);font-size:13.5px;transition:border-color .15s,color .15s}
.ibtn:hover{border-color:var(--ink);color:var(--ink)}
.ibtn svg{width:17px;height:17px;display:block}
.ibtn kbd{font:500 11px var(--mono);border:1px solid var(--line2);border-radius:5px;padding:1px 5px;color:var(--muted)}
.btn-sun{background:var(--sun);color:#121419;font-weight:600;font-size:14px;height:38px;padding-inline:16px;border-radius:999px;display:inline-flex;align-items:center;gap:8px;transition:transform .15s,box-shadow .15s}
.btn-sun:hover{transform:translateY(-1px);box-shadow:0 8px 20px -10px rgba(240,165,0,.9)}
.subnav{display:none}

/* shared bits */
.mark{display:inline-grid;place-items:center;flex-shrink:0;border-radius:28%;background:var(--sand);color:var(--ink);width:var(--s,22px);height:var(--s,22px)}
.mark svg{width:60%;height:60%;fill:currentColor;display:block}
.mark b{font:700 calc(var(--s,22px)*.5)/1 var(--sans)}
.mark.beyond{background:transparent;box-shadow:inset 0 0 0 1.3px var(--line2);color:var(--ink2)}
.mark.beyond svg{width:64%;height:64%;fill:none}
.scope-note{font-size:13.5px;color:var(--muted);margin:-4px 0 14px}
.linkish{color:var(--ink);font-weight:500;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--bird)}
.kind{display:inline-flex;align-items:center;gap:6px}
.g{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}
.g.launch{background:var(--sun);box-shadow:inset 0 0 0 1.5px var(--bird)}
.g.update{box-shadow:inset 0 0 0 1.6px var(--ink)}
.g.incident{background:var(--fall);border-radius:2px;transform:rotate(45deg) scale(.86)}
.g.research{background:var(--lake)}
.g.money{background:var(--k-money);border-radius:2px}
.g.policy{background:var(--k-policy);border-radius:2px}
.g.announced{box-shadow:inset 0 0 0 1.6px var(--bird);background:repeating-linear-gradient(45deg,transparent 0 2px,var(--sunwash) 2px 3px)}
.meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font:500 11.5px/1.2 var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.meta .lab{color:var(--ink);font-weight:600;display:inline-flex;align-items:center;gap:7px}
.sep{width:3px;height:3px;border-radius:50%;background:var(--faint);display:inline-block}
.new{background:var(--sun);color:#121419;border-radius:999px;padding:3px 7px 2px;font:600 10.5px/1.2 var(--mono);letter-spacing:.08em;position:relative}
.new::after{content:"";position:absolute;inset:-3px;border-radius:999px;border:1.5px solid var(--sun);animation:ring 2.4s ease-out infinite;opacity:0}
@keyframes ring{0%{opacity:.9;transform:scale(.9)}80%,100%{opacity:0;transform:scale(1.25)}}
.imp{display:inline-flex;align-items:center;gap:4px;font:600 12px/1 var(--mono);padding:4px 8px;border-radius:999px;white-space:nowrap}
.imp.up{background:var(--risewash);color:var(--rise)}
.imp.down{background:var(--fallwash);color:var(--fall)}
.imp.flat{background:var(--sand);color:var(--muted)}
.imp.pending{border:1px dashed var(--line2);color:var(--muted);font-weight:500}
.dir{font:600 13px/1 var(--mono);white-space:nowrap}
.dir.up{color:var(--rise)} .dir.down{color:var(--fall)} .dir.flat{color:var(--muted)}
.tiers{display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px;font-size:12.5px;color:var(--muted)}
.tier{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.tier i{width:7px;height:7px;border-radius:50%;display:inline-block}
.t-official{background:var(--ink)} .t-coverage{background:var(--lake)} .t-community{background:var(--bird)}
.eng{font:500 12px var(--mono);color:var(--muted);white-space:nowrap}
.sec-h{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px}
.sec-h h2{font:600 19px/1.2 var(--sans);letter-spacing:-.02em}
.more{font-size:13.5px;font-weight:500;color:var(--ink2);display:inline-flex;gap:6px;align-items:center;white-space:nowrap}
.more:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--bird)}
.pill{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line2);border-radius:999px;padding:4px 10px;font:500 12px/1 var(--mono);color:var(--muted);white-space:nowrap}
.live{display:inline-flex;align-items:center;gap:8px;font:500 12px/1 var(--mono);color:var(--ink2)}
.live i{width:8px;height:8px;border-radius:50%;background:var(--rise);position:relative}
.live i::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid var(--rise);animation:ring 2s ease-out infinite}
.sample{font:600 10px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border:1px dashed var(--line2);border-radius:999px;padding:3px 7px}

/* horizon: the one bold moment */
.horizon{background:var(--sky);border-radius:28px;padding:28px 30px 18px;margin-top:72px;position:relative;overflow:hidden}
.horizon::before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;right:-150px;top:-330px;background:var(--disc);pointer-events:none}
.hz-head{position:relative;display:flex;justify-content:space-between;align-items:flex-end;gap:22px 40px;flex-wrap:wrap}
.hz-title{font:700 clamp(26px,3vw,34px)/1.05 var(--sans);letter-spacing:-.035em;margin-top:8px}
.display .in{position:relative;white-space:nowrap}
.lede{font-size:15.5px;color:var(--ink2);margin-top:8px;max-width:38em;line-height:1.5}
.hz-stats{display:flex;gap:28px;flex-wrap:wrap}
.stat b{display:block;font:600 24px/1 var(--mono);letter-spacing:-.03em;color:var(--ink)}
.stat span{display:block;margin-top:7px}
.hz-scroll{position:relative;margin-top:26px;overflow-x:auto;scrollbar-width:thin}
.hz{--lw:172px;position:relative;min-width:700px;display:grid;grid-template-columns:var(--lw) 1fr;padding-top:30px;padding-bottom:6px}
.hz-days{position:absolute;left:var(--lw);right:0;top:0;height:22px;display:grid;grid-template-columns:repeat(7,1fr)}
.hz-days span{font:500 11px/22px var(--mono);letter-spacing:.08em;color:var(--muted);padding-left:8px}
.hz-days span.today{color:var(--ink);font-weight:600;text-align:right;padding-right:8px}
.hz-cols{position:absolute;left:var(--lw);right:0;top:24px;bottom:0;display:grid;grid-template-columns:repeat(7,1fr);pointer-events:none}
.hz-cols i{border-left:1px solid var(--sky2)}
.hz-cols i.today{background:var(--todaywash);border-radius:10px 10px 0 0;border-left-color:transparent}
.lane-l{position:sticky;left:0;z-index:3;background:var(--sky);height:36px;display:flex;align-items:center;gap:9px;font-weight:500;font-size:13.5px;padding-right:10px;white-space:nowrap}
.lane-l a{display:flex;align-items:center;gap:9px;min-width:0}
.lane-l a:hover .ln{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--bird)}
.lane-l .ln{overflow:hidden;text-overflow:ellipsis}
.lane-l .dir{margin-left:auto;font-size:11.5px}
.lane-t{position:relative;height:36px;border-top:1px dashed var(--sky2)}
.lane-t .quiet{position:absolute;left:10px;top:50%;transform:translateY(-50%);font:500 11.5px var(--mono);color:var(--faint);letter-spacing:.04em}
.mk{position:absolute;top:50%;width:var(--z);height:var(--z);transform:translate(-50%,-50%);z-index:2;display:block}
.mk i{display:block;width:100%;height:100%;border-radius:50%;transition:transform .2s cubic-bezier(.3,1.6,.5,1);animation:land .7s cubic-bezier(.2,.9,.3,1.25) both;animation-delay:var(--d,0ms)}
.mk:hover i,.mk:focus-visible i{transform:scale(1.28)}
.mk:hover{z-index:5}
.mk.launch i{background:var(--sun);box-shadow:inset 0 0 0 2px var(--bird)}
.mk.update i{background:var(--raised);box-shadow:inset 0 0 0 2px var(--ink)}
.mk.incident i{background:var(--fall);border-radius:24%;rotate:45deg;scale:.82}
.mk.research i{background:var(--lake)}
.mk.policy i,.mk.money i{border-radius:24%;scale:.86}
.mk.money i{background:var(--k-money)}
.mk.policy i{background:var(--k-policy)}
.mk.announced i{background:repeating-linear-gradient(45deg,transparent 0 3px,var(--sunwash) 3px 5px);box-shadow:inset 0 0 0 2px var(--bird);outline:1.5px dashed var(--bird);outline-offset:2px}
@keyframes land{from{transform:translateY(-10px) scale(.55);opacity:.35}}
.now{position:absolute;top:18px;bottom:0;width:0;border-left:2px solid var(--ink);z-index:4;pointer-events:none}
.now::after{content:"";position:absolute;bottom:-4px;left:-5px;width:8px;height:8px;border-radius:50%;background:var(--ink)}
.now .flag{position:absolute;top:-2px;left:6px;font:600 10.5px/1 var(--mono);letter-spacing:.1em;background:var(--ink);color:var(--paper);padding:4px 6px 3px;border-radius:5px;white-space:nowrap}
.now .bird{position:absolute;top:-22px;left:-15px;width:28px;height:16px;fill:var(--bird);animation:glide 4.2s ease-in-out infinite}
@keyframes glide{0%,100%{transform:translate(0,0) rotate(0)}50%{transform:translate(-2px,-3px) rotate(-4deg)}}
.hz-foot{display:flex;justify-content:space-between;align-items:center;gap:10px 20px;flex-wrap:wrap;margin-top:14px;padding-top:12px;border-top:1px solid var(--sky2)}
.legend{display:flex;gap:6px 16px;flex-wrap:wrap;font-size:12.5px;color:var(--ink2)}
.legend span{display:inline-flex;align-items:center;gap:7px}
.legend .g{width:10px;height:10px}
.tip{position:fixed;z-index:80;max-width:300px;background:var(--ink);color:var(--paper);border-radius:14px;padding:12px 14px 13px;pointer-events:none;opacity:0;transform:translateY(4px);transition:opacity .12s,transform .12s;box-shadow:0 18px 40px -14px rgba(0,0,0,.5)}
.tip.on{opacity:1;transform:none}
.tip .eyebrow{color:inherit;opacity:.7;font-size:10.5px}
.tip b{display:block;font:600 14.5px/1.3 var(--sans);margin-top:6px;letter-spacing:-.01em}
.tip span{display:block;font:500 11.5px var(--mono);opacity:.7;margin-top:7px}

/* home grid */
.dateline{display:flex;justify-content:space-between;align-items:flex-end;gap:18px 32px;flex-wrap:wrap;margin-top:30px;padding-bottom:22px;border-bottom:1px solid var(--line)}
.dateline h1{font:600 11.5px/1.3 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:9px}
.dateline h1 svg{width:22px;height:12px;fill:var(--bird)}
.dateline .date{font:700 clamp(30px,3.6vw,44px)/1.02 var(--sans);letter-spacing:-.04em;margin-top:12px}
.dateline .voice{color:var(--ink2);font-size:15.5px;margin-top:8px;max-width:40em}
.dl-r{display:flex;align-items:center;gap:12px 18px;flex-wrap:wrap}
.newpill{display:inline-flex;align-items:center;gap:10px;background:var(--sun);color:#121419;font-weight:600;font-size:14.5px;height:42px;padding:0 18px 0 8px;border-radius:999px;transition:transform .15s,box-shadow .15s}
.newpill b{background:#121419;color:#FFC62E;border-radius:999px;min-width:28px;height:28px;display:inline-grid;place-items:center;font:600 13px/1 var(--mono);padding:0 8px}
.newpill:hover{transform:translateY(-1px);box-shadow:0 8px 20px -10px rgba(240,165,0,.9)}
.home{display:grid;grid-template-columns:minmax(0,1fr) 348px;gap:40px 52px;margin-top:28px;align-items:start}
.col-main{display:flex;flex-direction:column;gap:40px;min-width:0}
.o-side{display:flex;flex-direction:column;gap:44px;min-width:0}
.seg{display:inline-flex;border:1px solid var(--line2);border-radius:999px;padding:2px;gap:2px}
.seg button,.seg a{font:500 12.5px/1 var(--sans);padding:0 12px;min-height:28px;display:inline-flex;align-items:center;border-radius:999px;color:var(--muted)}
.seg a:hover{color:var(--ink)}
.seg button[aria-pressed="true"],.seg a[aria-current="page"]{background:var(--ink);color:var(--paper)}
.movers{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin-bottom:8px}
.movers>*{min-width:0}
.mv{border-radius:14px;padding:10px 12px 11px;background:var(--risewash);display:block;transition:transform .15s}
.mv:hover{transform:translateY(-1px)}
.mv.down{background:var(--fallwash)}
.mv .eyebrow{font-size:10px;letter-spacing:.08em;color:var(--ink2)}
.mv .dir.up{color:var(--rise-ink)} .mv .dir.down{color:var(--fall-ink)}
.mv b{display:flex;align-items:center;gap:6px;font:600 15px/1.2 var(--sans);margin-top:6px}
.mv b .dir{margin-left:auto;font-size:12.5px}
.mv small{display:block;font-size:12.5px;color:var(--ink2);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.showmore{margin-top:18px;width:100%;height:46px;border-radius:999px;border:1px solid var(--line2);font-weight:500;font-size:14.5px;color:var(--ink2);transition:border-color .15s,color .15s}
.showmore:hover{border-color:var(--ink);color:var(--ink)}
.lead-h{display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}
.lead-h h2{font:600 19px/1.2 var(--sans);letter-spacing:-.02em}
.lead{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.lc{background:var(--raised);border:1px solid var(--line);border-radius:22px;overflow:hidden;display:flex;flex-direction:column;transition:transform .25s cubic-bezier(.2,.8,.3,1),box-shadow .25s,border-color .25s}
.lc:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--line2)}
.lc .dcard{border-radius:0}
.lc-b{padding:16px 18px 18px;display:flex;flex-direction:column;gap:10px;flex-grow:1}
.lc h3{font:600 21px/1.22 var(--sans);letter-spacing:-.022em}
.lc p{color:var(--ink2);font-size:14.5px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.lc-f{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:12px;border-top:1px solid var(--line)}
.filters{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:6px}
.chips{display:flex;gap:6px;flex-wrap:wrap}
.chip{border:1px solid var(--line2);padding:6px 12px;border-radius:999px;font-weight:500;font-size:13.5px;color:var(--ink2);display:inline-flex;align-items:center;gap:7px;transition:background-color .15s,color .15s,border-color .15s}
.chip:hover{border-color:var(--ink);color:var(--ink)}
a.chip[aria-current="page"]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.chip[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.chip .n{font:500 11px var(--mono);opacity:.6}
.day{margin-top:22px}
.day-h{display:flex;gap:10px;align-items:baseline;justify-content:space-between;padding-bottom:10px;border-bottom:1.5px solid var(--ink)}
.day-h h3{font:600 15px/1.2 var(--sans);letter-spacing:-.01em}
.row{display:grid;grid-template-columns:52px minmax(0,1fr);gap:6px 16px;padding:18px 0;border-bottom:1px solid var(--line);align-items:start;position:relative}
.row.has-thumb{grid-template-columns:52px minmax(0,1fr) 156px}
.row .t{font:500 12px/20px var(--mono);color:var(--muted)}
.row h4{font:600 17px/1.32 var(--sans);letter-spacing:-.014em;margin:7px 0 5px;text-wrap:pretty}
.row p{color:var(--ink2);font-size:14.5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.row .foot{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:10px}
.row .thumb{width:156px;border-radius:12px;overflow:hidden;margin-top:2px}
.row:hover h4,.lc:hover h3{text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:4px;text-decoration-color:var(--bird)}
.row .hit{position:absolute;inset:0;z-index:1}
.row .foot a,.row .foot button{position:relative;z-index:2}
.empty{padding:28px 0;color:var(--muted)}

/* rail */
.rail-sec{display:flex;flex-direction:column}
.race{display:flex;flex-direction:column}
.race a{display:grid;grid-template-columns:22px 24px minmax(0,1fr) 50px 54px 48px;align-items:center;gap:10px;padding:6px 6px;margin-inline:-6px;border-radius:10px;transition:background-color .15s}
.race a:hover{background:var(--sand)}
.race .rk{font:500 12px var(--mono);color:var(--muted);text-align:right}
.race .nm{font-weight:500;font-size:14.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.race .rsc{font:600 14px var(--mono);text-align:right}
.race .dir{text-align:right;font-size:12px}
.race-all{display:none;margin-top:8px}
.race .top{border-bottom:1px solid var(--line);padding-bottom:6px;margin-bottom:4px}
.spark{display:block;width:100%;height:22px;overflow:visible}
.pulse-list{display:flex;flex-direction:column}
.pulse-list a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:12px 0;border-bottom:1px solid var(--line)}
.pulse-list a:first-child{padding-top:4px}
.pulse-list .src{grid-column:1/-1;display:flex;align-items:center;gap:8px;font:500 11.5px var(--mono);color:var(--muted);letter-spacing:.04em}
.pulse-list b{font-weight:500;font-size:14.5px;line-height:1.35}
.pulse-list a:hover b{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--bird)}
.mood{display:inline-flex;align-items:center;gap:5px;font:500 11px var(--mono);letter-spacing:.04em;text-transform:uppercase}
.mood i{width:7px;height:7px;border-radius:50%}
.mood.pos i{background:var(--rise)} .mood.mix i{background:var(--bird)} .mood.neg i{background:var(--fall)}
.uptime{display:flex;flex-direction:column;gap:14px}
.ut-row{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px;align-items:center}
.ut-row .who{display:flex;align-items:center;gap:8px;font-weight:500;font-size:14px}
.ut-bar{position:relative;height:22px;border-radius:7px;background:var(--risewash)}
.ut-bar i{position:absolute;top:3px;bottom:3px;border-radius:3px;min-width:4px;background:var(--bird)}
.ut-bar i.major{background:var(--fall)}
.ut-bar s{position:absolute;top:0;bottom:0;width:1px;background:var(--paper);opacity:.9;text-decoration:none}
.ut-sum{grid-column:2;font:500 11.5px var(--mono);color:var(--muted);margin-top:-6px}
.prices{width:100%;border-collapse:collapse;font-size:13.5px}
.prices th{font:500 10.5px/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-align:left;padding:0 0 8px;font-weight:500}
.prices th:last-child,.prices td:last-child{text-align:right}
.prices td{padding:9px 0;border-top:1px solid var(--line);vertical-align:top}
.prices td .m{font-weight:500;display:block}
.prices td .l{font-size:12px;color:var(--muted)}
.prices td.p{font:500 13px var(--mono);white-space:nowrap}
.prices .was{display:block;font:500 11px var(--mono);color:var(--rise)}

/* newsletter + footer */
.daily{margin-top:72px;background:var(--sand);border-radius:28px;padding:40px;display:grid;grid-template-columns:1.1fr 1fr;gap:28px 48px;align-items:center;position:relative;overflow:hidden}
.daily h2{font:700 clamp(28px,3.4vw,40px)/1.04 var(--sans);letter-spacing:-.04em}
.daily p{color:var(--ink2);margin-top:12px;font-size:16px;max-width:30em}
.daily form{display:flex;gap:10px;flex-wrap:wrap}
.daily input{flex:1 1 220px;min-width:0;height:48px;border-radius:999px;border:1px solid var(--line2);background:var(--raised);color:var(--ink);padding:0 20px;font:500 15px var(--sans)}
.daily input::placeholder{color:var(--faint)}
.daily .btn-sun{height:48px;padding-inline:22px;font-size:15px}
.daily .ok{font-size:13.5px;color:var(--ink2);margin-top:10px;min-height:20px}
.daily .big-bird{position:absolute;right:-30px;bottom:-40px;width:230px;fill:var(--sand2);pointer-events:none}
.footer{margin-top:56px;border-top:1px solid var(--line);padding-block:40px 56px}
.footer .cols{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:32px}
.footer .brand svg{height:30px;width:auto;display:block}
.footer .brand p{margin-top:14px;color:var(--ink2);font-size:14.5px;max-width:24em}
.footer h5{font:500 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:4px 0 12px}
.footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px;font-size:14.5px}
.footer ul a:hover{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--bird)}
.footer .fine{margin-top:40px;font-size:12.5px;color:var(--muted);display:flex;justify-content:space-between;gap:10px 24px;flex-wrap:wrap}

/* fact cards (the image system) */
.dcard{position:relative;overflow:hidden;aspect-ratio:1.9/1;container-type:inline-size;border-radius:16px;isolation:isolate}
.dc-in{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:5.6cqw 6cqw 5.2cqw}
.dc-in>*{position:relative;z-index:1}
.dc-top{display:flex;justify-content:space-between;align-items:center;gap:3cqw;font:600 max(8px,2.5cqw)/1 var(--mono);letter-spacing:.09em;text-transform:uppercase}
.dc-top .who{display:flex;align-items:center;gap:1.8cqw}
.dc-top .who svg{width:3.8cqw;height:3.8cqw;fill:currentColor}
.dc-mid{display:flex;flex-direction:column;gap:1.6cqw}
.dc-name{font:700 9.4cqw/.96 var(--sans);letter-spacing:-.05em}
.dc-sub{font:500 3.1cqw/1.25 var(--sans);opacity:.78;max-width:80%}
.dc-stats{display:flex;gap:5cqw;align-items:flex-end;padding-right:10cqw}
.dc-stat b{display:block;font:600 4.3cqw/1 var(--mono);letter-spacing:-.03em;white-space:nowrap}
.dc-stat span{display:block;font:500 2.3cqw/1.2 var(--mono);letter-spacing:.07em;text-transform:uppercase;opacity:.66;margin-top:1.2cqw;white-space:nowrap}
.dc-bird{position:absolute;z-index:2;right:5cqw;bottom:5cqw;width:7cqw;height:4cqw;fill:currentColor;opacity:.9}
.dc-top .who svg[fill="none"]{fill:none}
/* one sky, eight grounds: noon, morning, deep sky, dawn, dusk, night, cloud, haze */
.dc-launch{background:#FFC62E;color:#121419}
.dc-launch .dc-in::before{content:"";position:absolute;z-index:0;width:66cqw;aspect-ratio:1;border-radius:50%;right:-18cqw;top:-36cqw;background:#FFD45E}
.dc-launch .dc-in::after{content:"";position:absolute;z-index:0;width:40cqw;aspect-ratio:1;border-radius:50%;right:-5cqw;top:-23cqw;background:#FFE08A}
.dc-update{background:#D6E6FA;color:#121419}
.dc-update .dc-in::before{content:"";position:absolute;z-index:0;width:76cqw;height:30cqw;border-radius:50%;right:-20cqw;top:-8cqw;background:#E6F0FC}
.dc-research{background:#2E5BCF;color:#FFFFFF}
.dc-research .dc-in::before{content:"";position:absolute;z-index:0;right:-8cqw;bottom:-40cqw;width:70cqw;aspect-ratio:1;border-radius:50%;border:.5cqw solid rgba(255,255,255,.22);box-shadow:0 0 0 7cqw rgba(255,255,255,.05)}
.dc-money{background:#FFCFB3;color:#121419}
.dc-money .dc-in::before{content:"";position:absolute;z-index:0;width:62cqw;aspect-ratio:1;border-radius:50%;right:-12cqw;bottom:-42cqw;background:#FFB892}
.dc-money .dc-name{font-size:14cqw}
.dc-policy{background:#DDD4F4;color:#121419}
.dc-policy .dc-in::before{content:"";position:absolute;z-index:0;width:58cqw;aspect-ratio:1;border-radius:50%;right:-14cqw;top:-34cqw;background:#CFC3F0}
.dc-policy .dc-in::after{content:"";position:absolute;z-index:0;width:1.2cqw;aspect-ratio:1;border-radius:50%;right:52cqw;top:12cqw;background:#FFFFFF;box-shadow:9cqw 5cqw 0 -.2cqw #FFFFFF,-7cqw 9cqw 0 -.3cqw rgba(255,255,255,.8)}
.dc-incident{background:#0D1220;color:#F4F2EC}
.dc-incident .dc-in::before{content:"";position:absolute;z-index:0;width:.9cqw;aspect-ratio:1;border-radius:50%;right:24cqw;top:16cqw;background:rgba(244,242,236,.55);box-shadow:10cqw 6cqw 0 -.1cqw rgba(244,242,236,.4),-9cqw 10cqw 0 -.2cqw rgba(244,242,236,.35),5cqw 16cqw 0 -.2cqw rgba(244,242,236,.3)}
.dc-incident .dc-top .alert{color:#FF7A7A;display:inline-flex;align-items:center;gap:1.4cqw}
.dc-incident .dc-top .alert::before{content:"";width:1.8cqw;height:1.8cqw;border-radius:50%;background:#FF5C5C;box-shadow:0 0 0 .9cqw rgba(255,92,92,.25)}
.dc-community{background:#F4EEE2;color:#121419}
.dc-quote{font:600 5.6cqw/1.1 var(--sans);letter-spacing:-.03em;max-width:92%;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.dc-quote::before{content:"\201C";color:#F0A500;margin-right:.04em}
.dc-announced{background:#FFFCF5;color:#121419}
.dc-announced .dc-in::before{content:"";position:absolute;z-index:0;inset:2.6cqw;border:.45cqw dashed rgba(18,20,25,.34);border-radius:3cqw}
.dc-race{background:#FFFCF5;color:#121419;box-shadow:inset 0 0 0 1px #E3DCCB}
.sky{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:18px}
.sky figure{margin:0}
.sky figcaption{display:flex;justify-content:space-between;gap:8px;margin-top:9px;font-size:13.5px}
.sky figcaption b{font-weight:600}
.sky figcaption span{font:500 11.5px var(--mono);color:var(--muted);letter-spacing:.04em}
.swatches{display:flex;height:34px;border-radius:12px;overflow:hidden;margin-top:18px;box-shadow:inset 0 0 0 1px var(--line)}
.swatches i{flex:1}
.swatches i:last-child{box-shadow:inset 0 0 0 1px var(--line2);border-radius:0 12px 12px 0}
@container (max-width:300px){
  .dc-in{padding:7cqw}
  .dc-stats,.dc-sub,.dc-top .when{display:none}
  .dc-top{font-size:max(8px,4.4cqw)}
  .dc-top .who svg{width:6.4cqw;height:6.4cqw}
  .dc-name{font-size:13.5cqw}
  .dc-money .dc-name{font-size:19cqw}
  .dc-quote{font-size:9.4cqw;-webkit-line-clamp:2}
  .dc-bird{width:11cqw;height:6.4cqw;right:7cqw;bottom:7cqw}
}

/* development page */
.crumbs{display:flex;gap:8px;align-items:center;font-size:13.5px;color:var(--muted);margin-top:28px;flex-wrap:wrap}
.crumbs a{display:inline-flex;align-items:center;min-height:24px}
.crumbs a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.dev{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:40px 56px;margin-top:18px;align-items:start}
.dev-h h1{font:700 clamp(30px,4.2vw,48px)/1.04 var(--sans);letter-spacing:-.04em;margin-top:14px;max-width:18em}
.dev-h .stand{font-size:18px;line-height:1.55;color:var(--ink2);margin-top:16px;max-width:40em}
.dev-h .fs{margin-top:16px;display:flex;flex-wrap:wrap;gap:8px 18px;font:500 12.5px var(--mono);color:var(--muted)}
.dev-card{margin-top:26px}
.dev-card .dcard{border-radius:22px}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:18px;overflow:hidden;margin-top:18px}
.facts div{background:var(--raised);padding:14px 16px 15px}
.facts b{display:block;font:600 21px/1.15 var(--mono);letter-spacing:-.03em;margin-top:8px}
.facts small{display:block;font-size:12.5px;color:var(--muted);margin-top:5px}
.block{margin-top:44px}
.block>h2{font:600 22px/1.2 var(--sans);letter-spacing:-.025em}
.block>.sub{color:var(--muted);font-size:14px;margin-top:6px}
.says{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px}
.says-col{background:var(--raised);border:1px solid var(--line);border-radius:18px;padding:16px 16px 6px;display:flex;flex-direction:column}
.says-col>h3{display:flex;align-items:center;justify-content:space-between;font:600 14px/1 var(--sans);padding-bottom:12px;border-bottom:1px solid var(--line)}
.says-col>h3 span{display:inline-flex;gap:8px;align-items:center}
.says-col>h3 i{width:8px;height:8px;border-radius:50%}
.says-col>h3 em{font:500 12px var(--mono);font-style:normal;color:var(--muted)}
.si{display:block;padding:12px 0;border-bottom:1px solid var(--line)}
.si:last-child{border-bottom:0}
.si .who{font:500 11.5px/1.2 var(--mono);color:var(--muted);letter-spacing:.04em;display:flex;gap:6px;flex-wrap:wrap}
.si .who b{color:var(--ink);font-weight:600}
.si .hl{display:block;font-weight:500;font-size:14.5px;line-height:1.38;margin-top:6px}
.si q{display:block;font-size:13.5px;color:var(--ink2);margin-top:6px;quotes:"\201C" "\201D"}
.si:hover .hl{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--bird)}
.si .eng{display:block;margin-top:6px}
.none{font-size:13.5px;color:var(--muted);padding:12px 0 14px}
.tl{position:relative;margin-top:18px;padding-left:22px}
.tl::before{content:"";position:absolute;left:5px;top:6px;bottom:6px;width:2px;background:var(--line)}
.tl a{position:relative;display:grid;grid-template-columns:92px minmax(0,1fr);gap:12px;padding:9px 0}
.tl a::before{content:"";position:absolute;left:-22px;top:14px;width:12px;height:12px;border-radius:50%;background:var(--paper);box-shadow:inset 0 0 0 2.5px var(--c,var(--ink))}
.tl a.first::before{background:var(--sun);box-shadow:inset 0 0 0 2.5px var(--bird)}
.tl .tt{font:500 12.5px/22px var(--mono);color:var(--muted)}
.tl .tx{font-size:14.5px;line-height:1.45}
.tl .tx b{font-weight:600}
.tl a:hover .tx span{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--bird)}
.moodbar{display:flex;height:14px;border-radius:999px;overflow:hidden;margin-top:18px;gap:3px}
.moodbar i{display:block;height:100%}
.moodlegend{display:flex;gap:18px;flex-wrap:wrap;margin-top:10px;font:500 12.5px var(--mono);color:var(--ink2)}
.moodlegend span{display:inline-flex;gap:7px;align-items:center}
.moodlegend i{width:9px;height:9px;border-radius:50%}
.media{margin:18px 0 0;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--raised)}
.media .ph{aspect-ratio:16/8;background:repeating-linear-gradient(135deg,var(--sky) 0 14px,var(--sky2) 14px 15px);display:grid;place-items:center;text-align:center;padding:20px}
.media .ph span{font:500 12px var(--mono);letter-spacing:.06em;color:var(--muted);background:var(--raised);padding:8px 12px;border-radius:999px;border:1px solid var(--line2)}
.media figcaption{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:12px 16px;font-size:13px;color:var(--muted)}
.media figcaption b{color:var(--ink);font-weight:600}
.aside{position:sticky;top:calc(env(safe-area-inset-top,0px) + 86px);display:flex;flex-direction:column;gap:16px}
.box{background:var(--raised);border:1px solid var(--line);border-radius:20px;padding:18px}
.box h3{font:600 15px/1.2 var(--sans);letter-spacing:-.01em;display:flex;align-items:center;justify-content:space-between;gap:10px}
.impact-num{display:flex;align-items:baseline;gap:12px;margin-top:14px}
.impact-num b{font:600 38px/1 var(--mono);letter-spacing:-.04em}
.kv{display:grid;grid-template-columns:auto 1fr;gap:9px 14px;margin-top:14px;font-size:13.5px}
.kv dt{color:var(--muted)} .kv dd{margin:0;text-align:right;font-weight:500}
.mbar{display:inline-flex;gap:3px;vertical-align:middle;margin-right:6px}
.mbar i{width:6px;height:12px;border-radius:2px;background:var(--line2)}
.mbar i.on{background:var(--ink)}
.box .note{font-size:12.5px;color:var(--muted);margin-top:12px;line-height:1.5}
.share{display:flex;gap:8px;margin-top:12px}
.share button{flex:1;height:38px;border-radius:999px;border:1px solid var(--line2);font-weight:500;font-size:13.5px;transition:border-color .15s}
.share button:hover{border-color:var(--ink)}
.samed{display:grid;grid-template-columns:88px minmax(0,1fr);gap:12px;align-items:center;margin-top:12px}
.samed .dcard{border-radius:10px}
.samed b{font-weight:600;font-size:14px;line-height:1.3;display:block}
.samed:hover b{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--bird)}

/* score page */
.page-h{margin-top:36px;display:flex;justify-content:space-between;align-items:flex-end;gap:20px 40px;flex-wrap:wrap}
.page-h h1{font:700 clamp(34px,4.8vw,56px)/1 var(--sans);letter-spacing:-.045em;margin-top:12px}
.page-h p{font-size:17px;color:var(--ink2);margin-top:14px;max-width:36em}
.page-h.split{display:grid;grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:28px 56px}
.recipe{border:1px solid var(--line);border-radius:20px;background:var(--raised);padding:20px 22px;margin-top:30px}
.recipe .rf{font:600 13px var(--mono);color:var(--ink);margin-top:10px;letter-spacing:-.02em;white-space:nowrap}
.recipe .weights.sm{height:12px;border-radius:6px;gap:2px;margin-top:14px}
.recipe ul{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:7px}
.recipe li{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:10px;font-size:14px;color:var(--ink2)}
.recipe li i{width:10px;height:10px;border-radius:3px}
.recipe li b{font:600 13px var(--mono);color:var(--ink)}
.page-h .recipe .rn{font-size:13px;color:var(--muted);margin-top:14px;max-width:none}
.quad{margin-top:28px;background:var(--sky);border-radius:28px;padding:22px 22px 12px}
.quad-scroll{overflow-x:auto}
.quad svg{display:block;width:100%;min-width:620px;height:auto;overflow:visible}
.quad .ax{font:500 11px var(--mono);fill:var(--muted);letter-spacing:.06em}
.quad .ql{font:600 12px var(--mono);letter-spacing:.1em;fill:var(--ink2);text-transform:uppercase}
.quad .lbl{font:600 13px var(--sans);fill:var(--ink)}
.quad .dot{cursor:pointer}
.quad .dot circle.c{transition:r .2s}
.quad .dot:hover circle.c,.quad .dot:focus-visible circle.c{r:10px}
.board{margin-top:36px}
.brow{display:grid;grid-template-columns:62px minmax(150px,1.3fr) 76px minmax(120px,1fr) 84px 96px 110px;gap:14px;align-items:center;padding:13px 10px;border-bottom:1px solid var(--line);border-radius:12px;transition:background-color .15s}
a.brow:hover{background:var(--sand)}
.brow.head{font:500 10.5px/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-bottom:1.5px solid var(--ink);border-radius:0;padding-block:10px}
.brow .rk{display:flex;flex-direction:column;gap:3px}
.brow .rk b{font:600 18px/1 var(--mono)}
.brow .rk span{font:500 10.5px var(--mono);color:var(--muted)}
.brow .lab{display:flex;align-items:center;gap:12px;font-weight:600;font-size:15.5px;min-width:0}
.brow .lab small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-weight:400;color:var(--muted);font-size:12.5px}
.brow .score{font:600 20px/1 var(--mono);letter-spacing:-.03em}
.c-str{display:block}
.sbar{display:block;position:relative;height:8px;border-radius:999px;background:var(--line)}
.sbar i{position:absolute;left:0;top:0;bottom:0;border-radius:999px;background:var(--ink)}
.sbar-l{display:flex;justify-content:space-between;font:500 11.5px var(--mono);color:var(--muted);margin-bottom:6px}
.conf{font:500 11.5px var(--mono);display:inline-flex;align-items:center;gap:6px;color:var(--ink2)}
.conf i{display:inline-flex;gap:2px}
.conf i s{width:4px;height:11px;border-radius:1px;background:var(--line2);text-decoration:none;display:block}
.conf i s.on{background:var(--ink)}
.weights{display:flex;height:44px;border-radius:14px;overflow:hidden;gap:3px;margin-top:18px}
.weights div{display:flex;align-items:flex-end;padding:0 10px 8px;font:600 12px var(--mono);color:#121419;min-width:0;white-space:nowrap;overflow:hidden}
.pillars{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-top:16px}
.pillar{background:var(--raised);border:1px solid var(--line);border-radius:16px;padding:14px 16px}
.pillar h4{display:flex;justify-content:space-between;align-items:baseline;font:600 15px var(--sans)}
.pillar h4 span{font:500 12.5px var(--mono);color:var(--muted)}
.pillar p{font-size:13.5px;color:var(--ink2);margin-top:6px}
.watch{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.watch span{display:inline-flex;align-items:center;gap:8px;border:1px dashed var(--line2);border-radius:999px;padding:6px 12px 6px 7px;font-weight:500;font-size:14px}
.explain{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px}
.explain div{border-top:1.5px solid var(--ink);padding-top:12px}
.explain h4{font:600 16px var(--sans)}
.explain p{font-size:14px;color:var(--ink2);margin-top:6px}
.explain.e2{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 26px}

/* lab page */
.lab-h{margin-top:30px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px 22px;align-items:center}
.lab-h h1{font:700 clamp(32px,4.4vw,50px)/1 var(--sans);letter-spacing:-.045em}
.lab-h .sub{color:var(--muted);margin-top:8px;font-size:15px}
.lab-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:20px;overflow:hidden;margin-top:24px}
.lab-stats div{background:var(--raised);padding:16px 18px}
.lab-stats b{display:block;font:600 30px/1 var(--mono);letter-spacing:-.04em;margin-top:10px}
.lab-stats small{display:block;color:var(--muted);font-size:12.5px;margin-top:7px}
.chart{margin-top:18px;background:var(--raised);border:1px solid var(--line);border-radius:22px;padding:18px 18px 10px}
.chart svg{display:block;width:100%;height:auto;overflow:visible}
.chart .ax{font:500 11px var(--mono);fill:var(--muted)}
.chart .ev{cursor:pointer}
.pbars{display:flex;flex-direction:column;gap:12px;margin-top:18px}
.pb{display:grid;grid-template-columns:170px minmax(0,1fr) 36px 48px;gap:14px;align-items:center}
.pb .nm{font-weight:500;font-size:14.5px}
.pb .nm small{font:500 11px var(--mono);color:var(--muted);margin-left:6px}
.pb .bar{position:relative;height:12px;border-radius:999px;background:var(--line)}
.pb .bar i{position:absolute;left:0;top:0;bottom:0;border-radius:999px;background:var(--ink)}
.pb .bar s{position:absolute;top:-4px;bottom:-4px;width:2px;background:var(--bird);border-radius:2px;text-decoration:none}
.pb b{font:600 14px var(--mono);text-align:right}
.two{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:40px}

/* models + imagery */
.mtable-wrap{overflow-x:auto;margin-top:24px;border:1px solid var(--line);border-radius:20px;background:var(--raised)}
.mtable{width:100%;border-collapse:collapse;font-size:14.5px;min-width:640px}
.mtable th{font:500 10.5px/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-align:left;padding:14px 16px;border-bottom:1.5px solid var(--ink);white-space:nowrap}
.mtable th button{font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;display:inline-flex;gap:4px}
.mtable th button:hover,.mtable th button[aria-pressed="true"]{color:var(--ink)}
.mtable td{padding:12px 16px;border-bottom:1px solid var(--line);white-space:nowrap}
.mtable tr:last-child td{border-bottom:0}
.mtable td.n{font:500 13.5px var(--mono);text-align:right}
.mtable th.n{text-align:right}
.mtable .who{display:flex;align-items:center;gap:10px;font-weight:500;min-height:24px}
.mtable .fresh{margin-left:8px}
.im-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}
.im-card{background:var(--raised);border:1px solid var(--line);border-radius:22px;padding:18px;display:flex;flex-direction:column;gap:14px}
.im-card h3{font:600 17px var(--sans);letter-spacing:-.015em}
.im-card p{font-size:14px;color:var(--ink2)}
.im-card .tags{display:flex;gap:6px;flex-wrap:wrap}
.cards3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px}
.cards3 figure{margin:0}
.cards3 figcaption{font-size:13px;color:var(--muted);margin-top:8px}
.never{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}
.never div{border:1px solid var(--line);border-radius:16px;padding:14px 16px;background:var(--raised)}
.never b{display:flex;align-items:center;gap:8px;font-weight:600;font-size:15px}
.never b::before{content:"";width:14px;height:14px;border-radius:50%;flex-shrink:0;background:linear-gradient(135deg,transparent 43%,var(--fall) 43% 57%,transparent 57%);box-shadow:inset 0 0 0 1.6px var(--fall)}
.never p{font-size:13.5px;color:var(--ink2);margin-top:6px}
.wtable-wrap{overflow-x:auto;margin-top:18px;border:1px solid var(--line);border-radius:18px;background:var(--raised)}
.wtable{width:100%;border-collapse:collapse;font-size:14px;min-width:620px}
.wtable th,.wtable td{padding:11px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.wtable th{font:500 10.5px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.wtable tr:last-child td{border-bottom:0}
.why{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 28px;margin-top:18px}
.why div{border-top:1.5px solid var(--ink);padding-top:12px}
.why h4{font:600 15.5px var(--sans)}
.why p{font-size:14px;color:var(--ink2);margin-top:6px}
.og{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}
.og figure{margin:0;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--raised)}
.og .dcard{border-radius:0;aspect-ratio:1200/630}
.og figcaption{padding:10px 14px;font-size:12.5px;color:var(--muted);display:flex;justify-content:space-between;gap:8px}
.og .site{font:500 11px var(--mono);color:var(--muted)}
.og .site b{display:block;font:600 14px var(--sans);color:var(--ink);letter-spacing:-.01em;margin-top:3px}

.rings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:28px}
.ring{background:var(--raised);border:1px solid var(--line);border-radius:22px;padding:20px 20px 16px;position:relative}
.ring:first-child{background:var(--sky);border-color:transparent}
.ring-n{display:flex;gap:4px;margin-bottom:14px}
.ring-n span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font:600 14px var(--mono);box-shadow:inset 0 0 0 1.5px var(--ink)}
.ring:first-child .ring-n span{background:var(--sun);box-shadow:none;color:#121419}
.ring h3{font:600 20px/1.2 var(--sans);letter-spacing:-.02em}
.lede2{color:var(--ink2);font-size:14.5px;margin-top:6px}
.ring dl{margin:14px 0 0;display:flex;flex-direction:column;gap:4px}
.ring dt{font:500 10.5px/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:10px}
.ring dd{margin:0;font-size:14px;line-height:1.45}
.ring dd a{display:inline-block;margin:4px 6px 0 0;padding:4px 10px;border-radius:999px;border:1px solid var(--line2);font-size:13px}
.ring dd a:hover{border-color:var(--ink)}
.clocks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px}
.clock{background:var(--raised);border:1px solid var(--line);border-radius:20px;padding:18px}
.clock.hot{background:var(--sky);border-color:transparent}
.clock b{display:block;font:700 22px/1.15 var(--sans);letter-spacing:-.025em;margin-top:10px}
.clock p{font-size:14px;color:var(--ink2);margin-top:8px}
.labsrc{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:12px;margin-top:18px}
.labsrc>div{background:var(--raised);border:1px solid var(--line);border-radius:16px;padding:14px}
.labsrc h4{display:flex;align-items:center;gap:10px;font:600 15.5px var(--sans)}
.chips2{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.st{display:inline-flex;align-items:center;gap:6px;font:500 12px/1 var(--mono);padding:5px 9px;border-radius:999px;white-space:nowrap}
.st::before{content:"";width:7px;height:7px;border-radius:50%}
.st-ok{background:var(--risewash);color:var(--rise)} .st-ok::before{background:var(--rise)}
.st-page{background:var(--sand);color:var(--ink2)} .st-page::before{box-shadow:inset 0 0 0 1.5px var(--ink2)}
.st-no{background:var(--fallwash);color:var(--fall)} .st-no::before{background:var(--fall)}
.st-slow{background:var(--sunwash);color:var(--ink2)} .st-slow::before{background:var(--bird)}
.st-x{background:var(--ink);color:var(--paper)} .st-x::before{background:var(--paper)}
.livedot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--rise);vertical-align:1px}
.answer{font-size:16px;color:var(--ink);margin-top:14px;max-width:44em;padding-left:14px;border-left:3px solid var(--sun)}
.metalinks{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:14px;font-size:13.5px;align-items:center}
.metalinks a{font-weight:500;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--bird)}
.metalinks span{color:var(--muted);font:500 12px var(--mono)}
.h3{font:600 17px var(--sans);margin-top:28px}
.share-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:22px;margin-top:18px;align-items:start}
.share-ops{display:flex;flex-direction:column;gap:12px}
.share-ops .share{margin-top:0}
.note2{font-size:13px;color:var(--muted);margin-top:10px}
.copybox{border:1px solid var(--line);border-radius:14px;background:var(--raised);overflow:hidden}
.cb-h{display:flex;justify-content:space-between;align-items:center;padding:9px 12px;border-bottom:1px solid var(--line)}
.copybox pre{margin:0;padding:10px 12px;font:500 12px/1.55 var(--mono);white-space:pre-wrap;word-break:break-word;color:var(--ink2)}
.plinks{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px;margin-top:12px}
.plinks div{border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:var(--raised)}
.plinks .mono{display:block;font-size:12.5px;color:var(--ink);word-break:break-all}
.plinks small{display:block;color:var(--muted);font-size:12.5px;margin-top:3px}
.tw2{overflow-x:auto;margin-top:14px;border:1px solid var(--line);border-radius:14px;background:var(--raised)}
.htable{width:100%;border-collapse:collapse;font-size:13.5px;min-width:560px}
.htable th{font:500 10.5px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:10px 12px;text-align:left;border-bottom:1.5px solid var(--ink)}
.htable td{padding:9px 12px;border-bottom:1px solid var(--line)}
.htable tr:last-child td{border-bottom:0}
.htable .nw{white-space:nowrap}
.htable .n{text-align:right;font:500 13px var(--mono)}
.htable .today{background:var(--sunwash);font-weight:600}
.htable .who{display:flex;align-items:center;gap:8px;font-weight:500}
/* the shareable score image: fixed colors, like any image */
.sc{position:relative;aspect-ratio:1200/630;container-type:inline-size;border-radius:18px;overflow:hidden;background:#FFFCF5;color:#121419;box-shadow:inset 0 0 0 1px #E3DCCB}
.sc::before{content:"";position:absolute;width:44cqw;aspect-ratio:1;border-radius:50%;right:-14cqw;top:-26cqw;background:#FFF0BF}
.sc-in{position:absolute;inset:0;padding:4.6cqw 5.4cqw 4cqw;display:flex;flex-direction:column}
.sc-top{position:relative;display:flex;justify-content:space-between;align-items:center;font:600 2.2cqw/1 var(--mono);letter-spacing:.1em;text-transform:uppercase}
.sc-top .brand{display:flex;align-items:center;gap:1.4cqw}
.sc-top .brand svg{width:4.4cqw;height:2.5cqw;fill:#F0A500}
.sc .mark{background:#F4F0E6;color:#121419}
.sc-rows{display:flex;flex-direction:column;justify-content:center;gap:.9cqw;flex:1;margin-block:2.4cqw}
.sc-row{display:grid;grid-template-columns:4cqw 4.4cqw minmax(0,1fr) 12cqw 11cqw;align-items:center;gap:2cqw;padding:1cqw 1.6cqw;border-radius:1.6cqw}
.sc-row.first{background:#FFC62E}
.sc-row .rk{font:600 2.8cqw/1 var(--mono);color:#555A63}
.sc-row.first .rk{color:#121419}
.sc-row .nm{font:600 3.5cqw/1.1 var(--sans);letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sc-row .v{font:600 3.8cqw/1 var(--mono);text-align:right;letter-spacing:-.03em}
.sc .d{font:600 2.6cqw/1 var(--mono);text-align:right;white-space:nowrap}
.sc .d.up{color:#178048} .sc .d.down{color:#C63535} .sc .d.flat{color:#676C76}
.sc-row.first .d.up{color:#0E5A31}
.sc-foot{display:flex;justify-content:space-between;gap:2cqw;font:500 2cqw/1 var(--mono);color:#555A63;border-top:.2cqw solid #E3DCCB;padding-top:2cqw}
.sc-lab{position:relative;display:flex;align-items:center;gap:2.6cqw;margin-top:6cqw}
.sc-lab b{display:block;font:700 6cqw/1 var(--sans);letter-spacing:-.04em}
.sc-lab span:not(.mark){display:block;font:500 2.4cqw/1.3 var(--mono);color:#555A63;margin-top:1cqw}
.sc-big{display:flex;align-items:baseline;gap:3cqw;margin-top:auto;margin-bottom:3cqw;flex-wrap:wrap}
.sc-big b{font:600 15cqw/.9 var(--mono);letter-spacing:-.05em}
.sc-big .d{font-size:2.9cqw;text-align:left}
/* search */
dialog.search{border:0;padding:0;background:transparent;width:min(640px,calc(100vw - 32px));margin-top:12vh;color:var(--ink)}
dialog.search::backdrop{background:rgba(13,18,32,.45);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.sbox{background:var(--raised);border:1px solid var(--line2);border-radius:20px;overflow:hidden;box-shadow:0 30px 70px -20px rgba(0,0,0,.45)}
.sbox label{display:flex;align-items:center;gap:12px;padding:0 18px;border-bottom:1px solid var(--line)}
.sbox input{flex:1;height:58px;border:0;background:transparent;color:var(--ink);font:500 17px var(--sans);outline:none}
.sbox .res{max-height:52vh;overflow:auto;padding:8px}
.sbox .res a{display:grid;grid-template-columns:24px minmax(0,1fr);gap:12px;align-items:center;padding:10px;border-radius:12px}
.sbox .res a:hover,.sbox .res a.sel{background:var(--sand)}
.sbox .res b{display:block;font-weight:500;font-size:14.5px;line-height:1.3}
.sbox .res small{font:500 11px var(--mono);color:var(--muted);letter-spacing:.05em;text-transform:uppercase}

@media (max-width:1080px){
  .home{grid-template-columns:minmax(0,1fr) 300px;gap:28px 36px}
  .race a{grid-template-columns:20px 22px minmax(0,1fr) 44px 38px 46px;gap:8px}
  .dev{grid-template-columns:minmax(0,1fr) 290px;gap:36px}
  .brow{grid-template-columns:56px minmax(140px,1.3fr) 70px minmax(100px,1fr) 80px 90px}
  .brow .c-conf{display:none}
}
@media (max-width:860px){
  :root{--gut:18px}
  .nav,.hdr-r .ibtn.find span,.hdr-r .ibtn.find kbd{display:none}
  .subnav{display:flex;gap:4px;overflow-x:auto;padding:0 0 10px;scrollbar-width:none;margin-top:-4px}
  .subnav::-webkit-scrollbar{display:none}
  .subnav a{padding:7px 13px;border-radius:999px;font-weight:500;font-size:14px;color:var(--ink2);white-space:nowrap;border:1px solid var(--line2)}
  .subnav a[aria-current="page"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
  .hdr-row{height:58px;gap:12px}
  .home{grid-template-columns:minmax(0,1fr)}
  .col-main,.o-side{display:contents}
  .o-lead{order:1} .o-race{order:2} .o-wire{order:3} .o-side>*:not(.o-race){order:4}
  .lead{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:86%;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:calc(var(--gut) * -1);padding-inline:var(--gut);scroll-padding-inline:var(--gut);scrollbar-width:none;padding-bottom:4px}
  .lead::-webkit-scrollbar{display:none}
  .lead>.lc{scroll-snap-align:start}
  .lc:hover{transform:none}
  .dateline{margin-top:20px;padding-bottom:18px}
  .dev{grid-template-columns:minmax(0,1fr)}
  .aside{position:static}
  .says{grid-template-columns:1fr}
  .daily{grid-template-columns:1fr;padding:28px 22px}
  .footer .cols{grid-template-columns:1fr 1fr}
  .footer .brand{grid-column:1/-1}
  .brow{grid-template-columns:44px minmax(0,1fr) 62px 62px;gap:10px;padding-inline:4px}
  .brow .lab small{display:none}
  .brow .lab>span{overflow:hidden;text-overflow:ellipsis}
  .quad svg{min-width:0}
  .quad .lbl{font-size:17px}
  .quad .ax,.quad .ql{font-size:14px}
  .brow .c-str,.brow .c-trend,.brow .c-conf{display:none}
  .lab-h{grid-template-columns:auto minmax(0,1fr)}
  .lab-h .btns{grid-column:1/-1}
  .lab-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .two{grid-template-columns:minmax(0,1fr)}
  .explain,.explain.e2,.cards3,.never,.why{grid-template-columns:1fr}
  .page-h.split{grid-template-columns:1fr}
  .recipe{margin-top:4px}
  .sky{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rings,.clocks{grid-template-columns:1fr}
  .share-grid{grid-template-columns:1fr}
  .race a.x{display:none}
  .race-all{display:inline-flex !important}
  .im-grid,.og{grid-template-columns:1fr}
  .pb{grid-template-columns:120px minmax(0,1fr) 30px 40px;gap:10px}
}
@media (max-width:520px){
  .horizon{padding:22px 16px 14px;border-radius:22px;margin-inline:-4px}
  .hz{--lw:118px;min-width:620px}
  .lane-l{font-size:12.5px;gap:7px}
  .lane-l .dir{display:none}
  .hz-days span{font-size:10px;padding-left:5px}
  .now .bird{width:22px;height:13px;left:-12px;top:-19px}
  .hz-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;width:100%}
  .stat b{font-size:24px}
  .stat .eyebrow{font-size:10px;letter-spacing:.06em}
  .row,.row.has-thumb{grid-template-columns:minmax(0,1fr);gap:4px 14px}
  .row.has-thumb{grid-template-columns:minmax(0,1fr) 96px}
  .row .t{display:none}
  .row .thumb{width:96px;border-radius:10px;grid-row:1;grid-column:2}
  .row .body{grid-column:1}
  .row h4{font-size:16px}
  .hdr-r .btn-sun span{display:none}
  .hdr-r .btn-sun{width:38px;padding:0;justify-content:center}
  .quad{padding:16px 10px 8px;border-radius:22px}
  .ut-row{grid-template-columns:96px minmax(0,1fr)}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none !important;transition:none !important}
}

/* ---- Site additions (beyond the prototype) ---- */
[hidden]{display:none!important}
.skip{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--ink);color:var(--paper);padding:8px 14px;border-radius:10px;font-weight:600}
.skip:focus{left:12px}
.prose-wrap{max-width:860px}
.prose-wrap > p{font-size:16px;color:var(--ink2);margin:14px 0 0;max-width:72ch}
.recon{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:13.5px;color:var(--ink2);margin:14px 0 0}
.btn{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 14px;border-radius:999px;border:1px solid var(--line2);background:var(--raised);font-weight:500;font-size:14px}
.btn:hover{border-color:var(--ink)}
.pillar ul{margin:10px 0 0;padding-left:18px;color:var(--ink2);font-size:13.5px}
.pillar li{margin-top:4px}
.mtable{min-width:1120px}
.mtable td:first-child{white-space:normal;min-width:240px;max-width:360px}
.mtable td.links a,.plinks a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line2)}
.mtable td.links a:hover{text-decoration-color:currentColor}
.dc-unconfirmed{outline:1.5px dashed var(--line2);outline-offset:-6px}
.lab-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:18px;overflow:hidden;margin-top:22px}
.lab-stats > div{background:var(--raised);padding:16px 18px;display:flex;flex-direction:column;gap:6px}
.lab-stats small{color:var(--muted);font-size:12.5px}
@media (max-width:760px){.lab-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Timelines: a rail with one dot per event, coloured by what happened. */
.lt-filter{margin:6px 0 4px}
.lt-m{margin-top:26px}
.lt-m h3{font:600 13px/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding-bottom:10px;border-bottom:1px solid var(--line)}
.lt{list-style:none;margin:0;padding:0;position:relative}
.lt::before{content:"";position:absolute;left:78px;top:0;bottom:0;width:1.5px;background:var(--line2)}
.lt-e{display:grid;grid-template-columns:64px 30px minmax(0,1fr);align-items:start;padding:11px 0;position:relative}
.lt-d{font:500 12.5px/1.5 var(--mono);color:var(--muted);text-align:right;padding-top:1px}
.lt-dot{width:11px;height:11px;border-radius:50%;background:var(--raised);box-shadow:inset 0 0 0 2px var(--ink2);margin:5px 0 0 9.5px;position:relative;z-index:1}
.lt-b{display:flex;flex-direction:column;gap:3px;min-width:0}
.lt-b b{font-weight:600;font-size:15px;line-height:1.35;letter-spacing:-.005em}
.lt-b a:hover b{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--bird)}
.lt-b small{font-size:13px;color:var(--muted);line-height:1.45}
.lt-lab{display:inline-flex;align-items:center;gap:6px;font:600 12px/1 var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--ink2);margin-bottom:3px;min-height:24px}
.lt-e.cat-model .lt-dot{background:var(--sun);box-shadow:inset 0 0 0 2px var(--bird);width:15px;height:15px;margin:3px 0 0 7.5px}
.lt-e.cat-feature .lt-dot{box-shadow:inset 0 0 0 2px var(--lake)}
.lt-e.cat-incident .lt-dot{background:var(--fall);box-shadow:none;border-radius:2px;transform:rotate(45deg) scale(.85)}
.lt-e.cat-limits .lt-dot{background:var(--rise);box-shadow:none}
.lt-e.cat-research .lt-dot{background:var(--lake);box-shadow:none}
.lt-e.cat-business .lt-dot{background:var(--k-policy);box-shadow:none}
.lt-e.big .lt-b b{font-size:17px}
.lt-e.minor{padding:6px 0}
.hide-minor .lt-e.minor{display:none}
.lt-e.minor .lt-b b{font-weight:500;font-size:13.5px;color:var(--ink2)}
.lt-e.minor .lt-b small{display:none}
.lt-e.from-catalogue .lt-b b{font-weight:500}
.lt-compact{margin-top:6px}
.lineup{display:flex;gap:12px;overflow-x:auto;padding:4px 2px 14px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
.lu{flex:0 0 200px;scroll-snap-align:start;background:var(--raised);border:1px solid var(--line);border-radius:var(--r-m);padding:14px 16px;display:flex;flex-direction:column;gap:5px;position:relative}
.lu b{font-weight:600;font-size:15.5px;letter-spacing:-.01em;line-height:1.25}
.lu small{color:var(--muted);font-size:12.5px}
.lu .mono{font:500 12.5px var(--mono);color:var(--ink2);margin-top:auto;padding-top:6px}
.lu.retired{opacity:.62}
.lu .tag{position:absolute;top:12px;right:12px;font:600 10.5px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line2);border-radius:999px;padding:3px 7px}
.lab-pick{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.lab-pick a{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 14px 0 8px;border:1px solid var(--line2);border-radius:999px;font-weight:500;font-size:14px;background:var(--raised)}
.lab-pick a:hover{border-color:var(--ink)}
@media (max-width:520px){
  .lt::before{left:56px}
  .lt-e{grid-template-columns:46px 22px minmax(0,1fr)}
  .lt-dot{margin-left:5.5px}.lt-e.cat-model .lt-dot{margin-left:3.5px}
  .lt-d{font-size:11.5px}
}
.pb .pts{color:var(--muted);font-size:12px;min-width:44px;text-align:right}
.whylist{margin:8px 0 0;padding-left:20px;display:flex;flex-direction:column;gap:8px}
.whylist li{line-height:1.5}
details.box summary{cursor:pointer;font-weight:600}
.schart{display:block;width:100%;height:auto;font:500 11.5px var(--mono)}
.schart text{fill:var(--muted)}
.schart .grid{stroke:var(--line);stroke-width:1}
.schart .recon{fill:var(--sand);opacity:.7}
.schart .recon-t{fill:var(--muted);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase}
.schart .vmark{stroke:var(--ink2);stroke-dasharray:3 3}
.schart .vmark-t{fill:var(--ink2);font-size:10.5px}
.schart .ln-score{fill:none;stroke:var(--ink);stroke-width:2.2;stroke-linejoin:round;stroke-linecap:round}
.schart .ln-str{fill:none;stroke:var(--bird);stroke-width:1.6;stroke-dasharray:4 3;stroke-linejoin:round}
.schart .dot-score{fill:var(--sun);stroke:var(--ink);stroke-width:2}
.schart-key{display:flex;gap:16px;margin-top:8px;font:500 12px var(--mono);color:var(--muted)}
.schart-key span{display:inline-flex;align-items:center;gap:6px}
.schart-key i{display:inline-block;width:18px;height:0;border-top:2.2px solid var(--ink)}
.schart-key i.k-str{border-top:1.6px dashed var(--bird)}
.cite{font:500 10.5px/0 var(--mono);color:var(--lake);vertical-align:super;margin-left:1px;text-decoration:none}
.refs{margin:10px 0 0;padding-left:22px;display:flex;flex-direction:column;gap:8px;font-size:13.5px;color:var(--ink2)}
.refs li{line-height:1.5}
/* Touch targets: at least 24px tall (WCAG 2.2, 2.5.8) for small links and buttons */
.more,.metalinks a,.lt-b>a,.recon a,.htable a.who{min-height:24px}
.metalinks a,.lt-b>a,.recon a{display:inline-flex;align-items:center}
button.more{padding:2px 6px;margin:-2px -6px}

/* ---- Redesign, 24 Sep 2026: a compact masthead, a lead story always, the Score's ranking in
   the first fold, lab pages that lead with movement and standing ---- */
.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}
/* Home: one-line dateline */
.dateline{align-items:center;margin-top:16px;padding-bottom:14px}
.dl-l{display:flex;align-items:baseline;gap:4px 14px;flex-wrap:wrap}
.dateline .date{font:600 15px/1.3 var(--sans);letter-spacing:-.01em;margin-top:0;color:var(--ink)}
.home{margin-top:22px}
.lead-h{margin-bottom:12px}
.lead.one{grid-template-columns:minmax(0,1fr)}
.lead.one .lc{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
.lead.one .lc .dcard{height:100%;aspect-ratio:auto;min-height:260px}
.lead.one .lc h3{font-size:25px}
/* Score: header, three tiles, the ranking */
.sc-h{margin-top:24px}
.sc-h h1{font:700 clamp(30px,3.8vw,46px)/1.02 var(--sans);letter-spacing:-.045em;margin-top:10px}
.sc-h .answer{margin-top:14px;font-size:15.5px;color:var(--ink2);max-width:52em}
.sc-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:22px}
.sct{display:flex;flex-direction:column;gap:6px;border-radius:18px;padding:16px 18px 15px;background:var(--raised);border:1px solid var(--line);transition:transform .15s,box-shadow .15s;min-width:0}
.sct:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.sct.top{background:var(--sunwash);border-color:transparent}
.sct.up{background:var(--risewash);border-color:transparent}
.sct.down{background:var(--fallwash);border-color:transparent}
.sct b{display:flex;align-items:center;gap:8px;font:600 16px/1.2 var(--sans);margin-top:2px}
.sct b span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sct .big{font:600 34px/1 var(--mono);letter-spacing:-.04em;margin-top:4px}
.sct.up .big{color:var(--rise-ink,var(--rise))}
.sct.down .big{color:var(--fall-ink,var(--fall))}
.sct small{font-size:13px;color:var(--ink2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.board{margin-top:20px}
.brow{padding:10px 10px}
.brow .rk b{font-size:17px}
.brow .lab small{-webkit-line-clamp:1;margin-top:2px}
.brow.first{background:var(--sunwash)}
.brow.first:hover{background:var(--sunwash)}
.brow .c-str{display:flex;align-items:center;gap:10px}
.brow .c-str .sbar{flex:1;height:6px}
.brow .sv{font:500 12.5px var(--mono);color:var(--ink2);min-width:34px;text-align:right}
.board-note{font-size:13px;color:var(--muted);margin-top:12px}
.sc-h+.sc-tiles+.board+.recon{margin-top:10px}
#map .quad{margin-top:14px}
.how-g{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px 48px;align-items:start}
.how-g p{color:var(--ink2);font-size:15.5px;margin-top:10px;max-width:40em}
.how-g .recipe{margin-top:0}
/* Lab page: movement and standing up top */
.crumbs{margin-top:20px}
.lab-h{margin-top:18px;align-items:start}
.lab-h h1{margin-top:6px}
.lab-lede{font-size:17px;color:var(--ink);margin-top:12px;max-width:46em}
.lab-sw{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.sw{font-size:13.5px;padding:6px 11px;border-radius:999px;line-height:1.35}
.sw.up{background:var(--risewash);color:var(--ink)}
.sw.down{background:var(--sand);color:var(--ink2)}
.lab-stats small .dir{margin:0;font-size:12.5px;display:inline}
.pb{grid-template-columns:170px minmax(0,1fr) 40px 36px 48px}
.pb .prk{font:500 12px var(--mono);color:var(--muted);text-align:right}
.pb.hi .bar i{background:var(--sun)}
.pb.hi .prk{color:var(--ink);font-weight:600}
.pb.lo .bar i{background:var(--faint)}
.block.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 48px}
.block.two h2{font:600 20px/1.2 var(--sans);letter-spacing:-.02em}
.drivers{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px}
.drivers a{display:flex;gap:12px;align-items:flex-start;padding:11px 12px;border-radius:14px;background:var(--raised);border:1px solid var(--line);min-height:24px}
.drivers a:hover{border-color:var(--line2)}
.drivers .dv{font:600 13px var(--mono);min-width:48px;text-align:right;padding-top:1px}
.drivers .dv.up{color:var(--rise-ink,var(--rise))}
.drivers .dv.down{color:var(--fall-ink,var(--fall))}
.drivers .dt{display:flex;flex-direction:column;gap:3px;min-width:0}
.drivers .dt b{font-weight:500;font-size:14px;line-height:1.35}
.drivers .dt small{font-size:12px;color:var(--muted)}
details.readings summary{display:flex;align-items:center;cursor:pointer;list-style:none;padding:4px 2px;min-height:24px}
details.readings summary::-webkit-details-marker{display:none}
details.readings summary span{display:flex;flex-direction:column;gap:3px}
details.readings summary b{font:600 20px/1.2 var(--sans);letter-spacing:-.02em}
details.readings summary small{font-size:13.5px;color:var(--muted)}
details.readings summary::after{content:'Show';margin-left:auto;font:500 12.5px var(--mono);color:var(--ink2);border:1px solid var(--line2);border-radius:999px;padding:5px 12px}
details.readings[open] summary::after{content:'Hide'}
details.readings .tw2{margin-top:12px}
@media (max-width:860px){
  .how-g{grid-template-columns:minmax(0,1fr)}
  .block.two{grid-template-columns:minmax(0,1fr)}
  .drivers{grid-template-columns:minmax(0,1fr)}
  .lead.one .lc{display:flex}
  .lead.one .lc .dcard{aspect-ratio:1200/630;min-height:0}
}
@media (max-width:760px){
  .sc-tiles{grid-template-columns:minmax(0,1fr);gap:8px}
  .sct{flex-direction:row;flex-wrap:wrap;align-items:center;gap:4px 12px;padding:12px 14px}
  .sct .eyebrow{width:100%}
  .sct .big{font-size:24px;margin:0 0 0 auto}
  .sct small{width:100%}
  .pb{grid-template-columns:110px minmax(0,1fr) 34px 28px 38px;gap:8px}
  .lab-lede{font-size:15.5px}
  .dateline{margin-top:12px}
}
.lab-sw{display:flex;flex-direction:column;gap:8px;margin-top:14px}
.swr{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.swl{font:500 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);min-width:96px}
.pchip{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;padding:5px 6px 5px 11px;border-radius:999px;line-height:1.2}
.pchip b{font:600 11.5px var(--mono);padding:3px 7px;border-radius:999px}
.swr.up .pchip{background:var(--risewash)}
.swr.up .pchip b{background:var(--raised);color:var(--rise-ink,var(--rise))}
.swr.down .pchip{background:var(--sand)}
.swr.down .pchip b{background:var(--raised);color:var(--fall-ink,var(--fall))}
.pnone{font-size:13.5px;color:var(--muted)}
@media (max-width:760px){.swl{min-width:0;width:100%}}
.pb.hi .bar s{background:var(--ink)}
.sc-big .d{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:520px){.brow .c-str{display:none}}
@media (max-width:760px){.sc-h .answer{display:none}.sc-tiles{margin-top:16px}}
