:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;color:#172033;background:#f6f7f9;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button{font:inherit}.app-shell{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:100vh}.sidebar{display:flex;flex-direction:column;position:sticky;top:0;height:100vh;padding:22px 16px;border-right:1px solid #d8dde6;background:#fff}.brand{display:flex;gap:12px;align-items:center;padding:0 6px 20px}.brand-mark{display:inline-grid;width:42px;height:42px;place-items:center;border-radius:8px;color:#fff;background:#1f6f5b;font-weight:800}.brand strong,.brand small{display:block}.brand small{margin-top:4px;color:#697386}.nav-list{display:grid;gap:6px}.nav-button{display:flex;width:100%;align-items:center;gap:10px;min-height:42px;padding:10px 12px;border:1px solid transparent;border-radius:8px;color:#445066;background:transparent;cursor:pointer}.nav-button:hover,.nav-button.active{color:#12382f;border-color:#b9d9cf;background:#edf7f3}.main-panel{min-width:0;padding:28px}.view-stack{display:grid;gap:18px}.view-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.eyebrow{margin:0 0 6px;color:#697386;font-size:13px;font-weight:700}h1,h2{margin:0;letter-spacing:0}h1{font-size:28px;line-height:1.25}h2{font-size:16px}.action-row{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.icon-button,.text-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;border:1px solid #cfd6e3;border-radius:8px;cursor:pointer}.icon-button{width:38px;padding:0}.text-button{padding:0 13px;white-space:nowrap}.text-button:disabled{cursor:wait;opacity:.6}.wide-field{min-width:180px}.calendar-weekdays,.trading-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays{margin-top:18px;color:#697386;font-size:13px;text-align:center}.calendar-weekdays span{padding:8px 4px}.trading-calendar-grid{overflow:hidden;border:1px solid #d8dde6;border-radius:8px}.calendar-day{display:grid;min-height:78px;align-content:space-between;gap:6px;padding:10px;border-right:1px solid #e4e8ef;border-bottom:1px solid #e4e8ef;background:#f7fbf9}.calendar-day:nth-child(7n){border-right:0}.calendar-day strong{font-size:15px}.calendar-day small{color:#39745f;overflow-wrap:anywhere}.calendar-day.empty{background:#fafbfd}.data-calendar-day{width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer}.data-calendar-day.complete{border-color:#94c9a5;background:#f1fbf4}.data-calendar-day.missing{border-color:#e59a9a;background:#fff3f2}.data-calendar-day:disabled{cursor:default}.calendar-day.weekend,.calendar-day.holiday{background:#fff5f3}.calendar-day.weekend small,.calendar-day.holiday small{color:#b8443c}.action-column{width:66px;text-align:center}.primary{color:#fff;border-color:#1f6f5b;background:#1f6f5b}.secondary{color:#253248;background:#fff}.switch-on{color:#fff;border-color:#1f8a59;background:#1f8a59}.switch-off{color:#fff;border-color:#c2413b;background:#c2413b}.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.metric-card,.panel{border:1px solid #d8dde6;border-radius:8px;background:#fff}.metric-card{display:grid;gap:8px;min-height:112px;padding:16px;border-left-width:5px}.metric-card span,.metric-card small{color:#697386}.metric-card strong{font-size:24px;line-height:1.2}.metric-neutral{border-left-color:#8b95a7}.metric-green{border-left-color:#1f8a59}.metric-amber{border-left-color:#b7791f}.metric-red{border-left-color:#c2413b}.metric-blue{border-left-color:#2f6db2}.content-grid{display:grid;gap:16px}.content-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.panel{min-width:0;padding:16px}.panel-title,.row-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.message-line{margin:12px 0 0;color:#445066}.muted-label{color:#667085;font-size:13px}.error-line{margin:0;padding:10px 12px;border:1px solid #f1b7b2;border-radius:8px;color:#8c1d18;background:#fff1f0}.summary-strip{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.summary-strip span{padding:6px 10px;border-radius:999px;color:#364154;background:#eef1f5;font-size:13px}.status-badge{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border-radius:999px;color:#3d4658;background:#eef1f5;font-size:12px;font-weight:700;white-space:nowrap}.status-strong,.status-ok,.status-success,.status-enabled,.status-passed,.status-buy,.status-tradable,.status-connected,.status-reviewed{color:#116043;background:#dff6ec}.status-normal,.status-warning,.status-pending,.status-running,.status-pending-manual-confirm,.status-caution,.status-manual-only,.status-adapter-placeholder{color:#7a4a0b;background:#fff0cf}.status-weak,.status-disabled,.status-sell{color:#374151;background:#e7ebf0}.status-risk-off,.status-blocked,.status-intercepted,.status-blacklist,.status-high,.status-not-found,.status-failed{color:#8c1d18;background:#fde2df}.status-stable,.status-medium,.status-live-allowed{color:#1f4f8f;background:#e4effc}.segmented{display:inline-flex;width:max-content;max-width:100%;overflow:auto;border:1px solid #cfd6e3;border-radius:8px;background:#fff}.segmented button{min-height:38px;padding:0 14px;border:0;border-right:1px solid #d8dde6;color:#4b5566;background:transparent;cursor:pointer;white-space:nowrap}.segmented button:last-child{border-right:0}.segmented button.active{color:#12382f;background:#edf7f3;font-weight:700}.task-center-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.field{display:inline-flex;flex-direction:column;gap:4px;color:#647084;font-size:12px;font-weight:700}.field input{min-height:36px;border:1px solid #cfd6e3;border-radius:8px;padding:0 10px;color:#172033;background:#fff}.compact-field{width:160px}table{width:100%;margin-top:12px;border-collapse:collapse;font-size:13px}th,td{padding:10px 8px;border-bottom:1px solid #edf0f4;text-align:left;vertical-align:top}th{color:#697386;font-weight:700;background:#f8fafc}td{color:#253248}code{display:inline-block;max-width:100%;overflow-wrap:anywhere;color:#364154;background:#f0f3f7;border-radius:6px;padding:3px 6px}.table-action{min-height:32px;padding:0 10px}.strategy-list{display:grid;gap:10px;margin-top:12px}.strategy-item,.review-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start;padding:12px;border:1px solid #edf0f4;border-radius:8px}.review-item{grid-template-columns:1fr;margin-top:10px}.strategy-item p,.strategy-item small,.review-item p,.review-item small,.table-note{margin:6px 0 0;color:#697386;line-height:1.45}.table-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;padding-top:14px;border-top:1px solid #edf0f4}.chip-button{display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:32px;padding:0 10px;border:1px solid #cfd6e3;border-radius:999px;color:#445066;background:#fff;cursor:pointer}.chip-button.active{color:#12382f;border-color:#b9d9cf;background:#edf7f3;font-weight:700}.num-up{color:#b42318;font-weight:700}.num-down{color:#147d52;font-weight:700}@media(max-width:980px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;padding:14px}.nav-list{grid-template-columns:repeat(4,minmax(0,1fr))}.nav-button{justify-content:center}.main-panel{padding:18px}.content-grid.two{grid-template-columns:1fr}}@media(max-width:620px){.view-header,.strategy-item{align-items:stretch;grid-template-columns:1fr}.view-header{display:grid}.nav-list{grid-template-columns:repeat(2,minmax(0,1fr))}.action-row{justify-content:stretch}.text-button,.icon-button{flex:1}table{display:block;overflow-x:auto;white-space:nowrap}.table-toolbar{align-items:stretch;flex-direction:column}}.panel-hint{margin:0 0 12px;color:#697386;font-size:13px;line-height:1.5}.muted-note{color:#697386;font-size:13px;align-self:center}.empty-line{margin:0;padding:14px 0;color:#697386;font-size:13px}.action-row.wrap{flex-wrap:wrap}.compact-field.grow{flex:1 1 200px}.bar-list{margin:0;padding:0;list-style:none;display:grid;gap:10px}.bar-item{display:grid;grid-template-columns:84px 1fr 72px;align-items:center;gap:10px}.bar-label{color:#172033;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bar-track{display:block;height:10px;border-radius:999px;background:#eef1f5;overflow:hidden}.bar-track.slim{height:8px}.bar-fill{display:block;height:100%;border-radius:999px;background:#1f6f5b;transition:width .25s ease}.bar-fill.alt{background:#3b6ea5}.bar-fill.green{background:#147d52}.bar-fill.amber{background:#c98a12}.bar-fill.red{background:#b42318}.bar-value{color:#172033;font-size:13px;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.cover-cell{display:grid;grid-template-columns:1fr 56px;align-items:center;gap:8px;min-width:160px}.reason-list{margin:0;padding:0;list-style:none;display:grid;gap:12px}.reason-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.reason-codes{margin:4px 0 0;color:#697386;font-size:12px;line-height:1.5;word-break:break-all}.extended-cell{display:flex;gap:6px}.dot-on,.dot-off{display:inline-flex;align-items:center;justify-content:center;min-width:34px;padding:0 6px;height:22px;border-radius:6px;font-size:12px;white-space:nowrap}.dot-on{background:#dff6ec;color:#12382f}.dot-off{background:#f1f3f6;color:#a8b0bd}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px}.toolbar-actions{display:flex;gap:8px}@media(max-width:620px){.bar-item{grid-template-columns:64px 1fr 60px}.cover-cell{min-width:120px}}.th-hint{display:block;font-weight:400;font-size:11px;color:#8a93a3;margin-top:2px}.legend-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:8px 16px;margin:0 0 14px;padding:12px;border:1px solid #e4e8ef;border-radius:8px;background:#f8fafc}.legend-item{display:grid;grid-template-columns:76px minmax(0,1fr);gap:8px;align-items:baseline}.legend-item strong{color:#172033;font-size:13px}.legend-item span{color:#697386;font-size:12.5px;line-height:1.5}.num{font-variant-numeric:tabular-nums;white-space:nowrap}.ic-strong,.ic-mid,.ic-flat,.ic-negative,.ic-none{font-weight:700}.ic-strong{color:#116043}.ic-mid{color:#8a6100}.ic-flat{color:#697386}.ic-negative{color:#8c1d18}.ic-none{color:#a8b0bd}.cell-sub{display:block;margin-top:2px;color:#8a93a3;font-size:11.5px;font-weight:400}.verdict-cell{min-width:200px;max-width:320px;color:#445066;white-space:normal}.panel.inset{border-color:#e4e8ef;background:#fbfcfe}.panel.inset .metric-card{background:#fff}.sub-title{margin:18px 0 0;color:#253248;font-size:14px}.panel.inset>.sub-title:first-child{margin-top:0}.content-grid.spaced{margin-top:16px}.bar-item.wide-label{grid-template-columns:minmax(120px,1fr) 1.4fr 72px}.callout{margin:16px 0 0;padding:12px 14px;border:1px solid #d8dde6;border-left-width:5px;border-radius:8px;color:#253248;background:#f8fafc;font-size:13px;line-height:1.6}.callout.good{border-color:#b9d9cf;border-left-color:#1f8a59;background:#f1fbf4}.callout.warn{border-color:#f0d6a8;border-left-color:#b7791f;background:#fffaf0}.callout.danger{border-color:#f1b7b2;border-left-color:#c2413b;background:#fff5f4}.callout strong{font-size:15px}.move-list{margin:12px 0 0;padding:0;list-style:none;display:grid;gap:6px;max-height:380px;overflow-y:auto}.move-list li{display:grid;grid-template-columns:56px 104px minmax(150px,1fr) 90px;align-items:center;gap:10px;padding:8px 10px;border:1px solid #edf0f4;border-radius:8px;font-size:13px}.move-weights{color:#445066;font-variant-numeric:tabular-nums}.curve-legend{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin:12px 0 6px;color:#445066;font-size:12.5px}.curve-legend span{display:inline-flex;align-items:center;gap:6px}.curve-legend-note{color:#8a93a3}.curve-dot{display:inline-block;width:10px;height:10px;border-radius:2px;background:#1f6f5b}.curve-dot.benchmark{background:#3b6ea5}.curve-list{margin:0;padding:0;list-style:none;display:grid;gap:4px;max-height:420px;overflow-y:auto}.curve-row{display:grid;grid-template-columns:92px minmax(0,1fr) 150px;align-items:center;gap:10px}.curve-label{color:#697386;font-size:12px;font-variant-numeric:tabular-nums}.curve-track{position:relative;display:block;height:24px;border-radius:6px;background:#f1f3f6;overflow:hidden}.curve-start{position:absolute;top:0;bottom:0;width:1px;background:#b7bfcc}.curve-bar-outer{position:absolute;top:0;bottom:0}.curve-bar{position:absolute;left:0;border-radius:999px}.curve-bar.strategy{top:3px;height:8px;background:#1f6f5b}.curve-bar.benchmark{top:13px;height:8px;background:#3b6ea5}.curve-values{display:grid;gap:2px;font-size:12px;font-variant-numeric:tabular-nums;text-align:right}.curve-values .muted-note{font-size:12px}@media(max-width:620px){.legend-item{grid-template-columns:1fr;gap:2px}.bar-item.wide-label{grid-template-columns:1fr 1.2fr 56px}.move-list li{grid-template-columns:56px 1fr 80px}.move-weights{grid-column:2 / -1}.curve-row{grid-template-columns:72px minmax(0,1fr)}.curve-values{grid-column:1 / -1;text-align:left}}.factor-main-row>td{padding-bottom:2px;border-bottom:0}.factor-audit-row>td{padding-top:0;padding-bottom:10px;color:#697386;font-size:12px}.audit-tag{display:inline-block;margin-right:8px;padding:1px 6px;border-radius:4px;color:#445066;background:#eef1f5;font-size:11px;font-weight:700}.factor-table th,.factor-table td{padding-left:6px;padding-right:6px}.factor-table th{white-space:nowrap}.summary-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.segmented.compact button{min-height:32px;padding:0 10px;font-size:12.5px}.summary-error{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.summary-error .error-line{flex:1 1 260px}.summary-table-wrap{margin-top:12px;overflow-x:auto}.summary-table{min-width:920px;margin-top:0}.summary-table th,.summary-table td{white-space:nowrap}.summary-cell{font-variant-numeric:tabular-nums}.summary-cell.full{color:#116043}.summary-cell.partial{color:#8a6100;background:#fffaf0;font-weight:700}.summary-cell.empty{color:#a8b0bd}.summary-total{font-weight:700}.summary-quarantine{color:#445066;font-variant-numeric:tabular-nums}.summary-quarantine.hit{color:#8c1d18;font-weight:700}.summary-note{margin:0}.kline-search{position:relative;max-width:460px}.kline-search-box{display:flex;align-items:center;gap:8px;min-height:40px;padding:0 12px;border:1px solid #cfd6e3;border-radius:8px;background:#fff}.kline-search-box:focus-within{border-color:#1f6f5b;box-shadow:0 0 0 3px #1f6f5b1f}.kline-search-icon{flex:0 0 auto;color:#8a93a3}.kline-search-box input{flex:1 1 auto;min-width:0;border:0;outline:none;padding:8px 0;color:#172033;background:transparent;font:inherit}.search-results{position:absolute;z-index:5;top:calc(100% + 6px);left:0;right:0;max-height:280px;overflow-y:auto;margin:0;padding:4px;list-style:none;border:1px solid #d8dde6;border-radius:8px;background:#fff;box-shadow:0 10px 24px #1720331f}.search-result{display:flex;align-items:baseline;gap:10px;padding:8px 10px;border-radius:6px;cursor:pointer}.search-result:hover,.search-result[aria-selected=true]{background:#edf7f3}.search-result-code{color:#445066}.search-result-name{color:#172033;font-weight:700}.search-result-board{margin-left:auto;color:#8a93a3;font-size:12px;white-space:nowrap}.search-empty{margin:6px 0 0;color:#697386;font-size:13px}.chart-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}.chart-symbol{display:flex;align-items:baseline;gap:8px}.chart-symbol strong{color:#172033;font-size:15px}.chart-symbol .mono{color:#697386}.adjust-note{margin-top:10px}.kline{position:relative;margin-top:12px}.kline-svg{display:block;width:100%;height:auto;touch-action:pan-y}.chart-legend{display:flex;flex-wrap:wrap;gap:6px 16px;margin-bottom:6px;color:#445066;font-size:12.5px;font-variant-numeric:tabular-nums}.chart-legend span{display:inline-flex;align-items:center;gap:6px}.chart-legend .is-missing{color:#a8b0bd}.chart-legend .is-missing .legend-swatch{opacity:.35}.legend-swatch{display:inline-block;width:16px;height:3px;border-radius:2px}.kline-grid line{stroke:#edf0f4;stroke-width:1}.kline-axis text{fill:#697386;font-size:11.5px;font-variant-numeric:tabular-nums}.kline-axis-title{fill:#8a93a3;font-size:11px}.kline-crosshair{stroke:#8a93a3;stroke-width:1;stroke-dasharray:3 3;pointer-events:none}.kline-tooltip{position:absolute;z-index:3;top:20px;min-width:190px;padding:10px 12px;border:1px solid #d8dde6;border-radius:8px;background:#fff;box-shadow:0 10px 24px #17203324;font-size:12.5px;pointer-events:none}.tooltip-date{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:6px;color:#253248}.tooltip-grid{display:grid;grid-template-columns:auto 1fr;gap:3px 14px;margin:0}.tooltip-grid dt{color:#697386}.tooltip-grid dd{margin:0;text-align:right;color:#172033;font-variant-numeric:tabular-nums}.chart-caption{margin:8px 0 0;color:#697386;font-size:12.5px;line-height:1.6}.chart-caption strong{color:#253248}@media(max-width:620px){.kline-search{max-width:none}.kline-tooltip{min-width:160px}}.uptrend-title{display:flex;align-items:center;gap:6px}.uptrend-controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px}.uptrend-headline{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;margin-top:14px}.uptrend-headline strong{color:#12382f;font-size:30px;line-height:1;font-variant-numeric:tabular-nums}.uptrend-headline>span{color:#445066;font-size:13px}.rule-line{margin-top:12px}.rule-line .rule-text{margin:0;color:#172033;font-size:15px;font-weight:700}.rule-line .rule-label{display:inline-block;margin-right:8px;padding:1px 8px;border-radius:999px;color:#1f4f8f;background:#e4effc;font-size:12px;vertical-align:2px}.rule-line .rule-note{margin:8px 0 0;color:#4b5566;font-size:13px;line-height:1.6}.rule-line .rule-note strong{color:#253248}.uptrend-table{min-width:820px}.uptrend-table .num-cell{text-align:right;font-variant-numeric:tabular-nums}.uptrend-tails{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 0 2px}.tail-chip{border:1px solid var(--border);background:var(--surface);border-radius:999px;padding:3px 12px;font-size:12px;font-weight:600;cursor:pointer;transition:border-color .15s,background .15s}.tail-chip:hover:not(:disabled){border-color:var(--accent)}.tail-chip:disabled{opacity:.45;cursor:default}.tail-chip.cold{color:#1d5f8a;border-color:#c8dced;background:#f2f8fd}.tail-chip.hot{color:#a53f2c;border-color:#efd3cb;background:#fdf4f1}.uptrend-sortrow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 0 0}.uptrend-sortnote{max-width:620px;line-height:1.5}.panel-heading{display:inline-flex;align-items:center;gap:8px;min-width:0}.health-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.health-verdict{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px;border:1px solid #d8dde6;border-left-width:6px;border-radius:8px;background:#f8fafc}.health-verdict.is-ok{border-color:#b9d9cf;border-left-color:#1f8a59;background:#f1fbf4}.health-verdict.is-warning{border-color:#f0d6a8;border-left-color:#b7791f;background:#fffaf0}.health-verdict.is-error{border-color:#f1b7b2;border-left-color:#c2413b;background:#fff5f4}.health-verdict-main{display:flex;align-items:flex-start;gap:14px;min-width:0;flex:1 1 320px}.health-verdict-icon{display:inline-flex;flex:0 0 auto;padding-top:2px}.health-verdict.is-ok .health-verdict-icon{color:#1f8a59}.health-verdict.is-warning .health-verdict-icon{color:#b7791f}.health-verdict.is-error .health-verdict-icon{color:#c2413b}.health-verdict-body{min-width:0}.health-verdict-label{margin:0;color:#445066;font-size:13px;font-weight:700;letter-spacing:.04em}.health-verdict.is-ok .health-verdict-label{color:#116043}.health-verdict.is-warning .health-verdict-label{color:#8a6100}.health-verdict.is-error .health-verdict-label{color:#8c1d18}.health-verdict-headline{margin:3px 0 0;color:#172033;font-size:24px;font-weight:800;line-height:1.3}.health-verdict-meta{margin:8px 0 0;color:#4b5566;font-size:13px;line-height:1.5}.health-verdict-counts{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.health-count{padding:6px 12px;border-radius:999px;color:#3d4658;background:#eef1f5;font-size:13px;font-weight:700;white-space:nowrap}.health-count.is-error{color:#8c1d18;background:#ffe9e7}.health-count.is-warning{color:#8a6100;background:#fff4de}.health-verdict-caption{margin:-4px 0 0}.health-issue-list{display:grid;gap:10px;margin:12px 0 0;padding:0;list-style:none}.health-issue{padding:12px 14px;border:1px solid #e4e8ef;border-left-width:5px;border-radius:8px;background:#fff}.health-issue.is-error{border-color:#f1b7b2;border-left-color:#c2413b;background:#fff7f6}.health-issue.is-warning{border-color:#f0d6a8;border-left-color:#b7791f;background:#fffcf5}.health-issue-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.health-severity{padding:2px 8px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}.health-severity.is-error{color:#fff;background:#c2413b}.health-severity.is-warning{color:#4a3500;background:#f0c76a}.health-issue-domain{color:#253248;font-size:13px;font-weight:700}.health-issue-domain code{margin-left:6px;font-size:11.5px;font-weight:400}.health-issue-kind{margin-left:auto;color:#8a93a3;font-size:11.5px}.health-issue-text{margin:8px 0 0;color:#253248;font-size:14px;line-height:1.65;overflow-wrap:anywhere}.health-domain-table{min-width:880px}.health-domain-table td{vertical-align:top}.health-coverage{min-width:150px}.health-rows{font-variant-numeric:tabular-nums}.health-gap{display:block;width:max-content;margin-top:4px;padding:1px 8px;border-radius:999px;font-size:11.5px;font-weight:700;white-space:nowrap}.health-gap.is-short{color:#8c1d18;background:#ffe9e7}.health-gap.is-over{color:#1f4f8f;background:#e4effc}.health-pill{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}.health-pill.is-ok{color:#116043;background:#e7f6ee}.health-pill.is-warn{color:#8a6100;background:#fff4de}.health-pill.is-neutral{color:#697386;background:#eef1f5}.health-run-status{font-size:12.5px;font-weight:700}.health-run-status.is-ok{color:#116043}.health-run-status.is-error{color:#8c1d18}.health-run-status.is-neutral{color:#445066}.health-spark{display:block}.health-spark-svg{display:block;overflow:visible}.health-spark-base{stroke:#e4e8ef;stroke-width:1}.health-spark-line{fill:none;stroke:#2f6db2;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.health-spark-dot{fill:#fff;stroke:#2f6db2;stroke-width:1.4}.health-spark-label{fill:#8a93a3;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px}.health-gaps{border-color:#e4e8ef;background:#fbfcfd}.health-gap-list{display:grid;gap:10px;margin:12px 0 0;padding:0;list-style:none}.health-gap-list li{padding:10px 12px;border:1px solid #e4e8ef;border-radius:8px;background:#fff}.health-gap-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px}.health-gap-head strong{color:#253248;font-size:14px}.health-gap-size{color:#697386;font-size:12.5px}.health-gap-fixable{margin-left:auto;padding:1px 8px;border:1px solid #dde2ea;border-radius:999px;color:#7a8494;font-size:11.5px;white-space:nowrap}.health-gap-reason{margin:6px 0 0;color:#5b6576;font-size:13px;line-height:1.6}.health-quality-table{min-width:520px}.health-over{font-variant-numeric:tabular-nums}.health-row-hot td{background:snow}.health-over.hit{color:#8c1d18;background:#fff1f0;font-weight:700}@media(max-width:620px){.health-verdict-headline{font-size:20px}.health-issue-kind{margin-left:0}}.health-state{min-width:104px}.health-backfill{display:flex;width:max-content;min-height:26px;margin-top:6px;padding:0 9px;border-color:#b9d9cf;color:#12382f;background:#edf7f3;font-size:12px;font-weight:700}.health-backfill:hover:not(:disabled){background:#e2f3ec}.health-backfill:disabled{cursor:progress;opacity:.65}.health-spin{animation:health-spin .9s linear infinite}@keyframes health-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.health-spin{animation:none}}.health-repair-row>td{padding:6px 8px 10px;background:#fbfcfd;white-space:normal}.health-repair-note{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}.health-repair-status{padding:1px 8px;border-radius:999px;font-size:11.5px;font-weight:700;white-space:nowrap}.health-repair-status.is-ok{color:#116043;background:#e7f6ee}.health-repair-status.is-warn{color:#8a6100;background:#fff4de}.health-repair-status.is-error{color:#8c1d18;background:#ffe9e7}.health-repair-status.is-neutral{color:#445066;background:#eef1f5}.health-repair-text{color:#253248;font-size:12.5px;line-height:1.6}.health-repair-message{margin:3px 0 0;color:#8a93a3;font-size:11.5px;line-height:1.5;overflow-wrap:anywhere}.health-issue-foot{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px}.health-backfill-caption{margin-top:10px}.health-refresh-error{margin:0;color:#8c1d18}.health-tasks{background:#fbfcfd}.health-tasks-summary{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;cursor:pointer;list-style:none}.health-tasks-summary::-webkit-details-marker{display:none}.health-tasks-summary:before{content:"▸";color:#8a93a3;font-size:12px}.health-tasks[open] .health-tasks-summary:before{content:"▾"}.health-tasks-hint{margin-left:auto;color:#8a93a3;font-size:12px}.health-tasks-table{min-width:900px}.health-remaining{font-variant-numeric:tabular-nums}.health-remaining.hit{color:#8a6100;background:#fff4de;font-weight:700}.health-tasks-table .health-task-message{min-width:180px;white-space:normal;color:#445066}.health-domain-row{cursor:pointer}.health-domain-row:hover>td{background:#f7f9fc}.health-domain-row:focus-visible{outline:2px solid #2f6db2;outline-offset:-2px}.health-domain-row.is-selected>td{background:#eef5fb}.health-domain-row.is-selected>td:first-child{box-shadow:inset 3px 0 #2f6db2}.health-domain-selected{display:block;margin-top:4px;color:#2f6db2;font-size:11.5px;font-weight:700}.health-matrix-metrics{margin-top:12px}.health-matrix-catalog-error{margin-bottom:12px}.matrix-short{display:inline-block;margin-left:6px;padding:0 6px;border-radius:999px;color:#8a6100;background:#fff4de;font-size:11px;font-weight:700;white-space:nowrap}.health-matrix-repair{min-width:96px;white-space:nowrap}.health-matrix-repair .health-backfill{margin-top:0}.health-matrix-table tbody tr:hover>.health-matrix-repair .health-backfill:not(:disabled){background:#e2f3ec}.filter-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px}.filter-row .filter-search{flex:1 1 240px;max-width:340px}.filter-caption{margin-top:10px}.stock-table .num-cell,.stock-block .num-cell{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.status-badge.is-eligible{color:#116043;background:#dff6ec}.status-badge.is-ineligible{color:#8c1d18;background:#ffe9e7}.status-badge.is-unknown{color:#697386;background:#eef1f5}.status-badge.is-st{color:#8a6100;background:#fff4de}.status-badge.is-halt{color:#445066;background:#eef1f5}.status-badge.is-quarantined{margin-left:6px;color:#8a6100;background:#fff4de;font-size:11px}.stock-detail-page{gap:14px}.stock-detail-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.detail-back{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:0 13px;border:1px solid #cfd6e3;border-radius:8px;color:#253248;background:#fff;text-decoration:none;white-space:nowrap}.detail-back:hover{color:#12382f;border-color:#b9d9cf;background:#edf7f3}.stock-detail-head .eyebrow{margin:0}.stock-blocks{display:grid;gap:16px;margin-top:16px}.kv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px 18px;margin:12px 0 0;padding:0}.kv-item{display:grid;gap:2px;min-width:0}.kv-item dt{color:#697386;font-size:12px;font-weight:700}.kv-item dd{margin:0;color:#253248;font-size:13.5px;overflow-wrap:anywhere}.stock-detail-code{margin-left:6px;color:#697386;font-weight:400}.stock-subhead{margin:18px 0 0;color:#445066;font-size:13px}.sector-group{margin-top:14px}.sector-group-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}.sector-group-head strong{color:#253248;font-size:13px}.sector-group-head .cell-sub{flex:1 1 260px;margin-top:0}.sector-group .summary-strip{margin-top:8px}.financial-table th:first-child,.financial-table td:first-child{min-width:150px}@media(max-width:620px){.filter-row .filter-search{max-width:none}}.panel-title>.chip-button,.panel-title>.action-row{flex:0 0 auto;white-space:nowrap}.financial-table th:first-child,.financial-table td:first-child{position:sticky;left:0;z-index:1;background:#fff}.financial-table th:first-child{background:#f8fafc}.stock-table td .status-badge+.status-badge{margin-left:4px}.field-info{position:relative;display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:14px;height:14px;margin-left:3px;padding:0;border:0;border-radius:50%;color:#8a93a3;background:transparent;line-height:1;vertical-align:-2px;cursor:pointer}.field-info:after{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border-radius:50%}.field-info:hover{color:#2f6db2;background:#eef4fb}.field-info:focus-visible{color:#2f6db2;outline:2px solid #2f6db2;outline-offset:1px}.field-info[aria-expanded=true]{color:#2f6db2;background:#eef4fb}.field-info-popover{position:fixed;z-index:60;box-sizing:border-box;width:min(320px,calc(100vw - 16px));max-height:min(70vh,420px);overflow-y:auto;padding:10px 12px;border:1px solid #d7dee8;border-radius:8px;background:#fff;box-shadow:0 12px 28px #17243829;color:#364154;font-size:12.5px;font-weight:400;line-height:1.55;text-align:left;white-space:normal;overflow-wrap:anywhere}.field-info-title{display:block;margin-bottom:4px;color:#253248;font-weight:700}.field-info-text{margin:0}.field-info-popover strong{color:#253248}.change-cell.is-up,td.mono.is-up{color:#c0392b;font-weight:600}td.mono.is-down{color:#1f8a4c;font-weight:600}td.mono.is-flat{color:var(--ink-muted, #8a8f98)}.strategy-tabs{margin-top:-4px}.builder-grid{display:grid;grid-template-columns:minmax(260px,330px) minmax(0,1fr);gap:16px;align-items:start}@media(max-width:1100px){.builder-grid{grid-template-columns:1fr}}.strategy-builder .table-note{font-size:12.5px}.strategy-builder .sub-title .muted-note{margin-left:8px}.catalog-error{margin-top:10px}.palette-group+.palette-group{margin-top:14px}.palette-group-title{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:0 0 6px;color:#253248;font-size:13px}.palette-list{display:grid;gap:6px;margin:0;padding:0;list-style:none}.palette-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;width:100%;padding:8px 10px;border:1px solid #e4e8ef;border-radius:8px;background:#fbfcfe;color:#253248;font:inherit;text-align:left;cursor:pointer}.palette-item:hover:not(:disabled){border-color:#b9d9cf;background:#edf7f3}.palette-item:disabled{cursor:default;opacity:.62}.palette-item-label{font-size:13px;font-weight:700}.palette-item-meta{grid-column:1;color:#8a93a3;font-size:11.5px}.palette-item-side{grid-row:1 / span 2;grid-column:2;display:grid;align-content:center;justify-items:end;gap:2px;text-align:right}.palette-direction{color:#445066;font-size:12px;white-space:nowrap}.palette-add{color:#1f6f5b;font-size:11.5px;font-weight:700;white-space:nowrap}.palette-item:disabled .palette-add{color:#8a93a3}.compose-list{display:grid;gap:8px;margin:10px 0 0;padding:0;list-style:none}.compose-row{display:grid;grid-template-columns:26px minmax(0,1fr) 96px 84px;align-items:center;gap:10px;padding:8px 10px;border:1px solid #edf0f4;border-radius:8px}.compose-index{color:#8a93a3;font-size:12px;font-variant-numeric:tabular-nums}.compose-name{display:grid;gap:2px;min-width:0}.compose-name strong{overflow-wrap:anywhere}.compose-weight{display:grid;gap:2px}.compose-weight span{color:#8a93a3;font-size:11px;font-weight:700}.compose-weight input{width:100%;min-height:30px;padding:0 6px;border:1px solid #cfd6e3;border-radius:6px;color:#172033;background:#fff;font:inherit;font-size:13px;font-variant-numeric:tabular-nums}.compose-weight input:disabled{color:#8a93a3;background:#f1f3f6;cursor:not-allowed}.weight-warning{margin:8px 0 0;color:#8c1d18;font-size:12.5px;line-height:1.5}.param-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.param-block{display:grid;align-content:start;gap:4px;min-width:0}.param-block.param-wide{grid-column:1 / -1}.param-block>.switch-field{justify-self:start}.param-label{color:#647084;font-size:12px;font-weight:700}.param-hint{color:#8a93a3;font-size:11.5px;line-height:1.45}.param-input{width:100%;min-height:34px;padding:0 8px;border:1px solid #cfd6e3;border-radius:8px;color:#172033;background:#fff;font:inherit;font-size:13px;font-variant-numeric:tabular-nums}.switch-field{display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:0 10px;border:1px solid #cfd6e3;border-radius:8px;background:#fff;color:#445066;font-size:13px;cursor:pointer}.switch-field input{width:16px;height:16px;accent-color:#1f6f5b}.execute-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:14px}.execute-button{min-height:38px;padding:0 18px;font-weight:700}.execute-error{margin-top:10px}.funnel-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;margin:12px 0 0}.funnel-head strong{color:#172033;font-size:22px;font-variant-numeric:tabular-nums}.funnel-arrow{color:#8a93a3;font-size:16px}.funnel-list{display:grid;gap:6px;margin:10px 0 0;padding:0;list-style:none}.funnel-row{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);align-items:center;gap:12px;padding:8px 10px;border:1px solid #edf0f4;border-left:3px solid #d8dde6;border-radius:8px}.funnel-row.is-biggest{border-left-color:#b7791f;background:#fffaf0}.funnel-meta{display:grid;gap:2px;min-width:0}.funnel-reason{color:#253248;font-size:13px;font-weight:700;overflow-wrap:anywhere}.funnel-numbers{color:#445066;font-size:12px;font-variant-numeric:tabular-nums}.funnel-cut{color:#8c1d18;font-size:12px;font-variant-numeric:tabular-nums}.funnel-cut.is-zero{color:#8a93a3}.funnel-row.is-biggest .funnel-cut{font-weight:700}.funnel-badge{margin-left:6px;padding:1px 6px;border-radius:999px;color:#8a6100;background:#fdf0d5;font-size:11px;font-weight:700;white-space:nowrap}.funnel-track{position:relative;display:block;height:20px;border-radius:6px;background:#f1f3f6;overflow:hidden}.funnel-ghost{position:absolute;top:0;bottom:0;left:0;background:#e3e8ef}.funnel-keep{position:absolute;top:0;bottom:0;left:0;border-radius:0 4px 4px 0;background:#1f6f5b}.funnel-row.is-biggest .funnel-keep{background:#b7791f}@media(max-width:720px){.funnel-row{grid-template-columns:1fr}}@media(max-width:620px){.compose-row{grid-template-columns:22px minmax(0,1fr) 84px}.compose-row>.table-action{grid-column:2 / -1;justify-self:start}}.exclusion-list{display:grid;gap:8px;margin:10px 0 0;padding:0;list-style:none}.exclusion-list li{padding:8px 10px;border:1px solid #edf0f4;border-radius:8px}.exclusion-list strong{display:block;color:#253248;font-size:13px}.exclusion-codes{margin:2px 0 0;color:#697386;font-size:11.5px;line-height:1.6;overflow-wrap:anywhere}.task-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.task-refresh-error{margin:0;color:#8c1d18}.task-schedule{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px;border:1px solid #d8dde6;border-left-width:6px;border-radius:8px;background:#f8fafc}.task-schedule.is-ok{border-color:#b9d9cf;border-left-color:#1f8a59;background:#f1fbf4}.task-schedule.is-warn{border-color:#f0d6a8;border-left-color:#b7791f;background:#fffaf0}.task-schedule.is-error{border-color:#f1b7b2;border-left-color:#c2413b;background:#fff5f4}.task-schedule.is-neutral{border-color:#d8dde6;border-left-color:#8b95a7;background:#f8fafc}.task-schedule-main{display:flex;align-items:flex-start;gap:14px;min-width:0;flex:1 1 320px}.task-schedule-icon{display:inline-flex;flex:0 0 auto;padding-top:2px}.task-schedule.is-ok .task-schedule-icon{color:#1f8a59}.task-schedule.is-warn .task-schedule-icon{color:#b7791f}.task-schedule.is-error .task-schedule-icon{color:#c2413b}.task-schedule.is-neutral .task-schedule-icon{color:#697386}.task-schedule-body{min-width:0}.task-schedule-label{margin:0;color:#445066;font-size:13px;font-weight:700;letter-spacing:.04em}.task-schedule.is-ok .task-schedule-label{color:#116043}.task-schedule.is-warn .task-schedule-label{color:#8a6100}.task-schedule.is-error .task-schedule-label{color:#8c1d18}.task-schedule-headline{margin:3px 0 0;color:#172033;font-size:24px;font-weight:800;line-height:1.3}.task-schedule-meta{margin:8px 0 0;color:#4b5566;font-size:13px;line-height:1.5}.task-schedule-note{margin:6px 0 0;color:#5b6576;font-size:12.5px;line-height:1.6;overflow-wrap:anywhere}.task-schedule-counts{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.task-count{padding:6px 12px;border-radius:999px;color:#3d4658;background:#eef1f5;font-size:13px;font-weight:700;white-space:nowrap}.task-count.is-ok{color:#116043;background:#e7f6ee}.task-count.is-warn{color:#8a6100;background:#fff4de}.task-count.is-error{color:#8c1d18;background:#ffe9e7}.task-count.is-neutral{color:#445066;background:#eef1f5}.task-count-caption{color:#8a93a3;font-size:11.5px}.task-caption{margin:-4px 0 0}.task-legend{line-height:2}.task-legend .task-chip{margin:0 2px;vertical-align:baseline}.task-legend code{font-size:11.5px}.task-day{padding:14px 16px}.task-day-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px}.task-day-title{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.task-day-title h2{font-size:18px}.task-day-ok{padding:2px 10px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}.task-day-ok.is-ok{color:#116043;background:#e7f6ee}.task-day-ok.is-warn{color:#8a6100;background:#fff4de}.task-day-ok.is-error{color:#8c1d18;background:#ffe9e7}.task-day-count{color:#697386;font-size:12.5px;font-variant-numeric:tabular-nums}.task-table-wrap{margin-top:10px;overflow-x:auto}.task-table{min-width:920px}.task-table th,.task-table td{padding-left:7px;padding-right:7px}.task-table td{vertical-align:top}.task-table .cell-sub{font-size:11px}.task-num,.task-coverage,.task-elapsed{font-variant-numeric:tabular-nums}.task-elapsed{white-space:nowrap}.task-coverage-mark{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:999px;font-size:11px;font-weight:700;white-space:nowrap}.task-coverage-mark.is-ok{color:#116043;background:#e7f6ee}.task-coverage-mark.is-warn{color:#8a6100;background:#fff4de}.task-coverage-mark.is-neutral{color:#697386;background:#eef1f5}.task-chip{display:inline-block;padding:2px 10px;border:1px solid transparent;border-radius:999px;font-size:12px;font-weight:700;line-height:1.5;white-space:nowrap}.task-chip.is-ok{color:#116043;background:#e7f6ee}.task-chip.is-warn{color:#8a6100;background:#fff4de}.task-chip.is-short{border-color:#e0b767;color:#8a6100;background:#fff}.task-chip.is-error{color:#fff;background:#c2413b}.task-chip.is-muted{color:#697386;background:#eef1f5}.task-chip.is-missing{border:1px dashed #aab3c2;color:#697386;background:transparent}.task-jobkey{font-size:11px;white-space:nowrap}.task-jobkind{display:block;margin-top:3px;color:#8a93a3;font-size:11px}.task-table td.task-retry{min-width:170px;white-space:normal}.task-retry-button{display:flex;width:max-content;min-height:28px;padding:0 10px;border-color:#b9d9cf;color:#12382f;background:#edf7f3;font-size:12px;font-weight:700}.task-retry-button:hover:not(:disabled){background:#e2f3ec}.task-retry-button:disabled{cursor:progress;opacity:.65}.task-retry-hint{max-width:150px;margin:6px 0 0;color:#8a93a3;font-size:11.5px;line-height:1.5}.task-spin{animation:task-spin .9s linear infinite}@keyframes task-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.task-spin{animation:none}}.task-result-row>td{padding:6px 8px 10px;background:#fbfcfd;white-space:normal}.task-result-note{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}.task-result-status{padding:1px 8px;border-radius:999px;font-size:11.5px;font-weight:700;white-space:nowrap}.task-result-status.is-ok{color:#116043;background:#e7f6ee}.task-result-status.is-warn{color:#8a6100;background:#fff4de}.task-result-status.is-error{color:#8c1d18;background:#ffe9e7}.task-result-status.is-neutral{color:#445066;background:#eef1f5}.task-result-text{color:#253248;font-size:12.5px;line-height:1.6}.task-result-footnote{margin:4px 0 0;color:#5b6576;font-size:11.5px;line-height:1.6}.task-result-message{margin:3px 0 0;color:#8a93a3;font-size:11.5px;line-height:1.5;overflow-wrap:anywhere}@media(max-width:620px){.task-schedule-headline{font-size:20px}.task-schedule-counts{align-items:flex-start}}.task-schedule-missed{display:flex;align-items:flex-start;gap:6px;margin:8px 0 0;font-size:13px;font-weight:600;color:#b3261e}.task-schedule-missed svg{flex:none;margin-top:2px}.condition-block{margin-top:18px;padding:14px;border:1px solid #d5e6df;border-left:4px solid #1f6f5b;border-radius:10px;background:#f7fbf9}.condition-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.condition-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;margin:0;color:#12382f;font-size:15px}.condition-title .muted-note{margin-left:4px;font-size:12px}.condition-caption{margin:6px 0 0;color:#2c4a41;font-size:13px;line-height:1.6}.condition-preset{display:flex;flex-wrap:wrap;align-items:flex-start;gap:10px;margin:12px 0 0;padding:10px 12px;border:1px solid #f0d6a8;border-radius:8px;background:#fffdf6}.preset-button{flex:none;white-space:nowrap}.preset-button:disabled{cursor:default;opacity:.62}.condition-preset-note{flex:1 1 320px;margin:0;color:#5b4a2a;font-size:12px;line-height:1.65}.condition-empty{margin:12px 0 0;padding:10px 12px;border:1px dashed #c8d8d2;border-radius:8px;color:#697386;background:#fff;font-size:13px;line-height:1.5}.condition-list{display:grid;gap:8px;margin:12px 0 0;padding:0;list-style:none}.condition-row{padding:10px 12px;border:1px solid #e0ebe7;border-radius:8px;background:#fff}.condition-row-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.condition-kind{padding:1px 7px;border-radius:999px;font-size:11px;font-weight:700;white-space:nowrap}.condition-kind.is-field{color:#17494d;background:#e2f1f2}.condition-kind.is-factor{color:#4a3a72;background:#eeeafb}.condition-name{color:#172033;font-size:13px}.condition-code{color:#8a93a3;font-size:11.5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.condition-unit{padding:1px 6px;border-radius:4px;color:#5b6576;background:#eef1f5;font-size:11.5px;white-space:nowrap}.condition-order{margin-left:auto;color:#8a93a3;font-size:11.5px;white-space:nowrap}.condition-bounds{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px;margin-top:8px}.condition-bound{display:grid;gap:3px;color:#647084;font-size:11.5px;font-weight:700}.condition-bound input{width:132px;min-height:32px;padding:0 8px;border:1px solid #cfd6e3;border-radius:6px;color:#172033;background:#fff;font:inherit;font-size:13px;font-variant-numeric:tabular-nums}.condition-echo{color:#1f6f5b;font-size:11px;font-weight:600;font-variant-numeric:tabular-nums}.condition-tilde,.condition-any-side{padding-bottom:8px;color:#8a93a3;font-size:11.5px}.condition-hint{margin:8px 0 0;color:#697386;font-size:12px;line-height:1.55}.condition-collision{margin:6px 0 0;padding:6px 8px;border-left:3px solid #b7791f;border-radius:4px;color:#7a4b00;background:#fffaf0;font-size:11.5px;line-height:1.55}.condition-distribution{margin-top:10px;padding:8px 10px;border:1px solid #e2ece8;border-radius:7px;background:#fbfdfc}.condition-distribution.is-loading,.condition-distribution.is-unavailable{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:#8a93a3;font-size:11.5px;line-height:1.5}.condition-distribution.is-unavailable{border-style:dashed;border-color:#e6d9c6;color:#7a5a2e;background:#fffdf9}.distribution-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 10px}.distribution-population{color:#5b6576;font-size:11.5px;font-weight:600;font-variant-numeric:tabular-nums}.distribution-targets{display:inline-flex;align-items:center;gap:3px}.distribution-targets-label{margin-right:2px;color:#8a93a3;font-size:11px}.distribution-targets button{padding:1px 7px;border:1px solid #dbe4ea;border-radius:999px;color:#5b6576;background:#fff;font:inherit;font-size:11px;cursor:pointer}.distribution-targets button.active{border-color:#1f6f5b;color:#fff;background:#1f6f5b}.distribution-strip{display:flex;flex-wrap:wrap;gap:2px;margin-top:7px}.distribution-point{display:inline-flex;align-items:baseline;gap:3px;padding:2px 4px;border:1px solid #dfe9e5;border-radius:5px;color:#172033;background:#fff;font:inherit;cursor:pointer}.distribution-point:hover{border-color:#b9d9cf;background:#edf7f3}.distribution-percent{color:#8a93a3;font-size:10px}.distribution-value{font-size:11.5px;font-weight:700;font-variant-numeric:tabular-nums}.condition-keeps{margin:7px 0 0;color:#2c4a41;font-size:12px;line-height:1.55}.condition-keeps strong{color:#1f6f5b;font-size:13px;font-variant-numeric:tabular-nums}.condition-keeps-label{margin-right:2px;padding:0 5px;border-radius:3px;color:#17494d;background:#e2f1f2;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.distribution-retry{flex:none;padding:1px 8px;border:1px solid #e0cfae;border-radius:999px;color:#7a5a2e;background:#fff;font:inherit;font-size:11px;cursor:pointer}.condition-picker{margin-top:12px;padding:12px;border:1px solid #d5e6df;border-radius:8px;background:#fff}.condition-picker-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.condition-picker-note{margin:10px 0 0;color:#697386;font-size:12px;line-height:1.6}.condition-option-group+.condition-option-group{margin-top:12px}.condition-option-title{display:flex;align-items:baseline;gap:8px;margin:0 0 6px;color:#253248;font-size:12.5px}.condition-option-title .muted-note{font-size:11.5px}.condition-option-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px}.condition-option{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1px 6px;padding:6px 8px;border:1px solid #e4e8ef;border-radius:6px;background:#fbfcfe;color:#253248;font:inherit;text-align:left;cursor:pointer}.condition-option:hover:not(:disabled){border-color:#b9d9cf;background:#edf7f3}.condition-option:disabled{cursor:default;opacity:.58}.condition-option-label{font-size:12.5px;font-weight:700}.condition-option-meta{grid-column:1;color:#8a93a3;font-size:11px;overflow-wrap:anywhere}.condition-option-add{grid-row:1 / span 2;grid-column:2;align-self:center;color:#1f6f5b;font-size:11px;font-weight:700;white-space:nowrap}.condition-option:disabled .condition-option-add{color:#8a93a3}.condition-option-flag{grid-column:1;justify-self:start;padding:0 5px;border-radius:3px;color:#7a4b00;background:#fdf0d5;font-size:10.5px;font-weight:700}@media(max-width:620px){.condition-bound input{width:104px}.condition-order{margin-left:0}.condition-option-list{grid-template-columns:repeat(auto-fill,minmax(132px,1fr))}}.pool-table,.pool-watchlist-table{min-width:0}.pool-table td{vertical-align:middle}.pool-add,.pool-remove{white-space:nowrap}.pool-add.active{cursor:default}.pool-spin{animation:pool-spin 1s linear infinite}@keyframes pool-spin{to{transform:rotate(360deg)}}.pool-prob{font-variant-numeric:tabular-nums;font-weight:700;white-space:nowrap}.pool-prob.prob-strong{color:#0b6b45}.pool-prob.prob-good{color:#147d52}.pool-prob.prob-mid{color:#8a6100}.pool-prob.prob-low{color:#5b6577}.pool-prob.prob-none{color:#a8b0bd;font-weight:400}.pool-rank{color:#445066;font-variant-numeric:tabular-nums}.pool-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.pool-note{min-width:140px;max-width:260px;color:#445066;white-space:normal;overflow-wrap:anywhere}.pool-time{font-variant-numeric:tabular-nums;white-space:nowrap}.pool-honesty{margin:4px 0 12px}.pool-honesty p{margin:0;line-height:1.6}.pool-honesty-warn{padding-top:8px;border-top:1px dashed rgba(138,97,0,.35)}.pool-honesty-tradeoff{margin-top:8px}.pool-composition{margin-top:8px;max-width:92ch;line-height:1.65}.pool-strata{margin-top:6px;font-variant-numeric:tabular-nums}.pool-baserate{margin:6px 0 0;padding:6px 10px;border-left:3px solid #8a6100;border-radius:0 6px 6px 0;background:#fdf7ea;color:#445066;line-height:1.6}.pool-stratum{color:#445066;font-variant-numeric:tabular-nums}.pool-model{margin-top:6px;line-height:1.55}.pool-empty{display:grid;gap:8px;justify-items:start;margin-top:8px;padding:16px 18px;border:1px dashed #cfd6e3;border-radius:10px;background:#fbfcfe}.pool-empty .panel-hint{margin:0;max-width:76ch}.pool-empty-title{margin:0;color:#253248;font-size:14px;font-weight:700}.pool-footnote{margin-top:10px}.pool-result-row td{padding-top:0;white-space:normal}.pool-result-row .error-line{margin:0}.pool-add-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;margin:4px 0 10px}.pool-add-form .field input{width:100%}.pool-add-form .field-code{width:180px}.pool-add-form .field-note{width:240px}.pool-add-form .muted-note{padding-bottom:9px;font-size:12px}.pool-required{margin-left:4px;color:#b42318;font-weight:700;font-size:11px}.pool-add-error{margin:0 0 10px}.pool-flash{margin:0 0 10px;color:#116043;font-size:13px}.pool-refresh-error{margin:0 0 10px;color:#8a6100}@media(max-width:620px){.pool-add-form .field-code,.pool-add-form .field-note{width:100%}.pool-add-form .muted-note{padding-bottom:0}}.market-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.market-meta{display:flex;flex-wrap:wrap;align-items:center;gap:14px;color:#4b5566;font-size:13px}.market-meta strong{color:#172033}.market-loading{display:flex;align-items:center;gap:8px}.market-spin{flex:0 0 auto;animation:market-spin .9s linear infinite}@keyframes market-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.market-spin{animation:none}}.market-panel{display:grid;gap:10px}.market-panel>.panel-hint,.market-panel>.market-invert-summary{margin:0}.market-band{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin-top:2px}.market-card{display:grid;align-content:start;gap:8px;padding:14px 14px 14px 13px;border:1px solid #d8dde6;border-left-width:4px;border-radius:8px;background:#fff}.market-card.pct-low{--market-pct: #7f8ea6;--market-pct-soft: #e9edf3}.market-card.pct-mid-low{--market-pct: #5f7897;--market-pct-soft: #e0e7f0}.market-card.pct-mid-high{--market-pct: #3f6489;--market-pct-soft: #d5e0ec}.market-card.pct-high{--market-pct: #22456b;--market-pct-soft: #c8d7e8}.market-card.pct-none{--market-pct: #a9b3c2;--market-pct-soft: #eef1f5}.market-card.is-inverted{border-left-color:#b7791f;background:#fffdf8}.market-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.market-card-label{margin:0;color:#445066;font-size:13px;font-weight:700;line-height:1.35}.market-invert-chip{display:inline-flex;flex:0 0 auto;align-items:center;gap:3px;padding:2px 7px;border:1px solid #f0d6a8;border-radius:999px;color:#8a6100;background:#fff4de;font-size:11px;font-weight:700;white-space:nowrap}.market-card-value{margin:0;color:#172033;font-size:22px;font-weight:800;line-height:1.15}.market-card-unit{color:#697386;font-size:13px;font-weight:600}.market-pct{display:grid;gap:5px;margin-top:2px}.market-pct-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.market-pct-caption{color:#697386;font-size:11px}.market-pct-band{padding:1px 6px;border-radius:999px;color:var(--market-pct);background:var(--market-pct-soft);font-size:11px;font-weight:700;white-space:nowrap}.market-pct-figure{display:flex;align-items:baseline;gap:4px;margin:0}.market-pct-value{color:#172033;font-size:26px;font-weight:800;line-height:1}.market-pct-max{color:#8b95a7;font-size:11px}.market-pct-track{position:relative;height:6px;margin-top:1px;border-radius:999px;background:#eef1f5}.market-pct-fill{height:100%;border-radius:999px;background:var(--market-pct)}.market-card.is-inverted .market-pct-fill{background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.65) 0 2px,transparent 2px 6px)}.market-pct-tick{position:absolute;top:-3px;width:2px;height:12px;border-radius:1px;background:#172033;transform:translate(-50%)}.market-pct-axis{display:flex;justify-content:space-between;color:#9aa3b2;font-size:10px;line-height:1}.market-pct-missing{margin:0;color:#8b95a7;font-size:11px}.market-card-hint{margin:0;color:#697386;font-size:12px;line-height:1.5}.market-invert-note{margin:0;padding-left:8px;border-left:2px solid #f0d6a8;color:#8a6100;font-size:12px;line-height:1.5}.market-divergence{display:grid;gap:7px;margin:4px 0 2px;padding:13px 15px;border:1px solid #c9d6e6;border-left:5px solid #22456b;border-radius:8px;background:#f4f8fc;font-size:13px;line-height:1.6}.market-divergence-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.market-divergence-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;color:#1b3a5c;background:#dbe7f3;font-size:11px;font-weight:700;white-space:nowrap}.market-divergence-headline{margin:0;color:#172033;font-size:16px;font-weight:800;line-height:1.4}.market-divergence-fact,.market-divergence-why{margin:0;color:#253248}.market-divergence-threshold{margin:0;color:#697386;font-size:12px}.market-trend{margin-top:2px}.market-trend-svg{display:block;max-width:100%}.market-trend-grid line{stroke:#e6ebf2;stroke-width:1}.market-trend-axis text{fill:#697386;font-size:11px}.market-trend-base{stroke:#b6c0cf;stroke-width:1;stroke-dasharray:4 4}.market-trend-area{fill:#2f6db21a;stroke:none}.market-trend-line{fill:none;stroke:#2f6db2;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.market-trend-dot{fill:#fff;stroke:#2f6db2;stroke-width:2}.market-trend-label{fill:#172033;font-size:12px;font-weight:700;paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round}.market-trend-label.is-end{fill:#1b3a5c}.market-trend-caption{margin:10px 0 0;color:#4b5566;font-size:13px;line-height:1.6}.market-trend-caption strong{color:#172033}.market-notes{margin-top:0}.market-notes-title{display:flex;align-items:center;gap:6px;margin:0 0 8px;color:#172033;font-size:14px;font-weight:800}.market-notes-line{margin:0 0 8px;color:#253248;font-size:13px;line-height:1.65;white-space:pre-wrap}.market-notes-foot{margin:10px 0 0;color:#697386;font-size:12px}.market-unavailable-list{margin:0;padding-left:20px;color:#253248;font-size:13px;line-height:1.6}.market-unavailable-list li{margin-bottom:6px}.market-unavailable-list li:last-child{margin-bottom:0}.pool-eval-source{display:block;margin-top:8px;font-size:12px;line-height:1.6;color:var(--muted, #5a6472)}.pool-eval-source code{font-size:11px;padding:1px 4px;border-radius:3px;background:#0f172a0f}.pool-quote-head{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.pool-quote-stamp{font-size:12.5px;color:#4b5566;white-space:nowrap}.pool-quote-stamp b{font-variant-numeric:tabular-nums;color:#12382f}.pool-quote-bar{display:flex;flex-wrap:wrap;align-items:baseline;gap:12px;margin:0 0 8px}.pool-quote-error{margin:0 0 10px;font-size:13px}.quote-unavailable{color:#697386;text-align:left}.pool-watchlist-table tbody tr.watchlist-row{cursor:pointer}.pool-watchlist-table tbody tr.watchlist-row:hover td{background:#f6f9f8}.pool-watchlist-table tbody tr.watchlist-row.is-open td{background:#edf7f3}.pool-watchlist-table tbody tr.watchlist-row td button{cursor:pointer}.watchlist-chart{margin-top:14px}.watchlist-chart .panel-title{align-items:flex-start}.kline-live-guide{stroke:#8a94a6;stroke-width:1;stroke-dasharray:3 3}.kline-live-badge{display:inline-block;margin-left:6px;padding:0 5px;border-radius:3px;background:#fff4d6;color:#8a6100;font-size:11px;font-weight:700;vertical-align:middle}.pool-watchlist-table{font-size:12px}.pool-watchlist-table th,.pool-watchlist-table td{padding-left:5px;padding-right:5px}.pool-watchlist-table .pool-time{white-space:normal}.pool-watchlist-table .table-action{padding-left:6px;padding-right:6px}.pool-watchlist-table thead th{vertical-align:bottom}.pool-watchlist-table thead th.pool-group-head{padding-top:7px;padding-bottom:3px;border-bottom:1px solid #dfe5ee;background:#f7fbf9;color:#12382f;font-weight:700;text-align:center;vertical-align:middle}.pool-watchlist-table thead th.pool-group-head .th-hint{display:inline;margin-left:6px;margin-top:0}.pool-position-cell{padding-left:2px;padding-right:2px}.pool-cell-edit{display:inline-flex;align-items:center;justify-content:flex-end;gap:3px;min-width:46px;padding:2px 3px;border:1px solid transparent;border-radius:4px;background:none;color:inherit;font:inherit;font-variant-numeric:tabular-nums;white-space:nowrap;cursor:pointer}.pool-cell-edit:hover,.pool-cell-edit:focus-visible{border-color:#cfd6e3;background:#f7f9fc}.pool-cell-edit:disabled{cursor:default;opacity:.6}.pool-edit-icon{flex:0 0 auto;color:#8a93a3;opacity:0}.pool-watchlist-table tbody tr.watchlist-row:hover .pool-edit-icon,.pool-cell-edit:hover .pool-edit-icon,.pool-cell-edit:focus-visible .pool-edit-icon{opacity:.7}.pool-cell-empty{color:#a8b0bd}.pool-cell-input{width:52px;padding:1px 4px;border:1px solid #b9d9cf;border-radius:4px;background:#fff;color:#172033;font:inherit;font-variant-numeric:tabular-nums;text-align:right}.pool-cell-input:focus{outline:2px solid #d7ebe4;outline-offset:1px}.pool-cell-input:disabled{opacity:.65}.pool-cell-input.is-invalid{border-color:#e0a29c;background:#fff8f7}.pool-pnl-cell{font-variant-numeric:tabular-nums;white-space:nowrap}.pool-pnl-amount{font-weight:700}.pool-pnl-na{color:#a8b0bd;font-weight:400}.pool-pnl-rate{display:block;font-size:11px;line-height:1.3}.pool-note-dot{margin-left:3px;color:#8a93a3;font-weight:700;cursor:help}.pool-expanded-note{white-space:normal}.pool-total-row td{border-top:1px solid #dfe5ee;border-bottom:0;background:#f9fbfa;font-weight:700}.pool-total-label{text-align:right;color:#445066;white-space:normal}.pool-total-empty{display:block;color:#8a6100;font-weight:400}.pool-total-value{font-variant-numeric:tabular-nums;white-space:nowrap}.pool-result-label{font-weight:700}.auth-gate{display:grid;min-height:100vh;padding:24px;place-items:center;background:#f6f7f9;color:#697386;font-size:14px;text-align:center}.auth-gate-checking{margin:0}.auth-gate-error{max-width:380px;padding:22px 20px;border:1px solid #e0a29c;border-radius:10px;background:#fff;color:#445066;text-align:left}.auth-gate-title{margin:0 0 8px;color:#b42318;font-size:15px;font-weight:700}.auth-gate-detail{margin:0 0 14px;font-size:13px;line-height:1.6;overflow-wrap:anywhere}.auth-retry{min-height:38px;padding:0 16px;border:1px solid #cfd6e3;border-radius:8px;background:#fff;color:#445066;cursor:pointer}.auth-retry:hover{color:#12382f;border-color:#b9d9cf;background:#edf7f3}.login-screen{display:grid;min-height:100vh;padding:24px 16px;place-items:center;background:#f6f7f9}.login-card{width:100%;max-width:380px;padding:28px 24px;border:1px solid #d8dde6;border-radius:12px;background:#fff;box-shadow:0 10px 30px #1720330f}.login-brand{display:flex;gap:12px;align-items:center}.login-brand strong,.login-brand small{display:block}.login-brand small{margin-top:4px;color:#697386}.login-title{margin:24px 0 8px;font-size:20px;line-height:1.3}.login-intro{margin:0 0 20px;color:#697386;font-size:13px;line-height:1.7}.login-form{display:grid;gap:8px}.login-label{color:#445066;font-size:13px;font-weight:700}.login-input{width:100%;min-height:44px;padding:0 12px;border:1px solid #cfd6e3;border-radius:8px;background:#fff;color:#172033;font-size:16px}.login-input:focus{border-color:#1f6f5b;outline:2px solid #d7ebe4;outline-offset:1px}.login-input:disabled{background:#f6f7f9;opacity:.7}.login-submit{min-height:44px;margin-top:6px;border:0;border-radius:8px;background:#1f6f5b;color:#fff;font-weight:700;cursor:pointer}.login-submit:hover:not(:disabled){background:#1a5f4e}.login-submit:disabled{cursor:wait;opacity:.6}.login-error{margin:2px 0 0;padding:8px 10px;border:1px solid #e0a29c;border-radius:6px;background:#fff8f7;color:#b42318;font-size:13px;line-height:1.5;overflow-wrap:anywhere}.login-footnote{margin:18px 0 0;color:#8a93a3;font-size:12px;line-height:1.6}.sidebar-footer{margin-top:auto;padding:14px 6px 0;border-top:1px solid #e6eaf1}.logout-button{display:flex;width:100%;align-items:center;gap:8px;min-height:38px;padding:8px 10px;border:1px solid transparent;border-radius:8px;background:transparent;color:#697386;cursor:pointer;text-align:left}.logout-button:hover:not(:disabled){border-color:#f0c9c5;background:#fff6f5;color:#b42318}.logout-button:disabled{cursor:wait;opacity:.6}.logout-error{margin:8px 4px 0;color:#b42318;font-size:12px;line-height:1.5;overflow-wrap:anywhere}@media(max-width:980px){.sidebar-footer{margin-top:12px}}
