:root{
  --bg:#0b1220; --card:#111a2e; --card2:#0e1628; --border:#1e2a44; --border2:#26355a;
  --text:#e6ebf5; --muted:#8a96b0; --dim:#5d6a86;
  --green:#22c55e; --red:#ef4444; --amber:#f59e0b; --orange:#f97316; --purple:#8b5cf6; --blue:#3b82f6;
  --radius:14px;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--text);font:14px/1.45 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
.hidden{display:none!important}
.muted{color:var(--muted)}
.up{color:var(--green)} .down{color:var(--red)} .flat{color:var(--muted)}
h2{font-size:15px;margin:0;font-weight:650}

/* header */
.topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 22px;border-bottom:1px solid var(--border);flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.logo{width:40px;height:40px;border-radius:10px;background:linear-gradient(135deg,#22c55e,#3b82f6 55%,#8b5cf6);display:grid;place-items:center;font-weight:800;font-size:14px;color:#fff;box-shadow:0 4px 16px rgba(59,130,246,.35)}
.title{font-weight:800;font-size:18px;letter-spacing:.2px}
.subtitle{color:var(--muted);font-size:12px}
.tabs{display:flex;gap:6px;margin-left:18px;background:var(--card2);border:1px solid var(--border);padding:4px;border-radius:999px}
.tab{background:transparent;border:0;color:var(--muted);padding:6px 16px;border-radius:999px;font:inherit;font-weight:600;cursor:pointer}
.tab.active{background:#1d2a47;color:var(--text)}
.tab:hover{color:var(--text)}
.top-right{display:flex;align-items:center;gap:10px}
.badge-paper{border:1px solid var(--amber);color:var(--amber);border-radius:8px;padding:3px 10px;font-weight:700;font-size:12px;letter-spacing:1px}
.pill{display:inline-flex;align-items:center;gap:7px;background:var(--card);border:1px solid var(--border);border-radius:999px;padding:5px 12px;font-size:12.5px;color:var(--text)}
.dot{width:8px;height:8px;border-radius:50%;background:var(--dim)}
.dot.on{background:var(--green);box-shadow:0 0 8px var(--green)}
.btn-orange{background:var(--orange);color:#fff;border:0;border-radius:9px;padding:7px 14px;font:inherit;font-weight:700;cursor:pointer}
.btn-orange:hover{filter:brightness(1.08)}

/* ticker */
.ticker{overflow-x:auto;white-space:nowrap;border-bottom:1px solid var(--border);background:var(--card2);scrollbar-width:thin}
.ticker-track{display:inline-flex;gap:28px;padding:9px 22px}
.tk{display:inline-flex;gap:8px;align-items:baseline;font-size:13px}
.tk b{font-weight:700}
.tk .px{color:var(--text)}

main{padding:18px 22px 30px;max-width:1500px;margin:0 auto}
.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:16px}
.card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;gap:10px}
.caption{color:var(--muted);font-size:12px}
.alert{background:#3a1620;border:1px solid #7f1d1d;color:#fecaca;border-radius:10px;padding:10px 14px;margin-bottom:14px}

/* stats */
.stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:14px}
.stat .label{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.9px;font-weight:600}
.stat .value{font-size:26px;font-weight:750;margin-top:4px;font-variant-numeric:tabular-nums}
.stat .sub{color:var(--muted);font-size:12px;margin-top:2px}

.row{display:flex;gap:14px;margin-bottom:14px;align-items:stretch}
.grow2{flex:2;min-width:0} .grow1{flex:1;min-width:0}
.chart-wrap{position:relative;height:200px}
.chart-wrap.tall{height:300px}
.chart-wrap.small{height:180px}

/* rules */
.rules-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.rule{background:var(--card2);border:1px solid var(--border2);border-radius:9px;padding:8px 10px}
.rule .k{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.7px}
.rule .v{font-weight:650;font-size:15px;margin-top:2px;font-variant-numeric:tabular-nums}
.rule.wide{grid-column:1/-1}
.rule.wide .v{font-size:13px;font-weight:500}
.rules-note{color:var(--muted);font-size:12px;margin:10px 0 0}

.section-head{display:flex;align-items:baseline;gap:12px;margin:22px 2px 10px}

/* pick cards */
.pick-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:14px;margin-bottom:6px}
.empty{color:var(--muted);background:var(--card);border:1px dashed var(--border2);border-radius:var(--radius);padding:18px;text-align:center}
.pick-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.sym{font-size:20px;font-weight:800;letter-spacing:.5px}
.sym small{font-size:12px;color:var(--muted);font-weight:500;margin-left:8px}
.status{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;padding:3px 9px;border-radius:999px;border:1px solid var(--border2);color:var(--muted)}
.status.open{color:var(--blue);border-color:var(--blue)}
.status.working,.status.planned{color:var(--amber);border-color:var(--amber)}
.status.closed.win{color:var(--green);border-color:var(--green)}
.status.closed.loss{color:var(--red);border-color:var(--red)}
.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:10px}
.m{background:var(--card2);border:1px solid var(--border);border-radius:8px;padding:6px 8px}
.m .k{color:var(--muted);font-size:10.5px;text-transform:uppercase;letter-spacing:.6px}
.m .v{font-weight:650;font-variant-numeric:tabular-nums}
.note{color:var(--muted);font-size:12px;margin-top:8px}

