/* Decorations are visual only; their whole layer lets clicks and taps through. */
.seasonal-floor>.seasonal-floor-stage { position:absolute; bottom:4px; left:50%; translate:-50% 0; width:min(600px,70vw); height:130px; overflow:visible; pointer-events:none; }
.scene-actor { overflow:visible; transform-box:fill-box; transform-origin:center bottom; }
.scene-sway { animation:scene-sway 8s ease-in-out infinite; }.scene-wobble { animation:scene-wobble 11s ease-in-out infinite; }.scene-float { animation:scene-float 9s ease-in-out infinite; }.scene-hop { animation:scene-hop 12s ease-in-out infinite; }.scene-duck { animation:scene-duck 12s ease-in-out 2s infinite; }.scene-throw { animation:scene-throw 16s ease-in-out infinite; }
.scene-actor:nth-of-type(2n) { animation-delay:-3s; }.scene-parade { animation:scene-parade 24s ease-in-out infinite; }.scene-broom-flight { animation:scene-broom 19s ease-in-out infinite; }.scene-sleigh-travel { animation:scene-sleigh 24s ease-in-out infinite; }
.scene-thrown-snow { animation:scene-snow-throw 16s ease-in-out infinite; }.scene-return-snow { animation:scene-snow-return 16s ease-in-out 5s infinite; }.scene-rolling-snow { transform-box:fill-box; transform-origin:center; animation:scene-roll 17s ease-in-out infinite; }.scene-music,.seasonal-note { animation:scene-note 8s ease-in-out infinite; }.seasonal-light { animation:scene-light 7s ease-in-out infinite; }.seasonal-wing { transform-box:fill-box; transform-origin:center; animation:scene-wing 2s ease-in-out infinite; }
.site-theme-christmas-cosy .christmas-stage * { animation-duration:28s; }
@keyframes scene-sway { 0%,65%,100% { rotate:0deg; } 75% { rotate:-3deg; } 88% { rotate:3deg; } }
@keyframes scene-wobble { 0%,55%,100% { rotate:0deg; } 65%,82% { rotate:-7deg; } 73%,90% { rotate:5deg; } }
@keyframes scene-float { 0%,100% { translate:0 0; } 50% { translate:0 -9px; } }
@keyframes scene-hop { 0%,60%,80%,100% { translate:0 0; rotate:0deg; } 67%,87% { translate:0 -7px; rotate:-3deg; } }
@keyframes scene-duck { 0%,35%,75%,100% { scale:1; rotate:0deg; } 50%,60% { scale:1 .87; rotate:6deg; } }
@keyframes scene-throw { 0%,20%,40%,100% { rotate:0deg; } 27% { rotate:-9deg; } 32% { rotate:5deg; } }
@keyframes scene-parade { 0%,100% { translate:-12px 0; } 50% { translate:18px 0; } }
@keyframes scene-broom { 0%,100% { translate:-30px 0; } 50% { translate:50px -12px; } }
@keyframes scene-sleigh { 0%,100% { translate:-28px 0; } 50% { translate:30px -6px; } }
@keyframes scene-snow-throw { 0%,23%,39%,100% { opacity:0; translate:0 0; } 24% { opacity:1; } 29% { opacity:1; translate:78px -39px; } 35% { opacity:1; translate:160px 15px; } 36% { opacity:0; translate:160px 15px; } }
@keyframes scene-snow-return { 0%,23%,39%,100% { opacity:0; translate:0 0; } 24% { opacity:1; } 29% { opacity:1; translate:-78px -39px; } 35% { opacity:1; translate:-160px 15px; } 36% { opacity:0; translate:-160px 15px; } }
@keyframes scene-roll { 0%,100% { translate:0 0; rotate:0deg; } 50% { translate:30px 0; rotate:120deg; } }
@keyframes scene-note { 0%,100% { translate:0 0; opacity:1; } 65% { translate:0 -7px; opacity:.5; } }
@keyframes scene-light { 0%,100% { opacity:1; } 50% { opacity:.65; } }
@keyframes scene-wing { 0%,100% { scale:1 1; } 50% { scale:1 .75; } }
@media(max-width:600px) { .seasonal-floor>.seasonal-floor-stage { width:72vw; height:82px; bottom:2px; } }
@media(prefers-reduced-motion:reduce) { .seasonal-floor-stage *,.seasonal-light,.seasonal-note,.seasonal-wing { animation:none !important; }.scene-thrown-snow,.scene-return-snow { opacity:0; } }

