#splash-layer{z-index:30;overflow:hidden;isolation:isolate;pointer-events:none}
#splash-layer.active{display:block;opacity:1}
#splash-layer .incoming-snowball{position:absolute;z-index:2;left:calc(50% - 65px);top:calc(47% - 65px);width:130px;height:130px;border-radius:48% 52% 49% 51%;background:radial-gradient(circle at 33% 27%,#fff9,transparent 62%),url('assets/snow-impact.webp') center/220%,#d8e6ed;box-shadow:inset -16px -17px 24px #91a9baaa,inset 5px 7px 12px #fff,0 9px 18px #00334a55;animation:snowball-arrive .57s cubic-bezier(.55,.05,.85,.4) both}
.snow-impact{position:absolute;z-index:2;width:135%;max-width:none;height:auto;left:-17.5%;top:47%;transform-origin:50% 50%;filter:drop-shadow(0 7px 6px #284d6477);animation:snow-screen-impact 5s both;user-select:none}
#splash-layer .splash-caption{position:absolute;z-index:4;top:7%;left:4%;right:4%;padding:13px 14px 14px;text-align:center;overflow-wrap:anywhere;color:#fff7e1;font:700 16px/1.35 Arial,sans-serif;text-shadow:0 2px 2px #4d071d;border:2px solid transparent;border-radius:22px;background:linear-gradient(155deg,#c22037,#8d0924 60%,#650a24) padding-box,linear-gradient(145deg,#fff1b1,#d79227 25%,#ffe9a3 55%,#bd701d 80%,#ffe1a0) border-box;box-shadow:inset 0 2px 0 #fff2, inset 0 -3px 5px #38021c66,0 3px 0 #74401b,0 8px 20px #001629aa,0 0 20px #ffd78335;animation:snow-caption 5s both}
#splash-layer .splash-caption:before{content:"";position:absolute;top:-6px;left:13px;right:20px;height:13px;border-radius:70% 35% 60% 40%;background:linear-gradient(#fff 25%,#e9f7ff 65%,#b6d6e4);box-shadow:8px 3px 0 -3px #f8fdff,-5px 2px 0 -2px #f8fdff;transform:rotate(-1deg);pointer-events:none}
#splash-layer .splash-caption:after{content:"";position:absolute;left:24%;right:24%;bottom:4px;height:1px;background:linear-gradient(90deg,transparent,#ffdda5,transparent);opacity:.65}
.snow-sender{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:6px;min-width:0}
.snow-sender strong{color:#ffe3a1;font:900 italic 19px/1.2 Arial,sans-serif;overflow-wrap:anywhere;min-width:0}
.snow-badge{display:block;flex:0 0 29px;width:29px;height:29px;border:1px solid #fff0b8;border-radius:50%;background:radial-gradient(circle at 32% 25%,#fff9,transparent 60%),url('assets/snow-impact.webp') center/220%,#dcecf5;box-shadow:inset -3px -3px 5px #9baebe,0 2px 4px #36081c}
.snow-taunt{display:block}.snow-taunt b{color:#ffdf91;font-weight:900;white-space:nowrap}

#splash-layer .snow-fragment{position:absolute;z-index:3;left:50%;top:47%;width:var(--size);height:calc(var(--size)*.8);border-radius:42% 58% 60% 40%;background:radial-gradient(circle at 30% 20%,#fff,#e9f3fa 55%,#a9c2d3);box-shadow:0 2px 3px #38556a55;animation:snow-scatter 3.9s var(--delay) both}
@keyframes snowball-arrive{0%{opacity:0;transform:translate(90px,-140px) scale(.06) rotate(-80deg)}15%{opacity:1}92%{opacity:1;transform:translate(0,0) scale(1.7) rotate(20deg)}100%{opacity:0;transform:scale(2.2) rotate(28deg)}}
@keyframes snow-screen-impact{0%,10.9%{opacity:0;transform:translateY(-50%) scale(.12)}11.2%{opacity:1;transform:translateY(-50%) scale(.35)}15%{opacity:1;transform:translateY(-50%) scale(1.08,.96) rotate(2deg)}20%{transform:translateY(-50%) scale(.99,1.02) rotate(-1deg)}26%,65%{opacity:1;transform:translateY(-50%) scale(1) rotate(0)}82%{opacity:.88;transform:translateY(-44%) scale(.99,1.02)}100%{opacity:0;transform:translateY(-25%) scale(.96,1.04)}}
@keyframes snow-scatter{0%{opacity:0;transform:scale(.1)}4%{opacity:1}17%{opacity:1;transform:translate(var(--dx),var(--dy)) rotate(var(--turn))}55%{opacity:.9;transform:translate(var(--dx),calc(var(--dy) + 70px)) rotate(var(--turn))}100%{opacity:0;transform:translate(var(--dx),calc(var(--dy) + 250px)) rotate(310deg) scale(.55)}}
@keyframes snow-caption{0%{opacity:0;transform:translateY(-8px)}8%,81%{opacity:1;transform:none}100%{opacity:0;transform:translateY(5px)}}
@media(max-height:500px){#splash-layer .splash-caption{top:3%;font-size:16px;padding:10px 12px}}
@media(prefers-reduced-motion:reduce){#splash-layer .incoming-snowball,#splash-layer .snow-fragment{display:none}.snow-impact{animation:none!important;opacity:.95;transform:translateY(-50%)}#splash-layer .splash-caption{animation:none!important;opacity:1}}
