/* A separate overall ceremony, in Rift Run's own house colours and existing art. */
.expedition-ceremony {--reveal:var(--ceremony-reveal,0);--moon:#68baff;--dawn:#f1966f;--win:var(--moon);--light:#d9f2ff;position:fixed;inset:0;box-sizing:border-box;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:28px 30px 110px;border:0;color:#fff0ce;overflow:auto;background:radial-gradient(ellipse at 50% 42%,#1f425c66,transparent 60%),linear-gradient(#06151ce8,#07141af7),url('../media/race-v2/grove-clean.png') center/cover;}
.expedition-ceremony[hidden] {display:none;}
.expedition-ceremony::backdrop {background:#030b12ee;}
.expedition-ceremony[data-winner='B'] {--win:var(--dawn);--light:#ffdec5;}
.expedition-ceremony[data-winner='draw'] {--win:#e6c986;--light:#fff0bc;}
.expedition-rays {position:absolute;inset:0;pointer-events:none;overflow:hidden;opacity:calc(.18 + var(--reveal)*.2);background:repeating-conic-gradient(from calc(var(--ceremony-progress,0)*14deg) at 50% 45%,color-mix(in srgb,var(--light) 12%,transparent) 0 4deg,transparent 4deg 18deg);mask:radial-gradient(ellipse at 50% 45%,#000,transparent 65%);}
.expedition-podium {position:relative;min-height:calc(100dvh - 138px);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;isolation:isolate;}
.expedition-winner-crests {position:relative;width:min(1050px,100%);height:clamp(110px,22vh,230px);flex:none;}
.expedition-winner-crests > img {position:absolute;left:50%;top:50%;width:clamp(95px,15vh,175px);height:clamp(110px,19vh,210px);object-fit:contain;filter:drop-shadow(0 0 24px var(--win));transform:translate(-50%,-50%);z-index:2;}
#expeditionWinnerCrestA {translate:calc(-28vw + var(--reveal)*28vw) 0;scale:calc(1 + var(--reveal)*.3);}
#expeditionWinnerCrestB {translate:calc(28vw - var(--reveal)*28vw) 0;scale:calc(1 + var(--reveal)*.3);}
.expedition-ceremony[data-winner='A'] #expeditionWinnerCrestB {translate:calc(28vw + var(--reveal)*16vw) 0;scale:calc(1 - var(--reveal)*.6);opacity:calc(1 - var(--reveal));}
.expedition-ceremony[data-winner='B'] #expeditionWinnerCrestA {translate:calc(-28vw - var(--reveal)*16vw) 0;scale:calc(1 - var(--reveal)*.6);opacity:calc(1 - var(--reveal));}
.expedition-ceremony[data-winner='draw'] #expeditionWinnerCrestA {translate:calc(-28vw + var(--reveal)*17vw) 0;scale:1;}
.expedition-ceremony[data-winner='draw'] #expeditionWinnerCrestB {translate:calc(28vw - var(--reveal)*17vw) 0;scale:1;}
#expeditionSharedRune {position:absolute;top:50%;left:50%;translate:-50% -50%;font-size:clamp(30px,6vh,70px);color:#f6dda1;text-shadow:0 0 30px #e6c986;opacity:var(--reveal);}
.expedition-force {position:absolute;left:0;right:0;top:35%;height:30%;opacity:calc(1 - var(--reveal)*.85);filter:drop-shadow(0 0 20px #b5d6ff55);}
.expedition-force-a,.expedition-force-b {position:absolute;top:20%;height:60%;border-radius:50%;filter:blur(2px);}
.expedition-force-a {left:0;width:var(--force-border,50%);background:linear-gradient(90deg,transparent,#256bd566 25%,#75ceff 98%,#fff);box-shadow:0 0 24px #68baff88,inset 0 3px 8px #e7f7ff;}
.expedition-force-b {right:0;width:calc(100% - var(--force-border,50%));background:linear-gradient(270deg,transparent,#ac3c2666 25%,#ffb073 98%,#fff);box-shadow:0 0 24px #f1966f88,inset 0 3px 8px #fff1d5;}
.expedition-force-front {position:absolute;left:var(--force-border,50%);top:-45%;width:3px;height:190%;translate:-50% 0;background:#fff0c5;box-shadow:0 0 18px 7px #ffe9b188;mask:linear-gradient(transparent,#000,transparent);}
.expedition-winner-heroes {display:flex;justify-content:center;gap:clamp(12px,3vw,60px);margin-top:12px;opacity:var(--reveal);translate:0 calc((1 - var(--reveal))*50px);}
.expedition-winner-hero {position:relative;width:min(34vh,80vw,360px);height:min(40vh,430px);flex:none;background:radial-gradient(ellipse at 50% 86%,color-mix(in srgb,var(--win) 28%,transparent),transparent 65%);}
.expedition-winner-hero > div,.expedition-winner-hero > img {position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background-repeat:no-repeat;filter:drop-shadow(0 0 16px color-mix(in srgb,var(--win) 60%,transparent));}
#expeditionCeremonyTitle {margin:16px 0 0;font:500 clamp(30px,4vw,64px)/1.1 Georgia,serif;color:#fff0ce;text-shadow:0 0 28px color-mix(in srgb,var(--win) 65%,transparent);opacity:var(--reveal);text-wrap:balance;}
.expedition-teacher-details {margin:10px 0 0;max-width:560px;color:#bdc9c6;font:400 13px/1.5 system-ui;}
.expedition-teacher-details summary {cursor:pointer;padding:8px 12px;min-height:20px;}
.expedition-teacher-details[open] {padding:0 12px 10px;background:#07161cd9;border:1px solid #b6a47755;border-radius:8px;}
.expedition-teacher-details summary:focus-visible {outline:3px solid #ffebb0;outline-offset:3px;}
.expedition-winner-score {margin:8px 0 0;color:#bdc9c6;font:400 clamp(12px,.95vw,16px)/1.5 system-ui;opacity:var(--reveal);}
.expedition-ceremony-actions {position:fixed;bottom:24px;left:16px;right:16px;display:flex;justify-content:center;gap:14px;z-index:3;}
.expedition-ceremony-actions button {min-height:48px;padding:10px 24px;border:1px solid #b6a47777;border-radius:999px;background:#102833e8;color:#efdfba;font:600 15px system-ui;cursor:pointer;}
#skipExpeditionCeremony {background:#e3c688;color:#14252c;border-color:#f7e3b6;}
.expedition-ceremony-actions button:focus-visible {outline:3px solid #ffebb0;outline-offset:4px;}
.expedition-sparks {position:absolute;inset:0;overflow:hidden;pointer-events:none;}
.expedition-sparks i {position:absolute;bottom:-2%;left:var(--x);width:6px;height:6px;border-radius:50%;background:var(--light);box-shadow:0 0 12px 3px var(--win);animation:expedition-spark 5s ease-out var(--delay) both;}
@keyframes expedition-spark {0%{translate:0 0;opacity:0}12%{opacity:.9}100%{translate:20px -90vh;opacity:0}}
.expedition-ceremony[data-paused='true'] .expedition-sparks i {animation-play-state:paused;}
.expedition-ceremony[data-motion='reduced'] .expedition-rays,.expedition-ceremony[data-motion='reduced'] .expedition-sparks,.expedition-ceremony[data-motion='reduced'] .expedition-force {display:none;}
@media(max-height:650px){.expedition-ceremony {padding:12px 16px 78px;}.expedition-podium {min-height:calc(100dvh - 90px);}.expedition-winner-crests {height:120px;}.expedition-winner-crests > img {width:90px;height:110px;}.expedition-winner-hero {width:min(30vh,80vw);height:32vh;}.expedition-ceremony-actions {bottom:12px;}#expeditionCeremonyTitle {font-size:30px;}}
@media(prefers-reduced-motion:reduce){.expedition-rays,.expedition-sparks,.expedition-force {display:none!important;}}

/* Full head-to-toe celebration art; live race sprites keep their existing playback. */
.ranger-portrait {box-sizing:border-box;object-fit:contain;object-position:50% 100%;padding:6px 10px 10px;}
#victoryPortraitB,#finalPortraitB,#expeditionWinnerPortraitB {transform:scaleX(-1);}
.expedition-ceremony[data-winner='draw'] .expedition-winner-hero {width:min(34vh,40vw,360px);}
.victory-crest {width:min(18vh,180px);}
.victory-heroes {margin-top:12px;}
.victory-name {margin:16px 0 0;}
.victory-hero {width:min(36vh,80vw,360px);height:min(44vh,460px);}
.victory-moment[data-winner='draw'] .victory-hero {width:min(40vw,36vh,360px);}

/* Results stay available to the teacher without covering the painted winner. */
#phaseOverlay[data-phase='final'] :is(#phaseEyebrow,#phaseDetails) {display:none;}
#phaseOverlay[data-phase='final'] .phase-card {max-height:94vh;overflow:auto;}
.final-heroes {height:min(32vh,300px);margin:0 auto 20px;}
.final-hero {width:min(25vh,36vw,235px);height:min(32vh,300px);}
.round-teacher-details {margin:12px auto;color:#c8d0cc;font:400 14px/1.5 system-ui;}
.round-teacher-details > summary {padding:10px;cursor:pointer;min-height:24px;}
.round-teacher-details[open] {padding:0 14px 14px;background:#07161cee;border:1px solid #b6a47755;border-radius:10px;}
.round-teacher-details > summary:focus-visible {outline:3px solid #ffebb0;outline-offset:3px;}
#roundTeacherMeta {font:400 13px/1.5 system-ui;color:#bfc9c9;}

/* A quiet stand light anchors the complete boots without masking any artwork. */
.expedition-winner-hero,.victory-hero,.final-hero {background:none;isolation:isolate;}
.expedition-winner-hero::before,.victory-hero::before,.final-hero::before {content:'';position:absolute;left:22%;right:22%;bottom:12px;height:14px;border-radius:50%;background:radial-gradient(ellipse,#030a12aa,color-mix(in srgb,var(--win,#94b6c5) 22%,transparent) 45%,transparent 72%);filter:blur(2px);z-index:-1;}
/* V5: central house clash, then a complete ranger on the winner's own sanctuary. */
.expedition-ceremony {padding:0;background:linear-gradient(#04101a22,#04101a55),url('../media/victory-art-v5/rift-moonward-sanctuary-v5.webp') center/cover;overflow:auto;}
.expedition-ceremony[data-winner='B'] {background-image:linear-gradient(#1c0d0622,#140b1244),url('../media/victory-art-v5/rift-dawnfire-sanctuary-v5.webp');}
.expedition-ceremony[data-winner='draw'] {background-image:linear-gradient(90deg,#071d34bb,#0a18214d 50%,#4e241d77),url('../media/victory-art-v5/rift-moonward-sanctuary-v5.webp');}
.expedition-podium {min-height:0;height:calc(100dvh - 110px);margin:20px 4vw 90px;display:block;}
#expeditionCeremonyTitle {position:absolute;left:0;right:0;top:0;margin:0;font-size:clamp(36px,5vw,82px);line-height:1.05;z-index:4;}
.expedition-winner-crests {position:absolute;inset:0;width:100%;height:100%;}
.expedition-winner-crests>img {top:50%;left:25%;width:clamp(190px,34vh,400px);height:clamp(220px,40vh,460px);scale:1;filter:drop-shadow(0 0 45px var(--moon));}
#expeditionWinnerCrestB {left:75%;filter:drop-shadow(0 0 45px var(--dawn));}
#expeditionWinnerCrestA,#expeditionWinnerCrestB {translate:0 0;scale:calc(1 + var(--reveal)*.02);}
.expedition-ceremony[data-winner='A'] #expeditionWinnerCrestA {translate:calc(var(--reveal)*5vw) 0;}
.expedition-ceremony[data-winner='B'] #expeditionWinnerCrestB {translate:calc(var(--reveal)*-45vw) 0;}
.expedition-ceremony[data-winner='A'] #expeditionWinnerCrestB {translate:calc(var(--reveal)*22vw) 0;opacity:calc(1 - var(--reveal));}
.expedition-ceremony[data-winner='B'] #expeditionWinnerCrestA {translate:calc(var(--reveal)*-22vw) 0;opacity:calc(1 - var(--reveal));}
.expedition-ceremony[data-winner='draw'] #expeditionWinnerCrestA {left:15%;translate:0 0;scale:calc(1 - var(--reveal)*.33);}
.expedition-ceremony[data-winner='draw'] #expeditionWinnerCrestB {left:85%;translate:0 0;scale:calc(1 - var(--reveal)*.33);}
.expedition-winner-heroes {position:absolute;left:59%;bottom:62px;translate:calc(-50% + (1 - var(--reveal))*35px) 0;margin:0;height:min(66vh,760px);align-items:flex-end;}
.expedition-winner-hero {width:min(48vh,47vw,600px);height:min(66vh,760px);}
.expedition-ceremony[data-winner='draw'] .expedition-winner-heroes {left:50%;gap:10px;}
.expedition-ceremony[data-winner='draw'] .expedition-winner-hero {width:min(36vh,34vw,480px);height:min(62vh,720px);}
.expedition-relic {position:absolute;top:49%;left:50%;width:min(52vh,46vw,610px);height:min(52vh,46vw,610px);object-fit:contain;translate:-50% -50%;opacity:calc(.9 - var(--reveal)*.75);filter:drop-shadow(0 0 35px #d4c98b55);pointer-events:none;}
.expedition-ceremony[data-winner='draw'] .expedition-relic {opacity:calc(.9 - var(--reveal)*.4);}
#expeditionSharedRune {display:none;}
.expedition-force {top:30%;height:40%;opacity:calc(.95 - var(--reveal)*.93);filter:drop-shadow(0 0 35px #d6e9ff99);}
.expedition-force-a,.expedition-force-b {top:0;height:100%;border-radius:0;filter:blur(3px);mask-image:linear-gradient(transparent,#000 20% 75%,transparent);}
.expedition-force-a {background:radial-gradient(ellipse at 100% 60%,#fff 0,#b8efffcc 7%,#52bff388 25%,transparent 64%),repeating-conic-gradient(from 12deg at 100% 50%,#a3dfff66 0deg 3deg,transparent 3deg 14deg),linear-gradient(90deg,transparent,#236aaf55,#a6e2ffe6);}
.expedition-force-b {background:radial-gradient(ellipse at 0% 40%,#fff 0,#ffe2b9cc 7%,#f5a24b88 25%,transparent 64%),repeating-conic-gradient(from 9deg at 0% 50%,#ffc98066 0deg 3deg,transparent 3deg 14deg),linear-gradient(270deg,transparent,#b3482555,#ffc78ee6);}
.expedition-force-front {top:-20%;height:140%;width:clamp(18px,3vw,50px);clip-path:polygon(40% 0,65% 12%,30% 22%,72% 35%,35% 47%,65% 58%,25% 70%,70% 84%,40% 100%,25% 82%,40% 68%,12% 55%,30% 42%,8% 28%,40% 15%);background:#fff5d5;}
.expedition-teacher-details {position:absolute;bottom:0;left:50%;translate:-50% 0;margin:0;z-index:5;opacity:var(--reveal);min-width:180px;}
.expedition-teacher-details[open] {width:min(540px,80vw);}
.expedition-ceremony-actions {bottom:20px;}
.expedition-ceremony[data-phase='award'] .expedition-winner-crests,.expedition-ceremony[data-phase='award'] .expedition-winner-heroes {display:none;}
.expedition-ceremony[data-phase='award'] .expedition-relic {opacity:.14;}
.expedition-squad-award {position:absolute;left:0;right:0;top:16%;bottom:10%;display:flex;align-items:center;justify-content:center;gap:4vw;}
.expedition-squad-award[hidden] {display:none;}
.expedition-award-card {width:min(44vw,540px);min-width:0;}
.award-badge {display:block;margin:auto;width:min(37vh,34vw);height:min(39vh,37vw);}
.award-badge img {width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 28px var(--win));}
.expedition-award-card h3 {font:500 clamp(26px,3.5vw,58px)/1.1 Georgia,serif;margin:16px 0 10px;}
.expedition-award-card p {font:600 15px system-ui;color:#e1d7bb;letter-spacing:.1em;}
@media(max-height:650px){.expedition-podium{height:calc(100dvh - 100px);margin:12px 3vw 88px}.expedition-winner-hero{height:60vh}.expedition-winner-heroes{height:60vh;bottom:42px}.expedition-teacher-details{bottom:-4px}.expedition-ceremony-actions{bottom:12px}#expeditionCeremonyTitle{font-size:36px}}
.expedition-squad-award[data-count='3'],.expedition-squad-award[data-count='4'] {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;top:16%;bottom:6%;max-width:1120px;margin:auto;}
.expedition-squad-award[data-count='3'] .expedition-award-card,.expedition-squad-award[data-count='4'] .expedition-award-card {width:100%;}
.expedition-squad-award[data-count='3'] .award-badge,.expedition-squad-award[data-count='4'] .award-badge {width:18vh;height:19vh;}
.expedition-squad-award[data-count='3'] h3,.expedition-squad-award[data-count='4'] h3 {font-size:27px;margin:5px 0;}
.victory-moment {background:linear-gradient(#06132133,#06132144),url('../media/victory-art-v5/rift-moonward-sanctuary-v5.webp') center/cover;}
.victory-moment[data-winner='B'] {background-image:linear-gradient(#24120a22,#24120a44),url('../media/victory-art-v5/rift-dawnfire-sanctuary-v5.webp');}
.victory-stage {width:100%;height:100%;display:block;}
.victory-crest {position:absolute;top:50%;left:28%;translate:-50% -50%;width:min(32vh,30vw,360px);height:min(38vh,38vw,430px);object-fit:contain;}
.victory-heroes {position:absolute;bottom:6%;left:60%;translate:-50% 0;margin:0;height:70%;align-items:flex-end;}
.victory-hero {width:min(45vh,45vw,600px);height:100%;}
.victory-name {position:absolute;top:6%;left:5%;right:5%;margin:0;text-align:center;font-size:clamp(36px,5vw,80px);line-height:1.1;}
.victory-moment[data-winner='draw'] .victory-heroes {left:50%;gap:3vw;}
.victory-moment[data-winner='draw'] .victory-hero {width:min(38vw,42vh,500px);}

/* Squad honours centre the actual crest; category titles remain secondary. */
.expedition-ceremony[data-phase='award'] #expeditionCeremonyTitle {font-size:clamp(30px,3.3vw,54px);}
.expedition-squad-award {top:10%;bottom:10%;}
.expedition-award-card {width:min(44vw,680px);--house:#8cd4f3;}
.expedition-award-card[data-team='B'] {--house:#efb977;}
.expedition-award-card .award-badge {position:relative;isolation:isolate;width:min(46vh,36vw,500px);height:auto;aspect-ratio:1;filter:drop-shadow(0 0 28px color-mix(in srgb,var(--house) 32%,transparent));}
.expedition-award-card .award-badge::before {content:'';position:absolute;inset:5%;z-index:-1;background:radial-gradient(ellipse,color-mix(in srgb,var(--house) 20%,transparent),transparent 70%);}
.expedition-award-card h3 {margin:4px 0 6px;font-size:clamp(28px,3.2vw,56px);}
.expedition-award-card p {margin:0;font-size:clamp(12px,1.05vw,18px);}
.expedition-squad-award[data-count='3'],.expedition-squad-award[data-count='4'] {grid-template-columns:repeat(var(--award-columns),minmax(0,1fr));align-items:center;gap:2vw;top:14%;bottom:12%;max-width:none;}
.expedition-squad-award[data-count='3'] {--award-columns:3;}
.expedition-squad-award[data-count='4'] {--award-columns:4;}
.expedition-squad-award[data-count='3'] .award-badge,.expedition-squad-award[data-count='4'] .award-badge {width:min(29vh,100%);height:auto;}
.expedition-squad-award[data-count='3'] h3,.expedition-squad-award[data-count='4'] h3 {font-size:clamp(22px,2.1vw,40px);margin:4px 0 6px;}
@media(max-width:900px){.expedition-squad-award[data-count='3'],.expedition-squad-award[data-count='4']{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;top:12%;bottom:7%}.expedition-squad-award[data-count='3'] .award-badge,.expedition-squad-award[data-count='4'] .award-badge{width:25vh}.expedition-squad-award[data-count='3'] h3,.expedition-squad-award[data-count='4'] h3{font-size:22px;margin:2px 0 4px}}
