/* Palette and corner decorations leave the baby's learned cues untouched. */
:root[data-season="halloween"]{--season-page:#eee9ed;--season-center:#fff8eb;--season-edge:#e8dfeb;--season-border:#d9c8d2;--season-mark:#64526a}
:root[data-season="christmas"]{--season-page:#e9efea;--season-center:#fff9ed;--season-edge:#dbe9de;--season-border:#c6d7c8;--season-mark:#526f5b}
:root[data-season="easter"]{--season-page:#f1f2e5;--season-center:#fffbed;--season-edge:#e5edd9;--season-border:#d7ddbb;--season-mark:#6d7c56}
:root[data-season="fastelavn"]{--season-page:#eeeaf2;--season-center:#fff8ed;--season-edge:#e9dfef;--season-border:#d7c9df;--season-mark:#766180}
:root[data-season="midsummer"]{--season-page:#f1efe4;--season-center:#fff9e9;--season-edge:#e7ead8;--season-border:#d9d8b9;--season-mark:#74815a}
:root[data-season="newyear"]{--season-page:#e9eeef;--season-center:#fff9eb;--season-edge:#e0e8e8;--season-border:#d3d8ca;--season-mark:#656c61}
:root[data-season]{background:var(--season-page)}
[data-season] .welcome{background:var(--season-page)}
[data-season] .stage,[data-season] .welcome-art{background:radial-gradient(ellipse at 50% 48%,var(--season-center) 0 25%,var(--season-edge) 100%)}
[data-season] .game,[data-season] .welcome-card{border-color:var(--season-border)}
[data-season] .brand-mark{background:var(--season-mark)}
.welcome-art{position:relative;isolation:isolate}
.season-decor{position:absolute;inset:0;z-index:-1;overflow:hidden;border-radius:inherit;pointer-events:none;user-select:none;contain:layout paint}
.season-decor[hidden]{display:none}
.season-decor *{pointer-events:none}
.season-canopy{position:absolute;inset:0 0 auto;height:42px;opacity:.8}
.season-canopy,.season-frame-decor{--garland-scale:1}
.season-garland-cord{position:absolute;inset:0 0 auto;display:block;width:100%;height:calc(32px * var(--garland-scale))}
.season-paper-piece{position:absolute;left:50%;top:calc(var(--paper-y) * var(--garland-scale));width:calc(20px * var(--garland-scale));height:calc(20px * var(--garland-scale));transform:translateX(-50%)}
.season-paper-piece:before{content:"";position:absolute;bottom:calc(100% - 4px * var(--garland-scale));left:50%;width:1px;height:calc(9px * var(--garland-scale));background:#b5a88d}
.season-paper-piece>svg{display:block;width:100%;height:100%}
.season-ornament{--ornament-size:clamp(46px,13vw,94px);position:absolute;bottom:36px;width:var(--ornament-size);height:var(--ornament-size);opacity:.94}
.season-ornament svg{display:block;width:100%;height:100%}
.season-left{left:10px;transform:rotate(-5deg)}
.season-right{right:10px;transform:rotate(5deg)}
/* The round web belongs on an open wall, rather than a top corner. */
[data-season="halloween"] :is(.stage,.welcome-art) .season-right{transform:none}
.welcome-art .season-ornament{--ornament-size:clamp(44px,19vw,95px);bottom:15px}
.season-settings{margin-top:14px}
.season-status{display:block;color:#54747a;font-size:.73rem;line-height:1.4;margin:7px 0 0}
.welcome[data-view="settings"] .welcome-copy{overflow-y:auto;overscroll-behavior:contain;justify-content:flex-start}
.welcome[data-view="settings"] .welcome-copy>*{flex-shrink:0}
.welcome[data-view="settings"] #settingsPanel{flex:none;justify-content:flex-start}

/* Christmas/Halloween lights use equal spacing along the whole offer frame. */
[data-season="christmas"]{--season-light-a:#e6bc61;--season-light-b:#c98272;--season-light-c:#e6d6a2;--season-light-wire:#899d82}
[data-season="halloween"]{--season-light-a:#e7ab63;--season-light-b:#af96bf;--season-light-c:#d7c586;--season-light-wire:#a09a91}
.shop-recommendation{position:relative;isolation:isolate}
.season-shop-lights{position:absolute;inset:3px;z-index:1;border:1px solid var(--season-light-wire);border-radius:11px;pointer-events:none}
.season-shop-lights[hidden]{display:none}
.season-shop-lights *{pointer-events:none}
.season-lights-edge{position:absolute;display:flex;align-items:center;justify-content:space-around;pointer-events:none}
.season-lights-top,.season-lights-bottom{left:9px;right:9px;height:6px}
.season-lights-top{top:-3px}.season-lights-bottom{bottom:-3px;--season-edge-phase:-1.8s}
.season-lights-left,.season-lights-right{top:12px;bottom:12px;width:6px;flex-direction:column}
.season-lights-left{left:-3px;--season-edge-phase:-2.7s}.season-lights-right{right:-3px;--season-edge-phase:-.9s}
.season-bulb{--season-bulb-color:var(--season-light-a);display:block;flex:none;width:5px;height:7px;border-radius:2px 2px 50% 50%;background:radial-gradient(ellipse at 40% 30%,#fffce7 0% 12%,var(--season-bulb-color) 55%);box-shadow:0 0 5px 1px var(--season-bulb-color),0 0 9px 2px #fff0c333}
.season-bulb:nth-child(3n+2){--season-bulb-phase:-1.3s;--season-bulb-color:var(--season-light-b)}
.season-bulb:nth-child(3n){--season-bulb-phase:-2.6s;--season-bulb-color:var(--season-light-c)}
.season-lights-left .season-bulb{transform:rotate(90deg)}.season-lights-right .season-bulb{transform:rotate(-90deg)}
/* Movement is confined to the visible shop; no decorative motion near baby. */
@media(prefers-reduced-motion:no-preference){
 :root:not([data-orientation-blocked="true"]) #shopView:not([hidden]) #upgradeShelfFrame:not([hidden]) .season-shop-lights:not([hidden]) .season-bulb{animation:season-shop-glow 3.8s ease-in-out infinite;animation-delay:calc(var(--season-bulb-phase,0s) + var(--season-edge-phase,0s))}
}
@keyframes season-shop-glow{0%,100%{opacity:.25}50%{opacity:1}}
@media(max-width:610px){.season-ornament{bottom:42px;--ornament-size:46px}.season-left{left:5px}.season-right{right:5px}.welcome-art .season-canopy{height:28px;--garland-scale:.65}.welcome-art .season-ornament{--ornament-size:34px;bottom:7px}}
@media(max-height:600px){.season-ornament{display:none}.season-canopy{height:28px;--garland-scale:.65;opacity:.65}.season-settings{margin-top:9px}}
@media(forced-colors:active){.season-decor,.season-shop-lights{display:none}}

/* A shared seasonal frame, with the baby's cue and heart-state colors preserved. */
:root[data-season]{--season-surface:#fffdf5;--season-soft:#f5efdf;--season-ink:#52644e;--season-muted:#6b7966;--season-accent:#b59b5f}
:root[data-season="halloween"]{--season-page:#e9e0e9;--season-center:#fff6e6;--season-edge:#dcd0e2;--season-border:#cbb7ce;--season-mark:#66506f;--season-surface:#fffaf1;--season-soft:#f0e6ee;--season-ink:#55405e;--season-muted:#746477;--season-accent:#bd884a}
:root[data-season="christmas"]{--season-surface:#fffaf0;--season-soft:#e7eee2;--season-ink:#49624d;--season-muted:#687963;--season-accent:#af7060}
:root[data-season="easter"]{--season-soft:#edf0d8;--season-ink:#667244;--season-muted:#737a5c;--season-accent:#b69b56}
:root[data-season="fastelavn"]{--season-soft:#eee3ef;--season-ink:#715577;--season-muted:#7a6b7e;--season-accent:#b18b60}
:root[data-season="midsummer"]{--season-soft:#edf0d9;--season-ink:#626f43;--season-muted:#77805d;--season-accent:#b79b52}
:root[data-season="newyear"]{--season-soft:#e6ece8;--season-ink:#5c6659;--season-muted:#717b6a;--season-accent:#af9656}
[data-season] body{background:var(--season-page)}
[data-season] .welcome{background:radial-gradient(ellipse at 50% 25%,var(--season-center),var(--season-page) 85%)}
[data-season] :is(.game,.welcome-card,.shop-view .shop,.household-page,.toy-product,.level-card){background:var(--season-surface);border-color:var(--season-border)}
[data-season] :is(.brand,.baby-name,.welcome h2,.shop-view h2,.toy-shop h2,.toy-product h3,.household-heading h2){color:var(--season-ink)}
[data-season] :is(.welcome-kicker,.shop-kicker,.shop-list-status,.toy-shop header small,.toy-product-copy small,.toy-product-copy>span,.toy-shop footer){color:var(--season-muted)}
[data-season] .actions{background:var(--season-surface);border-top:1px solid var(--season-border)}
[data-season] .care-tabs{background:var(--season-soft)}
[data-season] .care-tabs button[aria-selected="true"]{background:var(--season-surface);color:var(--season-ink);box-shadow:0 0 0 1px var(--season-border)}
[data-season] :is(.menu-button,.toy-tray,.toy-basket){background:var(--season-surface);border-color:var(--season-border)}
[data-season] :is(.welcome-start,.setup-actions .level-primary,.shop-actions .level-primary,.household-confirm,.toy-product-actions button){background:var(--season-ink);color:#fffaf3}
[data-season] .toy-product[data-owned="true"] .toy-product-actions button{background:var(--season-soft);color:var(--season-ink);border-color:var(--season-border)}
[data-season] .welcome[data-view="babies"] .baby-profile-card{background:var(--season-surface);border-color:var(--season-border)}
[data-season] .welcome[data-view="babies"] .baby-profile-card[data-selected="true"]{background:var(--season-soft);border-color:var(--season-mark);box-shadow:0 0 0 1px var(--season-border)}
[data-season] .profile-tool{color:var(--season-ink)}
[data-season] .profile-tool.profile-delete{color:#a16c5d}
[data-season] .profile-tool:hover{background:var(--season-soft)}
[data-season] .welcome[data-view="babies"] #newBabyButton{background:var(--season-surface);border-color:var(--season-border);color:var(--season-ink)}
[data-season] :is(.shop-actions,.toy-shop){background:var(--season-page)}
[data-season] .shop-view .upgrade{background:var(--season-surface);border-color:var(--season-border)}
[data-season] .shop-view .shop-recommendation{background:linear-gradient(120deg,var(--season-center),var(--season-soft));border-color:var(--season-accent)}
[data-season] .shop-view .upgrades{scrollbar-color:var(--season-mark) var(--season-soft)}
[data-season] .toy-product-art{border-radius:16px;background:var(--season-soft)}
[data-season] .toy-shop-summary strong{background:var(--season-center);color:var(--season-ink);border:1px solid var(--season-border)}
[data-season] .toy-store-entry{background:var(--season-center)!important;border-color:var(--season-border)!important;color:var(--season-ink)!important}
[data-season] .toy-play-note{background:var(--season-surface);color:var(--season-ink)}
[data-season] .household-page .supply-card{background:var(--season-surface);border-color:var(--season-border)}
[data-season] .household-page .supply-controls button{background:var(--season-soft);color:var(--season-ink);border-color:var(--season-border)}
[data-season] .level-overlay{background:radial-gradient(ellipse at 50% 25%,var(--season-center),var(--season-page))}

/* Paper ornaments belong to the room and shop fittings, never to extra UI cards. */
.season-frame-host{position:relative;isolation:isolate}
.season-frame-decor{position:absolute;inset:0 0 auto;height:42px;z-index:-1;pointer-events:none;user-select:none}
.season-frame-decor[hidden]{display:none!important}
.season-frame-decor *{pointer-events:none}
.season-room-floor{position:absolute;inset:auto 0 0;height:78px;border-top:2px solid #d2b89970;background:linear-gradient(#e7cfad55,#dec3a122)}
[data-season="halloween"] .stage{background:radial-gradient(ellipse at 50% 44%,#fff8e9 0 28%,#e7dce7 100%)}
[data-season="halloween"] .season-ornament{filter:drop-shadow(0 2px 1px #795e5f10)}
@media(prefers-reduced-motion:no-preference){
 :root:not([data-orientation-blocked="true"]) :is(#shopView,#toyShop):not([hidden]) .season-frame-decor:not([hidden]) .season-mobile{transform-box:fill-box;transform-origin:50% 0;animation:season-paper-sway 6s ease-in-out infinite}
 :root:not([data-orientation-blocked="true"]) :is(#shopView,#toyShop):not([hidden]) .season-frame-decor:not([hidden]) .season-paper-piece:nth-child(2n) .season-mobile{animation-delay:-3s}
}
@keyframes season-paper-sway{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}
@keyframes season-warm-glow{0%,100%{opacity:.76;filter:brightness(.95)}50%{opacity:1;filter:brightness(1.15)}}
/* Room ornaments are measured against controls, baby, captions and the open tray. */
.stage .season-ornament{transform:none!important;transition:none}
.stage .season-ornament[hidden],.season-canopy[hidden]{display:none!important}
.stage .season-canopy{height:32px;--garland-scale:.75;opacity:.72}
@media(max-height:600px){.season-frame-decor{height:28px;--garland-scale:.65}}
@media(forced-colors:active){.season-frame-decor,.season-room-floor{display:none}}
[data-season] .household-confirm:disabled{background:var(--season-soft);color:var(--season-muted)}
