:root{--ink:#071018;--panel:#0e1c28b8;--panel-solid:#0e1c28;--line:#96c4d229;--mist:#e7f2f4;--muted:#8aa4b0;--accent:#1ec8a5;--accent-dim:#1ec8a524;--amber:#e8a54b;--danger:#ef6b6b;--font-display:"Syne", sans-serif;--font-body:"Sora", sans-serif;--font-mono:"IBM Plex Mono", monospace;--radius:14px;--shadow:0 24px 60px #00000059;color:var(--mist);background:var(--ink);font-family:var(--font-body);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:radial-gradient(1200px 600px at 12% -10%,#1ec8a52e,#0000 55%),radial-gradient(900px 500px at 90% 0,#e8a54b1f,#0000 50%),linear-gradient(165deg,#08141d 0%,#0a1822 45%,#071018 100%);min-height:100vh}body:before{content:"";pointer-events:none;z-index:0;background-image:linear-gradient(#8cbecd0b 1px,#0000 1px),linear-gradient(90deg,#8cbecd0b 1px,#0000 1px);background-size:48px 48px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(#000 35%,#0000 80%);mask-image:radial-gradient(#000 35%,#0000 80%)}button,input{font:inherit}a{color:inherit;text-decoration:none}.app-shell{z-index:1;grid-template-columns:260px 1fr;min-height:100vh;display:grid;position:relative}.sidebar{border-right:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(#08141deb,#08141dbf);flex-direction:column;gap:2rem;height:100vh;padding:1.5rem 1.25rem;animation:.7s both rise;display:flex;position:sticky;top:0}.brand{gap:.35rem;display:grid}.brand-mark{align-items:center;gap:.65rem;display:inline-flex}.brand-mark svg{width:34px;height:34px}.brand-name{font-family:var(--font-display);letter-spacing:-.04em;font-size:1.75rem;font-weight:800;line-height:1}.brand-tag{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:.78rem}.nav{gap:.35rem;display:grid}.nav-btn{appearance:none;color:var(--mist);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;padding:.75rem .85rem;transition:background .2s,border-color .2s,transform .2s}.nav-btn:hover{background:#ffffff0a;transform:translate(2px)}.nav-btn.active{background:var(--accent-dim);color:#d8fff4;border-color:#1ec8a559}.nav-btn small{color:var(--muted);margin-top:.2rem;font-size:.72rem;display:block}.sidebar-foot{color:var(--muted);gap:.5rem;margin-top:auto;font-size:.8rem;display:grid}.status-pill{border:1px solid var(--line);width:fit-content;font-family:var(--font-mono);background:#ffffff08;border-radius:999px;align-items:center;gap:.45rem;padding:.35rem .65rem;font-size:.72rem;display:inline-flex}.status-dot{background:var(--muted);border-radius:50%;width:8px;height:8px}.status-pill.ok .status-dot{background:var(--accent);animation:2s infinite pulse;box-shadow:0 0 #1ec8a599}.status-pill.error .status-dot{background:var(--danger)}.main{padding:1.75rem 2rem 2.5rem;animation:.55s both fade}.hero{gap:.75rem;max-width:720px;margin-bottom:1.75rem;display:grid}.hero h1{font-family:var(--font-display);letter-spacing:-.04em;margin:0;font-size:clamp(2rem,3.5vw,3rem);line-height:1.05}.hero p{color:var(--muted);max-width:52ch;margin:0;font-size:1rem;line-height:1.55}.panel-grid{grid-template-columns:repeat(12,1fr);gap:1rem;display:grid}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);grid-column:span 6;padding:1.15rem 1.2rem;animation:.65s both rise}.panel.span-4{grid-column:span 4}.panel.span-8{grid-column:span 8}.panel.span-12{grid-column:span 12}.panel h2{font-family:var(--font-display);letter-spacing:-.02em;margin:0 0 .85rem;font-size:1.05rem}.metric-row{grid-template-columns:repeat(2,1fr);gap:.85rem;display:grid}.metric{gap:.25rem;display:grid}.metric .label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.75rem}.metric .value{font-family:var(--font-mono);font-size:1.15rem;font-weight:500}.metric .value.up{color:var(--accent)}.metric .value.down{color:var(--danger)}.metric .value.warn{color:var(--amber)}.rank-list,.signal-list,.table{gap:.45rem;display:grid}.rank-row,.signal-row,.table-row{border:1px solid #0000;border-radius:10px;align-items:center;gap:.75rem;padding:.7rem .75rem;transition:background .2s,border-color .2s,transform .2s;display:grid}.rank-row{grid-template-columns:1.2fr .7fr .7fr .8fr}.signal-row{grid-template-columns:1fr .7fr .8fr .8fr .8fr .7fr .7fr}.table-row{grid-template-columns:1fr 1fr .8fr .8fr}.rank-row:hover,.signal-row:hover,.table-row:hover{border-color:var(--line);background:#ffffff09;transform:translate(3px)}.sym{letter-spacing:.02em;font-weight:600}.mono{font-family:var(--font-mono);font-size:.9rem}.up{color:var(--accent)}.down{color:var(--danger)}.warn{color:var(--amber)}.tag{border:1px solid var(--line);color:var(--muted);text-transform:uppercase;letter-spacing:.05em;background:#ffffff0d;border-radius:999px;justify-self:start;padding:.2rem .5rem;font-size:.7rem}.side-long{color:var(--accent)}.side-short{color:var(--danger)}.bars{gap:.65rem;display:grid}.bar-row{grid-template-columns:110px 1fr 64px;align-items:center;gap:.75rem;display:grid}.bar-track{background:#ffffff0f;border-radius:999px;height:8px;overflow:hidden}.bar-fill{border-radius:inherit;background:linear-gradient(90deg, #148f78, var(--accent));width:0;height:100%;animation:1s forwards fill}.muted{color:var(--muted)}.section-note{color:var(--muted);max-width:60ch;margin:0 0 1rem;line-height:1.5}.empty{border:1px dashed var(--line);color:var(--muted);border-radius:10px;padding:1rem}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes pulse{0%{box-shadow:0 0 #1ec8a58c}70%{box-shadow:0 0 0 8px #1ec8a500}to{box-shadow:0 0 #1ec8a500}}@keyframes fill{to{width:var(--w)}}@media (width<=1100px){.panel,.panel.span-4,.panel.span-8{grid-column:span 12}.signal-row{grid-template-columns:1fr 1fr;gap:.4rem}}@media (width<=860px){.app-shell{grid-template-columns:1fr}.sidebar{border-right:none;border-bottom:1px solid var(--line);height:auto;position:relative}.nav{grid-template-columns:repeat(2,1fr)}.main{padding:1.25rem}.rank-row,.table-row{grid-template-columns:1fr 1fr}}
