body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#0f1115;color:#e0e0e0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;min-height:100vh}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.price-chart-container{background-color:#1a1a1a;display:flex;flex-direction:column;height:calc(100vh - 40px);width:100%}.chart-header{background-color:#1f1f1f;border-bottom:1px solid #333;flex-shrink:0;padding:20px 20px 16px}.chart-title{color:#e0e0e0;font-size:18px;font-weight:600;margin:0 0 6px}.chart-subtitle,.chart-title{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.chart-subtitle{color:#888;font-size:13px;margin:0}.chart-mode-indicator{color:#fbbf24;font-weight:600;margin-left:8px}.chart-canvas{flex:1 1;min-height:400px;overflow:hidden;position:relative;width:100%}.chart-empty{align-items:center;color:#888;display:flex;flex-direction:column;height:100%;justify-content:center;min-height:400px;padding:40px;text-align:center}.chart-empty p{color:#b0b0b0;font-size:16px;margin:8px 0}.chart-empty-hint{color:#666;font-size:13px;font-style:italic}@media (max-width:1024px){.chart-canvas,.chart-empty{min-height:250px}.chart-header{padding:16px}.chart-title{font-size:16px}.chart-subtitle{font-size:12px}}@media (max-width:768px){.chart-canvas,.chart-empty{min-height:200px}.chart-empty{padding:20px}.chart-header{padding:12px}.chart-title{font-size:15px}.chart-subtitle{font-size:11px}.chart-empty p{font-size:14px}.chart-empty-hint{font-size:12px}}.demo-layout{display:grid;grid-template-columns:1fr minmax(450px,auto);height:100vh;overflow:hidden}.chart-container{background-color:#1a1a1a;border-right:1px solid #333;display:flex;flex-direction:column;overflow:hidden;padding:20px}.chart-placeholder{align-items:center;color:#888;display:flex;flex-direction:column;height:100%;justify-content:center;text-align:center}.chart-placeholder h2{color:#ccc;font-size:24px;font-weight:600;margin-bottom:12px}.chart-placeholder p{color:#666;font-size:14px}.orderbook-container{height:100vh;min-width:450px;overflow-x:auto;overflow-y:auto}.orderbook-visualizer{box-sizing:border-box;color:#e0e0e0;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;height:100%;max-width:100%;overflow-x:hidden;padding:20px;width:100%}.orderbook-controls{align-items:center;display:flex;flex-wrap:wrap;gap:20px;margin-bottom:20px}.orderbook-controls .time-travel-controls{margin-left:auto}.depth-selector,.pair-selector{align-items:center;display:flex;gap:8px}.depth-selector label,.pair-selector label{font-size:14px;font-weight:500}.depth-selector select,.pair-selector select{background-color:#2a2a2a;border:1px solid #444;border-radius:4px;color:#e0e0e0;cursor:pointer;font-size:14px;padding:6px 12px}.depth-selector select:hover,.pair-selector select:hover{border-color:#666}.time-travel-controls{background-color:#2a2a2a;border-radius:6px;margin-bottom:20px;padding:12px}.time-travel-header{align-items:center;display:flex;gap:12px;justify-content:space-between;margin:6px 0}.mode-indicator{font-size:14px}.mode-indicator .mode-live{color:#50be78;font-weight:700;margin-left:8px}.mode-indicator .mode-time-travel{color:#fbbf24;font-weight:700;margin-left:8px}.mode-indicator .mode-disconnected{color:#ef4444;font-weight:700;margin-left:8px}.back-to-live-btn{background-color:#50be78;border:none;border-radius:4px;color:#1a1a1a;cursor:pointer;font-size:13px;font-weight:600;padding:6px 16px;transition:background-color .2s}.back-to-live-btn:hover{background-color:#40ae68}.enter-time-travel-btn{background-color:#fbbf24;border:none;border-radius:4px;color:#1a1a1a;cursor:pointer;font-size:13px;font-weight:600;padding:6px 16px;transition:background-color .2s}.enter-time-travel-btn:hover{background-color:#f59e0b}.time-travel-hint{color:#888;font-size:12px;font-style:italic;padding:8px;text-align:center}.time-travel-slider{display:flex;flex-direction:column;gap:8px}.time-travel-slider label{color:#b0b0b0;font-size:13px}.time-travel-slider input[type=range]{-webkit-appearance:none;appearance:none;background:#444;border-radius:3px;height:6px;outline:none;width:100%}.time-travel-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#50be78;border:none;border-radius:50%;cursor:pointer;height:16px;width:16px}.time-travel-slider input[type=range]::-moz-range-thumb{background:#50be78;border:none;border-radius:50%;cursor:pointer;height:16px;width:16px}.timestamp-display{color:#888;font-family:monospace;font-size:12px}.spread-display{align-items:center;background:linear-gradient(180deg,#2a2a2acc,#1a1a1acc);color:#e0e0e0;display:flex;font-size:15px;font-weight:600;gap:8px;justify-content:center;margin:0}.spread-label{font-size:12px;font-weight:500;letter-spacing:.5px}.spread-value{color:#fff}.spread-percent{color:#bbb}.orderbook-table-container{flex:1 1;min-width:0;overflow-x:visible;overflow-y:auto;width:100%}.orderbook-table{box-sizing:border-box;display:flex;flex-direction:column;gap:0;max-width:100%;width:100%}.orderbook-sides-container{grid-gap:0;border-bottom:2px solid #333;box-sizing:border-box;display:grid;gap:0;grid-template-columns:400px 400px;width:800px}.orderbook-side{box-sizing:border-box;display:flex;flex-direction:column;max-width:400px;min-width:400px;overflow-x:hidden;width:400px}.side-header{font-size:16px;font-weight:600;letter-spacing:.5px;padding:16px 20px;text-align:left}.bid-header{color:#50be78}.ask-header{color:#ef4444}.orderbook-rows{display:flex;flex-direction:column}.orderbook-empty{color:#888;font-size:13px;padding:12px;text-align:center}.orderbook-loading{align-items:center;color:#999;display:flex;font-size:14px;gap:12px;justify-content:center;padding:24px}.loading-spinner{animation:spin .8s linear infinite;border:2px solid #ffffff1a;border-radius:50%;border-top-color:#50be78;height:20px;width:20px}@keyframes spin{to{transform:rotate(1turn)}}.orderbook-row{font-feature-settings:"tnum";align-items:center;background-color:initial;border-bottom:1px solid #ffffff05;box-sizing:border-box;cursor:default;display:grid;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:14px;font-variant-numeric:tabular-nums;grid-template-columns:50px 1fr 50px;min-height:40px;padding:10px;position:relative;transition:all .1s ease}.orderbook-row>.size{color:#e0e0e0;grid-column:1;text-align:left}.orderbook-row>.total{font-size:15px;font-weight:600;grid-column:2;text-align:center}.orderbook-row>.price{align-items:center;display:flex;grid-column:3;justify-content:flex-end;text-align:right}.orderbook-row:hover{background-color:#ffffff08}.orderbook-row.bid-row.recently-updated{animation:highlight-fade-green 1s ease-out}.orderbook-row.ask-row.recently-updated{animation:highlight-fade-red 1s ease-out}@keyframes highlight-fade-green{0%{background-color:#4ade804d;box-shadow:0 0 8px #4ade8033}to{background-color:#4ade8000;box-shadow:0 0 0 #4ade8000}}@keyframes highlight-fade-red{0%{background-color:#f871714d;box-shadow:0 0 8px #f8717133}to{background-color:#f8717100;box-shadow:0 0 0 #f8717100}}.bar-container{height:100%;left:0;overflow:visible;pointer-events:none;width:100%;z-index:0}.bar,.bar-container{position:absolute;top:0}.bar{bottom:0;transition:width .3s cubic-bezier(.4,0,.2,1)}.bid-bar{background-color:#50be784d;right:0}.ask-bar{background-color:#ef44444d;left:0}.orderbook-row>.price,.orderbook-row>.size,.orderbook-row>.total{position:relative;z-index:1}.price{font-size:14px;font-weight:400;letter-spacing:0;text-align:right}.orderbook-row>.bid-price{color:#50be78}.orderbook-row>.ask-price{color:#ef4444}.ask-total,.bid-total,.size{color:#e0e0e0}.size{font-size:14px;font-weight:400;text-align:left}.size,.total{letter-spacing:0}.total{font-size:15px;font-weight:600;text-align:center}.spread-display{font-feature-settings:"tnum";background:linear-gradient(180deg,#ffffff05,#ffffff0d 50%,#ffffff05);border-bottom:2px solid #333;border-top:2px solid #333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-variant-numeric:tabular-nums;padding:16px;text-align:center}.spread-label{color:#999;font-size:11px;font-weight:600;letter-spacing:1px;margin-right:12px;text-transform:uppercase}.spread-value{color:#fbbf24;font-size:16px;font-weight:700;margin-right:8px}.spread-percent{color:#999;font-size:13px;font-weight:500}@media (max-width:1024px){.demo-layout{grid-template-columns:1fr;grid-template-rows:auto 1fr}.chart-container{border-bottom:1px solid #333;border-right:none;height:300px}.orderbook-container{height:auto}.orderbook-table-container{max-width:100%}}@media (max-width:768px){.orderbook-controls{align-items:stretch;flex-direction:column}.depth-selector,.depth-selector select,.pair-selector,.pair-selector select{width:100%}.orderbook-header,.orderbook-row{grid-template-columns:1fr 1fr 1fr}}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}
/*# sourceMappingURL=main.ec05bb52.css.map*/