:root{--bg: #0b0f17;--bg-soft: #101624;--panel: #151c2c;--panel-2: #1a2337;--border: rgba(120, 160, 224, .16);--text: #e8edf6;--muted: #8b98ad;--accent: #38bdf8;--green: #22c55e;--red: #f87171;--amber: #fbbf24;--violet: #a78bfa;--radius: 8px;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-size:14px}button,input,select,textarea{font:inherit}.page{padding:22px;max-width:1500px;margin:0 auto}.grid{display:grid;gap:14px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.panel-title{font-size:15px;font-weight:600;margin:0 0 12px;display:flex;align-items:center;justify-content:space-between;gap:10px}.muted{color:var(--muted)}.green{color:var(--green)}.red{color:var(--red)}.amber{color:var(--amber)}.btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);background:var(--panel-2);color:var(--text);border-radius:6px;padding:8px 12px;cursor:pointer;transition:.15s}.btn:hover{border-color:var(--accent)}.btn-primary{background:var(--accent);border-color:var(--accent);color:#06121c;font-weight:600}.btn-primary:hover{filter:brightness(1.1)}.btn-danger{color:var(--red);background:#f871711a;border-color:#f8717159}.btn-danger:hover{background:#f8717133;border-color:var(--red)}.btn-sm{padding:5px 9px;font-size:12px}.btn:disabled{opacity:.5;cursor:not-allowed}.input,.select,.textarea{width:100%;background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:8px 10px;outline:none}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent)}.label{display:block;font-size:12px;color:var(--muted);margin:8px 0 4px}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--border);white-space:nowrap}.table th{color:var(--muted);font-weight:500;font-size:12px}.table tr:hover td{background:#38bdf80a}.chip{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:12px;background:var(--panel-2);border:1px solid var(--border)}.metric{font-size:22px;font-weight:700;margin:6px 0 0}.metric-sub{font-size:12px;color:var(--muted);margin-top:4px}.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}.toolbar .spacer{flex:1}.tabs{display:flex;gap:6px;border-bottom:1px solid var(--border);margin-bottom:14px}.tab{padding:8px 12px;color:var(--muted);border-bottom:2px solid transparent;cursor:pointer;background:none;border-top:none;border-left:none;border-right:none}.tab.active{color:var(--text);border-bottom-color:var(--accent)}.alert{padding:10px 12px;border-radius:6px;border:1px solid var(--border);margin-bottom:12px;font-size:13px}.alert-error{border-color:#f8717166;color:var(--red);background:#f8717114}.alert-ok{border-color:#22c55e66;color:var(--green);background:#22c55e14}.score-ring{width:110px;height:110px;border-radius:50%;display:grid;place-items:center;position:relative}.score-ring:before{content:"";position:absolute;top:9px;right:9px;bottom:9px;left:9px;border-radius:50%;background:var(--panel)}.score-ring span{position:relative;font-size:26px;font-weight:800}.chart{width:100%;height:380px}.chart-sm{height:260px}@media (max-width: 1100px){.grid-4,.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-2{grid-template-columns:1fr}}:root{--bg: #05080f;--bg-soft: #0a101d;--panel: rgba(15, 21, 38, .94);--panel-2: #111c32;--panel-3: #16233f;--border: rgba(120, 160, 224, .16);--border-strong: rgba(94, 190, 255, .34);--text: #eaf2ff;--muted: #7e90b2;--accent: #38bdf8;--green: #34d399;--red: #fb7185;--up: #fb7185;--down: #34d399;--amber: #fbbf24;--violet: #a78bfa;--radius: 8px;letter-spacing:0}html,body{height:100%}body{background:linear-gradient(180deg,#04060d,#081120 42%,#04070f);color:var(--text);font-size:14px;-webkit-font-smoothing:antialiased}::selection{background:#38bdf859}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:#0a101d99}::-webkit-scrollbar-thumb{background:#22314f;border-radius:8px;border:2px solid rgba(10,16,29,.8)}html[data-theme=light]{--bg: #f2f5fa;--bg-soft: #e9eef6;--panel: #ffffff;--panel-2: #f2f6fb;--panel-3: #e7edf6;--border: rgba(24, 45, 86, .16);--border-strong: rgba(2, 100, 180, .34);--text: #1b2434;--muted: #64748b;--accent: #0284c7;--green: #059669;--red: #dc2626;--up: #dc2626;--down: #059669;--amber: #d97706;--violet: #7c3aed}html[data-theme=light] body{background:linear-gradient(180deg,#f8fafd,#eef3f9 42%,#f5f8fc)}html[data-theme=light] ::selection{background:#0284c740}html[data-theme=light] ::-webkit-scrollbar-track{background:#182d560f}html[data-theme=light] ::-webkit-scrollbar-thumb{background:#b9c5d6;border:2px solid rgba(255,255,255,.75)}html[data-theme=light] ::-webkit-scrollbar-thumb:hover{background:#9fb4d8}html[data-theme=light] .sidebar{background:linear-gradient(180deg,#fff,#eef3fa)}html[data-theme=light] .topbar{background:#ffffffe0}html[data-theme=light] .search-box,html[data-theme=light] .search-dropdown,html[data-theme=light] .notif-panel{background:#fff}html[data-theme=light] .menu-btn,html[data-theme=light] .sidebar-close,html[data-theme=light] .notif-bell,html[data-theme=light] .theme-btn{background:#f2f6fb}html[data-theme=light] .mini-rec{background:#f8fbfe}html[data-theme=light] .mini-rec:hover{border-color:var(--border-strong)}html[data-theme=light] .stock-row,html[data-theme=light] .score-row,html[data-theme=light] .pred-row,html[data-theme=light] .watch-item,html[data-theme=light] .seal-row,html[data-theme=light] .zt-row,html[data-theme=light] .focus-item,html[data-theme=light] .health-compact div,html[data-theme=light] .structure-row,html[data-theme=light] .chat-bubble,html[data-theme=light] .conv-sidebar,html[data-theme=light] .bot-card,html[data-theme=light] .strategy-card,html[data-theme=light] .saved-row,html[data-theme=light] .model-card,html[data-theme=light] .model-metrics>div,html[data-theme=light] .plan-row,html[data-theme=light] .user-row,html[data-theme=light] .session-row,html[data-theme=light] .sync-job,html[data-theme=light] .ops-group,html[data-theme=light] .settings-section,html[data-theme=light] .runtime-card,html[data-theme=light] .runtime-detail,html[data-theme=light] .tech-chip,html[data-theme=light] .flag-toggle,html[data-theme=light] .feature-row,html[data-theme=light] .member-session-row,html[data-theme=light] .notif-item,html[data-theme=light] .tpl-row,html[data-theme=light] .pref-type,html[data-theme=light] .real-account,html[data-theme=light] .real-order-form,html[data-theme=light] .pool-row,html[data-theme=light] .hero-metric,html[data-theme=light] .field,html[data-theme=light] .stock-search,html[data-theme=light] .search-box,html[data-theme=light] .code-block,html[data-theme=light] .param-help,html[data-theme=light] .watch-card,html[data-theme=light] .status-box,html[data-theme=light] .risk-stats>div,html[data-theme=light] .recommend-metrics span{background:#f8fbfe}html[data-theme=light] .score-ring:before,html[data-theme=light] .score:before{background:#fff}html[data-theme=light] .panel{background:linear-gradient(180deg,#fff,#f6f9fd);box-shadow:0 10px 28px #182d5614}html[data-theme=light] .btn{background:linear-gradient(180deg,#f4f7fb,#e9eef6);box-shadow:0 2px 8px #182d560f}html[data-theme=light] .input,html[data-theme=light] .select,html[data-theme=light] .textarea{background:#fff}html[data-theme=light] .stat-card{background:linear-gradient(180deg,#fff,#f2f6fb)}html[data-theme=light] .index-card,html[data-theme=light] .metric-card,html[data-theme=light] .quote-strip,html[data-theme=light] .recommend-card{background:#fff}html[data-theme=light] .summary-card p{color:var(--text)}html[data-theme=light] .chip{background:#eef4fb;color:var(--muted)}html[data-theme=light] .table td{color:var(--text)}html[data-theme=light] .input::placeholder{color:var(--muted)}html[data-theme=light] .log-viewer{background:#f8fbfe;color:var(--text)}@media print{.ticker,.topbar,.sidebar,.backdrop,.search-wrap,.notif-wrap,.theme-btn,.menu-btn{display:none!important}.main{padding-top:0!important}}::-webkit-scrollbar-thumb:hover{background:#2d4168}.terminal-grid{background-image:linear-gradient(rgba(56,189,248,.028) 1px,transparent 1px),linear-gradient(90deg,rgba(56,189,248,.028) 1px,transparent 1px);background-size:30px 30px}.panel{background:linear-gradient(180deg,#141d34eb,#0b1120f7);border:1px solid var(--border);box-shadow:0 12px 34px #00000047;position:relative;overflow:hidden}.panel:before{content:"";position:absolute;inset:0 0 auto 0;height:1px;background:linear-gradient(90deg,transparent,rgba(56,189,248,.5),transparent);opacity:.55;pointer-events:none}.panel-title{color:var(--text);font-weight:700}.panel-title .muted{font-weight:400}.btn{border-color:var(--border);background:linear-gradient(180deg,#1e2c4ce6,#111a2ef2);box-shadow:0 2px 10px #0000002e}.btn:hover{border-color:var(--border-strong);box-shadow:0 0 0 1px #38bdf82e,0 4px 14px #00000040}.btn-primary{background:linear-gradient(135deg,#38bdf8,#6366f1);border:none;color:#06121c}html[data-theme=light] .btn-primary{background:linear-gradient(135deg,#0284c7,#6366f1);color:#fff}html[data-theme=light] .btn-danger{color:#b91c1c;background:#fee2e2;border-color:#fca5a5}html[data-theme=light] .btn-danger:hover{background:#fecaca;border-color:#ef4444}.input,.select,.textarea{background:#050a14bf;border-color:var(--border)}.input::placeholder{color:#4d5d7c}.table th{color:var(--muted);font-size:12px;text-transform:none}.table td{color:var(--text)}.table tr:hover td{background:#38bdf80f}.chip{background:#18243ee6;border-color:var(--border);color:var(--muted)}.metric{font-size:24px;letter-spacing:0}.grad-text{background:linear-gradient(90deg,#7dd3fc,#a5b4fc,#f0abfc);-webkit-background-clip:text;background-clip:text;color:transparent}.up{color:var(--up)!important}.down{color:var(--down)!important}.risk-绿色,.chip.risk-绿色{color:#34d399!important}.risk-黄色,.chip.risk-黄色{color:#fbbf24!important}.risk-橙色,.chip.risk-橙色{color:#fb923c!important}.risk-红色,.chip.risk-红色{color:#fb7185!important}.live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 #34d3998c;animation:live-pulse 1.6s infinite}@keyframes live-pulse{0%{box-shadow:0 0 #34d39980}70%{box-shadow:0 0 0 7px #34d39900}to{box-shadow:0 0 #34d39900}}.section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.section-head h3{margin:0;font-size:15px;font-weight:700}.score-ring{width:92px;height:92px;border-radius:50%;display:grid;place-items:center;position:relative}.score-ring:before{content:"";position:absolute;top:7px;right:7px;bottom:7px;left:7px;border-radius:50%;background:#0b1222}.score-ring span{position:relative;font-size:22px;font-weight:800}.heat-bar{height:6px;border-radius:999px;background:#ffffff14;overflow:hidden}.heat-bar>i{display:block;height:100%;border-radius:999px}.stat-card{background:linear-gradient(180deg,#16213af2,#0c1221f5);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px}.stat-card .k{color:var(--muted);font-size:12px}.stat-card .v{font-size:22px;font-weight:800;margin-top:6px}.stat-card .s{font-size:12px;color:var(--muted);margin-top:3px}.tag{display:inline-flex;align-items:center;padding:2px 8px;border-radius:6px;font-size:11px;border:1px solid rgba(56,189,248,.22);background:#38bdf814;color:var(--accent)}.empty-state{display:grid;place-items:center;min-height:70px;color:var(--muted);font-size:13px}@media (max-width: 700px){.page{padding:14px}.grid-4,.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 768px){.page{padding:10px 10px 20px}.panel{overflow-x:auto}.table{min-width:560px}.metric{font-size:18px}.toolbar{gap:8px}.section-head{flex-wrap:wrap}.panel-title{font-size:14px}.btn{padding:7px 10px}.input,.select{padding:7px 9px}}.chips{display:flex;gap:8px;flex-wrap:wrap}@media (max-width: 480px){body{padding-bottom:env(safe-area-inset-bottom)}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.sidebar{width:min(86vw,320px)}.btn,.input,.select{min-height:36px}.mode-btn{min-height:34px}}html[data-theme=light] .modal-box,html[data-theme=light] .announcement-modal{background:linear-gradient(180deg,#fff,#f2f6fb);border-color:#0284c74d;box-shadow:0 18px 50px #182d561f}html[data-theme=light] .modal-overlay,html[data-theme=light] .announcement-overlay{background:#182d5647}html[data-theme=light] .modal,html[data-theme=light] .notice-item{background:#fff}html[data-theme=light] .notice-item:hover{background:#f2f6fb}
