:root{--color-bg:#f8f7ff;--color-surface:#ffffff;--color-surface-soft:#f1f0ff;--color-surface-strong:#eceaff;--color-table-row:#f7f6fe;--color-table-row-hover:#e8e5fb;--color-table-row-selected:#eae7ff;--color-table-divider:#deddf2;--color-border:#deddf2;--color-text:#24213b;--color-muted:#6d6a80;--color-primary:#5b5bd6;--color-primary-rgb:91,91,214;--color-primary-contrast:#ffffff;--color-primary-soft:#eceaff;--color-bulk-primary:#5b5bd6;--color-bulk-primary-soft:rgba(91,91,214,0.12);--color-bulk-danger:#dc2626;--color-bulk-danger-soft:rgba(220,38,38,0.09);--color-up:#d94b54;--color-down:#228f71;--color-flat:#6d6a80;--color-trend-tooltip-bg:rgba(255,255,255,0.98);--color-trend-tooltip-border:rgba(71,85,105,0.22);--color-trend-tooltip-text:#0f172a;--color-trend-tooltip-arrow:rgba(255,255,255,0.98);--shadow-panel:0 10px 28px rgba(36,33,59,0.08);--shadow-color-rgb:36,33,59;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--page-max-width:1560px;--sticky-data-head-height:64px;--sticky-toolbar-head-height:49px;--safe-bottom:env(safe-area-inset-bottom,0px);color-scheme:light}:root[data-theme=mist-purple]{--color-bg:#f8f7ff;--color-surface:#ffffff;--color-surface-soft:#f1f0ff;--color-surface-strong:#eceaff;--color-table-row:#f7f6fe;--color-table-row-hover:#e8e5fb;--color-table-row-selected:#eae7ff;--color-table-divider:#deddf2;--color-border:#deddf2;--color-text:#24213b;--color-muted:#6d6a80;--color-primary:#5b5bd6;--color-primary-rgb:91,91,214;--color-primary-contrast:#ffffff;--color-primary-soft:#eceaff;--color-bulk-primary:#5b5bd6;--color-bulk-primary-soft:rgba(91,91,214,0.12);--color-up:#d94b54;--color-down:#228f71;--color-flat:#6d6a80;--color-trend-tooltip-bg:rgba(255,255,255,0.98);--color-trend-tooltip-border:rgba(71,85,105,0.22);--color-trend-tooltip-text:#0f172a;--color-trend-tooltip-arrow:rgba(255,255,255,0.98);--shadow-panel:0 10px 28px rgba(36,33,59,0.08);--shadow-color-rgb:36,33,59;color-scheme:light}:root[data-theme=almond-warm]{--color-bg:#fffbf6;--color-surface:#ffffff;--color-surface-soft:#fff4e8;--color-surface-strong:#f5e6d1;--color-table-row:#fff8f1;--color-table-row-hover:#f4e5d2;--color-table-row-selected:#f0dcc3;--color-table-divider:#ebddcb;--color-border:#ebddcb;--color-text:#3b2a1c;--color-muted:#796b5e;--color-primary:#a45a20;--color-primary-rgb:164,90,32;--color-primary-contrast:#ffffff;--color-primary-soft:#f5e6d1;--color-bulk-primary:#a45a20;--color-bulk-primary-soft:rgba(164,90,32,0.12);--color-up:#cc4e3b;--color-down:#258c67;--color-flat:#796b5e;--shadow-panel:0 10px 28px rgba(59,42,28,0.08);--shadow-color-rgb:59,42,28;color-scheme:light}:root[data-theme=steel-blue]{--color-bg:#f9faff;--color-surface:#ffffff;--color-surface-soft:#f0f4fa;--color-surface-strong:#e6eef8;--color-table-row:#f7f9fd;--color-table-row-hover:#e8eef7;--color-table-row-selected:#dfe9f6;--color-table-divider:#dee3f0;--color-border:#dee3f0;--color-text:#202a44;--color-muted:#687287;--color-primary:#3b6ea8;--color-primary-rgb:59,110,168;--color-primary-contrast:#ffffff;--color-primary-soft:#e6eef8;--color-bulk-primary:#3b6ea8;--color-bulk-primary-soft:rgba(59,110,168,0.12);--color-up:#d24b40;--color-down:#238c64;--color-flat:#687287;--color-trend-tooltip-bg:rgba(255,255,255,0.98);--color-trend-tooltip-border:rgba(71,85,105,0.22);--color-trend-tooltip-text:#0f172a;--color-trend-tooltip-arrow:rgba(255,255,255,0.98);--shadow-panel:0 10px 28px rgba(32,42,68,0.08);--shadow-color-rgb:32,42,68;color-scheme:light}:root[data-theme=coral-ivory]{--color-bg:#fff8f8;--color-surface:#ffffff;--color-surface-soft:#fff0ef;--color-surface-strong:#ffe4e0;--color-table-row:#fff7f6;--color-table-row-hover:#f8e4e2;--color-table-row-selected:#f5dbd8;--color-table-divider:#f0dada;--color-border:#f0dada;--color-text:#3a2528;--color-muted:#7b6669;--color-primary:#c65a4c;--color-primary-rgb:198,90,76;--color-primary-contrast:#ffffff;--color-primary-soft:#ffe4e0;--color-bulk-primary:#c65a4c;--color-bulk-primary-soft:rgba(198,90,76,0.12);--color-up:#d94f45;--color-down:#238c64;--color-flat:#7b6669;--color-trend-tooltip-bg:rgba(255,255,255,0.98);--color-trend-tooltip-border:rgba(71,85,105,0.22);--color-trend-tooltip-text:#0f172a;--color-trend-tooltip-arrow:rgba(255,255,255,0.98);--shadow-panel:0 10px 28px rgba(58,37,40,0.08);--shadow-color-rgb:58,37,40;color-scheme:light}:root[data-theme=dark]{--color-bg:#0d1626;--color-surface:#111c2e;--color-surface-soft:#0f192a;--color-surface-strong:#2b3c4e;--color-table-row:#0d1628;--color-table-row-hover:#223247;--color-table-row-selected:#1b2b3f;--color-table-divider:#1c2a3d;--color-border:#1b2a3e;--color-text:#dce4ef;--color-muted:#8591a3;--color-primary:#22c7e8;--color-primary-rgb:34,199,232;--color-primary-contrast:#08202a;--color-primary-soft:rgba(34,199,232,0.16);--color-bulk-primary:#22c7e8;--color-bulk-primary-soft:rgba(34,199,232,0.16);--color-bulk-danger:#f87171;--color-bulk-danger-soft:rgba(248,113,113,0.14);--color-up:#ff6b73;--color-down:#28d0a1;--color-flat:#9aa7ba;--color-trend-tooltip-bg:rgba(15,23,42,0.96);--color-trend-tooltip-border:rgba(148,163,184,0.22);--color-trend-tooltip-text:#f8fafc;--color-trend-tooltip-arrow:rgba(15,23,42,0.96);--shadow-panel:none;--shadow-color-rgb:0,0,0;color-scheme:dark}*{box-sizing:border-box}body,html{min-height:100%;margin:0;background:var(--color-bg);color:var(--color-text);font-size:13px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;letter-spacing:0}button,input{font:inherit}select option{background:var(--color-surface);color:var(--color-text)}:root[data-theme=dark] select,:root[data-theme=dark] select option{background:#111c2e;color:#dce4ef}:root[data-theme=dark] select option:checked{background:#2b3c4e;color:#ffffff}button{-webkit-tap-highlight-color:transparent}.reduce-motion *,.reduce-motion :after,.reduce-motion :before{animation-duration:.001ms!important;transition-duration:.001ms!important}.app-shell{width:100%;min-height:100vh;margin:0;padding:4px 10px calc(12px + var(--safe-bottom))}.page-frame{width:min(100%,var(--page-max-width));margin:0 auto}.sticky-data-head{top:0;z-index:40;display:grid;gap:6px;padding-top:4px;padding-bottom:6px;box-shadow:0 10px 18px rgba(20,32,52,.08)}.sticky-data-head,.sticky-toolbar-head{position:sticky;background:var(--color-bg)}.sticky-toolbar-head{top:var(--sticky-data-head-height);z-index:39;padding-bottom:1px}.app-footer{width:min(100%,var(--page-max-width));margin:10px auto 0;color:var(--color-muted);font-size:13px;line-height:1.5}.footer-line{height:1px;margin-bottom:8px;background:var(--color-table-divider)}.footer-content{display:grid;gap:2px;text-align:center}.footer-row{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 12px}.footer-content a{color:inherit;text-decoration:none}.footer-content a:hover{color:var(--color-primary);text-decoration:underline}.app-topbar{display:grid;grid-template-columns:minmax(160px,1fr) minmax(360px,640px) minmax(160px,1fr);align-items:center;gap:12px;min-height:48px;margin:0 0 6px;padding:6px 14px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:linear-gradient(180deg,var(--color-surface) 0,var(--color-surface-soft) 100%);box-shadow:var(--shadow-panel)}:root[data-theme=dark] .app-topbar{background:#111c2e}.app-brand{display:inline-flex;align-items:center;gap:10px;min-width:0;color:var(--color-text)}.app-brand-mark{width:34px;height:34px;border-radius:0;object-fit:contain;box-shadow:0 0 0 1px rgba(240,68,68,.08)}.app-brand strong{font-size:16px;font-weight:900;white-space:nowrap}.top-fund-search{position:relative;display:grid;grid-template-columns:minmax(0,1fr);align-items:center;width:100%}.top-search-shell{display:grid;grid-template-columns:auto minmax(0,1fr) 18px 28px 28px;align-items:center;gap:8px;min-height:34px;padding:0 14px 0 18px;border:1px solid var(--color-border);border-radius:28px;background:var(--color-surface-soft);color:var(--color-muted);box-shadow:inset 0 0 0 1px rgba(255,255,255,.6),0 8px 18px rgba(var(--shadow-color-rgb),.08)}:root[data-theme=dark] .top-search-shell{border-color:#1b2a3e;background:#0f192a;box-shadow:inset 0 0 0 1px rgba(255,255,255,.02),0 8px 18px rgba(0,0,0,.22)}.top-fund-search.focused .top-search-shell{border-color:var(--color-primary);box-shadow:inset 0 0 0 1px rgba(var(--color-primary-rgb),.12),0 8px 20px rgba(var(--shadow-color-rgb),.1)}:root[data-theme=dark] .top-fund-search.focused .top-search-shell{border-color:#234a63;box-shadow:inset 0 0 0 1px rgba(34,199,232,.14),0 8px 20px rgba(0,0,0,.28)}.top-search-shell input{min-width:0;border:0;outline:0;background:transparent;color:var(--color-text);font-size:14px}.top-search-shell input::placeholder{color:var(--color-muted)}:root[data-theme=dark] .top-search-shell input::placeholder{color:#789089}.top-search-spinner{animation:spin .8s linear infinite}.top-search-state{display:grid;place-items:center;width:18px;height:28px;opacity:0}.top-search-state.visible{opacity:1}.top-search-camera,.top-search-clear{display:grid;place-items:center;width:28px;height:28px;padding:0;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface);color:var(--color-muted);cursor:pointer}:root[data-theme=dark] .top-search-camera,:root[data-theme=dark] .top-search-clear{border-color:#1b2a3e;background:#111c2e}.top-search-clear{width:28px;height:28px;border-color:transparent;background:transparent;opacity:0;pointer-events:none}.top-search-clear.visible{opacity:1;pointer-events:auto}.top-search-camera:hover,.top-search-clear:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-soft)}.top-search-dropdown{position:absolute;top:calc(100% + 6px);right:0;left:0;z-index:60;max-height:320px;overflow-y:auto;padding:4px 0;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface);box-shadow:0 12px 28px rgba(var(--shadow-color-rgb),.14)}:root[data-theme=dark] .top-search-dropdown{border-color:#1b2a3e;background:#111c2e;box-shadow:0 18px 36px rgba(0,0,0,.3)}.top-search-dropdown p{margin:0;padding:12px 18px;color:var(--color-muted);font-size:12px}.top-search-item{min-height:46px;padding:6px 18px}.scan-result-item,.top-search-item,.top-search-item-main{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;background:transparent;color:var(--color-text)}.scan-result-item,.top-search-item-main{min-height:34px;padding:0;border:0;text-align:left}.scan-result-item{cursor:pointer}.scan-result-item.selected,.scan-result-item:hover,.top-search-item:hover{background:var(--color-table-row-hover)}.scan-result-item.disabled,.top-search-item-add:disabled,.top-search-item:disabled{cursor:not-allowed;opacity:.58}.scan-result-item span,.top-search-item span{display:grid;gap:2px;min-width:0}.scan-result-item strong,.top-search-item strong{overflow:hidden;font-size:14px;line-height:1.18;text-overflow:ellipsis;white-space:nowrap}.scan-result-item small,.top-search-item small{color:var(--color-muted);font-size:12px;line-height:1.15}.scan-result-item i{display:grid;place-items:center;width:18px;height:18px;border:1px solid #b4c2bc;border-radius:5px;font-style:normal;font-size:11px;white-space:nowrap}.scan-result-item.disabled i{width:auto;border:0;color:var(--color-muted)}.top-search-item-add{min-width:56px;height:28px;padding:0 12px;border:0;border-radius:8px;background:var(--color-primary);color:#ffffff;font-size:12px;font-weight:900;cursor:pointer}.top-search-item-add:hover{filter:brightness(1.05)}.scan-import-dialog{width:min(520px,calc(100vw - 28px))}.modal-dialog.fund-import-confirm-dialog{width:min(580px,calc(100vw - 24px));height:min(760px,calc(100dvh - 40px));max-height:calc(100dvh - 40px);min-height:0;overflow:hidden;border-color:var(--color-border);border-radius:24px;background:var(--color-surface-soft);box-shadow:0 18px 30px rgba(var(--shadow-color-rgb),.1)}.fund-import-confirm-dialog .modal-header{display:none}.fund-import-confirm-dialog .modal-body{display:grid;flex:1 1 auto;grid-template-rows:minmax(0,1fr);min-height:0;overflow:hidden;padding:16px}.fund-import-confirm{display:grid;grid-template-rows:auto auto auto minmax(0,1fr) auto;gap:10px;flex:1 1 auto;min-height:0;width:100%;overflow:hidden}.fund-import-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:start}.fund-import-title-row{display:inline-flex;align-items:center;gap:12px;min-width:0}.fund-import-head h2{margin:0;color:var(--color-text);font-size:20px;line-height:1.2}.fund-import-tools p{margin:4px 0 0;color:var(--color-muted);font-size:12px;font-weight:500;line-height:1.25}.fund-import-tools{display:flex;align-items:center;gap:8px}.fund-import-rescan{gap:7px;padding:0 10px;background:var(--color-primary-soft);color:var(--color-primary);font-size:13px;font-weight:800}.fund-import-rescan,.fund-import-tools button:last-child{display:inline-flex;align-items:center;justify-content:center;min-height:36px;border:0;border-radius:12px;cursor:pointer}.fund-import-tools button:last-child{width:36px;padding:0;background:transparent;color:var(--color-muted)}.fund-import-tip{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;border:1px solid #f1d48a;border-radius:12px;background:#fff6e6;color:#9a6700;font-size:12px;font-weight:700;line-height:1.25}.fund-import-tip svg{flex:0 0 auto;color:#c98911}.fund-import-count{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;background:var(--color-surface-strong)}.fund-import-count span{color:var(--color-text);font-size:12px;font-weight:900}.fund-import-count span+span{color:var(--color-muted);font-weight:700}.fund-import-count button{min-height:26px;padding:0 8px;border:0;border-radius:8px;background:transparent;color:var(--color-primary);font-weight:800;cursor:pointer}.fund-import-list{display:grid;align-content:start;gap:6px;min-height:0;scrollbar-gutter:stable;overflow-y:auto;padding-right:2px}.fund-import-item{display:grid;grid-template-columns:18px minmax(0,1fr) minmax(118px,auto);align-items:center;gap:8px;min-height:48px;padding:7px 12px;border:1px solid var(--color-border);border-radius:14px;background:var(--color-surface);color:var(--color-text);text-align:left;cursor:pointer}.fund-import-item.selected{border-color:var(--color-primary);background:var(--color-primary-soft);box-shadow:0 6px 14px rgba(var(--color-primary-rgb),.08)}.fund-import-item i{display:grid;place-items:center;width:18px;height:18px;border:1px solid var(--color-border);border-radius:5px;background:var(--color-surface-soft);color:#ffffff;font-style:normal}.fund-import-item.selected i{border-color:var(--color-primary);background:var(--color-primary)}.fund-import-main,.fund-import-side{display:grid;align-content:center;gap:3px;min-width:0}.fund-import-item strong{overflow:hidden;color:#0f172a;font-size:12px;font-weight:500;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.fund-import-item small{color:#334155;font-size:12px;font-weight:500;line-height:1.2}.fund-import-item em{color:var(--color-muted);font-style:normal}.fund-import-item b,.fund-import-item em{justify-self:end;font-size:12px;font-weight:500;line-height:1.2}.fund-import-item b{max-width:100%;overflow:hidden;color:var(--color-flat);text-overflow:ellipsis;white-space:nowrap}.fund-import-item b.is-up{color:var(--color-up)}.fund-import-item b.is-down{color:var(--color-down)}.fund-import-item span small+small{color:var(--color-muted);font-size:9px;font-weight:600}.fund-import-options{display:grid;gap:6px;padding:12px;border-radius:16px;background:var(--color-surface-strong)}.fund-import-footer{display:grid;gap:10px;min-height:0}.fund-import-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.fund-import-toggle{display:inline-flex;align-items:center;gap:8px;min-width:0;color:var(--color-text);font-size:13px;font-weight:800}.fund-import-toggle span{min-width:0;flex:0 1 auto;white-space:nowrap}.fund-import-platform-name{color:var(--color-up);font-weight:900}.fund-import-toggle input{position:absolute;opacity:0;pointer-events:none}.fund-import-toggle i{position:relative;width:46px;height:28px;border:2px solid #8b949e;border-radius:999px;background:var(--color-surface-strong)}.fund-import-toggle i:after{position:absolute;top:4px;left:4px;width:16px;height:16px;border-radius:999px;background:#475569;content:"";transition:transform .16s ease,background .16s ease}.fund-import-toggle input:checked+i{border-color:var(--color-primary);background:var(--color-primary)}.fund-import-toggle input:checked+i:after{transform:translateX(18px);background:#ffffff}.fund-import-group-select{position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:6px;color:var(--color-muted);font-size:12px;font-weight:700}.fund-import-picker-trigger{display:flex;align-items:center;justify-content:space-between;min-width:0;height:46px;padding:0 38px 0 14px;border:1px solid var(--color-border);border-radius:14px;outline:0;background:var(--color-surface);color:var(--color-text);font-weight:800;text-align:left;cursor:pointer}.fund-import-picker-trigger svg{position:absolute;right:12px;bottom:15px;color:var(--color-muted);pointer-events:none}.fund-import-picker-menu{position:absolute;left:0;right:0;bottom:calc(100% + 6px);z-index:5;display:grid;gap:4px;max-height:190px;overflow:auto;padding:6px;border:1px solid var(--color-border);border-radius:14px;background:var(--color-surface);box-shadow:0 16px 34px rgba(var(--shadow-color-rgb),.18)}.fund-import-picker-menu button{min-height:34px;padding:0 10px;border:0;border-radius:10px;background:transparent;color:var(--color-text);font-weight:800;text-align:left;cursor:pointer}.fund-import-picker-menu button.active,.fund-import-picker-menu button:hover{background:var(--color-primary-soft);color:var(--color-primary)}.fund-import-actions{display:flex;gap:12px;padding-top:2px}.fund-import-actions button{flex:1 1;min-height:48px;border-radius:14px;font-size:16px;font-weight:900}.fund-import-actions button:first-child{border-color:var(--color-border);background:var(--color-surface);color:var(--color-muted)}.fund-import-actions button:last-child{background:var(--color-primary);color:var(--color-primary-contrast)}@media (max-width:767px){.modal-dialog.fund-import-confirm-dialog{width:min(94vw,580px);height:calc(100dvh - 24px);max-height:calc(100dvh - 24px);border-radius:22px}.fund-import-confirm-dialog .modal-body{padding:14px}.fund-import-head{grid-template-columns:1fr}.fund-import-title-row,.fund-import-tools{justify-content:space-between}.fund-import-toggle-row{align-items:stretch;flex-direction:column}.fund-import-toggle{justify-content:space-between;width:100%}.fund-import-actions button{min-height:46px;font-size:15px}}:root[data-theme=dark] .fund-import-confirm-dialog{border-color:#223247;background:#111c2e;box-shadow:0 24px 70px rgba(0,0,0,.42)}:root[data-theme=dark] .fund-import-count span,:root[data-theme=dark] .fund-import-head h2,:root[data-theme=dark] .fund-import-item strong,:root[data-theme=dark] .fund-import-toggle{color:#dce4ef}:root[data-theme=dark] .fund-import-rescan{background:rgba(34,199,232,.16);color:#22c7e8}:root[data-theme=dark] .fund-import-tools button:last-child{background:transparent;color:#8f9db1}:root[data-theme=dark] .fund-import-tip{border-color:rgba(240,177,92,.42);background:rgba(240,177,92,.12);color:#f6bd6f}:root[data-theme=dark] .fund-import-tip svg{color:#f6bd6f}:root[data-theme=dark] .fund-import-count,:root[data-theme=dark] .fund-import-options{background:#0f192a}:root[data-theme=dark] .fund-import-item{border-color:#223247;background:#142238;color:#dce4ef}:root[data-theme=dark] .fund-import-item.selected{border-color:#24b8d8;background:#183047;box-shadow:none}:root[data-theme=dark] .fund-import-item i{border-color:#2b3c4e;background:#0f192a}:root[data-theme=dark] .fund-import-item.selected i{border-color:#24b8d8;background:#24b8d8}:root[data-theme=dark] .fund-import-item small{color:#b7c3d4}:root[data-theme=dark] .fund-import-picker-trigger{border-color:#223247;background:#111c2e;color:#eef5ff}:root[data-theme=dark] .fund-import-picker-menu{border-color:#223247;background:#111c2e;box-shadow:0 18px 38px rgba(0,0,0,.36)}:root[data-theme=dark] .fund-import-picker-menu button{color:#eef5ff}:root[data-theme=dark] .fund-import-picker-menu button.active,:root[data-theme=dark] .fund-import-picker-menu button:hover{background:rgba(34,199,232,.16);color:#22c7e8}:root[data-theme=dark] .fund-import-actions button:first-child{border-color:#223247;background:#0f192a;color:#dce4ef}.scan-import-panel{display:grid;gap:14px}.scan-dropzone{display:grid;place-items:center;gap:8px;min-height:150px;padding:18px;border:1px dashed #b8cac2;border-radius:14px;background:var(--color-surface-soft);color:var(--color-muted);text-align:center;cursor:pointer}.scan-dropzone strong{color:var(--color-text);font-size:16px}.scan-dropzone span{max-width:360px;line-height:1.6}.scan-dropzone.dragging{border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary)}.scan-result-list{display:grid;max-height:300px;overflow-y:auto;border:1px solid var(--color-border);border-radius:12px}.scan-result-list:empty{display:none}.scan-result-item{min-height:64px;padding:0 14px;border-bottom:1px solid var(--color-table-divider);color:var(--color-text)}.scan-result-item:last-child{border-bottom:0}.scan-result-item small{color:var(--color-muted)}.scan-result-item i{border-color:#b4c2bc;color:var(--color-primary)}.app-top-actions,.scan-actions{display:flex;justify-content:flex-end;gap:8px}.app-top-actions{align-items:center;min-width:max-content;grid-column:3;justify-self:end}html.update-announcement-open .app-shell{filter:blur(18px);transform:scale(1.025);transform-origin:center}.app-download-button{height:34px;padding:0 14px;border-radius:12px;background:#f45b55;font-weight:900;white-space:nowrap}.qq-group-button{height:34px;padding:0 12px;border:1px solid var(--color-primary);border-radius:12px;background:var(--color-primary-soft);color:var(--color-primary);font-weight:800;white-space:nowrap}.qq-group-button:hover{background:color-mix(in srgb,var(--color-primary-soft) 76%,var(--color-primary))}.qq-group-button-icon{flex:0 0 22px;width:22px;height:22px;object-fit:contain}.app-top-icon{display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface);color:var(--color-muted)}.app-top-icon:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-soft)}.user-menu-trigger:not(.logged-in){display:inline-flex;align-items:center;justify-content:center;gap:4px;width:auto;min-width:58px;flex:0 0 auto;box-sizing:border-box;padding:0 8px;white-space:nowrap}.user-menu-trigger:not(.logged-in) b{line-height:1;white-space:nowrap}.app-top-icon.active{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-soft)}:root[data-theme=dark] .app-top-icon.active,:root[data-theme=dark] .app-top-icon:hover{border-color:rgba(34,199,232,.35);color:var(--color-primary);background:var(--color-primary-soft)}.app-top-icon.loading{border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.14)}.app-top-icon.loading svg{color:var(--color-primary);filter:drop-shadow(0 0 5px rgba(var(--color-primary-rgb),.32))}.app-settings-trigger,.toolbar-settings-trigger{color:#588cfa}.settings-gear-icon{display:block;width:18px;height:18px}.app-settings-trigger:hover,.toolbar-settings-trigger:hover{border-color:rgba(88,140,250,.35);color:#588cfa;background:rgba(88,140,250,.1)}.theme-guide-anchor{position:relative;display:grid;place-items:center}.theme-floating-hint{position:absolute;top:calc(100% + 12px);right:-12px;z-index:120;display:flex;align-items:center;gap:8px;width:284px;padding:9px 9px 9px 11px;border:1px solid rgba(var(--color-primary-rgb),.22);border-radius:24px 20px 24px 18px;background:color-mix(in srgb,var(--color-surface) 92%,transparent);color:var(--color-text);box-shadow:0 18px 46px rgba(19,32,55,.18);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);animation:theme-hint-pop .26s ease-out}.theme-floating-hint:before{top:-8px;right:22px;width:14px;height:14px;border-top:1px solid rgba(var(--color-primary-rgb),.22);border-left:1px solid rgba(var(--color-primary-rgb),.22);transform:rotate(45deg)}.theme-floating-hint:after,.theme-floating-hint:before{content:"";position:absolute;background:color-mix(in srgb,var(--color-surface) 92%,transparent)}.theme-floating-hint:after{top:-7px;left:26px;width:34px;height:16px;border-radius:999px 999px 0 0;box-shadow:22px 2px 0 -4px color-mix(in srgb,var(--color-surface) 92%,transparent)}.theme-floating-close,.theme-floating-icon{display:grid;place-items:center;flex:0 0 auto;border:0;cursor:pointer}.theme-floating-icon{width:34px;height:34px;border-radius:999px;background:var(--color-primary-soft);color:var(--color-primary)}.theme-floating-copy{display:flex;align-items:center;min-width:0;flex:1 1 auto}.theme-floating-copy strong{font-size:13px;line-height:1.25;white-space:nowrap}.theme-floating-action{flex:0 0 auto;height:28px;padding:0 11px;border:1px solid rgba(var(--color-primary-rgb),.26);border-radius:999px;background:var(--color-primary);color:#fff;cursor:pointer;font-weight:800;white-space:nowrap}.theme-floating-close{width:24px;height:24px;border-radius:999px;background:rgba(148,163,184,.14);color:var(--color-muted)}.theme-floating-close:hover,.theme-floating-icon:hover{color:var(--color-primary);background:rgba(var(--color-primary-rgb),.14)}@keyframes theme-hint-pop{0%{opacity:0;transform:translateY(-4px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}:root[data-theme=dark] .theme-floating-hint{border-color:rgba(34,199,232,.24);background:rgba(18,26,41,.9);box-shadow:0 18px 46px rgba(0,0,0,.34)}:root[data-theme=dark] .theme-floating-hint:after,:root[data-theme=dark] .theme-floating-hint:before{background:rgba(18,26,41,.9)}@media (max-width:640px){.theme-floating-hint{right:-8px;width:min(286px,calc(100vw - 24px));padding:8px;border-radius:22px 18px 22px 16px}.theme-floating-hint:before{right:18px}.theme-floating-action{padding:0 10px}}.user-menu{position:relative;flex:0 0 auto}.user-menu-trigger.logged-in{border-color:var(--color-primary);background:var(--color-primary);color:#ffffff}.user-menu-trigger.has-pending-sync:after{content:"";position:absolute;top:5px;right:5px;width:7px;height:7px;border:1px solid var(--color-surface);border-radius:999px;background:var(--color-up)}.user-menu-trigger span{display:grid;place-items:center;width:20px;height:20px;border-radius:999px;font-size:12px;font-weight:900}.user-menu-dropdown{position:absolute;top:calc(100% + 8px);right:0;z-index:80;display:grid;min-width:190px;padding:8px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface);box-shadow:0 18px 48px rgba(var(--shadow-color-rgb),.18)}.user-menu-header{display:grid;gap:3px;padding:8px 10px 10px;border-bottom:1px solid var(--color-table-divider)}.user-menu-header strong{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.user-menu-header span{color:var(--color-muted);font-size:12px}.user-menu-dropdown button{position:relative;display:flex;align-items:center;gap:8px;min-height:34px;padding:0 10px;border:0;border-radius:8px;background:transparent;color:var(--color-text);text-align:left;cursor:pointer}.user-menu-dropdown button:hover{background:var(--color-primary-soft);color:var(--color-primary)}.user-menu-dropdown button:disabled{opacity:.55;cursor:not-allowed}.user-menu-dropdown button.danger{color:var(--color-up)}.user-menu-dropdown button.has-pending-sync:after{content:"";width:7px;height:7px;margin-left:auto;border-radius:999px;background:var(--color-up)}.cloud-sync-toast{position:absolute;top:56px;right:18px;z-index:78;display:flex;align-items:center;gap:8px;max-width:min(360px,calc(100vw - 32px));min-height:34px;padding:7px 10px;border:1px solid rgba(82,121,255,.24);border-radius:10px;background:var(--color-surface);color:var(--color-text);box-shadow:0 14px 36px rgba(var(--shadow-color-rgb),.14);font-size:12px;font-weight:800}.cloud-sync-toast:before{content:"";flex:0 0 7px;width:7px;height:7px;border-radius:999px;background:var(--color-primary)}.cloud-sync-toast.merged:before,.cloud-sync-toast.success:before{background:var(--color-down)}.cloud-sync-toast.conflict:before,.cloud-sync-toast.error:before{background:var(--color-up)}.cloud-sync-toast.login:before{background:var(--color-muted)}.cloud-sync-toast.pending:before{background:#d99a1b}.cloud-sync-toast span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cloud-sync-toast button{flex:0 0 auto;min-height:24px;padding:0 8px;border:1px solid var(--color-border);border-radius:7px;background:transparent;color:var(--color-primary);font-size:12px;font-weight:900;cursor:pointer}.cloud-sync-toast button:hover{background:var(--color-primary-soft)}.auth-dialog{width:min(440px,calc(100vw - 28px))}.auth-dialog .modal-header{justify-content:flex-start}.auth-dialog .modal-header .icon-button{margin-left:auto}.auth-title-note{color:var(--color-bulk-danger);font-size:14px;font-weight:800}.auth-form{display:grid;gap:14px}.user-menu-dropdown button.needs-security:after{content:"";width:7px;height:7px;margin-left:auto;border-radius:999px;background:#d99a1b}.auth-mode-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin-bottom:14px;padding:4px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface-soft)}.auth-mode-switch button{min-height:32px;border:0;border-radius:7px;background:transparent;color:var(--color-muted);font-size:12px;font-weight:800;cursor:pointer}.auth-mode-switch button.active{background:var(--color-surface);color:var(--color-primary);box-shadow:0 2px 8px rgba(var(--shadow-color-rgb),.08)}.auth-text-button{justify-self:start;padding:0;border:0;background:transparent;color:var(--color-primary);font-size:12px;font-weight:800;cursor:pointer}.auth-head{display:flex;align-items:center;gap:8px;color:var(--color-muted);font-size:13px;line-height:1.5}.auth-form label{display:grid;gap:6px;color:var(--color-muted);font-size:12px}.auth-form input{height:38px;padding:0 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);outline:0;background:var(--color-surface-soft);color:var(--color-text)}.auth-form input:focus{border-color:var(--color-primary);background:var(--color-surface)}.auth-password-field{position:relative;display:block}.auth-password-field input{width:100%;padding-right:68px}.auth-password-toggle{position:absolute;top:50%;right:38px;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:0;border-radius:7px;background:transparent;color:var(--color-muted);cursor:pointer;transform:translateY(-50%)}.auth-password-toggle:focus-visible,.auth-password-toggle:hover{background:var(--color-primary-soft);color:var(--color-primary);outline:0}.auth-password-toggle:disabled{cursor:not-allowed;opacity:.55}.auth-message{margin:0;padding:8px 10px;border-radius:var(--radius-md);font-size:12px;line-height:1.45}.auth-message.success{background:var(--color-primary-soft);color:var(--color-primary)}.auth-message.error{background:#fdebea;color:var(--color-up)}.auth-actions{display:flex;justify-content:flex-end;gap:8px}.account-page{min-height:100vh;padding:28px 20px 48px;background:var(--color-bg);color:var(--color-text)}.account-panel{display:grid;gap:16px;width:min(980px,100%);margin:0 auto}.account-panel-narrow{width:min(620px,100%)}.account-security-dialog{width:min(980px,calc(100vw - 28px));max-height:min(88vh,820px);background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}:root[data-theme=dark] .account-security-dialog{background:rgba(19,28,32,.94)}.account-security-dialog .modal-body{scrollbar-color:rgba(148,163,184,.28) transparent;scrollbar-width:thin}.account-security-dialog .modal-body::-webkit-scrollbar{width:6px}.account-security-dialog .modal-body::-webkit-scrollbar-track{background:transparent}.account-security-dialog .modal-body::-webkit-scrollbar-thumb{border-radius:999px;background:rgba(148,163,184,.24)}.account-panel-embedded{width:100%;margin:0}.account-dialog-identity{display:flex;align-items:center;gap:8px;min-width:0;color:var(--color-text)}.account-dialog-identity svg{flex:0 0 auto;color:var(--color-primary)}.account-dialog-identity strong{overflow-wrap:anywhere;font-size:14px}.account-header{display:flex;align-items:center;gap:14px;padding-bottom:14px;border-bottom:1px solid var(--color-border)}.account-header h1,.account-panel>h1{margin:0;font-size:24px;letter-spacing:0}.account-card p,.account-header p,.account-muted{margin:4px 0 0;color:var(--color-muted);font-size:13px;line-height:1.55}.account-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.account-card,.account-summary-grid article{border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface)}.account-summary-grid article{display:grid;grid-template-columns:auto 1fr;gap:6px 8px;min-width:0;padding:14px}.account-summary-grid svg{grid-row:1/span 2;color:var(--color-primary)}.account-summary-grid span{color:var(--color-muted);font-size:12px}.account-summary-grid strong{overflow-wrap:anywhere;font-size:13px}.account-card{display:grid;gap:13px;padding:18px}.account-card h2{margin:0;font-size:17px;letter-spacing:0}.account-credential-card{gap:9px}.account-credential-links{display:flex;align-items:center;gap:20px;min-height:24px;flex-wrap:wrap}.account-credential-links .auth-text-button{font-size:14px}.account-credential-disabled{color:var(--color-muted);font-size:13px}.account-credential-dialog{width:min(440px,100%)}.account-security-events-dialog{display:grid;grid-template-rows:auto minmax(0,1fr);width:min(560px,calc(100vw - 28px));max-height:min(82vh,640px);overflow:hidden}.account-security-events-dialog .modal-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:rgba(148,163,184,.28) transparent;scrollbar-width:thin}.account-security-events-dialog .modal-body::-webkit-scrollbar{width:6px}.account-security-events-dialog .modal-body::-webkit-scrollbar-track{background:transparent}.account-security-events-dialog .modal-body::-webkit-scrollbar-thumb{border-radius:999px;background:rgba(148,163,184,.24)}.account-dialog-actions{justify-content:center}.account-dialog-secondary-link{justify-self:center}.account-form label{display:grid;gap:6px;color:var(--color-muted);font-size:12px}.account-form input{width:100%;height:40px;padding:0 12px;border:1px solid var(--color-border);border-radius:7px;outline:0;background:var(--color-surface-soft);color:var(--color-text)}.account-form input:focus{border-color:var(--color-primary);background:var(--color-surface)}.account-field-hint{min-height:16px;font-size:12px;color:var(--color-muted)}.account-field-hint.available,.account-field-hint.current{color:var(--color-primary)}.account-field-hint.invalid,.account-field-hint.unavailable{color:var(--color-up)}.account-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.account-notice{margin:0;padding:10px 12px;border-radius:7px;font-size:13px}.account-notice.success{background:var(--color-primary-soft);color:var(--color-primary)}.account-notice.error{background:#fdebea;color:var(--color-up)}.account-empty-state{display:grid;justify-items:center;gap:10px;padding:28px 18px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);text-align:center}.account-empty-state svg{color:var(--color-up)}.account-confirm-spinner{color:var(--color-primary)!important;animation:spin .9s linear infinite}.account-empty-state h2,.account-empty-state p{margin:0}.account-empty-state p{color:var(--color-muted);font-size:13px}.account-confirm-form{display:grid;gap:14px}.account-confirm-form p{margin:0;color:var(--color-muted);font-size:13px}.account-security-events{display:grid}.account-security-events article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid var(--color-border)}.account-security-events article:last-child{border-bottom:0}.account-security-events svg{color:var(--color-muted)}.account-security-events span{display:grid;gap:1px}.account-security-events strong{font-size:12px;line-height:1.35}.account-security-events small{color:var(--color-muted);font-size:11px;line-height:1.35}.account-security-events em{padding:1px 6px;border-radius:999px;background:var(--color-surface-soft);color:var(--color-muted);font-size:11px;font-style:normal}.account-security-events em.success{background:var(--color-primary-soft);color:var(--color-primary)}.account-security-events em.blocked,.account-security-events em.failure{color:var(--color-up)}.mfa-enrollment img{width:220px;max-width:100%;aspect-ratio:1;padding:8px;border-radius:8px;background:#fff}.mfa-enrollment code{overflow-wrap:anywhere;padding:8px 10px;border-radius:6px;background:var(--color-surface-soft);color:var(--color-text);font-size:12px}@media (max-width:760px){.account-page{padding:14px 12px 32px}.account-header{align-items:flex-start;flex-direction:column}.account-header h1{font-size:21px}.account-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.account-card{padding:15px}}.app-settings-dialog{width:min(680px,calc(100vw - 28px));background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}:root[data-theme=dark] .app-settings-dialog{background:rgba(19,28,32,.92)}.app-settings-panel{display:grid;gap:10px}.app-settings-panel section{display:grid;gap:6px}.app-settings-panel section>span{display:inline-flex;align-items:center;gap:6px;color:var(--color-muted);font-size:13px}.app-settings-segments{display:flex;flex-wrap:wrap;gap:6px}.app-settings-segments button{min-height:30px;padding:0 12px;border:0;border-radius:999px;background:var(--color-surface-soft);color:var(--color-text);font-weight:800;cursor:pointer}.app-settings-segments button.active{background:var(--color-primary);color:var(--color-primary-contrast)}.app-settings-data-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.app-settings-data-actions .ui-button{width:100%;min-width:0;white-space:nowrap}.app-settings-toggle-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}.app-settings-toggle-row section{grid-template-columns:minmax(0,1fr) auto;align-items:center;min-width:0;gap:4px;padding:6px 7px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface-soft)}.app-settings-toggle-row section>span{min-height:0;font-size:12px;line-height:1.25}.app-settings-reset{display:grid;place-items:center;width:24px;height:24px;padding:0;border:0;background:transparent;color:var(--color-muted);cursor:pointer}.app-settings-slider{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px}.app-settings-slider input{width:100%;accent-color:#27c3ee}.app-settings-slider strong{min-width:58px;color:var(--color-muted);font-weight:700}.app-settings-switch{position:relative;flex:0 0 auto;width:36px;height:20px;padding:0;border:0;border-radius:999px;background:var(--color-surface-strong);cursor:pointer}.app-settings-switch i{position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:999px;background:#ffffff;transition:transform .18s ease}.app-settings-switch.active{background:var(--color-primary)}.app-settings-switch.active i{transform:translateX(16px)}.app-settings-actions{display:flex;justify-content:flex-end}.app-settings-actions .ui-button{min-height:34px;padding:0 14px}@media (max-width:640px){.app-settings-toggle-row{grid-template-columns:repeat(2,minmax(0,1fr))}.app-settings-data-actions{grid-template-columns:1fr}}.market-strip,.portfolio-summary,.toolbar-panel{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:38px;margin:0 0 6px;padding:0 14px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-panel)}.market-strip{justify-content:flex-start}:root[data-theme=dark] .group-tabs,:root[data-theme=dark] .market-strip,:root[data-theme=dark] .portfolio-summary,:root[data-theme=dark] .subgroup-tabs,:root[data-theme=dark] .toolbar-panel{background:#111c2e}.market-values{display:flex;align-items:center;gap:12px;font-weight:800}.market-index-strip{display:grid;gap:2px;min-height:30px;margin:0 0 6px;padding:0 8px 6px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-panel)}.market-index-head{display:flex;align-items:center;justify-content:space-between;min-height:30px;gap:8px}.market-index-primary{max-width:100%;min-height:28px;padding:0;border:0;background:transparent;color:var(--color-text)}.market-index-inline,.market-index-primary{display:inline-flex;align-items:center;min-width:0}.market-index-inline{gap:8px;font-weight:800;white-space:nowrap}.market-index-ticker{min-width:0;height:30px;overflow:hidden}.market-index-ticker-track{display:flex;flex-direction:column;min-width:0;will-change:transform}.market-index-ticker-item{display:inline-flex;flex:0 0 30px;align-items:center;gap:18px;min-width:0}.market-index-inline strong{color:var(--color-text);font-size:15px}.market-index-inline b,.market-index-inline em{font-style:normal;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.market-index-card.up b,.market-index-card.up span,.market-index-inline.up b,.market-index-inline.up em,.market-index-selected-item.up b,.market-index-selected-item.up span{color:var(--color-up)}.market-index-card.down b,.market-index-card.down span,.market-index-inline.down b,.market-index-inline.down em,.market-index-selected-item.down b,.market-index-selected-item.down span{color:var(--color-down)}.market-index-head-actions{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto}.market-index-head-actions button,.market-index-selected-item button,.market-index-settings header button{display:inline-grid;place-items:center;min-width:26px;height:26px;border:0;border-radius:999px;background:transparent;color:var(--color-muted);cursor:pointer}.market-index-head-actions .market-index-add-trigger{display:inline-flex;width:auto;min-width:0;padding:0 8px;border:1px solid var(--color-border);background:var(--color-surface-soft);color:var(--color-text);font-size:12px;font-weight:800}.market-index-head-actions .market-index-collapse-trigger svg{transition:transform .16s ease}.market-index-strip.expanded .market-index-collapse-trigger svg{transform:rotate(180deg)}.market-index-head-actions button:hover,.market-index-selected-item button:hover,.market-index-settings header button:hover{background:var(--color-surface-soft);color:var(--color-text)}.market-index-panel{display:grid;gap:5px;padding:0}.market-index-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.market-index-card{display:grid;grid-template-columns:minmax(86px,.78fr) minmax(92px,1fr);grid-template-rows:auto auto auto;align-content:start;align-items:center;column-gap:8px;min-height:70px;padding:5px 7px 4px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-soft)}.market-index-card strong{grid-column:1;overflow:hidden;color:var(--color-text);font-size:12px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.market-index-card b{grid-column:1;margin-top:1px;font-size:15px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.market-index-card span{grid-column:1;margin-top:1px;font-size:11px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700}.market-index-trend{grid-column:2;grid-row:1/4;align-self:center;justify-self:stretch;width:100%;height:42px;margin-top:0;overflow:visible}.market-index-trend path{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.market-index-trend.up{color:var(--color-up)}.market-index-trend.down{color:var(--color-down)}.market-index-dialog{width:min(760px,calc(100vw - 28px))}.market-index-settings{display:grid;gap:20px}.market-index-settings section{display:grid;gap:10px}.market-index-settings header{display:flex;align-items:center;justify-content:space-between;gap:10px}.market-index-settings header strong{font-size:15px}.market-index-settings header span{color:var(--color-muted);font-size:12px}.market-index-settings header button{display:inline-flex;width:auto;padding:0 9px;gap:5px;border:1px solid var(--color-border)}.market-index-selected-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.market-index-selected-item{position:relative;display:grid;align-content:start;gap:5px;min-height:94px;padding:16px 10px 8px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-soft);cursor:grab}.market-index-selected-item.dragging{opacity:.72;cursor:grabbing}.market-index-selected-item strong{overflow:hidden;color:var(--color-text);font-weight:800;text-overflow:ellipsis;white-space:nowrap}.market-index-selected-item b{font-size:18px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.market-index-selected-item span{font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700}.market-index-selected-item button{min-width:24px;width:24px;height:24px}.market-index-selected-item button:disabled{cursor:not-allowed;opacity:.36}.market-index-selected-item>button{position:absolute;top:6px;right:6px;background:rgba(248,113,113,.14);color:var(--color-up)}.market-index-option-grid{display:flex;flex-wrap:wrap;gap:8px}.market-index-option-grid button{display:inline-flex;align-items:center;gap:5px;min-height:30px;padding:0 12px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface-soft);color:var(--color-text);font-size:12px;font-weight:800;cursor:pointer}.market-index-option-grid button.active{border-color:var(--color-primary);background:var(--color-primary);color:#ffffff}.market-index-option-grid button small{color:var(--color-muted);font-size:10px;font-weight:600}.market-index-option-grid button.active small{color:rgba(255,255,255,.78)}:root[data-theme=dark] .market-index-card,:root[data-theme=dark] .market-index-head-actions .market-index-add-trigger,:root[data-theme=dark] .market-index-option-grid button,:root[data-theme=dark] .market-index-selected-item,:root[data-theme=dark] .market-index-strip{border-color:#223247;background:#111c2e}:root[data-theme=dark] .market-index-card,:root[data-theme=dark] .market-index-selected-item{background:#0f192a}.market-index-option-grid button.active,:root[data-theme=dark] .market-index-option-grid button.active{border-color:var(--color-primary);background:var(--color-primary);color:#ffffff}.market-ranking-entry{display:inline-flex;align-items:center;gap:10px;min-height:34px;padding:0;border:0;background:transparent;color:var(--color-text);cursor:pointer}.market-entry-icon{flex:0 0 auto}.market-entry-icon-exchange{color:#22d3ee}.market-entry-icon-ranking{color:#facc15}.market-entry-icon-valuation{color:#fb7185}.market-entry-icon-investment{color:#a78bfa}.market-entry-icon-hong-kong{color:#f97316}.market-entry-icon-qdii{color:#e879f9}.market-entry-icon-topic{color:#34d399}.market-entry-icon-finance{color:#38bdf8}.market-entry-icon-company{color:#2dd4bf}.market-ranking-entry strong{font-size:15px;font-weight:900}.market-company-entry{color:var(--color-text)}.market-arrow{color:var(--color-muted);font-size:22px}.toolbar-panel{min-height:48px;overflow:visible;position:relative;z-index:30}.toolbar-actions{display:flex;align-items:center;gap:6px;margin-left:auto;white-space:nowrap}.view-toggle{display:inline-flex;align-items:center;gap:4px;min-height:32px;padding:2px;border-radius:var(--radius-md);background:var(--color-surface-soft);color:var(--color-muted)}.view-toggle button{display:grid;place-items:center;width:30px;height:28px;padding:0;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-muted);cursor:pointer}.view-toggle button.active{color:#ffffff;background:var(--color-primary)}.sort-label{color:var(--color-muted);font-size:14px}.sort-select{position:relative;display:inline-flex;align-items:center;min-height:32px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.sort-select select{min-width:110px;height:30px;padding:0 28px 0 10px;border:0;outline:0;appearance:none;background:transparent;color:var(--color-text);font-weight:700;cursor:pointer}.sort-order-select select{min-width:76px}.sort-select svg{position:absolute;right:8px;color:var(--color-muted);pointer-events:none}.refresh-chip{position:relative;display:inline-flex;align-items:center;gap:4px;min-height:30px;padding:0 7px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-soft);color:var(--color-muted);font-size:13px}.refresh-select{cursor:pointer}.refresh-readonly{cursor:default}.refresh-select select{position:absolute;inset:0;width:100%;border:0;opacity:0;cursor:pointer}.refresh-select span{min-width:26px;color:var(--color-text);font-weight:700}.refresh-select small{opacity:.9}.refresh-chip em,.refresh-select small{color:var(--color-primary);font-size:11px;font-weight:700}.refresh-chip em{font-style:normal;opacity:.92}.refresh-icon-idle{color:var(--color-muted)}.refresh-icon-active{color:var(--color-primary);filter:drop-shadow(0 0 6px rgba(var(--color-primary-rgb),.32))}.spinning{animation:spin .9s linear infinite,refreshPulse .9s ease-in-out infinite}@keyframes spin{to{transform:rotate(1turn)}}@keyframes refreshPulse{0%,to{opacity:.72}50%{opacity:1}}.layout-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:0}.detail-column,.main-column{min-width:0}.detail-column{display:none}.summary-main{display:grid;gap:1px;line-height:1.32}.portfolio-summary{min-height:36px;padding:4px 10px}.summary-main span{display:inline-flex;align-items:center;gap:6px}.summary-grid span,.summary-main span{color:var(--color-muted);font-size:13px;line-height:1.35}.summary-grid span{display:block;text-align:center}.summary-main strong{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:19px;line-height:1.25}.summary-main small{font-size:19px}.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(126px,1fr));gap:16px;width:clamp(560px,46vw,720px);margin-left:auto;text-align:center}.summary-grid div{display:grid;justify-items:center;gap:1px;line-height:1.32;min-height:auto;padding:0;border-radius:0;background:transparent}.summary-grid strong{font-size:19px;line-height:1.25}.summary-mask-toggle{height:17px;padding:0 7px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);color:var(--color-muted);font-size:10px;line-height:15px;cursor:pointer}.summary-mask-toggle:hover{border-color:var(--color-primary);color:var(--color-primary)}.mask-text{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:0;white-space:nowrap}.group-tabs,.subgroup-tabs{display:flex;gap:7px;margin:0;padding:0;scrollbar-width:none}.group-tabs{overflow-x:auto;overflow-y:hidden}.group-tabs.menu-open{overflow:visible}.subgroup-tabs{overflow-x:auto}.section-menu{position:relative;flex:0 0 auto;overflow:visible}.section-menu.open{z-index:80}.section-trigger{display:inline-flex;align-items:center;min-height:34px;border:1px solid var(--color-border);border-radius:999px;background:transparent;color:var(--color-muted);overflow:hidden}.section-trigger.active{border-color:transparent;background:var(--color-primary-soft);color:var(--color-primary);font-weight:700}.section-trigger-arrow,.section-trigger-label{min-height:32px;border:0;border-radius:0;background:transparent;color:inherit;cursor:pointer}.section-trigger-label{padding:0 6px 0 12px}.section-trigger-arrow{display:grid;place-items:center;width:28px;padding:0 8px 0 2px}.section-trigger-arrow svg{transition:transform .16s ease}.section-trigger.expanded .section-trigger-arrow svg{transform:rotate(180deg)}.section-dropdown{top:calc(100% + 6px);left:0;z-index:60;display:none;flex-direction:column;gap:6px;min-width:142px;padding:8px;border:1px solid var(--color-border);border-radius:10px;box-shadow:0 16px 34px rgba(var(--shadow-color-rgb),.16)}.section-dropdown,.section-dropdown:before{position:absolute;background:var(--color-surface)}.section-dropdown:before{content:"";top:-6px;left:32px;width:10px;height:10px;transform:rotate(45deg);border-left:1px solid var(--color-border);border-top:1px solid var(--color-border)}.section-menu.open .section-dropdown{display:flex}.section-dropdown button{justify-content:space-between;gap:18px;min-height:34px;padding:0 10px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--color-muted);font-weight:700;white-space:nowrap}.section-dropdown small{color:var(--color-muted);font-size:12px;font-weight:800}.section-dropdown button.active,.section-dropdown button:hover{border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary)}.subgroup-tabs{margin:0 0 10px;padding:0 18px}.group-tabs::-webkit-scrollbar,.subgroup-tabs::-webkit-scrollbar{display:none}.group-tabs .section-tab,.subgroup-tabs button{flex:0 0 auto;min-height:34px;padding:0 12px;border:1px solid var(--color-border);border-radius:999px;background:transparent;color:var(--color-muted);cursor:pointer}.subgroup-tabs button{min-height:30px;border-radius:var(--radius-sm);font-size:13px}.group-tabs .section-tab.active,.subgroup-tabs button.active{border-color:transparent;background:var(--color-primary-soft);color:var(--color-primary);font-weight:700}.group-label{flex:0 0 auto;align-self:center;color:var(--color-muted);font-weight:800}.fund-search{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;width:min(500px,calc(100% - 24px));height:36px;margin:8px 0;padding:0 12px;border:1px solid #142034;border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-muted);box-shadow:var(--shadow-panel)}.fund-search input{min-width:0;border:0;outline:0;background:transparent;color:var(--color-text)}.fund-search-clear{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:0;border-radius:999px;background:transparent;color:var(--color-muted);cursor:pointer;transition:background .16s ease,color .16s ease,opacity .16s ease}.fund-search-clear:not(:disabled):hover{background:rgba(34,211,238,.12);color:var(--color-primary)}.fund-search-clear:disabled{opacity:.35;cursor:default}.fund-table-shell{border:1px solid var(--color-border);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.fund-table-shell,.mobile-fund-list-shell{overflow:hidden;background:var(--color-table-row);box-shadow:var(--shadow-panel)}.mobile-fund-list-shell{display:grid;width:100%;min-width:0;border:1px solid var(--color-border);border-radius:8px 8px 0 0}.mobile-fund-list-head,.mobile-fund-row{display:grid;grid-template-columns:var(--legacy-mobile-columns,minmax(0,1fr) minmax(70px,.42fr) minmax(70px,.42fr));align-items:center}.mobile-fund-list-head{min-height:36px;background:var(--color-surface-strong);color:var(--color-text);font-size:12px;font-weight:800}.mobile-fund-list-head button{min-width:0;height:100%;padding:0 6px;border:0;border-right:1px solid var(--color-table-divider);background:transparent;color:inherit;font:inherit;text-align:center}.mobile-fund-list-head button:first-child{text-align:left;padding-left:12px}.mobile-fund-list-head button.active{color:var(--color-primary)}.mobile-fund-list{display:grid}.mobile-fund-row{min-height:54px;border-top:1px solid var(--color-table-divider);background:var(--color-table-row)}.mobile-fund-row:nth-child(2n){background:var(--color-surface)}.mobile-fund-row.bulk-selected,.mobile-fund-row.selected{background:var(--color-primary-soft)}.mobile-fund-change,.mobile-fund-main{min-width:0;height:100%;border:0;background:transparent;color:inherit}.mobile-fund-main{display:grid;gap:3px;padding:6px 8px;text-align:left}.mobile-fund-meta,.mobile-fund-title{display:flex;align-items:center;min-width:0}.mobile-fund-title{gap:6px}.mobile-fund-title .consecutive-trend-badge{flex:0 0 auto}.mobile-fund-title strong{min-width:0;overflow:hidden;color:var(--color-text);font-size:12px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.mobile-fund-meta{gap:5px;padding-left:24px;overflow:hidden;color:var(--color-muted);font-size:11px;line-height:1.15;white-space:nowrap}.mobile-fund-meta em{flex:0 1 auto;max-width:58px;overflow:hidden;padding:1px 5px;border-radius:999px;font-size:10px;font-style:normal;line-height:1.1;text-overflow:ellipsis}.mobile-fund-change{display:grid;gap:2px;place-items:center;padding:5px 4px;border-left:1px solid var(--color-table-divider);text-align:center}.mobile-fund-change small,.mobile-fund-change span{overflow:hidden;max-width:100%;color:var(--color-muted);font-size:10px;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.mobile-fund-change strong{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;line-height:1.15}.fund-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;padding:10px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-table-row);box-shadow:var(--shadow-panel)}.fund-card-item{display:grid;gap:5px;min-height:110px;padding:10px 12px;border:1px solid var(--color-table-divider);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);text-align:left}.fund-card-item:hover{background:var(--color-table-row-hover)}.fund-card-item.selected,.fund-card-item:hover{border-color:var(--color-primary)}.fund-card-title-row{display:flex;align-items:flex-start;gap:8px}.fund-card-title{display:grid;flex:1 1;min-width:0;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.fund-card-title>span{overflow:hidden;font-size:13px;font-weight:800;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.fund-card-item small{color:var(--color-muted);font-size:12px;line-height:1.2}.fund-card-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;align-items:end;margin-top:2px;width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.fund-card-metrics span{display:grid;grid-template-rows:13px 18px 13px;gap:2px;min-width:0;align-items:center}.fund-card-metrics span:nth-child(n+3){text-align:right}.fund-card-metrics span:nth-child(2){text-align:center}.fund-card-metrics em{font-style:normal}.fund-card-metrics em,.fund-card-metrics small{overflow:hidden;color:var(--color-muted);font-size:11px;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.fund-card-item strong{overflow:hidden;font-size:13px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.fund-card-metrics .mask-text{display:inline-block;max-width:100%;overflow:hidden;text-overflow:clip}.fund-table-scroll{overflow-x:hidden;overflow-y:hidden}.fund-card-title.show-full-name>span,.fund-name-trigger.show-full-name strong{overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:anywhere}.fund-table-header-sticky{position:sticky;top:calc(var(--sticky-data-head-height) + var(--sticky-toolbar-head-height));z-index:38}.fund-row,.fund-table-header{display:grid}.fund-table-header{position:relative;align-items:center;min-height:38px;padding:0 6px;background:var(--color-surface-strong);color:var(--color-text);font-size:12px;font-weight:800;line-height:1.15}:root[data-theme=dark] .fund-card-grid,:root[data-theme=dark] .fund-table-shell{background:#0d1628}:root[data-theme=dark] .fund-table-header{background:#2b3c4e;color:#e4ebf4}:root[data-theme=dark] .fund-list-item:nth-child(2n) .fund-row{background:#1b2b3f}:root[data-theme=dark] .fund-list-item:hover .fund-row,:root[data-theme=dark] .fund-list-item:hover .fund-row.bulk-selected,:root[data-theme=dark] .fund-list-item:hover .fund-row.selected,:root[data-theme=dark] .fund-row:hover{background:#223247}:root[data-theme=dark] .fund-search,:root[data-theme=dark] .refresh-chip,:root[data-theme=dark] .sort-select,:root[data-theme=dark] .view-toggle{border-color:#1b2a3e;background:#0f192a}:root[data-theme=dark] .sort-select select{color:#eef5ff}:root[data-theme=dark] .sort-select svg{color:#96a4b8}:root[data-theme=dark] .group-tabs .section-tab,:root[data-theme=dark] .section-trigger,:root[data-theme=dark] .subgroup-tabs button{border-color:transparent}.bulk-header-overlay{position:absolute;inset:0;z-index:8;display:flex;align-items:center;min-width:0;padding:0 10px;background:var(--color-surface-strong)}.fund-table-header span{display:grid;place-items:center;min-width:0;text-align:center}.fund-table-header-cell{position:relative;height:100%;border-radius:6px;cursor:grab;transition:background .16s ease,box-shadow .16s ease,opacity .16s ease,transform .16s ease}.fund-table-header-cell:hover{background:rgba(10,132,255,.06)}.fund-table-header-cell.dragging{z-index:4;background:rgba(10,132,255,.12);box-shadow:0 8px 18px rgba(15,23,42,.12);cursor:grabbing;opacity:.72;transform:translateY(-2px) scale(1.02)}.fund-table-header-cell.drop-target{background:rgba(10,132,255,.1)}.fund-table-header-cell.drop-after:after,.fund-table-header-cell.drop-before:before{content:"";position:absolute;top:3px;bottom:3px;z-index:8;width:4px;border-radius:999px;background:rgba(var(--color-primary-rgb),.95);box-shadow:0 0 0 5px rgba(var(--color-primary-rgb),.14),0 6px 14px rgba(var(--shadow-color-rgb),.18);pointer-events:none}.fund-table-header-cell.drop-before:before{left:-2px}.fund-table-header-cell.drop-after:after{right:-2px}.fund-table-header button{display:inline-flex;align-items:center;justify-content:center;gap:3px;min-width:0;padding:0;border:0;background:transparent;color:inherit;font:inherit;font-weight:800;cursor:pointer}.fund-table-header button em{color:#9aa9b2;font-size:10px;font-style:normal;line-height:1}.fund-table-header button.active,.fund-table-header button.active em{color:var(--color-primary)}.fund-table-header .fund-column-sort,.fund-table-header .fund-static-header{display:grid;grid-template-columns:22px minmax(0,1fr) 22px;align-items:center;width:100%;height:100%}.fund-table-header .fund-header-leading{display:grid;width:22px;place-items:center}.fund-table-header .fund-column-sort>em{justify-self:center}.fund-table-header .column-resizer{position:absolute;top:8px;right:-4px;bottom:8px;z-index:3;width:8px;min-width:8px;padding:0;border:0;background:transparent;cursor:col-resize;touch-action:none}.fund-table-header .column-resizer:after{position:absolute;top:0;right:3px;bottom:0;width:1px;background:var(--color-table-divider);content:"";transition:background .15s ease,width .15s ease}.fund-table-header .column-resizer:active:after,.fund-table-header .column-resizer:hover:after,.fund-table-header-cell:hover .column-resizer:after,body.is-column-resizing .fund-table-header .column-resizer:after{right:2px;width:2px;background:var(--color-primary)}body.is-column-dragging .fund-table-header .column-resizer{pointer-events:none}body.is-column-dragging .fund-table-header .column-resizer:after{opacity:0}body.is-column-resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}.bulk-action,.bulk-header-bar,.bulk-header-bar label,.bulk-icon-action,.fund-name-header{display:inline-flex;align-items:center}.fund-name-header{gap:6px;min-width:0}.fund-name-sort{min-width:0}.bulk-edit-trigger{width:24px;height:24px;color:#9aa9b2;opacity:.9}.bulk-edit-trigger:hover{color:var(--color-primary)}.bulk-header-bar{position:relative;gap:8px;width:100%;max-width:100%;min-width:0;overflow:visible;color:var(--color-text);font-weight:700}.bulk-header-bar label{gap:6px;white-space:nowrap}.bulk-header-bar input,.fund-row-check{width:14px;height:14px;margin:0;accent-color:var(--color-primary)}.bulk-header-bar em{color:var(--color-muted);font-size:12px;font-style:normal}.bulk-action,.bulk-icon-action,.bulk-text-action{border:0;background:transparent;cursor:pointer}.bulk-text-action{color:var(--color-primary);font-size:12px}.bulk-action{gap:4px;height:26px;padding:0 6px;border-radius:5px;color:var(--color-bulk-primary);font-size:12px;font-weight:800;white-space:nowrap}.bulk-action:not(:disabled):focus-visible,.bulk-action:not(:disabled):hover{background:var(--color-bulk-primary-soft);color:var(--color-bulk-primary)}.bulk-action.danger{color:var(--color-bulk-danger)}.bulk-action.danger:not(:disabled):focus-visible,.bulk-action.danger:not(:disabled):hover{background:var(--color-bulk-danger-soft);color:var(--color-bulk-danger)}.bulk-action:disabled{cursor:not-allowed;opacity:.45}.bulk-icon-action{width:24px;height:24px;justify-content:center;color:var(--color-muted)}.bulk-move-dialog{width:min(560px,calc(100vw - 32px))}.bulk-move-dialog-body{display:grid;gap:18px}.bulk-move-dialog-body p{margin:0;color:var(--color-muted);font-size:12px;font-weight:700}.bulk-move-target-field{display:grid;gap:10px}.bulk-move-target-field select,.bulk-move-target-field span{color:var(--color-text);font-size:14px;font-weight:800}.bulk-move-target-field select{width:100%;height:44px;padding:0 12px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-table-row);outline:0}.bulk-move-target-field select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.bulk-move-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding-top:8px;border-top:1px solid var(--color-table-divider)}.bulk-move-actions button{height:42px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface);color:var(--color-text);font-size:14px;font-weight:800;cursor:pointer}.bulk-move-actions button.primary{border-color:var(--color-primary);background:#25c6da;color:#061018}.bulk-move-actions button:disabled{cursor:not-allowed;opacity:.45}.bulk-move-empty{padding:12px;border:1px dashed var(--color-border);border-radius:7px;background:var(--color-surface-soft)}.ranking-add-dialog{width:min(320px,calc(100vw - 36px));max-height:min(78vh,420px);border-radius:20px;background:var(--color-surface);box-shadow:0 18px 54px rgba(var(--shadow-color-rgb),.22)}.ranking-add-dialog .modal-header{padding:11px 14px 9px}.ranking-add-dialog .modal-header h2{font-size:16px}.ranking-add-dialog .modal-body{padding:12px 14px 14px}.ranking-add-dialog .bulk-move-dialog-body{gap:12px}.ranking-add-dialog .bulk-move-dialog-body p{line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ranking-add-dialog .bulk-move-target-field{gap:7px}.ranking-add-dialog .bulk-move-target-field span{font-size:13px}.ranking-add-dialog .bulk-move-target-field select{height:38px;padding:0 10px;border-radius:12px;background:var(--color-surface-soft);font-size:13px}.ranking-add-dialog .bulk-move-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:10px}.ranking-add-dialog .bulk-move-actions button{width:auto;min-width:80px;height:38px;padding:0 14px;border-radius:12px;font-size:13px;white-space:nowrap}.ranking-add-dialog .bulk-move-actions button.primary{min-width:96px}:root[data-theme=dark] .ranking-add-dialog{border-color:rgba(148,163,184,.24);background:var(--color-surface);box-shadow:0 20px 60px rgba(0,0,0,.46)}.fund-table-header span:first-child{place-items:center start;text-align:left}.fund-table-header span:first-child button{justify-content:flex-start}.fund-list-viewport{min-height:0;overflow-x:hidden;overflow-y:hidden;border:0;border-radius:0;background:var(--color-table-row);box-shadow:none}.fund-list-spacer{position:relative}.fund-list-item{position:absolute;top:0;left:0;width:100%;z-index:0;padding:0}.fund-list-item:focus-within,.fund-list-item:hover{z-index:30}.fund-row{position:relative;align-items:center;width:100%;min-height:44px;margin-top:0;padding:0 6px;border:0;border-bottom:1px solid var(--color-table-divider);border-radius:0;background:var(--color-table-row);color:inherit;text-align:left;cursor:pointer}.fund-cell{min-width:0}.fund-cell-tags{display:grid;place-items:center;overflow:hidden}.fund-row.bulk-selected,.fund-row.selected{background:var(--color-table-row-selected)}.fund-row.bulk-selected{box-shadow:inset 3px 0 0 var(--color-primary)}.fund-list-item:hover .fund-row,.fund-list-item:hover .fund-row.bulk-selected,.fund-list-item:hover .fund-row.selected,.fund-row:hover{background:var(--color-table-row-hover);box-shadow:inset 3px 0 0 var(--color-primary)}.fund-name-cell{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:8px}.fund-row-index{display:inline-grid;min-width:24px;height:24px;place-items:center;justify-self:center;padding:0 5px;border:1px solid rgba(63,161,255,.7);border-radius:7px;background:rgba(32,130,217,.1);color:#58aefe;font-size:11px;font-weight:800;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.fund-row-index.mobile{min-width:22px;height:22px;border-radius:999px;font-size:10px}.fund-updated-badge{display:inline-flex;min-height:14px;align-items:center;border:1px solid #e0b200;border-radius:999px;background:#efbf04;color:#ffffff;font-size:12px;font-weight:400;line-height:1;padding:1px 5px;white-space:nowrap}.fund-row-check{justify-self:center}.fund-main{display:grid;gap:2px;min-width:0}.fund-name-line{display:inline-flex;align-items:center;gap:4px;min-width:0}.fund-name-trigger{padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.fund-main strong{overflow:hidden;font-size:13px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.consecutive-trend-badge-wrap{position:relative;display:inline-flex;align-items:center;flex:0 0 auto;z-index:2;overflow:visible}.consecutive-trend-badge{gap:1px;flex:0 0 auto;min-height:14px;padding:0 5px 0 4px;font-size:10px;font-weight:800;vertical-align:middle}.consecutive-trend-badge,.consecutive-trend-badge-tooltip{display:inline-flex;align-items:center;border-radius:999px;line-height:1;white-space:nowrap}.consecutive-trend-badge-tooltip{position:absolute;left:50%;bottom:calc(100% + 8px);z-index:20;padding:6px 12px;background:var(--color-trend-tooltip-bg);border:1px solid var(--color-trend-tooltip-border);box-shadow:0 8px 20px rgba(2,6,23,.35);color:var(--color-trend-tooltip-text);font-size:12px;font-weight:700;pointer-events:none;opacity:0;transform:translateX(-50%) translateY(4px);transition:opacity .15s ease,transform .15s ease}.consecutive-trend-badge-tooltip:after{content:"";position:absolute;top:100%;left:50%;width:0;height:0;border:6px solid transparent;border-top:6px solid var(--color-trend-tooltip-arrow);transform:translateX(-50%)}.consecutive-trend-badge-wrap:focus-within .consecutive-trend-badge-tooltip,.consecutive-trend-badge-wrap:hover .consecutive-trend-badge-tooltip{opacity:1;transform:translateX(-50%) translateY(0)}.fund-list-item:first-child .consecutive-trend-badge-tooltip{top:calc(100% + 8px);bottom:auto;transform:translateX(-50%) translateY(-4px)}.fund-list-item:first-child .consecutive-trend-badge-tooltip:after{top:auto;bottom:100%;border-top-color:transparent;border-bottom-color:var(--color-trend-tooltip-arrow)}.fund-list-item:first-child .consecutive-trend-badge-wrap:focus-within .consecutive-trend-badge-tooltip,.fund-list-item:first-child .consecutive-trend-badge-wrap:hover .consecutive-trend-badge-tooltip{transform:translateX(-50%) translateY(0)}.consecutive-trend-badge.up{border:1px solid rgba(220,38,38,.4);background:rgba(220,38,38,.12);color:#d94b54}.consecutive-trend-badge.down{border:1px solid rgba(34,143,113,.4);background:rgba(34,143,113,.12);color:#228f71}.consecutive-trend-badge svg{flex:0 0 auto}.fund-main span,.fund-metric span{color:var(--color-muted);font-size:12px}.fund-main>span{display:inline-flex;align-items:center;gap:4px}.fund-code-line{flex-wrap:wrap;row-gap:2px}.fund-code-line em{font-style:normal;white-space:nowrap}.fund-inline-tags{flex-wrap:wrap;gap:3px;min-width:0}.fund-inline-tags,.fund-inline-tags i{display:inline-flex;align-items:center}.fund-inline-tags i{min-height:14px;padding:0 4px;border:1px solid rgba(148,163,184,.38);border-radius:999px;background:rgba(248,250,252,.68);color:#475569;font-size:10px;font-style:normal;font-weight:600;line-height:1;white-space:nowrap}.fund-inline-tags .fund-inline-tag-empty{min-width:14px;justify-content:center;border-color:rgba(148,163,184,.24);background:transparent;color:var(--color-muted);font-weight:700}.fund-metric{display:grid;gap:2px;min-width:0;justify-items:center;text-align:center;padding-right:0}.fund-metric strong{font-size:14px;white-space:nowrap}.related-sector-metric{width:100%;overflow:hidden}.related-sector-metric span,.related-sector-metric strong{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.number-text{display:inline-block;font-size:14px;line-height:1.2;white-space:nowrap}.fund-metric .number-text.up,.fund-metric strong.up,.number-text.up{color:var(--color-up)!important}.fund-metric .number-text.down,.fund-metric strong.down,.number-text.down{color:var(--color-down)!important}.fund-metric .number-text.flat,.fund-metric strong.flat,.number-text.flat{color:var(--color-flat)!important}.fund-tags{display:flex;flex-wrap:nowrap;gap:5px;justify-content:center;width:100%;min-width:0;min-height:28px;overflow:hidden;padding:0;border:0;background:transparent;text-align:center;cursor:pointer}.fund-tags,.fund-tags span{align-items:center;white-space:nowrap}.fund-tags span{display:inline-flex;flex:0 0 auto;min-height:19px;padding:0 6px;border:1px solid rgba(148,163,184,.42);border-radius:999px;background:rgba(248,250,252,.72);color:#475569;font-size:11px;font-weight:500;line-height:1;box-shadow:none}.fund-tags .fund-tags-empty{border-color:transparent;background:transparent;color:var(--color-muted);font-weight:600;font-size:13px}.tag-theme-green{border-color:rgba(22,163,74,.62)!important;background:rgba(220,252,231,.58)!important;color:#15803d!important}.tag-theme-orange{border-color:rgba(234,88,12,.58)!important;background:rgba(255,237,213,.62)!important;color:#b45309!important}.tag-theme-purple{border-color:rgba(126,58,242,.55)!important;background:rgba(243,232,255,.62)!important;color:#7e22ce!important}.tag-theme-red{border-color:rgba(225,29,72,.55)!important;background:rgba(255,228,230,.62)!important;color:#be123c!important}.tag-theme-blue,.tag-theme-cyan{border-color:rgba(8,145,178,.55)!important;background:rgba(207,250,254,.58)!important;color:#0e7490!important}.tag-theme-default{border-color:rgba(100,116,139,.42)!important;background:rgba(241,245,249,.68)!important;color:#64748b!important}.tag-theme-sky{border-color:rgba(14,165,233,.55)!important;background:rgba(224,242,254,.6)!important;color:#0284c7!important}.tag-theme-amber{border-color:rgba(217,119,6,.55)!important;background:rgba(254,243,199,.62)!important;color:#b45309!important}.tag-theme-lime{border-color:rgba(101,163,13,.55)!important;background:rgba(236,252,203,.62)!important;color:#4d7c0f!important}.tag-theme-teal{border-color:rgba(13,148,136,.55)!important;background:rgba(204,251,241,.58)!important;color:#0f766e!important}.tag-theme-indigo{border-color:rgba(79,70,229,.52)!important;background:rgba(224,231,255,.62)!important;color:#4338ca!important}.tag-theme-violet{border-color:rgba(124,58,237,.52)!important;background:rgba(237,233,254,.62)!important;color:#6d28d9!important}.tag-theme-pink{border-color:rgba(219,39,119,.52)!important;background:rgba(252,231,243,.62)!important;color:#be185d!important}.tag-theme-rose{border-color:rgba(190,18,60,.52)!important;background:rgba(255,228,230,.62)!important;color:#be123c!important}.value-only{align-content:center}.amount-cell strong{font-size:14px}.metric-emphasis .number-text{font-size:14px;font-weight:800;line-height:1.1}.holding-edit-trigger{width:100%;border:0;background:transparent;color:inherit;cursor:pointer}.holding-edit-trigger svg{color:var(--color-muted)}.holding-edit-trigger:hover svg{color:var(--color-primary)}.fund-actions{display:flex;justify-content:center;justify-self:center;align-self:center;width:100%}.fund-delete-button{display:grid;place-items:center;width:28px;height:28px;border:1px solid #d7e0e8;border-radius:var(--radius-sm);background:#fbe8e6;color:var(--color-up);cursor:pointer}.fund-delete-button:hover{border-color:#efc5c0;background:#f7d6d2}.table-settings-panel{display:inline-grid;gap:8px;width:100%;max-width:360px;justify-items:start;font-size:12px}.personal-settings-head{display:flex;align-items:center;justify-content:flex-start;gap:10px;min-height:26px}.personal-settings-head button,.personal-settings-head div{display:inline-flex;align-items:center;gap:8px}.personal-settings-head button{min-height:24px;padding:0 8px;border:0;border-radius:999px;background:var(--color-primary-soft);color:var(--color-primary);font-size:11px;font-weight:800;flex:0 0 auto;cursor:pointer}.sync-choice-dialog .modal-dialog,.sync-confirm-dialog .modal-dialog,.sync-result-dialog .modal-dialog{width:min(640px,calc(100vw - 28px))}.sync-choice-panel,.sync-confirm-panel,.sync-result-panel{display:grid;gap:10px}.sync-choice-intro,.sync-result-message{display:grid;gap:3px}.sync-choice-intro strong,.sync-diagnostic-list p,.sync-result-message p{font-size:12px;line-height:1.35}.sync-choice-intro p,.sync-result-message p{margin:0;color:var(--color-muted)}.sync-state-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin-top:8px;overflow:hidden;border:1px solid rgba(148,163,184,.22);border-radius:8px;background:rgba(15,23,42,.24)}.sync-state-grid>div{display:grid;gap:2px;min-height:50px;padding:7px 10px;border-right:1px solid rgba(148,163,184,.18);background:transparent}.sync-state-grid>div:last-child{border-right:0}.sync-state-grid>div.has-change{background:rgba(6,182,212,.08)}.sync-state-grid span{color:var(--color-muted);font-size:10px;line-height:1.1}.sync-state-grid strong{font-size:11px;line-height:1.25}.sync-state-grid em{color:var(--color-muted);font-size:10px;font-style:normal;line-height:1.25}.sync-choice-section-title{display:flex;align-items:center;gap:8px;color:var(--color-muted);font-size:10px;font-weight:800;line-height:1}.sync-choice-section-title:after{content:"";flex:1 1;height:1px;background:rgba(148,163,184,.2)}.sync-choice-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.sync-choice-options button{position:relative;display:grid;gap:3px;min-height:86px;padding:9px 11px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--color-text);text-align:left;cursor:pointer;transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease,transform .18s ease;overflow:hidden}.sync-choice-options button:hover{border-color:var(--color-primary);background:var(--color-surface-soft)}.sync-choice-options button.active{border-color:var(--color-primary);background:var(--color-primary-soft);box-shadow:0 10px 24px rgba(var(--color-primary-rgb),.12);transform:translateY(-1px)}.sync-choice-options button.selected:after{content:url("data:image/svg+xml,%3Csvg viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M512 960c-247.424 0-448-200.576-448-448 0-247.424 200.576-448 448-448 247.424 0 448 200.576 448 448C960 759.424 759.424 960 512 960zM512 163.584C319.552 163.584 163.584 319.552 163.584 512c0 192.448 155.968 348.48 348.416 348.48 192.448 0 348.416-156.032 348.416-348.416C860.416 319.68 704.448 163.584 512 163.584zM776 400.576l-316.8 316.8c-9.728 9.728-25.472 9.728-35.2 0l-176-176c-9.728-9.728-9.728-25.472 0-35.2l35.2-35.2c9.728-9.728 25.472-9.728 35.2 0L441.6 594.176l264-264c9.728-9.728 25.472-9.728 35.2 0l35.2 35.2C785.728 375.104 785.728 390.848 776 400.576z' fill='%231afa29'/%3E%3C/svg%3E");position:absolute;right:14px;top:50%;width:72px;height:72px;opacity:.32;transform:translateY(-50%);pointer-events:none;z-index:0}.sync-choice-options button.selected{padding-right:96px}.sync-choice-options button>*{position:relative;z-index:1}.sync-choice-options button em{display:inline-flex;align-items:center;gap:4px;color:var(--color-primary);font-size:9px;font-style:normal;font-weight:800;line-height:1.1}.sync-choice-options button em svg{color:#22c55e;flex:0 0 auto}.sync-choice-options button strong{font-size:16px;line-height:1.15}.sync-choice-options button span{color:var(--color-muted);font-size:11px;line-height:1.3}.sync-choice-actions,.sync-result-actions{display:flex;justify-content:flex-end;gap:6px}.sync-confirm-dialog .modal-dialog{width:min(720px,calc(100vw - 28px))}.sync-confirm-hero{display:grid;gap:6px;padding:12px 14px;border:1px solid rgba(34,211,238,.28);border-radius:10px}.sync-confirm-hero,.sync-confirm-hero.download{background:linear-gradient(135deg,rgba(var(--color-primary-rgb),.16),rgba(var(--shadow-color-rgb),.12))}.sync-confirm-hero.download{border-color:rgba(59,130,246,.28)}.sync-confirm-hero span{color:var(--color-primary);font-size:12px;font-weight:900}.sync-confirm-hero strong{color:var(--color-text);font-size:18px;line-height:1.25}.sync-confirm-hero p,.sync-confirm-item p,.sync-confirm-warning p{margin:0;color:var(--color-muted);font-size:13px;line-height:1.45}.sync-confirm-list{display:grid;gap:8px;max-height:min(320px,42vh);overflow:auto;padding:10px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface-soft)}.sync-confirm-item,.sync-confirm-list-title{display:grid;gap:4px}.sync-confirm-list-title{grid-template-columns:minmax(0,1fr) auto;align-items:center;padding-bottom:2px}.sync-confirm-list-title strong{font-size:13px}.sync-confirm-list-title span{color:var(--color-muted);font-size:12px;font-weight:800}.sync-confirm-item{padding:9px 10px;border:1px solid rgba(148,163,184,.18);border-radius:8px;background:var(--color-surface)}.sync-confirm-item strong{font-size:13px;line-height:1.25}.sync-confirm-item.warning{border-color:rgba(245,158,11,.28);background:rgba(245,158,11,.08)}.sync-confirm-warning{display:grid;gap:4px;padding:10px 12px;border-radius:8px;background:rgba(245,158,11,.1);color:var(--color-text)}.sync-confirm-warning strong{font-size:13px}.sync-diagnostic-list{display:grid;gap:5px;padding:9px 11px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface-soft)}.sync-diagnostic-list p{margin:0;color:var(--color-text);word-break:break-word}:root[data-theme=dark] .sync-diagnostic-list{border-color:#223247;background:#0f192a}:root[data-theme=dark] .sync-diagnostic-list p{color:#dce4ef}.my-earnings-dialog{width:min(680px,calc(100vw - 20px));max-height:min(88vh,700px)}.my-earnings-dialog .modal-body{display:grid;gap:6px;min-height:0;overflow-y:auto;padding:8px 14px 12px}.my-earnings-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.my-earnings-kpi{display:grid;gap:3px;min-width:0;padding:6px 8px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-soft)}.my-earnings-day-list button em,.my-earnings-fund-row em,.my-earnings-fund-row i,.my-earnings-kpi span,.my-earnings-period-row em{color:var(--color-muted);font-size:12px;font-style:normal}.my-earnings-kpi strong{overflow:hidden;font-size:15px;text-overflow:ellipsis;white-space:nowrap}.my-earnings-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.my-earnings-display-tabs,.my-earnings-tabs{display:grid;gap:4px;padding:3px;border-radius:var(--radius-md);background:var(--color-surface-soft)}.my-earnings-display-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.my-earnings-display-tabs button,.my-earnings-month-nav button,.my-earnings-tabs button{min-height:28px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-muted);cursor:pointer}.my-earnings-display-tabs button.active,.my-earnings-tabs button.active{background:var(--color-primary);color:#ffffff;font-weight:800}.my-earnings-month-nav{display:grid;grid-template-columns:30px minmax(0,1fr) 30px;align-items:center;gap:6px}.my-earnings-month-nav strong{font-size:18px;text-align:center}.my-earnings-month-nav button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--color-border);background:var(--color-surface-soft)}.my-earnings-month-total{display:grid;justify-items:center;gap:0;padding:0}.my-earnings-month-total span{color:var(--color-muted);font-size:15px}.my-earnings-month-total strong{font-size:22px;line-height:1.15}.my-earnings-day-list,.my-earnings-period-list{display:grid;gap:6px}.my-earnings-day-list button,.my-earnings-fund-row,.my-earnings-period-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;min-height:34px;padding:0 10px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text)}.my-earnings-day-list button{cursor:pointer}.my-earnings-day-list button.active{border-color:var(--color-primary);background:var(--color-primary-soft)}.my-earnings-day-list button strong,.my-earnings-period-row strong{min-width:86px;text-align:right}.my-earnings-calendar{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.my-earnings-calendar,.my-earnings-month-grid{display:grid;padding:8px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-soft)}.my-earnings-month-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.my-earnings-month-card{display:grid;place-items:center;gap:6px;min-height:48px;min-width:0;padding:8px 6px;border-radius:var(--radius-md);background:var(--color-surface)}.my-earnings-month-card span{color:var(--color-primary);font-size:14px;font-weight:800}.my-earnings-month-card strong{max-width:100%;overflow:hidden;color:var(--color-muted);font-size:14px;text-overflow:ellipsis;white-space:nowrap}.my-earnings-month-card.up strong{color:var(--color-up)}.my-earnings-month-card.down strong{color:var(--color-down)}.my-earnings-weekday{display:grid;place-items:center;min-height:18px;color:var(--color-muted);font-size:13px}.my-earnings-calendar-cell{display:grid;place-items:center;gap:4px;min-height:58px;min-width:0;padding:6px 4px;border:1px solid transparent;border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-primary);cursor:pointer}.my-earnings-calendar-cell.blank{background:transparent;pointer-events:none}.my-earnings-calendar-cell.up{background:rgba(255,77,79,.1)}.my-earnings-calendar-cell.down{background:rgba(0,166,91,.1)}.my-earnings-calendar-cell.empty-day{background:var(--color-surface)}.my-earnings-calendar-cell.active,.my-earnings-calendar-cell.today{border-color:var(--color-primary)}.my-earnings-calendar-cell span{color:var(--color-primary);font-size:15px;font-weight:800}.my-earnings-calendar-cell strong{max-width:100%;overflow:hidden;color:var(--color-muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.my-earnings-calendar-cell.up strong{color:var(--color-up)}.my-earnings-calendar-cell.down strong{color:var(--color-down)}.my-earnings-detail{display:grid;gap:6px;padding-top:2px}.my-earnings-detail-title{display:flex;justify-content:space-between;gap:12px;align-items:center;color:var(--color-text)}.my-earnings-fund-row span{display:grid;gap:2px;min-width:0}.my-earnings-fund-row span strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.my-earnings-fund-row b{min-width:84px;text-align:right}.my-earnings-empty{display:grid;justify-items:center;gap:8px;padding:28px 12px;color:var(--color-muted);border:1px dashed var(--color-border);border-radius:var(--radius-md)}@media (max-width:720px){.sync-choice-options,.sync-state-grid{grid-template-columns:1fr}.sync-state-grid>div{border-right:0;border-bottom:1px solid rgba(148,163,184,.18)}.sync-state-grid>div:last-child{border-bottom:0}.sync-choice-options button{min-height:78px}.sync-choice-options button.selected{padding-right:82px}.sync-choice-actions,.sync-result-actions{flex-wrap:wrap}.sync-choice-actions>*,.sync-result-actions>*{flex:1 1 100%}.my-earnings-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.my-earnings-day-list button,.my-earnings-fund-row,.my-earnings-period-row{grid-template-columns:minmax(0,1fr) auto}.my-earnings-day-list button em,.my-earnings-fund-row i,.my-earnings-period-row em{grid-column:1/-1}.my-earnings-dialog .modal-body{padding:10px 12px 12px}.my-earnings-calendar{gap:4px;padding:8px;border-radius:var(--radius-md)}.my-earnings-month-grid{gap:6px;padding:8px;border-radius:var(--radius-md)}.my-earnings-month-card{min-height:50px;gap:5px}.my-earnings-month-card span,.my-earnings-month-card strong{font-size:13px}.my-earnings-calendar-cell{min-height:52px}.my-earnings-calendar-cell span{font-size:14px}.my-earnings-calendar-cell strong{font-size:12px}}.settings-switch-row{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:28px;padding:0 2px 4px;border-bottom:1px solid var(--color-border);font-size:12px;font-weight:800}.table-settings-section{display:grid;gap:6px;width:100%;padding:7px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-soft)}.table-settings-section.compact{padding:7px}.table-settings-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.table-settings-title>div:first-child{min-width:0;flex:1 1 auto}.table-settings-heading,.table-settings-title strong{font-size:12px;line-height:1.2}.table-settings-heading{width:100%;font-weight:800}.table-settings-title span{display:block;margin-top:2px;color:var(--color-muted);font-size:11px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.table-settings-subhead{display:flex;align-items:center;justify-content:space-between;gap:8px}.table-settings-subhead>span{min-width:0;flex:1 1 auto;color:var(--color-muted);font-size:12px;font-weight:800;line-height:1.2;white-space:nowrap}.table-settings-actions{display:inline-flex;flex:0 0 auto;flex-wrap:nowrap;justify-content:flex-end;gap:4px}.compact-button{min-height:24px;padding:0 6px;font-size:12px;font-weight:800}.table-settings-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.settings-select{display:grid;gap:4px;color:var(--color-muted);font-size:11px;font-weight:700}.settings-select select{min-width:0;height:28px;padding:0 8px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text)}.personal-column-list{display:grid;gap:5px;justify-items:start}.personal-column-item{display:flex;align-items:center;gap:5px;min-height:34px;padding:4px 7px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);cursor:grab;-webkit-user-select:none;user-select:none;transition:transform .18s ease,opacity .18s ease,border-color .18s ease,background-color .18s ease,box-shadow .18s ease;transform-origin:center;position:relative;width:100%;max-width:100%}.personal-column-item:active{cursor:grabbing}.personal-column-item:hover{border-color:var(--color-primary);background:var(--color-primary-soft)}.personal-column-item.dragging{opacity:.56;transform:scale(.985)}.personal-column-item.drop-after,.personal-column-item.drop-before{box-shadow:0 10px 18px rgba(var(--color-primary-rgb),.1)}.personal-column-item.drop-after:after,.personal-column-item.drop-before:before{content:"";position:absolute;left:6px;right:6px;height:3px;border-radius:999px;background:rgba(var(--color-primary-rgb),.9);box-shadow:0 0 0 4px rgba(var(--color-primary-rgb),.12)}.personal-column-item.drop-before:before{top:-5px}.personal-column-item.drop-after:after{bottom:-5px}.drag-handle,.pin-button{display:grid;flex:0 0 auto;place-items:center;color:var(--color-muted)}.drag-handle{pointer-events:none}.pin-button{width:24px;height:24px;border:0;border-radius:8px;background:transparent;cursor:pointer}.pin-button.active,.pin-button:hover{background:var(--color-primary-soft);color:var(--color-primary)}.column-label-button{display:grid;gap:1px;flex:1 1 auto;min-width:0;padding:0;border:0;background:transparent;color:var(--color-text);text-align:left;cursor:pointer}.column-label-button:disabled{cursor:default}.column-label-button strong{overflow:hidden;font-size:12px;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.column-label-title{display:inline-flex;align-items:center;gap:5px}.personal-column-item.vip-locked{border-style:dashed;background:color-mix(in srgb,var(--color-surface) 88%,#f4c31f 12%)}.personal-column-item.vip-locked .pin-button,.personal-column-item.vip-locked .settings-switch{cursor:pointer;opacity:.62}.column-label-button span{color:var(--color-muted);font-size:11px;line-height:1.1}.personal-column-item .settings-switch{flex:0 0 auto;margin-left:auto}.settings-switch{position:relative;width:32px;height:18px;border:0;border-radius:999px;background:#9aa9b8;cursor:pointer}.settings-switch span{position:absolute;top:3px;left:3px;width:12px;height:12px;border-radius:50%;background:#ffffff;transition:transform .16s ease}.settings-switch.enabled{background:var(--color-primary)}.settings-switch.enabled span{transform:translateX(14px)}:root[data-theme=dark] .panel-layer:has(.table-settings-panel) .responsive-panel{border-left:1px solid #1b2a3e;background:#0d1626}:root[data-theme=dark] .panel-layer:has(.table-settings-panel) .panel-body,:root[data-theme=dark] .panel-layer:has(.table-settings-panel) .panel-header{background:#0d1626}:root[data-theme=dark] .settings-switch-row,:root[data-theme=dark] .table-settings-heading,:root[data-theme=dark] .table-settings-panel{color:#dce4ef}:root[data-theme=dark] .table-settings-section{border-color:#223247;background:#111c2e}:root[data-theme=dark] .column-label-button span,:root[data-theme=dark] .settings-select,:root[data-theme=dark] .table-settings-subhead>span,:root[data-theme=dark] .table-settings-title span{color:#8f9db1}:root[data-theme=dark] .settings-select select{border-color:#27384d;background:#0f192a;color:#eef5ff}:root[data-theme=dark] .personal-column-item{border-color:#24364c;background:#142238}:root[data-theme=dark] .personal-column-item:hover{border-color:#31506d;background:#192b43}:root[data-theme=dark] .personal-column-item.vip-locked{border-color:#6f5c24;background:#1f2430}:root[data-theme=dark] .drag-handle,:root[data-theme=dark] .pin-button{color:#7f8da2}:root[data-theme=dark] .settings-switch{background:#526174}:root[data-theme=dark] .settings-switch.enabled{background:#24b8d8}:root[data-theme=dark] .settings-switch.enabled span{box-shadow:0 0 0 1px rgba(255,255,255,.18)}.sync-personal-settings-dialog{width:min(460px,calc(100vw - 28px))}.sync-personal-settings{display:grid;gap:12px}.sync-personal-settings p{margin:0;color:var(--color-muted);font-size:12px;line-height:1.5}.sync-target-list{display:grid;gap:6px;max-height:300px;overflow-y:auto}.sync-target-list button{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:8px;min-height:44px;padding:6px 10px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);text-align:left;cursor:pointer}.sync-target-list button.selected,.sync-target-list button:hover{border-color:#b8d4ce;background:var(--color-primary-soft)}.sync-target-list i{display:grid;place-items:center;width:18px;height:18px;border:1px solid #b4c2bc;border-radius:5px;color:var(--color-primary);font-style:normal;font-size:12px}.sync-target-list span{display:grid;gap:2px;min-width:0}.sync-target-list strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.sync-empty,.sync-target-list small{color:var(--color-muted);font-size:11px}.sync-empty{padding:18px 0;text-align:center}.sync-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px}.sync-toolbar span{color:var(--color-muted);font-size:12px}.sync-actions{display:flex;justify-content:flex-end;gap:8px}.group-manager-panel{display:grid;grid-template-columns:minmax(150px,190px) minmax(0,1fr);gap:12px}.group-editor,.group-manager-list{display:grid;align-content:start;gap:8px}.group-manager-list{padding:10px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-soft)}:root[data-theme=dark] .group-editor,:root[data-theme=dark] .group-manager-list{background:#141d22}.group-create-button{width:100%;white-space:nowrap}.group-sort-tip{margin:-1px 2px 1px;color:var(--color-muted);font-size:11px;line-height:1.35;text-align:center}.group-list-item{display:flex;align-items:center;min-height:34px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);position:relative;-webkit-user-select:none;user-select:none;transform-origin:center;transition:transform .18s ease,opacity .18s ease,border-color .18s ease,background-color .18s ease,box-shadow .18s ease}.group-list-item.active,.group-list-item:hover{border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary)}.group-list-item.dragging{z-index:1;opacity:.56;transform:scale(.985)}.group-list-item.drop-after,.group-list-item.drop-before{box-shadow:0 10px 18px rgba(var(--color-primary-rgb),.1)}.group-list-item.drop-after:after,.group-list-item.drop-before:before{content:"";position:absolute;z-index:2;left:6px;right:6px;height:3px;border-radius:999px;background:rgba(var(--color-primary-rgb),.9);box-shadow:0 0 0 4px rgba(var(--color-primary-rgb),.12);pointer-events:none}.group-list-item.drop-before:before{top:-5px}.group-list-item.drop-after:after{bottom:-5px}.group-drag-handle,.group-list-select{border:0;background:transparent;color:inherit}.group-drag-handle{display:grid;flex:0 0 30px;align-self:stretch;place-items:center;padding:0;color:var(--color-muted);cursor:grab;touch-action:none}.group-drag-handle:active{cursor:grabbing}.group-drag-handle:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.group-list-select{display:flex;min-width:0;flex:1 1;align-items:center;justify-content:space-between;gap:8px;min-height:32px;padding:0 10px 0 2px;font-size:13px;font-weight:700;text-align:left;cursor:pointer}.group-list-select span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.group-manager-list small{color:var(--color-muted)}.group-editor{padding:12px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-soft)}.group-name-field{display:grid;gap:6px;color:var(--color-muted);font-size:12px;font-weight:800}.group-name-field input{min-width:0;height:36px;padding:0 10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);outline:0;background:var(--color-surface);color:var(--color-text)}.group-editor-actions{display:flex;gap:8px}.group-fund-picker{display:grid;gap:6px;max-height:430px;overflow:auto}.group-picker-title{display:flex;align-items:center;color:var(--color-muted)}.group-picker-title strong{color:var(--color-text);font-size:14px}.group-fund-item,.group-fund-picker>button{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:42px;padding:6px 10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);text-align:left;cursor:pointer}.group-fund-picker>button:hover{background:var(--color-table-row-hover)}.group-fund-picker>button.selected{border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary)}.group-fund-item span,.group-fund-picker>button span{display:grid;min-width:0}.group-fund-item strong,.group-fund-picker>button strong{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.group-fund-item{cursor:default}.group-fund-item button{display:inline-grid;place-items:center;width:28px;height:28px;flex:0 0 auto;border:1px solid #f1c7c2;border-radius:var(--radius-sm);background:#fff1f0;color:var(--color-up);cursor:pointer}.group-fund-item button:hover{background:#ffe4e0}.group-empty-tip,.group-fund-picker button small{color:var(--color-muted);font-size:12px}.desktop-only,.tablet-only{display:none}.up{color:var(--color-up)}.down{color:var(--color-down)}.flat{color:var(--color-flat)}.muted{color:var(--color-muted)}.ui-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:32px;padding:0 10px;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer}.ui-button-primary{background:var(--color-primary);color:#fff}.ui-button-secondary{border-color:var(--color-border);background:var(--color-surface);color:var(--color-text)}.ui-button-ghost{background:transparent;color:var(--color-muted)}.ui-button-danger{background:#fbe8e6;color:var(--color-up)}.icon-button{width:32px;padding:0}.amount-mask-button.active{color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 12%,transparent)}.icon-text-button{white-space:nowrap}.detail-placeholder,.fund-detail{min-height:360px;height:100%;padding:0;border:0;border-radius:0;background:var(--color-surface);box-shadow:none}.detail-placeholder{display:grid;place-items:center;align-content:center;gap:8px;color:var(--color-muted);text-align:center}.detail-preview-notice{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin:0 0 12px;padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-soft);color:var(--color-muted);font-weight:800}.detail-preview-notice button{min-height:30px;padding:0 12px;border:0;border-radius:var(--radius-sm);background:var(--color-primary);color:#fff;font-weight:900;cursor:pointer}.detail-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px 0 6px;border-bottom:1px solid var(--color-table-divider)}.detail-name-row{display:none}.detail-name-block{display:flex;align-items:center;gap:7px;min-width:0}.detail-name-block>svg{color:#2b82d9;flex:0 0 auto}.detail-name-block h2{margin:0 0 3px;font-size:15px;line-height:1.18}.detail-code-line{display:flex;flex-wrap:wrap;align-items:center;gap:3px}.detail-code-line span{color:var(--color-muted);font-size:12px}.detail-code-line em{font-size:11px;font-style:normal}.detail-code-line em,.detail-tag-chip{padding:0 5px;min-height:16px;border:1px solid #f0b15c;border-radius:999px;display:inline-flex;align-items:center;color:#a85d00;background:#fff7e8;line-height:1}.detail-tag-chip{font-size:10px;cursor:pointer}.detail-tag-chip:hover{filter:brightness(.97)}.detail-source-cards{display:flex;align-items:center;gap:5px;justify-content:flex-end}.detail-source-button{display:block;padding:0;border:0;background:transparent;cursor:pointer}.detail-source-button:hover .detail-badge{background:var(--color-surface-strong)}.detail-badge{display:grid;gap:1px;min-width:74px;min-height:36px;align-content:center;padding:4px 8px;border-radius:var(--radius-md);background:var(--color-surface-soft);text-align:center}.detail-badge span,.detail-info-item span,.detail-kpi small,.detail-kpi span{color:var(--color-muted);font-size:12px}.detail-badge strong{color:var(--color-primary);font-size:12px;line-height:1.15}.detail-delete-round{display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:999px;background:#feeceb;color:var(--color-up);cursor:pointer}.detail-stat-grid{display:grid;gap:0;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.detail-stat-grid-four{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:6px}.detail-stat-grid-three{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:6px}.detail-holding-summary .detail-kpi{background:transparent}.detail-cost-summary .detail-kpi,.detail-period-grid .detail-kpi{min-height:42px;background:transparent;border-color:transparent}.detail-stat-grid .detail-kpi:not(:last-child){border-right:1px solid #e8efec}.detail-stat-grid-four .detail-kpi:nth-child(4n),.detail-stat-grid-three .detail-kpi:nth-child(3n){border-right:0}.detail-stat-grid-three.detail-cost-summary .detail-kpi,.detail-stat-grid-three.detail-cost-summary .detail-kpi:not(:last-child){border-color:transparent}.detail-cost-summary{margin-top:4px;border-color:transparent;border-radius:0;background:transparent}.detail-period-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:0;padding:1px 0 7px}.detail-kpi,.detail-period-grid{display:grid;border:0;border-radius:0;background:transparent}.detail-kpi{grid-template-rows:auto auto auto;justify-items:center;align-content:center;gap:2px;min-height:50px;padding:5px}.detail-kpi,.detail-kpi span{min-width:0;text-align:center}.detail-kpi span{display:inline-flex;align-items:center;justify-content:center;gap:5px;line-height:1.15}.detail-kpi strong{font-size:15px}.detail-kpi small,.detail-kpi strong{overflow:hidden;line-height:1.15;text-align:center;text-overflow:ellipsis;white-space:nowrap}.detail-kpi small{max-width:100%}.detail-kpi.clickable{cursor:pointer}.detail-kpi.clickable:hover{color:var(--color-primary);background:var(--color-primary-soft)}.detail-more-divider{display:inline-flex;align-items:center;justify-content:center;gap:7px;width:100%;margin:4px 0;padding:0;border:0;background:linear-gradient(var(--color-border),var(--color-border)) 50% /100% 1px no-repeat;color:var(--color-muted);cursor:pointer}.detail-more-divider:after,.detail-more-divider:before{content:none}.detail-more-divider span{padding:0 6px;background:var(--color-surface);font-size:12px}.detail-more-divider svg{background:var(--color-surface);transition:transform .25s ease}.detail-more-divider svg.expanded{transform:rotate(180deg)}.detail-more-divider:hover span{color:var(--color-primary)}.detail-more-content{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .25s ease,opacity .2s ease}.detail-more-content.expanded{grid-template-rows:1fr;opacity:1}.detail-more-content-inner{overflow:hidden}.detail-range-tabs,.detail-tabs{display:grid;gap:4px;padding:4px;border-radius:var(--radius-md);background:#f0f3f7}.detail-tabs{grid-template-columns:repeat(5,minmax(0,1fr));margin:0 0 8px}.detail-range-tabs{grid-template-columns:repeat(6,minmax(0,1fr));margin-top:8px}.detail-range-tabs button,.detail-tabs button{min-height:28px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-muted);font-size:12px;font-weight:800;transition:background-color .2s ease,color .2s ease;cursor:pointer}.detail-range-tabs button.active,.detail-tabs button.active{background:#dcefe9;color:var(--color-primary)}.detail-chart-panel,.detail-compact-section{margin:0 0 10px;padding:0;border:0;border-radius:0;background:transparent}.detail-chart-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.detail-chart-title span{color:var(--color-muted);font-weight:800}.detail-chart-title strong{font-size:16px}.fund-band-panel{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;min-width:0;padding:4px 0 2px}.fund-band-panel>*{min-width:0}.fund-band-custom-range,.fund-band-footer span,.fund-band-legend,.fund-band-loading,.fund-band-toolbar{display:flex;align-items:center}.fund-band-toolbar{justify-content:space-between;gap:10px}.fund-band-range-tabs{display:grid;grid-template-columns:repeat(4,minmax(64px,1fr));gap:4px;width:100%;max-width:420px;padding:3px;border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-border) 48%,transparent)}.fund-band-locked button,.fund-band-range-tabs button{min-height:30px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-muted);font-size:12px;font-weight:800;cursor:pointer}.fund-band-range-tabs button.active{background:color-mix(in srgb,var(--color-primary) 14%,var(--color-surface,#fff));color:var(--color-primary)}.fund-band-loading{flex:0 0 auto;gap:5px;color:var(--color-muted);font-size:12px;font-weight:700}.fund-band-custom-range{flex-wrap:wrap;gap:10px}.fund-band-custom-range label{display:grid;gap:4px;min-width:150px;color:var(--color-muted);font-size:11px;font-weight:700}.fund-band-custom-range input{min-height:34px;padding:0 9px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface,transparent);color:var(--color-text)}.fund-band-custom-range small{align-self:flex-end;padding-bottom:8px;color:var(--color-muted)}.fund-band-backtest,.fund-band-indicators,.fund-band-summary{display:grid;gap:1px;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-border)}.fund-band-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.fund-band-backtest>div,.fund-band-indicators>div,.fund-band-summary>div{display:grid;gap:4px;min-width:0;padding:10px;background:var(--color-surface,var(--color-bg))}.fund-band-backtest span,.fund-band-indicators span,.fund-band-summary span{overflow:hidden;color:var(--color-muted);font-size:11px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.fund-band-summary strong{font-size:18px}.fund-band-summary small{overflow:hidden;color:var(--color-muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.fund-band-backtest .up,.fund-band-legend .buy,.fund-band-summary .low,.fund-band-summary .up{color:var(--color-up)}.fund-band-backtest .down,.fund-band-legend .sell,.fund-band-summary .down,.fund-band-summary .high{color:var(--color-down)}.fund-band-chart{position:relative;width:100%;height:270px;overflow:hidden}.fund-band-chart canvas{max-width:100%}.fund-band-legend{flex-wrap:wrap;justify-content:center;gap:8px 16px;color:var(--color-muted);font-size:11px;font-weight:700}.fund-band-legend span:before{content:"";display:inline-block;width:7px;height:7px;margin-right:5px;border-radius:50%;background:currentColor}.fund-band-legend .provisional{color:var(--color-muted)}.fund-band-indicators{grid-template-columns:repeat(5,minmax(0,1fr))}.fund-band-backtest>div,.fund-band-indicators>div{text-align:center}.fund-band-backtest strong,.fund-band-indicators strong{font-size:14px}.fund-band-backtest{grid-template-columns:repeat(4,minmax(0,1fr))}.fund-band-note,.fund-band-state,.fund-band-warning{display:grid;gap:5px;padding:14px;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-muted);font-size:12px;text-align:center}.fund-band-state.error,.fund-band-warning{border-color:color-mix(in srgb,var(--color-up) 35%,var(--color-border));color:var(--color-up)}.fund-band-note{padding:9px 12px;background:color-mix(in srgb,var(--color-primary) 6%,transparent);text-align:left}.fund-band-footer{padding-top:10px;border-top:1px solid var(--color-border);color:var(--color-muted);font-size:11px;line-height:1.65}.fund-band-footer span{flex-wrap:wrap;gap:4px;font-weight:700}.fund-band-footer p{margin:5px 0 0}.fund-band-locked{display:grid;justify-items:center;gap:9px;padding:30px 16px;color:var(--color-muted);text-align:center}.fund-band-locked svg{color:#d89b22}.fund-band-locked strong{color:var(--color-text);font-size:15px}.fund-band-locked p{max-width:420px;margin:0;font-size:12px;line-height:1.6}.fund-band-locked button{padding:0 14px;background:var(--color-primary);color:#fff}.detail-chart-wrap{position:relative;display:grid;gap:8px;padding-left:44px;touch-action:pan-y}.animated-line-chart{position:relative;width:100%;min-width:0;border-bottom:1px solid var(--color-border);touch-action:pan-y}.animated-line-chart canvas{display:block;width:100%!important;height:100%!important}.detail-taxonomy-panel{display:grid;gap:8px;margin:12px 0;padding:12px 14px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface)}.detail-taxonomy-group{display:grid;grid-template-columns:74px minmax(0,1fr);align-items:center;gap:10px;min-width:0;color:var(--color-muted);font-size:13px}.detail-taxonomy-group>div{display:flex;flex-wrap:wrap;gap:6px;min-width:0}.detail-taxonomy-chip{display:inline-flex;max-width:100%;align-items:center;padding:3px 8px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface-soft);color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.detail-taxonomy-chip.primary{border-color:color-mix(in srgb,var(--accent-color,#165dff) 45%,transparent);color:var(--accent-color,#165dff)}.detail-chart-wrap.performance-up .detail-chart-legend i{background:var(--color-up)}.detail-chart-wrap.performance-up .detail-chart-y-axis{color:var(--color-up)}.detail-chart-wrap.performance-down .detail-chart-legend i{background:var(--color-down)}.detail-chart-wrap.performance-down .detail-chart-y-axis{color:var(--color-down)}.detail-chart-grid{stroke:rgba(15,23,42,.08);stroke-width:1;vector-effect:non-scaling-stroke}.detail-chart-zero{stroke:rgba(15,23,42,.18);stroke-width:1;vector-effect:non-scaling-stroke}.detail-chart-cursor{stroke:rgba(255,77,79,.5);stroke-dasharray:3 3;stroke-width:1;vector-effect:non-scaling-stroke}.detail-chart-dot{fill:var(--color-up);stroke:none;stroke-width:0;vector-effect:non-scaling-stroke}.detail-chart-y-axis{position:absolute;top:0;bottom:30px;left:0;display:flex;flex-direction:column;justify-content:space-between;width:40px;color:var(--color-up);font-size:11px;line-height:1;pointer-events:none}.detail-chart-y-axis span:last-child{color:var(--color-down)}.detail-chart-tooltip{position:absolute;top:42px;z-index:2;display:grid;gap:4px;min-width:126px;padding:8px 10px;border-radius:6px;background:rgba(64,64,64,.82);color:#ffffff;font-size:12px;line-height:1.2;box-shadow:0 8px 18px rgba(15,23,42,.22);transform:translateX(-50%);animation:chart-tooltip-in .15s ease-out;transition:left .1s ease,top .1s ease,opacity .15s ease;pointer-events:none}@keyframes chart-tooltip-in{0%{opacity:0;transform:translateX(-50%) scale(.95)}to{opacity:1;transform:translateX(-50%) scale(1)}}.detail-chart-tooltip b{color:#ffb22e}.detail-chart-tooltip-nav{min-width:174px;gap:0;padding:8px 12px}.detail-chart-tooltip-nav span{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:5px 0}.detail-chart-tooltip-nav span+span{border-top:1px solid rgba(255,255,255,.12)}.detail-chart-tooltip-nav em{color:rgba(255,255,255,.72);font-style:normal}.detail-chart-tooltip-nav b{color:#ffffff;font-family:Menlo,Monaco,monospace;font-weight:600;white-space:nowrap}.detail-chart-tooltip-nav b.up{color:var(--color-up)}.detail-chart-tooltip-nav b.down{color:var(--color-down)}.detail-chart-legend{display:flex;justify-content:center;gap:14px;color:var(--color-muted);font-size:12px}.detail-chart-legend span{display:inline-flex;align-items:center;gap:5px}.detail-chart-legend i{width:16px;height:2px;border-radius:999px;background:#1d8cff}.detail-chart-empty{display:grid;place-items:center;height:138px;color:var(--color-muted)}.detail-chart-pending{margin-left:8px;color:var(--color-primary);font-size:11px;font-weight:700}.detail-intraday-panel{margin:0 0 10px}.detail-intraday-title{display:flex;justify-content:space-between;gap:10px;margin:2px 0 6px;color:var(--color-muted);font-size:13px}.detail-intraday-title span{font-weight:800}.detail-intraday-title em{font-style:normal}.detail-intraday-chart-wrap{position:relative;padding:8px 0 22px 44px;touch-action:pan-y}.detail-intraday-chart{width:100%;height:112px}.detail-intraday-area{fill:rgba(24,144,255,.12)}.detail-intraday-line{fill:none;stroke:#1d8cff;stroke-width:2;vector-effect:non-scaling-stroke}.detail-intraday-chart-wrap.up .detail-chart-dot,.detail-intraday-chart-wrap.up .detail-intraday-line{stroke:var(--color-up)}.detail-intraday-chart-wrap.up .detail-intraday-area{fill:rgba(255,77,79,.12)}.detail-intraday-chart-wrap.down .detail-chart-dot,.detail-intraday-chart-wrap.down .detail-intraday-line{stroke:var(--color-down)}.detail-intraday-chart-wrap.down .detail-intraday-area{fill:rgba(0,166,91,.12)}.detail-intraday-y-axis{top:8px;bottom:22px;left:0;display:flex;flex-direction:column;justify-content:space-between;width:40px;line-height:1}.detail-intraday-x-axis,.detail-intraday-y-axis{position:absolute;font-size:11px;pointer-events:none}.detail-intraday-x-axis{right:0;bottom:0;left:44px;height:16px;color:var(--color-muted)}.detail-intraday-x-axis span{position:absolute;top:0;transform:translateX(-50%);white-space:nowrap}.asset-allocation-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px}.asset-stat{display:grid;gap:6px;color:var(--color-muted);font-size:12px}.asset-stat strong{color:var(--color-text);font-size:18px}.top-holdings-title{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:8px;color:var(--color-muted);font-size:13px}.top-holdings-title strong{color:var(--color-text);font-size:16px}.top-holdings-title em{font-style:normal}.top-holdings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px}.top-holding-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;min-height:40px;padding:0 10px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.top-holding-item strong{overflow:hidden;color:var(--color-text);font-size:14px;text-overflow:ellipsis;white-space:nowrap}.top-holding-item div{display:inline-flex;align-items:center;gap:8px}.top-holding-item span{min-width:62px;padding:4px 8px;min-height:auto;border:1px solid var(--color-border);border-radius:999px;text-align:center;font-size:12px;line-height:1.15}.top-holding-item span.up{color:var(--color-up)!important}.top-holding-item span.down{color:var(--color-down)!important}.top-holding-item b{min-width:52px;color:#2f7fd7;font-size:14px;text-align:right;line-height:1}.detail-history{overflow:hidden;margin-top:12px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.detail-history-head,.detail-history-row{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:8px;align-items:center;min-height:36px;padding:0 12px;border-bottom:1px solid var(--color-border);font-size:13px}.detail-history-head{background:#edf2f6;color:var(--color-muted);font-weight:800}.detail-history-row:last-child{border-bottom:0}.detail-history p,.detail-history-row span{color:var(--color-muted)}.detail-history p{margin:12px}.history-load-more{width:100%;min-height:36px;border:0;border-top:1px solid var(--color-border);background:transparent;color:var(--color-muted);font-weight:700;cursor:pointer}.history-load-more:hover{color:var(--color-primary);background:var(--color-primary-soft)}.modal-dialog.history-netvalue-dialog{--scroll-content-gap:16px;--scrollbar-inline-size:6px;width:min(430px,calc(100vw - 28px));max-height:min(86vh,720px)}.history-netvalue-dialog .modal-body{display:block;max-height:min(64vh,620px);overflow-y:auto;overflow-x:hidden;padding:20px 0;scrollbar-color:rgba(148,163,184,.28) transparent;scrollbar-width:thin}.history-netvalue-dialog .modal-body::-webkit-scrollbar{width:6px}.history-netvalue-dialog .modal-body::-webkit-scrollbar-track{background:transparent}.history-netvalue-dialog .modal-body::-webkit-scrollbar-thumb{border-radius:999px;background:rgba(148,163,184,.24)}.history-netvalue-dialog .modal-body::-webkit-scrollbar-thumb:hover{background:rgba(148,163,184,.42)}.history-modal-scroll{width:calc(100% - (var(--scroll-content-gap) * 2) + var(--scrollbar-inline-size));margin:0 calc(var(--scroll-content-gap) - var(--scrollbar-inline-size)) 0 var(--scroll-content-gap);overflow:visible}.detail-history-modal-table{margin:0;width:100%;min-width:0}.detail-history-modal-table .detail-history-head{position:sticky;top:0;z-index:1}.detail-history-modal-table .detail-history-head,.detail-history-modal-table .detail-history-row{grid-template-columns:minmax(92px,1.35fr) minmax(76px,1fr) minmax(76px,1fr) minmax(68px,.95fr);gap:4px;padding:0 10px;font-size:13px}.history-scroll-tip{margin:0;padding:12px 0 4px;color:var(--color-muted);font-size:12px;text-align:center}.detail-section{margin-top:14px}.detail-section h3{margin:0 0 8px;font-size:15px}.detail-rows{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 12px;font-size:14px}.detail-rows span{color:var(--color-muted)}.detail-holding-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) auto;gap:8px;align-items:end;margin-bottom:14px}.detail-holding-form label{display:grid;gap:5px}.detail-holding-form span{color:var(--color-muted);font-size:12px}.detail-holding-form input{width:100%;min-height:34px;padding:0 10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);outline:0}.detail-holding-form div{display:flex;gap:6px}.detail-holding-form button{min-height:34px;padding:0 10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer}.detail-holding-form button[type=submit]{border-color:transparent;background:var(--color-primary);color:#fff}.modal-layer{position:fixed;inset:0;z-index:70;display:grid;place-items:center;padding:20px}.modal-layer:has(.fund-detail-dialog){z-index:90}.modal-layer-over-detail{z-index:110}.modal-layer:has(.ranking-add-dialog){z-index:140}.modal-backdrop{position:absolute;inset:0;border:0;background:rgba(var(--shadow-color-rgb),.18);-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px)}.modal-dialog{position:relative;z-index:1;display:flex;flex-direction:column;width:min(672px,100%);max-height:min(88vh,720px);overflow:hidden;border:1px solid var(--color-border);border-radius:16px;background:var(--color-surface);box-shadow:0 24px 70px rgba(var(--shadow-color-rgb),.24)}.modal-dialog.ranking-add-dialog{width:min(320px,calc(100vw - 36px))}:root[data-theme=dark] .modal-backdrop,:root[data-theme=dark] .nested-modal-backdrop{background:rgba(4,8,10,.68)}:root[data-theme=dark] .fund-detail-dialog{border-color:#223247;background:#0d1626;box-shadow:0 24px 70px rgba(0,0,0,.42)}:root[data-theme=dark] .fund-detail-dialog .modal-body,:root[data-theme=dark] .fund-detail-dialog .modal-header{background:#0d1626}:root[data-theme=dark] .fund-detail-dialog .modal-header{border-bottom-color:#223247}:root[data-theme=dark] .detail-placeholder,:root[data-theme=dark] .fund-detail{background:#0d1626}:root[data-theme=dark] .detail-hero{border-bottom-color:#223247}:root[data-theme=dark] .detail-name-block>svg{color:#22c7e8}:root[data-theme=dark] .detail-code-line em,:root[data-theme=dark] .detail-tag-chip{border-color:rgba(240,177,92,.34);background:rgba(240,177,92,.12);color:#f6bd6f}:root[data-theme=dark] .detail-badge{border:1px solid #24364c;background:#142238}:root[data-theme=dark] .detail-source-button:hover .detail-badge{border-color:#31506d;background:#192b43}:root[data-theme=dark] .detail-delete-round{background:rgba(248,113,113,.14);color:#ff6b73}:root[data-theme=dark] .detail-stat-grid{border-color:#223247;background:#111c2e}:root[data-theme=dark] .detail-stat-grid .detail-kpi:not(:last-child){border-right-color:#223247}:root[data-theme=dark] .detail-cost-summary,:root[data-theme=dark] .detail-period-grid{background:transparent}:root[data-theme=dark] .detail-range-tabs,:root[data-theme=dark] .detail-tabs{border:1px solid #223247;background:#0f192a}:root[data-theme=dark] .detail-range-tabs button,:root[data-theme=dark] .detail-tabs button{color:#8f9db1}:root[data-theme=dark] .detail-range-tabs button.active,:root[data-theme=dark] .detail-tabs button.active{background:rgba(34,199,232,.16);color:#22c7e8}:root[data-theme=dark] .detail-chart-legend i{background:#22c7e8}.auth-modal-layer{z-index:190}.auth-result-modal-layer{z-index:210}.auth-result-dialog{width:min(420px,100%)}.auth-result-panel{display:grid;justify-items:center;gap:14px;padding:10px 4px 4px;text-align:center}.auth-result-panel p{margin:0;line-height:1.7;color:var(--color-text)}.auth-result-panel.success>svg{color:var(--color-primary)}.auth-result-panel.error>svg{color:var(--color-up)}:root[data-theme=dark] .detail-chart-wrap.performance-up .detail-chart-legend i{background:var(--color-up)}:root[data-theme=dark] .detail-chart-wrap.performance-down .detail-chart-legend i{background:var(--color-down)}:root[data-theme=dark] .detail-chart-grid{stroke:rgba(220,228,239,.08)}:root[data-theme=dark] .detail-chart-zero{stroke:rgba(220,228,239,.18)}:root[data-theme=dark] .detail-chart-dot{fill:#ff6b73;stroke:none}:root[data-theme=dark] .detail-history,:root[data-theme=dark] .top-holding-item{border-color:#24364c;background:#111c2e}:root[data-theme=dark] .top-holding-item span{border-color:#24364c;background:#0f192a;color:#dce4ef}:root[data-theme=dark] .top-holding-item span.up{color:var(--color-up)!important}:root[data-theme=dark] .top-holding-item span.down{color:var(--color-down)!important}:root[data-theme=dark] .top-holding-item b{color:#22c7e8}:root[data-theme=dark] .detail-history-head{background:#142238;color:#8f9db1}:root[data-theme=dark] .detail-history-head,:root[data-theme=dark] .detail-history-row{border-bottom-color:#24364c}:root[data-theme=dark] .data-source-option{border-color:#24364c;background:#142238}:root[data-theme=dark] .data-source-option:hover{border-color:#31506d;background:#192b43}:root[data-theme=dark] .data-source-option.active{border-color:rgba(34,199,232,.42);background:rgba(34,199,232,.16)}.fund-detail-dialog{width:min(672px,calc(100vw - 28px));height:min(88vh,920px);max-height:min(88vh,920px)}.fund-detail-dialog .modal-header{min-height:44px;padding:0 18px}.fund-detail-dialog .modal-header h2{font-size:16px;line-height:1}.fund-detail-dialog .modal-body{display:flex;min-height:0;overflow-y:auto;scrollbar-color:rgba(148,163,184,.28) transparent;scrollbar-width:thin}.fund-detail-dialog .fund-detail{flex:0 0 auto;width:calc(100% - 34px);margin:0 14px 0 20px;min-height:0;overflow:visible}.fund-detail-dialog .modal-body::-webkit-scrollbar{width:6px}.fund-detail-dialog .modal-body::-webkit-scrollbar-track{background:transparent}.fund-detail-dialog .modal-body::-webkit-scrollbar-thumb{border-radius:999px;background:rgba(148,163,184,.24)}.fund-detail-dialog .modal-body::-webkit-scrollbar-thumb:hover{background:rgba(148,163,184,.42)}.dca-plan-dialog,.fund-tags-dialog,.holding-action-dialog,.holding-edit-dialog,.trade-record-dialog,.transaction-history-dialog{width:min(420px,calc(100vw - 28px))}.fund-tags-dialog{width:min(520px,calc(100vw - 28px))}.data-source-dialog{width:min(400px,calc(100vw - 28px));max-height:min(88vh,640px);overflow:hidden}.data-source-dialog .modal-header{padding:12px 18px 8px}.data-source-dialog .modal-header h2{font-size:17px}.data-source-dialog .modal-header{display:flex;align-items:center;gap:10px}.data-source-auto-row{display:inline-flex;align-items:center;gap:6px;margin-left:auto;padding:3px 5px 3px 8px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface-soft);color:var(--color-muted);font-size:13px;font-weight:800;white-space:nowrap}.data-source-auto-row>span{display:inline-flex;align-items:center;gap:4px}.data-source-toggle{position:relative;width:31px;height:18px;padding:0;border:0;border-radius:999px;background:var(--color-border);cursor:pointer}.data-source-toggle i{position:absolute;top:3px;left:3px;width:12px;height:12px;border-radius:50%;background:var(--color-surface);transition:transform .16s ease}.data-source-toggle.active{background:var(--color-primary)}.data-source-toggle:disabled{cursor:wait;opacity:.65}.data-source-toggle.active i{transform:translateX(13px)}.data-source-auto-note{color:var(--color-muted);font-size:11px;line-height:1.3}.data-source-dialog .modal-body{display:grid;gap:8px;min-width:0;min-height:0;overflow-x:hidden;overflow-y:auto;padding:6px 14px 12px}.data-source-head{display:grid;gap:3px;min-width:0;padding:6px 10px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface-soft);font-size:13px}.data-source-head strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-source-head em,.data-source-head span{color:var(--color-muted);font-size:12px;font-style:normal;white-space:nowrap}.data-source-options{display:grid;gap:7px;width:100%}.data-source-option{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:start;gap:10px;width:100%;min-width:0;min-height:54px;padding:6px 8px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface-soft);color:var(--color-text);text-align:left;writing-mode:horizontal-tb;cursor:pointer}.data-source-option>i{display:block;box-sizing:border-box;width:18px;height:18px;margin-top:7px;border:1px solid var(--color-border);border-radius:999px}.data-source-option:hover{background:var(--color-surface-strong)}.data-source-option:disabled{cursor:default;opacity:.72}.data-source-option:disabled:hover{background:var(--color-surface-soft)}.data-source-option.active{border-color:var(--color-primary);background:var(--color-primary-soft)}.data-source-option.active>i{border:5px solid var(--color-primary);background:var(--color-surface)}.data-source-option>span{display:grid;gap:4px;min-width:0;align-content:start}.data-source-option>span>b,.data-source-option>span>small,.data-source-option>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-source-title-row{display:inline-flex;align-items:center;gap:5px;min-width:0;height:20px;line-height:20px;white-space:nowrap}.data-source-name{flex:0 0 auto;color:var(--color-text);font-size:15px;font-weight:900;line-height:20px}.data-source-code{flex:0 0 auto;color:var(--color-muted);font-size:12px;font-weight:700;line-height:20px}.best-today-badge{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;gap:2px;height:20px;padding:0 7px 0 6px;border:1px solid rgba(245,158,11,.8);border-radius:999px;background:rgba(245,158,11,.1);color:#f59e0b;font-size:11px;font-weight:900;line-height:1;white-space:nowrap}.best-today-badge svg{flex:0 0 auto;width:11px;height:11px;color:#f59e0b;stroke-width:2.4}.best-today-badge span{line-height:1}.data-source-option em,.data-source-option small{color:var(--color-muted);font-size:11px;font-style:normal;line-height:1.25}.data-source-option strong{display:grid;justify-items:end;gap:4px;min-width:76px;font-size:16px;line-height:1.15;text-align:right}.data-source-option strong small{padding:2px 6px;border-radius:6px;background:rgba(148,163,184,.14);color:var(--color-muted);font-size:11px;font-weight:600}.data-source-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%}.data-source-actions button{min-height:36px;min-width:0;padding:0 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-soft);color:var(--color-text);white-space:nowrap;writing-mode:horizontal-tb;cursor:pointer}.data-source-actions button:last-child{border-color:var(--color-primary);background:var(--color-primary);color:#ffffff}.remove-confirm-dialog{width:min(560px,calc(100vw - 28px))}.remove-confirm-panel{display:grid;gap:12px}.remove-confirm-summary{margin:0;color:var(--color-text);font-size:14px;line-height:1.65}.remove-confirm-note{margin:0;color:var(--color-muted);font-size:12px;line-height:1.6}.remove-confirm-list{display:grid;gap:10px;max-height:min(42vh,340px);overflow:auto;padding-right:2px}.remove-confirm-item{display:grid;gap:8px;padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-soft)}.remove-confirm-item-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.remove-confirm-item-head strong{min-width:0;font-size:14px}.remove-confirm-item-head span{color:var(--color-muted);font-size:12px;white-space:nowrap}.remove-confirm-meta{display:grid;grid-template-columns:56px minmax(0,1fr);align-items:start;gap:8px;font-size:12px}.remove-confirm-meta span{color:var(--color-muted)}.remove-confirm-meta b{color:var(--color-text);font-weight:600;line-height:1.6;word-break:break-all}.remove-confirm-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:4px}.data-source-actions button:disabled{cursor:wait;opacity:.72}.tag-editor{display:grid;gap:16px}.tag-editor-head{display:flex;align-items:center;gap:12px}.tag-editor-head div{display:grid;gap:4px}.tag-editor-head span{color:var(--color-muted);font-size:12px}.optional-tag-list,.selected-tag-list{display:flex;flex-wrap:wrap;gap:8px}.tag-chip{display:inline-flex;align-items:center;gap:5px;min-height:24px;padding:0 7px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface-soft);color:var(--color-text);font-size:12px;font-weight:500;line-height:1;box-shadow:none;cursor:pointer}.tag-chip.active{box-shadow:0 0 0 2px rgba(34,211,238,.35)}.tag-chip.selected{cursor:not-allowed;opacity:.45}.tag-chip.editable{font-weight:700}.tag-chip-manage{gap:6px}.tag-chip-manage button{display:inline-grid;place-items:center;width:16px;height:16px;padding:0;border:0;background:transparent;color:inherit;cursor:pointer}.tag-add-button{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:0 11px;border:1px dashed var(--color-primary);border-radius:999px;background:var(--color-primary-soft);color:var(--color-primary);font-weight:700;cursor:pointer}.tag-add-button:focus-visible,.tag-add-button:hover{border-color:var(--color-primary);background:var(--color-surface-strong);color:var(--color-primary)}.tag-add-button:disabled{border-color:var(--color-border);background:var(--color-surface-soft);color:var(--color-muted);cursor:not-allowed}.optional-tag-head,.tag-editor-actions{display:flex;justify-content:space-between;align-items:center;gap:10px}.optional-tag-head button,.tag-editor-actions button{min-height:32px;padding:0 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-soft);color:var(--color-text);cursor:pointer}.tag-editor-actions button:first-child{border-color:var(--color-primary);background:var(--color-primary);color:#ffffff}.nested-modal-layer{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:18px}.nested-modal-backdrop{position:absolute;inset:0;border:0;background:rgba(var(--shadow-color-rgb),.16);-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.add-tag-dialog{position:relative;z-index:1;width:min(500px,calc(100vw - 28px));max-height:min(86vh,680px);overflow:auto;padding:14px 16px 16px;border:1px solid rgba(15,23,42,.16);border-radius:12px;background:rgba(255,255,255,.98);color:#0f172a;box-shadow:0 18px 48px rgba(var(--shadow-color-rgb),.2)}.add-tag-title{display:flex;align-items:center;gap:8px;margin-bottom:12px;color:#0f172a;font-size:15px}.add-tag-title svg{color:var(--color-primary)}.add-tag-field,.add-tag-form,.add-tag-preview,.add-tag-theme{display:grid;gap:6px}.add-tag-form{gap:12px}.add-tag-field>span,.add-tag-preview>span,.add-tag-theme>span{color:#334155;font-size:12px;font-weight:700}.add-tag-preview>div{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-height:42px;padding:8px;border:1px solid rgba(15,23,42,.14);border-radius:var(--radius-md);background:#f8fafc}.add-tag-preview i{font-style:normal}.add-tag-preview small{align-self:center;color:#64748b}.add-tag-field textarea{min-height:82px;padding:9px 10px;border:1px solid rgba(15,23,42,.24);border-radius:8px;outline:0;resize:vertical;background:var(--color-surface);color:#0f172a;font-size:12px;line-height:1.55}.add-tag-field textarea::placeholder{color:#94a3b8}.add-tag-field textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.12)}.add-tag-field small{color:#475569;font-size:12px;line-height:1.45}.add-tag-theme>div{display:flex;flex-wrap:wrap;gap:6px}.add-tag-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}.add-tag-actions button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;border:1px solid rgba(15,23,42,.16);border-radius:var(--radius-sm);background:#f8fafc;color:#0f172a;font-size:13px;font-weight:700;cursor:pointer}.add-tag-actions button.primary{border-color:var(--color-primary);background:var(--color-primary);color:#ffffff}.add-tag-actions button:disabled{cursor:not-allowed;opacity:.5}:root[data-theme=dark] .add-tag-dialog{border-color:#223247;background:#111c2e;color:#dce4ef;box-shadow:0 18px 48px rgba(0,0,0,.42)}:root[data-theme=dark] .add-tag-title{color:#eef5ff}:root[data-theme=dark] .add-tag-field>span,:root[data-theme=dark] .add-tag-preview>span,:root[data-theme=dark] .add-tag-theme>span{color:#b9c5d6}:root[data-theme=dark] .add-tag-preview>div{border-color:#223247;background:#0f192a}:root[data-theme=dark] .add-tag-field small,:root[data-theme=dark] .add-tag-preview small{color:#9aa7ba}:root[data-theme=dark] .add-tag-field textarea{border-color:#2b3c4e;background:#0f192a;color:#eef5ff}:root[data-theme=dark] .add-tag-field textarea::placeholder{color:#708198}:root[data-theme=dark] .add-tag-field textarea:focus{border-color:#22c7e8;box-shadow:0 0 0 3px rgba(34,199,232,.14)}:root[data-theme=dark] .add-tag-actions button{border-color:#2b3c4e;background:#0f192a;color:#dce4ef}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 24px;border-bottom:1px solid var(--color-border)}.modal-header h2{margin:0;font-size:18px}.modal-body{min-height:0;overflow:auto;padding:16px 24px 22px}.modal-dialog.fund-ranking-dialog{--ranking-scroll-content-gap:14px;--ranking-scrollbar-inline-size:6px;width:min(1400px,calc(100vw - 24px));max-height:min(88vh,780px)}.modal-dialog.fund-topic-selection-dialog{width:min(1320px,calc(100vw - 18px))}.fund-ranking-body{overflow-x:hidden;overflow-y:auto;padding:12px 0 16px;scrollbar-color:rgba(148,163,184,.28) transparent;scrollbar-width:thin}.fund-ranking-body::-webkit-scrollbar{width:6px}.fund-ranking-body::-webkit-scrollbar-track{background:transparent}.fund-ranking-body::-webkit-scrollbar-thumb{border-radius:999px;background:rgba(148,163,184,.24)}.fund-ranking-body::-webkit-scrollbar-thumb:hover{background:rgba(148,163,184,.42)}.fund-ranking-panel{display:grid;gap:10px;width:calc(100% - (var(--ranking-scroll-content-gap) * 2) + var(--ranking-scrollbar-inline-size));margin:0 calc(var(--ranking-scroll-content-gap) - var(--ranking-scrollbar-inline-size)) 0 var(--ranking-scroll-content-gap)}.fund-ranking-mode-tabs{display:inline-flex;width:max-content;gap:4px;padding:3px;border-radius:var(--radius-md);background:var(--color-surface-soft)}.fund-ranking-mode-tabs button{min-height:30px;padding:0 14px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-muted);font-weight:900;cursor:pointer}.fund-ranking-mode-tabs button.active{background:var(--color-primary);color:#fff}.fund-ranking-controls{display:flex;flex-wrap:wrap;align-items:end;gap:8px}.fund-ranking-controls label{display:grid;gap:4px;color:var(--color-muted);font-size:12px;font-weight:700}.fund-ranking-controls input,.fund-ranking-controls select{height:32px;min-width:96px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);padding:0 8px;outline:0}.fund-topic-select{position:relative;width:148px}.fund-topic-select-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:6px;width:100%;height:32px;padding:0 8px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font:inherit;cursor:pointer}.fund-topic-select-trigger span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fund-topic-select-menu{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:20;max-height:238px;overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);box-shadow:var(--shadow-panel);padding:4px}.fund-topic-select-menu button{display:block;width:100%;min-height:28px;padding:0 8px;border:0;border-radius:var(--radius-xs);background:transparent;color:var(--color-text);text-align:left;font:inherit;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fund-topic-select-menu button.active,.fund-topic-select-menu button:hover{background:var(--color-surface-soft);color:var(--color-primary)}.fund-ranking-summary{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;min-height:30px;color:var(--color-muted);font-weight:800}.fund-ranking-summary span{display:inline-flex;align-items:center;gap:4px}.fund-ranking-error{padding:8px 10px;border:1px solid rgba(216,75,66,.28);border-radius:var(--radius-sm);background:rgba(216,75,66,.08);color:var(--color-up);font-weight:800}.fund-ranking-table-wrap{max-height:min(58vh,540px);overflow-x:auto;overflow-y:auto;scrollbar-color:rgba(148,163,184,.28) transparent;scrollbar-width:thin;border:1px solid var(--color-table-divider);border-radius:var(--radius-md);background:var(--color-surface)}.fund-ranking-table-wrap::-webkit-scrollbar{width:6px;height:6px}.fund-ranking-table-wrap::-webkit-scrollbar-track{background:transparent}.fund-ranking-table-wrap::-webkit-scrollbar-thumb{border-radius:999px;background:rgba(148,163,184,.24)}.fund-ranking-table-wrap::-webkit-scrollbar-thumb:hover{background:rgba(148,163,184,.42)}.fund-ranking-table{width:100%;min-width:1040px;border-collapse:separate;border-spacing:0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.fund-ranking-table td,.fund-ranking-table th{height:36px;padding:0 10px;border-bottom:1px solid var(--color-table-divider);text-align:right;white-space:nowrap}.fund-ranking-table th{position:sticky;top:0;z-index:1;background:var(--color-surface-soft);color:var(--color-muted);font-weight:900}.fund-ranking-table td:first-child,.fund-ranking-table th:first-child{text-align:center}.fund-ranking-table td:nth-child(2),.fund-ranking-table td:nth-child(3),.fund-ranking-table td:nth-child(4),.fund-ranking-table th:nth-child(2),.fund-ranking-table th:nth-child(3),.fund-ranking-table th:nth-child(4){text-align:left}.fund-ranking-table tbody tr:hover{background:var(--color-table-row-hover)}.fund-ranking-code{color:var(--color-primary);font-weight:800}.fund-ranking-table th button{display:inline-flex;align-items:center;justify-content:flex-end;gap:3px;width:100%;height:100%;padding:0;border:0;background:transparent;color:inherit;font-weight:inherit;cursor:pointer}.fund-ranking-table th button.active{color:var(--color-primary)}.fund-ranking-name{max-width:260px;overflow:hidden;text-overflow:ellipsis}.fund-ranking-table.compact-returns{min-width:100%;table-layout:fixed}.fund-ranking-table.compact-returns td,.fund-ranking-table.compact-returns th{padding-right:6px;padding-left:6px}.fund-ranking-table.compact-returns .rank-col{width:4%}.fund-ranking-table.compact-returns .code-col{width:6.3%}.fund-ranking-table.compact-returns .name-col{width:16%}.fund-ranking-table.compact-returns .action-col,.fund-ranking-table.compact-returns .add-col{width:5.3%}.fund-ranking-table.compact-returns .date-col{width:7%}.fund-ranking-table.compact-returns .metric-col{width:5.6%}.fund-ranking-table.compact-returns td:nth-child(16),.fund-ranking-table.compact-returns td:nth-child(4),.fund-ranking-table.compact-returns th:nth-child(16),.fund-ranking-table.compact-returns th:nth-child(4){text-align:center}.fund-ranking-table.compact-returns .fund-ranking-name{max-width:none}.fund-ranking-table.compact-returns .fund-ranking-add-button{min-width:48px;padding-right:7px;padding-left:7px}.fund-ranking-table.compact-qdii{min-width:1280px;table-layout:fixed}.fund-ranking-table.compact-qdii td,.fund-ranking-table.compact-qdii th{padding-right:5px;padding-left:5px}.fund-ranking-table.compact-qdii .code-col{width:6%}.fund-ranking-table.compact-qdii .name-col{width:16%}.fund-ranking-table.compact-qdii .add-col,.fund-ranking-table.compact-qdii .date-col,.fund-ranking-table.compact-qdii .fee-col,.fund-ranking-table.compact-qdii .minimum-col,.fund-ranking-table.compact-qdii .net-col{width:5.5%}.fund-ranking-table.compact-qdii .metric-col{width:4.4%}.fund-ranking-table.compact-qdii .limit-col{width:6.5%}.fund-ranking-table.compact-qdii .fund-ranking-name{max-width:none}.fund-ranking-table.compact-qdii td:first-child,.fund-ranking-table.compact-qdii td:nth-child(2),.fund-ranking-table.compact-qdii th:first-child,.fund-ranking-table.compact-qdii th:nth-child(2){text-align:left}.fund-ranking-table.compact-qdii th:first-child button{justify-content:flex-start}.fund-ranking-table.compact-qdii td:nth-child(18),.fund-ranking-table.compact-qdii td:nth-child(3),.fund-ranking-table.compact-qdii td:nth-child(4),.fund-ranking-table.compact-qdii th:nth-child(18),.fund-ranking-table.compact-qdii th:nth-child(3),.fund-ranking-table.compact-qdii th:nth-child(4){text-align:right}.fund-ranking-name-button{max-width:100%;overflow:hidden;padding:0;border:0;background:transparent;color:var(--color-primary);font:inherit;font-weight:700;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.fund-ranking-table.compact-net-values{min-width:100%;table-layout:fixed}.fund-ranking-table.compact-net-values td,.fund-ranking-table.compact-net-values th{padding-right:7px;padding-left:7px}.fund-ranking-table.compact-net-values .rank-col{width:4.5%}.fund-ranking-table.compact-net-values .code-col{width:7%}.fund-ranking-table.compact-net-values .name-col{width:22%}.fund-ranking-table.compact-net-values .action-col,.fund-ranking-table.compact-net-values .add-col{width:6%}.fund-ranking-table.compact-net-values .date-col{width:8%}.fund-ranking-table.compact-net-values .metric-col{width:7.2%}.fund-ranking-table.compact-net-values .status-col{width:10.5%}.fund-ranking-table.compact-net-values td:nth-child(12),.fund-ranking-table.compact-net-values td:nth-child(4),.fund-ranking-table.compact-net-values th:nth-child(12),.fund-ranking-table.compact-net-values th:nth-child(4){text-align:center}.data-source-save-error{grid-column:1/-1;margin:0;color:var(--color-down);font-size:12px;line-height:1.35}.tag-filter-input{display:inline-flex;align-items:center;gap:6px;width:150px;min-height:28px;padding:0 9px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-soft);color:var(--color-muted)}.tag-filter-input:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-soft)}.tag-filter-input input{width:100%;min-width:0;padding:0;border:0;outline:0;background:transparent;color:var(--color-text);font:inherit;font-size:12px}.optional-tag-empty,.tag-filter-input input::placeholder{color:var(--color-muted)}.optional-tag-empty{padding:4px 0;font-size:12px}.fund-ranking-table.compact-consecutive-up{min-width:100%;table-layout:fixed}.fund-ranking-table.compact-consecutive-up td,.fund-ranking-table.compact-consecutive-up th{padding-right:7px;padding-left:7px}.fund-ranking-table.compact-consecutive-up .rank-col{width:5%}.fund-ranking-table.compact-consecutive-up .code-col{width:10%}.fund-ranking-table.compact-consecutive-up .name-col{width:32%}.fund-ranking-table.compact-consecutive-up .action-col,.fund-ranking-table.compact-consecutive-up .add-col{width:8%}.fund-ranking-table.compact-consecutive-up .days-col{width:10%}.fund-ranking-table.compact-consecutive-up .date-col{width:13%}.fund-ranking-table.compact-consecutive-up .metric-col{width:14%}.fund-ranking-table.compact-consecutive-up td:nth-child(4),.fund-ranking-table.compact-consecutive-up td:nth-child(8),.fund-ranking-table.compact-consecutive-up th:nth-child(4),.fund-ranking-table.compact-consecutive-up th:nth-child(8){text-align:center}.fund-ranking-table.compact-consecutive-up .fund-ranking-name{max-width:none}.fund-ranking-detail-button{background:transparent;border:0;color:var(--color-primary);font-weight:800;cursor:pointer}.fund-ranking-detail-button:hover{text-decoration:underline}.fund-ranking-add-button{min-width:56px;height:26px;padding:0 9px;border:1px solid transparent;border-radius:999px;background:color-mix(in srgb,var(--color-primary) 12%,var(--color-surface));color:var(--color-primary);font-weight:800;cursor:pointer;white-space:nowrap}.fund-ranking-add-button:hover:not(:disabled){background:color-mix(in srgb,var(--color-primary) 18%,var(--color-surface))}.fund-ranking-add-button:disabled{border-color:var(--color-border);background:color-mix(in srgb,var(--color-text-muted) 18%,var(--color-surface-soft));color:var(--color-text-muted);cursor:not-allowed;opacity:.82;text-decoration:none}.fund-topic-selection-table{table-layout:fixed;min-width:0}.fund-topic-selection-table .topic-col-rank{width:4%}.fund-topic-selection-table .topic-col-code{width:6%}.fund-topic-selection-table .topic-col-name{width:17%}.fund-topic-selection-table .topic-col-link{width:6%}.fund-topic-selection-table .topic-col-type{width:8%}.fund-topic-selection-table .topic-col-nav{width:6%}.fund-topic-selection-table .topic-col-date{width:7%}.fund-topic-selection-table .topic-col-fee,.fund-topic-selection-table .topic-col-percent{width:6%}.fund-topic-selection-table td,.fund-topic-selection-table th{padding:0 6px;overflow:hidden;text-overflow:ellipsis}.fund-topic-selection-table th button{min-width:0}.fund-topic-selection-table .fund-ranking-name{max-width:none}.fund-ranking-empty{height:72px;color:var(--color-muted);text-align:center!important}.modal-dialog.fund-company-dialog{--ranking-scroll-content-gap:14px;--ranking-scrollbar-inline-size:6px;width:min(1180px,calc(100vw - 24px));max-height:min(88vh,780px)}.fund-company-body{overflow-x:hidden;overflow-y:auto;padding:12px 0 16px;scrollbar-color:rgba(148,163,184,.28) transparent;scrollbar-width:thin}.fund-company-body::-webkit-scrollbar{width:6px}.fund-company-body::-webkit-scrollbar-track{background:transparent}.fund-company-body::-webkit-scrollbar-thumb{border-radius:999px;background:rgba(148,163,184,.24)}.fund-company-body::-webkit-scrollbar-thumb:hover{background:rgba(148,163,184,.42)}.fund-company-panel{display:grid;gap:10px;width:calc(100% - (var(--ranking-scroll-content-gap) * 2) + var(--ranking-scrollbar-inline-size));margin:0 calc(var(--ranking-scroll-content-gap) - var(--ranking-scrollbar-inline-size)) 0 var(--ranking-scroll-content-gap)}.fund-company-mode-tabs{display:inline-flex;width:max-content;gap:4px;padding:3px;border-radius:var(--radius-md);background:var(--color-surface-soft)}.fund-company-mode-tabs button{min-height:30px;padding:0 14px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-muted);font-weight:900;cursor:pointer}.fund-company-mode-tabs button.active{background:var(--color-primary);color:#fff}.fund-company-mode-tabs button:disabled{cursor:not-allowed;opacity:.52}.fund-company-controls{display:flex;flex-wrap:wrap;align-items:end;gap:8px}.fund-company-controls label{display:grid;gap:4px;color:var(--color-muted);font-size:12px;font-weight:700}.fund-company-controls input,.fund-company-controls select{height:32px;min-width:96px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);padding:0 8px;outline:0}.fund-company-search input{min-width:180px}.fund-company-summary{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;min-height:30px;color:var(--color-muted);font-weight:800}.fund-company-summary span{display:inline-flex;align-items:center;gap:4px}.fund-company-error{padding:8px 10px;border:1px solid rgba(216,75,66,.28);border-radius:var(--radius-sm);background:rgba(216,75,66,.08);color:var(--color-up);font-weight:800}.fund-company-table-wrap{max-height:min(58vh,540px);overflow-x:auto;overflow-y:auto;scrollbar-color:rgba(148,163,184,.28) transparent;scrollbar-width:thin;border:1px solid var(--color-table-divider);border-radius:var(--radius-md);background:var(--color-surface)}.fund-company-table-wrap::-webkit-scrollbar{width:6px;height:6px}.fund-company-table-wrap::-webkit-scrollbar-track{background:transparent}.fund-company-table-wrap::-webkit-scrollbar-thumb{border-radius:999px;background:rgba(148,163,184,.24)}.fund-company-table-wrap::-webkit-scrollbar-thumb:hover{background:rgba(148,163,184,.42)}.fund-company-table{width:100%;min-width:1040px;border-collapse:separate;border-spacing:0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.fund-company-table td,.fund-company-table th{height:36px;padding:0 10px;border-bottom:1px solid var(--color-table-divider);text-align:right;white-space:nowrap}.fund-company-table th{position:sticky;top:0;z-index:1;background:var(--color-surface-soft);color:var(--color-muted);font-weight:900}.fund-company-table td:first-child,.fund-company-table th:first-child{text-align:center}.fund-company-table td:nth-child(2),.fund-company-table td:nth-child(3),.fund-company-table td:nth-child(4),.fund-company-table th:nth-child(2),.fund-company-table th:nth-child(3),.fund-company-table th:nth-child(4){text-align:left}.fund-company-table tbody tr:hover{background:var(--color-table-row-hover)}.fund-company-code{color:var(--color-primary);font-weight:800}.fund-company-name{max-width:280px;overflow:hidden;text-overflow:ellipsis}.fund-company-detail-button,.fund-company-name button{padding:0;border:0;background:transparent;color:var(--color-primary);font-weight:800;cursor:pointer}.fund-company-detail-button:hover,.fund-company-name button:hover{text-decoration:underline}.fund-company-empty{height:72px;color:var(--color-muted);text-align:center!important}.tone-up{color:var(--color-up)!important}.tone-down{color:var(--color-down)!important}.panel-layer .table-settings-panel{margin:-4px -8px -8px}.panel-layer:has(.table-settings-panel) .panel-header{padding-top:10px;padding-bottom:10px}.panel-layer:has(.table-settings-panel) .panel-body{padding-top:10px;padding-bottom:12px}.holding-action-head,.holding-edit-fund{display:grid;gap:4px;margin-bottom:14px;min-width:0;text-align:center}.holding-action-dialog .modal-body{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}.holding-action-dialog .holding-action-head{margin-bottom:0}.holding-action-head strong,.holding-edit-fund strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.holding-action-head span,.holding-edit-fund span{color:var(--color-muted);font-size:12px}.holding-edit-fund em{justify-self:center;padding:3px 8px;border-radius:999px;background:var(--color-primary-soft);color:var(--color-primary);font-size:12px;font-style:normal}.holding-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-width:0}.holding-action-grid button,.holding-edit-actions button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;min-width:0;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-soft);color:var(--color-text);white-space:nowrap;cursor:pointer;overflow:hidden}.holding-action-grid .wide{grid-column:1/-1}.holding-action-grid .danger{border-color:#efc5c0;background:#fbe8e6;color:var(--color-up)}.dca-plan-dialog .modal-body,.trade-record-dialog .modal-body,.transaction-history-dialog .modal-body{display:grid;gap:12px;min-height:0;overflow-y:auto;padding-bottom:18px}.holding-edit-dialog .modal-body{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:14px;min-width:0;overflow-x:hidden}.holding-edit-dialog .holding-edit-form,.holding-edit-dialog .holding-edit-fund,.holding-edit-dialog .holding-mode-tabs{width:100%;min-width:0}.holding-edit-dialog .holding-mode-tabs{margin-bottom:0}.transaction-history-list{display:grid;gap:10px}.transaction-history-list>p{margin:0;color:var(--color-muted);font-size:13px}.transaction-history-item{display:grid;gap:10px;padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-soft)}.transaction-history-item>div{display:flex;justify-content:space-between;gap:10px;align-items:center}.transaction-history-item>div strong{font-size:14px}.transaction-history-item>div span{color:var(--color-muted);font-size:12px}.transaction-history-item dl{display:grid;grid-template-columns:56px minmax(0,1fr);gap:4px 8px;margin:0;font-size:12px}.transaction-history-item dt{color:var(--color-muted)}.transaction-history-item dd{margin:0;color:var(--color-text);word-break:break-all}.transaction-history-item button{justify-self:end;min-height:30px;padding:0 10px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);color:var(--color-text);cursor:pointer}.holding-mode-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin-bottom:14px;padding:4px;border-radius:var(--radius-md);background:var(--color-surface-soft)}.holding-mode-tabs button{min-height:32px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-muted);cursor:pointer}.holding-mode-tabs button.active{background:var(--color-primary);color:#ffffff;font-weight:800}.holding-edit-form{display:grid;gap:12px}.holding-edit-form label{display:grid;gap:7px;color:var(--color-muted);font-size:13px;font-weight:800}.holding-edit-form label span{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.holding-edit-form label span button{min-height:24px;white-space:nowrap;border:0;border-radius:999px;background:var(--color-primary-soft);color:var(--color-primary);font-size:12px;cursor:pointer}.holding-edit-form input,.holding-edit-form select{height:36px;min-width:0;padding:0 10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);outline:0;background:var(--color-surface);color:var(--color-text)}.holding-edit-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:6px}.holding-edit-actions button[type=submit]{border-color:var(--color-primary);background:var(--color-primary);color:#ffffff}.fund-convert-search{position:relative}.fund-convert-results,.fund-convert-selected{display:grid;gap:4px;padding:8px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-muted)}.fund-convert-results strong,.fund-convert-selected strong{overflow:hidden;color:var(--color-text);text-overflow:ellipsis;white-space:nowrap}.fund-convert-results p,.fund-convert-results span,.fund-convert-selected span{margin:0;color:var(--color-muted);font-size:12px;font-weight:700}.fund-convert-results button{display:grid;gap:2px;width:100%;min-height:42px;padding:7px 8px;text-align:left;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;cursor:pointer}.fund-convert-results button:hover{border-color:var(--color-primary-soft);background:var(--color-primary-soft)}.fund-convert-error{margin:-2px 0 0;color:var(--color-down);font-size:12px;font-weight:800}@media (max-width:767px){.modal-dialog{width:min(100%,calc(100vw - 20px))}.modal-layer:has(.fund-detail-dialog){align-items:flex-end;padding:0}.fund-detail-dialog{width:min(100vw,430px);height:min(94dvh,820px);max-height:min(94dvh,820px);border-radius:18px 18px 0 0}.fund-detail-dialog .modal-header{min-height:40px;padding:0 14px}.fund-detail-dialog .modal-header h2{font-size:16px;font-weight:500}.fund-detail-dialog .modal-body{padding:0;overflow-x:hidden}.modal-dialog.ranking-add-dialog{width:min(320px,calc(100vw - 20px))}.fund-detail-dialog .fund-detail{width:100%;margin:0;padding:0 14px 12px;overflow-x:hidden}.detail-hero{display:grid;grid-template-columns:1fr;gap:7px;padding:12px 0 9px;border-bottom-color:var(--color-border)}.detail-name-row{display:grid;grid-template-columns:minmax(0,1fr) 34px;gap:8px;align-items:flex-start;width:100%}.detail-name-desktop{display:none}.detail-name-block{min-width:0}.detail-name-block>svg{width:22px;height:22px;margin-top:4px}.detail-name-block h2{display:-webkit-box;overflow:hidden;margin-bottom:3px;font-size:clamp(13px,3.7vw,15px);line-height:1.24;-webkit-line-clamp:2;-webkit-box-orient:vertical}.detail-code-line{gap:4px}.detail-code-line span{font-size:12px;line-height:1.1}.detail-tag-chip{max-width:88px;overflow:hidden;padding:1px 5px;font-size:10.5px;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.detail-source-cards{width:100%;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.9fr);gap:6px;align-items:stretch}.detail-badge{min-width:0;width:100%;min-height:44px;padding:5px 6px;border-radius:8px}.detail-badge span,.detail-kpi small,.detail-kpi span{font-size:11px}.detail-badge strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.detail-delete-round{width:34px;height:34px}.detail-delete-mobile{display:grid;align-self:start;margin-top:20px}.detail-delete-desktop{display:none}.detail-period-grid,.detail-stat-grid-four,.detail-stat-grid-three{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-period-grid{gap:8px 10px;padding:2px 0 7px}.detail-period-grid .detail-kpi{min-height:42px;border:1px solid var(--color-border);border-radius:8px}.detail-stat-grid{border-radius:8px}.detail-stat-grid .detail-kpi{min-height:54px;padding:6px 4px 7px;border-right:0;border-bottom:1px solid #e8efec}.detail-stat-grid .detail-kpi:nth-last-child(-n+2){border-bottom:0}.detail-stat-grid .detail-kpi:nth-child(odd){border-right:1px solid #e8efec}.detail-stat-grid-three .detail-kpi:nth-child(3){grid-column:1/-1;border-right:0}.detail-stat-grid-three .detail-kpi:nth-child(2){border-bottom:1px solid #e8efec}.detail-holding-summary .detail-kpi:nth-child(3){min-height:52px}.detail-kpi strong{max-width:100%;font-size:clamp(13px,3.8vw,15px);text-overflow:clip}.detail-chart-title strong.up,.detail-history-row strong.up,.detail-kpi strong.up,.mobile-fund-change strong.up,.mobile-row-value strong.up,.top-holding-item span.up{color:var(--color-up)!important}.detail-chart-title strong.down,.detail-history-row strong.down,.detail-kpi strong.down,.mobile-fund-change strong.down,.mobile-row-value strong.down,.top-holding-item span.down{color:var(--color-down)!important}.detail-more-divider{margin:3px 0}.detail-range-tabs,.detail-tabs{border-radius:8px}.detail-extra-grid{grid-template-columns:1fr}.detail-tabs{grid-template-columns:repeat(5,minmax(0,1fr));overflow-x:visible}.detail-range-tabs button,.detail-tabs button{min-height:30px;padding:0 4px;font-size:11px;white-space:nowrap}.detail-chart-panel{margin-bottom:8px}.detail-chart-title{margin:0 0 4px}.detail-chart-title span,.detail-chart-title strong{font-size:12px}.detail-chart-wrap{padding-left:40px;gap:6px}.detail-chart{height:150px}.fund-band-toolbar{align-items:flex-start}.fund-band-range-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}.fund-band-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.fund-band-chart{height:220px}.fund-band-indicators{grid-template-columns:repeat(6,minmax(0,1fr))}.fund-band-indicators>div{grid-column:span 2}.fund-band-backtest{grid-template-columns:repeat(2,minmax(0,1fr))}.fund-band-custom-range label{flex:1 1 130px;min-width:0}.asset-allocation-row{gap:4px}.top-holdings-title{gap:6px}.top-holdings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px}.top-holding-item{min-height:40px;padding:0 10px}.detail-history-head,.detail-history-row{grid-template-columns:1.15fr .85fr .85fr .85fr;padding:0 8px}.detail-holding-form{grid-template-columns:1fr}.data-source-dialog,.history-netvalue-dialog,.holding-action-dialog,.holding-edit-dialog{width:min(100%,calc(100vw - 20px))}.data-source-head,.holding-action-head,.holding-edit-fund{text-align:left}}.panel-layer{position:fixed;inset:0;z-index:50}.panel-backdrop{position:absolute;inset:0;border:0;background:rgba(var(--shadow-color-rgb),.38)}.responsive-panel{position:absolute;right:0;bottom:0;left:0;max-height:min(86vh,760px);overflow:hidden;border-radius:16px 16px 0 0;background:var(--color-surface);box-shadow:0 -18px 40px rgba(var(--shadow-color-rgb),.18)}.table-settings-panel-shell{width:min(384px,100vw)}.table-settings-panel-shell .panel-body{width:100%;min-width:0}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px;border-bottom:1px solid var(--color-border)}.panel-header h2{margin:0;font-size:17px}.panel-body{max-height:calc(min(86vh, 760px) - 61px);overflow:auto;padding:12px}.search-panel{display:grid;gap:12px}.search-form{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px;border:1px solid var(--color-border);border-radius:var(--radius-md)}.search-form svg{color:var(--color-muted)}.search-form input{min-width:0;border:0;outline:0}.search-results{display:grid;gap:8px}.search-results button{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);text-align:left;cursor:pointer}.search-results p,.search-results span{color:var(--color-muted)}.empty-state{display:grid;gap:8px;place-items:center;min-height:260px;padding:24px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-muted);text-align:center}@media (min-width:768px){.app-shell{padding:4px 10px calc(12px + var(--safe-bottom))}.portfolio-summary{min-height:42px}}@media (max-width:1023px),(pointer:coarse){.app-shell{overflow-x:hidden;padding-right:0;padding-left:0}.page-frame,.sticky-data-head,.sticky-toolbar-head{width:100%;max-width:100%;min-width:0}.market-strip{display:none}.market-index-inline{gap:6px;overflow:hidden}.market-index-ticker-item{gap:12px}.market-index-inline strong{max-width:72px;overflow:hidden;text-overflow:ellipsis}.market-index-list,.market-index-selected-list{grid-template-columns:repeat(2,minmax(0,1fr))}.market-index-card{min-height:70px;grid-template-columns:minmax(78px,.82fr) minmax(72px,1fr);column-gap:6px}.market-index-trend{height:34px}.market-index-selected-item{grid-template-columns:auto minmax(0,1fr) auto auto}.market-index-selected-item small{display:none}.app-topbar{display:flex!important;align-items:center;flex-wrap:wrap;grid-template-columns:none;width:calc(100vw - 2px);max-width:calc(100vw - 2px);min-width:0;gap:10px;padding:14px 8px 10px}.app-brand,.app-top-actions,.top-fund-search{min-width:0}.app-brand{flex:0 0 auto;order:0;gap:8px;width:max-content;max-width:112px}.app-brand-mark{width:30px;height:30px}.app-brand strong{font-size:16px}.top-fund-search{flex:0 0 100%;width:100%;max-width:100%;order:2;grid-template-columns:minmax(0,1fr)}.top-search-shell{min-height:38px;padding-left:14px}.top-search-shell input{font-size:14px}.top-search-camera{width:30px;height:30px}.top-search-dropdown{right:0}.app-top-actions{display:flex;flex:0 0 auto;order:1;grid-column:auto;justify-content:flex-end;margin-left:auto;gap:6px;width:auto;max-width:none;overflow:visible;min-width:0}.app-top-icon{width:36px;height:36px;border-color:rgba(64,83,110,.72);border-radius:12px;background:#0b1323;color:#b7c3d4;box-shadow:0 8px 18px rgba(2,8,23,.22)}.settings-gear-icon{width:18px;height:18px}.user-menu-trigger span{width:22px;height:22px;font-size:12px}.user-menu-trigger b{display:inline-block;font-size:12px;font-weight:800;line-height:1;white-space:nowrap}.user-menu-trigger:not(.logged-in){display:inline-flex;align-items:center;justify-content:center;gap:4px;width:58px;min-width:58px;padding:0 8px}.cloud-sync-toast{position:fixed;top:auto;right:10px;bottom:14px;left:10px;justify-content:center;max-width:none;min-height:36px;padding:8px 10px;border-radius:12px}.cloud-sync-toast span{white-space:normal}.app-download-button{flex:0 0 96px;width:96px;height:36px;min-height:36px;padding:0 9px;border:0;border-radius:12px;background:var(--color-primary);color:#ffffff;font-size:12px;font-weight:900}.app-download-button svg{width:15px;height:15px}.qq-group-button{display:none}@media (max-width:390px){.app-top-actions{gap:4px;max-width:calc(100% - 106px)}.app-top-icon{width:34px;height:34px}.app-download-button{flex-basis:82px;width:82px;height:34px;min-height:34px;padding:0 8px;font-size:11px}.user-menu-trigger:not(.logged-in){width:58px;min-width:58px;padding:0 6px}}.portfolio-summary{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr) minmax(0,1fr);align-items:center;gap:8px;width:calc(100vw - 2px);max-width:calc(100vw - 2px);min-height:42px;padding:5px 10px}.summary-grid div,.summary-main{min-width:0}.summary-grid{display:contents}.summary-grid div{text-align:right}.summary-grid div:first-child{grid-column:2}.summary-grid div:nth-child(2){grid-column:3}.summary-grid div:nth-child(n+3){display:none}.summary-grid span,.summary-grid strong,.summary-main span,.summary-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.summary-grid strong,.summary-main strong{font-size:14px}.fund-search{width:calc(100vw - 2px);max-width:calc(100vw - 2px);margin-right:0;margin-left:0}.fund-cell-tags,.fund-cell-tags~.fund-cell,.fund-table-header-cell-tags,.fund-table-header-cell-tags~.fund-table-header-cell,.fund-table-shell{display:none}.mobile-fund-list-shell{display:grid}.column-toggle-grid,.group-manager-panel,.table-settings-controls{grid-template-columns:1fr}}@media (max-width:767px){.market-index-strip,.toolbar-actions{display:none}.group-tabs{flex:1 1 auto;width:100%}}@media (min-width:1024px){.layout-grid{grid-template-columns:minmax(0,1fr)}.detail-column{display:none}.panel-layer-side .responsive-panel{top:0;bottom:0;left:auto;width:min(840px,62vw);max-height:none;border-radius:0}.panel-layer-side .responsive-panel.table-settings-panel-shell{width:min(384px,100vw)}.panel-layer-side .responsive-panel.group-manager-panel-shell{width:min(600px,100vw)}.panel-layer-side .panel-body{max-height:calc(100vh - 61px)}}@media (min-width:1280px){.app-shell{padding-left:10px;padding-right:10px}}@media (max-width:1023px){.app-shell{padding:0}.app-shell,.mobile-app-shell{min-height:100dvh;background:var(--color-bg)}.mobile-app-shell{--mobile-chip-height:20px;--mobile-chip-font-size:10.5px;--mobile-chip-padding-x:5px;--mobile-table-gap:8px;--mobile-table-x:6px;--mobile-table-columns:minmax(116px,1fr) clamp(74px,22vw,98px) clamp(58px,16vw,74px) clamp(58px,16vw,74px);display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow-x:hidden;color:var(--color-text)}.mobile-app-header{position:sticky;top:0;z-index:60;display:grid;grid-template-columns:34px minmax(0,1fr) 38px 38px 38px;align-items:center;gap:8px;min-height:calc(58px + var(--safe-top));padding:calc(14px + var(--safe-top)) 6px 10px;border-bottom:1px solid var(--color-border);border-radius:0 0 14px 14px;background:var(--color-surface)}.mobile-app-logo{width:34px;height:34px;border-radius:0;object-fit:contain}.mobile-app-header strong{min-width:0;overflow:hidden;font-size:18px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.mobile-app-header button{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(var(--color-primary-rgb),.45);border-radius:11px;background:var(--color-surface);color:var(--color-primary);cursor:pointer;-webkit-tap-highlight-color:transparent}.mobile-app-header button.strong{border-color:var(--color-border);background:var(--color-surface-soft);color:#73a0ff}.mobile-app-header button.avatar{border-color:transparent;background:var(--color-primary);color:var(--color-primary-contrast);font-size:14px;font-weight:900}.mobile-cloud-sync{display:flex;align-items:center;gap:8px;margin:0 8px 6px;padding:7px 9px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface);color:var(--color-muted);font-size:12px}.mobile-cloud-sync span{flex:1 1 auto;min-width:0}.mobile-cloud-sync button{height:24px;padding:0 8px;border:0;border-radius:999px;background:var(--color-primary-soft);color:var(--color-primary);font-size:11px;font-weight:800}.mobile-app-body{min-width:0;padding:0 6px calc(12px + var(--safe-bottom))}.mobile-funds-page,.mobile-profile-page,.mobile-ranking-page{display:grid;gap:7px;min-width:0}.mobile-scope-wrap{position:sticky;top:calc(58px + var(--safe-top));z-index:45;display:flex;align-items:center;gap:3px;height:42px;margin:0 -6px;padding:7px 6px;overflow-x:auto;overflow-y:visible;scrollbar-width:none;background:var(--color-bg)}.mobile-scope-wrap::-webkit-scrollbar{display:none}.mobile-scope-label{font-size:11px}.mobile-holding-chip,.mobile-scope-chip,.mobile-scope-label{flex:0 0 auto;color:var(--color-muted);font-weight:700;line-height:1}.mobile-holding-chip,.mobile-scope-chip{height:var(--mobile-chip-height);border:0;border-radius:999px;background:var(--color-surface-soft);font-size:var(--mobile-chip-font-size);white-space:nowrap}.mobile-scope-chip{padding:0 var(--mobile-chip-padding-x);cursor:pointer}.mobile-holding-chip.active,.mobile-scope-chip.active{background:var(--color-primary);color:var(--color-primary-contrast)}.mobile-holding-chip{position:relative;display:inline-flex;align-items:center}.mobile-holding-chip>button{height:var(--mobile-chip-height);border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}.mobile-holding-chip>button:first-child{padding:0 2px 0 5px}.mobile-holding-chip>button:nth-child(2){display:grid;place-items:center;width:18px;padding:0 3px 0 0}.mobile-holding-menu{position:absolute;top:26px;left:0;z-index:90;display:grid;gap:5px;min-width:116px;padding:7px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface);box-shadow:0 16px 34px rgba(var(--shadow-color-rgb),.18)}.mobile-holding-menu button{justify-content:flex-start;width:100%;height:30px;padding:0 8px;border:0;border-radius:8px;background:transparent;color:var(--color-text);font-size:11px;font-weight:800;text-align:left}.mobile-holding-menu button.active{background:var(--color-primary-soft);color:var(--color-primary)}.mobile-summary{display:grid;grid-template-columns:13fr 10fr 12fr 9fr;gap:4px;width:100%;padding:8px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface)}.mobile-summary div{display:grid;min-width:0;justify-items:center;gap:1px}.mobile-summary span{display:inline-flex;align-items:center;justify-content:center;gap:4px;max-width:100%;color:var(--color-muted);font-size:11px;font-weight:500;line-height:1;white-space:nowrap}.mobile-summary span button{display:grid;place-items:center;width:14px;height:14px;padding:0;border:0;background:transparent;color:var(--color-muted)}.mobile-summary strong{max-width:100%;overflow:hidden;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:var(--mobile-summary-value-font-size,14px);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:800;line-height:1;text-align:center;text-overflow:clip;white-space:nowrap}.mobile-add-fund-search{position:relative;z-index:50;padding-top:7px}.mobile-add-fund-search .top-search-shell{min-height:38px;padding:0 5px 0 10px;border-radius:19px;background:var(--color-surface-soft);box-shadow:none}.mobile-add-fund-search .top-search-shell input{font-size:13px}.mobile-add-fund-search .top-search-camera{width:28px;height:28px}.mobile-add-fund-search .top-search-dropdown{max-height:min(320px,calc(100dvh - 150px))}.mobile-refresh-line{display:inline-flex;align-items:center;gap:5px;min-height:18px;color:var(--color-muted);font-size:11px;line-height:1}.mobile-refresh-line em{font-style:normal;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.mobile-table{overflow:hidden;background:var(--color-surface)}.mobile-table-head,.mobile-table-row{display:grid;grid-template-columns:var(--mobile-current-columns,var(--mobile-table-columns));column-gap:var(--mobile-table-gap);align-items:center}.mobile-table-head{min-height:34px;padding:0 var(--mobile-table-x);background:var(--color-surface);color:var(--color-text);font-size:11px;font-weight:400}.mobile-sort-header{display:inline-flex;align-items:center;justify-content:flex-end;gap:2px;height:100%;min-width:0;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:right}.mobile-sort-header.left{justify-content:flex-start;text-align:left}.mobile-sort-header-group{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px;height:100%;min-width:0}.mobile-sort-header span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-sort-header>span:has(.vip-feature-mark){display:inline-flex;align-items:center;gap:3px}.mobile-sort-header.vip-locked{color:var(--color-muted);cursor:pointer}.mobile-sort-header.vip-locked .mobile-sort-indicator{visibility:hidden}.mobile-sort-indicator{display:inline-grid;flex:0 0 auto;gap:1.5px;width:8px;opacity:.45}.mobile-sort-indicator b{width:0;height:0;border-right:4px solid transparent;border-left:4px solid transparent}.mobile-sort-indicator b:first-child{border-bottom:5px solid var(--color-border)}.mobile-sort-indicator b:last-child{border-top:5px solid var(--color-border)}.mobile-sort-indicator.asc,.mobile-sort-indicator.desc{opacity:1}.mobile-sort-indicator.asc b:first-child{border-bottom-color:var(--color-primary)}.mobile-sort-indicator.desc b:last-child{border-top-color:var(--color-primary)}.mobile-table-row{min-height:56px;padding:4px var(--mobile-table-x);border-top:.5px solid var(--color-table-divider);background:var(--color-surface)}.mobile-table-row:nth-child(2n){background:var(--color-table-row)}.mobile-row-main,.mobile-row-value{min-width:0;height:100%;border:0;background:transparent;color:inherit}.mobile-row-main{display:grid;gap:2px;padding:0;text-align:left}.mobile-row-tags,.mobile-row-title,.mobile-row-title-line{display:flex;align-items:center;min-width:0}.mobile-row-title-line{gap:5px}.mobile-row-title{gap:4px;width:100%;border:0;background:transparent;color:inherit;padding:0;text-align:left}.mobile-row-title .consecutive-trend-badge{flex:0 0 auto}.mobile-row-title strong{min-width:0;overflow:hidden;color:var(--color-text);font-size:clamp(11px,3.05vw,13px);font-weight:500;line-height:1.12;text-overflow:clip;white-space:nowrap}.mobile-row-code{width:max-content;max-width:100%;border:0;background:transparent;color:var(--color-muted);padding:0;font-size:10.5px;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:left;white-space:nowrap}.mobile-row-tags{flex-wrap:wrap;gap:3px;min-height:14px;padding-left:0}.mobile-row-tags button{border:0;background:transparent;color:inherit;max-width:76px;overflow:hidden;padding:1px 4px;border-radius:999px;font-size:8.5px;font-weight:700;line-height:1;text-overflow:ellipsis;white-space:nowrap}.mobile-row-value{display:grid;justify-items:end;align-content:center;gap:2px;padding:0;text-align:right}.mobile-row-value small,.mobile-row-value span{max-width:100%;overflow:hidden;color:var(--color-muted);font-size:10.5px;line-height:1.05;text-overflow:ellipsis;white-space:nowrap}.mobile-row-value strong{max-width:100%;overflow:hidden;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.12;text-overflow:clip;white-space:nowrap}.mobile-empty{display:grid;place-items:center;gap:5px;min-height:180px;border:1px dashed var(--color-border);border-radius:12px;background:var(--color-surface);color:var(--color-muted)}.mobile-page-sub-header{display:flex;align-items:center;gap:9px;margin:0 -6px;padding:9px 12px;border-bottom:1px solid var(--color-border);background:var(--color-surface)}.mobile-page-sub-header>span{display:grid;flex:0 0 auto;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--color-primary-soft);color:var(--color-primary)}.mobile-sub-header-back{display:grid;flex:0 0 auto;place-items:center;width:34px;height:34px;padding:0;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--color-text)}.mobile-sub-header-back:active{background:var(--color-surface-muted)}.mobile-page-sub-header div{display:grid;gap:2px;min-width:0}.mobile-page-sub-header strong{color:var(--color-text);font-size:16px;font-weight:800}.mobile-page-sub-header small,.mobile-page-sub-header strong{overflow:hidden;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.mobile-page-sub-header small{color:var(--color-muted);font-size:11px}.mobile-action-list{display:grid;gap:6px}.mobile-action-list button,.mobile-profile-card{display:flex;align-items:center;gap:8px;min-width:0;min-height:42px;padding:8px 10px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--color-text);text-align:left}.mobile-action-list button svg{flex:0 0 auto;color:var(--color-primary)}.mobile-action-list button svg:last-child{margin-left:auto;color:var(--color-muted);rotate:-90deg}.mobile-action-list button,.mobile-action-list strong{font-size:12.5px;font-weight:800}.mobile-profile-card{margin-top:2px}.mobile-profile-avatar{display:grid;flex:0 0 auto;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--color-primary);color:var(--color-primary-contrast);font-size:16px;font-weight:900}.mobile-profile-card div:last-child{display:grid;gap:3px;min-width:0}.mobile-profile-card strong{overflow:hidden;font-size:15px;text-overflow:ellipsis;white-space:nowrap}.mobile-profile-card span{color:var(--color-muted);font-size:12px}.modal-dialog.app-settings-dialog,.modal-dialog.bulk-move-dialog,.modal-dialog.fund-detail-dialog,.modal-dialog.fund-ranking-dialog,.modal-dialog.responsive-panel-dialog{width:min(100vw,520px);max-height:calc(100dvh - 10px);border-radius:18px 18px 0 0}}@media (max-width:359px){.mobile-summary .fund-count{display:none}.mobile-summary{grid-template-columns:13fr 10fr 12fr}}.vip-feature-mark{display:inline-flex!important;flex:0 0 28px;align-items:flex-start;width:28px;height:12px;overflow:hidden;vertical-align:middle}.dca-enabled-field{grid-template-columns:minmax(0,1fr) auto auto;align-items:center}.dca-enabled-field input[type=checkbox]{width:18px;height:18px;padding:0;accent-color:var(--color-primary)}.dca-enabled-field em{color:var(--color-text);font-style:normal}.dca-plan-error,.dca-plan-note{margin:0;font-size:12px;line-height:1.6}.fund-dca-badge{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:18px;height:18px;border:1px solid color-mix(in srgb,var(--color-primary) 42%,transparent);border-radius:50%;background:var(--color-primary-soft);color:var(--color-primary);font-size:11px;font-style:normal;font-weight:800;line-height:1}.dca-plan-note{color:var(--color-muted)}.dca-plan-error{color:var(--color-up);font-weight:700}.holding-edit-actions .danger{grid-column:1/-1;border-color:#efc5c0;background:#fbe8e6;color:var(--color-up)}.vip-feature-mark img{display:block;width:28px;height:28px;transform:translateY(-9px)}.vip-feature-mark.large{width:42px;height:18px;flex-basis:42px}.vip-feature-mark.large img{width:42px;height:42px;transform:translateY(-13px)}.fund-table-header .fund-header-label{display:inline-flex;align-items:center;justify-content:center;max-width:100%;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.vip-feature-dialog{width:min(440px,calc(100vw - 28px))}.vip-feature-dialog-content{display:grid;justify-items:center;gap:12px;text-align:center}.vip-feature-dialog-content>strong{color:var(--color-text);font-size:17px}.vip-feature-dialog-content>p,.vip-feature-dialog-content>small{margin:0;color:var(--color-muted);line-height:1.6}.vip-feature-dialog-content>small{color:var(--color-bulk-danger)}.vip-feature-account-state{display:flex;justify-content:space-between;width:100%;padding:10px 12px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface-soft)}.vip-feature-account-state span{color:var(--color-muted)}.vip-feature-dialog-actions{display:flex;justify-content:flex-end;gap:8px;width:100%}.is-spinning{animation:spin .9s linear infinite}.technical-status-badge{display:inline-flex;align-items:center;justify-content:center;min-width:52px;height:24px;padding:0 8px;border:1px solid transparent;border-radius:4px;font-size:12px;font-weight:700;line-height:1;letter-spacing:0;cursor:pointer;-webkit-user-select:none;user-select:none;font-family:inherit}.technical-status-badge.is-bull{color:#fff;background:#b42318;border-color:#b42318}.technical-status-badge.is-lean_bull{color:#8f1d18;background:#fee4e2;border-color:#fda29b}.technical-status-badge.is-loading,.technical-status-badge.is-neutral{color:var(--color-muted);background:var(--color-surface-soft);border-color:var(--color-border)}.technical-status-badge.is-loading{cursor:default}.technical-status-badge.is-error{color:var(--color-bulk-danger);background:var(--color-bulk-danger-soft);border-color:var(--color-bulk-danger);cursor:default}.technical-status-degraded{display:inline-flex;align-items:center;justify-content:center;width:12px;height:12px;margin-left:3px;border-radius:50%;background:var(--color-bulk-danger);color:#fff;font-size:9px;line-height:1}.technical-status-badge.is-lean_bear{color:#176b3a;background:#dcfae6;border-color:#75e0a7}.technical-status-badge.is-bear{color:#fff;background:#067647;border-color:#067647}.technical-status-badge.is-unavailable{color:#9a6700;background:#fff4cc;border-color:#f5c451}.technical-status-dialog{width:min(680px,calc(100vw - 28px))}.technical-status-dialog .modal-header{position:relative}.technical-status-dialog .modal-header h2{margin-right:2em}.technical-status-fund-name{position:absolute;left:50%;width:min(360px,calc(100% - 268px));overflow:hidden;color:var(--color-text);font-size:15px;font-weight:600;line-height:1.3;text-align:center;text-overflow:ellipsis;white-space:nowrap;transform:translateX(-50%)}.technical-status-summary{display:flex;align-items:center;gap:12px;margin-bottom:16px}.technical-status-summary strong{font-size:20px}.technical-status-summary small{margin-left:auto;color:var(--color-muted)}.technical-status-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.technical-status-detail-grid section{padding:12px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface-soft)}.technical-status-detail-grid h3{margin:0 0 8px;font-size:14px}.technical-status-detail-grid dl,.technical-status-detail-grid dl div{margin:0}.technical-status-detail-grid dl div{display:flex;justify-content:space-between;gap:12px;padding:4px 0;font-size:13px}.technical-status-detail-grid dt{color:var(--color-muted)}.technical-status-detail-grid dd{margin:0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.technical-status-unavailable{margin:16px 0;color:var(--color-muted)}.technical-status-disclaimer{margin:16px 0 0;padding-top:12px;border-top:1px solid var(--color-border);color:var(--color-muted);font-size:12px}@media (max-width:480px){.technical-status-dialog .modal-header{display:grid;grid-template-areas:"title close" "name name";grid-template-columns:minmax(0,1fr) auto;row-gap:8px}.mobile-row-title strong.show-full-name{overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:anywhere}.technical-status-dialog .modal-header h2{grid-area:title;margin-right:0}.technical-status-dialog .modal-header .icon-button{grid-area:close;justify-self:end}.technical-status-fund-name{position:static;grid-area:name;width:100%;transform:none}}@media (max-width:720px){.technical-status-detail-grid{grid-template-columns:1fr}.technical-status-summary{flex-wrap:wrap}.technical-status-summary small{width:100%;margin-left:0}.mobile-fund-title .technical-status-badge{min-width:44px;height:20px;padding:0 6px;font-size:11px}}