:root{
  color-scheme:light;
  --bg:#f4f5f9; --surface:#ffffff; --surface-2:#eef1f8; --ink:#0b0b2e; --ink-2:#43466a; --muted:#72759a; --line:#e3e6f0; --grid:#edf0f6;
  --brand:#01008a; --sky:#acd7e7; --gold:#ffc53d; --gold-ink:#a86f00;
  --s-picks:#01008a; --s-bench:#9699b3; --lag:#d3d6e4;
  --pos:#0f7a3d; --pos-bg:#e9f6ee; --neg:#c22f2e; --neg-bg:#fcecec;
  --shadow:0 1px 2px rgba(11,11,46,.04),0 4px 16px rgba(11,11,46,.05);
  --serif:"Fraunces",Georgia,serif; --sans:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; --mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
}
@media (prefers-color-scheme:dark){:root:where(:not([data-theme="light"])){
  color-scheme:dark;
  --bg:#07071f; --surface:#0f1030; --surface-2:#17183f; --ink:#f3f5ff; --ink-2:#c3c6e6; --muted:#8e91b8; --line:#25274f; --grid:#1c1e45;
  --s-picks:#acd7e7; --s-bench:#7c80a6; --lag:#34365f; --gold-ink:#ffc53d;
  --pos:#4cc47f; --pos-bg:#12291d; --neg:#f07372; --neg-bg:#2f1719; --shadow:none;
}}
:root[data-theme="dark"]{
  color-scheme:dark;
  --bg:#07071f; --surface:#0f1030; --surface-2:#17183f; --ink:#f3f5ff; --ink-2:#c3c6e6; --muted:#8e91b8; --line:#25274f; --grid:#1c1e45;
  --s-picks:#acd7e7; --s-bench:#7c80a6; --lag:#34365f; --gold-ink:#ffc53d;
  --pos:#4cc47f; --pos-bg:#12291d; --neg:#f07372; --neg-bg:#2f1719; --shadow:none;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--ink)}
body{font:15px/1.55 var(--sans);-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums}
.wrap{max-width:1120px;margin:0 auto;padding:22px 16px 56px}
a{color:inherit}
.small{font-size:12.5px} .muted{color:var(--muted)}
h1,h2,h3{margin:0}
h2{font:700 20px/1.25 var(--serif);letter-spacing:-.01em}
h3{font-size:13.5px;font-weight:600}

/* header */
.top{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:18px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand img{display:block;border-radius:10px}
.wm{font:700 25px/1 var(--serif);letter-spacing:-.02em}
.meta{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.pill{font-size:12px;padding:5px 11px;border-radius:999px;background:var(--surface);border:1px solid var(--line);color:var(--ink-2);white-space:nowrap}
.pill.live::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--pos);margin-right:7px;vertical-align:1px}
.link{font-size:13px;font-weight:600;text-decoration:none;border-bottom:1.5px solid var(--line)}
.link:hover{border-color:var(--ink)}

/* hero */
.hero{position:relative;overflow:hidden;background:var(--brand);color:#fff;border-radius:22px;padding:34px 34px 26px;margin-bottom:16px;isolation:isolate}
.hero-bands{position:absolute;right:0;top:0;height:100%;width:60%;z-index:-1;opacity:.5}
.hero-in{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:36px;align-items:end}
.kicker{font:600 11.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--sky);opacity:.85;margin-bottom:14px}
.hero h1{font:700 44px/1.08 var(--serif);letter-spacing:-.02em;max-width:14ch}
.intro{color:#dce9f2;font-size:15.5px;max-width:52ch;margin:16px 0 0}
.score{background:rgba(255,255,255,.07);border:1px solid rgba(172,215,231,.18);border-radius:18px;padding:20px 22px;backdrop-filter:blur(2px)}
.vs{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:14px}
.who{font-size:12.5px;color:var(--sky);display:flex;align-items:center;gap:7px}
.sw{display:inline-block;width:10px;height:10px;border-radius:3px;flex:none}
.sw.picks{background:var(--sky)} .sw.bench{background:rgba(255,255,255,.45)}
.hero .num{font:700 46px/1.05 var(--serif);letter-spacing:-.02em;margin-top:4px;font-variant-numeric:lining-nums tabular-nums}
.hero .num.bench{color:rgba(255,255,255,.72)}
.x{color:rgba(255,255,255,.55);font-size:13px;padding-bottom:12px}
.lead{margin-top:16px;display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:12px;background:rgba(255,197,61,.14);color:#fff;font-size:13.5px;min-height:44px}
.lead.down{background:rgba(240,115,114,.16)}
.lead b{font:700 20px var(--serif);color:var(--gold);white-space:nowrap}
.lead.down b{color:#ff9b9a}
.k1000{margin:12px 0 0;font-size:13.5px;color:#dce9f2;min-height:21px}
.k1000 b{color:#fff;font-weight:600}
.periods{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-top:24px;padding-top:18px;border-top:1px solid rgba(172,215,231,.18)}
.per{font-size:12px}
.per .pl{font:600 11px var(--mono);letter-spacing:.08em;color:var(--sky);opacity:.85}
.per .pv{font:700 19px/1.2 var(--serif);margin-top:3px;font-variant-numeric:lining-nums tabular-nums}
.per .pb{color:rgba(255,255,255,.62);margin-top:1px}
.per .pd{display:inline-block;margin-top:5px;font-size:11.5px;font-weight:600;padding:1px 7px;border-radius:999px;background:rgba(255,197,61,.16);color:var(--gold)}
.per .pd.down{background:rgba(240,115,114,.18);color:#ff9b9a}

/* skeletons */
.sk{color:transparent!important;background:linear-gradient(90deg,rgba(255,255,255,.08),rgba(255,255,255,.18),rgba(255,255,255,.08));background-size:200% 100%;border-radius:8px;animation:sh 1.3s linear infinite}
.sk-block{background:linear-gradient(90deg,var(--surface-2),var(--grid),var(--surface-2));background-size:200% 100%;border-radius:12px;animation:sh 1.3s linear infinite}
@keyframes sh{to{background-position:-200% 0}}
@media (prefers-reduced-motion:reduce){.sk,.sk-block{animation:none}}

/* cards */
.card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:22px;margin-bottom:16px;box-shadow:var(--shadow)}
.card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.card-head p{margin:4px 0 0}
.sub-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:20px 0 6px}
.note{font-size:12px;color:var(--muted);margin:14px 0 0}
.badge{font-size:12.5px;font-weight:600;padding:5px 11px;border-radius:999px;background:var(--surface-2);white-space:nowrap}
.ranges{display:inline-flex;background:var(--surface-2);border-radius:10px;padding:3px;gap:2px}
.ranges button{font:600 12px var(--sans);color:var(--ink-2);background:none;border:0;padding:6px 11px;border-radius:7px;cursor:pointer}
.ranges button[aria-selected="true"]{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px rgba(0,0,0,.08)}

/* charts */
.legend{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:12.5px;color:var(--ink-2);margin:-4px 0 8px}
.legend span{display:inline-flex;align-items:center;gap:7px}
.legend i{display:inline-block;width:16px;height:3px;border-radius:2px}
.chart{height:300px;position:relative}
.chart.excess{height:120px}
.chart.months{height:190px}
.chart svg{width:100%;height:100%;display:block;overflow:visible}
.chart .grid{stroke:var(--grid)} .chart .zero{stroke:var(--muted);stroke-opacity:.6}
.chart .axis{fill:var(--muted);font:11px var(--mono)}
.chart .axis.yr{fill:var(--ink-2);font-weight:600}
.chart .ln{fill:none;stroke-width:2.4;stroke-linejoin:round;stroke-linecap:round}
.chart .ln.picks{stroke:var(--s-picks)} .chart .ln.bench{stroke:var(--s-bench);stroke-width:2;stroke-dasharray:5 4}
.chart .endlab{font:600 12px var(--mono);fill:var(--ink)}
.chart .endlab .en{font:500 11.5px var(--sans);fill:var(--ink-2)}
.chart .enddot,.chart .hdot{stroke:var(--surface);stroke-width:2}
.chart .cross{stroke:var(--muted);stroke-dasharray:3 3}
.chart .ex-pos{fill:var(--pos);opacity:.18} .chart .ex-neg{fill:var(--neg);opacity:.18}
.chart .ex-line{fill:none;stroke:var(--ink-2);stroke-width:1.5}
.chart .mb{transition:opacity .12s} .chart .mb.pos{fill:var(--pos)} .chart .mb.neg{fill:var(--neg)} .chart .mb.partial{opacity:.45}
.chart.hovering .mb:not(.hov){opacity:.3}
.chart .mlab{font:600 11px var(--mono);fill:var(--ink)}
.chart .hit{fill:transparent;cursor:crosshair}
.empty{height:100%;display:grid;place-items:center;color:var(--muted);font-size:14px;text-align:center;padding:0 16px;border:1px dashed var(--line);border-radius:12px}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:18px}
.stat{background:var(--surface-2);border-radius:14px;padding:13px 15px}
.stat .sl{font-size:12px;color:var(--ink-2);font-weight:600}
.stat .sv{font:700 24px/1.2 var(--serif);margin-top:3px;font-variant-numeric:lining-nums tabular-nums}
.stat .ss{font-size:12px;color:var(--muted);margin-top:2px}

/* leaderboard */
.leader{display:flex;flex-direction:column;gap:6px}
.lleg{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:12.5px;color:var(--ink-2);margin-bottom:6px}
.lleg span{display:inline-flex;align-items:center;gap:7px}
.lleg i{display:inline-block;width:11px;height:11px;border-radius:3px}
.lhead,.lrow{display:grid;grid-template-columns:190px 1fr 78px 70px;align-items:center;gap:12px}
.lhead{font-size:11px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.06em}
.lhead span:nth-child(3),.lhead span:nth-child(4){text-align:right}
.leader-wrap{position:relative;padding-top:22px;display:flex;flex-direction:column;gap:4px}
.lrow{padding:4px 0;border-radius:8px}
.lrow:hover{background:var(--surface-2)}
.lrow .nm{display:flex;align-items:baseline;gap:8px;padding-left:6px;min-width:0}
.lrow .nm b{font:600 13px var(--mono)}
.lrow .nm span{font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lrow .trk{position:relative;height:18px}
.lrow .z{position:absolute;top:-3px;bottom:-3px;width:1px;background:var(--muted);opacity:.5}
.lrow .b{position:absolute;top:3px;height:12px;border-radius:0 4px 4px 0}
.lrow .b.l{border-radius:4px 0 0 4px}
.lrow .b.win{background:var(--s-picks)} .lrow .b.lag{background:var(--lag)}
.lrow .v{font-weight:700;font-size:13.5px;text-align:right}
.lrow .d{font-size:12px;color:var(--muted);text-align:right;padding-right:6px;white-space:nowrap}
.refline{position:absolute;top:18px;bottom:0;width:0;border-left:1.5px dashed var(--s-bench);pointer-events:none}
.reflab{position:absolute;top:-19px;transform:translateX(-50%);font:600 11px var(--mono);color:var(--ink-2);white-space:nowrap;background:var(--surface);padding:0 5px}

/* groups */
.groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.gcard{border:1px solid var(--line);border-radius:14px;padding:14px 16px;position:relative;overflow:hidden}
.gcard::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--s-picks)}
.gcard .gn{font-size:13.5px;font-weight:600}
.gcard .gw{font-size:12px;color:var(--muted)}
.gcard .gv{font:700 26px/1.2 var(--serif);margin-top:8px;font-variant-numeric:lining-nums tabular-nums}
.gcard .gt{font-size:12px;color:var(--ink-2);margin-top:4px}

/* table */
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -22px;padding:0 22px}
table{width:100%;border-collapse:collapse;font-size:13.5px;min-width:760px}
th,td{padding:10px 8px;text-align:right;white-space:nowrap;border-bottom:1px solid var(--line)}
th{font-size:11px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.06em;cursor:pointer;user-select:none}
th:hover{color:var(--ink)} th[aria-sort] {color:var(--ink)}
th[aria-sort="descending"]::after{content:" ↓"} th[aria-sort="ascending"]::after{content:" ↑"}
th:first-child,td:first-child{text-align:left;position:sticky;left:0;background:var(--surface);z-index:1}
td.stock b{font:600 13px var(--mono)} td.stock span{color:var(--muted);font-size:12.5px;margin-left:8px}
td.stock small{display:inline-block;margin-left:8px;font-size:10.5px;color:var(--gold-ink);border:1px solid currentColor;border-radius:4px;padding:0 4px}
.wcell{display:flex;align-items:center;justify-content:flex-end;gap:8px}
.wbar{width:44px;height:6px;border-radius:3px;background:var(--surface-2);overflow:hidden}
.wbar i{display:block;height:100%;background:var(--s-picks)}
.pos{color:var(--pos)} .neg{color:var(--neg)} .na{color:var(--muted)}
td.hl{font-weight:700}
td.hl.pos{background:var(--pos-bg)} td.hl.neg{background:var(--neg-bg)}
tfoot td{font-weight:700;border-bottom:none;border-top:2px solid var(--line)}
tfoot tr.bm td{font-weight:500;color:var(--ink-2);border-top:0}

/* watchlist */
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{border:1px solid var(--line);border-radius:999px;padding:6px 13px;font-size:13px}
.chip b{font:600 12.5px var(--mono)} .chip span{color:var(--muted);margin-left:6px}

/* footer */
.foot{font-size:13px;margin-top:10px;padding:0 4px}
.foot p{margin:0 0 10px;max-width:780px}

/* tooltip */
.tip{position:fixed;pointer-events:none;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:9px 11px;font-size:12.5px;line-height:1.6;color:var(--ink);box-shadow:0 8px 24px rgba(0,0,0,.14);z-index:10;min-width:180px}
.tip .tr{display:flex;align-items:center;gap:16px;justify-content:space-between}
.tip .tr span:first-child{display:inline-flex;align-items:center;gap:7px;color:var(--ink-2)}
.tip .td{color:var(--muted);margin-bottom:2px}
.tip b{font-variant-numeric:tabular-nums}

@media (max-width:860px){
  .hero-bands{display:none}
  .hero-in{grid-template-columns:1fr;gap:22px}
  .periods{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:16px}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:600px){
  .wrap{padding-top:16px}
  .hero{padding:24px 18px 20px;border-radius:18px}
  .hero h1{font-size:32px}
  .hero .num{font-size:34px}
  .card{padding:16px;border-radius:16px} .table-wrap{margin:0 -16px;padding:0 16px}
  .chart{height:230px} .chart.excess{height:100px} .chart.months{height:160px}
  .lhead,.lrow{grid-template-columns:96px 1fr 64px;gap:8px}
  .lrow .nm span,.lhead .d,.lrow .d{display:none}
  .stat .sv{font-size:20px}
  .wm{font-size:22px}
}
