/* Only decorative layers are click-through; the greeting link and motion control stay usable. */
.holiday-layer[hidden],.holiday-ribbon[hidden],.holiday-motion[hidden]{display:none!important}
.holiday-layer{position:fixed;inset:0;z-index:65;overflow:hidden;contain:layout paint;--holiday-scale:1;--snow-color:#8292a6;--snow-opacity:.26}
.holiday-layer,.holiday-layer *{pointer-events:none!important;user-select:none!important;-webkit-user-select:none!important}
.holiday-layer[data-size=small]{--holiday-scale:.7}
.holiday-layer[data-size=large]{--holiday-scale:1.25}
body:is([data-template=black],[data-template=standard-dark]) .holiday-layer{--snow-color:#fff;--snow-opacity:.45}
.holiday-edge{position:absolute;left:0;width:100%;height:0;box-sizing:border-box;border-style:solid;border-color:transparent;border-image-repeat:repeat}
/* Preserve the corner artwork; only the central greenery repeats across the viewport.
   The supplied transparent PNGs are used unchanged, including their original padding. */
.holiday-edge-top{top:0;--edge-height:calc(clamp(44px,6vw,90px) * var(--holiday-scale));border-width:var(--edge-height) calc(var(--edge-height) * 430 / 345) 0;border-image-source:url('/assets/new-year/decoration-top.png?v=0.7.219');border-image-slice:345 430 379 430}
.holiday-edge-bottom{bottom:0;--edge-height:calc(clamp(70px,10vw,145px) * var(--holiday-scale));border-width:0 calc(var(--edge-height) * 440 / 457) var(--edge-height);border-image-source:url('/assets/new-year/decoration-bottom.png?v=0.7.219');border-image-slice:267 440 457 440}
.holiday-ribbon{position:relative;z-index:2;background:var(--surface);color:var(--ink);border-bottom:1px solid var(--line)}
.holiday-greeting{max-width:var(--content);margin:auto;min-height:48px;padding:12px 28px;display:flex;justify-content:center;align-items:center;gap:12px 24px;font-size:14px;line-height:1.5;text-align:center;overflow-wrap:anywhere}
.holiday-greeting>a{flex-shrink:0;color:var(--ink);font-weight:750;text-decoration:underline;text-decoration-color:var(--holiday-primary);text-underline-offset:4px}
.holiday-greeting>a:focus-visible,.holiday-motion:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.holiday-countdown{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;padding:8px 20px 14px;font-size:12px;color:var(--muted)}
.holiday-countdown strong{color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:.06em}
.holiday-snow{position:absolute;inset:0}
.holiday-snow i{position:absolute;top:-40px;left:var(--snow-x);width:var(--snow-size);height:var(--snow-size);opacity:var(--snow-opacity);animation:holiday-fall var(--snow-duration) linear infinite;animation-delay:var(--snow-delay)}
.holiday-snow span{display:block;width:100%;height:100%;background:var(--snow-color);-webkit-mask:var(--snow-shape) center/contain no-repeat;mask:var(--snow-shape) center/contain no-repeat;animation:holiday-drift 6s ease-in-out infinite alternate;animation-delay:var(--snow-delay)}
.holiday-motion{position:fixed;z-index:66;left:50%;bottom:max(14px,env(safe-area-inset-bottom));transform:translateX(-50%);max-width:calc(100% - 110px);border:1px solid var(--line);border-radius:30px;padding:8px 14px;font:500 11px/1.4 Manrope,Arial,sans-serif;background:var(--surface);color:var(--muted);box-shadow:0 3px 15px #0000000a;cursor:pointer}
.holiday-motion:disabled{cursor:default}
.holiday-paused .holiday-snow{display:none}
.holiday-paused .holiday-snow *{animation-play-state:paused!important}
@keyframes holiday-fall{from{transform:translate3d(0,0,0)}to{transform:translate3d(0,calc(100vh + 80px),0)}}
@keyframes holiday-drift{from{transform:translateX(-4px) rotate(0)}to{transform:translateX(var(--snow-drift)) rotate(var(--snow-turn))}}
@media(max-width:700px){.holiday-greeting{padding:10px 22px;font-size:12px;gap:7px 12px;flex-wrap:wrap}.holiday-greeting>a{flex-shrink:1}.holiday-motion{bottom:max(72px,calc(env(safe-area-inset-bottom) + 56px));font-size:10px}.holiday-countdown{font-size:11px;padding-bottom:10px}}
@media(prefers-reduced-motion:reduce){.holiday-snow{display:none}.holiday-snow *{animation:none!important}}
.brand-logo img.holiday-logo{object-fit:contain}
