:root{color-scheme:dark;--bg:#080b0f;--panel:#10151b;--panel2:#151c24;--line:#27313d;--text:#edf2f7;--muted:#8996a5;--accent:#d7b56d;--long:#3ddc97;--short:#ff6678;--exit:#ffbe55;--focus:#8fc8ff}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 "Segoe UI","Microsoft YaHei",sans-serif}main{width:min(1240px,100%);margin:0 auto;padding:24px}header{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;padding:8px 0 22px;border-bottom:1px solid var(--line)}h1{font-size:25px;letter-spacing:.02em;margin:2px 0 0}h2{font-size:14px;margin:0;letter-spacing:.04em}.eyebrow{color:var(--accent);font:11px/1.2 ui-monospace,Consolas,monospace;letter-spacing:.14em;margin:0}.status-row{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.badge{border:1px solid var(--line);padding:5px 9px;border-radius:3px;color:var(--muted);font-size:12px}.badge.safe{border-color:#255c47;color:var(--long)}.badge.ready{border-color:#526d30;color:#b7dc6b}.badge.error{border-color:#6e303a;color:var(--short)}.notice{margin:16px 0;padding:10px 12px;border:1px solid var(--line);background:#0d1218;color:var(--muted)}.notice.error{border-color:#72303b;color:#ff9aa6}.notice.stale{border-color:#6b552d;color:#ffd17a}.decision-grid{display:grid;grid-template-columns:340px 1fr;gap:12px}.decision-panel,.market-panel,.panel{background:var(--panel);border:1px solid var(--line)}.decision-panel{padding:20px;display:flex;flex-direction:column;min-height:190px}.label,.muted{color:var(--muted)}.action{font:700 42px/1 ui-monospace,Consolas,monospace;margin:22px 0 8px;letter-spacing:-.04em}.action.LONG{color:var(--long)}.action.SHORT{color:var(--short)}.action.EXIT{color:var(--exit)}.action.NO_TRADE{color:#aab5c1}.score-line{margin-top:auto;display:flex;align-items:baseline;gap:6px;color:var(--muted)}.score-line strong{font-size:24px;color:var(--text)}.market-panel{display:grid;grid-template-columns:repeat(3,1fr);padding:10px}.metric{padding:16px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:4px}.metric:nth-child(3n){border-right:0}.metric:nth-last-child(-n+3){border-bottom:0}.metric span{color:var(--muted);font-size:12px}.metric strong{font:600 18px ui-monospace,Consolas,monospace}.metric.primary strong{font-size:25px;color:var(--accent)}.content-grid{display:grid;grid-template-columns:2fr 1fr;gap:12px;margin-top:12px}.panel{padding:16px;min-width:0}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.chart-panel{min-height:340px}.chart-panel svg{display:block;width:100%;height:270px;background:#0b1016;border:1px solid #1d2630}.chart-grid{stroke:#1c2732;stroke-width:1}.chart-line{fill:none;stroke:var(--accent);stroke-width:2;vector-effect:non-scaling-stroke}.chart-area{fill:#d7b56d15}.risk-panel dl{margin:0}.risk-panel dl div{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line)}.risk-panel dl div:last-child{border-bottom:0}.risk-panel dt{color:var(--muted)}.risk-panel dd{margin:0;font:600 14px ui-monospace,Consolas,monospace}.list ul{padding-left:18px;margin:0}.list li{margin:7px 0}.history-panel{margin-top:12px}.history{display:grid;gap:1px;background:var(--line)}.history-row{display:grid;grid-template-columns:110px 1fr 90px;gap:12px;padding:11px;background:var(--panel);align-items:center}.history-row time{font-size:12px;color:var(--muted)}button{border:1px solid var(--line);background:var(--panel2);color:var(--text);padding:7px 12px;border-radius:3px;cursor:pointer}button:hover{border-color:#4d5c6c}button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}footer{margin:18px 0 4px;padding-top:16px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}footer strong{color:var(--short)}@media(max-width:800px){main{padding:14px}.decision-grid,.content-grid{grid-template-columns:1fr}.market-panel{grid-template-columns:repeat(2,1fr)}.metric:nth-child(3n){border-right:1px solid var(--line)}.metric:nth-child(2n){border-right:0}.metric:nth-last-child(-n+3){border-bottom:1px solid var(--line)}.metric:nth-last-child(-n+2){border-bottom:0}header{align-items:flex-start;flex-direction:column}.status-row{justify-content:flex-start}.chart-panel svg{height:220px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
