#winner-dialog{padding:0;width:calc(100% - 28px);max-width:510px;max-height:92dvh;border:1px solid #737b82;border-radius:22px;background:#20272d;color:#f5f3eb;overflow:auto;box-shadow:0 32px 130px #0009,0 0 80px #d2bd761a;isolation:isolate}
#winner-dialog::backdrop{background:rgb(18 21 24 / 80%);backdrop-filter:blur(7px)}
#winner-dialog:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 50% 5%,#d7c38b26,transparent 53%),linear-gradient(130deg,#ffffff06,transparent 60%)}
.winner-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 0 24px}.winner-header>span{font-size:12px;color:#c0c6c9;letter-spacing:1px}.winner-header .close-button{background:#ffffff0c;color:#e7e8e8;border:1px solid #ffffff1a;z-index:5}
.winner-body{position:relative;min-height:450px;padding:8px 30px 12px;text-align:center}
.winner-intro{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:22px;padding:30px;transition:opacity .35s;pointer-events:none}.winner-intro p{font-size:19px;font-weight:500;color:#f2ecd9}.winner-intro strong{font-size:13px;font-weight:400;color:#abb5bd}.winner-intro-orbit{display:block;width:90px;height:90px;border:1px solid #e9d6a244;border-radius:50%;box-shadow:0 0 40px #d8bf7e22,inset 0 0 35px #d8bf7e11;position:relative;animation:prize-orbit 2s linear infinite}.winner-intro-orbit:before{content:'✦';position:absolute;inset:0;display:grid;place-items:center;color:#e7d099;font-size:39px}.winner-intro-orbit:after{content:'';position:absolute;top:-4px;left:40px;width:8px;height:8px;background:#f5dda1;border-radius:50%;box-shadow:0 0 18px #f5dda1}
.winner-reveal{opacity:0;transform:translateY(20px) scale(.94);transition:opacity .4s,transform .65s cubic-bezier(.16,1,.3,1)}.winner-revealed .winner-reveal{opacity:1;transform:none}.winner-revealed .winner-intro{opacity:0;visibility:hidden}
.winner-kicker{font-size:11px;letter-spacing:3px;color:#d4bf8a;font-weight:600;margin:10px 0 8px}.winner-star{font-size:43px;line-height:1.4;color:#ecd59b;text-shadow:0 0 30px #e6c77866;margin-bottom:5px}.winner-congrats{font-size:16px;color:#e1ded2}.winner-name{font-size:34px!important;line-height:1.35;letter-spacing:-1px;color:#fff9e9;margin:10px 0 7px!important;overflow-wrap:anywhere;font-weight:800}.winner-honor{font-size:13px;color:#bfc9cc}.winner-prize{height:120px;max-width:285px;margin:23px auto 20px;position:relative;overflow:hidden;border-radius:10px;border:1px solid #bfc9cc44}.winner-prize img{object-position:center 47%}.winner-prize>span{position:absolute;inset:auto 0 0;background:linear-gradient(transparent,#182027e8);padding:20px 10px 9px;font-size:12px;color:#fff}
.winner-numbers{display:grid;grid-template-columns:repeat(3,1fr);padding:17px 0;border-top:1px solid #ffffff24;border-bottom:1px solid #ffffff24}.winner-numbers>div+div{border-left:1px solid #ffffff24}.winner-numbers span{display:block;font-size:12px;color:#b4c0c6}.winner-numbers b{display:block;font-size:27px;font-weight:600;letter-spacing:-.6px;margin-top:4px;font-variant-numeric:tabular-nums;color:#ede1bd}.winner-time{font-size:12px;color:#a4b1ba;margin:13px 0}.winner-note{font-size:13px;line-height:1.9;color:#c5cdd0;white-space:pre-line}.winner-footer{padding:8px 30px 27px}.winner-done{width:100%;min-height:49px;border:1px solid #cfc6ad;background:#e9e0c9;color:#33352f;font-weight:700;font-size:14px;border-radius:9px;position:relative;z-index:5}.winner-done:hover{background:#f4ecd9}.winner-fireworks{position:absolute;inset:0;pointer-events:none;width:100%;height:100%;z-index:4}.winner-pending .winner-body{min-height:220px;padding-top:40px}.winner-pending .winner-name{font-size:26px!important}.winner-pending .winner-note{margin-top:20px}
.result-replay{display:block;margin:18px auto 0;min-height:44px;padding:8px 18px;border:1px solid #a6b0af;border-radius:8px;color:var(--ink);font-size:14px;background:#fffefa}
@keyframes prize-orbit{to{transform:rotate(360deg)}}
@media(max-width:700px){.winner-header{padding:12px 13px 0 20px}.winner-body{padding:5px 22px 10px;min-height:430px}.winner-footer{padding:7px 22px 23px}.winner-name{font-size:29px!important}.winner-star{font-size:36px}.winner-prize{height:108px;margin:18px auto 16px}.winner-kicker{font-size:10px;letter-spacing:2.4px}.winner-numbers b{font-size:24px}.winner-note{font-size:13px}.winner-time{font-size:12px}.winner-intro p{font-size:17px}}
@media(prefers-reduced-motion:reduce){.winner-intro-orbit{animation:none}.winner-reveal,.winner-intro{transition:none}.winner-fireworks{display:none}}
