/* PSX Research Desk — design system
   ink ground · two-hue categorical scale · Bauhaus marks · 24/48/96/144 rhythm */
:root{
  /* Stone & Bronze — warm bone paper, copper interactive, bronze accent */
  --bg:#ECE4D2; --panel:#FBF7EC; --head:#F4EEDE; --hov:#F2EADB; --tint:#F0E7D3;
  --line:#DDD1B8; --line-2:#E6DCC6; --line-h:#CBBFA6;
  --ink:#20190F; --soft:#3A3327; --mut:#574E3F; --dim:#8A8070;
  --gold:#B4692E; --gold-hi:#9A5A26;              /* interactive = copper */
  --brand:#B4692E; --brand-500:#C98A2E; --brand-100:#F0E4CF;
  --mari:#C98A2E; --mari-100:#F4E7C6;             /* amber accent */
  --lime:#2F6B4C; --lime-100:#DCEADD; --lime-ink:#235239;
  --coral:#A83E26; --coral-100:#F3DDD4; --coral-ink:#7A2C1A;
  --neu:#B7AC92; --neu-100:#E6DCC6;
  --onacc:#FBF7EC;                                /* on-accent helper (coin chevrons / text on gold) */
  --num:"Figtree",ui-sans-serif,system-ui,sans-serif;
  --shadow:0 1px 2px rgba(60,45,20,.05),0 12px 30px rgba(60,45,20,.08);
  --s1:28px; --s2:60px; --s3:112px; --s4:160px;
}
*{box-sizing:border-box}
html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);
  font-family:"Figtree",ui-sans-serif,system-ui,-apple-system,"Noto Nastaliq Urdu",sans-serif;font-size:16px;line-height:1.6}
a{color:inherit}
h1,h2,h3{margin:0;letter-spacing:-.028em;font-weight:700;
  font-family:"Fraunces","Figtree",ui-sans-serif,serif}
.wrap{max-width:1352px;margin:0 auto;padding:0 48px}
.mono{font-family:var(--num)}
.n,.sym,.tkp,.tk b{font-variant-numeric:tabular-nums}

/* ---------- tape ---------- */
.tape{background:var(--panel);border-bottom:1px solid var(--line);height:36px;display:flex;
  align-items:stretch;overflow:hidden;font-family:var(--num)}
.tape-l{flex:0 0 auto;display:flex;align-items:center;gap:9px;padding:0 18px;background:var(--bg);
  border-right:1px solid var(--line);font-size:10px;letter-spacing:.16em;color:var(--gold)}
.tape-l i{width:5px;height:5px;background:var(--gold)}
.tape-r{position:relative;flex:1 1 auto;display:flex;align-items:center;padding-left:86px;
  white-space:nowrap;overflow:hidden;font-size:11.5px;min-width:0}
.tape-r::before,.tape-r::after{content:"";position:absolute;top:0;bottom:0;width:88px;z-index:2;pointer-events:none}
.tape-r::before{left:0;background:linear-gradient(270deg,rgba(255,255,255,0),var(--panel) 80%)}
.tape-r::after{right:0;background:linear-gradient(90deg,rgba(255,255,255,0),var(--panel) 80%)}
.run{display:flex;gap:30px;padding-right:30px;animation:marquee 68s linear infinite}
.tape-r{padding-left:0}.tape-r::before,.tape-r::after{display:none}.market-ticker-track{display:flex;align-items:baseline;gap:18px;padding:0 18px;white-space:nowrap}
.tape-r:hover .run{animation-play-state:paused}
.tk{display:inline-flex;align-items:baseline;gap:8px}
.tk b{font-weight:700;letter-spacing:.025em;color:var(--ink)}
.tkp{color:var(--dim);font-weight:600}
.tape-t{flex:0 0 auto;padding:0 18px;display:flex;align-items:center;background:var(--panel);
  border-left:1px solid var(--line);font-size:10px;letter-spacing:.12em;color:var(--neu)}

/* ---------- header ---------- */
.hdr{border-bottom:1px solid var(--line);position:sticky;top:0;z-index:40;
  background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:blur(12px)}
.hdr-in{display:flex;align-items:center;justify-content:space-between;height:72px}
.brand{display:inline-flex;align-items:center;gap:0;text-decoration:none}
.brand-m{width:auto;height:28px;padding:0 9px;border:1px solid var(--line-h);border-radius:7px;display:flex;
  align-items:center;justify-content:center;font-family:var(--num);font-size:11px;color:var(--mut)}
svg.brand-logo{width:26px;height:26px;border-radius:7px;flex:none;vertical-align:middle;margin-right:8px}
.brand-n{font-size:17px;font-weight:700;letter-spacing:-.02em}
/* ---------- theme toggle (dark/light pill) ---------- */
.thm-toggle{position:relative;flex:0 0 auto;width:40px;height:26px;padding:0;border-radius:999px;
  border:1px solid var(--line-h);background:var(--tint);cursor:pointer;transition:background .18s,border-color .18s}
.thm-toggle:hover{border-color:var(--gold)}
.thm-toggle:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.thm-knob{position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;
  background:var(--gold);box-shadow:0 1px 2px rgba(0,0,0,.25);transition:transform .18s ease}
:root[data-theme="dark"] .thm-knob{transform:translateX(14px)}
.nav{display:flex;align-items:center;gap:26px;height:100%}
.nav a{font-size:15px;font-weight:600;color:var(--mut);text-decoration:none;height:100%;
  display:flex;align-items:center;border-bottom:2px solid transparent;transition:color .15s}
.nav a:hover{color:var(--ink)}
.nav a.on{color:var(--ink);border-bottom-color:var(--gold)}
.hdr-r{display:flex;align-items:center;gap:9px}
.srch{display:flex;align-items:center;gap:10px;height:34px;padding:0 8px 0 14px;
  border:1px solid var(--line);border-radius:999px;background:var(--panel);width:206px}
.srch svg circle,.srch svg path{stroke:var(--dim)}
.srch input{border:0;background:none;outline:none;font:inherit;font-size:13px;color:var(--ink);width:100%}
.srch input::placeholder{color:var(--dim)}
.kbd{font-family:var(--num);font-size:10px;color:var(--dim);
  border:1px solid var(--line);border-radius:4px;padding:0 4px}
.btn{height:34px;padding:0 17px;border:1px solid var(--line);border-radius:999px;background:transparent;
  color:var(--mut);font:inherit;font-size:13px;font-weight:500;cursor:pointer;transition:all .16s}
.btn:hover{border-color:var(--gold);color:var(--gold)}

/* ---------- type ---------- */
.kick{display:inline-flex;align-items:center;gap:12px;font-size:14px;font-weight:500;color:var(--mut)}
.kick::before{content:"";width:26px;height:1px;background:var(--line-h)}
.lede{font-size:21px;line-height:1.5;color:var(--mut);max-width:32ch;text-wrap:balance}
.sub{margin:14px 0 0;font-size:16px;line-height:1.6;color:var(--mut);max-width:66ch;text-wrap:pretty}
.eyebrow{font-size:14px;font-weight:500;letter-spacing:0;text-transform:none;color:var(--dim)}
.cta{display:inline-flex;align-items:center;height:52px;padding:0 30px;border-radius:12px;
  background:var(--ink);color:var(--bg);font-size:16.5px;font-weight:700;text-decoration:none;
  border:0;cursor:pointer;font-family:inherit;transition:transform .18s ease,box-shadow .18s ease}
.cta:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(244,242,237,.14)}
.lnk{appearance:none;background:none;border:0;border-bottom:1px solid var(--line-h);padding:0 0 2px;color:var(--mut);font:inherit;font-size:14.5px;line-height:1.2;text-decoration:none;cursor:pointer}
.lnk:hover{color:var(--gold);border-bottom-color:var(--gold)}

/* ---------- nudge: a pointer that guides rather than decorates ---------- */
.nudge{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:var(--dim)}
.nudge b{color:var(--soft);font-weight:500}

.nudge b{color:var(--gold-hi);font-weight:500}
.nudge svg{flex:0 0 auto}

/* ---------- marks & legends ---------- */
.mk{display:block;flex:0 0 auto}
.lgs{display:flex;align-items:center;gap:20px;padding:12px 0;border-top:1px solid var(--line);
  flex-wrap:wrap;margin-top:var(--s1)}
.lgs+.lgs{margin-top:0}
.lgl{font-size:12.5px;color:var(--dim)}
.lg,.qk{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;color:var(--soft)}
#legend{display:inline-flex;align-items:center;gap:20px;flex-wrap:wrap}
.qk i{width:13px;height:13px;border-radius:3px;display:block}
.qks{border-top:0;padding:0 0 var(--s1)}

/* ---------- panels & tables ---------- */
.panel{border:1px solid var(--line);border-radius:18px;background:var(--panel);overflow:hidden;
  box-shadow:var(--shadow)}
table{width:100%;border-collapse:collapse;table-layout:fixed}
thead th{text-align:right;padding:17px 22px;background:var(--head);border-bottom:1px solid var(--line);
  font-weight:600;font-size:14.5px;letter-spacing:0;text-transform:none;color:var(--soft);white-space:nowrap}
thead th[data-s]{cursor:pointer;transition:color .15s}
thead th[data-s]:hover{color:var(--ink)}
thead th.l{text-align:left}
thead th.r{text-align:left;padding-left:20px}
thead th.on{color:var(--ink)}
.srt{color:var(--gold);margin-left:5px;letter-spacing:0}
tbody tr{border-bottom:1px solid var(--line-2);height:52px;transition:background .14s}
tbody tr:last-child{border-bottom:0}
tbody tr:hover{background:var(--head)}
tbody th,tbody td{padding:0 18px;text-align:right;font-size:13.5px;white-space:nowrap}
tbody th{text-align:left;font-weight:400}
tbody tr.orphan{border-top:1px solid var(--line-h);background:var(--head)}
tbody tr.orphan .nm,tbody tr.orphan .sym{color:var(--neu)}
.sym{font-family:var(--num);font-size:12.5px;font-weight:500;color:var(--ink);letter-spacing:.03em}
.bdg{display:inline-flex;width:16px;height:16px;border:1px solid var(--gold);border-radius:50%;
  color:var(--gold);font-family:var(--num);font-size:9px;align-items:center;
  justify-content:center;margin-left:9px;vertical-align:1px}
.nm{text-align:left;overflow:hidden;text-overflow:ellipsis;font-weight:500;letter-spacing:-.008em}
.sec{color:var(--dim);font-weight:400;margin-left:9px;font-size:12.5px}
.n{font-size:13.5px;color:var(--soft)}
.n.key{font-weight:600;color:var(--ink)}
.sg{display:flex;align-items:center;gap:10px;height:52px;padding-left:20px}
.foot{display:flex;align-items:center;justify-content:space-between;padding:17px 22px;
  background:var(--head);border-top:1px solid var(--line);font-size:13.5px;color:var(--mut)}

/* ---------- filter pills ---------- */
.segs{display:inline-flex;gap:3px;margin:var(--s1) 0 16px;flex-wrap:wrap}
.seg{border:1px solid var(--line);background:var(--panel);font:inherit;font-size:14px;font-weight:500;
  color:var(--mut);padding:9px 16px;border-radius:999px;cursor:pointer;display:inline-flex;
  align-items:center;gap:8px;transition:all .16s}
.seg:hover{border-color:var(--line-h);color:var(--ink)}
.seg b{font-weight:400;font-size:11px;color:var(--dim);font-variant-numeric:tabular-nums}
.seg.on{border-color:var(--brand-500);background:var(--brand-100);color:var(--ink)}
.seg.on b{color:var(--gold)}

/* ---------- chart ---------- */
.fig{width:100%;height:auto;display:block;overflow:visible}
.ax{font-family:var(--num);font-size:11.5px;fill:var(--dim);font-variant-numeric:tabular-nums}
.axl{font-family:var(--num);font-size:12px;font-weight:500;letter-spacing:0;fill:var(--dim)}
.md{font-family:var(--num);font-size:11.5px;font-weight:500;letter-spacing:0;fill:var(--mut)}
.gp{font-size:11px;fill:var(--dim)}
.pt{font-family:var(--num);font-size:10.5px;fill:var(--mut);letter-spacing:.03em;
  paint-order:stroke;stroke:var(--bg);stroke-width:3px;stroke-linejoin:round}
.pth{font-family:var(--num);font-size:11px;fill:var(--ink);letter-spacing:.03em;
  paint-order:stroke;stroke:var(--bg);stroke-width:3px;stroke-linejoin:round}
.bn{font-family:var(--num);font-size:10px;fill:var(--gold)}

/* ---------- evidence ledger ---------- */
.sr{display:grid;grid-template-columns:120px minmax(0,1fr) 180px 104px 20px;align-items:center;
  gap:24px;padding:18px 2px;border-bottom:1px solid var(--line);text-decoration:none;transition:padding .18s}
.sr:first-of-type{border-top:1px solid var(--line-h)}
.sr:hover{padding-left:10px}
.sr:hover .sr-a{color:var(--gold)}
.sr-s{font-family:var(--num);font-size:11.5px;color:var(--ink);letter-spacing:.04em}
.sr-t{font-size:14.5px;font-weight:500;letter-spacing:-.01em}
.sr-t em{font-style:normal;font-family:var(--num);font-size:10px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--dim);border:1px solid var(--line);border-radius:4px;padding:2px 7px;margin-left:12px}
.sr-k,.sr-d{font-size:13px;color:var(--mut)}
.sr-d{font-variant-numeric:tabular-nums}
.sr-a{color:var(--dim);text-align:right;transition:color .16s}

