/* Shared live sky; every visual layer, including precipitation, is behind soft focus. */
.cloud-atmosphere{filter:blur(var(--soft,18px));background:#91b6d2}
.cloud-sky{background-image:url('sky-study.webp');background-position:var(--sky-position,50% 0%);filter:saturate(var(--saturation,1)) brightness(var(--brightness,1));transition:opacity 1.8s ease,filter 2.4s ease}
.cloud-sky.sky-incoming{opacity:0}
.cloud-depth{opacity:var(--cloud-opacity,.55);filter:brightness(var(--cloud-tone,1));transition:opacity 2.4s ease,filter 2.4s ease}
.cloud-far{opacity:calc(var(--cloud-opacity,.55)*.6)}
.cloud-drift{background-image:url('cloud-overlay.webp');animation-duration:var(--drift-duration,64s)}
.cloud-near .cloud-drift{animation-duration:calc(var(--drift-duration,64s)*.75)}
.sky-light,.sky-haze,#sky-precipitation{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.sky-light{background:radial-gradient(ellipse at 76% 16%,rgba(255,248,210,.95),rgba(255,229,170,.35) 17%,transparent 48%);opacity:var(--sun,0);transition:opacity 2.4s ease}
.sky-haze{background:linear-gradient(180deg,var(--tint,#d2b5a6),transparent 85%);opacity:var(--tint-opacity,0);transition:opacity 2.4s ease,background 2.4s ease}
.veil{transition:background 2.4s ease}
body{transition:color 1.8s ease,background-color 1.8s ease}
body.sky-dark{--ink:#f0f2f1;--muted:#c2ccd2;--line:rgba(231,239,245,.28);background:#101b2b;color:var(--ink)}
.sky-dark .veil{background:linear-gradient(180deg,rgba(7,17,31,.16),rgba(7,17,31,.12) 45%,rgba(7,17,31,.8))}
.sky-dark .opening-name,.sky-dark .opening-handle,.sky-dark .opening-summary,.sky-dark .location-time,.sky-dark .weather-readout .side-details,.sky-dark .weather-readout .side-details p,.sky-dark .weather-readout .side-details a{color:var(--ink)}
.sky-dark .more{background:rgba(12,22,35,.87)}
.sky-dark .content-area{background:rgba(12,22,35,.87)}
.sky-dark .opening-links a{color:var(--ink);border-bottom-color:rgba(240,242,241,.55)}
.sky-dark .contact-links a{border-bottom-color:var(--line)}
.sky-dark .opening-links a:hover,.sky-dark .opening-links a:focus-visible{color:#fff;border-bottom-color:#fff}
.sky-dark .contact-links a:hover{border-bottom-color:var(--ink)}
.sky-dark a.entry:hover .headline-ink,.sky-dark a.entry:focus-visible .headline-ink{background:#f0f2f1;color:#18232c}
.sky-dark .switch-track{background:rgba(239,245,250,.22);border-color:rgba(239,245,250,.6)}
.sky-dark .switch-thumb{background:#edf2f5}.sky-dark .switch-state{color:#edf2f5}
.sky-dark .intro-switch[aria-checked=true] .switch-track{background:#edf2f5;border-color:#edf2f5}
.sky-dark .intro-switch[aria-checked=true] .switch-thumb{background:#18232c}
.sky-dark .intro-switch[aria-checked=true] .switch-state{color:#18232c}
.sky-dark .portrait-sheet{color:#252522}.sky-dark .portrait-sheet figcaption{color:#515651}
.sky-dark .portrait-reveal summary:hover .portrait-plus{color:#18232c}
.sky-dark .sig .icon{filter:invert(1);border-color:rgba(240,242,241,.16)}
.sky-dark .pls{color:#c0d085}
.sky-dark .skip{color:#252522}
/* Index layout (rows below the fold). */
.below{transition:background-color 1.8s ease}
.sky-dark .below{background:rgba(12,22,35,.87)}
.sky-dark .lnk{border-bottom-color:var(--line)}
.sky-dark .lnk:hover,.sky-dark .lnk:focus-visible{border-bottom-color:var(--ink)}
.sky-dark a.item:hover .t,.sky-dark a.item:focus-visible .t{background:#f0f2f1;color:#18232c}
.sky-dark .portrait-reveal[open] .portrait-plus,.sky-dark .portrait-reveal[open] summary:hover .portrait-plus{background:transparent;color:var(--ink)}
.weather-preview-label{position:fixed;top:max(12px,env(safe-area-inset-top));left:var(--gutter);z-index:20;font:10px var(--mono);letter-spacing:.08em;padding:8px 10px;background:rgba(248,248,245,.92);color:#252522;border:1px solid rgba(37,37,34,.2)}
@media(prefers-reduced-motion:reduce){.cloud-sky,.cloud-depth,.sky-light,.sky-haze,.veil,body{transition:none}.cloud-drift{animation:none}}
