.home-intro,.home-title-wrap{isolation:isolate}
.home-intro{overflow:visible}
.header-clouds{position:absolute;z-index:-1;pointer-events:none;overflow:hidden;isolation:isolate}
.storm-ceiling{left:50%;width:calc(100vw - var(--storm-scrollbar,0px));transform:translateX(-50%);background:#111821;mask-image:linear-gradient(#000 0 80%,transparent 100%);-webkit-mask-image:linear-gradient(#000 0 80%,transparent 100%)}
.storm-cloud-bed,.storm-cloud-tint,.storm-cloud-flash,.storm-cloud-roll{position:absolute;inset:0;pointer-events:none}
.storm-cloud-bed{background-image:url('/assets/weather/storm-ceiling.webp');background-repeat:no-repeat;background-size:cover;background-position:center 44%}
.storm-cloud-bed{filter:brightness(.65) contrast(1.15);opacity:1}
.storm-cloud-roll{width:100%;height:100%;opacity:0}
.has-cloud-renderer .storm-cloud-roll{opacity:1}
.storm-cloud-tint{background:linear-gradient(180deg,rgba(var(--accent-rgb),.16),rgba(var(--accent-rgb),.035) 70%,#05070b);mix-blend-mode:color}
.storm-cloud-flash{background:radial-gradient(ellipse at 75% 15%,rgba(var(--accent-rgb),.72),transparent 60%);mix-blend-mode:screen;opacity:0}
.header-clouds[hidden],.smoke-volume[hidden]{display:none!important}
[data-effect-clouds="off"] .wall.is-spiral::before,[data-effect-clouds="off"] .wall.is-spiral::after{display:none}
.cloud-fallback{background:radial-gradient(ellipse at 32% 44%,rgba(var(--accent-rgb),.13),transparent 36%),radial-gradient(ellipse at 66% 53%,rgba(var(--accent-rgb),.15),transparent 40%);filter:blur(9px)}
.weather-lightning{position:fixed;inset:0 0 auto;height:64vh;pointer-events:none;z-index:4;opacity:0;background:radial-gradient(ellipse at 4% 14%,rgba(var(--accent-rgb),.6),transparent 33%),radial-gradient(ellipse at 96% 4%,rgba(var(--accent-rgb),.52),transparent 30%);mix-blend-mode:screen}
.weather-rain{position:fixed;top:var(--nav-h,60px);left:0;width:100%;height:calc(100% - var(--nav-h,60px));pointer-events:none;z-index:4;opacity:.8}
.weather-rain[hidden]{display:none}
.effects-controls{position:fixed;left:14px;bottom:calc(30px + env(safe-area-inset-bottom,0px));z-index:130;font:400 .78rem/1.4 var(--font-ui,"Courier New",monospace)}
.effects-toggle{min-height:38px;padding:8px 12px;display:flex;align-items:center;gap:8px;background:#10141d;border:1px solid var(--border-strong,#48525e);box-shadow:3px 3px #020306;color:var(--text,#edf3f7);font:inherit}
.effects-toggle[aria-expanded="true"]{border-color:var(--accent);color:var(--accent)}
.effects-panel{position:absolute;left:0;bottom:calc(100% + 9px);width:278px;max-width:calc(100vw - 28px);max-height:calc(100dvh - 140px);overflow:hidden;padding:24px 8px;background:#0a0e16;border:1px solid var(--accent);box-shadow:4px 4px #020306}
.effects-scroll{max-height:calc(100dvh - 190px);overflow:auto;padding:0 18px 8px;scrollbar-width:thin;scrollbar-color:var(--accent) #101620;overscroll-behavior:contain}
.effects-panel[hidden]{display:none}.effects-panel fieldset{border:0;padding:0;margin:0;min-width:0}.effects-panel legend{font:inherit;text-transform:uppercase;color:var(--accent);margin-bottom:10px}
.effects-panel label{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:44px;border-bottom:1px solid rgba(160,175,190,.15);cursor:pointer}
.effects-panel input{width:18px;height:18px;accent-color:var(--accent);flex-shrink:0;cursor:pointer}
.effects-panel .weather-volume{display:grid;grid-template-columns:1fr auto;gap:10px;padding-block:12px}
.effects-panel .weather-volume input{grid-column:1/-1;width:100%;height:22px;margin:0}
.weather-volume output{color:var(--accent)}
.effects-panel p{font:400 .68rem/1.65 var(--font-ui,"Courier New",monospace);color:var(--muted,#9aa6b2);margin:12px 0 0}
.effects-controls button:focus-visible,.effects-panel input:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@media(max-width:600px){.storm-cloud-bed{background-position:54% center}.effects-controls{left:12px;bottom:calc(112px + env(safe-area-inset-bottom,0px));font-size:.72rem}.effects-toggle{min-height:34px;padding:6px 9px}.effects-panel{max-height:calc(100dvh - 230px)}.effects-scroll{max-height:calc(100dvh - 286px)}body:has(.music-dock.is-open) .effects-controls{visibility:hidden}}
@media(prefers-reduced-motion:reduce){.weather-lightning,.weather-rain{display:none}}

/* Secret scenery never intercepts input or moves content/controls. */
.secret-storm{position:fixed;inset:var(--nav-h,60px) 0 0;z-index:0;pointer-events:none;overflow:hidden;contain:strict}
.secret-storm[hidden],.secret-thunder-option[hidden]{display:none!important}
.secret-bolt,.secret-flash{position:absolute;inset:0;width:100%;height:100%;opacity:0;pointer-events:none}
.secret-bolt{fill:none;shape-rendering:crispEdges;stroke-linejoin:miter;filter:drop-shadow(0 0 6px var(--accent-2)) drop-shadow(0 0 18px var(--accent-2))}
.secret-bolt-halo{stroke:var(--accent-2);stroke-width:9;opacity:.35}
.secret-bolt-branches{stroke:#ede4ff;stroke-width:1.5;opacity:.8}
.secret-bolt-core{stroke:#fff8ff;stroke-width:3}
.secret-flash{background:radial-gradient(ellipse at var(--strike-x,50%) 25%,#fff5ff 0%,rgba(var(--accent-rgb),.65) 35%,transparent 78%)}
.secret-storm.is-static{background:radial-gradient(ellipse at 60% 0,rgba(var(--accent-rgb),.08),transparent 65%)}
@media(prefers-reduced-motion:reduce){.secret-bolt,.secret-flash{display:none!important}}
