/* ProTrader Elite V2 — Complete Stylesheet */
@import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@400;600;700;900&family=Share+Tech+Mono&family=Exo+2:wght@300;400;500;600;700&display=swap');

:root {
  --void:#020408; --bg0:#040810; --bg1:#080d18; --bg2:#0d1525; --bg3:#121c30;
  --bg4:#182438; --bg5:#1e2e45;
  --border0:#0f1e32; --border1:#162840; --border2:#1e3554; --border3:#2a4870;
  --acid:#00ff88; --acid2:#00cc6a; --neon:#00e5ff; --neon2:#00b8cc;
  --plasma:#ff3355; --plasma2:#cc1133; --solar:#ffcc00; --orange:#ff6600;
  --violet:#cc00ff; --mint:#00ffcc; --t0:#e8f4ff; --t1:#a0c0e0; --t2:#607080; --t3:#304050;
  --font-hud:'Orbitron',monospace; --font-mono:'Share Tech Mono',monospace; --font-body:'Exo 2',sans-serif;
  --nav-h:50px;
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html,body{height:100%;overflow:hidden}
body{background:var(--void);color:var(--t0);font-family:var(--font-body);font-size:12px}
::-webkit-scrollbar{width:3px;height:3px}
::-webkit-scrollbar-track{background:var(--bg1)}
::-webkit-scrollbar-thumb{background:var(--border3);border-radius:2px}
::selection{background:rgba(0,229,255,.25)}
body::before{content:'';position:fixed;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.03) 2px,rgba(0,0,0,.03) 4px);pointer-events:none;z-index:9999}

/* NAV */
#topnav{position:fixed;top:0;left:0;right:0;height:var(--nav-h);background:var(--bg1);border-bottom:1px solid var(--border2);display:flex;align-items:center;padding:0 12px;gap:4px;z-index:1000;box-shadow:0 1px 0 rgba(0,229,255,.15),0 4px 20px rgba(0,0,0,.8)}
.logo{font-family:var(--font-hud);font-size:14px;font-weight:900;letter-spacing:3px;background:linear-gradient(135deg,var(--acid),var(--neon));-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-right:8px;white-space:nowrap;flex-shrink:0}
.nav-tab{font-family:var(--font-hud);font-size:9px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;padding:6px 12px;border:1px solid var(--border2);background:transparent;color:var(--t2);cursor:pointer;border-radius:2px;transition:all .15s;white-space:nowrap}
.nav-tab:hover{border-color:var(--neon2);color:var(--neon)}
.nav-tab.active{background:linear-gradient(135deg,rgba(0,255,136,.12),rgba(0,229,255,.08));border-color:var(--acid2);color:var(--acid);box-shadow:0 0 12px rgba(0,255,136,.2)}
.nav-spacer{flex:1}
.ticker-strip{display:flex;align-items:center;gap:12px;padding:0 10px;border-left:1px solid var(--border1)}
.ticker-item{display:flex;flex-direction:column;align-items:center;min-width:70px}
.ticker-sym{font-family:var(--font-mono);font-size:7px;color:var(--t3);letter-spacing:1px;text-transform:uppercase}
.ticker-px{font-family:var(--font-mono);font-size:12px;font-weight:600;color:var(--t0);transition:color .3s}
.ticker-chg{font-family:var(--font-mono);font-size:8px;transition:color .3s}
.ticker-px.up,.ticker-chg.up{color:var(--acid)}
.ticker-px.dn,.ticker-chg.dn{color:var(--plasma)}
.live-indicator{display:flex;align-items:center;gap:5px;font-family:var(--font-hud);font-size:8px;letter-spacing:2px;color:var(--acid);border-left:1px solid var(--border1);padding-left:10px}
.pulse-dot{width:6px;height:6px;border-radius:50%;background:var(--acid);box-shadow:0 0 8px var(--acid);animation:pulseDot 1.8s ease-in-out infinite}
@keyframes pulseDot{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.4);opacity:.6}}
.server-time{font-family:var(--font-mono);font-size:9px;color:var(--t2);border-left:1px solid var(--border1);padding-left:10px;min-width:76px}

/* PAGES */
.page{position:absolute;top:var(--nav-h);left:0;right:0;bottom:0;display:none;overflow:hidden}
.page.active{display:block}

