:root{--void: #04100e;--ink: #071614;--panel: rgba(9, 26, 24, .62);--edge: rgba(151, 252, 228, .14);--edge-soft: rgba(151, 252, 228, .07);--mint: #97fce4;--mint-dim: rgba(151, 252, 228, .55);--mint-faint: rgba(151, 252, 228, .3);--amber: #f2c46b;--rose: #ff6b7a;--text: #dff6f0;--text-2: rgba(223, 246, 240, .62);--text-3: rgba(223, 246, 240, .34);--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 24px;--s6: 32px;--s7: 48px;--r-container: 8px;--r-button: 6px;--sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--mono: ui-monospace, "SF Mono", "JetBrains Mono", "Menlo", monospace}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--void);color:var(--text);font-family:var(--sans);font-size:13px;-webkit-font-smoothing:antialiased;overflow:hidden;overscroll-behavior:none}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}.num{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.shell{position:fixed;inset:0}.stage{position:absolute;inset:0;touch-action:none}.stage canvas{display:block;width:100%;height:100%}.vignette{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 78% 68% at 50% 46%,transparent 34%,rgba(2,8,7,.72) 100%)}.hud{position:absolute;inset:0;pointer-events:none;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto 1fr auto;gap:var(--s4);padding:var(--s5)}.hud>*{pointer-events:auto}.brand{grid-column:1;grid-row:1;display:flex;align-items:baseline;gap:var(--s3);align-self:start}.brand h1{font-size:15px;font-weight:600;letter-spacing:.32em;text-transform:uppercase;color:var(--text)}.pulse{width:6px;height:6px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 0 var(--mint);animation:pulse 2.4s ease-out infinite;align-self:center}@keyframes pulse{0%{box-shadow:0 0 #97fce48c}70%{box-shadow:0 0 0 9px #97fce400}to{box-shadow:0 0 #97fce400}}.panel{background:var(--panel);border:1px solid var(--edge-soft);border-radius:var(--r-container);backdrop-filter:blur(18px) saturate(1.3);-webkit-backdrop-filter:blur(18px) saturate(1.3)}.figures{grid-column:1;grid-row:2;align-self:end;display:flex;flex-wrap:wrap;gap:var(--s6);padding:var(--s4) var(--s5);max-width:560px}.figure{display:flex;flex-direction:column;gap:var(--s1);min-width:0}.figure b{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:26px;font-weight:500;line-height:1;letter-spacing:-.04em;color:var(--text);display:flex;align-items:baseline;gap:3px}.figure b i{font-style:normal;font-size:12px;color:var(--text-3)}.figure span{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--text-3)}.figure.alert b{color:var(--amber)}.figure.warn span{color:var(--amber);opacity:.85}.status{display:flex;align-items:baseline;gap:var(--s3);font-size:11px;color:var(--text-3);white-space:nowrap}.status b{font-weight:400;color:var(--text-2)}.rail{grid-column:2;grid-row:1 / span 2;width:382px;max-width:40vw;display:flex;flex-direction:column;overflow:hidden}.rail-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);padding:var(--s3) var(--s4);border-bottom:1px solid var(--edge-soft)}.tabs{display:flex;gap:var(--s1)}.tabs button{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);padding:var(--s1) 5px;border-radius:var(--r-button);transition:color .15s,background .15s}.tabs button:hover{color:var(--text-2)}.tabs button[data-on=true]{color:var(--void);background:var(--mint)}.vantage{font-family:var(--mono);font-size:10px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.tabs{flex:none}.rows{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--edge) transparent}.rows::-webkit-scrollbar{width:4px}.rows::-webkit-scrollbar-thumb{background:var(--edge);border-radius:2px}.row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:var(--s3);width:100%;padding:var(--s2) var(--s4);text-align:left;position:relative;transition:background .12s}.row:hover{background:#97fce40d}.row[data-on=true]{background:#97fce41a}.row[data-on=true]:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--mint)}.row-main{min-width:0}.row-top{display:flex;align-items:center;gap:var(--s2)}.row-top b{font-family:var(--mono);font-size:12px;font-weight:400;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-sub{font-size:11px;color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:1px}.row-val{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:12px;color:var(--mint);text-align:right;white-space:nowrap}.row-val.dead{color:var(--rose)}.row-val small{font-size:9px;color:var(--text-3);margin-left:2px}.spark{position:absolute;left:0;bottom:0;height:1px;background:var(--mint);opacity:.4}.flag{font-size:11px;line-height:1}.dot{width:5px;height:5px;border-radius:50%;flex:none}.dot.up{background:var(--mint)}.dot.down{background:var(--rose)}.dot.warn{background:var(--amber)}.rank{font-size:10px;color:var(--text-3);min-width:15px}.row.overhead{background:#f2c46b12;border-bottom:1px solid var(--edge-soft)}.row.overhead .row-val{color:var(--amber)}.tape{grid-column:1 / span 2;grid-row:3;display:flex;align-items:center;gap:var(--s4);padding:var(--s2) var(--s4);overflow:hidden}.tape-rate{display:flex;align-items:baseline;gap:var(--s1);font-size:11px;color:var(--text-2);flex:none;padding-right:var(--s3);border-right:1px solid var(--edge-soft)}.tape-rate b{font-weight:500;color:var(--text);margin-left:var(--s2)}.tape-rate em{font-style:normal;color:var(--text-3)}.beat{width:5px;height:5px;border-radius:50%;background:var(--mint);margin-right:var(--s2);align-self:center;animation:blink 1.6s ease-in-out infinite}.beat.off{background:var(--rose);animation:none}@keyframes blink{0%,to{opacity:1}50%{opacity:.25}}.tape-flow{display:flex;gap:var(--s4);overflow:hidden;min-width:0;mask-image:linear-gradient(90deg,#000 78%,transparent);-webkit-mask-image:linear-gradient(90deg,#000 78%,transparent)}.fill{display:flex;align-items:baseline;gap:var(--s1);white-space:nowrap;font-family:var(--mono);font-size:11px;flex:none;animation:arrive .35s ease-out}@keyframes arrive{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:none}}.fill b{font-weight:500}.fill em{font-style:normal;color:var(--text-3)}.fill.buy b{color:var(--mint)}.fill.sell b{color:var(--rose)}.ticker{grid-column:1 / span 2;grid-row:3;display:flex;gap:var(--s5);padding:var(--s3) var(--s4);overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}.ticker-track{display:flex;gap:var(--s5);animation:slide 90s linear infinite;will-change:transform}.ticker:hover .ticker-track{animation-play-state:paused}@keyframes slide{0%{transform:translate(0)}to{transform:translate(-50%)}}.tick{display:flex;align-items:baseline;gap:var(--s2);white-space:nowrap;font-family:var(--mono);font-size:11px}.tick b{font-weight:500;color:var(--text-2)}.tick s{text-decoration:none;color:var(--text)}.tick i{font-style:normal}.up-t{color:var(--mint)}.down-t{color:var(--rose)}.tip{position:absolute;transform:translate(-50%,calc(-100% - 14px));padding:var(--s2) var(--s3);border-radius:var(--r-button);background:#04100eeb;border:1px solid var(--edge);pointer-events:none;white-space:nowrap;z-index:5;font-family:var(--mono);font-size:11px;line-height:1.5}.tip em{font-style:normal;color:var(--text-3)}.detail{position:absolute;left:var(--s5);top:var(--s7);width:300px;padding:var(--s4);z-index:6;display:flex;flex-direction:column;gap:var(--s3)}.detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s3)}.detail-head b{font-family:var(--mono);font-size:14px;font-weight:500}.detail-head span{display:block;font-family:var(--sans);font-size:11px;color:var(--text-3);margin-top:2px}.close{color:var(--text-3);font-size:16px;line-height:1;padding:2px;border-radius:var(--r-button)}.close:hover{color:var(--text)}.kv{display:grid;grid-template-columns:auto 1fr;gap:var(--s1) var(--s4);font-size:11px}.kv dt{color:var(--text-3);letter-spacing:.1em;text-transform:uppercase;font-size:10px;align-self:center}.kv dd{font-family:var(--mono);text-align:right;color:var(--text)}.histo{display:flex;align-items:flex-end;gap:2px;height:34px}.histo i{flex:1;background:var(--mint-faint);border-radius:1px;min-height:1px}.histo i:last-child{background:var(--mint)}.boot{position:absolute;inset:0;display:grid;place-items:center;color:var(--text-3);font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;z-index:10;background:var(--void);transition:opacity .6s ease}.boot[data-gone=true]{opacity:0;pointer-events:none}.boot-fail{color:var(--rose);max-width:420px;text-align:center;line-height:1.8;letter-spacing:.08em;text-transform:none}@media(max-width:900px){.hud{padding:var(--s4);grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto 1fr auto}.rail{grid-column:1;grid-row:2;width:100%;max-width:none;max-height:34vh}.figures{grid-row:3;gap:var(--s5);padding:var(--s3) var(--s4)}.figure b{font-size:20px}.ticker{grid-column:1;grid-row:4}.detail{left:var(--s4);right:var(--s4);width:auto}}.bps{font-size:10px;color:var(--text-3);margin-left:auto;padding-left:var(--s2)}.rows.empty{padding:var(--s4);font-size:11px;color:var(--text-3);font-family:var(--mono)}.scale{display:flex;gap:1px;height:3px;margin-top:5px;border-radius:2px;overflow:hidden}.scale i.buy{background:var(--mint);opacity:.75}.scale i.sell{background:var(--rose);opacity:.6}.trend{display:flex;align-items:center;gap:var(--s1);color:var(--mint-faint);margin-top:2px}.trend em{font-style:normal;font-family:var(--mono);font-size:9px;color:var(--text-3)}.toasts{position:absolute;top:var(--s5);left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:var(--s2);z-index:8;pointer-events:none;align-items:center}.toast{display:flex;align-items:center;gap:var(--s2);padding:var(--s2) var(--s3);border-radius:var(--r-button);background:#04100eeb;border:1px solid var(--edge);font-family:var(--mono);font-size:11px;color:var(--text);white-space:nowrap;animation:drop .3s ease-out}@keyframes drop{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.toast i{width:5px;height:5px;border-radius:50%;flex:none}.toast.down i{background:var(--rose)}.toast.up i{background:var(--mint)}.toast.warn i{background:var(--amber)}