/* ---------- footer ---------- */
.ftr{margin-top:var(--s3);border-top:1px solid var(--line-h);padding:32px 0 56px}
.ftr-c{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
.ftr-c p{margin:10px 0 0;font-size:13px;line-height:1.62;color:var(--mut);max-width:44ch}
.ftr-b{display:flex;justify-content:space-between;gap:30px;margin-top:36px;padding-top:16px;
  border-top:1px solid var(--line-2)}
.ftr-b span{font-family:var(--num);font-size:10px;letter-spacing:.14em;color:var(--dim)}
@media (max-width:1180px){.ftr-c{grid-template-columns:minmax(0,1fr)}}

/* ---------- motion ---------- */
@keyframes popIn{from{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}
@keyframes riseIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes coinFall{
  0%{opacity:0;transform:translate3d(0,-14px,0) rotate(0) scale(.7)}
  12%{opacity:1}
  100%{opacity:0;transform:translate3d(var(--dx),var(--dy),0) rotate(var(--rot)) scale(1)}}
.pm{transform-box:fill-box;transform-origin:center;
  animation:popIn .6s cubic-bezier(.18,.85,.25,1) backwards;transition:opacity .18s ease}
.pm.dim{opacity:.14}
.pm.lit{transform:scale(1.3)}
.rise{animation:riseIn .6s cubic-bezier(.2,.8,.25,1) backwards}
@keyframes coinSpin{from{transform:rotateY(0) rotateX(18deg)}to{transform:rotateY(1080deg) rotateX(18deg)}}
.coin{position:fixed;width:20px;height:20px;pointer-events:none;z-index:9999;
  animation:coinFall 1.5s cubic-bezier(.3,.6,.4,1) forwards;perspective:120px}
.coin::after{content:"";display:block;width:100%;height:100%;border-radius:50%;
  background:conic-gradient(from 210deg,#8C6612,#FFE9A8 18%,#FFC24B 38%,#9C7418 58%,#FFD98A 78%,#8C6612);
  box-shadow:0 0 14px rgba(255,194,75,.45),inset 0 0 0 1.5px rgba(255,233,168,.55);
  animation:coinSpin 1.1s linear infinite}
.coin.note{width:30px;height:17px}
.coin.note::after{border-radius:2px;animation-duration:1.7s;
  background:linear-gradient(115deg,#4E7A1C,#B8F04A 40%,#D9FF93 55%,#6FA32A);
  box-shadow:0 0 12px rgba(184,240,74,.34),inset 0 0 0 1px rgba(217,255,147,.4)}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ---------- briefing hero ---------- */
.hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 470px;gap:var(--s2);align-items:start;
  padding:var(--s2) 0 var(--s1)}
.glfield{position:absolute;inset:-40px -40px auto -40px;width:calc(100% + 80px);height:calc(100% + 80px);
  display:block;z-index:0;pointer-events:none}
.hero>*{position:relative;z-index:1}
.page{position:relative}
.page>*{position:relative;z-index:1}
.pagefield{inset:-30px -40px auto -40px;height:420px;
  -webkit-mask-image:linear-gradient(#000 0%,#000 46%,transparent 96%);
  mask-image:linear-gradient(#000 0%,#000 46%,transparent 96%)}
.hero h1{font-family:var(--hero-display);font-size:clamp(60px,5.3vw,82px);font-weight:400;line-height:.94;letter-spacing:-.045em;margin:20px 0 0;max-width:12ch;text-wrap:balance}
.hero-t .lede{margin:24px 0 0}
.hero-a{display:flex;align-items:center;gap:26px;margin-top:34px}
/* ---------- the three that stand out ---------- */
.hero-o{display:block;min-width:0}
.oh{margin:0 0 22px}
.oh .kick b{font-weight:600;color:var(--ink)}
.oh-t{font-family:var(--display);font-size:28px;font-weight:700;line-height:1.1;letter-spacing:-.028em;
  margin:16px 0 0;max-width:18ch;text-wrap:balance}
.oh-d{margin:10px 0 0;font-size:14.5px;line-height:1.55;color:var(--mut);max-width:44ch;text-wrap:pretty}
.oh-d b{font-weight:600;color:var(--ink)}
.oh-f{margin:18px 0 0;font-size:12.5px;line-height:1.5;color:var(--dim)}
.ots{display:flex;flex-direction:column;gap:16px}
.ots .empty{margin-top:0}
.ot{display:flex;flex-direction:column;padding:30px 32px 28px;border-radius:20px;text-decoration:none;color:inherit;
  background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);
  animation:riseIn .6s cubic-bezier(.2,.8,.25,1) backwards;
  transition:border-color .2s,transform .24s cubic-bezier(.2,.8,.25,1),box-shadow .24s}
.ot:nth-child(2){animation-delay:90ms}
.ot:nth-child(3){animation-delay:180ms}
.ot:hover{border-color:var(--line-h);transform:translateY(-2px)}
.ot:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.ot-r{display:flex;align-items:center;gap:10px}
.ot-n{flex:0 0 auto;width:26px;height:26px;border:1px solid var(--gold);border-radius:50%;color:var(--gold);
  font-family:var(--num);font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;
  display:flex;align-items:center;justify-content:center}
.ot-c{display:inline-flex;align-items:center;gap:7px;min-width:0;padding:4px 11px;border-radius:999px;
  background:var(--brand-100);color:var(--brand);font-size:12.5px;font-weight:600;line-height:1.3}
.ot-c::before{content:"";flex:0 0 auto;width:6px;height:6px;border-radius:50%;background:currentColor}
.ot .go{margin-left:auto;flex:0 0 auto}
.ot:hover .go{border-color:var(--gold);color:var(--gold);transform:translateX(2px)}
.ot-h{display:flex;flex-direction:column;gap:3px;margin-top:20px;min-width:0}
.ot-h b{font-family:var(--num);font-size:19px;font-weight:700;line-height:1.2;letter-spacing:.01em;color:var(--ink)}
.ot-m{font-size:13.5px;line-height:1.4;color:var(--dim)}
.ot-v{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px;margin-top:18px;
  font-family:var(--num);font-size:42px;font-weight:700;line-height:1;letter-spacing:-.035em;
  color:var(--ink);font-variant-numeric:tabular-nums}
.ot-v .ot-k{font-size:13px;font-weight:500;letter-spacing:0;color:var(--dim)}
.ot-p{display:block;margin-top:20px;padding-top:16px;border-top:1px solid var(--line-2);
  font-size:14.5px;line-height:1.6;color:var(--mut);text-wrap:pretty}
@media (max-width:1180px){          /* hero is one column: cards go 3-up */
  .ots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
  .ot{padding:24px 24px 22px}
  .ot-v{font-size:34px}
}
@media (max-width:960px){
  .hero-o{max-width:600px}
  .ots{grid-template-columns:minmax(0,1fr)}
  .ot{padding:28px 28px 26px}
}
@media (max-width:480px){
  .oh{margin-bottom:18px}
  .oh-t{font-size:25px}
  .ots{gap:12px}
  .ot{padding:22px 20px 20px;border-radius:16px}
  .ot-c{font-size:12px}
  .ot-h{margin-top:16px}
  .ot-v{font-size:34px;margin-top:14px}
  .ot-p{margin-top:16px;padding-top:14px;font-size:14px}
}
@media (prefers-reduced-motion:reduce){.ot:hover,.ot:hover .go{transform:none}}
.dline{margin:var(--s2) 0 0;padding:16px 0 0;border-top:1px solid var(--line);font-size:12.5px;color:var(--dim)}
.dline b{color:var(--soft);font-weight:500}

/* ---------- section scaffolding ---------- */
.fw{padding:var(--s2) 0 0}
.hero+.fw{padding-top:var(--s1)}
.page{padding:var(--s3) 0 0}
.ph{font-size:60px;line-height:1.02;letter-spacing:-.034em;margin:22px 0 0;max-width:18ch}
.page .lede{margin:22px 0 0}
.f1-h{display:flex;align-items:baseline;justify-content:space-between;gap:24px;flex-wrap:wrap}
.f1-t{font-size:32px;font-weight:700;letter-spacing:-.028em;margin:0}
.hint{display:flex;gap:10px;flex-wrap:wrap;margin-top:var(--s1)}
.panel.pad{padding:20px 14px}
.back{display:inline-block;font-size:13px;color:var(--dim);text-decoration:none;margin-bottom:var(--s1)}
.back:hover{color:var(--gold)}

/* ---------- portal cards ---------- */
.nxs{margin-top:var(--s1)}
.nx{display:grid;grid-template-columns:56px minmax(0,300px) minmax(0,1fr) 20px;gap:28px;align-items:baseline;
  padding:26px 2px;border-bottom:1px solid var(--line);text-decoration:none;transition:padding .18s}
.nx:first-child{border-top:1px solid var(--line-h)}
.nx:hover{padding-left:12px}
.nx:hover .nx-a{color:var(--gold)}
.nx-k{font-family:var(--num);font-size:11px;letter-spacing:.14em;color:var(--dim)}
.nx b{font-size:24px;font-weight:600;letter-spacing:-.024em}
.nx-p{font-size:14px;line-height:1.55;color:var(--mut)}
.nx-a{color:var(--dim);text-align:right;transition:color .16s}
.portal{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:var(--s1)}
.pc{position:relative;display:block;padding:32px 30px 38px;border:1px solid var(--line);border-radius:18px;
  background:var(--panel);box-shadow:var(--shadow);text-decoration:none;transition:border-color .18s,transform .18s}
.pc:hover{border-color:var(--line-h);transform:translateY(-3px)}
.pc-k{font-family:var(--num);font-size:10.5px;letter-spacing:.14em;color:var(--gold)}
.pc b{display:block;margin-top:16px;font-size:26px;font-weight:700;letter-spacing:-.026em}
.pc-p{display:block;margin-top:11px;font-size:15px;line-height:1.55;color:var(--mut);max-width:30ch;text-wrap:balance}
.pc-a{position:absolute;right:22px;bottom:22px}

/* ---------- economic briefing ---------- */
.econ-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:var(--s1)}
.econ-head .kick{display:block;margin-bottom:9px;color:var(--gold)}
.econ-head .f1-t{font-size:clamp(32px,3.2vw,48px);letter-spacing:-.042em}
.econ-head .sub{max-width:60ch;margin:12px 0 0}
.econ-meta{display:flex;flex-direction:column;align-items:flex-end;gap:6px;padding-bottom:5px}
.econ-src,.econ-extracted{font-family:var(--num);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);white-space:nowrap}
.econ-extracted{font-size:10px;letter-spacing:.07em;text-transform:none;color:var(--soft)}
.econ-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.econ-card{min-height:238px;padding:22px 20px 18px;border:1px solid var(--line);border-radius:16px;background:var(--panel);box-shadow:var(--shadow);display:flex;flex-direction:column;transition:transform .18s,border-color .18s,box-shadow .18s}
.econ-card:hover{transform:translateY(-3px);border-color:var(--line-h);box-shadow:0 16px 34px rgba(25,23,18,.11)}
.econ-top{display:flex;align-items:center;justify-content:space-between;gap:10px;font-family:var(--num);font-size:10px;letter-spacing:.13em;text-transform:uppercase}
.econ-k{color:var(--gold)} .econ-period{color:var(--dim)}
.econ-card h3{margin:22px 0 0;font-size:16px;line-height:1.25;font-weight:600;letter-spacing:-.015em;color:var(--mut)}
.econ-value{margin-top:8px;font-family:var(--num);font-size:clamp(25px,2vw,34px);line-height:1.06;font-weight:600;letter-spacing:-.04em;font-variant-numeric:tabular-nums;color:var(--ink)}
.econ-card p{margin:9px 0 0;font-size:12px;line-height:1.45;color:var(--dim)}
.econ-card a{margin-top:auto;padding-top:14px;font-family:var(--num);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--mut);text-decoration:none;border-top:1px solid var(--line)}
.econ-card a:hover{color:var(--gold)}

/* ---------- stat tiles ---------- */
.tiles{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-top:var(--s2)}
.tile{background:var(--panel);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);
  padding:26px 24px 24px;display:flex;flex-direction:column;gap:9px;min-width:0}
.tile b{font-size:38px;line-height:1.05;font-weight:700;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.tile b u{font-size:16px;font-weight:500;color:var(--dim);text-decoration:none;margin-left:3px}
.tile.lead{position:relative;isolation:isolate;overflow:hidden;grid-column:span 2;
  background:linear-gradient(135deg,#3A2B1B 0%,#282017 58%,#1D1A17 100%);border-color:#493721;color:#fff;
  box-shadow:0 16px 36px rgba(54,38,20,.18)}
.tile.lead::before{content:"";position:absolute;z-index:0;inset:-38%;opacity:.22;
  background:linear-gradient(90deg,rgba(242,201,76,.55) 1px,transparent 1px),linear-gradient(rgba(242,201,76,.42) 1px,transparent 1px);
  background-size:28px 28px;transform:rotate(-12deg);animation:priceGridDrift 16s linear infinite}
.tile.lead::after{content:"";position:absolute;z-index:0;width:220px;height:220px;right:-72px;bottom:-118px;border-radius:50%;
  background:radial-gradient(circle,rgba(242,201,76,.36) 0%,rgba(210,143,41,.15) 38%,transparent 70%);animation:priceGlow 5.5s ease-in-out infinite}
.tile.lead>*{position:relative;z-index:1}
.tile.lead b{font-size:58px;line-height:1}
.tile.lead .eyebrow,.tile.lead b u,.tile.lead .tn{color:rgba(255,255,255,.74)}
.tile.lead .band i{background:rgba(255,255,255,.3)}
.tile.lead .band s{background:#fff}
.tile-meta{font-family:var(--num);font-size:11px;line-height:1.35;letter-spacing:.025em;color:var(--dim)}
.tile.lead .tile-meta{color:rgba(255,247,229,.7)}
@keyframes priceGridDrift{from{background-position:0 0,0 0}to{background-position:112px 56px,112px 56px}}
@keyframes priceGlow{0%,100%{transform:scale(.9);opacity:.56}50%{transform:scale(1.1);opacity:1}}
/* a value with nothing behind it never takes the big slot */
.tile.void b{font-size:23px;font-weight:600;color:var(--dim)}
/* delta chip replaces the grey footnote */
.dc{align-self:flex-start;display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 11px;
  border-radius:999px;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.dc.up{background:var(--lime-100);color:var(--lime-ink)}
.dc.dn{background:var(--coral-100);color:var(--coral-ink)}
.dc.fl{background:var(--neu-100);color:var(--mut)}
.dc.wa{background:var(--mari-100);color:#7A5200}
/* peer range band: where this name sits against its sector, min-median-max */
.band{position:relative;height:4px;border-radius:2px;background:var(--line);margin-top:3px}
.band i{position:absolute;top:-2px;width:1px;height:8px;background:var(--line-h)}
.band s{position:absolute;top:-3px;left:0;width:10px;height:10px;margin-left:-5px;border-radius:50%;
  background:var(--brand-500);text-decoration:none}
.band-l{display:flex;justify-content:space-between;font-size:11px;color:var(--dim);margin-top:5px}
.tn{font-size:11.5px;color:var(--dim)}

/* ---------- sectors ---------- */
.slist,.mlist{margin-top:var(--s1)}
.srow{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.3fr) 150px 170px;gap:24px;
  align-items:center;padding:20px 2px;border-bottom:1px solid var(--line)}
.srow:first-child{border-top:1px solid var(--line-h)}
.srow-h b{display:block;font-size:15.5px;font-weight:600;letter-spacing:-.012em}
.srow-h .eyebrow{display:block;margin-top:4px}
.srow-m{display:flex;gap:6px;flex-wrap:wrap}
.srow-n{display:flex;flex-direction:column;gap:3px}
.srow-n span{font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:var(--dim)}
.srow-n b{font-size:17px;font-weight:600;font-variant-numeric:tabular-nums}
.chip{display:inline-flex;align-items:center;font-family:var(--num);font-size:10.5px;
  letter-spacing:.05em;color:var(--soft);border:1px solid var(--line);border-radius:5px;padding:3px 8px}
.chip.dimc{color:var(--dim);border-style:dashed}
.mrow{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) 110px 20px;gap:24px;align-items:center;
  padding:17px 2px;border-bottom:1px solid var(--line);text-decoration:none;transition:padding .18s}
.mrow:first-child{border-top:1px solid var(--line-h)}
.mrow:hover{padding-left:10px}
.mrow:hover .sr-a{color:var(--gold)}
.mrow-t{font-size:15px;font-weight:500;letter-spacing:-.01em}
.mrow-r{display:flex;gap:6px;flex-wrap:wrap}
.mrow-c{font-size:12.5px;color:var(--dim)}

/* ---------- evidence ---------- */
.elist{display:flex;flex-direction:column;gap:20px;margin-top:var(--s2)}
.ec{border:1px solid var(--line);border-radius:16px;background:var(--panel);padding:26px 28px 24px;
  box-shadow:var(--shadow)}
.ec-h{display:grid;grid-template-columns:44px minmax(0,1fr) 190px;gap:20px;align-items:start}
.ec-n{font-family:var(--num);font-size:11px;letter-spacing:.12em;color:var(--gold);margin-top:5px}
.ec-t h3{font-size:19px;font-weight:600;letter-spacing:-.018em}
.ec-m{margin:7px 0 0;font-size:12.5px;color:var(--dim)}
.ec-s{display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.ec-d{font-family:var(--num);font-size:11.5px;color:var(--mut)}
.pill{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;border-radius:999px;padding:4px 11px;
  border:1px solid}
.pill.reported{color:var(--lime);border-color:rgba(184,240,74,.32);background:rgba(184,240,74,.08)}
.pill.estimate{color:var(--mut);border-color:var(--line-h);background:rgba(255,255,255,.03)}
.ec-c{display:flex;gap:7px;flex-wrap:wrap;margin:18px 0 0;padding-left:64px}
.ec-f{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:22px;
  padding:22px 0 0 64px;border-top:1px solid var(--line-2)}
.fnd b{display:block;font-size:13.5px;font-weight:600;letter-spacing:-.008em}
.fnd p{margin:7px 0 0;font-size:13px;line-height:1.55;color:var(--mut)}
.empty{margin-top:var(--s2);border:1px dashed var(--line);border-radius:16px;padding:30px 28px;background:rgba(255,255,255,.012)}
.empty b{font-size:16px;font-weight:600}
.empty p{margin:9px 0 0;font-size:13.5px;line-height:1.6;color:var(--mut);max-width:62ch}

/* ---------- company brief ---------- */
.cb-h{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:var(--s3);align-items:start}
.cb-call{border:1px solid var(--line);border-radius:16px;background:var(--panel);padding:24px;
  display:flex;flex-direction:column;gap:10px}
.cb-call b{font-size:22px;font-weight:600;letter-spacing:-.022em;color:var(--gold)}
.cb-w{font-size:13px;line-height:1.55;color:var(--mut)}
.cb-sig{display:inline-flex;align-items:center;gap:9px;font-size:12.5px;color:var(--soft);
  border-top:1px solid var(--line-2);padding-top:12px;margin-top:2px}

@media (max-width:1180px){
  .hero,.cb-h{grid-template-columns:minmax(0,1fr);gap:var(--s2)}
  .portal,.ec-f{grid-template-columns:minmax(0,1fr)}
  .econ-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .tiles{grid-template-columns:repeat(3,minmax(0,1fr))}
  .glfield{position:absolute;inset:-40px -40px auto -40px;width:calc(100% + 80px);height:calc(100% + 80px);
  display:block;z-index:0;pointer-events:none}
.hero>*{position:relative;z-index:1}
.page{position:relative}
.page>*{position:relative;z-index:1}
.pagefield{inset:-30px -40px auto -40px;height:420px;
  -webkit-mask-image:linear-gradient(#000 0%,#000 46%,transparent 96%);
  mask-image:linear-gradient(#000 0%,#000 46%,transparent 96%)}
.hero h1{font-size:50px;line-height:.97}.ph{font-size:34px}
  .ec-h{grid-template-columns:minmax(0,1fr)}
  .ec-c,.ec-f{padding-left:0}
}

@media (max-width:720px){
  .econ-head{align-items:flex-start;flex-direction:column;gap:10px}
  .econ-meta{align-items:flex-start;padding-bottom:0}
  .econ-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .econ-card{min-height:218px;padding:18px 16px 15px}
  .econ-card h3{margin-top:18px;font-size:15px}
}

@media (max-width:440px){
  .econ-grid{grid-template-columns:minmax(0,1fr)}
}

.qd{font-size:12.5px;letter-spacing:-.005em;fill:var(--dim)}

/* ---------- position bars ---------- */
.rng{margin-top:14px}
.rng-h{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:8px}
.rng-h span{font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--dim)}
.rng-h b{font-size:12.5px;font-weight:500;color:var(--gold)}
.rng-t{position:relative;height:6px;border-radius:3px;background:var(--head);overflow:visible}
.rng-f{position:absolute;left:0;top:0;bottom:0;border-radius:3px;
  background:linear-gradient(90deg,rgba(255,194,75,.25),var(--gold));
  animation:rngGrow .9s cubic-bezier(.2,.8,.25,1) backwards}
.rng-m{position:absolute;top:-4px;width:2px;height:14px;border-radius:1px;background:var(--ink);
  box-shadow:0 0 0 2px var(--bg)}
.rng-e{display:flex;justify-content:space-between;margin-top:7px;font-size:11.5px;color:var(--dim);
  font-variant-numeric:tabular-nums}
.rng-c{margin:6px 0 0}
.rng-c .rng-t{height:3px;background:var(--head)}
.rng-c .rng-m{top:-3px;height:9px;width:1.5px}
@keyframes rngGrow{from{width:0 !important}}
.rng-x{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);
  border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-top:22px}
.rx{background:var(--panel);padding:14px 16px;display:flex;flex-direction:column;gap:4px}
.rx span{font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--dim)}
.rx b{font-size:17px;font-weight:600;font-variant-numeric:tabular-nums}
.shariah{display:inline-block;margin-left:10px;font-size:11px;letter-spacing:.08em;color:var(--lime);
  border:1px solid rgba(184,240,74,.3);background:rgba(184,240,74,.07);border-radius:999px;padding:2px 9px}

/* ---------- feeds ---------- */
.feed{margin-top:var(--s1)}
.fd-row{display:grid;grid-template-columns:104px minmax(0,1fr) 92px;gap:22px;align-items:baseline;
  padding:15px 2px;border-bottom:1px solid var(--line);text-decoration:none;transition:padding .18s}
.fd-row:first-child{border-top:1px solid var(--line-h)}
.fd-row:hover{padding-left:10px}
.fd-row:hover .fd-c{color:var(--gold)}
.fd-row-off{cursor:default;opacity:.62}
.fd-row-off:hover{padding-left:2px}
.fd-d{display:flex;flex-direction:column;gap:3px;font-family:var(--num);font-size:11px;color:var(--dim);white-space:nowrap}
.fd-d time{font-size:10px;color:var(--mut)}
.fd-t{font-size:14.5px;font-weight:500;letter-spacing:-.008em;line-height:1.45}
.fd-c{font-size:11.5px;color:var(--dim);text-align:right;transition:color .16s}

/* ---------- sector bars ---------- */
.slab{font-size:13px;fill:var(--soft);letter-spacing:-.008em}
.sval{font-family:var(--num);font-size:11.5px;fill:var(--dim)}
.sbar{transition:fill-opacity .16s}
.sbar:hover{fill-opacity:1}

.cb-h1{grid-template-columns:minmax(0,1fr)}
.cb-about{margin-top:var(--s1);max-width:62ch;padding-left:18px;border-left:2px solid var(--line-h)}
.cb-about p{margin:6px 0 10px;font-size:16px;line-height:1.6;color:var(--soft)}
.cb-about-src{font-size:12.5px;color:var(--dim);text-decoration:none;border-bottom:1px solid var(--line-h)}
.cb-about-src:hover{color:var(--gold);border-bottom-color:var(--gold)}
a.sym{text-decoration:none;border-bottom:1px solid var(--line-h);padding-bottom:1px}
a.sym:hover{color:var(--gold);border-bottom-color:var(--gold)}

.portal{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:var(--s1)}
.pc{position:relative;display:block;padding:26px 24px 62px;border:1px solid var(--line);border-radius:16px;
  background:var(--panel);text-decoration:none;box-shadow:var(--shadow);
  transition:border-color .18s,transform .18s,box-shadow .18s}
.pc:hover{border-color:var(--line-h);transform:translateY(-3px);box-shadow:0 14px 34px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.06)}
.pc-s{position:absolute;left:24px;right:52px;bottom:24px;font-size:12.5px;color:var(--dim);
  padding-top:13px;border-top:1px solid var(--line-2)}
.pc-s b{display:inline;font-size:12.5px;color:var(--gold);font-weight:500;margin:0}
.pc-a{position:absolute;right:22px;bottom:22px}

/* ---------- search ---------- */
.srch-w{position:relative}
.srch-p{display:none;position:absolute;top:calc(100% + 8px);right:0;width:400px;z-index:80;
  background:var(--panel);border:1px solid var(--line);border-radius:14px;overflow:hidden;
  box-shadow:0 20px 50px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.04)}
.srch-w.open .srch-p{display:block}
.srch-r{display:grid;grid-template-columns:76px minmax(0,1fr) auto;gap:14px;align-items:baseline;
  padding:12px 16px;text-decoration:none;border-bottom:1px solid var(--line-2)}
.srch-r:last-child{border-bottom:0}
.srch-r.on,.srch-r:hover{background:var(--head)}
.srch-s{font-family:var(--num);font-size:12.5px;color:var(--gold)}
.srch-n{font-size:13.5px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.srch-c{font-size:11.5px;color:var(--dim);white-space:nowrap}
.srch-r em{font-style:normal;color:var(--ink);background:rgba(255,194,75,.18);border-radius:2px}
.srch-e{padding:16px;font-size:13px;color:var(--dim)}

/* ---------- interactive chart ---------- */
.chart-host{position:relative}
.pm{cursor:pointer;outline:none}
.pm-f{transition:transform .16s ease}
.pm.near{opacity:.22}
.pm.lit .pm-f,.pm:focus-visible .pm-f{filter:drop-shadow(0 0 10px currentColor)}
.pm.lit{transform:scale(1.22)}
.pm:focus-visible{outline:2px solid var(--gold);outline-offset:4px;border-radius:4px}
.qn{fill:var(--gold);font-family:var(--num);font-size:11px}
tr.rowlit{background:var(--head) !important;box-shadow:inset 3px 0 0 var(--gold)}

.tip{position:absolute;pointer-events:none;opacity:0;transform:translateY(4px);width:260px;z-index:30;
  background:rgba(22,22,27,.97);border:1px solid var(--line-h);border-radius:14px;padding:14px 16px 12px;
  box-shadow:0 22px 50px rgba(0,0,0,.6);transition:opacity .13s ease,transform .13s ease;
  backdrop-filter:blur(8px)}
.tip-on .tip{opacity:1;transform:translateY(0)}
.tip-h{display:flex;align-items:baseline;gap:9px;padding-bottom:10px;border-bottom:1px solid var(--line-2)}
.tip-h b{font-family:var(--num);font-size:13px;letter-spacing:.04em}
.tip-h span{font-size:12px;color:var(--mut);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tip-g{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px 12px;padding:12px 0}
.tip-g span{display:block;font-size:9.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--dim)}
.tip-g b{display:block;margin-top:3px;font-size:13.5px;font-weight:600;font-variant-numeric:tabular-nums}
.tip-f{display:flex;justify-content:space-between;gap:10px;padding-top:10px;border-top:1px solid var(--line-2);
  font-size:11.5px;color:var(--dim)}
.tip-sig{font-weight:500}
.tip-cta{margin-top:9px;font-size:11.5px;color:var(--gold)}
.lg{cursor:default}
.lg[data-lg]{cursor:pointer;padding:3px 8px;border-radius:999px;transition:background .15s}
.lg[data-lg]:hover{background:var(--head)}

.chartpanel{padding:26px 22px 18px;margin-top:var(--s1)}
.chartpanel .fig{overflow:visible}

/* tooltip must escape its panel */
.chartpanel,.chart-host{overflow:visible}

/* ---------- add a company ---------- */
.addbox{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s2);
  margin-top:var(--s3);padding:30px 32px;border:1px dashed var(--line-h);border-radius:16px;
  background:rgba(255,255,255,.012)}
.addbox h3{margin:12px 0 0;font-size:21px;font-weight:600;letter-spacing:-.022em}
.addbox .sub{margin-top:10px;max-width:46ch}
.addf{display:block}
.addf span{display:block;font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--dim);margin-bottom:9px}
.addf input{width:100%;height:46px;padding:0 16px;border:1px solid var(--line);border-radius:10px;
  background:var(--panel);color:var(--ink);font:inherit;font-size:15px;letter-spacing:.06em;
  text-transform:uppercase;outline:none;transition:border-color .16s}
.addf input:focus{border-color:var(--gold)}
.addout{margin-top:16px;font-size:13px;line-height:1.6;color:var(--mut);min-height:96px}
.addout code{display:block;margin-top:10px;padding:13px 15px;border-radius:10px;background:var(--bg);
  border:1px solid var(--line);font-family:var(--num);font-size:13px;color:var(--gold);
  user-select:all;word-break:break-all}
.addout .warn{color:var(--coral,var(--coral))}
.addout b{color:var(--ink);font-weight:600}
@media (max-width:1180px){.addbox{grid-template-columns:minmax(0,1fr)}}
.srch-add{display:block;border-top:1px solid var(--line-2);color:var(--gold);text-decoration:none}
.srch-add:hover{background:var(--head)}

/* ============================ sectors ============================ */
.sec-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);
  border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-top:var(--s2)}
