:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:#fff;background-color:#0a0a1a;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#00d4ff;text-decoration:inherit}a:hover{color:#00a8cc}body{margin:0;min-width:320px;min-height:100vh}h1,h2,h3,h4,h5,h6{margin:0}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a3e;color:#fff;cursor:pointer;transition:border-color .25s,background-color .25s}button:hover{border-color:#00d4ff}button:focus,button:focus-visible{outline:2px solid #00d4ff;outline-offset:2px}input,select,textarea{font-family:inherit}.theme-toggle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;border:1px solid var(--border-color);background:var(--card-bg);color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.theme-toggle:hover{border-color:var(--accent-color);color:var(--accent-color);transform:scale(1.05)}.theme-toggle svg{transition:transform .3s ease}.theme-toggle:hover svg{transform:rotate(15deg)}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--gradient-primary);padding:20px;position:relative}.login-theme-toggle{position:absolute;top:20px;right:20px}.login-card{background:var(--bg-secondary);border-radius:12px;padding:40px;width:100%;max-width:400px;box-shadow:0 20px 60px var(--shadow-color);border:1px solid var(--border-color)}.login-header{text-align:center;margin-bottom:30px}.login-header h1{color:var(--accent-color);font-size:28px;margin:0 0 8px;font-weight:600}.login-header p{color:var(--text-tertiary);margin:0;font-size:14px}.login-header .university{color:var(--warning-color);margin-top:4px;font-weight:500}.login-form{display:flex;flex-direction:column;gap:20px}.form-group label{color:var(--text-secondary);font-size:14px;font-weight:500}.form-group input{padding:12px 16px;border-radius:8px;border:1px solid var(--input-border);background:var(--input-bg);color:var(--text-primary);font-size:16px;transition:border-color .2s,box-shadow .2s}.form-group input:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px var(--accent-bg)}.form-group input::placeholder{color:var(--input-placeholder)}.error-message{background:var(--danger-bg);border:1px solid var(--danger-border);color:var(--danger-color);padding:10px 14px;border-radius:6px;font-size:14px}.login-button{padding:14px;border-radius:8px;border:none;background:var(--gradient-accent);color:#000;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.login-button:hover{transform:translateY(-2px);box-shadow:0 8px 20px var(--shadow-accent)}.login-button:active{transform:translateY(0)}.demo-credentials{margin-top:24px;text-align:center;padding-top:20px;border-top:1px solid var(--border-color)}.demo-credentials p{color:var(--text-muted);font-size:12px;margin:0 0 8px}.demo-credentials code{background:var(--bg-tertiary);padding:6px 12px;border-radius:4px;color:var(--success-color);font-size:14px}.scenario-select-container{min-height:100vh;background:var(--bg-primary)}.scenario-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.header-left h1{color:var(--accent-color);font-size:24px;margin:0;font-weight:600}.header-left .subtitle{color:var(--text-muted);font-size:12px}.logout-button{padding:8px 16px;border-radius:6px;border:1px solid var(--border-color-light);background:transparent;color:var(--text-secondary);font-size:14px;cursor:pointer;transition:all .2s}.logout-button:hover{border-color:var(--danger-color);color:var(--danger-color)}.scenario-main{max-width:1200px;margin:0 auto;padding:40px 24px}.scenario-main h2{color:var(--text-primary);font-size:28px;margin:0 0 12px}.scenario-intro{color:var(--text-tertiary);font-size:16px;margin:0 0 32px}.scenario-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px}.scenario-card{background:var(--bg-secondary);border-radius:12px;padding:24px;border:2px solid var(--border-color);cursor:pointer;transition:all .2s}.scenario-card:hover{border-color:var(--border-color-light);transform:translateY(-2px)}.scenario-card.selected{border-color:var(--accent-color);box-shadow:0 0 20px var(--accent-bg)}.scenario-card h3{color:var(--accent-color);font-size:20px;margin:0 0 12px}.scenario-description{color:var(--text-secondary);font-size:14px;line-height:1.6;margin:0 0 16px}.scenario-objectives{background:var(--bg-tertiary);border-radius:8px;padding:12px 16px;margin-bottom:12px}.scenario-objectives h4{color:var(--text-tertiary);font-size:12px;text-transform:uppercase;letter-spacing:.5px;margin:0 0 8px}.scenario-objectives ul{margin:0;padding-left:20px}.scenario-objectives li{color:var(--text-secondary);font-size:13px;margin-bottom:4px;line-height:1.4}.scenario-target{background:var(--warning-bg);border:1px solid var(--warning-border);border-radius:6px;padding:10px 14px;color:var(--warning-color);font-size:13px}.start-section{margin-top:40px;text-align:center}.start-button{padding:16px 48px;border-radius:8px;border:none;background:var(--gradient-accent);color:#000;font-size:18px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.start-button:hover{transform:translateY(-2px);box-shadow:0 8px 30px var(--shadow-accent)}.waiting-indicator{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;background:var(--bg-secondary);border-radius:12px;border:2px solid var(--border-color)}.waiting-indicator p{color:var(--text-tertiary);font-size:16px;margin:20px 0 0;text-align:center}.spinner{width:48px;height:48px;border:4px solid var(--border-color);border-top-color:var(--accent-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.order-book-container{background:var(--bg-secondary);border-radius:12px;border:1px solid var(--border-color);overflow:hidden}.order-book-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-color)}.order-book-header h3{color:var(--text-primary);font-size:16px;margin:0}.book-stats{display:flex;gap:20px}.stat{color:var(--text-tertiary);font-size:13px}.stat strong{color:var(--text-primary)}.stat .bps{color:var(--text-muted);margin-left:4px}.order-book-legend{display:flex;gap:16px;padding:8px 20px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.legend-item{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-tertiary)}.legend-color{width:12px;height:12px;border-radius:3px}.legend-color.your-order{background:var(--gradient-warning);box-shadow:0 0 6px var(--shadow-danger)}.order-book-table{padding:8px 0}.table-header{display:grid;grid-template-columns:50px 70px 50px 1fr;gap:8px;padding:8px 20px;color:var(--text-muted);font-size:11px;text-transform:uppercase;letter-spacing:.5px}.table-header span:last-child{text-align:right}.asks-section,.bids-section{display:flex;flex-direction:column}.price-level{display:grid;grid-template-columns:50px 70px 50px 1fr;gap:8px;padding:6px 20px;position:relative;font-size:14px;font-family:SF Mono,Monaco,Courier New,monospace;transition:background-color .2s}.price-level.has-student-order{background:var(--warning-bg)}.student-order-highlight{position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--warning-color) 0%,var(--warning-dark) 100%);box-shadow:0 0 8px var(--shadow-danger)}.depth-bar{position:absolute;top:0;bottom:0;right:0;opacity:.15;pointer-events:none}.ask-bar{background:linear-gradient(90deg,transparent,var(--ask-color))}.bid-bar{background:linear-gradient(90deg,transparent,var(--bid-color))}.order-count{color:var(--text-muted);font-size:12px}.quantity{color:var(--text-secondary)}.student-qty{color:var(--text-faint);font-size:12px}.student-qty.active{color:var(--warning-color);font-weight:600}.price{text-align:right}.ask .price{color:var(--ask-color)}.bid .price{color:var(--bid-color)}.price.best{font-weight:600}.spread-row{display:flex;justify-content:space-between;padding:12px 20px;background:var(--bg-tertiary);margin:4px 0}.spread-label{color:var(--text-muted);font-size:12px;text-transform:uppercase}.spread-value{color:var(--warning-color);font-size:14px;font-weight:600;font-family:SF Mono,Monaco,Courier New,monospace}.order-entry-container{background:var(--bg-secondary);border-radius:12px;border:1px solid var(--border-color);padding:20px}.order-entry-container h3{color:var(--text-primary);font-size:16px;margin:0 0 20px}.auction-banner{padding:10px 14px;border-radius:8px;background:var(--warning-bg);color:var(--warning-color);border:1px solid var(--warning-border);font-size:12px;font-weight:500;line-height:1.4;margin-bottom:4px}.order-form{display:flex;flex-direction:column;gap:16px}.side-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px}.side-btn{padding:14px;border:2px solid var(--border-color);border-radius:8px;background:transparent;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.side-btn.buy{color:var(--bid-color)}.side-btn.sell{color:var(--ask-color)}.side-btn.buy.active{background:var(--success-bg);border-color:var(--bid-color)}.side-btn.sell.active{background:var(--danger-bg);border-color:var(--ask-color)}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{color:var(--text-tertiary);font-size:12px;text-transform:uppercase;letter-spacing:.5px}.form-group input,.form-group select{padding:12px 14px;border-radius:8px;border:1px solid var(--input-border);background:var(--input-bg);color:var(--text-primary);font-size:16px;font-family:SF Mono,Monaco,Courier New,monospace}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--accent-color)}.quick-prices,.quick-qty{display:flex;gap:8px;flex-wrap:wrap}.quick-prices button,.quick-qty button{flex:1;padding:8px 12px;border:1px solid var(--border-color-light);border-radius:6px;background:var(--bg-tertiary);color:var(--text-secondary);font-size:12px;cursor:pointer;transition:all .2s}.quick-prices button:hover,.quick-qty button:hover{border-color:var(--accent-color);color:var(--accent-color)}.helper-text{color:var(--text-muted);font-size:12px}.max-available{color:var(--text-muted);font-size:11px;font-style:italic}.submit-btn{padding:16px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.submit-btn.buy{background:var(--gradient-success);color:#000}.submit-btn.sell{background:var(--gradient-danger);color:#fff}.submit-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px var(--shadow-color)}.result{padding:12px 16px;border-radius:8px;font-size:14px;text-align:center}.result.success{background:var(--success-bg);border:1px solid var(--success-border);color:var(--success-color)}.result.error{background:var(--danger-bg);border:1px solid var(--danger-border);color:var(--danger-color)}.cost-estimate{margin-top:20px;padding-top:20px;border-top:1px solid var(--border-color)}.cost-estimate h4{color:var(--text-tertiary);font-size:12px;text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px}.estimate-row{display:flex;justify-content:space-between;padding:6px 0;font-size:14px}.estimate-row span:first-child{color:var(--text-tertiary)}.estimate-row .value{color:var(--text-primary);font-family:SF Mono,Monaco,Courier New,monospace}.estimate-row .value.warning{color:var(--warning-color)}.estimate-warning{background:var(--warning-bg);border:1px solid var(--warning-border);color:var(--warning-color);padding:12px;border-radius:8px;font-size:14px;text-align:center}.active-orders{margin-top:20px;padding-top:20px;border-top:1px solid var(--border-color)}.active-orders h4{color:var(--text-tertiary);font-size:12px;text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px}.active-orders-list{display:flex;flex-direction:column;gap:8px}.active-order{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:var(--bg-tertiary);border-radius:8px;border-left:3px solid}.active-order.buy{border-left-color:var(--bid-color)}.active-order.sell{border-left-color:var(--ask-color)}.order-info{display:flex;align-items:center;gap:10px}.order-side{font-weight:600;font-size:12px}.active-order.buy .order-side{color:var(--bid-color)}.active-order.sell .order-side{color:var(--ask-color)}.order-details{color:var(--text-primary);font-size:13px;font-family:SF Mono,Monaco,Courier New,monospace}.partial-fill{color:var(--warning-color);font-size:11px}.cancel-btn{padding:6px 12px;border:1px solid var(--danger-color);border-radius:6px;background:transparent;color:var(--danger-color);font-size:12px;cursor:pointer;transition:all .2s}.cancel-btn:hover{background:var(--danger-bg)}.metrics-panel{background:var(--bg-secondary);border-radius:12px;border:1px solid var(--border-color);padding:20px;display:flex;flex-direction:column;gap:16px;height:100%;min-height:0}.metrics-layout{display:grid;grid-template-columns:1fr 1fr;gap:20px;flex:1;min-height:0}.metrics-left{display:flex;flex-direction:column;gap:16px;overflow-y:auto;min-height:0}.metrics-left h3{color:var(--text-primary);font-size:16px;margin:0;flex-shrink:0}.metrics-right{display:flex;flex-direction:column;min-height:0}.trade-history-section{display:flex;flex-direction:column;height:100%;min-height:0}.trade-history-section h4{color:var(--text-tertiary);font-size:12px;text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px;flex-shrink:0}.metrics-panel h3{color:var(--text-primary);font-size:16px;margin:0}.metric-section{padding-top:16px;border-top:1px solid var(--border-color)}.metric-section:first-of-type{padding-top:0;border-top:none}.metric-section h4{color:var(--text-tertiary);font-size:12px;text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px}.metric-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.metric-card{background:var(--bg-tertiary);border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:4px}.metric-label{color:var(--text-muted);font-size:11px;text-transform:uppercase;letter-spacing:.3px}.metric-value{color:var(--text-primary);font-size:18px;font-weight:600;font-family:SF Mono,Monaco,Courier New,monospace}.metric-sub{color:var(--accent-color);font-size:12px;font-family:SF Mono,Monaco,Courier New,monospace}.metric-value.long{color:var(--accent-color)}.metric-value.short{color:var(--orange-color)}.metric-value.profit{color:var(--success-color)}.metric-value.loss{color:var(--danger-color)}.comparison-col-value.long{color:var(--accent-color)}.comparison-col-value.short{color:var(--orange-color)}.metric-explanation{margin-top:12px;padding:12px;background:var(--bg-tertiary);border-radius:6px;font-size:12px;color:var(--text-tertiary);line-height:1.6}.metric-explanation strong{color:var(--text-secondary)}.target-progress{background:var(--accent-bg);border:1px solid var(--accent-border);border-radius:8px;padding:16px}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.progress-header span:first-child{color:var(--accent-color);font-weight:500}.progress-pct{color:var(--text-primary);font-size:20px;font-weight:600;font-family:SF Mono,Monaco,Courier New,monospace}.progress-bar{height:8px;background:var(--bg-tertiary);border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--accent-color) 0%,var(--success-color) 100%);border-radius:4px;transition:width .3s ease}.progress-stats{display:flex;justify-content:space-between;margin-top:8px;font-size:12px;color:var(--text-tertiary)}.benchmark-comparison{background:var(--bg-tertiary);border-radius:8px;padding:12px}.benchmark-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border-color);font-size:14px}.benchmark-row:last-child{border-bottom:none}.benchmark-row span:first-child{color:var(--text-tertiary)}.benchmark-value{color:var(--text-primary);font-family:SF Mono,Monaco,Courier New,monospace}.benchmark-row.savings{padding-top:12px;margin-top:4px;border-top:1px solid var(--border-color-light);border-bottom:none}.benchmark-row.savings.positive .benchmark-value{color:var(--success-color);font-weight:600}.benchmark-row.savings.negative .benchmark-value{color:var(--danger-color);font-weight:600}.trade-history-header{display:grid;grid-template-columns:45px 45px 70px 70px 1fr;gap:8px;padding:8px 12px;background:var(--bg-tertiary);border-radius:6px 6px 0 0;font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.trade-history{max-height:250px;overflow-y:auto;display:flex;flex-direction:column;gap:0}.trade-row{display:grid;grid-template-columns:50px 60px 1fr auto;gap:8px;padding:8px 12px;background:var(--bg-tertiary);border-radius:6px;font-size:13px;font-family:SF Mono,Monaco,Courier New,monospace}.trade-row-detailed{display:grid;grid-template-columns:45px 45px 70px 70px 1fr;gap:8px;padding:8px 12px;background:var(--bg-quaternary);font-size:12px;font-family:SF Mono,Monaco,Courier New,monospace;border-bottom:1px solid var(--bg-tertiary)}.trade-row-detailed:last-child{border-bottom:none;border-radius:0 0 6px 6px}.trade-side{font-weight:600}.trade-row.buy .trade-side,.trade-row-detailed.buy .trade-side{color:var(--success-color)}.trade-row.sell .trade-side,.trade-row-detailed.sell .trade-side{color:var(--danger-color)}.trade-qty{color:var(--text-primary)}.trade-price{color:var(--text-secondary)}.trade-mid{color:var(--text-tertiary)}.trade-quoted-spread{color:var(--text-tertiary);text-align:right}.trade-spread{color:var(--accent-color);text-align:right}.trade-spread.high{color:var(--warning-color)}.trade-time{color:var(--text-muted);font-size:11px}.trade-history-footer{padding:8px 12px;background:var(--bg-tertiary);border-radius:0 0 6px 6px;border-top:1px solid var(--border-color)}.spread-note{color:var(--text-muted);font-size:11px;font-style:italic}.trade-history-header-extended{display:grid;grid-template-columns:40px 40px 65px 55px 50px 55px;gap:6px;padding:8px 10px;background:var(--bg-tertiary);border-radius:6px 6px 0 0;font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px}.trade-history-header-extended.with-type{grid-template-columns:38px 32px 36px 60px 50px 46px 50px}.trade-row-extended{display:grid;grid-template-columns:40px 40px 65px 55px 50px 55px;gap:6px;padding:6px 10px;background:var(--bg-quaternary);font-size:11px;font-family:SF Mono,Monaco,Courier New,monospace;border-bottom:1px solid var(--bg-tertiary)}.trade-row-extended.with-type{grid-template-columns:38px 32px 36px 60px 50px 46px 50px}.trade-type{color:var(--text-tertiary);font-size:10px}.trade-history-scroll-wrapper{overflow-x:auto;overflow-y:auto;border-radius:6px;margin-bottom:0;-webkit-overflow-scrolling:touch;flex:1;min-height:0}.trade-history-section .trade-history-scroll-wrapper{max-height:none}.trade-history-table{min-width:540px;width:100%;display:flex;flex-direction:column}.trade-history-table .trade-history{max-height:none;overflow-y:visible}.trade-history-table .trade-history-header-full{display:grid;grid-template-columns:48px 42px 50px 1fr 1fr 1fr 56px 56px 56px 60px;gap:6px;padding:10px 12px;background:var(--bg-tertiary);border-radius:6px 6px 0 0;font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}.trade-history-table .trade-row-full{display:grid;grid-template-columns:48px 42px 50px 1fr 1fr 1fr 56px 56px 56px 60px;gap:6px;padding:8px 12px;background:var(--bg-quaternary);font-size:13px;font-family:SF Mono,Monaco,Courier New,monospace;border-bottom:1px solid var(--bg-tertiary);white-space:nowrap}.trade-history-table .trade-row-full:last-child{border-bottom:none;border-radius:0 0 6px 6px}.trade-history-table .trade-row-full.buy .trade-side{color:var(--success-color)}.trade-history-table .trade-row-full.sell .trade-side{color:var(--danger-color)}.trade-mid,.trade-mid-after{color:var(--text-tertiary)}.trade-row-extended:last-child{border-bottom:none;border-radius:0 0 6px 6px}.trade-row-extended.buy .trade-side{color:var(--success-color)}.trade-row-extended.sell .trade-side{color:var(--danger-color)}.trade-impact{color:var(--text-secondary);text-align:right}.trade-impact.high{color:var(--danger-color)}.trade-impact.low{color:var(--success-color)}.trade-impact.pending{color:var(--text-muted);font-style:italic}.trade-realized{color:var(--text-secondary);text-align:right}.trade-realized.high{color:var(--warning-color)}.trade-realized.low{color:var(--accent-color)}.trade-realized.pending{color:var(--text-muted);font-style:italic}.market-comparison{background:var(--purple-bg);border:1px solid var(--purple-border);border-radius:8px;padding:16px;margin-top:16px}.comparison-grid-small{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.comparison-card{background:var(--bg-tertiary);border-radius:8px;padding:12px;text-align:center;border:1px solid var(--border-color)}.comparison-card.better{border-color:var(--success-border);background:var(--success-bg-subtle)}.comparison-card.worse{border-color:var(--danger-border);background:var(--danger-bg)}.comparison-metric-label{display:block;color:var(--text-tertiary);font-size:10px;text-transform:uppercase;letter-spacing:.3px;margin-bottom:6px}.comparison-metric-value{display:block;color:var(--text-primary);font-size:16px;font-weight:600;font-family:SF Mono,Monaco,Courier New,monospace}.comparison-metric-vs{display:block;color:var(--text-muted);font-size:11px;margin-top:4px}.comparison-metric-diff{display:block;font-size:11px;font-weight:500;margin-top:6px}.comparison-metric-diff.positive{color:var(--success-color)}.comparison-metric-diff.negative{color:var(--danger-color)}.market-stats-summary{text-align:center;color:var(--text-muted);font-size:11px;padding-top:8px;border-top:1px solid var(--border-color)}.performance-comparison{background:linear-gradient(135deg,var(--accent-bg) 0%,var(--purple-bg) 100%);border:1px solid var(--accent-border);border-radius:8px;padding:16px;margin-top:16px}.comparison-table{background:var(--bg-tertiary);border-radius:8px;overflow:hidden}.comparison-table-header{display:grid;grid-template-columns:90px repeat(auto-fit,minmax(70px,1fr));gap:8px;padding:10px 12px;background:var(--bg-quaternary);border-bottom:1px solid var(--border-color)}.comparison-table-header .comparison-col-label{color:transparent}.comparison-table-header .comparison-col-value{color:var(--text-tertiary);font-size:11px;text-transform:uppercase;letter-spacing:.3px;text-align:center;font-weight:500}.comparison-table-row{display:grid;grid-template-columns:90px repeat(auto-fit,minmax(70px,1fr));gap:8px;padding:10px 12px;border-bottom:1px solid var(--border-color-lighter)}.comparison-table-row:last-child{border-bottom:none}.comparison-col-label{color:var(--text-tertiary);font-size:12px;display:flex;align-items:center}.comparison-col-value{color:var(--text-secondary);font-size:13px;font-family:SF Mono,Monaco,Courier New,monospace;text-align:center}.comparison-col-value.highlight{color:var(--text-primary);font-weight:600}.comparison-col-value.better{color:var(--success-color)}.comparison-col-value.worse{color:var(--danger-color)}.performance-summary{display:flex;flex-direction:column;gap:6px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border-color)}.summary-item{font-size:12px;text-align:center;padding:6px 12px;border-radius:4px;background:var(--bg-tertiary)}.summary-item.positive{color:var(--success-color);background:var(--success-bg)}.summary-item.negative{color:var(--danger-color);background:var(--danger-bg)}.comparison-footer{display:flex;justify-content:center;gap:16px;margin-top:12px;color:var(--text-muted);font-size:11px}@media(max-width:900px){.metrics-layout{grid-template-columns:1fr}.metrics-right{max-height:400px}}.price-chart{background:var(--bg-tertiary);border-radius:8px;padding:12px 16px;margin-bottom:16px;display:flex;align-items:center;gap:24px}.chart-header{display:flex;flex-direction:column;gap:4px;flex-shrink:0;min-width:140px}.price-chart h3{color:var(--text-primary);font-size:14px;margin:0}.current-price{text-align:left}.current-price .price{font-size:18px;font-weight:600;font-family:SF Mono,Monaco,Courier New,monospace;color:var(--text-primary)}.current-price .change{display:block;font-size:12px;font-family:SF Mono,Monaco,Courier New,monospace}.current-price.up .change{color:var(--success-color)}.current-price.down .change{color:var(--danger-color)}.chart-placeholder{flex:1;height:60px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:13px}.chart-svg{flex:1;height:100px;min-width:0}.grid-line{stroke:var(--border-color-lighter);stroke-width:1;stroke-dasharray:3,3}.y-label{fill:var(--text-muted);font-size:10px;font-family:SF Mono,Monaco,Courier New,monospace}.price-line{fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.price-line.up{stroke:var(--success-color)}.price-line.down{stroke:var(--danger-color)}.area-fill{opacity:.1}.area-fill.up{fill:var(--success-color)}.area-fill.down{fill:var(--danger-color)}.current-dot{stroke:var(--bg-tertiary);stroke-width:2}.current-dot.up{fill:var(--success-color)}.current-dot.down{fill:var(--danger-color)}.trade-marker{stroke:var(--bg-tertiary);stroke-width:2}.trade-marker.buy{fill:var(--success-color)}.trade-marker.sell{fill:var(--danger-color)}.fundamental-line{fill:none;stroke:#f0a020;stroke-width:2;stroke-dasharray:6,3;stroke-linecap:round;stroke-linejoin:round}.fundamental-dot{fill:#f0a020;stroke:var(--bg-tertiary);stroke-width:2}.fundamental-price{display:flex;align-items:center;gap:4px}.fundamental-label{font-size:11px;color:#f0a020;font-weight:500}.fundamental-val{font-size:14px;font-weight:600;font-family:SF Mono,Monaco,Courier New,monospace;color:#f0a020}.chart-legend{display:flex;flex-direction:column;gap:4px;flex-shrink:0}.legend-entry{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-muted)}.legend-line{display:inline-block;width:16px;height:2px}.legend-line.mid-legend{background:var(--success-color)}.legend-line.fundamental-legend{background:#f0a020;border-top:2px dashed #f0a020;height:0}.trading-dashboard{min-height:100vh;background:var(--bg-primary);display:flex;flex-direction:column}.dashboard-header{display:flex;justify-content:space-between;align-items:center;padding:12px 24px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.header-left{display:flex;align-items:center;gap:20px}.back-button{padding:8px 16px;border-radius:6px;border:1px solid var(--border-color-light);background:transparent;color:var(--text-secondary);font-size:14px;cursor:pointer;transition:all .2s}.back-button:hover{border-color:var(--accent-color);color:var(--accent-color)}.scenario-info h1{color:var(--accent-color);font-size:20px;margin:0}.scenario-desc{color:var(--text-muted);font-size:12px}.header-right{display:flex;align-items:center;gap:24px}.simulation-controls{display:flex;align-items:center;gap:12px}.sim-status{padding:6px 12px;border-radius:20px;font-size:12px;font-weight:500}.sim-status.running{background:var(--success-bg);color:var(--success-color);border:1px solid var(--success-border)}.sim-status.stopped{background:var(--warning-bg);color:var(--warning-color);border:1px solid var(--warning-border)}.sim-button{padding:8px 16px;border-radius:6px;border:1px solid var(--border-color-light);background:var(--bg-tertiary);color:var(--text-primary);font-size:13px;cursor:pointer;transition:all .2s}.sim-button:hover{border-color:var(--accent-color)}.end-session-btn{padding:8px 16px;border-radius:6px;border:1px solid var(--purple-border);background:var(--purple-bg);color:var(--purple-color);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.end-session-btn:hover{border-color:var(--purple-color)}.session-ended{display:flex;flex-direction:column;align-items:center;gap:4px}.session-complete{padding:6px 14px;border-radius:20px;font-size:13px;font-weight:600;background:linear-gradient(135deg,var(--success-bg) 0%,var(--accent-bg) 100%);color:var(--success-color);border:1px solid var(--success-border)}.session-hint{color:var(--text-muted);font-size:11px}.user-info{display:flex;align-items:center;gap:12px;color:var(--text-secondary);font-size:14px}.logout-btn{padding:8px 12px;border-radius:6px;border:1px solid var(--border-color-light);background:transparent;color:var(--text-tertiary);font-size:12px;cursor:pointer;transition:all .2s}.dashboard-content{display:flex;flex-direction:column;gap:16px;padding:20px 24px;flex:1;overflow:hidden}.chart-row{flex-shrink:0}.chart-row .price-chart{margin-bottom:0}.trading-row{display:grid;grid-template-columns:340px 340px 1fr;gap:20px;flex:1;min-height:0}.order-book-panel{display:flex;flex-direction:column;min-height:0}.order-entry-panel{display:flex;flex-direction:column;gap:16px}.metrics-panel-container{display:flex;flex-direction:column;min-height:0;overflow-y:auto}.book-info,.order-types-info{background:var(--bg-secondary);border-radius:12px;border:1px solid var(--border-color);padding:16px}.book-info h4,.order-types-info h4{color:var(--text-primary);font-size:14px;margin:0 0 12px}.book-info ul{margin:0;padding-left:20px}.book-info li{color:var(--text-tertiary);font-size:13px;margin-bottom:6px}.bid-color{color:var(--bid-color)}.ask-color{color:var(--ask-color)}.order-types-info .order-type{padding:10px 0;border-bottom:1px solid var(--border-color)}.order-types-info .order-type:last-child{border-bottom:none;padding-bottom:0}.order-types-info strong{color:var(--accent-color);font-size:13px}.order-types-info p{color:var(--text-tertiary);font-size:12px;margin:4px 0 0;line-height:1.5}.objectives-panel{background:var(--bg-secondary);border-top:1px solid var(--border-color);padding:16px 24px}.objectives-panel h4{color:var(--warning-color);font-size:14px;margin:0 0 12px}.objectives-panel ul{display:flex;flex-wrap:wrap;gap:12px 24px;margin:0;padding:0;list-style:none}.objectives-panel li{color:var(--text-secondary);font-size:13px;padding-left:20px;position:relative}.objectives-panel li:before{content:"○";position:absolute;left:0;color:var(--text-muted)}.phase-indicator{display:flex;align-items:center;gap:10px}.phase-label{padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.auction-phase .phase-label{background:var(--warning-bg);color:var(--warning-color);border:1px solid var(--warning-border)}.resolution-phase .phase-label{background:var(--accent-bg);color:var(--accent-color);border:1px solid var(--accent-border, var(--accent-color));animation:pulse 1s ease-in-out infinite}.continuous-phase .sim-status{background:var(--success-bg);color:var(--success-color);border:1px solid var(--success-border)}.auction-timer{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--warning-color);min-width:50px;text-align:center}.auction-timer.urgent{color:var(--danger-color);animation:pulse .5s ease-in-out infinite}.auction-result-badge,.auction-price-badge{padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500;background:var(--accent-bg);color:var(--accent-color);border:1px solid var(--accent-border, var(--accent-color))}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.auction-result-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.auction-result-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;padding:32px 40px;text-align:center;max-width:480px;width:90%;box-shadow:0 20px 60px #0000004d}.auction-result-card h2{color:var(--accent-color);margin:0 0 24px;font-size:22px}.auction-result-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}.result-item{display:flex;flex-direction:column;gap:4px;padding:12px;background:var(--bg-tertiary);border-radius:8px}.result-label{color:var(--text-muted);font-size:11px;text-transform:uppercase;letter-spacing:.5px}.result-value{color:var(--text-primary);font-size:18px;font-weight:600}.result-hint{color:var(--text-muted);font-size:13px;margin:0;font-style:italic}@media(max-width:1200px){.trading-row{grid-template-columns:300px 300px 1fr}}@media(max-width:1000px){.trading-row{grid-template-columns:1fr 1fr}.metrics-panel-container{grid-column:span 2}}@media(max-width:768px){.trading-row{grid-template-columns:1fr}.metrics-panel-container{grid-column:span 1}.dashboard-header{flex-direction:column;gap:12px;align-items:flex-start}.header-right{width:100%;justify-content:space-between}}.instructor-dashboard{min-height:100vh;background:var(--bg-primary)}.instructor-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.instructor-header h1{color:var(--warning-color);font-size:24px;margin:0}.instructor-header .subtitle{color:var(--text-muted);font-size:12px;display:block}.header-right{display:flex;align-items:center;gap:16px}.user-name{color:var(--text-secondary);font-size:14px}.logout-btn{padding:8px 16px;border-radius:6px;border:1px solid var(--border-color-light);background:transparent;color:var(--text-secondary);font-size:14px;cursor:pointer;transition:all .2s}.logout-btn:hover{border-color:var(--danger-color);color:var(--danger-color)}.sync-status{padding:6px 12px;border-radius:12px;font-size:12px;font-weight:500}.sync-status.connected{background:var(--success-bg);color:var(--success-color);border:1px solid var(--success-border)}.sync-status.offline{background:#8888aa26;color:var(--text-tertiary);border:1px solid rgba(136,136,170,.3)}.instructor-content{padding:24px;display:flex;flex-direction:column;gap:24px}.control-panel{background:var(--bg-secondary);border-radius:12px;border:1px solid var(--border-color);padding:24px}.control-panel h2{color:var(--text-primary);font-size:18px;margin:0 0 20px}.start-class-section{display:flex;flex-direction:column;gap:16px}.scenario-select{display:flex;align-items:center;gap:12px}.scenario-select label{color:var(--text-tertiary);font-size:14px}.scenario-select select{padding:10px 16px;border-radius:8px;border:1px solid var(--border-color-light);background:var(--bg-tertiary);color:var(--text-primary);font-size:14px;min-width:250px}.scenario-description{color:var(--text-tertiary);font-size:13px;line-height:1.5;max-width:600px}.start-class-btn{padding:14px 32px;border-radius:8px;border:none;background:var(--gradient-success);color:#000;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;align-self:flex-start}.start-class-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px var(--shadow-success)}.active-class-section{display:flex;justify-content:space-between;align-items:center}.class-status{display:flex;align-items:center;gap:20px}.status-badge{padding:8px 16px;border-radius:20px;font-size:14px;font-weight:500}.status-badge.running{background:var(--success-bg);color:var(--success-color);border:1px solid var(--success-border)}.class-scenario,.class-duration{color:var(--text-secondary);font-size:14px}.end-class-btn{padding:12px 24px;border-radius:8px;border:none;background:var(--gradient-danger);color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.end-class-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px var(--shadow-danger)}.students-panel{background:var(--bg-secondary);border-radius:12px;border:1px solid var(--border-color);padding:24px}.panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.panel-header h2{color:var(--text-primary);font-size:18px;margin:0}.student-count{background:var(--bg-tertiary);padding:6px 14px;border-radius:20px;color:var(--accent-color);font-size:13px}.class-averages{background:var(--bg-secondary);border-radius:12px;border:1px solid var(--border-color);padding:24px}.class-averages h2{color:var(--text-primary);font-size:18px;margin:0 0 20px}.averages-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:16px}.avg-stat{background:var(--bg-tertiary);border-radius:8px;padding:16px;text-align:center}.avg-stat.highlight{background:var(--accent-bg);border:1px solid var(--accent-border)}.avg-label{display:block;color:var(--text-muted);font-size:11px;text-transform:uppercase;margin-bottom:8px}.avg-value{display:block;color:var(--text-primary);font-size:24px;font-weight:600;font-family:SF Mono,Monaco,Courier New,monospace}.avg-sub{display:block;color:var(--accent-color);font-size:12px;margin-top:4px}.avg-value.long,.stat-value.long{color:var(--accent-color)}.avg-value.short,.stat-value.short{color:var(--orange-color)}.avg-value.profit,.stat-value.profit{color:var(--success-color)}.avg-value.loss,.stat-value.loss{color:var(--danger-color)}.market-averages{background:var(--purple-bg);border:1px solid var(--purple-border)}.market-averages h2{color:var(--purple-color)}.market-desc{color:var(--text-tertiary);font-size:12px;margin:-12px 0 16px}.no-students{text-align:center;padding:60px 20px}.no-students p{color:var(--text-muted);margin:0}.no-students .hint{margin-top:8px;font-size:13px}.student-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.leaderboard{background:var(--bg-tertiary);border-radius:8px;overflow:hidden}.leaderboard h3{color:var(--warning-color);font-size:14px;margin:0}.leaderboard-title-row{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid var(--border-color)}.ranking-toggle{display:flex;align-items:center;gap:8px}.ranking-toggle label{color:var(--text-tertiary);font-size:12px}.ranking-toggle select{padding:6px 12px;border-radius:6px;border:1px solid var(--border-color-light);background:var(--bg-quaternary);color:var(--text-primary);font-size:12px;cursor:pointer}.leaderboard-header{display:grid;grid-template-columns:45px 1fr 55px 65px 80px 70px 70px 70px;gap:6px;padding:12px 16px;background:var(--bg-quaternary);color:var(--text-muted);font-size:11px;text-transform:uppercase;letter-spacing:.5px}.leaderboard-body{max-height:600px;overflow-y:auto}.leaderboard-row{display:grid;grid-template-columns:45px 1fr 55px 65px 80px 70px 70px 70px;gap:6px;padding:12px 16px;border-bottom:1px solid var(--border-color-lighter);cursor:pointer;transition:background .2s;font-size:13px}.leaderboard-row:hover{background:var(--accent-bg)}.leaderboard-row.selected{background:var(--accent-bg);border-left:3px solid var(--accent-color)}.rank{color:var(--text-tertiary);font-weight:600}.rank-1{color:var(--warning-color)}.rank-2{color:silver}.rank-3{color:#cd7f32}.student-name{color:var(--text-primary)}.trade-count,.volume{color:var(--text-secondary);font-family:SF Mono,Monaco,Courier New,monospace}.spread{font-family:SF Mono,Monaco,Courier New,monospace}.spread.low{color:var(--success-color)}.spread.high{color:var(--warning-color)}.vwap{color:var(--accent-color);font-family:SF Mono,Monaco,Courier New,monospace}.inventory{font-family:SF Mono,Monaco,Courier New,monospace;color:var(--text-secondary)}.inventory.long{color:var(--accent-color)}.inventory.short{color:var(--orange-color)}.pnl{font-family:SF Mono,Monaco,Courier New,monospace;color:var(--text-secondary)}.pnl.profit{color:var(--success-color)}.pnl.loss{color:var(--danger-color)}.student-detail{background:var(--bg-tertiary);border-radius:8px;padding:20px}.student-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.student-detail h3{color:var(--accent-color);font-size:18px;margin:0}.rank-badge{padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;background:var(--border-color-lighter);color:var(--text-tertiary)}.rank-badge.rank-1{background:var(--gradient-warning);color:var(--warning-color);border:1px solid var(--warning-border)}.rank-badge.rank-2{background:linear-gradient(135deg,#c0c0c033,#96969633);color:silver;border:1px solid rgba(192,192,192,.3)}.rank-badge.rank-3{background:linear-gradient(135deg,#cd7f3233,#b4641e33);color:#cd7f32;border:1px solid rgba(205,127,50,.3)}.comparison-section{background:var(--bg-quaternary);border-radius:8px;padding:16px;margin-bottom:20px}.comparison-section h4{color:var(--text-tertiary);font-size:12px;text-transform:uppercase;margin:0 0 12px}.comparison-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.comparison-item{background:var(--bg-tertiary);border-radius:6px;padding:12px;text-align:center;border:1px solid var(--border-color)}.comparison-item.better{border-color:var(--success-border);background:var(--success-bg-subtle)}.comparison-item.worse{border-color:var(--danger-border);background:var(--danger-bg)}.comparison-label{display:block;color:var(--text-muted);font-size:10px;text-transform:uppercase;margin-bottom:8px}.comparison-student{display:block;color:var(--text-primary);font-size:16px;font-weight:600;font-family:SF Mono,Monaco,Courier New,monospace}.comparison-vs{display:block;color:var(--text-faint);font-size:10px;margin:4px 0}.comparison-avg{display:block;color:var(--text-tertiary);font-size:12px;font-family:SF Mono,Monaco,Courier New,monospace}.comparison-diff{display:block;margin-top:8px;font-size:11px;font-weight:500}.comparison-item.better .comparison-diff{color:var(--success-color)}.comparison-item.worse .comparison-diff{color:var(--danger-color)}.detail-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:20px}.stat-card{background:var(--bg-quaternary);border-radius:6px;padding:12px}.stat-card .stat-label{display:block;color:var(--text-muted);font-size:10px;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.stat-card .stat-value{display:block;color:var(--text-primary);font-size:16px;font-weight:600;font-family:SF Mono,Monaco,Courier New,monospace}.stat-card.highlight{background:var(--accent-bg);border:1px solid var(--accent-border)}.stat-card .stat-value.good{color:var(--success-color)}.stat-card .stat-value.warning{color:var(--warning-color)}.student-market-stats{background:var(--purple-bg);border:1px solid var(--purple-border);border-radius:8px;padding:16px;margin-bottom:20px}.student-market-stats h4{color:var(--purple-color);font-size:12px;text-transform:uppercase;margin:0 0 12px}.market-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.market-stat{text-align:center}.market-stat .stat-label{display:block;color:var(--text-muted);font-size:10px;text-transform:uppercase;margin-bottom:4px}.market-stat .stat-value{display:block;color:var(--text-primary);font-size:14px;font-weight:600;font-family:SF Mono,Monaco,Courier New,monospace}.student-trades h4{color:var(--text-tertiary);font-size:12px;text-transform:uppercase;margin:0 0 12px}.trades-table{background:var(--bg-quaternary);border-radius:6px;overflow:hidden}.trades-header{display:grid;grid-template-columns:80px 45px 40px 50px 1fr;gap:8px;padding:10px 12px;background:var(--bg-secondary);color:var(--text-muted);font-size:10px;text-transform:uppercase}.trade-row{display:grid;grid-template-columns:80px 45px 40px 50px 1fr;gap:8px;padding:8px 12px;border-bottom:1px solid var(--bg-tertiary);font-size:12px;font-family:SF Mono,Monaco,Courier New,monospace;color:var(--text-secondary)}.trade-row .side{font-weight:600}.trade-row .type{color:var(--text-tertiary);font-size:10px}.trade-row.buy .side{color:var(--success-color)}.trade-row.sell .side{color:var(--danger-color)}.trades-scroll-wrapper{overflow-x:auto;border-radius:6px}.trades-table-full{background:var(--bg-quaternary);border-radius:6px;min-width:660px;width:100%}.trades-header-full{display:grid;grid-template-columns:48px 42px 50px 1fr 1fr 1fr 56px 56px 56px 60px;gap:6px;padding:10px 12px;background:var(--bg-secondary);color:var(--text-muted);font-size:11px;text-transform:uppercase;white-space:nowrap}.trade-row-full{display:grid;grid-template-columns:48px 42px 50px 1fr 1fr 1fr 56px 56px 56px 60px;gap:6px;padding:8px 12px;border-bottom:1px solid var(--bg-tertiary);font-size:13px;font-family:SF Mono,Monaco,Courier New,monospace;color:var(--text-secondary);white-space:nowrap}.trade-row-full:last-child{border-bottom:none}.trade-row-full .side{font-weight:600}.trade-row-full .type{color:var(--text-tertiary);font-size:10px}.trade-row-full.buy .side{color:var(--success-color)}.trade-row-full.sell .side{color:var(--danger-color)}.trade-row-full .mid,.trade-row-full .quoted-spread{color:var(--text-tertiary)}.trade-row-full .spread,.trade-row-full .impact,.trade-row-full .realized{color:var(--accent-color)}.class-summary{background:var(--bg-secondary);border-radius:12px;border:1px solid var(--border-color);padding:24px}.class-summary h2{color:var(--warning-color);font-size:18px;margin:0 0 20px}.summary-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.summary-stat{background:var(--bg-tertiary);border-radius:8px;padding:16px;text-align:center}.summary-stat .stat-label{display:block;color:var(--text-muted);font-size:11px;text-transform:uppercase;margin-bottom:8px}.summary-stat .stat-value{display:block;color:var(--text-primary);font-size:24px;font-weight:600;font-family:SF Mono,Monaco,Courier New,monospace}.summary-stat .stat-sub{display:block;color:var(--accent-color);font-size:12px;margin-top:4px}.discussion-points{background:var(--bg-tertiary);border-radius:8px;padding:20px}.discussion-points h3{color:var(--accent-color);font-size:14px;margin:0 0 16px}.discussion-points ul{margin:0;padding-left:20px}.discussion-points li{color:var(--text-secondary);font-size:14px;margin-bottom:10px;line-height:1.5}.discussion-points strong{color:var(--text-primary)}@media(max-width:1024px){.student-grid{grid-template-columns:1fr}.summary-stats{grid-template-columns:repeat(2,1fr)}}*{box-sizing:border-box}html{font-size:16px}:root,[data-theme=dark]{--bg-primary: #0a0a1a;--bg-secondary: #0f0f23;--bg-tertiary: #1a1a3e;--bg-quaternary: #151530;--card-bg: #0f0f23;--card-bg-hover: #1a1a3e;--border-color: #2a2a4a;--border-color-light: #3a3a5a;--border-color-lighter: #252550;--text-primary: #ffffff;--text-secondary: #aaaacc;--text-tertiary: #8888aa;--text-muted: #6a6a8a;--text-dim: #5a5a7a;--text-faint: #4a4a6a;--accent-color: #00d4ff;--accent-color-dark: #0099cc;--accent-bg: rgba(0, 212, 255, .1);--accent-border: rgba(0, 212, 255, .3);--success-color: #00ff88;--success-dark: #00cc6a;--success-bg: rgba(0, 255, 136, .1);--success-bg-subtle: rgba(0, 255, 136, .05);--success-border: rgba(0, 255, 136, .3);--warning-color: #ffd700;--warning-dark: #ffaa00;--warning-bg: rgba(255, 215, 0, .1);--warning-border: rgba(255, 215, 0, .3);--danger-color: #ff6b6b;--danger-dark: #cc4444;--danger-bg: rgba(255, 107, 107, .1);--danger-border: rgba(255, 107, 107, .3);--orange-color: #ff9500;--gradient-primary: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);--gradient-accent: linear-gradient(135deg, #00d4ff 0%, #0099cc 100%);--gradient-success: linear-gradient(135deg, #00ff88 0%, #00cc6a 100%);--gradient-danger: linear-gradient(135deg, #ff6b6b 0%, #cc4444 100%);--gradient-warning: linear-gradient(135deg, rgba(255, 215, 0, .2) 0%, rgba(255, 170, 0, .2) 100%);--shadow-color: rgba(0, 0, 0, .5);--shadow-accent: rgba(0, 212, 255, .3);--shadow-success: rgba(0, 255, 136, .3);--shadow-danger: rgba(255, 107, 107, .3);--scrollbar-track: #1a1a3e;--scrollbar-thumb: #3a3a5a;--scrollbar-thumb-hover: #4a4a6a;--input-bg: #1a1a3e;--input-border: #3a3a5a;--input-placeholder: #5a5a7a;--bid-color: #00ff88;--ask-color: #ff6b6b;--purple-color: #ba68c8;--purple-bg: rgba(138, 43, 226, .1);--purple-border: rgba(138, 43, 226, .3)}[data-theme=light]{--bg-primary: #f5f7fa;--bg-secondary: #ffffff;--bg-tertiary: #e8ecf1;--bg-quaternary: #f0f3f7;--card-bg: #ffffff;--card-bg-hover: #f5f7fa;--border-color: #d1d9e6;--border-color-light: #c0c9d6;--border-color-lighter: #e0e6ed;--text-primary: #1a1a2e;--text-secondary: #4a5568;--text-tertiary: #6b7280;--text-muted: #9ca3af;--text-dim: #b0b8c4;--text-faint: #c8ced6;--accent-color: #0088cc;--accent-color-dark: #006699;--accent-bg: rgba(0, 136, 204, .1);--accent-border: rgba(0, 136, 204, .3);--success-color: #00a858;--success-dark: #008848;--success-bg: rgba(0, 168, 88, .1);--success-bg-subtle: rgba(0, 168, 88, .05);--success-border: rgba(0, 168, 88, .3);--warning-color: #d4a000;--warning-dark: #b08600;--warning-bg: rgba(212, 160, 0, .1);--warning-border: rgba(212, 160, 0, .3);--danger-color: #dc3545;--danger-dark: #b02a37;--danger-bg: rgba(220, 53, 69, .1);--danger-border: rgba(220, 53, 69, .3);--orange-color: #d97706;--gradient-primary: linear-gradient(135deg, #e8ecf1 0%, #d1d9e6 100%);--gradient-accent: linear-gradient(135deg, #0088cc 0%, #006699 100%);--gradient-success: linear-gradient(135deg, #00a858 0%, #008848 100%);--gradient-danger: linear-gradient(135deg, #dc3545 0%, #b02a37 100%);--gradient-warning: linear-gradient(135deg, rgba(212, 160, 0, .2) 0%, rgba(176, 134, 0, .2) 100%);--shadow-color: rgba(0, 0, 0, .1);--shadow-accent: rgba(0, 136, 204, .2);--shadow-success: rgba(0, 168, 88, .2);--shadow-danger: rgba(220, 53, 69, .2);--scrollbar-track: #e8ecf1;--scrollbar-thumb: #c0c9d6;--scrollbar-thumb-hover: #a8b3c2;--input-bg: #ffffff;--input-border: #d1d9e6;--input-placeholder: #9ca3af;--bid-color: #00a858;--ask-color: #dc3545;--purple-color: #8b5cf6;--purple-bg: rgba(139, 92, 246, .1);--purple-border: rgba(139, 92, 246, .3)}body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-primary);color:var(--text-primary);transition:background-color .3s ease,color .3s ease}#root{min-height:100vh}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:4px}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}::selection{background:var(--accent-border)}