/* BACKTEST LAYOUT */
#page-backtest.active{display:grid;grid-template-columns:240px 1fr 210px;grid-template-rows:1fr 175px}
.bt-sidebar{grid-column:1;grid-row:1/3;background:var(--bg1);border-right:1px solid var(--border1);overflow-y:auto;padding:10px;display:flex;flex-direction:column;gap:8px}
.bt-chart-area{grid-column:2;grid-row:1;position:relative;background:var(--void);overflow:hidden}
.bt-metrics-panel{grid-column:3;grid-row:1/3;background:var(--bg1);border-left:1px solid var(--border1);overflow-y:auto;padding:10px;display:flex;flex-direction:column;gap:6px}
.bt-bottom{grid-column:2;grid-row:2;display:grid;grid-template-columns:1fr 1fr 1fr;border-top:1px solid var(--border1);background:var(--bg0);overflow:hidden}

/* CONTROLS */
.ctrl-heading{font-family:var(--font-hud);font-size:8px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--t3);padding:3px 0 2px;border-bottom:1px solid var(--border0);display:flex;align-items:center;gap:5px}
.ctrl-heading::before{content:'';width:3px;height:3px;background:var(--acid);border-radius:50%;box-shadow:0 0 6px var(--acid);flex-shrink:0}
.ctrl-select,.ctrl-input{width:100%;background:var(--bg3);border:1px solid var(--border1);color:var(--t0);padding:5px 7px;font-family:var(--font-mono);font-size:10px;border-radius:2px;cursor:pointer;transition:border-color .15s;appearance:none}
.ctrl-select:focus,.ctrl-input:focus{outline:none;border-color:var(--neon)}
.ctrl-row{display:grid;grid-template-columns:1fr 1fr;gap:5px}
.ctrl-param{display:flex;flex-direction:column;gap:2px}
.ctrl-param-label{font-size:8px;color:var(--t3);letter-spacing:1px;text-transform:uppercase}
.run-btn{width:100%;padding:10px;font-family:var(--font-hud);font-size:11px;font-weight:800;letter-spacing:3px;text-transform:uppercase;background:linear-gradient(135deg,rgba(0,255,136,.15),rgba(0,229,255,.1));border:1px solid var(--acid2);color:var(--acid);cursor:pointer;border-radius:2px;transition:all .2s;position:relative;overflow:hidden}
.run-btn::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,var(--acid),var(--neon));opacity:0;transition:opacity .2s}
.run-btn span{position:relative;z-index:1}
.run-btn:hover{color:#000;border-color:var(--acid);box-shadow:0 0 20px rgba(0,255,136,.3)}
.run-btn:hover::after{opacity:1}
.run-btn:disabled{opacity:.4;cursor:not-allowed}
.run-btn:disabled::after{display:none}
.data-note{font-size:8px;color:var(--t3);text-align:center;letter-spacing:.5px;line-height:1.5}

/* CHART AREA */
.chart-topbar{position:absolute;top:0;left:0;right:0;height:34px;background:rgba(8,13,24,.95);border-bottom:1px solid var(--border1);display:flex;align-items:center;padding:0 10px;gap:8px;z-index:10;backdrop-filter:blur(8px)}
.chart-sym{font-family:var(--font-hud);font-size:12px;font-weight:700;color:var(--t0)}
.chart-tf{font-family:var(--font-mono);font-size:9px;color:var(--neon);background:rgba(0,229,255,.1);padding:2px 6px;border-radius:2px;border:1px solid rgba(0,229,255,.2)}
.chart-strat{font-family:var(--font-mono);font-size:9px;color:var(--acid);background:rgba(0,255,136,.08);padding:2px 7px;border-radius:2px;border:1px solid rgba(0,255,136,.2)}
.chart-loading{position:absolute;inset:0;background:rgba(4,8,16,.9);display:none;align-items:center;justify-content:center;flex-direction:column;gap:14px;z-index:20}
.chart-loading.show{display:flex}
.loader-ring{width:40px;height:40px;border:2px solid var(--border3);border-top-color:var(--acid);border-radius:50%;animation:spin .7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.loader-text{font-family:var(--font-hud);font-size:9px;letter-spacing:3px;color:var(--t1);animation:blink 1.2s ease infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.4}}
#bt-chart-container{position:absolute;top:34px;left:0;right:0;bottom:0}
.empty-state{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--t3);pointer-events:none}
.empty-icon{font-size:44px;opacity:.3}
.empty-title{font-family:var(--font-hud);font-size:12px;font-weight:700;letter-spacing:3px;text-transform:uppercase}
.empty-sub{font-size:9px;letter-spacing:1px}

