/* Seasonal decorations: red, charcoal and a warm light, never an interaction layer. */
.festive-effects{position:fixed;inset:0;pointer-events:none;z-index:6;overflow:hidden}
.festive-effects[hidden],.festive-garland[hidden],.festive-preview[hidden],.festive-toggle[hidden]{display:none!important}
.festive-garland{position:absolute;top:100%;left:0;width:100%;height:64px;pointer-events:none;overflow:hidden}
.festive-garland svg{display:block;width:100%;height:64px}
.festive-bulb{animation:festive-warmth 3.8s ease-in-out infinite}.bulb-1{animation-delay:-1s}.bulb-2{animation-delay:-2s}.bulb-3{animation-delay:-3s}
@keyframes festive-warmth{0%,100%{opacity:.7}50%{opacity:1}}
.festive-firework{position:absolute;width:var(--fireworks-size,160px);height:var(--fireworks-size,160px);opacity:0;animation:festive-burst 3.6s linear infinite;transform-origin:center}
.festive-firework svg{display:block;width:100%;height:100%}
.firework-0{right:12px;top:var(--fireworks-top,110px);animation-delay:0s}.firework-1{right:12px;top:calc(var(--fireworks-top,110px) + var(--fireworks-travel,120px));animation-delay:-1.2s}.firework-2{right:26%;top:var(--fireworks-top,110px);animation-delay:-2.4s}.firework-0,.firework-2{width:calc(var(--fireworks-size,160px)*.65);height:calc(var(--fireworks-size,160px)*.65)}
@keyframes festive-burst{0%{opacity:.15;transform:scale(.48)}12%{opacity:1;transform:scale(.85)}46%{opacity:.9;transform:scale(1)}70%,100%{opacity:0;transform:scale(1.08)}}
.festive-pumpkin,.festive-bat,.festive-web{position:absolute;pointer-events:none}
.festive-pumpkin{right:18px;bottom:62px;width:100px;opacity:.8;animation:festive-autumn 5s ease-in-out infinite}
.festive-bat{width:64px;opacity:.55;animation:festive-drift 7s ease-in-out infinite}.bat-0{right:24px;top:155px}.bat-1{left:16px;top:210px;width:42px;animation-delay:-3s}
.festive-web{right:-2px;top:84px;width:105px;opacity:.4}
.festive-pumpkin svg,.festive-bat svg,.festive-web svg{display:block;width:100%;height:auto}
@keyframes festive-autumn{0%,100%{opacity:.65}50%{opacity:.85}}
@keyframes festive-drift{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-6px) rotate(3deg)}}
[data-running="false"].festive-effects *,.festive-garland[data-running="false"] *{animation-play-state:paused!important}
.festive-toggle,.festive-preview{position:fixed;z-index:30;font:12px/1.5 var(--sans,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif);color:#222;background:#fff;border:1px solid #ddd;box-shadow:0 6px 24px #0000000a}
.festive-toggle{right:16px;bottom:16px;min-height:44px;padding:8px 16px;border-radius:4px;cursor:pointer}
.festive-preview{left:20px;bottom:20px;width:min(360px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:16px;border-radius:6px;box-sizing:border-box}
.festive-preview-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.festive-preview-heading p{margin:0;font-size:14px;font-weight:650}.festive-preview-heading small{color:#666;font-size:11px}
.festive-close{border:0;background:none;font:26px/1 var(--sans,sans-serif);width:44px;height:44px;flex:none;cursor:pointer;color:#666}
.festive-preview-heading>div{margin-right:auto}.festive-minimize{border:0;background:none;color:#555;font:inherit;min-height:44px;padding:4px;cursor:pointer}.festive-preview-heading{gap:4px}.festive-preview.is-minimized .festive-choices,.festive-preview.is-minimized .festive-calendar{display:none}
.festive-choices{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.festive-choices button{font:inherit;min-height:44px;border:1px solid #ddd;background:#fff;color:#222;border-radius:3px;cursor:pointer;padding:6px}
.festive-choices button[aria-pressed="true"]{border-color:#de1210;background:#fff4f3;color:#a50e0c}.festive-preview .festive-calendar{margin:12px 0 0;color:#666;font-size:10px;line-height:1.7}
.festive-toggle:focus-visible,.festive-preview button:focus-visible{outline:2px solid #de1210;outline-offset:3px}
@media(max-width:700px){.festive-preview{left:16px;bottom:16px}.festive-garland,.festive-garland svg{height:48px}}
@media(max-width:700px){.festive-pumpkin{right:8px;bottom:70px;width:68px}.festive-bat{width:42px}.bat-0{right:8px;top:145px}.bat-1{left:-8px;top:190px;width:28px}.festive-web{top:76px;width:66px}}
@media(max-width:700px){[data-festive-preview="true"] .festive-pumpkin{bottom:340px}}
@media(prefers-reduced-motion:reduce){.festive-bulb{animation:none;opacity:1}.festive-firework{animation:none;opacity:.85;transform:none}.festive-pumpkin,.festive-bat{animation:none;transform:none}.festive-glow{display:none}}
@media print{.festive-effects,.festive-garland,.festive-toggle,.festive-preview{display:none!important}}
