/* Podium fills the results screen; replay and profile access remain reachable. */
body.practice-ffa #overlay:has(.ffa-podium) .modal{grid-template-columns:1fr 1.2fr 1fr;grid-template-rows:36px minmax(0,1fr) 48px;gap:10px 20px;max-width:1280px!important;overflow:visible!important}
body.practice-ffa #overlay:has(.ffa-podium) #overline{grid-area:1/1;font-size:11px!important}
body.practice-ffa #overlay:has(.ffa-podium) #title{grid-area:1/2/2/4;font-size:clamp(19px,2.5vw,32px)!important;text-align:right}
body.practice-ffa #overlay:has(.ffa-podium) #description{grid-area:2/1/3/4;align-self:stretch;min-height:0;display:flex;flex-direction:column;font-size:11px!important;line-height:1.2!important}
body.practice-ffa #overlay:has(.ffa-podium) #start{grid-area:3/2;font-size:17px!important;min-height:44px!important;height:48px!important;padding:7px 12px!important}
body.practice-ffa #overlay:has(.ffa-podium) #overlay-menu{grid-area:3/3;font-size:14px!important}
body.practice-ffa .ffa-podium{flex:1;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) 24px 28px;gap:5px;margin:4px 0 0!important}
body.practice-ffa .ffa-results.ffa-podium>div{display:flex;grid-template-columns:none;padding:0;margin:0;background:none;border-radius:0;font-size:12px}
body.practice-ffa .ffa-podium-stages{gap:clamp(10px,3vw,36px);align-items:end;justify-content:center;min-height:0}
body.practice-ffa .ffa-podium-card{position:relative;isolation:isolate;display:grid;grid-template-rows:22px minmax(0,1fr) 24px 18px;flex:1;max-width:340px;min-width:0;height:85%;min-height:0;box-sizing:border-box;padding:6px 12px 10px;border-radius:18px 18px 7px 7px;border:1px solid #a795bf80;background:linear-gradient(160deg,#70607b40,#1c183ac9);box-shadow:0 7px 0 #11132355;cursor:pointer;overflow:visible;text-align:center}
body.practice-ffa .ffa-podium-card.place-1{order:2;height:100%;border-color:#e7c77f;background:radial-gradient(ellipse at 50% 100%,#b6954755,transparent 80%),linear-gradient(160deg,#75624440,#251f37);box-shadow:0 7px 0 #89724466,0 0 35px #f2d48a15}
body.practice-ffa .ffa-podium-card.place-2{order:1;border-color:#aec8d4}.ffa-podium-card.place-3{order:3}
.ffa-podium-card.is-you{outline:1px solid #f2d995;outline-offset:3px}
.ffa-podium-place{font:700 12px system-ui,sans-serif;letter-spacing:.13em;color:#cebfe0;z-index:3}.place-1 .ffa-podium-place{color:#ffe6a6}.place-2 .ffa-podium-place{color:#c7e7f4}
.ffa-podium-portrait{position:relative;min-height:0;z-index:1}.ffa-podium-portrait canvas{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:contain;max-height:none!important;max-width:none!important;transform:none!important;margin:0!important}
.ffa-podium-name{position:relative;z-index:3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:clamp(13px,1.5vw,20px);color:#ffebbc;line-height:24px}.ffa-podium-score{position:relative;z-index:3;font:12px system-ui,sans-serif;color:#e0d2ea}
.ffa-podium-effect{position:absolute!important;inset:calc(-1 * var(--celebration-headroom,64px)) 0 auto!important;width:100%!important;height:calc(100% + var(--celebration-headroom,64px) + 16px)!important;max-width:none!important;max-height:none!important;margin:0!important;pointer-events:none;z-index:2}.ffa-podium-effect.ground{z-index:0}
.ffa-podium-rest{align-items:center;justify-content:center;gap:18px}.ffa-compact-player{color:#ddd1e8;cursor:pointer;border-bottom:1px dotted #a895b9;padding:3px 8px;max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ffa-podium-help{justify-content:center;align-items:center;gap:14px;color:#bdb0ce;font-size:10px!important}
button.ffa-celebrate{min-height:28px!important;padding:4px 16px!important;font-size:12px!important;border:1px solid #e7d196!important;background:#453c33!important;color:#fef0ca!important;box-shadow:none!important;border-radius:20px!important}
.ffa-podium-card:hover,.ffa-podium-card:focus-visible,.ffa-compact-player:focus-visible{outline:2px solid #fde6a6;outline-offset:3px}
@media(max-height:420px){body.practice-ffa #overlay:has(.ffa-podium){padding:10px 18px!important}body.practice-ffa #overlay:has(.ffa-podium) .modal{grid-template-rows:28px minmax(0,1fr) 44px;gap:6px 14px}body.practice-ffa .ffa-podium{grid-template-rows:minmax(0,1fr) 20px 24px;gap:3px}body.practice-ffa .ffa-podium-card{grid-template-rows:17px minmax(0,1fr) 20px 15px;padding:4px 8px 6px;border-radius:12px 12px 5px 5px}.ffa-podium-place{font-size:10px}.ffa-podium-name{font-size:13px;line-height:20px}.ffa-podium-score{font-size:10px}.ffa-podium-help{font-size:9px!important}body.practice-ffa #overlay:has(.ffa-podium) #start{height:44px!important}}

body.practice-ffa .ffa-podium-portrait canvas{object-fit:contain!important}
body.practice-ffa .ffa-podium-score{margin:0!important;padding:0!important;line-height:16px!important;min-height:16px!important;display:block!important}

body.practice-ffa .ffa-podium{grid-template-rows:minmax(0,1fr) auto 28px}
body.practice-ffa .ffa-podium .ffa-podium-rest{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;justify-content:center;max-width:960px;width:100%;margin:3px auto!important}
.ffa-compact-player{display:block;box-sizing:border-box;max-width:none;min-height:30px;line-height:24px;border:1px solid #9480b455;border-radius:7px;background:#c8b1ed09;font-size:12px}
.ffa-compact-player:hover{background:#ccb1ed22;color:#fff0c9}
@media(max-width:800px){body.practice-ffa .ffa-podium .ffa-podium-rest{grid-template-columns:repeat(3,minmax(0,1fr));gap:3px}.ffa-compact-player{min-height:24px;line-height:18px;font-size:11px;padding:3px 6px}}

body.practice-ffa #overlay .ffa-podium .ffa-podium-score{margin:0!important;padding:0!important;line-height:16px!important;min-height:16px!important}body.practice-ffa #overlay .ffa-podium .ffa-podium-portrait canvas{object-fit:fill!important}

body.practice-ffa #overlay .ffa-podium .ffa-podium-rest{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));width:100%!important;gap:6px;max-width:960px;margin:3px auto!important}
@media(max-width:800px){body.practice-ffa #overlay .ffa-podium .ffa-podium-rest{grid-template-columns:repeat(3,minmax(0,1fr));gap:3px}}

/* Results may scroll: preserve generous portraits even in short landscape windows. */
body.practice-ffa #overlay:has(.ffa-podium){overflow-y:auto!important;overscroll-behavior:contain;touch-action:pan-y}
body.practice-ffa #overlay:has(.ffa-podium) .modal{height:auto!important;min-height:calc(100dvh - 64px);grid-template-rows:36px minmax(340px,1fr) 48px}
body.practice-ffa .ffa-podium{min-height:340px}
body.practice-ffa .ffa-podium-stages{min-height:250px}
@media(max-width:800px){
 body.practice-ffa #overlay:has(.ffa-podium) .modal{grid-template-columns:1fr 1.2fr 1fr;grid-template-rows:32px minmax(340px,1fr) 48px;gap:12px}
 body.practice-ffa .ffa-podium{grid-template-rows:minmax(250px,1fr) auto 32px}
 body.practice-ffa .ffa-podium-card{padding:8px 6px 12px;grid-template-rows:20px minmax(0,1fr) 24px 18px}
}

/* Academy podium: shared portrait geometry, unrestricted celebration surfaces. */
body.practice-ffa #overlay:has(.ffa-podium){background:radial-gradient(ellipse at 50% 20%,#59406cbb,#171122ef 80%)!important}
body.practice-ffa #overlay:has(.ffa-podium) .modal{border:1px solid #bea16c!important;border-radius:22px!important;background:radial-gradient(ellipse at 50% 0,#74588933,transparent 65%),linear-gradient(#30243eea,#1d172bec)!important;box-shadow:inset 0 0 0 5px #21182b,inset 0 0 0 6px #d8bd7e44,0 20px 70px #0c081aaa!important;padding:24px!important}
body.practice-ffa #overlay:has(.ffa-podium) #title{font-family:Georgia,serif!important;color:#ffe6b5!important;text-shadow:0 2px 4px #0c081a}
body.practice-ffa #overlay:has(.ffa-podium) #overline{color:#ceb887!important;letter-spacing:.16em}
body.practice-ffa .ffa-podium-card{animation:none!important;border:1px solid #ab8c61;background:linear-gradient(160deg,#554065,#241a32);box-shadow:inset 0 0 0 4px #21192c,inset 0 0 0 5px #c2a16d33,0 7px #100c1e88}
body.practice-ffa .ffa-podium-card.place-1{background:radial-gradient(ellipse at 50% 100%,#b5944933,transparent 75%),linear-gradient(#634c71,#2b2038);border-color:#edcc87;box-shadow:inset 0 0 0 4px #2a2034,inset 0 0 0 5px #ebca8588,0 7px #80633977}
body.practice-ffa .ffa-podium-card.place-2{border-color:#bca7cf}body.practice-ffa .ffa-podium-card.place-3{border-color:#bc916c}
body.practice-ffa .ffa-podium-card.is-you{outline-color:#ebcd90}
body.practice-ffa .ffa-podium-name{font-family:Georgia,serif}
body.practice-ffa #overlay .ffa-podium canvas.ffa-podium-effect{object-fit:fill!important;aspect-ratio:auto!important;transform:none!important;min-height:0!important}
body.practice-ffa #overlay:has(.ffa-podium) :is(#start,#overlay-menu,.ffa-celebrate){border:1px solid #d0ad70!important;border-bottom:3px solid #755835!important;border-radius:10px!important;background:linear-gradient(#654a78,#382842)!important;color:#ffe8b9!important;font-family:Georgia,serif!important;box-shadow:inset 0 0 0 2px #281d33,inset 0 0 0 3px #cbb07544!important}
body.practice-ffa .ffa-podium-card:focus-visible,body.practice-ffa .ffa-compact-player:focus-visible{outline-color:#ffe2a3}
@media(max-height:420px){body.practice-ffa #overlay:has(.ffa-podium) .modal{padding:14px!important}}

@media(max-height:500px) and (orientation:landscape){body.practice-ffa #overlay:has(.ffa-podium) .modal{height:calc(100dvh - 28px)!important;min-height:0!important;grid-template-rows:24px minmax(0,1fr) 44px!important;padding:12px!important;gap:6px 12px}body.practice-ffa .ffa-podium{min-height:0;grid-template-rows:minmax(0,1fr) 24px 28px!important}body.practice-ffa .ffa-podium-stages{min-height:0}body.practice-ffa .ffa-podium-card{grid-template-rows:18px minmax(0,1fr) 20px 16px;padding:4px 6px}body.practice-ffa #overlay:has(.ffa-podium) #start{height:44px!important}}

#ffa-verified-rewards{flex:0 1 auto;max-height:112px;overflow:auto;text-align:center;font-size:12px;line-height:1.4;padding:4px 8px}#ffa-verified-rewards:empty{display:none}#ffa-verified-rewards>strong{display:inline!important;font-size:18px!important;margin:0 10px}#ffa-verified-rewards .result-chest{max-width:480px;margin:3px auto}#ffa-verified-rewards .result-chest img{max-height:42px;width:auto}@media(max-height:500px){#ffa-verified-rewards{max-height:62px;font-size:10px}}
/* FFA heroes and rewards are distinct pages, both bounded by the viewport. */
body.practice-ffa #overlay:has(.ffa-podium){overflow:hidden!important}
body.practice-ffa #overlay:has(.ffa-podium) .modal{height:calc(100dvh - 36px)!important;min-height:0!important;max-height:900px;grid-template-rows:36px minmax(0,1fr) 48px!important}
body.practice-ffa #overlay:has(.ffa-podium) #description{overflow:hidden!important;margin:0!important;min-height:0!important}
body.practice-ffa .ffa-podium{min-height:0!important;grid-template-rows:minmax(0,1fr) auto 32px!important}
body.practice-ffa .ffa-podium-stages{min-height:0!important}
body.practice-ffa .ffa-podium[hidden],#ffa-verified-rewards[hidden],.ffa-results-back[hidden]{display:none!important}
body.practice-ffa #overlay.ffa-rewards-page #description{justify-content:center;gap:12px}
body.practice-ffa #overlay.ffa-rewards-page #ffa-verified-rewards{max-height:none;overflow:hidden;flex:0 1 auto;font-size:clamp(12px,1.5vw,18px);padding:4px;min-height:0}
body.practice-ffa .ffa-results-back{align-self:center;flex:0 0 auto;min-height:32px;padding:6px 18px;border:1px solid #cbb075;border-radius:10px;background:#503b62;color:#ffe8b9}
@media(max-height:500px){body.practice-ffa #overlay:has(.ffa-podium) .modal{height:calc(100dvh - 20px)!important;grid-template-rows:24px minmax(0,1fr) 40px!important;padding:10px!important;gap:5px 10px}body.practice-ffa .ffa-podium{grid-template-rows:minmax(0,1fr) auto 24px!important}body.practice-ffa #overlay.ffa-rewards-page #description{gap:4px}}
body.practice-ffa #overlay#overlay.ffa-rewards-page #ffa-verified-rewards{max-height:none!important;min-height:0;flex:0 1 auto;display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:center;width:100%;box-sizing:border-box}
body.practice-ffa #overlay.ffa-rewards-page .ffa-reward-summary{grid-column:1/-1;margin:0!important;font:600 clamp(11px,1.4vw,17px)/1.4 system-ui!important}
body.practice-ffa #overlay.ffa-rewards-page #ffa-verified-rewards>strong{grid-column:1/-1}
body.practice-ffa #overlay.ffa-rewards-page #ffa-verified-rewards :is(.result-chest,.result-season-pass){margin:0!important;width:100%;max-width:none;box-sizing:border-box}
@media(max-height:500px){body.practice-ffa #overlay#overlay.ffa-rewards-page #ffa-verified-rewards{gap:4px;font-size:11px}body.practice-ffa #overlay.ffa-rewards-page .result-chest{padding:8px!important}body.practice-ffa #overlay.ffa-rewards-page .result-chest strong{font-size:15px!important}body.practice-ffa #overlay.ffa-rewards-page .result-season-pass{padding:8px!important}body.practice-ffa #overlay.ffa-rewards-page .result-season-body{gap:6px}body.practice-ffa #overlay.ffa-rewards-page .result-season-status{display:none}body.practice-ffa #overlay.ffa-rewards-page .result-season-heading{margin-bottom:3px}body.practice-ffa #overlay.ffa-rewards-page .result-season-tier strong{font-size:18px!important}}
body.practice-ffa #overlay.ffa-rewards-page #ffa-verified-rewards:has(.ffa-reward-action) .ffa-reward-summary{grid-column:1;grid-row:1}
body.practice-ffa #overlay.ffa-rewards-page .ffa-reward-action{grid-column:2;grid-row:1;min-height:30px!important;padding:5px 10px!important;font-size:12px!important;margin:0!important}
@media(max-height:500px){
 body.practice-ffa #overlay.ffa-rewards-page #ffa-verified-rewards :is(.result-chest,.result-season-pass){height:86px!important;min-height:0!important;padding:6px 8px!important;align-self:start;overflow:hidden}
 body.practice-ffa #overlay.ffa-rewards-page #ffa-verified-rewards :is(.result-chest,.result-season-pass) :is(strong,small,span,b){line-height:1.2!important;margin:0!important}
 body.practice-ffa #overlay.ffa-rewards-page .result-chest{gap:8px!important}
 body.practice-ffa #overlay.ffa-rewards-page .result-chest div{min-width:0}
 body.practice-ffa #overlay.ffa-rewards-page .result-chest :is(small,span){font-size:10px!important;display:block!important}
 body.practice-ffa #overlay.ffa-rewards-page .result-chest strong{display:block!important;font-size:14px!important;padding:3px 0!important}
 body.practice-ffa #overlay.ffa-rewards-page .result-chest progress{height:6px!important;margin:3px 0!important;display:block!important}
 body.practice-ffa #overlay.ffa-rewards-page .result-season-heading{font-size:9px!important;padding-bottom:3px!important;line-height:12px!important}
 body.practice-ffa #overlay.ffa-rewards-page .result-season-gain{font-size:9px!important}
 body.practice-ffa #overlay.ffa-rewards-page .result-season-body{padding-top:4px!important}
 body.practice-ffa #overlay.ffa-rewards-page .result-season-copy{font-size:10px!important;line-height:12px!important;margin-bottom:3px!important}
 body.practice-ffa #overlay.ffa-rewards-page .result-season-xp progress{height:7px!important}
}
