.offline-banner{position:fixed;bottom:0;left:0;right:0;background:linear-gradient(180deg,#b42828eb,#8c1818f5);color:#fff;font-size:max(13px,1.4vw);font-weight:700;text-align:center;padding:max(8px,1vmin) max(16px,2vw);letter-spacing:1.2px;text-transform:uppercase;z-index:200;transform:translateY(100%);transition:transform .3s ease;box-shadow:0 -4px 18px #00000080}.offline-banner.show{transform:translateY(0)}.offline-banner .ob-dot{display:inline-block;width:max(8px,1vw);height:max(8px,1vw);border-radius:50%;background:#ff8080;margin-right:10px;vertical-align:middle;animation:offline-pulse 1.5s ease-in-out infinite}@keyframes offline-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}@media (prefers-reduced-motion: reduce){.offline-banner .ob-dot{animation:none}.offline-banner{transition:opacity .25s}}.match-toast{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) translateY(-20px);opacity:0;pointer-events:none;display:flex;align-items:center;gap:max(10px,1.4vw);padding:max(14px,1.8vw) max(24px,3vw);border:3px solid var(--accent);border-radius:max(10px,1.2vw);z-index:150;transition:opacity .25s ease,transform .25s ease;white-space:nowrap}html:not(.pi-kiosk) .match-toast{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.match-toast.show{opacity:1;transform:translate(-50%,-50%)}.match-toast.variant-side{background:#00140cd9;border-color:var(--accent);box-shadow:0 10px 40px #00000080,0 0 0 4px #9abf281f;color:var(--text)}.match-toast.variant-gold{background:#191400e0;border-color:var(--gold);box-shadow:0 10px 40px #00000080,0 0 0 4px #ffd2341f;color:var(--gold);text-shadow:0 0 12px rgba(255,210,52,.35)}.match-toast.variant-info{background:#081220e0;border-color:#4db8ff;box-shadow:0 10px 40px #00000080,0 0 0 4px #4db8ff1f;color:var(--text)}.match-toast.variant-status{background:#141418e0;border-color:#8a93a0;box-shadow:0 10px 40px #0006;color:var(--muted)}.match-toast .mt-icon{font-size:max(28px,3vw);line-height:1;animation:mt-spin 2s linear infinite}.match-toast .mt-text{font-size:max(18px,2.4vw);font-weight:900;letter-spacing:max(2px,.2vw);text-transform:uppercase}@keyframes mt-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.match-toast{transition:opacity .2s}.match-toast.show{transform:translate(-50%,-50%)}.match-toast .mt-icon{animation:none}}.ad-image{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity .6s ease-in-out;pointer-events:none}.ad-image.active{opacity:1}@media (prefers-reduced-motion: reduce){.ad-image{transition:opacity .2s}}.ad-empty-hint{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--text-footer, var(--text));opacity:.6;font-size:max(14px,1.8vmin);font-weight:600;letter-spacing:1.5px;text-transform:uppercase;padding:0 max(16px,2vw);text-align:center;pointer-events:none}.ad-text-band{position:absolute;bottom:0;left:0;right:0;height:30%;display:flex;align-items:center;justify-content:center;padding:0 max(12px,1.5vw);background:linear-gradient(to top,#000000c7,#0000008c 60%,#0000);color:#fff;font-size:max(13px,2vmin);font-weight:700;letter-spacing:.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none;text-shadow:0 1px 3px rgba(0,0,0,.85)}.ad-text-band--solo{inset:0;height:100%;background:#00000073;letter-spacing:.5px}.ctrl-menu-wrap{position:relative;display:inline-block}.ctrl-menu-btn{background:transparent;border:1px solid rgba(255,255,255,.15);color:var(--text);font-size:max(18px,2.4vmin);width:max(32px,4.5vmin);height:max(32px,4.5vmin);border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-weight:700;transition:background .15s ease;padding:0;line-height:1}.ctrl-menu-btn:hover{background:#ffffff14}.ctrl-menu-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ctrl-menu-popup{position:absolute;top:calc(100% + 6px);right:0;min-width:220px;background:#081220f7;border:1px solid rgba(255,255,255,.12);border-radius:8px;box-shadow:0 8px 24px #00000080;padding:4px;z-index:180;display:flex;flex-direction:column;gap:2px}.ctrl-menu-item{display:flex;align-items:center;gap:8px;padding:10px 14px;background:transparent;border:none;color:var(--text);text-align:left;font-size:max(13px,1.6vmin);cursor:pointer;border-radius:5px;font-weight:500;transition:background .1s ease;font-family:inherit}.ctrl-menu-item:hover{background:#ffffff14}.ctrl-menu-item.danger{color:#ff8080}.ctrl-menu-item.danger:hover{background:#ff64641f}.ctrl-menu-sep{height:1px;background:#ffffff14;margin:4px 0}.closed-overlay{position:fixed;inset:0;display:none;flex-direction:column;align-items:center;justify-content:center;background:#04091af5;z-index:240;padding:max(24px,4vmin);gap:max(12px,2vmin);text-align:center}html:not(.pi-kiosk) .closed-overlay{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.closed-overlay.show{display:flex;animation:closed-fade-in .5s ease-out}@keyframes closed-fade-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.closed-icon{font-size:max(72px,14vmin);line-height:1;filter:drop-shadow(0 0 24px rgba(255,170,60,.3))}.closed-title{font-size:max(38px,8vmin);font-weight:900;color:var(--text);letter-spacing:2px;text-transform:uppercase;line-height:1.1}.closed-subtitle{font-size:max(20px,3.2vmin);font-weight:700;color:var(--gold, #ffd234);letter-spacing:4px;text-transform:uppercase}.closed-context{font-size:max(16px,2.2vmin);color:#ffffffb3;font-weight:600;letter-spacing:1px;margin-top:max(8px,1vmin)}.closed-hint{font-size:max(13px,1.6vmin);color:#ffffff80;max-width:80vw;line-height:1.5;margin-top:max(8px,1.5vmin)}@media (prefers-reduced-motion: reduce){.closed-overlay.show{animation:none}}.history-panel{display:flex;flex-direction:column;width:18%;min-width:180px;background:var(--surface);border-left:1px solid rgba(255,255,255,.08);flex-shrink:0;overflow:hidden}.history-header{padding:max(8px,1vmin) max(10px,1vw);background:#ffffff08;border-bottom:1px solid rgba(255,255,255,.06);display:flex;align-items:center;gap:max(4px,.5vw);flex-shrink:0}.history-header span{font-size:max(12px,1.4vmin);font-weight:800;text-transform:uppercase;letter-spacing:1.5px;color:var(--muted);flex:1}.hist-close-btn{background:transparent;border:none;color:var(--muted);font-size:max(14px,1.7vmin);cursor:pointer;padding:4px 8px;border-radius:4px;line-height:1}.hist-close-btn:hover{background:#ffffff14;color:var(--text)}.history-body{flex:1;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column}.history-body::-webkit-scrollbar{width:4px}.history-body::-webkit-scrollbar-track{background:transparent}.history-body::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:2px}.hist-empty{padding:24px 16px;text-align:center;color:var(--muted);font-size:max(11px,1.4vmin);font-style:italic}.hist-set-header{padding:8px 12px;background:#ffffff0a;border-bottom:1px solid rgba(255,255,255,.06);border-top:1px solid rgba(255,255,255,.06);font-size:max(10px,1.2vmin);font-weight:800;text-transform:uppercase;letter-spacing:1.5px;color:#ffffff80;display:flex;justify-content:space-between;flex-shrink:0}.hist-set-header .set-result{font-size:max(11px,1.3vmin);font-weight:900;color:var(--text)}.hist-game-row{display:flex;flex-direction:column;padding:6px 12px;border-bottom:1px solid rgba(255,255,255,.04);gap:4px;flex-shrink:0}.hist-game-row:hover{background:#ffffff08}.hist-game-top{display:flex;align-items:baseline;gap:8px;font-size:max(11px,1.4vmin);color:var(--text)}.hist-game-num{color:var(--muted);font-weight:700}.hist-game-label{font-weight:600}.hist-points-trail{display:flex;flex-wrap:wrap;gap:3px}.hist-pt{width:max(8px,1vmin);height:max(8px,1vmin);border-radius:50%;display:inline-block;flex-shrink:0}.hist-pt.t0{background:#ffffffd9}.hist-pt.t1{background:#ffffff59}.hist-event-row{padding:6px 12px;font-size:max(11px,1.3vmin);color:var(--muted);border-bottom:1px solid rgba(255,255,255,.04);flex-shrink:0}.hist-event-row.match-end{background:#ffd23414;color:var(--gold);font-weight:700}.hist-event-row.hist-admin-action{background:#ffffff08;color:var(--text);font-weight:600;border-left:3px solid var(--accent);padding-left:9px}:root{--serve: #ffd234;--t1-bg: transparent;--t2-bg: transparent;--t1-hover: rgba(154, 191, 40, .08);--t2-hover: rgba(154, 191, 40, .08);--divider-bg: rgba(255, 255, 255, .06);--game-box-color: var(--text);--game-box-bg: transparent;--set-color: #ffffff}.score-content{display:flex;flex-direction:column;height:100%;width:100%;background:var(--bg);position:relative;box-shadow:inset 0 0 max(80px,12vw) var(--screen-glow)}.tv-topbar{display:flex;align-items:center;justify-content:space-between;padding:max(12px,2vmin) max(16px,2vw);border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0;position:relative}.tv-topbar-left,.tv-topbar-right{display:flex;align-items:center;gap:max(10px,1.4vw);min-width:12vw}.tv-topbar-right{justify-content:flex-end}.tv-topbar-center{display:flex;align-items:center;justify-content:center;flex:1;min-width:0;padding:0 max(12px,1.5vw)}.tv-topbar-logo{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);height:7.5vmin;max-width:34vw;object-fit:contain}.topbar-timer{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;font-size:max(24px,4.6vmin);font-weight:700;color:var(--text-topbar, var(--text));font-variant-numeric:tabular-nums}.tv-topbar-title{display:inline-flex;align-items:baseline;font-size:max(20px,3.6vmin);font-weight:700;color:var(--text-topbar, var(--text));letter-spacing:max(1px,.15vw);text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.tv-topbar-sep{margin:0 max(8px,1vw);color:var(--text-topbar, var(--text));opacity:.5;font-weight:400}.score-body{display:flex;flex-direction:column;flex:1;min-height:0}.score-body.history-open{flex-direction:row}.score-body.history-open .tv-teams{flex:1;min-width:0}.score-body.history-open .tr-set{font-size:max(24px,min(18vh,7vw))}.score-body.history-open .tr-game-inner{font-size:max(20px,min(30vh,10.7vw))}.tv-teams{display:flex;flex-direction:column;flex:1;min-height:0}.set-headers{display:grid;grid-template-columns:var(--score-grid-cols);align-items:center;padding:max(8px,1.4vmin) max(16px,2vw);border-bottom:1px solid var(--divider-bg);flex-shrink:0;background:#ffffff05}.sh-cell{font-size:max(18px,3vmin);color:var(--muted);text-align:center;letter-spacing:1.5px;text-transform:uppercase;font-weight:600}.sh-name{text-align:left}.team-row{display:grid;grid-template-columns:var(--score-grid-cols);align-items:center;padding:0 max(16px,2vw) 0 max(8px,1vw);flex:1;min-height:0;cursor:pointer;user-select:none;transition:background .15s ease}.team-row.t1{background:var(--t1-bg)}.team-row.t2{background:var(--t2-bg)}.team-row.t1:hover{background:var(--t1-hover)}.team-row.t2:hover{background:var(--t2-hover)}.team-row.t1{border-left:4px solid var(--t1)}.team-row.t2{border-left:4px solid var(--t2)}.team-row:active{background:var(--a2)}.tr-name{container-type:inline-size;display:flex;align-items:center;gap:max(8px,1vw);padding:0 max(6px,1.8vw) 0 0;min-width:0;border-right:1px solid var(--dim)}.tr-team-name{font-size:clamp(10px,15cqi,150px);font-weight:900;letter-spacing:-.5px;line-height:1.12;color:var(--text);min-width:0;width:100%;overflow:hidden;display:flex;flex-direction:column;justify-content:center}@supports not (container-type: inline-size){.tr-team-name{font-size:max(10px,min(12.5vh,7.3vw))}}.tr-player{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tr-player-2{margin-top:.08em}.tr-player--serving{color:var(--serve);font-weight:800}.tr-serve-ball{width:max(14px,2vw);height:max(14px,2vw);border-radius:50%;background:var(--serve);box-shadow:0 0 .4vw var(--serve),0 0 0 max(2px,.3vw) #ffd23440;flex-shrink:0;opacity:0;transition:opacity .3s}.team-row.serving .tr-serve-ball{opacity:1;animation:serve-pulse 1.8s ease-in-out infinite}@keyframes serve-pulse{0%,to{transform:scale(1);box-shadow:0 0 .4vw var(--serve),0 0 0 max(2px,.3vw) #ffd23440}50%{transform:scale(1.12);box-shadow:0 0 .8vw var(--serve),0 0 0 max(4px,.5vw) #ffd23459}}.tr-set{display:flex;align-items:center;justify-content:center;font-size:max(24px,min(22vh,8.5vw));font-weight:500;color:var(--set-color, #ffffff);opacity:.16;font-variant-numeric:tabular-nums;transition:opacity .3s,color .3s,font-weight .3s}.tr-set.active{opacity:.78;font-weight:700}.team-row.t1 .tr-set.won-0{opacity:.95;font-weight:900}.team-row.t1 .tr-set.won-1{opacity:.18}.team-row.t2 .tr-set.won-1{opacity:.95;font-weight:900}.team-row.t2 .tr-set.won-0{opacity:.18}.tr-game{display:flex;align-items:center;justify-content:center;background:var(--game-box-bg);margin:3% 4%;border-radius:max(6px,.8vw);overflow:hidden;box-sizing:border-box;transition:border-color .25s ease;border:1px solid rgba(255,255,255,.06);padding:max(4px,.6vw) max(20px,2.5vw)}.tr-game.scored{border:max(5px,.6vw) solid var(--accent)}.tr-game.scored .tr-game-inner{color:var(--scored-color)}.tr-game-inner{font-size:max(20px,min(36vh,13vw));font-weight:900;letter-spacing:0;color:var(--game-box-color);text-align:center;line-height:1;font-variant-numeric:tabular-nums;will-change:transform}@keyframes pop-score{0%{transform:scale(1.07)}to{transform:scale(1)}}.tr-game-inner.pop{animation:pop-score .18s cubic-bezier(.34,1.56,.64,1);transform-origin:center center}.team-row-divider{height:3px;background:var(--divider-bg);flex-shrink:0;position:relative}.score-content .match-toast{position:absolute;top:50%;left:50%}.score-content.match-paused:after{content:"⏸ PAUSADO";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0000008c;color:var(--gold);font-size:max(48px,10vw);font-weight:900;letter-spacing:max(4px,.8vw);text-shadow:0 4px 24px rgba(0,0,0,.8),0 0 40px rgba(255,210,52,.3);z-index:140;pointer-events:none;animation:paused-pulse 2.5s ease-in-out infinite}html:not(.pi-kiosk) .score-content.match-paused:after{backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}@keyframes paused-pulse{0%,to{opacity:.92}50%{opacity:.72}}.bottom-strip{display:flex;align-items:stretch;height:max(80px,13vmin);background:var(--surface);border-top:1px solid var(--divider-bg);flex-shrink:0;position:relative}.bottom-strip-logo{flex:0 0 max(240px,40vmin);height:100%;display:flex;align-items:center;justify-content:flex-start}.bottom-strip-logo img{height:100%;width:auto;max-width:100%;object-fit:contain;display:block}.bottom-strip-ads{flex:1 1 0;min-width:0;position:relative;overflow:hidden}.bottom-strip-right{flex:0 0 max(240px,40vmin);height:100%;display:flex;align-items:center;justify-content:flex-end;gap:max(10px,1.4vmin);min-width:0}.bottom-strip-court{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:max(16px,2.6vmin);font-weight:700;letter-spacing:.02em;color:var(--text-footer, var(--text))}.bottom-strip-qr{aspect-ratio:1;height:100%;flex-shrink:0;background:#fff;border-radius:0;padding:0;margin:0;border-left:1px solid var(--divider-bg);box-sizing:border-box}.bottom-strip-qr img{width:100%;height:100%;object-fit:contain;display:block}@media (prefers-reduced-motion: reduce){.team-row.serving .tr-serve-ball,.tr-game-inner.pop{animation:none}.score-content.match-paused:after{animation:none;opacity:.85}}.scoreboard-libre-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;background:var(--bg);color:var(--text);gap:24px;text-align:center;padding:32px}.scoreboard-libre-placeholder h1{font-size:max(40px,6vw);letter-spacing:4px;text-transform:uppercase;color:var(--accent)}.scoreboard-libre-placeholder p{color:var(--muted);font-size:max(16px,2vw)}.takeover{position:fixed;inset:0;z-index:50;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:max(16px,3vmin);background:var(--bg);overflow:hidden}.takeover-media{max-width:80vw;max-height:64vh;object-fit:contain;border-radius:max(8px,1.4vmin)}.takeover-text{display:flex;flex-direction:column;align-items:center;gap:max(6px,1.2vmin);text-align:center;padding:0 max(24px,5vw)}.takeover-sponsor{font-size:max(28px,6vmin);font-weight:900;letter-spacing:max(1px,.4vw);text-transform:uppercase;color:var(--accent);line-height:1}.takeover-caption{font-size:max(18px,3vmin);font-weight:600;color:#ffffffe6;line-height:1.3;max-width:28ch}.takeover-tag{position:absolute;bottom:max(16px,3vmin);font-size:max(11px,1.4vmin);letter-spacing:2px;text-transform:uppercase;font-weight:600;color:#ffffff47}.bc-screen{position:relative;height:100%;width:100%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#04091a;color:var(--text)}.bc-bg{position:absolute;inset:0;z-index:0;background:radial-gradient(120% 120% at 50% 0%,#0b1e3a,#04091a 70%);background-size:cover;background-position:center}.bc-bg--img{background-size:cover;background-position:center}html:not(.pi-kiosk) .bc-bg--img{animation:bc-kenburns 40s ease-in-out infinite alternate}@keyframes bc-kenburns{0%{transform:scale(1)}to{transform:scale(1.09) translate(-1.5%,-1%)}}.bc-grad{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,#04091a8c,#04091a26 35%,#04091abf),radial-gradient(80% 60% at 50% 45%,#0000 40%,#04091a8c)}.bc-bug{position:absolute;top:max(16px,2.4vmin);right:max(16px,2vw);z-index:3;display:flex;flex-direction:column;align-items:flex-end;gap:4px}.bc-bug-label{font-size:max(9px,1.1vmin);letter-spacing:2px;text-transform:uppercase;font-weight:700;color:#ffffff80}.bc-bug-img{max-height:max(40px,7vmin);max-width:max(120px,16vw);object-fit:contain;filter:drop-shadow(0 4px 12px rgba(0,0,0,.5))}.bc-card{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:max(8px,1.4vmin);padding:max(24px,4vmin) max(28px,4vw);margin-bottom:max(56px,11vmin);border-radius:max(16px,2.2vmin);border:1px solid rgba(255,255,255,.12);text-align:center;background:#080e1ebd;box-shadow:0 24px 64px #00000080}html:not(.pi-kiosk) .bc-card{background:#080e1e6b;backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2)}.bc-kicker{font-size:max(11px,1.5vmin);letter-spacing:2px;text-transform:uppercase;font-weight:700;color:var(--accent)}.bc-title{font-size:max(34px,6.5vmin);font-weight:900;letter-spacing:max(3px,.5vw);text-transform:uppercase;color:#fff;margin:0;line-height:1;text-shadow:0 2px 24px rgba(0,0,0,.5)}.bc-welcome{font-size:max(14px,2vmin);color:#ffffffc7;font-style:italic;margin:0;max-width:36ch}.bc-qr-wrap{margin-top:max(4px,.8vmin)}.bc-qr{width:max(200px,30vmin);height:max(200px,30vmin);background:#fff;padding:max(8px,1.2vmin);border-radius:max(10px,1.4vmin);box-shadow:0 10px 30px #00000080}.bc-steps{display:flex;gap:max(14px,2.5vw);list-style:none;margin:max(2px,.5vmin) 0 0;padding:0;font-size:max(14px,2vmin);font-weight:700;color:#ffffffeb}.bc-steps li{display:flex;align-items:center;gap:max(5px,.7vw)}.bc-step-num{display:inline-flex;align-items:center;justify-content:center;width:max(22px,3vmin);height:max(22px,3vmin);border-radius:50%;background:var(--accent);color:#04091a;font-weight:900;font-size:max(12px,1.7vmin);flex-shrink:0}.bc-chyron{position:absolute;left:0;right:0;bottom:max(56px,9vmin);z-index:3;display:flex;align-items:center;gap:max(8px,1vw);padding:max(8px,1.4vmin) max(20px,3vw);background:linear-gradient(90deg,#9abf282e,#04091a99 30% 100%);border-left:max(4px,.5vw) solid var(--accent)}html:not(.pi-kiosk) .bc-chyron{animation:bc-slide .45s ease}@keyframes bc-slide{0%{transform:translate(-14px);opacity:0}to{transform:translate(0);opacity:1}}.bc-chyron-icon{font-size:max(16px,2.4vmin);flex-shrink:0}.bc-chyron-text{font-size:max(14px,2.2vmin);font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bc-lower{position:absolute;left:0;right:0;bottom:0;z-index:3;height:max(56px,9vmin);display:flex;align-items:center;justify-content:space-between;gap:max(12px,2vw);padding:0 max(20px,3vw);background:linear-gradient(180deg,#04091a00,#04091aeb 60%);border-top:1px solid rgba(255,255,255,.08)}.bc-lower-left{display:flex;align-items:center;gap:max(10px,1.4vw);min-width:0;flex:1 1 auto}.bc-lower-logo{height:max(44px,7vmin);width:auto;max-width:20vw;flex-shrink:0;object-fit:contain}.bc-lower-logo--gameup{opacity:.85}.bc-lower-identity{display:flex;align-items:baseline;gap:max(6px,.8vw);min-width:0}.bc-lower-sede{font-size:max(15px,2.4vmin);font-weight:600;color:#ffffff9e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bc-lower-sep{color:#ffffff4d}.bc-lower-court{font-size:max(16px,2.6vmin);font-weight:800;color:#fff;white-space:nowrap}.bc-lower-right{display:flex;align-items:center;gap:max(12px,1.6vw);flex-shrink:0}.bc-clock{font-size:max(16px,2.6vmin);font-weight:700;color:#ffffffe6;font-variant-numeric:tabular-nums;letter-spacing:1px}.bc-conn{display:inline-flex;align-items:center;gap:6px;font-size:max(11px,1.5vmin);color:#fff9}.bc-conn-dot{width:max(7px,.9vmin);height:max(7px,.9vmin);border-radius:50%;background:var(--accent);box-shadow:0 0 8px #9abf2899}.bc-conn--off{color:#ffb454}.bc-conn--off .bc-conn-dot{background:#ff5d5d;box-shadow:0 0 8px #ff5d5d99}.libre-screen{display:flex;flex-direction:column;height:100%;width:100%;background:var(--bg);color:var(--text);position:relative;overflow:hidden}.libre-screen.has-bg{background-image:linear-gradient(180deg,#090e0c7a,#090e0c52 45%,#090e0c85),var(--libre-bg-url);background-size:cover;background-position:center;background-repeat:no-repeat}.libre-screen.has-bg .libre-header{background:linear-gradient(to bottom,#090e0cd1,#090e0c8c 72%,#090e0c00);border-bottom:none}.libre-screen.has-bg .libre-footer{background:linear-gradient(to top,#090e0ce0,#090e0cb3,#090e0c80)}.libre-screen.has-bg .libre-title{font-size:max(24px,4.5vmin);letter-spacing:.015em;white-space:nowrap}.libre-screen.has-bg .libre-cta{font-size:max(13px,2.2vmin);white-space:nowrap}.libre-screen.has-bg .libre-action{align-self:center;padding:max(14px,2.2vmin) max(26px,3vw);border:1px solid rgba(255,255,255,.12);border-radius:max(16px,2.2vmin);background:#0c120fb8;box-shadow:0 18px 52px #00000073;max-width:min(94%,67vmin);margin-inline:auto}.libre-screen.has-bg .libre-card{border-color:#ffffff1f;background:#0c120fb8;box-shadow:0 18px 52px #00000073}html:not(.pi-kiosk) .libre-screen.has-bg .libre-action,html:not(.pi-kiosk) .libre-screen.has-bg .libre-card{background:#0c120f66;backdrop-filter:blur(16px) saturate(1.15);-webkit-backdrop-filter:blur(16px) saturate(1.15)}.libre-header{flex-shrink:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:max(12px,2vw);min-height:max(64px,9.7vmin);padding:0 max(20px,3vw);border-bottom:1px solid rgba(255,255,255,.06)}.libre-header-brand{display:flex;align-items:center;justify-self:start}.libre-header-meta{display:flex;align-items:center;gap:max(8px,1vw);justify-self:end}.libre-client-logo{height:max(40px,7vmin);width:auto;max-width:28vw;flex-shrink:0;object-fit:contain}.libre-brand-logo{height:max(52px,8.3vmin)}.libre-header-identity{display:flex;align-items:baseline;justify-content:center;gap:max(6px,.8vw);min-width:0;justify-self:center}.libre-identity-sede{font-size:max(16px,2.6vmin);font-weight:600;color:#fff9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.libre-identity-sep{color:#ffffff4d;font-size:max(16px,2.6vmin)}.libre-court-name{font-size:max(18px,3vmin);font-weight:800;color:#fff;letter-spacing:.5px;white-space:nowrap}.libre-clock{font-size:max(18px,3vmin);font-weight:700;color:#ffffffd9;font-variant-numeric:tabular-nums;letter-spacing:1px}.libre-main{flex:1;min-height:0;display:grid;grid-template-columns:1.15fr .85fr;gap:max(16px,2.5vw);padding:max(16px,2.5vmin) max(24px,3.5vw);overflow:hidden}.libre-action{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:max(10px,1.8vmin);min-width:0;text-align:center}.libre-title{font-size:max(32px,6vmin);font-weight:900;letter-spacing:max(3px,.5vw);text-transform:uppercase;color:var(--accent);margin:0;line-height:1;text-shadow:0 0 30px rgba(154,191,40,.25)}.libre-cta{font-size:max(16px,2.5vmin);font-weight:700;color:#ffffffeb;margin:0}.libre-qr-wrap{display:flex;align-items:center;justify-content:center;margin-top:max(4px,.8vmin)}.libre-qr{width:max(270px,42vmin);height:max(270px,42vmin);background:#fff;padding:max(10px,1.4vmin);border-radius:max(10px,1.4vmin);box-shadow:0 10px 30px #00000073}.libre-steps{display:flex;align-items:center;justify-content:center;gap:max(12px,2vw);list-style:none;margin:max(2px,.5vmin) 0 0;padding:0}.libre-step{display:flex;align-items:center;gap:max(6px,.7vw);font-size:max(14px,2vmin);font-weight:700;color:#ffffffe6}.libre-step-num{display:inline-flex;align-items:center;justify-content:center;width:max(24px,3.2vmin);height:max(24px,3.2vmin);border-radius:50%;background:var(--accent);color:#04091a;font-weight:900;font-size:max(13px,1.8vmin);flex-shrink:0}.libre-reassure{font-size:max(12px,1.6vmin);color:var(--muted);letter-spacing:1px;text-transform:uppercase;font-weight:600;margin:0}.libre-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:max(12px,2vmin);min-width:0}.libre-panel-stack{position:relative;width:100%;height:max(240px,46vmin)}.libre-panel-card{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;transition:opacity .5s ease-in-out;pointer-events:none}.libre-panel-card.active{opacity:1}@media (prefers-reduced-motion: reduce){.libre-panel-card{transition:opacity .2s}}.libre-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:max(8px,1.4vmin);width:min(92%,67vmin);padding:max(20px,3.4vmin) max(20px,2.6vw);border:1px solid rgba(255,255,255,.08);border-radius:max(12px,1.6vmin);background:#ffffff08;text-align:center}.libre-card-kicker{font-size:max(11px,1.4vmin);letter-spacing:2px;text-transform:uppercase;font-weight:700;color:var(--accent)}.libre-card--promo .libre-card-kicker,.libre-card--evento .libre-card-kicker{color:var(--gold)}.libre-card--aviso .libre-card-kicker{color:#ffb454}.libre-card--wifi .libre-card-kicker{color:#5ec8ff}.libre-card--regla .libre-card-kicker{color:#ffffff8c}.libre-card--sponsor .libre-card-kicker{color:var(--gold)}.libre-sponsor-media{max-width:90%;max-height:max(80px,16vmin);object-fit:contain;border-radius:max(6px,1vmin)}.libre-footer-sponsor{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:max(8px,1vw);padding:0 max(12px,1.5vw);overflow:hidden}.libre-footer-sponsor-img{max-height:70%;max-width:30%;object-fit:contain}.libre-footer-sponsor-text{font-size:max(12px,1.6vmin);color:#ffffffc7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.libre-footer-sponsor-text b{color:#fff;font-weight:800}.libre-card-icon{font-size:max(34px,6vmin);line-height:1}.libre-card-title{font-size:max(20px,3vmin);font-weight:800;color:var(--text)}.libre-card-sub{font-size:max(14px,2vmin);font-weight:400;color:#fff9;line-height:1.35;max-width:36ch}.libre-welcome{font-size:max(16px,2.4vmin);color:#ffffffd1;font-weight:400;line-height:1.4;margin:0;font-style:italic;max-width:32ch}.libre-preload-card{display:flex;flex-direction:column;align-items:center;gap:max(6px,1vmin);width:min(92%,67vmin);padding:max(20px,3.4vmin) max(20px,2.6vw);border:2px solid var(--gold);border-radius:max(12px,1.6vmin);background:#ffd2340d;box-shadow:0 4px 20px #ffd2341f;text-align:center}.libre-preload-label{font-size:max(11px,1.4vmin);color:var(--gold);letter-spacing:2px;text-transform:uppercase;font-weight:700}.libre-preload-teams{font-size:max(18px,2.8vmin);font-weight:800;color:var(--text);letter-spacing:.5px;line-height:1.2}.libre-panel-dots{display:flex;align-items:center;gap:max(6px,.8vmin)}.libre-dot{width:max(7px,.9vmin);height:max(7px,.9vmin);border-radius:999px;background:#ffffff38;transition:background .3s,width .3s}.libre-dot.active{width:max(20px,2.6vmin);background:var(--accent)}.libre-footer{flex-shrink:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:max(12px,2vw);height:max(54px,9vmin);padding:0 max(20px,3vw);border-top:1px solid rgba(255,255,255,.06);background:#ffffff04}.libre-footer-brand{justify-self:start;display:flex;align-items:center}.libre-powered-logo{height:max(48px,8vmin);opacity:1}.libre-footer-ads{position:relative;justify-self:center;width:max(180px,40vw);height:100%;overflow:hidden}.libre-footer-ads:empty{width:0}.libre-footer-status{justify-self:end;display:flex;align-items:center;gap:max(10px,1.4vw);font-size:max(11px,1.4vmin);color:#fff6;font-family:ui-monospace,SFMono-Regular,monospace}.libre-conn{display:inline-flex;align-items:center;gap:6px;color:#ffffff80}.libre-conn-dot{width:max(7px,.9vmin);height:max(7px,.9vmin);border-radius:50%;background:var(--accent);box-shadow:0 0 8px #9abf2899}.libre-conn--off{color:#ffb454}.libre-conn--off .libre-conn-dot{background:#ff5d5d;box-shadow:0 0 8px #ff5d5d99}.libre-elapsed{color:#fff6}.libre-build{color:#ffffff47}.configuring-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;width:100%;background:var(--bg);color:var(--text);text-align:center;gap:max(10px,1.8vmin);padding:max(20px,4vmin);overflow:hidden}.cfg-ball-hero{position:relative;display:inline-grid;place-items:center;isolation:isolate;line-height:0}.cfg-ball-hero:before{content:"";position:absolute;inset:-18%;z-index:0;border-radius:50%;background:radial-gradient(closest-side,var(--accent),transparent 65%);opacity:.45}.cfg-ball-img{position:relative;z-index:1;width:max(72px,16vmin);height:auto;display:block}.cfg-title{font-size:max(34px,7vmin);font-weight:900;letter-spacing:max(3px,.5vw);text-transform:uppercase;color:var(--accent);margin:0;line-height:1;text-shadow:0 0 30px rgba(154,191,40,.25)}.cfg-sub{font-size:max(18px,3vmin);font-weight:700;color:#ffffffeb;margin:0;max-width:26ch}.cfg-hint{font-size:max(13px,1.8vmin);color:var(--muted);letter-spacing:1px;text-transform:uppercase;font-weight:600;margin:0}.recap-screen{position:relative;height:100%;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:max(20px,4vmin);background:radial-gradient(120% 120% at 50% 0%,#0b1e3a 0%,var(--bg, #04091a) 70%);color:var(--text, #fff);text-align:center;padding:max(24px,5vmin);overflow:hidden}.recap-confetti{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}.recap-confetti-piece{position:absolute;top:-6%;width:10px;height:13px;border-radius:2px;background:var(--accent, #9ABF28);opacity:0}.recap-confetti-piece:nth-child(3n){background:#ffd234}.recap-confetti-piece:nth-child(3n+1){background:#4db8ff}html:not(.pi-kiosk) .recap-confetti-piece{animation:recap-fall 3.4s ease-in forwards}@keyframes recap-fall{0%{transform:translateY(-12vh) rotate(0);opacity:1}to{transform:translateY(108vh) rotate(440deg);opacity:.85}}.recap-top{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:max(6px,1.2vmin)}.recap-trophy{font-size:max(48px,10vmin);line-height:1;filter:drop-shadow(0 0 26px rgba(154,191,40,.4))}html:not(.pi-kiosk) .recap-trophy{animation:recap-pop .5s ease-out}@keyframes recap-pop{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}.recap-kicker{font-size:max(12px,1.6vmin);letter-spacing:3px;text-transform:uppercase;font-weight:700;color:var(--accent, #9ABF28)}.recap-winner{margin:0;font-size:max(34px,7vmin);font-weight:900;letter-spacing:max(1px,.3vw);color:#fff;line-height:1.02;text-shadow:0 2px 30px rgba(0,0,0,.4)}.recap-vs{margin:0;font-size:max(16px,2.4vmin);color:#fff9;font-weight:600}.recap-score{margin-top:max(4px,1vmin);font-size:max(28px,5.5vmin);font-weight:800;letter-spacing:max(2px,.6vw);color:var(--accent, #9ABF28);font-variant-numeric:tabular-nums}.recap-stats{display:flex;gap:max(14px,3vw);margin-top:max(10px,2vmin)}.recap-stat{display:flex;flex-direction:column;align-items:center;gap:2px}.recap-stat-v{font-size:max(20px,3.4vmin);font-weight:800;color:#fff}.recap-stat-l{font-size:max(10px,1.4vmin);text-transform:uppercase;letter-spacing:1.5px;color:#ffffff80;font-weight:600}.recap-cta{position:relative;z-index:1;display:flex;align-items:center;gap:max(16px,2.5vw);background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:max(14px,2vmin);padding:max(14px,2vmin) max(18px,2.5vw)}.recap-qr{width:max(120px,18vmin);height:max(120px,18vmin);background:#fff;padding:max(6px,1vmin);border-radius:max(8px,1.2vmin);display:block}.recap-cta-text{display:flex;flex-direction:column;align-items:flex-start;gap:max(2px,.6vmin);text-align:left}.recap-cta-title{font-size:max(18px,2.8vmin);font-weight:800;color:#fff}.recap-cta-sub{font-size:max(12px,1.7vmin);color:#fff9;max-width:24ch}.recap-footer{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:max(8px,1.1vmin);font-size:max(11px,1.5vmin);color:#fff6;letter-spacing:1px;text-transform:uppercase}.recap-gameup-logo{height:max(20px,2.8vmin);opacity:.85}.setup-screen{position:relative;display:flex;flex-direction:column;height:100%;width:100%;background:var(--bg);color:var(--text);overflow:hidden}.setup-iso-bg{position:absolute;bottom:-10vh;right:-10vw;width:60vh;height:60vh;opacity:.05;pointer-events:none;transform:rotate(-15deg);user-select:none}.setup-header{display:flex;align-items:center;justify-content:space-between;padding:max(20px,3vmin) max(32px,4vw);flex-shrink:0;z-index:1}.setup-logo{height:max(48px,6vmin);width:auto}.setup-tag{margin:0;font-size:max(13px,1.4vmin);color:var(--text-muted, rgba(255,255,255,.5));letter-spacing:.18em;text-transform:uppercase;font-weight:500}.setup-main{flex:1;display:flex;align-items:center;justify-content:center;padding:max(24px,4vw);z-index:1;min-height:0}.setup-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:max(40px,5vw);align-items:center;max-width:1400px;width:100%}.setup-info{display:flex;flex-direction:column;gap:max(20px,2.5vmin)}.setup-title{margin:0;font-size:max(48px,7vmin);font-weight:900;letter-spacing:-.02em;line-height:1.05;text-transform:none;color:var(--text)}.setup-title .accent{color:var(--accent);text-shadow:0 0 24px rgba(154,191,40,.3)}.setup-lead{margin:0;font-size:max(18px,2.4vmin);color:#ffffffbf;line-height:1.45;font-weight:400}.setup-ssid-card{display:flex;flex-direction:column;gap:4px;padding:max(16px,2vmin) max(20px,2.5vw);background:linear-gradient(135deg,#9abf281f,#9abf280a);border:2px solid var(--accent);border-radius:12px}.setup-ssid-label{font-size:max(12px,1.4vmin);text-transform:uppercase;letter-spacing:.12em;color:var(--accent);font-weight:600}.setup-ssid-value{font-family:var(--font-mono, "SF Mono", Monaco, monospace);font-size:max(20px,3.2vmin);font-weight:700;color:var(--text);word-break:break-all;letter-spacing:.02em}.setup-ssid-hint{font-size:max(12px,1.4vmin);color:#ffffff80;margin-top:4px}.setup-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:max(10px,1.5vmin);counter-reset:setup-step}.setup-steps li{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;font-size:max(15px,2vmin);color:#ffffffd9;line-height:1.4}.setup-step-num{display:inline-flex;align-items:center;justify-content:center;width:max(28px,3.5vmin);height:max(28px,3.5vmin);background:var(--bg-elevated, rgba(255,255,255,.08));border:1px solid rgba(255,255,255,.15);color:var(--accent);border-radius:50%;font-size:max(14px,1.8vmin);font-weight:700;flex-shrink:0}.setup-qr-wrap{display:flex;flex-direction:column;align-items:center;gap:max(12px,1.5vmin)}.setup-qr-frame{background:#fff;padding:max(16px,2vmin);border-radius:16px;box-shadow:0 12px 48px #9abf2826,0 4px 16px #0000004d;width:max(280px,42vmin);height:max(280px,42vmin);display:flex;align-items:center;justify-content:center}.setup-qr{width:100%;height:100%;object-fit:contain}.setup-qr-caption{margin:0;font-size:max(13px,1.6vmin);color:#ffffff80;letter-spacing:.04em;text-align:center}.setup-footer{display:flex;align-items:center;justify-content:center;gap:16px;padding:max(16px,2vmin) max(32px,4vw);border-top:1px solid rgba(255,255,255,.08);flex-shrink:0;z-index:1}.setup-footer-spinner{width:14px;height:14px;border:2px solid rgba(154,191,40,.25);border-top-color:var(--accent);border-radius:50%;animation:setup-spin 1.2s linear infinite}@keyframes setup-spin{to{transform:rotate(360deg)}}.setup-footer-text{display:flex;align-items:center;gap:16px;font-size:max(12px,1.4vmin)}.setup-footer-label{color:#ffffff8c;letter-spacing:.06em}.setup-footer-id{font-family:var(--font-mono, "SF Mono", Monaco, monospace);color:#fff6;padding:4px 10px;background:#ffffff0a;border-radius:6px;font-size:.9em}@media (max-aspect-ratio: 1/1),(max-width: 800px){.setup-grid{grid-template-columns:1fr;gap:max(24px,3vmin);text-align:center}.setup-steps li{text-align:left}.setup-ssid-value{font-size:max(18px,2.6vmin)}.setup-qr-frame{width:max(240px,36vmin);height:max(240px,36vmin)}.setup-iso-bg{bottom:-20vh;opacity:.03}}.serve-overlay{position:fixed;inset:0;display:none;flex-direction:column;align-items:center;justify-content:center;background:#080c16f7;z-index:240;padding:max(24px,4vmin);gap:max(14px,2.4vmin);text-align:center}.serve-overlay.show{display:flex;animation:serve-fade-in .35s ease-out}@keyframes serve-fade-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.serve-ball-hero{position:relative;display:inline-grid;place-items:center;isolation:isolate;line-height:0}.serve-ball-hero:before{content:"";position:absolute;inset:-16%;z-index:0;border-radius:50%;background:radial-gradient(closest-side,var(--serve),transparent 65%);opacity:.5;animation:serve-glow-pulse 1.5s ease-in-out infinite}.serve-ball-img{position:relative;z-index:1;display:block;width:max(56px,11vmin);height:auto;animation:serve-ball-bounce 1.5s ease-in-out infinite;will-change:transform}@keyframes serve-ball-bounce{0%,to{transform:translateY(3%)}50%{transform:translateY(-7%)}}@keyframes serve-glow-pulse{0%,to{opacity:.4}50%{opacity:.62}}.serve-title{font-size:max(28px,6vmin);font-weight:900;color:var(--text);letter-spacing:-.01em;line-height:1.05}.serve-instruction{font-size:max(16px,2.6vmin);font-weight:600;color:var(--text);max-width:22ch;line-height:1.3}.serve-instruction strong{color:var(--serve);font-weight:900}.serve-teams{display:flex;align-items:stretch;justify-content:center;gap:max(12px,2.5vw);flex-wrap:wrap;margin-top:max(4px,1vmin)}.serve-team-chip{display:flex;flex-direction:column;align-items:center;gap:max(6px,1vmin);padding:max(14px,2.2vmin) max(20px,3vw);min-width:max(140px,22vw);border:max(2px,.35vmin) solid var(--accent);border-radius:max(10px,1.4vmin);background:#ffffff0d;animation:serve-chip-pulse 1.8s ease-in-out infinite}.serve-team-chip:last-of-type{animation-delay:.9s}@keyframes serve-chip-pulse{0%,to{transform:scale(1);box-shadow:0 0 0 0 transparent}50%{transform:scale(1.03);box-shadow:0 0 max(10px,2vmin) var(--accent)}}.serve-team-chip--btn{font:inherit;color:inherit;cursor:pointer;-webkit-appearance:none;appearance:none;text-align:center}.serve-team-chip--btn:active{animation:none;transform:scale(.97);border-color:var(--accent)}.serve-team-chip--btn:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.serve-team-dot{width:max(14px,2vmin);height:max(14px,2vmin);border-radius:50%;background:var(--serve);box-shadow:0 0 0 max(3px,.5vmin) #ffffff1f}.serve-team-name{font-size:max(20px,3.4vmin);font-weight:900;color:var(--text);line-height:1.1;max-width:18ch;overflow:hidden;text-overflow:ellipsis}.serve-team-hint{font-size:max(11px,1.5vmin);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.serve-team-vs{align-self:center;font-size:max(13px,1.8vmin);font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.serve-footer{font-size:max(12px,1.7vmin);font-weight:600;letter-spacing:.04em;color:var(--muted);margin-top:max(2px,.6vmin)}@media (prefers-reduced-motion: reduce){.serve-overlay.show{animation:none}.serve-ball-img,.serve-ball-hero:before,.serve-team-chip,.serve-team-chip:last-of-type{animation:none}}:root{--bg: #04091a;--surface: #0b1e3a;--text: #e8eef5;--muted: rgba(232, 238, 245, .5);--accent: #9ABF28;--gold: #ffd234}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}body{overflow:hidden}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}code{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Monaco,monospace;background:#ffffff14;padding:2px 8px;border-radius:4px;font-size:.95em}html.pi-kiosk *,html.pi-kiosk *:before,html.pi-kiosk *:after{animation:none!important}
