@layer tokens,themes,base,layout,components,a11y;@layer tokens{:root{--bg-app: #0d1117;--bg-card: #161b22;--bg-card-hover: #1c2128;--bg-input: #0d1117;--text-primary: #e6edf3;--text-secondary: #8b949e;--text-muted: #848d97;--accent: #58a6ff;--accent-hover: #79c0ff;--border: #30363d;--border-focus: #58a6ff;--signal-buy: #3fb950;--signal-sell: #f85149;--signal-neutral: #8b949e;--danger: #f85149;--danger-hover: #da3633;--badge-fg-blend: #fff;--badge-fg-blend-amt: 30%;--sp-xs: 4px;--sp-sm: 8px;--sp-md: 16px;--sp-lg: 24px;--sp-xl: 32px;--font-mono: "JetBrains Mono", "Fira Code", ui-monospace, monospace;--font-sans: "Inter Variable", "Inter", system-ui, -apple-system, sans-serif;--font-size-sm: .8125rem;--font-size-base: .875rem;--font-size-lg: 1rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--line-height: 1.5;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--transition-fast: .15s ease;--transition-normal: .25s ease}}@layer themes{[data-theme=light]{--bg-app: #f6f8fa;--bg-card: #fff;--bg-card-hover: #f3f4f6;--bg-input: #f6f8fa;--text-primary: #1f2328;--text-secondary: #656d76;--text-muted: #59636e;--signal-neutral: #57606a;--border: #d0d7de;--border-focus: #0969da;--accent: #0969da;--accent-hover: #0550ae;--signal-buy: #1a7f37;--signal-sell: #cf222e;--danger: #cf222e;--danger-hover: #a40e26;--badge-fg-blend: #000;--badge-fg-blend-amt: 35%}[data-palette=deuteranopia]{--signal-buy: #0072b2;--signal-sell: #d55e00;--signal-neutral: #999999;--accent: #56b4e9;--accent-hover: #88cfed;--change-positive: #0072b2;--change-negative: #d55e00}[data-palette=protanopia]{--signal-buy: #0072b2;--signal-sell: #e69f00;--signal-neutral: #999999;--accent: #009e73;--accent-hover: #00b884;--change-positive: #0072b2;--change-negative: #e69f00}[data-palette=tritanopia]{--signal-buy: #d81b60;--signal-sell: #1e88e5;--signal-neutral: #757575;--accent: #ffc107;--accent-hover: #ffcd38;--change-positive: #d81b60;--change-negative: #1e88e5}[data-palette=high-contrast]{--signal-buy: #00ff00;--signal-sell: #ff0000;--signal-neutral: #ffffff;--accent: #ffff00;--accent-hover: #ffff66;--border: #ffffff;--change-positive: #00ff00;--change-negative: #ff0000}}@layer base{*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}.theme-transitioning,.theme-transitioning *,.theme-transitioning *:before,.theme-transitioning *:after{transition:background-color .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease!important}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);font-size:var(--font-size-base);line-height:var(--line-height);color:var(--text-primary);background-color:var(--bg-app);min-height:100vh;display:flex;flex-direction:column}h1,h2,h3{font-weight:600;line-height:1.25}h1{font-size:var(--font-size-2xl)}h2{font-size:var(--font-size-xl)}a{color:var(--accent);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--accent-hover)}table{width:100%;border-collapse:collapse}th,td{padding:var(--sp-sm) var(--sp-md);text-align:left;border-bottom:1px solid var(--border)}th{font-size:var(--font-size-sm);color:var(--text-secondary);font-weight:600;text-transform:uppercase;letter-spacing:.05em}input,select,button{font-family:inherit;font-size:inherit}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}}@layer layout{body{height:100vh;overflow:hidden}#app-header{display:flex;align-items:center;gap:var(--sp-md);padding:var(--sp-sm) var(--sp-lg);background:var(--bg-card);border-bottom:1px solid var(--border);flex-shrink:0;z-index:200}.header-brand{display:flex;align-items:baseline;gap:var(--sp-xs)}.header-brand h1{font-size:var(--font-size-xl)}.header-tagline{font-size:var(--font-size-sm);color:var(--text-secondary)}#market-status{margin-inline-start:auto}.sidebar-toggle{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;background:none;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;color:var(--text-secondary);flex-shrink:0;transition:background var(--transition-fast),color var(--transition-fast)}.sidebar-toggle:hover{background:var(--bg-card-hover);color:var(--text-primary)}.sidebar-toggle:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}#app-body{display:flex;flex:1;overflow:hidden;min-height:0}#app-nav{--sidebar-w: 200px;width:var(--sidebar-w);flex-shrink:0;display:flex;flex-direction:column;gap:2px;padding:var(--sp-md) var(--sp-sm);background:var(--bg-card);border-inline-end:1px solid var(--border);overflow-y:auto;overflow-x:hidden;transition:width .2s ease,padding-inline .2s ease;z-index:100}#app-nav.sidebar-collapsed{width:0;padding-inline:0;overflow:hidden;border-inline-end:none}.nav-link{display:block;padding:var(--sp-xs) var(--sp-md);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:500;white-space:nowrap;text-decoration:none;transition:background var(--transition-fast),color var(--transition-fast)}.nav-link:hover{background:var(--bg-card-hover);color:var(--text-primary)}.nav-link.active{background:var(--bg-app);color:var(--accent)}#app-main{flex:1;padding:var(--sp-lg);overflow-y:auto;min-width:0;max-width:1400px;width:100%;margin-inline:auto}@supports (view-transition-name: none){#app-main{view-transition-name:route-content}::view-transition-old(route-content){animation:.1s ease-in both vt-fade-out}::view-transition-new(route-content){animation:.14s ease-out both vt-fade-in}@media(prefers-reduced-motion:reduce){::view-transition-old(route-content),::view-transition-new(route-content){animation:none}}}.view{display:none}.view.active{display:block;animation:route-enter .18s var(--transition-medium, ease-out) both}@supports (transition-behavior: allow-discrete){@starting-style{.view.active{opacity:0;transform:translateY(6px) scale(.995)}}}@keyframes route-enter{0%{opacity:0;transform:translateY(6px) scale(.995)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.view.active{animation:none}}#sidebar-backdrop{display:none;position:fixed;inset:0;background:#00000080;z-index:149}#sidebar-backdrop.visible{display:block}#app-footer{display:flex;justify-content:space-between;align-items:center;padding:var(--sp-sm) var(--sp-lg);border-top:1px solid var(--border);font-size:var(--font-size-sm);color:var(--text-muted);flex-shrink:0}.status-badge{font-size:var(--font-size-sm);padding:var(--sp-xs) var(--sp-sm);border-radius:var(--radius-sm);background:var(--bg-app);color:var(--text-secondary);font-family:var(--font-mono)}}@layer components{.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.sortable:hover{color:var(--accent)}.sortable[aria-sort=ascending]:after{content:" ↑";font-size:.75em}.sortable[aria-sort=descending]:after{content:" ↓";font-size:.75em}.sortable:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;container-type:inline-size;container-name:card;transition:opacity var(--transition-normal, .2s) ease-out,transform var(--transition-normal, .2s) ease-out;@starting-style{opacity:0;transform:translateY(8px)}}.card-header{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-md) var(--sp-lg);border-bottom:1px solid var(--border)}.card-collapsed .card-header{border-bottom:none}.btn-collapse{appearance:none;border:none;background:transparent;cursor:pointer;font-size:1rem;line-height:1;padding:var(--sp-xs) var(--sp-sm);color:var(--text-secondary);border-radius:var(--radius-sm);flex-shrink:0}.btn-collapse:hover{background:var(--surface-hover);color:var(--text-primary)}.card-actions{display:flex;gap:var(--sp-sm)}@scope(.card){.card-header{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-md) var(--sp-lg);border-bottom:1px solid var(--border)}.card-actions{display:flex;gap:var(--sp-sm)}.card-body{padding:var(--sp-md) var(--sp-lg)}.card-loading,.card-empty{padding:var(--sp-xl);text-align:center;color:var(--text-muted)}.card-loading{font-style:italic}}input[type=text]{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--sp-xs) var(--sp-md);color:var(--text-primary);transition:border-color var(--transition-fast)}input[type=text]:focus{outline:none;border-color:var(--border-focus)}select{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--sp-xs) var(--sp-md);color:var(--text-primary)}button{background:var(--bg-card-hover);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--sp-xs) var(--sp-md);color:var(--text-primary);cursor:pointer;transition:background var(--transition-fast)}button:hover{background:var(--border)}.btn-danger{color:var(--danger);border-color:var(--danger)}.btn-danger:hover{background:var(--danger);color:var(--text-primary)}.empty-state{padding:var(--sp-xl);text-align:center;color:var(--text-muted);font-style:italic}.signal-buy{color:var(--signal-buy);font-weight:600}.signal-sell{color:var(--signal-sell);font-weight:600}.signal-neutral{color:var(--signal-neutral)}.badge{display:inline-block;padding:2px var(--sp-sm);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:600}.badge-buy{background:color-mix(in sRGB,var(--signal-buy) 20%,transparent);color:color-mix(in sRGB,var(--signal-buy),var(--badge-fg-blend) var(--badge-fg-blend-amt))}.badge-sell{background:color-mix(in sRGB,var(--signal-sell) 20%,transparent);color:color-mix(in sRGB,var(--signal-sell),var(--badge-fg-blend) var(--badge-fg-blend-amt))}.badge-neutral{background:color-mix(in sRGB,var(--signal-neutral) 20%,transparent);color:color-mix(in sRGB,var(--signal-neutral),var(--badge-fg-blend) var(--badge-fg-blend-amt))}.change-positive{color:var(--signal-buy)}.change-negative{color:var(--signal-sell)}.setting-group{display:flex;align-items:center;gap:var(--sp-md);padding:var(--sp-md) var(--sp-lg);border-bottom:1px solid var(--border)}.hidden{display:none}.setting-group label{min-width:100px;font-weight:500;color:var(--text-secondary)}.consensus-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--sp-md);padding:var(--sp-md)}.method-card{display:flex;align-items:center;gap:var(--sp-md);padding:var(--sp-md);background:var(--bg-app);border-radius:var(--radius-sm);border:1px solid var(--border)}.method-indicator{width:12px;height:12px;border-radius:50%;flex-shrink:0}.method-indicator.buy{background:var(--signal-buy)}.method-indicator.sell{background:var(--signal-sell)}.method-indicator.neutral{background:var(--signal-neutral)}.method-name{font-weight:500}.method-detail{margin-left:auto;font-size:var(--font-size-sm);color:var(--text-secondary)}.ticker-remove{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:var(--sp-xs);font-size:var(--font-size-base)}.ticker-name{display:block;font-size:var(--font-size-xs, .75rem);font-weight:400;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:14ch}.weight-grid{display:flex;flex-direction:column;gap:var(--sp-xs);margin:var(--sp-sm) 0}.weight-row{display:grid;grid-template-columns:8ch 1fr 3ch;align-items:center;gap:var(--sp-sm)}.weight-label{font-size:var(--font-size-sm);color:var(--text-secondary);text-align:right}.weight-slider{width:100%;accent-color:var(--accent)}.weight-value{font-size:var(--font-size-sm);color:var(--text-secondary);font-variant-numeric:tabular-nums;text-align:right}.card-settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--sp-sm);margin-top:var(--sp-sm)}.card-settings-grid label{display:flex;flex-direction:column;gap:4px;font-size:var(--font-size-sm)}.ticker-remove:hover{color:var(--danger)}:where(tr):hover td{background:var(--bg-card-hover)}tr[data-ticker]{cursor:pointer}.range-bar{width:80px;height:6px;background:var(--bg-app);border-radius:3px;overflow:hidden;display:inline-block;vertical-align:middle}.range-fill{height:100%;background:var(--accent);border-radius:3px}.vol-bar{width:48px;height:4px;background:var(--bg-app);border-radius:2px;overflow:hidden;display:inline-block;vertical-align:middle;margin-left:var(--sp-xs)}.vol-fill{height:100%;border-radius:2px}.vol-high .vol-fill{background:var(--signal-buy)}.vol-normal .vol-fill{background:var(--accent)}.vol-low .vol-fill{background:var(--text-muted)}.cell-sparkline{padding:2px}.cell-sparkline svg{vertical-align:middle}.palette-overlay{border:none;border-radius:var(--radius-lg);background:var(--bg-card);color:var(--text);box-shadow:0 16px 48px #0006;padding:0;width:min(560px,90vw);max-height:min(420px,70vh);margin:10vh auto}.palette-overlay::backdrop{background:#00000080}.palette-content{display:flex;flex-direction:column;overflow:hidden}.palette-input{border:none;border-bottom:1px solid var(--border);background:transparent;color:var(--text);font-size:1rem;padding:var(--sp-md) var(--sp-lg);outline:none;width:100%}.palette-results{list-style:none;margin:0;padding:var(--sp-xs) 0;overflow-y:auto;max-height:320px}.palette-item{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-sm) var(--sp-lg);cursor:pointer;border-radius:var(--radius-sm);margin:0 var(--sp-xs)}.palette-item.selected,.palette-item:hover{background:var(--bg-hover)}.palette-label{font-weight:500}.palette-hint{font-size:.8rem;color:var(--text-muted);font-family:var(--font-mono)}.palette-empty{padding:var(--sp-lg);text-align:center;color:var(--text-muted)}.heatmap-grid{border-radius:var(--radius-sm);overflow:hidden}.heatmap-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:40px;transition:opacity var(--transition-fast)}.heatmap-tile:hover{opacity:.85}.heatmap-label{font-size:var(--font-size-sm);font-weight:600;color:#fff}.heatmap-pct{font-size:.7rem;color:#fff}.heatmap-strong-up{background:#146c37}.heatmap-up{background:#2e7d32}.heatmap-flat{background:#616161}.heatmap-down{background:#c62828}.heatmap-strong-down{background:#b71c1c}.heatmap-breadcrumb{display:flex;align-items:center;gap:var(--sp-xs);padding:var(--sp-sm) 0 var(--sp-md);font-size:var(--font-size-sm)}.breadcrumb-sep{color:var(--text-secondary)}.heatmap-sort-bar{display:flex;gap:var(--sp-xs);align-items:center;margin-bottom:var(--sp-md);font-size:var(--font-size-sm);color:var(--text-secondary)}.btn-sort{padding:2px var(--sp-sm);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text-secondary);font-size:var(--font-size-xs);cursor:pointer}.btn-sort:hover,.btn-sort.sort-active{background:var(--accent);color:var(--bg-app);border-color:var(--accent)}.heatmap-drill-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.heatmap-drill-table th,.heatmap-drill-table td{padding:4px 8px;border-bottom:1px solid var(--border);text-align:left}.heatmap-drill-table th{color:var(--text-secondary);font-weight:600;font-size:var(--font-size-xs);text-transform:uppercase}.heatmap-attr-cell{width:120px}.heatmap-attr-bar{height:8px;background:var(--accent);border-radius:4px;min-width:2px}.screener-controls{padding:var(--sp-md) var(--sp-lg);border-bottom:1px solid var(--border)}.screener-presets{display:flex;flex-wrap:wrap;gap:var(--sp-sm)}.preset-btn{font-size:var(--font-size-sm);padding:var(--sp-xs) var(--sp-md);border-radius:var(--radius-sm);white-space:nowrap}.preset-btn.active{background:var(--accent);color:var(--bg-app);border-color:var(--accent)}.screener-results{padding:var(--sp-md) var(--sp-lg)}.screener-table{width:100%;border-collapse:collapse}.screener-table th,.screener-table td{padding:var(--sp-xs) var(--sp-sm);text-align:left;border-bottom:1px solid var(--border)}.screener-table th{font-size:var(--font-size-sm);color:var(--text-secondary);font-weight:600}.portfolio-layout{display:flex;flex-direction:column;gap:var(--sp-lg)}.portfolio-summary-row{display:flex;flex-wrap:wrap;gap:var(--sp-md)}.portfolio-summary-stat{flex:1 1 160px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--sp-sm) var(--sp-md);display:flex;flex-direction:column;gap:.25rem}.stat-label{font-size:var(--font-size-xs);color:var(--text-secondary);letter-spacing:.04em}.stat-value{font-size:var(--font-size-lg);font-weight:600;display:flex;align-items:center;gap:var(--sp-xs)}.text-positive{color:var(--positive)}.text-negative{color:var(--negative)}.portfolio-columns{display:grid;grid-template-columns:1fr;gap:var(--sp-lg)}@container card (min-width: 900px){.portfolio-columns{grid-template-columns:3fr 2fr}}.portfolio-col{display:flex;flex-direction:column;gap:var(--sp-sm)}.section-subtitle{font-size:var(--font-size-sm);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);margin:0}.portfolio-table td.num,.portfolio-table th.num{text-align:right}.text-muted{color:var(--text-secondary)}.sector-allocation-list{display:flex;flex-direction:column;gap:var(--sp-sm)}.sector-row{display:grid;grid-template-columns:1fr 2fr auto;align-items:center;gap:var(--sp-sm)}.sector-meta{display:flex;flex-direction:column}.sector-name{font-size:var(--font-size-sm);font-weight:500;margin-right:var(--sp-xs)}.sector-tickers{font-size:var(--font-size-xs)}.sector-bar-wrap{height:6px;background:var(--border);border-radius:3px;overflow:hidden}.sector-bar-fill{height:100%;background:var(--accent);border-radius:3px;transition:width .4s ease}.sector-pct{font-size:var(--font-size-xs);font-weight:600;min-width:40px;text-align:right}.portfolio-demo-note{font-size:var(--font-size-xs);color:var(--text-secondary);margin:0}.risk-layout{display:flex;flex-direction:column;gap:var(--sp-lg)}.risk-equity-chart{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--sp-md)}.risk-equity-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:var(--sp-sm)}.risk-metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--sp-md)}.risk-metric-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--sp-md);display:flex;flex-direction:column;gap:var(--sp-xs)}.risk-gauge-wrap{height:4px;background:var(--border);border-radius:2px;overflow:hidden;margin:var(--sp-xs) 0}.risk-gauge-fill{height:100%;background:var(--accent);border-radius:2px;transition:width .5s ease}.risk-gauge-fill.text-positive{background:var(--positive)}.risk-gauge-fill.text-negative{background:var(--negative)}.risk-hint{font-size:var(--font-size-xs);color:var(--text-secondary)}.backtest-layout{display:flex;flex-direction:column;gap:var(--sp-lg)}.backtest-controls{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--sp-md)}.backtest-control-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--sp-md);margin-bottom:var(--sp-xs)}.backtest-label{display:flex;flex-direction:column;gap:var(--sp-xs);font-size:var(--font-size-sm);color:var(--text-secondary)}.backtest-input{width:80px}.backtest-equity-wrap{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--sp-md);overflow:hidden}.backtest-tradelog-wrap{display:flex;flex-direction:column;gap:var(--sp-sm)}.timeline-card-layout{display:flex;flex-direction:column;gap:var(--sp-lg)}.timeline-controls{display:flex;flex-wrap:wrap;gap:var(--sp-md);align-items:flex-end;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--sp-md)}.timeline-divider{border:none;border-top:1px solid var(--border);margin:0}.timeline-multi-item{margin-bottom:var(--sp-md);padding-bottom:var(--sp-md);border-bottom:1px solid var(--border)}.timeline-multi-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.timeline-track{display:flex;flex-wrap:wrap;gap:3px;margin:var(--sp-xs) 0}.timeline-dot{width:10px;height:10px;border-radius:50%;display:inline-block;cursor:default}.dot-buy{background:var(--positive, #3fb950)}.dot-sell{background:var(--negative, #f85149)}.dot-neutral{background:var(--text-secondary, #8b949e)}.instrument-filter-bar{display:flex;flex-wrap:wrap;gap:var(--sp-xs);padding:var(--sp-sm) var(--sp-md);border-bottom:1px solid var(--border)}.filter-chip{padding:2px 10px;border-radius:999px;border:1px solid var(--border);background:transparent;color:var(--text-secondary);font-size:var(--font-size-sm);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.filter-chip:hover{border-color:var(--accent);color:var(--text-primary)}.filter-chip.active{background:var(--accent);border-color:var(--accent);color:var(--bg-app);font-weight:600}.instrument-badge{display:inline-block;margin-left:4px;padding:0 4px;border-radius:var(--radius-sm);font-size:.6875rem;font-weight:700;vertical-align:middle;line-height:1.4}.instrument-badge-stock{background:#1d3c6e;color:#58a6ff}.instrument-badge-etf{background:#0f3b2b;color:#3fb950}.instrument-badge-crypto{background:#3b2a00;color:#f0a400}.instrument-badge-other{background:#2a2a2a;color:#8b949e}.sector-header{background:var(--bg-card-hover);cursor:pointer;-webkit-user-select:none;user-select:none;border-top:1px solid var(--border)}.sector-header td{padding:var(--sp-xs) var(--sp-md);font-weight:600;font-size:var(--font-size-sm);color:var(--text-secondary)}.sector-header:where(:hover) td{color:var(--accent)}.sector-chevron{margin-right:var(--sp-sm);font-size:.65rem;display:inline-block;transition:transform var(--transition-fast)}.corr-controls{display:flex;gap:var(--sp-md);align-items:center;flex-wrap:wrap;margin-bottom:var(--sp-md)}.corr-toggle{display:flex;align-items:center;gap:var(--sp-xs);cursor:pointer;-webkit-user-select:none;user-select:none}.corr-scroll{overflow-x:auto}.corr-table{border-collapse:collapse;font-size:var(--font-size-xs);white-space:nowrap}.corr-cell{padding:4px 6px;text-align:center;border:1px solid var(--border);min-width:52px;cursor:default}.corr-label{background:var(--bg-card)!important;font-weight:600;color:var(--text-secondary);font-size:var(--font-size-xs)}.corr-diagonal{opacity:.5}.corr-warn{outline:2px solid var(--danger);outline-offset:-2px;font-weight:700}.corr-warnings{background:color-mix(in sRGB,var(--danger) 10%,var(--bg-card));border:1px solid var(--danger);border-radius:var(--radius-sm);padding:var(--sp-sm) var(--sp-md);margin-bottom:var(--sp-md);font-size:var(--font-size-sm)}.corr-warnings ul{margin:var(--sp-xs) 0 0 var(--sp-md);padding:0}.corr-error{color:var(--danger)}.breadth-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--sp-md);margin-bottom:var(--sp-lg)}.breadth-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--sp-md)}.breadth-panel-title{font-size:var(--font-size-sm);font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--sp-sm)}.breadth-donut-wrap{display:flex;align-items:center;gap:var(--sp-sm)}.breadth-donut{width:80px;height:80px;flex-shrink:0}.breadth-donut-legend{display:flex;flex-direction:column;gap:2px;font-size:var(--font-size-xs)}.breadth-sma-row{display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:var(--sp-xs);font-size:var(--font-size-sm);margin-bottom:var(--sp-xs)}.breadth-sma-bar{height:8px;background:var(--bg-app);border-radius:4px;overflow:hidden}.breadth-sma-fill{height:100%;background:var(--accent);border-radius:4px;transition:width .3s ease}.breadth-ad-bar{display:flex;height:16px;border-radius:4px;overflow:hidden;margin-bottom:var(--sp-xs)}.breadth-ad-segment{transition:width .3s ease}.breadth-ad-up{background:var(--success)}.breadth-ad-flat{background:var(--text-secondary);opacity:.4}.breadth-ad-down{background:var(--danger)}.breadth-ad-legend{display:flex;gap:var(--sp-md);font-size:var(--font-size-xs)}.breadth-movers-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--sp-md)}.breadth-movers-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.breadth-movers-table td{padding:3px 6px;border-bottom:1px solid var(--border)}.up{color:var(--success)}.dn{color:var(--danger)}.flat{color:var(--text-secondary)}.earnings-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.earnings-table th,.earnings-table td{padding:6px 8px;border-bottom:1px solid var(--border);text-align:left}.earnings-imminent{background:color-mix(in sRGB,var(--warning) 12%,transparent)}.macro-card .card-header{align-items:center}.macro-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--sp-sm)}.macro-metric-card{border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--sp-sm);background:var(--bg-card)}.macro-metric-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.macro-label{font-size:var(--font-size-sm);color:var(--text-secondary)}.macro-value{font-size:1rem;margin-bottom:4px}.macro-spark{width:100%;height:26px;color:var(--accent)}.rotation-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.rotation-table th,.rotation-table td{padding:6px 8px;border-bottom:1px solid var(--border)}.rot-cell{font-variant-numeric:tabular-nums;text-align:right}.rot-outperform{background:color-mix(in sRGB,var(--success) 20%,transparent)}.rot-underperform{background:color-mix(in sRGB,var(--danger) 20%,transparent)}.rot-flat{background:color-mix(in sRGB,var(--text-secondary) 10%,transparent)}.rs-controls{display:flex;gap:var(--sp-sm);align-items:end;flex-wrap:wrap;margin-bottom:var(--sp-sm)}.rs-controls label{display:flex;flex-direction:column;gap:4px;font-size:var(--font-size-sm)}.rs-chart{width:100%;height:280px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card)}.rs-legend{margin-top:var(--sp-sm);display:flex;gap:var(--sp-sm);flex-wrap:wrap;font-size:var(--font-size-sm)}.rs-legend-item{display:inline-flex;align-items:center;gap:6px}.rs-dot{width:8px;height:8px;border-radius:999px;display:inline-block}.sector-count{margin-right:var(--sp-sm);color:var(--text-muted);font-weight:400}.badge-sm{font-size:.625rem;padding:1px 5px}.tour-tooltip{background:var(--color-surface, #1e1e2e);border:1px solid var(--color-border, #3a3a5c);border-radius:var(--radius, 8px);box-shadow:0 8px 32px #00000080;color:var(--color-text, #e2e8f0);max-width:320px;min-width:240px;padding:var(--sp-md, 1rem);z-index:9999}.tour-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sp-sm, .5rem)}.tour-step-count{color:var(--text-muted, #94a3b8);font-size:.75rem}.tour-title{font-size:.95rem;font-weight:600;margin:0 0 var(--sp-sm, .5rem)}.tour-body{font-size:.85rem;color:var(--text-secondary, #cbd5e1);line-height:1.5;margin:0 0 var(--sp-md, 1rem)}.tour-actions{display:flex;gap:var(--sp-sm, .5rem);justify-content:flex-end}#toast-container{position:fixed;top:var(--sp-lg, 1.5rem);right:var(--sp-lg, 1.5rem);z-index:9999;display:flex;flex-direction:column;gap:var(--sp-sm, .5rem);pointer-events:none;max-width:360px;border:none;padding:0;margin:0;background:transparent;color:inherit;inset:unset}#toast-container:popover-open{z-index:unset;position:fixed;top:var(--sp-lg, 1.5rem);right:var(--sp-lg, 1.5rem)}.toast{position:relative;background:var(--bg-card, #1e293b);border:1px solid var(--border, #334155);border-radius:var(--radius-md, 8px);padding:var(--sp-md, .75rem) var(--sp-lg, 1rem);padding-right:2rem;display:flex;flex-direction:column;gap:.25rem;pointer-events:auto;animation:toast-in .2s ease-out;box-shadow:0 4px 12px #0000004d;transition:opacity var(--transition-fast, .12s) ease-out,transform var(--transition-fast, .12s) ease-out;@starting-style{opacity:0;transform:translate(20px)}}.toast strong{font-size:var(--font-size-sm, .875rem);color:var(--text-primary, #f1f5f9)}.toast span{font-size:var(--font-size-xs, .75rem);color:var(--text-secondary, #94a3b8)}.toast-dismiss{position:absolute;top:4px;right:4px;background:none;border:none;color:var(--text-secondary, #94a3b8);font-size:1.1rem;cursor:pointer;padding:2px 6px;line-height:1;border-radius:var(--radius-sm, 2px)}.toast-dismiss:hover{color:var(--text-primary, #e2e8f0);background:var(--bg-hover, rgb(255, 255, 255, .1))}.toast-health{border-left:3px solid var(--warning, #f59e0b)}.toast-exit{animation:toast-out .3s ease-in forwards}@keyframes toast-in{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes toast-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(20px)}}.offline-banner{position:fixed;top:0;left:0;right:0;z-index:10000;padding:.5rem 1rem;background:var(--color-warning, #e65100);color:#fff;font-size:.875rem;font-weight:600;text-align:center;animation:offline-slide-in .3s ease-out}.offline-banner--exit{animation:offline-slide-out .3s ease-in forwards}@keyframes offline-slide-in{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes offline-slide-out{0%{transform:translateY(0)}to{transform:translateY(-100%)}}.sw-update-banner{position:fixed;bottom:1rem;left:50%;transform:translate(-50%);z-index:10000;display:flex;align-items:center;gap:.75rem;padding:.75rem 1.25rem;background:var(--color-surface, #1e293b);border:1px solid var(--color-border, #334155);border-radius:.5rem;box-shadow:0 4px 12px #0000004d;font-size:.875rem;animation:offline-slide-in .3s ease-out}.sw-update-btn{padding:.375rem .75rem;background:var(--color-accent, #3b82f6);color:#fff;border:none;border-radius:.25rem;font-weight:600;cursor:pointer}.sw-update-btn:hover{opacity:.9}.sw-update-dismiss{padding:.375rem .5rem;background:transparent;color:var(--color-text-secondary, #94a3b8);border:none;cursor:pointer;font-size:.8rem}.sw-update-dismiss:hover{color:var(--color-text, #e2e8f0)}@keyframes live-flash{0%{background-color:rgb(var(--accent-rgb, 0, 120, 212),.3)}to{background-color:transparent}}@supports (background-color: color-mix(in sRGB,red 30%,transparent)){@keyframes live-flash{0%{background-color:color-mix(in sRGB,var(--accent) 30%,transparent)}to{background-color:transparent}}}.live-flash{animation:live-flash .6s ease-out forwards}#sync-status.status-live{color:var(--positive);font-weight:600}.chart-tooltip{position:absolute;pointer-events:none;white-space:nowrap;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:4px 8px;font-size:var(--font-size-sm);color:var(--text-primary);box-shadow:0 2px 8px #00000040;z-index:10;visibility:hidden}.chart-tooltip.is-visible{visibility:visible}.chart-crosshair-anchor{position:absolute;width:0;height:0;pointer-events:none;transform:translate(var(--ct-x, 0),var(--ct-y, 0))}@supports (anchor-name: --test){.chart-tooltip{inset-block-start:anchor(top);inset-inline-start:calc(anchor(right) + 8px);position-try-fallbacks:--flip-left,--flip-above}@position-try --flip-left{inset-inline-start:auto;inset-inline-end:calc(anchor-size(width) + 8px)}@position-try --flip-above{inset-block-start:auto;inset-block-end:calc(anchor(bottom) + 8px);inset-inline-start:anchor(left)}}.modal,[popover]{transition:opacity var(--transition-normal, .2s) ease-out,transform var(--transition-normal, .2s) ease-out,display var(--transition-normal, .2s) allow-discrete,overlay var(--transition-normal, .2s) allow-discrete;@starting-style{opacity:0;transform:scale(.96)}}.detail-panel{transition:opacity var(--transition-normal, .2s) ease-out,transform var(--transition-normal, .2s) ease-out;@starting-style{opacity:0;transform:translateY(16px)}@media(min-width:768px){@starting-style{opacity:0;transform:translate(16px)}}}}.fundamental-overlay{display:flex;flex-wrap:wrap;gap:var(--sp-sm);padding:var(--sp-md);border-top:1px solid var(--border)}.fundamental-metric{display:flex;flex-direction:column;align-items:center;min-width:72px;padding:var(--sp-xs) var(--sp-sm);background:var(--bg-app);border-radius:var(--radius-sm);border:1px solid var(--border)}.fundamental-label{font-size:var(--fs-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em}.fundamental-value{font-size:var(--fs-sm);font-weight:600;color:var(--text-primary)}.seasonal-header{display:flex;align-items:baseline;gap:var(--sp-md);padding:var(--sp-md)}.seasonal-header h2{margin:0;font-size:var(--fs-lg)}.seasonal-period{font-size:var(--fs-sm);color:var(--text-secondary)}.seasonal-section{padding:var(--sp-sm) var(--sp-md)}.seasonal-section-title{margin:0 0 var(--sp-sm);font-size:var(--fs-md);color:var(--text-secondary)}.seasonal-chart{display:flex;flex-direction:column;gap:var(--sp-xs)}.seasonal-row{display:grid;grid-template-columns:3rem 1fr 4rem 3.5rem;align-items:center;gap:var(--sp-sm);min-height:28px}.seasonal-label{font-size:var(--fs-sm);font-weight:500;color:var(--text-primary)}.seasonal-bar-track{position:relative;height:18px;background:var(--bg-app);border-radius:var(--radius-sm);overflow:hidden}.seasonal-bar{position:absolute;top:0;left:0;height:100%;border-radius:var(--radius-sm);transition:width .3s ease}.seasonal-bar-positive{background:var(--signal-buy);opacity:.7}.seasonal-bar-negative{background:var(--signal-sell);opacity:.7}.alert-rules-section{margin-bottom:var(--space-lg)}.alert-rules-table{width:100%;border-collapse:collapse;font-size:var(--font-sm)}.alert-rules-table th,.alert-rules-table td{padding:var(--space-xs) var(--space-sm);text-align:left;border-bottom:1px solid var(--border)}.alert-rule-row.rule-disabled{opacity:.5}.rule-form-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--space-sm);margin-bottom:var(--space-sm)}.rule-condition-row{display:flex;gap:var(--space-xs);align-items:center;margin-bottom:var(--space-xs)}.rule-condition-row select{flex:1}.rule-form-actions{display:flex;gap:var(--space-sm);margin-top:var(--space-sm)}summary{min-height:24px;padding-block:2px}.rule-create-form summary{cursor:pointer;font-weight:600;margin-bottom:var(--space-sm)}.strategy-comparison-layout{display:flex;flex-direction:column;gap:var(--space-md)}.strategy-fieldset{border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-sm);display:flex;gap:var(--space-sm);align-items:center}.strategy-fieldset legend{font-weight:600;padding:0 var(--space-xs)}.comparison-chart-wrap{margin:var(--space-md) 0}.comparison-legend{display:flex;gap:var(--space-lg);font-size:var(--font-sm);margin-top:var(--space-xs)}.legend-a{color:var(--accent, #58a6ff)}.legend-b{color:var(--signal-sell, #f85149)}.comparison-winner{text-align:center;font-size:var(--font-md);margin:var(--space-sm) 0}.comparison-stats-table th:first-child,.comparison-stats-table td:first-child{font-weight:600}.seasonal-return{font-size:var(--fs-xs);font-weight:600;text-align:right;color:var(--text-primary)}.seasonal-winrate{font-size:var(--fs-xs);color:var(--text-secondary);text-align:right}.screener-column-toggles{display:flex;flex-wrap:wrap;gap:var(--sp-sm);padding:var(--sp-sm) var(--sp-md);border-bottom:1px solid var(--border)}.column-toggle{display:inline-flex;align-items:center;gap:var(--sp-xs);font-size:var(--fs-sm);color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.column-toggle input[type=checkbox]{accent-color:var(--primary)}.timeframe-bar{display:flex;gap:4px;padding:6px 0;margin-bottom:8px}.timeframe-btn{padding:4px 10px;border-radius:4px;font-size:var(--font-size-sm);border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);cursor:pointer;transition:background .15s,color .15s}.timeframe-btn:hover{background:var(--surface-hover);color:var(--text)}.timeframe-btn.active{background:var(--accent);color:var(--bg-app);border-color:var(--accent)}.market-indicator{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px;max-width:100%;font-size:var(--font-size-sm);color:var(--text-secondary)}.market-dot{display:inline-block;width:8px;height:8px;border-radius:50%}.market-dot.market-open{background:var(--green, #22c55e);box-shadow:0 0 4px var(--green, #22c55e)}.market-dot.market-closed{background:var(--text-tertiary, #6b7280)}.market-label{font-weight:500}.market-exchanges{display:inline-flex;flex-wrap:wrap;gap:8px;max-width:100%;margin-left:8px}.market-exchange{display:inline-flex;align-items:center;gap:3px;font-size:.75rem}.autocomplete-wrapper{position:relative;display:inline-block;width:100%}.autocomplete-input{width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);font-size:var(--font-size-base)}.autocomplete-input:focus{outline:2px solid var(--accent);outline-offset:-1px}.autocomplete-listbox{position:absolute;top:100%;left:0;right:0;margin:4px 0 0;padding:4px 0;background:var(--surface);border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 12px #00000026;list-style:none;z-index:100;max-height:320px;overflow-y:auto}.autocomplete-item{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer}.autocomplete-item:hover,.autocomplete-item.active{background:var(--surface-hover)}.autocomplete-symbol{font-weight:600;min-width:60px}.autocomplete-name{color:var(--text-secondary);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.autocomplete-exchange{font-size:.75rem;color:var(--text-tertiary)}.autocomplete-item mark{background:var(--accent-bg, rgb(99, 102, 241, .15));color:inherit;border-radius:2px;padding:0 1px}.autocomplete-empty{color:var(--text-secondary);cursor:default;font-style:italic}.autocomplete-empty:hover{background:transparent}.freshness-badge{display:inline-block;font-size:.7rem;padding:2px 6px;border-radius:4px;font-weight:500}.freshness-fresh{background:#22c55e26;color:var(--green, #22c55e)}.freshness-stale{background:#eab30826;color:var(--yellow, #eab308)}.freshness-expired{background:#ef444426;color:var(--red, #ef4444)}.hover-zoom-popup{position:fixed;z-index:9999;width:280px;padding:var(--space-md);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 8px 24px #00000040;opacity:0;pointer-events:none;transform:translateY(4px);transition:opacity .15s ease,transform .15s ease}.hover-zoom-popup.visible{opacity:1;pointer-events:auto;transform:translateY(0)}.hover-zoom-header{display:flex;align-items:baseline;gap:var(--space-xs);margin-bottom:var(--space-sm)}.hover-zoom-ticker{font-size:var(--fs-lg);color:var(--text-primary)}.hover-zoom-name{font-size:var(--fs-xs);color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:160px}.hover-zoom-chart{margin-bottom:var(--space-sm);padding:var(--space-xs);background:var(--bg-app);border-radius:var(--radius-sm);display:flex;justify-content:center}.hover-zoom-chart svg{width:100%;height:60px}.hover-zoom-stats{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-xs)}.hover-zoom-stat{display:flex;flex-direction:column;gap:2px}.hover-zoom-label{font-size:var(--fs-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em}.hover-zoom-value{font-size:var(--fs-sm);font-weight:600;color:var(--text-primary)}.shortcuts-dialog{display:grid;gap:var(--sp-lg);max-height:60vh;overflow-y:auto}.shortcuts-section{display:grid;gap:var(--sp-sm)}.shortcuts-category{font-size:var(--font-size-sm);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--accent)}.shortcuts-list{display:grid;gap:var(--sp-xs)}.shortcuts-row{display:flex;justify-content:space-between;align-items:center;padding:var(--sp-xs) var(--sp-sm);border-radius:var(--radius-sm)}.shortcuts-row:hover{background-color:var(--bg-card-hover)}.shortcuts-desc{color:var(--text-primary);font-size:var(--font-size-sm)}.shortcuts-keys{display:flex;gap:4px}.shortcuts-keys kbd{display:inline-block;padding:2px 6px;font-family:var(--font-mono);font-size:var(--font-size-xs);background-color:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);min-width:22px;text-align:center}.rate-usage{position:relative;width:60px;height:16px;background:var(--bg-input);border-radius:var(--radius-sm);overflow:hidden;display:inline-flex;align-items:center}.rate-bar{position:absolute;inset:0;height:100%;border-radius:var(--radius-sm);transition:width var(--transition-fast)}.rate-bar-ok{background:#22c55e4d}.rate-bar-warning{background:#eab3084d}.rate-bar-critical{background:#ef44444d}.rate-label{position:relative;z-index:1;width:100%;text-align:center;font-size:.65rem;font-weight:600;color:var(--text-secondary)}.field-error{display:block;margin-block-start:.25rem;font-size:.8rem;font-weight:500;color:var(--signal-sell, #ef4444)}[aria-invalid=true]{border-color:var(--signal-sell, #ef4444);outline-color:var(--signal-sell, #ef4444)}@layer a11y{:focus-visible{outline:3px solid var(--border-focus, #58a6ff);outline-offset:3px;scroll-margin:1rem;z-index:1;position:relative}:focus:not(:focus-visible){outline:none}.skip-link{position:absolute;top:-100%;left:0;z-index:9999;padding:var(--space-2, .5rem) var(--space-4, 1rem);background:var(--color-surface, #1e1e1e);color:var(--color-text, #e0e0e0);font-weight:600;text-decoration:none;border-radius:0 0 var(--radius, 4px) 0}.skip-link:focus{top:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media(forced-colors:active){.badge,.btn{border:1px solid ButtonText}.signal-buy,.signal-sell{-webkit-forced-color-adjust:none;forced-color-adjust:none}}[role=status],[role=alert],[aria-live]{contain:layout}button,[role=button],input:not([type=hidden]),select,textarea,summary{min-height:1.5rem}button,[role=button],select,summary{min-width:1.5rem}[draggable=true]{cursor:grab}.nav-link[aria-current=page]{border-bottom:2px solid var(--color-accent, #4d90fe);font-weight:600}.card[role=region]{position:relative}.card:focus-within{outline:2px solid var(--color-focus, #4d90fe);outline-offset:4px;border-radius:var(--radius, 4px)}.card-header h2{font-size:inherit}.status-badge[role=status]{font-variant-numeric:tabular-nums}@media(prefers-contrast:more){:root{--color-border: #888}.card{border-width:2px}.nav-link{text-decoration:underline}}[data-contrast=aaa]{--text-primary: #f0f6fc;--text-secondary: #cdd9e5;--text-muted: #b1bac4;--accent: #79c0ff;--signal-buy: #56d364;--signal-sell: #ff7b72;--border-focus: #79c0ff}[data-theme=light][data-contrast=aaa]{--text-primary: #090c10;--text-secondary: #1f2328;--text-muted: #424a53;--accent: #0550ae;--signal-buy: #116329;--signal-sell: #a40e26}.btn-icon{width:2.75rem;height:2.75rem;display:inline-flex;align-items:center;justify-content:center}input,select,textarea{border:1.5px solid var(--border, #30363d)}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--border-focus, #58a6ff);outline:3px solid var(--border-focus, #58a6ff);outline-offset:1px}.error-message[data-suggestion]:after{content:" Suggestion: " attr(data-suggestion);display:block;margin-top:.25em;font-style:italic;color:var(--text-secondary, #8b949e)}[data-contrast=aaa] :focus-visible{outline-color:var(--border-focus, #79c0ff)}[role=button]:not([hidden]),button:not([hidden]){opacity:1}.action-bar button,.toolbar button{visibility:visible;opacity:1}.card :focus-visible{outline-offset:2px;border-radius:2px}}@layer layout-responsive{.container{width:100%;padding-inline:var(--space-3, .75rem);margin-inline:auto}.grid{display:grid;gap:var(--space-4, 1rem);grid-template-columns:1fr}.hide-mobile{display:none}.show-mobile{display:block}.nav-links{flex-wrap:wrap;gap:var(--space-2, .5rem)}.watchlist-table{font-size:.85rem}#watchlist-table-container{overflow-x:auto}@media(min-width:480px){.container{padding-inline:var(--space-4, 1rem)}.grid-sm-2{grid-template-columns:repeat(2,1fr)}}@media(min-width:768px){.container{max-width:720px}.grid{grid-template-columns:repeat(2,1fr)}.hide-mobile{display:revert}.show-mobile{display:none}.watchlist-table{font-size:.9rem}}@media(min-width:1024px){.container{max-width:960px}.grid{grid-template-columns:repeat(3,1fr)}.grid-lg-4{grid-template-columns:repeat(4,1fr)}}@media(min-width:1280px){.container{max-width:1200px}}@media(pointer:coarse){button,.nav-link,.btn{min-height:44px;min-width:44px}}@container card (max-width: 639px){#watchlist-table th:nth-child(5),#watchlist-table td:nth-child(5),#watchlist-table th:nth-child(7),#watchlist-table td:nth-child(7){display:none}.instrument-filter-bar{flex-wrap:wrap}.sector-header td{font-size:var(--font-size-sm)}.card-header{flex-wrap:wrap;row-gap:var(--sp-sm)}.card-actions{flex-wrap:wrap;width:100%}.card-actions input{flex:1 1 auto;min-width:0}}}@keyframes vt-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes vt-fade-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-4px)}}@supports (view-transition-name: none){::view-transition-old(root){animation:.12s ease-in both vt-fade-out}::view-transition-new(root){animation:.16s ease-out both vt-fade-in}@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none}}}@container card (max-width: 600px){.portfolio-columns{flex-direction:column}.portfolio-summary-row{flex-wrap:wrap;gap:.5rem}.portfolio-summary-stat{min-width:45%}}@container card (min-width: 601px){.portfolio-columns{flex-direction:row}.portfolio-col{flex:1;min-width:0}}@container card (max-width: 500px){.backtest-control-row{flex-wrap:wrap}.backtest-label{flex:1 1 100%}.portfolio-summary-row{flex-wrap:wrap;gap:.5rem}.portfolio-summary-stat{min-width:45%}}@container card (max-width: 480px){.watchlist-table th:nth-child(5),.watchlist-table td:nth-child(5),.watchlist-table th:nth-child(7),.watchlist-table td:nth-child(7){display:none}}@container card (max-width: 400px){.heatmap-grid{grid-template-columns:repeat(2,1fr)}}@container card (min-width: 401px) and (max-width: 700px){.heatmap-grid{grid-template-columns:repeat(3,1fr)}}@container card (min-width: 701px){.heatmap-grid{grid-template-columns:repeat(4,1fr)}}@container card (max-width: 480px){.wl-col-volume,.wl-col-avg-volume,.wl-col-52w,.wl-col-sector{display:none}}@container card (max-width: 360px){.wl-col-change-pct{display:none}.ticker-cell{font-size:.85em}}@container card (max-width: 480px){.card-header{flex-wrap:wrap;gap:.5rem}.card-header-actions{width:100%;justify-content:flex-start;gap:.25rem}.card-title{font-size:var(--font-size-sm, .875rem)}}@container card (max-width: 500px){.consensus-grid{grid-template-columns:1fr}.consensus-summary-row{flex-direction:column;align-items:flex-start;gap:.5rem}.consensus-bar-label{font-size:.8rem}}@container card (max-width: 480px){.alert-list-item{flex-wrap:wrap;gap:.25rem;padding:.5rem}.alert-ticker{flex:1 1 100%}.alert-form-row{flex-direction:column;gap:.5rem}.alert-form-row input,.alert-form-row select{width:100%}}@container card (max-width: 500px){.screener-filter-row{flex-direction:column;gap:.5rem}.screener-filter-row select,.screener-filter-row input{width:100%}.screener-results-table{font-size:.8rem}.screener-col-sector,.screener-col-volume{display:none}}@container card (max-width: 500px){.chart-controls{flex-wrap:wrap;gap:.25rem}.chart-controls select,.chart-controls button{min-width:0;flex:1 1 auto;font-size:.8rem}.chart-toolbar{flex-wrap:wrap}}@container card (max-width: 480px){.settings-section{padding:.5rem}.settings-form-row{flex-direction:column;gap:.25rem}.settings-form-row label,.settings-form-row select,.settings-form-row input{width:100%}.settings-actions{flex-wrap:wrap;gap:.5rem}.settings-actions .btn{flex:1 1 auto;text-align:center}}@container card (max-width: 500px){.signal-dsl-layout{flex-direction:column}.signal-dsl-editor,.signal-dsl-output{width:100%}.signal-dsl-toolbar{flex-wrap:wrap;gap:.25rem}}@container card (max-width: 400px){.provider-health-grid{grid-template-columns:1fr}.provider-health-item{padding:.5rem}}@container card (max-width: 600px){.multi-chart-grid{grid-template-columns:1fr}}@container card (max-width: 400px){.correlation-matrix td,.correlation-matrix th{font-size:.7rem;padding:2px}}@media(max-width:767px){#app-header{overflow-x:hidden}.header-tagline{display:none}#app-nav{position:fixed;inset-block:0;inset-inline-start:0;height:100%;width:220px;max-width:80vw;z-index:150;transform:translate(-100%);transition:transform .22s ease;padding-block-start:var(--sp-xl);overflow-y:auto;overflow-x:hidden;border-inline-end:1px solid var(--border)}[dir=rtl] #app-nav{transform:translate(100%)}#app-nav.sidebar-open{transform:translate(0)}#app-nav.sidebar-collapsed{width:220px;max-width:80vw;padding-inline:var(--sp-sm);overflow:auto;border-inline-end:1px solid var(--border)}#app-main{padding:var(--sp-md)}}@supports (padding: env(safe-area-inset-bottom)){#app-footer{padding-bottom:calc(var(--space-3, .75rem) + env(safe-area-inset-bottom))}#app-nav{padding-inline-start:calc(var(--sp-sm) + env(safe-area-inset-left))}[dir=rtl] #app-nav{padding-inline-start:calc(var(--sp-sm) + env(safe-area-inset-right))}}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/CrossTide/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/CrossTide/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/CrossTide/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/CrossTide/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/CrossTide/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/CrossTide/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/CrossTide/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
