:root{--bg:#0b0e11;--panel:#12161c;--line:#1e2329;--text:#eaecef;--muted:#848e9c;--green:#0ecb81;--teal:#14b8a6;--red:#f6465d;--yellow:#f0b90b;--gold:#d4a017;--chip:#1a1f27;--pink:#e879a9;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}html,body,#app{height:100%}html,body,*{scrollbar-width:none;-ms-overflow-style:none}::-webkit-scrollbar{background:0 0;width:0!important;height:0!important;display:none!important}body{color:var(--text);-webkit-font-smoothing:antialiased;background:#1a1a1a;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,PingFang SC,Microsoft YaHei,sans-serif;overflow:hidden}button,input{color:inherit;font-family:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}button:active{filter:brightness(1.12)}button:focus-visible,input:focus-visible{outline:1px solid var(--yellow);outline-offset:1px}input{font-size:16px}.stage{justify-content:center;height:100%;display:flex}.phone{background:var(--bg);width:100%;max-width:430px;height:100%;padding-top:env(safe-area-inset-top);flex-direction:column;display:flex;position:relative;overflow:hidden}@media (min-width:840px){.stage{align-items:center;padding:16px}.phone{border:1px solid #2a2a2a;border-radius:28px;height:min(844px,100%);box-shadow:0 20px 60px #0000008c}}.status{height:28px;color:var(--muted);flex-shrink:0;justify-content:space-between;align-items:flex-end;padding:0 16px 4px;font-size:11px;display:flex}.screen-slot{flex-direction:column;flex:1;min-height:0;display:flex}.screen{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.top{border-bottom:1px solid var(--line);flex-shrink:0;align-items:center;padding:2px 12px 6px;display:flex}.sym-btn{text-align:left;background:0 0;border:0;min-height:44px;padding:0 8px 0 0}.sym{letter-spacing:-.02em;font-size:18px;font-weight:800}.sym small{color:var(--muted);font-weight:500}.sym-sub{color:var(--muted);margin-top:1px;font-size:10px}.px{text-align:right;margin-left:auto}.px .p{font-variant-numeric:tabular-nums;font-size:18px;font-weight:800;line-height:1.1}.px .c{font-size:11px;font-weight:700}.up{color:var(--green)}.dn{color:var(--red)}.gold{color:#e8c07a}.tf{border-bottom:1px solid var(--line);flex-shrink:0;gap:2px;padding:2px 8px;display:flex}.tf button{color:var(--muted);background:0 0;border:0;border-radius:5px;min-height:36px;padding:6px 10px;font-size:12px;font-weight:700}.tf button.on{background:var(--chip);color:var(--text)}.chart-block{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.chart-wrap{background:linear-gradient(#10151c,#0b0e11);flex-direction:column;flex:1;min-height:120px;display:flex;position:relative}.chart{flex:1;min-height:72px;position:relative}.macd{border-top:1px solid #1a2030;flex-shrink:0;height:72px;position:relative}.macd .lab{color:var(--muted);z-index:1;pointer-events:none;font-size:9px;position:absolute;top:2px;left:6px}.macd canvas,.chart canvas{width:100%;height:100%;display:block}.ma{z-index:1;pointer-events:none;gap:6px;font-size:9px;display:flex;position:absolute;top:4px;left:8px}.todo-mark,.study-note{color:#5c6570;pointer-events:none;z-index:3;text-align:right;max-width:70%;font-size:9px;position:absolute;bottom:4px;right:6px}.tv-host{z-index:2;display:none;position:absolute;inset:0;overflow:hidden}.tv-host.on{display:block}.tv-host iframe{background:#0b0e11;border:0;width:100%;height:100%;display:block}.chart-mask{color:var(--muted);z-index:3;text-align:center;background:#0b0e11b8;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:12px;font-size:12px;display:flex;position:absolute;inset:0 0 44px}.ind-bar{border-top:1px solid var(--line);background:#0f1318;flex-shrink:0;align-items:stretch;height:44px;display:flex}.ind-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:1;align-items:center;gap:2px;min-width:0;padding:0 4px;display:flex;overflow:auto hidden}.ind-scroll button{color:var(--muted);background:0 0;border:0;flex:none;min-height:44px;padding:0 10px;font-size:12px;font-weight:700}.ind-scroll button.on{color:var(--yellow)}.ind-gear{border:0;border-left:1px solid var(--line);color:var(--muted);background:#12161c;flex:0 0 44px;min-height:44px;font-size:16px}.sum{background:var(--panel);border-bottom:1px solid var(--line);padding:6px 10px 4px}.sum-row{grid-template-columns:1fr 1fr;gap:8px;font-size:12px;line-height:1.35;display:grid}.sum-row .k{color:var(--text)}.sum-row .bias{color:var(--teal);font-weight:700}.sum-row .sub{gap:10px;margin-top:1px;font-size:11px;display:flex}.res{background:var(--panel);border-bottom:1px solid var(--line);padding:6px 10px 7px;font-size:12px;line-height:1.45}.res-line{margin-bottom:3px}.res-line .lab,.res-warn-line .lab{color:var(--muted);font-weight:600}.res-line .val{color:#e8a93a;font-weight:700}.res-line .bias{color:var(--teal);font-weight:600}.res-warn-line .htf{color:var(--yellow)}.res-warn-line .risk{color:var(--green)}.res-src{color:var(--muted);margin-top:3px;font-size:10px}#alert-block.hid{display:none}.split{background:var(--bg);border:0;border-top:1px solid #2a2f36;flex-shrink:0;width:100%;height:16px;position:relative}.split .knob{background:#1a1f27;border:1px solid #5a6570;border-bottom:none;border-radius:18px 18px 0 0;justify-content:center;align-items:center;width:44px;height:16px;display:flex;position:absolute;top:0;left:50%;transform:translate(-50%,-55%)}.split .knob i{border-bottom:2px solid #eaecef;border-right:2px solid #eaecef;width:10px;height:10px;margin-top:-3px;display:block;transform:rotate(45deg)}.split.collapsed .knob i{margin-top:4px;transform:rotate(-135deg)}.ops{overscroll-behavior:contain;background:var(--bg);flex-direction:column;flex-shrink:1;gap:5px;min-height:0;max-height:48%;padding:4px 8px 6px;display:flex;overflow:hidden auto}.stat{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:10px;display:flex}.stat .on{color:var(--teal)}.stat .off{color:var(--red)}.stat .gold{color:var(--yellow)}.modes{grid-template-columns:1fr 1fr 44px;align-items:center;gap:6px;display:grid}.modes button{border:1px solid var(--line);background:var(--chip);color:var(--muted);border-radius:8px;min-height:44px;font-size:12px;font-weight:700}.modes button.on{border-color:var(--yellow);color:var(--text);background:#2a2416}.modes .gear{border-radius:8px;width:44px;min-height:44px;font-size:16px}.hjs{grid-template-columns:1.1fr .9fr 1fr 1fr;gap:4px;display:grid}button.cell{appearance:none;width:100%}.hjs .cell{text-align:center;background:#141a22;border:1px solid #2a323c;border-radius:6px;justify-content:center;align-items:center;min-height:44px;padding:4px 2px;font-size:12px;font-weight:700;display:flex}.hjs .lab{color:#d1d5db;background:#0f141a}.hjs .field{background:#141a22;border-color:#3a4450}.hjs .field input{color:#5eead4;text-align:center;background:0 0;border:0;outline:none;width:100%;min-width:0;font-size:16px;font-weight:700}.hjs .act{color:#e5e7eb;background:#1c2430}.hjs .act.main{background:#1a2834}.hjs .act.purple{color:#fff;background:#6b21a8;border-color:#6b21a8}.bow{flex-direction:column;gap:4px;display:flex}.bow3{grid-template-columns:1fr 1fr 1fr;gap:4px;min-width:0;display:grid}.bow-close{grid-template-columns:1fr 1fr 1fr 1fr;gap:4px;display:grid}.combo{background:#1a2e14;border:1px solid #3a4a22;border-radius:8px;grid-template-columns:1.1fr .9fr;gap:0;min-width:0;display:grid;overflow:hidden}.combo .btn{color:#b6f27a;background:0 0;border:0;border-radius:0}.combo .inp{background:#0f1410;border:0;border-left:1px solid #3a4a22;border-radius:0}.combo .inp:before{display:none}.btn{color:#d1d5db;text-align:center;white-space:nowrap;text-overflow:ellipsis;background:#1c2430;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;min-height:44px;padding:0 4px;font-size:12px;font-weight:700;display:flex;overflow:hidden}.btn.sm{min-height:44px;font-size:11px}.btn.teal{color:#66d1c2;background:#285957;border-color:#285957}.btn.green{color:#fff;background:#00643c;border-color:#00643c}.btn.pink{color:#ed9ca7;background:#623b49;border-color:#623b49}.btn.orange{color:#fff;background:#963714;border-color:#963714}.btn.brown{color:#d4a574;background:#3f2e1e;border-color:#5c4030}.btn.lime{color:#b6f27a;background:#1a2e14;border-color:#3a4a22}.btn.gold{color:#f0b90b;background:linear-gradient(#3a3018,#241e10);border-color:#d4a017}.btn.gold-text{color:#f0b90b;background:#141a22;border-color:#2a323c}.btn.navy{color:#fff;background:#1b3a5f;border-color:#1b3a5f}.btn.redsolid{color:#fff;background:#c0392b;border-color:#c0392b}.btn.yellow-text{color:#f0b90b;background:#1c2430;border-color:#2a323c}.btn.mute{color:#9ca3af;background:#141a22;border-color:#2a323c}.btn:disabled{opacity:.55}.inp{background:#202531;border:1px solid #363b48;border-radius:8px;align-items:center;gap:6px;min-width:0;min-height:44px;padding:4px 8px;font-size:12px;display:flex}.inp:before{content:"";background:#66d1c2;border-radius:50%;flex-shrink:0;width:6px;height:6px}.inp label{color:#e3e7ee;white-space:nowrap;font-size:12px}.inp input{color:#66d1c2;text-align:right;background:0 0;border:0;outline:none;flex:1;min-width:0;font-size:16px;font-weight:700}.shared{border-top:1px solid var(--line);padding-top:6px}.shared-row{grid-template-columns:1fr 1fr 1fr 1fr;gap:4px;padding-right:36px;display:grid}.tabs{height:calc(52px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--line);background:var(--panel);flex-shrink:0;grid-template-columns:repeat(4,1fr);display:grid}.tabs button{color:var(--muted);background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:48px;font-size:10px;font-weight:700;display:flex}.tabs button svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.tabs button.on{color:var(--yellow)}.fab{right:10px;bottom:calc(58px + env(safe-area-inset-bottom));color:#111;z-index:20;background:linear-gradient(145deg,#f0b90b,#e28a00);border:0;border-radius:50%;width:48px;height:48px;font-size:13px;font-weight:800;position:absolute;box-shadow:0 8px 24px #f0b90b73}.fab span{margin-top:-2px;font-size:9px;display:block}.ind-sheet,.chat,.params,.ind-edit{z-index:35;background:#00000080;align-items:flex-end;display:none;position:absolute;inset:0}.ind-sheet.on,.chat.on,.params.on,.ind-edit.on{display:flex}.ind-panel,.ind-edit-panel{border-top:1px solid var(--line);width:100%;max-height:72%;padding:8px 12px calc(16px + env(safe-area-inset-bottom));background:#12161c;border-radius:14px 14px 0 0;overflow:auto}.ind-panel .grab,.ind-edit-panel .grab,.grab{background:#3a4250;border-radius:2px;width:36px;height:4px;margin:2px auto 10px}.ind-panel h4{color:var(--muted);margin:8px 0;font-size:12px;font-weight:600}.ind-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.ind-grid button{color:var(--text);background:#1a1f27;border:1px solid #2a323c;border-radius:8px;min-height:44px;font-size:12px;font-weight:700;position:relative}.ind-grid button:disabled{opacity:.25}.ind-grid button.on{border-color:#eaecef;box-shadow:inset 0 0 0 1px #eaecef}.ind-grid button.on:after{content:"✓";color:var(--yellow);font-size:10px;position:absolute;top:2px;right:4px}.ind-more{border:0;border-top:1px solid var(--line);width:100%;min-height:44px;color:var(--text);background:0 0;justify-content:space-between;align-items:center;margin-top:12px;padding:12px 4px;font-size:13px;display:flex}.ind-more span{color:var(--muted)}.ind-list-page{z-index:40;background:#0b0e11;flex-direction:column;display:none;position:absolute;inset:0}.ind-list-page.on{display:flex}.ind-list-h{border-bottom:1px solid var(--line);flex-shrink:0;align-items:center;height:48px;padding:0 8px;display:flex}.ind-list-h .back{color:var(--text);background:0 0;border:0;width:44px;height:44px;font-size:28px}.ind-list-h .title{text-align:center;flex:1;margin-right:44px;font-size:16px;font-weight:700}.ind-list-body{overscroll-behavior:contain;flex:1;padding:0 0 20px;overflow:auto}.ind-sec{color:var(--muted);padding:10px 16px 4px;font-size:12px}.ind-row{width:100%;min-height:56px;color:var(--text);text-align:left;background:0 0;border:0;border-bottom:1px solid #161b22;align-items:center;padding:12px 16px;display:flex}.ind-row .name{font-size:15px;font-weight:700}.ind-row .desc{color:var(--muted);margin-top:2px;font-size:11px}.ind-row .chev{color:var(--muted);margin-left:auto;font-size:18px}.ind-edit{z-index:45}.ind-edit-panel h3{margin-bottom:12px;font-size:16px;font-weight:700}.ind-fields{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px;display:grid}.ind-fields .f{background:#1a1f27;border:1px solid #2a323c;border-radius:8px;min-height:44px;padding:8px 10px}.ind-fields .f span,.ind-fields .f label{color:var(--muted);margin-bottom:4px;font-size:11px;display:block}.ind-fields .f input{width:100%;color:var(--text);background:0 0;border:0;outline:none;font-size:16px;font-weight:700}.ind-style{border:1px solid #2a323c;border-radius:8px;margin-bottom:12px;overflow:hidden}.ind-style .hd,.ind-style .r{grid-template-columns:1.2fr 1fr 1fr;align-items:center;padding:10px;display:grid}.ind-style .hd{color:var(--muted);background:#0f1318;font-size:11px}.ind-style .r{border-top:1px solid #1a2030;font-size:12px}.ind-style .sw{border-radius:3px;width:28px;height:6px;display:inline-block}.ind-style .dot{border-radius:3px;width:14px;height:14px;display:inline-block}.ind-actions,.confirm-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.ind-actions button{border:0;border-radius:8px;min-height:44px;font-size:14px;font-weight:700}.ind-actions .reset{color:var(--text);background:#2a323c}.ind-actions .ok{background:var(--yellow);color:#111}.ind-tip{color:var(--muted);margin:8px 0 0;font-size:10px;line-height:1.4}.list-tip{padding:12px 16px}.confirm-row{margin-top:12px}.risk-pre{white-space:pre-wrap;color:var(--text);margin-bottom:12px;font-family:inherit;font-size:13px;line-height:1.5}.sheet{width:100%;max-height:62%;padding:12px 12px calc(10px + env(safe-area-inset-bottom));background:#0d1117;border-top:1px solid #2a2f36;border-radius:18px 18px 0 0;flex-direction:column;display:flex}.params .sheet{background:#12161c}.sheet-h{justify-content:space-between;align-items:center;margin-bottom:8px;font-size:15px;font-weight:700;display:flex}.sheet-h .brand{align-items:center;gap:8px;display:flex}.sheet-h .logo{border:1.5px solid var(--gold);width:22px;height:22px;color:var(--yellow);border-radius:50%;justify-content:center;align-items:center;font-size:11px;display:flex}.sheet-h .collapse,.sheet-h .x{border:1px solid var(--gold);color:var(--yellow);background:0 0;border-radius:6px;min-height:32px;padding:4px 10px;font-size:12px}.sheet-h .x{color:var(--muted);border:0;min-width:44px;font-size:22px}.ai-tags{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.ai-tags span{color:#c9b28a;background:#1a1610;border:1px solid #5a4a2a;border-radius:999px;padding:3px 9px;font-size:11px}.msgs{overscroll-behavior:contain;flex:1;min-height:48px;overflow:auto}.msg{border-radius:12px;max-width:86%;margin-bottom:8px;padding:8px 10px;font-size:12px;line-height:1.45}.msg.ai{border:1px solid var(--line);background:#1a1f27}.msg.me{color:var(--yellow);background:#2a2416;margin-left:auto}.quick{grid-template-columns:1fr 1fr;gap:6px;margin:6px 0 8px;display:grid}.quick button{border:1px solid var(--gold);color:#e8d5a3;background:0 0;border-radius:8px;min-height:44px;font-size:12px}.composer{align-items:center;gap:8px;display:flex}.composer input{border:1.5px solid var(--gold);min-height:44px;color:var(--text);background:#0d1117;border-radius:10px;outline:none;flex:1;padding:8px 12px;font-size:16px}.composer button{color:#888;background:#3a3a3a;border:0;border-radius:50%;width:44px;height:44px;font-size:12px;font-weight:700}.composer button.ready{background:var(--yellow);color:#111}.ai-foot{color:#6b7280;text-align:center;margin-top:6px;font-size:10px}.param-list{flex-direction:column;flex:1;gap:6px;display:flex;overflow:auto}.list{overscroll-behavior:contain;flex:1;min-height:0;padding:8px;overflow:auto}.card{background:var(--panel);border:1px solid var(--line);color:var(--text);border-radius:10px;margin-bottom:8px;padding:12px}button.card{text-align:left;width:100%}.card.quote,.card.pick{justify-content:space-between;align-items:center;gap:8px;min-height:56px;display:flex}.card.dim{opacity:.7}.card-row{align-items:center;gap:8px;margin-bottom:4px;display:flex}.cloud-card .btn{margin-top:8px}.muted{color:var(--muted);font-size:12px;line-height:1.4}.empty{color:var(--muted);padding:12px 4px;font-size:13px;line-height:1.5}.sec{color:var(--muted);margin:8px 0;font-size:12px}.search-row{flex-shrink:0;padding:8px}.search-row input,.me-form input{width:100%;min-height:44px;color:var(--text);background:#141a22;border:1px solid #2a323c;border-radius:8px;padding:0 12px}.me-form{flex-direction:column;gap:8px;margin-top:8px;display:flex}.me-form label{color:var(--muted);flex-direction:column;gap:4px;font-size:12px;display:flex}.warn{color:#fca5a5;font-size:12px}.link{color:var(--yellow);background:0 0;border:0;min-height:44px;font-weight:700}.auth-page{z-index:80;background:#000000b8;align-items:flex-end;display:flex;position:absolute;inset:0}.auth-card{width:100%;max-height:92%;padding:16px 14px calc(16px + env(safe-area-inset-bottom));background:#12161c;border-top:1px solid #2a323c;border-radius:16px 16px 0 0;overflow:auto}.auth-card h2{margin-bottom:4px;font-size:18px}.auth-tabs{grid-template-columns:1fr 1fr 1fr;gap:6px;margin:12px 0;display:grid}.auth-tabs button{color:#848e9c;background:#141a22;border:1px solid #2a323c;border-radius:8px;min-height:48px;font-weight:700}.auth-tabs button.on{color:#eaecef;background:#2a2416;border-color:#f0b90b}.code-row{gap:8px;display:flex}.code-row input{flex:1}.code-row .btn{flex:0 0 112px}.check{color:#eaecef;align-items:center;gap:8px;min-height:48px;flex-direction:row!important}.check input{width:22px;height:22px}.toasts{left:12px;right:12px;bottom:calc(64px + env(safe-area-inset-bottom));z-index:90;pointer-events:none;flex-direction:column;gap:6px;display:flex;position:absolute}.toast{color:#f0b90b;background:#1a1408;border:1px solid #d4a017;border-radius:8px;padding:10px 12px;font-size:12px;line-height:1.4}

/* collapse = trade panel (ops), not resonance */
.ops.hid{display:none!important}
#alert-block.hid{display:none} /* unused after patch; keep safe */
.split.collapsed{height:48px;min-height:48px;display:flex;align-items:center;justify-content:center;color:var(--yellow);font-size:14px;font-weight:700;letter-spacing:.02em;padding-bottom:env(safe-area-inset-bottom)}
.split.collapsed .knob{display:none}
.split.collapsed:after{content:"打开交易面板"}
.chart-block{flex:1 1 auto}
