:root {
  --chrome:#faf9f3; --edition:#527e66; --soft:#edf2e9; --accent:#285442;
  --grid:#e3e9e1; --chart-label:#597063; --series:#396b56; --volume:#789d88;
  --chart-gold:#a87637; --ma-blue:#4886a4; --ma-violet:#7764a2; --ma-green:#5d8b61;
  --spark:#f1d48c; --spark-grid:#54726380; --spark-dot:#1e493a;
}
html { scroll-padding-top:82px; }
body { padding-inline:env(safe-area-inset-left) env(safe-area-inset-right); }
.masthead { position:sticky; top:0; z-index:5; background:var(--chrome); border-color:var(--line); padding-top:env(safe-area-inset-top); }
.wordmark { flex:none; }
.toolbar { display:flex; align-items:center; gap:7px; }
.tool { min-height:36px; display:inline-flex; align-items:center; justify-content:center; gap:6px; color:var(--ink); border:1px solid var(--line); border-radius:7px; padding:0 10px; background:var(--white); text-decoration:none; font:700 12px/1.15 var(--font); white-space:nowrap; }
.tool:hover,.tool:focus-within { border-color:var(--edition); color:var(--accent); }
.tool svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; flex:none; }
.picker { padding-right:5px; }
.picker select { min-height:34px; border:0; color:inherit; background:transparent; font:inherit; cursor:pointer; }
.picker select option { background:var(--white); color:var(--ink); }
.tool.install { color:var(--white); background:var(--forest); border-color:transparent; }
.tool.install:hover { color:var(--gold); }
.edition-label { font-weight:800; }
[data-theme="forest"] .edition-label { display:none; }
.mobile-update { display:none; }
.report-actions { display:flex; gap:6px; align-self:start; }
.report-nav { overscroll-behavior-inline:contain; scrollbar-width:thin; }
.report-section { scroll-margin-top:6px; }
.panel h4 { margin:0 0 8px; font-size:13px; }
.split + .detail-panel,.panel + .detail-panel,.detail-panel + .panel { margin-top:10px; }
.detail-panel summary { cursor:pointer; font-size:13px; font-weight:750; color:var(--accent); }
.detail-panel[open] summary { margin-bottom:10px; }
.detail-panel .table-wrap + .table-wrap { margin-top:11px; }
.detail-panel .caption + .table-wrap,.panel .caption + .table-wrap { margin-top:10px; }
.facts-heading { margin:14px 0 5px; font-size:13px; }
.update-log { margin-block:4px 43px; }
.update-log > header { display:flex; justify-content:space-between; align-items:end; gap:12px; padding-block:13px; border-top:1px solid var(--line); }
.update-log h2 { font:760 28px/1.2 var(--display); margin-top:6px; }
.update-log header a { font-size:12px; color:var(--accent); }
.release { display:grid; grid-template-columns:124px minmax(0,1fr); gap:16px; padding:18px 20px; border:1px solid var(--line); border-left:3px solid var(--edition); border-radius:8px; background:var(--white); }
.release-stamp { display:grid; align-content:start; gap:3px; color:var(--muted); font-size:12px; }
.release-stamp time { font:730 14px/1.4 var(--mono); color:var(--ink); }
.release h3 { font-size:16px; }
.release ul { padding-left:17px; margin-top:6px; color:var(--muted); font-size:13px; }
.release li + li { margin-top:5px; }
.update-comparison { margin-top:10px; border-top:1px solid var(--line); padding-top:8px; color:var(--muted); font-size:13px; }
.update-comparison summary { cursor:pointer; color:var(--accent); font-weight:750; }
.update-comparison p { margin-top:6px; }
#install-help { width:min(470px,calc(100% - 32px)); background:var(--white); color:var(--ink); border:1px solid var(--line); border-radius:14px; padding:20px; box-shadow:0 18px 50px #07111645; }
#install-help::backdrop { background:#10182291; }
#install-help header { display:flex; gap:12px; align-items:start; justify-content:space-between; }
#install-help h2 { font:750 24px/1.2 var(--display); }
#install-help p { margin:8px 0 13px; color:var(--muted); }
#install-help dl { display:grid; gap:10px; }
#install-help dl div { border:1px solid var(--line); border-radius:7px; padding:9px 11px; }
#install-help dt { font-weight:800; }
#install-help dd { color:var(--muted); font-size:13px; }
.chart text { fill:var(--chart-label); }