.hw-cat-tail { transform-box:view-box; transform-origin:76px 99px; animation:hw-cat-tail 8s ease-in-out infinite; }
.hw-cat-eyes { transform-box:fill-box; transform-origin:center; animation:hw-blink 9s ease-in-out infinite; }
.hw-vampire-cape { transform-box:fill-box; transform-origin:center; animation:hw-cape 14s ease-in-out infinite; }
.hw-vampire-eyes { transform-box:fill-box; transform-origin:center; animation:hw-blink 13s ease-in-out 2s infinite; }
.hw-mummy-peek { transform-box:fill-box; transform-origin:center bottom; animation:hw-mummy-peek 13s ease-in-out infinite; }
.hw-mummy-ribbon { transform-box:fill-box; transform-origin:left center; animation:hw-bandage 9s ease-in-out 1s infinite; }
.hw-mummy-eyes { transform-box:fill-box; transform-origin:center; animation:hw-blink 11s ease-in-out 4s infinite; }
@keyframes hw-cat-tail { 0%,25%,65%,100% { rotate:0deg; } 35%,55% { rotate:-12deg; } 45% { rotate:9deg; } }
@keyframes hw-blink { 0%,86%,94%,100% { scale:1 1; } 89%,91% { scale:1 .1; } }
@keyframes hw-cape { 0%,60%,100% { scale:.86 1; } 75%,84% { scale:1.06 1; } }
@keyframes hw-mummy-peek { 0%,35%,100% { rotate:0deg; translate:0 0; } 50%,65% { rotate:-4deg; translate:0 -4px; } 80% { rotate:3deg; translate:0 -2px; } }
@keyframes hw-bandage { 0%,40%,100% { rotate:0deg; } 55%,75% { rotate:7deg; } 65% { rotate:-5deg; } }

