:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#fff;color:#1f2937;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;background:#fff}button,select,input{font:inherit}:where(button,select,input,[tabindex]):focus-visible{outline:3px solid #93c5fd;outline-offset:2px}.page-shell{width:min(1860px,100%);margin:0 auto;padding:12px 16px 28px}.rotation-section,.trend-section{width:100%}.top-controls,.trend-controls{display:grid;grid-template-columns:minmax(300px,1fr) minmax(260px,1fr);gap:16px 24px;align-items:end}.top-controls{grid-template-columns:minmax(300px,1fr) minmax(300px,1fr)}.control,.lookback-control{display:grid;gap:10px;color:#1f2937;font-size:15px;line-height:1.2}.control span,.lookback-control legend{padding:0;color:#1f2937;font-weight:500}.control select{width:100%;min-height:44px;border:0;border-radius:8px;padding:0 44px 0 14px;background:linear-gradient(45deg,transparent 50%,#2f3640 50%) calc(100% - 22px) 50% / 7px 7px no-repeat,linear-gradient(135deg,#2f3640 50%,transparent 50%) calc(100% - 16px) 50% / 7px 7px no-repeat,#f1f3f8;color:#293241;appearance:none;cursor:pointer}.control select:focus-visible,.radio-option input:focus-visible{outline:3px solid #bfdbfe;outline-offset:2px}.lookback-control{border:0;margin:0;align-self:start}.radio-row{display:flex;flex-wrap:wrap;align-items:center;gap:18px;min-height:44px}.radio-option{display:inline-flex;align-items:center;gap:8px;color:#4b5563;cursor:pointer}.radio-option input{width:18px;height:18px;margin:0;accent-color:#ff4d55}.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:28px 0 14px}.section-heading h2{margin:0;color:#1f2937;font-size:25px;font-weight:700;letter-spacing:0}.section-heading span{color:#667085;font-size:13px}.section-actions{display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px 14px}.refresh-status{border-radius:999px;padding:5px 10px;font-weight:700}.refresh-status.info{background:#eaf6ef;color:#0f7a3d}.refresh-status.warning{background:#fff4df;color:#9a5b00}.text-action{min-height:44px;border:0;border-radius:6px;padding:7px 10px;background:#eef2f7;color:#344054;cursor:pointer;font-size:13px;font-weight:700}.text-action:hover,.text-action:focus-visible{background:#e4e9f1}.text-action:disabled{cursor:wait;opacity:.65}.market-summary,.insight-summary,.what-matters-summary{display:grid;grid-template-columns:minmax(180px,.38fr) minmax(0,1fr);gap:12px 24px;margin:20px 0 4px;border:1px solid #dbe5f0;border-left:4px solid #3b82f6;border-radius:8px;padding:16px 18px;background:#f8fbff;color:#334155}.market-summary-title,.insight-summary h2,.what-matters-summary h2{margin:0;color:#172554;font-size:17px;font-weight:750;line-height:1.3}.market-summary-copy,.insight-summary p,.what-matters-summary p{margin:0;line-height:1.55}.market-summary-stats,.summary-stats{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:8px 18px;color:#526173;font-size:13px;font-weight:650}.analysis-context,.analysis-context-bar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:10px 20px;min-height:52px;margin:0 0 16px;border:1px solid #dbe2ea;border-radius:8px;padding:8px 12px;background:#fffffff5;box-shadow:0 8px 22px #0f172a14;color:#475569;font-size:13px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.analysis-context-items{display:flex;flex-wrap:wrap;align-items:center;gap:5px 9px}.analysis-context-items>span{display:inline-flex;align-items:baseline;gap:5px}.analysis-context-label{color:#64748b}.analysis-context-value{color:#172554;font-weight:750}.analysis-context-separator{color:#c2cbd6}.methodology-panel,.methodology{margin:18px 0;border:1px solid #dbe2ea;border-radius:8px;background:#fff;color:#475569}.methodology-panel>summary,.methodology>summary{min-height:44px;padding:12px 14px;color:#344054;cursor:pointer;font-size:14px;font-weight:750}.methodology-panel[open]>summary,.methodology[open]>summary{border-bottom:1px solid #e3e7ee}.methodology-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0;padding:4px 14px 14px}.metric-definition{padding:12px 14px 8px 0;line-height:1.5}.metric-definition strong{display:block;margin-bottom:3px;color:#1f2937}.rotation-grid{display:grid;grid-template-columns:minmax(620px,1.25fr) minmax(430px,.9fr);gap:34px;align-items:start}.chart-wrap{min-width:0;overflow:visible}.chart-wrap svg{display:block;width:100%;min-height:380px}.chart-bg{fill:#fff}.grid-line{stroke:#e5e7eb;stroke-width:1}.neutral-line{stroke:#9ca3af;stroke-dasharray:4 4;stroke-width:1.5}.axis-label{fill:#7a8493;font-size:15px}.axis-tick{fill:#7a8493;font-size:13px}.quadrant-label{font-size:13px;font-weight:750}.quadrant-label.improving{fill:#2870b8}.quadrant-label.leading{fill:#258449}.quadrant-label.lagging{fill:#c63d46}.quadrant-label.weakening{fill:#9a6800}.trail-line{fill:none;stroke-dasharray:4 4;stroke-linecap:round;stroke-width:1.5;opacity:.58}.trail-hitbox{fill:none;pointer-events:stroke;stroke:transparent;stroke-linecap:round;stroke-width:16}.latest-hitbox{fill:transparent;pointer-events:fill}.rrg-series{cursor:pointer;pointer-events:bounding-box;transition:opacity .12s ease}.rrg-series.dimmed{opacity:.12}.chart-wrap svg:has(.rrg-series:hover) .rrg-series:not(:hover){opacity:.14}.rrg-series.active .trail-line{stroke-width:3;opacity:1}.rrg-series.active .trail-dot{opacity:.75}.rrg-series.active .latest-dot{stroke:#111827;stroke-width:3}.rrg-series:focus-visible .latest-dot{stroke:#111827;stroke-width:2.5}.trail-dot{opacity:.28}.latest-dot{stroke:#fff;stroke-width:1.5}.ticker-label{fill:#475569;font-size:11px;font-weight:700}.rrg-series.active .ticker-label,.rrg-series:focus-visible .ticker-label{fill:#111827;font-size:12px;font-weight:800}.rrg-tooltip rect{fill:#fff;stroke:#d8dee8;stroke-width:1;filter:drop-shadow(0 8px 18px rgb(15 23 42 / 14%))}.tooltip-anchor{stroke:#94a3b8;stroke-dasharray:3 3;stroke-width:1.2}.tooltip-title{fill:#111827;font-size:15px;font-weight:750}.tooltip-meta{fill:#526173;font-size:12px;font-weight:650}.tooltip-stat{fill:#334155;font-size:12px;font-weight:500}.legend{display:flex;flex-wrap:wrap;gap:10px 22px;justify-content:center;padding:8px 0 0;color:#536173;font-size:12px}.legend span{display:inline-flex;align-items:center;gap:8px}.legend i{display:inline-block;width:10px;height:10px;border-radius:999px}.table-shell{overflow:auto;border:1px solid #e3e7ee;border-radius:8px;background:#fff}.rrg-table-shell{max-height:none;overflow:visible}.rrg-table-shell table{table-layout:fixed}.rrg-name-column{width:39%}.rrg-ratio-column,.rrg-momentum-column{width:15%}.rrg-quadrant-column{width:17%}.rrg-return-column{width:14%}.rrg-table-shell th,.rrg-table-shell td{overflow:hidden;padding:11px 6px;text-overflow:ellipsis}.rrg-table-shell .sortable-heading button{min-height:44px;padding:11px 6px}.rrg-table-shell .sortable-heading i{flex:0 0 auto}.trend-table-shell{max-height:540px;overflow-x:auto}.trend-table-shell table{table-layout:fixed;font-size:13px}.trend-ticker-column{width:5%}.trend-name-column{width:17%}.trend-sector-column{width:8%}.trend-subsector-column{width:21%}.trend-number-column{width:7%}.trend-table-shell th,.trend-table-shell td{overflow:hidden;padding:10px 6px;text-overflow:ellipsis}.trend-table-shell .sortable-heading button{min-height:44px;padding:10px 6px}.trend-table-shell .sortable-heading i{flex:0 0 auto}.stock-chart-section{margin-top:28px}.compact-heading{margin-top:0}.stock-chart-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,1fr);gap:24px;align-items:stretch}.stock-chart-panel{display:grid;grid-template-rows:auto auto auto auto minmax(560px,1fr);min-width:0;min-height:720px;border:1px solid #e3e7ee;border-radius:8px;background:#fff}.stock-chart-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:58px;padding:12px 14px;border-bottom:1px solid #e3e7ee}.stock-chart-title-block{display:grid;min-width:0;gap:3px}.stock-chart-title-block strong{color:#111827;font-size:19px;font-weight:760;line-height:1.1}.stock-chart-actions{display:inline-flex;gap:8px}.stock-chart-actions button{display:inline-grid;place-items:center;width:44px;height:44px;border:1px solid #d9e1ec;border-radius:999px;background:#f8fafc;color:#1f2937;cursor:pointer;font-size:26px;font-weight:500;line-height:1}.stock-chart-actions button:hover,.stock-chart-actions button:focus-visible{background:#eef6ff;border-color:#bfdbfe}.stock-chart-actions button:disabled{cursor:not-allowed;opacity:.42}.stock-chart-controls{display:flex;flex-wrap:wrap;gap:10px;padding:10px 14px;border-bottom:1px solid #e3e7ee;background:#fff}.segmented-control{display:inline-flex;overflow:hidden;border:1px solid #d9e1ec;border-radius:7px;background:#fff}.segmented-control button{min-width:38px;min-height:44px;border:0;border-right:1px solid #d9e1ec;padding:0 10px;background:#fff;color:#475569;cursor:pointer;font-size:12px;font-weight:700}.segmented-control button:last-child{border-right:0}.segmented-control button:hover,.segmented-control button:focus-visible{background:#eef6ff}.segmented-control button.active{background:#1f2937;color:#fff}.timeframe-control{flex-wrap:wrap}.stock-chart-stats{display:flex;flex-wrap:wrap;gap:8px;padding:10px 14px;border-bottom:1px solid #e3e7ee}.stock-chart-stats span{display:inline-flex;align-items:center;gap:4px;border:1px solid #e3e7ee;border-radius:999px;padding:5px 9px;background:#f8fafc;color:#475569;font-size:12px;font-weight:650}.stock-chart-stats strong{color:#25364d;font-weight:760}.moving-average-legend{display:flex;flex-wrap:wrap;gap:8px 14px;padding:8px 14px;border-bottom:1px solid #e3e7ee;background:#fff;color:#64748b;font-size:11px;font-weight:650}.moving-average-legend span{display:inline-flex;align-items:center;gap:6px}.moving-average-legend i{width:18px;height:3px;border-radius:999px}.stock-chart-canvas{position:relative;min-height:560px;min-width:0;background:#fff}.chart-empty-state{position:absolute;inset:0;z-index:1;display:grid;place-items:center;background:#ffffffd1;color:#64748b;font-size:14px;font-weight:650}.chart-stock-table-shell{align-self:stretch;height:720px;max-height:none;overflow-x:hidden}.chart-stock-table-shell table{table-layout:fixed;font-size:13px}.chart-stock-ticker-column{width:18%}.chart-stock-name-column{width:56%}.chart-stock-score-column{width:26%}.chart-stock-table-shell th,.chart-stock-table-shell td{overflow:hidden;padding:10px 8px;text-overflow:ellipsis}.stock-list-row{cursor:pointer}.stock-list-row:hover{background:#f8fafc}.stock-list-row.active,.stock-list-row.active:hover{background:#eef6ff}.stock-list-row.active td{color:#172554;font-weight:700}table{width:100%;border-collapse:separate;border-spacing:0;font-size:14px}thead th{position:sticky;top:0;z-index:1;background:#f8fafc;color:#7a8493;font-weight:500}th,td{min-height:44px;border-right:1px solid #e3e7ee;border-bottom:1px solid #e3e7ee;padding:13px 12px;text-align:left;vertical-align:middle;white-space:nowrap}.sortable-heading{padding:0}.sortable-heading button{display:flex;align-items:center;justify-content:flex-start;gap:6px;width:100%;min-height:44px;border:0;padding:13px 12px;background:transparent;color:inherit;cursor:pointer;font:inherit;text-align:left}.sortable-heading.number button{justify-content:flex-end;text-align:right}.sortable-heading button:hover,.sortable-heading button:focus-visible{background:#eef2f7}.sortable-heading i{color:#475569;font-style:normal;font-weight:700}tr:last-child td{border-bottom:0}th:last-child,td:last-child{border-right:0}td{color:#334155;font-weight:450}.clickable-row{cursor:pointer}.clickable-row:hover{background:#f8fafc}.highlighted-row,.clickable-row.highlighted-row:hover{background:#eef6ff}.highlighted-row td{color:#172554}.clickable-row:focus-visible,.stock-list-row:focus-visible{outline:3px solid #60a5fa;outline-offset:-3px}.number{text-align:right;font-variant-numeric:tabular-nums}.trend-section{margin-top:42px}.trend-section h1,.trend-section h2{margin:0 0 24px;color:#1f2937;font-size:25px;line-height:1.15;font-weight:700;letter-spacing:0}.trend-controls{grid-template-columns:minmax(560px,1.45fr) minmax(260px,.55fr);align-items:start;margin-bottom:22px}.sector-drilldown{display:grid;grid-template-columns:minmax(240px,.95fr) minmax(260px,1.05fr);gap:0;min-width:0;border:1px solid #d7dce5;border-radius:8px;overflow:hidden;background:#fff}.sector-list{min-width:0}.sector-list+.sector-list{border-left:1px solid #d7dce5}.sector-list h3{margin:0;min-height:44px;padding:13px 12px;border-bottom:1px solid #d7dce5;background:#f8fafc;color:#7a8493;font-size:14px;font-weight:500;letter-spacing:0}.sector-list-rows{max-height:660px;overflow:auto}.sector-row{display:flex;align-items:center;width:100%;min-height:44px;border:0;border-bottom:1px solid #d7dce5;padding:13px 12px;background:#fff;color:#334155;text-align:left;cursor:pointer}.sector-row:last-child{border-bottom:0}.sector-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:450;letter-spacing:0}.sector-row:hover,.sector-row:focus-visible{background:#f7f9fc}.sector-row.active{background:#eaf3ff;color:#172554;box-shadow:inset 3px 0 #3b82f6}.sector-row.active span{font-weight:700}.universe-control{align-self:start}.trend-data-state{margin:0 0 18px;border:1px solid #dbe5f0;border-radius:8px;padding:14px 16px;background:#f8fbff;color:#334155;line-height:1.45}.trend-data-state.error{border-color:#fecaca;background:#fff7f7;color:#991b1b}.empty-row{height:88px;color:#64748b;text-align:center}@media(max-width:1180px){.rotation-grid{grid-template-columns:1fr}.rrg-table-shell{max-height:none}}@media(max-width:760px){.page-shell{padding:12px 12px 24px}.top-controls,.trend-controls,.stock-chart-grid{grid-template-columns:1fr}.market-summary,.insight-summary,.what-matters-summary{grid-template-columns:1fr;padding:14px}.market-summary-stats,.summary-stats{grid-column:auto}.analysis-context,.analysis-context-bar{margin-inline:-4px;overflow-x:auto;justify-content:flex-start;white-space:nowrap}.analysis-context-items{flex-wrap:nowrap}.sector-drilldown{grid-template-columns:1fr;gap:0;overflow:visible;border:0;background:transparent}.sector-list+.sector-list{margin-top:12px;border:0}.sector-list{overflow:hidden;border:1px solid #d7dce5;border-radius:8px;background:#fff}.sector-list h3{min-height:auto;padding:10px 12px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.sector-list-rows{display:flex;gap:8px;max-height:none;padding:8px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;scroll-snap-type:inline proximity;scrollbar-width:thin}.sector-row{flex:0 0 auto;width:auto;max-width:240px;min-height:44px;border:1px solid #dbe2ea;border-radius:999px;padding:10px 14px;scroll-snap-align:start}.sector-row:last-child{border-bottom:1px solid #dbe2ea}.sector-row.active{border-color:#93c5fd;box-shadow:none}.trend-table-shell{max-height:64vh;overscroll-behavior:contain}.trend-table-shell table{min-width:920px}.section-heading{align-items:flex-start;flex-direction:column}.chart-wrap{overflow-x:auto}.chart-wrap svg{min-width:560px}.stock-chart-panel{grid-template-rows:auto auto auto auto minmax(460px,1fr);min-height:640px}.stock-chart-canvas{min-height:460px}.trend-section h1,.trend-section h2{font-size:25px}.stock-chart-toolbar{align-items:flex-start}.stock-chart-controls{flex-wrap:nowrap;overflow-x:auto}.segmented-control{flex:0 0 auto}.section-actions{justify-content:flex-start}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
