html{background:#0b1118}button,select{font-family:inherit}*{box-sizing:border-box}:root{color:#dce4ed;font-synthesis:none;text-rendering:optimizelegibility;background:#0b1118;font-family:Segoe UI,Microsoft YaHei,system-ui,sans-serif}body{min-width:320px;min-height:100vh;margin:0}button,select{font:inherit}button{cursor:pointer}.app{--bg:#0b1118;--panel:#111a24;--panel-2:#151f2b;--border:#263445;--text:#dce4ed;--muted:#8390a2;--quiet:#5e6b7c;--accent:#4f8fe7;--accent-soft:#4f8fe724;--up:#e34f5f;--down:#18a979;--flat:#d69f38;min-height:100vh;color:var(--text);background:var(--bg)}.app.light{--bg:#eef2f5;--panel:#fbfcfd;--panel-2:#f3f6f8;--border:#d7dfe7;--text:#182432;--muted:#657386;--quiet:#8a96a5;--accent-soft:#2d6ebe1a}.topbar{border-bottom:1px solid var(--border);background:var(--panel)}.topbar-inner{justify-content:space-between;align-items:center;gap:20px;width:min(1540px,100%);height:62px;margin:0 auto;padding:0 18px;display:flex}.brand,.top-status,.instrument-title,.source-line{align-items:center;display:flex}.brand{gap:10px}.brand-mark{border:1px solid var(--accent);color:#80b4fa;place-items:center;width:32px;height:32px;font-size:12px;font-weight:750;display:grid}.brand h1{margin:0;font-size:16px;line-height:1.15}.brand p{color:var(--muted);letter-spacing:.4px;margin:3px 0 0;font-size:10px}.top-status{color:var(--muted);gap:9px;font-size:10px}.status-dot{background:var(--down);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #18a97921}.ghost-button{color:var(--text);border:1px solid var(--border);background:0 0;padding:6px 9px}.page-shell{width:min(1540px,100%);margin:0 auto;padding:16px 18px 30px}.selection-bar{border:1px solid var(--border);background:var(--panel);justify-content:space-between;align-items:stretch;gap:14px;display:flex}.asset-tabs,.timeframes,.button-group,.chart-controls{display:flex}.asset-tabs button{min-width:185px;color:var(--muted);border:0;border-right:1px solid var(--border);text-align:left;background:0 0;align-items:baseline;gap:8px;padding:9px 12px;display:flex}.asset-tabs button strong{color:var(--text);font-size:12px}.asset-tabs button span{font-size:9px}.asset-tabs button.active{background:var(--accent-soft);box-shadow:inset 0 -2px var(--accent)}.timeframes{align-items:center;padding-right:8px}.timeframes button,.button-group button,.chart-controls button,.chart-controls select{color:var(--muted);border:1px solid var(--border);background:0 0;margin-left:-1px;padding:6px 9px;font-size:9px}.timeframes button.active,.button-group button.active,.chart-controls button.active{z-index:1;color:#8abbfc;background:var(--accent-soft);border-color:var(--accent);position:relative}.instrument-summary{border:1px solid var(--border);background:var(--panel);border-top:0;justify-content:space-between;align-items:center;gap:18px;min-height:70px;padding:12px 14px;display:flex}.eyebrow{color:var(--muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:5px;font-size:8px;display:block}.instrument-title{flex-wrap:wrap;gap:9px}.instrument-title h2{margin:0;font-size:17px}.instrument-title span{color:var(--muted);font-size:10px}.instrument-title b{margin-left:4px;font-size:15px}.instrument-title small{font-size:9px}.up{color:var(--up)}.down{color:var(--down)}.source-line{flex-wrap:wrap;justify-content:flex-end;gap:8px}.source-line span{color:var(--muted);border:1px solid var(--border);padding:4px 7px;font-size:8px}.main-grid{grid-template-columns:minmax(0,1fr) 330px;align-items:start;gap:12px;margin-top:12px;display:grid}.panel{border:1px solid var(--border);background:var(--panel);min-width:0}.panel-heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;min-height:46px;padding:8px 12px;font-size:11px;display:flex}.panel-heading>div:first-child{align-items:center;gap:10px;display:flex}.panel-heading span{color:var(--muted);font-size:8px;font-weight:400}.chart-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center}.app.dark .chart-controls select{background:var(--panel)}.chart-stage{background:var(--bg);min-height:650px}.chart-canvas{width:100%;height:650px;min-height:650px}.chart-footnote{min-height:36px;color:var(--muted);border-top:1px solid var(--border);justify-content:space-between;gap:15px;padding:8px 12px;font-size:8px;line-height:1.5;display:flex}.research-panel{overflow:hidden}.research-body{padding:11px}.research-note{color:var(--muted);background:var(--panel-2);margin:0 0 12px;padding:9px 10px;font-size:9px;line-height:1.5}.research-note strong{color:var(--text)}.control-group{margin-bottom:9px}.control-group label{color:var(--muted);margin-bottom:4px;font-size:8px;display:block}.button-group button{flex:1}.button-group{width:100%}.probability-section,.distribution-section{border-top:1px solid var(--border);margin-top:13px;padding-top:12px}.section-title{justify-content:space-between;align-items:center;gap:8px;margin-bottom:9px;font-size:9px;display:flex}.section-title span{color:var(--muted);font-size:8px;font-weight:400}.probability-bar{background:var(--panel-2);height:7px;display:flex;overflow:hidden}.probability-bar i{height:100%}.prob-down{background:#7d527d}.prob-flat{background:var(--flat)}.prob-up{background:var(--accent)}.probability-labels{color:var(--muted);justify-content:space-between;margin-top:6px;font-size:8px;display:flex}.distribution-row{color:var(--muted);grid-template-columns:32px 1fr 30px;align-items:center;gap:7px;margin:6px 0;font-size:8px;display:grid}.distribution-row>div{background:var(--panel-2);height:5px;overflow:hidden}.distribution-row i{min-width:2px;height:100%;display:block}.distribution-row b{color:var(--text);text-align:right}.dist-down{background:#7d527d}.dist-neutral{background:var(--flat)}.dist-up{background:var(--accent)}.dist-ambiguous{background:#7f8a99}.distribution-section>small{color:var(--quiet);font-size:8px}.metrics-grid{border:1px solid var(--border);grid-template-columns:1fr 1fr;margin-top:13px;display:grid}.metrics-grid span{min-height:28px;color:var(--muted);border-right:1px solid var(--border);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:5px;padding:6px;font-size:8px;display:flex}.metrics-grid span:nth-child(2n){border-right:0}.metrics-grid span:nth-last-child(-n+2){border-bottom:0}.metrics-grid b{color:var(--text);font-size:9px}.future-section{border-top:1px solid var(--border);margin-top:20px;padding-top:18px}.future-heading{justify-content:space-between;align-items:end;gap:20px;margin-bottom:10px;display:flex}.future-heading h2{margin:0;font-size:14px}.future-heading p{color:var(--muted);margin:0;font-size:9px}.module-slots{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.module-slot{border:1px dashed var(--border);min-height:105px;color:var(--muted);background:#111a2461;flex-direction:column;justify-content:space-between;padding:13px;display:flex}.module-slot.connected{background:var(--panel);border-style:solid}.slot-status{color:var(--quiet);text-transform:uppercase;letter-spacing:1px;font-size:8px}.module-slot h3{color:var(--text);margin:9px 0 4px;font-size:11px}.module-slot p{margin:0;font-size:9px;line-height:1.5}.slot-content{margin-top:12px}.global-footer{width:min(1540px,100%);color:var(--quiet);justify-content:space-between;gap:20px;margin:0 auto;padding:10px 18px 18px;font-size:8px;display:flex}.loading-state{min-height:calc(100vh - 62px);color:var(--muted);place-items:center;font-size:12px;display:grid}@media (width<=1100px){.main-grid{grid-template-columns:1fr}.research-panel{max-width:none}.module-slots{grid-template-columns:1fr 1fr}}@media (width<=720px){.topbar-inner,.selection-bar,.instrument-summary,.future-heading,.global-footer{flex-direction:column;align-items:flex-start}.topbar-inner{height:auto;padding-block:11px}.top-status{justify-content:space-between;width:100%}.selection-bar{gap:0}.asset-tabs{width:100%}.asset-tabs button{flex:1;min-width:0}.timeframes{width:100%;padding:8px}.timeframes button{flex:1}.source-line{justify-content:flex-start}.panel-heading{flex-direction:column;align-items:flex-start}.chart-controls{justify-content:flex-start}.module-slots{grid-template-columns:1fr}.chart-stage,.chart-canvas{height:600px;min-height:600px}}
