.result-banner.round-result{
 position:absolute;inset:0;top:0;left:0;width:100%;height:100%;padding:0;aspect-ratio:auto;transform:none;filter:none;background:none;z-index:24;overflow:hidden;pointer-events:none;container-type:size;
 --result-opacity:1;--content-opacity:1;--orb-y:0%;--orb-scale:1;--result-shake-x:0px;--result-shake-y:0px;--burst-scale:1;--burst-opacity:0;--result-orb-diameter:min(88cqh,82cqw,640px);
}
.round-result .result-scrim{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 51%,#0716144d 8%,#031018bb 73%);opacity:var(--result-opacity)}
.round-result.lost .result-scrim{background:radial-gradient(ellipse at 50% 52%,#16090830 0%,#050d1988 84%)}
.round-result .result-orb-stage{
 position:absolute;left:50%;top:50%;width:var(--result-orb-diameter);aspect-ratio:1;transform:translate(calc(-50% + var(--result-shake-x)),calc(-50% + var(--orb-y) + var(--result-shake-y))) scale(var(--orb-scale));opacity:var(--result-opacity);
}
.round-result .result-orb-art,.round-result .result-orb-clip{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:contain;user-select:none}
/* Match the smaller orb framing in the supplied exit recording to the idle orb. */
.round-result .result-orb-clip[data-kind="exit"]{transform:scale(1.5);transform-origin:center}
.round-result .result-orb-art{filter:drop-shadow(0 0 2.6cqh #4de88a50) drop-shadow(0 1.2cqh 2.1cqh #0009)}
.round-result .result-energy-burst{position:absolute;inset:14%;border-radius:50%;background:radial-gradient(circle,#ecffe7 0%,#adff6bc9 11%,#5bff67ac 22%,#72ff752e 42%,transparent 70%);transform:scale(var(--burst-scale));opacity:var(--burst-opacity);filter:blur(.5cqh)}
.round-result .result-failure-frame{position:absolute;left:50%;top:50%;width:min(89cqw,132cqh,590px);aspect-ratio:3/2;background:var(--panel-art) center/contain no-repeat;filter:drop-shadow(0 1cqh 3cqh #000b);transform:translate(-50%,-50%) scale(var(--orb-scale));opacity:var(--result-opacity)}
.round-result .result-content{position:absolute;left:50%;top:50%;width:min(44cqh,41cqw,330px);transform:translate(calc(-50% + var(--result-shake-x)),calc(-50% + var(--result-shake-y))) scale(var(--orb-scale));text-align:center;display:flex;flex-direction:column;align-items:center;gap:1.15cqh;opacity:calc(var(--content-opacity) * var(--result-opacity));text-shadow:0 2px 5px #000;pointer-events:none}
.round-result #result-title{margin:0;line-height:1.06;font-size:clamp(15px,4.3cqh,34px);font-weight:900;letter-spacing:.025em;color:#efffd6;white-space:nowrap;animation:none;text-shadow:none;background:linear-gradient(#ffffff 9%,#d4ffaa 42%,#78e654 53%,#e4ffc0 81%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 2px 0 #123214) drop-shadow(0 0 1.1cqh #4eeb4880)}
.round-result .result-total-label{font-size:clamp(8px,1.7cqh,13px);line-height:1.3;letter-spacing:.2em;color:#c4f4a0;font-weight:800;margin-top:1cqh}
.result-banner.round-result #result-amount{max-width:100%;font-size:calc(clamp(26px,8cqh,70px) * var(--payout-fit,1));line-height:1.04;font-weight:900;letter-spacing:-.035em;color:#f3ffd7;white-space:nowrap;text-shadow:0 3px 0 #24541b,0 0 2cqh #62f82e99;animation:none}
.round-result #result-detail{max-width:100%;margin:1.2cqh 0 0;font-size:clamp(9px,1.8cqh,14px);line-height:1.45;color:#b5dcae;letter-spacing:.06em;font-weight:700}
.round-result.lost .result-content{width:min(70cqw,96cqh,410px);gap:1.6cqh;top:50.5%}
.round-result.lost #result-title{font-size:clamp(16px,4.8cqh,37px);color:#ffd3ba;background:linear-gradient(#fff4dc 6%,#ffc0a1 42%,#ee8c68 53%,#ffe6bb 90%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 2px 0 #5c271e) drop-shadow(0 0 .8cqh #bd55374d)}
.round-result .result-flight{display:flex;flex-direction:column;gap:.5cqh;align-items:center;margin-top:.7cqh}
.round-result .result-flight-number{font-size:clamp(26px,7cqh,52px);font-weight:800;line-height:1;color:#eaf4f9}
.round-result .result-flight-label{font-size:clamp(7px,1.5cqh,11px);font-weight:700;letter-spacing:.16em;color:#89b8ce}
.round-result.lost #result-detail{font-size:clamp(10px,2cqh,15px);letter-spacing:.015em;line-height:1.4;color:#c5d9e3;margin-top:1.1cqh;font-weight:500}
.round-result .result-kicker{display:none!important}
.round-result.wormhole-win{filter:none}
@container(max-width:460px){
 .round-result :is(.result-orb-stage,.result-content){--result-orb-diameter:min(96cqh,88cqw,640px)}
 .round-result .result-content{width:41cqw;gap:1.2cqw}
 .round-result #result-title{font-size:3.8cqw}
 .result-banner.round-result #result-amount{font-size:calc(8.1cqw * var(--payout-fit,1))}
 .round-result .result-total-label{font-size:2.4cqw;margin-top:1.2cqw}
 .round-result #result-detail{font-size:2.3cqw;margin-top:1.1cqw;letter-spacing:.025em}
 .round-result.lost .result-content{width:67cqw;gap:2cqw}
 .round-result.lost #result-title{font-size:4.7cqw}
 .round-result .result-flight-number{font-size:8cqw}
 .round-result .result-flight-label{font-size:2.1cqw}
 .round-result.lost #result-detail{font-size:2.8cqw;margin-top:1.6cqw}
}

/* The mobile orb is constrained by both arena dimensions. Its inner display,
   rather than the surrounding arena, is the typography's sizing container. */
@media(max-aspect-ratio:1/1),(max-width:1100px) and (max-height:600px){
 .round-result:not(.lost) .result-content{width:calc(var(--result-orb-diameter) * .48);container-type:inline-size;gap:calc(var(--result-orb-diameter) * .012);-webkit-text-size-adjust:100%;text-size-adjust:100%}
 .round-result:not(.lost) #result-title{max-width:100%;font-size:8.5cqw;line-height:1.08;letter-spacing:.015em;filter:drop-shadow(0 1px 0 #123214) drop-shadow(0 0 3px #4eeb4866)}
 .round-result:not(.lost) .result-total-label{font-size:4.8cqw;line-height:1.25;letter-spacing:.14em;margin-top:2cqw}
 .result-banner.round-result:not(.lost) #result-amount{font-size:calc(23cqw * var(--payout-fit,1));line-height:1.04;text-shadow:0 2px 0 #24541b,0 0 7px #62f82e77}
 .round-result:not(.lost) #result-detail{font-size:4.8cqw;line-height:1.35;letter-spacing:.015em;margin-top:2cqw;overflow-wrap:anywhere}
}

/* Keep both decoded loop surfaces ready for an atomic opacity handoff. */
.round-result .result-orb-clip[data-buffered-loop="true"]{will-change:opacity;transition:none}

/* Soft green light sits outside the cleaned alpha edge; tiny motes drift away
   from the orb silhouette and decay before they can obscure live win text. */
.round-result .result-edge-energy{position:absolute;inset:0;z-index:2;pointer-events:none;contain:layout style;transition:none}
.round-result .result-edge-halo{position:absolute;inset:-3%;border-radius:50%;background:radial-gradient(ellipse at center,transparent 60%,#56ff8b00 63%,#63ff9a16 66%,#67ffa52b 68%,#43e78315 71%,transparent 75%);filter:blur(3px);mix-blend-mode:screen;animation:result-edge-breathe 3.4s ease-in-out infinite}
.round-result .result-edge-particles{position:absolute;inset:0;overflow:visible}
.round-result .result-edge-mote{position:absolute;left:var(--mote-x);top:var(--mote-y);width:var(--mote-size);height:var(--mote-size);border-radius:50%;background:#e1ffcf;box-shadow:0 0 4px 1px #82ffacb0,0 0 10px 2px #29ed7350;opacity:0;animation:result-edge-drift var(--mote-life) linear var(--mote-delay) infinite;will-change:transform,opacity}
.round-result .result-edge-mote:nth-child(4n){background:#82ffbd;box-shadow:0 0 7px 2px #56f59360;filter:blur(.65px)}
.round-result .result-edge-energy[data-paused="true"] .result-edge-mote,.round-result .result-edge-energy[data-paused="true"] .result-edge-halo{animation-play-state:paused}
.round-result .result-edge-energy[hidden]{display:none}
.round-result .result-edge-energy[data-reduced="true"] .result-edge-particles{display:none}
.round-result .result-edge-energy[data-reduced="true"] .result-edge-halo{animation:none;opacity:.45}
@keyframes result-edge-drift{0%{opacity:0;transform:translate(-50%,-50%) scale(.4)}15%{opacity:.65}55%{opacity:.32}100%{opacity:0;transform:translate(calc(-50% + var(--mote-dx)),calc(-50% + var(--mote-dy))) scale(.18)}}
@keyframes result-edge-breathe{0%,100%{opacity:.45;transform:scale(.995)}50%{opacity:.75;transform:scale(1.012)}}
@media(prefers-reduced-motion:reduce){.round-result .result-edge-mote{animation:none;display:none}.round-result .result-edge-halo{animation:none;opacity:.45}}
