:root{--bg:#090C12;--panel:#0E131B;--panel-2:#0B0F16;--rail:#0C1119;--line:#19212E;--line-2:#27313F;--txt:#CBD5E1;--txt-dim:#6B7889;--txt-faint:#3D4858;--bid:#2BD07A;--bid-bar:rgba(43,208,122,.14);--bid-dim:#15623B;--ask:#FF5C5C;--ask-bar:rgba(255,92,92,.13);--ask-dim:#7A2A2A;--accent:#F4B740;--good:#2BD07A;--bad:#FF5C5C;--mono:ui-monospace,"SF Mono","JetBrains Mono",Menlo,Consolas,"Liberation Mono",monospace;--sans:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}*{box-sizing:border-box}html,body,#root{margin:0;height:100%}body{background:var(--bg);color:var(--txt);font-family:var(--mono);font-size:13px;line-height:1.3;-webkit-font-smoothing:antialiased}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.app{display:flex;flex-direction:column;height:100vh;min-height:560px}header.bar{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:10px 16px;background:var(--panel);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:baseline;gap:9px}.brand .logo{font-size:15px;font-weight:500;letter-spacing:.16em;color:var(--txt)}.brand .logo b{color:var(--accent);font-weight:500}.brand .sub{font-family:var(--sans);font-size:11px;color:var(--txt-faint);letter-spacing:.02em}.tk{display:flex;align-items:baseline;gap:8px;padding-left:4px}.tk .sym{font-size:13px;color:var(--txt-dim);letter-spacing:.08em}.tk .last{font-size:18px;font-weight:500}.tk .chg{font-size:12px}.up{color:var(--bid)}.down{color:var(--ask)}.stat{display:flex;flex-direction:column;line-height:1.25}.stat .k{font-size:10px;color:var(--txt-faint);letter-spacing:.09em;text-transform:lowercase}.stat .v{font-size:13px;color:var(--txt)}.spacer{flex:1}.conn{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--txt-dim)}.dot{width:7px;height:7px;border-radius:50%;background:var(--good);box-shadow:0 0 #2bd07a80;animation:pulse 2.4s infinite}.dot.dim{background:var(--txt-faint);animation:none;box-shadow:none}.dot.bad{background:var(--ask);animation:none;box-shadow:none}.dot.warn{background:var(--accent);animation:blink 1s infinite}@keyframes pulse{0%{box-shadow:0 0 #2bd07a73}70%{box-shadow:0 0 0 6px #2bd07a00}to{box-shadow:0 0 #2bd07a00}}@keyframes blink{0%,to{opacity:1}50%{opacity:.35}}.chartband{height:200px;display:flex;flex-direction:column;background:var(--bg);border-bottom:1px solid var(--line)}.chartband .ch-h{display:flex;align-items:center;gap:14px;padding:7px 16px 3px}.chartband .ch-h .t{font-size:11px;letter-spacing:.13em;color:var(--txt-dim);text-transform:uppercase}.chartband .ch-h .lg{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--txt-faint)}.chartband .ch-h .sw{width:14px;border-top:2px solid var(--txt-dim)}.chartband .ch-h .sw.md{border-top:2px solid #9FB0C4}.chartband .ch-h .sw.vw{border-top:0;border-bottom:2px dashed var(--accent);height:2px}.chartband .ch-h .sw.sp{border-top:2px solid #6FA8C9}.chartband .cv.sp{flex:0 0 48px;border-top:1px solid var(--line)}.chartband .sp-lbl{position:absolute;left:16px;top:5px;z-index:2;font-size:10px;letter-spacing:.08em;color:var(--txt-faint);text-transform:uppercase;pointer-events:none}.chartband .cv{flex:1;position:relative;min-height:0}.chartband canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}main{flex:1;display:grid;grid-template-columns:1.35fr 1fr;gap:1px;background:var(--line);min-height:0}section.pane{background:var(--bg);min-height:0;display:flex;flex-direction:column}.pane-h{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;border-bottom:1px solid var(--line);background:var(--rail)}.pane-h .t{font-size:11px;letter-spacing:.13em;color:var(--txt-dim);text-transform:uppercase}.pane-h .meta{font-size:11px;color:var(--txt-faint)}.ladder{flex:1;display:flex;flex-direction:column;min-height:0;padding:2px 0}.col-h{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;padding:3px 16px 5px;font-size:10px;letter-spacing:.1em;color:var(--txt-faint);text-transform:uppercase}.col-h .r{text-align:right}.side{flex:1;min-height:0;display:flex;flex-direction:column;overflow-y:auto}.side.asks>.row:first-child{margin-top:auto}.side.bids{justify-content:flex-start}.row{position:relative;display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;flex:0 0 auto;align-items:center;padding:0 16px;height:22px;font-size:13px}.row .bar{position:absolute;top:1px;bottom:1px;right:0;width:0;transition:width .14s linear;border-radius:2px 0 0 2px}.row.ask .bar{background:var(--ask-bar)}.row.bid .bar{background:var(--bid-bar)}.row .px{position:relative;z-index:1;text-align:left}.row .qty{position:relative;z-index:1;text-align:right;color:var(--txt)}.row .cum{position:relative;z-index:1;text-align:right;color:var(--txt-faint);font-size:11px}.row.ask .px{color:var(--ask-dim)}.row.bid .px{color:var(--bid-dim)}.row.ask.best .px{color:var(--ask)}.row.bid.best .px{color:var(--bid)}.row.best{background:#ffffff06}.row.best .qty{color:#fff}.row.empty .px,.row.empty .qty,.row.empty .cum{color:transparent}.row.empty .bar{width:0!important}.spread{display:flex;align-items:center;justify-content:center;gap:14px;height:30px;margin:3px 12px;border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2);background:var(--panel-2)}.spread .lbl{font-size:10px;letter-spacing:.12em;color:var(--txt-faint);text-transform:uppercase}.spread .val{font-size:13px;color:var(--txt)}.spread .mid{font-size:13px;color:var(--accent)}.tape{flex:1;overflow:hidden;display:flex;flex-direction:column}.tape .th{display:grid;grid-template-columns:auto 1fr 1fr auto;gap:8px;padding:4px 14px;font-size:10px;letter-spacing:.1em;color:var(--txt-faint);text-transform:uppercase;border-bottom:1px solid var(--line)}.tape .th .r{text-align:right}.tape ul{list-style:none;margin:0;padding:0;overflow:hidden;flex:1}.tape li{display:grid;grid-template-columns:auto 1fr 1fr auto;gap:8px;padding:2.5px 14px;font-size:13px;border-bottom:1px solid rgba(25,33,46,.5)}.tape li .tm{color:var(--txt-faint);font-size:11px}.tape li .px{text-align:right}.tape li .qy{text-align:right;color:var(--txt-dim)}.tape li .sd{text-align:right;width:18px}.tape li.buy .px,.tape li.buy .sd{color:var(--bid)}.tape li.sell .px,.tape li.sell .sd{color:var(--ask)}.tape li.fresh{animation:tapein .55s ease-out}@keyframes tapein{0%{background:#f4b74024}to{background:transparent}}.rail{display:flex;flex-direction:column;gap:1px;background:var(--line)}.card{background:var(--bg);padding:12px 14px}.card .ch{font-size:11px;letter-spacing:.13em;color:var(--txt-dim);text-transform:uppercase;margin:0 0 10px}.seg{display:flex;gap:0;border:1px solid var(--line-2);border-radius:6px;overflow:hidden;margin-bottom:9px}.seg button{flex:1;background:transparent;border:0;border-right:1px solid var(--line-2);color:var(--txt-dim);font-family:var(--mono);font-size:12px;padding:7px 0;cursor:pointer}.seg button:last-child{border-right:0}.seg button[aria-pressed=true]{color:var(--txt);background:var(--panel)}.seg.bs button.b[aria-pressed=true]{color:#06140c;background:var(--bid)}.seg.bs button.s[aria-pressed=true]{color:#170707;background:var(--ask)}.fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.field{display:flex;flex-direction:column;gap:4px}.field.full{grid-column:1/-1}.field label{font-size:10px;letter-spacing:.08em;color:var(--txt-faint);text-transform:uppercase}.field input{background:var(--panel-2);border:1px solid var(--line-2);border-radius:5px;color:var(--txt);font-family:var(--mono);font-size:13px;padding:7px 9px;width:100%}.field input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px #f4b74029}.submit{margin-top:10px;width:100%;border:0;border-radius:6px;padding:9px 0;cursor:pointer;font-family:var(--mono);font-size:13px;font-weight:500;letter-spacing:.02em;color:#06140c;background:var(--bid)}.submit.sell{color:#170707;background:var(--ask)}.submit:active{transform:scale(.99)}.toast{margin-top:9px;min-height:16px;font-size:12px;color:var(--txt-faint);transition:color .2s}.toast.ok{color:var(--good)}.toast.bad{color:var(--bad)}.hint{font-size:11px;color:var(--txt-faint);margin:7px 0 0}.feeder-row{display:flex;align-items:center;gap:10px}.toggle{display:flex;align-items:center;gap:7px;background:transparent;border:1px solid var(--line-2);border-radius:6px;color:var(--txt);font-family:var(--mono);font-size:12px;padding:7px 11px;cursor:pointer}.toggle .ic{width:12px;height:12px;display:inline-block;display:flex;align-items:center}.toggle.paused{color:var(--accent);border-color:#f4b74066}.rate{flex:1;display:flex;align-items:center;gap:9px}.rate input[type=range]{flex:1;accent-color:var(--accent);height:4px}.rate .out{font-size:12px;color:var(--txt-dim);min-width:74px;text-align:right}.small{font-size:11px;color:var(--txt-faint);margin-top:9px;line-height:1.5}.ch-row{display:flex;align-items:baseline;justify-content:space-between;margin:0 0 9px}.ch-row .ch{margin:0}.ch-row .sum{font-size:11px;color:var(--txt-dim)}.orders{display:flex;flex-direction:column;gap:4px}.ord-empty{font-size:11px;color:var(--txt-faint);padding:3px 0 1px;line-height:1.5}.ord-row{position:relative;display:flex;align-items:center;gap:8px;padding:5px 8px;background:var(--panel-2);border:1px solid var(--line);border-radius:5px;font-size:12px;overflow:hidden}.ord-side{font-size:10px;font-weight:500;padding:2px 6px;border-radius:3px}.ord-side.b{color:#06140c;background:var(--bid)}.ord-side.s{color:#170707;background:var(--ask)}.ord-q{color:var(--txt)}.ord-fl,.ord-at{color:var(--txt-faint)}.ord-px{color:var(--txt-dim)}.ord-id{flex:1;text-align:right;color:var(--txt-faint);font-size:11px}.ord-st{font-size:10px;color:var(--txt-faint)}.ord-st.ok{color:var(--good)}.ord-st.bad{color:var(--bad)}.ord-x{width:20px;height:20px;line-height:18px;padding:0;border:1px solid var(--line-2);border-radius:4px;background:transparent;color:var(--txt-dim);font-size:13px;cursor:pointer}.ord-x:hover{color:var(--ask);border-color:var(--ask-dim)}.tk .tksel{background:var(--panel-2);border:1px solid var(--line-2);border-radius:5px;color:var(--txt);font-family:var(--mono);font-size:14px;font-weight:500;letter-spacing:.05em;padding:3px 8px;cursor:pointer}.tk .tksel:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px #f4b74029}.seg.views{margin:0;flex:0 0 auto;border-radius:6px}.seg.views button{flex:0 0 auto;padding:6px 13px;font-size:11px;letter-spacing:.04em}.seg.views button[aria-pressed=true]{color:var(--accent);background:var(--panel)}.summary{flex:1;min-height:0;display:flex;flex-direction:column;background:var(--bg);overflow:hidden}.sum-h{display:grid;grid-template-columns:90px 1fr 2.2fr 1fr 110px;gap:16px;padding:11px 22px;font-size:10px;letter-spacing:.11em;color:var(--txt-faint);text-transform:uppercase;border-bottom:1px solid var(--line);background:var(--rail)}.sum-h .r{text-align:right}.sum-h .c{text-align:center}.sum-rows{flex:1;overflow-y:auto;padding:4px 0}.sum-empty{color:var(--txt-faint);padding:18px 22px;font-size:12px}.sumrow{width:100%;display:grid;grid-template-columns:90px 1fr 2.2fr 1fr 110px;gap:16px;align-items:center;padding:9px 22px;background:transparent;border:0;border-bottom:1px solid rgba(25,33,46,.5);color:var(--txt);font-family:var(--mono);font-size:14px;cursor:pointer;text-align:left}.sumrow:hover{background:#ffffff08}.sumrow.sel{background:#f4b74012}.sumrow .s-tk{color:var(--txt-dim);letter-spacing:.06em}.sumrow.sel .s-tk{color:var(--accent)}.sumrow .s-buy{text-align:right;color:var(--bid)}.sumrow .s-sell{color:var(--ask)}.sumrow .s-last{text-align:right;color:var(--txt)}.s-imb{display:flex;height:10px;border-radius:3px;overflow:hidden;background:var(--panel-2)}.s-imb .ib{height:100%;transition:width .3s ease}.s-imb .ib.buy{background:#2bd07a8c}.s-imb .ib.sell{background:#ff5c5c80}@media (max-width:820px){main{grid-template-columns:1fr;grid-auto-rows:minmax(0,auto)}.ladder{min-height:340px}.tape{min-height:200px}.chartband{height:158px}.sum-h,.sumrow{grid-template-columns:64px 1fr 1.4fr 1fr 84px;gap:10px;padding-left:14px;padding-right:14px}}@media (prefers-reduced-motion:reduce){.dot{animation:none}.row .bar{transition:none}.tape li.fresh{animation:none}.s-imb .ib{transition:none}}
