.victory-open{overflow:hidden}
dialog.dragon-victory{position:fixed;inset:0;width:100%;height:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;overflow:hidden;color:#fff0cc;background:radial-gradient(ellipse at 50% 25%,#84452880,transparent 50%),radial-gradient(ellipse at 50% 70%,#48236c,#13091f 70%);box-shadow:inset 0 0 100px #0008}
.dragon-victory::backdrop{background:#12091ff0}.dragon-victory[open]{display:flex;align-items:center;justify-content:center;isolation:isolate}
.victory-halo{position:absolute;width:max(90vw,90vh);aspect-ratio:1;border-radius:50%;background:repeating-conic-gradient(from 0deg,#ffd48412 0deg 7deg,transparent 7deg 20deg);mask-image:radial-gradient(circle,transparent 12%,#000 35%,transparent 70%);animation:victory-turn 45s linear infinite;pointer-events:none}
.victory-dragon{position:absolute;top:6%;width:min(43vw,600px);aspect-ratio:1;pointer-events:none;z-index:1;filter:drop-shadow(0 0 25px #b489ff80)}.victory-left{left:-3%}.victory-right{right:-3%;transform:scaleX(-1)}
.victory-sprite{width:100%;height:100%;background:url('assets/dragon-reactions.webp') 50% 0/300% 100% no-repeat;animation:victory-roar 1.7s ease-in-out infinite;transform-origin:50% 85%}
.victory-fire{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none}
.victory-copy{position:relative;z-index:3;text-align:center;width:min(92%,850px);padding:15px 0;margin-top:12vh;text-shadow:0 3px 20px #100414;animation:victory-arrive .7s cubic-bezier(.15,.8,.25,1)}
.victory-eyebrow{font-size:clamp(9px,1.1vw,14px);letter-spacing:5px;color:#eaca93;margin:0 0 18px}.victory-copy h2{font:900 clamp(50px,9vw,126px)/.88 Georgia,serif;letter-spacing:-3px;margin:0;color:#fff1bd;text-shadow:0 3px 0 #976135,0 0 35px #ff9e4070}.victory-copy h2 em{font-style:normal;color:#ffce65}
.victory-total{margin:26px auto 12px;display:flex;flex-direction:column;align-items:center}.victory-total b{font:800 clamp(38px,7vw,90px)/1.1 Georgia,serif;font-variant-numeric:tabular-nums;color:#fff8df;letter-spacing:-1px;text-shadow:0 0 30px #ffbc5190}.victory-total span{font-size:10px;letter-spacing:5px;color:#d8b5e7;margin-top:10px}
.victory-summary{font-size:clamp(12px,1.3vw,17px);color:#f1d9fa;margin:18px 0 24px}.victory-continue{cursor:pointer;min-height:48px;padding:14px 30px;border:1px solid #ffe6a6;border-radius:8px;background:linear-gradient(#ffe6a0,#e9ab4e);color:#32152d;font-size:15px;font-weight:800;box-shadow:0 8px 45px #ffb44230}.victory-continue span{margin-left:24px}.victory-copy>small{display:block;font-size:10px;color:#bf9fc9;margin-top:13px}.victory-close{position:absolute;right:max(18px,env(safe-area-inset-right));top:max(18px,env(safe-area-inset-top));z-index:5;width:44px;height:44px;min-width:44px;cursor:pointer;border:1px solid #e0bc7e77;border-radius:50%;background:#1b0b28bb;color:#ffe6b1;font:28px/1 sans-serif}.victory-close:focus-visible,.victory-continue:focus-visible{outline:3px solid #fff;outline-offset:4px}
@keyframes victory-turn{to{transform:rotate(360deg)}}@keyframes victory-roar{50%{transform:translateY(-5px) rotate(-1deg) scale(1.025)}}@keyframes victory-arrive{from{opacity:0;transform:scale(.8) translateY(30px)}to{opacity:1;transform:none}}
.victory-paused *{animation-play-state:paused!important}.reduced .dragon-victory *{animation:none!important}.reduced .victory-fire{display:none}
@media(max-width:620px){.victory-dragon{width:66vw;top:9%}.victory-left{left:-18%}.victory-right{right:-18%}.victory-copy{margin-top:17vh}.victory-copy h2{font-size:clamp(52px,17vw,94px);letter-spacing:-2px}.victory-total{margin-top:22px}.victory-total b{font-size:clamp(35px,12vw,66px)}.victory-eyebrow{letter-spacing:2px;font-size:8px;margin-bottom:16px}.victory-summary{font-size:12px;padding:0 14px}.victory-continue{font-size:13px}.victory-total span{font-size:8px;letter-spacing:3px}}
@media(max-height:620px){.victory-dragon{width:40vh;top:0}.victory-copy{margin-top:0}.victory-copy h2{font-size:clamp(32px,10vh,64px)}.victory-eyebrow{margin:0 0 10px}.victory-total{margin:12px auto 6px}.victory-total b{font-size:clamp(30px,8vh,50px)}.victory-summary{margin:10px}.victory-copy>small{margin-top:6px}.victory-continue{padding:10px 20px}}
.rewind-banner{position:absolute;inset:38% 6% auto;z-index:2;padding:17px 10px;background:#102e3de8;border:1px solid #7cf2ff;border-radius:12px;text-align:center;pointer-events:none;box-shadow:0 0 35px #5bdfff44}.rewind-banner strong{display:block;color:#bdffff;font:700 clamp(18px,3vw,30px) Georgia,serif}.rewind-banner span{display:block;margin-top:7px;color:#c2e4eb;font-size:10px}.rewind-banner[hidden]{display:none}

/* Make the collected tokens the centerpiece on every round result. */
.victory-total b{font-size:clamp(58px,11vw,150px)}
.dragon-victory[data-prize="false"] .victory-copy h2{font-size:clamp(40px,6vw,80px)}
@media(max-width:620px){.victory-total b{font-size:clamp(42px,14vw,76px)}.dragon-victory[data-prize="false"] .victory-copy h2{font-size:clamp(40px,14vw,64px)}}
@media(max-height:620px){.victory-total b{font-size:clamp(34px,10vh,65px)}.dragon-victory[data-prize="false"] .victory-copy h2{font-size:clamp(30px,8vh,48px)}}

.victory-continue{display:block;width:min(440px,90%);min-height:92px;margin:0 auto;padding:20px 24px;border:2px solid #fff0b8;border-radius:18px;font-size:clamp(24px,4vw,38px);font-weight:900;letter-spacing:1px;box-shadow:0 0 35px #ffb44270,inset 0 2px 0 #fff6cf;animation:replay-heartbeat 1.6s ease-in-out infinite;transform-origin:center}
.victory-continue span{margin-left:14px}.replay-note{font-size:12px;color:#ffe4a4;margin:15px auto 0;max-width:90%;line-height:1.4}
@keyframes replay-heartbeat{0%,100%{transform:scale(1);box-shadow:0 0 30px #ffb44255}45%{transform:scale(1.055);box-shadow:0 0 65px #ffb442aa}60%{transform:scale(1.025)}75%{transform:scale(1.045)}}
@media(max-width:620px){.victory-continue{min-height:78px;font-size:27px}.replay-note{font-size:10px}}
@media(max-height:620px){.victory-continue{min-height:60px;padding:12px 20px;font-size:24px}.replay-note{margin-top:10px}.victory-copy{padding:8px 0}}
@media(prefers-reduced-motion:reduce){.victory-continue{animation:none}}

/* Round accounting stays readable and exact from the first frame. */
dialog.dragon-victory{overflow-y:auto}.dragon-victory[open]{align-items:flex-start}.victory-copy{margin:clamp(55px,12vh,130px) auto 24px;width:min(92%,700px)}
.victory-copy h2,.dragon-victory[data-prize="false"] .victory-copy h2{font-size:clamp(38px,7vw,80px);line-height:.98}
.victory-ledger{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:22px auto 14px;max-width:520px;text-shadow:none}.victory-ledger>div{padding:14px 10px;border:1px solid #bf946b66;border-radius:12px;background:#180d24e8}.victory-ledger dt{font:700 10px/1.4 system-ui;letter-spacing:1.6px;color:#e6c8a5}.victory-ledger dd{margin:7px 0 0;font:800 clamp(27px,5vw,44px)/1.1 Georgia,serif;font-variant-numeric:tabular-nums;color:#fff2d0}.victory-ledger .victory-net{grid-column:1/-1;padding:12px}.victory-net dd{font-size:clamp(42px,7vw,70px)}
[data-outcome="profit"] .victory-net{border-color:#a9edb5}[data-outcome="profit"] .victory-net dd{color:#b6f9c5}[data-outcome="loss"] .victory-net{border-color:#e5a6ba}[data-outcome="loss"] .victory-net dd{color:#ffc3d2}
.victory-summary{margin:12px auto 18px;max-width:500px;line-height:1.45}.victory-setup{display:block;width:min(440px,90%);min-height:48px;margin:12px auto 0;border:1px solid #dac2ed;border-radius:12px;background:#30203e;color:#fff0dc;font:700 17px system-ui;cursor:pointer}.victory-setup:focus-visible{outline:3px solid white;outline-offset:4px}.victory-continue:disabled{animation:none;opacity:.5;cursor:not-allowed}.victory-continue{min-height:72px;padding:15px 20px}.replay-note{max-width:420px;font-size:11px;margin:12px auto 0;padding:0 12px}
[data-outcome="loss"][data-prize="false"] .victory-halo,[data-outcome="even"][data-prize="false"] .victory-halo{opacity:.3;animation:none}
[data-outcome="loss"][data-prize="false"] .victory-sprite,[data-outcome="even"][data-prize="false"] .victory-sprite{animation:none;background-position:0 0}
@media(max-width:620px){.victory-copy{margin-top:90px}.victory-dragon{top:0}.victory-copy h2,.dragon-victory[data-prize="false"] .victory-copy h2{font-size:42px}.victory-ledger{margin-top:18px}.victory-ledger dd{font-size:30px}.victory-net dd{font-size:48px}.victory-continue{font-size:27px}.victory-eyebrow{margin-bottom:12px}}
@media(max-height:660px){.victory-copy{margin-top:48px;padding:8px 0}.victory-copy h2,.dragon-victory[data-prize="false"] .victory-copy h2{font-size:32px}.victory-ledger{margin:12px auto 8px;gap:6px}.victory-ledger>div{padding:8px}.victory-ledger dd{font-size:26px;margin-top:4px}.victory-net dd{font-size:38px}.victory-ledger .victory-net{padding:8px}.victory-summary{margin:8px auto 12px;font-size:11px}.victory-continue{min-height:54px;padding:10px}.victory-setup{min-height:44px;font-size:15px}.replay-note{font-size:10px;margin-top:9px}.victory-eyebrow{margin-bottom:8px}}

.victory-effects{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:0}dialog.dragon-victory{overflow-x:hidden}.victory-copy{flex-shrink:0}
