:root { color-scheme:dark; --bg:#0b0e12; --card:#14181e; --line:#262c35; --text:#f5f7f8; --muted:#89929f; --pos:#32d979; --neg:#ff5066; }
* { box-sizing:border-box; }
html,body { margin:0; min-height:100%; background:var(--bg); color:var(--text); font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
body { background:radial-gradient(circle at 74% -10%,rgba(255,255,255,.055),transparent 34%),var(--bg); }
button,input { font:inherit; }
button { cursor:pointer; }
.shell { width:min(1180px,calc(100% - 38px)); margin:0 auto; padding:40px 0 70px; }
.topbar { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:28px; }
.eyebrow { margin:0 0 5px; color:var(--muted); font-size:10px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
h1,h2 { margin:0; letter-spacing:-.04em; }
h1 { font-size:clamp(30px,4vw,48px); }
h2 { font-size:22px; }
.secondary { height:38px; padding:0 14px; border:1px solid var(--line); border-radius:9px; background:#171c23; color:#d9dee4; font-size:11px; font-weight:800; }
.is-hidden { display:none !important; }
.gate { max-width:560px; padding:24px; border:1px solid var(--line); border-radius:18px; background:linear-gradient(145deg,#171b22,#101318); }
.gate p { color:var(--muted); }
.gate-row { display:grid; grid-template-columns:minmax(0,1fr) 88px; gap:8px; }
.gate input { height:44px; padding:0 12px; border:1px solid #323945; border-radius:10px; background:#0b0e12; color:var(--text); font-family:"Cascadia Mono",Consolas,monospace; outline:none; }
.gate button { border:0; border-radius:10px; background:#e9edf2; color:#0b0e12; font-weight:850; }
.message { min-height:18px; margin-bottom:0; color:#ff8191 !important; font-size:12px; }
.session-strip { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-bottom:10px; }
.session-strip>div,.kpis article,.chart-card { border:1px solid var(--line); background:linear-gradient(145deg,#171b22,#101318); }
.session-strip>div { padding:14px 16px; border-radius:12px; }
.session-strip span,.kpis span { display:block; color:var(--muted); font-size:11px; margin-bottom:5px; }
.session-strip strong { font-size:14px; }
.kpis { display:grid; grid-template-columns:repeat(6,1fr); gap:10px; }
.kpis article { min-width:0; padding:16px; border-radius:12px; }
.kpis strong { font-size:clamp(21px,2.4vw,32px); letter-spacing:-.04em; }
.kpis .positive strong { color:var(--pos); }
.kpis .negative strong { color:var(--neg); }
.chart-card { margin-top:10px; padding:20px; border-radius:14px; }
.chart-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; margin-bottom:16px; }
.legend { display:flex; gap:14px; color:var(--muted); font-size:11px; }
.legend span::before { content:""; display:inline-block; width:7px; height:7px; margin-right:5px; border-radius:2px; }
.lg-pos::before { background:var(--pos); }
.lg-neg::before { background:var(--neg); }
.timeline { height:300px; display:flex; align-items:center; gap:2px; overflow-x:auto; padding:8px 0; border-top:1px solid rgba(255,255,255,.04); border-bottom:1px solid rgba(255,255,255,.04); }
.bucket { position:relative; flex:1 0 4px; min-width:4px; height:100%; }
.bucket::after { content:""; position:absolute; left:0; right:0; top:50%; height:1px; background:rgba(255,255,255,.08); }
.bar { position:absolute; left:0; right:0; min-height:0; border-radius:2px; opacity:.88; }
.bar.pos { bottom:50%; background:var(--pos); border-bottom-left-radius:0; border-bottom-right-radius:0; }
.bar.neg { top:50%; background:var(--neg); border-top-left-radius:0; border-top-right-radius:0; }
.axis-labels { display:flex; justify-content:space-between; color:var(--muted); font-size:10px; margin-top:7px; }
.footnote { color:var(--muted); font-size:11px; margin:14px 2px 0; }
@media(max-width:850px){ .kpis{grid-template-columns:repeat(3,1fr)} .session-strip{grid-template-columns:1fr 1fr 1fr} }
@media(max-width:560px){ .shell{width:min(100% - 22px,1180px);padding-top:22px}.topbar{align-items:flex-start;flex-direction:column}.kpis{grid-template-columns:repeat(2,1fr)}.session-strip{grid-template-columns:1fr}.timeline{height:240px} }
@media print {
  :root { color-scheme:light; --bg:#fff; --card:#fff; --line:#d9dde2; --text:#111; --muted:#606872; }
  body { background:#fff; }
  .shell { width:100%; padding:0; }
  .topbar button,.gate,.footnote { display:none !important; }
  .kpis { grid-template-columns:repeat(3,1fr); }
  .timeline { overflow:hidden; }
}
