:root{--bg:#070b10;--panel:#0d141c;--panel-inset:#0a1017;--edge:#1b2836;--ink:#dde8f2;--ink-2:#8296aa;--ink-3:#4d5f70;--buy:#0ea5a5;--buy-ink:#35c9bf;--sell-ink:#ff7386;--buy-soft:#0ea5a521;--sell-soft:#f6465d1f;--amber:#f0a92e;--sans:"Archivo", "Segoe UI", sans-serif;--mono:"IBM Plex Mono", Consolas, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{min-height:100dvh;color:var(--ink);font:14px/1.45 var(--sans);background:radial-gradient(1100px 480px at 72% -12%, #0ea5a512, transparent 62%), radial-gradient(900px 420px at 4% 112%, #f6465d0d, transparent 60%), var(--bg);margin:0}body:before{content:"";pointer-events:none;background:linear-gradient(#8296aa07 1px,#0000 1px) 0 0/100% 44px,linear-gradient(90deg,#8296aa07 1px,#0000 1px) 0 0/44px 100%;position:fixed;inset:0}#root{height:100dvh}.terminal{flex-direction:column;gap:12px;max-width:1640px;height:100dvh;margin:0 auto;padding:14px 16px 16px;display:flex;position:relative}.masthead{align-items:center;gap:32px;padding:4px 6px 0;animation:.45s both rise;display:flex}.brand{align-items:center;gap:12px;display:flex}.brand-mark{background:linear-gradient(180deg, var(--amber), #c47f0e);border-radius:2px;width:11px;height:26px;box-shadow:0 0 14px #f0a92e73}.brand h1{font:700 21px/1.1 var(--sans);letter-spacing:.01em;margin:0}.brand-sub{font:600 10px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin:2px 0 0}.stats{align-items:flex-end;gap:30px;margin:0 0 0 auto;display:flex}.stat dt{font:600 10px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-bottom:5px}.stat dd{font:500 13px/1.2 var(--mono);color:var(--ink-2);margin:0}.stat-last dd{color:var(--ink);font-size:26px;font-weight:600;transition:color .15s}.stat-last dd.up{color:var(--buy-ink)}.stat-last dd.down{color:var(--sell-ink)}.stat dd.up{color:var(--buy-ink)}.stat dd.down{color:var(--sell-ink)}.tick-arrow{vertical-align:3px;margin-left:7px;font-size:12px}.conn{border:1px solid var(--edge);font:600 10px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);border-radius:999px;align-items:center;gap:8px;padding:7px 13px;display:flex}.conn-dot{background:var(--ink-3);border-radius:50%;width:7px;height:7px}.conn.live .conn-dot{background:var(--buy);animation:1.8s ease-out infinite pulse}.conn.connecting .conn-dot,.conn.reconnecting .conn-dot{background:var(--amber);animation:.9s steps(2,start) infinite blink}.conn.reconnecting{color:var(--amber);border-color:#f0a92e66}.workspace{flex:1;grid-template-columns:minmax(0,1fr) 372px;gap:12px;min-height:0;display:grid}.panel{background:var(--panel);border:1px solid var(--edge);border-radius:6px;flex-direction:column;min-height:0;animation:.45s both rise;display:flex;overflow:hidden;box-shadow:inset 0 1px #ffffff06}.workspace .panel:nth-child(2){animation-delay:80ms}.panel-head{border-bottom:1px solid var(--edge);justify-content:space-between;align-items:baseline;gap:16px;padding:11px 14px;display:flex}.panel-head h2{font:600 11px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);margin:0}.panel-sub{font:500 10px/1 var(--mono);letter-spacing:.06em;color:var(--ink-3)}.ohlc{gap:16px;margin:0;display:flex}.ohlc div{align-items:baseline;gap:5px;display:flex}.ohlc dt{font:600 10px/1 var(--sans);color:var(--ink-3);letter-spacing:.08em}.ohlc dd{font:500 11px/1 var(--mono);color:var(--ink-2);margin:0}.ohlc dd.up{color:var(--buy-ink)}.ohlc dd.down{color:var(--sell-ink)}.chart-host{flex:1;min-height:0}.chart-error{font:400 11px/1.4 var(--mono);color:var(--sell-ink);border-bottom:1px solid var(--edge);margin:0;padding:8px 14px}.book-panel{font-family:var(--mono)}.book-cols{font:600 9.5px/1 var(--sans);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);grid-template-columns:1.15fr 1fr 1fr;gap:8px;padding:9px 14px 7px;display:grid}.book-cols span{text-align:right}.book-side{flex-direction:column;flex:1;justify-content:flex-end;min-height:0;margin:0;padding:3px 6px;list-style:none;display:flex;overflow:hidden}.book-side.asks{-webkit-mask-image:linear-gradient(#0000,#000 18px);mask-image:linear-gradient(#0000,#000 18px)}.book-side.bids{justify-content:flex-start;-webkit-mask-image:linear-gradient(0deg,#0000,#000 18px);mask-image:linear-gradient(0deg,#0000,#000 18px)}.book-row{border-radius:2px;grid-template-columns:1.15fr 1fr 1fr;gap:8px;padding:3px 8px;font-size:11.5px;line-height:1.35;display:grid;position:relative}.depth-bar{inset-block:1px;pointer-events:none;border-radius:2px 0 0 2px;position:absolute;right:0}.depth-bar.sell{background:var(--sell-soft);border-left:1px solid #f6465d59}.depth-bar.buy{background:var(--buy-soft);border-left:1px solid #0ea5a566}.cell{text-align:right;color:var(--ink-2);font-variant-numeric:tabular-nums;position:relative}.cell.dim{color:var(--ink-3)}.cell.price.up{color:var(--buy-ink);font-weight:500}.cell.price.down{color:var(--sell-ink);font-weight:500}.book-spread{border-block:1px solid var(--edge);background:var(--panel-inset);justify-content:center;align-items:baseline;gap:12px;padding:8px 14px;display:flex}.book-spread .label{font:600 9.5px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}.book-spread .value{font:600 13px/1 var(--mono);color:var(--ink)}.book-spread .bps{font:500 11px/1 var(--mono);color:var(--ink-3)}.book-waiting{font:400 11.5px/1.4 var(--mono);color:var(--ink-3);text-align:center;margin:0;padding:26px 14px;animation:1.6s ease-in-out infinite blink}@keyframes pulse{0%{box-shadow:0 0 #0ea5a58c}70%{box-shadow:0 0 0 7px #0ea5a500}to{box-shadow:0 0 #0ea5a500}}@keyframes blink{50%{opacity:.35}}@keyframes rise{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=1080px){.terminal{height:auto;min-height:100dvh}.masthead{flex-wrap:wrap;gap:16px}.stats{flex-wrap:wrap;order:3;gap:18px;width:100%;margin:0}.conn{margin-left:auto}.workspace{grid-template-columns:minmax(0,1fr)}.chart-panel{min-height:420px}}
