/* IMPACT edition: transient accents at the edges; artwork geometry is unchanged. */
.impact-frame{position:absolute;inset:0;z-index:16;overflow:hidden;pointer-events:none;contain:strict;color:var(--accent)}
.impact-frame i{position:absolute;display:block;opacity:0;pointer-events:none}
.impact-rail{background:linear-gradient(90deg,transparent,currentColor 35%,#fff 60%,transparent);filter:drop-shadow(0 0 7px currentColor)}
.impact-rail-0,.impact-rail-2{left:0;width:100%;height:3px}
.impact-rail-0{top:2px}.impact-rail-2{bottom:2px}
.impact-rail-1,.impact-rail-3{top:0;height:100%;width:3px;background:linear-gradient(0deg,transparent,currentColor 35%,#fff 60%,transparent)}
.impact-rail-1{right:2px}.impact-rail-3{left:2px}
.impact-corner{width:clamp(25px,6vw,95px);height:clamp(25px,6vw,95px);border:solid currentColor;filter:drop-shadow(0 0 7px currentColor) drop-shadow(0 0 16px currentColor)}
.impact-corner-0{left:9px;top:9px;border-width:3px 0 0 3px;transform-origin:top left}
.impact-corner-1{right:9px;top:9px;border-width:3px 3px 0 0;transform-origin:top right}
.impact-corner-2{right:9px;bottom:9px;border-width:0 3px 3px 0;transform-origin:bottom right}
.impact-corner-3{left:9px;bottom:9px;border-width:0 0 3px 3px;transform-origin:bottom left}
.impact-bolt{width:clamp(18px,3vw,42px);height:43%;background:linear-gradient(#fff,currentColor 35%,#fff 60%,currentColor);clip-path:polygon(51% 0,44% 29%,78% 26%,40% 62%,57% 59%,18% 100%,28% 65%,8% 69%,55% 35%,33% 38%);filter:drop-shadow(0 0 5px currentColor)}
.impact-bolt-0{left:4px;top:8%}.impact-bolt-1{right:4px;top:8%;rotate:180deg}.impact-bolt-2{right:4px;bottom:8%}.impact-bolt-3{left:4px;bottom:8%;rotate:180deg}
.vs-stage>.impact-frame{color:var(--left-color);z-index:29}
.vs-stage>.impact-frame :is(.impact-rail-1,.impact-corner-1,.impact-corner-2,.impact-bolt-1,.impact-bolt-2){color:var(--right-color)}
.art-only .impact-frame{display:none}
.random-heading{position:relative;padding-bottom:10px}
.random-heading::after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,var(--accent),#fff);transform:scaleX(var(--draw-progress,0));transform-origin:left;transition:transform .18s ease-out;box-shadow:0 0 12px var(--accent)}
.random-draw.is-ticking .random-slot.is-locked{animation:none;filter:none}
.random-slot.is-locked{border-color:var(--slot-color);box-shadow:inset 0 0 0 1px var(--slot-color),0 0 25px color-mix(in srgb,var(--slot-color) 38%,transparent)}
.random-slot.is-locked>span{color:#fff;background:color-mix(in srgb,var(--slot-color) 45%,#06101f);border:1px solid var(--slot-color)}
.random-slot.is-locked>span::after{content:' / LOCKED';letter-spacing:.7px}
.random-slot.is-locking{animation:impact-slot-lock .46s cubic-bezier(.16,1,.3,1)!important}
.random-draw.is-locked .random-slot{filter:none;animation:none}
@keyframes impact-slot-lock{0%{scale:.96;filter:brightness(1)}28%{scale:1.035;filter:brightness(1.4)}100%{scale:1;filter:brightness(1)}}
@media(max-width:760px){.impact-corner{width:35px;height:35px}.random-slot.is-locked>span{font-size:7px;letter-spacing:0}.random-slot.is-locked>span::after{letter-spacing:0}}
@media(prefers-reduced-motion:reduce){.impact-frame{display:none}.random-heading::after{transition:none}.random-slot.is-locking{animation:none!important}}
