/* A fixed viewport layer works on mobile without background-attachment quirks. */
html { min-height: 100%; background: #05080e; }
html body { min-height: 100vh; background: transparent !important; color: white; -webkit-text-stroke: 0.25px black; isolation: isolate; }
body::before { content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none; background-color: #05080e; background-image: linear-gradient(rgba(3,7,12,.48),rgba(3,7,12,.72)),var(--site-art); background-size: cover; background-position: center; background-repeat: no-repeat; }
html body h1, html body.scout4 header h1 { color: white; -webkit-text-stroke: 0.25px black; text-decoration: none; text-shadow: 0 2px 10px #000; }
html body > main, html body main.trend-dashboard, html body main.dungeon, html body main.scout-page, html body.scout4 > main { background: rgba(7,12,20,.8); border-radius: 16px; padding: clamp(14px,3vw,32px); box-sizing: border-box; }
html body .section-intro, html body .discovery-note, html body .top-text, html body .membership > p { color: #f1f5f9; }
html body main.membership > p.member-message { color: #111827; -webkit-text-stroke: 0; }
html body.scout4 .eyebrow { color: #fbbf24; }
html body.scout4 header > p { color: #e2e8f0; }
html body.scout4 .stats-note { color: #172234; }
html body main.membership { background: rgba(7,12,20,.88); padding: 24px; border-radius: 12px; }
html body main.membership > p a { color: #fbbf24; }
.visually-hidden { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
@media (max-width: 600px) {
    html body { padding: 12px; }
    html body.scout4 main { padding: 14px; }
}

/* Exposed headings and notes use white text; controls retain their contrast. */
html body .top-text, html body .weekly-history, html body .active-filters,
html body .discovery-note { color: white; -webkit-text-stroke: 0.25px black; }
html body :is(button, input, select, option, .clear-button, .watchlist-rank,
.anomaly-type, .member-message, .stats-note) { -webkit-text-stroke: 0; }
html body .stats-note :is(h2, h3, p) { color: #172234; -webkit-text-stroke: 0; }
.home-filter-form .search-panel-title { margin: 0 0 24px; font-size: clamp(28px, 5vw, 50px); text-align: center; color: white; -webkit-text-stroke: 1px black; }
