.results-screen-page{width:100vw;min-width:20rem;min-height:100svh;overflow-x:hidden;background:#050505;color:var(--colour-text)}
.winner-board{position:relative;isolation:isolate;width:100vw;min-height:100svh;display:grid;grid-template-rows:7.5rem minmax(0,1fr) 5.5rem;overflow:hidden;background:linear-gradient(115deg,rgba(0,0,0,.98),rgba(4,7,5,.72) 50%,rgba(0,0,0,.97)),url("../assets/images/amaze-ball-hero-bg.jpg") center/cover no-repeat}
.winner-board::before{content:"";position:absolute;z-index:-2;inset:0;background:radial-gradient(circle at 50% 48%,rgba(255,233,31,.24),transparent 24%),linear-gradient(90deg,rgba(255,233,31,.04) 1px,transparent 1px),linear-gradient(rgba(255,233,31,.03) 1px,transparent 1px);background-size:auto,5rem 5rem,5rem 5rem;mask-image:linear-gradient(180deg,transparent,#000 25%,#000 88%,transparent)}
.winner-header{position:relative;z-index:4;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:2rem;padding:1.25rem 3.5rem;border-bottom:1px solid var(--colour-border);background:rgba(2,5,3,.9);backdrop-filter:blur(16px)}
.winner-brand{display:flex;align-items:center;gap:1.25rem;min-width:0}.winner-brand span{width:1px;height:2.8rem;background:var(--colour-border)}.winner-brand img{display:block;width:auto;height:2.6rem;object-fit:contain}.winner-brand img:first-child{height:3rem}
.winner-header__title{text-align:center}.winner-header__title p{margin-bottom:.15rem;color:var(--colour-electric-green);font-size:.78rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase}.winner-header__title h1{font-size:2.25rem;letter-spacing:-.045em;text-transform:uppercase}
.winner-sync{display:grid;justify-items:end;gap:.15rem;color:var(--colour-text-muted);font-size:.78rem;font-weight:700}.winner-sync span{display:flex;align-items:center;gap:.55rem}.winner-sync span::before{content:"";width:.52rem;height:.52rem;border-radius:50%;background:var(--colour-warning);box-shadow:0 0 0 .25rem rgba(242,183,5,.1)}.winner-sync span[data-state="success"]::before{background:var(--colour-electric-green);box-shadow:0 0 0 .25rem rgba(255,233,31,.1)}.winner-sync span[data-state="error"]::before{background:var(--colour-error)}.winner-sync time{color:var(--colour-text);font:800 1rem var(--font-heading)}
.winner-stage{position:relative;z-index:1;min-height:0;display:grid;grid-template-rows:auto auto auto auto auto minmax(0,1fr);justify-items:center;align-content:center;gap:.65rem;padding:1.5rem 8vw 1.25rem;text-align:center}.winner-stage__halo{position:absolute;z-index:-1;left:50%;top:50%;width:min(56rem,62vw);aspect-ratio:1;border:1px solid rgba(255,233,31,.18);border-radius:50%;background:radial-gradient(circle,rgba(255,233,31,.11),transparent 63%);box-shadow:0 0 8rem rgba(255,233,31,.08);transform:translate(-50%,-50%)}.winner-stage__halo::before,.winner-stage__halo::after{content:"";position:absolute;border:1px solid rgba(255,233,31,.09);border-radius:50%;inset:8%}.winner-stage__halo::after{inset:20%}
.winner-kicker{display:flex;align-items:center;gap:.8rem;color:var(--colour-electric-green);font:900 1.05rem var(--font-heading);letter-spacing:.22em;text-transform:uppercase}.winner-kicker span{font-size:.8rem}.winner-stage__round{color:var(--colour-text-muted);font-size:.88rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.winner-stage__team{max-width:78rem;color:var(--colour-off-white);font:900 clamp(3.25rem,5.8vw,7rem)/.92 var(--font-heading);letter-spacing:-.065em;text-shadow:0 .2rem 2rem rgba(0,0,0,.65);text-transform:uppercase}.winner-score{display:flex;align-items:center;justify-content:center;gap:1.25rem}.winner-score strong{display:grid;place-items:center;min-width:5rem;height:5rem;padding:0 1rem;border-radius:.65rem;background:var(--colour-electric-green);color:#050505;font:900 2.5rem var(--font-heading)}.winner-score span{color:var(--colour-text-muted);font-size:.75rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.winner-opponent{color:var(--colour-text-muted);font-size:.9rem;font-weight:600}.winner-opponent strong{color:var(--colour-text)}
.winner-players{align-self:stretch;min-height:0;display:grid;grid-template-columns:repeat(2,minmax(0,27rem));justify-content:center;gap:1.25rem;margin-top:.5rem}.winner-player{min-width:0;display:grid;grid-template-columns:7.75rem minmax(0,1fr);align-items:center;gap:1.25rem;padding:1rem 1.25rem;border:1px solid rgba(255,255,255,.14);border-radius:1rem;background:linear-gradient(145deg,rgba(22,26,23,.95),rgba(7,9,8,.94));box-shadow:0 1.5rem 3rem rgba(0,0,0,.3);text-align:left}.winner-player__avatar{position:relative;width:100%;aspect-ratio:1;border:1px solid rgba(255,233,31,.26);border-radius:50%;overflow:hidden;background:radial-gradient(circle at 50% 35%,rgba(255,233,31,.2),transparent 24%),linear-gradient(145deg,#2a2d27,#0a0c0a)}.winner-player__avatar::before{content:"";position:absolute;left:50%;top:23%;width:32%;aspect-ratio:1;border-radius:50%;background:rgba(255,255,255,.22);transform:translateX(-50%)}.winner-player__avatar::after{content:"";position:absolute;left:50%;bottom:-4%;width:68%;height:48%;border-radius:50% 50% 12% 12%;background:rgba(255,255,255,.16);transform:translateX(-50%)}.winner-player__avatar span{position:absolute;z-index:1;right:.25rem;bottom:.25rem;display:grid;place-items:center;min-width:2.1rem;height:2.1rem;padding:0 .3rem;border-radius:999px;background:var(--colour-electric-green);color:#050505;font:900 .7rem var(--font-heading)}.winner-player__info{min-width:0;display:grid;gap:.25rem}.winner-player__info small{color:var(--colour-electric-green);font-size:.65rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.winner-player__info strong{overflow-wrap:anywhere;font:900 1.45rem/1.05 var(--font-heading);letter-spacing:-.035em}.winner-player__info span{color:var(--colour-text-muted);font-size:.72rem;font-weight:700}
.winner-loading{display:grid;grid-column:1/-1;place-items:center;color:var(--colour-text-muted);font-weight:700}.winner-footer{position:relative;z-index:4;display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:center;gap:2rem;padding:1rem 3.5rem;border-top:1px solid var(--colour-border);background:rgba(2,5,3,.94)}.winner-footer div{display:grid;gap:.05rem}.winner-footer span{color:var(--colour-text-muted);font-size:.65rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.winner-footer strong{font:800 .9rem var(--font-heading)}.winner-footer a{min-height:2.75rem;display:inline-flex;align-items:center;padding:.6rem 1rem;border:1px solid rgba(255,233,31,.35);border-radius:.35rem;color:var(--colour-electric-green);font-size:.75rem;font-weight:800;text-transform:uppercase}
.confetti{position:absolute;z-index:3;inset:0;overflow:hidden;pointer-events:none}.confetti-piece{position:absolute;top:-3rem;width:.62rem;height:1.25rem;background:var(--confetti-colour);opacity:0;animation:confetti-fall var(--confetti-duration) cubic-bezier(.15,.7,.35,1) var(--confetti-delay) forwards}.confetti-piece:nth-child(3n){border-radius:50%}.confetti-piece:nth-child(4n){width:1rem;height:.42rem}.confetti-piece:nth-child(5n){clip-path:polygon(50% 0,100% 100%,0 100%)}
@keyframes confetti-fall{0%{opacity:1;transform:translate3d(0,-8vh,0) rotate(0deg)}75%{opacity:1}100%{opacity:0;transform:translate3d(var(--confetti-drift),112vh,0) rotate(var(--confetti-spin))}}
@media(min-width:64rem){.results-screen-page,.winner-board{height:100vh;max-height:100vh}}
@media(max-width:74.99rem){.winner-board{grid-template-rows:6rem minmax(0,1fr) 4.75rem}.winner-header{padding:1rem 2rem}.winner-stage{padding-inline:3rem}.winner-stage__team{font-size:clamp(2.8rem,6vw,5rem)}.winner-players{grid-template-columns:repeat(2,minmax(0,23rem))}.winner-player{grid-template-columns:6rem minmax(0,1fr)}.winner-footer{padding:.75rem 2rem}}
@media(max-width:63.99rem){.winner-board{height:auto;max-height:none;grid-template-rows:auto auto auto}.winner-header{grid-template-columns:1fr auto}.winner-header__title{display:none}.winner-stage{padding:3rem 1rem}.winner-players{grid-template-columns:minmax(0,32rem)}.winner-player{min-height:9rem}.winner-footer{grid-template-columns:repeat(2,minmax(0,1fr));padding:1rem 1.5rem}.winner-footer a{justify-self:end}}
@media(max-width:39.99rem){.winner-header{padding:.8rem 1rem}.winner-brand{gap:.5rem}.winner-brand span{height:1.5rem}.winner-brand img{height:1.35rem}.winner-brand img:first-child{height:1.55rem}.winner-sync span{font-size:0}.winner-sync span::after{content:"Live";font-size:.7rem}.winner-stage__team{font-size:2.5rem}.winner-score strong{min-width:3.6rem;height:3.6rem;font-size:1.75rem}.winner-player{grid-template-columns:5.5rem minmax(0,1fr)}.winner-footer{grid-template-columns:1fr}.winner-footer div:nth-child(3){display:none}.winner-footer a{justify-self:start}}
@media(prefers-reduced-motion:reduce){.confetti-piece{display:none}}
