body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#0d1117;color:#c9d1d9;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box}.App{min-height:100vh;padding:20px}@media (max-width:768px){.App{padding:10px}}.App-header{background:linear-gradient(135deg,#1e3c72,#2a5298);border-radius:10px;margin-bottom:30px;padding:20px;text-align:center}@media (max-width:768px){.App-header{border-radius:8px;margin-bottom:20px;padding:15px}}.App-header h1{color:#fff;font-size:2.5rem;font-weight:700;margin:0}@media (max-width:768px){.App-header h1{font-size:1.5rem}}.status{color:#c9d1d9;font-size:.9rem;margin-top:10px}.status-connected{color:#58a6ff;font-weight:700}.status-disconnected{color:#f85149;font-weight:700}.status-error{color:#ff7b72;font-weight:700}.connection-info{color:#8b949e;font-size:.85rem;margin-top:10px}.status-connecting{color:#ffa657;font-weight:700}.connection-controls{margin-top:15px}.connection-controls button{background:#58a6ff1a;border:1px solid #58a6ff;border-radius:5px;color:#58a6ff;cursor:pointer;font-size:.9rem;padding:8px 16px;transition:all .2s}@media (max-width:768px){.connection-controls button{font-size:1rem;padding:10px 20px}}.connection-controls button:hover{background:#58a6ff33}.environment-switcher{margin-top:15px}.environment-switcher label{color:#c9d1d9;font-size:.9rem}.environment-switcher select{background:#ffffff1a;border:1px solid #fff3;border-radius:5px;color:#fff;cursor:pointer;font-size:.9rem;margin-left:10px;padding:5px 10px}.environment-switcher select:hover{background:#fff3}.error-message{background:#f851491a;border:1px solid #f851494d;border-radius:5px;color:#f85149;font-size:.9rem;margin-top:10px;padding:10px}.retry-info{color:#ffa657;font-size:.85rem;margin-left:5px}main{margin:0 auto;max-width:1400px;min-height:calc(100vh - 200px)}@media (max-width:768px){main{min-height:auto}}.trading-container{grid-gap:20px;display:grid;gap:20px;grid-template-columns:2fr 1fr;margin-left:auto;margin-right:auto;margin-top:30px;max-width:1600px;min-height:900px}.orderbook-wrapper,.trade-stream-wrapper{width:100%}@media (max-width:1200px){.trading-container{grid-template-columns:1fr}}@media (max-width:768px){.trading-container{gap:15px;margin-top:20px;min-height:auto}}.orderbook{background:#161b22;border:1px solid #30363d;border-radius:10px;box-shadow:0 4px 6px #0000004d;margin:0 auto;max-width:1200px;min-height:450px;padding:20px;width:100%}@media (max-width:768px){.orderbook{border-radius:8px;min-height:400px;padding:15px}}.orderbook h2{color:#58a6ff;font-size:1.5rem;margin:0 0 20px;text-align:center}@media (max-width:768px){.orderbook h2{font-size:1.2rem;margin:0 0 15px}}.orderbook-content{display:flex;flex-direction:column;gap:10px}.orderbook-side{flex:1 1}.orderbook-header{background:#0d1117;border-radius:5px;color:#8b949e;display:grid;font-size:.9rem;font-weight:600;grid-template-columns:1fr 1fr;margin-bottom:10px;padding:10px}@media (max-width:768px){.orderbook-header{font-size:.85rem;padding:8px}}.orderbook-entries{height:240px;min-height:240px;overflow-y:auto}@media (max-width:768px){.orderbook-entries{height:200px;min-height:200px}}.orderbook-entry{display:grid;font-family:Monaco,Courier New,monospace;font-size:.9rem;grid-template-columns:1fr 1fr;padding:8px 10px;position:relative;transition:background-color .2s}@media (max-width:768px){.orderbook-entry{font-size:.85rem;padding:6px 8px}}.orderbook-entry:hover{background:#388bfd1a}.depth-bar{bottom:0;opacity:.2;position:absolute;top:0;z-index:0}.bid-bar{background:#3fb950;right:0}.ask-bar{background:#f85149;right:0}.orderbook-entry span{position:relative;z-index:1}.price{font-weight:600}.bid-price{color:#3fb950}.ask-price{color:#f85149}.size{color:#c9d1d9;text-align:right}.spread{align-items:center;background:#0d1117;border-radius:5px;color:#58a6ff;display:flex;font-weight:600;justify-content:center;margin:10px 0;min-height:50px;padding:15px;text-align:center}@media (max-width:768px){.spread{font-size:.9rem;min-height:40px;padding:12px}}.update-info{color:#8b949e;font-size:.8rem;margin-top:15px;text-align:center}.orderbook-entries::-webkit-scrollbar{width:8px}.orderbook-entries::-webkit-scrollbar-track{background:#0d1117;border-radius:4px}.orderbook-entries::-webkit-scrollbar-thumb{background:#30363d;border-radius:4px}.orderbook-entries::-webkit-scrollbar-thumb:hover{background:#484f58}.depth-chart{background:#1a1a1a;border-radius:8px;box-shadow:0 4px 6px #0000001a;height:280px;margin-top:20px;min-height:280px;padding:15px}.depth-chart h3{color:#fff;font-size:14px;font-weight:500;height:20px;margin:0 0 10px;text-align:center}.depth-chart canvas{background:#0d0d0d;border-radius:4px;display:block;height:230px;width:100%}@media (max-width:768px){.depth-chart canvas{height:200px}}.symbol-form{align-items:flex-end;background:#161b22;border:1px solid #30363d;border-radius:10px;box-shadow:0 2px 4px #0003;display:flex;flex-wrap:wrap;gap:20px;justify-content:center;padding:20px}@media (max-width:768px){.symbol-form{align-items:stretch;flex-direction:column;gap:15px;padding:15px}}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{color:#8b949e;font-size:.9rem;font-weight:600}.form-group input,.form-group select{background:#0d1117;border:1px solid #30363d;border-radius:6px;color:#c9d1d9;font-size:1rem;padding:10px 12px;transition:border-color .2s,box-shadow .2s}@media (max-width:768px){.form-group input,.form-group select{font-size:16px;padding:12px}}.form-group input:focus,.form-group select:focus{border-color:#58a6ff;box-shadow:0 0 0 3px #58a6ff1a;outline:none}.form-group select{cursor:pointer;min-width:200px}@media (max-width:768px){.form-group select{min-width:0;min-width:auto;width:100%}}.form-group input::placeholder{color:#484f58}.symbol-form button{background:linear-gradient(135deg,#388bfd,#58a6ff);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:10px 24px;transition:transform .2s,box-shadow .2s}@media (max-width:768px){.symbol-form button{padding:12px 24px;width:100%}}.symbol-form button:hover{box-shadow:0 4px 12px #58a6ff4d;transform:translateY(-2px)}.symbol-form button:active{transform:translateY(0)}.trade-stream{background:#161b22;border:1px solid #30363d;border-radius:10px;box-shadow:0 4px 6px #0000004d;display:flex;flex-direction:column;height:100%;max-height:830px;min-height:830px;padding:20px}@media (max-width:768px){.trade-stream{border-radius:8px;max-height:400px;min-height:400px;padding:15px}}.trade-stream h2{color:#58a6ff;font-size:1.5rem;margin:0 0 10px;text-align:center}@media (max-width:768px){.trade-stream h2{font-size:1.2rem;margin:0 0 8px}}.symbol-name{margin-bottom:15px;text-align:center}.symbol-name,.trade-header{color:#8b949e;font-size:.9rem}.trade-header{background:#0d1117;border-radius:5px;display:grid;font-weight:600;grid-template-columns:1fr 1fr 1fr;margin-bottom:10px;padding:10px}@media (max-width:768px){.trade-header{font-size:.8rem;padding:8px}}.trade-list{flex:1 1;max-height:700px;overflow-y:auto}@media (max-width:768px){.trade-list{max-height:300px}}.trade-entry{border-bottom:1px solid #30363d4d;display:grid;font-family:Monaco,Courier New,monospace;font-size:.85rem;grid-template-columns:1fr 1fr 1fr;padding:8px 10px;transition:background-color .2s}@media (max-width:768px){.trade-entry{font-size:.75rem;padding:6px 8px}}.trade-entry:hover{background:#388bfd0d}.trade-time{color:#8b949e;font-size:.8rem}@media (max-width:768px){.trade-time{font-size:.7rem}}.trade-price{font-weight:600;text-align:center}.buy-price{color:#3fb950}.sell-price{color:#f85149}.trade-size{color:#c9d1d9;text-align:right}.no-trades{color:#8b949e;font-style:italic;padding:40px;text-align:center}.trade-list::-webkit-scrollbar{width:8px}.trade-list::-webkit-scrollbar-track{background:#0d1117;border-radius:4px}.trade-list::-webkit-scrollbar-thumb{background:#30363d;border-radius:4px}.trade-list::-webkit-scrollbar-thumb:hover{background:#484f58}
/*# sourceMappingURL=main.ab5d244d.css.map*/