/* The original green playfield remains until the actual final tray clear has settled. */
#screen-game.victory-departing { opacity:0; transition:opacity .65s ease-out; pointer-events:none; }
.victory-scene[hidden] { display:none; }
.victory-scene { position:absolute; inset:0; overflow:hidden; z-index:90; color:#113b57; isolation:isolate; }
.victory-background { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; pointer-events:none; animation:victory-blue 1.5s ease-in-out both; }
.victory-canvas { position:absolute; left:50%; top:50%; width:min(100%,46.15385dvh); aspect-ratio:852/1846; transform:translate(-50%,-50%); pointer-events:none; }
.victory-layer { position:absolute; object-fit:contain; }
.victory-hero { transform-origin:50% 92%; animation:victory-hero-in 1.1s .5s cubic-bezier(.18,.8,.25,1) both; }
.victory-title,.victory-cloud-left,.victory-cloud-right { animation:victory-detail-in .7s .4s ease-out both; }
.victory-cloud-left { --cloud-drift:9px; }
.victory-cloud-right { --cloud-drift:-8px; }
.victory-scene[data-phase="ready"] .victory-cloud-left,.victory-scene[data-phase="ready"] .victory-cloud-right { animation:victory-cloud-drift 7s ease-in-out infinite alternate; }
.victory-copy { position:absolute; top:17.5%; left:6%; right:6%; text-align:center; animation:victory-copy-in .7s .65s ease-out both; }
.victory-kicker { display:inline-block; margin:0 0 11px; padding:5px 16px; border:1px solid #527a7d; border-radius:99px; background:#fff7ce; font-size:12px; font-weight:700; letter-spacing:4px; }
.victory-copy .victory-title { display:block; margin:0; font-size:clamp(27px,8.6vw,37px); line-height:1.25; letter-spacing:2px; font-weight:900; animation:none; color:#15384c; text-shadow:0 2px 0 #d0edf7; }
.victory-subtitle { margin:12px 0 0; font-size:12px; letter-spacing:1px; }
.victory-footer { position:absolute; top:74%; left:8%; right:8%; text-align:center; animation:victory-copy-in .7s .95s ease-out both; }
.victory-stats { margin:0 0 18px; font-size:12px; font-variant-numeric:tabular-nums; }
.victory-actions { display:flex; justify-content:center; gap:10px; }
.victory-button { appearance:none; cursor:pointer; min-height:48px; padding:10px 12px; border:2px solid #335365; border-radius:15px; background:#f8f8e7; box-shadow:0 3px 0 #335365; color:#21495e; font:700 14px/1.4 system-ui,sans-serif; touch-action:manipulation; }
.victory-actions .victory-button { flex:1; max-width:210px; }
.victory-share { background:#ffdf78; }
.victory-button:active { transform:translateY(2px); box-shadow:0 1px 0 #335365; }
.victory-button:focus-visible,.victory-skip:focus-visible { outline:3px solid #fffdf0; outline-offset:4px; }
.victory-button:disabled { cursor:default; }
.victory-home { position:absolute; right:16px; top:calc(12px + env(safe-area-inset-top,0px)); min-height:44px; min-width:64px; padding:9px 10px; border-width:1px; border-radius:13px; background:#eff7efcf; box-shadow:0 2px 0 #527a7d; font-size:12px; animation:victory-copy-in .5s .7s both; }
.victory-report { min-height:2.8em; margin:15px 0 0; color:#295b6d; font-size:10px; line-height:1.6; }
.victory-skip { position:absolute; right:14px; bottom:calc(9px + env(safe-area-inset-bottom,0px)); min-height:44px; padding:8px 10px; border:0; border-radius:10px; color:#21495e; background:#f7f9e5b8; font:12px system-ui,sans-serif; cursor:pointer; }
.victory-scene[data-phase="ready"] .victory-background,.victory-scene[data-phase="ready"] .victory-hero,.victory-scene[data-phase="ready"] .victory-title,.victory-scene[data-phase="ready"] .victory-copy,.victory-scene[data-phase="ready"] .victory-footer,.victory-scene[data-phase="ready"] .victory-home { animation:none; opacity:1; transform:none; }
@keyframes victory-blue { from{opacity:0}to{opacity:1} }
@keyframes victory-hero-in { from{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:none} }
@keyframes victory-detail-in { from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none} }
@keyframes victory-copy-in { from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none} }
@keyframes victory-cloud-drift { from{transform:translateX(0)}to{transform:translateX(var(--cloud-drift))} }
@media(max-height:650px) {
  .victory-copy { top:15.5%; }
  .victory-kicker { margin-bottom:7px; font-size:10px; padding:4px 12px; }
  .victory-copy .victory-title { font-size:28px; }
  .victory-subtitle { margin-top:7px; font-size:11px; }
  .victory-footer { top:73%; left:6%; right:6%; }
  .victory-stats { margin-bottom:10px; font-size:10px; }
  .victory-button { min-height:44px; padding:8px; font-size:12px; }
  .victory-report { margin-top:10px; font-size:9px; }
}
@media(prefers-reduced-motion:reduce) {
  #screen-game.victory-departing { transition:none; }
  .victory-scene .victory-background,.victory-scene .victory-layer,.victory-scene .victory-copy,.victory-scene .victory-footer,.victory-scene .victory-home { animation:none!important; transform:none; opacity:1; }
}
