/* Shared appearance. The chart and page use the same dark base. */
:root,:root[data-theme="light"]{
 color-scheme:light;--paper:#faf9f6;--ink:#060e23;--muted:#405674;--line:#cbd2da;--orange:#c44517;--green:#00745f;--negative:#b13d2b;--blue:#397794;--wash:#fcece2;--chart:#ffffff;--link:#185cad;--warning-text:#754811;--warning-bg:#fbf0de;--warning-border:#b78139;
 --bg:var(--paper);--surface:#fff;--surface-2:#eef1f2;--text:var(--ink);--text-muted:var(--muted);--border:var(--line);--accent:var(--link);--up:var(--green);--down:var(--negative);--focus:var(--link);--brand-tint:#e9f1ff;--glass:#faf9f6f2;--chart-text:#405674;--chart-ui:#eef1f2;--chart-border:var(--line);--study-sma20:#a65c10;--study-sma50:#397794;--study-ema9:#007961;--study-ema21:#8957a4;--study-vwap:#876409;--study-bands:#526f90;--study-rsi:#7857a5;--study-systemLevels:#317a70;
}
:root[data-theme="dark"]{
 color-scheme:dark;--paper:#101923;--ink:#edf2f8;--muted:#a9bacd;--line:#344252;--orange:#ff936f;--green:#67baae;--negative:#ff958a;--blue:#89a8d7;--wash:#302a29;--chart:#101923;--link:#91bdff;--warning-text:#e9bd81;--warning-bg:#30281d;--warning-border:#8e704a;
 --bg:var(--paper);--text:var(--ink);--text-muted:var(--muted);--border:var(--line);--accent:var(--link);--up:var(--green);--down:var(--negative);--focus:var(--link);--surface:#101923;--surface-2:#182634;--brand-tint:#1d304b;--glass:#101923f2;--chart-text:#b6c3d1;--chart-ui:#131e2a;--study-sma20:#d7b77e;--study-sma50:#89a8d7;--study-ema9:#76c9ba;--study-ema21:#c7a2d7;--study-vwap:#e5cf8b;--study-bands:#93a9c3;--study-rsi:#b9abd9;--study-systemLevels:#7eaba4;
}
:root[data-theme] body{background:var(--paper);color:var(--ink)}
.header-actions{display:flex;align-items:center;gap:18px;margin-left:auto}
#appearance{font:inherit;font-size:12px;color:var(--muted);border:1px solid var(--line);border-radius:5px;background:transparent;padding:7px 10px;min-height:36px;cursor:pointer;white-space:nowrap}
#appearance:hover{background:var(--surface-2);color:var(--ink)}
.header-actions .nav-tools{margin:0}
.chart-surface{background:var(--chart);border-color:var(--chart-border)}
.chart-readout{color:var(--chart-text);background:var(--chart);border-color:var(--chart-border)}
.chart-hover,.chart-loading{color:var(--chart-text);background:var(--chart-ui);border-color:var(--line)}
.chart-unavailable{color:var(--chart-text)}
.study-key{--study-color:var(--muted)}
.legend [data-study="sma20"]{--study-color:var(--study-sma20)}.legend [data-study="sma50"]{--study-color:var(--study-sma50)}.legend [data-study="ema9"]{--study-color:var(--study-ema9)}.legend [data-study="ema21"]{--study-color:var(--study-ema21)}.legend [data-study="vwap"]{--study-color:var(--study-vwap)}.legend [data-study="bands"]{--study-color:var(--study-bands)}.legend [data-study="rsi"]{--study-color:var(--study-rsi)}.legend [data-study="systemLevels"]{--study-color:var(--study-systemLevels)}
.candle-key i{background:var(--green)}.candle-key i:last-of-type{background:var(--negative)}
.chart-browse input:disabled{opacity:.55;cursor:default}
.skip-link{color:var(--paper)}.secondary:hover{color:var(--paper)}.workspace-link:hover{color:var(--paper)}
.primary:hover{background:#b5360f;color:#fff}
.legacy-brand{display:inline-flex;align-items:center;gap:9px;white-space:nowrap;color:var(--text);font-weight:700}
.legacy-brand img{width:22px;height:28px;object-fit:contain}
:root[data-theme="dark"] .position-card{background:var(--surface-2);color:var(--ink);border-color:var(--line)}
:root[data-theme="dark"] .primary-button{background:#185cad;color:#fff}
[data-theme="dark"] .icon:not(.light-icon),[data-theme="dark"] .loading-icon{filter:invert(1)}
[data-theme="dark"] .site-header{border-color:var(--line)}
[data-theme="dark"] .brand-mark img{filter:brightness(1.35)}
.chart-toolbar{height:auto;min-height:44px;display:grid;grid-template-columns:1fr auto auto;gap:10px;padding:0}
.chart-toolbar .chart-periods{height:42px;gap:8px;min-width:0}
.chart-toolbar .studies-button{margin-left:0}
.chart-session-controls{display:grid;grid-template-columns:auto auto minmax(0,1fr);gap:10px;align-items:center;min-height:60px;padding:8px 0}
.chart-session-controls .chart-window{display:flex;gap:4px;margin:0}
.chart-window button{min-height:40px}
#chart-window[hidden]{display:flex!important;visibility:hidden}
.chart-session-controls>span{font-size:11px;line-height:1.5}
.chart-browse input{height:24px}
.nav-tools[open]>div{box-shadow:0 12px 30px #00000020}
.quant-research{margin:18px 0;border-top:1px solid var(--line);padding-top:12px}
.quant-research>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;font-weight:600;cursor:pointer;list-style:none;min-height:40px}
.quant-research>summary:after{content:'+';color:var(--orange)}.quant-research[open]>summary:after{content:'−'}
.quant-research>summary span{font-size:11px;font-weight:400;color:var(--muted);margin-left:auto}
.quant-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.quant-summary p{display:flex;flex-direction:column;gap:5px;border:1px solid var(--line);border-radius:5px;padding:12px;font-size:13px}
.quant-summary span{font-size:12px;color:var(--muted)}
.quant-research .context-table{overflow-x:auto;max-width:100%}.quant-research caption{text-align:left;color:var(--muted);font-size:12px;padding:8px 0}
.quant-research a{color:var(--link)}.source-group{margin-top:30px}
@media(max-width:760px){.chart-session-controls{grid-template-columns:1fr auto;gap:6px 12px}.chart-session-controls>span{grid-column:1/-1;min-height:17px}}
@media(max-width:600px){.header-actions{grid-column:2;grid-row:1;gap:12px}.chart-toolbar{gap:5px}.chart-toolbar .chart-periods{gap:1px}.chart-periods button{min-width:30px;padding:0 5px}.chart-session-controls .chart-window{gap:2px}.chart-window button{padding:7px 8px}.chart-toolbar .studies-button{padding:6px 8px}.chart-navigation{padding-top:10px}}
/* Animate user actions with short opacity/transform transitions; no perpetual effects. */
@media(prefers-reduced-motion:no-preference){
 button,a,summary,input,select{transition:color 160ms ease,background-color 160ms ease,border-color 160ms ease,box-shadow 160ms ease}
 body,.site-header,dialog,.chart-surface,.chart-readout{transition:background-color 180ms ease,color 180ms ease,border-color 180ms ease}
 .filter-chip,tr{transition:background-color 140ms ease,border-color 140ms ease}
 button:active:not(:disabled){transform:translateY(1px)}
 dialog[open],.nav-tools[open]>div,.nav-more[open]>.nav-menu{animation:casper-enter 160ms ease-out}
 .research-topic[open]>:not(summary),.section-fold[open]>:not(summary),.quant-research[open]>:not(summary){animation:casper-enter 180ms ease-out}
 @keyframes casper-enter{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{:root,[data-theme="dark"]{--paper:#fff;--ink:#060e23;--muted:#405674;--line:#cbd2da;color-scheme:light}#appearance{display:none}}
/* Native option menus need their own foreground and background colors. */
select option,select optgroup{background:var(--surface-2);color:var(--ink)}
.controls .funds-toggle{padding:8px 12px;font-size:12px;min-height:40px;white-space:nowrap}
.funds-toggle[aria-pressed="false"]{background:var(--surface-2);border-color:var(--orange);color:var(--ink)}
@media(min-width:901px){body{zoom:.9}}
.calendar-toolbar,.calendar-month-controls,.calendar-filters{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.calendar-toolbar{justify-content:space-between;margin:8px 0 22px}.calendar-month-controls h2{font-size:22px;margin:0;min-width:170px;text-align:center}.calendar-month-controls .secondary,.calendar-filters .secondary{border-color:var(--line);min-height:40px;font-size:13px}.calendar-views{min-width:180px}.calendar-views button{min-height:40px;font-size:13px}.calendar-filters{margin-bottom:20px;gap:18px}.calendar-filters label{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--muted)}.calendar-filters select,.calendar-filters input{border:1px solid var(--line);background:var(--surface);border-radius:4px;padding:9px 10px;min-height:40px;max-width:100%;font-size:13px}.calendar-filters a{color:var(--link);font-size:13px}.calendar-search{flex:1}.calendar-search input{width:min(280px,100%);min-width:0}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:5px;overflow:hidden}.calendar-weekday{background:var(--surface-2);text-align:center;padding:12px 4px;font-size:12px;color:var(--muted)}.calendar-day{background:var(--surface);min-height:140px;padding:10px 8px;min-width:0}.calendar-day h2{font-size:13px;margin:0 0 10px;color:var(--muted);font-weight:400}.calendar-day.today{box-shadow:inset 0 0 0 2px var(--orange)}.calendar-day.today h2{color:var(--orange);font-weight:600}.calendar-day.outside-month{background:var(--paper)}.calendar-event{background:var(--surface-2);border-left:2px solid var(--blue);padding:8px;margin:0 0 7px;border-radius:3px;overflow-wrap:anywhere}.calendar-event[data-type="earnings"]{border-left-color:var(--orange)}.calendar-event>a{font-size:12px;color:var(--link);line-height:1.4;font-weight:600;text-decoration:none;display:block}.calendar-event>a:hover{text-decoration:underline}.calendar-event small,.event-observed{display:block;font-size:11px;color:var(--muted);line-height:1.5;margin-top:5px}.event-observed{font-size:10px}.event-symbols{margin-top:6px;display:flex;flex-wrap:wrap;gap:7px}.event-symbols a{font-size:11px;color:var(--link)}.calendar-list-day{display:grid;grid-template-columns:100px 1fr;gap:20px;padding:15px 0;border-top:1px solid var(--line)}.calendar-list-day h2{font-size:16px;margin:10px 0}.calendar-list-day>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.calendar-list .calendar-event{margin:0;padding:14px}.calendar-list .calendar-event>a{font-size:14px}
@media(max-width:700px){.calendar-grid{grid-template-columns:repeat(7,minmax(88px,1fr));overflow-x:auto}.calendar-day{padding:8px 5px}.calendar-toolbar{gap:18px}.calendar-month-controls{gap:8px}.calendar-month-controls h2{font-size:19px;min-width:145px}.calendar-month-controls .secondary{padding:8px}.calendar-list-day{grid-template-columns:1fr;gap:3px}.calendar-filters{gap:12px}.calendar-search{flex-basis:100%}.calendar-filters label{min-width:0}.calendar-search input{flex:1}.calendar-views{width:100%}}
@media(max-width:600px){.site-header nav{gap:12px;justify-content:space-between}.site-header nav>a{font-size:12px;padding:0}}
