.dashboard-finale-links{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.dashboard-finale-links a{flex:1;min-width:130px;display:flex;align-items:center;justify-content:center;min-height:42px;padding:8px 12px;border:1px solid #c5aa62;border-radius:9px;background:#463d62;color:#fff;text-decoration:none;font-weight:700;text-align:center}.dashboard-finale-links a:last-child{background:#765b1d;border-color:#f1cc6c}.dashboard-finale-links a:focus-visible{outline:3px solid #fff;outline-offset:2px}
.finale-screen{position:fixed;inset:0;z-index:1800;overflow:hidden;display:grid;place-items:center;padding:clamp(12px,3vh,40px);background:radial-gradient(ellipse at 50% 110%,#26395d 0,#14243c 45%,#080f20 100%);color:white;text-align:center;font-family:Arial,sans-serif;isolation:isolate}.finale-glow{position:absolute;width:90vmin;height:90vmin;border:2px solid #e1bf6b66;border-radius:50%;box-shadow:0 0 80px #b68c3a22,inset 0 0 60px #b68c3a22;z-index:-1;animation:finale-glow 8s ease-in-out infinite}.finale-content{width:min(1500px,96vw);max-height:94dvh}.finale-kicker{font-size:clamp(13px,2vh,25px);letter-spacing:.18em;text-transform:uppercase;color:#e4cb87;margin-bottom:2vh}.finale-screen h1{font-size:clamp(28px,7vh,90px);margin:1.5vh 0}.finale-intro p,.finale-overview>p,.finale-applause{font-size:clamp(18px,3vh,38px);margin:2vh 0;color:#ccdae8}.finale-cup{font-size:clamp(56px,18vh,180px);animation:finale-rise .8s both}.finale-place{font-size:clamp(20px,4vh,55px);color:#f7e0a5;font-weight:bold;animation:finale-rise .6s both}.finale-rank{font-size:clamp(30px,13vh,140px);font-weight:900;line-height:1.15;margin:1vh;animation:finale-rise .65s both}.finale-teams{display:flex;flex-wrap:wrap;justify-content:center;gap:2vh;max-height:57vh;overflow:visible}.finale-team{min-width:200px;max-width:96%;flex:1 1 360px;background:#ffffff0c;border:1px solid #bcd1ef44;border-radius:20px;padding:clamp(12px,2vh,28px);animation:finale-rise .85s .3s both}.finale-team h2{font-size:clamp(25px,6vh,90px);margin:0;line-height:1.1;overflow-wrap:anywhere}.finale-points{font-size:clamp(22px,4vh,52px);font-weight:700;color:#79e8c0;margin-top:2vh}.finale-decision{font-size:clamp(13px,2vh,24px);margin:1vh 0 0;color:#d1daeb}.finale-winner{background:radial-gradient(ellipse at 50% 100%,#514024 0,#201c2e 50%,#0a1020 100%)}.finale-winner .finale-team{border-color:#ffda75;box-shadow:0 0 50px #e3b74444}.finale-winner .finale-points{color:#ffe296}.finale-confetti{position:absolute;inset:0;pointer-events:none;overflow:hidden}.finale-confetti i{position:absolute;top:-30px;width:10px;height:20px;animation:finale-fall 4.5s ease-in infinite}.finale-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4vh;max-height:65vh;overflow:auto}.finale-overview-grid article{display:flex;align-items:center;gap:16px;text-align:left;padding:1.5vh 18px;border:1px solid #ffffff26;border-radius:12px;background:#ffffff09;font-size:clamp(16px,2.7vh,34px)}.finale-overview-grid strong{color:#f5d677;min-width:45px}.finale-overview-grid span{flex:1;overflow-wrap:anywhere}.finale-overview-grid b{font-size:.8em;white-space:nowrap}
@keyframes finale-rise{from{opacity:0;transform:translateY(25px) scale(.96)}to{opacity:1;transform:none}}@keyframes finale-fall{to{transform:translateY(110vh) rotate(680deg)}}@keyframes finale-glow{50%{transform:scale(1.08);opacity:.5}}@media(prefers-reduced-motion:reduce){.finale-screen *{animation:none!important}.finale-confetti{display:none}}@media(max-width:650px){.finale-overview-grid{grid-template-columns:1fr}.finale-team{flex-basis:230px}.finale-team h2{font-size:clamp(24px,4vh,52px)}}
.finale-many .finale-rank{font-size:8vh}.finale-many .finale-teams{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-height:none;gap:1vh}.finale-many .finale-team{min-width:0;max-width:100%;padding:1.5vh}.finale-many .finale-team h2{font-size:clamp(18px,3.5vh,44px)}.finale-many .finale-points{font-size:clamp(18px,3vh,36px);margin-top:1vh}.finale-many .finale-decision{font-size:1.8vh}.finale-many .finale-applause{margin:1vh}@media(max-width:650px){.finale-many .finale-teams{grid-template-columns:repeat(2,minmax(0,1fr))}.finale-many .finale-team h2{font-size:clamp(16px,2.5vh,26px)}.finale-many .finale-place{font-size:3vh}}
