:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--color-buy:#f87171;--color-sell:#4ade80;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}#root{text-align:center;box-sizing:border-box;flex-direction:column;width:100%;min-height:100svh;display:flex}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.dashboard{text-align:left;box-sizing:border-box;width:100%;padding:16px 24px}.top-nav{border-bottom:1px solid #80808033;gap:16px;padding:12px 24px;display:flex}.top-nav a{opacity:.6;padding:4px 2px;font-size:.95rem;text-decoration:none}.top-nav a.active{opacity:1;border-bottom:2px solid #4ade80;font-weight:700}.time-range-control{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;display:flex}.time-range-presets,.time-range-custom{align-items:center;gap:8px;display:flex}.time-range-control button{cursor:pointer;padding:4px 10px}.time-range-control input[type=datetime-local]{padding:3px 6px}.scrub-indicator{font-variant-numeric:tabular-nums;background:#80808014;border-radius:6px;align-items:center;gap:12px;margin-bottom:16px;padding:6px 10px;font-size:.9rem;display:flex}.scrub-indicator button{cursor:pointer;padding:2px 8px}header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}header h1{font-size:1.4rem}.product-selector select{margin-left:8px;padding:4px 8px}.panel-grid,.spread-chart-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.live-layout{grid-template-columns:minmax(260px,300px) 1fr minmax(260px,300px);align-items:start;gap:20px;display:grid}.live-layout-center{flex-direction:column;gap:20px;display:flex}.threshold-control{align-items:center;gap:8px;margin-top:8px;font-size:.85rem;display:flex}.threshold-control input{width:80px;padding:4px 8px}.product-column{flex-direction:column;gap:12px;display:flex}.chart-panel,.depth-ladder,.spread-depth-ladder,.tick-ticker,.spread-chart,.arbitrage-feed{background:#80808014;border-radius:8px;padding:12px}.chart-panel h3,.depth-ladder h3,.spread-depth-ladder h3,.tick-ticker h3,.spread-chart h3,.arbitrage-feed h3{opacity:.85;margin:0 0 8px;font-size:.95rem}.tick-price{align-items:baseline;gap:12px;display:flex}.tick-price .price{font-size:1.6rem;font-weight:700}.tick-price .volume{opacity:.7;font-size:.85rem}.muted{opacity:.5;font-size:.85rem}.order-book{font-variant-numeric:tabular-nums;flex-direction:column;font-size:.85rem;display:flex}.order-book-row{border-radius:3px;grid-template-columns:1fr 1fr;padding:2px 8px;display:grid;position:relative;overflow:hidden}.order-book-row .depth-bar{width:var(--depth,0%);z-index:0;position:absolute;inset:0}.order-book-row.ask .depth-bar{background:#4ade802e;left:auto;right:0}.order-book-row.bid .depth-bar{background:#f871712e}.order-book-row .ob-price,.order-book-row .ob-volume{z-index:1;position:relative}.order-book-row .ob-volume{text-align:right}.order-book-row.ask .ob-price{color:var(--color-sell)}.order-book-row.bid .ob-price{color:var(--color-buy)}.order-book-spread{opacity:.75;border-top:1px dashed #8080804d;border-bottom:1px dashed #8080804d;justify-content:space-between;margin:4px 0;padding:4px 8px;font-size:.8rem;display:flex}.spread-ladder-header{opacity:.6;grid-template-columns:1fr auto 1fr;gap:8px;padding:0 8px 4px;font-size:.75rem;display:grid}.spread-ladder-header span:first-child{text-align:right}.spread-ladder-body{font-variant-numeric:tabular-nums;flex-direction:column;font-size:.85rem;display:flex}.spread-ladder-row{grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;padding:2px 0;display:grid}.sl-price{text-align:center;color:#e6e6e6;min-width:4.5em}.sl-cell{display:flex}.sl-cell.sl-sell{justify-content:flex-end}.sl-cell.sl-buy{justify-content:flex-start}.sl-bar-track{align-items:center;width:72px;height:20px;display:inline-flex;position:relative}.sl-sell-track{justify-content:flex-end}.sl-buy-track{justify-content:flex-start}.sl-bar{border-radius:3px;position:absolute;top:0;bottom:0}.sl-sell-track .sl-bar{background:#4ade8040;right:0}.sl-buy-track .sl-bar{background:#f8717140;left:0}.sl-bar-value{z-index:1;padding:0 6px;font-weight:600;position:relative}.sl-sell-track .sl-bar-value{color:var(--color-sell)}.sl-buy-track .sl-bar-value{color:var(--color-buy)}.recent-trades{font-variant-numeric:tabular-nums;font-size:.85rem}.recent-trades-header{opacity:.6;grid-template-columns:1fr 1fr 1fr;padding:2px 8px;font-size:.75rem;display:grid}.recent-trades-header span:nth-child(2){text-align:center}.recent-trades-header span:last-child{text-align:right}.recent-trades-body{max-height:200px;overflow-y:auto}.recent-trades-row{border-radius:3px;grid-template-columns:1fr 1fr 1fr;padding:2px 8px;display:grid}.recent-trades-row .rt-price{text-align:center;font-weight:600}.recent-trades-row .rt-volume{text-align:right;opacity:.8}.recent-trades-row.buy .rt-price{color:var(--color-buy)}.recent-trades-row.sell .rt-price{color:var(--color-sell)}.recent-trades-row:first-child{animation:.6s ease-out trade-flash}@keyframes trade-flash{0%{background:#ffffff26}to{background:0 0}}.arbitrage-feed .recent-trades-header,.arbitrage-feed .recent-trades-row{grid-template-columns:1.1fr 1.2fr .7fr .7fr 1fr 1fr .8fr .7fr}.arbitrage-feed .rt-time{font-size:.8rem}.arbitrage-feed .rt-leg,.arbitrage-feed .rt-duration,.arbitrage-feed .rt-next-tick{text-align:center;opacity:.85;font-variant-numeric:tabular-nums}.arbitrage-feed .rt-status{text-align:right;opacity:.8}.recent-trades-row.active{animation:1.4s ease-in-out infinite arb-pulse;box-shadow:inset 0 0 0 1px #4ade8066}@keyframes arb-pulse{0%,to{background:0 0}50%{background:#ffffff14}}.spread-chart.opportunity{outline:2px solid var(--accent)}.spread-chart .badge{background:var(--accent);color:#fff;vertical-align:middle;border-radius:4px;padding:1px 6px;font-size:.75rem}.spread-readout{font-variant-numeric:tabular-nums;gap:20px;margin-top:8px;display:flex}