/* METRICS */
.metrics-title{font-family:var(--font-hud);font-size:8px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--t2);padding-bottom:6px;border-bottom:1px solid var(--border0)}
.metric-card{background:var(--bg2);border:1px solid var(--border1);border-radius:2px;padding:8px;position:relative;overflow:hidden}
.metric-card::before{content:'';position:absolute;top:0;left:0;width:2px;height:100%;background:var(--acid)}
.metric-card.negative::before{background:var(--plasma)}
.metric-card.neutral::before{background:var(--neon)}
.m-label{font-size:7px;color:var(--t3);letter-spacing:2px;text-transform:uppercase;margin-bottom:3px}
.m-value{font-family:var(--font-mono);font-size:20px;font-weight:600;line-height:1}
.m-value.pos{color:var(--acid)}
.m-value.neg{color:var(--plasma)}
.m-value.neu{color:var(--neon)}
.m-sub{font-size:8px;color:var(--t2);margin-top:2px}
.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px}
.metric-mini{background:var(--bg2);border:1px solid var(--border0);border-radius:2px;padding:6px}
.metric-mini .lbl{font-size:7px;color:var(--t3);letter-spacing:1.5px;text-transform:uppercase;margin-bottom:2px}
.metric-mini .val{font-family:var(--font-mono);font-size:12px;font-weight:600}

/* BOTTOM PANELS */
.bot-panel{border-right:1px solid var(--border0);display:flex;flex-direction:column;overflow:hidden}
.bot-panel:last-child{border-right:none}
.bot-panel-title{font-family:var(--font-hud);font-size:7px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--t3);padding:4px 8px;background:var(--bg1);border-bottom:1px solid var(--border0);flex-shrink:0}
.bot-canvas-wrap{flex:1;min-height:0;padding:4px;position:relative}
.bot-canvas-wrap canvas{max-height:100%!important}
.trade-log-wrap{flex:1;overflow-y:auto}
.tl-table{width:100%;border-collapse:collapse}
.tl-table thead th{position:sticky;top:0;background:var(--bg2);color:var(--t3);padding:3px 4px;font-size:7px;letter-spacing:1px;text-transform:uppercase;font-weight:400;border-bottom:1px solid var(--border1);text-align:right}
.tl-table thead th:first-child{text-align:left}
.tl-table td{padding:2px 4px;border-bottom:1px solid rgba(15,30,50,.8);text-align:right;color:var(--t2);font-family:var(--font-mono);font-size:8px}
.tl-table td:first-child{text-align:left;color:var(--t3)}
.tl-table tr:hover td{background:rgba(255,255,255,.025)}
.tag-buy{color:var(--acid);font-weight:600}
.tag-sell{color:var(--plasma);font-weight:600}
.pnl-pos{color:var(--acid)}
.pnl-neg{color:var(--plasma)}

