:root{
  --bg:#0a0e0a;
  --panel:#0f1410;
  --panel-2:#121a14;
  --line:#1f2a22;
  --grid:#16201a;
  --text:#d6e6da;
  --dim:#7a8a7f;
  --muted:#4a5a4f;
  --accent:#39ff7a;
  --accent-dim:#1f8a42;
  --pos:#39ff7a;
  --neg:#ff5c5c;
  --neu:#e6c84a;
  --warn:#ffae42;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:'JetBrains Mono','IBM Plex Mono',ui-monospace,monospace;font-size:13px;line-height:1.45}
body{
  background-image:
    linear-gradient(to bottom, rgba(57,255,122,.025) 1px, transparent 1px),
    radial-gradient(circle at 50% 0%, rgba(57,255,122,.06), transparent 70%);
  background-size: 100% 3px, 100% 100%;
  min-height:100vh;
}

.topbar{display:flex;justify-content:space-between;align-items:center;padding:10px 18px;border-bottom:1px solid var(--line);background:var(--panel)}
.brand{display:flex;align-items:center;gap:10px}
.brand .logo{color:var(--accent);font-weight:700;letter-spacing:-2px}
.brand .name{font-weight:700;letter-spacing:2px}
.brand .tag{color:var(--dim);font-size:11px;letter-spacing:3px;border-left:1px solid var(--line);padding-left:10px}
.clock{display:flex;gap:10px;align-items:center;color:var(--dim);font-size:11px;letter-spacing:1px}
.clock .sep{color:var(--muted)}
.status.live{color:var(--accent)}
.status.live::before{content:'';display:inline-block;width:6px;height:6px;background:var(--accent);border-radius:50%;margin-right:6px;animation:pulse 1.4s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}}

.filters{display:flex;gap:18px;padding:10px 18px;border-bottom:1px solid var(--line);background:var(--panel-2);flex-wrap:wrap;align-items:center}
.filter{display:flex;gap:8px;align-items:center}
.filter.grow{flex:1;min-width:240px}
.filter label{color:var(--dim);font-size:10px;letter-spacing:2px}
.filter select{background:transparent;color:var(--text);border:1px solid var(--line);padding:4px 8px;font-family:inherit;font-size:12px;letter-spacing:1px}
.filter select:focus{outline:none;border-color:var(--accent-dim)}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{border:1px solid var(--line);padding:3px 8px;font-size:11px;letter-spacing:1px;color:var(--dim);cursor:pointer;user-select:none}
.chip.on{color:var(--accent);border-color:var(--accent-dim);background:rgba(57,255,122,.06)}

.grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:1px;background:var(--line);padding:1px}
.panel{background:var(--panel);padding:14px 16px;min-height:280px}
.panel.leaderboard{grid-column:1;grid-row:1}
.panel.trends{grid-column:2;grid-row:1}
.panel.stories{grid-column:1;grid-row:2}
.panel.ticker{grid-column:2;grid-row:2}
.panel-head{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px dashed var(--line);padding-bottom:8px;margin-bottom:12px}
.panel-head h2{margin:0;font-size:12px;letter-spacing:3px;color:var(--text);font-weight:600}
.panel-head .sub{color:var(--dim);font-size:10px;letter-spacing:2px}

table{width:100%;border-collapse:collapse;font-size:12px}
th,td{text-align:left;padding:6px 4px;border-bottom:1px solid var(--grid)}
th{color:var(--dim);font-weight:500;font-size:10px;letter-spacing:2px}
td.num{text-align:right;font-variant-numeric:tabular-nums}
.delta.pos{color:var(--pos)}
.delta.neg{color:var(--neg)}
.delta.neu{color:var(--dim)}
.bar{display:inline-block;height:6px;background:var(--accent-dim);vertical-align:middle;margin-right:6px}

#chart{width:100%;height:300px;display:block}
.legend{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px;font-size:10px;color:var(--dim);letter-spacing:1px}
.legend span::before{content:'';display:inline-block;width:10px;height:2px;margin-right:6px;vertical-align:middle}

#stories{margin:0;padding:0;list-style:none}
#stories li{padding:8px 0;border-bottom:1px solid var(--grid);display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:baseline}
#stories li .platform{color:var(--accent);font-size:10px;letter-spacing:2px}
#stories li .head{color:var(--text);font-size:12px}
#stories li .src{color:var(--muted);font-size:10px;letter-spacing:1px}
#stories li .score{font-variant-numeric:tabular-nums}

.vol-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.vol-cell{border:1px solid var(--grid);padding:10px;display:flex;flex-direction:column;gap:6px}
.vol-cell .p{color:var(--dim);font-size:10px;letter-spacing:2px}
.vol-cell .n{font-size:20px;color:var(--text);font-weight:600;font-variant-numeric:tabular-nums}
.vol-cell .d{font-size:10px;letter-spacing:1px}

.footbar{display:flex;gap:10px;padding:8px 18px;border-top:1px solid var(--line);background:var(--panel);color:var(--dim);font-size:10px;letter-spacing:2px;flex-wrap:wrap}
.footbar .sep{color:var(--muted)}

@media (max-width: 880px){
  .grid{grid-template-columns:1fr}
  .panel.leaderboard,.panel.trends,.panel.stories,.panel.ticker{grid-column:1;grid-row:auto}
  .brand .tag{display:none}
  .vol-grid{grid-template-columns:1fr}
}
