:root{--bg-primary: #0a0e17;--bg-secondary: #111827;--bg-tertiary: #1f2937;--text-primary: #f9fafb;--text-secondary: #9ca3af;--accent-primary: #f59e0b;--accent-secondary: #3b82f6;--success: #10b981;--error: #ef4444;--border: #374151}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,system-ui,-apple-system,sans-serif;background:var(--bg-primary);color:var(--text-primary);min-height:100vh}#root{min-height:100vh;display:flex;flex-direction:column}.app{min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(ellipse at 20% 0%,rgba(245,158,11,.08) 0%,transparent 50%),radial-gradient(ellipse at 80% 100%,rgba(59,130,246,.06) 0%,transparent 50%),var(--bg-primary)}.header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:var(--bg-secondary);border-bottom:1px solid var(--border)}.header-left{display:flex;align-items:center;gap:16px}.logo{font-size:24px;font-weight:700;letter-spacing:-.5px}.logo-text{color:var(--text-primary)}.logo-accent{color:var(--accent-primary)}.network-badge{display:flex;align-items:center;gap:6px;padding:4px 10px;background:#f59e0b26;border-radius:12px;font-size:12px;color:var(--accent-primary)}.network-dot{width:6px;height:6px;background:var(--accent-primary);border-radius:50%;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.header-right{display:flex;align-items:center;gap:12px}.wallet-info{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-tertiary);border-radius:8px;cursor:pointer;transition:all .15s ease}.wallet-info:hover{background:var(--border)}.wallet-address{font-family:JetBrains Mono,monospace;font-size:14px}.btn{padding:10px 20px;border-radius:8px;font-weight:500;font-size:14px;cursor:pointer;transition:all .15s ease;border:none}.btn-primary{background:var(--accent-primary);color:var(--bg-primary)}.btn-primary:hover:not(:disabled){background:#d97706;box-shadow:0 0 20px #f59e0b4d}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-outline{background:transparent;border:1px solid var(--border);color:var(--text-primary)}.btn-outline:hover{border-color:var(--text-secondary)}.btn-buy{flex:1;background:var(--success);color:#fff}.btn-buy:hover:not(:disabled){background:#059669;box-shadow:0 0 20px #10b9814d}.btn-sell{flex:1;background:var(--error);color:#fff}.btn-sell:hover:not(:disabled){background:#dc2626;box-shadow:0 0 20px #ef44444d}.btn:disabled{opacity:.5;cursor:not-allowed}.main-content{flex:1;display:grid;grid-template-columns:300px 1fr 320px;gap:16px;padding:16px 24px}@media (max-width: 1200px){.main-content{grid-template-columns:1fr}}.panel{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:16px;display:flex;flex-direction:column}.panel-title{font-size:16px;font-weight:600;margin-bottom:16px;color:var(--text-primary)}.order-book{max-height:calc(100vh - 180px)}.orderbook-header{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;padding:8px 0;font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border)}.orderbook-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;padding:6px 0;font-family:JetBrains Mono,monospace;font-size:12px;position:relative;cursor:pointer;transition:background .1s ease}.orderbook-row:hover{background:var(--bg-tertiary)}.depth-bar{position:absolute;top:0;right:0;height:100%;opacity:.15;transition:width .2s ease}.bid-bar{background:var(--success)}.ask-bar{background:var(--error)}.orderbook-row .price{font-weight:500}.orderbook-row .price.buy{color:var(--success)}.orderbook-row .price.sell{color:var(--error)}.orderbook-row .amount,.orderbook-row .total{color:var(--text-secondary);text-align:right}.asks-section,.bids-section{flex:1;overflow:hidden}.spread-section{display:flex;justify-content:space-between;align-items:center;padding:12px 0;margin:8px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.spread-label{font-size:11px;color:var(--text-secondary);text-transform:uppercase}.spread-value{font-family:JetBrains Mono,monospace;font-size:12px;color:var(--accent-primary)}.trading-panel{min-height:400px}.order-type-toggle{display:flex;gap:8px;margin-bottom:20px}.toggle-btn{flex:1;padding:10px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);font-weight:500;cursor:pointer;transition:all .15s ease}.toggle-btn.active{background:var(--accent-primary);border-color:var(--accent-primary);color:var(--bg-primary)}.market-price{display:flex;justify-content:space-between;align-items:center;padding:12px;background:var(--bg-tertiary);border-radius:8px;margin-bottom:16px}.market-price .label{font-size:12px;color:var(--text-secondary)}.market-price .value{font-family:JetBrains Mono,monospace;font-size:16px;font-weight:600;color:var(--accent-primary)}.form-group{margin-bottom:12px}.form-group label{display:block;font-size:12px;color:var(--text-secondary);margin-bottom:6px}.form-group input{width:100%;padding:12px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-family:JetBrains Mono,monospace;font-size:14px;transition:border-color .15s ease}.form-group input:focus{outline:none;border-color:var(--accent-primary)}.form-group input:disabled{opacity:.6}.percent-buttons{display:flex;gap:6px;margin-top:8px}.percent-buttons button{flex:1;padding:6px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:4px;color:var(--text-secondary);font-size:11px;cursor:pointer;transition:all .15s ease}.percent-buttons button:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.error-message,.error-text{color:var(--error);font-size:12px;padding:8px;background:#ef44441a;border-radius:6px;margin-bottom:12px}.action-buttons{display:flex;gap:12px;margin-top:20px}.balance-display{margin-top:auto;padding-top:16px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:8px}.balance-item{display:flex;justify-content:space-between;font-size:13px}.balance-item .label{color:var(--text-secondary)}.balance-item .value{font-family:JetBrains Mono,monospace;color:var(--text-primary)}.orders-trades{max-height:calc(100vh - 180px)}.tab-header{display:flex;gap:8px;margin-bottom:16px}.tab-btn{flex:1;padding:10px;background:var(--bg-tertiary);border:none;border-radius:8px;color:var(--text-secondary);font-weight:500;font-size:13px;cursor:pointer;transition:all .15s ease}.tab-btn.active{background:var(--accent-primary);color:var(--bg-primary)}.table-header{display:grid;grid-template-columns:.8fr 1fr 1fr 1fr 60px;gap:8px;padding:8px 0;font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border)}.orders-list .table-header{grid-template-columns:.8fr 1fr 1fr 1fr 50px}.trades-list .table-header{grid-template-columns:1fr 1fr 80px}.order-row,.trade-row{display:grid;grid-template-columns:.8fr 1fr 1fr 1fr 50px;gap:8px;padding:10px 0;font-family:JetBrains Mono,monospace;font-size:12px;border-bottom:1px solid var(--border);transition:background .1s ease}.order-row:hover,.trade-row:hover{background:var(--bg-tertiary)}.order-row.user-order,.trade-row.user-trade{background:#f59e0b14}.trade-row{grid-template-columns:1fr 1fr 80px}.order-row .side{font-weight:600;font-size:11px}.order-row .side.buy{color:var(--success)}.order-row .side.sell{color:var(--error)}.order-row .price,.trade-row .price{color:var(--text-primary)}.order-row .amount,.trade-row .amount{color:var(--text-secondary)}.order-row .filled{color:var(--accent-secondary);font-size:11px}.trade-row .time{color:var(--text-secondary);text-align:right}.cancel-btn{width:28px;height:28px;background:transparent;border:1px solid var(--error);border-radius:6px;color:var(--error);font-size:16px;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center}.cancel-btn:hover:not(:disabled){background:var(--error);color:#fff}.cancel-btn:disabled{opacity:.5;cursor:not-allowed}.empty-state{text-align:center;padding:40px 20px;color:var(--text-secondary);font-size:14px}.footer{display:flex;justify-content:space-between;align-items:center;padding:12px 24px;background:var(--bg-secondary);border-top:1px solid var(--border);font-size:12px;color:var(--text-secondary)}.connection-status{display:flex;align-items:center;gap:6px}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--text-secondary)}.status-dot.connected{background:var(--success);box-shadow:0 0 8px var(--success)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.panel{animation:fadeIn .3s ease}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:24px;min-width:320px}.modal h3{margin-bottom:16px;font-size:18px}.modal select,.modal input{width:100%;padding:12px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-family:JetBrains Mono,monospace;font-size:14px;margin-bottom:12px}.modal select:focus,.modal input:focus{outline:none;border-color:var(--accent-primary)}.modal-actions{display:flex;gap:12px;margin-top:16px}.modal-actions .btn{flex:1}.message{padding:8px;border-radius:6px;font-size:13px;margin-bottom:12px;background:#10b9811a;color:var(--success)}.deposit-info{background:var(--bg-tertiary);padding:12px;border-radius:8px;margin-bottom:16px}.deposit-info p{font-size:12px;color:var(--text-secondary);margin-bottom:8px}.deposit-address{font-family:JetBrains Mono,monospace;font-size:12px;color:var(--accent-primary);cursor:pointer;padding:8px;background:var(--bg-secondary);border-radius:4px;text-align:center;word-break:break-all}.deposit-address:hover{background:var(--border)}
