@import url(https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;600;800&display=swap);body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#000;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;height:100vh;height:-webkit-fill-available;height:100dvh;margin:0;overflow:hidden;overscroll-behavior:none;width:100vw}#root,body{align-items:center;display:flex;justify-content:center}#root{height:100%;width:100%}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{background-color:#121212;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;height:844px;margin:0;max-height:100vh;max-height:-webkit-fill-available;max-height:100dvh;max-width:390px;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;padding:env(safe-area-inset-top,0) 10px calc(10px + env(safe-area-inset-bottom, 0px));position:relative;width:100%}@media (min-width:768px){.App{border:1px solid #333;border-radius:40px;box-shadow:0 0 50px #ffffff26;height:844px;max-height:95vh}}.info-header{align-items:center;background-color:#1e1e1e;border:1px solid #fff3;border-radius:16px;box-sizing:border-box;display:flex;height:auto;justify-content:space-between;margin:0 0 15px;overflow:visible;padding:5px 10px;position:relative;width:100%}.info-header .referee-info{color:#fff;font-family:inherit;font-size:.85em;font-weight:400}.info-header .version-status{align-items:center;color:#b3b3b3;display:flex;font-family:inherit;font-size:.9em;gap:8px}.update-btn-header{animation:pulse-update 2s infinite;background:#ffc107;border:none;border-radius:4px;color:#000;cursor:pointer;font-size:.7rem;font-weight:700;padding:2px 8px;white-space:nowrap}@keyframes pulse-update{0%{box-shadow:0 0 0 0 #ffc107b3;transform:scale(1)}70%{box-shadow:0 0 0 10px #ffc10700;transform:scale(1.05)}to{box-shadow:0 0 0 0 #ffc10700;transform:scale(1)}}.info-header .glow-check{margin:0 2px;text-shadow:0 0 8px #0f8c}.info-header .days-left,.info-header .glow-check{color:#0f8;font-weight:700}.info-header .status-separator{margin-left:4px}.viewer-header-btn{align-items:center;background:#24324d;border:1px solid #334155;border-radius:6px;color:#94a3b8;cursor:pointer;display:inline-flex;font-size:.72rem;font-weight:700;gap:4px;margin-left:6px;padding:3px 8px;transition:all .2s ease}.viewer-header-btn:hover{background:#334155;color:#fff}.viewer-header-btn.connected{background:#064e3b;border-color:#059669;box-shadow:0 0 8px #10b98166;color:#34d399}.viewer-header-btn.connecting{background:#78350f;border-color:#d97706;color:#fcd34d}.date-time{color:#b3b3b3;display:flex;font-size:1em;justify-content:center}.date-time .date{color:#fff;font-weight:400}.timers{gap:20px;margin-right:32px}.timer,.timers{align-items:center;display:flex}.timer{color:#b3b3b3;font-size:1em;gap:5px;white-space:nowrap}.timer-label,.timer-value{font-weight:400}.timer-value{color:#fff;font-family:inherit;font-size:1em}.player-name,.player-name span,.player-names,.player-names.winner-frame,.player-names:before,.player-score-display,.player1-name-container,.player1-score-display,.player2-name-container,.player2-score-display,.score-display,.score-display:before,.score-separator,.scoreboard{display:none}@media (max-width:768px){.player-names,.score-display,.scoreboard{display:none}}.info-header:before,.player-names,.player-names:before,.score-display,.score-display:before{display:none}@media (max-width:768px){.player-names{display:none}}.score-display{align-items:flex-start;background-color:#1e1e1e;background-color:#1e1e1e!important;border:1px solid #ffffff80;border-radius:16px;box-sizing:border-box;display:flex;justify-content:space-between;margin:10px 0;min-height:180px;overflow:visible;padding:15px;position:relative;width:100%}.player-score{display:flex;flex:0 0 auto;flex-direction:column;gap:5px;width:75px}.score-axes{align-items:flex-start;flex:1 1;padding:0;z-index:1}.score-axes,.score-axis-container{display:flex;height:154px;justify-content:center;position:relative}.score-axis-container{width:60px}.score-axis{background-color:#666;height:100%;position:relative;width:1px}.score-marks{-ms-overflow-style:none;display:flex;flex-direction:column;height:154px;justify-content:flex-start;left:50%;overflow-y:auto;position:absolute;scrollbar-width:none;top:0;transform:translateX(-50%);width:60px;z-index:1}.score-marks::-webkit-scrollbar{display:none}.score-mark{height:14px;margin:0;min-height:14px;padding:0;position:relative}.score-mark,.score-mark-container{align-items:center;display:flex;justify-content:center;width:100%}.score-mark-container{gap:4px}.score-mark-left{justify-content:flex-end;margin-right:4px;right:50%;text-align:right}.score-mark-left,.score-mark-right{align-items:center;background:#0000;color:#fff;display:flex;font-size:.8em;height:14px;line-height:14px;position:absolute;white-space:nowrap}.score-mark-right{left:50%;margin-left:4px;text-align:left}.player-tshirt,.player1-score,.player2-score{pointer-events:auto;position:relative;z-index:2}.service-box{align-items:center;display:inline-flex}.point-score,.service-box{margin:0;padding:0}.history-axis{background-color:#fff3}.history-axis:before{background:var(--winner-color);border:1px solid #ffffff1a;opacity:.8}.history-axis:after{display:none}.game-number{color:#ffffffb3;margin-bottom:4px}.score-history-container.bottom{background-color:#1e1e1e;border:1px solid #ffffff80;border-radius:16px;height:200px;margin:25px 0 20px;overflow:visible;padding:10px}.history-axes,.score-history-container.bottom{box-sizing:border-box;position:relative;width:100%}.history-axes{align-items:stretch;display:flex;height:100%;justify-content:space-between;margin-top:10px;padding:0}.history-axis-container{align-items:center;display:flex;flex:1 1;flex-direction:column;height:100%;margin:0;max-width:70px;padding:0 5px;position:relative}.history-marks{display:flex;flex-direction:column-reverse;height:210px;justify-content:flex-start;overflow-y:visible;padding:5px 0;position:relative}.history-marks .history-mark:last-child{margin-bottom:0}.history-mark{gap:4px}.history-mark,.mark-content{align-items:center;display:flex;height:20px;justify-content:center;position:relative;width:100%}.mark-content{background-color:initial}.mark-line{background-color:#ffffff26;height:100%;left:50%;position:absolute;width:1px}.mark-score{background:#2a2a2a;border-radius:2px;display:flex;font-size:.9em;gap:8px;min-width:16px;padding:2px 4px;text-align:center}.mark-score.left{color:purple;color:var(--player1-color,purple);position:absolute;right:50%;transform:translateX(-4px)}.mark-score.right{color:#ff8000;color:var(--player2-color,#ff8000);left:50%;position:absolute;transform:translateX(4px)}.player-number{background:#2a2a2a;border:1px solid #fff3;border-radius:4px;color:#fff;margin-right:4px;padding:2px 8px}.score-value{min-width:12px;text-align:center}.mark-score .service{font-size:.8em;opacity:.8}.history-mark.empty .mark-score{background-color:#1a1a1a;border-color:#ffffff1a;color:#ffffff4d}.game-number{background-color:#2a2a2a;border-radius:4px;color:#fff;font-size:.9em;font-weight:700;left:50%;padding:2px 8px;position:absolute;top:-19px;transform:translateX(-50%)}.confirmation-buttons button:hover{opacity:.9}.history-marks::-webkit-scrollbar{width:4px}.history-marks::-webkit-scrollbar-track{background:#1e1e1e;border-radius:2px}.history-marks::-webkit-scrollbar-thumb{background:#444;border-radius:2px}.history-marks::-webkit-scrollbar-thumb:hover{background:#555}.action-buttons-container{display:flex;flex-direction:column;gap:10px;margin-bottom:20px;width:100%}.action-buttons-row{display:flex;gap:5px;justify-content:space-between}.action-buttons-row button{background:#252525;border:1px solid #ffffff14;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;color:#fff;cursor:pointer;flex:1 1;font-size:.85em;font-weight:700;height:38px;text-transform:uppercase;transition:all .25s cubic-bezier(.4,0,.2,1)}.action-buttons-row button:disabled{cursor:not-allowed;opacity:.4}.action-buttons-row button:hover:not(:disabled){background:#2d2d2d;border-color:#ffc10766;box-shadow:0 10px 15px -3px #0000004d;transform:translateY(-3px) scale(1.01)}.action-buttons-row button.start-active{background:#2e7d32;border-color:#4caf50;color:#fff}.action-buttons-row button.start-active:hover{background:#388e3c;border-color:#66bb6a}.action-buttons-row button.btn-competition{background:#ffc107;border-color:#ffb300;color:#000;position:relative}.action-buttons-row button.btn-competition:hover{background:#ffca28;border-color:#ffc107}.competition-update-badge{align-items:center;animation:pulseBadge 2s infinite;background-color:#e53935;border:1.5px solid #fff;border-radius:10px;box-shadow:0 2px 5px #0006;color:#fff;display:flex;font-size:11px;font-weight:700;height:20px;justify-content:center;min-width:20px;padding:0 4px;pointer-events:none;position:absolute;right:-7px;top:-7px;z-index:10}@keyframes pulseBadge{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.action-buttons-row button.btn-settings{background:#0288d1;border-color:#039be5}.action-buttons-row button.btn-settings:hover{background:#039be5;border-color:#29b6f6}.App::-webkit-scrollbar{width:8px}.App::-webkit-scrollbar-track{background:#1e1e1e;border-radius:4px}.App::-webkit-scrollbar-thumb{background:#444;border-radius:4px}.App::-webkit-scrollbar-thumb:hover{background:#555}.player-details{align-items:center;display:flex;flex-direction:column;gap:5px;padding:5px}.player-name-text{border-radius:16px;color:#fff;cursor:pointer;font-size:.9em;font-weight:700;padding:4px 8px;white-space:nowrap}.player-info{align-items:center;color:#fffc;display:flex;flex-direction:column;font-size:.75em;gap:2px}.player-club,.player-id,.player-level{background-color:#0003;border-radius:4px;padding:2px 4px;text-align:center;width:100%}.player1-name-container .player-name-text{background-color:purple}.player2-name-container .player-name-text{background-color:#ff0;color:#000}.player-search{position:relative;width:100%;z-index:1000}.search-results{background:#1e1e1e;border:1px solid #fff3;border-radius:8px;box-shadow:0 4px 8px #0000004d;left:0;margin-top:4px;max-height:300px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1001}.search-result{border-bottom:1px solid #ffffff1a;cursor:pointer;padding:12px;transition:background-color .2s}.search-result:last-child{border-bottom:none}.search-result:hover{background-color:#ffffff1a}.result-name{color:#fff;font-weight:700;margin-bottom:4px}.result-club{color:#fffc;font-size:.9em;margin-bottom:2px}.result-location{color:#fff9;font-size:.9em}.player-details-popup-overlay{align-items:center;background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.player-details-popup{background-color:#1e1e1e;border:1px solid #fff3;border-radius:16px;color:#fff;max-width:400px;padding:20px;width:90%}.player-details-popup h3{color:#fff;margin:0 0 20px;text-align:center}.player-details-content{display:flex;flex-direction:column;gap:15px}.detail-section{background-color:#ffffff1a;border-radius:8px;padding:10px}.detail-section h4{color:#fffc;font-size:.9em;margin:0 0 10px;text-transform:uppercase}.detail-row{align-items:center;background-color:#ffffff0d;border-radius:8px;display:flex;justify-content:space-between;margin-bottom:5px;padding:8px}.detail-row:last-child{margin-bottom:0}.detail-label{color:#fffc;font-weight:700}.detail-value{color:#fff}.player-details-popup .close-button{background-color:purple;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:700;margin-top:20px;padding:10px;width:100%}.player-details-popup .close-button:hover{background-color:#6a006a}.server-button{min-width:40px!important;overflow:visible;padding:5px!important;position:relative}.server-button:before{background-color:#000;border-radius:50%;content:"";height:24px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:24px}.server-button:after{background:linear-gradient(90deg,#ff0 0,#ff0 40%,#0000 0,#0000 60%,#ff0 0,#ff0);border-radius:1px;content:"";height:2px;left:50%;position:absolute;top:calc(50% - 7px);transform:translateX(-50%);width:8px}.undo-button{background-color:#2a2a2a;border:1px solid #444;color:#fff;content:"Undo";font-size:1.2em}.player-customization-overlay{align-items:center;background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.player-customization-dialog{background-color:#1e1e1e;border:1px solid #fff3;border-radius:12px;color:#fff;max-width:280px;padding:15px;width:90%}.player-customization-dialog h3{color:#fff;font-size:1.1em;margin:0 0 12px;text-align:center}.player-customization-form{gap:10px}.color-matrix{grid-gap:4px;gap:4px;margin-top:8px}.color-matrix-square{border:1px solid #444;border-radius:4px;height:24px;width:24px}.color-matrix-square.selected{box-shadow:0 0 4px #ffffff80}.player-customization-buttons{display:flex;gap:8px;justify-content:space-between;margin-top:12px}.player-customization-buttons button{border:none;border-radius:4px;cursor:pointer;flex:1 1;font-size:.9em;padding:6px 12px}.back-button{background-color:#444;color:#fff}.continue-button{background-color:#4caf50;color:#fff}@media (max-width:600px){.player-customization-dialog{font-size:.9em;max-width:260px;padding:12px;width:90%}.color-matrix{gap:3px}.color-matrix-square{height:22px;width:22px}.player-customization-input{font-size:.85em;padding:5px 6px}}.spectator-score-box{align-items:center;background:#222;border:1px solid #444;border-radius:6px;color:#fff;display:flex;font-size:1.5em;font-weight:700;height:48px;justify-content:center;min-height:48px;min-width:48px;padding:2px 12px}.spectator-score-box>*{line-height:1;margin:0;padding:0}.spectator-service-dot{display:inline-block;height:24px;position:absolute;top:50%;transform:translateY(-50%);width:24px;z-index:2}.spectator-service-dot:before{background-color:#000;border-radius:50%;content:"";height:24px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:24px}.spectator-service-dot:after{background:linear-gradient(90deg,#ff0 0,#ff0 40%,#0000 0,#0000 60%,#ff0 0,#ff0);background:linear-gradient(to right,var(--player-color,#ff0) 0,var(--player-color,#ff0) 40%,#0000 40%,#0000 60%,var(--player-color,#ff0) 60%,var(--player-color,#ff0) 100%);border-radius:1px;content:"";height:2px;left:50%;position:absolute;top:calc(50% - 7px);transform:translateX(-50%);width:8px}.spectator-score.player1[style*="--player1-color: #000000"] .spectator-service-dot:after,.spectator-score.player2[style*="--player2-color: #000000"] .spectator-service-dot:after{background:linear-gradient(90deg,#fff 0,#fff 40%,#0000 0,#0000 60%,#fff 0,#fff)}.spectator-service-dot.left{left:10px;transform:translateY(-50%)}.spectator-service-dot.right{right:10px;transform:translateY(-50%)}.spectator-name.player1-name{align-self:flex-start;text-align:left;width:100%}.spectator-name.player2-name{align-self:flex-end;text-align:right;width:100%}.spectator-games{background:none!important;border:none!important;box-shadow:none!important}.spectator-score-box{position:relative}.spectator-header-row{align-items:flex-start;background:#1e1e1e;border-radius:8px;margin:0;padding:0}.spectator-header-names,.spectator-header-row{display:flex;flex-direction:row;justify-content:space-between;width:100%}.spectator-header-names{align-items:center}.spectator-header-games{align-items:center;color:#fff;display:flex;flex-direction:row;font-size:1em;font-weight:700;gap:2px;left:50%;position:absolute;top:20px;transform:translateX(-50%)}.spectator-header-games .games-dash{align-self:center;color:#aaa;font-size:.9em;font-weight:400;margin:0 2px}.spectator-name.player1-name,.spectator-name.player2-name{margin-bottom:0;margin-top:0;padding:0}.spectator-games{margin:0;padding:0}.spectator-name span{background:none;color:#fff;cursor:pointer;display:block;font-size:1em;font-weight:700;padding:6px 0;pointer-events:auto;transition:background .2s;width:100%}.spectator-name span:hover{background:#ffffff14}.squash-ball-icon{display:inline-block;height:24px;position:relative;vertical-align:middle;width:24px}.squash-ball-icon:before{background-color:#000;border-radius:50%;box-shadow:0 0 4px #00000080;content:"";height:24px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:24px}.squash-ball-icon:after{background:linear-gradient(90deg,#ff0 0,#ff0 40%,#0000 0,#0000 60%,#ff0 0,#ff0);border-radius:1px;content:"";height:2px;left:50%;position:absolute;top:7px;transform:translateX(-50%);width:8px}.app-version{color:#b3b3b3;font-size:.8em;margin-left:8px;position:static}.info-header .date span{color:#fff}.info-header .date{color:#fff;font-family:inherit;font-size:.8em;font-weight:400;margin-right:8px}.info-header .timer-label{margin-left:12px;margin-right:2px}.info-header .timer-value{margin-left:0;margin-right:8px}@keyframes blink-player1{0%{background:#222}50%{background:#00f;background:var(--player1-color,#00f)}to{background:#222}}@keyframes blink-player2{0%{background:#222}50%{background:#8000ff;background:var(--player2-color,#8000ff)}to{background:#222}}.game-ball-blink.player1{animation:blink-player1 1s steps(1) infinite}.game-ball-blink.player2{animation:blink-player2 1s steps(1) infinite}.spectator-scores-container{bottom:10px;box-sizing:border-box;display:flex;justify-content:space-between;left:0;padding:0 10px;position:absolute;right:0;transition:bottom .35s cubic-bezier(.4,0,.2,1);width:100%;z-index:10}.spectator-scores-container.scoring-active{bottom:10px;z-index:40}.spectator-score{align-items:center;background:#2a2a2a;border-radius:12px;box-shadow:0 2px 8px #00000014;display:flex;font-size:2em;font-weight:700;height:40px;justify-content:center;line-height:1;margin:0;padding:0;position:relative;transition:height .35s cubic-bezier(.4,0,.2,1),font-size .35s cubic-bezier(.4,0,.2,1),border-radius .35s cubic-bezier(.4,0,.2,1);user-select:none!important;-webkit-user-select:none!important;-ms-user-select:none!important;width:calc(48% - 10px);z-index:10}.scoring-active .spectator-score{border-radius:16px;font-size:5em;height:140px}.spectator-score.player1{border:2px solid purple;border:2px solid var(--player1-color,purple);color:purple;color:var(--player1-color,purple)}.spectator-score.player2{border:2px solid #ffd600;border:2px solid var(--player2-color,#ffd600);color:#ffd600;color:var(--player2-color,#ffd600)}.player-column{align-items:flex-start;display:flex;flex:1 1;flex-direction:column;gap:4px;min-height:140px;position:relative;z-index:10}.player-column.right{align-items:flex-end}.player-name{color:#fff;cursor:pointer;display:block;font-size:1em;font-weight:400;line-height:1;margin:0;padding:0}.player-club{background:none;color:#fff;font-size:.7em;margin-top:2px;text-align:left;width:100%;z-index:30}.player-column .player-club,.player-column .player-details-table{padding-left:0}.player-column.right .player-club,.player-column.right .player-details-table{padding-right:0;text-align:right}.spectator-container[data-scoring-active=true] .player-club,.spectator-container[data-scoring-active=true] .player-details-table,.spectator-container[data-scoring-active=true] .sbn-level-badge{opacity:0;pointer-events:none}.player-club,.player-details-table,.sbn-level-badge{transition:opacity .3s ease}.game-history-column{background:#1e1e1e;flex:0 0 auto;flex-direction:column;min-height:125px;padding:20px 0;width:100px;z-index:20}.game-history-column,.games-bar{align-items:center;display:flex;left:50%;margin:0;position:absolute;transform:translateX(-50%)}.games-bar{background:#0000;border-radius:4px;color:#fff;font-size:2em;gap:4px;justify-content:center;min-width:60px;padding:2px 8px;text-align:center;top:-9px;z-index:12}.games-bar-player1,.games-bar-player2{color:#fff;font-size:1em;font-weight:700}.games-bar-dash{color:#666;display:inline;font-size:.8em;font-weight:400;margin:0 2px}.game-score-entry{background:#0000;color:#fff;display:flex;font-size:.8em;gap:8px;justify-content:center;left:50%;line-height:1.3;padding:2px 0;position:absolute;transform:translateX(-50%);width:100px;z-index:11}.score-left,.score-right{color:#fff;min-width:14px;text-align:center}.game-score-entry:first-child{top:24px}.game-score-entry:nth-child(2){top:41px}.game-score-entry:nth-child(3){top:58px}.game-score-entry:nth-child(4){top:75px}.game-score-entry:nth-child(5){top:92px}.game-history-bar{background-color:#fff;height:107px;left:50%;margin-top:24px;position:absolute;transform:translateX(-50%);width:1px;z-index:20}.player-details-table{color:#fff;margin-top:4px;transition:opacity .3s ease}.player-details-table .row{align-items:center;color:#fff;display:flex;gap:8px;justify-content:space-between}.player-details-table .label,.player-details-table .value{color:#fff;font-size:.8em}.sbn-level-badge{background:#fff;border:1px solid #000;border-radius:2px;color:#000;display:inline-block;font-size:.8em;font-weight:700;letter-spacing:.03em;line-height:1.6;margin-bottom:2px;padding:0 5px}.sbn-level-badge--left{align-self:flex-start;text-align:left}.sbn-level-badge--right{align-self:flex-end;text-align:right}.history-container{background:#1e1e1e;border:1px solid #ffffff1a;border-radius:8px;display:block;margin:20px 0;min-height:260px;padding:15px}.history-bars,.history-container{box-sizing:border-box;position:relative;width:100%}.history-bars{align-items:flex-start;display:flex;height:260px;justify-content:space-between;margin-top:20px;padding:0 40px}.history-axis{background-color:#ffffff26;height:100%;position:relative;width:1px}.history-axis:before{background-color:#2a2a2a;border:2px solid #ffffff1a;border:2px solid var(--winner-color,#ffffff1a);border-radius:4px;color:#fff;content:attr(data-game-number);font-size:.9em;left:50%;min-width:15px;padding:2px 8px;position:absolute;text-align:center;top:-25px;transform:translateX(-50%);z-index:1}.history-score-container{align-items:center;bottom:0;display:flex;flex-direction:column;left:0;position:absolute;right:0;top:0}.history-score-entry{gap:0!important;height:12px!important;margin:0!important;min-height:0!important;padding:0!important}.history-score-entry:first-child{margin-top:15px!important}.history-score-left,.history-score-right{align-items:center!important;background:none!important;display:flex!important;font-family:monospace!important;font-size:.95em!important;font-weight:400!important;gap:0!important;height:12px!important;line-height:1!important;margin:0!important;min-width:10px!important;padding:0!important}.history-score-left{right:50%;transform:translateX(-6px)}.history-score-left,.history-score-right{align-items:center;color:#fff;display:flex;gap:4px;position:absolute}.history-score-right{left:50%;transform:translateX(6px)}.score-value,.service-side{color:#fff;font-weight:400}.spectator-container{background:#1e1e1e;border:1px solid #fff3;border-radius:12px;margin-bottom:20px;min-height:210px;padding:10px;position:relative}.ball-indicator{animation:blink-ball-indicator 1.2s step-start infinite;background-color:#2a2a2a;border:2px solid;border-radius:8px;bottom:60px;color:#fff;font-size:1em;font-weight:700;left:50%;padding:8px 16px;position:absolute;text-align:center;transform:translateX(-50%);transition:bottom .35s ease,top .35s ease;z-index:100}.spectator-container[data-scoring-active=true] .ball-indicator{bottom:160px}.ball-indicator.game-ball{border-color:#4caf50}.ball-indicator.match-ball{border-color:#f44336}@keyframes blink-ball-indicator{0%{opacity:1}49%{opacity:1}50%{opacity:0}to{opacity:0}}.spectator-score.disabled{cursor:not-allowed;opacity:.5;pointer-events:none}.history-score-entry,.history-score-left,.history-score-right{user-select:none!important;-webkit-user-select:none!important;-ms-user-select:none!important}.timer-displays{align-items:center;display:flex;flex-direction:column;gap:15px;margin-bottom:15px}.digital-timer{color:#fff;font-family:monospace;font-size:2.5em;font-weight:700;transition:color .3s ease}.digital-timer.warning{color:red}.digital-timer.time-up{animation:pulse 1s infinite;color:red}.analog-clock{background:#2a2a2a;border:3px solid #444;border-radius:50%;height:150px;position:relative;width:150px}.clock-hand{background-color:#fff;bottom:50%;height:65px;left:calc(50% - 1.5px);position:absolute;transform-origin:bottom center;transition:transform 1s linear,background-color .3s ease;width:3px}.clock-hand:after{background-color:inherit;border-radius:50%;bottom:-4.5px;content:"";height:9px;left:-3px;position:absolute;transition:background-color .3s ease;width:9px}.timer-button:disabled{cursor:not-allowed;opacity:.5}.timer-button.warmup{background-color:#2196f3}.timer-button.warmup:hover:not(:disabled){background-color:#1976d2}.timer-button.break{background-color:#4caf50}.timer-button.break:hover:not(:disabled){background-color:#388e3c}.timer-button.return{background-color:#666}.timer-button.return:hover{background-color:#555}.timer-header{margin-bottom:15px}.close-button{transition:background-color .2s}.timer-content{align-items:center;gap:15px}.end-message{color:#fff;font-size:1.2em;margin:10px 0;text-align:center}.timer-buttons{display:flex;flex-direction:column;gap:8px;width:100%}.timer-button{border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9em;font-weight:700;padding:10px;text-transform:uppercase;transition:background-color .2s}.timer-button.confirm{background-color:#4caf50}.timer-button.confirm:hover{background-color:#388e3c}.timer-button.cancel{background-color:#f44336}.timer-button.cancel:hover{background-color:#d32f2f}.timer-dialog-overlay{align-items:center;background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.timer-dialog{background:#1e1e1e;border:1px solid #ffffff1a;border-radius:12px;box-shadow:0 4px 6px #0000001a;color:#fff;max-width:300px;padding:15px;width:100%}.timer-header{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;margin-bottom:12px;padding-bottom:8px}.timer-header h2{color:#fff;font-size:1.2em;margin:0}.close-button{align-items:center;border-radius:50%;color:#fff;display:flex;font-size:1.2em;height:24px;justify-content:center;transition:background-color .2s,transform .2s;width:24px}.close-button:hover{background-color:#ffffff1a;transform:scale(1.1)}.timer-content{display:flex;flex-direction:column;gap:12px}.player-customization-form{display:flex;flex-direction:column;gap:8px;width:100%}.player-customization-row{align-items:center;display:flex;gap:8px}.player-customization-input{background-color:#2a2a2a;border:1px solid #444;border-radius:4px;color:#fff;flex:1 1;font-size:.9em;padding:6px 8px}.color-preview{border:1px solid #444;border-radius:4px;height:24px;width:24px}.color-matrix{grid-gap:8px;background:#0003;border-radius:8px;display:grid;gap:8px;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(2,1fr);margin-bottom:16px;margin-top:12px;padding:8px}.color-matrix-square{border:2px solid #444;border-radius:6px;cursor:pointer;height:28px;transition:transform .2s ease,border-color .2s ease;width:28px}.color-matrix-square:hover{border-color:#666;transform:scale(1.1)}.color-matrix-square.selected{border:2px solid #fff;box-shadow:0 0 8px #ffffff80;transform:scale(1.1)}.player-details-found{background-color:#232323;border-radius:4px;font-size:.85em;line-height:1.3;margin:4px 0;padding:8px}.loader-container{align-items:center;display:flex;height:30px;justify-content:center;margin-left:12px;position:relative;width:30px}.loader{animation:spin 1s linear infinite;border:3px solid #f3f3f3;border-radius:50%;border-top-color:#3498db;box-sizing:border-box;height:100%;left:0;position:absolute;top:0;width:100%}.loader-text{font-size:.8em;font-weight:700;position:absolute;text-align:center;z-index:1}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.device-dialog-overlay{align-items:center;animation:fadeIn .3s ease-out;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000d9;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.device-dialog.dashboard-mode{background:#1a1a1a;border:1px solid #ffffff1a;border-radius:24px;box-shadow:0 20px 50px #00000080;max-width:600px;overflow:hidden;width:95%}.device-header{align-items:center;background:#ffffff08;border-bottom:1px solid #ffffff0d;display:flex;justify-content:space-between;padding:20px 24px}.device-header h2{color:#fff;font-size:1.2rem;font-weight:600;margin:0}.close-button{background:none;border:none;color:#888;cursor:pointer;font-size:24px;line-height:1;padding:0;transition:color .2s}.close-button:hover{color:#fff}.device-content{max-height:80vh;overflow-y:auto;padding:24px}.dashboard-section{margin-bottom:28px}.dashboard-section h3{border-bottom:1px solid #ffffff1a;color:#888;font-size:.9rem;letter-spacing:1px;margin:0 0 12px;padding-bottom:8px;text-transform:uppercase}.info-grid{display:flex;flex-direction:column;gap:10px}.info-row{align-items:flex-start;display:flex;font-size:.95rem;justify-content:space-between}.info-row label{color:#aaa;font-weight:500}.info-row span{color:#eee;max-width:65%;text-align:right}.info-row span.mono{color:#a0a0ff;font-family:JetBrains Mono,Courier New,monospace;font-size:.85rem}.info-row span.small-text{color:#888;font-size:.75rem;word-break:break-all}.info-row span.warning{color:#ff4d4d;font-weight:700}.dashboard-footer{border-top:1px solid #ffffff0d;margin-top:10px;padding-top:20px;text-align:center}.logout-link{background:none;border:none;color:#ff4d4d;cursor:pointer;font-size:.9rem;text-decoration:underline;transition:opacity .2s}.logout-link:hover{opacity:.8}.technical-details summary{color:#aaa;cursor:pointer;font-size:.95rem;font-weight:500;margin-bottom:12px;outline:none}.technical-details summary:hover{color:#fff}.device-content::-webkit-scrollbar{width:6px}.device-content::-webkit-scrollbar-track{background:#0000}.device-content::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.delete-profile-container{border-top:1px dashed #ff4d4d4d;margin-top:24px;padding-top:16px;text-align:center}.delete-profile-btn{background:#ff4d4d1a;border:1px solid #ff4d4d;border-radius:8px;color:#ff4d4d;cursor:pointer;font-size:.9rem;font-weight:600;padding:8px 16px;transition:all .2s;width:100%}.delete-profile-btn:hover:not(:disabled){background:#ff4d4d;color:#fff}.delete-profile-btn:disabled{cursor:not-allowed;opacity:.5}.delete-info{color:#888;font-size:.75rem;line-height:1.4;margin-top:8px}.section-header-row{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;margin-bottom:12px;padding-bottom:8px}.section-header-row h3{border-bottom:none;color:#888;font-size:.9rem;letter-spacing:1px;margin:0;padding-bottom:0;text-transform:uppercase}.section-gear-btn{background:none;border:none;border-radius:6px;cursor:pointer;font-size:16px;line-height:1;opacity:.65;padding:2px 4px;transition:background .2s,transform .2s}.section-gear-btn:hover{background:#ffffff14;opacity:1;transform:rotate(30deg)}.competition-edit-form{animation:fadeIn .2s ease-out;background:#ffffff08;border:1px solid #ffffff14;border-radius:12px;display:flex;flex-direction:column;gap:12px;padding:14px}.competition-edit-form .form-group{display:flex;flex-direction:column;gap:5px}.competition-edit-form .form-group label{color:#888;font-size:.75rem;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.competition-edit-form .form-group select{-webkit-appearance:none;appearance:none;background:#1e1e1e;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%23888' d='M6 8 1 3h10z'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;border:1px solid #ffffff1f;border-radius:8px;color:#eee;cursor:pointer;font-size:.9rem;padding:8px 28px 8px 10px;transition:border-color .2s}.competition-edit-form .form-group select:focus{border-color:#63b3ed99;outline:none}.competition-edit-form .form-group select:disabled{cursor:not-allowed;opacity:.35}.competition-edit-form .fetch-status{animation:pulse 1.2s infinite;color:#63b3ed;font-size:.78rem}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.competition-edit-form .form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:4px}.competition-edit-form .btn-cancel{background:#ffffff12;border:1px solid #ffffff1a;border-radius:8px;color:#aaa;cursor:pointer;font-size:.875rem;padding:7px 16px;transition:background .2s}.competition-edit-form .btn-cancel:hover{background:#ffffff1f;color:#fff}.competition-edit-form .btn-save{background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:8px;box-shadow:0 2px 8px #3b82f666;color:#fff;cursor:pointer;font-size:.875rem;font-weight:600;padding:7px 20px;transition:opacity .2s,transform .15s}.competition-edit-form .btn-save:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.competition-edit-form .btn-save:disabled{box-shadow:none;cursor:not-allowed;opacity:.35}.competition-overlay{align-items:center;animation:fadeIn .3s ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000000d9;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.competition-modal{background:#1a1a1a;border:1px solid #ffffff1a;border-radius:20px;box-shadow:0 25px 50px -12px #00000080;display:flex;flex-direction:column;max-height:85vh;max-width:600px;overflow:hidden;width:90%}.competition-header{align-items:flex-start;background:#252525;border-bottom:1px solid #ffffff0d;display:flex;justify-content:space-between;padding:16px 20px 0}.header-left{display:flex;flex:1 1;flex-direction:column;min-width:0}.competition-header h2{align-items:center;color:#ffc107;display:flex;font-size:1.1rem;letter-spacing:.5px;margin:0 0 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-players-title{align-items:center;display:inline-flex;gap:8px}.header-back-btn{align-items:center;background:#ffffff14;border:1px solid #ffc10766;border-radius:6px;color:#ffc107;cursor:pointer;display:inline-flex;font-size:1.1rem;font-weight:800;height:26px;justify-content:center;line-height:1;padding:0;transition:all .2s ease;width:26px}.header-back-btn:hover{background:#ffc10733;border-color:#ffc107}.header-tab-nav{display:flex;gap:0;margin-bottom:0}.header-tab-btn{background:none;border:none;border-bottom:3px solid #0000;border-radius:0;color:#666;cursor:pointer;font-size:.72rem;font-weight:700;letter-spacing:1.5px;padding:6px 14px 10px;transition:all .2s ease}.header-tab-btn:hover{color:#ffc107}.header-tab-btn.active{border-bottom:3px solid #ffc107;color:#ffc107}.header-actions-right{align-items:center;display:flex;flex-shrink:0;gap:8px}.header-settings-btn{align-items:center;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;color:#ccc;cursor:pointer;display:flex;font-size:1.1rem;justify-content:center;padding:6px 10px;transition:all .2s ease}.header-settings-btn:hover{background:#ffc10726;border-color:#ffc107;color:#ffc107}.close-btn{background:none;border:none;color:#888;cursor:pointer;flex-shrink:0;font-size:2rem;line-height:1;padding-top:0}.competition-body{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden;padding:20px}.poule-header{align-items:center;background:#ffc1071a;border:1px solid #ffc10733;border-bottom:none;border-radius:12px 12px 0 0;display:flex;justify-content:space-between;padding:12px 16px}.poule-info-main{display:flex;flex-direction:column}.poule-name{color:#ffc107;font-size:.95rem;font-weight:700}.poule-sub{color:#888;font-size:.7rem;margin-top:2px}.poule-header-container{box-shadow:0 4px 10px #0003;margin-bottom:20px}.team-filter{background:#252525;border:1px solid #ffc10733;border-radius:0 0 12px 12px;display:flex;flex-wrap:wrap;gap:8px;padding:10px 16px}.filter-option{align-items:center;background:#1a1a1a;border:1px solid #0000;border-radius:20px;color:#bbb;cursor:pointer;display:flex;font-size:.75rem;gap:6px;padding:4px 10px;transition:all .2s;-webkit-user-select:none;user-select:none}.filter-option:hover{background:#333;color:#fff}.filter-option.active{background:#ffc10733;border-color:#ffc10780;color:#ffc107}.filter-option input{display:none}.sync-indicator{background:#4caf501a;border-radius:10px;color:#4caf50;font-size:.7rem;padding:2px 8px}.agenda-list{display:flex;flex:1 1;flex-direction:column;gap:12px;min-height:0;overflow-y:auto;padding-right:6px;scrollbar-color:#ffc107 #1a1a1a;scrollbar-width:thin}.agenda-list::-webkit-scrollbar{width:6px}.agenda-list::-webkit-scrollbar-track{background:#1a1a1a;border-radius:3px}.agenda-list::-webkit-scrollbar-thumb{background:#ffc107;border-radius:3px}.agenda-list::-webkit-scrollbar-thumb:hover{background:#ffca2c}.agenda-item{background:#252525;border:1px solid #ffffff14;border-radius:14px;box-shadow:0 4px 6px -1px #0000001a;cursor:pointer;padding:16px;transition:all .25s cubic-bezier(.4,0,.2,1)}.agenda-item:hover{background:#2d2d2d;border-color:#ffc10766;box-shadow:0 10px 15px -3px #0000004d;transform:translateY(-3px) scale(1.01)}.agenda-item.today{background:#ffc1070d;border-color:#ffc107}.match-meta{color:#bbb;display:flex;font-size:.75rem;font-weight:500;justify-content:space-between;margin-bottom:10px}.match-meta .date{color:#fff;font-weight:700}.agenda-item.bye-round{background:#1c1c1c;border:1px dashed #ffffff1f;cursor:default;opacity:.65;pointer-events:none}.agenda-item.bye-round:hover{border-color:#ffffff1f;box-shadow:none;transform:none}.match-meta .bye-label{color:#666;font-style:italic;font-weight:400}.bye-teams{display:flex;justify-content:center}.bye-text{color:#555;font-size:.85rem;font-style:italic;text-align:center}.settings-step{gap:24px;min-height:0;overflow-y:auto;padding-right:6px;scrollbar-color:#ffc107 #1a1a1a;scrollbar-width:thin}.settings-step::-webkit-scrollbar{width:6px}.settings-step::-webkit-scrollbar-track{background:#1a1a1a;border-radius:3px}.settings-step::-webkit-scrollbar-thumb{background:#ffc107;border-radius:3px}.settings-step::-webkit-scrollbar-thumb:hover{background:#ffca2c}.settings-section h3{color:#888;font-size:.8rem;font-weight:800;letter-spacing:1.5px;margin-bottom:12px;text-transform:uppercase}.current-poule-display{align-items:center;background:#ffc1070d;border:1px solid #ffc10726;border-radius:14px;display:flex;justify-content:space-between;padding:16px}.change-poule-btn{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;color:#fff;cursor:pointer;font-size:.75rem;padding:6px 12px;transition:all .2s}.change-poule-btn:hover{background:#ffffff1a;border-color:#ffc107}.team-filter-large{display:flex;flex-direction:column;gap:8px}.filter-option-large{align-items:center;background:#252525;border:1px solid #ffffff0d;border-radius:12px;cursor:pointer;display:flex;gap:12px;padding:12px 16px;transition:all .2s}.filter-option-large:hover{background:#2d2d2d;border-color:#ffc1074d}.filter-option-large.active{background:#ffc10714;border-color:#ffc10766}.filter-option-large input{display:none}.checkbox-ui{border:2px solid #444;border-radius:6px;height:20px;position:relative;transition:all .2s;width:20px}.filter-option-large.active .checkbox-ui{background:#ffc107;border-color:#ffc107}.filter-option-large.active .checkbox-ui:after{color:#000;content:"✓";font-size:12px;font-weight:700;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.filter-option-large span{color:#ddd;font-size:.95rem;font-weight:600}.filter-option-large.active span{color:#fff}.match-teams{align-items:center;display:flex;gap:10px;justify-content:space-between}.team{color:#fff;flex:1 1;font-size:1.05rem;font-weight:700}.team.home{text-align:left}.team.away{text-align:right}.vs{color:#aaa;font-size:.85rem;font-style:italic;padding:0 5px}.instruction-text{background:#ffc1070d;border-radius:10px;color:#eee;font-size:.9rem;margin-bottom:20px;padding:15px;text-align:center}.error-text{color:#f44336;font-weight:700}.empty-state,.loading-state{color:#888;font-style:italic;padding:40px;text-align:center}.poule-list{display:flex;flex:1 1;flex-direction:column;gap:10px;min-height:0;overflow-y:auto;padding-right:6px;scrollbar-color:#ffc107 #1a1a1a;scrollbar-width:thin}.poule-list::-webkit-scrollbar{width:6px}.poule-list::-webkit-scrollbar-track{background:#1a1a1a;border-radius:3px}.poule-list::-webkit-scrollbar-thumb{background:#ffc107;border-radius:3px}.poule-list::-webkit-scrollbar-thumb:hover{background:#ffca2c}.poule-option{background:#252525;border:1px solid #ffffff0d;border-radius:12px;cursor:pointer;padding:15px;transition:all .2s}.poule-option:hover{background:#303030;border-color:#ffc107}.poule-title{color:#ffc107;font-weight:700}.poule-meta{color:#888;font-size:.8rem;margin-top:4px}.poule-header-actions{align-items:center;display:flex;gap:6px}.mini-sync-btn{background:#ffffff1a;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;padding:4px 8px;transition:background .2s}.mini-sync-btn:hover:not(:disabled){background:#fff3}.mini-sync-btn:disabled{cursor:not-allowed;opacity:.5}.loading-overlay{align-items:center;background:#000000b3;border-radius:20px;bottom:0;color:#ffc107;display:flex;font-weight:700;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:10}.players-step{gap:12px}.match-context{align-items:center;background:#ffffff14;border:1px solid #ffffff1a;border-radius:12px;color:#fff;display:flex;flex-shrink:0;font-size:1rem;font-weight:700;gap:12px;justify-content:space-between;margin-bottom:12px;padding:10px 16px}.match-context-back-btn{background:#ffffff0f;border:1px solid #ffffff26;border-radius:8px;color:#ffc107;cursor:pointer;font-size:.8rem;font-weight:600;padding:6px 12px;transition:all .2s;white-space:nowrap}.match-context-back-btn:hover{background:#ffc10726;border-color:#ffc107}.match-context-title{flex:1 1;text-align:center}.match-context-title .match-vs{color:#ffc107;font-size:.85rem;font-weight:400;margin:0 4px}.selection-grid{grid-gap:16px;display:grid;flex:1 1;gap:16px;grid-template-columns:1fr 1fr}.selection-grid,.team-column{height:100%;min-height:0;overflow:hidden}.team-column{display:flex;flex-direction:column}.team-column h3{color:#ffc107;flex-shrink:0;font-size:.85rem;font-weight:800;letter-spacing:1px;margin-bottom:10px;text-align:center;text-transform:uppercase}.player-list{-webkit-overflow-scrolling:touch;display:flex;flex:1 1;flex-direction:column;gap:8px;min-height:0;overflow-y:auto;overscroll-behavior-y:contain;padding-bottom:12px;padding-right:6px;scrollbar-color:#ffc107 #1a1a1a;scrollbar-width:thin;touch-action:pan-y}.player-list::-webkit-scrollbar{width:6px}.player-list::-webkit-scrollbar-track{background:#1a1a1a;border-radius:3px}.player-list::-webkit-scrollbar-thumb{background:#ffc107;border-radius:3px}.player-list::-webkit-scrollbar-thumb:hover{background:#ffca2c}.player-option{align-items:center;background:#2a2a2a;border:1px solid #ffffff0d;border-radius:12px;color:#fff;cursor:pointer;display:flex;flex-direction:column;gap:6px;padding:10px 12px;position:relative;touch-action:manipulation;transition:all .25s cubic-bezier(.4,0,.2,1)}.lineup-position-badge{align-items:center;background:#8b5cf6;border-radius:4px;box-shadow:0 1px 3px #0006;color:#fff;display:inline-flex;font-size:.72rem;font-weight:800;justify-content:center;letter-spacing:.05em;line-height:1.3;padding:1px 6px;pointer-events:none}.player-option:hover{background:#3a3a3a;border-color:#ffc1074d;transform:translateY(-2px)}.player-option.selected{background:#ffc10733;border-color:#ffc107;color:#ffc107;font-weight:700}.player-card-top-bar{align-items:center;display:flex;gap:6px;justify-content:space-between;margin-bottom:4px;min-height:20px;width:100%}.player-card-number{color:#ffc107;flex-shrink:0;font-family:monospace,sans-serif;font-size:.85rem;font-weight:800;line-height:1}.player-card-top-bar .rank-badge{font-size:.72rem;margin:0 auto;padding:1px 6px}.player-card-sbn{background:#fff;border:1px solid #fff;border-radius:3px;color:#000;flex-shrink:0;font-size:.75rem;font-weight:800;letter-spacing:.02em;line-height:1.3;margin-left:0;padding:1px 6px}.player-option-name{color:inherit;font-size:.95rem;font-weight:600;text-align:center;word-break:break-word}.captain-badge{background-color:#16a34a;border-radius:3px;box-shadow:0 1px 3px #0006;color:#fff;display:inline-flex;font-size:.68rem;font-weight:800;height:17px;letter-spacing:0;line-height:1;margin-left:6px;-webkit-user-select:none;user-select:none;vertical-align:middle;width:17px}.captain-badge,.player-option-stats{align-items:center;justify-content:center}.player-option-stats{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.player-stat-badge{align-items:center;border-radius:4px;display:inline-flex;font-size:.75rem;gap:4px;line-height:1.3;padding:2px 7px}.player-stat-badge.rank-badge{background:#ffc1071f;border:1px solid #ffc1074d;color:#ffc107;font-weight:600}.player-stat-badge.rank-badge .stat-label{color:#aaa;font-size:.68rem;font-weight:500}.player-stat-badge.rank-badge .stat-value{color:#ffc107;font-weight:700}.player-stat-badge.world-badge{background:#2196f31f;border:1px solid #2196f34d;color:#64b5f6;font-weight:600}.player-stat-badge.world-badge .stat-label{color:#aaa;font-size:.68rem;font-weight:500}.player-stat-badge.world-badge .stat-value{color:#64b5f6;font-weight:700}.player-stat-badge.empty-badge{background:#ffffff0a;border:1px solid #ffffff14;color:#777}.player-stat-badge.empty-badge .stat-label{color:#666;font-size:.68rem}.player-stat-badge.empty-badge .stat-value{color:#777}.footer-actions{border-top:1px solid #ffffff0d;display:flex;gap:15px;padding-top:20px}.footer-actions button{border:none;border-radius:12px;cursor:pointer;flex:1 1;font-weight:700;padding:14px;transition:all .2s}.back-btn{background:#333;color:#fff}.confirm-btn{background:#ffc107;color:#000}.confirm-btn:disabled{background:#444;color:#777;cursor:not-allowed}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.competition-body::-webkit-scrollbar{width:6px}.competition-body::-webkit-scrollbar-thumb{background:#333;border-radius:10px}.stand-container{overflow-x:auto;padding-bottom:12px;width:100%}.standings-table-wrapper{-webkit-overflow-scrolling:touch;background:#1e1e1e;border:1px solid #ffffff14;border-radius:12px;overflow-x:auto;width:100%}.standings-table{border-collapse:collapse;color:#e0e0e0;font-size:.88rem;text-align:left;width:100%}.standings-table thead{background:#141414;border-bottom:2px solid #ffffff1a}.standings-table th{color:#999;font-size:.76rem;font-weight:700;letter-spacing:.5px;padding:12px 10px;text-transform:uppercase;white-space:nowrap}.standings-table td{border-bottom:1px solid #ffffff0d;padding:11px 10px;vertical-align:middle;white-space:nowrap}.standings-row:last-child td{border-bottom:none}.standings-row:hover td{background:#ffffff08}.standings-row.own-team-row td{background:#ffc1071f!important;border-bottom-color:#ffc10740}.standings-row.own-team-row .team-name-text{color:#ffc107;font-weight:700}.td-pos,.th-pos{text-align:center;width:38px}.td-team,.th-team{font-weight:600;min-width:160px}.team-name-text{color:#f0f0f0;display:inline-block}.td-num,.th-num{color:#bbb;text-align:center;width:36px}.td-ratio,.th-ratio{color:#aaa;font-size:.82rem;min-width:60px;text-align:center}.td-pts,.th-pts{color:#ffc107;font-size:.95rem;font-weight:700;min-width:40px;text-align:center}.td-form,.th-form{min-width:80px;text-align:center}.pos-badge{align-items:center;background:#ffffff14;border-radius:50%;color:#bbb;display:inline-flex;font-size:.78rem;font-weight:700;height:22px;justify-content:center;width:22px}.pos-badge.pos-1{background:#ffc107;color:#000}.pos-badge.pos-2{background:#e0e0e0;color:#111}.pos-badge.pos-3{background:#cd7f32;color:#fff}.form-badges{gap:4px}.form-badge,.form-badges{display:inline-flex;justify-content:center}.form-badge{align-items:center;border-radius:4px;font-size:.72rem;font-weight:700;height:19px;text-align:center;width:19px}.form-badge.form-w{background:#2e7d32;color:#fff}.form-badge.form-v{background:#c62828;color:#fff}.form-badge.form-o{background:#616161;color:#fff}.stat-won{color:#81c784!important}.stat-draw{color:#bbb!important}.stat-lost{color:#e57373!important}.spelers-container{overflow-x:auto;padding-bottom:12px;width:100%}.spelers-table-wrapper{-webkit-overflow-scrolling:touch;background:#1e1e1e;border:1px solid #ffffff14;border-radius:12px;overflow-x:auto;width:100%}.spelers-table{border-collapse:collapse;color:#e0e0e0;font-size:.85rem;text-align:left;width:100%}.spelers-table thead{background:#141414;border-bottom:2px solid #ffffff1a}.spelers-table th{color:#999;font-size:.73rem;font-weight:700;letter-spacing:.5px;padding:11px 8px;text-transform:uppercase;white-space:nowrap}.spelers-table td{border-bottom:1px solid #ffffff0d;padding:10px 8px;vertical-align:middle;white-space:nowrap}.spelers-row:last-child td{border-bottom:none}.spelers-row:hover td{background:#ffffff08}.spelers-row.own-team-row td{background:#ffc1071a!important;border-bottom-color:#ffc10733}.spelers-row.own-team-row .td-name{color:#ffc107;font-weight:700}.td-name,.th-name{color:#f0f0f0;font-weight:600;min-width:130px}.td-club,.th-club{color:#aaa;font-size:.8rem;max-width:140px;min-width:110px;overflow:hidden;text-overflow:ellipsis}.td-wl,.th-wl{min-width:80px;text-align:center}.wl-display{align-items:center;display:inline-flex;font-size:.9rem;font-weight:600;gap:2px}.wl-wins{color:#81c784;min-width:18px;text-align:right}.wl-sep{color:#666;margin:0 2px}.wl-losses{color:#e57373;min-width:18px;text-align:left}.wl-total{color:#888;font-size:.78rem;font-weight:400;margin-left:3px}.sortable-th{cursor:pointer;transition:background .15s ease,color .15s ease;-webkit-user-select:none;user-select:none}.sortable-th:hover{background:#ffffff14;color:#ffc107}.th-content{align-items:center;display:inline-flex;gap:4px}.sort-indicator{font-size:.7rem;line-height:1}.sort-indicator.neutral{opacity:.3}.sortable-th:hover .sort-indicator.neutral{color:#ffc107;opacity:.8}.sort-indicator.active{color:#ffc107;font-weight:700;opacity:1}.viewer-dialog-backdrop{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#000000bf;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.viewer-dialog-card{background-color:#1e1e1e;border:1px solid #333;border-radius:16px;box-shadow:0 10px 30px #00000080;color:#fff;font-family:inherit;max-width:360px;padding:20px;width:90%}.viewer-dialog-header{align-items:center;border-bottom:1px solid #333;display:flex;justify-content:space-between;margin-bottom:15px;padding-bottom:12px}.viewer-dialog-header h3{color:#fff;font-size:1.1rem;margin:0}.viewer-dialog-close{background:none;border:none;color:#888;cursor:pointer;font-size:1.2rem;padding:4px}.viewer-dialog-close:hover{color:#fff}.viewer-dialog-intro{color:#aaa;font-size:.85rem;line-height:1.4;margin-bottom:15px}.viewer-status-row{align-items:center;background-color:#161616;border-radius:10px;display:flex;justify-content:space-between;margin-bottom:15px;padding:10px 14px}.viewer-status-row .label{color:#888;font-size:.85rem}.status-pill{border-radius:20px;font-size:.8rem;font-weight:700;padding:4px 10px}.status-pill.connected{background:#10b98126;border:1px solid #10b9814d;color:#10b981}.status-pill.connecting{background:#f59e0b26;color:#f59e0b}.status-pill.disconnected{background:#ffffff14;color:#888}.status-pill.error{background:#ef444426;color:#ef4444}.pin-input-container{display:flex;gap:8px;margin-top:8px}.pin-input-container input{background-color:#121212;border:1px solid #444;border-radius:8px;color:#fff;flex:1 1;font-size:1.2rem;font-weight:700;letter-spacing:2px;padding:10px 12px;text-align:center}.pin-input-container input:focus{border-color:#ff9f43;outline:none}.btn-connect{background:#ff9f43;border:none;border-radius:8px;color:#000;cursor:pointer;font-weight:700;padding:0 16px;transition:opacity .2s}.btn-connect:disabled{cursor:not-allowed;opacity:.5}.error-text{color:#ef4444;font-size:.8rem;margin-top:6px}.viewer-connected-box{background:#14231b;border:1px solid #10b981;border-radius:12px;margin-bottom:10px;padding:15px;text-align:center}.connected-icon{color:#10b981;font-size:2rem;margin-bottom:8px}.viewer-connected-box p{color:#a7f3d0;font-size:.85rem;margin-bottom:14px}.btn-disconnect{background:#dc2626;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:700;padding:8px 16px}.viewer-instructions{background:#141824;border-radius:10px;color:#94a3b8;font-size:.8rem;margin-top:18px;padding:12px 14px}.viewer-instructions strong{color:#e2e8f0;display:block;margin-bottom:6px}.viewer-instructions ol{line-height:1.5;margin:0;padding-left:18px}.viewer-instructions code{color:#38bdf8;font-family:monospace}.login-container{align-items:center;background:radial-gradient(circle at top left,#1a0f2e 0,#000 100%);color:#fff;display:flex;font-family:Outfit,sans-serif;justify-content:center;min-height:100vh;padding:20px}.login-card{animation:slideUp .6s ease-out;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff08;border:1px solid #ffffff14;border-radius:28px;box-shadow:0 25px 50px -12px #00000080;max-width:420px;padding:40px;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-header{margin-bottom:40px;text-align:center}.neon-text{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#8000ff,#f0f);-webkit-background-clip:text;background-clip:text;font-size:2.5rem;font-weight:800;letter-spacing:-1px;margin-bottom:8px}.subtitle{color:#ffffff80;font-size:1rem;font-weight:300}.input-field{margin-bottom:24px}.input-field label{color:#fff6;display:block;font-size:.85rem;font-weight:500;margin-bottom:8px;margin-left:4px}.input-field input{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:14px;box-sizing:border-box;color:#fff;font-size:1rem;padding:14px 18px;transition:all .3s ease;width:100%}.input-field input:focus{background:#ffffff14;border-color:#8000ff;box-shadow:0 0 15px #8000ff33;outline:none}.mobile-input-group{grid-gap:12px;display:grid;gap:12px;grid-template-columns:100px 1fr;margin-bottom:24px}.mobile-input-group .input-field{margin-bottom:0}.phone-split-input{align-items:center;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:14px;display:flex;overflow:hidden;transition:all .3s ease}.phone-split-input:focus-within{border-color:#25d366;box-shadow:0 0 15px #25d36633}.phone-prefix{color:#fff6;font-weight:500;padding:14px 0 14px 18px;white-space:nowrap}.phone-main-input{background:#0000!important;border:none!important;box-shadow:none!important;padding:14px 18px 14px 8px!important;width:100%}.error-text-small{color:#ff4d4d;display:block;font-size:.8rem;margin-top:8px;text-align:center}.country-select select{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:14px;box-sizing:border-box;color:#fff;cursor:pointer;font-size:.95rem;padding:14px 10px;transition:all .3s ease;width:100%}.country-select select:focus{background:#ffffff14;border-color:#8000ff;outline:none}.login-btn{border:none;border-radius:16px;cursor:pointer;font-size:1rem;font-weight:600;margin-top:10px;padding:16px;transition:all .3s ease;width:100%}.login-btn.primary{background:#25d366;box-shadow:0 8px 20px #25d3664d;color:#fff}.login-btn.primary:hover:not(:disabled){background:#20ba5a;transform:translateY(-2px)}.login-btn.primary:disabled{background:#333;box-shadow:none;color:#fff3;cursor:not-allowed;transform:none}.login-btn.accent{background:linear-gradient(135deg,#ff8000,#f0f);color:#fff}.code-input{color:#fff;font-size:2.5rem!important;font-weight:700;letter-spacing:12px;text-align:center}.error-badge{background:#ff00001a;border:1px solid #f003;border-radius:12px;color:#ff4d4d;font-size:.9rem;margin-bottom:20px;padding:12px;text-align:center}.selection-list h3{color:#ffffffb3;font-size:1rem;font-weight:500;margin-bottom:20px}.scroll-area{max-height:250px;overflow-y:auto;padding-right:8px}.player-match{background:#ffffff0d;border:1px solid #0000;border-radius:16px;cursor:pointer;margin-bottom:12px;padding:16px;transition:all .2s ease}.player-match:hover{background:#ffffff1a;border-color:#8000ff66}.match-name{display:block;font-weight:600;margin-bottom:4px}.match-club{color:#ffffff80;display:block;font-size:.85rem}.match-id{color:#8000ff;display:block;font-size:.75rem;margin-top:4px}.player-match.none{background:#0000;border:1px dashed #fff3;color:#ffffff80;font-size:.9rem;text-align:center}.code-instruction{color:#fff9;font-size:.95rem;line-height:1.5;margin-bottom:30px;text-align:center}.text-btn{background:none;border:none;color:#fff6;cursor:pointer;font-size:.9rem;margin-top:15px;width:100%}.text-btn:hover{color:#fff}.speedrun-section{margin-bottom:30px}.whatsapp-speedrun{align-items:center;background:#25d366;border-radius:16px;box-shadow:0 8px 20px #25d3664d;box-sizing:border-box;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:10px;justify-content:center;margin-top:10px;padding:16px;text-decoration:none;transition:all .3s ease;width:100%}.whatsapp-speedrun:hover{background:#20ba5a;transform:translateY(-2px)}.whatsapp-waiting{background:#25d36626;border:1px solid #25d3664d;box-shadow:none;color:#25d366;cursor:wait}.whatsapp-waiting:hover{transform:none}.whatsapp-speedrun.disabled{background:#333;box-shadow:none;color:#fff3;cursor:not-allowed;pointer-events:none}.divider{align-items:center;color:#fff3;display:flex;font-size:.75rem;font-weight:600;letter-spacing:2px;margin:25px 0;text-align:center}.divider:after,.divider:before{border-bottom:1px solid #ffffff14;content:"";flex:1 1}.divider span{padding:0 15px}.input-field.center label{margin-bottom:15px;text-align:center}.scroll-area::-webkit-scrollbar{width:4px}.scroll-area::-webkit-scrollbar-track{background:#0000}.scroll-area::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:10px}.login-actions-container{display:flex;flex-direction:column;gap:0;margin-top:10px;transition:all .4s cubic-bezier(.4,0,.2,1)}.login-actions-container.has-passkey{gap:12px}.passkey-button-wrapper{max-height:0;opacity:0;overflow:hidden;transform:translateY(-10px);transition:all .4s cubic-bezier(.4,0,.2,1);visibility:hidden}.passkey-button-wrapper.visible{margin-top:5px;max-height:80px;opacity:1;transform:translateY(0);visibility:visible}.passkey-login-btn{background:#ffffff0d;border:1px solid #ffffff1a;box-shadow:none;color:#fff;font-weight:500}.passkey-login-btn:hover:not(:disabled){background:#ffffff1a;border-color:#ffffff4d}.passkey-step{animation:slideUp .5s ease-out;text-align:center}.passkey-icon-container{align-items:center;background:radial-gradient(circle,#8000ff33 0,#0000 70%);border-radius:50%;display:flex;height:80px;justify-content:center;margin:0 auto 24px;width:80px}.passkey-main-icon{animation:pulseKey 2s ease-in-out infinite;filter:drop-shadow(0 0 10px rgba(128,0,255,.5));font-size:3rem}@keyframes pulseKey{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}.passkey-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#fff,#ffffffb3);-webkit-background-clip:text;background-clip:text;font-size:1.5rem;font-weight:700;margin-bottom:16px}.passkey-description{color:#ffffff80;font-size:.95rem;line-height:1.6;margin-bottom:32px}.passkey-actions{display:flex;flex-direction:column;gap:16px}.passkey-reg-btn{background:linear-gradient(135deg,#8000ff,#b000ff)!important;box-shadow:0 10px 20px #8000ff4d!important;font-weight:700;letter-spacing:.5px}.skip-btn{font-size:.85rem;margin-top:5px;opacity:.7}.passkey-fallback{background:#ffffff08;border:1px dashed #ffffff1a;border-radius:16px;padding:20px}.info-text-small{color:#fff6;font-size:.85rem;margin-bottom:16px}.spinner.small{border-width:2px;height:16px;width:16px}.center{text-align:center}.gatekeeper-phase{animation:slideUp .4s ease-out}.gatekeeper-phase .input-field{margin-bottom:8px}.gatekeeper-phase input[type=email]:focus{border-color:#9333ff;box-shadow:0 0 20px #8000ff40}.gatekeeper-phase .login-btn.primary:not(:disabled){background:linear-gradient(135deg,#7c3aed,#4f46e5);box-shadow:0 8px 24px #7c3aed66;margin-top:16px}.gatekeeper-phase .login-btn.primary:hover:not(:disabled){background:linear-gradient(135deg,#8b5cf6,#6366f1);box-shadow:0 12px 28px #7c3aed80;transform:translateY(-2px)}.prefill-hint{color:#ffffff59;font-size:.75rem;font-style:italic;margin-top:6px;text-align:center}.register-expand-enter{animation:expandDown .35s ease-out}@keyframes expandDown{0%{max-height:0;opacity:0;transform:translateY(-10px)}to{max-height:600px;opacity:1;transform:translateY(0)}}.login-form input[readonly]{background:#ffffff05!important;border-color:#ffffff0d!important;cursor:default;opacity:.55}.viewer-screen-root *{box-sizing:border-box;margin:0;padding:0}.viewer-screen-root{background-color:#0b0f19;color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;height:100vh;overflow:hidden;position:relative;user-select:none;-webkit-user-select:none;width:100vw}.viewer-screen-root .scoreboard-container{grid-gap:15px;display:grid;gap:15px;grid-template-columns:1fr 1fr;height:100vh;padding:15px;position:relative;width:100vw}.viewer-screen-root .player-card{background-color:#161f30;border:6px solid #0000;border-radius:20px;display:flex;flex-direction:column;height:100%;padding:20px;transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease}.viewer-screen-root .player-card.serving{background-color:#1e293b;border-color:#ff9f43;box-shadow:0 0 40px #ff9f4333}.viewer-screen-root .player-header{align-items:center;display:flex;height:15%;justify-content:space-between;padding:0 10px}.viewer-screen-root .player-name{font-size:3.5rem;font-weight:900;letter-spacing:1px;max-width:65%;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.viewer-screen-root .set-scores{display:flex;gap:10px}.viewer-screen-root .set-pill{background-color:#24324d;border-radius:10px;font-size:1.8rem;font-weight:800;min-width:60px;padding:6px 18px;text-align:center}.viewer-screen-root .set-pill.current-sets-won{background-color:#10b981;color:#fff}.viewer-screen-root .set-pill.past-set{opacity:.5}.viewer-screen-root .score-block{align-items:center;background-color:#0f172a;border-radius:16px;display:flex;height:85%;justify-content:center;overflow:hidden}.viewer-screen-root .live-score{font-feature-settings:"tnum";color:#fff;display:block;font-size:55vh;font-variant-numeric:tabular-nums;font-weight:900;line-height:1}.viewer-screen-root .serving .live-score{color:#ff9f43}@media (orientation:portrait){.viewer-screen-root .scoreboard-container{filter:blur(10px)}.viewer-screen-root:before{content:"Draai de tablet in Landscape modus 🔄";font-size:2rem;font-weight:700;left:50%;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%);width:80%;z-index:100}}.viewer-pairing-overlay{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0b0f19f2;bottom:0;display:flex;flex-direction:column;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:200}.viewer-pairing-card{background:#161f30;border:2px solid #24324d;border-radius:24px;box-shadow:0 20px 60px #0009;max-width:520px;padding:30px 45px;text-align:center}.viewer-pairing-card h2{color:#ff9f43;font-size:2rem;font-weight:900;letter-spacing:.5px;margin-bottom:8px}.viewer-pairing-card p{color:#94a3b8;font-size:1.1rem;margin-bottom:20px}.viewer-qr-wrapper{background:#fff;border-radius:16px;display:inline-block;margin-bottom:18px;padding:16px}.viewer-pin-code{background:#0f172a;border:1px solid #24324d;border-radius:12px;color:#38bdf8;display:inline-block;font-size:2.2rem;font-weight:900;letter-spacing:6px;margin-bottom:15px;padding:8px 20px}.viewer-status-text{color:#64748b;font-size:.95rem}.viewer-status-text.connected{color:#10b981;font-weight:700}.viewer-status-badge{align-items:center;background:#0f172acc;border:1px solid #ffffff1a;border-radius:20px;color:#94a3b8;cursor:pointer;display:flex;font-size:.85rem;gap:8px;padding:6px 14px;position:absolute;right:25px;top:20px;z-index:10}.viewer-status-dot{background-color:#ef4444;border-radius:50%;height:10px;width:10px}.viewer-status-dot.connected{background-color:#10b981;box-shadow:0 0 10px #10b981}.viewer-status-dot.connecting{background-color:#f59e0b}
/*# sourceMappingURL=main.ad658009.css.map*/