/* Whetū Labs skin v2 (16 Oct 2026) – photo backdrop, frosted glass, time of day, parallax, tap ripple, live effects.
   Shared by the Whetū Labs apps; each app passes its own key and glass selectors on the script tag. */
.wl-bg{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden;background:var(--wl-bgc,#0e1a2b)}
.wl-photo{position:absolute;inset:-3%;background:var(--wl-w) center/cover no-repeat;opacity:0;transition:opacity 1.2s ease,filter 4s ease;will-change:transform}
@media (max-aspect-ratio:4/5){.wl-photo{background-image:var(--wl-p)}}
.wl-bg.ph .wl-photo{opacity:1}
.wl-tint{position:absolute;inset:0;opacity:0;transition:opacity 1.2s;
  background:linear-gradient(180deg,color-mix(in srgb,var(--wl-bgc,#0e1a2b) 42%,transparent),color-mix(in srgb,var(--wl-bgc,#0e1a2b) 56%,transparent) 45%,color-mix(in srgb,var(--wl-bgc,#0e1a2b) 76%,transparent))}
html.wl-lt .wl-tint{background:linear-gradient(180deg,color-mix(in srgb,var(--wl-bgc,#f4f6f9) 58%,transparent),color-mix(in srgb,var(--wl-bgc,#f4f6f9) 70%,transparent) 45%,color-mix(in srgb,var(--wl-bgc,#f4f6f9) 84%,transparent))}
.wl-bg.ph .wl-tint{opacity:1}
.wl-glow{position:absolute;inset:0;mix-blend-mode:screen;opacity:0;transition:opacity 4s;animation:wlBreathe 9s ease-in-out infinite;
  background:radial-gradient(ellipse 60% 40% at 30% 60%,rgba(255,196,110,.2),transparent 70%),radial-gradient(ellipse 50% 35% at 75% 40%,rgba(255,210,140,.14),transparent 70%)}
@keyframes wlBreathe{50%{filter:brightness(1.35)}}
.wl-bg.t-dawn .wl-photo{filter:brightness(.92) saturate(1.05) sepia(.18) hue-rotate(-12deg)}
.wl-bg.t-day .wl-photo{filter:brightness(1.05) saturate(1.05)}
.wl-bg.t-dusk .wl-photo{filter:brightness(.9) saturate(1.15) sepia(.28)}
.wl-bg.t-night .wl-photo{filter:brightness(.78) saturate(1.1) hue-rotate(6deg)}
html:not(.wl-lt) .wl-bg.ph.t-dusk .wl-glow{opacity:.7}html:not(.wl-lt) .wl-bg.ph.t-night .wl-glow{opacity:1}
.wl-fx{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity 1.5s}
.wl-bg.ph .wl-fx{opacity:1}
.wl-rip{position:absolute;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;border:1.5px solid var(--wl-acc,rgba(231,207,147,.8));box-shadow:0 0 18px var(--wl-acc,rgba(231,207,147,.5));animation:wlRip 1.1s ease-out forwards}
@keyframes wlRip{to{transform:scale(14);opacity:0}}
/* glass – selectors come from the app (data-glass) and are written into a style tag by wl-skin.js */
.wl-sw{display:flex;align-items:center;gap:10px;margin:14px 0 4px;font-size:.92rem;color:var(--muted,#8da2be)}
.wl-sw button{font:600 .82rem/1 inherit;padding:8px 14px;border-radius:999px;border:1px solid var(--line,rgba(201,164,92,.45));background:transparent;color:var(--ink,#eaf0f8);cursor:pointer}
.wl-sw button.on{background:var(--brand,#c9a45c);border-color:transparent;color:#fff}
@media (prefers-reduced-motion:reduce){.wl-photo{transition:none;transform:none!important}.wl-glow{animation:none}.wl-rip{display:none}}
