/* A two-team celebration inspired by the approved Figma podium. */
.results-celebration{--results-gold:#ffdf9c;--results-cream:#fcf9f2;--results-light:#c6d9cd;width:100%;min-width:0}
.results-stage{position:relative;isolation:isolate;overflow:hidden;padding:34px 32px 26px;border:1px solid #546d4c;border-radius:24px;background:radial-gradient(ellipse at 50% 35%,#69704445,transparent 57%),linear-gradient(125deg,#163d31,#0b2d25 72%);color:var(--results-cream);box-shadow:0 16px 42px #0e292318;text-align:center}
.results-header{position:relative;z-index:1}
.results-eyebrow{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--results-gold);font-size:12px}
.results-eyebrow svg{width:16px;height:16px}
.results-header h1{font:700 clamp(38px,4vw,56px)/1.4 Amiri,serif;color:var(--results-cream);margin:5px 0}
.results-session-title{font-size:14px;line-height:1.8;color:#d8e4d9;overflow-wrap:anywhere;max-width:760px;margin-inline:auto}
.results-honour{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;margin:24px auto 18px;gap:10px}
.results-crown{display:grid;place-items:center;width:74px;height:74px;border:2px solid #e5c47f;border-radius:50%;background:#c9b57810;color:var(--results-gold);box-shadow:0 0 40px #f9d98913}
.results-crown svg{width:39px;height:39px;stroke-width:1.4}
.results-honour>p{padding:5px 18px;border:1px solid #d7c38b32;border-radius:100px;background:#c6b57513;color:#f4dda7;font-size:13px}
.results-podium{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:24px;max-width:820px;margin:0 auto;padding:0;list-style:none}
.results-team{min-width:0;text-align:center;display:flex;flex-direction:column;align-items:center;padding-top:0}
.results-team-winner{padding-top:0}
.results-team-medal{display:grid;place-items:center;width:48px;height:48px;border:2px solid #acbfb1;border-radius:50%;color:#e0e8dd;background:#1d4638;margin-bottom:8px}
.results-team-medal svg{width:25px;height:25px}
.results-team-winner .results-team-medal{border-color:#d3af5e;color:var(--results-gold);background:#37513a}
.results-placement{display:inline-flex;justify-content:center;align-items:center;max-width:100%;padding:3px 13px;margin-bottom:13px;border-radius:100px;background:#d2e1cb18;color:#d8e7d8;font-size:11px;line-height:1.8;overflow-wrap:anywhere}
.results-team-winner .results-placement{background:#f4d797;color:#344732}
.results-team-card{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;min-height:244px;padding:26px 20px 30px;border:1px solid #748b6e40;border-top:4px solid #b5c5b6;border-radius:20px 20px 12px 12px;background:linear-gradient(150deg,#315a4455,#143b30);box-shadow:0 12px 24px #00180f20}
.results-team-winner .results-team-card{min-height:296px;padding-block:50px 56px;border-color:#cab67748;border-top-color:var(--results-gold);background:linear-gradient(160deg,#8f8a4b85,#35554175 48%,#173e31 90%);box-shadow:0 0 40px #ffdf9c0a,0 12px 24px #00180f20}
.results-team-symbol{display:grid;place-items:center;width:50px;height:50px;margin-bottom:15px;border-radius:14px;background:#c5d7c315;color:#d2e2d1}
.results-team-symbol svg{width:29px;height:29px;stroke-width:1.6}
.results-team-winner .results-team-symbol{background:#f4df9c20;color:var(--results-gold)}
.results-team-card h2{max-width:100%;font:700 clamp(26px,3vw,40px)/1.5 Amiri,serif;color:#fff9e8;overflow-wrap:anywhere}
.results-team-rank{color:#c6d5bf;font-size:11px;margin-top:3px}
.results-team-winner .results-team-rank{color:#e0d6ac}
.results-team-score{display:flex;align-items:baseline;justify-content:center;gap:10px;margin-top:16px;color:#f5f8ed}
.results-team-score>b{font-size:clamp(48px,5vw,68px);line-height:1.3;font-weight:500;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.results-team-score>span{font-size:15px;white-space:nowrap}
.results-team-winner .results-team-score{color:var(--results-gold)}
.results-tied .results-team{padding-top:0}
.results-tied .results-team-card{min-height:296px}
.results-many{grid-template-columns:repeat(3,minmax(0,1fr));max-width:1080px}
.results-many .results-team{padding-top:0}
.results-many .results-team-card{min-height:244px}
.results-thanks{position:relative;z-index:1;max-width:800px;margin:22px auto 0;font-size:13px;color:#d4dfcd;line-height:1.9}
.results-facts{position:relative;z-index:1;display:flex;justify-content:center;flex-wrap:wrap;gap:16px 34px;margin:24px 0 0;padding-top:20px;border-top:1px solid #d4d7aa22}
.results-facts>div{min-width:0;max-width:100%;display:flex;flex-direction:column;gap:3px}
.results-facts dt{display:flex;align-items:center;justify-content:center;gap:6px;font-size:10px;color:#bdd0bc}
.results-facts dt svg{width:13px;height:13px}
.results-facts dd{margin:0;color:#f3e8ca;font-size:12px;overflow-wrap:anywhere}
.results-details{margin-top:22px;padding:24px;border:1px solid #e2e3d7;border-radius:16px;background:#fffefa}
.results-topics{padding-bottom:16px;border-bottom:1px solid #e7e7dc;text-align:center}
.results-topics .session-topics{margin:0;font-size:13px;color:#5b6e5d}
.results-details .results-actions{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap;margin-top:20px}
.results-details .results-actions:first-child{margin-top:0}
.app-shell .results-actions .button.primary{background:#e9d9b5;border-color:#d9c18e;color:#213d2d}
.app-shell .results-actions .button.primary:hover{background:#f2e4c4;border-color:#c9b077}
.results-confetti{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;opacity:.75}
.results-confetti i{position:absolute;width:7px;height:11px;background:#dcc17e;transform:rotate(35deg);border-radius:1px}
.results-confetti i:nth-child(1){top:20%;right:9%;opacity:.55}
.results-confetti i:nth-child(2){top:34%;left:8%;width:5px;height:8px;transform:rotate(-15deg)}
.results-confetti i:nth-child(3){top:12%;left:24%;width:5px;height:5px;border-radius:50%;background:#f8df9c}
.results-confetti i:nth-child(4){top:42%;right:17%;opacity:.3;transform:rotate(70deg)}
.results-confetti i:nth-child(5){top:9%;right:29%;width:4px;height:4px;opacity:.6}
.results-confetti i:nth-child(6){top:29%;left:32%;width:8px;height:4px;opacity:.35}
.results-confetti i:nth-child(7){top:62%;left:4%;width:4px;height:4px;border-radius:50%;opacity:.4}
.results-confetti i:nth-child(8){top:69%;right:5%;width:4px;height:8px;opacity:.45;transform:rotate(-30deg)}

/* TV scores occupy the centre stage without duplicating the ordinary scoreboard. */
.audience .audience-surface.results-view{min-height:100dvh;display:flex;flex-direction:column}
.audience .results-view>.results-celebration{flex:1;display:flex;flex-direction:column}
.audience .results-public .results-stage{flex:1;display:flex;flex-direction:column;justify-content:center;padding:18px 28px 24px;border-color:#8f976c42;background:radial-gradient(ellipse at 50% 30%,#7780434a,transparent 63%),linear-gradient(125deg,#153e31,#0b2d25 72%);box-shadow:none}
.audience .results-public .results-header h1{font-size:clamp(42px,3.8vw,68px);margin:0;line-height:1.35}
.audience .results-public .results-eyebrow{font-size:clamp(14px,1vw,20px)}
.audience .results-public .results-session-title{display:none}
.audience .results-public .results-honour{margin:10px auto;gap:6px}
.audience .results-public .results-crown{width:64px;height:64px}
.audience .results-public .results-crown svg{width:36px;height:36px}
.audience .results-public .results-honour>p{font-size:clamp(15px,1.1vw,21px)}
.audience .results-public .results-podium{width:100%;max-width:1180px;gap:40px}
.audience .results-public .results-team{padding-top:0}
.audience .results-public .results-team-winner,.audience .results-public .results-tied .results-team{padding-top:0}
.audience .results-public .results-team-medal{width:48px;height:48px}
.audience .results-public .results-team-medal svg{width:27px;height:27px}
.audience .results-public .results-placement{font-size:clamp(14px,1vw,18px);margin-bottom:10px;padding:3px 18px}
.audience .results-public .results-team-card{min-height:248px;padding:24px;border-top-width:5px}
.audience .results-public .results-team-winner .results-team-card,.audience .results-public .results-tied .results-team-card{min-height:300px;padding-block:48px 52px}
.audience .results-public .results-team-symbol{width:56px;height:56px;margin-bottom:12px}
.audience .results-public .results-team-symbol svg{width:32px;height:32px}
.audience .results-public .results-team-card h2{font-size:clamp(38px,3.3vw,64px);line-height:1.4}
.audience .results-public .results-team-rank{font-size:clamp(14px,1vw,19px)}
.audience .results-public .results-team-score{margin-top:12px;gap:14px}
.audience .results-public .results-team-score>b{font-size:clamp(72px,6vw,116px);line-height:1.15}
.audience .results-public .results-team-score>span{font-size:clamp(20px,1.5vw,29px)}
.audience .results-public .results-thanks{font-size:clamp(17px,1.2vw,22px);max-width:1200px;margin-top:16px}
.audience .results-public .results-facts{margin-top:16px;padding-top:12px}
.audience .results-public .results-facts>div{flex-direction:row;align-items:center;gap:10px}
.audience .results-public .results-facts dt{font-size:14px}
.audience .results-public .results-facts dd{font-size:18px}
.audience .results-view>.audience-footer{margin-top:16px}
.audience .results-public .results-many{grid-template-columns:repeat(3,minmax(0,1fr));max-width:1500px}
.audience .results-public .results-many .results-team{padding-top:0}
.audience .results-public .results-many .results-team-card{min-height:270px}

@media(min-height:851px) and (min-width:900px){
 .audience .results-public .results-stage{padding-block:14px 18px}
 .audience .results-public .results-header h1{font-size:clamp(42px,3.2vw,56px)}
 .audience .results-public .results-eyebrow{font-size:18px}
 .audience .results-public .results-honour{margin:8px auto;gap:6px}
 .audience .results-public .results-crown{width:52px;height:52px}
 .audience .results-public .results-crown svg{width:30px;height:30px}
 .audience .results-public .results-honour>p{font-size:19px}
 .audience .results-public .results-team-medal{width:40px;height:40px;margin-bottom:6px}
 .audience .results-public .results-team-medal svg{width:24px;height:24px}
 .audience .results-public .results-placement{font-size:16px;margin-bottom:8px}
 .audience .results-public .results-team-winner .results-team-card,.audience .results-public .results-tied .results-team-card{padding-block:36px 40px}
 .audience .results-public .results-team-symbol{width:48px;height:48px;margin-bottom:10px}
 .audience .results-public .results-team-symbol svg{width:28px;height:28px}
 .audience .results-public .results-team-card h2{font-size:clamp(38px,2.9vw,56px)}
 .audience .results-public .results-team-rank{font-size:17px}
 .audience .results-public .results-team-score>b{font-size:clamp(72px,5.3vw,104px)}
 .audience .results-public .results-team-score>span{font-size:26px}
 .audience .results-public .results-thanks{font-size:20px;margin-top:14px}
 .audience .results-public .results-facts{margin-top:12px;padding-top:10px}
 .audience .results-public .results-facts dd{font-size:16px}
}

@media(max-height:850px) and (min-width:900px){
 .audience .results-public .results-stage{padding:12px 24px 16px}
 .audience .results-public .results-header h1{font-size:38px}
 .audience .results-public .results-eyebrow{font-size:12px}
 .audience .results-public .results-session-title{font-size:16px}
 .audience .results-public .results-honour{margin:9px auto;gap:5px}
 .audience .results-public .results-crown{display:none}
 .audience .results-public .results-honour>p{font-size:14px;padding-block:2px}
 .audience .results-public .results-podium{max-width:900px;gap:26px}
 .audience .results-public .results-team{padding-top:0}
 .audience .results-public .results-team-winner,.audience .results-public .results-tied .results-team{padding-top:0}
 .audience .results-public .results-team-medal{width:36px;height:36px;margin-bottom:5px}
 .audience .results-public .results-team-medal svg{width:21px;height:21px}
 .audience .results-public .results-placement{font-size:12px;margin-bottom:9px;padding-block:2px}
 .audience .results-public .results-team-card{min-height:205px;padding:18px 20px}
 .audience .results-public .results-team-winner .results-team-card,.audience .results-public .results-tied .results-team-card{min-height:230px;padding-block:30px 40px}
 .audience .results-public .results-team-symbol{width:40px;height:40px;margin-bottom:8px}
 .audience .results-public .results-team-symbol svg{width:25px;height:25px}
 .audience .results-public .results-team-card h2{font-size:38px}
 .audience .results-public .results-team-rank{font-size:13px}
 .audience .results-public .results-team-score{margin-top:8px}
 .audience .results-public .results-team-score>b{font-size:70px}
 .audience .results-public .results-team-score>span{font-size:19px}
 .audience .results-public .results-thanks{font-size:15px;margin-top:14px}
 .audience .results-public .results-facts{margin-top:10px;padding-top:8px}
 .audience .results-public .results-facts dt{font-size:11px}
 .audience .results-public .results-facts dd{font-size:13px}
}
@media(max-width:700px){
 .results-stage{padding:26px 18px 22px;border-radius:18px}
 .results-header h1{font-size:38px}
 .results-honour{margin-top:20px}
 .results-podium,.results-many{gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}
 .results-team{padding-top:0}
 .results-team-winner{padding-top:0}
 .results-team-medal{width:39px;height:39px}
 .results-team-medal svg{width:22px;height:22px}
 .results-placement{padding:3px 8px;font-size:10px;min-height:24px}
 .results-team-card{min-height:214px;padding:20px 12px;border-radius:14px 14px 9px 9px}
 .results-team-winner .results-team-card,.results-tied .results-team-card{min-height:248px;padding-block:34px 40px}
 .results-team-symbol{width:39px;height:39px;margin-bottom:12px}
 .results-team-symbol svg{width:25px;height:25px}
 .results-team-card h2{font-size:27px}
 .results-team-rank{font-size:10px}
 .results-team-score{gap:6px;flex-wrap:wrap;line-height:1.2;margin-top:14px}
 .results-team-score>b{font-size:46px}
 .results-team-score>span{font-size:12px}
 .results-facts{gap:14px 24px}
 .results-thanks{font-size:12px}
 .results-details{padding:18px}
 .results-details .results-actions>.button{flex:1 1 150px}
 .audience .results-view>.results-celebration{display:block}
 .audience .results-public .results-stage{padding:24px 14px}
 .audience .results-public .results-header h1{font-size:38px}
 .audience .results-public .results-session-title{font-size:15px}
 .audience .results-public .results-podium,.audience .results-public .results-many{gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}
 .audience .results-public .results-team{padding-top:0}
 .audience .results-public .results-team-winner,.audience .results-public .results-tied .results-team{padding-top:0}
 .audience .results-public .results-team-medal{width:40px;height:40px}
 .audience .results-public .results-placement{font-size:11px;padding:3px 7px;min-height:26px}
 .audience .results-public .results-team-card{min-height:230px;padding:20px 10px}
 .audience .results-public .results-team-winner .results-team-card,.audience .results-public .results-tied .results-team-card{min-height:264px;padding-block:34px 40px}
 .audience .results-public .results-team-card h2{font-size:29px}
 .audience .results-public .results-team-symbol{width:40px;height:40px}
 .audience .results-public .results-team-rank{font-size:11px}
 .audience .results-public .results-team-score>b{font-size:49px}
 .audience .results-public .results-team-score>span{font-size:13px}
 .audience .results-public .results-thanks{font-size:13px}
}