/* STRATEGY VAULT */
#page-strategies.active{display:block;overflow-y:auto}
.vault-container{padding:16px;max-width:1600px;margin:0 auto}
.vault-title{font-family:var(--font-hud);font-size:24px;font-weight:900;letter-spacing:4px;text-transform:uppercase;background:linear-gradient(90deg,var(--acid),var(--neon));-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.apex-banner{background:linear-gradient(135deg,rgba(255,204,0,.12),rgba(255,102,0,.08),rgba(255,204,0,.06));border:1px solid rgba(255,204,0,.4);border-radius:4px;padding:16px;margin-bottom:16px;display:flex;align-items:center;gap:16px;position:relative;overflow:hidden}
.apex-banner::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--solar),var(--orange),var(--solar));animation:shimmer 3s linear infinite}
@keyframes shimmer{0%{background-position:-200%}100%{background-position:200%}}
.filter-bar{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:14px;align-items:center}
.filter-btn{font-family:var(--font-hud);font-size:8px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;padding:4px 10px;border:1px solid var(--border2);background:transparent;color:var(--t2);cursor:pointer;border-radius:2px;transition:all .15s}
.filter-btn:hover{border-color:var(--neon2);color:var(--neon)}
.filter-btn.active{border-color:var(--acid2);color:var(--acid);background:rgba(0,255,136,.06)}
.strat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px}
.strat-card{background:var(--bg2);border:1px solid var(--border1);border-radius:3px;padding:12px;cursor:pointer;transition:all .2s;position:relative;overflow:hidden}
.strat-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--accent-clr,var(--acid)),transparent);transform:scaleX(0);transition:transform .3s}
.strat-card:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(0,0,0,.5);border-color:var(--border3)}
.strat-card:hover::after{transform:scaleX(1)}
.sc-name{font-family:var(--font-hud);font-size:12px;font-weight:700;color:var(--t0)}
.sc-mini-chart{height:42px;background:var(--bg3);border-radius:2px;overflow:hidden;margin:6px 0}
.sc-kpi{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;margin:6px 0}
.sc-kpi-item .lbl{font-size:7px;color:var(--t3);letter-spacing:1px;text-transform:uppercase}
.sc-kpi-item .val{font-family:var(--font-mono);font-size:11px;font-weight:600;margin-top:1px}
.sc-desc{font-size:9px;color:var(--t2);line-height:1.6;margin:5px 0}
.sc-inds{display:flex;gap:3px;flex-wrap:wrap;margin:5px 0}
.ind-tag{font-family:var(--font-mono);font-size:7px;color:var(--t3);background:var(--bg3);padding:1px 5px;border-radius:2px;border:1px solid var(--border0)}
.badge{font-family:var(--font-hud);font-size:6px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;padding:2px 5px;border-radius:2px}
.b-gold{background:rgba(255,204,0,.12);color:var(--solar);border:1px solid rgba(255,204,0,.25)}
.b-silver{background:rgba(160,192,224,.1);color:var(--t1);border:1px solid rgba(160,192,224,.2)}
.b-forex{background:rgba(0,229,255,.1);color:var(--neon);border:1px solid rgba(0,229,255,.2)}
.b-crypto{background:rgba(204,0,255,.1);color:var(--violet);border:1px solid rgba(204,0,255,.2)}
.b-scalp{background:rgba(255,102,0,.1);color:var(--orange);border:1px solid rgba(255,102,0,.2)}
.b-hft{background:rgba(255,51,85,.1);color:var(--plasma);border:1px solid rgba(255,51,85,.2)}
.b-swing{background:rgba(0,255,136,.1);color:var(--acid);border:1px solid rgba(0,255,136,.2)}
.b-apex{background:linear-gradient(135deg,rgba(255,204,0,.2),rgba(255,102,0,.15));color:var(--solar);border:1px solid rgba(255,204,0,.4)}
.sc-btn{width:100%;padding:6px;font-family:var(--font-hud);font-size:8px;font-weight:700;letter-spacing:2px;text-transform:uppercase;background:transparent;border:1px solid;cursor:pointer;border-radius:2px;transition:all .15s;margin-top:6px}

