:root{color:#e9f0ed;background:#0b0f10;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select{font:inherit}button:disabled{cursor:not-allowed;opacity:.48}.app{display:grid;grid-template-columns:300px minmax(0,1fr);min-height:100vh;background:linear-gradient(135deg,#121919f5,#0c0e0ffa),radial-gradient(circle at 74% 18%,rgba(199,181,106,.16),transparent 32%)}.sidebar{display:flex;flex-direction:column;gap:20px;min-height:100vh;padding:24px;border-right:1px solid rgba(154,169,163,.16);background:#0d1112e0}.brand{display:flex;align-items:center;gap:12px;min-width:0}.brand svg{color:#c7b56a;flex:0 0 auto}h1,h2,p{margin:0}h1{font-size:18px;font-weight:700;letter-spacing:0}.brand p,.eyebrow,.metric span,.position-pill span,.status-panel span,.positions-bar>span{color:#93a09b;font-size:12px}.control-group{display:flex;flex-direction:column;gap:8px}.control-group label,.control-group>span{color:#c6cfcb;font-size:13px;font-weight:700}input,select{width:100%;height:42px;color:#edf5f1;border:1px solid rgba(154,169,163,.28);border-radius:6px;background:#121819;padding:0 12px;outline:none}input:focus,select:focus{border-color:#c7b56a;box-shadow:0 0 0 3px #c7b56a29}.segmented{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;border-radius:7px;background:#111718;border:1px solid rgba(154,169,163,.18)}.segmented button,.icon-button{color:#dce4e0;border:0;border-radius:5px;background:transparent;cursor:pointer}.segmented button{height:34px;font-size:13px;text-transform:uppercase}.segmented button.active{color:#101416;background:#c7b56a}.button-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;border:1px solid rgba(154,169,163,.22);background:#151c1d}.icon-button.primary{color:#101416;background:#b6d8cb;border-color:#b6d8cb}.icon-button.active-toggle{color:#101416;background:#c7b56a;border-color:#c7b56a}.helper-text{color:#93a09b;font-size:11px}.helper-text.ready{color:#74c9a8}.status-panel{display:grid;gap:10px;padding-top:2px}.status-panel div{display:flex;align-items:center;gap:8px}.status-panel svg{color:#74c9a8}.error{color:#ffb0a7;border:1px solid rgba(210,73,73,.4);border-radius:6px;background:#d249491f;padding:10px;font-size:13px}.workspace{display:flex;flex-direction:column;gap:18px;min-width:0;min-height:100vh;padding:24px}.topbar{display:flex;align-items:end;justify-content:space-between;gap:20px}.topbar-actions{display:flex;align-items:end;gap:12px}.eyebrow{color:#c7b56a;font-weight:700;text-transform:uppercase}h2{margin-top:4px;font-size:28px;letter-spacing:0}.stats{display:grid;grid-template-columns:repeat(3,minmax(96px,1fr));gap:10px;min-width:320px}.chart-functions{position:relative}.function-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:10;width:260px;max-height:min(520px,calc(100vh - 120px));overflow-y:auto;padding:8px;border:1px solid rgba(154,169,163,.22);border-radius:8px;background:#111718;box-shadow:0 20px 60px #0000006b}.function-option{display:grid;grid-template-columns:22px 1fr;gap:10px;align-items:center;min-height:42px;padding:7px;border-radius:6px;cursor:pointer}.function-option:hover{background:#9aa9a314}.function-option input{position:absolute;opacity:0;pointer-events:none}.checkmark{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border:1px solid rgba(154,169,163,.36);border-radius:5px;color:#101416;background:#151c1d}.function-option input:checked+.checkmark{border-color:#c7b56a;background:#c7b56a}.function-option strong,.function-option small{display:block}.function-option strong{color:#edf5f1;font-size:13px}.function-option small{margin-top:2px;color:#93a09b;font-size:11px}.menu-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;margin-top:8px}.menu-actions button{min-width:0;height:34px;padding:0 6px;color:#dce4e0;border:1px solid rgba(154,169,163,.22);border-radius:5px;background:#151c1d;cursor:pointer;font-size:12px}.menu-actions button:hover{border-color:#c7b56a75;color:#f5fbf8}.metric{min-width:0;padding:12px;border:1px solid rgba(154,169,163,.18);border-radius:6px;background:#111718c7}.metric strong{display:block;margin-top:4px;color:#f5fbf8;font-size:16px;overflow-wrap:anywhere}.strategy-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),280px));justify-content:start;align-items:stretch;gap:10px;min-width:0}.strategy-strip>span{color:#93a09b;font-size:13px}.strategy-card{display:grid;grid-template-rows:auto minmax(44px,1fr) auto;gap:9px;width:100%;min-height:132px;min-width:0;padding:12px;border:1px solid rgba(154,169,163,.18);border-left-width:3px;border-radius:6px;background:#111718c7}.strategy-card.bullish{border-left-color:#74c9a8}.strategy-card.bearish{border-left-color:#ff9f94}.strategy-card.neutral{border-left-color:#c7b56a}.strategy-card.neutral strong{color:#c7b56a}.strategy-card div,.strategy-card footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.strategy-card span,.strategy-card p{color:#93a09b;font-size:12px}.strategy-card strong{color:#f5fbf8;font-size:13px}.strategy-card p{min-height:32px;line-height:1.35}.ai-panel{display:grid;gap:8px;padding:12px;border:1px solid rgba(116,201,168,.24);border-radius:6px;background:#121f1cc7}.ai-panel div{display:flex;align-items:center;justify-content:space-between;gap:12px}.ai-panel strong{color:#f5fbf8;font-size:13px}.ai-panel span,.ai-panel p{color:#93a09b;font-size:12px}.ai-panel p{line-height:1.45;white-space:pre-wrap}.risk-panel{display:grid;gap:12px;min-width:0;padding:12px;border:1px solid rgba(140,200,255,.26);border-radius:6px;background:#0d1418c7}.risk-header{display:flex;align-items:end;justify-content:space-between;gap:14px;min-width:0}.risk-status{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:30px;padding:0 10px;border:1px solid rgba(154,169,163,.22);border-radius:5px;color:#dce4e0;background:#111718c7;font-size:12px;font-weight:800}.risk-status.approved{color:#c7f1e1;border-color:#74c9a86b;background:#1f534338}.risk-status.blocked{color:#ffc2ba;border-color:#ff9f945c;background:#5f2a2838}.risk-status.stale{color:#ffd5aa;border-color:#c7b56a57;background:#c7b56a14}.risk-ticket,.risk-limit-grid,.risk-rule-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,132px),1fr));gap:10px;min-width:0}.risk-ticket-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-self:end;min-width:min(100%,260px)}.risk-ticket .backtest-field:first-child{grid-column:span 1}.risk-controls{display:grid;grid-template-columns:minmax(132px,.5fr) minmax(180px,1fr) minmax(112px,.4fr);gap:10px;align-items:end;min-width:0}.risk-news-field{min-width:0}.risk-order-response{display:grid;grid-template-columns:90px minmax(0,1fr) minmax(120px,.5fr);gap:10px;align-items:center;min-height:38px;padding:8px 10px;border:1px solid rgba(154,169,163,.16);border-radius:6px;background:#0d111285}.risk-order-response strong{color:#f5fbf8;font-size:12px}.risk-order-response span,.risk-order-response small{color:#93a09b;font-size:12px;overflow-wrap:anywhere}.risk-order-response.accepted,.risk-order-response.filled{border-color:#74c9a852}.risk-order-response.rejected{border-color:#ff9f9452}.risk-rule-list{display:grid;min-width:0;overflow-x:auto;border:1px solid rgba(154,169,163,.16);border-radius:6px}.risk-rule-row{display:grid;grid-template-columns:72px minmax(128px,.8fr) minmax(220px,1.4fr) minmax(140px,.7fr);gap:10px;align-items:center;min-width:700px;min-height:36px;padding:0 10px;border-top:1px solid rgba(154,169,163,.12)}.risk-rule-row:first-child{border-top:0}.risk-rule-row span{font-size:11px;font-weight:900}.risk-rule-row strong{color:#f5fbf8;font-size:12px}.risk-rule-row small,.risk-rule-row em{color:#93a09b;font-size:12px;font-style:normal;overflow-wrap:anywhere}.risk-rule-row.pass span{color:#74c9a8}.risk-rule-row.fail span{color:#ff9f94}.risk-rule-row.warn span{color:#ffd5aa}.level2-panel{display:grid;gap:12px;min-width:0;padding:12px;border:1px solid rgba(199,181,106,.26);border-radius:6px;background:#121614c7}.level2-header{display:flex;align-items:end;justify-content:space-between;gap:14px;min-width:0}.level2-header h3{margin:2px 0 0;color:#f5fbf8;font-size:18px;letter-spacing:0}.level2-summary{display:grid;grid-template-columns:repeat(3,minmax(92px,1fr));gap:8px;min-width:min(100%,360px)}.orderbook-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;min-width:0}.orderbook-side{display:grid;gap:5px;min-width:0}.orderbook-side-title,.orderbook-row,.level2-footer{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:center}.orderbook-side-title{color:#93a09b;font-size:11px;font-weight:800}.orderbook-side-title span:last-child,.orderbook-row span:last-child{text-align:right}.orderbook-row{position:relative;min-height:28px;overflow:hidden;padding:0 8px;border-radius:5px;background:#0d111285;font-variant-numeric:tabular-nums}.orderbook-depth{position:absolute;inset:0 auto 0 0;z-index:0;min-width:0;pointer-events:none}.orderbook-row.bid .orderbook-depth{background:#74c9a829}.orderbook-row.ask .orderbook-depth{background:#ff9f9429}.orderbook-row strong,.orderbook-row span:last-child{position:relative;z-index:1}.orderbook-row strong{color:#f5fbf8;font-size:12px}.orderbook-row.bid strong{color:#a9ead1}.orderbook-row.ask strong{color:#ffbeb7}.orderbook-row span:last-child,.level2-footer{color:#93a09b;font-size:12px}.level2-footer{display:flex;justify-content:space-between}.backtest-panel{display:grid;gap:12px;min-width:0;padding:12px;border:1px solid rgba(116,201,168,.24);border-radius:6px;background:#0d1514c7}.backtest-header{display:flex;align-items:end;justify-content:space-between;gap:14px;min-width:0}.backtest-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,132px),1fr));gap:10px;min-width:0}.backtest-field{display:grid;gap:6px;min-width:0}.backtest-field:first-child{grid-column:span 2}.backtest-field span{color:#93a09b;font-size:11px;font-weight:800}.backtest-field input,.backtest-field select{height:36px;min-width:0}.backtest-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,116px),1fr));gap:8px}.equity-strip{display:flex;align-items:end;gap:3px;min-height:80px;padding:8px;border:1px solid rgba(154,169,163,.16);border-radius:6px;background:#0d111285}.equity-strip span{flex:1 1 0;min-width:3px;border-radius:4px 4px 0 0;background:linear-gradient(180deg,#b6d8cb,#74c9a8)}.backtest-warnings{display:flex;flex-wrap:wrap;gap:6px}.backtest-warnings span{min-height:24px;padding:4px 8px;border:1px solid rgba(199,181,106,.24);border-radius:5px;color:#ffd5aa;background:#c7b56a14;font-size:11px}.backtest-table{display:grid;min-width:0;overflow-x:auto;border:1px solid rgba(154,169,163,.16);border-radius:6px}.backtest-table-head,.backtest-table-row{display:grid;grid-template-columns:minmax(110px,1.1fr) 68px 88px 72px 86px minmax(110px,1fr);gap:10px;align-items:center;min-width:660px;min-height:34px;padding:0 10px}.backtest-table-head{color:#93a09b;background:#0d1112b8;font-size:11px;font-weight:800}.backtest-table-row{border-top:1px solid rgba(154,169,163,.12);color:#c6cfcb;font-size:12px}.backtest-table-row strong.open{color:#74c9a8}.backtest-table-row strong.closed{color:#ff9f94}.backtest-empty{min-height:44px;padding:12px;color:#93a09b;font-size:12px}.data-layer-panel{display:grid;gap:10px;min-width:0}.data-layer-header{display:flex;align-items:end;justify-content:space-between;gap:14px;min-width:0}.data-layer-title{display:flex;align-items:center;gap:10px;min-width:0}.data-layer-title svg{color:#74c9a8;flex:0 0 auto}.data-layer-title h3{margin:2px 0 0;color:#f5fbf8;font-size:18px;letter-spacing:0}.data-layer-badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;min-width:0}.data-layer-badges span,.capability-chip,.missing-data-row span{min-height:24px;padding:4px 8px;border:1px solid rgba(154,169,163,.2);border-radius:5px;color:#dce4e0;background:#111718c7;font-size:11px;font-weight:700}.data-layer-warning{color:#ffd5aa;border:1px solid rgba(199,181,106,.28);border-radius:6px;background:#c7b56a14;padding:9px 10px;font-size:12px;line-height:1.35}.data-layer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:10px;min-width:0}.data-block{display:grid;align-content:start;gap:10px;min-width:0;min-height:146px;padding:12px;border:1px solid rgba(154,169,163,.18);border-radius:6px;background:#111718b8}.corporate-block{grid-column:span 2}.data-block-title{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.data-block-title span{display:inline-flex;align-items:center;gap:6px;min-width:0;color:#f5fbf8;font-size:13px;font-weight:800}.data-block-title small{color:#93a09b;font-size:11px;overflow-wrap:anywhere;text-align:right}.data-kv,.ohlc-grid,.session-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;min-width:0}.data-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;min-width:0}.data-metric,.data-pair{min-width:0}.data-metric span,.data-pair span,.calendar-row small,.corporate-row small,.corporate-row span,.data-empty{color:#93a09b;font-size:11px}.data-metric strong,.data-pair strong{display:block;margin-top:3px;color:#f5fbf8;font-size:13px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.data-metric{min-height:64px;padding:9px;border:1px solid rgba(154,169,163,.16);border-radius:6px;background:#0d111285}.data-pair.wide{grid-column:1 / -1}.data-caps,.missing-data-row{display:flex;flex-wrap:wrap;gap:6px}.capability-chip.enabled{color:#c7f1e1;border-color:#74c9a85c;background:#1f534347}.capability-chip.missing{color:#ffc2ba;border-color:#ff9f9452;background:#5f2a2838}.capability-chip.unknown{color:#d1d9d5;border-color:#9aa9a333}.calendar-list,.corporate-list{display:grid;gap:7px;min-width:0}.calendar-row,.corporate-row{display:grid;grid-template-columns:minmax(64px,.8fr) minmax(54px,.6fr) minmax(0,1fr);gap:8px;align-items:center;min-width:0}.calendar-row strong,.corporate-row strong{color:#f5fbf8;font-size:12px;overflow-wrap:anywhere}.calendar-row span{font-size:11px;font-weight:800}.calendar-row .open{color:#74c9a8}.calendar-row .closed{color:#ff9f94}.calendar-row small,.corporate-row small{overflow-wrap:anywhere}.missing-data-row{padding-top:2px}.missing-data-row span{color:#ffd5aa;border-color:#c7b56a3d;background:#c7b56a14}.chart-shell{position:relative;flex:1 1 420px;min-height:420px;border:1px solid rgba(154,169,163,.16);border-radius:8px;overflow:hidden;background:#101416}.chart-value-rail{position:absolute;top:12px;right:8px;z-index:3;display:grid;gap:6px;justify-items:end;pointer-events:none}.chart-value-pill{display:inline-flex;align-items:center;gap:8px;max-width:min(260px,calc(100vw - 80px));min-height:26px;padding:4px 8px;border:1px solid rgba(154,169,163,.22);border-radius:5px;background:#0d1112db;box-shadow:0 10px 30px #00000047}.chart-value-pill span{color:#93a09b;font-size:10px;font-weight:700}.chart-value-pill strong{color:#f5fbf8;font-size:12px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.chart-value-pill.volume{border-color:#9aa9a34d}.chart-value-pill.rsi{border-color:#8cc8ff70}.chart-value-pill.macd{border-color:#74c9a870}.chart{width:100%;height:100%;min-height:420px}.positions-bar{display:flex;align-items:center;gap:10px;min-height:48px;overflow-x:auto}.position-pill{display:inline-flex;align-items:center;gap:10px;flex:0 0 auto;min-height:38px;padding:0 12px;border:1px solid rgba(154,169,163,.18);border-radius:6px;background:#111718c7}.position-pill strong{font-size:13px}@media(max-width:900px){.app{grid-template-columns:1fr}.sidebar{min-height:auto;border-right:0;border-bottom:1px solid rgba(154,169,163,.16)}.topbar,.topbar-actions,.level2-header,.risk-header{align-items:stretch;flex-direction:column}.risk-controls{grid-template-columns:1fr}.backtest-header{align-items:stretch;flex-direction:column}.chart-functions .icon-button{width:100%}.function-menu{left:0;right:auto;width:min(100%,320px)}.stats{min-width:0}.strategy-strip{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),280px))}.data-layer-header{align-items:stretch;flex-direction:column}.data-layer-badges{justify-content:flex-start}.corporate-block{grid-column:span 1}}@media(max-width:560px){.sidebar,.workspace{padding:16px}.stats,.button-row,.risk-ticket-actions,.level2-summary,.orderbook-grid,.risk-order-response{grid-template-columns:1fr}.backtest-field:first-child{grid-column:span 1}h2{font-size:24px}.strategy-strip,.data-metrics,.data-kv,.ohlc-grid,.session-list,.calendar-row,.corporate-row{grid-template-columns:1fr}}