.sec-tiles .tile{background:var(--panel);padding:18px 20px 20px;gap:9px}
.sec-tiles .tile b{font-family:var(--num);font-size:27px;font-weight:500;letter-spacing:-.02em}
.sec-tiles .tile b.gold{color:var(--gold)}
.sec-tiles .of{font-family:"Figtree",sans-serif;font-size:13px;font-weight:400;color:var(--dim);letter-spacing:0}
.sec-div{display:block;margin-top:2px}

.sec-th{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:14px}
.sec-find{display:flex;align-items:center;gap:8px;height:34px;padding:0 13px;border:1px solid var(--line);
  border-radius:999px;background:var(--panel);width:256px}
.sec-find input{border:0;background:none;outline:none;font:inherit;font-size:13px;color:var(--ink);width:100%}
.sec-find input::placeholder{color:var(--dim)}
.sec-sorts{display:flex;align-items:center;gap:18px}
.sec-sort{background:none;border:0;padding:4px 0 7px;font:inherit;font-size:13px;color:var(--dim);
  cursor:pointer;position:relative;transition:color .14s}
.sec-sort:hover{color:var(--soft)}
.sec-sort.on{color:var(--ink)}
.sec-sort.on::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--gold)}
.sec-sort i{display:inline-block;margin-left:5px;font-style:normal;font-size:9px;opacity:0}
.sec-sort.on i{opacity:1}
.sec-sort.on i::before{content:"\25BE"}
.sec-sort.on.asc i::before{content:"\25B4"}

