/* Original local artwork and a nine-second CSS entrance, never synthetic face video. */
.winner-ceremony{--ceremony-offset:0ms;--ceremony-play:running;position:relative;isolation:isolate;overflow:hidden;min-height:450px;margin:0 0 28px;color:#fff8df;background:#101310;border:1px solid #8d7948;border-radius:10px;box-shadow:0 18px 60px #0005}
.ceremony-stage{position:absolute;inset:0 0 64px;overflow:hidden;background:radial-gradient(ellipse at 72% 44%,#4e4423 0,#151812 39%,#0e1210 74%)}
.ceremony-halo{position:absolute;width:340px;height:340px;border:1px solid #bba16577;border-radius:50%;top:28px;right:9%;box-shadow:0 0 0 18px #c6ad610a,0 0 0 45px #c6ad6106}
.ceremony-halo:after{content:'';position:absolute;inset:13px;border:1px dashed #e8c97f50;border-radius:50%}
.ceremony-beam{position:absolute;top:-180px;width:250px;height:690px;background:linear-gradient(#fff0cf16,#ffe09d00);transform-origin:top;clip-path:polygon(46% 0,54% 0,100% 100%,0 100%);filter:blur(1px)}
.beam-left{left:45%;transform:rotate(-27deg)}.beam-right{right:0;transform:rotate(28deg)}
.ceremony-steps{position:absolute;bottom:-40px;left:43%;width:60%;height:90px;border:1px solid #a78a4455;border-radius:50%;background:linear-gradient(#353322,#101310);box-shadow:0 18px 0 #171b15,0 19px 0 #9b814e}
.ceremony-art{position:absolute;width:250px;height:340px;bottom:18px;right:14%;transform-origin:bottom;filter:drop-shadow(0 7px 18px #0009)}
.ceremony-art img{display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom}
.ceremony-trophy{position:absolute;bottom:10px;right:8%;width:128px;height:195px;filter:drop-shadow(0 12px 15px #0009)}
.ceremony-ball{position:absolute;width:110px;height:110px;left:9px;top:0;border-radius:50%;background:radial-gradient(circle at 27% 24%,#fff7c4 0,#e6c769 24%,#a77c20 58%,#503f1d 90%);border:1px solid #efd48b;box-shadow:inset -7px -9px 18px #38290899,0 0 38px #e6be5130}
.ceremony-ball b{position:absolute;inset:30%;background:#997327;clip-path:polygon(50% 0,98% 35%,81% 95%,19% 95%,2% 35%);box-shadow:0 0 2px #fff}
.ceremony-ball:after{content:'';position:absolute;inset:6px;border:2px solid #8f6e2c66;border-radius:50%;transform:rotate(-32deg) scaleX(.4)}
.ceremony-stem{position:absolute;top:103px;left:48px;width:32px;height:40px;background:linear-gradient(90deg,#644f26,#edcf80,#725a2b);clip-path:polygon(30% 0,70% 0,100% 100%,0 100%)}
.ceremony-base{position:absolute;top:139px;left:18px;width:92px;height:42px;background:linear-gradient(100deg,#35362b,#646046,#20271f);border:1px solid #a89962;border-radius:4px}
.ceremony-copy{position:relative;z-index:2;width:54%;min-height:385px;padding:62px 32px 36px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.ceremony-eyebrow{margin:0 0 15px;font-size:11px;font-weight:800;letter-spacing:3px;color:#d7bd78}.ceremony-copy h2{margin:0 0 13px!important;font-size:clamp(32px,4.8vw,63px);line-height:1.02;font-weight:800;letter-spacing:-2px;color:#ffe9b1}
.ceremony-winner{margin:0 0 23px;font-size:clamp(21px,2.6vw,33px);font-weight:700;overflow-wrap:anywhere}.ceremony-subject{margin:0 0 4px;font-size:19px;font-weight:700;overflow-wrap:anywhere}.ceremony-stat{margin:0 0 15px;font-size:12px;color:#dad6c6}.ceremony-art-label{display:inline-block;font-size:10px;letter-spacing:.5px;padding:5px 8px;border:1px solid #a68b4f66;border-radius:3px;color:#d2c39c;background:#101510aa}
.ceremony-controls{position:relative;z-index:3;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;background:#0c100ee8;border-top:1px solid #9b814e44}.ceremony-controls>span{max-width:340px;font-size:11px;line-height:1.5;color:#c6c5b8}.ceremony-controls>div{display:flex;flex-wrap:wrap;gap:6px}.ceremony-controls button{border:1px solid #7e704c!important;color:#f0e3c3!important;background:#20261d!important;min-height:36px}.ceremony-controls button:focus-visible{outline:3px solid #f0d47a;outline-offset:3px}.ceremony-controls [hidden]{display:none!important}.ceremony-credit{position:relative;margin:0;padding:10px 20px;font-size:10px;overflow-wrap:anywhere;background:#11170f;color:#d3d0c4}
.ceremony-sparks{position:absolute;inset:0;pointer-events:none}.ceremony-sparks i{position:absolute;left:calc(6% + var(--spark)*6%);top:16%;width:3px;height:8px;background:#e7ca82;opacity:0;transform:rotate(calc(var(--spark)*37deg));}
.winner-ceremony:not(.ceremony-done) .ceremony-art{animation:ceremony-arrival 9s both}.winner-ceremony:not(.ceremony-done) .ceremony-trophy{animation:ceremony-award 9s both}.winner-ceremony:not(.ceremony-done) .ceremony-copy{animation:ceremony-title 9s both}.winner-ceremony:not(.ceremony-done) .ceremony-sparks i{animation:ceremony-spark 9s both}
.winner-ceremony:not(.ceremony-done) :is(.ceremony-art,.ceremony-trophy,.ceremony-copy,.ceremony-sparks i){animation-delay:var(--ceremony-offset);animation-play-state:var(--ceremony-play)}
@keyframes ceremony-arrival{0%,10%{opacity:0;transform:translateX(90px) scale(.89)}35%{opacity:1;transform:translateX(0) scale(.98)}75%,100%{opacity:1;transform:translateX(0) scale(1)}}
@keyframes ceremony-award{0%,30%{opacity:0;transform:translateY(90px) scale(.8) rotate(-8deg)}55%,100%{opacity:1;transform:translateY(0) scale(1) rotate(0)}}
@keyframes ceremony-title{0%,12%{opacity:0;transform:translateY(12px)}30%,100%{opacity:1;transform:translateY(0)}}
@keyframes ceremony-spark{0%,43%{opacity:0;transform:translateY(-45px) rotate(0)}48%{opacity:.85}90%,100%{opacity:0;transform:translateY(310px) rotate(290deg)}}
@media(max-width:680px){.winner-ceremony{min-height:640px}.ceremony-stage{inset:0 0 102px;background:radial-gradient(ellipse at 50% 68%,#4e4423,#0e1210 73%)}.ceremony-copy{width:100%;min-height:265px;padding:27px 20px 10px;align-items:center;text-align:center}.ceremony-copy h2{font-size:42px}.ceremony-winner{margin-bottom:12px;font-size:25px}.ceremony-subject{font-size:17px}.ceremony-stat{margin-bottom:7px}.ceremony-eyebrow{font-size:9px;letter-spacing:2px}.ceremony-halo{width:245px;height:245px;top:auto;bottom:0;right:calc(50% - 122px)}.ceremony-art{height:245px;width:205px;right:calc(50% - 82px);bottom:0}.ceremony-trophy{right:calc(50% - 150px);bottom:-17px;transform:scale(.75);transform-origin:bottom}.ceremony-steps{left:10%;width:80%;bottom:-60px}.ceremony-controls{margin-top:275px;min-height:102px;flex-direction:column;align-items:center;padding:12px}.ceremony-controls>span{text-align:center}.ceremony-controls>div{justify-content:center}.ceremony-credit{text-align:center}.winner-ceremony:not(.ceremony-done) .ceremony-trophy{animation-name:ceremony-award-small}}
@keyframes ceremony-award-small{0%,30%{opacity:0;transform:translateY(90px) scale(.6)}55%,100%{opacity:1;transform:translateY(0) scale(.75)}}
@media(prefers-reduced-motion:reduce){.winner-ceremony *{animation:none!important;transition:none!important}.ceremony-sparks{display:none}}

/* A server-owned 40-second scene; reduced motion does not skip other viewers. */
.winner-ceremony.ceremony-shared:not(.ceremony-done) :is(.ceremony-art,.ceremony-trophy,.ceremony-copy,.ceremony-sparks i){animation-duration:40s}
.winner-ceremony.ceremony-reduced *{animation:none!important;transition:none!important}
.winner-ceremony.ceremony-reduced .ceremony-sparks{display:none}
.ceremony-credit a{color:inherit;text-decoration:underline}
.ceremony-shared .ceremony-controls button:disabled{opacity:.6;cursor:wait}

.ceremony-art.ceremony-photo img{object-fit:contain;filter:none;border-radius:8px}