[data-theme="rose"] {
  --paper:#f8efeb; --white:#fffaf5; --chrome:#fff7f2; --ink:#42242d; --muted:#694c53; --line:#e5cbd0;
  --forest:#663345; --gold:#ffd8cb; --edition:#a34866; --soft:#f7e1e1; --accent:#752945;
  --grid:#ecd8d6; --chart-label:#76505e; --series:#9a4563; --volume:#c4818d;
  --chart-gold:#9d5848; --ma-blue:#527d97; --ma-violet:#9c5d8e; --ma-green:#517d66;
  --spark:#9c3d5b; --spark-grid:#e4c2c9; --spark-dot:#fff6ef;
}
[data-theme="rose"] .hero { background:linear-gradient(110deg,#f7e6e1,#f2d8de 83%); color:var(--ink); border-color:#ba6f83; }
[data-theme="rose"] .hero-layout { position:relative; padding-block:42px 36px; }
[data-theme="rose"] .hero-copy { border-left:1px solid #be8594; padding-left:23px; }
[data-theme="rose"] .hero h1,[data-theme="rose"] .report-title h2 { font-weight:820; color:#5a2638; letter-spacing:.065em; }
[data-theme="rose"] .eyebrow.light,[data-theme="rose"] .intro,[data-theme="rose"] .quick,[data-theme="rose"] .form-status { color:#704353; }
[data-theme="rose"] .form-status[data-kind="error"] { color:#942d45; }
[data-theme="rose"] .edition-label::after { content:"ÉDITION ROSE /"; }
[data-theme="rose"] .search-line { background:#fff9f3; border-color:#d9b1bb; color:#943c59; border-radius:3px; }
[data-theme="rose"] .search-line input { color:var(--ink); }
[data-theme="rose"] .search-line input::placeholder { color:#795a63; }
[data-theme="rose"] .create { background:#7f3150; border-color:#7f3150; color:#fff4eb; border-radius:3px; }
[data-theme="rose"] .create:hover { background:#6b243e; }
[data-theme="rose"] .quick button { color:#653044; border-color:#b5788b; background:#fff6ef85; }
[data-theme="rose"] .quick button:hover { color:#4d1e30; background:#ffece6; }
[data-theme="rose"] .hero-preview { position:relative; isolation:isolate; background:#fff8ee; border:1px solid #ce9ca7; border-radius:3px; box-shadow:6px 6px 0 #f1d7da,7px 7px 0 #c991a0,13px 13px 0 #ecd0d5,14px 14px 0 #ca98a5; }
[data-theme="rose"] .hero-preview::before { content:""; position:absolute; width:18px; height:33px; background:#9b4564; top:-1px; right:40px; clip-path:polygon(0 0,100% 0,100% 100%,50% 75%,0 100%); }
[data-theme="rose"] .preview-top { padding-right:50px; }
[data-theme="rose"] .preview-tag { background:#f5d9de; color:#6c2846; border-radius:1px; }
[data-theme="rose"] .preview-price strong { font-family:Georgia,var(--display); color:#682d43; font-size:38px; }
[data-theme="rose"] .preview-price span,[data-theme="rose"] .preview-foot,[data-theme="rose"] .preview-top { color:#75475a; }
[data-theme="rose"] .preview-foot { border-color:#d6aeb7; }
[data-theme="rose"] .report-head { border-bottom:1px solid #d6aeb8; padding-bottom:12px; }
[data-theme="rose"] .report-nav { border:0; gap:8px; }
[data-theme="rose"] .report-nav a { padding:6px 10px; border:1px solid var(--line); border-radius:99px; color:var(--accent); background:var(--white); }
[data-theme="rose"] .report-nav a:first-child { background:#efd4dc; border-color:#d3a2b0; }
[data-theme="rose"] .section-heading { gap:11px; padding-bottom:6px; border-bottom:1px solid var(--line); }
[data-theme="rose"] .section-heading h3 { font:780 19px/1.3 var(--display); letter-spacing:.055em; }
[data-theme="rose"] .panel,[data-theme="rose"] .metric { border-radius:4px; }

[data-theme="navy"] {
  color-scheme:dark;
  --paper:#0d1726; --white:#132237; --chrome:#0c192a; --ink:#ecf2fb; --muted:#adbed4; --line:#30445e;
  --forest:#203652; --gold:#f2cc86; --edition:#63b8ce; --soft:#182b40; --accent:#91d9e9;
  --grid:#2b4159; --chart-label:#afc3db; --series:#74c3db; --volume:#518da7; --up:#ffa8a1; --down:#80dbc1;
  --chart-gold:#ebba75; --ma-blue:#79c5ed; --ma-violet:#d2a7f5; --ma-green:#82caae;
  --spark:#f2cc86; --spark-grid:#47678383; --spark-dot:#12243b;
}
[data-theme="navy"] .hero { background:linear-gradient(90deg,#1c314a34 1px,transparent 1px) 50% 0/36px 36px,linear-gradient(#20364e44 1px,transparent 1px) 50% 0/36px 36px,#0a1525; border-color:#324966; }
[data-theme="navy"] .hero-layout { grid-template-columns:minmax(0,1.4fr) minmax(270px,1fr); }
[data-theme="navy"] .hero-copy { padding-left:17px; border-left:2px solid #78bdd2; }
[data-theme="navy"] .hero h1 { font-family:var(--font); font-weight:820; letter-spacing:-.025em; }
[data-theme="navy"] .edition-label::after { content:"MIDNIGHT /"; }
[data-theme="navy"] .eyebrow.light { color:#a4d0df; }
[data-theme="navy"] .intro,[data-theme="navy"] .quick,[data-theme="navy"] .form-status { color:#b8cee3; }
[data-theme="navy"] .form-status[data-kind="error"] { color:#ffb9a9; }
[data-theme="navy"] .search-line { background:#13243a; border-color:#49617b; color:#a4d2e1; border-radius:3px; }
[data-theme="navy"] .search-line input { color:#f2f5f9; }
[data-theme="navy"] .search-line input::placeholder { color:#9fb6ce; }
[data-theme="navy"] .create { background:#edc787; border-color:#edc787; color:#24201b; border-radius:3px; }
[data-theme="navy"] .create:hover { background:#ffdb99; }
[data-theme="navy"] .quick button { border-color:#546d89; color:#dce7f2; border-radius:3px; }
[data-theme="navy"] .quick button:hover { color:var(--gold); }
[data-theme="navy"] .hero-preview { background:#101e30; border-color:#41607d; border-radius:4px; box-shadow:inset 0 2px #7aa9c1,0 14px 35px #030a1573; }
[data-theme="navy"] .preview-tag { background:#233b53; color:#b9e6f2; border-radius:1px; }
[data-theme="navy"] .preview-foot { border-color:#435b74; }
[data-theme="navy"] .preview-foot,[data-theme="navy"] .preview-top { color:#acc2d8; }
[data-theme="navy"] .report-head { border-bottom:1px solid var(--line); padding-bottom:12px; }
[data-theme="navy"] .report-title h2 { font-family:var(--font); }
[data-theme="navy"] .report-nav { gap:0; }
[data-theme="navy"] .report-nav a { padding-inline:12px; border-right:1px solid var(--line); }
[data-theme="navy"] .report-nav a:first-child { border-bottom-color:var(--edition); }
[data-theme="navy"] .section-heading { padding-bottom:7px; border-bottom:1px solid var(--line); }
[data-theme="navy"] .panel,[data-theme="navy"] .metric,[data-theme="navy"] .summary,[data-theme="navy"] .tool,[data-theme="navy"] .release { border-radius:3px; }

:is([data-theme="rose"],[data-theme="navy"]) :is(.wordmark small,.eyebrow,.metric dt,.metric dd small,.event-list time,.site-footer) { color:var(--muted); }
:is([data-theme="rose"],[data-theme="navy"]) :is(.summary,.ticker-badge,.badge,.badge.ready,thead th,.section-heading span,.tiers li,.share,.site-footer) { background:var(--soft); border-color:var(--line); }
:is([data-theme="rose"],[data-theme="navy"]) :is(.summary h3,.ticker-badge,.badge,.badge.ready,thead th,.section-heading span,.section-heading h3,.share,table a,.event-list a,.source-links a,.report-nav a) { color:var(--accent); }
:is([data-theme="rose"],[data-theme="navy"]) :is(.summary p,.preview-price span) { color:var(--muted); }
:is([data-theme="rose"],[data-theme="navy"]) :is(td,th,.wordmark span) { border-color:var(--line); }
:is([data-theme="rose"],[data-theme="navy"]) .metric.primary,.tiers li.active { border-top-color:var(--edition); }
[data-theme="navy"] .tool.install { color:#eef7fc; }
[data-theme="navy"] .tool.install:hover { color:#f2cc86; }

@media(max-width:630px) {
  html { scroll-padding-top:72px; }
  .mast-inner { gap:5px; }
  .toolbar { gap:4px; }
  .toolbar .updates-link,.toolbar .picker svg { display:none; }
  .tool { min-height:39px; padding-inline:7px; font-size:11px; }
  .picker { padding-right:2px; }
  .picker select { min-height:37px; }
  .install svg { width:13px; height:13px; }
  .mobile-update { display:inline-block; margin-top:1px; font-size:11px; font-weight:730; color:inherit; text-underline-offset:3px; }
  .report-actions { flex-direction:column; }
  .report-nav { margin-block:13px 16px; }
  .chart text { font-size:15px; }
  .small-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .release { grid-template-columns:minmax(0,1fr); gap:7px; padding:13px; }
  .release-stamp { display:flex; align-items:baseline; gap:9px; }
  [data-theme="rose"] .hero-layout { padding-block:24px 17px; }
  [data-theme="rose"] .hero-copy,[data-theme="navy"] .hero-copy { padding-left:10px; }
}
@media(max-width:350px) {
  .wordmark { font-size:15px; }
  .wordmark img { width:26px; height:26px; }
  .install svg { display:none; }
}
@media print {
  .masthead,.hero,.report-actions,.update-log { display:none; }
  .report { padding:0; }
}
