/* Crimson frost: decorative materials only. Never change host positioning. */
.snow-trim{position:absolute;left:-1px;right:17%;top:-1px;height:19px;pointer-events:none;z-index:4;background-image:url('snow-drift.png');background-repeat:no-repeat;background-size:100% 63px;background-position:center 55%;opacity:.92;filter:drop-shadow(0 2px 2px #0005);border-radius:12px 0 0 0}
.hero-gift>.snow-trim{right:4%;height:16px;background-size:100% 58px;background-position:center 55%}.gift-middle>.snow-trim{left:12%;right:0;transform:scaleX(-1)}.gift-back>.snow-trim{right:22%;opacity:.8}.refined-gift>.snow-trim{height:19px;right:9%;background-size:100% 67px}.gift-float-shell:nth-child(2) .snow-trim{left:13%;right:0;transform:scaleX(-1)}.gift-float-shell:nth-child(3) .snow-trim{right:30%;opacity:.8}
.offer-art>.snow-trim,.payout-photo>.snow-trim{height:13px;right:28%;background-size:100% 47px;opacity:.86}.offers-grid>div:nth-child(even) .snow-trim,.payout-grid>*:nth-child(even) .snow-trim{left:24%;right:0;transform:scaleX(-1)}
.dashboard-banner>.snow-trim,.join-banner>.snow-trim,.admin-welcome>.snow-trim{right:42%;height:17px;background-size:100% 60px;opacity:.8}.competition-card>.snow-trim{right:18%;height:16px;background-size:100% 58px}.competition-card:nth-child(2)>.snow-trim{left:20%;right:0;transform:scaleX(-1)}
.frost-detail{position:absolute;right:8px;top:8px;width:24px;height:29px;pointer-events:none;z-index:3;color:#e6eef7;opacity:.36;filter:drop-shadow(0 0 3px #fff3)}.frost-detail svg{width:100%;height:100%;overflow:visible}.offer-art>.frost-detail,.payout-photo>.frost-detail{right:6px;top:6px;width:18px;height:24px;opacity:.24}.dashboard-banner>.frost-detail,.join-banner>.frost-detail,.admin-welcome>.frost-detail{width:36px;height:40px;opacity:.22;right:14px}
@media(prefers-reduced-motion:no-preference){.frost-detail{animation:frost-glint 9s ease-in-out infinite}.gift-middle .frost-detail{animation-delay:-4s}.competition-card:nth-child(2) .frost-detail{animation-delay:-6s}@keyframes frost-glint{0%,75%,100%{opacity:.2}84%{opacity:.5}92%{opacity:.3}}}
@media(max-width:600px){.snow-trim{height:14px;background-size:100% 49px}.hero-gift>.snow-trim{height:13px;background-size:100% 48px}.frost-detail{width:18px;height:22px}.dashboard-banner>.snow-trim,.join-banner>.snow-trim,.admin-welcome>.snow-trim{height:13px;background-size:100% 49px}}
@media(prefers-reduced-motion:reduce){.frost-detail{animation:none}}
@media print{.snow-trim,.frost-detail,#snow{display:none}}
/* Breakable ice lives inside artwork; falling fragments use a separate overlay. */
.ice-shell{position:absolute;inset:0;pointer-events:none;z-index:3;overflow:hidden;border-radius:inherit;opacity:1;transition:opacity .6s}.ice-glaze{position:absolute;inset:0;background:linear-gradient(125deg,#edf8ff22,transparent 35%,#dbeeff0a 60%,#fff2);box-shadow:inset 0 1px 1px #fff8,inset 1px 0 5px #d6edff26,inset -1px 0 4px #d6edff15;clip-path:polygon(0 0,100% 0,100% 23%,92% 12%,84% 29%,74% 16%,65% 33%,54% 19%,42% 31%,31% 14%,21% 26%,10% 16%,0 35%)}
.ice-glaze:after{content:"";position:absolute;inset:-80% -50%;background:linear-gradient(115deg,transparent 43%,#e8f6ff35 49%,transparent 55%);transform:translateX(-45%);animation:ice-surface-light 9s ease-in-out infinite}.ice-cracks{position:absolute;inset:0;width:100%;height:100%;opacity:0;fill:none;stroke:#effaff;stroke-width:.65;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 2px #d8eeff99)}.ice-cracks path{stroke-dasharray:160;stroke-dashoffset:160}
[data-ice-state=cracking]>.ice-shell .ice-cracks{opacity:.9}[data-ice-state=cracking]>.ice-shell .ice-cracks path{animation:ice-fracture .26s ease-out forwards}[data-ice-state=broken]>.ice-shell{opacity:0;transition:opacity .15s}[data-ice-state=broken]>.snow-trim{opacity:.28;transition:opacity .2s}[data-ice-state=refreezing]>.ice-shell{animation:ice-regrow .85s ease-out both}[data-ice-state=refreezing]>.snow-trim{transition:opacity .8s}
.ice-break-layer{position:fixed;inset:0;pointer-events:none;z-index:90;overflow:hidden;contain:strict}.ice-fragment{position:absolute;width:var(--chip-w);height:var(--chip-h);pointer-events:none;opacity:0;clip-path:polygon(8% 3%,78% 0,100% 39%,65% 100%,0 68%);background:linear-gradient(135deg,#ffffffed,#d3e8f5bb 40%,#a8cbd178 75%,#f4fcffb3);box-shadow:inset 1px 1px 0 #fff;filter:drop-shadow(0 1px 3px #d4eeff55);animation:ice-chip-fall var(--chip-time) cubic-bezier(.22,.4,.52,1) forwards;transform-origin:center}.ice-fragment:nth-child(3n){clip-path:polygon(0 0,100% 25%,37% 100%);background:linear-gradient(120deg,#fff,#d4e5ef88)}.ice-fragment.ice-powder{border-radius:50%;clip-path:none;background:#f3faffb3;filter:none}
@keyframes ice-surface-light{0%,65%,100%{transform:translateX(-45%);opacity:0}74%{opacity:.7}88%{transform:translateX(45%);opacity:0}}@keyframes ice-fracture{to{stroke-dashoffset:0}}@keyframes ice-regrow{0%{opacity:0;clip-path:inset(0 0 100% 0)}45%{opacity:.55}100%{opacity:1;clip-path:inset(0)}}@keyframes ice-chip-fall{0%{opacity:0;transform:translate(0,-3px) rotate(0)}8%{opacity:.95}28%{opacity:.88;transform:translate(calc(var(--chip-x)*.3),8px) rotate(calc(var(--chip-turn)*.25))}100%{opacity:0;transform:translate(var(--chip-x),var(--chip-drop)) rotate(var(--chip-turn))}}
@media(prefers-reduced-motion:reduce){.ice-glaze:after,.ice-cracks path,.ice-shell,.ice-fragment{animation:none!important;transition:none!important}.ice-break-layer{display:none}.ice-cracks{display:none}}
@media print{.ice-shell,.ice-break-layer{display:none}}
