:root{--primary:#2563eb;--primary-hover:#1d4ed8;--primary-active:#1e40af;--primary-soft:#eff6ff;--primary-border:#bfdbfe;--primary-text-on:#fff;--bg:#f5f7fb;--surface:#fff;--surface-hover:#f8fafc;--text:#0f172a;--muted:#64748b;--muted-strong:#475569;--border:#e2e8f0;--border-strong:#cbd5e1;--up:#dc2626;--down:#059669;--warn:#d97706;--warn-bg:#fffbeb;--warn-border:#fde68a;--shadow-sm:0 1px 2px #0f172a0d;--shadow-md:0 1px 3px #0f172a0d, 0 1px 2px #0f172a0a;--shadow-lg:0 4px 16px #0f172a0f;--radius:10px;--radius-sm:6px}[data-theme=dark]{--primary:#60a5fa;--primary-hover:#93c5fd;--primary-active:#3b82f6;--primary-soft:#60a5fa1f;--primary-border:#60a5fa52;--primary-text-on:#0b1220;--bg:#0b1220;--surface:#131c2e;--surface-hover:#1a2540;--text:#e2e8f0;--muted:#94a3b8;--muted-strong:#cbd5e1;--border:#1e2a44;--border-strong:#334155;--up:#f87171;--down:#34d399;--warn:#fbbf24;--warn-bg:#fbbf2414;--warn-border:#fbbf2459;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 1px 3px #00000059, 0 1px 2px #00000040;--shadow-lg:0 4px 16px #0006}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body,.card,button,input,select,textarea,table,th,td{transition:background-color .18s,border-color .18s,color .18s}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:PingFang SC,Microsoft YaHei,Noto Sans CJK SC,sans-serif}.app{max-width:1080px;margin:0 auto;padding:16px}header{border-bottom:1px solid var(--border);align-items:center;gap:24px;margin-bottom:16px;padding-bottom:4px;display:flex}header h1{color:var(--text);letter-spacing:.3px;margin:12px 0;font-size:20px}header h1 .brand-dot{background:var(--primary);vertical-align:2px;border-radius:50%;width:8px;height:8px;margin-right:8px;display:inline-block}nav{gap:4px;display:flex}nav button{cursor:pointer;color:var(--muted);background:0 0;border:none;border-bottom:2px solid #0000;padding:8px 14px;font-size:15px;transition:color .15s,border-color .15s}nav button:hover{color:var(--text)}nav button.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin-bottom:14px;padding:18px}.section-title{border-bottom:1px solid var(--border);align-items:baseline;gap:12px;margin:0 0 12px;padding-bottom:10px;display:flex}.section-title-text{color:var(--text);font-size:16px;font-weight:600}.section-title-meta{color:var(--muted);font-size:12px}.more-btn{color:var(--primary);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;margin-left:auto;padding:4px 8px;font-size:13px;transition:background .15s}.more-btn:hover{background:var(--primary-soft)}.summary{flex-wrap:wrap;gap:32px;display:flex}.summary .item .label{color:var(--muted);font-size:13px}.summary .item .value{color:var(--text);margin-top:4px;font-size:22px;font-weight:600}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:right;border-bottom:1px solid var(--border);padding:10px 12px}th:first-child,td:first-child,th:nth-child(2),td:nth-child(2){text-align:left}th{color:var(--muted);background:var(--surface-hover);-webkit-user-select:none;user-select:none;font-weight:500}tbody tr:hover{background:var(--surface-hover)}tbody tr:last-child td{border-bottom:none}.th-sort{cursor:pointer}.th-sort:hover,.th-sort.active{color:var(--text)}.sort-arrow{color:var(--border-strong);vertical-align:middle;margin-left:4px;font-size:10px;display:inline-block}.th-sort.active .sort-arrow{color:var(--primary)}.up{color:var(--up)}.down{color:var(--down)}.muted{color:var(--muted)}.account-tabs{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.account-tabs button{border:1px solid var(--border);background:var(--surface);color:var(--muted);cursor:pointer;border-radius:999px;padding:5px 14px;font-size:13px;transition:all .15s}.account-tabs button:hover{color:var(--text);border-color:var(--border-strong)}.account-tabs button.active{border-color:var(--primary);color:var(--primary);background:var(--primary-soft);font-weight:600}.warn{color:var(--warn);background:var(--warn-bg);border:1px solid var(--warn-border);border-radius:var(--radius-sm);margin-top:4px;padding:6px 10px;font-size:12px}form.upload{flex-wrap:wrap;align-items:center;gap:12px;display:flex}form.upload input[type=text],form.upload .account-select,form.upload .account-input,.search-input,.login-form input,.passphrase-input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);outline:none;padding:8px 12px;font-size:14px;transition:border-color .15s,box-shadow .15s}form.upload input[type=text]:focus,form.upload .account-select:focus,form.upload .account-input:focus,.search-input:focus,.login-form input:focus,.passphrase-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}form.upload .account-select{cursor:pointer;min-width:150px}form.upload .account-input{width:180px}button.primary{background:var(--primary);color:var(--primary-text-on);border-radius:var(--radius-sm);cursor:pointer;border:none;padding:8px 20px;font-size:14px;font-weight:500;transition:background .15s,transform 50ms}button.primary:hover{background:var(--primary-hover)}button.primary:active{background:var(--primary-active);transform:translateY(1px)}button.primary:disabled{background:var(--border-strong);color:var(--muted);cursor:default;transform:none}.result-ok{color:var(--down)}.result-err{color:var(--up)}ul.skipped{color:var(--muted);margin:8px 0;padding-left:20px;font-size:13px}.settings-title{color:var(--text);margin:0 0 8px;font-size:17px}.settings-actions{align-items:center;gap:12px;margin-top:14px;display:flex}.llm-base-url{text-overflow:ellipsis;white-space:nowrap;max-width:220px;font-size:12px;overflow:hidden}.llm-edit-row>td{background:var(--bg-soft);padding:14px 16px}.llm-form{flex-direction:column;gap:10px;display:flex}.llm-form-row{align-items:center;gap:10px;display:flex}.llm-form-row>label{color:var(--muted);flex:0 0 90px;font-size:13px}.llm-form-row>input[type=text],.llm-form-row>input[type=password]{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);min-width:0;color:var(--text);outline:none;flex:auto;padding:6px 10px;font-size:14px;transition:border-color .15s,box-shadow .15s}.llm-form-row>input[type=text]:focus,.llm-form-row>input[type=password]:focus{border-color:var(--primary-border);box-shadow:0 0 0 2px var(--primary-soft)}.llm-form-check>label{color:var(--text);cursor:pointer;font-size:14px}.llm-form-actions{gap:8px;margin-top:4px;display:flex}button.mini{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-sm);cursor:pointer;color:var(--muted-strong);margin-right:6px;padding:4px 10px;font-size:13px;transition:all .15s}button.mini:hover{border-color:var(--primary-border);color:var(--primary);background:var(--primary-soft)}button.mini:disabled{color:var(--muted);border-color:var(--border);cursor:default;background:0 0}.passphrase-new{border:1px solid var(--primary-border);border-radius:var(--radius-sm);background:var(--primary-soft);color:var(--text);margin:12px 0 0;padding:10px 14px;font-size:14px}.passphrase-new code{color:var(--primary);margin:0 8px;font-family:SF Mono,JetBrains Mono,Menlo,Consolas,monospace;font-size:16px;font-weight:600}.search-box{max-width:420px;position:relative}.search-input{width:100%}.search-dropdown{z-index:10;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);max-height:280px;margin:4px 0 0;padding:4px 0;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.search-dropdown li{cursor:pointer;padding:7px 12px;font-size:14px}.search-dropdown li.active{background:var(--primary-soft);color:var(--primary)}.search-dropdown li.search-hint{color:var(--muted);cursor:default}.search-code{width:64px;color:var(--muted);display:inline-block}.search-market{color:var(--warn);border:1px solid var(--warn-border);background:var(--warn-bg);border-radius:3px;margin-right:6px;padding:0 4px;font-size:11px;line-height:16px;display:inline-block}.form-err{margin-top:8px;font-size:13px}tr.watch-row{cursor:pointer}tr.chart-row td{text-align:left;background:var(--surface-hover)}.chart-header{align-items:center;gap:16px;margin-bottom:8px;display:flex}.chart-header b{color:var(--text)}.days-switch button.active{border-color:var(--primary);color:var(--primary);background:var(--primary-soft)}.chart-wrap{position:relative}.candle-chart{width:100%;height:auto;display:block}.candle-chart .grid{stroke:var(--border);stroke-width:1px}.candle-chart .axis-label{fill:var(--muted);font-size:11px}.candle-chart .crosshair{stroke:var(--muted);stroke-width:1px;stroke-dasharray:3 3}.candle-chart .candle-up{fill:var(--up);stroke:var(--up)}.candle-chart .candle-down{fill:var(--down);stroke:var(--down)}.chart-tip{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);pointer-events:none;box-shadow:var(--shadow-md);color:var(--text);padding:3px 8px;font-size:12px;position:absolute;top:4px;left:64px}.chart-empty{text-align:center;padding:24px 0}.login-page{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:16px;display:flex}.login-card{width:100%;max-width:420px;padding:32px}.login-card h1{color:var(--text);margin:0 0 4px;font-size:22px}.login-card h2{color:var(--text);margin-top:20px;font-size:15px}.login-divider{border:none;border-top:1px solid var(--border);margin:24px 0 0}.login-form{gap:12px;margin-top:8px;display:flex}.login-form input,.passphrase-input{flex:1;min-width:0}.qr-box{text-align:center;margin-top:8px}.qr-image{border:1px solid var(--border);border-radius:var(--radius-sm);width:200px;height:200px}.user-box{align-items:center;gap:10px;margin-left:auto;display:flex}.role-badge{border:1px solid var(--border);color:var(--muted-strong);background:var(--surface-hover);border-radius:10px;padding:2px 10px;font-size:12px}.role-badge.role-admin{color:var(--primary);border-color:var(--primary-border);background:var(--primary-soft)}.theme-toggle{border:1px solid var(--border);background:var(--surface);width:32px;height:32px;color:var(--muted-strong);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:all .15s;display:inline-flex}.theme-toggle:hover{color:var(--primary);border-color:var(--primary-border);background:var(--primary-soft)}.theme-toggle svg{width:16px;height:16px}@media (width<=768px){body{font-size:14px}.app{padding:10px}header{flex-wrap:wrap;align-items:center;gap:8px;padding-bottom:8px}header h1{margin:4px 0;font-size:17px}.user-box{gap:6px}.user-box button.mini{padding:2px 8px;font-size:12px}.role-badge{padding:1px 7px;font-size:11px}.theme-toggle{width:28px;height:28px}.theme-toggle svg{width:14px;height:14px}header nav{-webkit-overflow-scrolling:touch;border-top:1px solid var(--border);scrollbar-width:thin;order:3;gap:0;width:100%;margin-top:4px;display:flex;overflow-x:auto}header nav button{white-space:nowrap;flex-shrink:0;padding:9px 14px;font-size:14px}.card{padding:14px}.account-tabs{gap:6px;margin-bottom:10px}.account-tabs button{padding:4px 10px;font-size:12px}table{table-layout:fixed;width:100%;font-size:12px}th,td{overflow-wrap:anywhere;word-break:break-all;padding:6px 8px}.m-cell-name{line-height:1.35}.m-strong{color:var(--text);font-size:14px;font-weight:600;display:block}.m-sub{color:var(--muted);margin-top:1px;font-size:11px;display:block}.m-cell-stacked{line-height:1.5}.m-cell-stacked>*{display:block}.m-cell-stacked>*+*{margin-top:1px}.cell-pnl .up,.cell-pnl .down{font-weight:500}td.cell-price{text-align:right;white-space:nowrap;font-size:13px;font-weight:600}th{white-space:normal}th:first-child,td:first-child{text-align:left}.summary{grid-template-columns:1fr 1fr;gap:12px 16px;display:grid}.summary .item .value{font-size:18px}.search-input,form.upload input[type=text],form.upload .account-input,.login-form input,.passphrase-input{font-size:16px}form.upload{gap:8px}form.upload input[type=text],form.upload .account-select,form.upload .account-input{flex:100%;width:auto}.login-card{padding:22px 18px}.login-card h1{font-size:19px}.qr-image{width:180px;height:180px}.chart-header{flex-wrap:wrap;gap:6px 8px}.chart-header b{width:100%}.days-switch{font-size:12px}button.mini{margin-right:4px;padding:3px 8px;font-size:12px}td .mini+.mini{margin-left:0}.passphrase-new{word-break:break-all}}.ai-review-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.ai-review-config{flex-wrap:wrap;gap:14px;margin-top:10px;font-size:13px;display:flex}.ai-review-meta{border-bottom:1px dashed var(--border);flex-wrap:wrap;gap:14px;margin-bottom:12px;padding-bottom:10px;font-size:13px;display:flex}.ai-review-content{font-size:14px;line-height:1.7}.ai-review-content h2{color:var(--primary);margin:18px 0 8px;font-size:17px}.ai-review-content h3{margin:14px 0 6px;font-size:15px}.ai-review-content p{margin:6px 0}.ai-review-content ul{margin:6px 0;padding-left:22px}.ai-review-content li{margin:3px 0}.ai-review-content code{background:var(--bg-soft);border-radius:3px;padding:1px 6px;font-family:ui-monospace,monospace;font-size:12.5px}.ai-review-content .md-table{border-collapse:collapse;width:100%;margin:8px 0;font-size:13px}.ai-review-content .md-table th,.ai-review-content .md-table td{border:1px solid var(--border);text-align:left;padding:5px 8px}.ai-review-content .md-table th{background:var(--bg-soft);font-weight:600}
