#result-summary{margin:10px 0 14px;padding:12px 16px;border:1px solid var(--edge);border-left:4px solid var(--yellow);border-radius:6px;background:#20263b}
#result-summary h2{font-size:clamp(1.05rem,2.5vw,1.5rem);margin:0 0 3px;overflow-wrap:anywhere}
.result-label{font-size:.75rem;color:var(--muted);margin:0 0 8px}
.result-players{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.result-player{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:10px;align-items:baseline}
.result-name{font-size:.85rem;font-weight:bold;overflow-wrap:anywhere;color:var(--player-color)}
.result-number{font-size:clamp(1.6rem,4vw,2.2rem);line-height:1.1;font-variant-numeric:tabular-nums}
.result-caption{grid-column:1/-1;font-size:.75rem;color:var(--muted)}
.result-rail{height:4px;grid-column:1/-1;background:#111727;margin-top:7px;overflow:hidden}
.result-rail i{height:100%;display:block;background:var(--player-color);transform-origin:left}
.result-winner .result-number{color:var(--player-color)}
.jolt-celebration{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:5;display:grid;place-items:center;perspective:600px}
.jolt-celebration-card{position:relative;z-index:2;width:min(88%,570px);padding:18px 26px 22px;background:#131728;border:2px solid var(--yellow);border-radius:12px;box-shadow:0 16px 55px #080b1499;text-align:center;animation:jolt-arrival 650ms cubic-bezier(.2,.9,.3,1.3) both,jolt-departure 400ms 4.3s forwards}
.jolt-celebration-card>p{font-size:.8rem;color:var(--muted);margin:4px 0 8px}
.jolt-celebration-card h2{font-size:clamp(1.35rem,3.5vw,2.4rem);line-height:1.1;margin:0 0 18px;overflow-wrap:anywhere}
.celebration-poles{font-size:1.8rem;font-weight:900;color:var(--cyan);letter-spacing:.3em}
.celebration-poles span{display:inline-block;color:var(--yellow);animation:magnet-jump 650ms 2 ease-in-out}
.jolt-celebration-card .result-player{text-align:left}
.jolt-confetti{position:absolute;left:var(--x);top:-30px;font-size:22px;font-weight:bold;animation:magnet-confetti var(--fall) var(--delay) cubic-bezier(.2,.45,.65,1) both;will-change:transform;z-index:3}
.magnetic-ripple{position:absolute;left:50%;top:50%;width:180px;height:180px;margin:-90px;border:4px solid var(--cyan);border-radius:50%;animation:magnet-ripple 1600ms ease-out both}
.magnetic-ripple.second{border-color:var(--yellow);animation-delay:250ms}
.result-reveal{animation:score-arrival 420ms ease-out both}
.result-reveal .result-rail i{animation:score-fill 1.1s ease-out both}
@keyframes magnet-confetti{0%{opacity:0;transform:translate3d(0,-25px,0) rotateZ(0)}10%{opacity:1}100%{opacity:0;transform:translate3d(var(--drift),var(--drop),-90px) rotateZ(var(--spin)) rotateY(480deg)}}
@keyframes jolt-arrival{from{opacity:0;transform:translateY(28px) rotate(-3deg) scale(.78)}to{opacity:1;transform:none}}
@keyframes jolt-departure{from{opacity:1;transform:none}to{opacity:0;transform:translateY(-18px) scale(1.04)}}
@keyframes magnet-jump{0%,100%{transform:translateY(0) rotate(0)}45%{transform:translateY(-9px) rotate(15deg)}}
@keyframes magnet-ripple{from{opacity:.8;transform:scale(.4)}to{opacity:0;transform:scale(5)}}
@keyframes score-arrival{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes score-fill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
body.calm .jolt-celebration{display:none}
@media(prefers-reduced-motion:reduce){.jolt-celebration{display:none}}
@media(max-width:600px){#result-summary{padding:10px}.jolt-celebration-card{padding:12px 15px 16px}.jolt-celebration-card h2{margin-bottom:12px}.result-players{gap:10px}.result-player{column-gap:5px}.result-name{font-size:.75rem}.result-caption{font-size:.7rem}.celebration-poles{font-size:1.4rem}.jolt-confetti{font-size:18px}}