.xmas-blink{transform-box:fill-box;transform-origin:center;animation:xmas-blink 12s ease-in-out infinite}.xmas-reindeer-nod{transform-box:fill-box;transform-origin:bottom center;animation:xmas-nod 11s ease-in-out infinite}.xmas-red-nose{animation:xmas-nose 7s ease-in-out infinite}.xmas-elf-arm{transform-box:fill-box;transform-origin:left top;animation:xmas-throw 16s ease-in-out infinite}
@keyframes xmas-blink { 0%,88%,96%,100% { scale:1 1; } 91%,93% { scale:1 .1; } }
@keyframes xmas-nod { 0%,55%,100% { rotate:0deg; } 70%,80% { rotate:4deg; } }
@keyframes xmas-throw { 0%,14%,35%,100% { rotate:0deg; } 18% { rotate:-80deg; } 22% { rotate:12deg; } }
@keyframes xmas-nose{50%{opacity:.55}}
/* Decorative frame, adapted to Family Checklist's compact shell and CSP. */
.seasonal-decor,.seasonal-decor *{pointer-events:none!important;user-select:none}
.seasonal-decor{position:absolute;inset:0;overflow:clip}
.seasonal-corner{position:absolute;top:14px;width:64px;height:86px;color:#6d4d70;z-index:8}
.corner-top-left{left:5px}.corner-top-right{right:5px}
.corner-bottom-left,.corner-bottom-right{position:fixed;top:auto;bottom:calc(5px + env(safe-area-inset-bottom,0px));z-index:9}
.corner-bottom-left{left:5px}.corner-bottom-right{right:5px}
.corner-character{width:100%;height:100%;overflow:visible}
.corner-web-art{width:100%;height:100%;position:absolute;top:0;left:0}
.corner-top-right .corner-web-art{transform:scaleX(-1)}
.corner-web .hw-spider{position:absolute;top:0;left:24px;width:16px;height:90px;animation:hw-spider-drop 12s ease-in-out infinite}
.corner-top-right .hw-spider{left:auto;right:24px}
.hw-spider line,.hw-spider path{stroke:currentColor;stroke-width:1.5;fill:none}.hw-spider ellipse,.hw-spider circle{fill:currentColor}
@keyframes hw-spider-drop{0%,12%,100%{transform:translateY(-55px)}35%,65%{transform:translateY(0)}}

.seasonal-floor{position:fixed;inset:auto 0 0;height:120px;z-index:6;overflow:hidden;background:linear-gradient(transparent,var(--paper) 85%)}
.snow-floor::before{content:"";position:absolute;inset:auto 0 0;height:25px;border-radius:50% 60% 0 0;background:#fffdf5;border-top:1px solid #c6dfe0}
.leaf-floor::before,.leaf-floor::after{content:"";position:absolute;bottom:0;width:180px;height:62px;background:url('art/halloween-leaf-pile.svg') bottom/contain no-repeat}
.leaf-floor::before{left:0}.leaf-floor::after{right:0;transform:scaleX(-1)}
.site-theme-halloween main,.site-theme-christmas-cosy main,.site-theme-christmas-playful main{padding-bottom:calc(160px + env(safe-area-inset-bottom,0px))}
html:not([data-site-theme=standard]){scroll-padding-bottom:160px}
html:not([data-site-theme=standard]) #save-status{z-index:20;bottom:calc(130px + env(safe-area-inset-bottom,0px))}
.seasonal-weather{position:fixed;inset:0;z-index:4;overflow:hidden}
.weather-particle{position:absolute;top:-50px;left:var(--particle-x);animation-delay:var(--particle-delay)!important}
.snowfall .weather-particle{color:#fff;font-size:var(--particle-size);line-height:1;text-shadow:0 1px 1px #385c73;-webkit-text-stroke:.45px #7096a7;animation:snow-fall var(--particle-duration) linear infinite}
.leaf-fall .weather-particle{width:20px;height:27px;color:var(--leaf-color);animation:leaf-fall 43s linear infinite}
@keyframes snow-fall{to{transform:translate(var(--particle-drift),calc(100vh + 70px)) rotate(180deg)}}
@keyframes leaf-fall{0%,53%{transform:translate(0,-60px) rotate(-25deg);opacity:0}54%{opacity:1}75%{transform:translate(-15px,55vh) rotate(150deg)}100%{transform:translate(30px,calc(100vh + 90px)) rotate(290deg);opacity:0}}
.site-theme-halloween .button,.site-theme-christmas-cosy .button,.site-theme-christmas-playful .button{position:relative}
.site-theme-halloween .button::before{content:"";position:absolute;top:-12px;right:10px;width:54px;height:22px;background:url('art/halloween-leaf-sprig.svg') center/contain no-repeat;pointer-events:none}
.site-theme-christmas-cosy .button::before,.site-theme-christmas-playful .button::before{content:"";position:absolute;top:-10px;left:-4px;right:-4px;height:20px;background:url('art/christmas-snow-cap.svg') center/100% 100% no-repeat;pointer-events:none}
.theme-preview-note .button::before{display:none}
.theme-swatch{position:relative}.theme-swatch .seasonal-floor-stage{position:static;translate:none;width:100%;height:100%}
@media(max-width:700px){
 .seasonal-corner{top:14px;width:38px;height:57px}.corner-top-left{left:4px}.corner-top-right{right:4px}
 .corner-bottom-left,.corner-bottom-right{top:auto;bottom:calc(3px + env(safe-area-inset-bottom,0px));width:43px;height:58px}
 .corner-web .hw-spider{left:14px;width:12px;height:65px}.corner-top-right .hw-spider{left:auto;right:14px}

 .seasonal-floor{height:86px}.seasonal-floor>.seasonal-floor-stage{width:76vw;height:82px}
 .leaf-floor::before,.leaf-floor::after{width:100px;height:39px}
 .site-theme-halloween main,.site-theme-christmas-cosy main,.site-theme-christmas-playful main{padding-bottom:calc(125px + env(safe-area-inset-bottom,0px))}
 html:not([data-site-theme=standard]){scroll-padding-bottom:125px}
 html:not([data-site-theme=standard]) #save-status{bottom:calc(96px + env(safe-area-inset-bottom,0px))}
 .leaf-fall .weather-particle{width:15px;height:20px}
}
@media(prefers-reduced-motion:reduce){
 .seasonal-decor *,.seasonal-welcome *,.theme-swatch *{animation:none!important;transition:none!important}
 .seasonal-weather{display:none}.scene-thrown-snow,.scene-return-snow{opacity:0!important}
 .corner-web .hw-spider{transform:translateY(-15px)}
}
.particle-0{--particle-x:11%;--particle-size:9px;--particle-duration:17s;--particle-delay:-0.0s;--particle-drift:-36px;--leaf-color:#c16b2c}
.particle-1{--particle-x:48%;--particle-size:10px;--particle-duration:18s;--particle-delay:-1.7s;--particle-drift:-18px;--leaf-color:#b64234}
.particle-2{--particle-x:85%;--particle-size:11px;--particle-duration:19s;--particle-delay:-3.4s;--particle-drift:0px;--leaf-color:#d79735}
.particle-3{--particle-x:22%;--particle-size:12px;--particle-duration:20s;--particle-delay:-5.1s;--particle-drift:18px;--leaf-color:#946338}
.particle-4{--particle-x:59%;--particle-size:13px;--particle-duration:21s;--particle-delay:-6.8s;--particle-drift:36px;--leaf-color:#bd592a}
.particle-5{--particle-x:96%;--particle-size:14px;--particle-duration:22s;--particle-delay:-8.5s;--particle-drift:-36px;--leaf-color:#c16b2c}
.particle-6{--particle-x:33%;--particle-size:9px;--particle-duration:23s;--particle-delay:-10.2s;--particle-drift:-18px;--leaf-color:#b64234}
.particle-7{--particle-x:70%;--particle-size:10px;--particle-duration:24s;--particle-delay:-11.9s;--particle-drift:0px;--leaf-color:#d79735}
.particle-8{--particle-x:7%;--particle-size:11px;--particle-duration:25s;--particle-delay:-13.6s;--particle-drift:18px;--leaf-color:#946338}
.particle-9{--particle-x:44%;--particle-size:12px;--particle-duration:17s;--particle-delay:-15.3s;--particle-drift:36px;--leaf-color:#bd592a}
.particle-10{--particle-x:81%;--particle-size:13px;--particle-duration:18s;--particle-delay:-17.0s;--particle-drift:-36px;--leaf-color:#c16b2c}
.particle-11{--particle-x:18%;--particle-size:14px;--particle-duration:19s;--particle-delay:-18.7s;--particle-drift:-18px;--leaf-color:#b64234}
.particle-12{--particle-x:55%;--particle-size:9px;--particle-duration:20s;--particle-delay:-20.4s;--particle-drift:0px;--leaf-color:#d79735}
.particle-13{--particle-x:92%;--particle-size:10px;--particle-duration:21s;--particle-delay:-22.1s;--particle-drift:18px;--leaf-color:#946338}
.particle-14{--particle-x:29%;--particle-size:11px;--particle-duration:22s;--particle-delay:-23.8s;--particle-drift:36px;--leaf-color:#bd592a}
.particle-15{--particle-x:66%;--particle-size:12px;--particle-duration:23s;--particle-delay:-25.5s;--particle-drift:-36px;--leaf-color:#c16b2c}
.particle-16{--particle-x:3%;--particle-size:13px;--particle-duration:24s;--particle-delay:-27.2s;--particle-drift:-18px;--leaf-color:#b64234}
.particle-17{--particle-x:40%;--particle-size:14px;--particle-duration:25s;--particle-delay:-28.9s;--particle-drift:0px;--leaf-color:#d79735}
.particle-18{--particle-x:77%;--particle-size:9px;--particle-duration:17s;--particle-delay:-30.6s;--particle-drift:18px;--leaf-color:#946338}
.particle-19{--particle-x:14%;--particle-size:10px;--particle-duration:18s;--particle-delay:-32.3s;--particle-drift:36px;--leaf-color:#bd592a}
.particle-20{--particle-x:51%;--particle-size:11px;--particle-duration:19s;--particle-delay:-34.0s;--particle-drift:-36px;--leaf-color:#c16b2c}
.particle-21{--particle-x:88%;--particle-size:12px;--particle-duration:20s;--particle-delay:-35.7s;--particle-drift:-18px;--leaf-color:#b64234}
.particle-22{--particle-x:25%;--particle-size:13px;--particle-duration:21s;--particle-delay:-37.4s;--particle-drift:0px;--leaf-color:#d79735}
.particle-23{--particle-x:62%;--particle-size:14px;--particle-duration:22s;--particle-delay:-39.1s;--particle-drift:18px;--leaf-color:#946338}

.light-delay-1{animation-delay:-1s}
.light-delay-2{animation-delay:-2s}
.light-delay-3{animation-delay:-3s}
.light-delay-4{animation-delay:-4s}
.light-delay-5{animation-delay:-5s}
.light-delay-6{animation-delay:-6s}
.light-delay-7{animation-delay:-7s}
.light-delay-8{animation-delay:-8s}

.site-menu .button::before,.menu-toggle::before,.child-view-note .button::before{display:none!important}

main{position:relative}