/* ============ Sectors: takeaways, breadth swarm, grouped ledger ============
   Replaces app.css .sec-fig … .stip and .sec-cols … .dw.all (≈ lines 574–672). Keep .sec-tiles,
   .sec-th, .sec-find, .sec-sort. Every colour is a token. */

/* shared fills for inline SVG (tiles, units, bars) */
.f-up{fill:var(--lime)} .f-dn{fill:var(--coral)} .f-fl{fill:var(--neu);fill-opacity:.55}
.f-tr{fill:var(--line)} .f-ax{fill:var(--line-h)}
em.up{color:var(--lime-ink);font-style:normal} em.dn{color:var(--coral-ink);font-style:normal}

/* ---- takeaways ---- */
.sec-take{margin-top:var(--s2)}
.sec-take-h{font-family:var(--display);font-size:clamp(30px,3.4vw,44px);line-height:1.04;
  letter-spacing:-.03em;margin:16px 0 0}
.sec-take-l{list-style:none;margin:22px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid var(--line-h)}
.sec-take-l li{position:relative;padding:16px 24px 4px 26px;font-size:15px;line-height:1.55;color:var(--mut);
  text-wrap:pretty;animation:riseIn .5s cubic-bezier(.2,.8,.25,1) backwards;animation-delay:calc(var(--j) * 80ms + 120ms)}
.sec-take-l li+li{border-left:1px solid var(--line)}
.sec-take-l b{color:var(--ink);font-weight:600}
.stk{position:absolute;left:4px;top:23px;width:10px;height:10px}
.stk-dir{border-radius:50%;background:var(--coral)} .stk-dir.up{background:var(--lime)}
.stk-cap{background:var(--ink)}
.stk-turn{border-radius:50%;border:1.5px solid var(--ink)}

/* ---- figure ---- */
.sec-fig{margin-top:var(--s1);border:1px solid var(--line);border-radius:18px;background:var(--panel);
  padding:22px 24px 18px;box-shadow:var(--shadow);position:relative}
.sec-fig-h{display:flex;align-items:baseline;justify-content:space-between;gap:8px 20px;flex-wrap:wrap}
.sec-fig-h>span:first-child{font-size:15px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--ink)}
.sec-fig-k,.sec-fig-f{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;color:var(--dim)}
.sec-fig-f{margin:6px 0 0}
.kc{width:11px;height:11px;border-radius:50%;border:1.5px solid var(--dim)}
.kd{width:8px;height:8px;border:1.5px solid var(--dim);transform:rotate(45deg);flex:0 0 auto}
.bz-host{margin:8px -4px 0;min-height:200px}
.sfig{display:block;overflow:visible;max-width:100%;height:auto}

.bz-band{fill:transparent}
.bz-band.dn{fill:var(--coral-100);fill-opacity:.5}
.bz-band.up{fill:var(--lime-100);fill-opacity:.6}
.bz-zero{stroke:var(--line-h);stroke-dasharray:3 4}
.bz-bl{font-size:12.5px;font-weight:600;fill:var(--mut)}
.bz-bl.dn{fill:var(--coral-ink)} .bz-bl.up{fill:var(--lime-ink)}
.bz-end{font-size:11.5px;fill:var(--dim)}
.bz .bz-b{stroke-width:1.5;fill-opacity:.2;transition:stroke-width .14s,fill-opacity .14s}
.bz.dn .bz-b{fill:var(--coral);stroke:var(--coral)}
.bz.up .bz-b{fill:var(--lime);stroke:var(--lime)}
.bz.fl .bz-b{fill:var(--neu);stroke:var(--neu)}
.bz.thin .bz-b{fill-opacity:0}
.bz-lead path{fill:none;stroke:var(--ink);stroke-opacity:.38;stroke-width:1}
.bz-lead circle{fill:var(--ink)}
.bz-l{font-size:12px;font-weight:600;fill:var(--ink)}
.bz-l tspan{font-weight:500;fill:var(--dim)}
.sdot{cursor:pointer;outline:none;transition:opacity .14s}
.sdot.near,.bz-lead.near,.bz-l.near{opacity:.22}
.sdot.off{opacity:.08;pointer-events:none}
.sdot.lit .bz-b,.sdot:hover .bz-b{stroke-width:2.5;fill-opacity:.36}
.sdot:focus-visible .bz-b{stroke:var(--gold);stroke-width:3}

/* entrance: marks rise out of the axis and settle into the swarm, sweeping left to right */
@keyframes bzIn{from{opacity:0;transform:translateY(var(--dy)) scale(.35)}to{opacity:1;transform:none}}
@keyframes bzFade{from{opacity:0}}
@keyframes bzDraw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.bz-in{transform-box:fill-box;transform-origin:center;
  animation:bzIn .72s cubic-bezier(.2,.8,.25,1) backwards;animation-delay:calc(var(--i) * 16ms + 120ms)}
.bz-band,.bz-bl,.bz-end,.bz-zero{animation:bzFade .45s ease-out backwards}
.bz-lead path{stroke-dasharray:1;animation:bzDraw .5s cubic-bezier(.3,.7,.3,1) .95s backwards}
.bz-lead circle,.bz-l{animation:bzFade .35s ease-out 1.15s backwards}
.bz-fig.still *{animation:none!important}

/* tooltip: a panel, not a dark slab */
.sfig-host .stip{position:absolute;opacity:0;pointer-events:none;z-index:20;width:228px;
  background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:13px 15px;
  display:flex;flex-direction:column;gap:7px;box-shadow:var(--shadow);transform:translateY(4px);
  transition:opacity .14s,transform .14s}
.sfig-host.on .stip{opacity:1;transform:none}
.stip>b{font-size:14px;font-weight:700;color:var(--ink)}
.stip span{font-size:12.5px;color:var(--dim);font-variant-numeric:tabular-nums}
.stip span b{font-weight:600;color:var(--ink)}

/* ---- the grouped ledger ---- */
.sec-tbl{margin-top:var(--s2)}
.st{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;font-variant-numeric:tabular-nums}
.st col.k-mv{width:236px} .st col.k-last{width:104px} .st col.k-vol{width:150px} .st col.k-cap{width:148px}
.st thead th{white-space:nowrap;position:sticky;top:72px;z-index:6;background:var(--bg);height:40px;padding:0 16px;
  border-bottom:1px solid var(--line-h);font-size:12px;font-weight:500;color:var(--dim);text-align:left;
  white-space:nowrap;vertical-align:middle}
.st tbody tr{height:auto;background:none}
.st tbody tr:hover{background:none}
.st tbody th,.st tbody td{padding:0 16px;font-size:14px;font-weight:400;text-align:left;vertical-align:middle}
.st .st-n{text-align:right}
.st .st-n b{display:block;font-size:14px;font-weight:600;color:var(--ink)}
.st .st-n span{display:block;margin-top:2px;font-size:12px;color:var(--dim)}
.st .st-n i{font-style:normal;font-size:11px;color:var(--dim);margin-left:2px}

/* band: the top-level segment, with a summary line — 40px of air above it */
.st-band th{padding:40px 16px 12px!important;border-bottom:1px solid var(--line-h);white-space:normal}
.sec-sort{white-space:nowrap}
.st thead th .def{margin-left:6px}
.st-band:first-child th{padding-top:20px!important}
.st-bt{display:inline-flex;align-items:center;gap:9px;font-family:var(--display);font-size:19px;font-weight:700;
  letter-spacing:-.02em;color:var(--ink)}
.st-bt i{width:9px;height:9px;border-radius:50%;background:var(--neu)}
.st-band.up .st-bt i{background:var(--lime)} .st-band.dn .st-bt i{background:var(--coral)}
.st-band.th .st-bt i{background:none;border:1.5px solid var(--neu);border-radius:0;transform:rotate(45deg);width:8px;height:8px}
.st-bs{margin-left:14px;font-size:13px;font-weight:500;color:var(--soft)}
.st-bd{display:block;margin-top:4px;font-size:12.5px;font-weight:400;color:var(--dim)}

/* sector: the group header row */
.st-s>*{height:64px;border-bottom:1px solid var(--line);transition:background .12s}
.st-s{cursor:pointer}
.st-s:hover>*,.st-s.lit>*{background:var(--hov)}
.st-s.on>*{background:var(--head);border-bottom-color:var(--line-2)}
.st-s.on>:first-child{box-shadow:inset 3px 0 0 var(--gold)}
.st-tg{display:grid;grid-template-columns:18px minmax(0,1fr);column-gap:8px;align-items:center;width:100%;
  padding:0;border:0;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}
.st-tg:focus-visible{outline:2px solid var(--gold);outline-offset:4px;border-radius:4px}
.st-chev{grid-row:span 2;font-size:17px;line-height:1;color:var(--dim);transition:transform .18s,color .18s}
.st-s.on .st-chev{transform:rotate(90deg);color:var(--gold)}
.st-tg b{font-size:15px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.st-meta{display:block;font-size:12px;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.st-u{display:block}
.st-cnt{display:flex;gap:10px;margin-top:5px;font-size:12px;color:var(--dim)}

/* company rows: indented under the name, on the sector's tint, hairlines between */
.st-sub td{padding:14px 16px 6px 42px!important;background:var(--head);font-size:12px;color:var(--dim)}
.st-sub b{font-weight:600;color:var(--soft);margin-right:7px}
.st-sub.up b{color:var(--lime-ink)} .st-sub.dn b{color:var(--coral-ink)}
.st-sub>:first-child,.st-c>:first-child,.st-all>:first-child,.st-note>:first-child{box-shadow:inset 3px 0 0 var(--gold)}
.st-c>*{height:48px;background:var(--head);border-bottom:1px solid var(--line-2)}
.st-c:hover>*{background:var(--hov)}
.st-c .st-name{padding-left:42px}
.st-c .st-name b{font-size:13.5px;font-weight:600;color:var(--ink)}
.st-c .st-name a{color:inherit;text-decoration:none;border-bottom:1px solid var(--line-h)}
.st-c .st-name a:hover{color:var(--gold);border-bottom-color:var(--gold)}
.st-c .st-meta{font-size:12.5px;color:var(--mut)}
.st-c .st-mv{display:table-cell}
.st-pc{display:inline-block;min-width:64px;font-size:13.5px;font-weight:600;text-align:right;margin-right:12px}
.st-c.up .st-pc{color:var(--lime-ink)} .st-c.dn .st-pc{color:var(--coral-ink)} .st-c.fl .st-pc{color:var(--dim)}
.st-bar{vertical-align:middle}
.st-c .st-n b{font-weight:500}
.st-c{animation:riseIn .3s cubic-bezier(.2,.8,.25,1) backwards;animation-delay:calc(var(--j) * 18ms)}
.st-all td,.st-note td{background:var(--head);padding:10px 16px 16px 42px!important;border-bottom:1px solid var(--line)}
.st-note td{font-size:12.5px;color:var(--dim)}
.st-all button,.st-more button{border:0;background:none;padding:0;font:inherit;font-size:13px;font-weight:600;
  color:var(--brand-500);cursor:pointer}
.st-all button:hover,.st-more button:hover{text-decoration:underline}
.st-more td{padding:14px 16px!important}
.st-none td{padding:28px 16px!important;color:var(--dim)}

@media (max-width:1180px){
  .sec-take-l{grid-template-columns:minmax(0,1fr)}
  .sec-take-l li+li{border-left:0;border-top:1px solid var(--line)}
  .sec-take-l li{padding:14px 0 14px 26px}
  .stk{top:21px}
  .st col.k-cap{width:0} .st .st-cap{display:none}
}
@media (max-width:760px){
  .sec-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sec-fig{padding:18px 14px 14px;border-radius:16px}
  .sec-th{flex-direction:column;align-items:stretch}
  .sec-find{width:100%}
  .sec-sorts{gap:16px;overflow-x:auto}
  /* the table becomes stacked rows: no horizontal scroll anywhere */
  .st,.st tbody{display:block}
  .st thead,.st colgroup{display:none}
  .st tr{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:14px;align-items:center}
  .st tbody th,.st tbody td{display:block;height:auto!important;padding:0!important;border:0!important}
  .st-band{padding:32px 0 10px;border-bottom:1px solid var(--line-h)}
  .st-band th{grid-column:1/-1}
  .st-bs{display:block;margin:4px 0 0}
  .st-s{padding:14px 12px;border-bottom:1px solid var(--line);row-gap:10px}
  .st-s .st-name{grid-column:1/-1}
  .st-s .st-mv{grid-column:1;min-width:0}
  .st-s .st-u{max-width:100%;height:auto}
  .st-s .st-last,.st-s .st-cap{display:none!important}
  .st-s.on{background:var(--head);box-shadow:inset 3px 0 0 var(--gold)}
  .st-s.on>:first-child{box-shadow:none}
  .st-c{padding:10px 12px 10px 38px;background:var(--head);border-bottom:1px solid var(--line-2);
    box-shadow:inset 3px 0 0 var(--gold);grid-template-columns:minmax(0,1fr) auto;row-gap:2px}
  .st-c>*{background:none!important;box-shadow:none!important}
  .st-c .st-name{padding-left:0!important;grid-row:1 / span 2}
  .st-c .st-mv{grid-column:2;text-align:right}
  .st-c .st-bar{display:none}
  .st-pc{min-width:0;margin:0}
  .st-c .st-last{grid-column:2;grid-row:2}
  .st-c .st-last b{font-size:12px;font-weight:400;color:var(--dim)}
  .st-c .st-n:not(.st-last),.st-c .st-cap{display:none!important}
  .st-sub,.st-all,.st-note{background:var(--head);box-shadow:inset 3px 0 0 var(--gold);padding:12px 12px 4px 38px}
  .st-sub>*,.st-all>*,.st-note>*{background:none!important;box-shadow:none!important}
  .st-more{padding:12px}
}

@media (max-width:480px){.wrap{padding:0 16px}}

/* ---- themes ---- */
:root[data-theme="night"] .bz-band.dn{fill-opacity:.55}
:root[data-theme="night"] .bz-band.up{fill-opacity:.55}
:root[data-theme="night"] .bz .bz-b{fill-opacity:.26}
:root[data-theme="night"] .st thead th{background:var(--bg)}

:root[data-theme="bauhaus"] .bz .bz-b{fill-opacity:1;stroke:var(--ink);stroke-width:2}
:root[data-theme="bauhaus"] .bz.fl .bz-b{fill:var(--mari)}
:root[data-theme="bauhaus"] .bz.thin .bz-b{fill:var(--panel)}
:root[data-theme="bauhaus"] .bz-band.dn,:root[data-theme="bauhaus"] .bz-band.up{fill-opacity:1}
:root[data-theme="bauhaus"] .bz-band{stroke:var(--ink);stroke-width:2}
:root[data-theme="bauhaus"] .bz-zero{stroke:var(--ink);stroke-dasharray:none;stroke-width:2}
:root[data-theme="bauhaus"] .bz-bl{font-family:var(--display);font-weight:400}
:root[data-theme="bauhaus"] .bz-lead path{stroke-opacity:1;stroke-width:1.5}
:root[data-theme="bauhaus"] .sdot.lit .bz-b,:root[data-theme="bauhaus"] .sdot:hover .bz-b{stroke-width:3.5}
:root[data-theme="bauhaus"] .sec-fig,:root[data-theme="bauhaus"] .sfig-host .stip{border:2px solid var(--ink);border-radius:0}
:root[data-theme="bauhaus"] .sec-take-l{border-top:2px solid var(--ink)}
:root[data-theme="bauhaus"] .stk-dir{border-radius:0}
:root[data-theme="bauhaus"] .st-u rect{rx:0}
:root[data-theme="bauhaus"] .st-bt{font-weight:400}
:root[data-theme="bauhaus"] .st-band.up .st-bt i{border-radius:50%;background:var(--lime)}
:root[data-theme="bauhaus"] .st-band.dn .st-bt i{border-radius:0;background:var(--coral)}
:root[data-theme="bauhaus"] .st-band.fl .st-bt i{border-radius:0;transform:rotate(45deg);background:var(--mari)}
:root[data-theme="bauhaus"] .st-band th,:root[data-theme="bauhaus"] .st thead th{border-bottom:2px solid var(--ink)}
@media (min-width:761px){
  :root[data-theme="bauhaus"] .st-s.on>:first-child,:root[data-theme="bauhaus"] .st-sub>:first-child,
  :root[data-theme="bauhaus"] .st-c>:first-child,:root[data-theme="bauhaus"] .st-all>:first-child,
  :root[data-theme="bauhaus"] .st-note>:first-child{box-shadow:inset 4px 0 0 var(--ink)}
}
@media (max-width:760px){
  :root[data-theme="bauhaus"] .st-s.on,:root[data-theme="bauhaus"] .st-sub,:root[data-theme="bauhaus"] .st-c,
  :root[data-theme="bauhaus"] .st-all,:root[data-theme="bauhaus"] .st-note{box-shadow:inset 4px 0 0 var(--ink)}
}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px}
.sec-stamp{font-family:var(--num);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--dim);border:1px solid var(--line);border-radius:999px;padding:6px 13px;white-space:nowrap}

