:root{
  --font-xs:11px;--font-sm:12px;--font-base:14px;--font-md:15px;--font-lg:17px;--font-xl:20px;--font-display:26px;
  --bg:#0b0f19;--panel:#161f32;--panel2:#101827;--line:#1e293b;--line2:#2b3a52;--text:#f8fafc;--muted:#94a3b8;
  --accent:#00f2fe;--buy:#41df8b;--hold:#f7b955;--sell:#fb7185;--purple:#9082ff;--orange:#ff9d5c;
  --surface-raised:#19263a;--surface-input:#0e1625;--surface-soft:#111a2a;--surface-active:#20304a;
  --theme-glow:#00f2fe12;--theme-accent-text:#031117;--theme-shadow:#02060c80;
}
html[data-theme="paper"]{
  color-scheme:light;--bg:#f3f0e8;--panel:#fffdf8;--panel2:#ebe7dd;--line:#d7d0c2;--line2:#bbb2a2;--text:#17212f;--muted:#637083;
  --accent:#14777d;--buy:#16845a;--hold:#966400;--sell:#bd3d4e;--purple:#6459be;--orange:#bd6422;
  --surface-raised:#e5e0d5;--surface-input:#f8f5ee;--surface-soft:#eeeae1;--surface-active:#d9e9e8;
  --theme-glow:#14777d14;--theme-accent-text:#fff;--theme-shadow:#61584224;
}
html[data-theme="gold"]{
  color-scheme:dark;--bg:#0c0a07;--panel:#19150f;--panel2:#110f0b;--line:#3b3122;--line2:#5a4930;--text:#f8efdc;--muted:#aa9b82;
  --accent:#dca842;--buy:#64bf89;--hold:#e7b95c;--sell:#e26f72;--purple:#b18bd8;--orange:#e2914f;
  --surface-raised:#231d14;--surface-input:#120f0b;--surface-soft:#17130e;--surface-active:#3b2d17;
  --theme-glow:#dca84212;--theme-accent-text:#171006;--theme-shadow:#0009;
}
html,body{background-color:var(--bg)!important;color:var(--text)!important}body{font-size:var(--font-base)!important;line-height:1.55!important;background-image:radial-gradient(900px 500px at 35% -190px,var(--theme-glow),transparent 72%)!important}
button,input,select,textarea{font-size:var(--font-base)!important}.glass,.settings-card,.plan,.history-market,.record-summary article,.card{background-color:color-mix(in srgb,var(--panel) 94%,transparent)!important;border-color:var(--line)!important;color:var(--text)!important}.settings-nav,.tabs{background:color-mix(in srgb,var(--panel) 94%,transparent)!important;border-color:var(--line)!important}
.tab.active,.settings-tab.active{background:var(--surface-active)!important;color:var(--text)!important}.btn,.secondary,.subtab,.run-selector button,.schedule-slot,.sent-item,.md-index-card,.md-sentiment>div,.md-decision-grid section,.ladder-row,.theme-card,.review-box,.evidence,.pulse-card{background-color:var(--surface-soft)!important;border-color:var(--line)!important;color:var(--text)}
.input,.field input,.record-toolbar select,.ranking-tools select{background:var(--surface-input)!important;border-color:var(--line2)!important;color:var(--text)!important}.btn.primary,.primary,.plan-action{background:var(--accent)!important;border-color:var(--accent)!important;color:var(--theme-accent-text)!important}.ghost,.back,.logout,.panel-sub,.metric-label,.field label,.stage,.data-note,.md-panel-head p,.md-hero p{color:var(--muted)!important}
.panel-head,.md-panel-head,.md-table td,.md-table th,.data-table td,.data-table th,.stock-card,.history-stock,.factor-row,.review-row{border-color:var(--line)!important}.md-table th,.factor-record-scroll th,.history-detail,.stock-detail{background:var(--panel2)!important}.md-table tbody tr:hover,.stock-row:hover,.history-stock-row:hover{background:var(--surface-raised)!important}
html[data-theme="paper"] .md-hero,html[data-theme="paper"] .review-hero,html[data-theme="paper"] .review-summary{background:linear-gradient(115deg,#fffdf8,#e7f0ee)!important}html[data-theme="gold"] .md-hero,html[data-theme="gold"] .review-hero,html[data-theme="gold"] .review-summary{background:linear-gradient(115deg,#21180d,#15110b)!important}
html[data-theme="paper"] .up,html[data-theme="paper"] .md-up{color:#bd3d4e!important}html[data-theme="paper"] .down,html[data-theme="paper"] .md-down{color:#16845a!important}

/* Unified typography scale across every system surface. */
.brand-cn,.settings-top h1,.md-hero h2,.review-hero h2,.engine-title h1{font-size:var(--font-display)!important}.section-head h2,.market-hero h2{font-size:var(--font-xl)!important}.panel-title,.chapter-head h3,.md-panel-head h3,.history-market h3,.setting-group h3,.plan h3{font-size:var(--font-lg)!important}.stock-name,.settings-tab,.tab,.btn,.primary,.secondary,.subtab,.field input,.record-toolbar select,.md-table,.data-table{font-size:var(--font-base)!important}
.panel-sub,.engine-title p,.settings-top p,.section-head p,.review-hero p,.md-hero p,.md-panel-head p,.field label,.ranking-tools label,.factor-name,.factor-group-name,.history-notice,.md-decision-grid ul,.review-row,.strategy-notes p{font-size:var(--font-sm)!important}.eyebrow,.brand-en,.engine,.metric-foot,.table-head,.symbol,.output-foot,.ranking-tools>span,.detail-kicker,.status-chip,.plan-state,.md-live,.md-chart-legend,.md-table th,.md-tag,.history-stock-row small,.history-context span,.history-concepts span,.history-groups span,.data-note{font-size:var(--font-xs)!important}
.metric-value,.index-quote strong,.md-index-card strong,.record-summary strong,.history-market header>strong{font-size:var(--font-xl)!important}.score-cell strong,.kpi strong,.pulse-card strong,.md-sentiment strong{font-size:var(--font-lg)!important}.factor-value,.group-score-grid strong,.live-number,.rank,.history-stock-row b,.review-row strong{font-size:var(--font-sm)!important}
.legend,.health span,.weight-status,.schedule-slot span,.record-summary span,#recordQuoteMeta,.history-market header p,.history-stock-row small,.history-rank,.history-expand,.history-stock[open] .history-expand:after,.history-context b,.history-context span,.history-concepts span,.history-concepts em,.history-groups span,.history-groups i,.factor-record-scroll table,.review-summary small,.evidence span,.chapter-head p,.index-tags i,.index-callout,.index-callout b,.pulse-card small,.ladder-kpis span,.ladder-row-rich>em,.distribution-legend,.review-row small,.dist-col strong,.dist-col span,.board-structure b,.board-structure em,.limit-table-head,.limit-detail-row small,.limit-detail-row strong,.limit-detail-row em,.strategy-notes article em,.review-disclaimer strong,.review-disclaimer span,.md-index-card span,.md-index-card small,.md-panel-head>span,.md-ranges button,.md-chart-tip,.md-fib-group>p,.md-fib-table,.md-rank,.md-limit-chip small,.md-sentiment span,.md-empty,.research-row .signal,.score-cell small,.concept-tags span,.concept-tags em,.group-score-grid span,.factor-detail-list span,.factor-detail-list strong,.factor-detail-list em{font-size:var(--font-xs)!important}
.plan p,.plan li,.evidence strong,.index-card-rich>p,.ladder-row-rich span strong,.theme-card h4,.weak-grid h4,.limit-detail-panel h4,.limit-detail-row,.strategy-notes strong,.md-fib-group h4,.md-limit-chip,.md-decision-grid h4,.md-sentiment span{font-size:var(--font-sm)!important}
.card h1{font-size:var(--font-display)!important}.card p,.card label,.card .safe{font-size:var(--font-sm)!important}.card input,.card button{font-size:var(--font-base)!important}.card input{background:var(--surface-input)!important;border-color:var(--line2)!important;color:var(--text)!important}.card button{background:var(--accent)!important;color:var(--theme-accent-text)!important}.card{box-shadow:0 24px 70px var(--theme-shadow)!important}
@media(max-width:760px){:root{--font-base:13px;--font-md:14px;--font-lg:16px;--font-xl:19px;--font-display:23px}}

/* Light-theme contrast for legacy surfaces that previously used dark-only literals. */
html[data-theme="paper"] .market-dashboard{--md-growth:#14777d;--md-dividend:#bd3d4e;--md-ratio:#16845a;--md-warm:#966400}
html[data-theme="paper"] :is(.factor-group-name,.alpha,.live-number,.group-score-grid strong,.md-table td,.md-chart-tip,.plan li,.ladder-row span,.strategy-notes p,.index-card-rich>p,.limit-detail-row em){color:var(--text)!important}
html[data-theme="paper"] :is(.metric-foot,.table-head,.rank,.ranking-tools>span,.history-rank,.review-empty,.review-summary small,.review-row small,.data-note,.md-index-card span,.md-index-card small,.md-panel-head>span,.md-chart-legend,.md-chart-legend small,.md-fib-group>p,.md-table th,.md-table .separator td,.md-limit-chip small,.md-sentiment span,.md-empty,.detail-kicker,.concept-tags em,.factor-detail-list em){color:var(--muted)!important}
html[data-theme="paper"] :is(.ranking-tools,.history-detail,.stock-detail,.md-table th,.md-ranges button,.md-chart-tip,.md-index-card,.md-sentiment>div,.md-decision-grid section,.review-box,.evidence,.pulse-card,.theme-card,.ladder-row,.sentiment-grid div,.factor-record-scroll th){background:var(--surface-input)!important}
html[data-theme="paper"] :is(.growth-history>header,.main-history>header,.strategy-notes article,.review-disclaimer,.index-callout.focus,.index-callout.risk){background:var(--surface-soft)!important}
html[data-theme="paper"] :is(.signal.buy,.signal.hold,.signal.sell,.md-tag,.md-limit-chip,.concept-tags span,.history-concepts span){background:var(--panel2)!important}

.appearance-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.theme-choice{min-height:210px;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--text);text-align:left;cursor:pointer}.theme-choice:hover,.theme-choice:focus-visible{border-color:var(--accent)}.theme-choice.active{box-shadow:inset 0 0 0 2px var(--accent)}.theme-choice-preview{height:90px;display:grid;grid-template-columns:34% 1fr;gap:6px;padding:8px;border-radius:8px;margin-bottom:14px;background:var(--preview-bg)}.theme-choice-preview i,.theme-choice-preview span{display:block;border-radius:5px;background:var(--preview-panel)}.theme-choice-preview span{position:relative}.theme-choice-preview span:after{content:'';position:absolute;left:10px;right:10px;top:18px;height:5px;border-radius:99px;background:var(--preview-accent);box-shadow:0 15px 0 var(--preview-line),0 30px 0 var(--preview-line)}.theme-choice strong{display:block;font-size:var(--font-md)}.theme-choice small{display:block;margin-top:5px;color:var(--muted);font-size:var(--font-sm);line-height:1.6}.theme-choice[data-theme-choice="aurora"]{--preview-bg:#0b0f19;--preview-panel:#161f32;--preview-accent:#00f2fe;--preview-line:#2b3a52}.theme-choice[data-theme-choice="paper"]{--preview-bg:#f3f0e8;--preview-panel:#fffdf8;--preview-accent:#14777d;--preview-line:#d7d0c2}.theme-choice[data-theme-choice="gold"]{--preview-bg:#0c0a07;--preview-panel:#19150f;--preview-accent:#dca842;--preview-line:#5a4930}.theme-status{min-height:24px;margin-top:12px;color:var(--muted);font-size:var(--font-sm)}@media(max-width:760px){.appearance-grid{grid-template-columns:1fr}.theme-choice{min-height:170px}}
