/* VOLTSpool readability update: clear text without removing the colour. */
:root{--readable-text:#30283e;--readable-muted:#51465f;--readable-focus:#6142d9}
html[data-theme=dark]{--readable-text:#faf7ff;--readable-muted:#e7e0f1;--readable-focus:#e2ceff}
/* Keep small print readable on every colour mood. */
.caption,.cart-unit-price,.cart-notice,.pick-count,.pick-prompt,.ex-product-tile .caption,.pl-product .caption,.wk-field small,.wk-photo-label,.pl-tag,.ex-footer-links,.ex-catalogue-count{font-size:max(.875rem,14px);line-height:1.6}
.hero-copy>p,.section-heading p,.page-intro>p,.play-picks-copy>p,.up-intro,.steps p,.faq details p{color:var(--readable-muted)}
.caption,.cart-unit-price,.cart-notice{color:var(--readable-muted);opacity:1}
.product-copy p,.vibes-dialog-copy p,.up-cart-line p{line-height:1.65}
.up-float-tags span,html[data-theme=dark] .up-float-tags span{color:#242139;text-shadow:none;opacity:1;font-size:.75rem}
html[data-theme=dark] .up-float-tags span :is(strong,span){color:#242139}
/* Explicit surfaces prevent white text leaking into light buttons. */
.vibes-close,.up-close,html[data-theme=dark] .vibes-close,html[data-theme=dark] .up-close{position:relative;display:inline-grid;place-items:center;flex-shrink:0;width:44px;height:44px;background:#fff;color:#242139;border:2px solid #70617e;font-size:0;line-height:1;box-shadow:none}
.vibes-close:before,.vibes-close:after,.up-close:before,.up-close:after{content:'';position:absolute;width:18px;height:2px;background:#242139;border-radius:2px;transform:rotate(45deg)}
.vibes-close:after,.up-close:after{transform:rotate(-45deg)}
.vibes-close:hover,.up-close:hover{background:#eee4ff}
html[data-theme=dark] :is(.pick-controls .pick-next,.vibes-categories button,.vibes-result,.vibes-tools button){color:#242139}
html[data-theme=dark] .vibes-result{background:#2a2138;color:#faf7ff}
html[data-theme=dark] .vibes-result :is(strong,span){color:#faf7ff}
html[data-theme=dark] .vibes-tools button{background:#d3bbff;color:#241832}
html[data-theme=dark] .vibes-swatches button[aria-pressed=true]{box-shadow:0 0 0 3px #e2ceff}
html[data-theme=dark] .vibes-quick{color:#faf7ff}
html[data-theme=dark] .play-pick-meta a{background:#d3bbff;color:#241832}
html[data-theme=dark] .hero-note span{color:#faf7ff}
html[data-theme=dark] .image-label{background:#21192e;color:#faf7ff}
html[data-theme=dark] .wk-warning :is(p,strong){color:#ffe5bd}
html[data-theme=dark] .pl-scene-label{background:#302442;color:#fff}
/* SVG arrows stay crisp even when a device lacks the arrow font. */
.readable-icon{display:inline-block;width:1em;height:1em;vertical-align:-.14em;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--readable-focus);outline-offset:4px}
button:disabled{opacity:.65}
/* Reserve a separate row for the hosting badge, without hiding it. */
.mood-dock{bottom:calc(72px + env(safe-area-inset-bottom,0px));max-width:calc(100vw - 24px)}
.ex-back-top{bottom:calc(140px + env(safe-area-inset-bottom,0px))}
.vibes-toast{bottom:calc(142px + env(safe-area-inset-bottom,0px))}
.vibes-toast:not(.is-visible){visibility:hidden;pointer-events:none}
.vibes-toast.is-visible{visibility:visible;pointer-events:auto}
.pl-picks-trigger{bottom:calc(76px + env(safe-area-inset-bottom,0px))}
footer{padding-bottom:155px}
.vibes-dialog,.ex-dialog{scrollbar-gutter:stable;overscroll-behavior:contain}
@media(max-width:700px){
 input,select,textarea,.ex-page :is(input,select,textarea){font-size:16px}
 .vibes-finder,.ex-explorer{min-width:0}
 .vibes-tools input{min-width:0;width:100%;flex-basis:100%}
 .vibes-categories button{min-height:44px;font-size:.875rem}
 .mood-dock{right:12px;gap:7px}
 .mood-dock>span{font-size:.65rem;letter-spacing:.04em}
 .mood-dock button{width:32px;height:32px}
 .pick-prompt{max-width:100%}
 .hero h1,.wk-hero h1,.pl-intro h1{overflow-wrap:break-word}
 .up-cart-line,.cart-line{min-width:0}
 .vibes-dialog-copy{padding:22px}
 .ex-footer-links{gap:12px 18px}
}
@media(prefers-reduced-motion:reduce){.hero-image,.up-float-tags span{animation:none!important}}
@media print{.mood-dock,.ex-back-top,.vibes-toast,.pl-picks-trigger,#nl-badge-frame{display:none!important}footer{padding-bottom:20px}}
/* Font-independent pause/play symbol. */
.mood-dock .motion-toggle{position:relative;font-size:0;color:#242139}
.mood-dock .motion-toggle:before{content:'';position:absolute;top:11px;left:12px;width:10px;height:12px;background:linear-gradient(90deg,#242139 0 3px,transparent 3px 7px,#242139 7px 10px)}
.mood-dock .motion-toggle[aria-pressed=true]:before{top:10px;left:14px;width:0;height:0;background:none;border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:10px solid #242139}
/* Shark hero sticker: keep the complete phrase legible in every theme. */
.hero-image .sticker,html[data-theme=dark] .hero-image .sticker,.hero-image .sticker strong,html[data-theme=dark] .hero-image .sticker strong{color:#35105c;-webkit-text-fill-color:#35105c;text-shadow:none;opacity:1}
.hero-image .sticker{background:#edff97;font-weight:700;line-height:1.4}
.hero-image .sticker strong{font-weight:900}