/* ===== final pass: mono-uppercase only where the content is data,
   amber only where the system is pointing at something ===== */
.eyebrow,.ot-k,.lgl,.f1-n,.dw-h,.sec-cols span,.rng-h span,.rx span,.mrow>span,
.srow-n span,.mrow-c,.tape-l{
  font-family:"Figtree",ui-sans-serif,system-ui,-apple-system,"Noto Nastaliq Urdu",sans-serif;
  font-size:13px;letter-spacing:0;text-transform:none;color:var(--dim)}
.sec-cols span,.dw-cols span{font-size:12px}
.tape-l{font-size:12px;color:var(--dim);letter-spacing:0}
.tape-l i{background:var(--dim)}
.eyebrow{font-size:12.5px}
.dline b{color:var(--ink);font-weight:500}
.seg.on{border-color:var(--dim);background:var(--head);color:var(--ink)}
.seg.on b{color:var(--ink)}
.srt{color:var(--dim)}
.sec-sort.on::after{background:var(--ink)}
.sec-sort.on i{color:var(--dim)}
.brand-m{border-color:var(--line-h);color:var(--dim)}
.btn:hover{border-color:var(--dim);color:var(--ink)}
.lnk:hover{color:var(--ink);border-bottom-color:var(--dim)}
.mt:hover{color:var(--ink);border-bottom-color:var(--dim)}
.sr:hover .sr-a,.fd-row:hover .fd-c,.mrow:hover .sr-a,.nx:hover .nx-a{color:var(--ink)}
.sr-s{color:var(--ink)}
.pill.reported{color:#A8F04A}
.all{color:var(--ink);border-bottom-color:var(--dim)}
.f1-n{color:var(--dim)}
.sec-stamp{font-family:"Figtree",sans-serif;font-size:12.5px;letter-spacing:0;text-transform:none}
.c-turn svg rect:last-child{fill:var(--mut)}
.addout code{color:var(--ink)}
.addf input:focus{border-color:var(--dim)}
.fw:last-of-type{padding-bottom:0}
.tape-l{background:transparent;border-right:1px solid var(--line)}

/* ============ definitions, disclosure, row actions ============ */
/* a metric that needs defining carries its definition, next to the metric */
.def,.dfl{position:relative;cursor:help}
/* the label itself is the target — a dotted underline, not a circled glyph */
.dfl{border-bottom:1px dotted var(--dim);padding-bottom:1px}
.def{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;
  margin-left:5px;border:1px solid var(--line-h);border-radius:50%;font-size:9px;line-height:1;
  color:var(--dim);vertical-align:1px;font-family:"Figtree",sans-serif;letter-spacing:0;text-transform:none;
  transition:border-color .14s,color .14s,background .14s}
.def:hover,.def:focus-visible,.dfl:hover,.dfl:focus-visible{border-color:var(--brand-500);
  color:var(--brand-500);background:var(--brand-100);outline:none}
.dfl:hover,.dfl:focus-visible{background:none}
/* Definitions use one fixed overlay, created by app.js. This prevents table
   and panel overflow from clipping the explanation. */
.def::after,.dfl::after{content:none}
.definition-popover{position:fixed;z-index:1000;width:min(320px,calc(100vw - 32px));padding:14px 16px;
  border:1px solid var(--line);border-radius:12px;background:var(--panel);box-shadow:0 2px 4px rgba(20,26,58,.08),0 18px 44px rgba(20,26,58,.18);
  color:var(--soft);font-family:"Figtree",sans-serif;font-size:14px;font-weight:400;line-height:1.5;letter-spacing:0;text-align:left;
  opacity:0;pointer-events:none;transform:translateY(4px);transition:opacity .14s,transform .14s}
.definition-popover.on{opacity:1;transform:translateY(0)}
@media (max-width:640px){.definition-popover{left:16px!important;right:16px;bottom:16px;top:auto!important;width:auto;font-size:15px}}

/* long tables end in a fade and an explicit count, not a scroll wall */
.clip{position:relative}
.clip.cut .clip-body{max-height:var(--clip-h,616px);overflow:hidden;
  -webkit-mask-image:linear-gradient(#000 74%,transparent 100%);
  mask-image:linear-gradient(#000 74%,transparent 100%)}
.clip-more{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;
  margin-top:-1px;padding:15px 0;background:none;border:0;border-top:1px solid var(--line);
  font:inherit;font-size:13px;color:var(--mut);cursor:pointer;transition:color .14s}
.clip-more:hover{color:var(--gold)}
.clip-more b{font-weight:500;color:var(--soft)}

/* a row's action is a target, not a glyph */
.go{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;
  border:1px solid var(--line);border-radius:50%;color:var(--dim);font-size:12px;
  transition:border-color .16s,color .16s,transform .16s}
.sec-row:hover .go,.sr:hover .go{border-color:var(--line-h);color:var(--ink);transform:translateX(2px)}
.sec-row.on .go{border-color:var(--gold);color:var(--gold)}

/* the number is the point; the label is not */
.tile b,.sec-tiles .tile b{font-size:32px;letter-spacing:-.028em}
.tile .eyebrow,.sec-tiles .tile .eyebrow{font-size:12px;color:var(--dim)}
.tn{font-size:11.5px}

/* ============ daylight ledger: table, verdicts, night ============ */
/* a row is a person's reading line, not a data row: 56px, 16px numerals */
tbody tr{height:66px}
tbody tr:hover{background:var(--hov)}
tbody th,tbody td{font-size:18px;font-weight:500;padding:0 22px}
.n{font-size:18px;color:var(--soft);letter-spacing:-.012em}
.n.key{font-weight:700;color:var(--ink)}
table.compact tbody tr{height:46px}
table.compact tbody th,table.compact tbody td{font-size:15px}

/* the company cell carries both: the symbol people search, the name they trust */
.co{display:flex;align-items:center;gap:12px;min-width:0}
.co-m{flex:0 0 auto;width:38px;height:38px;border-radius:11px;background:var(--brand-100);
  color:var(--brand);font-size:13.5px;font-weight:700;letter-spacing:.01em;
  display:flex;align-items:center;justify-content:center}
.co-t{min-width:0;display:flex;flex-direction:column;gap:1px;line-height:1.25}
.co-s{font-size:17px;font-weight:700;color:var(--ink);letter-spacing:0}
.co-n{font-size:14px;font-weight:400;color:var(--dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* a verdict is a word, never a coloured shape alone */
.vd{display:inline-flex;align-items:center;gap:7px;height:29px;padding:0 13px;border-radius:999px;
  font-size:13.5px;font-weight:600;letter-spacing:0;white-space:nowrap}
.vd::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:0 0 auto}
.vd.up{background:var(--lime-100);color:var(--lime-ink)}
.vd.dn{background:var(--coral-100);color:var(--coral-ink)}
.vd.wa{background:var(--mari-100);color:#7A5200}
.vd.nd{background:var(--neu-100);color:var(--mut)}
.pos{color:var(--lime)}
.neg{color:var(--coral)}
.nil{color:var(--neu)}

/* the table owns its own controls, rather than pushing them into page chrome */
.tbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  margin-bottom:12px}
.tbar-r{display:flex;align-items:center;gap:8px}
.tgl{display:inline-flex;padding:2px;border:1px solid var(--line);border-radius:999px;background:var(--panel)}
.tgl button{border:0;background:none;font:inherit;font-size:12.5px;font-weight:500;color:var(--dim);
  padding:5px 12px;border-radius:999px;cursor:pointer;transition:all .14s}
.tgl button.on{background:var(--brand-100);color:var(--brand)}
.glos{font-size:13.5px;font-weight:500;color:var(--brand-500);background:none;border:0;
  font-family:inherit;cursor:pointer;padding:0}
.glos:hover{text-decoration:underline}

/* the ten thousand rupee test */
.tenk{border:1px solid var(--line);border-radius:18px;background:var(--panel);box-shadow:var(--shadow);
  padding:26px 28px 24px;margin-top:var(--s1)}
.tenk h3{font-size:24px}
.tenk-p{margin:8px 0 22px;font-size:15px;color:var(--mut);max-width:58ch}
.tenk-r{display:flex;align-items:center;gap:16px;margin-bottom:12px}
.tenk-k{flex:0 0 132px;font-size:14px;font-weight:500;color:var(--soft)}
.tenk-b{flex:1 1 auto;height:34px;border-radius:8px;background:var(--line-2);position:relative;overflow:hidden}
.tenk-b i{position:absolute;inset:0 auto 0 0;border-radius:8px;background:var(--brand-500);
  animation:grow 1s cubic-bezier(.2,.8,.25,1) backwards}
.tenk-r.me .tenk-b i{background:var(--brand)}
.tenk-r.infl .tenk-b i{background:var(--mari)}
.tenk-r.save .tenk-b i{background:var(--neu)}
.tenk-v{flex:0 0 128px;text-align:right;font-size:22px;font-weight:700;letter-spacing:-.02em;
  font-variant-numeric:tabular-nums}
@keyframes grow{from{width:0}}

@media (max-width:980px){
  .tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tile.lead{grid-column:span 2}
  .tile b{font-size:26px}
  .tile.lead b{font-size:36px}
  .tenk-k{flex-basis:96px;font-size:13px}
  .tenk-v{flex-basis:96px;font-size:18px}
}

/* Night ledger: a layered midnight desk, with warm paper-like type and calm signals. */
:root[data-theme="night"]{
  --bg:#0B1120; --panel:#121D31; --head:#18263D; --hov:#1B2A44; --tint:#182949;
  --line:#293A58; --line-2:#1E2C46; --line-h:#526888;
  --ink:#F7F3E9; --soft:#D3DBE8; --mut:#AEBBD0; --dim:#8291AB;
  --gold:#AAB9FF; --gold-hi:#CDD6FF; --brand:#9EAEFF; --brand-500:#AAB9FF; --brand-100:#202F55;
  --mari:#F1C36A; --mari-100:#3D3118;
  --lime:#59D39A; --lime-100:#143B31; --lime-ink:#8BEBBA;
  --coral:#FF948B; --coral-100:#452229; --coral-ink:#FFC0B9;
  --neu:#8E9CB3; --neu-100:#25334D;
  --shadow:0 1px 0 rgba(255,255,255,.035) inset,0 14px 32px rgba(1,6,18,.28);
}
:root[data-theme="night"] body{background:radial-gradient(950px 520px at 76% -12%,#17254a 0%,rgba(23,37,74,0) 64%),var(--bg)}
:root[data-theme="night"] .tile.lead{background:linear-gradient(135deg,#213028 0%,#16221F 100%);border-color:#465D50;color:var(--ink)}
:root[data-theme="night"] .tile.lead .eyebrow,:root[data-theme="night"] .tile.lead b u{color:var(--dim)}
:root[data-theme="night"] .vd.wa{color:#FFD48C}
:root[data-theme="night"] .panel,:root[data-theme="night"] .pc,:root[data-theme="night"] .tile,:root[data-theme="night"] .ot{box-shadow:var(--shadow)}
.thm{width:34px;height:34px;border:1px solid var(--line);border-radius:999px;background:var(--panel);
  color:var(--dim);cursor:pointer;font-size:14px;line-height:1;display:inline-flex;
  align-items:center;justify-content:center;transition:all .16s}
.thm:hover{border-color:var(--brand-500);color:var(--brand-500)}

/* the company cell is a link, but it should read as a name, not as a link */
.co,.co:hover{text-decoration:none}
.co-s,.co-n{text-decoration:none}
.co:hover .co-s{color:var(--brand-500)}
.co:hover .co-m{background:var(--brand);color:var(--onacc)}
.co-m{transition:background .16s,color .16s}
:root[data-theme="night"] .hdr{background:rgba(11,17,32,.88);border-bottom-color:rgba(82,104,136,.72)}

/* ============ Bauhaus Quant: primaries, shapes, and depth ============ */
/* Direction 18 from the original board — red, blue and yellow carrying the
   three verdicts, with circle, square and triangle so hue is never the only
   cue. Playful on a bone ground, but the data stays severe. */
:root[data-theme="bauhaus"]{
  --bg:#F5F2E8; --panel:#FFFDF7; --head:#EDE8DA; --hov:#F1EFFB; --tint:#E8EAFA;
  --line:#DFD9C8; --line-2:#E9E4D6; --line-h:#1A1A1A;
  --ink:#1A1A1A; --soft:#33332F; --mut:#4A4A45; --dim:#6E6E66;
  --gold:#1D4ED8; --gold-hi:#1739A8; --brand:#1D4ED8; --brand-500:#1D4ED8; --brand-100:#DCE3FB;
  --mari:#F2B705; --mari-100:#FDF0C4;
  --lime:#1D4ED8; --lime-100:#DCE3FB; --lime-ink:#14349B;
  --coral:#D62828; --coral-100:#FADDDD; --coral-ink:#8E1717;
  --neu:#6E6E66; --neu-100:#E9E5D8;
  --display:"Archivo Black","Bricolage Grotesque",sans-serif;
  --hero-display:"Archivo Black","Bricolage Grotesque",sans-serif;
  --shadow:4px 4px 0 var(--ink);
}
:root{--display:"Fraunces",Georgia,serif;--hero-display:"Fraunces",Georgia,serif}
h1,h2,h3{font-family:var(--display)}
/* Bauhaus draws its edges, it does not blur them */
:root[data-theme="bauhaus"] .tile,
:root[data-theme="bauhaus"] .panel,
:root[data-theme="bauhaus"] .pc,
:root[data-theme="bauhaus"] .ot,
:root[data-theme="bauhaus"] .tenk{border:2px solid var(--ink);border-radius:0}
:root[data-theme="bauhaus"] .tile.lead{background:var(--mari);border-color:var(--ink);color:var(--ink)}
:root[data-theme="bauhaus"] .tile.lead .eyebrow,
:root[data-theme="bauhaus"] .tile.lead b u{color:#5A4400}
:root[data-theme="bauhaus"] .co-m{border-radius:50%;background:var(--mari);color:var(--ink)}
:root[data-theme="bauhaus"] .vd{border-radius:0}
:root[data-theme="bauhaus"] .vd.up::before{border-radius:50%}
:root[data-theme="bauhaus"] .vd.dn::before{border-radius:0}
:root[data-theme="bauhaus"] .vd.wa::before{border-radius:0;transform:rotate(45deg);width:5px;height:5px}
:root[data-theme="bauhaus"] .cta,
:root[data-theme="bauhaus"] .btn,
:root[data-theme="bauhaus"] .seg{border-radius:0}
:root[data-theme="bauhaus"] .cta{background:var(--coral);color:#fff;box-shadow:4px 4px 0 var(--ink)}
:root[data-theme="bauhaus"] .cta:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--ink)}
:root[data-theme="bauhaus"] .hdr{background:rgba(245,242,232,.93)}
:root[data-theme="bauhaus"] .brand-m{border:2px solid var(--ink);border-radius:0;color:var(--ink)}
:root[data-theme="bauhaus"] .ot:hover{transform:translate(-3px,-3px);box-shadow:7px 7px 0 var(--ink)}
:root[data-theme="bauhaus"] .ot-n{border:2px solid var(--ink);color:var(--ink)}
:root[data-theme="bauhaus"] .ot-c{border-radius:0;background:var(--mari-100);color:var(--ink)}
:root[data-theme="bauhaus"] .ot[data-kind="cheapest"] .ot-c::before{border-radius:0}
:root[data-theme="bauhaus"] .ot[data-kind="dearest"] .ot-c::before{width:0;height:0;border-radius:0;background:none;
  border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:7px solid currentColor}
:root[data-theme="bauhaus"] .ot .go{border:2px solid var(--ink);border-radius:0;color:var(--ink)}
:root[data-theme="bauhaus"] .ot:hover .go{background:var(--ink);color:var(--panel)}
:root[data-theme="bauhaus"] .ot-p{border-top-color:var(--line)}
:root[data-theme="bauhaus"] .oh-t{font-weight:400;font-size:26px;letter-spacing:-.01em}

/* ---------- theme menu ---------- */
.thm-w{position:relative}
.thm-m{position:absolute;top:calc(100% + 9px);right:0;z-index:70;width:232px;padding:6px;
  background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);
  display:none;flex-direction:column;gap:2px}
.thm-w.open .thm-m{display:flex}
.thm-m button{display:flex;align-items:center;gap:11px;width:100%;padding:9px 10px;border:0;
  background:none;border-radius:10px;font:inherit;text-align:left;cursor:pointer;color:var(--mut)}
.thm-m button:hover{background:var(--hov)}
.thm-m button.on{background:var(--brand-100);color:var(--ink)}
.thm-m b{display:block;font-size:13.5px;font-weight:600;color:var(--ink)}
.thm-m span{font-size:12px;line-height:1.35;color:var(--dim)}
.sw{flex:0 0 auto;width:22px;height:22px;border-radius:7px;border:1px solid var(--line-h)}
.sw-day{background:linear-gradient(135deg,#24308A 0 50%,#E89B00 50% 100%)}
.sw-bauhaus{background:linear-gradient(135deg,#D62828 0 33%,#1D4ED8 33% 66%,#F2B705 66% 100%);border-radius:0}
.sw-night{background:linear-gradient(135deg,#0B1120 0 50%,#AAB9FF 50% 100%)}

/* ---------- depth: cards that respond in three dimensions ---------- */
.tiles,.portal,.nxs{perspective:1100px}
.tile,.pc{transform-style:preserve-3d;transition:transform .32s cubic-bezier(.2,.8,.25,1),box-shadow .32s}
.tile:hover,.pc:hover{transform:translateY(-4px) rotateX(3.2deg) rotateY(-2deg) scale(1.012)}
:root[data-theme="bauhaus"] .tile:hover,
:root[data-theme="bauhaus"] .pc:hover{transform:translate(-3px,-3px);box-shadow:7px 7px 0 var(--ink)}
/* the numerals arrive by rotating into place, like a split-flap board */
@keyframes flipIn{from{opacity:0;transform:rotateX(-78deg)}to{opacity:1;transform:rotateX(0)}}
.tile b{transform-origin:50% 0;animation:flipIn .62s cubic-bezier(.2,.9,.3,1) backwards;backface-visibility:hidden}
.tile:nth-child(2) b{animation-delay:70ms}
.tile:nth-child(3) b{animation-delay:140ms}
.tile:nth-child(4) b{animation-delay:210ms}
.tile:nth-child(5) b{animation-delay:280ms}

/* ---------- the hero mark: a solid that turns ---------- */
.solid{position:relative;width:150px;height:150px;margin:var(--s1) 0 0;
  pointer-events:none;perspective:800px}
.solid-b{position:relative;width:100%;height:100%;transform-style:preserve-3d;
  animation:turn 26s linear infinite}
.solid-f{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  backface-visibility:hidden;
  border:2px solid var(--ink);background:var(--panel)}
.solid-f i{display:block}
.solid-f:nth-child(1){transform:translateZ(85px)}
.solid-f:nth-child(2){transform:rotateY(90deg) translateZ(85px)}
.solid-f:nth-child(3){transform:rotateY(180deg) translateZ(85px)}
.solid-f:nth-child(4){transform:rotateY(-90deg) translateZ(85px)}
.solid-f:nth-child(5){transform:rotateX(90deg) translateZ(85px)}
.solid-f:nth-child(6){transform:rotateX(-90deg) translateZ(85px)}
.sh-c{width:86px;height:86px;border-radius:50%;background:var(--brand)}
.sh-s{width:80px;height:80px;background:var(--mari)}
.sh-t{width:0;height:0;border-left:44px solid transparent;border-right:44px solid transparent;
  border-bottom:78px solid var(--coral)}
.sh-r{width:96px;height:44px;background:var(--brand-500)}
.sh-h{width:86px;height:86px;border:14px solid var(--ink);border-radius:50%}
.sh-q{width:86px;height:86px;background:conic-gradient(var(--coral) 0 25%,var(--panel) 25% 50%,
  var(--brand) 50% 75%,var(--mari) 75% 100%);border-radius:50%}
@keyframes turn{from{transform:rotateX(-14deg) rotateY(0)}to{transform:rotateX(-14deg) rotateY(360deg)}}
@media (max-width:1180px){.solid{display:none}}
@media (prefers-reduced-motion:reduce){.solid-b{animation:none;transform:rotateX(-14deg) rotateY(-24deg)}}

/* ---------- evidence mint ---------- */
.mint{margin-top:var(--s3);padding:48px;border-radius:16px;overflow:hidden;background:#1C1813;color:#F6EFDF}
.mint-h{display:flex;align-items:end;justify-content:space-between;gap:28px}.mint-h h2{margin:9px 0 0;font-size:38px;line-height:1.04;letter-spacing:-.035em}.mint-h p{max-width:45ch;margin:0;color:#B6AC96;line-height:1.6}
.mint-c{height:300px;margin:24px -48px 10px}.mint-c canvas{display:block;width:100%;height:100%}
.mint-t{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
/* each caption sits under its own station, and its rule is that station's clock */
.mint-s{position:relative;display:block;width:100%;text-align:left;border:0;background:none;
  font:inherit;font-size:14px;line-height:1.5;color:#B8AE98;cursor:pointer;padding:16px 0 0;
  border-top:2px solid #33291A;transition:color .3s}
.mint-s i{position:absolute;top:-2px;left:0;height:2px;width:100%;background:#E8B43A;
  transform:scaleX(var(--p,0));transform-origin:0 50%}
.mint-s b{display:block;margin-bottom:3px;color:#8F7A4A;font-family:var(--display);font-size:18px;
  font-weight:700;transition:color .3s}
.mint-s.on b{color:#F2C94C}
.mint-s:hover b{color:#FFD98A}
.mint-s:focus-visible{outline:2px solid #E8B43A;outline-offset:3px}
@media (max-width:820px){.mint{padding:30px 22px}.mint-h h2{font-size:28px}.mint-c{height:230px;margin:20px -22px 10px}.mint-t{grid-template-columns:1fr}}

/* ============ corrections from review ============ */
/* the multiplier hangs off the figure: smaller, lighter, unspaced */
.x{font-size:.62em;font-weight:500;color:var(--dim);text-decoration:none;vertical-align:.1em;
  margin-left:-.02em;letter-spacing:0}
.tile.lead .x{color:rgba(255,255,255,.66)}

/* a tape only rhythms on tabular figures */
.tape-r,.tk,.tkp,.tk b,.tk span{font-variant-numeric:tabular-nums}

/* headers and their values share a right edge; only a sortable head is marked */
thead th{padding-right:22px}
thead th .dfl{border-bottom-style:dotted}
thead th:not([data-s]) .dfl{border-bottom:0}
thead th[data-s] .dfl{border-bottom:1px solid var(--line-h)}
thead th[data-s]::after{content:"\2195";margin-left:6px;font-size:11px;color:var(--line-h);
  font-variant-numeric:normal}
thead th[data-s].on::after{content:none}
thead th.on .dfl{color:var(--brand-500);border-bottom-color:var(--brand-500)}
.srt{color:var(--brand-500);margin-left:6px;letter-spacing:0;font-size:12px}

/* an unreported metric is not a card: it is a gap, and should look like one */
.tile.void{background:none;border-style:dashed;box-shadow:none}
.tile.void b{font-size:19px;font-weight:600;color:var(--dim)}
.tile.void .dc{background:none;padding:0;height:auto;color:var(--dim);font-weight:400;font-size:13px}
.tile.void:hover{transform:none}

/* a pale pill goes muddy on the indigo card */
.tile.lead .dc.up,.tile.lead .dc.dn,.tile.lead .dc.fl,.tile.lead .dc.wa{
  background:rgba(255,255,255,.16);color:#fff}

/* the monogram earns its place by naming the sector, not repeating the ticker */
.co-m{font-size:11px;font-weight:700;letter-spacing:.02em;line-height:1.05;text-align:center;
  padding:0 2px}

/* one search affordance, not three */
.hdr-r .btn.sbtn{display:none}

/* the solid is a die, and each face carries a real count for the session */
.solid{cursor:default}
.solid-f{flex-direction:column;gap:7px;padding:14px}
.solid-f i{flex:0 0 auto}
.solid-f em{font-style:normal;font-size:26px;font-weight:700;letter-spacing:-.03em;color:var(--ink);
  font-variant-numeric:tabular-nums;line-height:1}
.solid-f s{text-decoration:none;font-size:11.5px;font-weight:500;color:var(--dim)}
.sh-c{width:34px;height:34px;border-radius:50%;background:var(--lime)}
.sh-s{width:32px;height:32px;background:var(--coral)}
.sh-t{width:0;height:0;border-left:18px solid transparent;border-right:18px solid transparent;
  border-bottom:31px solid var(--mari)}
.sh-d{width:26px;height:26px;background:var(--neu);transform:rotate(45deg)}
.sh-q{width:32px;height:32px;background:conic-gradient(var(--lime) 0 25%,var(--mari) 25% 50%,
  var(--coral) 50% 75%,var(--brand) 75% 100%);border-radius:50%}
.sh-h{width:32px;height:32px;border:8px solid var(--brand);border-radius:50%}
.sh-r{display:none}

/* ============ portfolio: import, correct, hold ============ */
/* the empty state has to sell the thing, so it carries the same weight as a hero */
.pf-zero{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:var(--s2);align-items:center;
  margin-top:var(--s2);padding:44px 44px 48px;border:1px solid var(--line);border-radius:22px;
  background:var(--panel);box-shadow:var(--shadow)}
:root[data-theme="bauhaus"] .pf-zero{border:2px solid var(--ink);border-radius:0}
.pf-zero h2{font-size:34px;letter-spacing:-.03em}
.pf-zero .sub{max-width:54ch}
.pf-zero .hero-a{margin-top:30px}
.pf-zero .solid{margin:0 auto}
@media (max-width:880px){.pf-zero{grid-template-columns:minmax(0,1fr);padding:30px 24px 34px}
  .pf-zero .solid{display:none}}

/* the three steps, stated before the first one is taken */
.wz{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;
  margin:var(--s2) 0 var(--s1);padding:0}
.wz-s{padding:18px 20px 20px;border-top:2px solid var(--line);color:var(--dim)}
.wz-s.on{border-top-color:var(--brand-500);color:var(--ink)}
.wz-s.done{border-top-color:var(--lime);color:var(--mut)}
.wz-s u{display:block;font-size:13px;font-weight:700;text-decoration:none;color:var(--dim)}
.wz-s.on u{color:var(--brand-500)}
.wz-s.done u{color:var(--lime)}
.wz-s b{display:block;margin-top:7px;font-size:19px;font-weight:700;letter-spacing:-.02em;
  font-family:var(--display)}
.wz-s span{display:block;margin-top:4px;font-size:14px;color:var(--dim)}
@media (max-width:760px){.wz{grid-template-columns:minmax(0,1fr)}}

/* the drop target is the whole panel, not a small button inside it */
.drop{display:flex;flex-direction:column;align-items:center;gap:10px;padding:58px 24px 54px;
  border:2px dashed var(--line-h);border-radius:20px;background:var(--panel);color:var(--dim);
  text-align:center;transition:border-color .16s,background .16s,color .16s}
.drop.over{border-color:var(--brand-500);background:var(--tint);color:var(--brand)}
.drop b{font-size:22px;font-weight:700;color:var(--ink);letter-spacing:-.022em;font-family:var(--display)}
.drop>span{font-size:14.5px;color:var(--dim)}
.drop .cta{margin-top:14px;cursor:pointer}
.drop-e{margin:14px 0 0;font-size:14.5px;font-weight:500;color:var(--coral);min-height:1px}
.pf-tpl{display:flex;align-items:center;justify-content:space-between;gap:26px;flex-wrap:wrap;
  margin-top:var(--s1);padding:22px 24px;border:1px solid var(--line);border-radius:16px}
.pf-tpl b{font-size:16px;font-weight:700}
.pf-tpl .sub{margin-top:5px;max-width:62ch}

/* mapping: the choice, and your own data beside it */
.mp{margin-top:var(--s1);border:1px solid var(--line);border-radius:18px;overflow:hidden;
  background:var(--panel)}
.mp-r{display:grid;grid-template-columns:minmax(0,1.1fr) 230px minmax(0,1.2fr);gap:24px;
  align-items:center;padding:20px 24px;border-bottom:1px solid var(--line-2)}
.mp-r:last-child{border-bottom:0}
.mp-r.bad{background:var(--coral-100)}
.mp-l b{display:block;font-size:16.5px;font-weight:600}
.mp-l b em{font-style:normal;margin-left:8px;font-size:12px;font-weight:600;color:var(--coral-ink);
  background:var(--coral-100);border-radius:999px;padding:2px 8px}
.mp-r.bad .mp-l b em{background:var(--panel)}
.mp-l span{display:block;margin-top:3px;font-size:14px;color:var(--dim)}
.mp-r select{height:44px;padding:0 12px;border:1px solid var(--line-h);border-radius:11px;
  background:var(--panel);font:inherit;font-size:15px;color:var(--ink);width:100%}
.mp-r select:focus{outline:2px solid var(--brand-500);outline-offset:1px}
.mp-p{display:flex;flex-direction:column;gap:3px;font-size:14px;color:var(--mut);
  font-variant-numeric:tabular-nums;min-width:0}
.mp-p span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mp-p em,.mp-e{font-style:normal;color:var(--dim)}
@media (max-width:900px){.mp-r{grid-template-columns:minmax(0,1fr);gap:12px}}

/* review: every value editable, every problem named where it happened */
.rv table{table-layout:auto}
.rv thead th{font-size:13.5px}
.rv tbody tr{height:auto}
.rv-n{width:38px;color:var(--dim);font-size:14px!important;font-weight:500!important}
.rv-c{padding:8px 10px!important;text-align:left!important;vertical-align:top}
.rv-c input{width:100%;min-width:92px;height:40px;padding:0 10px;border:1px solid var(--line);
  border-radius:9px;background:var(--panel);font:inherit;font-size:15px;color:var(--ink)}
.rv-c input:focus{outline:2px solid var(--brand-500);outline-offset:1px;border-color:transparent}
.rv-c.stop input{border-color:var(--coral);background:var(--coral-100)}
.rv-c.warn input{border-color:var(--mari);background:var(--mari-100)}
.rv-m{display:block;margin-top:5px;font-size:12.5px;line-height:1.35;font-weight:500;color:var(--coral-ink)}
.rv-c.warn .rv-m{color:#7A5200}
.rv-k{text-align:left!important;font-size:14px!important;color:var(--mut)}
.screenshot-import{margin-top:16px;align-items:center;border-color:var(--gold)!important;background:linear-gradient(112deg,color-mix(in srgb,var(--gold) 18%,var(--card)),var(--card))!important;box-shadow:inset 4px 0 0 var(--gold),0 10px 26px rgba(88,58,20,.08)}
.screenshot-import b{color:var(--ink);font-size:16px}.screenshot-import .cta{white-space:nowrap}
.ocr-review{margin-top:28px;padding:clamp(20px,3vw,36px);border:1px solid var(--line);border-radius:24px;background:linear-gradient(145deg,var(--card),color-mix(in srgb,var(--gold) 6%,var(--card)));box-shadow:0 22px 55px rgba(56,42,18,.09)}
.ocr-review .eyebrow{display:block;margin-bottom:6px;color:var(--brand-500);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.ocr-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:24px 0;border:1px solid var(--line);border-radius:16px;background:var(--head);overflow:hidden}
.ocr-summary>div{padding:17px 19px;border-right:1px solid var(--line)}.ocr-summary>div:last-child{border-right:0}
.ocr-summary span,.ocr-insights span{display:block;margin-bottom:5px;color:var(--mut);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.ocr-summary b{font:700 clamp(17px,2vw,24px)/1.1 var(--display);font-variant-numeric:tabular-nums}.ocr-summary .positive b,.ocr-insights .positive b{color:var(--lime)}.ocr-summary .negative b,.ocr-insights .negative b{color:var(--coral)}
.ocr-holdings{display:grid;gap:16px}.ocr-holding{position:relative;padding:20px;border:1px solid var(--line);border-radius:18px;background:var(--panel);box-shadow:0 9px 24px rgba(64,48,22,.06)}
.ocr-holding header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.ocr-company{display:flex;align-items:center;gap:12px}.ocr-company b{display:block;font:700 20px/1.1 var(--display)}.ocr-company small{display:block;margin-top:5px;color:var(--mut);font-size:12px;max-width:62ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ocr-index{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--brand-500);color:white;font-weight:800}
.ocr-confidence{min-width:102px;padding:8px 11px;border:1px solid var(--line);border-radius:12px;text-align:right}.ocr-confidence b,.ocr-confidence span{display:block}.ocr-confidence b{font-size:16px}.ocr-confidence span{margin-top:2px;color:var(--mut);font-size:10px;text-transform:uppercase;letter-spacing:.05em}.ocr-confidence.strong{border-color:color-mix(in srgb,var(--lime) 45%,var(--line));background:color-mix(in srgb,var(--lime) 9%,var(--panel))}.ocr-confidence.review{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 10%,var(--panel))}.ocr-confidence.low{border-color:var(--coral);background:var(--coral-100)}
.ocr-fields{display:grid;grid-template-columns:.7fr .8fr 1fr 1.15fr;gap:12px}.ocr-field{display:block;color:var(--mut);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.ocr-field>div{display:flex;align-items:center;margin-top:6px;border:1px solid var(--line);border-radius:10px;background:var(--card);overflow:hidden}.ocr-field input{width:100%;min-width:0;border:0;padding:11px 12px;background:transparent;color:var(--ink);font:700 16px/1.2 Figtree,sans-serif;font-variant-numeric:tabular-nums}.ocr-field input:focus{outline:2px solid var(--brand-500);outline-offset:-2px}.ocr-field em{padding-right:11px;color:var(--mut);font-size:10px;font-style:normal}.ocr-field.needs-review>div{border-color:var(--coral);background:var(--coral-100)}
.ocr-insights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:15px;border:1px solid var(--line);border-radius:12px;background:var(--line);overflow:hidden}.ocr-insights>div{padding:13px 14px;background:var(--head)}.ocr-insights b{font-size:15px;font-variant-numeric:tabular-nums}.ocr-insights b em{margin-left:5px;font-size:12px;font-style:normal}.ocr-note{margin:13px 70px 0 0;color:var(--brand-700);font-size:12px}.ocr-remove{position:absolute;right:20px;bottom:17px;border:0;background:none;color:var(--mut);font:600 12px Figtree,sans-serif;text-decoration:underline;cursor:pointer}.ocr-remove:hover{color:var(--coral)}
.ocr-duplicate{border-color:var(--mari);box-shadow:inset 4px 0 0 var(--mari),0 9px 24px rgba(64,48,22,.06)}
.ocr-transcript{margin-top:18px}.ocr-text{max-height:240px;overflow:auto;white-space:pre-wrap;word-break:break-word;padding:14px;background:var(--head);border-radius:8px;color:var(--mut);font:12px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace}
.ocr-review .hero-a .lnk{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border:1px solid var(--line-h);border-radius:12px;background:transparent;color:var(--ink);font-weight:700;text-decoration:none;transition:border-color .16s,background .16s,transform .16s}
.ocr-review .hero-a .lnk:hover{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 8%,var(--panel));color:var(--ink);transform:translateY(-1px)}
@media(max-width:880px){.ocr-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.ocr-summary>div:nth-child(2){border-right:0}.ocr-summary>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.ocr-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.ocr-review{padding:18px}.ocr-holding header{align-items:flex-start}.ocr-company b{font-size:17px}.ocr-confidence{min-width:88px}.ocr-fields,.ocr-insights{grid-template-columns:1fr}.ocr-insights{gap:0}.ocr-insights>div{border-bottom:1px solid var(--line)}.ocr-insights>div:last-child{border-bottom:0}.ocr-note{margin-right:0;padding-bottom:25px}}
.portfolio-sync{margin:24px 0 34px;padding:22px;border:1px solid var(--line);border-radius:14px;background:var(--card)}
.sync-l{display:grid;gap:7px;max-width:640px;margin:14px 0;color:var(--mut);font-size:13px}
.sync-l input{min-height:38px;padding:8px 10px;border:1px solid var(--line);border-radius:7px;background:var(--head);color:var(--ink);font:inherit}
.sync-check{display:flex;gap:8px;align-items:center;margin:14px 0;color:var(--ink);font-size:13px}
.trade-history{margin:0 0 34px;padding:22px;border:1px solid var(--line);border-radius:14px;background:var(--card)}
.trade-ledger h3{margin:22px 0 8px;padding-bottom:8px;border-bottom:1px solid var(--line);font:600 13px/1 Figtree,sans-serif;color:var(--mut)}
.trade-row{display:grid;grid-template-columns:58px 72px minmax(100px,1fr) minmax(150px,1fr) minmax(130px,1.4fr);gap:10px;align-items:center;padding:12px 4px;border-bottom:1px solid var(--line);font-size:14px}
.trade-side{font-size:11px;letter-spacing:.06em}.trade-side.buy{color:var(--lime)}.trade-side.sell{color:var(--coral)}
.trade-row em{font-style:normal;font-size:12px}.trade-status.pending{color:var(--mari)}.trade-status.applied{color:var(--lime)}
.manual-price,.manual-quantity{display:flex;gap:6px;align-items:center}.manual-price input,.manual-quantity input,.manual-symbol{width:112px;min-height:30px;padding:5px 7px;border:1px solid var(--line);border-radius:6px;background:var(--head);color:var(--ink);font:inherit;font-size:12px}.manual-quantity input,.manual-symbol{width:78px}.manual-symbol{text-transform:uppercase;font-weight:700}.manual-price button{min-height:30px;padding:5px 8px;border:1px solid var(--line);border-radius:6px;background:var(--card);color:var(--ink);cursor:pointer;font:600 12px Figtree,sans-serif}.manual-price button:hover{border-color:var(--gold)}.trade-row small{color:var(--mut);font-size:11px}
@media(max-width:640px){.trade-row{grid-template-columns:54px 1fr 1fr}.trade-row span:last-of-type,.trade-row em{grid-column:2 / -1}}
.rv-u{color:var(--dim)}
.rv-x{width:46px}
.rv-x .go{cursor:pointer;background:none;font-size:15px;line-height:1}
.rv-x .go:hover{border-color:var(--coral);color:var(--coral)}
.rv-note{margin:var(--s1) 0 0;padding:16px 20px;border-radius:14px;font-size:15.5px;line-height:1.55}
.rv-note.stop{background:var(--coral-100);color:var(--coral-ink)}
.rv-note.warn{background:var(--mari-100);color:#7A5200}
.rv-note.ok{background:var(--lime-100);color:var(--lime-ink)}
.cta:disabled{opacity:.42;cursor:not-allowed;transform:none;box-shadow:none}

/* a held name is marked wherever it appears */
.hld{margin-left:8px;font-size:11.5px;font-weight:600;letter-spacing:0;text-decoration:none;
  color:var(--brand);background:var(--brand-100);border-radius:999px;padding:2px 8px;
  vertical-align:1.5px}
.co-m.nc{background:var(--neu-100);color:var(--dim)}
.pf-zero .solid-f s{font-size:13px;font-weight:600;color:var(--ink)}

/* a signed figure keeps its colour even when it is the key column */
.n.key.pos,td.pos{color:var(--lime)}
.n.key.neg,td.neg{color:var(--coral)}
.n.key.nil,td.nil{color:var(--neu)}
/* the row action needs room for a word, not just a chevron */
#pf-body .vd{white-space:nowrap}
#pf-body .sg{padding-right:18px}

/* ---------- the share price: a counter that rolls the way the session moved ---------- */
.tile.lead b.odo-b{animation:none;display:flex;flex-wrap:wrap;align-items:baseline}
.odo{display:inline-flex;flex:0 0 auto;user-select:none;-webkit-user-select:none;height:1.15em;line-height:1.15em;overflow:hidden;margin:-.075em 0;
  -webkit-mask-image:linear-gradient(transparent,#000 12%,#000 88%,transparent);
          mask-image:linear-gradient(transparent,#000 12%,#000 88%,transparent)}
.od,.od-s{display:inline-block;height:1.15em}
.od-r{display:flex;flex-direction:column;will-change:transform,filter}
.od-r i{display:block;height:1.15em;font-style:normal}
.od-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
/* when the last drum settles the figure warms in the direction of the day */
.tile.lead.landed.went-up b.odo-b{animation:priceBloomUp 1.6s ease-out}
.tile.lead.landed.went-dn b.odo-b{animation:priceBloomDn 1.6s ease-out}
@keyframes priceBloomUp{0%{filter:drop-shadow(0 0 0 rgba(120,232,166,0))}22%{filter:drop-shadow(0 0 14px rgba(120,232,166,.7))}100%{filter:drop-shadow(0 0 0 rgba(120,232,166,0))}}
@keyframes priceBloomDn{0%{filter:drop-shadow(0 0 0 rgba(255,138,120,0))}22%{filter:drop-shadow(0 0 14px rgba(255,138,120,.7))}100%{filter:drop-shadow(0 0 0 rgba(255,138,120,0))}}
/* the day's move waits for the price it describes */
.tile.lead.rolling .dc{opacity:0;transform:translateY(8px)}
.tile.lead.landed .dc{animation:chipIn .5s cubic-bezier(.2,1.3,.35,1)}
@keyframes chipIn{from{opacity:0;transform:translateY(8px) scale(.94)}to{opacity:1;transform:none}}
/* one pass of light across the card, then it rests */
.tile.lead>.lead-sheen{position:absolute;z-index:0;inset:0;pointer-events:none;opacity:0;
  background:linear-gradient(105deg,transparent 30%,rgba(255,240,205,.16) 46%,rgba(255,240,205,.05) 54%,transparent 68%);
  background-size:260% 100%;background-position:120% 0}
.tile.lead.landed .lead-sheen{animation:leadSheen 1.3s cubic-bezier(.4,0,.2,1)}
.tile.lead:hover .lead-sheen{animation:leadSheen 1.3s cubic-bezier(.4,0,.2,1)}
@keyframes leadSheen{0%{opacity:1;background-position:120% 0}100%{opacity:1;background-position:-40% 0}}
/* the gold light follows the pointer, then drifts back to its corner */
.tile.lead::after{right:auto;bottom:auto;left:calc(var(--gx,95%) - 110px);top:calc(var(--gy,102%) - 110px);
  transition:left .6s cubic-bezier(.2,.8,.25,1),top .6s cubic-bezier(.2,.8,.25,1)}
.tile.lead:hover::after{animation-duration:2.6s}

/* ---------- price history: the share price tile opens it ---------- */
.tile.lead.opens{cursor:pointer}
.tile.lead.opens:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.tile.lead>.lead-go{position:absolute;top:22px;right:22px;display:inline-flex;align-items:center;gap:7px;
  height:26px;padding:0 10px;border-radius:999px;border:1px solid rgba(255,255,255,.22);
  font-size:11.5px;font-weight:600;color:rgba(255,255,255,.82);transition:background .2s,border-color .2s}
.tile.lead.opens:hover>.lead-go,.tile.lead.is-open>.lead-go{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.4)}
:root[data-theme="night"] .tile.lead>.lead-go{border-color:var(--line-h);color:var(--soft)}
:root[data-theme="bauhaus"] .tile.lead>.lead-go{border:2px solid var(--ink);border-radius:0;color:var(--ink)}

.trend{display:grid;grid-template-rows:0fr;opacity:0;margin-top:0;
  transition:grid-template-rows .42s cubic-bezier(.2,.8,.25,1),opacity .3s,margin-top .42s}
.trend.on{grid-template-rows:1fr;opacity:1;margin-top:14px}
.trend>.tr-in{min-height:0;overflow:hidden;background:var(--panel);border:1px solid var(--line);border-radius:18px;
  box-shadow:var(--shadow);padding:26px 28px 20px}
.tr-h{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap}
.tr-hl{min-width:0;flex:1 1 320px}
.tr-take{margin:8px 0 0;font-family:var(--display);font-size:21px;font-weight:600;line-height:1.3;
  letter-spacing:-.018em;color:var(--ink);max-width:48ch;text-wrap:balance}
.tr-seg{position:relative;display:grid;grid-template-columns:repeat(4,52px);padding:3px;border-radius:999px;
  background:var(--head);border:1px solid var(--line);flex:0 0 auto}
.tr-seg button{position:relative;z-index:1;height:30px;border:0;background:none;font:inherit;font-size:12.5px;
  font-weight:600;color:var(--dim);cursor:pointer;border-radius:999px;transition:color .2s}
.tr-seg button[aria-selected="true"]{color:var(--ink)}
.tr-seg button:focus-visible{outline:2px solid var(--gold);outline-offset:1px}
.tr-thumb{position:absolute;z-index:0;top:3px;left:3px;width:52px;height:30px;border-radius:999px;
  background:var(--panel);box-shadow:0 1px 2px rgba(20,26,58,.12),0 2px 8px rgba(20,26,58,.06);
  transform:translateX(calc(var(--i) * 52px));transition:transform .34s cubic-bezier(.3,1.3,.4,1)}
.tr-plot{position:relative;margin:18px -4px 0}
.tr-svg{display:block;overflow:visible}
.tr-grid{stroke:var(--line-2);stroke-width:1}
.tr-base{stroke:var(--line-h);stroke-width:1}
.tr-xt{stroke:var(--line-h)}
.tr-yl,.tr-xl{font-family:var(--num);font-size:11px;fill:var(--dim);font-variant-numeric:tabular-nums}
.tr-hatch{stroke:var(--line-h);stroke-width:1.2}
.tr-gap{opacity:.8}
.tr-gapl{font-size:11.5px;font-weight:600;fill:var(--dim);letter-spacing:.02em}
.tr-band{fill:var(--tint);stroke:var(--line);stroke-dasharray:2 3}
.tr-bandl{font-size:11px;fill:var(--mut);font-weight:500}
.tr-svg{--tone:var(--ink)}
.tr-svg.tone-up{--tone:var(--lime)}
.tr-svg.tone-dn{--tone:var(--coral)}
.tr-f0{stop-color:var(--tone);stop-opacity:.22}
.tr-f1{stop-color:var(--tone);stop-opacity:0}
.tr-line{fill:none;stroke:var(--tone);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;
  stroke-dasharray:1;stroke-dashoffset:1;animation:trDraw 1s cubic-bezier(.45,0,.2,1) .15s forwards}
.tr-area{opacity:0;animation:trFade .7s ease-out .55s forwards}
.tr-bridge{fill:none;stroke:var(--mut);stroke-width:1.5;stroke-dasharray:4 5;opacity:0;animation:trFade .6s ease-out .2s forwards}
.tr-anc{fill:var(--panel);stroke:var(--mut);stroke-width:1.6;transform-box:fill-box;transform-origin:center;
  animation:trPop .5s cubic-bezier(.2,1.4,.4,1) var(--d) backwards}
.tr-dot{fill:var(--panel);stroke:var(--tone);stroke-width:2;transform-box:fill-box;transform-origin:center;
  animation:trPop .45s cubic-bezier(.2,1.4,.4,1) var(--d) backwards}
.tr-dot.last{fill:var(--tone)}
.tr-halo{fill:var(--tone);opacity:0;transform-box:fill-box;transform-origin:center;animation:trHalo 1.6s ease-out 1.1s}
.tr-last{font-family:var(--num);font-size:12px;font-weight:700;fill:var(--ink);font-variant-numeric:tabular-nums;
  opacity:0;animation:trFade .4s ease-out 1s forwards}
.tr-cross{stroke:var(--line-h);stroke-width:1;stroke-dasharray:3 3;opacity:0;transition:opacity .15s}
.tr-cross.on{opacity:1}
.tr-plot.still .tr-line{animation:none;stroke-dashoffset:0}
.tr-plot.still .tr-area,.tr-plot.still .tr-bridge,.tr-plot.still .tr-last{animation:none;opacity:1}
.tr-plot.still .tr-anc,.tr-plot.still .tr-dot,.tr-plot.still .tr-halo{animation:none}
@keyframes trDraw{to{stroke-dashoffset:0}}
@keyframes trFade{to{opacity:1}}
@keyframes trPop{from{opacity:0;transform:scale(.2)}to{opacity:1;transform:scale(1)}}
@keyframes trHalo{0%{opacity:.35;transform:scale(.4)}100%{opacity:0;transform:scale(2.2)}}
.tr-tip{position:absolute;z-index:3;pointer-events:none;display:flex;flex-direction:column;gap:2px;min-width:150px;
  max-width:240px;padding:9px 12px;border-radius:10px;background:var(--ink);color:var(--panel);
  box-shadow:0 8px 24px rgba(20,26,58,.2)}
.tr-tip[hidden]{display:none}
.tr-tip b{font-family:var(--num);font-size:15px;font-variant-numeric:tabular-nums}
.tr-tip span{font-size:12px;opacity:.8}
.tr-tip em{font-style:normal;font-size:11.5px;opacity:.66;line-height:1.35}
.tr-f{display:flex;justify-content:space-between;align-items:center;gap:10px 22px;flex-wrap:wrap;margin-top:14px;
  padding-top:14px;border-top:1px solid var(--line-2)}
.tr-ks{display:flex;flex-wrap:wrap;gap:8px 18px}
.tr-k{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--mut)}
.tr-k i{display:inline-block;flex:0 0 auto}
.k-line{width:16px;height:2.4px;border-radius:2px;background:var(--ink)}
.k-anc{width:8px;height:8px;border:1.6px solid var(--mut);transform:rotate(45deg);background:var(--panel)}
.k-band{width:14px;height:9px;border-radius:3px;background:var(--tint);border:1px dashed var(--line-h)}
.k-gap{width:14px;height:9px;border-radius:2px;
  background:repeating-linear-gradient(45deg,var(--line-h) 0 1px,transparent 1px 4px)}
.tr-cov{font-family:var(--num);font-size:11.5px;color:var(--dim)}
:root[data-theme="bauhaus"] .trend>.tr-in{border:2px solid var(--ink);border-radius:0}
:root[data-theme="bauhaus"] .tr-seg,:root[data-theme="bauhaus"] .tr-seg button,:root[data-theme="bauhaus"] .tr-thumb{border-radius:0}
:root[data-theme="bauhaus"] .tr-tip{border-radius:0}
@media (max-width:640px){
  .trend>.tr-in{padding:20px 18px 16px;border-radius:16px}
  .tr-take{font-size:18px}
  .tr-seg{grid-template-columns:repeat(4,minmax(0,1fr));width:100%}
  .tr-thumb{width:calc((100% - 6px) / 4);transform:translateX(calc(var(--i) * 100%))}
}
@media (prefers-reduced-motion:reduce){.trend{transition:none}.tr-line{stroke-dashoffset:0}.tr-area,.tr-bridge,.tr-last{opacity:1}}

/* ============================================================
   Graphite & Amber — dark theme (default)
   Both the explicit [data-theme="dark"] opt-in and the OS-dark
   default (unless the reader has chosen light) share one palette.
   ============================================================ */
:root[data-theme="dark"]{
  --bg:#15130D; --panel:#211D14; --head:#2A2318; --hov:#2A2318; --tint:#241E14;
  --line:#3A3122; --line-2:#2E2718; --line-h:#4A3F2C;
  --ink:#F8F0DD; --soft:#D8CDB4; --mut:#C8BDA5; --dim:#9C927C;
  --gold:#ECAC3E; --gold-hi:#E6C56E; --brand:#ECAC3E; --brand-500:#E6C56E; --brand-100:#2A2314;
  --mari:#E6C56E; --mari-100:#2E2614; --lime:#73C89A; --lime-100:#1C3326; --lime-ink:#9FDBB8;
  --coral:#EE8E60; --coral-100:#3A2318; --coral-ink:#F3B394; --neu:#574E3C; --neu-100:#2A2318;
  --onacc:#15130D;
  --shadow:0 1px 0 rgba(255,245,220,.04) inset,0 14px 40px rgba(0,0,0,.4);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#15130D; --panel:#211D14; --head:#2A2318; --hov:#2A2318; --tint:#241E14;
    --line:#3A3122; --line-2:#2E2718; --line-h:#4A3F2C;
    --ink:#F8F0DD; --soft:#D8CDB4; --mut:#C8BDA5; --dim:#9C927C;
    --gold:#ECAC3E; --gold-hi:#E6C56E; --brand:#ECAC3E; --brand-500:#E6C56E; --brand-100:#2A2314;
    --mari:#E6C56E; --mari-100:#2E2614; --lime:#73C89A; --lime-100:#1C3326; --lime-ink:#9FDBB8;
    --coral:#EE8E60; --coral-100:#3A2318; --coral-ink:#F3B394; --neu:#574E3C; --neu-100:#2A2318;
    --onacc:#15130D;
    --shadow:0 1px 0 rgba(255,245,220,.04) inset,0 14px 40px rgba(0,0,0,.4);
  }
  :root:not([data-theme="light"]) .thm-knob{transform:translateX(14px)}
}

/* --- mobile header: prevent horizontal overflow at small widths --- */
@media (max-width:760px){
  .hdr-in{flex-wrap:wrap;height:auto;row-gap:8px;padding:10px 0}
  .brand{order:1}
  .hdr-r{order:2;margin-left:auto;gap:8px}
  .nav{order:3;width:100%;overflow-x:auto;gap:18px;padding-bottom:2px;-webkit-overflow-scrolling:touch}
  .srch{display:none}
  .definition-popover{left:16px!important;right:16px!important;width:auto!important;max-width:calc(100vw - 32px)}
}
@media (max-width:420px){
  .hdr-r .btn{display:none} /* keep only the theme toggle on very narrow */
}
/* --- tablet header (761–1100px): tighten the nav and drop the Search button so the row fits.
   The search input keeps working with live suggestions. --- */
@media (min-width:761px) and (max-width:1100px){
  .nav{gap:14px;margin-left:18px}
  .nav a{font-size:14px}
  .hdr-r{gap:8px;margin-left:16px}
  .hdr-r .btn[data-search]{display:none}
  .srch{width:124px}
}
@media (min-width:761px) and (max-width:860px){
  .nav{gap:10px;margin-left:14px}
  .nav a{font-size:13px}
}
/* --- phone nav: all five links fit on one row instead of scrolling sideways --- */
@media (max-width:760px){
  .nav{display:flex;justify-content:space-between;gap:6px;overflow:visible}
  .nav a{font-size:13.5px;flex:none}
}
@media (max-width:360px){
  .nav a{font-size:12.5px}
}
/* --- theme toggle as sun/moon icon, top-right --- */
#themeToggle,.thm-toggle{appearance:none;-webkit-appearance:none;width:38px!important;height:38px!important;border-radius:10px!important;border:1px solid var(--line)!important;background-color:var(--card2)!important;background-position:center!important;background-repeat:no-repeat!important;background-size:19px 19px!important;cursor:pointer;flex:none;padding:0!important;transition:border-color .2s,background-color .2s}
#themeToggle:hover,.thm-toggle:hover{border-color:var(--gold)!important}
#themeToggle::after,#themeToggle::before,.thm-toggle::after,.thm-toggle::before,.thm-knob{display:none!important}
:root:not([data-theme="dark"]) #themeToggle,:root:not([data-theme="dark"]) .thm-toggle{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B4692E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12.8A9 9 0 1 1 11.2 3 7 7 0 0 0 21 12.8Z'/%3E%3C/svg%3E")!important}
:root[data-theme="dark"] #themeToggle,:root[data-theme="dark"] .thm-toggle{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E6C56E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 2v2M12 20v2M2 12h2M20 12h2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M19.1 4.9l-1.4 1.4M6.3 17.7l-1.4 1.4'/%3E%3C/svg%3E")!important}
.thm-float{position:fixed!important;top:48px;right:16px;z-index:140}