/* LIVE MONITOR */
#page-live.active{display:grid;grid-template-columns:1fr 300px}
.live-main{display:flex;flex-direction:column;overflow:hidden;background:var(--void)}
.live-sidebar{background:var(--bg1);border-left:1px solid var(--border1);display:flex;flex-direction:column;overflow:hidden}
.live-ctrlbar{display:flex;align-items:center;gap:6px;padding:6px 10px;background:var(--bg1);border-bottom:1px solid var(--border1);flex-shrink:0;flex-wrap:wrap}
.live-sym-btn{font-family:var(--font-hud);font-size:9px;font-weight:700;letter-spacing:1.5px;padding:4px 10px;border:1px solid var(--border2);background:transparent;color:var(--t2);cursor:pointer;border-radius:2px;transition:all .15s;text-transform:uppercase}
.live-sym-btn.active{border-color:var(--acid);color:var(--acid);background:rgba(0,255,136,.07)}
.live-sym-btn:hover:not(.active){border-color:var(--border3);color:var(--t0)}
.live-select{background:var(--bg3);border:1px solid var(--border2);color:var(--t0);padding:4px 7px;font-family:var(--font-mono);font-size:9px;border-radius:2px;cursor:pointer}
.live-select:focus{outline:none;border-color:var(--neon)}
#live-chart-container{flex:1;min-height:0;position:relative}
.live-statsbar{display:grid;grid-template-columns:repeat(7,1fr);border-top:1px solid var(--border1);background:var(--bg1);flex-shrink:0}
.live-stat{padding:5px 6px;text-align:center;border-right:1px solid var(--border0)}
.live-stat:last-child{border-right:none}
.ls-lbl{font-size:6px;color:var(--t3);letter-spacing:2px;text-transform:uppercase;margin-bottom:2px}
.ls-val{font-family:var(--font-mono);font-size:13px;font-weight:600}
.side-section{border-bottom:1px solid var(--border0);padding:8px;flex-shrink:0}
.side-heading{font-family:var(--font-hud);font-size:7px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--t3);margin-bottom:6px;display:flex;align-items:center;justify-content:space-between}
.kpi-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px}
.kpi-card{background:var(--bg2);border:1px solid var(--border0);border-radius:2px;padding:6px;text-align:center}
.kpi-card .lbl{font-size:6px;color:var(--t3);letter-spacing:1.5px;text-transform:uppercase;margin-bottom:2px}
.kpi-card .val{font-family:var(--font-mono);font-size:14px;font-weight:700}
.ind-mini-row{display:flex;justify-content:space-between;align-items:center;padding:3px 0;border-bottom:1px solid var(--border0)}
.ind-mini-row:last-child{border-bottom:none}
.ind-name{font-size:8px;color:var(--t2)}
.ind-val{font-family:var(--font-mono);font-size:9px;font-weight:600}
.signal-feed-wrap{flex:1;overflow-y:auto;padding:5px}
.signal-item{display:flex;align-items:center;gap:6px;padding:7px;border-radius:2px;margin-bottom:3px;border:1px solid transparent;animation:slideIn .3s ease}
@keyframes slideIn{from{transform:translateX(16px);opacity:0}to{transform:translateX(0);opacity:1}}
.signal-item.buy{background:rgba(0,255,136,.06);border-color:rgba(0,255,136,.18)}
.signal-item.sell{background:rgba(255,51,85,.06);border-color:rgba(255,51,85,.18)}
.sig-arrow{font-size:16px;font-weight:700;width:20px;text-align:center}
.sig-arrow.buy{color:var(--acid)}
.sig-arrow.sell{color:var(--plasma)}
.sig-info{flex:1}
.sig-name{font-family:var(--font-hud);font-size:8px;font-weight:700;color:var(--t0)}
.sig-price{font-family:var(--font-mono);font-size:8px;color:var(--t2)}
.sig-conf{font-family:var(--font-mono);font-size:8px;font-weight:700;padding:1px 5px;border-radius:2px}
.sig-conf.high{background:rgba(0,255,136,.15);color:var(--acid)}
.sig-conf.med{background:rgba(255,204,0,.15);color:var(--solar)}
.sig-time{font-size:7px;color:var(--t3)}

