/* A full-screen achievement moment, distinct from small trophy hover previews. */
.trophy-pop { position:fixed; inset:0; width:100vw; height:100dvh; max-width:none; max-height:none; margin:0; padding:0; border:0; border-radius:0; overflow:auto; overscroll-behavior:contain; background:radial-gradient(ellipse at 50% 45%,#6c593938 0%,#10241ded 55%,#081610f7 100%); color:var(--club-text); font-family:var(--club-font); animation:celebration-scene-in 400ms ease-out both; }
.trophy-pop::backdrop { background:#08130de8; backdrop-filter:blur(7px); }
.celebration-stage { min-height:100%; width:min(1060px,100%); margin:auto; padding:48px 32px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:34px; text-align:center; box-sizing:border-box; }
.celebration-stage header small { color:#e0ca91; font-size:11px; font-weight:700; letter-spacing:.24em; }
.celebration-stage h1 { margin:14px 0 0; color:#f6f1df; font-size:clamp(36px,5.5vw,68px); font-weight:800; line-height:1.05; letter-spacing:-.05em; text-wrap:balance; }
.trophy-pop-grid { display:flex; justify-content:center; align-items:flex-start; flex-wrap:wrap; gap:28px; width:100%; }
.celebration-award { width:clamp(140px,17vw,190px); max-width:100%; margin:0; display:grid; gap:22px; justify-items:center; animation:celebration-award-in 680ms cubic-bezier(.16,1,.3,1) both; animation-delay:calc(100ms + var(--award-index)*90ms); }
.celebration-art { position:relative; display:grid; place-items:center; width:100%; height:clamp(140px,21vh,205px); }
.celebration-art::after { content:''; position:absolute; bottom:-9px; width:75%; height:12px; border-radius:50%; background:#ddc17d22; filter:blur(9px); }
.celebration-art .award-icon { position:relative; z-index:1; width:100%; height:100%; filter:drop-shadow(0 16px 25px #dcb96430); }
.celebration-art .trophy-photo { filter:drop-shadow(0 7px 8px #0005); }
.celebration-count { position:absolute; z-index:2; bottom:0; right:7px; padding:5px 9px; border:1px solid #ccb67980; border-radius:20px; background:#152b21; color:#f1db9e; font-size:18px; font-weight:700; }
.celebration-award figcaption { color:#ead6a6; font-size:clamp(14px,1.5vw,18px); font-weight:700; line-height:1.3; text-wrap:balance; }
.trophy-pop .career-turn-pop { display:flex; align-items:center; gap:18px; max-width:600px; padding:20px 0 0; border:0; border-top:1px solid #a7c3af33; background:none; text-align:left; }
.trophy-pop .career-turn-pop .career-turn-icon { width:46px; height:46px; flex:none; padding:0; color:var(--turn-accent,var(--club-green)); }
.trophy-pop .career-turn-pop strong { font-size:18px; color:var(--club-text); }
.trophy-pop .career-turn-pop p { margin:5px 0 0; color:#c4d4c9; font-size:14px; line-height:1.6; }
.trophy-pop .is-story-only .career-turn-pop { flex-direction:column; text-align:center; border:0; padding:0; max-width:550px; gap:24px; }
.trophy-pop .is-story-only .career-turn-icon { width:100px; height:100px; animation:celebration-award-in 650ms cubic-bezier(.16,1,.3,1) both; }
.trophy-pop .is-story-only .career-turn-pop p { font-size:17px; }
.trophy-pop.turn-tone-setback { background:radial-gradient(ellipse at 50% 45%,#794b342c,#14221eee 55%,#0c1712f7); }
.trophy-pop.turn-tone-setback header small { color:#d7a790; }
.trophy-pop .career-turn-continue { display:flex; align-items:center; justify-content:space-between; gap:40px; min-width:185px; min-height:48px; margin-top:4px; padding:12px 23px; border:1px solid #cee1b655; border-radius:9px; background:#d7c28f; color:#15271e; font:700 14px var(--club-font); transition:background 160ms,box-shadow 160ms; }
.trophy-pop .career-turn-continue:hover { background:#ebd9ad; box-shadow:0 6px 26px #d7c28f15; }
.trophy-pop .career-turn-continue:focus-visible { outline:2px solid #f0d99f; outline-offset:5px; }
.trophy-pop .career-turn-continue>span { font-size:21px; }
/* New #1 records join the same lasting season moment, not another toast queue. */
.celebration-stage.has-records { gap:22px; padding:28px 32px; }
.has-records h1 { font-size:clamp(34px,4.5vw,54px); margin-top:10px; }
.celebration-record-crown { display:block; color:var(--club-gold); margin:0 auto 10px; }
.celebration-record-crown .ui-art { width:48px; height:48px; stroke-width:1; }
.celebration-record-subtitle { color:var(--club-muted); margin:10px 0 0; font-size:16px; }
.celebration-records { display:flex; flex-wrap:wrap; justify-content:center; width:100%; gap:18px; }
.celebration-record { flex:1 1 270px; max-width:450px; min-width:0; padding:20px 24px; text-align:left; background:linear-gradient(130deg,#d7bd7620,#b7d6bf08); border-top:1px solid #dac28580; border-radius:4px 4px 14px 14px; }
.celebration-record-identity { display:flex; gap:13px; align-items:center; }
.celebration-record-identity>div { min-width:0; flex:1; }
.celebration-record-identity small { color:var(--club-muted); font-size:9px; letter-spacing:.13em; }
.celebration-record-identity h2 { margin:5px 0 0; color:var(--club-text); font-size:17px; line-height:1.3; overflow-wrap:anywhere; }
.celebration-record-emblem { display:grid; place-items:center; flex:none; width:42px; height:46px; color:var(--club-gold); }
.celebration-record-emblem :is(img,.crest,.award-icon,.ui-art) { width:38px; height:42px; max-width:100%; object-fit:contain; }
.celebration-record-emblem .flag { height:24px; }
.celebration-record-rank { font-size:16px; color:var(--club-gold); font-weight:750; }
.celebration-record-score { display:flex; gap:10px; align-items:baseline; margin:14px 0 10px; color:var(--club-text); }
.celebration-record-score strong { font-size:48px; letter-spacing:-.05em; font-variant-numeric:tabular-nums; line-height:1; color:#f1d99d; }
.celebration-record-score>span { font-size:15px; }
.celebration-record p { margin:0; font-size:14px; line-height:1.5; color:var(--club-text); overflow-wrap:anywhere; }
.celebration-record p>span { display:block; margin-top:3px; font-size:11px; color:var(--club-muted); }
.celebration-record-link { display:flex; align-items:center; gap:14px; min-height:44px; margin:16px 0 -6px; padding:6px 0; background:none; border:0; color:var(--club-green); font:600 12px var(--club-font); text-align:left; cursor:pointer; }
.celebration-record-link:hover { color:#e3f6ed; text-decoration:underline; text-underline-offset:4px; }
.celebration-record-link:focus-visible { outline:2px solid var(--club-green); outline-offset:5px; border-radius:3px; }
.has-records .celebration-award { width:110px; gap:10px; }.has-records .celebration-art { height:108px; }.has-records .celebration-award figcaption { font-size:12px; }
@keyframes celebration-scene-in { from { opacity:0; } to { opacity:1; } }
@keyframes celebration-award-in { from { opacity:0; transform:translateY(22px) scale(.74); } to { opacity:1; transform:translateY(0) scale(1); } }
@media(max-width:600px) {
  .celebration-stage.has-records { padding:28px 20px; }
  .celebration-record { flex-basis:100%; padding:20px; }.celebration-record-crown { margin-bottom:10px; }.celebration-record-crown .ui-art { width:44px; height:44px; }.has-records h1 { font-size:34px; }.celebration-record-subtitle { font-size:14px; }
  .celebration-stage { gap:27px; padding:32px 20px; }.celebration-stage header small { font-size:9px; letter-spacing:.16em; }.celebration-stage h1 { font-size:40px; }
  .trophy-pop-grid { gap:24px 14px; }.celebration-award { width:calc(50% - 7px); max-width:155px; gap:13px; }.celebration-art { height:140px; }.celebration-award:only-child { width:190px; max-width:190px; }.celebration-award:only-child .celebration-art { height:220px; }
  .trophy-pop .career-turn-pop { gap:12px; }.trophy-pop .career-turn-pop p { font-size:13px; }.trophy-pop .career-turn-pop strong { font-size:16px; }
}
@media(max-height:650px) and (min-width:601px) { .celebration-stage { gap:22px; padding:24px; }.celebration-stage h1 { font-size:44px; }.celebration-art { height:130px; } }
@media(prefers-reduced-motion:reduce) { .trophy-pop,.celebration-award,.trophy-pop .career-turn-icon { animation:none!important; }.trophy-pop .career-turn-continue { transition:none; } }
