.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.table-pattern{animation:table-drift 45s linear infinite}.question-paper:before{animation:paper-idle 8s ease-in-out infinite}.question-paper:after{animation:paper-idle 9s ease-in-out infinite reverse}.question-paper:hover:before,.question-paper:hover:after{animation-play-state:paused}.answer-choice{isolation:isolate}.answer-choice:after{pointer-events:none}.answer-choice:hover{box-shadow:0 9px 0 var(--ink)}.answer-choice.selected{animation:choice-pop .3s cubic-bezier(.18,.78,.3,1.3)}.locked-board.sealed-now{animation:seal-board .45s cubic-bezier(.18,.78,.3,1.2)}.locked-board.sealed-now .seal{animation:stamp .35s both}.player-row.team-arrival .avatar{animation:team-turn .65s ease-in-out}.player-row.team-arrival:after{content:'+';position:absolute;left:-8px;top:-6px;font-family:var(--display);font-weight:900;font-size:27px;color:var(--green-dark);animation:score-wink .8s both;pointer-events:none}.result-title{position:relative;isolation:isolate}.reveal-animate .result-title{animation:result-unfold .5s cubic-bezier(.15,.8,.3,1.1) both}.reveal-animate .result-title:after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,#fff9 48%,transparent 65%);animation:badge-sheen 1s .25s both;pointer-events:none}.round-spark{position:fixed;width:18px;height:18px;background:var(--spark,#fffdf0);clip-path:polygon(50% 0,61% 36%,100% 50%,61% 63%,50% 100%,38% 63%,0 50%,38% 36%);animation:round-spark .7s ease-out both;pointer-events:none}.round-ribbon{position:fixed;border:2px solid var(--ink);height:7px;width:18px;background:var(--green);animation:round-spark .8s ease-out both;pointer-events:none}
.finale-v2{max-width:1120px;margin-top:0}.victory-stage{position:relative;isolation:isolate;min-height:440px;display:flex;align-items:center;justify-content:center;text-align:center;border-bottom:3px solid var(--ink);padding:22px 20px 28px;overflow:hidden;background:var(--green);border-radius:24px 24px 0 0;border-top:3px solid var(--ink);box-shadow:0 -1px 0 var(--ink);margin:0 5px}.victory-stage:before{content:'';position:absolute;inset:12px;border:2px solid #20322a80;border-radius:15px;pointer-events:none;z-index:-1}.victory-rays{position:absolute;inset:-100%;background:repeating-conic-gradient(from 0deg,#fffdf02c 0deg 12deg,transparent 12deg 28deg);z-index:-2;transform:rotate(-15deg)}.victory-copy{position:relative;z-index:1;max-width:850px}.final-kicker{font-size:12px;font-weight:900;letter-spacing:1px;text-transform:uppercase}.victory-copy h1{font-size:clamp(45px,6vw,73px);text-transform:uppercase;line-height:.95;margin-top:8px}.champion-name{font-family:var(--display);font-size:clamp(33px,5vw,63px);font-weight:900;line-height:1.05;margin:13px auto 19px;transform:rotate(-2deg);background:var(--paper);border:3px solid var(--ink);padding:8px 22px 12px;box-shadow:5px 6px 0 var(--ink);border-radius:7px;max-width:100%;overflow-wrap:anywhere}.winner-and{font-size:.7em}.champion-medal{position:relative;width:140px;height:140px;display:flex;flex-direction:column;align-items:center;justify-content:center;margin:37px auto 14px;border-radius:50%;border:5px double var(--ink);background:var(--paper);box-shadow:0 5px 0 var(--ink);isolation:isolate}.medal-score{font-family:var(--display);font-size:78px;font-weight:900;line-height:.95;font-variant-numeric:tabular-nums}.medal-label{font-size:11px;font-weight:900}.victory-crown{position:absolute;left:29px;top:-40px;width:74px;height:54px;fill:var(--paper);stroke:var(--ink);stroke-width:3;transform:rotate(-9deg)}.medal-ribbon{position:absolute;z-index:-1;left:14px;right:14px;top:80px;height:100px;background:var(--orange);clip-path:polygon(0 0,40% 0,48% 90%,24% 75%,8% 100%,0 0,100% 0,92% 100%,76% 75%,52% 90%,60% 0,100% 0);filter:drop-shadow(2px 3px 0 var(--ink))}.champion-receipt{font-size:12px;font-weight:900;margin-top:26px}.champion-receipt span{padding:0 7px}.final-card-fan{position:absolute;inset:0;z-index:-1;opacity:.92;pointer-events:none}.final-card-fan img{position:absolute;width:143px;border-radius:9px;border:2px solid var(--ink);box-shadow:4px 6px 0 #20322a88;object-fit:contain;left:calc(5% + var(--card)*6%);bottom:calc(35px + var(--card)*18px);transform:rotate(calc(-24deg + var(--card)*9deg))}.final-card-fan img:nth-child(2){left:auto;right:2%;bottom:45px;transform:rotate(18deg)}.final-card-fan img:nth-child(3){left:auto;right:8%;bottom:83px;transform:rotate(6deg)}.final-sparkles{position:absolute;inset:0;z-index:3;pointer-events:none}.final-star,.final-streamer{position:absolute;width:25px;height:25px;background:var(--spark);clip-path:polygon(50% 0,63% 35%,100% 50%,63% 64%,50% 100%,37% 64%,0 50%,37% 35%);animation:final-star 1.25s ease-out both}.final-streamer{width:9px;height:25px;clip-path:none;border:1px solid var(--ink);border-radius:2px}.winning-trail{padding:20px 23px 17px;background:var(--paper);border:3px solid var(--ink);border-top:0;box-shadow:5px 6px 0 var(--ink);border-radius:0 0 10px 10px;margin:0 5px 27px}.trail-heading{display:flex;align-items:baseline;justify-content:space-between;gap:15px;margin-bottom:17px}.trail-heading h2{font-size:28px}.trail-heading p{font-size:11px;font-weight:800}.receipt-trail{display:grid;grid-template-columns:repeat(15,minmax(0,1fr));gap:7px}.trail-tile{display:flex;align-items:center;flex-direction:column;justify-content:center;padding:5px 3px;min-height:60px;border:2px solid var(--ink);border-radius:5px;background:var(--orange);box-shadow:0 3px 0 var(--ink);position:relative}.trail-tile.green{background:var(--green)}.trail-tile span{font-size:10px;font-weight:800}.trail-tile strong{font-family:var(--display);font-size:24px;font-weight:800;line-height:1.1}.trail-tile:hover{transform:translateY(-5px);box-shadow:0 8px 0 var(--ink)}.trail-legend{display:flex;align-items:center;gap:6px;margin-top:14px;font-size:9px;font-weight:900}.trail-legend>span.green-key,.trail-legend>span.orange-key{display:inline-block;width:10px;height:10px;border:1px solid;margin-left:10px;background:var(--green)}.trail-legend>span.orange-key{background:var(--orange)}.trail-click{margin-left:auto;font-size:10px}.rank-number{font-family:var(--display);font-size:20px;background:var(--orange);border:1px solid;padding:2px 7px;min-width:29px;text-align:center;flex-shrink:0}.is-winner .rank-number{background:var(--green)}.final-totals .total-row{display:grid;grid-template-columns:29px 1fr auto;gap:13px}.finale-v2 .final-totals{background:var(--paper);border:3px solid;box-shadow:4px 5px 0 var(--ink)}.personal-facts{display:flex;gap:25px;margin:19px 0 20px}.personal-facts>div{display:flex;flex-direction:column}.personal-facts b{font-family:var(--display);font-size:61px;line-height:1}.personal-facts span{font-size:11px;font-weight:800;margin-top:6px}.final-reel-controls{display:flex;gap:6px;flex-wrap:wrap}.final-reel-controls button{font-size:11px}.score-journey{padding:20px 23px;margin:28px 0 10px;background:#fffdf0c9;border:2px solid var(--ink);border-radius:8px}.score-journey h2{font-size:28px;margin-bottom:10px}.score-journey svg{width:100%;height:auto;overflow:visible;stroke:none;display:block}.score-journey svg path:not(.chart-baseline){fill:none;stroke:var(--line);stroke-width:3;stroke-linejoin:round;stroke-linecap:round}.score-journey svg .chart-baseline{stroke:var(--ink);stroke-width:1;stroke-dasharray:4 6}.chart-key{display:flex;gap:12px;flex-wrap:wrap;font-size:10px;font-weight:800}.chart-key span{display:flex;gap:5px;align-items:center}.chart-key i{width:16px;height:5px;background:var(--line);display:inline-block}.score-journey p{font-size:10px;margin-top:10px}.showtime .victory-rays{animation:victory-rays 14s linear infinite}.showtime .victory-stage{animation:curtain-open .7s cubic-bezier(.2,.7,.2,1.1) both}.showtime .champion-name{animation:champion-stamp .6s .4s cubic-bezier(.2,.7,.2,1.2) both}.showtime .champion-medal{animation:medal-land .7s .55s cubic-bezier(.2,.7,.2,1.2) both}.showtime .victory-crown{animation:crown-land .7s 1.1s cubic-bezier(.2,.8,.2,1.2) both}.showtime .trail-tile{animation:trail-reveal .4s calc(250ms + var(--step)*90ms) both}.trail-tile.earned-spark:before{content:'';position:absolute;left:calc(50% - 5px);top:-10px;width:10px;height:10px;background:var(--green-dark);clip-path:polygon(50% 0,65% 35%,100% 50%,65% 65%,50% 100%,35% 65%,0 50%,35% 35%);animation:earned-twinkle 1s ease-out both}.showtime .score-journey svg path:not(.chart-baseline){stroke-dasharray:1;stroke-dashoffset:1;animation:draw-score 1.8s calc(800ms + var(--i)*90ms) ease-out forwards}.showtime .total-row{animation:ledger-land .4s calc(1200ms + var(--row)*100ms) both}.showtime .final-card-fan img{animation:final-card-fan 1s calc(var(--card)*120ms) both}.no-motion .victory-rays{animation:none}.no-motion .final-sparkles{display:none}.no-motion .medal-score{font-variant-numeric:tabular-nums}
@keyframes table-drift{from{background-position:0 0}to{background-position:180px -180px}}@keyframes paper-idle{0%,100%{rotate:-.4deg}50%{rotate:.5deg}}@keyframes choice-pop{0%{scale:1}50%{scale:1.035}100%{scale:1}}@keyframes seal-board{from{transform:translateY(12px) rotate(-2deg)}to{transform:none}}@keyframes team-turn{0%{rotate:0deg;scale:1}35%{rotate:-15deg;scale:1.2}65%{rotate:10deg;scale:1.1}100%{rotate:0deg;scale:1}}@keyframes score-wink{0%{opacity:0;translate:0 10px}40%{opacity:1}100%{opacity:0;translate:0 -20px}}@keyframes result-unfold{from{scale:.6 1.4;opacity:0}to{scale:1;opacity:1}}@keyframes badge-sheen{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 100%)}}@keyframes round-spark{0%{opacity:0;transform:scale(.3)}25%{opacity:1}100%{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(var(--spin)) scale(.2)}}@keyframes victory-rays{to{rotate:360deg}}@keyframes curtain-open{from{clip-path:inset(0 49% 0 49%);opacity:0}to{clip-path:inset(0);opacity:1}}@keyframes champion-stamp{from{scale:1.45;opacity:0;rotate:7deg}to{scale:1;opacity:1;rotate:0deg}}@keyframes medal-land{from{translate:0 -65px;scale:.7;opacity:0}to{translate:0;scale:1;opacity:1}}@keyframes crown-land{from{translate:0 -50px;rotate:-30deg;opacity:0}to{translate:0;rotate:0deg;opacity:1}}@keyframes trail-reveal{from{rotate:y 90deg;opacity:0;translate:0 12px}to{rotate:y 0deg;opacity:1;translate:0}}@keyframes earned-twinkle{0%{opacity:0;scale:.5}30%{opacity:1;scale:1.5}100%{opacity:0;translate:0 -20px;rotate:90deg;scale:.3}}@keyframes draw-score{to{stroke-dashoffset:0}}@keyframes ledger-land{from{opacity:0;translate:25px 0}to{opacity:1;translate:0}}@keyframes final-card-fan{from{opacity:0;translate:0 120px}to{opacity:.92;translate:0}}@keyframes final-star{0%{opacity:0;scale:.3}20%{opacity:1;scale:1.3}100%{opacity:0;translate:var(--sx) var(--sy);rotate:var(--spin);scale:.2}}
@media(max-width:1050px){.final-card-fan img{width:110px;opacity:.6}.victory-stage{min-height:405px}.champion-name{max-width:85%}.trail-heading{align-items:flex-start}.receipt-trail{gap:5px}.trail-tile strong{font-size:23px}}
@media(max-width:760px){.victory-stage{min-height:415px;border-radius:15px 15px 0 0;padding:23px 13px;margin:0}.victory-stage:before{inset:8px}.final-kicker{font-size:10px}.victory-copy h1{font-size:47px}.champion-name{font-size:34px;max-width:94%;padding:7px 14px}.champion-medal{width:124px;height:124px;margin-top:37px}.medal-score{font-size:67px}.victory-crown{left:21px;top:-38px}.champion-receipt{max-width:260px;margin:24px auto 0;font-size:10px}.final-card-fan img{width:85px;opacity:.4}.final-card-fan img:first-child{left:-25px;bottom:50px}.final-card-fan img:nth-child(2){right:-25px;bottom:55px}.final-card-fan img:nth-child(3){display:none}.winning-trail{padding:17px 13px;margin:0 0 22px}.trail-heading{display:block;margin-bottom:13px}.trail-heading h2{font-size:25px}.trail-heading p{font-size:10px;margin-top:5px}.receipt-trail{grid-template-columns:repeat(8,minmax(0,1fr));gap:6px}.trail-tile{min-height:54px;padding:4px 0}.trail-tile strong{font-size:24px}.trail-tile span{font-size:9px}.trail-legend{font-size:8px;gap:4px;flex-wrap:wrap}.trail-legend>span.green-key,.trail-legend>span.orange-key{margin-left:3px}.trail-click{width:100%;text-align:center;margin-top:5px}.personal-facts{gap:35px}.personal-facts b{font-size:54px}.finale-v2 .final-grid{gap:20px}.finale-v2 .final-story{padding:5px 8px}.score-journey{padding:17px 12px;margin-top:20px}.score-journey h2{font-size:25px}.chart-key{gap:7px;font-size:9px}.score-journey svg{min-height:95px}.finale-v2 .final-totals h2{font-size:28px}.final-sparkles .final-star{width:18px;height:18px}}
@media(prefers-reduced-motion:reduce){.table-pattern,.question-paper:before,.question-paper:after{animation:none}.final-sparkles{display:none}}