/* ADVANCED PAGE */
#page-advanced.active{display:grid;grid-template-columns:180px 1fr}
.adv-nav{background:var(--bg1);border-right:1px solid var(--border1);padding:10px;display:flex;flex-direction:column;gap:4px;overflow-y:auto}
.adv-nav-btn{font-family:var(--font-hud);font-size:8px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;padding:8px 10px;border:1px solid var(--border1);background:transparent;color:var(--t2);cursor:pointer;border-radius:2px;transition:all .15s;text-align:left}
.adv-nav-btn:hover{border-color:var(--border3);color:var(--t1)}
.adv-nav-btn.active{border-color:var(--acid);color:var(--acid);background:rgba(0,255,136,.06)}
.adv-nav-section{font-size:7px;color:var(--t3);letter-spacing:2px;text-transform:uppercase;padding:8px 0 3px;border-bottom:1px solid var(--border0);margin-bottom:3px}
.adv-content{overflow-y:auto;padding:14px}
.adv-panel{display:none}
.adv-panel.active{display:block}
.adv-title{font-family:var(--font-hud);font-size:16px;font-weight:900;letter-spacing:3px;text-transform:uppercase;background:linear-gradient(90deg,var(--acid),var(--neon));-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:4px}
.adv-subtitle{font-size:10px;color:var(--t2);margin-bottom:14px;line-height:1.5}
.adv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin-bottom:14px}
.adv-card{background:var(--bg2);border:1px solid var(--border1);border-radius:3px;padding:12px}
.adv-card-title{font-family:var(--font-hud);font-size:9px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--t2);margin-bottom:8px}
.adv-input{width:100%;background:var(--bg3);border:1px solid var(--border1);color:var(--t0);padding:5px 7px;font-family:var(--font-mono);font-size:10px;border-radius:2px;margin-bottom:5px;appearance:none}
.adv-input:focus{outline:none;border-color:var(--neon)}
.adv-btn{font-family:var(--font-hud);font-size:9px;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:7px 14px;background:transparent;border:1px solid var(--neon);color:var(--neon);cursor:pointer;border-radius:2px;transition:all .15s}
.adv-btn:hover{background:var(--neon);color:#000}
.adv-btn.gold{border-color:var(--solar);color:var(--solar)}
.adv-btn.gold:hover{background:var(--solar);color:#000}
.adv-result{background:var(--bg3);border:1px solid var(--border0);border-radius:2px;padding:10px;margin-top:10px;font-family:var(--font-mono);font-size:10px;overflow:auto}
.result-row{display:flex;justify-content:space-between;align-items:center;padding:3px 0;border-bottom:1px solid var(--border0)}
.result-row:last-child{border-bottom:none}
.result-label{color:var(--t2);font-size:9px}
.result-val{font-weight:600}

/* PYTHON LAB */
#page-python.active{display:grid;grid-template-columns:1fr 340px}
.py-editor-area{display:flex;flex-direction:column;overflow:hidden;background:var(--void)}
.py-toolbar{display:flex;align-items:center;gap:8px;padding:7px 12px;background:var(--bg1);border-bottom:1px solid var(--border1);flex-shrink:0}
.py-editor-wrap{flex:1;overflow:hidden;position:relative}
#py-editor{width:100%;height:100%;background:var(--bg0);color:var(--t0);font-family:var(--font-mono);font-size:12px;padding:14px;border:none;outline:none;resize:none;line-height:1.7;tab-size:4}
.py-output-area{background:var(--bg1);border-left:1px solid var(--border1);display:flex;flex-direction:column;overflow:hidden}
.py-out-title{font-family:var(--font-hud);font-size:8px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--t3);padding:6px 10px;border-bottom:1px solid var(--border1)}
.py-result-scroll{flex:1;overflow-y:auto;padding:8px}
.py-metric-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0;border-bottom:1px solid var(--border0)}
.py-metric-row:last-child{border-bottom:none}
.py-m-label{font-size:8px;color:var(--t2)}
.py-m-val{font-family:var(--font-mono);font-size:11px;font-weight:600}
.py-template-bar{padding:6px 10px;border-bottom:1px solid var(--border0);display:flex;gap:4px;flex-wrap:wrap}
.py-tmpl-btn{font-family:var(--font-mono);font-size:8px;padding:2px 7px;border:1px solid var(--border2);background:transparent;color:var(--t2);cursor:pointer;border-radius:2px;transition:all .15s}
.py-tmpl-btn:hover{border-color:var(--neon2);color:var(--neon)}

/* ORDER BOOK */
.ob-container{font-family:var(--font-mono);font-size:10px;background:var(--bg2);border:1px solid var(--border1);border-radius:3px;padding:8px;min-width:300px}
.ob-header{display:flex;justify-content:space-between;margin-bottom:6px;font-size:9px;color:var(--t2)}
.ob-sym{color:var(--t0);font-weight:700;font-size:11px}
.ob-row{display:grid;grid-template-columns:1fr auto auto auto 1fr;gap:0;align-items:center;height:20px;position:relative}
.ob-bid-bar{position:absolute;right:50%;top:2px;height:16px;background:rgba(0,255,136,.15);border-radius:1px}
.ob-ask-bar{position:absolute;left:50%;top:2px;height:16px;background:rgba(255,51,85,.15);border-radius:1px}
.ob-price{font-weight:600;padding:0 5px;z-index:1;font-size:10px}
.bid-price{color:var(--acid);text-align:right}
.ask-price{color:var(--plasma);text-align:left}
.ob-vol{font-size:9px;color:var(--t2);z-index:1}
.bid-vol{text-align:right}
.ask-vol{text-align:left}
.iceberg{text-decoration:underline;text-decoration-style:dashed;opacity:.8}

/* MONTE CARLO */
.mc-bar-chart{display:flex;align-items:flex-end;gap:2px;height:80px;margin:8px 0;border-bottom:1px solid var(--border0)}
.mc-bar{flex:1;background:var(--neon);opacity:.7;border-radius:1px 1px 0 0;min-height:2px;transition:all .3s}
.mc-bar.neg{background:var(--plasma)}
.mc-bar.pos{background:var(--acid)}