/* prospects */
.prospect-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px;margin-bottom:16px}
.since{font-size:18px;font-weight:800;font-variant-numeric:tabular-nums}
.prospect-grid .metrics .m{min-width:0}
.prospect-grid .metrics .k{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.spark{height:90px;position:relative;margin:8px 0}
.verdicts{display:flex;gap:8px;flex-wrap:wrap}
.chip{font-size:11.5px;border:1px solid var(--border2);border-radius:999px;padding:2px 9px;color:var(--muted)}
.chip.good{color:var(--green);border-color:#14532d}
.chip.bad{color:var(--red);border-color:#7f1d1d}

/* table */
.table-wrap{overflow-x:auto}
table.log{width:100%;border-collapse:collapse;font-size:12.5px;font-variant-numeric:tabular-nums}
table.log th{color:var(--muted);text-transform:uppercase;font-size:10.5px;letter-spacing:.6px;font-weight:600;text-align:left;padding:8px;border-bottom:1px solid var(--border2);white-space:nowrap}
table.log td{padding:8px;border-bottom:1px solid var(--border);white-space:nowrap}
table.log td.notes{white-space:normal;min-width:260px;color:var(--muted)}
table.log .r{text-align:right}
table.log tbody tr:hover{background:#15203a}

/* lists */
.recaps,.news,.rulevers{list-style:none;margin:0;padding:0}
.recaps li,.news li,.rulevers li{padding:10px 0;border-bottom:1px solid var(--border)}
.recaps li:last-child,.news li:last-child,.rulevers li:last-child{border-bottom:0}
.recap-top{display:flex;justify-content:space-between;gap:10px;font-weight:650}
.recap-body{color:var(--muted);font-size:12.5px;margin-top:4px}
.recap-body b{color:var(--text);font-weight:600}
.sev{font-size:10.5px;font-weight:700;text-transform:uppercase;padding:1px 7px;border-radius:6px;margin-right:6px;border:1px solid var(--border2);color:var(--muted)}
.sev.caution{color:var(--amber);border-color:var(--amber)} .sev.avoid{color:var(--red);border-color:var(--red)}
.news a{color:#93c5fd}
.foot{color:var(--dim);font-size:11.5px;text-align:center;margin-top:22px}

@media (max-width:1100px){.stats{grid-template-columns:repeat(2,1fr)}.row{flex-direction:column}.pick-grid{grid-template-columns:1fr}}
@media (max-width:560px){.metrics{grid-template-columns:repeat(2,1fr)}.tabs{margin-left:0}.stats{grid-template-columns:1fr}}
