/* Review theme: all replacement palette values live here. */
:root{
 --bg-ink-deep:#09141e;--bg-ink-mid:#192b39;
 --surface-cream:#fdfcf8;--surface-cream-alt:#f8f6f0;
 --surface-tooltip:#ffffff;
 --price-fill-top:#ba843085;--price-fill-mid:#c1903954;--price-fill-bottom:#c7a04b1a;
 --surface-taupe:#cfcbc3;--surface-taupe-light:#dfdcd5;
 --text-primary:#202c35;--text-secondary:#59616a;--border-soft:#dcd9d1;
 --accent-bronze:#88652d;--accent-gold:#dfbd70;--focus-ring:#246b9c;
 --page-bg:var(--bg-ink-deep);--chrome-bg:var(--bg-ink-mid);
 --card-bg:var(--surface-cream);--card-bg-alt:var(--surface-cream-alt);
 --plot-bg:var(--surface-cream);--overlay-bg:var(--surface-cream);--overview-bg:var(--surface-cream);
 --ink:var(--text-primary);--ink-soft:var(--text-secondary);--ink-muted:var(--text-secondary);--ink-faint:var(--text-secondary);
 --hairline:var(--border-soft);--gold:var(--accent-bronze);--gold-soft:#aa8952;
 --font-editorial:'Times New Roman',Times,serif;
 --font-ui:var(--font-editorial);--font-reference:var(--font-editorial);
 --section-radius:10px;--section-shadow:0 2px 8px #09141e08;
 --stone-shadow:var(--section-shadow);--control-shadow:0 1px 3px #09141e18;
}
body{background:linear-gradient(180deg,var(--bg-ink-deep),var(--bg-ink-mid)) fixed;font-family:var(--font-ui);color:var(--text-primary)}
header{background:transparent;border-color:#ffffff16}
header::after{display:none}
.brand,.brand-wordmark{color:var(--surface-cream)}
.brand-wordmark,.brand small{font-family:var(--font-editorial)}
.brand small{color:var(--border-soft)}
.brand-symbol{background:var(--accent-gold)}
header .market,header .market .scale-caption,header .market small,header .market .scale-caption small,header .market .scale-option{color:var(--surface-cream-alt)}
header .search{background:linear-gradient(var(--surface-cream),var(--surface-cream-alt));color:var(--text-primary);border-color:var(--border-soft)}
.search input{font-family:var(--font-ui);color:var(--text-primary)}
header #advanced-toggle,#menu-toggle{background:linear-gradient(var(--bg-ink-mid),var(--bg-ink-deep));color:var(--surface-cream);border-color:#ffffff40;box-shadow:var(--control-shadow)}
#menu-toggle span{background:var(--surface-cream)}
header #advanced-toggle[data-active=true]{background:var(--bg-ink-mid);color:var(--accent-gold);border-color:var(--accent-gold)}
main{background:linear-gradient(180deg,var(--surface-taupe),var(--surface-taupe-light));border:1px solid var(--border-soft);border-radius:12px;padding:0 8px 8px;gap:10px}
.plot,.historical-currents,.navigator,#panel{background:var(--surface-cream);border-color:var(--border-soft);box-shadow:var(--section-shadow)}
button{border-radius:7px}
.lane-control button{text-shadow:none}
.chart-event-label{background:var(--surface-cream);color:var(--text-primary)}
#panel{border-radius:10px}
.panel-toolbar,.advanced-footer{background:var(--surface-cream-alt);border-color:var(--border-soft)}
#panel h1{font-family:var(--font-editorial);line-height:1.15}
/* Editorial reader hierarchy; shared by event and Current articles. */
#panel .article-meta{font-size:12px;letter-spacing:.35px;gap:6px 12px}
#panel .article-category{color:var(--accent-bronze);letter-spacing:1.1px;font-weight:700}
#panel h1{font-size:clamp(29px,2.4vw,38px);margin:18px 0 20px;letter-spacing:-.4px;text-wrap:pretty}
#panel h1::after{content:'';display:block;width:48px;height:2px;margin-top:18px;background:var(--accent-gold)}
#panel .standfirst{font-family:var(--font-editorial);font-size:19px;line-height:1.55;color:var(--text-primary);margin:0 0 26px;text-wrap:pretty}
#panel .article-sources{background:var(--surface-cream-alt);border:1px solid var(--border-soft);border-radius:6px;padding:16px 18px 6px;margin-top:28px}
#panel .article-sources>h2{color:var(--accent-bronze);font-size:13px;font-weight:700;letter-spacing:1.6px;margin-bottom:12px}
#panel .article-sources ol{margin:0;padding-left:22px;font-size:15px;line-height:1.5}
#panel .article-sources li{padding-left:5px;margin-bottom:12px}
#panel .article-sources li+li{border-top:1px solid var(--border-soft);padding-top:12px}
#panel .article-sources li::marker{color:var(--accent-bronze);font-weight:700;font-variant-numeric:tabular-nums}
#panel .article-sources a{color:var(--text-primary);font-weight:700;text-decoration-color:var(--border-soft)}
#panel .article-sources a:hover{color:var(--accent-bronze);text-decoration-color:currentColor}
#panel .article-sources small{font-size:12px;line-height:1.5;margin-top:4px;color:var(--text-secondary);overflow-wrap:anywhere}
#panel .body-content{color:var(--text-primary)}
.article-meta,.article-sources small,.related-event small,.panel-note{font-family:var(--font-ui);color:var(--text-secondary)}
#event-back,.related-event{color:var(--text-primary)}
#panel a{color:var(--accent-bronze)}
.article-sources,.related-history,.article-navigation{border-color:var(--border-soft)}
#menu-panel,#advanced-filters,#more-options,#category-picker,#tooltip,#empty{background:var(--surface-cream);color:var(--text-primary);border-color:var(--border-soft)}
#tooltip{background:var(--surface-tooltip)}
#price-axis,#nav-dates,.nav-title small{font-family:var(--font-ui)}
footer{color:var(--border-soft)}
:is(button,a,canvas,input,[tabindex]):focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}
header :is(button,a,input):focus-visible{outline-color:var(--accent-gold)}
.historical-currents:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
.currents-rows{position:relative;isolation:isolate}
.current-waves{position:absolute;left:var(--currents-left);width:var(--currents-width);top:0;height:100%;overflow:hidden;pointer-events:none;z-index:-1}
.current-wave{fill:rgba(var(--current-color),.25);stroke:rgba(var(--current-color),.55);stroke-width:1;vector-effect:non-scaling-stroke}
.current-wave[data-selected=true]{fill:rgba(var(--current-color),.4);stroke:var(--text-primary);stroke-width:2}
.current-band{background:transparent;border-color:transparent;border-radius:3px;text-shadow:0 1px var(--surface-cream)}
.current-band:hover,.current-band:focus-visible{background:var(--surface-cream-alt)}
.current-band[aria-pressed=true]{background:var(--surface-cream);border-color:var(--accent-bronze);box-shadow:inset 0 -2px var(--accent-bronze)}
.current-group h3{color:var(--text-secondary)}
@media(max-width:899px){main{padding:0 4px 4px;gap:6px}.current-band{font-size:11px}.current-group h3{font-size:10px}}
@media(max-width:599px){#panel.responsive-overlay{border-radius:0}}
