:root{--bg:#070a0f;--bg-elevated:#0d1219;--surface:#0f1621;--surface-2:#131c28;--ink:#e6edf3;--ink-muted:#8b97a5;--ink-faint:#59636f;--stroke:#1c2530;--stroke-strong:#2a3644;--accent:#22d3ee;--accent-soft:#22d3ee24;--pos:#16c784;--pos-soft:#16c78429;--neg:#ff5470;--neg-soft:#ff547029;--fo:#4d8dff;--com:#16c784;--radius:3px;--font-display:"Syne", sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace;color:var(--ink);background:var(--bg);font-family:var(--font-display);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:radial-gradient(1100px 560px at 12% -12%, #22d3ee14, transparent 55%), radial-gradient(900px 520px at 92% -4%, #4d8dff12, transparent 52%), var(--bg);background-attachment:fixed}a{color:var(--accent);text-decoration:none}button,input{font:inherit}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.app-shell{min-height:100vh}.page{width:min(1220px,100% - 2.5rem);margin:0 auto;padding:1.5rem 0 5rem}.hero{align-content:center;gap:1.75rem;width:min(760px,100% - 2.5rem);min-height:100vh;margin:0 auto;padding:3rem 0;display:grid}.hero-logo{border-radius:20px;width:clamp(72px,12vw,104px);height:auto;margin-bottom:.25rem}.dash-brand-row{align-items:center;gap:.85rem;display:flex}.dash-logo{border-radius:11px;flex:none;width:46px;height:46px}.brand{font-family:var(--font-display);letter-spacing:-.045em;color:var(--ink);font-size:clamp(3rem,8vw,5.5rem);font-weight:800;line-height:.95}.brand span{color:var(--accent)}.tagline{font-family:var(--font-mono);letter-spacing:.32em;text-transform:uppercase;color:var(--accent);margin:-.4rem 0 0;font-size:.9rem;font-weight:500}.hero-line{color:var(--ink-muted);max-width:40ch;font-size:1.15rem;font-weight:500;line-height:1.5}.paste-row{align-items:stretch;gap:.6rem;margin-top:.5rem;display:flex}.paste-row input{border:1px solid var(--stroke-strong);background:var(--surface);color:var(--ink);border-radius:var(--radius);font-family:var(--font-mono);outline:none;flex:1;padding:.95rem 1rem;font-size:.9rem}.paste-row input::placeholder{color:var(--ink-faint)}.paste-row input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.paste-row button,.btn{border:1px solid var(--accent);background:var(--accent);color:#05171b;border-radius:var(--radius);letter-spacing:-.01em;cursor:pointer;padding:.95rem 1.35rem;font-weight:800;transition:transform .15s,background .15s,color .15s}.paste-row button:hover,.btn:hover{color:var(--accent);background:0 0;transform:translateY(-1px)}.btn{color:var(--ink);border-color:var(--stroke-strong);background:0 0;display:inline-block}.btn:hover{border-color:var(--accent);color:var(--accent)}.error-banner{border:1px solid var(--neg);background:var(--neg-soft);color:var(--neg);border-radius:var(--radius);font-family:var(--font-mono);padding:.75rem 1rem;font-size:.85rem}.dash-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.1rem;display:flex}.dash-title{letter-spacing:-.04em;margin:0;font-size:clamp(1.8rem,4vw,2.6rem);font-weight:800;line-height:1.05}.dash-sub{color:var(--ink-muted);font-family:var(--font-mono);margin:.4rem 0 0;font-size:.8rem}.dash-paste{margin:0 0 1.25rem}.tabbar{border-bottom:1px solid var(--stroke);gap:.25rem;margin:.5rem 0 1.25rem;display:flex}.tab{color:var(--ink-muted);letter-spacing:-.01em;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:.7rem 1.1rem;font-size:.9rem;font-weight:700;transition:color .15s,border-color .15s}.tab:hover{color:var(--ink)}.tab.active{color:var(--ink);border-bottom-color:var(--accent)}.stat-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-bottom:.85rem;display:grid}@media (width<=900px){.stat-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}.stat-tile{background:var(--surface);border:1px solid var(--stroke);border-radius:var(--radius);padding:1rem 1.1rem}.stat-tile .label{text-transform:uppercase;letter-spacing:.1em;color:var(--ink-faint);font-size:.68rem;font-weight:700}.stat-tile .value{font-family:var(--font-mono);letter-spacing:-.02em;margin-top:.35rem;font-size:1.35rem;font-weight:600}.stat-tile .value.pos{color:var(--pos)}.stat-tile .value.neg{color:var(--neg)}.chart-grid{grid-template-columns:1.4fr 1fr;gap:.75rem;margin-bottom:.75rem;display:grid}@media (width<=960px){.chart-grid{grid-template-columns:1fr}}.panel{background:var(--surface);border:1px solid var(--stroke);border-radius:var(--radius);min-height:300px;padding:1rem 1.1rem .75rem}.panel.wide{grid-column:1/-1}.panel-head{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.65rem;display:flex}.panel-head h2{letter-spacing:-.02em;margin:0;font-size:.95rem;font-weight:700}.panel-caption{color:var(--ink-faint);font-size:.73rem;font-family:var(--font-mono);margin:.15rem 0 0}.section-label{margin:1.25rem 0 .65rem}.section-label h2{letter-spacing:-.03em;margin:0;font-size:1.15rem;font-weight:800}.section-label p{color:var(--ink-faint);font-family:var(--font-mono);margin:.25rem 0 0;font-size:.75rem}.seg-toggle{border:1px solid var(--stroke-strong);border-radius:var(--radius);display:inline-flex;overflow:hidden}.seg-toggle button{color:var(--ink-muted);cursor:pointer;background:0 0;border:none;padding:.35rem .7rem;font-size:.72rem;font-weight:700}.seg-toggle button.active{background:var(--accent);color:#05171b}.term-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin-top:.75rem;display:grid}.term-tile{background:var(--surface-2);border:1px solid var(--stroke);border-radius:var(--radius);padding:.55rem .65rem}.term-tile .label{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint);font-size:.62rem;font-weight:700}.term-tile .value{margin-top:.2rem;font-size:.92rem;font-weight:600}.term-tile .value.pos{color:var(--pos)}.term-tile .value.neg{color:var(--neg)}.battle-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-bottom:.75rem;display:grid}@media (width<=900px){.battle-grid{grid-template-columns:1fr}}.battle-card{background:var(--surface);border:1px solid var(--stroke);border-radius:var(--radius);padding:1rem}.battle-card h3{text-transform:uppercase;letter-spacing:.09em;color:var(--ink-faint);margin:0 0 .75rem;font-size:.72rem}.battle-row{font-family:var(--font-mono);grid-template-columns:48px 1fr 92px;align-items:center;gap:.5rem;margin-bottom:.55rem;font-size:.76rem;display:grid}.battle-bar-track{background:var(--surface-2);border:1px solid var(--stroke);border-radius:999px;height:10px;overflow:hidden}.battle-bar-fill{border-radius:999px;height:100%}.battle-bar-fill.fo{background:var(--fo)}.battle-bar-fill.com{background:var(--com)}.battle-bar-fill.neg{background:var(--neg)}.stats-panel{background:var(--surface);border:1px solid var(--stroke);border-radius:var(--radius);margin-top:.75rem;overflow:hidden}.stats-panel .panel-head{margin:0;padding:1rem 1.1rem .5rem}.stats-table{border-collapse:collapse;width:100%;font-family:var(--font-mono);font-size:.82rem}.stats-table th,.stats-table td{border-top:1px solid var(--stroke);text-align:right;padding:.6rem 1.1rem}.stats-table th:first-child,.stats-table td:first-child{text-align:left;color:var(--ink-muted);font-family:var(--font-display);font-weight:600}.stats-table thead th{background:var(--bg-elevated);color:var(--ink);font-family:var(--font-display);text-transform:uppercase;letter-spacing:.07em;border-top:none;font-size:.76rem}.stats-table tbody tr:hover td{background:#22d3ee0d}.pill{font-size:.72rem;font-weight:700;font-family:var(--font-display);border-radius:999px;padding:.15rem .5rem;display:inline-block}.pill.edge{background:var(--pos-soft);color:var(--pos)}.pill.drag{background:var(--neg-soft);color:var(--neg)}.pill.neutral{background:var(--surface-2);color:var(--ink-muted)}.hero-guide-link{color:var(--ink-muted);margin-top:.5rem;font-size:.9rem}.hero-guide-link a{font-weight:700}.guide{max-width:860px}.guide-head{justify-content:space-between;align-items:center;padding:.5rem 0 1.5rem;display:flex}.guide-back{color:var(--ink);font-family:var(--font-display);letter-spacing:-.02em;align-items:center;gap:.6rem;font-size:1.15rem;font-weight:800;display:inline-flex}.guide-article h1{letter-spacing:-.04em;margin:0 0 .75rem;font-size:clamp(1.9rem,5vw,3rem);font-weight:800;line-height:1.05}.guide-lede{color:var(--ink-muted);margin:0 0 1.5rem;font-size:1.1rem;line-height:1.55}.guide-steps{border:1px solid var(--stroke);border-radius:var(--radius);background:var(--surface);font-family:var(--font-mono);color:var(--ink-muted);flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:2rem;padding:.85rem 1rem;font-size:.85rem;display:flex}.guide-steps span:nth-child(odd){color:var(--accent);font-weight:600}.guide-section{margin:2.25rem 0}.guide-section h2{letter-spacing:-.03em;margin:0 0 .6rem;font-size:1.4rem;font-weight:800}.guide-body{color:var(--ink-muted);font-size:1rem;line-height:1.6}.guide-body p{margin:0 0 .75rem}.guide-body code{font-family:var(--font-mono);background:var(--surface-2);border:1px solid var(--stroke);color:var(--ink);border-radius:4px;padding:.05rem .35rem;font-size:.85em}.guide-body strong{color:var(--ink)}.guide-figure{margin:1rem 0 0}.guide-figure img{border:1px solid var(--stroke);border-radius:var(--radius);width:100%;height:auto;display:block}.guide-cta{text-align:center;margin:2.5rem 0 1rem}.chip-row{flex-wrap:wrap;gap:.4rem;margin-bottom:.85rem;display:flex}.chip{border:1px solid var(--stroke-strong);background:var(--surface);color:var(--ink-muted);border-radius:999px;padding:.3rem .6rem;font-size:.74rem;font-weight:600}.chip-src{color:var(--accent);font-family:var(--font-mono);margin-left:.25rem;font-size:.68rem}.regime-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-bottom:.75rem;display:grid}@media (width<=960px){.regime-grid{grid-template-columns:1fr}}.driver-row{grid-template-columns:150px 1fr 62px;align-items:center;gap:.6rem;display:grid}.driver-label{color:var(--ink-muted);font-size:.8rem}.driver-track{background:var(--surface-2);border:1px solid var(--stroke);border-radius:999px;height:12px;overflow:hidden}.driver-fill{border-radius:999px;height:100%}.driver-val{text-align:right;color:var(--ink);font-size:.78rem}.loading-screen{text-align:center;place-content:center;gap:.75rem;min-height:100vh;display:grid}.loading-screen .brand{font-size:2.2rem}.pulse{background:var(--accent);width:42px;height:3px;margin:0 auto;animation:1s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:.5;transform:scaleX(.4)}50%{opacity:1;transform:scaleX(1)}}