/* CORR MATRIX */
.corr-matrix{display:grid;gap:2px}
.corr-cell{display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:9px;font-weight:700;height:36px;border-radius:2px}
.corr-label{font-size:8px;color:var(--t2);text-align:center;padding:2px}

/* MODAL */
.modal-overlay{position:fixed;inset:0;background:rgba(2,4,8,.88);z-index:2000;display:none;align-items:center;justify-content:center;backdrop-filter:blur(4px)}
.modal-overlay.show{display:flex}
.modal-box{background:var(--bg2);border:1px solid var(--border3);border-radius:4px;width:620px;max-width:95vw;max-height:88vh;overflow-y:auto;padding:24px;box-shadow:0 24px 64px rgba(0,0,0,.8);animation:modalIn .25s cubic-bezier(.34,1.56,.64,1)}
@keyframes modalIn{from{transform:scale(.9) translateY(20px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}
.modal-title{font-family:var(--font-hud);font-size:18px;font-weight:900;letter-spacing:2px;text-transform:uppercase;margin-bottom:10px}
.modal-close{float:right;background:none;border:none;color:var(--t3);font-size:20px;cursor:pointer}
.modal-close:hover{color:var(--plasma)}
.rule-list{list-style:none}
.rule-list li{padding:4px 0;border-bottom:1px solid var(--border0);font-size:10px;color:var(--t1);display:flex;align-items:flex-start;gap:7px;line-height:1.5}
.rule-list li::before{content:'▸';color:var(--acid);flex-shrink:0}
.modal-run-btn{width:100%;padding:10px;margin-top:16px;font-family:var(--font-hud);font-size:11px;font-weight:800;letter-spacing:3px;text-transform:uppercase;background:linear-gradient(135deg,var(--acid2),var(--neon));color:#000;border:none;cursor:pointer;border-radius:2px;transition:all .2s}
.modal-run-btn:hover{box-shadow:0 0 20px rgba(0,255,136,.4)}

/* PIE */
.pie-wrap{display:flex;flex-direction:column;align-items:center;padding:6px}
.pie-legend{display:flex;gap:10px;font-family:var(--font-mono);font-size:8px;color:var(--t2);margin-top:5px}
.pie-dot{width:6px;height:6px;border-radius:50%;display:inline-block;margin-right:3px}

/* MISC */
.sep{height:1px;background:var(--border0);margin:5px 0}
.text-pos{color:var(--acid)}
.text-neg{color:var(--plasma)}
.text-neu{color:var(--neon)}
.text-gold{color:var(--solar)}
.text-dim{color:var(--t3)}
.toast{position:fixed;bottom:18px;right:18px;background:var(--bg3);border:1px solid var(--border3);color:var(--t0);padding:9px 14px;border-radius:3px;font-family:var(--font-mono);font-size:10px;box-shadow:0 8px 24px rgba(0,0,0,.5);z-index:5000;animation:toastIn .3s ease;transition:opacity .3s}
@keyframes toastIn{from{transform:translateX(16px);opacity:0}to{transform:translateX(0);opacity:1}}

/* REGIME BADGE */
.regime-badge{font-family:var(--font-hud);font-size:10px;font-weight:700;letter-spacing:2px;padding:4px 10px;border-radius:2px;display:inline-block}
.regime-bull{background:rgba(0,255,136,.15);color:var(--acid);border:1px solid rgba(0,255,136,.3)}
.regime-bear{background:rgba(255,51,85,.15);color:var(--plasma);border:1px solid rgba(255,51,85,.3)}
.regime-range{background:rgba(255,204,0,.15);color:var(--solar);border:1px solid rgba(255,204,0,.3)}
.regime-volatile{background:rgba(255,102,0,.15);color:var(--orange);border:1px solid rgba(255,102,0,.3)}

/* RESPONSIVE */
@media(max-width:900px){
  #page-backtest.active{grid-template-columns:1fr;grid-template-rows:auto 1fr 150px}
  .bt-sidebar,.bt-metrics-panel{display:none}
  .bt-chart-area{grid-column:1;grid-row:1}
  .bt-bottom{grid-column:1;grid-row:2}
  #page-live.active{grid-template-columns:1fr}
  .live-sidebar{display:none}
}
