:root{--ui-font-sans:"Segoe UI", "PingFang SC", "Microsoft YaHei UI", sans-serif;--ui-font-mono:"Cascadia Mono", Consolas, "SFMono-Regular", monospace;--ui-font-size-body:13px;--ui-font-size-meta:12px;--ui-font-size-title:14px;--ui-space-1:4px;--ui-space-2:8px;--ui-space-3:12px;--ui-space-4:16px;--ui-space-6:24px;--ui-space-8:32px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ui-canvas:#f3f6fa;--ui-surface:#fff;--ui-surface-subtle:#f8fafc;--ui-surface-hover:#f1f6fb;--ui-text:#203249;--ui-text-muted:#566b82;--ui-text-faint:#6b7d90;--ui-border:#dfe7ef;--ui-border-subtle:#e9eef3;--ui-border-strong:#b9c9d8;--ui-brand:#174f78;--ui-accent:#087e8b;--ui-primary:var(--ui-brand);--ui-primary-hover:#095679;--ui-primary-active:#074762;--ui-primary-soft:#eaf2fa;--ui-primary-border:#afd0df;--ui-on-primary:#fff;--ui-chart-line:#32839b;--ui-chart-area:#32839b17;--ui-market-up:#be414a;--ui-market-up-soft:#faeff0;--ui-market-down:#208575;--ui-market-down-soft:#edf6f3;--ui-success:#267d6c;--ui-success-soft:#edf6f2;--ui-success-border:#c5dfd7;--ui-danger:#b42318;--ui-danger-soft:#faecea;--ui-danger-border:#efc3c5;--ui-warning:#98703b;--ui-warning-soft:#faf5ec;--ui-warning-border:#e3d5bc;--ui-sidebar:#fff;--ui-sidebar-hover:#f0f5fa;--ui-sidebar-active:#edf4fa;--ui-sidebar-line:#dce5ee;--ui-sidebar-text:#3e5a73;--ui-sidebar-muted:#718599;--ui-radius-xs:6px;--ui-radius-sm:8px;--ui-radius-md:8px;--ui-radius-pill:999px;--ui-shadow-panel:none;--ui-shadow-raised:0 4px 16px #19345014;--ui-shadow-overlay:0 20px 65px #1b39532e;--ui-focus-outline:#0a638f75;--ui-focus-shadow:0 0 0 3px #0a638f21;--ui-control-sm:30px;--ui-control-md:36px;--ui-control-lg:40px;--ui-header-height:64px;--ui-transition:.15s ease;font-family:var(--ui-font-sans)}:root[data-theme=dark],:root.theme-dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ui-canvas:#101923;--ui-surface:#182431;--ui-surface-subtle:#1d2c3b;--ui-surface-hover:#233648;--ui-text:#e6edf2;--ui-text-muted:#a6b7c4;--ui-text-faint:#8498a8;--ui-border:#30414e;--ui-border-subtle:#263640;--ui-border-strong:#506575;--ui-brand:#65b7d5;--ui-accent:#65b7d5;--ui-primary:#65b7d5;--ui-primary-hover:#85c9e0;--ui-primary-active:#4ba4c5;--ui-primary-soft:#419dc026;--ui-primary-border:#65b7d56b;--ui-on-primary:#0e2029;--ui-chart-line:#78b4df;--ui-chart-area:#78b4df1f;--ui-market-up:#ff858c;--ui-market-up-soft:#ef444429;--ui-market-down:#52c9a9;--ui-market-down-soft:#10b98129;--ui-success:#10b981;--ui-success-soft:#10b98129;--ui-success-border:#10b98159;--ui-danger:#f87171;--ui-danger-soft:#f8717129;--ui-danger-border:#f8717159;--ui-warning:#f59e0b;--ui-warning-soft:#f59e0b29;--ui-warning-border:#f59e0b59;--ui-sidebar:#191c20;--ui-sidebar-hover:#252b33;--ui-sidebar-active:#243445;--ui-sidebar-line:#30363e;--ui-sidebar-text:#e1e6ed;--ui-sidebar-muted:#8b95a3;--ui-shadow-panel:none;--ui-shadow-raised:0 4px 16px #0000004d;--ui-shadow-overlay:0 24px 70px #000000b3;--ui-focus-outline:#65b7d594;--ui-focus-shadow:0 0 0 3px #65b7d52e}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:root{font-size:var(--ui-font-size-body);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;line-height:1.6}*,:before,:after{box-sizing:border-box}html,body{width:100%;max-width:100%;min-height:100vh;overflow-x:clip}body{color:var(--ui-text);background:var(--ui-canvas);margin:0}button,input,select{font:inherit}a{color:inherit;text-decoration:none}#app{z-index:1;width:100%;max-width:100%;min-height:100vh;position:relative;overflow-x:clip}.detail-layout{gap:18px;display:grid}.detail-page-nav{flex-wrap:wrap;gap:10px;display:flex}.detail-hero{overflow:hidden}.detail-hero-side{justify-items:end;gap:8px;max-width:280px;display:grid}.detail-title-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.detail-title{margin:0}.detail-summary-grid-secondary{padding-top:0}.detail-toolbar{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.detail-toolbar-inline{justify-content:flex-start}.detail-toolbar-subsection{margin-bottom:14px}.detail-focus-date{color:#506174;font-size:13px;font-weight:700}.detail-date-select{width:180px}.holdings-filter-input{flex:260px;min-width:220px}.holdings-filter-select{width:160px}.detail-subsection{padding:0 24px 24px}.detail-subsection-head{justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:14px;display:flex}.migration-placeholder{color:#506174;background:linear-gradient(#f3f8fdf5,#fffffff0);border:1px dashed #bfcbdbeb;border-radius:22px;margin:0 24px 24px;padding:22px 24px}.catalog-layout{gap:18px;display:grid}.compare-toolbar{background:linear-gradient(#fffffffa,#f7fbfff5);border:1px solid #d9e2eceb;border-radius:24px;justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 20px;display:flex;box-shadow:0 18px 44px #0f172a0f}.compare-toolbar-side{justify-items:end;gap:10px;display:grid}.compare-toolbar-note{color:#6f8094;margin:6px 0 0;font-size:13px}.compare-chip{color:#1d4ed8;background:#2563eb14;border:1px solid #2563eb24;border-radius:999px;align-items:center;gap:8px;padding:8px 10px;font-size:12px;font-weight:700;display:inline-flex}.compare-chip button{color:inherit;cursor:pointer;background:0 0;border:0;padding:0}.compare-empty{color:#7b8ca1;font-size:13px}.toolbar-status{color:#586a80;font-size:13px;font-weight:700}.toolbar-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.panel{background:#fffffff2;border:1px solid #d9e2eceb;border-radius:28px;box-shadow:0 18px 44px #0f172a0f}.panel-head{justify-content:space-between;align-items:flex-start;gap:16px;padding:22px 24px 18px;display:flex}.panel-title{margin:0;font-size:20px}.panel-note{color:#6f8094;margin:6px 0 0;font-size:13px}.toolbar-btn{color:#1d4ed8;cursor:pointer;background:#fff;border:1px solid #2563eb33;border-radius:999px;padding:9px 14px;transition:transform .16s,box-shadow .16s,border-color .16s}.toolbar-btn:hover{border-color:#2563eb47;transform:translateY(-1px);box-shadow:0 12px 20px #0f172a0f}.toolbar-btn.active{color:#1d4ed8;background:linear-gradient(#2563eb1a,#dbeafecc);border-color:#2563eb47;box-shadow:inset 0 1px #fffc}.toolbar-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.primary-btn,.secondary-btn{cursor:pointer;border-radius:999px;padding:9px 14px;font-weight:700;transition:transform .16s,box-shadow .16s,border-color .16s,background .16s}.primary-btn{color:#f8fbff;background:linear-gradient(#2563ebfa,#1d4ed8fa);border:1px solid #2563eb38;box-shadow:0 12px 24px #2563eb2e}.secondary-btn{color:#475569;background:#fff;border:1px solid #d9e2ece6}.primary-btn:hover,.secondary-btn:hover{transform:translateY(-1px);box-shadow:0 12px 20px #0f172a0f}.primary-btn:disabled,.secondary-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.empty-state,.error-state,.loading-state{color:#6f8094;text-align:center;background:#f8fbffdb;border:1px dashed #bfcbdbeb;border-radius:22px;margin:0 24px 24px;padding:48px 20px}.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:0 24px 20px;display:grid}.summary-card{background:linear-gradient(#f8fbfff5,#f0f6fff0);border:1px solid #d9e2ecd6;border-radius:18px;padding:14px}.summary-label{color:#7b8ca1;font-size:12px;display:block}.summary-value{margin-top:8px;font-size:22px;font-weight:700;display:block}.strategy-card{background:linear-gradient(#fffffffa,#f7fbfff0);border:1px solid #d9e2eceb;border-radius:22px;flex-direction:column;gap:14px;min-height:340px;padding:18px;display:flex;box-shadow:0 12px 26px #0f172a0d}.strategy-card-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.strategy-title{margin:0;font-size:20px;line-height:1.18}.strategy-code{color:#7b8ca1;margin-top:6px;font-family:Consolas,SFMono-Regular,Roboto Mono,monospace;font-size:12px}.status-pill{border-radius:999px;padding:6px 10px;font-size:12px;font-weight:700}.status-completed{color:#166534;background:#15803d1a}.status-idle{color:#475569;background:#64748b1a}.status-failed{color:#b91c1c;background:#dc26261a}.status-no-signal{color:#c2410c;background:#f59e0b1f}.metric-up{color:#c2410c}.metric-down{color:#15803d}.backtest-card-panel{background:linear-gradient(#f3f8fdf5,#fffffff0);border:1px solid #bfcbdbbd;border-radius:18px;padding:12px}.backtest-card-panel-title{color:#64748b;letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:700}.backtest-card-panel-note{color:#7b8ca1;font-variant-numeric:tabular-nums;font-size:12px;font-weight:700}.backtest-field-label{color:#506174;font-size:11px;font-weight:700}.strategy-action-row .primary-btn,.strategy-action-row .secondary-btn{flex:calc(50% - 5px);min-width:0}.strategy-foot{color:#6f8094;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;font-size:12px;display:flex}.card-link{color:#1d4ed8;align-items:center;gap:6px;font-weight:700;display:inline-flex}.detail-chart-wrap{background:linear-gradient(#fffffffa,#f7fbfff5);border:1px solid #d9e2ecd6;border-radius:22px;height:460px;margin:0 24px 24px;position:relative;overflow:hidden}.detail-chart{width:100%;height:100%}.detail-chart-empty{margin-top:0}.detail-selection-band{pointer-events:none;background:#2563eb1a;border:1px solid #2563eb70;border-radius:12px;position:absolute}.detail-crosshair{z-index:4;pointer-events:none;border:0 dashed #47556994;position:absolute}.detail-crosshair-vertical{border-left-width:1px;top:0;bottom:0}.detail-crosshair-horizontal{border-top-width:1px;left:0;right:0}.detail-selection-box{z-index:6;color:#e2e8f0;pointer-events:none;background:#0f172aeb;border-radius:16px;min-width:220px;max-width:260px;padding:12px 14px;position:absolute;box-shadow:0 18px 34px #0f172a42}.detail-selection-title{margin:0 0 8px;font-size:13px;font-weight:700}.detail-selection-row{justify-content:space-between;gap:12px;font-size:12px;display:flex}.detail-selection-row+.detail-selection-row{margin-top:6px}.compare-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:0 24px 24px;display:grid}.compare-summary-card{background:linear-gradient(#fffffffa,#f7fbfff0);border:1px solid #d9e2ece0;border-radius:20px;padding:18px}.compare-summary-title{margin:0;font-size:18px}.metric-label{color:#7b8ca1;font-size:12px;display:block}.compare-summary-value{margin-top:6px;font-size:20px;font-weight:700;display:block}.compare-chart-card{background:#fffffff5;border:1px solid #d9e2ecd6;border-radius:20px;padding:16px}.compare-chart-title{margin:0 0 12px;font-size:16px}.data-table-wrap{background:#fffffff5;border:1px solid #d9e2ecd6;border-radius:18px;overflow:auto}.data-table th,.data-table td{color:#23364d;vertical-align:top;border-bottom:1px solid #edf2f8eb;padding:12px 14px;font-size:13px}.data-table thead th{z-index:1;color:#64748b;background:#f8fbff;font-size:12px;font-weight:700;position:sticky;top:0}.data-table tbody tr:hover{background:#f8fbffd6}.align-left{text-align:left}.align-center{text-align:center}.align-right{text-align:right;font-variant-numeric:tabular-nums}.data-table-empty{border-radius:18px;margin:0}@media (width<=960px){.compare-toolbar{flex-direction:column}.panel-head{flex-direction:column;align-items:flex-start}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.compare-toolbar-side{justify-items:start}.toolbar-actions{justify-content:flex-start}.detail-hero-side{justify-items:start}.detail-subsection-head{flex-direction:column;align-items:flex-start}.compare-summary-grid,.compare-chart-grid{grid-template-columns:1fr}}@media (width<=720px){.summary-grid,.strategy-grid{grid-template-columns:1fr;padding-left:18px;padding-right:18px}.metric-list,.backtest-field-grid{grid-template-columns:1fr}.strategy-action-row .primary-btn,.strategy-action-row .secondary-btn{flex-basis:100%}.strategy-foot{flex-direction:column;align-items:flex-start}.detail-toolbar{justify-content:flex-start}.detail-date-select{width:100%}.detail-subsection{padding-left:18px;padding-right:18px}.migration-placeholder{margin-left:18px;margin-right:18px}.detail-chart-wrap,.compare-summary-grid,.compare-chart-grid{margin-left:18px;margin-right:18px;padding-left:0;padding-right:0}.detail-chart-wrap{height:380px}.compare-chart{height:320px}}:root{--bg:var(--ui-canvas);--surface:var(--ui-surface);--surface-strong:var(--ui-surface);--surface-soft:var(--ui-surface-subtle);--border:var(--ui-border);--border-strong:var(--ui-primary-border);--text:var(--ui-text);--text-soft:var(--ui-text-muted);--text-faint:var(--ui-text-faint);--ink:var(--ui-text);--ink-soft:var(--ui-text-muted);--ink-faint:var(--ui-text-faint);--line:var(--ui-border);--line-strong:var(--ui-border-strong);--surface-muted:var(--ui-surface-subtle);--positive:var(--ui-success);--negative:var(--ui-danger);--warning:var(--ui-warning);--ui-text-secondary:var(--ui-text-muted);--accent:var(--ui-primary);--accent-2:var(--ui-primary-hover);--accent-soft:var(--ui-primary-soft);--accent-line:var(--ui-primary-border);--up:var(--ui-success);--down:var(--ui-danger);--radius-lg:12px;--radius-md:var(--ui-radius-md);--radius-sm:var(--ui-radius-sm);--shadow:var(--ui-shadow-raised);--shadow-strong:var(--ui-shadow-overlay)}.catalog-layout,.detail-layout{gap:18px;width:100%;min-width:0;max-width:100%;display:grid}.catalog-layout>*,.detail-layout>*{min-width:0;max-width:100%}.page-head,.detail-page-head{border-radius:var(--radius-lg);width:100%;min-width:0;max-width:100%;box-shadow:var(--shadow);background:linear-gradient(135deg,#1f4f8d0b,#0000 40%),linear-gradient(#fffffffc,#f9fbfdf5);border:1px solid #d7e0eaf5;justify-content:space-between;gap:22px;padding:25px 26px;display:flex;position:relative;overflow:hidden}.detail-page-head{align-items:stretch}.detail-breadcrumb{color:var(--text-faint);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;font-size:12px;font-weight:700;display:flex}.detail-breadcrumb a{color:var(--accent)}.detail-strategy-icon{width:48px;height:48px;color:var(--accent);text-transform:uppercase;background:linear-gradient(#1f4f8d1f,#0e749014);border:1px solid #1f4f8d2e;border-radius:14px;flex:none;place-items:center;font-family:Consolas,SFMono-Regular,Roboto Mono,monospace;font-size:20px;font-weight:900;display:inline-grid}.detail-strategy-code{color:var(--text-faint);overflow-wrap:anywhere;margin:8px 0 0;font-family:Consolas,SFMono-Regular,Roboto Mono,monospace;font-size:13px}.detail-strategy-summary{-webkit-line-clamp:2;max-width:840px;color:var(--text-soft);-webkit-box-orient:vertical;margin:12px 0 0;font-size:14px;line-height:1.55;display:-webkit-box;overflow:hidden}.detail-meta-grid{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.detail-meta-item{max-width:100%;color:var(--text-faint);background:#ffffffb8;border:1px solid #d7e0eadb;border-radius:999px;align-items:center;gap:6px;padding:7px 10px;font-size:12px;display:inline-flex}.detail-meta-item strong{min-width:0;color:var(--text-soft);overflow-wrap:anywhere;font-weight:800}.page-head:before,.detail-page-head:before,.compare-toolbar:before,.log-service-card:before,.panel:before{content:"";background:linear-gradient(#1f4f8dfa,#37689194);width:3px;position:absolute;inset:0 auto 0 0}.page-head-main,.detail-page-main{flex:1 1 0;min-width:0;max-width:760px}.detail-page-main{align-content:center;max-width:820px;display:grid}.page-head h1,.detail-page-title{overflow-wrap:anywhere;word-break:break-word;margin:0;line-height:1.1}.page-head h1{font-size:32px}.detail-page-title{font-size:clamp(30px,3vw,38px)}.page-head h1,.detail-page-title,.panel-title,.strategy-title,.compare-summary-title,.detail-section-head h2,.log-service-head h2{letter-spacing:-.025em}.intro{max-width:760px;color:var(--text-soft);margin:10px 0 0;font-size:14px}.page-side,.detail-page-side{flex-direction:column;align-items:flex-end;gap:12px;min-width:0;max-width:100%;display:flex}.detail-page-side{background:linear-gradient(#f8fafcf5,#ffffffd1);border:1px solid #d7e0eac7;border-radius:20px;flex:0 330px;justify-content:center;align-self:stretch;padding:16px 18px;box-shadow:inset 0 1px #ffffffeb}.detail-header-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;display:grid}.detail-header-stat{background:#ffffffb3;border:1px solid #d7e0ead1;border-radius:14px;min-width:0;padding:10px}.detail-header-stat span{color:var(--text-faint);font-size:11px;font-weight:700;display:block}.detail-header-stat strong{color:var(--text);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin-top:5px;font-size:16px;font-weight:900;display:block}.detail-action-row{flex-wrap:wrap;justify-content:flex-end;gap:8px;width:100%;display:flex}.page-count{color:var(--accent);white-space:normal;overflow-wrap:anywhere;word-break:break-word;background:linear-gradient(#fffffffa,#f1f6fcf5);border:1px solid #1f4f8d24;border-radius:999px;max-width:100%;padding:9px 14px;font-weight:800;box-shadow:inset 0 1px #ffffffeb}.page-side-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;min-width:0;max-width:100%;display:flex}.page-side-note{max-width:320px;color:var(--text-faint);text-align:right;overflow-wrap:anywhere;word-break:break-word;font-size:13px;line-height:1.5}.compare-toolbar{border-radius:var(--radius-lg);width:100%;min-width:0;max-width:100%;box-shadow:var(--shadow);background:linear-gradient(135deg,#1f4f8d0a,#0000 44%),linear-gradient(#fffffffc,#f9fbfdf5);border:1px solid #d7e0eaf5;justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 22px;display:flex;position:relative;overflow:hidden}.compare-toolbar-main{flex:auto;min-width:0}.compare-toolbar-title{margin:0;font-size:16px;font-weight:800}.compare-toolbar-note{color:var(--text-faint);overflow-wrap:anywhere;word-break:break-word;margin:6px 0 0;font-size:13px}.compare-toolbar-side{flex-direction:column;align-items:flex-end;gap:10px;min-width:0;max-width:100%;display:flex}.toolbar-inline-status{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;max-width:100%;display:inline-flex}.toolbar-separator{background:#d9e2ece6;width:1px;height:16px}.compare-chip-list{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.compare-chip{background:var(--accent-soft);color:var(--accent);border:1px solid #1f4f8d29;border-radius:999px;align-items:center;gap:8px;min-width:0;max-width:100%;padding:8px 10px;font-size:12px;font-weight:700;display:inline-flex}.compare-chip button{color:inherit;cursor:pointer;background:0 0;border:0;padding:0;line-height:1}.compare-chip>span:first-child{overflow-wrap:anywhere;word-break:break-word;min-width:0}.compare-empty,.toolbar-status,.panel-note,.detail-focus-date{color:var(--text-soft);font-size:13px}.toolbar-status{overflow-wrap:anywhere;word-break:break-word;font-weight:600}.toolbar-status.busy{color:var(--accent)}.log-service-card{border-radius:var(--radius-lg);width:100%;min-width:0;max-width:100%;box-shadow:var(--shadow);background:linear-gradient(135deg,#1f4f8d09,#0000 42%),linear-gradient(#fffffffc,#f8fafcf5);border:1px solid #d7e0eaf5;gap:14px;padding:20px 22px;display:grid;position:relative;overflow:hidden}.log-service-head{justify-content:space-between;align-items:flex-start;gap:16px;min-width:0;max-width:100%;display:flex}.log-service-head h2{margin:0;font-size:18px;line-height:1.2}.log-service-note{color:var(--text-faint);overflow-wrap:anywhere;word-break:break-word;margin:6px 0 0;font-size:13px}.log-service-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;min-width:0;max-width:100%;display:flex}.log-file-pill{max-width:260px;color:var(--accent);text-overflow:ellipsis;white-space:nowrap;background:#1f4f8d14;border:1px solid #1f4f8d24;border-radius:999px;align-items:center;padding:8px 10px;font-family:Consolas,SFMono-Regular,Roboto Mono,monospace;font-size:12px;font-weight:700;display:inline-flex;overflow:hidden}.log-service-body{gap:10px;min-width:0;display:grid}.log-list{gap:10px;max-height:360px;padding-right:4px;display:grid;overflow:auto}.log-row{background:#f8fafceb;border:1px solid #d7e0ead1;border-radius:14px;min-width:0;padding:11px 12px}.log-row-meta{color:var(--text-faint);flex-wrap:wrap;align-items:center;gap:8px;font-family:Consolas,SFMono-Regular,Roboto Mono,monospace;font-size:12px;display:flex}.log-level,.log-tag{border-radius:999px;align-items:center;padding:3px 7px;font-weight:700;display:inline-flex}.log-level-info,.log-level-debug{color:#1d4ed8;background:#2563eb14}.log-level-warning{color:#b45309;background:#f59e0b1f}.log-level-error,.log-level-critical{color:#b91c1c;background:#dc26261a}.log-tag{color:#475569;background:#64748b17}.log-message{color:var(--text);overflow-wrap:anywhere;word-break:break-word;margin:8px 0 0;font-size:13px;font-weight:650}.log-detail{max-width:100%;color:var(--text-soft);white-space:pre-wrap;word-break:break-word;background:#0f172a0d;border-radius:10px;margin:8px 0 0;padding:8px;font-family:Consolas,SFMono-Regular,Roboto Mono,monospace;font-size:12px;overflow:auto}.log-empty,.log-error{color:var(--text-faint);border:1px dashed #d7e0eae6;border-radius:14px;padding:12px;font-size:13px}.log-error{color:#991b1b;background:#fef2f2b8;border-color:#dc262638}.toolbar-actions,.detail-toolbar,.detail-page-nav{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.detail-toolbar,.detail-page-nav{width:100%;min-width:0;max-width:100%}.toolbar-actions{justify-content:flex-end}.panel{border-radius:var(--radius-lg);width:100%;min-width:0;max-width:100%;box-shadow:var(--shadow);background:linear-gradient(#fffffffc,#fafcfff7);border:1px solid #d7e0eaf5;position:relative;overflow:hidden}.panel-head{justify-content:space-between;align-items:center;gap:12px;width:100%;min-width:0;max-width:100%;padding:18px 22px 12px;display:flex}.panel-title{margin:0;font-size:18px;font-weight:800}.empty-state,.loading-state,.error-state{border-radius:var(--radius-lg);border:1px dashed var(--border);text-align:center;color:var(--text-faint);background:#ffffffc7;padding:56px 24px}.error-state{color:#b91c1c;background:#fef2f2eb;border-color:#dc26262e}.catalog-summary-grid,.summary-grid,.detail-metrics,.compare-summary-grid{gap:12px;display:grid}.catalog-summary-grid,.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.detail-metrics{grid-template-columns:repeat(4,minmax(0,1fr));padding:18px 22px 0}.detail-summary-grid-secondary{padding-top:0;padding-bottom:18px}.holdings-summary-grid{grid-template-columns:repeat(5,minmax(0,1fr));padding:0}.summary-card{border-radius:var(--radius-sm);background:linear-gradient(#fff,#f7f9fc);border:1px solid #d7e0eaeb;padding:15px;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffffe6}.summary-card:before{content:"";background:linear-gradient(90deg, var(--accent-line), #1f4f8d00);height:3px;position:absolute;inset:0 0 auto}.summary-label,.metric-label{color:var(--text-faint);font-size:11px;display:block}.summary-value,.compare-summary-value{color:var(--text);margin-top:8px;font-size:22px;font-weight:800;display:block}.strategy-grid{grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:20px;padding:0;display:grid}.strategy-card{border-radius:var(--radius-lg);background:linear-gradient(135deg, #1f4f8d09, transparent 36%), linear-gradient(180deg, var(--surface-strong), #fafbfd);min-height:404px;box-shadow:var(--shadow);border:1px solid #d7e0eaf5;flex-direction:column;gap:14px;padding:21px;transition:transform .18s,border-color .18s,box-shadow .18s;display:flex;position:relative;overflow:hidden}.strategy-card:before{content:"";background:linear-gradient(90deg, var(--accent) 0%, var(--accent-2) 100%);opacity:.72;height:3px;position:absolute;inset:0 0 auto}.strategy-card:hover{box-shadow:var(--shadow-strong);border-color:#1f4f8d4d;transform:translateY(-2px)}.strategy-card-selected{border-color:#1f4f8d57;box-shadow:0 18px 40px #1f4f8d1f}.strategy-card-failed{border-color:#dc262647;box-shadow:0 16px 34px #dc262614}.strategy-card-head,.detail-title-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.strategy-card-title-wrap{min-width:0}.strategy-title{overflow-wrap:anywhere;word-break:break-word;margin:0;font-size:22px;font-weight:800;line-height:1.18}.strategy-code,.compare-summary-note{color:var(--text-faint);overflow-wrap:anywhere;word-break:break-word;margin-top:6px;font-family:Consolas,SFMono-Regular,Roboto Mono,monospace;font-size:12px}.status-pill{color:var(--text-soft);white-space:normal;overflow-wrap:anywhere;word-break:break-word;background:linear-gradient(#fff,#f6f8fb);border:1px solid #d7e0eaf5;border-radius:999px;flex-shrink:0;max-width:100%;padding:6px 10px;font-size:12px;font-weight:800}.status-completed{color:#166534;background:#15803d1a;border-color:#15803d29}.status-idle{color:#475569;background:#64748b17;border-color:#64748b29}.status-failed{color:#dc2626;background:#dc26261a;border-color:#dc262629}.status-no-signal{color:#d97706;background:#f59e0b1a;border-color:#f59e0b29}.strategy-failure-alert{color:#991b1b;overflow-wrap:anywhere;word-break:break-word;background:linear-gradient(#fef2f2f5,#fff7f7f5);border:1px solid #dc26262e;border-radius:14px;gap:4px;padding:10px 12px;font-size:12px;line-height:1.55;display:grid}.strategy-failure-alert strong{font-size:13px}.failure-log-link{color:#b91c1c;cursor:pointer;text-underline-offset:3px;background:0 0;border:0;justify-self:start;margin-top:2px;padding:0;font-size:12px;font-weight:700;text-decoration:underline}.spark-wrap{background:linear-gradient(#f3f6fafa,#f8fafcfa);border:1px solid #e8eef4;border-radius:16px;height:74px;overflow:hidden;box-shadow:inset 0 1px #ffffffe6}.spark-svg{width:100%;height:100%;display:block}.spark-empty{height:100%;color:var(--text-faint);justify-content:center;align-items:center;font-size:12px;display:flex}.metric-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.metric-tile{background:linear-gradient(#f7f9fc,#f4f7fa);border:1px solid #d7e0eab8;border-radius:14px;padding:12px}.metric-tile-highlight{background:linear-gradient(#f1f6fcfa,#f8fafcf5)}.metric-tile-label{color:var(--text-faint);font-size:11px;display:block}.metric-tile-value{margin-top:6px;font-size:18px;font-weight:700;display:block}.metric-tile-value-lg{font-size:22px}.governance-metrics{grid-template-columns:repeat(6,minmax(0,1fr));padding:0 20px 20px}.metric-up,.trade-profit{color:var(--up)}.metric-down,.trade-loss{color:var(--down)}.trade-neutral{color:var(--text-soft)}.backtest-card-panel{background:linear-gradient(#f6f8fbfa,#fffffff5);border:1px solid #cfd8e2db;border-radius:16px;padding:12px;box-shadow:inset 0 1px #ffffffeb}.backtest-card-panel-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.backtest-card-panel-title,.backtest-field-label{color:#506174;font-size:11px;font-weight:700}.backtest-card-panel-title{letter-spacing:.08em;text-transform:uppercase;color:#64748b}.backtest-card-panel-note{color:var(--text-faint);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;word-break:break-word;font-size:12px;font-weight:600;line-height:1.5}.backtest-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px;display:grid}.backtest-field{gap:6px;display:grid}.backtest-input{color:#0f172a;font-variant-numeric:tabular-nums;background:#fffffffa;border:1px solid #bfcbdbeb;border-radius:14px;width:100%;padding:9px 12px;font-family:Consolas,SFMono-Regular,Roboto Mono,monospace;font-size:13px;font-weight:600;box-shadow:inset 0 1px 1px #94a3b814}.backtest-input:focus{border-color:#2563eb66;outline:0;box-shadow:0 0 0 3px #2563eb1a}.primary-btn,.secondary-btn,.toolbar-btn{cursor:pointer;border-radius:13px;transition:transform .16s,border-color .16s,box-shadow .16s,background .16s}.secondary-btn,.toolbar-btn{color:var(--text-soft);background:linear-gradient(#fffffffc,#f7f9fcfa);border:1px solid #bfcbdbf2}.secondary-btn{padding:8px 14px;font-weight:700}.toolbar-btn{padding:8px 12px;font-size:13px}.primary-btn{color:#f8fbff;background:linear-gradient(#265894fc,#1c4276fc);border:1px solid #1f4f8d52;padding:9px 14px;font-weight:800;box-shadow:0 10px 22px #1f4f8d2e}.toolbar-btn.active{color:var(--accent);background:linear-gradient(#1f4f8d1f,#1f4f8d14);border-color:#1f4f8d4d;font-weight:800}.primary-btn:hover,.secondary-btn:hover,.toolbar-btn:hover{border-color:#1f4f8d4d;transform:translateY(-1px);box-shadow:0 12px 22px #0f172a14}.primary-btn:disabled,.secondary-btn:disabled,.toolbar-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.strategy-action-row{flex-wrap:wrap;gap:8px;display:flex}.strategy-action-row .primary-btn,.strategy-action-row .secondary-btn{text-align:center;flex:calc(50% - 4px);min-width:0}.strategy-foot{color:var(--text-faint);border-top:1px solid #edf2f8;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:16px;font-size:12px;display:flex}.card-link{color:var(--accent);overflow-wrap:anywhere;word-break:break-word;align-items:center;gap:6px;font-weight:600;display:inline-flex}.detail-page-feedback{margin:24px}.detail-page-side .page-count{font-variant-numeric:tabular-nums}.detail-page-side .page-side-note{max-width:280px}.detail-subsection{width:100%;min-width:0;max-width:100%;padding:0 22px 22px}.detail-subsection+.detail-subsection{border-top:1px solid #e3e9f0f5;padding-top:20px}.detail-subsection-head{justify-content:space-between;align-items:flex-end;gap:12px;width:100%;min-width:0;max-width:100%;margin-bottom:12px;display:flex}.detail-subsection-head h3{margin:0;font-size:18px}.research-panel-body{gap:16px;display:grid}.research-metrics{padding-top:0}.research-diagnostics{flex-wrap:wrap;gap:8px;padding:0 22px;display:flex}.diagnostic-pill{color:#475569;background:#f8fafcf5;border:1px solid #64748b2e;border-radius:999px;align-items:center;min-height:30px;padding:6px 11px;font-size:12px;font-weight:700;display:inline-flex}.diagnostic-ok{color:#166534;background:#dcfce7db;border-color:#15803d2e}.diagnostic-warning{color:#92400e;background:#fef3c7e6;border-color:#d9770633}.diagnostic-danger{color:#b91c1c;background:#fee2e2e6;border-color:#dc262633}.diagnostic-info{color:#0f766e;background:#e0f2fee6;border-color:#0e74902e}.research-yearly-section{padding-top:0}.signal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 22px 22px;display:grid}.signal-card{background:linear-gradient(#fff,#fafbfd);border:1px solid #d7e0eae0;border-radius:18px;padding:16px;box-shadow:inset 0 1px #ffffffe6}.signal-card.buy{box-shadow:inset 3px 0 #c2410c47}.signal-card.sell{box-shadow:inset 3px 0 #15803d47}.signal-card-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.signal-card-label{font-size:16px;font-weight:700}.signal-card.buy .signal-card-label{color:var(--up)}.signal-card.sell .signal-card-label{color:var(--down)}.signal-card-date{color:var(--text-soft);margin-top:4px;font-size:13px}.signal-card-note{color:var(--text-faint);overflow-wrap:anywhere;word-break:break-word;margin-top:6px;font-size:12px;line-height:1.5}.signal-pills{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.signal-pill{color:#24456f;overflow-wrap:anywhere;word-break:break-word;background:#2563eb14;border-radius:999px;max-width:100%;padding:6px 10px;font-size:12px;font-weight:600}.signal-card.buy .signal-pill{color:#9a3412;background:#c2410c1a}.signal-card.sell .signal-pill{color:#166534;background:#15803d1a}.signal-empty{color:var(--text-faint);margin-top:14px;font-size:13px}.range-chip-group{flex-wrap:wrap;gap:8px;display:inline-flex}.detail-tab-nav{z-index:25;position:sticky;top:12px}.detail-content-shell{align-items:start;display:block}.detail-sidebar{z-index:20;min-width:0;position:sticky;top:18px}.detail-section-stack,.detail-section{gap:12px;min-width:0;display:grid}.detail-section-stack{gap:22px}.detail-section{scroll-margin-top:92px}.detail-section-head{justify-content:space-between;align-items:flex-end;gap:14px;padding:0 2px;display:flex}.detail-section-head h2{margin:0;font-size:24px;line-height:1.16}.section-nav{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffeb;border:1px solid #d7e0eae0;border-radius:18px;gap:8px;min-width:0;max-width:100%;padding:9px;display:flex;overflow-x:auto;box-shadow:0 12px 28px #0f172a12}.section-nav-title{color:var(--text-faint);letter-spacing:.08em;text-transform:uppercase;flex:none;padding:10px 8px;font-size:12px;font-weight:800}.section-nav-link{min-width:148px;max-width:220px;color:var(--text-soft);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:13px;flex:1 0 148px;gap:3px;padding:10px 12px;transition:background .16s,border-color .16s,box-shadow .16s,transform .16s;display:grid}.section-nav-link:hover{background:#f8fafcf5;border-color:#1f4f8d1f;transform:translateY(-1px)}.section-nav-link.active{color:var(--accent);background:linear-gradient(#1f4f8d21,#ebf1f8f0);border-color:#1f4f8d42;box-shadow:inset 0 -3px #1f4f8d85,inset 0 1px #ffffffeb,0 8px 18px #1f4f8d14}.section-nav-label{font-size:14px;font-weight:800}.section-nav-note{color:var(--text-faint);font-size:11px;font-weight:600}.collapsible-panel{min-width:0}.collapsible-card{background:linear-gradient(#fffffffa,#fafcfff5)}.collapsible-panel-trigger{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:14px;padding:17px 22px;display:flex}.collapsible-panel-title-wrap{gap:4px;min-width:0;display:grid}.collapsible-panel-title{color:var(--text);font-size:18px;font-weight:800}.collapsible-panel-summary{color:var(--text-faint);overflow-wrap:anywhere;font-size:13px;font-weight:600}.collapsible-panel-state{color:var(--accent);background:#1f4f8d14;border:1px solid #1f4f8d29;border-radius:999px;flex-shrink:0;padding:7px 12px;font-size:12px;font-weight:800}.collapsible-panel-body{gap:14px;padding:0 0 18px;display:grid}.collapsible-card .collapsible-panel-body>.panel{box-shadow:none;border-radius:18px;margin:0 18px}.collapsible-card .collapsible-panel-body>.panel:before{display:none}.collapsible-subsection{border-top:1px solid #e3e9f0f5;padding-top:18px}.collapsible-subsection .collapsible-panel-trigger{padding:0}.collapsible-subsection .collapsible-panel-body{padding:16px 0 0}.compact-head{margin-bottom:12px}.single-subsection{padding-top:0}.insight-tags{padding-bottom:2px}.detail-link-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;padding:0 22px 22px;display:grid}.detail-link-card{background:linear-gradient(#fff,#fafbfd);border:1px solid #d7e0eae0;border-radius:18px;gap:6px;min-width:0;padding:16px;transition:transform .16s,border-color .16s,box-shadow .16s;display:grid}.detail-link-card:hover{border-color:#1f4f8d33;transform:translateY(-1px);box-shadow:0 12px 24px #0f172a0f}.detail-link-card strong{color:var(--accent);font-size:15px}.detail-link-card span{color:var(--text-faint);font-size:13px;line-height:1.5}.holdings-panel-head{align-items:flex-start}.holdings-toolbar{flex:420px;justify-content:flex-end;row-gap:8px}.holdings-toolbar .range-chip-group{min-width:0}.detail-focus-date{min-width:0;color:var(--text-faint);overflow-wrap:anywhere;flex:0 auto;font-size:13px;font-weight:700}.detail-date-select{flex:0 150px}.detail-chart-wrap{cursor:crosshair;background:linear-gradient(#fff,#fafbfd);border:1px solid #e7edf3;border-radius:18px;height:440px;margin:0 22px 22px;position:relative;overflow:hidden}.detail-chart,.compare-chart{width:100%;height:100%}.net-value-chart-panel .net-value-chart-head{flex-wrap:wrap;align-items:flex-start}.net-value-chart-panel .net-value-chart-heading{flex:320px;min-width:0}.net-value-chart-panel .net-value-chart-actions{flex:0 auto;grid-template-columns:max-content;justify-content:flex-end;place-items:center end;gap:6px;min-width:0;display:grid}.net-value-chart-panel .chart-overlay-actions{z-index:7;pointer-events:auto;width:max-content;max-width:calc(100% - 28px);position:absolute;top:12px;right:14px}.net-value-chart-panel .chart-control-row{flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:8px;min-width:0;min-height:34px;display:flex}.net-value-chart-panel .chart-range-row,.net-value-chart-panel .chart-focus-row{width:auto;min-width:0}.net-value-chart-panel .chart-focus-row{gap:6px}.net-value-chart-panel .chart-navigation-controls,.net-value-chart-panel .chart-zoom-controls{align-items:center;gap:4px;display:inline-flex}.net-value-chart-panel .chart-icon-btn,.net-value-chart-panel .chart-focus-readout{border:1px solid var(--ui-border);background:var(--ui-surface);min-width:34px;height:34px;color:var(--ui-text-muted);cursor:pointer;border-radius:5px;justify-content:center;align-items:center;transition:transform .16s,border-color .16s,box-shadow .16s,background .16s;display:inline-flex}.net-value-chart-panel .chart-icon-btn{width:34px;padding:0}.net-value-chart-panel .chart-focus-readout{min-width:112px;color:var(--accent);font-variant-numeric:tabular-nums;white-space:nowrap;gap:7px;padding:0 10px;font-size:12px;font-weight:800}.net-value-chart-panel .chart-icon-btn:hover:not(:disabled),.net-value-chart-panel .chart-focus-readout:hover:not(:disabled){border-color:var(--ui-primary-border);background:var(--ui-primary-soft);color:var(--ui-primary)}.net-value-chart-panel .chart-panel-actions:not(.is-fullscreen-toolbar){border-bottom:1px solid var(--ui-border-subtle);background:var(--ui-surface);flex-wrap:wrap;justify-content:space-between;gap:8px;width:100%;max-width:none;padding:10px 16px;display:flex;position:static}.net-value-chart-panel .chart-panel-actions:not(.is-fullscreen-toolbar) .chart-control-row{background:0 0;border:0;flex-wrap:wrap;flex:0 auto;justify-content:flex-start;width:auto;margin:0;padding:0}.net-value-chart-panel .chart-icon-btn:disabled,.net-value-chart-panel .chart-focus-readout:disabled,.net-value-chart-panel .chart-selection-cancel:disabled,.net-value-chart-panel .chart-reset-btn:disabled{opacity:.48;cursor:not-allowed;box-shadow:none;transform:none}.net-value-chart-panel .chart-selection-cancel:disabled,.net-value-chart-panel .chart-reset-btn:disabled{display:none}.net-value-chart-panel .chart-fullscreen-btn{flex:none}.net-value-chart-panel .chart-inline-fullscreen-exit{z-index:8;background:#fffffff0;position:absolute;top:14px;right:14px;box-shadow:0 10px 20px #0f172a1f}.net-value-chart-panel .detail-chart:focus-visible{outline-offset:-3px;outline:3px solid #2563eb52}.net-value-chart-panel .detail-chart-wrap:fullscreen{background:#fff;border:0;border-radius:0;width:100vw;height:100vh;margin:0}.net-value-chart-panel .detail-chart-wrap.is-chart-fullscreen{z-index:1000;background:#fff;border:0;border-radius:0;width:100vw;height:100vh;margin:0;position:fixed;inset:0}.net-value-chart-panel .detail-chart-wrap.is-chart-fullscreen .chart-overlay-actions{right:60px}.net-value-chart-panel .detail-chart-wrap:fullscreen .detail-chart{height:100%}.net-value-chart-panel .chart-reset-btn{justify-content:center;align-items:center;width:34px;min-width:34px;height:34px;padding:0;display:inline-flex}.net-value-chart-panel .chart-reset-btn:focus-visible,.net-value-chart-panel .toolbar-btn:focus-visible,.net-value-chart-panel .secondary-btn:focus-visible{outline-offset:2px;outline:3px solid #2563eb38}.net-value-chart-summary{border:0;border-bottom:1px solid var(--ui-border-subtle);background:var(--ui-border-subtle);border-radius:0;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(190px,1.35fr);gap:1px;margin:0;display:grid;overflow:hidden}.net-value-summary-item{background:var(--ui-surface);flex-direction:column;justify-content:center;gap:3px;min-width:0;min-height:52px;padding:9px 13px;display:flex}.net-value-summary-label{color:#7b8ca1;font-size:11px;font-weight:700;line-height:1.3}.net-value-summary-value{color:#172b4d;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums;min-width:0;font-size:16px;font-weight:800;line-height:1.3;overflow:hidden}.net-value-summary-value.is-positive{color:#b42318}.net-value-summary-value.is-negative{color:#047857}.net-value-summary-value.is-neutral{color:#52637a}.net-value-summary-dates .net-value-summary-value{color:#52637a;font-size:13px}.detail-selection-band{background:#2563eb1f;border:1px dashed #2563eb7a;border-radius:0}.detail-selection-box{background:#0f172aeb;border:1px solid #0f172a14;border-radius:16px;min-width:220px;max-width:280px;box-shadow:0 18px 34px #0f172a42}.compare-page-head{align-items:stretch}.research-shell-main.is-compare .page-head,.research-shell-main.is-compare .panel{border-color:var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface);box-shadow:var(--ui-shadow-panel)}.research-shell-main.is-compare .page-head{padding:22px 24px}.research-shell-main.is-compare .panel-head{padding:16px 18px 12px}.research-shell-main.is-compare .panel-title{font-size:16px;font-weight:720}.research-shell-main.is-compare .page-head h1,.research-shell-main.is-compare .panel-title,.research-shell-main.is-compare .compare-summary-title{letter-spacing:0}.research-shell-main.is-compare .page-count{border-color:var(--ui-primary-border);border-radius:var(--ui-radius-xs);background:var(--ui-primary-soft);box-shadow:none;color:var(--ui-primary);padding:6px 9px;font-size:12px;font-weight:700}.research-shell-main.is-compare .detail-page-nav .secondary-btn,.research-shell-main.is-compare .compare-head-side>.secondary-btn,.research-shell-main.is-compare .panel-head>.secondary-btn{min-height:var(--ui-control-md);border-color:var(--ui-border-strong);border-radius:var(--ui-radius-sm);background:var(--ui-surface);box-shadow:none;color:var(--ui-text);padding:7px 11px;transform:none}.research-shell-main.is-compare .detail-page-nav .secondary-btn:hover,.research-shell-main.is-compare .compare-head-side>.secondary-btn:hover,.research-shell-main.is-compare .panel-head>.secondary-btn:hover{border-color:var(--ui-primary-border);background:var(--ui-primary-soft);box-shadow:none;color:var(--ui-primary);transform:none}.research-shell-main.is-compare .range-chip-group{border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);background:var(--ui-surface-subtle);flex-wrap:nowrap;gap:2px;max-width:100%;padding:2px;overflow-x:auto}.research-shell-main.is-compare .range-chip-group .toolbar-btn{border-radius:var(--ui-radius-xs);min-height:30px;box-shadow:none;color:var(--ui-text-muted);white-space:nowrap;background:0 0;border:0;padding:5px 9px;transform:none}.research-shell-main.is-compare .range-chip-group .toolbar-btn:hover:not(:disabled){background:var(--ui-surface-hover);box-shadow:none;color:var(--ui-text);transform:none}.research-shell-main.is-compare .range-chip-group .toolbar-btn.active{background:var(--ui-surface);color:var(--ui-primary);box-shadow:0 1px 3px #1118271a}.compare-head-side{width:min(100%,420px)}.compare-head-side .compare-chip-list{margin-top:0}.compare-evaluation-notice{border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface);color:var(--ui-text-muted);flex-wrap:wrap;align-items:baseline;gap:6px 12px;padding:11px 14px;font-size:12px;line-height:1.5;display:flex}.compare-evaluation-notice strong{color:var(--ui-text);font-weight:720}.compare-evaluation-notice.is-comparable{background:var(--ui-success-soft);border-color:#1e7d5340}.compare-evaluation-notice.is-incompatible{background:#fff4df;border-color:#bc59234d}.compare-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.research-shell-main.is-compare .compare-summary-grid{gap:12px;padding:0}.compare-summary-card{border-radius:var(--ui-radius-md);border:1px solid var(--ui-border);background:var(--ui-surface);box-shadow:var(--ui-shadow-panel);padding:16px;position:relative;overflow:hidden}.compare-summary-title{margin:0;font-size:16px;font-weight:800}.compare-summary-title a{min-width:0;max-width:100%;color:inherit;overflow-wrap:anywhere;align-items:center;gap:5px;text-decoration:none;display:inline-flex}.compare-summary-title a:hover{color:var(--accent)}.compare-summary-title a:focus-visible{outline:3px solid var(--ui-focus-outline,#86b7fe);outline-offset:3px;border-radius:3px}.compare-chip button{border-radius:4px;flex:0 0 24px;place-items:center;width:24px;height:24px;display:inline-grid}.compare-chip button:hover{background:#1f4f8d1a}.compare-chip button:focus-visible{outline:3px solid var(--ui-focus-outline,#86b7fe);outline-offset:2px}.research-shell-main.is-compare .compare-chip{border-color:var(--ui-primary-border);border-radius:var(--ui-radius-xs);background:var(--ui-primary-soft);min-height:30px;color:var(--ui-primary);gap:5px;padding:3px 4px 3px 8px}.research-shell-main.is-compare .compare-summary-note{font-family:var(--ui-font-mono)}.research-shell-main.is-compare .metric-up{color:var(--ui-market-up)}.research-shell-main.is-compare .metric-down{color:var(--ui-market-down)}.compare-summary-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}.compare-chart-grid,.compare-heatmap-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:0 24px 24px;display:grid}.compare-chart-card,.compare-heatmap-card{border-radius:var(--ui-radius-sm);border:1px solid var(--ui-border);background:var(--ui-surface-subtle);box-shadow:none;padding:14px}.compare-heatmap-card-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.compare-heatmap-empty{min-height:340px}.compare-chart-title{margin:0 0 10px;font-size:15px;font-weight:700}.compare-chart{height:360px}.data-table-wrap{border-radius:var(--radius-md);background:#fff;border:1px solid #d7e0eaf5;width:100%;min-width:0;max-width:100%;max-height:420px;overflow:auto;box-shadow:inset 0 1px #fffffff2}.research-shell-main.is-compare .data-table-wrap{border-color:var(--ui-border);border-radius:var(--ui-radius-sm);box-shadow:none}.data-table-wrap.compact{max-height:360px}.data-table{border-collapse:collapse;width:100%;min-width:760px}.data-table th,.data-table td{text-align:left;vertical-align:top;white-space:nowrap;border-bottom:1px solid #e8eef4;padding:11px 14px;font-size:13px}.data-table thead th{z-index:1;color:var(--text-soft);letter-spacing:.01em;background:linear-gradient(#f7f9fc,#eef3f8);font-weight:800;position:sticky;top:0}.data-table tbody tr:nth-child(2n) td{background:var(--ui-surface-subtle)}.data-table tbody tr:hover td{background:var(--ui-surface-hover)}.trade-tag{color:#334155;white-space:nowrap;background:#f1f5f9f2;border:1px solid #94a3b842;border-radius:999px;align-items:center;min-height:26px;padding:0 10px;font-size:12px;font-weight:700;line-height:1;display:inline-flex}.trade-tag.buy{color:#c2410c;background:#ffedd5e6;border-color:#c2410c2e}.trade-tag.sell{color:#15803d;background:#dcfce7eb;border-color:#15803d2e}.trade-tag.strategy,.trade-tag.price-open{color:#1d4ed8;background:#dbeafeeb;border-color:#2563eb29}.trade-tag.risk,.trade-tag.state-warning,.trade-tag.order-skipped{color:#b45309;background:#fef3c7f0;border-color:#d977062e}.trade-tag.risk-recover,.trade-tag.order-filled{color:#15803d;background:#dcfce7eb;border-color:#15803d2e}.trade-tag.risk-trigger,.trade-tag.state-danger,.trade-tag.state-lock,.trade-tag.order-rejected{color:#b91c1c;background:#fee2e2f0;border-color:#b91c1c2e}.trade-tag.state-normal,.trade-tag.order-cancelled{color:#475569;background:#f1f5f9f2;border-color:#4755692e}.trade-tag.ratio,.trade-tag.price-close{color:#0f766e;font-variant-numeric:tabular-nums;background:#e0f2fef0;border-color:#0e74902e}@media (width<=1100px){.detail-metrics,.holdings-summary-grid,.governance-metrics,.compare-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-content-shell{display:block}.section-nav-link{padding:11px 10px}}@media (width<=860px){.detail-chart-wrap{height:360px}.compare-chart-grid,.compare-heatmap-grid{grid-template-columns:1fr}}@media (width<=720px){.page-head,.detail-page-head,.compare-toolbar,.log-service-head,.panel-head,.detail-subsection-head{flex-direction:column;align-items:flex-start}.page-side,.detail-page-side,.compare-toolbar-side,.log-service-actions{justify-content:flex-start;align-items:flex-start}.detail-page-head{padding:20px}.detail-page-side{align-self:stretch;width:100%;padding:14px}.detail-action-row{justify-content:flex-start}.page-side-note{text-align:left}.page-head h1{font-size:28px}.detail-page-title{font-size:30px}.catalog-summary-grid,.summary-grid,.detail-metrics,.holdings-summary-grid,.governance-metrics,.compare-summary-grid,.signal-grid,.detail-link-grid,.strategy-grid,.metric-list,.backtest-field-grid{grid-template-columns:1fr}.detail-section{scroll-margin-top:96px}.section-nav{border-radius:18px;grid-template-columns:repeat(4,minmax(126px,1fr));padding:8px;overflow-x:auto}.section-nav-title{display:none}.section-nav-link{min-width:126px}.section-nav-link:hover{transform:translateY(-1px)}.strategy-action-row .primary-btn,.strategy-action-row .secondary-btn{flex-basis:100%}.strategy-foot{flex-direction:column;align-items:flex-start}.detail-subsection,.panel-head,.detail-chart-wrap,.compare-chart-grid,.compare-heatmap-grid{margin-left:0;margin-right:0}.detail-chart-wrap{height:340px;margin:0 18px 18px}.detail-toolbar,.holdings-toolbar{justify-content:flex-start;width:100%}.net-value-chart-panel .net-value-chart-actions{grid-template-columns:minmax(0,1fr);justify-content:flex-start;justify-items:start;width:100%}.net-value-chart-panel .net-value-chart-head{flex-direction:row;align-items:flex-start}.net-value-chart-panel .net-value-chart-heading{flex:100%}.net-value-chart-panel .chart-overlay-actions{width:max-content;max-width:calc(100% - 20px);top:10px;right:10px}.net-value-chart-panel .chart-overlay-actions .detail-toolbar{width:auto}.net-value-chart-panel .net-value-chart-actions .detail-toolbar{justify-content:flex-start;width:100%}.net-value-chart-panel .net-value-chart-actions.chart-overlay-actions .detail-toolbar{width:auto}.net-value-chart-panel .chart-control-row{flex-wrap:wrap;justify-content:flex-start;width:100%}.net-value-chart-panel .chart-range-row .range-chip-group{width:100%}.net-value-chart-panel .net-value-chart-summary{grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.net-value-chart-panel .net-value-summary-dates{grid-column:auto}.net-value-chart-panel .net-value-summary-dates .net-value-summary-value{white-space:normal;font-size:11px;line-height:1.5}.detail-date-select,.holdings-toolbar .secondary-btn{flex:100%;width:100%}.panel-head,.detail-subsection,.collapsible-panel-trigger{padding-left:18px;padding-right:18px}.collapsible-subsection .collapsible-panel-trigger{padding-left:0;padding-right:0}.detail-link-grid{padding-left:18px;padding-right:18px}.data-table-wrap{background:0 0;border:0;max-height:none;padding:0;overflow:visible}.data-table,.data-table thead,.data-table tbody,.data-table tr,.data-table th,.data-table td{width:100%;min-width:0;display:block}.data-table{border-collapse:separate;min-width:0}.data-table thead{display:none}.data-table tbody{gap:12px;display:grid}.data-table tbody tr{border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);background:var(--ui-surface);padding:10px 12px}.data-table tbody tr:nth-child(2n) td,.data-table tbody tr:hover td{background:0 0}.data-table td{text-align:left;white-space:normal;overflow-wrap:anywhere;word-break:break-word;border-bottom:1px solid #edf2f8eb;justify-content:space-between;align-items:flex-start;gap:12px;padding:8px 0;display:flex}.data-table tbody tr td:last-child{border-bottom:0}.data-table td:before{content:attr(data-label);color:var(--text-faint);flex:0 0 92px;font-size:11px;font-weight:700;line-height:1.5}.data-table td>span{text-align:right;overflow-wrap:anywhere;word-break:break-word;min-width:0;margin-left:auto}.trade-tag{justify-content:center;max-width:100%}}@media (width<=560px){.research-shell-main.is-compare .page-head{padding:16px}.research-shell-main.is-compare .panel-head{padding:14px 14px 10px}.research-shell-main.is-compare .compare-chart-grid,.research-shell-main.is-compare .compare-heatmap-grid{gap:10px;padding:0 12px 12px}.research-shell-main.is-compare .compare-chart-card,.research-shell-main.is-compare .compare-heatmap-card{padding:10px}}.strategy-index{--profit:var(--ui-market-up);--profit-soft:var(--ui-market-up-soft);--loss:var(--ui-market-down);--loss-soft:var(--ui-market-down-soft);--table-columns:minmax(320px, 1fr) 118px 104px 104px 100px 76px 80px 64px 112px 80px;gap:0}.catalog-run-all,.library-run-button,.dialog-primary,.dialog-secondary{min-height:var(--ui-control-md);border-radius:var(--ui-radius-sm);font:inherit;letter-spacing:0;padding:7px 13px;font-size:13px;font-weight:680}.catalog-run-all,.dialog-primary{border:1px solid var(--ui-primary);background:var(--ui-primary);color:var(--ui-on-primary)}.catalog-run-all:hover:not(:disabled),.dialog-primary:hover:not(:disabled){border-color:var(--ui-primary-hover);background:var(--ui-primary-hover)}.catalog-run-all:disabled,.library-run-button:disabled,.dialog-primary:disabled,.dialog-secondary:disabled{cursor:not-allowed;opacity:.52}.backtest-dialog-backdrop{z-index:100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#101b2480;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.backtest-dialog{border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface);width:min(520px,100%);box-shadow:var(--ui-shadow-overlay);overflow:hidden}.backtest-dialog-head{border-bottom:1px solid var(--ui-border);justify-content:space-between;align-items:flex-start;gap:20px;padding:22px 24px 18px;display:flex}.backtest-dialog-head h2{color:var(--ui-text);margin:0;font-size:20px;line-height:1.3}.backtest-dialog-head>button{border-radius:var(--ui-radius-xs);width:32px;height:32px;color:var(--ui-text-muted);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;display:grid}.backtest-dialog-head>button:hover:not(:disabled){background:var(--ui-surface-subtle);color:var(--ui-text)}.backtest-dialog-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:22px 24px 8px;display:grid}.backtest-dialog-fields label{color:var(--ui-text-muted);gap:7px;font-size:12px;font-weight:650;display:grid}.backtest-dialog-fields input{border:1px solid var(--ui-border-strong);border-radius:var(--ui-radius-sm);background:var(--ui-surface);width:100%;min-width:0;height:40px;color:var(--ui-text);font:inherit;outline:none;padding:0 10px;font-size:13px}.backtest-dialog-fields input:focus{border-color:var(--ui-primary);box-shadow:var(--ui-focus-shadow)}.backtest-dialog :is(button,input):focus-visible{outline:2px solid var(--ui-primary);outline-offset:3px}.backtest-dialog-error{color:var(--ui-danger);margin:8px 24px 0;font-size:12px}.backtest-dialog-actions{justify-content:flex-end;gap:8px;padding:20px 24px 22px;display:flex}.dialog-secondary{border:1px solid var(--ui-border-strong);background:var(--ui-surface);color:var(--ui-text);cursor:pointer}.dialog-secondary:hover:not(:disabled){border-color:var(--ui-primary);color:var(--ui-primary)}.strategy-index .metric-positive{color:var(--profit)!important}.strategy-index .metric-negative{color:var(--loss)!important}.strategy-hero{justify-content:space-between;align-items:center;gap:32px;min-height:94px;padding:2px 0 16px;display:flex}.strategy-kicker{color:var(--accent);letter-spacing:0;margin:0 0 6px;font-size:11px;font-weight:750}.strategy-hero h1{color:var(--ink);letter-spacing:0;margin:0;font-size:28px;font-weight:740;line-height:1.18}.strategy-hero-meta{color:var(--ink-soft);font-variant-numeric:tabular-nums;margin:6px 0 0;font-size:13px}.strategy-hero .catalog-run-all{border-color:var(--ui-primary);background:var(--ui-primary);justify-content:center;align-items:center;gap:8px;min-width:116px;min-height:40px;margin-bottom:0;display:inline-flex}.strategy-hero .catalog-run-all:hover:not(:disabled){border-color:var(--ui-primary-hover);background:var(--ui-primary-hover)}.strategy-hero .catalog-run-all>span,.dialog-primary>span{font-size:9px}.strategy-overview{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--ui-surface);grid-template-columns:repeat(4,minmax(122px,.7fr)) minmax(240px,1.4fr);display:grid}.overview-metric,.overview-leader{min-width:0;padding:18px 22px}.overview-metric+.overview-metric,.overview-leader{border-left:1px solid var(--line)}.overview-metric>span,.overview-leader>span{color:var(--ink-soft);font-size:11px;font-weight:650;display:block}.overview-metric>strong{color:var(--ink);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;margin-top:6px;font-size:27px;font-weight:730;line-height:1.15;display:block;overflow:hidden}.overview-metric>small{color:var(--ink-faint);margin-top:5px;font-size:11px;display:block}.overview-leader{background:0 0;flex-direction:column;justify-content:center;display:flex}.overview-leader>a{min-width:0;color:var(--ink);justify-content:space-between;align-items:baseline;gap:14px;margin-top:8px;display:flex}.overview-leader>a:hover strong{color:var(--accent)}.overview-leader strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:15px;font-weight:720;overflow:hidden}.overview-leader small{font-variant-numeric:tabular-nums;flex:none;align-items:center;gap:3px;font-size:13px;font-weight:720;display:inline-flex}.strategy-index .catalog-run-status{border:1px solid var(--ui-primary-border);border-radius:var(--ui-radius-md);background:var(--ui-primary-soft);grid-template-columns:minmax(0,1fr) minmax(180px,320px);align-items:center;gap:12px;margin-top:18px;padding:14px 16px;display:grid;box-shadow:0 2px 8px #2563eb14}.catalog-run-status-copy strong{color:var(--ink);font-weight:700}.catalog-run-status-copy span{min-width:0;color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.run-status-indicator{background:var(--positive);border-radius:50%;flex:none;width:7px;height:7px}.run-status-indicator.is-running{background:var(--accent);animation:1.6s ease-in-out infinite catalog-pulse;box-shadow:0 0 0 4px #1769db1f}@keyframes catalog-pulse{50%{opacity:.42}}.catalog-toolbar{z-index:12;box-shadow:none;background:0 0;border:0;border-radius:0;gap:12px;margin-top:24px;padding:0 0 12px;display:grid;position:relative;top:auto}.catalog-filter-grid{flex-wrap:wrap;gap:12px;display:flex}.catalog-filter-grid label{flex:140px;gap:6px;min-width:0;display:grid}.catalog-filter-grid .strategy-search{flex:2 240px}.catalog-filter-grid label>span{color:var(--ink-soft);font-size:11px;font-weight:680}.catalog-filter-grid input,.catalog-filter-grid select{width:100%;min-width:0;height:var(--ui-control-lg);border:1px solid var(--line-strong);border-radius:var(--ui-radius-sm);background-color:var(--ui-surface);color:var(--ink);font:inherit;letter-spacing:0;outline:none;padding:0 11px;font-size:13px}.search-control{min-width:0;position:relative}.search-control>svg{z-index:1;color:var(--ink-faint);pointer-events:none;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.catalog-filter-grid .search-control input{padding-left:34px}.catalog-filter-grid input::placeholder{color:var(--ui-text-faint)}.catalog-filter-grid input:hover,.catalog-filter-grid select:hover{border-color:#aeb7c3}.catalog-filter-grid input:focus,.catalog-filter-grid select:focus{border-color:var(--accent);box-shadow:var(--ui-focus-shadow)}.catalog-toolbar-meta{min-height:24px;color:var(--ink-faint);justify-content:space-between;align-items:center;gap:16px;font-size:12px;display:flex}.catalog-toolbar-meta button,.catalog-state button{color:var(--accent);font:inherit;background:0 0;border:0;padding:4px 0;font-size:12px;font-weight:680}.catalog-toolbar-meta button:hover,.catalog-state button:hover{text-underline-offset:3px;text-decoration:underline}.strategy-table-shell{border-block:1px solid var(--line);background:var(--surface);border-radius:0;overflow-x:auto}.strategy-table-head,.strategy-record{grid-template-columns:var(--table-columns);min-width:1258px;display:grid}.strategy-table-head{border-bottom:1px solid var(--line);background:var(--ui-surface-subtle);align-items:center;min-height:42px}.strategy-table-head>span{min-width:0;color:var(--ui-text-muted);padding:0 8px;font-size:12px;font-weight:720;line-height:1.3}.strategy-table-head>span:first-child{padding-left:20px}.strategy-table-head>span:nth-child(n+3):nth-child(-n+8){text-align:right}.strategy-table-body{display:block}.strategy-record{background:var(--surface);align-items:stretch;min-height:102px;transition:background-color .15s,box-shadow .15s;position:relative}.strategy-record+.strategy-record{border-top:1px solid var(--ui-border-subtle)}.strategy-record:hover{z-index:1;background:var(--ui-surface-hover);box-shadow:inset 3px 0 0 var(--ui-primary-border)}.strategy-record.is-active{background:var(--ui-primary-soft);box-shadow:inset 3px 0 0 var(--accent)}.strategy-record.is-selected:not(.is-active){background:var(--ui-primary-soft);box-shadow:inset 3px 0 0 var(--ui-primary)}.strategy-record>div{min-width:0;padding:15px 8px}.record-primary{gap:8px;display:flex;padding-left:14px!important}.record-rank{color:#a1a8b2;font-variant-numeric:tabular-nums;flex:none;width:20px;padding-top:2px;font:11px/1.5 Consolas,Cascadia Mono,monospace}.record-identity{flex:1;min-width:0}.record-title-line{align-items:center;gap:9px;min-width:0;display:flex}.record-title-line>a{min-width:0;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;flex:auto;font-size:14px;font-weight:730;line-height:1.35;overflow:hidden}.record-title-line>a:hover{color:var(--accent)}.record-compare-option{border-radius:var(--ui-radius-xs);min-height:24px;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;flex:none;align-self:flex-start;align-items:center;gap:5px;margin:0;padding:0;font-size:11px;font-weight:650;line-height:1;display:inline-flex}.record-compare-option:hover{border-color:var(--ui-primary-border);color:var(--accent)}.record-compare-option.is-selected{border-color:var(--ui-primary-border);background:var(--ui-primary-soft);color:var(--accent)}.record-compare-option:has(input:disabled){opacity:.5;cursor:not-allowed}.record-compare-option input{width:15px;height:15px;accent-color:var(--ui-primary);margin:0}.library-status{border-radius:var(--ui-radius-xs);background:var(--ui-surface-subtle);color:var(--ink-soft);flex:none;align-items:center;gap:5px;padding:3px 6px;font-size:10px;font-weight:690;line-height:1.35;display:inline-flex}.status-dot{background:#8c95a3;border-radius:50%;width:5px;height:5px}.library-status.is-ready{background:var(--ui-success-soft);color:var(--ui-success)}.library-status.is-ready .status-dot{background:var(--ui-success)}.library-status.is-failed{background:var(--ui-danger-soft);color:var(--ui-danger)}.library-status.is-failed .status-dot{background:var(--ui-danger)}.catalog-evaluation-notice{color:var(--ui-text-muted);background:0 0;border:0;border-radius:0;flex-wrap:wrap;align-items:center;gap:6px 12px;margin-top:14px;padding:8px 0;font-size:12px;line-height:1.5;display:flex}.catalog-evaluation-notice strong{color:var(--ink);font-weight:720}.catalog-evaluation-notice.is-comparable{color:var(--ui-text-muted);background:0 0}.catalog-evaluation-notice.is-comparable>svg{color:var(--ui-success);flex-shrink:0}.catalog-evaluation-notice.is-incompatible{border-left:3px solid var(--ui-warning);background:var(--ui-warning-soft);padding:10px 12px}.library-status.is-stale{color:#a66300;background:#fff4df}.library-status.is-stale .status-dot{background:#c27a12}.record-attempt-warning{border-radius:var(--ui-radius-xs);color:#a66300;background:#fff4df;flex:none;align-items:center;padding:3px 6px;font-size:10px;font-weight:690;line-height:1.35;display:inline-flex}.library-status.is-running{background:var(--ui-primary-soft);color:var(--accent)}.library-status.is-running .status-dot{background:var(--accent)}.record-identity>p{min-height:19px;color:var(--ui-text-muted);-webkit-line-clamp:1;-webkit-box-orient:vertical;margin:5px 0 0;font-size:12px;line-height:1.55;display:-webkit-box;overflow:hidden}.record-tags{align-items:center;gap:6px;min-width:0;margin-top:5px;display:flex;overflow:hidden}.record-tags code{color:#7b8491;max-width:158px;font:11px/1.5 var(--ui-font-mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.record-tags span{color:#697281;border-left:1px solid #d8dde4;flex:none;padding-left:6px;font-size:11px}.record-curve{align-content:center;display:grid}.record-curve svg{width:100%;height:48px;overflow:visible}.record-curve line{stroke:#d7dce3;stroke-width:.6px;stroke-dasharray:2 3;vector-effect:non-scaling-stroke}.record-curve polygon.is-positive{fill:#c43d3514}.record-curve polygon.is-negative{fill:#16815b14}.record-curve polyline{fill:none;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.record-curve polyline.is-positive{stroke:var(--profit)}.record-curve polyline.is-negative{stroke:var(--loss)}.record-curve circle.is-positive{fill:var(--profit);stroke:var(--profit)}.record-curve circle.is-negative{fill:var(--loss);stroke:var(--loss)}.sparkline-empty{color:var(--ink-faint);text-align:center;font-size:11px}.record-metric,.record-meta,.record-actions{flex-direction:column;justify-content:center;display:flex}.record-metric{text-align:right;align-items:flex-end}.record-label{color:var(--ink-faint);font-size:11px;font-weight:620;display:none}.record-metric strong{max-width:100%;color:var(--ink);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:720;overflow:hidden}.record-return strong{font-size:15px}.record-meta{align-items:flex-start}.record-meta time{color:#535d6b;font-variant-numeric:tabular-nums;font-size:12px}.record-meta small{color:#9199a5;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;margin-top:5px;font-size:11px;line-height:1.4;display:block;overflow:hidden}.record-actions{align-items:stretch;gap:4px}.strategy-index .library-run-button{min-height:var(--ui-control-md);border:1px solid var(--line-strong);border-radius:var(--ui-radius-sm);background:var(--ui-surface);color:var(--ink);justify-content:center;align-items:center;gap:7px;font-size:12px;display:inline-flex}.strategy-index .library-run-button:hover:not(:disabled){border-color:var(--accent);background:var(--ui-primary-soft);color:var(--accent)}.action-icon{font-size:8px}.strategy-index .library-result-link{color:#667180;justify-content:center;align-items:center;gap:5px;min-height:30px;padding:4px 6px;font-size:12px;font-weight:650;display:inline-flex}.strategy-index .library-result-link:hover{color:var(--accent);text-decoration:none}.catalog-state{border:1px solid var(--line);background:var(--surface);min-height:260px;color:var(--ink-soft);text-align:center;border-top:0;border-radius:0 0 8px 8px;align-content:center;place-items:center;gap:8px;display:grid}.catalog-state strong{color:var(--ink);font-size:15px}.catalog-state p{max-width:620px;color:var(--ui-text-muted);margin:0;font-size:12px}.catalog-state-error strong,.catalog-state-error p{color:var(--negative)}.strategy-skeleton{display:grid}.skeleton-row{grid-template-columns:minmax(280px,2fr) .7fr .6fr;align-items:center;gap:32px;min-height:104px;padding:18px 22px;display:grid}.skeleton-row+.skeleton-row{border-top:1px solid #edf0f3}.skeleton-row span{background:#edf0f3;border-radius:3px;height:11px;animation:1.4s ease-in-out infinite alternate skeleton-fade}.skeleton-row span:first-child{height:46px}@keyframes skeleton-fade{to{opacity:.46}}.backtest-dialog-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#14192180}.backtest-dialog{border-color:var(--ui-border);width:min(520px,100%);box-shadow:var(--ui-shadow-overlay)}.backtest-dialog-head{padding:22px 24px 18px}.backtest-dialog-head>div>p{color:var(--ui-accent);margin:0 0 7px;font-size:11px;font-weight:750;line-height:1.3}.backtest-dialog-head h2{font-size:20px;font-weight:730}.backtest-dialog-head>div>span{max-width:410px;color:var(--ui-text-muted);margin-top:7px;font-size:12px;line-height:1.5;display:block}.backtest-dialog-fields{padding:22px 24px 8px}.backtest-dialog-actions{padding:20px 24px 22px}.dialog-primary{justify-content:center;align-items:center;gap:7px;display:inline-flex}.strategy-index.has-compare-selection{padding-bottom:104px}.strategy-index .compare-toolbar{z-index:30;border:1px solid var(--ui-border-strong);border-radius:var(--ui-radius-md);width:min(1440px,100% - 48px);min-width:0;max-width:none;box-shadow:var(--ui-shadow-overlay);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff7;grid-template-columns:minmax(280px,1fr) minmax(500px,auto);align-items:center;gap:16px;margin:0;padding:12px 14px;display:grid;position:fixed;bottom:16px;left:50%;right:auto;overflow:visible;transform:translate(-50%)}.strategy-index .compare-toolbar:before{display:none}.strategy-index .compare-toolbar-main{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;min-width:0;display:grid}.strategy-index .compare-toolbar-title{color:var(--ink);white-space:nowrap;margin:0;font-size:13px;font-weight:720}.strategy-index .compare-chip-list{flex-wrap:nowrap;gap:6px;min-width:0;margin:0;padding-bottom:2px;display:flex;overflow-x:auto}.strategy-index .compare-chip{border:1px solid var(--ui-primary-border);border-radius:var(--ui-radius-xs);background:var(--ui-primary-soft);min-width:0;max-width:190px;min-height:28px;color:var(--accent);align-items:center;gap:5px;padding:3px 4px 3px 8px;font-size:11px;font-weight:650;display:inline-flex}.strategy-index .compare-chip>span:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.strategy-index .compare-chip button{border-radius:var(--ui-radius-xs);width:22px;height:22px;color:inherit;background:0 0;border:0;flex:none;place-items:center;padding:0;display:inline-grid}.strategy-index .compare-chip button:hover{background:#1769db1a}.strategy-index .compare-toolbar-side{grid-template-columns:minmax(0,1fr) auto;place-items:center end;gap:7px 12px;min-width:0;display:grid}.strategy-index .compare-toolbar-side>.toolbar-status,.strategy-index .toolbar-inline-status{color:var(--ink-soft);white-space:nowrap;font-size:11px;font-weight:650}.strategy-index .toolbar-inline-status{align-items:center;gap:8px;display:inline-flex}.strategy-index .toolbar-separator{display:none}.strategy-index .toolbar-actions{flex-wrap:nowrap;grid-column:1/-1;justify-content:flex-end;gap:6px;display:flex}.strategy-index .compare-toolbar .secondary-btn,.strategy-index .compare-toolbar .primary-btn{border-radius:var(--ui-radius-sm);white-space:nowrap;min-height:32px;padding:5px 10px;font-size:11px;font-weight:680}.strategy-index .compare-toolbar .secondary-btn{border-color:var(--ui-border-strong);background:var(--ui-surface);color:var(--ink)}.strategy-index .compare-toolbar .primary-btn{border-color:var(--ui-primary);background:var(--ui-primary);color:var(--ui-on-primary)}.strategy-index .compare-toolbar button:disabled{opacity:.45;cursor:not-allowed}.catalog-page-actions{align-items:center;gap:8px;display:flex}.catalog-title-count{vertical-align:middle;border:1px solid var(--ui-border);min-width:32px;height:25px;color:var(--ui-text-muted);background:var(--ui-surface);font:500 13px var(--ui-font-mono);border-radius:5px;justify-content:center;align-items:center;margin-left:5px;padding:0 7px;display:inline-flex}.catalog-icon-button{border:1px solid var(--ui-border);width:40px;height:40px;color:var(--ui-text-muted);background:var(--ui-surface);cursor:pointer;border-radius:6px;place-items:center;padding:0;display:inline-grid}.catalog-icon-button:hover:not(:disabled){color:var(--ui-primary);border-color:var(--ui-primary-border)}.catalog-icon-button:disabled{opacity:.45;cursor:wait}.catalog-count-danger{color:var(--ui-danger)!important}.catalog-result-count{align-items:baseline;gap:12px;display:flex}.catalog-result-count>strong{color:var(--ui-text);font-size:14px;font-weight:650}.catalog-density-control{border:1px solid var(--ui-border);background:var(--ui-surface);border-radius:5px;gap:2px;margin-left:auto;padding:2px;display:flex}.catalog-toolbar-meta .catalog-density-control button{width:28px;height:26px;color:var(--ui-text-faint);cursor:pointer;border-radius:3px;place-items:center;padding:0;display:grid}.catalog-toolbar-meta .catalog-density-control button[aria-pressed=true]{color:var(--ui-primary);background:var(--ui-primary-soft)}.strategy-table-head button{width:100%;min-height:40px;color:inherit;font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:0;justify-content:flex-end;align-items:center;gap:4px;padding:0;display:inline-flex}.strategy-table-head>span:first-child button,.strategy-table-head>span:nth-child(9) button{justify-content:flex-start}.strategy-table-head button:hover,.strategy-table-head button.is-sorted{color:var(--ui-primary)}.strategy-table-head button svg{flex-shrink:0}.strategy-index .record-metric strong{font-family:var(--ui-font-mono);font-size:13px;font-weight:600}.strategy-index .record-actions{flex-direction:row;justify-content:flex-end;align-items:center;gap:4px;padding-inline:4px 10px}.strategy-index .record-actions :is(.library-run-button,.library-result-link){border:1px solid var(--ui-border);width:30px;min-width:30px;height:30px;min-height:30px;color:var(--ui-text-muted);background:var(--ui-surface);border-radius:5px;place-items:center;padding:0;display:inline-grid}.strategy-index .record-actions :is(.library-run-button,.library-result-link):hover{border-color:var(--ui-primary-border);background:var(--ui-primary-soft);color:var(--ui-primary)}.record-meta time{font-family:var(--ui-font-mono);font-size:11px}.record-meta small{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:10px;line-height:1.5;overflow:hidden}.catalog-toolbar-meta .catalog-filter-toggle{display:none}.strategy-index.is-compact .strategy-record{min-height:64px}.strategy-index.is-compact .record-identity>p,.strategy-index.is-compact .record-tags code,.strategy-index.is-compact .record-meta small{display:none}.strategy-index.is-compact .strategy-record>div{padding-block:10px}.strategy-index.is-compact .record-curve svg{height:34px}@media (width<=1180px){.strategy-overview{grid-template-columns:repeat(4,minmax(0,1fr))}.overview-leader{border-top:1px solid var(--line);border-left:0;flex-direction:row;grid-column:1/-1;justify-content:space-between;align-items:center;padding-block:10px}.overview-leader>a{width:min(480px,70%);margin-top:0}}@media (width<=960px){.strategy-index .compare-toolbar{grid-template-columns:minmax(0,1fr);align-items:stretch;width:100%;margin:0 0 16px;position:static;transform:none}.strategy-index .compare-toolbar-side{justify-items:start;width:100%}.strategy-index .compare-chip-list{flex-wrap:wrap;overflow-x:visible}.strategy-index .toolbar-actions{justify-content:flex-start;width:100%}}.catalog-split-toggle{border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);background:var(--ui-surface);min-height:32px;color:var(--ui-text-muted);cursor:pointer;transition:all var(--ui-transition);align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:600;display:inline-flex}.catalog-split-toggle:hover{border-color:var(--ui-primary-border);color:var(--ui-primary);background:var(--ui-primary-soft)}.catalog-split-toggle.is-active{border-color:var(--ui-primary);background:var(--ui-primary);color:var(--ui-on-primary)}.catalog-shortcut-badge{font-family:var(--ui-font-mono);background:#00000014;border-radius:3px;padding:1px 5px;font-size:10px;line-height:1.2;display:inline-block}:root[data-theme=dark] .catalog-shortcut-badge,:root.theme-dark .catalog-shortcut-badge{background:#ffffff26}.strategy-catalog-main-layout{width:100%;display:block}@media (width>=1080px){.strategy-catalog-main-layout.is-split-active{grid-template-columns:minmax(0,1fr) 390px;align-items:start;gap:20px;display:grid}}.strategy-record.is-preview-active{box-shadow:0 0 0 1px var(--ui-primary-border);border-color:var(--ui-primary)!important;background-color:var(--ui-primary-soft)!important}.strategy-catalog-preview-dock{top:calc(var(--ui-header-height,58px) + 16px);max-height:calc(100vh - var(--ui-header-height,58px) - 32px);position:sticky;overflow-y:auto}.strategy-preview-panel{border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface);box-shadow:var(--ui-shadow-raised);flex-direction:column;gap:16px;padding:18px;display:flex}.preview-panel-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.preview-header-main{flex-direction:column;gap:6px;min-width:0;display:flex}.preview-title-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.preview-title{color:var(--ui-text);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:17px;font-weight:700;overflow:hidden}.preview-code-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.preview-code-row code{background:var(--ui-surface-subtle);color:var(--ui-text-muted);font-family:var(--ui-font-mono);border-radius:4px;padding:2px 6px;font-size:11px}.preview-tag{background:var(--ui-primary-soft);color:var(--ui-primary);border-radius:4px;padding:2px 6px;font-size:11px;font-weight:500}.preview-close-button{width:28px;height:28px;color:var(--ui-text-muted);cursor:pointer;transition:all var(--ui-transition);background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;display:flex}.preview-close-button:hover{background:var(--ui-surface-hover);color:var(--ui-text)}.preview-panel-actions{grid-template-columns:1.2fr 1fr 1fr;gap:8px;display:grid}.preview-primary-btn{border-radius:var(--ui-radius-sm);background:var(--ui-primary);min-height:34px;color:var(--ui-on-primary);transition:background var(--ui-transition);justify-content:center;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:600;text-decoration:none;display:inline-flex}.preview-primary-btn:hover{background:var(--ui-primary-hover)}.preview-action-btn{border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);background:var(--ui-surface);min-height:34px;color:var(--ui-text);cursor:pointer;transition:all var(--ui-transition);justify-content:center;align-items:center;gap:6px;padding:0 8px;font-size:12px;font-weight:600;display:inline-flex}.preview-action-btn:hover:not(:disabled){border-color:var(--ui-primary-border);background:var(--ui-primary-soft);color:var(--ui-primary)}.preview-action-btn.is-selected{border-color:var(--ui-primary);background:var(--ui-primary-soft);color:var(--ui-primary)}.preview-action-btn:disabled{opacity:.5;cursor:not-allowed}.preview-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.preview-kpi-card{border-radius:var(--ui-radius-sm);background:var(--ui-surface-subtle);flex-direction:column;gap:3px;padding:8px 10px;display:flex}.preview-kpi-label{color:var(--ui-text-muted);font-size:11px}.preview-kpi-value{font-variant-numeric:tabular-nums;color:var(--ui-text);font-size:14px;font-weight:700}.preview-chart-section{border-top:1px solid var(--ui-border-subtle);flex-direction:column;gap:8px;padding-top:4px;display:flex}.preview-chart-head{justify-content:space-between;align-items:center;display:flex}.preview-section-title{color:var(--ui-text);align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.preview-chart-meta{color:var(--ui-text-muted);font-variant-numeric:tabular-nums;font-size:11px}.preview-chart-body{border-radius:var(--ui-radius-sm);background:var(--ui-surface-subtle);min-height:120px;position:relative;overflow:hidden}.preview-chart-loading,.preview-chart-empty{height:120px;color:var(--ui-text-muted);justify-content:center;align-items:center;gap:8px;font-size:12px;display:flex}.preview-svg-wrap{width:100%;height:120px;position:relative}.preview-svg-chart{width:100%;height:100%;display:block}.preview-svg-axis-labels{color:var(--ui-text-faint);font-variant-numeric:tabular-nums;justify-content:space-between;font-size:10px;display:flex;position:absolute;bottom:4px;left:8px;right:8px}.preview-details-section{border-top:1px solid var(--ui-border-subtle);flex-direction:column;gap:8px;padding-top:4px;display:flex}.preview-detail-row{flex-direction:column;gap:2px;display:flex}.preview-detail-label{color:var(--ui-text-muted);font-size:11px;font-weight:500}.preview-detail-text{color:var(--ui-text);margin:0;font-size:12px;line-height:1.45}.preview-detail-text.mono{font-family:var(--ui-font-mono);font-size:11px}.preview-panel-footer{border-top:1px solid var(--ui-border-subtle);text-align:center;padding-top:8px}.preview-shortcut-hint{color:var(--ui-text-faint);font-size:11px}.preview-shortcut-hint kbd{border:1px solid var(--ui-border);background:var(--ui-surface-subtle);font-family:var(--ui-font-mono);border-radius:3px;padding:1px 4px;font-size:10px;display:inline-block}@media (width<=760px){.strategy-hero{gap:12px;min-height:0;padding:0 0 20px}.strategy-hero h1{font-size:25px}.strategy-hero-meta{font-size:11px}.strategy-hero .catalog-run-all{min-width:96px;min-height:36px;padding-inline:12px;font-size:12px}.catalog-icon-button{width:36px;height:36px}.strategy-overview{grid-template-columns:repeat(3,minmax(0,1fr))}.overview-metric{padding:14px 12px}.overview-metric>strong{font-size:24px}.overview-metric:nth-child(4){display:none}.overview-leader{gap:12px;padding:12px 16px}.overview-leader>a{flex-wrap:wrap;justify-content:flex-end;gap:2px 8px;width:auto;max-width:75%}.overview-leader strong{font-size:12px}.overview-leader small{font-size:11px}.catalog-evaluation-notice{gap:4px 8px;font-size:11px}.strategy-index .catalog-run-status{grid-template-columns:minmax(0,1fr)}.catalog-toolbar{margin-top:16px}.catalog-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.catalog-filter-grid .strategy-search{grid-column:1/-1}.catalog-toolbar:not(.is-expanded) .catalog-optional-filter{display:none}.catalog-optional-filter{order:1}.catalog-toolbar-meta{flex-wrap:wrap;gap:8px}.catalog-result-count{gap:8px}.catalog-toolbar-meta .catalog-filter-toggle{align-items:center;gap:5px;margin-left:auto;display:inline-flex}.catalog-density-control{margin-left:0}.catalog-filter-grid input,.catalog-filter-grid select{font-size:12px}.strategy-table-shell{border-bottom:0;overflow:visible}.strategy-table-head{display:none}.strategy-table-body{display:block}.strategy-record{border-bottom:1px solid var(--ui-border);grid-template-columns:repeat(4,minmax(0,1fr));grid-template-areas:"primary primary primary primary""curve curve return annual""drawdown sharpe win trades""meta meta meta actions";min-width:0;min-height:0;padding-bottom:6px}.record-primary{grid-area:primary}.record-curve{grid-area:curve}.record-return{grid-area:return}.record-annual{grid-area:annual}.record-drawdown{grid-area:drawdown}.record-sharpe{grid-area:sharpe}.record-win{grid-area:win}.record-trades{grid-area:trades}.record-meta{grid-area:meta}.record-actions{grid-area:actions}.strategy-record>div{padding:10px}.record-primary{padding:16px 12px 8px!important}.record-rank{display:none}.record-title-line>a{white-space:normal;overflow-wrap:anywhere}.record-tags code{max-width:130px}.record-identity>p{-webkit-line-clamp:2}.record-label{margin-bottom:5px;font-size:10px;display:block}.record-curve{min-height:72px}.record-curve svg{height:40px}.record-metric{text-align:right;align-items:flex-end;min-height:62px}.record-metric strong{overflow-wrap:anywhere;white-space:normal;max-width:100%}.record-meta{flex-flow:wrap;justify-content:flex-start;align-items:center;gap:4px 8px}.record-meta .record-label{margin:0}.record-meta small{width:100%}.strategy-index.is-compact .record-curve{min-height:58px}.strategy-skeleton{grid-template-columns:minmax(0,1fr);display:grid}.backtest-dialog-backdrop{padding:12px}}@media (width<=520px){.strategy-kicker{font-size:10px}.strategy-hero-meta{max-width:175px;line-height:1.6}.catalog-page-actions{gap:5px}.strategy-index .compare-toolbar-main,.strategy-index .compare-toolbar-side{grid-template-columns:minmax(0,1fr);justify-items:stretch}.strategy-index .compare-toolbar-title,.strategy-index .compare-toolbar-side>.toolbar-status,.strategy-index .toolbar-inline-status{white-space:normal}.strategy-index .toolbar-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.strategy-index .compare-toolbar :is(.secondary-btn,.primary-btn){width:100%}.record-title-line{flex-wrap:wrap;gap:5px 8px}.record-title-line>a{flex-basis:65%}.record-attempt-warning{font-size:9px}.backtest-dialog-fields{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.run-status-indicator.is-running,.skeleton-row span{animation:none}.strategy-record{transition:none}}.factor-page{letter-spacing:0;width:100%;padding:24px clamp(16px,3vw,42px) 88px}.factor-overview-strip{border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface);box-shadow:var(--ui-shadow-panel);grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 18px;display:grid}.factor-overview-strip>div{min-width:0;padding:16px 18px}.factor-overview-strip>div+div{border-left:1px solid var(--ui-border-subtle)}.factor-overview-strip span,.factor-overview-strip small{color:var(--ui-text-faint);font-size:var(--ui-font-size-meta);display:block}.factor-overview-strip strong{color:var(--ui-text);font:600 24px/1.35 "Bahnschrift", var(--ui-font-sans);font-variant-numeric:tabular-nums;margin:4px 0 2px;display:block}.factor-overview-strip small{font-size:var(--ui-font-size-meta)}.factor-overview-strip .is-positive{color:var(--ui-success)!important}.factor-overview-strip .is-warning{color:var(--ui-warning)!important}.factor-table-meta{border-bottom:1px solid var(--ui-border);background:var(--ui-surface-subtle);color:var(--ui-text-faint);font-size:var(--ui-font-size-meta);justify-content:space-between;align-items:center;gap:12px;padding:11px 14px;display:flex}.factor-reading-hint{color:var(--ui-text-faint);font-size:var(--ui-font-size-meta);justify-content:space-between;gap:12px;margin:10px 0 0;display:flex}.factor-reading-hint span:first-child{color:var(--ui-primary);font-weight:600}.factor-compare-context{border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface);box-shadow:var(--ui-shadow-panel);align-items:center;gap:0;margin:0 0 18px;display:flex}.factor-compare-context>div{min-width:0;padding:14px 18px}.factor-compare-context>div+div{border-left:1px solid var(--ui-border-subtle)}.factor-compare-context span{color:var(--ui-text-faint);font-size:var(--ui-font-size-meta);display:block}.factor-compare-context strong{color:var(--ui-text);margin-top:4px;font-size:15px;display:block}.factor-compare-context .is-positive{color:var(--ui-success)!important}.factor-compare-context .is-warning{color:var(--ui-warning)!important}.factor-compare-context .factor-text-link{white-space:nowrap;font-size:var(--ui-font-size-meta);margin:0 18px 0 auto}.factor-page-header,.factor-detail-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:18px;display:flex}.factor-page-header h1,.factor-detail-header h1{letter-spacing:0;margin:2px 0 4px;font-size:26px;line-height:1.25}.factor-kicker{color:var(--ui-primary);font-family:var(--ui-font-mono);font-size:var(--ui-font-size-meta);letter-spacing:0;margin:0;font-weight:700}.factor-page-summary,.factor-detail-identity>p:last-child,.factor-section-heading p{color:var(--ui-text-muted);font-size:var(--ui-font-size-body);margin:0;line-height:1.5}.factor-command-row,.factor-heading-with-back,.factor-title-row,.factor-section-heading{align-items:center;gap:10px;display:flex}.factor-heading-with-back,.factor-section-heading{align-items:flex-start}.factor-command,.factor-row-command,.factor-text-button,.factor-icon-button{border:1px solid var(--ui-border-strong);border-radius:var(--ui-radius-sm);min-height:36px;color:var(--ui-text);background:var(--ui-surface);font:inherit;font-size:var(--ui-font-size-body);cursor:pointer;justify-content:center;align-items:center;gap:7px;font-weight:650;line-height:1;text-decoration:none;display:inline-flex}.factor-command{border-color:var(--ui-primary);color:var(--ui-on-primary);background:var(--ui-primary);padding:0 14px}.factor-command:hover:not(:disabled),.factor-command:focus-visible{border-color:var(--ui-primary-hover);background:var(--ui-primary-hover)}.factor-icon-button{width:36px;min-width:36px;padding:0}.factor-text-button,.factor-row-command{min-height:30px;color:var(--ui-text-muted);background:0 0;border-color:#0000;padding:0 9px}.factor-row-command{border-color:var(--ui-border);background:var(--ui-surface)}.factor-command:disabled,.factor-row-command:disabled,.factor-command.is-disabled{opacity:.45;pointer-events:none}.factor-task-strip,.factor-evidence-banner,.factor-inline-error,.factor-comparability-alert{border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);min-height:38px;font-size:var(--ui-font-size-body);align-items:center;gap:10px;margin:0 0 14px;padding:8px 12px;display:flex}.factor-task-strip{color:#105c42;background:#e9f5ef;border-color:#b9dcc8}.factor-task-strip strong{color:#174a36;font-family:var(--ui-font-mono)}.factor-inline-error,.factor-comparability-alert{color:var(--ui-danger);border-color:var(--ui-danger-border);background:var(--ui-danger-soft)}.factor-evidence-banner{color:#6a4708;background:#fff7e9;border-color:#ecd7ad}.factor-filter-band{border-top:1px solid var(--ui-border);border-bottom:1px solid var(--ui-border);background:var(--ui-surface);grid-template-columns:minmax(230px,1.8fr) repeat(4,minmax(118px,.7fr)) auto;gap:8px;margin-bottom:14px;padding:12px;display:grid}.factor-filter-band select,.factor-horizon-select select,.factor-search{border:1px solid var(--ui-border-strong);border-radius:var(--ui-radius-sm);min-width:0;min-height:36px;color:var(--ui-text);background:var(--ui-surface);font:inherit;font-size:var(--ui-font-size-body)}.factor-filter-band select{padding:0 28px 0 10px}.factor-horizon-select{color:var(--ui-text-muted);font-size:var(--ui-font-size-body);align-items:center;gap:8px;margin-left:auto;display:flex}.factor-horizon-select select{min-width:72px;padding:0 8px}.factor-search{color:var(--ui-text-muted);align-items:center;gap:8px;padding:0 10px;display:flex}.factor-search input{width:100%;min-width:0;color:var(--ui-text);font:inherit;background:0 0;border:0;outline:0}.factor-state{min-height:220px;color:var(--ui-text-muted);border-top:1px solid var(--ui-border);border-bottom:1px solid var(--ui-border);background:var(--ui-surface);flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex}.factor-state.is-inline{min-height:64px}.factor-state.is-error{color:var(--ui-danger)}.factor-table-wrap{border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);background:var(--ui-surface);width:100%;box-shadow:var(--ui-shadow-panel);overflow-x:auto}.factor-table-wrap.compact{box-shadow:none}.factor-table{border-collapse:collapse;width:100%;min-width:1040px;font-size:var(--ui-font-size-body)}.factor-table th,.factor-table td{border-bottom:1px solid var(--ui-border-subtle);text-align:left;vertical-align:middle;white-space:nowrap;padding:10px 12px}.factor-table th{z-index:1;color:var(--ui-text-muted);background:var(--ui-surface-subtle);font-size:var(--ui-font-size-meta);font-weight:700;position:sticky;top:0}.factor-table tbody tr:hover{background:var(--ui-surface-hover)}.factor-table tr:last-child td{border-bottom:0}.factor-select-cell{width:42px;text-align:center!important}.factor-select-cell input{width:16px;height:16px;accent-color:var(--ui-primary)}.factor-name-cell{min-width:210px;white-space:normal!important}.factor-name-cell a{color:var(--ui-text);font-size:var(--ui-font-size-body);font-weight:700;text-decoration:none;display:block}.factor-name-cell a:hover{color:var(--ui-primary)}.factor-name-cell span{color:var(--ui-text-faint);font-family:var(--ui-font-mono);font-size:var(--ui-font-size-meta);overflow-wrap:anywhere;margin-top:3px;display:block}.factor-number{font-family:var(--ui-font-mono);font-variant-numeric:tabular-nums}.factor-status{border:1px solid var(--ui-border);border-radius:var(--ui-radius-pill);min-height:24px;color:var(--ui-text-muted);background:var(--ui-surface-subtle);font-size:var(--ui-font-size-meta);align-items:center;padding:0 8px;font-weight:750;display:inline-flex}.factor-status.is-passed{color:#146c4c;background:#e9f5ef;border-color:#b9dcc8}.factor-status.is-unmet,.factor-status.is-diagnostic{color:#8a5208;background:#fff7e9;border-color:#ecd7ad}.factor-status.is-invalid{color:var(--ui-danger);border-color:var(--ui-danger-border);background:var(--ui-danger-soft)}.factor-status.is-stale{color:#82510b;background:#fff4dc;border-color:#e3c890}.factor-selection-bar{z-index:35;border-radius:var(--ui-radius-md);min-height:52px;color:var(--ui-text);box-shadow:var(--ui-shadow-raised);font-size:var(--ui-font-size-body);background:#fffffffa;border:1px solid #b8c4d2;align-items:center;gap:8px;padding:8px 10px 8px 16px;display:flex;position:fixed;bottom:20px;right:24px}.factor-detail-header{align-items:center}.factor-detail-identity{flex:1;min-width:0}.factor-title-row{flex-wrap:wrap}.factor-metric-strip{border-top:1px solid var(--ui-border);border-bottom:1px solid var(--ui-border);background:var(--ui-surface);grid-template-columns:repeat(5,minmax(120px,1fr));margin:0 0 16px;display:grid}.factor-metric-strip>div{border-right:1px solid var(--ui-border-subtle);min-width:0;padding:14px 16px}.factor-metric-strip>div:last-child{border-right:0}.factor-metric-strip dt,.factor-definition-grid dt{color:var(--ui-text-faint);font-size:var(--ui-font-size-meta)}.factor-metric-strip dd{font-family:var(--ui-font-mono);margin:5px 0 0;font-size:17px;font-weight:700}.factor-tabs{border-bottom:1px solid var(--ui-border);gap:2px;margin:0;display:flex;overflow-x:auto}.factor-tabs button{min-height:38px;color:var(--ui-text-muted);font:inherit;font-size:var(--ui-font-size-body);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;flex:none;padding:0 13px;font-weight:650}.factor-tabs button.is-active{color:var(--ui-primary);border-bottom-color:var(--ui-primary)}.factor-detail-section{border-bottom:1px solid var(--ui-border);padding:22px 0}.factor-detail-section h2,.factor-detail-section h3{letter-spacing:0;margin:0 0 14px;font-size:16px}.factor-detail-section h3{font-size:var(--ui-font-size-body)}.factor-definition-grid{grid-template-columns:repeat(3,minmax(180px,1fr));margin:0;display:grid}.factor-definition-grid>div{border-bottom:1px solid var(--ui-border-subtle);min-width:0;padding:14px 16px}.factor-definition-grid dd{overflow-wrap:anywhere;font-size:var(--ui-font-size-body);margin:5px 0 0}.factor-detail-section pre,.factor-attempt pre{border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);color:#d9e2ec;max-height:520px;font-family:var(--ui-font-mono);font-size:var(--ui-font-size-meta);white-space:pre-wrap;overflow-wrap:anywhere;background:#151b23;margin:0;padding:14px;line-height:1.55;overflow:auto}.factor-series-chart{aspect-ratio:16/5;border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);background:#fff;width:100%;min-height:180px;max-height:300px;margin-bottom:16px;position:relative}.factor-series-chart svg{width:100%;height:100%;display:block}.factor-chart-zero{stroke:#d5a446;stroke-dasharray:5 5;stroke-width:1px}.factor-chart-line{fill:none;stroke:#1769db;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px}.factor-chart-empty{color:var(--ui-text-faint);font-size:var(--ui-font-size-body);place-items:center;display:grid;position:absolute;inset:0}.factor-generation-list{border-top:1px solid var(--ui-border);margin:0 0 18px;padding:0;list-style:none}.factor-generation-list li{border-bottom:1px solid var(--ui-border);justify-content:space-between;align-items:center;gap:12px;padding:10px 4px;display:flex}.factor-generation-list code{overflow-wrap:anywhere;min-width:0}.factor-generation-list span{color:var(--ui-text-muted);font-size:var(--ui-font-size-meta)}.factor-generation-list span.is-current{color:var(--ui-success);font-weight:700}.factor-comparability-alert{align-items:flex-start}.factor-comparability-alert strong,.factor-comparability-alert p{margin:0}.factor-comparability-alert p{overflow-wrap:anywhere;margin-top:4px}.factor-compare-decay,.factor-chart-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.factor-compare-decay article,.factor-chart-grid article{border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);background:var(--ui-surface);min-width:0;padding:14px}.factor-compare-decay dl{grid-template-columns:repeat(4,minmax(0,1fr));margin:0;display:grid}.factor-compare-decay dl div{border-right:1px solid var(--ui-border-subtle);padding:8px}.factor-compare-decay dt{color:var(--ui-text-faint);font-size:var(--ui-font-size-meta)}.factor-compare-decay dd{font-family:var(--ui-font-mono);font-size:var(--ui-font-size-body);margin:4px 0 0}.factor-compare-decay dd small{color:var(--ui-text-faint);font-family:var(--ui-font-sans);font-size:var(--ui-font-size-meta);margin-top:3px;display:block}.factor-analysis-summary{margin:0 0 12px}.factor-analysis-note{color:var(--ui-text-faint);font-size:var(--ui-font-size-body);margin:10px 0 12px;line-height:1.55}.factor-analysis-breakdown{margin-top:18px}.factor-analysis-breakdown h3{color:var(--ui-text-secondary);font-size:var(--ui-font-size-body);margin:0 0 8px}.factor-text-link{color:var(--ui-primary);align-items:center;gap:6px;margin-top:12px;text-decoration:none;display:inline-flex}@media (width<=980px){.factor-filter-band{grid-template-columns:repeat(3,minmax(0,1fr))}.factor-search{grid-column:span 2}.factor-metric-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.factor-metric-strip>div:nth-child(3){border-right:0}.factor-definition-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=680px){.factor-page{padding:18px 12px 94px}.factor-page-header,.factor-detail-header{gap:12px}.factor-page-header h1,.factor-detail-header h1{font-size:21px}.factor-command-row .factor-command span{display:none}.factor-command-row .factor-command{width:36px;padding:0}.factor-filter-band{background:0 0;grid-template-columns:repeat(2,minmax(0,1fr));padding:10px 0}.factor-search{grid-column:1/-1}.factor-filter-band .factor-text-button{justify-self:start}.factor-selection-bar{justify-content:flex-end;bottom:10px;left:10px;right:10px}.factor-selection-bar>span{margin-right:auto}.factor-metric-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.factor-metric-strip>div{padding:11px 12px}.factor-metric-strip>div:nth-child(2n){border-right:0}.factor-definition-grid,.factor-compare-decay,.factor-chart-grid{grid-template-columns:1fr}.factor-series-chart{aspect-ratio:4/3}.factor-overview-strip{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:14px}.factor-overview-strip>div{padding:13px}.factor-overview-strip>div:nth-child(odd){border-left:0}.factor-overview-strip>div:nth-child(n+3){border-top:1px solid var(--ui-border-subtle)}.factor-overview-strip strong{font-size:21px}.factor-table-meta{flex-direction:column;align-items:flex-start;gap:4px}.factor-reading-hint{flex-direction:column;align-items:flex-start;gap:3px}.factor-compare-context{grid-template-columns:repeat(2,minmax(0,1fr));padding:0;display:grid}.factor-compare-context>div{padding:13px}.factor-compare-context>div:nth-child(3){border-top:1px solid var(--ui-border-subtle);border-left:0}.factor-compare-context .factor-text-link{border-top:1px solid var(--ui-border-subtle);grid-column:1/-1;margin:0;padding:13px}}.factor-page .factor-kicker{display:none}.factor-catalog-overview{grid-template-columns:repeat(3,minmax(0,1fr))}.factor-catalog-overview>div{padding:12px 16px}.factor-catalog-overview strong{font-size:22px}.factor-filter-band{background:0 0;grid-template-columns:minmax(210px,1fr) minmax(140px,auto) minmax(140px,auto) auto auto;padding:10px 0}.factor-advanced-filters{grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding-top:8px;display:grid}.factor-filter-band .factor-text-button>span{border-radius:var(--ui-radius-pill);min-width:18px;min-height:18px;color:var(--ui-primary);background:var(--ui-primary-soft);font-size:var(--ui-font-size-meta);place-items:center;display:inline-grid}.factor-status-cell{min-width:210px;max-width:280px;white-space:normal!important}.factor-status-cell>small{color:var(--ui-text-muted);margin-top:6px;line-height:1.6;display:block}.factor-diagnostics{color:var(--ui-text-muted);font-size:var(--ui-font-size-meta);margin-top:7px;line-height:1.6}.factor-diagnostics summary{width:fit-content;color:var(--ui-primary);cursor:pointer}.factor-diagnostics ul{margin:6px 0 0;padding-left:16px}.factor-diagnostics li{white-space:normal;overflow-wrap:anywhere}.factor-table tbody tr.is-stale{background:0 0}.factor-status.is-stale,.factor-status.is-unmet,.factor-status.is-diagnostic{color:var(--ui-warning);border-color:var(--ui-warning-border);background:var(--ui-warning-soft)}.factor-status.is-passed{color:var(--ui-success);border-color:var(--ui-success-border);background:var(--ui-success-soft)}.factor-status.is-unpublished{color:var(--ui-text-muted);border-color:var(--ui-border);background:var(--ui-surface-subtle)}.factor-availability{border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);color:var(--ui-text-muted);background:var(--ui-surface);font-size:var(--ui-font-size-body);align-items:flex-start;gap:10px;margin-bottom:10px;padding:12px 14px;display:flex}.factor-availability>svg,.factor-evidence-banner>svg{flex:none;margin-top:2px}.factor-availability strong{color:var(--ui-text);font-size:var(--ui-font-size-body)}.factor-availability p{margin:4px 0 0;line-height:1.55}.factor-availability.needs-attention{border-left:3px solid var(--ui-warning)}.factor-availability.needs-attention>svg{color:var(--ui-warning)}.factor-evidence-banner{min-height:0;color:var(--ui-warning);border-color:var(--ui-warning-border);background:var(--ui-warning-soft);align-items:flex-start;padding:8px 12px;line-height:1.6}.factor-records-toggle{align-items:center;gap:6px;margin-left:auto;display:inline-flex}.factor-record-tabs{background:var(--ui-surface-subtle);padding:4px 0}.factor-reading-hint{margin-top:8px}.factor-detail-section{padding:18px 0}.factor-compare-selector{border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface);margin-bottom:16px;padding:16px}.factor-compare-selector h2{margin:0 0 5px;font-size:15px}.factor-compare-selector .factor-section-heading{flex-wrap:wrap;justify-content:space-between;margin-bottom:12px}.factor-selector-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.factor-selector-option{border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);cursor:pointer;align-items:center;gap:10px;min-width:0;padding:12px;display:flex}.factor-selector-option>input{accent-color:var(--ui-primary);flex:none}.factor-selector-option>span{flex:1;min-width:0}.factor-selector-option strong,.factor-selector-option small{overflow-wrap:anywhere;margin-bottom:4px;display:block}.factor-selector-option strong{color:var(--ui-text);font-size:var(--ui-font-size-body)}.factor-selector-option small,.factor-selector-option>a{color:var(--ui-text-muted);font-size:var(--ui-font-size-meta)}.factor-selector-option>a{color:var(--ui-primary);flex:none;text-decoration:none}.factor-selector-actions{justify-content:space-between;align-items:center;gap:12px;margin-top:12px;display:flex}.factor-selector-actions>span,.factor-selector-note{color:var(--ui-text-muted);font-size:var(--ui-font-size-body);line-height:1.6}.factor-compare-empty{border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);text-align:center;min-height:240px;padding:24px 14px}.factor-compare-empty>svg{color:var(--ui-primary);margin-bottom:5px}.factor-compare-empty>strong{color:var(--ui-text);font-size:16px}.factor-compare-empty>p{font-size:var(--ui-font-size-body);margin:3px 0 10px;line-height:1.6}.factor-compare-context{margin-bottom:0}.factor-compare-context>div{flex:1;padding:12px 16px}.factor-compare-chart-section .factor-section-heading{margin-bottom:12px}.factor-chart-legend{flex-wrap:wrap;gap:10px 20px;margin:0 0 10px;padding:0;list-style:none;display:flex}.factor-chart-legend li{color:var(--ui-text-muted);font-size:var(--ui-font-size-body);overflow-wrap:anywhere;align-items:center;gap:6px;display:flex}.factor-chart-legend i,.factor-decay-heatmap th i{border-radius:2px;flex:none;width:10px;height:3px;display:inline-block}.factor-page .factor-shared-series{aspect-ratio:840/252;background:var(--ui-surface);max-height:350px}.factor-shared-series svg{min-height:180px}.factor-chart-axis{fill:var(--ui-text-muted);font-family:var(--ui-font-mono);font-size:var(--ui-font-size-meta)}.factor-chart-gridline{stroke:var(--ui-border-subtle);stroke-width:1px}.factor-heatmap-scale{color:var(--ui-text-muted);font-size:var(--ui-font-size-meta);flex-wrap:wrap;align-items:center;gap:6px;margin:12px 0;display:flex}.factor-heatmap-scale i{background:linear-gradient(to right, #96556e, var(--ui-surface-subtle));border-radius:2px;width:70px;height:8px}.factor-heatmap-scale i:nth-of-type(2){background:linear-gradient(to right, var(--ui-surface-subtle), #1769db)}.factor-heatmap-scale small{font-family:var(--ui-font-mono);margin-left:auto}.factor-decay-heatmap{border-collapse:collapse;width:100%;color:var(--ui-text);font-size:var(--ui-font-size-body)}.factor-decay-heatmap th,.factor-decay-heatmap td{border:1px solid var(--ui-border-subtle);text-align:center;white-space:nowrap;min-width:92px;padding:14px 12px}.factor-decay-heatmap th{color:var(--ui-text-muted);background:var(--ui-surface-subtle);font-size:var(--ui-font-size-meta);font-weight:600}.factor-decay-heatmap tbody th{text-align:left;white-space:normal;min-width:145px}.factor-decay-heatmap th a{color:var(--ui-text);margin-left:7px;text-decoration:none}.factor-decay-heatmap th a:hover{color:var(--ui-primary)}.factor-decay-heatmap td{font-family:var(--ui-font-mono);font-variant-numeric:tabular-nums}.factor-decay-heatmap td small{color:var(--ui-text-muted);font-family:var(--ui-font-sans);font-size:var(--ui-font-size-meta);margin-top:4px;display:block}.factor-selection-bar{border-color:var(--ui-border-strong);background:var(--ui-surface)}.factor-series-chart{background:var(--ui-surface)}@media (width<=980px){.factor-filter-band{grid-template-columns:minmax(190px,1fr) minmax(125px,auto) auto auto}.factor-filter-band>.factor-search{grid-column:1/-1}}@media (width<=680px){.factor-catalog-overview{grid-template-columns:repeat(3,minmax(0,1fr))}.factor-catalog-overview>div{padding:11px 8px;border-top:0!important}.factor-catalog-overview>div+div{border-left:1px solid var(--ui-border-subtle)}.factor-catalog-overview small{display:none}.factor-filter-band,.factor-advanced-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.factor-detail-header{align-items:flex-start;gap:8px}.factor-detail-identity>p:last-child{font-size:var(--ui-font-size-body);margin-top:6px}.factor-detail-header .factor-title-row{gap:5px}.factor-title-row h1{overflow-wrap:anywhere}.factor-availability{padding:10px}.factor-evidence-banner{font-size:var(--ui-font-size-meta)}.factor-tabs button{padding:0 10px}.factor-records-toggle{margin-left:0}.factor-reading-hint>span:last-child{display:none}.factor-compare-page .factor-page-header{flex-wrap:wrap}.factor-compare-page .factor-page-summary{overflow-wrap:anywhere}.factor-compare-selector{padding:12px}.factor-compare-selector .factor-search{width:100%}.factor-selector-grid{grid-template-columns:1fr}.factor-selector-actions{flex-wrap:wrap}.factor-selector-actions>.factor-command{width:100%}.factor-compare-context{grid-template-columns:repeat(3,minmax(0,1fr))}.factor-compare-context>div{padding:11px 8px}.factor-compare-context>div:nth-child(3){border-top:0;border-left:1px solid var(--ui-border-subtle)}.factor-compare-context strong{font-size:var(--ui-font-size-body)}.factor-page .factor-shared-series{aspect-ratio:840/390;min-height:190px}.factor-heatmap-scale small{width:100%;margin-left:0}}.research-shell-main.is-factors .factor-page .factor-detail-section{padding:18px}.research-shell-main.is-factors .factor-page .factor-metric-strip{margin-bottom:12px;padding:14px 18px}.research-shell-main.is-factors .factor-page .factor-metric-strip dd{margin-top:5px;font-size:21px}.research-shell-main.is-factors .factor-page .factor-tabs{gap:18px}.research-shell-main.is-factors .factor-page .factor-tabs button{padding:9px 0}.research-shell-main.is-factors .factor-page .factor-record-tabs{background:var(--ui-surface-subtle);padding:3px 12px}.factor-page .factor-shared-series{aspect-ratio:auto;height:280px;min-height:0}@media (width<=760px){.research-shell .factor-compare-page .factor-compare-table{min-width:0;display:block}.research-shell .factor-compare-table thead{display:none}.research-shell .factor-compare-table tbody{display:block}.research-shell .factor-compare-table tbody tr{border-bottom:1px solid var(--ui-border);grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:16px;display:grid}.research-shell .factor-compare-table :is(.factor-name-cell,.factor-status-cell){text-align:left;grid-column:1/-1}.research-shell .factor-compare-table td{white-space:normal;overflow-wrap:anywhere;border:0;min-width:0;padding:0}.research-shell .factor-compare-table td[data-label]:before{content:attr(data-label);color:var(--ui-text-muted);font-size:var(--ui-font-size-meta);margin-bottom:4px;display:block}.research-shell .factor-compare-table .factor-status{white-space:nowrap}}@media (width<=680px){.research-shell-main.is-factors .factor-page .factor-detail-section{padding:14px 12px}.research-shell-main.is-factors .factor-page .factor-metric-strip{padding:12px}.research-shell-main.is-factors .factor-page .factor-metric-strip>div{padding:8px 10px}.research-shell-main.is-factors .factor-page .factor-metric-strip>div:first-child{padding-left:10px}.research-shell-main.is-factors .factor-page .factor-metric-strip dd{font-size:18px}.research-shell-main.is-factors .factor-page .factor-tabs{gap:14px}.research-shell-main.is-factors .factor-page .factor-definition-grid{gap:10px}.factor-page .factor-shared-series{height:252px;min-height:0}}.saved-research[data-v-6fbe8f89]{margin:10px 0;font-size:13px}.saved-research button[data-v-6fbe8f89]{cursor:pointer;background:var(--ui-surface);border:1px solid var(--ui-border);color:var(--ui-text);border-radius:5px;padding:7px 10px}.saved-research button[data-v-6fbe8f89]:disabled{cursor:default;opacity:.5}.saved-research-toggle[data-v-6fbe8f89]{color:var(--ui-primary)!important}.saved-research-content[data-v-6fbe8f89]{border:1px solid var(--ui-border);border-radius:6px;margin-top:8px;padding:12px}.saved-research form[data-v-6fbe8f89],.saved-research label[data-v-6fbe8f89]{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.saved-research input[data-v-6fbe8f89]{border:1px solid var(--ui-border);background:var(--ui-surface);color:var(--ui-text);border-radius:5px;min-width:0;max-width:100%;padding:7px 10px}.saved-research ul[data-v-6fbe8f89]{gap:8px;margin:10px 0 0;padding:0;list-style:none;display:grid}.saved-research li[data-v-6fbe8f89]{justify-content:space-between;gap:8px;display:flex}.saved-research li button[data-v-6fbe8f89]:first-child{text-align:left;overflow-wrap:anywhere}.saved-research-hint[data-v-6fbe8f89]{color:var(--ui-text-muted);font-size:12px}@media (width<=760px){.saved-research button[data-v-6fbe8f89],.saved-research input[data-v-6fbe8f89]{min-height:44px}.saved-research label[data-v-6fbe8f89]{width:100%}.saved-research input[data-v-6fbe8f89]{flex:1}}.user-facing-message[data-v-a9e9f5ea]{overflow-wrap:anywhere;min-width:0}.user-facing-message>button[data-v-a9e9f5ea]{color:var(--ui-text-muted);font:inherit;cursor:pointer;background:0 0;border:0;margin-left:10px;font-size:11px;text-decoration:underline}.message-technical-detail[data-v-a9e9f5ea]{background:var(--ui-surface-subtle);max-height:180px;color:var(--ui-text-muted);font:11px/1.7 var(--ui-font-mono);white-space:pre-wrap;margin-top:8px;padding:10px;display:block;overflow:auto}.favorite-strategy[data-v-2bec353b]{color:var(--ui-text-muted);border:1px solid var(--ui-border);cursor:pointer;white-space:nowrap;background:0 0;border-radius:5px;justify-content:center;align-items:center;gap:4px;padding:5px 7px;font-size:12px;display:inline-flex}.favorite-strategy[aria-pressed=true][data-v-2bec353b]{color:var(--ui-primary)}@media (pointer:coarse){.favorite-strategy[data-v-2bec353b]{min-height:44px}}.chart-selection-stats[data-v-7e09d5f7]{border:1px solid var(--ui-primary-border);background:var(--ui-surface);min-width:0;color:var(--ui-text);box-shadow:var(--ui-shadow-raised);text-align:left;border-radius:9px;padding:14px}.chart-selection-stats header[data-v-7e09d5f7]{justify-content:space-between;align-items:center;gap:8px;display:flex}.chart-selection-stats header strong[data-v-7e09d5f7]{align-items:baseline;gap:9px;font-size:12px;font-weight:600;display:flex}.chart-selection-stats header small[data-v-7e09d5f7]{color:var(--ui-text-faint);font-size:10px;font-weight:400}.chart-selection-stats header button[data-v-7e09d5f7]{width:26px;height:26px;min-height:26px;color:var(--ui-text-faint);cursor:pointer;background:0 0;border:0;border-radius:4px;place-items:center;padding:0;display:grid}.chart-selection-stats header button[data-v-7e09d5f7]:hover{background:var(--ui-surface-hover);color:var(--ui-primary)}.selection-stats-dates[data-v-7e09d5f7]{color:var(--ui-text-muted);font:11px/1.6 var(--ui-font-mono);margin:3px 0 12px}.selection-stats-primary[data-v-7e09d5f7]{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 12px;display:grid}.selection-stats-primary dt[data-v-7e09d5f7]{color:var(--ui-text-faint);font-size:11px}.selection-stats-primary dd[data-v-7e09d5f7]{font:600 21px/1.4 "Bahnschrift", var(--ui-font-sans);font-variant-numeric:tabular-nums;margin:3px 0 0}.selection-stats-primary dd.is-up[data-v-7e09d5f7]{color:var(--ui-market-up)}.selection-stats-primary dd.is-down[data-v-7e09d5f7]{color:var(--ui-market-down)}.selection-stats-detail[data-v-7e09d5f7]{border-top:1px solid var(--ui-border-subtle);gap:7px;margin:0;padding-top:10px;display:grid}.selection-stats-detail>div[data-v-7e09d5f7]{justify-content:space-between;gap:12px;font-size:11px;display:flex}.selection-stats-detail dt[data-v-7e09d5f7]{color:var(--ui-text-faint)}.selection-stats-detail dd[data-v-7e09d5f7]{text-align:right;font-variant-numeric:tabular-nums;color:var(--ui-text);margin:0}.chart-selection-stats footer[data-v-7e09d5f7]{color:var(--ui-text-faint);justify-content:space-between;align-items:center;gap:8px;margin-top:12px;font-size:10px;display:flex}.chart-selection-stats footer button[data-v-7e09d5f7]{border:1px solid var(--ui-border);background:var(--ui-primary-soft);min-height:28px;color:var(--ui-primary);cursor:pointer;border-radius:5px;align-items:center;gap:5px;padding:4px 7px;font-size:11px;display:inline-flex}.chart-selection-stats button[data-v-7e09d5f7]:disabled{opacity:.45;cursor:default}.focus-nav-chart[data-v-88422fa5]{min-width:0;margin:16px 0 12px}.focus-nav-readout[data-v-88422fa5]{color:var(--ui-text-faint);justify-content:space-between;align-items:baseline;gap:10px;font-size:11px;display:flex}.focus-nav-readout strong[data-v-88422fa5]{color:var(--ui-text);font:500 21px "Bahnschrift", var(--ui-font-sans);font-variant-numeric:tabular-nums}.focus-nav-readout small[data-v-88422fa5]{color:var(--ui-text-faint);font:11px var(--ui-font-sans);margin-left:7px}.focus-nav-plot[data-v-88422fa5]{height:200px;margin-top:8px;position:relative}.focus-nav-plot svg[data-v-88422fa5]{cursor:crosshair;touch-action:none;width:100%;height:100%;display:block}.focus-nav-plot svg[data-v-88422fa5]:focus{outline:none}.focus-nav-plot svg[data-v-88422fa5]:focus-visible{outline:2px solid var(--ui-focus-outline);outline-offset:3px;border-radius:4px}.focus-nav-grid[data-v-88422fa5]{stroke:var(--ui-border-subtle);stroke-width:1px;fill:none}.focus-nav-cursor[data-v-88422fa5]{stroke:var(--ui-text-faint);stroke-dasharray:3 4;opacity:.6}.focus-nav-scale[data-v-88422fa5]{color:var(--ui-text-faint);font:10px var(--ui-font-mono);pointer-events:none;position:absolute;left:0}.focus-nav-scale.is-high[data-v-88422fa5]{top:0}.focus-nav-scale.is-low[data-v-88422fa5]{bottom:0}.focus-nav-chart input[type=range][data-v-88422fa5]{width:100%;height:14px;accent-color:var(--ui-primary);cursor:ew-resize;margin:8px 0;display:block}.focus-nav-dates[data-v-88422fa5]{color:var(--ui-text-faint);font:10px var(--ui-font-mono);justify-content:space-between;gap:8px;display:flex}.focus-nav-placeholder[data-v-88422fa5]{min-height:260px;color:var(--ui-text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;font-size:12px;display:flex}.focus-nav-placeholder button[data-v-88422fa5]{background:var(--ui-surface);border:1px solid var(--ui-border);color:var(--ui-primary);cursor:pointer;border-radius:6px;padding:7px 12px}.focus-nav-selection[data-v-88422fa5]{fill:var(--ui-chart-area);stroke:var(--ui-primary);stroke-width:1.5px;vector-effect:non-scaling-stroke;pointer-events:none}.focus-nav-selection.is-preview[data-v-88422fa5]{stroke-dasharray:4 3}.focus-nav-help[data-v-88422fa5]{color:var(--ui-text-faint);margin:10px 0 0;font-size:10px}.focus-range-stats[data-v-88422fa5]{margin-top:12px}.strategy-preview-details[data-v-07d98c51]{min-width:0;color:var(--ui-text);font-size:var(--ui-font-size-meta,12px);margin-top:20px}.preview-details-heading[data-v-07d98c51]{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:14px;display:flex}.preview-details-heading h3[data-v-07d98c51]{color:var(--ui-text);font-size:var(--ui-font-size-body,14px);margin:0;font-weight:600}.preview-details-heading[data-v-07d98c51] :is(span,time),.preview-details-note[data-v-07d98c51]{color:var(--ui-text-muted);font-size:var(--ui-font-size-meta,12px)}.preview-performance-grid[data-v-07d98c51]{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px 20px;margin:0;display:grid}.preview-performance-grid dt[data-v-07d98c51]{color:var(--ui-text-muted)}.preview-performance-grid dd[data-v-07d98c51]{font-size:var(--ui-font-size-title,16px);font-variant-numeric:tabular-nums;margin:4px 0 0;font-weight:600}.preview-trading-grid[data-v-07d98c51]{border-top:1px solid var(--ui-border);grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;margin-top:24px;padding-top:20px;display:grid}.preview-details-note[data-v-07d98c51]{margin:0 0 12px;line-height:1.6}.preview-holdings-table[data-v-07d98c51]{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.preview-holdings-table[data-v-07d98c51] :is(th,td){text-align:right;border-bottom:1px solid var(--ui-border-subtle);padding:10px 6px}.preview-holdings-table[data-v-07d98c51] :is(th,td):first-child{text-align:left;padding-left:0}.preview-holdings-table th[data-v-07d98c51]{color:var(--ui-text-muted);white-space:nowrap;font-weight:400}.preview-holdings-table strong[data-v-07d98c51],.preview-signal-card strong[data-v-07d98c51]{overflow-wrap:anywhere;font-weight:500}.preview-holdings-table code[data-v-07d98c51],.preview-signal-card code[data-v-07d98c51]{color:var(--ui-text-faint);font:11px/1.6 var(--ui-font-mono);display:block}.preview-stock-weight[data-v-07d98c51]{white-space:nowrap;font-weight:600}.preview-signal-grid[data-v-07d98c51]{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.preview-signal-card[data-v-07d98c51]{border:1px solid var(--ui-border);border-radius:var(--ui-radius-xs);background:var(--ui-surface);padding:12px}.preview-signal-card header[data-v-07d98c51]{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 10px;display:flex}.preview-signal-card h4[data-v-07d98c51]{font-size:inherit;margin:0;font-weight:600}.preview-signal-card.buy h4[data-v-07d98c51]{color:var(--ui-market-up)}.preview-signal-card.sell h4[data-v-07d98c51]{color:var(--ui-market-down)}.preview-signal-card time[data-v-07d98c51]{color:var(--ui-text-muted)}.preview-signal-card ul[data-v-07d98c51]{gap:10px;max-height:240px;margin:12px 0 0;padding:0;list-style:none;display:grid;overflow-y:auto}.preview-details-empty[data-v-07d98c51]{color:var(--ui-text-muted);margin:12px 0;line-height:1.7}.preview-details-error[data-v-07d98c51]{color:var(--ui-danger);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.preview-details-error button[data-v-07d98c51]{border:1px solid var(--ui-border);border-radius:var(--ui-radius-xs);background:var(--ui-surface);min-height:32px;color:var(--ui-primary);font:inherit;cursor:pointer;padding:4px 10px}.preview-details-link[data-v-07d98c51]{color:var(--ui-primary);margin-top:20px;display:inline-block}@media (width<=1100px){.preview-trading-grid[data-v-07d98c51]{grid-template-columns:minmax(0,1fr);gap:20px}}@media (width<=600px){.preview-performance-grid[data-v-07d98c51]{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}.index-entry-actions[data-v-adc22bd3]{flex-wrap:wrap}.catalog-overview-summary[data-v-d596112e]{border-block:1px solid var(--ui-border-subtle);color:var(--ui-text-muted);flex-wrap:wrap;align-items:center;gap:6px 18px;margin:0 0 12px;padding:8px 0;font-size:12px;line-height:1.7;display:flex}strong[data-v-d596112e]{color:var(--ui-text);font-weight:600}.needs-attention[data-v-d596112e]{color:var(--ui-warning)}.catalog-last-update[data-v-d596112e]{color:var(--ui-text-faint);margin-left:auto}@media (width<=600px){.catalog-last-update[data-v-d596112e]{flex-basis:100%;margin-left:0}}.repository-index{font-size:var(--ui-font-size-body);--profit:var(--ui-market-up);--loss:var(--ui-market-down);min-width:0}.repository-index .strategy-hero{align-items:flex-end;gap:22px;min-height:0;padding:0 0 24px}.repository-index .strategy-kicker{font-size:var(--ui-font-size-meta);letter-spacing:1.2px;margin:0 0 11px;font-weight:500}.repository-index .strategy-hero h1{letter-spacing:-.5px;font-size:34px;font-weight:600;line-height:1.5}.repository-index .strategy-hero-meta{font-size:var(--ui-font-size-body);color:var(--ui-text-muted);margin:9px 0 0}.repository-index .catalog-page-actions{flex:none;align-items:center;gap:8px;display:flex}.repository-index .catalog-icon-button{min-height:33px;color:var(--ui-text-muted);background:0 0;border:0}.repository-menu{font-size:var(--ui-font-size-meta);position:relative}.repository-menu summary{cursor:pointer;background:var(--ui-surface);border:1px solid var(--ui-border);color:var(--ui-text-muted);white-space:nowrap;border-radius:4px;align-items:center;gap:7px;padding:7px 11px;list-style:none;display:flex}.repository-menu summary::-webkit-details-marker{display:none}.repository-menu>div{z-index:25;background:var(--ui-surface);border:1px solid var(--ui-border);box-shadow:var(--ui-shadow-raised);border-radius:5px;min-width:180px;padding:6px;position:absolute;top:calc(100% + 6px);right:0}.repository-menu>div>a,.repository-menu>div>button,.repository-index .strategy-hero .repository-menu .catalog-run-all{text-align:left;width:100%;min-width:0;min-height:32px;color:var(--ui-text-muted);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:7px 10px;display:block}.repository-menu>div>a:hover,.repository-menu>div>button:hover{background:var(--ui-surface-hover)}.repository-menu button:disabled{opacity:.45;cursor:not-allowed}.repository-library-band{border-top:2px solid var(--ui-brand);justify-content:space-between;align-items:center;gap:20px;margin:0 0 17px;padding:14px 0;display:flex}.repository-library-band>span{letter-spacing:1.6px;color:var(--ui-text-faint);font:15px/1.4 Georgia,serif}.repository-library-band>span>b{color:var(--ui-primary);font-weight:500}.repository-library-band>div{align-items:center;gap:13px;display:flex}.repository-library-band strong{color:var(--ui-primary);font:500 28px/1.3 Bahnschrift,Segoe UI,sans-serif}.repository-library-band>div>span{font-size:var(--ui-font-size-meta);letter-spacing:1px;color:var(--ui-text-faint)}.repository-library-band small{font-size:var(--ui-font-size-meta);color:var(--ui-text-faint);margin-left:14px}.repository-index .catalog-toolbar{border:1px solid var(--ui-border);background:var(--ui-surface);z-index:12;border-radius:6px;margin:0;padding:13px 15px;display:block}.repository-index .catalog-filter-grid{align-items:center;gap:9px}.repository-index .catalog-filter-grid label{flex:0 auto;min-width:0;max-width:160px;display:block}.repository-index .catalog-filter-grid .strategy-search{flex:0 310px;min-width:180px;max-width:310px}.repository-index .catalog-filter-grid .repository-status-filter{margin-left:auto}.repository-index .catalog-filter-grid input,.repository-index .catalog-filter-grid select{height:36px;font-size:var(--ui-font-size-meta);border:1px solid var(--ui-border);background-color:var(--ui-surface);border-radius:4px;padding:0 9px}.repository-index .catalog-filter-grid input[type=search]{font-size:var(--ui-font-size-body);background:var(--ui-surface-subtle);padding-left:33px}.repository-index .catalog-filter-toggle{border:1px solid var(--ui-border);background:var(--ui-surface);min-height:36px;font:var(--ui-font-size-meta) var(--ui-font-sans);color:var(--ui-text-muted);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;gap:6px;padding:0 10px;display:inline-flex}.repository-index .catalog-filter-toggle[aria-expanded=true]{color:var(--ui-primary);border-color:var(--ui-primary-border)}.repository-more-filters{border-top:1px solid var(--ui-border-subtle);font-size:var(--ui-font-size-meta);color:var(--ui-text-muted);flex-wrap:wrap;align-items:center;gap:16px;margin-top:13px;padding-top:13px;display:flex}.repository-more-filters label{align-items:center;gap:9px;max-width:100%;display:flex}.repository-more-filters select{border:1px solid var(--ui-border);min-width:0;max-width:230px;color:var(--ui-text-muted);background:var(--ui-surface);font-size:var(--ui-font-size-meta);border-radius:4px;padding:7px}.repository-index-tools{justify-content:space-between;align-items:center;gap:15px;padding:16px 0;display:flex}.repository-index-tools>div{align-items:center;gap:10px;display:flex}.repository-index-tools .catalog-result-count{font-size:var(--ui-font-size-body);color:var(--ui-text-muted)}.repository-view-control{border:1px solid var(--ui-border);background:var(--ui-surface);border-radius:5px;gap:3px;padding:3px;display:flex}.repository-view-control button{font:var(--ui-font-size-meta) var(--ui-font-sans);color:var(--ui-text-muted);cursor:pointer;background:0 0;border:0;border-radius:3px;padding:6px 10px}.repository-view-control button[aria-pressed=true]{color:var(--ui-primary);background:var(--ui-primary-soft)}.repository-reset{color:var(--ui-primary);font-size:var(--ui-font-size-meta);cursor:pointer;background:0 0;border:0}.repository-index .catalog-density-control{display:flex}.research-shell .repository-index .catalog-density-control button{width:28px;height:26px;color:var(--ui-text-faint);cursor:pointer;background:0 0;border:0;border-radius:3px;place-items:center;padding:0;display:grid}.research-shell .repository-index .catalog-density-control button[aria-pressed=true]{color:var(--ui-primary);background:var(--ui-primary-soft)}.repository-catalog-layout{grid-template-columns:minmax(0,1fr) 270px;align-items:start;gap:38px;display:grid}.repository-catalog-content{min-width:0}.repository-index.is-table-view .repository-catalog-layout{display:block}.repository-index-head{border-top:1px solid var(--ui-border-strong);border-bottom:1px solid var(--ui-border);font-size:var(--ui-font-size-meta);color:var(--ui-text-faint);justify-content:space-between;gap:15px;padding:12px 0;display:flex}.repository-index-entry{border-bottom:1px solid var(--ui-border);transition:background-color var(--ui-transition);grid-template-columns:45px minmax(0,1fr) 155px;gap:20px;min-width:0;padding:25px 12px 25px 0;display:grid}.repository-index-entry:hover{background:var(--ui-surface-hover)}.repository-index-entry.is-selected{background:var(--ui-primary-soft)}.repository-index-entry.is-expanded{background:var(--ui-surface);box-shadow:inset 3px 0 var(--ui-primary)}.index-entry-order{color:var(--ui-text-faint);flex-direction:column;align-items:center;gap:23px;padding-top:3px;font:300 24px/1.2 Segoe UI,sans-serif;display:flex}.index-entry-order input{width:14px;height:14px;accent-color:var(--ui-primary);cursor:pointer;margin:0}.index-entry-copy{min-width:0}.index-entry-kind{color:var(--ui-text-faint);font-size:var(--ui-font-size-meta);flex-wrap:wrap;align-items:center;gap:9px;display:flex}.index-entry-kind i{color:var(--ui-border-strong);font-style:normal}.index-entry-copy h2{margin:7px 0 10px;font-size:19px;line-height:1.6}.index-entry-toggle{color:var(--ui-text);font:600 19px/1.6 var(--ui-font-sans);cursor:pointer;text-align:left;white-space:normal;overflow-wrap:anywhere;background:0 0;border:0;align-items:center;gap:8px;padding:0;display:inline-flex}.index-entry-toggle:hover{color:var(--ui-primary)}.index-entry-toggle svg{transition:transform var(--ui-transition);flex:none}.index-entry-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.index-entry-description{font-size:var(--ui-font-size-body);color:var(--ui-text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;line-height:1.9;display:-webkit-box;overflow:hidden}.index-entry-meta{color:var(--ui-text-faint);font-size:var(--ui-font-size-meta);flex-wrap:wrap;align-items:center;gap:13px;margin-top:12px;display:flex}.repository-status{white-space:nowrap;font-size:var(--ui-font-size-meta);color:var(--ui-text-faint);align-items:center;gap:5px;display:inline-flex}.repository-status i{background:currentColor;border-radius:50%;flex:none;width:5px;height:5px}.repository-status.ready{color:var(--ui-success)}.repository-status.failed{color:var(--ui-danger)}.repository-status.stale{color:var(--ui-warning)}.repository-status.running{color:var(--ui-primary)}.index-attempt-error{color:var(--ui-warning)}.index-entry-error{font-size:var(--ui-font-size-meta);color:var(--ui-danger);overflow-wrap:anywhere;margin:8px 0 0;line-height:1.7}.index-entry-metrics{border-left:1px solid var(--ui-border-subtle);flex-direction:column;justify-content:center;align-items:flex-end;gap:6px;padding-left:16px;display:flex}.index-entry-metrics>div:not(.index-entry-actions){justify-content:space-between;align-items:baseline;gap:10px;width:100%;display:flex}.index-entry-metrics>div>span{font-size:var(--ui-font-size-meta);color:var(--ui-text-faint)}.index-entry-metrics strong{white-space:nowrap;font-variant-numeric:tabular-nums;font:500 14px/1.5 Bahnschrift,Segoe UI,sans-serif}.index-entry-waiting{color:var(--ui-text-faint);font-size:var(--ui-font-size-meta);text-align:right;line-height:1.9}.index-entry-actions{justify-content:flex-end;gap:6px;margin-top:5px;display:flex}.repository-index .index-entry-actions .library-run-button,.repository-index .index-entry-actions .library-result-link{color:var(--ui-text-muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;width:29px;min-height:29px;padding:0;display:inline-flex}.repository-index .index-entry-actions .library-run-button:hover,.repository-index .index-entry-actions .library-result-link:hover{color:var(--ui-primary);background:var(--ui-primary-soft)}.index-entry-actions button:disabled{opacity:.45;cursor:not-allowed}.index-entry-expanded{border-top:1px solid var(--ui-border);grid-column:2/-1;min-width:0;padding-top:20px}.index-expanded-identity{color:var(--ui-text-faint);font-size:var(--ui-font-size-meta);flex-wrap:wrap;gap:10px;margin-top:17px;display:flex}.index-expanded-identity code{font-size:var(--ui-font-size-meta);overflow-wrap:anywhere}.repository-research-aside{border-left:1px solid var(--ui-border);min-width:0;padding-left:25px;position:sticky;top:20px}.repository-margin-title{border-top:1px solid var(--ui-border-strong);color:var(--ui-text-faint);font-size:var(--ui-font-size-meta);letter-spacing:1px;padding:12px 0 21px}.repository-eyebrow{color:var(--ui-text-faint);font-size:var(--ui-font-size-meta)}.repository-featured-result{border-bottom:1px solid var(--ui-border);padding-bottom:25px}.repository-featured-result h3{margin:7px 0 12px;font-size:16px;font-weight:600}.repository-featured-result p{font-size:var(--ui-font-size-meta);color:var(--ui-text-faint);margin:0;line-height:1.9}.repository-sparkline{width:100%;height:auto;margin:18px 0 8px;display:block}.repository-curve-empty{color:var(--ui-text-faint);font-size:var(--ui-font-size-meta);padding:20px 0;display:block}.repository-featured-return{align-items:baseline;gap:12px;display:flex}.repository-featured-return strong{font:500 32px/1.5 Bahnschrift,Segoe UI,sans-serif}.repository-featured-return>span{font-size:var(--ui-font-size-meta);color:var(--ui-text-muted)}.repository-featured-open{background:var(--ui-primary);color:var(--ui-on-primary);font-size:var(--ui-font-size-meta);border-radius:4px;align-items:center;gap:9px;margin-top:15px;padding:8px 12px;display:inline-flex}.repository-featured-open:hover{background:var(--ui-primary-hover)}.repository-taxonomy{margin-top:25px}.repository-taxonomy h3{font-size:var(--ui-font-size-body);margin:0 0 12px;font-weight:500}.repository-taxonomy button{width:100%;color:var(--ui-text-muted);font:var(--ui-font-size-body) var(--ui-font-sans);cursor:pointer;text-align:left;background:0 0;border:0;justify-content:space-between;gap:12px;padding:10px 0;display:flex}.repository-taxonomy button b{font:400 var(--ui-font-size-meta) var(--ui-font-sans);color:var(--ui-text-faint)}.repository-taxonomy button.active{color:var(--ui-primary);font-weight:600}.repository-editor-note{font-size:var(--ui-font-size-meta);color:var(--ui-text-faint);border-top:1px solid var(--ui-border);margin-top:20px;padding-top:20px;line-height:2}.repository-index .strategy-preview-panel.is-embedded{width:auto;max-height:none;box-shadow:none;background:0 0;border:0;border-radius:0;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px 25px;padding:0;display:grid;position:static;overflow:visible}.repository-index .is-embedded .preview-panel-actions{background:0 0;border:0;flex-wrap:wrap;grid-area:3/1/auto/-1;gap:8px;margin:0;padding:0;display:flex}.repository-index .is-embedded .preview-details-section{border:0;grid-area:1/1/3;padding:0}.repository-index .is-embedded .preview-chart-section{border:0;grid-area:1/2;padding:0}.repository-index .is-embedded .preview-kpi-grid{background:0 0;border:0;grid-area:2/2;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0;padding:0;display:grid}.repository-index .is-embedded .preview-kpi-card{background:0 0;border:0;padding:0}.repository-index .is-embedded .preview-kpi-label{font-size:var(--ui-font-size-meta);color:var(--ui-text-faint)}.repository-index .is-embedded .preview-kpi-value{font-size:17px;font-weight:500}.repository-index .is-embedded .preview-detail-row{border:0;margin:0 0 17px;padding:0;display:block}.repository-index .is-embedded .preview-detail-label{font-size:var(--ui-font-size-meta);color:var(--ui-primary)}.repository-index .is-embedded .preview-detail-text{font:var(--ui-font-size-body)/1.9 var(--ui-font-sans);color:var(--ui-text-muted);margin:7px 0 0}.repository-index .is-embedded .preview-chart-head{margin:0 0 10px}.repository-index .is-embedded .preview-chart-meta{font-size:var(--ui-font-size-meta)}.repository-index .is-embedded .preview-chart-body{height:auto;min-height:130px;padding:0}.repository-index .is-embedded .preview-svg-wrap{padding:0}.repository-index .is-embedded .preview-svg-chart{width:100%;height:auto;max-height:200px}.repository-index .is-embedded .preview-svg-axis-labels{font-size:var(--ui-font-size-meta)}.repository-index .is-embedded .preview-primary-btn{font-size:var(--ui-font-size-meta);border-radius:4px;padding:8px 12px}.repository-index .is-embedded .preview-action-btn{font-size:var(--ui-font-size-meta);min-height:33px;padding:6px 10px}.preview-chart-error{min-height:130px;color:var(--ui-danger);font-size:var(--ui-font-size-meta);place-content:center;gap:12px;line-height:1.7;display:grid}.preview-chart-error button{border:1px solid var(--ui-border);background:var(--ui-surface);color:var(--ui-primary);cursor:pointer;border-radius:4px;padding:6px 10px}.repository-pagination{color:var(--ui-text-faint);font-size:var(--ui-font-size-meta);justify-content:space-between;align-items:center;gap:15px;padding:18px 0;display:flex}.repository-pagination>div{align-items:center;gap:5px;display:flex}.repository-pagination button{width:28px;min-height:28px;color:var(--ui-text-muted);font:var(--ui-font-size-meta) var(--ui-font-sans);cursor:pointer;background:0 0;border:0;border-radius:3px;justify-content:center;align-items:center;display:inline-flex}.repository-pagination button[aria-current=page]{background:var(--ui-primary-soft);color:var(--ui-primary)}.repository-pagination button:disabled{opacity:.4;cursor:not-allowed}.repository-pagination select{max-width:100px;color:var(--ui-text-muted);font-size:var(--ui-font-size-meta);background:0 0;border:0;padding:5px}.repository-index .catalog-evaluation-notice{font-size:var(--ui-font-size-meta);margin-top:0;line-height:1.8}.repository-index .catalog-run-status{font-size:var(--ui-font-size-body);margin:0 0 15px}.repository-index .catalog-run-status-copy span{white-space:normal}.repository-index .compare-toolbar{max-width:1480px;bottom:14px}.repository-index .catalog-state{border:1px solid var(--ui-border);background:var(--ui-surface);border-radius:5px}@media (width>=1750px){.repository-index-entry{grid-template-columns:48px minmax(0,1fr) 175px;gap:25px}.repository-catalog-layout{grid-template-columns:minmax(0,1fr) 285px;gap:42px}}@media (width<=1200px){.repository-catalog-layout{grid-template-columns:minmax(0,1fr) 235px;gap:23px}.repository-index-entry{grid-template-columns:35px minmax(0,1fr) 125px;gap:12px}.index-entry-toggle{font-size:17px}.repository-library-band small{display:none}.repository-index .catalog-filter-grid .strategy-search{flex:240px;max-width:none}.repository-index .catalog-filter-grid .repository-status-filter{margin-left:0}.repository-index .catalog-filter-grid label{max-width:145px}.repository-index .is-embedded .preview-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=950px){.repository-catalog-layout{display:block}.repository-research-aside{border-left:0;border-top:1px solid var(--ui-border);grid-template-columns:1fr 1fr;gap:20px;margin-top:25px;padding-left:0;display:grid;position:static}.repository-margin-title{border:0;grid-column:1/-1;padding:17px 0 0}.repository-featured-result{border-bottom:0}.repository-taxonomy{margin:0}.repository-editor-note{grid-column:1/-1;margin:0}.repository-featured-result .repository-sparkline{max-width:260px}.repository-index .catalog-filter-grid label{flex:110px;max-width:none}.repository-index .catalog-filter-grid .strategy-search{flex:240px}.repository-index .strategy-hero h1{font-size:30px}}@media (width<=600px){.repository-index .strategy-hero{flex-wrap:wrap;gap:16px;padding-bottom:19px}.repository-index .strategy-hero h1{font-size:27px}.repository-index .strategy-kicker{font-size:var(--ui-font-size-meta);letter-spacing:.7px}.repository-index .strategy-hero-meta{font-size:var(--ui-font-size-meta);margin-top:7px}.repository-index .catalog-page-actions{justify-content:flex-end;width:100%}.repository-library-band{margin-bottom:15px;padding:12px 0}.repository-library-band>span{font-size:var(--ui-font-size-meta);letter-spacing:1px}.repository-library-band>div{gap:6px}.repository-library-band strong{font-size:25px}.repository-library-band>div>span{display:none}.repository-index .catalog-toolbar{padding:12px}.repository-index .catalog-filter-grid{gap:8px}.repository-index .catalog-filter-grid .strategy-search{flex:1 0 100%;min-width:0;max-width:100%}.repository-index .catalog-filter-grid label{flex:90px;max-width:none}.repository-index .catalog-filter-grid .repository-status-filter,.repository-index .catalog-filter-grid .repository-sort-filter{flex:48%}.repository-index .catalog-filter-grid select{font-size:var(--ui-font-size-meta);width:100%}.repository-index .catalog-filter-toggle{font-size:var(--ui-font-size-meta);padding-inline:9px}.repository-more-filters{font-size:var(--ui-font-size-meta);gap:10px}.repository-more-filters label{justify-content:space-between;width:100%}.repository-more-filters select{max-width:190px;font-size:var(--ui-font-size-meta)}.repository-index-tools{flex-wrap:wrap;gap:9px;padding:14px 0}.repository-index-tools>div{gap:6px}.repository-view-control button{font-size:var(--ui-font-size-meta);padding:5px 7px}.repository-index-tools .catalog-result-count,.repository-reset{font-size:var(--ui-font-size-meta)}.repository-index-head{font-size:var(--ui-font-size-meta);gap:10px}.repository-index-entry{grid-template-columns:27px minmax(0,1fr);gap:12px;padding:20px 0}.index-entry-order{gap:18px;font-size:21px}.index-entry-toggle{gap:5px;font-size:17px}.index-entry-copy h2{margin:5px 0 9px}.index-entry-kind{font-size:var(--ui-font-size-meta);gap:6px}.index-entry-description{font-size:var(--ui-font-size-meta)}.index-entry-meta{font-size:var(--ui-font-size-meta);gap:9px}.repository-status{font-size:var(--ui-font-size-meta)}.index-entry-metrics{border:0;flex-direction:row;grid-column:2;align-items:center;gap:8px;padding:0}.index-entry-metrics>div:not(.index-entry-actions){flex:1;width:auto;display:block}.index-entry-metrics strong{font-size:var(--ui-font-size-body);display:block}.index-entry-metrics>div>span{font-size:var(--ui-font-size-meta)}.index-entry-waiting{display:none}.index-entry-actions{gap:3px;margin:0 0 0 auto}.repository-index .index-entry-actions .library-run-button,.repository-index .index-entry-actions .library-result-link{width:25px;min-height:27px}.index-entry-expanded{grid-column:1/-1;padding:18px 14px 0}.repository-index .strategy-preview-panel.is-embedded{flex-direction:column;gap:18px;display:flex}.repository-index .is-embedded .preview-details-section{order:0}.repository-index .is-embedded .preview-chart-section{order:1}.repository-index .is-embedded .preview-kpi-grid{order:2;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.repository-index .is-embedded .preview-panel-actions{order:3}.repository-index .is-embedded .preview-chart-meta{white-space:normal}.repository-index .is-embedded .preview-detail-text,.index-expanded-identity{font-size:var(--ui-font-size-meta)}.repository-pagination{font-size:var(--ui-font-size-meta);flex-wrap:wrap;gap:10px;padding:15px 0}.repository-pagination>div{gap:2px;margin-left:auto}.repository-pagination button{width:25px}.repository-research-aside{grid-template-columns:1fr 1fr;gap:15px}.repository-featured-result h3{font-size:14px}.repository-featured-result p{font-size:var(--ui-font-size-meta)}.repository-featured-return{flex-wrap:wrap;gap:4px}.repository-featured-return strong{font-size:24px}.repository-featured-open{font-size:var(--ui-font-size-meta);gap:5px;padding:7px 9px}.repository-taxonomy button,.repository-margin-title,.repository-editor-note{font-size:var(--ui-font-size-meta)}.repository-index.has-compare-selection{padding-bottom:140px}}@media (prefers-reduced-motion:reduce){.repository-index-entry,.index-entry-toggle svg{transition:none}.repository-index .is-spinning{animation:none}}.catalog-active-filters{font-size:var(--ui-font-size-body);color:var(--ui-text-muted);flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.catalog-active-filters button{border:1px solid var(--ui-primary-border);background:var(--ui-primary-soft);max-width:100%;min-height:30px;color:var(--ui-primary);font:inherit;cursor:pointer;border-radius:5px;align-items:center;gap:6px;padding:4px 9px;display:inline-flex}.catalog-active-filters button span{overflow-wrap:anywhere;text-align:left}.catalog-active-filters button svg{flex:none}.catalog-active-filters .repository-reset{background:0 0;border:0}.repository-index .catalog-active-filters button:focus-visible{outline:2px solid var(--ui-primary);outline-offset:3px}.research-shell .repository-index .repository-more-filters label{flex:150px;gap:6px;display:grid}.research-shell .repository-index .repository-more-filters select{width:100%;max-width:none;min-height:38px;font-size:var(--ui-font-size-body)}@media (width<=600px){.research-shell .repository-index .repository-more-filters label{flex-basis:100%}.catalog-active-filters{font-size:var(--ui-font-size-meta)}}@media (width<=960px){.research-shell .repository-index.has-compare-selection{padding-bottom:180px}.research-shell .repository-index .compare-toolbar{left:12px;right:12px;bottom:max(10px, env(safe-area-inset-bottom));background:var(--ui-surface);gap:6px;width:auto;margin:0;padding:10px 12px;position:fixed;transform:none}.research-shell .repository-index .compare-toolbar-main{display:block}.research-shell .repository-index .compare-toolbar-title{display:none}.research-shell .repository-index .compare-chip-list{scrollbar-width:thin;flex-wrap:nowrap;overflow-x:auto}.research-shell .repository-index .compare-chip{flex-shrink:0}.research-shell .repository-index .compare-toolbar-side{gap:6px}.research-shell .repository-index .toolbar-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}}.repository-index .index-entry-description{-webkit-line-clamp:1}.repository-index .repository-index-entry.is-expanded .index-entry-description{display:none}.research-shell .repository-index .index-entry-actions .index-preview-button{border:1px solid var(--ui-border);border-radius:var(--ui-radius-xs);background:var(--ui-surface);min-height:32px;color:var(--ui-text-muted);font:var(--ui-font-size-meta) var(--ui-font-sans);cursor:pointer;justify-content:center;align-items:center;gap:4px;padding:0 7px;display:inline-flex}.research-shell .repository-index .index-entry-actions .index-preview-button:hover,.research-shell .repository-index .index-entry-actions .index-preview-button[aria-expanded=true]{color:var(--ui-primary);border-color:var(--ui-primary-border);background:var(--ui-primary-soft)}.repository-index :is(.index-entry-toggle,.index-preview-button,.repository-focus-start):focus-visible{outline:2px solid var(--ui-primary);outline-offset:3px}.index-expanded-summary{color:var(--ui-text-muted);font-size:var(--ui-font-size-body);overflow-wrap:anywhere;margin:0;line-height:1.8}.index-expanded-rules{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0 0;display:grid}.index-expanded-rules dt{color:var(--ui-primary);font-size:var(--ui-font-size-meta);font-weight:600}.index-expanded-rules dd{color:var(--ui-text-muted);font-size:var(--ui-font-size-body);overflow-wrap:anywhere;margin:5px 0 0;line-height:1.8}.research-shell .repository-index.is-compact .repository-index-entry{grid-template-columns:26px minmax(0,1fr) 196px;gap:12px;padding-block:7px}.research-shell .repository-index.is-compact .index-entry-trend{display:none}.research-shell .repository-index.is-compact .index-entry-copy h2{margin-block:3px}.research-shell .repository-index.is-compact .index-entry-meta{margin-top:3px}.research-shell .repository-index.is-compact .index-entry-order{gap:12px}.repository-focus-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.repository-focus-heading button{border-radius:var(--ui-radius-xs);width:28px;min-height:28px;color:var(--ui-text-muted);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.repository-focus-heading button:hover{background:var(--ui-surface-hover);color:var(--ui-primary)}.repository-filter-summary ul{flex-wrap:wrap;gap:6px;margin:12px 0;padding:0;list-style:none;display:flex}.repository-filter-summary li{background:var(--ui-primary-soft);max-width:100%;color:var(--ui-primary);border:1px solid var(--ui-primary-border);border-radius:var(--ui-radius-xs);font-size:var(--ui-font-size-meta);overflow-wrap:anywhere;padding:3px 7px}.research-shell .repository-filter-summary .repository-focus-instruction,.research-shell .repository-featured-result .repository-focus-help{color:var(--ui-text-muted);margin-top:12px}.repository-focus-start{border:1px solid var(--ui-primary-border);border-radius:var(--ui-radius-sm);background:var(--ui-primary-soft);min-height:34px;color:var(--ui-primary);font:var(--ui-font-size-body) var(--ui-font-sans);cursor:pointer;align-items:center;gap:6px;margin-top:14px;padding:6px 10px;display:inline-flex}.repository-focus-start:disabled{opacity:.5;cursor:not-allowed}.repository-focus-start:hover:not(:disabled){background:var(--ui-surface-hover)}@media (width<=1200px) and (width>=641px){.research-shell .repository-index .repository-index-entry{grid-template-columns:24px minmax(0,1fr) 196px;gap:12px}.research-shell .repository-index .index-entry-trend{display:none}}@media (width<=640px){.research-shell .repository-index.is-compact .repository-index-entry{grid-template-columns:22px minmax(0,1fr);gap:9px;padding:10px 12px}.research-shell .repository-index.is-compact .index-entry-metrics{padding-top:9px}.research-shell .repository-index .repository-index-tools>div{justify-content:space-between;gap:6px;width:100%}.research-shell .repository-index .catalog-density-control button{min-width:32px;min-height:32px}.research-shell .repository-index .index-entry-actions{flex-wrap:wrap;justify-content:flex-start;gap:7px}.index-expanded-rules{grid-template-columns:1fr}}.research-shell .repository-index .index-entry-actions>:is(button,a){white-space:nowrap;flex-shrink:0}.index-entry-mobile-chart{border-top:1px solid var(--ui-border-subtle);min-width:0;margin-top:16px;padding-top:12px}.index-entry-mobile-chart>h3{color:var(--ui-text);font-size:var(--ui-font-size-body);margin:0;font-weight:600}.research-saved-toolbar[data-v-b01beef0]{flex-wrap:wrap;align-items:flex-start;gap:10px;margin:12px 0;display:flex}.catalog-favorites-toggle[data-v-b01beef0]{border:1px solid var(--ui-border);background:var(--ui-surface);min-height:36px;color:var(--ui-text);cursor:pointer;font:inherit;border-radius:6px;align-items:center;padding:8px 12px;font-size:13px;display:inline-flex}.catalog-favorites-toggle[aria-pressed=true][data-v-b01beef0]{color:var(--ui-primary);background:var(--ui-primary-soft);border-color:var(--ui-primary-border)}@media (pointer:coarse){.catalog-favorites-toggle[data-v-b01beef0]{min-height:44px}}.research-saved-toolbar>button[data-v-b01beef0]{margin-top:10px}.research-saved-toolbar .saved-research[data-v-b01beef0]{flex:1;min-width:min(280px,100%)}.theme-toggle-btn[data-v-d9383148]{background:var(--ui-surface);width:34px;height:34px;color:var(--ui-text);border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);cursor:pointer;transition:background var(--ui-transition), border-color var(--ui-transition), color var(--ui-transition);justify-content:center;align-items:center;gap:6px;padding:0;font-size:12px;display:inline-flex}.theme-toggle-btn[data-v-d9383148]:hover{background:var(--ui-surface-hover);border-color:var(--ui-border-strong)}.theme-toggle-btn[data-v-d9383148]:focus-visible{box-shadow:var(--ui-focus-shadow);outline:none}.theme-label[data-v-d9383148]{display:inline}@media (width<=640px){.theme-label[data-v-d9383148]{display:none}}.cache-export-task-panel[data-v-8dc0fbd6]{border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);background:var(--ui-surface-subtle);min-width:0;color:var(--ui-text);overflow-wrap:anywhere;padding:16px;font-size:12px;line-height:1.6}.cache-task-heading[data-v-8dc0fbd6],.cache-task-meta[data-v-8dc0fbd6],.cache-result-heading[data-v-8dc0fbd6]{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.cache-task-heading[data-v-8dc0fbd6]{justify-content:space-between}.cache-task-heading h4[data-v-8dc0fbd6]{margin:0;font-size:13px;font-weight:650}.cache-task-status[data-v-8dc0fbd6]{color:var(--ui-text-muted);align-items:center;gap:6px;font-size:11px;display:inline-flex}.cache-task-status i[data-v-8dc0fbd6]{background:currentColor;border-radius:50%;flex-shrink:0;width:6px;height:6px}.cache-task-status i.is-active[data-v-8dc0fbd6]{box-shadow:0 0 0 3px var(--ui-primary-soft)}.cache-task-running .cache-task-status[data-v-8dc0fbd6],.cache-task-queued .cache-task-status[data-v-8dc0fbd6]{color:var(--ui-accent)}.cache-task-completed .cache-task-status[data-v-8dc0fbd6]{color:var(--ui-success)}.cache-task-failed .cache-task-status[data-v-8dc0fbd6],.cache-task-unavailable .cache-task-status[data-v-8dc0fbd6]{color:var(--ui-danger)}.cache-task-message[data-v-8dc0fbd6]{color:var(--ui-text-muted);margin:10px 0 8px}.cache-task-meta[data-v-8dc0fbd6]{color:var(--ui-text-muted);font-size:11px}.cache-task-meta>span[data-v-8dc0fbd6]{align-items:center;gap:4px;display:inline-flex}.cache-task-meta>strong[data-v-8dc0fbd6]{color:var(--ui-text);margin-left:auto;font-weight:600}.cache-task-progress[data-v-8dc0fbd6]{border-radius:var(--ui-radius-pill);background:var(--ui-border);height:5px;margin-top:10px;overflow:hidden}.cache-task-progress>span[data-v-8dc0fbd6]{border-radius:inherit;background:var(--ui-accent);width:0;height:100%;transition:width .2s;display:block}.cache-task-completed .cache-task-progress>span[data-v-8dc0fbd6]{background:var(--ui-success)}.cache-task-failed .cache-task-progress>span[data-v-8dc0fbd6]{background:var(--ui-danger)}.cache-task-progress.is-indeterminate>span[data-v-8dc0fbd6]{width:35%;animation:1.5s ease-in-out infinite cache-task-progress-8dc0fbd6}.cache-task-sync-error[data-v-8dc0fbd6],.cache-task-error[data-v-8dc0fbd6]{border-radius:var(--ui-radius-xs);background:var(--ui-warning-soft);color:var(--ui-warning);gap:4px;margin-top:12px;padding:10px;display:grid}.cache-task-error[data-v-8dc0fbd6]{background:var(--ui-danger-soft);color:var(--ui-danger)}.cache-task-details[data-v-8dc0fbd6]{border-top:1px solid var(--ui-border);margin-top:12px}.cache-task-details>summary[data-v-8dc0fbd6]{color:var(--ui-text-muted);cursor:pointer;justify-content:space-between;align-items:center;padding:10px 0;list-style:none;display:flex}.cache-task-details>summary[data-v-8dc0fbd6]::-webkit-details-marker{display:none}.cache-task-details[open]>summary svg[data-v-8dc0fbd6]{transform:rotate(180deg)}.cache-task-fields[data-v-8dc0fbd6]{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;margin:2px 0 12px;display:grid}.cache-task-fields>div[data-v-8dc0fbd6]{min-width:0}.cache-task-fields dt[data-v-8dc0fbd6]{color:var(--ui-text-faint);font-size:11px}.cache-task-fields dd[data-v-8dc0fbd6]{margin:2px 0 0}.cache-task-fields>div[data-v-8dc0fbd6]:first-child{grid-column:1/-1}.cache-task-id[data-v-8dc0fbd6],.cache-result-module[data-v-8dc0fbd6]{font-family:var(--ui-font-mono);font-size:11px}.cache-task-results[data-v-8dc0fbd6]{gap:8px;margin:12px 0;padding:0;list-style:none;display:grid}.cache-task-results>li[data-v-8dc0fbd6]{border:1px solid var(--ui-border-subtle);border-radius:var(--ui-radius-xs);background:var(--ui-surface);min-width:0;padding:10px}.cache-result-heading[data-v-8dc0fbd6]{justify-content:space-between;align-items:flex-start;gap:4px 10px}.cache-result-heading>strong[data-v-8dc0fbd6]{min-width:0;font-size:12px;font-weight:600}.cache-result-heading>span[data-v-8dc0fbd6],.cache-result-duration[data-v-8dc0fbd6],.cache-result-module[data-v-8dc0fbd6],.cache-task-empty[data-v-8dc0fbd6]{color:var(--ui-text-muted);font-size:11px}.cache-result-duration[data-v-8dc0fbd6],.cache-result-module[data-v-8dc0fbd6]{margin:4px 0}.cache-task-refresh[data-v-8dc0fbd6]{border:1px solid var(--ui-border);border-radius:var(--ui-radius-xs);background:var(--ui-surface);min-height:30px;color:var(--ui-text-muted);font:inherit;cursor:pointer;align-items:center;gap:6px;padding:4px 8px;font-size:11px;display:inline-flex}.cache-task-refresh[data-v-8dc0fbd6]:hover{background:var(--ui-surface-hover);border-color:var(--ui-border-strong);color:var(--ui-text)}.cache-task-refresh[data-v-8dc0fbd6]:focus-visible,.cache-task-details>summary[data-v-8dc0fbd6]:focus-visible{outline:2px solid var(--ui-accent);outline-offset:3px}.is-compact[data-v-8dc0fbd6]{padding:12px}.is-compact .cache-task-fields[data-v-8dc0fbd6]{grid-template-columns:minmax(0,1fr)}@keyframes cache-task-progress-8dc0fbd6{0%{transform:translate(-100%)}to{transform:translate(390%)}}@media (prefers-reduced-motion:reduce){.cache-task-progress>span[data-v-8dc0fbd6]{transition:none}.cache-task-progress.is-indeterminate>span[data-v-8dc0fbd6]{opacity:.5;width:100%;animation:none}}@media (width<=540px){.cache-export-task-panel[data-v-8dc0fbd6]{padding:12px}.cache-task-fields[data-v-8dc0fbd6]{grid-template-columns:minmax(0,1fr)}}.task-center-container[data-v-52a1cd9e]{display:inline-block;position:relative}.task-center-trigger[data-v-52a1cd9e]{background:var(--ui-surface-subtle);height:32px;color:var(--ui-text);border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);cursor:pointer;transition:all var(--ui-transition);align-items:center;gap:6px;padding:0 10px;font-size:12px;display:inline-flex;position:relative}.task-center-trigger[data-v-52a1cd9e]:hover{background:var(--ui-surface-hover);border-color:var(--ui-border-strong)}.task-center-trigger.is-running[data-v-52a1cd9e]{background:var(--ui-primary-soft);color:var(--ui-primary);border-color:var(--ui-primary-border)}.task-spinner[data-v-52a1cd9e]{animation:1s linear infinite task-spin-52a1cd9e}@keyframes task-spin-52a1cd9e{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.task-status-dot[data-v-52a1cd9e]{background:var(--ui-primary);border-radius:50%;width:6px;height:6px;animation:1.5s ease-in-out infinite task-pulse-52a1cd9e}@keyframes task-pulse-52a1cd9e{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(1.3)}}.task-drawer-backdrop[data-v-52a1cd9e]{z-index:1000;background:#0000004d;position:fixed;inset:0}.task-drawer-panel[data-v-52a1cd9e]{background:var(--ui-surface);border-left:1px solid var(--ui-border);width:360px;max-width:90vw;box-shadow:var(--ui-shadow-overlay);z-index:1001;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0}.task-drawer-header[data-v-52a1cd9e]{border-bottom:1px solid var(--ui-border);justify-content:space-between;align-items:center;padding:16px;display:flex}.task-drawer-title[data-v-52a1cd9e]{color:var(--ui-text);align-items:center;gap:8px;font-size:14px;display:flex}.task-close-btn[data-v-52a1cd9e]{color:var(--ui-text-muted);cursor:pointer;border-radius:var(--ui-radius-xs);background:0 0;border:none;padding:4px}.task-close-btn[data-v-52a1cd9e]:hover{background:var(--ui-surface-hover);color:var(--ui-text)}.task-drawer-body[data-v-52a1cd9e]{flex-direction:column;flex:1;gap:16px;padding:16px;display:flex;overflow-y:auto}.task-current-card[data-v-52a1cd9e]{border-radius:var(--ui-radius-md);border:1px solid var(--ui-border);background:var(--ui-surface-subtle);padding:14px}.task-current-card.status-running[data-v-52a1cd9e]{border-color:var(--ui-primary-border);background:var(--ui-primary-soft)}.task-card-head[data-v-52a1cd9e]{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.task-card-title[data-v-52a1cd9e]{color:var(--ui-text);align-items:center;gap:6px;font-size:13px;display:flex}.task-time[data-v-52a1cd9e]{color:var(--ui-text-muted);font-size:11px}.task-progress-track[data-v-52a1cd9e]{background:var(--ui-border);border-radius:999px;height:6px;margin:8px 0;overflow:hidden}.task-progress-fill[data-v-52a1cd9e]{background:var(--ui-primary);height:100%;transition:width .3s}.task-card-msg[data-v-52a1cd9e]{color:var(--ui-text-muted);margin:4px 0 0;font-size:12px}.task-card-actions[data-v-52a1cd9e]{justify-content:flex-end;margin-top:10px;display:flex}.task-clear-btn[data-v-52a1cd9e]{background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--ui-radius-xs);color:var(--ui-text-muted);cursor:pointer;padding:3px 8px;font-size:11px}.task-empty-current[data-v-52a1cd9e]{color:var(--ui-text-muted);text-align:center;border:1px dashed var(--ui-border);border-radius:var(--ui-radius-md);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:24px 12px;font-size:12px;display:flex}.task-history-section[data-v-52a1cd9e]{flex-direction:column;gap:8px;display:flex}.task-history-title[data-v-52a1cd9e]{color:var(--ui-text-muted);margin:0;font-size:12px;font-weight:600}.task-history-list[data-v-52a1cd9e]{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.task-history-item[data-v-52a1cd9e]{border-radius:var(--ui-radius-sm);background:var(--ui-surface-subtle);border:1px solid var(--ui-border-subtle);flex-direction:column;gap:4px;padding:10px;display:flex}.history-item-top[data-v-52a1cd9e]{justify-content:space-between;align-items:center;display:flex}.history-title[data-v-52a1cd9e]{color:var(--ui-text);font-size:12px;font-weight:500}.history-badge[data-v-52a1cd9e]{border-radius:999px;padding:1px 6px;font-size:10px}.history-badge.completed[data-v-52a1cd9e]{background:var(--ui-success-soft);color:var(--ui-success)}.history-badge.failed[data-v-52a1cd9e]{background:var(--ui-danger-soft);color:var(--ui-danger)}.history-badge.running[data-v-52a1cd9e]{background:var(--ui-primary-soft);color:var(--ui-primary)}.history-badge.cancelled[data-v-52a1cd9e]{background:var(--ui-warning-soft);color:var(--ui-warning)}.history-task-details summary[data-v-52a1cd9e]{cursor:pointer;color:var(--ui-primary);font-size:11px}.history-task-details>section[data-v-52a1cd9e]{margin-top:10px}.history-item-bottom[data-v-52a1cd9e]{color:var(--ui-text-faint);justify-content:space-between;font-size:11px;display:flex}.icon-success[data-v-52a1cd9e]{color:var(--ui-success)}.icon-danger[data-v-52a1cd9e]{color:var(--ui-danger)}.workspace-task-list[data-v-52a1cd9e]{gap:12px;margin-bottom:16px;display:grid}.workspace-task-card[data-v-52a1cd9e]{border:1px solid var(--ui-border);overflow-wrap:anywhere;border-radius:8px;padding:14px}.workspace-task-heading[data-v-52a1cd9e],.workspace-task-actions[data-v-52a1cd9e]{justify-content:space-between;gap:12px;margin-bottom:8px;display:flex}.workspace-task-heading span[data-v-52a1cd9e],.workspace-task-card small[data-v-52a1cd9e]{color:var(--ui-text-muted);font-size:12px}.workspace-task-card p[data-v-52a1cd9e]{margin:8px 0;font-size:13px}.workspace-task-card a[data-v-52a1cd9e]{color:var(--ui-primary)}.workspace-task-actions[data-v-52a1cd9e]{margin:10px 0 0;font-size:13px}.workspace-task-actions button[data-v-52a1cd9e]{color:var(--ui-text-muted);cursor:pointer;background:0 0;border:0}.workspace-task-notices[data-v-52a1cd9e]{z-index:130;gap:10px;width:min(360px,100vw - 40px);display:grid;position:fixed;bottom:20px;left:20px}.workspace-task-notices article[data-v-52a1cd9e]{background:var(--ui-surface);color:var(--ui-text);border:1px solid var(--ui-border);overflow-wrap:anywhere;border-radius:10px;padding:16px 40px 16px 16px;position:relative;box-shadow:0 4px 20px #0002}.workspace-task-notices p[data-v-52a1cd9e]{margin:8px 0;font-size:13px}.workspace-task-notices a[data-v-52a1cd9e]{color:var(--ui-primary)}.workspace-task-notices button[data-v-52a1cd9e]{color:inherit;cursor:pointer;background:0 0;border:none;min-width:32px;min-height:32px;position:absolute;top:10px;right:8px}.page-load-state[data-v-640821bd]{text-align:center;color:var(--ui-text);padding:64px 24px}h1[data-v-640821bd]{font-size:20px}p[data-v-640821bd]{color:var(--ui-text-muted);line-height:1.8}button[data-v-640821bd]{border:1px solid var(--ui-border);background:var(--ui-surface);color:var(--ui-primary);font:inherit;cursor:pointer;border-radius:8px;padding:10px 18px}.research-shell{--workspace-nav-height:55px;min-height:100vh;color:var(--ui-text);background:var(--ui-canvas);letter-spacing:0}.research-shell-header{z-index:50;border-top:0;border-bottom:1px solid var(--ui-border);background:var(--ui-surface);height:68px;min-height:68px;box-shadow:none;align-items:center;gap:24px;padding:0 clamp(20px,3vw,46px);display:flex;position:relative}.research-brand,.research-admin-link,.research-workspace-switch a{min-height:34px;color:var(--ui-text-muted);align-items:center;gap:9px;text-decoration:none;display:inline-flex}.research-brand{flex-shrink:0;gap:17px}.research-brand-logo{object-fit:contain;flex-shrink:0;width:156px;height:35px;display:block}.research-brand-logo-dark,:root:is([data-theme=dark],.theme-dark) .research-brand-logo-light{display:none}:root:is([data-theme=dark],.theme-dark) .research-brand-logo-dark{display:block}.research-brand-product{border-left:1px solid var(--ui-border);color:var(--ui-brand);letter-spacing:.02em;white-space:nowrap;padding-left:17px;font-size:12px;font-weight:650;line-height:28px}.repository-breadcrumb{min-width:0;color:var(--ui-text-faint);font-size:var(--ui-font-size-meta);align-items:center;gap:11px;display:flex}.repository-breadcrumb i{color:var(--ui-border-strong);font-style:normal}.repository-breadcrumb span:last-child{color:var(--ui-text-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.repository-breadcrumb a{color:var(--ui-text-faint);flex-shrink:0;text-decoration:none}.repository-breadcrumb a:hover{color:var(--ui-primary)}.research-header-right{align-items:center;gap:7px;min-width:0;margin-left:auto;display:flex}.research-header-right :is(.task-center-trigger,.theme-toggle-btn,.research-admin-link){border-radius:var(--ui-radius-xs)}.research-header-right .task-center-trigger{background:var(--ui-surface-subtle);height:32px}.research-admin-link{font-size:var(--ui-font-size-meta);padding:0 10px}.research-admin-link span{display:inline}.research-admin-link:hover,.research-admin-link[aria-current=page]{color:var(--ui-primary)}.repository-navigation{z-index:40;border-bottom:1px solid var(--ui-border);background:var(--ui-surface);justify-content:space-between;align-items:center;gap:20px;min-height:54px;padding:0 clamp(20px,3vw,46px);display:flex;position:sticky;top:0;box-shadow:0 1px #1e3c5606}.research-workspace-switch{align-self:stretch;align-items:center;gap:20px;display:flex}.research-workspace-switch a{white-space:nowrap;min-height:54px;transition:color var(--ui-transition), background var(--ui-transition);border-radius:0;justify-content:center;gap:7px;margin-block:auto;padding:7px 8px;font-size:12px;font-weight:500;position:relative}.research-workspace-switch a:after{content:"";background:0 0;border-radius:3px 3px 0 0;height:3px;position:absolute;inset:auto 8px -1px}.research-workspace-switch a:hover{background:var(--ui-surface-hover);color:var(--ui-primary)}.research-workspace-switch a[aria-current=page]{color:var(--ui-primary);background:0 0;font-weight:700}.research-workspace-switch a[aria-current=page]:after{background:var(--ui-primary)}.repository-navigation-note{color:var(--ui-text-faint);font-size:var(--ui-font-size-meta);letter-spacing:.12em;align-items:center;gap:8px;display:inline-flex}.repository-navigation-note>span{background:var(--ui-accent);border-radius:50%;width:5px;height:5px}.research-shell :is(button,a,input,select,summary):focus-visible{outline:2px solid var(--ui-primary);outline-offset:3px}.research-shell-main{box-sizing:border-box;width:min(100%,1640px);margin:0 auto;padding:32px clamp(20px,3vw,46px) 24px}.research-shell-main.is-detail{width:min(100%,1640px);margin:0 auto;padding:25px clamp(20px,3vw,46px)}.research-shell-main.is-factors,.research-shell-main.is-admin{padding-inline:clamp(14px,2vw,28px)}.research-shell-main{--research-title-size:26px;--research-title-line-height:1.35;--research-header-gap:18px}.repository-page-footer{border-top:1px solid var(--ui-border);color:var(--ui-text-faint);font-size:var(--ui-font-size-meta);letter-spacing:.02em;justify-content:space-between;gap:18px;margin-top:34px;padding-top:16px;display:flex}@media (width<=1100px){.repository-breadcrumb{display:none}.research-shell-header,.research-shell-main,.research-shell-main.is-detail{padding-inline:24px}}@media (width<=740px){.research-shell-main{--research-title-size:24px;--research-header-gap:18px}.research-shell:is([data-view=detail],[data-view=compare]) .research-shell-header{flex-wrap:wrap;row-gap:12px;height:auto;padding-block:12px}.research-shell:is([data-view=detail],[data-view=compare]) .repository-breadcrumb{font-size:var(--ui-font-size-meta);flex:0 0 100%;order:3;gap:8px;display:flex}.research-admin-link span,.research-brand-product,.repository-navigation-note{display:none}.repository-navigation{padding-inline:20px}.research-workspace-switch{justify-content:space-between;width:100%}.research-workspace-switch a{flex:1 1 0;padding-inline:8px}.research-shell-main,.research-shell-main.is-detail{padding:22px 18px}.research-shell-main.is-factors,.research-shell-main.is-admin{padding-inline:0}}@media (width<=480px){.research-shell{--workspace-nav-height:49px}.research-shell-header{gap:10px;height:62px;min-height:62px;padding:0 14px}.research-brand-logo{width:130px;height:29px}.research-header-right{gap:5px}.research-header-right .task-trigger-text{display:none}.research-header-right .task-center-trigger{justify-content:center;width:32px;padding:0}.research-header-right .task-status-dot{position:absolute;top:3px;right:3px}.research-admin-link{padding:0}.research-workspace-switch{gap:4px}.research-workspace-switch a{font-size:var(--ui-font-size-meta);min-height:48px}.repository-navigation{min-height:46px;padding-inline:14px}.research-shell-main,.research-shell-main.is-detail{padding:23px 14px}.repository-page-footer{font-size:var(--ui-font-size-meta);gap:12px}.research-shell-main.is-factors,.research-shell-main.is-admin{padding-inline:0}}@media (width<=360px){.research-workspace-switch a{min-width:0;padding-inline:4px}.research-workspace-switch a>svg{display:none}}@media (prefers-reduced-motion:reduce){.research-shell *{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}@media (width>=1100px){body[data-assistant-docked] .research-shell{padding-right:var(--assistant-width,460px)}}.research-shell :is(.strategy-kicker,.factor-kicker){color:var(--ui-primary);font-weight:500}.research-shell :is(.strategy-hero h1,.factor-page-header h1,.factor-detail-header h1){color:var(--ui-text);font-weight:600}.research-shell :is(.overview-metric>span,.overview-leader>span){color:var(--ui-text-muted);font-weight:400}.research-shell :is(.overview-metric>strong,.record-metric strong){font-weight:500}.research-shell :is(.record-title-line>a,.overview-leader strong,.factor-name-link){color:var(--ui-text);font-weight:600}.research-shell :is(.record-title-line>a,.overview-leader>a,.factor-name-link):hover{color:var(--ui-primary);-webkit-text-decoration-color:var(--ui-primary);text-decoration-color:var(--ui-primary)}.research-shell .catalog-filter-grid :is(input,select){background-color:var(--ui-surface);border-color:var(--ui-border)}.research-shell .catalog-filter-grid :is(input,select):hover{border-color:var(--ui-border-strong)}.research-shell .catalog-filter-grid :is(input,select):focus{border-color:var(--ui-primary)}.research-shell .strategy-table-head{background:var(--ui-surface-subtle);border-color:var(--ui-border)}.research-shell :is(.strategy-table-head>span,.strategy-table-head button,.catalog-filter-grid label>span){color:var(--ui-text-muted);font-weight:500}.research-shell .record-rank,.research-shell .record-tags code{color:var(--ui-text-faint)}.research-shell .record-tags span{color:var(--ui-text-muted);border-color:var(--ui-border)}.research-shell .record-meta time{color:var(--ui-text-muted)}.research-shell .record-meta small{color:var(--ui-text-faint)}.research-shell .record-curve line{stroke:var(--ui-border)}.research-shell .record-curve polygon:is(.is-positive,.is-negative){fill:var(--ui-chart-area)}.research-shell .record-curve polyline:is(.is-positive,.is-negative){stroke:var(--ui-chart-line)}.research-shell .record-curve circle:is(.is-positive,.is-negative){fill:var(--ui-chart-line);stroke:var(--ui-chart-line)}.research-shell .library-status{font-weight:500}.research-shell :is(.library-status.is-stale,.record-attempt-warning){color:var(--ui-warning);background:var(--ui-warning-soft)}.research-shell .library-status.is-stale .status-dot{background:var(--ui-warning)}.research-shell .library-status:not(.is-ready,.is-failed,.is-stale,.is-running){color:var(--ui-text-faint);background:0 0}.research-shell .library-result-link{color:var(--ui-text-muted)}.research-shell .strategy-index .compare-toolbar{background:var(--ui-surface);border-color:var(--ui-primary-border);box-shadow:var(--ui-shadow-raised)}.research-shell .factor-table th{color:var(--ui-text-muted);font-weight:500}.research-shell .repository-index{gap:0}.research-shell .repository-index .strategy-hero{border:0;align-items:center;gap:24px;min-height:82px;padding:0 0 16px}.research-shell .repository-index .strategy-kicker{color:var(--ui-text-muted);font:600 var(--ui-font-size-meta)/1.4 var(--ui-font-mono);letter-spacing:.14em;align-items:center;gap:8px;margin:0 0 5px;display:flex}.strategy-kicker>span,.catalog-section-marker{background:var(--ui-accent);border-radius:2px;flex:none;width:5px;height:14px}.research-shell .repository-index .strategy-hero h1{color:var(--ui-text);letter-spacing:-.025em;font-size:clamp(24px,2.2vw,28px);font-weight:650;line-height:1.25}.strategy-title-mark{color:var(--ui-accent);margin-left:3px}.research-shell .repository-index .strategy-hero-meta{max-width:none;color:var(--ui-text-muted);font-size:var(--ui-font-size-meta);margin-top:6px;line-height:1.5}.research-shell .repository-index .catalog-page-actions{gap:8px}.research-shell .repository-index :is(.catalog-icon-button,.repository-menu summary){border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);background:var(--ui-surface);min-height:38px;color:var(--ui-text-muted);font-size:var(--ui-font-size-meta);transition:background var(--ui-transition), border-color var(--ui-transition)}.research-shell .repository-index .catalog-icon-button{width:38px}.research-shell .repository-index .repository-menu summary{padding-inline:14px}.research-shell .repository-index :is(.catalog-icon-button:hover:not(:disabled),.repository-menu summary:hover){border-color:var(--ui-primary-border);background:var(--ui-primary-soft);color:var(--ui-primary)}.research-shell .repository-index .repository-run-menu summary{background:var(--ui-primary);border-color:var(--ui-primary);color:var(--ui-on-primary);padding-inline:18px}.research-shell .repository-index .repository-run-menu summary:hover{background:var(--ui-primary-hover);color:var(--ui-on-primary)}.research-shell .repository-menu>div{border-radius:var(--ui-radius-sm);padding:6px}.research-shell .repository-menu>div :is(a,button){font-size:var(--ui-font-size-meta);border-radius:5px}.catalog-overview{border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface);box-shadow:var(--ui-shadow-panel);grid-template-columns:repeat(3,minmax(0,1fr)) minmax(220px,1.15fr);margin-bottom:24px;padding:24px 0;display:grid}.catalog-overview-item{align-items:flex-start;gap:14px;min-width:0;padding:0 24px;display:flex}.catalog-overview-item+.catalog-overview-item{border-left:1px solid var(--ui-border-subtle)}.catalog-overview-item>div{min-width:0}.catalog-overview-icon{background:var(--ui-primary-soft);width:38px;height:38px;color:var(--ui-primary);border-radius:10px;flex:none;place-items:center;display:grid}.catalog-overview-label{color:var(--ui-text-muted);font-size:var(--ui-font-size-meta)}.catalog-overview-item strong{color:var(--ui-text);font:600 32px/1.4 "Bahnschrift", var(--ui-font-sans);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:5px 0 2px;display:block}.catalog-overview-item strong small{font:400 var(--ui-font-size-body) var(--ui-font-sans);color:var(--ui-text-faint);margin-left:8px}.catalog-overview-item p{color:var(--ui-text-faint);font-size:var(--ui-font-size-meta);margin:0;line-height:1.5}.catalog-overview-item.is-ready .catalog-overview-icon{color:var(--ui-success);background:var(--ui-success-soft)}.catalog-overview-item.needs-attention p{color:var(--ui-warning)}.catalog-overview-item.is-update strong{align-items:center;min-height:45px;font-size:18px;display:flex}.research-shell .repository-index .catalog-toolbar{border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface);box-shadow:var(--ui-shadow-panel);margin:0;padding:10px 12px;display:block}.research-shell .repository-index .catalog-filter-grid{flex-wrap:wrap;gap:10px;display:flex}.research-shell .repository-index .catalog-filter-grid label{flex:120px;max-width:170px}.research-shell .repository-index .catalog-filter-grid .strategy-search{flex:2 240px;min-width:180px;max-width:none}.research-shell .repository-index .catalog-filter-grid :is(input,select),.research-shell .repository-index .catalog-filter-toggle{height:36px;min-height:36px;font-size:var(--ui-font-size-meta);border-color:var(--ui-border);border-radius:var(--ui-radius-sm);background:var(--ui-surface-subtle);color:var(--ui-text-muted)}.research-shell .repository-index .catalog-filter-grid input[type=search]{font-size:var(--ui-font-size-body);padding-left:36px}.research-shell .repository-index .catalog-filter-grid :is(input,select):focus{background:var(--ui-surface);border-color:var(--ui-primary)}.research-shell .repository-index .catalog-filter-toggle[aria-expanded=true]{background:var(--ui-primary-soft);color:var(--ui-primary);border-color:var(--ui-primary-border)}.research-shell .repository-more-filters,.research-shell .repository-more-filters select{font-size:var(--ui-font-size-meta)}.research-shell .repository-index-tools{flex-wrap:wrap;min-height:54px;padding:10px 2px}.research-shell .catalog-result-count{font-size:var(--ui-font-size-body);align-items:center;gap:9px;font-weight:600;display:inline-flex}.research-shell .repository-index-tools>div{flex-wrap:wrap;gap:8px}.research-shell .repository-view-control{border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);background:var(--ui-border-subtle);padding:3px}.research-shell .repository-view-control button{min-height:32px;font-size:var(--ui-font-size-meta);border-radius:5px;align-items:center;gap:6px;padding:6px 12px;display:inline-flex}.research-shell .repository-view-control button[aria-pressed=true]{background:var(--ui-surface);color:var(--ui-primary);font-weight:600;box-shadow:0 1px 4px #19345012}.research-shell .repository-reset{font-size:var(--ui-font-size-meta);min-height:32px}.research-shell .repository-catalog-layout{grid-template-columns:minmax(0,1fr) 280px;gap:20px}.research-shell .repository-index-list{border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface);box-shadow:var(--ui-shadow-panel);overflow:hidden}.research-shell .repository-index-head{border:0;border-bottom:1px solid var(--ui-border);background:var(--ui-surface-subtle);min-height:36px;color:var(--ui-text-faint);font-size:var(--ui-font-size-meta);align-items:center;padding:8px 18px}.research-shell .repository-index-head>span:first-child{color:var(--ui-text-muted);font-weight:600}.research-shell .repository-index-entry{border-bottom:1px solid var(--ui-border-subtle);grid-template-columns:26px minmax(0,1fr) 88px 196px;gap:14px;padding:9px 18px 9px 14px}.research-shell .repository-index-entry:last-child{border-bottom:0}.research-shell .repository-index-entry:hover{background:var(--ui-surface-hover)}.research-shell .repository-index-entry.is-selected{background:var(--ui-primary-soft);box-shadow:inset 3px 0 var(--ui-primary)}.research-shell .repository-index-entry.is-expanded{background:var(--ui-surface-subtle);box-shadow:inset 3px 0 var(--ui-primary)}.research-shell .index-entry-order{color:var(--ui-text-faint);font:400 var(--ui-font-size-body)/1.5 var(--ui-font-mono);gap:16px}.research-shell .index-entry-order input{width:16px;height:16px}.research-shell .index-entry-order input:disabled{cursor:not-allowed}.research-shell .index-entry-kind{font-size:var(--ui-font-size-meta);gap:8px}.research-shell .index-entry-kind>span:first-child{background:var(--ui-primary-soft);color:var(--ui-primary);border-radius:4px;padding:2px 7px}.research-shell .index-entry-copy h2{margin:4px 0}.research-shell .index-entry-toggle{color:var(--ui-text);font-size:15px;font-weight:650;line-height:1.4}.research-shell .index-entry-toggle:hover{color:var(--ui-primary)}.research-shell .index-entry-toggle svg{color:var(--ui-text-faint)}.research-shell .index-entry-description{max-width:700px;color:var(--ui-text-muted);font-size:var(--ui-font-size-meta);-webkit-line-clamp:1;line-height:1.4}.research-shell .index-entry-meta{font-size:var(--ui-font-size-meta);gap:10px;margin-top:5px}.research-shell .repository-status{font-size:var(--ui-font-size-meta)}.research-shell .repository-status i{width:6px;height:6px}.index-entry-trend{min-width:0;color:var(--ui-text-faint);font-size:var(--ui-font-size-meta);align-self:center}.index-entry-trend .repository-sparkline{margin:10px 0 0}.index-entry-trend .repository-curve-empty{font-size:var(--ui-font-size-meta);padding:12px 0}.research-shell .index-entry-metrics{border-left-color:var(--ui-border-subtle);gap:3px;padding-left:12px}.research-shell .index-entry-metrics>div>span{color:var(--ui-text-faint);font-size:var(--ui-font-size-meta);white-space:nowrap}.research-shell .index-entry-metrics strong{font:500 13px/1.3 "Bahnschrift", var(--ui-font-sans);font-variant-numeric:tabular-nums}.research-shell .index-entry-metrics>div:first-child strong{font-size:17px}.research-shell .index-entry-waiting{font-size:var(--ui-font-size-meta)}.research-shell .index-entry-actions{gap:5px;margin-top:3px}.research-shell .repository-index .index-entry-actions :is(.library-run-button,.library-result-link){border:1px solid var(--ui-border);border-radius:var(--ui-radius-xs);min-height:32px;color:var(--ui-text-muted);background:var(--ui-surface)}.research-shell .repository-index .index-entry-actions .library-run-button{width:32px}.research-shell .repository-index .index-entry-actions .library-result-link{width:auto;font-size:var(--ui-font-size-meta);gap:4px;padding:0 8px}.research-shell .index-entry-expanded{padding:12px 0 0}.research-shell .repository-pagination{font-size:var(--ui-font-size-meta);flex-wrap:wrap;padding:18px 2px}.research-shell .repository-pagination>div{flex-wrap:wrap}.research-shell .repository-pagination button{min-width:32px;min-height:32px;font-size:var(--ui-font-size-meta);border-radius:6px}.research-shell .repository-pagination button[aria-current=page]{background:var(--ui-primary);color:var(--ui-on-primary)}.research-shell .repository-pagination button:hover:not(:disabled,[aria-current=page]){background:var(--ui-border-subtle)}.research-shell .repository-pagination select{font-size:var(--ui-font-size-meta);min-height:32px}.research-shell .repository-index .catalog-evaluation-notice{font-size:var(--ui-font-size-meta)}.research-shell .repository-research-aside{top:calc(var(--workspace-nav-height) + 24px);border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface);min-width:0;box-shadow:var(--ui-shadow-panel);padding:0;position:sticky;overflow:hidden}.research-shell .repository-margin-title{border:0;border-bottom:1px solid var(--ui-border);background:var(--ui-surface-subtle);min-height:45px;font-size:var(--ui-font-size-meta);color:var(--ui-primary);letter-spacing:0;align-items:center;gap:8px;padding:12px 18px;font-weight:600;display:flex}.repository-margin-title small{font:400 9px var(--ui-font-mono);letter-spacing:.08em;color:var(--ui-text-faint);margin-left:auto}.research-shell .repository-featured-result{border-bottom-color:var(--ui-border-subtle);padding:22px 20px}.research-shell .repository-eyebrow{font-size:var(--ui-font-size-meta)}.research-shell .repository-featured-result h3{color:var(--ui-text);overflow-wrap:anywhere;margin:10px 0 8px;font-size:15px;line-height:1.5}.research-shell .repository-featured-result p{font-size:var(--ui-font-size-meta)}.research-shell .repository-featured-return{flex-direction:column;align-items:flex-start;gap:0;margin-top:14px}.research-shell .repository-featured-return>span{font-size:var(--ui-font-size-meta)}.research-shell .repository-featured-return strong{font-variant-numeric:tabular-nums;font-size:28px}.research-shell .repository-featured-open{min-height:38px;font-size:var(--ui-font-size-meta);border-radius:var(--ui-radius-sm);justify-content:space-between;margin-top:18px;padding:8px 12px;display:flex}.research-shell .repository-taxonomy{margin:0;padding:20px}.research-shell .repository-taxonomy h3{font-size:var(--ui-font-size-meta);margin-bottom:12px;font-weight:600}.research-shell .repository-taxonomy button{transition:background var(--ui-transition);border-radius:6px;margin:2px 0;padding:10px}.research-shell .repository-taxonomy button:hover,.research-shell .repository-taxonomy button.active{background:var(--ui-primary-soft);color:var(--ui-primary)}.research-shell .repository-taxonomy button b{background:var(--ui-surface-subtle);text-align:center;border-radius:4px;min-width:22px;padding:1px 5px}.research-shell .repository-editor-note{border-top:1px solid var(--ui-border-subtle);background:var(--ui-surface-subtle);font-size:var(--ui-font-size-meta);align-items:flex-start;gap:10px;margin:0;padding:18px 20px;line-height:1.7;display:flex}.repository-editor-note svg{color:var(--ui-accent);flex:none;margin-top:3px}.repository-editor-note p{margin:0}.repository-editor-note strong{color:var(--ui-text-muted);font-size:var(--ui-font-size-meta);margin-bottom:4px;display:block}.research-shell .repository-index .catalog-run-status{margin:0 0 20px}.research-shell .repository-index .strategy-table-shell{border-radius:var(--ui-radius-md);box-shadow:var(--ui-shadow-panel)}.research-shell .repository-index .catalog-state{border-radius:var(--ui-radius-md);padding:64px 24px}.research-shell .repository-index .compare-toolbar{border-radius:var(--ui-radius-md);border-color:var(--ui-primary-border);box-shadow:var(--ui-shadow-overlay)}@media (width<=1280px){.catalog-overview-item{gap:10px;padding:0 18px}.catalog-overview-icon{width:32px;height:32px}.research-shell .repository-catalog-layout{grid-template-columns:minmax(0,1fr) 300px;gap:20px}.research-shell .repository-index-entry{grid-template-columns:26px minmax(0,1fr) 166px;gap:14px;padding-inline:14px}.index-entry-trend{display:none}.research-shell .index-entry-metrics{padding-left:14px}}@media (width<=1000px){.catalog-overview{grid-template-columns:repeat(2,minmax(0,1fr));padding:0}.catalog-overview-item{padding:20px}.catalog-overview-item:nth-child(3){border-left:0}.catalog-overview-item:nth-child(n+3){border-top:1px solid var(--ui-border-subtle)}.research-shell .repository-catalog-layout{display:block}.research-shell .repository-research-aside{grid-template-columns:1fr 1fr;gap:0;margin-top:24px;display:grid;position:static}.research-shell .repository-margin-title,.research-shell .repository-editor-note{grid-column:1/-1}.research-shell .repository-featured-result{border:0;border-right:1px solid var(--ui-border-subtle)}.research-shell .repository-featured-result .repository-sparkline{max-width:260px}.research-shell .repository-taxonomy{padding:22px 20px}.research-shell .repository-index .catalog-filter-grid label{max-width:none}}@media (width<=640px){.research-shell .repository-index .strategy-hero{flex-wrap:wrap;gap:12px;padding-bottom:14px}.research-shell .repository-index .catalog-page-actions{justify-content:flex-start;width:100%}.research-shell .repository-index .strategy-hero-meta{font-size:var(--ui-font-size-meta)}.catalog-overview{margin-bottom:18px}.catalog-overview-item{gap:0;padding:16px}.catalog-overview-icon{display:none}.catalog-overview-item strong{font-size:26px}.catalog-overview-item.is-update strong{min-height:39px;font-size:15px}.catalog-overview-item p{font-size:var(--ui-font-size-meta)}.research-shell .repository-index .catalog-toolbar{padding:12px}.research-shell .repository-index .catalog-filter-grid{gap:8px}.research-shell .repository-index .catalog-filter-grid .strategy-search{flex:100%;min-width:0}.research-shell .repository-index .catalog-filter-grid label{flex:100px}.research-shell .repository-index .catalog-filter-grid .repository-status-filter,.research-shell .repository-index .catalog-filter-grid .repository-sort-filter{flex:40%;margin-left:0}.research-shell .repository-index-head{padding-inline:16px}.research-shell .repository-index-head>span:last-child{display:none}.research-shell .repository-index-entry{grid-template-columns:22px minmax(0,1fr);gap:10px;padding:14px 12px}.research-shell .index-entry-order{font-size:var(--ui-font-size-meta)}.research-shell .index-entry-toggle{font-size:15px}.research-shell .index-entry-kind{font-size:var(--ui-font-size-meta);gap:5px}.research-shell .index-entry-meta{font-size:var(--ui-font-size-meta);gap:8px}.research-shell .index-entry-metrics{border:0;border-top:1px solid var(--ui-border-subtle);grid-column:2;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:14px 0 0;display:grid}.research-shell .index-entry-metrics>div:not(.index-entry-actions){width:auto;display:block}.research-shell .index-entry-metrics>div>span{font-size:var(--ui-font-size-meta)}.research-shell .index-entry-metrics strong,.research-shell .index-entry-metrics>div:first-child strong{font-size:var(--ui-font-size-body);margin-top:3px;display:block}.research-shell .index-entry-actions{grid-column:1/-1;margin:0}.research-shell .index-entry-waiting{text-align:left;font-size:var(--ui-font-size-meta);grid-column:1/-1;display:block}.research-shell .index-entry-waiting br{display:none}.research-shell .index-entry-expanded{grid-column:1/-1;padding-top:18px}.research-shell .repository-index .strategy-preview-panel.is-embedded{flex-direction:column;display:flex}.research-shell .repository-research-aside{grid-template-columns:1fr}.research-shell .repository-featured-result{border-right:0;border-bottom:1px solid var(--ui-border-subtle)}.research-shell .repository-featured-return strong{font-size:28px}.research-shell .repository-pagination{font-size:var(--ui-font-size-meta);gap:10px}.research-shell .repository-view-control button{font-size:var(--ui-font-size-meta);padding-inline:9px}}@media (prefers-reduced-motion:reduce){.research-shell .repository-taxonomy button{transition:none}}.featured-carousel-title{min-height:76px}.featured-carousel{grid-template-columns:30px minmax(0,1fr) 30px;align-items:center;gap:6px;min-height:34px;margin:8px 0 0;display:grid}.featured-carousel .repository-sparkline{margin:14px 0}.featured-carousel .repository-curve-empty{text-align:center}.featured-carousel-arrow{border:1px solid var(--ui-border);border-radius:var(--ui-radius-xs);width:30px;height:34px;color:var(--ui-text-muted);background:var(--ui-surface);cursor:pointer;transition:background var(--ui-transition), color var(--ui-transition);place-items:center;padding:0;display:grid}.featured-carousel-arrow:hover:not(:disabled){background:var(--ui-primary-soft);color:var(--ui-primary);border-color:var(--ui-primary-border)}.featured-carousel-arrow:disabled{cursor:default;opacity:.35}.featured-carousel-position{color:var(--ui-primary);font:600 var(--ui-font-size-meta) var(--ui-font-mono);font-variant-numeric:tabular-nums;justify-content:center;gap:7px;display:flex}.featured-carousel-position span{color:var(--ui-text-faint);font-weight:400}.repository-featured-result:focus-visible{outline:2px solid var(--ui-primary);outline-offset:-3px}.research-shell .task-drawer-panel{background:var(--ui-surface);border-left:1px solid var(--ui-border);box-shadow:-8px 0 35px #23425e1a}.research-shell .task-drawer-header{border-color:var(--ui-border);padding:22px 24px}.research-shell .task-drawer-title h3{font-size:var(--ui-font-size-title);color:var(--ui-text);font-weight:500}.research-shell .task-current-card{border:0;border-bottom:1px solid var(--ui-border);box-shadow:none;background:0 0;border-radius:0;padding:0 0 22px}.research-shell .task-card-title{font-size:var(--ui-font-size-body);font-weight:500}.research-shell :is(.task-card-msg,.history-msg){font-size:var(--ui-font-size-body);color:var(--ui-text-muted);line-height:1.7}.research-shell .task-history-item{border:0;border-bottom:1px solid var(--ui-border-subtle);background:0 0;border-radius:0;padding:15px 0}.research-shell .history-title{font-size:var(--ui-font-size-body);font-weight:500}.research-shell :is(.task-time,.history-time){font-size:var(--ui-font-size-meta);color:var(--ui-text-faint)}.research-shell-main.is-factors .factor-detail-section{background:var(--ui-surface);border:1px solid var(--ui-border);border-top:0;margin:0;padding:24px}.research-shell-main.is-factors .factor-detail-section>h2{font-size:var(--ui-font-size-body);color:var(--surface-heading);margin:0 0 22px;font-weight:500}.research-shell-main.is-factors .factor-metric-strip{background:var(--ui-surface);border:1px solid var(--ui-border);border-top:0;margin:0 0 18px;padding:20px 24px}.research-shell-main.is-factors .factor-metric-strip>div{border-right:1px solid var(--ui-border-subtle);border-bottom:0;padding:0 20px}.research-shell-main.is-factors .factor-metric-strip>div:first-child{padding-left:0}.research-shell-main.is-factors .factor-metric-strip>div:last-child{border:0}.research-shell-main.is-factors .factor-metric-strip dt{font-size:var(--ui-font-size-meta);color:var(--ui-text-faint)}.research-shell-main.is-factors .factor-metric-strip dd{color:var(--ui-text);margin:8px 0 0;font:500 25px/1.4 Bahnschrift,Segoe UI,sans-serif}.research-shell-main.is-factors .factor-tabs{border-bottom:1px solid var(--ui-border);background:0 0;gap:25px;margin:0}.research-shell-main.is-factors .factor-tabs button{font:400 var(--ui-font-size-body)/1.6 var(--ui-font-sans);color:var(--surface-copy);background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;padding:12px 0}.research-shell-main.is-factors .factor-tabs button.is-active{border-bottom-color:var(--ui-primary);color:var(--ui-primary)}.research-shell-main.is-factors .factor-definition-grid{gap:22px 30px;margin:0}.research-shell-main.is-factors .factor-definition-grid>div{border-color:var(--ui-border-subtle);padding:0 0 18px}.research-shell-main.is-factors .factor-definition-grid dt{font-size:var(--ui-font-size-meta);color:var(--ui-text-faint);margin-bottom:8px}.research-shell-main.is-factors .factor-definition-grid dd{font-size:var(--ui-font-size-body);color:var(--surface-copy);font-weight:400}.research-shell-main.is-factors .factor-detail-section pre{background:var(--ui-surface-subtle);color:var(--surface-copy);font-size:var(--ui-font-size-meta);border:0;border-radius:3px;line-height:1.7}.research-shell-main:is(.is-compare,.is-factors),:root:is([data-theme=dark],.theme-dark) .research-shell-main:is(.is-compare,.is-factors){--surface-heading:var(--ui-text);--surface-copy:var(--ui-text-muted)}.research-shell-main:is(.is-compare,.is-factors) :is(.page-head,.factor-page-header,.factor-detail-header,.maintenance-header){box-shadow:none;background:0 0;border:0;border-radius:0;gap:20px;margin:0 0 25px;padding:0}.research-shell-main:is(.is-compare,.is-factors) :is(h1,.page-head h1,.factor-page-header h1,.factor-detail-header h1,.maintenance-header h1){color:var(--surface-heading);letter-spacing:0;font-size:25px;font-weight:600;line-height:1.5}.research-shell-main:is(.is-compare,.is-factors) :is(.eyebrow,.factor-kicker,.maintenance-kicker){color:var(--ui-text-faint);font:400 var(--ui-font-size-meta)/1.6 var(--ui-font-sans);letter-spacing:.5px;margin-bottom:10px}.research-shell-main:is(.is-compare,.is-factors) :is(.intro,.factor-page-summary,.factor-detail-identity>p:last-child,.maintenance-header p:not(.maintenance-kicker)){font-size:var(--ui-font-size-body);color:var(--surface-copy);max-width:950px;margin:10px 0 0;font-weight:400;line-height:1.7}.research-shell-main:is(.is-compare,.is-factors) :is(.primary-btn,.secondary-btn,.factor-command,.factor-row-command,.maintenance-button){min-height:36px;font-size:var(--ui-font-size-meta);border-radius:var(--ui-radius-xs);box-shadow:none;gap:7px;padding:6px 10px;font-weight:400}.research-shell-main:is(.is-compare,.is-factors) :is(.panel,.factor-surface,.maintenance-panel){border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);box-shadow:var(--ui-shadow-panel);background:var(--ui-surface);margin:0;padding:24px}.research-shell-main:is(.is-compare,.is-factors) .panel:before{display:none}.research-shell-main:is(.is-compare,.is-factors) :is(.panel-head,.maintenance-panel-head){background:0 0;border:0;min-height:0;margin:0 0 15px;padding:0 0 19px}.research-shell-main:is(.is-compare,.is-factors) :is(.panel-title,.factor-section-heading h2,.maintenance-panel-head h2){font-size:var(--ui-font-size-body);color:var(--surface-heading);font-weight:500;line-height:1.5}.research-shell-main:is(.is-compare,.is-factors) :is(.panel-note,.maintenance-panel-head p){font-size:var(--ui-font-size-meta);color:var(--ui-text-faint);margin-top:5px;line-height:1.6}.research-shell-main:is(.is-compare,.is-factors) :is(.compare-chart-card,.factor-metric-card){box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.research-shell-main.is-compare .detail-layout{gap:25px}.research-shell-main.is-compare .compare-page-head{justify-content:space-between;align-items:flex-start}.research-shell-main.is-compare .compare-page-head .page-side{box-shadow:none;background:0 0;border:0;padding:0}.research-shell-main.is-compare .page-count{font-size:var(--ui-font-size-meta);color:var(--ui-text-faint);font-weight:400}.research-shell-main.is-compare .compare-chip{font-size:var(--ui-font-size-meta);background:var(--ui-primary-soft);border:0;border-radius:3px;padding:4px 7px;font-weight:400}.research-shell-main.is-compare .compare-chart-title{font-size:var(--ui-font-size-body);color:var(--surface-heading);margin:0 0 12px;font-weight:500}.research-shell-main.is-compare .compare-chart-grid{gap:28px}.research-shell-main:is(.is-compare,.is-factors) .data-table-wrap{background:0 0;border:0;border-radius:0}.research-shell-main:is(.is-compare,.is-factors) .data-table th{background:var(--ui-surface-subtle);color:var(--surface-copy);font-size:var(--ui-font-size-meta);border:0;border-bottom:1px solid var(--ui-border-subtle);padding:11px 12px;font-weight:400}.research-shell-main:is(.is-compare,.is-factors) .data-table td{color:var(--surface-copy);font-size:var(--ui-font-size-body);border:0;border-bottom:1px solid var(--ui-border-subtle);padding:13px 12px;font-weight:400}.research-shell-main:is(.is-compare,.is-factors) .data-table-sort-button{font-weight:400;font-size:var(--ui-font-size-meta);background:0 0;border:0;min-height:20px;padding:0}.research-shell-main:is(.is-compare,.is-factors) :is(.data-table-pagination,.factor-table-note){font-size:var(--ui-font-size-meta);color:var(--ui-text-faint);padding-top:13px}.research-shell-main.is-factors .factor-page{padding:28px 18px 25px}.research-shell-main.is-factors .factor-filter-bar{border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);background:var(--ui-surface);padding:15px}.research-shell-main.is-factors :is(.factor-filter-bar input,.factor-filter-bar select){font-size:var(--ui-font-size-meta);border-color:var(--ui-border);border-radius:var(--ui-radius-xs);min-height:34px}.research-shell-main.is-factors .factor-table-panel{border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);box-shadow:var(--ui-shadow-panel)}.research-shell-main.is-factors .factor-table th{font-size:var(--ui-font-size-meta);background:var(--ui-surface-subtle);color:var(--surface-copy);padding:12px;font-weight:400}.research-shell-main.is-factors .factor-table td{font-size:var(--ui-font-size-body);color:var(--surface-copy);padding:18px 12px;font-weight:400}.research-shell-main.is-factors .factor-name-link{font-size:var(--ui-font-size-body);color:var(--surface-heading);font-weight:500}.research-shell-main.is-factors .factor-code{font-size:var(--ui-font-size-meta);color:var(--ui-text-faint);font-family:Segoe UI,sans-serif}.research-shell-main.is-factors .factor-status-badge{font-size:var(--ui-font-size-meta);border:0;border-radius:3px;padding:2px 5px;font-weight:400}.research-shell-main.is-factors :is(.factor-summary-strip,.factor-metrics-strip){border:0;border-bottom:1px solid var(--ui-border-subtle);background:var(--ui-surface);padding:22px 0}.research-shell-main.is-factors :is(.factor-summary-strip>div,.factor-metric-card){border-right:1px solid var(--ui-border-subtle);padding:0 21px}.research-shell-main.is-factors :is(.factor-summary-strip strong,.factor-metric-card strong){color:var(--ui-text);font:500 25px/1.4 Bahnschrift,Segoe UI,sans-serif}.research-shell-main.is-factors :is(.factor-summary-strip span,.factor-metric-card span){font-size:var(--ui-font-size-meta);color:var(--ui-text-faint);font-weight:400}.research-shell-main.is-factors .factor-detail-tabs{border:0;border-bottom:1px solid var(--ui-border);background:0 0;gap:25px;padding:0}.research-shell-main.is-factors .factor-detail-tabs button{font-size:var(--ui-font-size-body);background:0 0;border-radius:0;padding:12px 0;font-weight:400}.research-shell-main.is-factors .factor-detail-tabs button.active{color:var(--ui-primary);border-bottom-color:var(--ui-primary)}.research-shell-main.is-factors .factor-evidence-section{border:0;border-bottom:1px solid var(--ui-border-subtle);background:var(--ui-surface);box-shadow:none;border-radius:0;padding:24px}@media (width<=740px){.research-shell-main:is(.is-compare,.is-factors) :is(h1,.page-head h1,.factor-page-header h1,.factor-detail-header h1,.maintenance-header h1){font-size:22px}.research-shell-main:is(.is-compare,.is-factors) :is(.panel,.factor-surface,.maintenance-panel){padding:20px 15px}.research-shell-main.is-factors .factor-page{padding:24px 14px}.research-shell-main.is-compare .compare-chart-grid{grid-template-columns:1fr}}.research-shell .research-shell-main :is(.strategy-hero,.strategy-identity-band,.compare-page-head,.factor-page-header,.factor-detail-header,.codex-heading,.maintenance-header) h1{font-size:var(--research-title-size,26px);line-height:var(--research-title-line-height,1.35);letter-spacing:-.02em;font-weight:650}.research-shell .research-shell-main :is(.strategy-hero,.compare-page-head,.factor-page-header,.factor-detail-header,.codex-heading){margin-bottom:var(--research-header-gap,22px)}.research-shell .research-shell-main.is-codex .codex-page{padding:0 0 16px}.research-shell{font-size:var(--ui-font-size-body);line-height:1.6}.research-shell .research-shell-main :is(.record-more-metrics,.index-more-metrics,.mobile-command-label,.factor-mobile-toggle-cell,.factor-window-separator){display:none}.research-shell .research-shell-main :is(.record-metric strong,.index-entry-metrics strong,.factor-number,.result-metrics strong){font-variant-numeric:tabular-nums;text-align:right}.research-shell .research-shell-main :is(.index-entry-description,.index-expanded-summary,.index-expanded-rules dd,.record-identity>p,.factor-page-summary,.factor-detail-identity>p:last-child,.factor-definition-grid dd,.codex-request label,.run-phase p,.iteration-help,.detail-rule-copy,.strategy-hero-meta){font-size:var(--ui-font-size-body);line-height:1.65}.research-shell .research-shell-main :is(.index-entry-toggle,.record-title-line>a,.factor-name-cell>a,.history-run-title strong){font-size:var(--ui-font-size-title);line-height:1.5}.research-shell .research-shell-main :is(.catalog-filter-grid,.catalog-page-actions,.repository-pagination,.factor-filter-band,.factor-command-row,.codex-request,.codex-account,.research-topbar-actions,.detail-toolbar) :is(button,input,select,textarea,summary,a){font-size:var(--ui-font-size-body)}.research-shell .research-shell-main :is(.repository-index-entry,.factor-table td,.strategy-record){font-variant-numeric:tabular-nums}.research-shell .strategy-record .record-label{font-size:var(--ui-font-size-meta)}.research-shell .research-shell-main :is(.record-metric strong,.index-entry-metrics strong){font-family:var(--ui-font-sans);font-weight:500}.research-shell .research-shell-main :is(.catalog-toolbar,.factor-filter-band,.production-settings,.run-phase){box-shadow:none;background:0 0}.research-shell .research-shell-main :is(.catalog-toolbar,.factor-filter-band){border-inline:0;border-radius:0;padding-inline:0}.research-shell .research-shell-main :is(.index-entry-kind>span:first-child,.record-tags span){color:var(--ui-text-muted);background:0 0;border:0;padding-inline:0}.research-shell .research-shell-main :is(.repository-index-entry,.factor-table td){padding-block:var(--ui-space-4)}.research-shell .factor-table tbody tr.is-stale{background:0 0}.research-shell .factor-compare-option{justify-content:center;align-items:center;display:inline-flex}@media (width<=760px){.research-shell .research-shell-main .catalog-filter-grid input[type=search],.research-shell .research-shell-main :is(input:not([type=checkbox],[type=radio]),select,textarea){font-size:var(--ui-font-size-title)}.research-shell .strategy-record{padding:var(--ui-space-4);gap:var(--ui-space-2);grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:none}.research-shell .strategy-record>div{grid-area:auto;min-width:0;padding:0}.research-shell .strategy-record :is(.record-primary,.record-curve,.record-meta){grid-column:1/-1}.research-shell .strategy-record .record-primary{padding:0 0 var(--ui-space-2)!important}.research-shell .strategy-record .record-metric{min-height:0;padding-block:var(--ui-space-2)}.research-shell .strategy-record .record-metric strong{font-size:var(--ui-font-size-title);white-space:nowrap}.research-shell .strategy-record .record-more-metrics{grid-column:1/-1;display:block}.research-shell .record-more-metrics button,.research-shell .repository-index .index-more-metrics{min-height:44px;padding:var(--ui-space-2) 0;color:var(--ui-primary);font:inherit;cursor:pointer;background:0 0;border:0}.research-shell .strategy-record[data-mobile-metrics-open=false] :is(.record-curve,.record-sharpe,.record-win,.record-trades,.record-meta){display:none}.research-shell .strategy-record .record-actions{justify-content:flex-end;gap:var(--ui-space-2);padding-top:var(--ui-space-2);border-top:1px solid var(--ui-border-subtle);flex-wrap:wrap;grid-column:1/-1}.research-shell .strategy-index .record-actions :is(.library-run-button,.library-result-link){width:auto;min-height:44px;padding-inline:var(--ui-space-3);justify-content:center;align-items:center;gap:var(--ui-space-2);font-size:var(--ui-font-size-body);display:inline-flex}.research-shell .research-shell-main .mobile-command-label{display:inline}.research-shell .repository-index .index-entry-metrics{padding-top:var(--ui-space-3);gap:var(--ui-space-3);grid-template-columns:repeat(2,minmax(0,1fr))}.research-shell .repository-index .repository-index-entry{padding:var(--ui-space-4) var(--ui-space-3);gap:var(--ui-space-3);grid-template-columns:32px minmax(0,1fr)}.research-shell .repository-index .index-entry-metrics{border-left:0;border-top:1px solid var(--ui-border-subtle);grid-column:2;padding-left:0}.research-shell .repository-index .index-entry-actions,.research-shell .repository-index .index-entry-expanded{grid-column:1/-1}.research-shell .repository-index .index-entry-metrics>div:not(.index-entry-actions){text-align:right}.research-shell .repository-index .index-entry-metrics strong{font-size:var(--ui-font-size-title)}.research-shell .repository-index-entry[data-mobile-metrics-open=false] .index-secondary-metric{display:none}.research-shell .repository-index .index-more-metrics{text-align:left;grid-column:1/-1;display:block}.research-shell .repository-index .index-entry-actions{justify-content:flex-end;gap:var(--ui-space-2);flex-wrap:wrap}.research-shell .repository-index .index-entry-actions>:is(button,a){width:auto;min-height:44px;padding-inline:var(--ui-space-2);font-size:var(--ui-font-size-body)}.research-shell .repository-index .index-entry-kind{flex-wrap:wrap}.research-shell .research-shell-main.is-factors .factor-catalog-page .factor-table-wrap{border-inline:0;border-radius:0;overflow:visible}.research-shell .research-shell-main.is-factors .factor-catalog-page .factor-table{width:100%;min-width:0;display:block}.research-shell .factor-catalog-page .factor-table thead{display:none}.research-shell .factor-catalog-page .factor-table tbody{display:block}.research-shell .factor-catalog-page .factor-table tbody tr{gap:var(--ui-space-3);padding:var(--ui-space-4) 0;border-bottom:1px solid var(--ui-border);grid-template-columns:32px repeat(2,minmax(0,1fr));display:grid}.research-shell .research-shell-main.is-factors .factor-catalog-page .factor-table td{white-space:normal;overflow-wrap:anywhere;width:auto;min-width:0;font-size:var(--ui-font-size-body);border:0;padding:0}.research-shell .factor-catalog-page .factor-table .factor-name-cell{grid-column:2/-1}.research-shell .factor-catalog-page .factor-table .factor-status-cell{grid-column:1/-1}.research-shell .factor-catalog-page .factor-table td[data-label]:before{content:attr(data-label);margin-bottom:var(--ui-space-1);color:var(--ui-text-muted);font-size:var(--ui-font-size-meta);text-align:right;display:block}.research-shell .factor-catalog-page .factor-table .factor-core-metric{grid-row:3}.research-shell .factor-catalog-page .factor-table .factor-core-metric:first-of-type,.research-shell .factor-catalog-page .factor-table .factor-core-metric[data-label=RankIC]{grid-column:2}.research-shell .factor-catalog-page .factor-table .factor-core-metric[data-label=RankIC\ IR]{grid-column:3}.research-shell .factor-catalog-page .factor-table .factor-secondary-cell{text-align:right;grid-column:2/-1}.research-shell .factor-catalog-page .factor-table tr[data-mobile-metrics-open=false] .factor-secondary-cell,.research-shell .factor-catalog-page .factor-table .factor-window-cell br{display:none}.research-shell .research-shell-main .factor-window-separator{display:inline}.research-shell .research-shell-main.is-factors .factor-mobile-toggle-cell{grid-column:1/3;align-self:end;display:block}.research-shell .factor-catalog-page .factor-table .factor-row-actions{text-align:right;grid-column:3;align-self:end}.research-shell .factor-catalog-page .factor-table :is(.factor-row-command,.factor-text-button){min-height:44px;font-size:var(--ui-font-size-body)}.research-shell .research-shell-main .factor-command-row .factor-command{width:auto;padding-inline:var(--ui-space-3);white-space:nowrap}.research-shell .research-shell-main .factor-command-row .factor-command span{display:inline}.research-shell .factor-page-header{flex-wrap:wrap}.research-shell .factor-page-header>div:first-child{flex:220px}}@media (pointer:coarse){.research-shell :is(.record-compare-option,.factor-compare-option,.index-compare-option){justify-content:center;align-items:center;min-width:44px;min-height:44px;display:inline-flex}.research-shell .index-entry-order input{width:24px;height:24px}.research-shell .research-shell-main :is(.catalog-filter-toggle,.catalog-page-actions button,.repository-menu summary,.repository-view-control button,.repository-pagination button,.repository-pagination select,.factor-command,.factor-text-button,.research-topbar-actions button){min-height:44px}}
