*{box-sizing:border-box}body,html{background:var(--color-canvas)}body{margin:0;color:var(--color-ink);font-family:var(--font-sans);font-size:var(--text-md);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.flat-switch{display:inline-flex;align-items:center;gap:8px;height:var(--control-height);min-height:var(--control-height);padding:0 10px;border:0;border-radius:999px;background:#eef3f0;color:var(--muted);font-size:13.5px;font-weight:680;white-space:nowrap;cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}.flat-switch:focus-within,.flat-switch:hover{background:#e4ece8;color:var(--steel)}.flat-switch.is-active{background:var(--steel-soft);color:var(--steel)}.flat-switch input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:27px;height:16px;min-height:0;margin:0;padding:0;border:0;border-radius:999px;background:#b9c8c1;cursor:pointer;position:relative;transition:background-color var(--transition-fast);outline:0}.flat-switch input:after{position:absolute;top:3px;left:3px;width:10px;height:10px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(20,32,29,.18);content:"";transition:transform var(--transition-fast)}.flat-switch input:checked{background:var(--steel)}.flat-switch input:checked:after{transform:translateX(11px)}.flat-switch input:focus-visible{outline:2px solid rgba(49,94,83,.35);outline-offset:3px}.flat-switch__label{display:inline-flex;align-items:center}.content-frame{margin-left:var(--sidebar-width);min-width:0}.sidebar{width:var(--sidebar-width)}.content-frame,.sidebar{transition:width .22s ease,margin-left .22s ease}.shell{width:100%;max-width:var(--content-max);margin:0 auto;padding:var(--page-top) var(--page-gutter) 5rem}.page-head,.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-8);margin-bottom:var(--space-8)}.page-header__copy{min-width:0}.page-head h1,.page-header h1{margin:0 0 var(--space-2);font-size:var(--text-3xl);font-weight:680;letter-spacing:-.04em;line-height:var(--leading-tight)}.page-head p:not(.eyebrow),.page-header__copy>p:last-child{max-width:48rem;margin:0;color:var(--color-muted);font-size:var(--text-md);line-height:var(--leading-normal)}.eyebrow{margin:0;color:var(--color-accent)!important;font-size:var(--text-xs)!important;font-weight:750!important;letter-spacing:.16em}.page-context,.page-header__context{flex:0 0 auto;text-align:right}.page-context span,.page-context strong,.page-header__context span,.page-header__context strong{display:block}.page-context span,.page-header__context span{margin-bottom:var(--space-1);color:var(--color-subtle);font-size:var(--text-xs)}.page-context strong,.page-header__context strong{font-size:var(--text-sm)}.card-surface,.metric,.panel{min-width:0;border:0;border-radius:var(--radius-lg);background:var(--color-surface-muted);box-shadow:none}.card-surface,.panel{padding:var(--space-6)}.card-header,.panel-title{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-5)}.card-header h2,.panel-title h2{margin:0 0 var(--space-5);font-size:var(--text-lg);font-weight:680;letter-spacing:-.01em}.card-header__meta,.panel-title span{color:var(--color-muted);font-size:var(--text-xs)}.actions,.button-group{display:flex;align-items:center;gap:var(--space-2)}.button,.ghost,.primary{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--control-height);border:1px solid transparent;border-radius:var(--radius-sm);padding:.625rem .9375rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;text-decoration:none;text-align:center;font-weight:680;line-height:1;white-space:nowrap;transition:background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.button--primary,.primary{background:var(--color-brand);color:#fff;box-shadow:0 4px 12px rgba(49,94,83,.16)}.button--primary:hover:not(:disabled),.primary:hover:not(:disabled){background:var(--color-brand-hover);transform:translateY(-1px)}.button--secondary,.ghost{border-color:transparent;background:var(--color-surface-muted);color:var(--color-ink)}.button--secondary:hover:not(:disabled),.ghost:hover:not(:disabled){border-color:transparent;background:#edf1ee}.button--quiet{background:transparent;color:var(--color-brand)}.icon-button{position:relative;display:inline-grid;width:var(--control-height);min-width:var(--control-height);height:var(--control-height);place-items:center;padding:.45rem}.icon-button svg{display:block;width:1.1rem;height:1.1rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7}.icon-button.is-spinning svg{animation:icon-button-spin .9s linear infinite}@keyframes icon-button-spin{to{transform:rotate(1turn)}}.portal-tooltip{position:fixed;z-index:var(--z-tooltip);width:max-content;max-width:min(18rem,calc(100vw - 1rem));padding:.45rem .6rem;border-radius:var(--radius-sm);background:var(--color-ink);box-shadow:0 8px 20px rgba(20,32,29,.16);color:#fff;font-size:var(--text-xs);font-weight:550;line-height:1.3;pointer-events:none;white-space:normal}.sheet-icon__page{fill:#34a853;stroke:#34a853}.sheet-icon__fold,.sheet-icon__grid{stroke:#fff}.button:disabled,.ghost:disabled,.primary:disabled{cursor:not-allowed;opacity:.55;transform:none}.alert,.feedback,.notice,.test-banner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin:var(--space-4) 0;border:0;border-radius:var(--radius-md);padding:.8125rem var(--space-4);font-size:var(--text-sm);line-height:var(--leading-normal)}.feedback--success,.notice{border-color:#cee4dc;background:var(--color-success-soft);color:var(--color-success)}.alert,.feedback--danger{border-color:#efcfcb;background:var(--color-danger-soft);color:var(--color-danger)}.feedback--warning,.test-banner{border-color:#eadabb;background:var(--color-warning-soft);color:#755a2f}.feedback--info{border-color:#d4e1dd;background:var(--color-brand-soft);color:var(--color-brand)}.status,.status-badge{display:inline-flex;align-items:center;width:-moz-fit-content;width:fit-content;border-radius:var(--radius-pill);padding:.3125rem .5625rem;background:#eef1ef;color:var(--color-muted);font-size:var(--text-xs);font-style:normal;line-height:1}.status-badge--active,.status-badge--approved,.status-badge--succeeded,.status.active,.status.approved,.status.succeeded{background:var(--color-success-soft);color:var(--color-success)}.status-badge--failed,.status.failed{background:var(--color-danger-soft);color:var(--color-danger)}.status-badge--partial,.status-badge--warning{background:var(--color-warning-soft);color:var(--color-warning)}.status-badge--bullish{background:var(--color-success-soft);color:var(--color-success)}.status-badge--bearish{background:var(--color-danger-soft);color:var(--color-danger)}.status-badge--neutral,.status-badge--running,.status-badge--shadow{background:var(--color-accent-soft);color:var(--color-warning)}.metric,.metric-card{display:flex;min-height:8.75rem;flex-direction:column;padding:var(--space-5)}.metric small,.metric span,.metric-card>small,.metric-card>span{color:var(--color-muted)}.metric span,.metric-card>span{font-size:var(--text-sm);font-weight:650}.metric strong,.metric-card>strong{margin:auto 0 var(--space-2);font-size:1.875rem;font-weight:650;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.04em;line-height:1}.metric small,.metric-card>small{font-size:var(--text-xs)}.danger,.text-danger{color:var(--color-danger)!important}.text-success{color:var(--color-success)!important}.empty-state{display:grid;min-height:8rem;place-content:center;padding:var(--space-6);color:var(--color-subtle);text-align:center}.empty-state strong{color:var(--color-muted);font-size:var(--text-sm)}.empty-state p{max-width:28rem;margin:var(--space-2) 0 0;font-size:var(--text-xs);line-height:var(--leading-normal)}.range-switcher,.segmented-control{display:flex;align-items:center;gap:.1875rem;padding:.1875rem;border:1px solid var(--color-line);border-radius:.625rem;background:var(--color-surface-muted)}.range-switcher button,.segmented-control button{border:0;border-radius:.4375rem;background:transparent;color:var(--color-muted);cursor:pointer;padding:.5rem .6875rem;font-size:var(--text-xs);font-weight:680;line-height:1;white-space:nowrap}.range-switcher button:hover,.segmented-control button:hover{color:var(--color-ink)}.range-switcher button.active,.segmented-control button.is-active{background:var(--color-surface);color:var(--color-brand);box-shadow:var(--shadow-sm),0 2px 6px rgba(14,28,24,.06)}.market-chart-head.compact .segmented-control{grid-column:2;grid-row:1}.model-actions .button{min-height:2rem;padding:.4375rem .6875rem;font-size:var(--text-xs)}.model-actions .button--primary{border-color:transparent;background:var(--color-brand);color:#fff}.model-actions .button--secondary{border-color:var(--color-line-strong);background:var(--color-surface);color:var(--color-ink)}.backtest__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.model-detail-stack{display:grid;grid-gap:var(--space-5);gap:var(--space-5);margin-top:var(--space-5)}.model-overview-stack{margin-top:0}.model-overview-card{display:grid;grid-gap:0;gap:0}.model-data-note{max-width:58rem;margin:calc(var(--space-2) * -1) 0 var(--space-5);color:var(--color-muted);font-size:var(--text-sm);line-height:var(--leading-normal)}.training-table-wrap{max-height:42rem;overflow:auto;border:1px solid var(--color-line);border-radius:var(--radius-md)}.factor-weight-table,.training-table{width:100%;border-collapse:collapse;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.training-table{min-width:980px}.factor-weight-table th,.training-table th{color:var(--color-subtle);font-size:var(--text-xs);font-weight:680;line-height:var(--leading-normal);white-space:nowrap}.training-table th{position:-webkit-sticky;position:sticky;top:0;z-index:1;background:var(--color-surface-muted)}.factor-weight-table td small,.training-table th small{color:var(--color-subtle);font-size:.9375rem;font-weight:500}.factor-weight-table td,.factor-weight-table th,.training-table td,.training-table th{padding:.75rem .625rem;border-bottom:1px solid var(--color-line);text-align:left;white-space:nowrap}.factor-weight-table tbody tr:last-child td,.training-table tbody tr:last-child td{border-bottom:0}.factor-weight-table .numeric,.training-table .numeric{text-align:right}.positive-number{color:var(--color-success)}.negative-number{color:var(--color-danger)}.model-factor-group+.model-factor-group{margin-top:var(--space-6);padding-top:var(--space-6);border-top:1px solid var(--color-line)}.model-factor-group>header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-3)}.factor-weight-table td:first-child,.model-factor-group>header div{display:flex;flex-direction:column;gap:.25rem}.model-factor-group>header b{font-size:var(--text-sm)}.model-factor-group>header small,.model-factor-group>header>span{color:var(--color-muted);font-size:var(--text-xs)}.factor-weight-table td:first-child small{color:var(--color-subtle);font-family:var(--font-mono);font-size:.9375rem}.factor-weight-table td:first-child .factor-description{max-width:32rem;color:var(--color-muted);font-family:inherit;font-size:var(--text-xs);line-height:var(--leading-normal);white-space:normal}.model-row__copy{min-width:0}.model-row__dates{color:var(--color-subtle)!important}.model-row__metrics{color:var(--color-brand)!important;font-weight:680}.factor-status-legend{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:calc(var(--space-3) * -1) 0 var(--space-5)}.factor-status{display:inline-flex;width:-moz-fit-content;width:fit-content;align-items:center;border-radius:var(--radius-pill);padding:.25rem .5rem;font-size:var(--text-xs);font-weight:680;line-height:1.2;white-space:nowrap}.factor-status--production{color:var(--color-success);background:var(--color-success-soft)}.factor-status--candidate{color:var(--color-warning);background:var(--color-warning-soft)}.factor-status--observed{color:var(--color-brand);background:var(--color-brand-soft)}.factor-status--legacy{color:var(--color-muted);background:var(--color-surface-muted)}.factor-status--unclassified{color:var(--color-danger);background:var(--color-danger-soft)}.model-version-details{min-width:0;border-top:1px solid var(--color-line)}.model-version-summary{min-width:0;grid-template-columns:minmax(0,1fr) auto auto auto;border-top:0}.model-expand-button{display:inline-grid;width:1.75rem;min-width:1.75rem;height:1.75rem;place-items:center;padding:0;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-brand);cursor:pointer;font-size:1.25rem;font-weight:700;line-height:1;grid-column:4}.model-expand-button:hover{background:var(--color-brand-soft);color:var(--color-brand)}.model-expand-button:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.model-factor-detail{min-width:0;padding:0 0 var(--space-5) var(--space-5)}.model-factor-detail__note{margin:0 0 var(--space-3);color:var(--color-muted);font-size:var(--text-xs);line-height:var(--leading-normal)}.model-factor-detail .table-wrap{overflow-x:auto}.model-factor-detail .factor-weight-table{min-width:1360px}.factor-weight-table .factor-key{color:var(--color-subtle);font-family:var(--font-mono);font-size:.9375rem}.factor-weight-table .factor-status-reason{max-width:18rem;color:var(--color-muted);font-family:inherit;font-size:var(--text-xs);line-height:var(--leading-normal);white-space:normal}.factor-usage{display:inline-flex;width:-moz-fit-content;width:fit-content;border-radius:var(--radius-pill);padding:.25rem .5rem;font-size:var(--text-xs);font-weight:680;white-space:nowrap}.factor-usage--used{color:var(--color-brand);background:var(--color-brand-soft)}.factor-usage--unused{color:var(--color-subtle);background:var(--color-surface-muted)}.factor-row--unused td{background:rgba(245,247,245,.45)}.factor-share-cell{min-width:7rem}.factor-share-cell b{display:block;font-weight:680}.factor-share-bar{display:block;width:4.5rem;height:.25rem;margin-top:.35rem;overflow:hidden;border-radius:var(--radius-pill);background:var(--color-line)}.factor-share-bar span{display:block;height:100%;border-radius:inherit;background:var(--color-brand)}.training-data-summary{display:flex;flex-wrap:wrap;gap:var(--space-5);margin-bottom:var(--space-4);color:var(--color-muted);font-size:var(--text-sm)}.training-data-summary strong{margin-left:var(--space-1);color:var(--color-ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.training-data-summary .summary-valid strong{color:var(--color-success)}.training-data-summary .summary-invalid strong{color:var(--color-danger)}.training-data-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-4);margin-bottom:var(--space-4);padding:var(--space-4);border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface-muted)}.training-status-filter{display:flex;align-items:center;gap:var(--space-4);min-width:11rem;margin:0;padding:0;border:0}.training-status-filter legend{margin-right:var(--space-1);color:var(--color-muted);font-size:var(--text-xs);font-weight:680}.training-status-filter label{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--color-ink);font-size:var(--text-sm);cursor:pointer}.training-status-filter input[type=checkbox]{width:1rem;min-height:1rem;margin:0;accent-color:var(--color-brand)}.training-date-filter{display:flex;align-items:flex-end;gap:var(--space-3)}.training-date-filter label{color:var(--color-muted);font-size:var(--text-xs);font-weight:680}.training-date-filter input{width:9.5rem;margin-top:var(--space-1);padding:.5rem .625rem;font-size:var(--text-sm)}.training-date-filter>span{padding-bottom:.6875rem;color:var(--color-subtle);font-size:var(--text-sm)}.filter-reset{min-height:2.25rem;padding:.5rem .75rem;font-size:var(--text-xs)}.filter-warning{margin:calc(var(--space-2) * -1) 0 var(--space-4);color:var(--color-danger)!important;font-size:var(--text-xs)!important}.training-status{display:inline-flex;align-items:center;padding:.25rem .5rem;border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:680}.training-status--valid{color:var(--color-success);background:var(--color-success-soft)}.training-status--invalid{color:var(--color-danger);background:var(--color-danger-soft)}.training-table{min-width:1240px}.training-table .reason-cell{min-width:13rem;max-width:22rem;color:var(--color-muted);white-space:normal;line-height:var(--leading-normal)}.training-pagination{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-top:var(--space-4);color:var(--color-muted);font-size:var(--text-xs)}.training-pagination>div{display:flex;align-items:center;gap:var(--space-2)}.training-pagination .button{min-height:2rem;padding:.375rem .625rem;font-size:var(--text-xs)}.training-pagination strong{min-width:5.5rem;color:var(--color-ink);text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (max-width:760px){.model-detail-stack{margin-top:var(--space-4)}.model-data-note{margin-bottom:var(--space-4)}.training-table-wrap{max-height:32rem}.training-data-toolbar{align-items:stretch;flex-direction:column}.training-status-filter{min-width:0}.training-date-filter{align-items:stretch}.training-date-filter label{flex:1 1 10rem}.training-date-filter input{width:100%}.filter-reset{align-self:flex-start}.training-pagination{align-items:flex-start;flex-direction:column}.training-pagination>div{flex-wrap:wrap}.model-version-summary{grid-template-columns:minmax(0,1fr) auto;align-items:start}.model-version-summary>.status-badge{grid-column:1;grid-row:2;justify-self:start}.model-version-summary>.model-actions{grid-column:1/-1;grid-row:3;justify-self:end}.model-version-summary>.model-expand-button{grid-column:2;grid-row:1}.model-factor-detail{padding-left:0}}input,select,textarea{min-height:var(--control-height);border:1px solid var(--color-line-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-ink)}input::placeholder,textarea::placeholder{color:var(--color-subtle)}input:focus,select:focus,textarea:focus{border-color:#71978e;box-shadow:0 0 0 3px var(--color-focus)}.table-wrap{overflow:auto;scrollbar-width:thin}table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}td,th{padding:.8125rem .625rem;border-bottom:0;text-align:left;white-space:nowrap}th{color:var(--color-subtle);font-size:var(--text-xs);font-weight:680;letter-spacing:.04em}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:var(--color-surface-muted)}@media (max-width:760px){.content-frame{margin-left:0}.page-head,.page-header{align-items:flex-start}.page-head h1,.page-header h1{font-size:1.875rem}.page-context,.page-header__context{display:none}}@media (max-width:540px){.page-head,.page-header{flex-direction:column;gap:var(--space-4)}.actions,.button-group{width:100%}.actions>*,.button-group>*{flex:1 1}.card-surface,.panel{padding:var(--space-5)}}@media (max-width:620px){.market-chart-head:not(.compact) .segmented-control,.signal-trend-head .segmented-control{width:100%}.market-chart-head:not(.compact) .segmented-control button,.signal-trend-head .segmented-control button{flex:1 1}}@container (max-width: 470px){.market-chart-head.compact .segmented-control{grid-column:1;grid-row:2}}.sidebar{border-right:0;background:#f7f9f7;box-shadow:none}.sidebar-foot{border-top:0}.collapse-toggle{display:none;width:2rem;height:2rem;flex:0 0 2rem;place-items:center;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-muted);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}.collapse-toggle:hover{background:rgba(23,33,30,.055);color:var(--color-ink)}.collapse-toggle svg,.nav-icon svg{display:block;width:1.15rem;height:1.15rem;fill:none;stroke:currentColor;stroke-width:1.8}.nav-icon,.side-nav a.active .nav-icon{border:0;background:transparent}.side-nav a.active{box-shadow:none}@media (min-width:761px){html[data-nav-collapsed=true]{--sidebar-width:5rem}.collapse-toggle{display:grid}.sidebar-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.sidebar-foot .system-state{min-width:0;flex:1 1 auto}.sidebar-foot .collapse-toggle{align-self:center;flex:0 0 var(--control-height)}.sidebar.is-collapsed{padding-right:.75rem;padding-left:.75rem}.sidebar.is-collapsed .sidebar-brand{justify-content:space-between;gap:0;padding:0}.sidebar.is-collapsed .brand-mark{width:1.65rem;height:1.65rem}.sidebar.is-collapsed .nav-copy,.sidebar.is-collapsed .sidebar-brand>div{display:none}.sidebar.is-collapsed .sidebar-foot{display:flex;align-items:center;gap:0;padding:var(--space-3) 0 0}.sidebar.is-collapsed .sidebar-foot .system-state{display:none}.sidebar.is-collapsed .sidebar-foot .collapse-toggle{align-self:center}.sidebar.is-collapsed .side-nav{margin-top:1.875rem}.sidebar.is-collapsed .side-nav a{position:relative;justify-content:center;padding:.5rem}.sidebar.is-collapsed .nav-icon{width:2.25rem;height:2.25rem;flex:0 0 2.25rem}.sidebar.is-collapsed .side-nav a:after{position:absolute;left:calc(100% + .625rem);z-index:var(--z-tooltip);width:max-content;padding:.45rem .625rem;border-radius:var(--radius-sm);background:var(--color-ink);color:#fff;content:attr(data-nav-label);font-size:var(--text-xs);font-weight:650;opacity:0;pointer-events:none;transform:translateX(-.25rem);transition:opacity var(--transition-fast),transform var(--transition-fast)}.sidebar.is-collapsed .side-nav a:focus-visible:after,.sidebar.is-collapsed .side-nav a:hover:after{opacity:1;transform:translateX(0)}}.mobile-bar{border-bottom:0;background:#f7f9f7;box-shadow:none}.dashboard-loader,.signal-card{border:0;background:var(--color-surface-muted);box-shadow:none}.signal-card:after{opacity:.45}.data-preview-grid>div,.driver-group,.model-performance>div,.signal-driver-summary>div,.signal-kicker i{border:0;background:var(--color-surface)}.explanation-lead,.explanation-panel .risk-line,.model-performance-panel .prose,.signal-card footer,.signal-score{border:0}.range-switcher,.segmented-control{border:0;background:rgba(23,33,30,.045)}.range-switcher button.active,.segmented-control button.is-active{box-shadow:none}.alert,.daily-loading,.feedback,.notice,.test-banner{border:0}@media (max-width:760px){.sidebar{width:17rem;background:#f7f9f7}}.shell{display:flex;flex-direction:column;gap:var(--space-6)}.shell>*{margin-block:0}.shell>.daily-summary-grid,.shell>.overview-grid,.shell>.prediction-grid,.shell>.split,.shell>.stats{gap:var(--space-4)}@media (max-width:760px){.shell{gap:var(--space-5)}}.card-surface .factor-weight-table td,.card-surface .factor-weight-table th,.card-surface .training-table td,.card-surface .training-table th,table td,table th{border-bottom:0}table tbody tr{transition:background-color var(--transition-fast)}.card-surface table{border-collapse:separate;border-spacing:0}table tbody tr:hover,table tbody tr:hover>td,table tbody tr:hover>th{background-color:var(--color-surface-muted)}.card-surface table tbody tr:hover>td:first-child{border-top-left-radius:var(--radius-sm);border-bottom-left-radius:var(--radius-sm)}.card-surface table tbody tr:hover>td:last-child{border-top-right-radius:var(--radius-sm);border-bottom-right-radius:var(--radius-sm)}.card-surface .factor-weight-table tbody tr:hover>td:first-child,.card-surface .training-table tbody tr:hover>td:first-child{border-top-left-radius:var(--radius-sm);border-bottom-left-radius:var(--radius-sm)}.card-surface .factor-weight-table tbody tr:hover>td:last-child,.card-surface .training-table tbody tr:hover>td:last-child{border-top-right-radius:var(--radius-sm);border-bottom-right-radius:var(--radius-sm)}.card-surface .backtest,.card-surface .contribution-row,.card-surface .factor,.card-surface .issue,.card-surface .model-row,.card-surface .policy-list>div,.card-surface .prediction-row,.card-surface .preview-row,.card-surface .quote-row{border-top:0;border-bottom:0;transition:background-color var(--transition-fast)}.card-surface .backtest:hover,.card-surface .contribution-row:hover,.card-surface .factor:hover,.card-surface .issue:hover,.card-surface .model-row:hover,.card-surface .policy-list>div:hover,.card-surface .prediction-row:hover,.card-surface .preview-row:hover,.card-surface .quote-row:hover{background:var(--color-surface);border-radius:var(--radius-sm)}.card-surface .contribution-list,.card-surface .explanation-lead,.card-surface .market-line-card__footer,.card-surface .market-lines-quotes,.card-surface .model-factor-group+.model-factor-group,.card-surface .model-version-details,.card-surface .quote-edit-row,.card-surface .quote-form,.card-surface.explanation-panel .risk-line,.card-surface.forecast-card footer,.card-surface.model-performance-panel .prose,.card-surface.policy-card .daily-form,.signal-card footer{border-top:0}.card-surface .factor-grid{gap:var(--space-2);border:0;border-radius:0;overflow:visible}.card-surface .factor-grid .factor{border:0;border-radius:var(--radius-md)}.reconnect-alert{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.reconnect-alert button{border:1px solid;border-radius:var(--radius-sm);background:transparent;color:inherit;padding:.375rem .625rem;cursor:pointer;font:650 var(--text-xs) /1 var(--font-sans);white-space:nowrap}:root{color-scheme:light;--font-sans:Inter,"SF Pro Text","Noto Sans SC",system-ui,sans-serif;--font-mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;--font-size-base:1.21875rem;--text-xs:1.03125rem;--text-sm:1.125rem;--text-md:var(--font-size-base);--text-lg:1.40625rem;--text-xl:1.6875rem;--text-2xl:2.25rem;--text-3xl:3.1875rem;--leading-tight:1.2;--leading-normal:1.55;--leading-relaxed:1.75;--color-ink:#17211e;--color-muted:#5f6d67;--color-subtle:#82908a;--color-canvas:var(--color-surface-muted);--color-surface:#ffffff;--color-surface-muted:#f2f5f3;--color-line:#e3e9e5;--color-line-strong:#cfd8d3;--color-brand:#315e53;--color-brand-hover:#254d44;--color-brand-soft:#e6f0ed;--color-accent:#c36a3d;--color-accent-soft:#fbf0e8;--color-success:#24765f;--color-success-soft:#e4f2ed;--color-success-border:#cfe3dc;--color-danger:#b24d45;--color-danger-soft:#f8e8e6;--color-danger-border:#edd5d2;--color-warning:#9a6829;--color-warning-soft:#fff6e7;--color-warning-border:#ecdcc9;--color-focus:rgba(49,94,83,0.14);--color-sidebar-text:#65716d;--color-sidebar-subtle:#9aa4a0;--color-sidebar-label:#a0a9a5;--color-sidebar-active:#8d4b28;--color-sidebar-active-soft:#fbf2eb;--color-sidebar-active-border:#edcdb8;--color-sidebar-active-icon:#b45f32;--color-sidebar-active-muted:#b47b5c;--color-control-surface:#fafbfa;--color-control-hover:#f6f8f7;--color-control-border:#e1e6e3;--color-utility-surface:rgba(255,255,255,0.92);--ink:var(--color-ink);--muted:var(--color-muted);--soft:var(--color-subtle);--canvas:var(--color-canvas);--paper:var(--color-surface);--line:var(--color-line);--line-dark:var(--color-line-strong);--nav:var(--color-ink);--nav-muted:var(--color-muted);--brand:var(--color-accent);--brand-soft:var(--color-accent-soft);--steel:var(--color-brand);--steel-soft:var(--color-brand-soft);--ok:var(--color-success);--ok-soft:var(--color-success-soft);--bad:var(--color-danger);--bad-soft:var(--color-danger-soft);--warning:var(--color-warning);--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--radius-sm:0.5rem;--radius-md:0.75rem;--radius-lg:1rem;--radius-pill:999px;--radius:var(--radius-lg);--shadow-sm:none;--shadow-md:none;--shadow:var(--shadow-md);--sidebar-width:16rem;--content-max:90rem;--page-gutter:2.625rem;--page-top:2.625rem;--control-height:2.5rem;--transition-fast:160ms ease;--z-tooltip:1000}@media (max-width:1050px){:root{--sidebar-width:13.75rem;--page-gutter:1.75rem;--page-top:2.25rem}}@media (max-width:760px){:root{--page-gutter:1.125rem;--page-top:1.75rem}}.app-frame,.content-frame,body,html{background:var(--color-canvas);color:var(--color-ink)}.utility-bar{background:var(--color-utility-surface)}.mobile-bar,.sidebar{background:var(--color-surface);color:var(--color-ink)}.sidebar{border-right:1px solid var(--color-line)}.mobile-bar{border-bottom:1px solid var(--color-line)}.card-surface,.metric,.panel{background:var(--color-surface);color:var(--color-ink)}input,select,textarea{background:var(--color-surface-muted)}input:focus,select:focus,textarea:focus{background:var(--color-surface)}.sidebar-brand>div{color:var(--color-ink)}.brand-mark{padding:0;background:transparent;flex:0 0 auto}.brand-mark svg{display:block;width:100%;height:100%}.sidebar-brand b{color:var(--color-sidebar-subtle)}.side-nav{margin-top:30px}.side-nav a{color:var(--color-sidebar-text)}.side-nav a:hover{color:var(--color-ink);background:var(--color-control-hover)}.side-nav a.active{color:var(--color-sidebar-active);background:var(--color-sidebar-active-soft);box-shadow:inset 3px 0 0 var(--color-accent)}.nav-icon{border-color:var(--color-control-border);background:var(--color-control-surface);color:var(--color-muted)}.side-nav a.active .nav-icon{border-color:var(--color-sidebar-active-border);background:var(--color-accent-soft);color:var(--color-sidebar-active-icon)}.side-nav small{color:var(--color-sidebar-label)}.side-nav a.active small{color:var(--color-sidebar-active-muted)}.sidebar-foot{border-top-color:var(--color-line)}.system-state{color:var(--color-sidebar-text)}.sidebar-foot p{color:var(--color-sidebar-label)}.sidebar-foot strong{color:var(--color-muted)}@media (max-width:760px){.mobile-bar{box-shadow:0 4px 18px rgba(20,32,29,.05)}.mobile-brand{color:var(--color-ink)}.mobile-brand b{color:var(--color-sidebar-subtle)}.menu-toggle{border-color:var(--color-line-strong);background:var(--color-control-surface)}.menu-toggle i{background:var(--color-ink)}}.signal-card{background:var(--color-surface);color:var(--color-ink);border-color:var(--color-line)}.driver-group span,.signal-card footer small,.signal-card footer span,.signal-driver-summary header span,.signal-kicker span,.signal-main p{color:var(--color-muted)}.signal-kicker i{border-color:var(--color-accent-soft);background:var(--color-accent-soft);color:var(--color-accent)}.confidence-block>small{color:var(--color-subtle)}.signal-card footer{border-top-color:var(--color-line)}.signal-card.bullish .signal-conclusion>strong,.signal-card.bullish footer b{color:var(--color-success)}.signal-card.bearish .signal-conclusion>strong,.signal-card.bearish footer b{color:var(--color-danger)}.signal-score{background:var(--color-surface);border-color:var(--color-line)}.driver-group.positive,.signal-driver-summary>div.positive,.signal-score.positive{background:var(--color-success-soft);border-color:var(--color-success-border)}.driver-group.negative,.signal-driver-summary>div.negative,.signal-score.negative{background:var(--color-danger-soft);border-color:var(--color-danger-border)}.signal-score.neutral{background:var(--color-warning-soft);border-color:var(--color-warning-border)}.signal-driver-summary>div{background:var(--color-surface-muted);border-color:var(--color-line)}.driver-group.negative em,.driver-group.positive em,.signal-driver-summary .negative em,.signal-driver-summary .positive em{background:var(--color-surface)}.explanation-summary,.model-method,.model-method__body{background:var(--color-surface-muted);color:var(--color-ink)}.model-method>summary{background:var(--color-brand-soft);color:var(--color-ink)}.model-method__intro,.model-method__rule{background:var(--color-surface);color:var(--color-ink)}.model-method__footnote,.model-method__formula{background:var(--color-surface-muted)}.market-snapshot__head h2{font-size:var(--text-lg)}.icon-button{background:var(--color-control-surface)}.icon-button:focus-visible,.icon-button:hover:not(:disabled){background:var(--color-control-hover)}.section-header-actions.is-editing .icon-button{background:var(--color-control-surface)}.section-header-actions.is-editing .icon-button:hover:not(:disabled){background:var(--color-control-hover)}.market-overview-panel__card .market-snapshot__card tbody tr,.market-overview-panel__card .market-snapshot__card tbody tr>td,.market-overview-panel__card .market-snapshot__detail-row>td,.market-overview-panel__card .market-snapshot__row--group>td{background:var(--color-surface)}.market-overview-panel__card .market-snapshot__card tbody tr:hover,.market-overview-panel__card .market-snapshot__card tbody tr:hover>td{background:var(--color-surface-muted)}.global-market-table td,.global-market-table th{border-bottom:0}.global-market-update>strong,.global-market-update>time{font-size:14px}.global-market-card__head{border-bottom:0}.global-market-card{overflow:clip}.global-market-logo.dow-jones{background-color:#eef2ff}.global-market-logo.sp500{background-color:#eaf4ed}.global-market-logo.coinbase{background-color:#eaf2ff}.global-market-logo.sse{background-color:#fff0ef}.global-market-logo.dow-jones .global-market-logo__fallback{color:#4654bf;font-size:22px;font-weight:850}.global-market-logo.sp500 .global-market-logo__fallback{color:#2f8b61;font-size:14px;font-weight:850;letter-spacing:-.08em}.global-market-logo.coinbase .global-market-logo__mark{filter:none}.global-market-logo.sse .global-market-logo__mark{filter:brightness(0) saturate(100%) invert(21%) sepia(97%) saturate(3925%) hue-rotate(347deg) brightness(91%) contrast(91%)}.global-market-table thead th{position:-webkit-sticky;position:sticky;top:0;z-index:4;border:0;background:var(--color-surface-muted);padding-top:11px;padding-bottom:11px}.global-market-table thead th:first-child{position:-webkit-sticky;position:sticky;z-index:4;border-top-left-radius:var(--radius-sm);border-bottom-left-radius:var(--radius-sm)}.global-market-table thead th:last-child{border-top-right-radius:var(--radius-sm);border-bottom-right-radius:var(--radius-sm)}.global-market-table .global-market-table__spacer{height:8px;background:transparent;pointer-events:none}.global-market-table .global-market-table__spacer>td{height:8px;padding:0;background:transparent}.global-market-table{--global-market-row-inset:24px;border-collapse:separate;border-spacing:0}.global-market-table-wrap{overflow:visible}.global-market-table tbody tr:not(:last-child){background-image:linear-gradient(to right,transparent 0,transparent var(--global-market-row-inset),var(--color-surface-muted) var(--global-market-row-inset),var(--color-surface-muted) calc(100% - var(--global-market-row-inset)),transparent calc(100% - var(--global-market-row-inset)),transparent 100%);background-position:0 100%;background-repeat:no-repeat;background-size:100% 1px}.global-market-table tbody tr.global-market-table__spacer{background-image:none}.global-market-table tbody tr.global-market-row:hover>td,.global-market-table tbody tr.global-market-row:hover>th{background-color:var(--color-surface-muted)}.global-market-table tbody tr.global-market-row:hover>th:first-child{border-top-left-radius:calc(var(--radius-sm) * 1.5);border-bottom-left-radius:calc(var(--radius-sm) * 1.5)}.global-market-table tbody tr.global-market-row:hover>td:last-child{border-top-right-radius:calc(var(--radius-sm) * 1.5);border-bottom-right-radius:calc(var(--radius-sm) * 1.5)}.global-market-table tbody tr.global-market-row.is-tagged:hover,.global-market-table tbody tr.global-market-row.is-tagged:hover>td,.global-market-table tbody tr.global-market-row.is-tagged:hover>th{background-color:transparent}.global-market-table.is-tag-filtered tbody tr.global-market-row.is-tagged:hover>td,.global-market-table.is-tag-filtered tbody tr.global-market-row.is-tagged:hover>th{background-color:var(--color-surface-muted)}@media (max-width:760px){.global-market-table{--global-market-row-inset:16px}.global-market-table-wrap{overflow-x:auto}.global-market-table thead th{top:62px}}