.cookie-consent-overlay{z-index:10000;background-color:#000000b3;justify-content:center;align-items:center;width:100%;height:100%;animation:.3s ease-in-out fadeIn;display:flex;position:fixed;top:0;left:0}.cookie-consent-banner{background:#fff;border-radius:12px;width:90%;max-width:600px;max-height:80vh;animation:.3s ease-out slideUp;position:relative;overflow-y:auto;box-shadow:0 8px 32px #0000004d}.cookie-banner-header{border-bottom:1px solid #e0e0e0;justify-content:space-between;align-items:center;padding:20px 24px 16px;display:flex}.cookie-banner-header h3{color:#333;margin:0;font-size:1.4em;font-weight:600}.close-btn{color:#666;cursor:pointer;background:0 0;border:none;padding:4px;font-size:24px;line-height:1;transition:color .2s}.close-btn:hover{color:#333}.cookie-banner-content{padding:20px 24px}.cookie-banner-content p{color:#555;margin:0 0 16px;line-height:1.5}.cookie-banner-content p:last-child{margin-bottom:0}.cookie-banner-actions{border-top:1px solid #e0e0e0;flex-wrap:wrap;gap:12px;padding:20px 24px;display:flex}.btn{cursor:pointer;border:none;border-radius:6px;min-width:100px;padding:12px 24px;font-size:14px;font-weight:500;transition:all .2s}.btn-primary{color:#fff;background-color:#007bff}.btn-primary:hover{background-color:#0056b3}.btn-secondary{color:#fff;background-color:#6c757d}.btn-secondary:hover{background-color:#545b62}.btn-outline{color:#007bff;background-color:#0000;border:2px solid #007bff}.btn-outline:hover{color:#fff;background-color:#007bff}.cookie-customization{padding:20px 24px}.cookie-customization h4{color:#333;margin:0 0 8px;font-size:1.2em;font-weight:600}.cookie-customization>p{color:#666;margin:0 0 24px}.cookie-category{border-bottom:1px solid #f0f0f0;margin-bottom:24px;padding-bottom:20px}.cookie-category:last-child{border-bottom:none;margin-bottom:0}.cookie-category-header{margin-bottom:8px}.cookie-toggle{cursor:pointer;align-items:center;gap:12px;display:flex}.cookie-toggle input[type=checkbox]{display:none}.toggle-slider{background-color:#ccc;border-radius:24px;flex-shrink:0;width:44px;height:24px;transition:background-color .3s;position:relative}.toggle-slider:before{content:"";background-color:#fff;border-radius:50%;width:18px;height:18px;transition:transform .3s;position:absolute;top:3px;left:3px;box-shadow:0 2px 4px #0003}.cookie-toggle input[type=checkbox]:checked+.toggle-slider{background-color:#007bff}.cookie-toggle input[type=checkbox]:checked+.toggle-slider:before{transform:translate(20px)}.toggle-slider.disabled{opacity:.6;background-color:#007bff}.toggle-slider.disabled:before{transform:translate(20px)}.cookie-category-name{flex:1;align-items:center;gap:8px;display:flex}.required-badge{color:#fff;text-transform:uppercase;background-color:#28a745;border-radius:10px;padding:2px 6px;font-size:10px;font-weight:600}.cookie-category-description{color:#666;margin:8px 0 0 56px;font-size:14px;line-height:1.4}.cookie-banner-footer{text-align:center;background-color:#f8f9fa;border-radius:0 0 12px 12px;padding:16px 24px}.cookie-banner-footer p{margin:0}.cookie-banner-footer a{color:#007bff;text-decoration:none}.cookie-banner-footer a:hover{text-decoration:underline}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}@media (width<=768px){.cookie-consent-banner{width:95%;max-height:90vh}.cookie-banner-header,.cookie-banner-content,.cookie-banner-actions,.cookie-customization{padding-left:16px;padding-right:16px}.cookie-banner-actions{flex-direction:column}.btn{width:100%;min-width:auto}.cookie-category-description{margin-top:12px;margin-left:0}.cookie-toggle{flex-direction:column;align-items:flex-start;gap:8px}.cookie-category-name{order:-1;width:100%}}.cookie-settings-btn{color:#fff;cursor:pointer;z-index:1000;opacity:.8;background-color:#6c757d;border:none;border-radius:20px;padding:8px 16px;font-size:12px;font-weight:500;transition:all .2s;position:fixed;bottom:20px;left:20px;box-shadow:0 2px 6px #0003}.cookie-settings-btn:hover{opacity:1;background-color:#545b62;transform:translateY(-1px);box-shadow:0 3px 8px #0000004d}.cookie-settings-btn:active{transform:translateY(0)}@media (width<=768px){.cookie-settings-btn{padding:6px 12px;font-size:11px;bottom:60px;left:10px}}*{box-sizing:border-box;margin:0;padding:0}body{color:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(45deg,#1e3c72,#2a5298);min-height:100vh;font-family:Arial,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.main-navigation{z-index:1000;position:fixed;top:20px;right:20px}.host-admin-link{color:#1e3c72;background:#ffd700e6;border-radius:25px;padding:12px 20px;font-weight:700;text-decoration:none;transition:all .3s;box-shadow:0 4px 15px #0003}.host-admin-link:hover{background:gold;transform:translateY(-2px);box-shadow:0 6px 20px #0000004d}.host-admin-setup{justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.host-admin-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-align:center;background:#ffffff1a;border-radius:20px;width:100%;max-width:600px;padding:40px;box-shadow:0 8px 32px #0000004d}.host-admin-card h1{color:gold;text-shadow:2px 2px 4px #00000080;margin-bottom:20px;font-size:2.5rem}.host-admin-container{flex-direction:column;min-height:100vh;display:flex}.host-admin-header{background:#0000004d;border-bottom:2px solid gold;padding:25px}.host-admin-header h2{color:gold;text-shadow:2px 2px 4px #00000080;text-align:center;margin-bottom:25px;font-size:1.8rem}.header-content{align-items:flex-start;gap:30px;display:flex}.header-left,.header-right{flex:1;min-width:0}.admin-info-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.info-item{text-align:center;background:#ffffff1a;border-radius:10px;padding:15px}.info-item label{color:gold;margin-bottom:8px;font-size:.9rem;font-weight:700;display:block}.info-value{color:#fff;word-break:break-all;font-size:1.2rem;font-weight:700}.player-link-section{margin:0}.link-container{background:#ffffff1a;border-radius:12px;flex-direction:column;gap:15px;padding:15px;display:flex}.link-container>label{color:gold;text-align:center;font-size:1rem;font-weight:700;display:block}.player-link-input{color:#1e3c72;text-align:center;background:#ffffffe6;border:2px solid gold;border-radius:8px;outline:none;width:100%;padding:10px 12px;font-size:.9rem;font-weight:500}.player-link-input:focus{border-color:orange;box-shadow:0 0 10px #ffd7004d}.header-actions{flex-wrap:wrap;justify-content:center;gap:15px;display:flex}.action-btn{cursor:pointer;text-align:center;border:none;border-radius:8px;min-width:120px;padding:12px 24px;font-size:1rem;font-weight:700;transition:all .3s;box-shadow:0 4px 10px #0003}.action-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 15px #0000004d}.action-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.action-btn.copy-btn{color:#1e3c72;background:gold}.action-btn.copy-btn:hover:not(:disabled){background:orange}.action-btn.end-game-btn{color:#fff;background:#f44336}.action-btn.end-game-btn:hover:not(:disabled){background:#d32f2f}@media (width<=768px){.host-admin-header{padding:20px 15px}.header-content{flex-direction:column;gap:20px}.header-left,.header-right{flex:1;width:100%}.admin-info-grid{grid-template-columns:1fr;gap:15px}.player-link-section{margin:0}.header-actions{flex-direction:column;gap:10px}.action-btn{min-width:100%;padding:14px 20px}.player-link-input{padding:10px 12px;font-size:.9rem}.game-and-controls-container{flex-direction:column;padding:15px;overflow-y:auto}.game-and-management-column{flex:1;gap:15px}.game-board-wrapper{min-width:auto}.management-sections-container{flex-direction:column;gap:15px;padding:0}.score-management-section,.team-name-management-section{padding:15px}.host-controls{flex:1;max-height:none}}@media (width<=480px){.host-admin-header h2{font-size:1.5rem}.info-value{font-size:1rem}.action-btn{font-size:.9rem}}.game-and-controls-container{flex:1;gap:20px;padding:20px;display:flex;overflow:hidden}.game-and-management-column{flex-direction:column;flex:1;gap:20px;min-width:0;display:flex;overflow-y:auto}.game-board-wrapper{flex:none;min-width:0}.host-admin-footer{text-align:center;background:#0003;margin-top:auto;padding:20px}.management-sections-container{flex:1;gap:20px;padding:0;display:flex}.score-management-section,.team-name-management-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border-radius:10px;flex:1;padding:20px}.score-management{margin:0}.score-management h3{color:#fff;text-align:center;margin-bottom:8px;font-size:1.1em}.score-management p{color:#fffc;text-align:center;margin-bottom:15px;font-size:.8em}.score-controls{flex-direction:column;gap:10px;margin-bottom:15px;display:flex}.team-score-control{background:#ffffff1a;border:1px solid #fff3;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:12px;display:flex}.team-info{flex-direction:column;flex:none;gap:3px;min-width:80px;display:flex}.team-info strong{color:#fff;font-size:.95em}.current-score{color:#ffffffb3;font-size:.8em}.score-input-group{flex:1;align-items:center;gap:8px;display:flex}.score-input{color:#fff;text-align:center;background:#ffffff1a;border:1px solid #ffffff4d;border-radius:5px;width:100px;padding:6px 10px;font-size:.9em}.score-input::placeholder{color:#ffffff80}.score-input:focus{background:#fff3;border-color:#4caf50;outline:none}.update-score-btn{color:#fff;cursor:pointer;background:#4caf50;border:none;border-radius:5px;padding:6px 12px;font-size:.9em;font-weight:700;transition:background-color .3s}.update-score-btn:hover:not(:disabled){background:#45a049}.update-score-btn:disabled{cursor:not-allowed;opacity:.6;background:#fff3}.score-actions{flex-direction:column;align-items:center;gap:12px;display:flex}.reset-scores-btn{color:#fff;cursor:pointer;background:#f44336;border:none;border-radius:5px;width:100%;padding:10px 20px;font-size:.9em;font-weight:700;transition:background-color .3s}.reset-scores-btn:hover:not(:disabled){background:#da190b}.reset-scores-btn:disabled{cursor:not-allowed;opacity:.6;background:#fff3}.score-info{text-align:center;color:#ffffffb3;font-size:.8em}.score-info small{line-height:1.4}.team-name-management{margin:0}.team-name-management h3{color:#fff;text-align:center;margin-bottom:8px;font-size:1.1em}.team-name-management p{color:#fffc;text-align:center;margin-bottom:15px;font-size:.8em}.team-controls{flex-direction:column;gap:10px;margin-bottom:15px;display:flex}.team-name-control{background:#ffffff1a;border:1px solid #fff3;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:12px;display:flex}.team-label{flex-direction:column;flex:none;gap:3px;min-width:70px;display:flex}.team-label strong{color:#fff;font-size:.95em}.name-input-group{flex:1;align-items:center;gap:8px;display:flex}.name-input{color:#fff;text-align:left;background:#ffffff1a;border:1px solid #ffffff4d;border-radius:5px;flex:1;min-width:100px;padding:6px 10px;font-size:.9em}.name-input::placeholder{color:#ffffff80}.name-input:focus{background:#fff3;border-color:gold;outline:none}.update-name-btn{color:#1e3c72;cursor:pointer;background:gold;border:none;border-radius:5px;padding:6px 12px;font-size:.9em;font-weight:700;transition:background-color .3s}.update-name-btn:hover:not(:disabled){background:orange}.update-name-btn:disabled{color:#ffffff80;cursor:not-allowed;opacity:.6;background:#fff3}.player-assignment-management-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border-radius:10px;flex:1;padding:20px}.player-assignment-management{margin:0}.player-assignment-management h3{color:#fff;text-align:center;margin-bottom:8px;font-size:1.1em}.player-assignment-management p{color:#fffc;text-align:center;margin-bottom:15px;font-size:.8em}.player-controls{flex-direction:column;gap:10px;display:flex}.player-assignment-control{background:#ffffff1a;border:1px solid #fff3;border-radius:6px;flex-direction:column;gap:8px;padding:10px;display:flex}.player-label{justify-content:space-between;align-items:center;gap:8px;display:flex}.player-label strong{color:#fff;font-size:.9em}.current-team{color:#fff9;background:#ffffff1a;border-radius:3px;padding:2px 6px;font-size:.75em}.team-assignment-buttons{gap:6px;display:flex}.team-assign-btn{cursor:pointer;border:none;border-radius:5px;flex:1;padding:8px 16px;font-size:.9rem;font-weight:700;transition:all .3s}.team-assign-btn.red-team{color:#fff;background:#6b0220}.team-assign-btn.red-team:hover{background:#ff3742;transform:translateY(-2px)}.team-assign-btn.red-team.assigned{background:#ff0025;border:1px solid gold;box-shadow:0 0 10px #c4456980}.team-assign-btn.blue-team{color:#fff;background:#202693}.team-assign-btn.blue-team:hover{background:#2f3542;transform:translateY(-2px)}.team-assign-btn.blue-team.assigned{background:#3742fa;border:1px solid gold;box-shadow:0 0 10px #2f354280}.team-assign-btn:disabled{opacity:.5;cursor:not-allowed}.back-btn,.back-to-main-btn{color:#fff;cursor:pointer;background:#fff3;border:2px solid #fff;border-radius:25px;margin:10px;padding:12px 25px;font-weight:700;text-decoration:none;transition:all .3s;display:inline-block}.back-btn:hover,.back-to-main-btn:hover{color:#1e3c72;background:#fff;transform:translateY(-2px)}.start-hosting-btn{color:#1e3c72;cursor:pointer;background:gold;border:none;border-radius:25px;margin:20px 0;padding:15px 30px;font-size:1.2rem;font-weight:700;transition:all .3s}.start-hosting-btn:hover{background:orange;transform:translateY(-2px);box-shadow:0 6px 20px #0000004d}.form-group{text-align:left;margin:20px 0}.form-group label{color:gold;margin-bottom:8px;font-weight:700;display:block}.form-group input{color:#fff;background:#ffffff1a;border:2px solid #ffffff4d;border-radius:10px;width:100%;padding:12px;font-size:1rem}.form-group input::placeholder{color:#ffffffb3}.form-group input:focus{background:#fff3;border-color:gold;outline:none}.game-id-display{letter-spacing:2px;color:gold;background:#ffd70033;border:2px solid gold;border-radius:10px;padding:12px;font-family:Courier New,monospace;font-size:1.2rem;font-weight:700}.admin-info{text-align:left;background:#0003;border-radius:10px;margin:30px 0;padding:20px}.admin-info h3{color:gold;margin-bottom:15px}.admin-info ul{padding:0;list-style-type:none}.admin-info li{margin:8px 0;padding-left:20px;position:relative}.admin-info li:before{content:"🎮";position:absolute;left:0}.active-games-section{background:#0003;border-left:4px solid gold;border-radius:10px;margin:30px 0;padding:20px}.active-games-section h3{color:gold;align-items:center;gap:8px;margin-bottom:15px;display:flex}.games-list{flex-direction:column;gap:10px;margin-bottom:20px;display:flex}.game-item{background:#ffffff1a;border-left:3px solid #0000;border-radius:8px;justify-content:space-between;align-items:flex-start;gap:15px;padding:15px;transition:all .3s;display:flex}.game-item:hover{background:#ffffff26;border-left-color:gold}.game-info{flex-direction:column;flex:1;gap:5px;display:flex}.game-info strong{color:gold;font-family:monospace;font-size:1.1rem}.game-details{color:#fffc;font-size:.9rem}.game-time{color:#fff9;font-size:.8rem;font-style:italic}.game-actions{flex-shrink:0;gap:8px;display:flex}.rejoin-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#4caf50;border:none;border-radius:5px;padding:8px 15px;font-size:.9rem;transition:all .3s}.rejoin-btn:hover:not(:disabled){background:#45a049;transform:translateY(-1px)}.rejoin-btn:disabled{cursor:not-allowed;background:#4caf5080}.copy-game-btn{color:#1e3c72;cursor:pointer;white-space:nowrap;background:#ffd700cc;border:none;border-radius:5px;padding:8px 12px;font-size:.9rem;transition:all .3s}.copy-game-btn:hover{background:gold;transform:translateY(-1px)}.end-game-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#f44336;border:none;border-radius:5px;padding:8px 12px;font-size:.9rem;transition:all .3s}.end-game-btn:hover:not(:disabled){background:#d32f2f;transform:translateY(-1px)}.end-game-btn.danger{background:#d32f2f;border:1px solid #b71c1c}.end-game-btn.danger:hover:not(:disabled){background:#b71c1c;box-shadow:0 2px 8px #b71c1c4d}.end-game-btn:disabled{cursor:not-allowed;background:#f4433680}.rejoin-manual{border-top:1px solid #fff3;margin-top:15px;padding-top:15px}.rejoin-manual h4{color:gold;margin-bottom:10px;font-size:1rem}.rejoin-form{align-items:center;gap:10px;display:flex}.rejoin-input{color:#fff;text-transform:uppercase;background:#ffffff1a;border:1px solid #ffffff4d;border-radius:5px;flex:1;padding:10px;font-family:monospace}.rejoin-input::placeholder{color:#ffffff80}.rejoin-manual-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#2196f3;border:none;border-radius:5px;padding:10px 20px;font-size:.9rem;transition:all .3s}.rejoin-manual-btn:hover:not(:disabled){background:#1976d2;transform:translateY(-1px)}.rejoin-manual-btn:disabled{cursor:not-allowed;background:#2196f380}.buzzer-control{text-align:center;background:#0003;border-radius:10px;margin:15px 0;padding:15px}.buzzer-toggle-btn{cursor:pointer;border:none;border-radius:25px;width:100%;margin-bottom:8px;padding:12px 24px;font-size:1.1rem;font-weight:700;transition:all .3s;display:block}.buzzer-toggle-btn.enabled{color:#fff;background:#4caf50}.buzzer-toggle-btn.enabled:hover{background:#45a049;transform:scale(1.02)}.buzzer-toggle-btn.disabled{color:#fff;background:#f44336}.buzzer-toggle-btn.disabled:hover{background:#da190b;transform:scale(1.02)}.buzzer-control small{color:#fffc;font-style:italic}.timer-control{text-align:center;background:#0003;border-radius:10px;margin:15px 0;padding:15px}.timer-input-group{justify-content:center;align-items:center;gap:10px;margin-bottom:8px;display:flex}.host-controls .timer-input-group{flex-direction:column;justify-content:flex-start;gap:6px}.timer-input{color:#fff;text-align:center;background:#ffffff1a;border:2px solid #ffffff4d;border-radius:5px;width:80px;padding:8px 12px;font-size:1rem}.host-controls .timer-input{width:100%;font-size:.9em}.timer-input:focus{border-color:#00bfff;outline:none;box-shadow:0 0 10px #00bfff4d}.timer-btn{cursor:pointer;border:none;border-radius:20px;padding:8px 16px;font-size:.9rem;font-weight:700;transition:all .3s}.host-controls .timer-btn{border-radius:5px;width:100%;padding:8px 12px;font-size:.85em}.timer-btn.start{color:#fff;background:#4caf50}.timer-btn.start:hover:not(.disabled){background:#45a049;transform:scale(1.05)}.timer-btn.stop{color:#fff;background:#f44336}.timer-btn.stop:hover:not(.disabled){background:#da190b;transform:scale(1.05)}.timer-btn.disabled{color:#999;cursor:not-allowed;opacity:.6;background:#666}.timer-control small{color:#fffc;font-style:italic}.buzzer-disabled-message{color:#f44336;text-align:center;background:#f4433633;border:2px solid #f44336;border-radius:8px;width:250px;margin:10px auto;padding:10px;font-weight:700}.buzzer.buzzer-disabled{color:#bdbdbd!important;cursor:not-allowed!important;background:#757575!important}.buzzer.buzzer-disabled:hover{background:#757575!important;transform:none!important}.App{flex-direction:column;min-height:100vh;display:flex}.game-container{flex-direction:column;flex:1;display:flex}.game-lobby{justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.lobby-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-align:center;background:#ffffff1a;border-radius:20px;width:100%;max-width:500px;padding:40px;box-shadow:0 8px 32px #0000004d}.lobby-container h1{color:gold;text-shadow:2px 2px 4px #00000080;margin-bottom:30px;font-size:2.5rem}.mode-selector{gap:10px;margin-bottom:30px;display:flex}.mode-selector button{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:8px;flex:1;padding:12px;transition:all .3s}.mode-selector button:hover,.mode-selector button.active{color:#1e3c72;background:gold;font-weight:700}.input-group{text-align:left;margin-bottom:20px}.input-group label{margin-bottom:8px;font-weight:700;display:block}.input-group input{color:#333;background:#ffffffe6;border:none;border-radius:8px;width:100%;padding:12px;font-size:16px}.lobby-actions{margin:30px 0}.join-btn,.create-btn{color:#1e3c72;cursor:pointer;background:linear-gradient(45deg,gold,orange);border:none;border-radius:10px;width:100%;padding:15px;font-size:18px;font-weight:700;transition:all .3s}.join-btn:hover,.create-btn:hover{transform:translateY(-2px);box-shadow:0 5px 15px #ffd70066}.host-info,.player-info{text-align:left;background:#ffffff1a;border-radius:10px;margin-top:20px;padding:20px}.host-info ul,.player-info ul{margin-top:10px;padding-left:20px}.game-link-info{background:#ffd7001a;border:1px solid #ffd7004d;border-radius:10px;margin-top:30px;padding:15px}.join-help{background:#28a7451a;border:1px solid #28a7454d;border-radius:8px;margin-top:15px;padding:10px}.join-help code{background:#fff3;border-radius:4px;padding:2px 6px;font-family:Courier New,monospace;font-weight:700}.game-board{flex:1;padding:20px}.question-section{text-align:center;margin-bottom:30px}.question{color:gold;text-shadow:2px 2px 4px #000000b3;background:#0000004d;border:3px solid gold;border-radius:15px;margin-bottom:10px;padding:20px;font-size:2rem}.question-info{color:orange;font-size:1.2rem;font-weight:700}.answers-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:15px;max-width:800px;margin:30px auto;display:grid}.answer-card{background:#1e3c72;border:3px solid gold;border-radius:10px;align-items:center;gap:15px;min-height:60px;padding:15px;transition:all .3s;display:flex}.answer-card.revealed{color:#1e3c72;background:linear-gradient(45deg,gold,orange);font-weight:700;transform:scale(1.02)}.answer-card.hidden{background:#2a5298}.answer-number{color:#1e3c72;background:gold;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-weight:700;display:flex}.answer-text{flex:1;font-size:1.1rem}.answer-points{text-align:right;min-width:40px;font-size:1.2rem;font-weight:700}.scoreboard{background:#0006;border-radius:15px;justify-content:space-between;align-items:center;margin-top:30px;padding:20px;display:flex}.teams{gap:40px;display:flex}.team{text-align:center;background:#ffffff1a;border:2px solid #fff3;border-radius:10px;min-width:120px;padding:15px 25px;transition:all .3s}.team.active{background:#ffd7004d;border:2px solid gold;box-shadow:0 5px 15px #ffd70066}.team[data-team-id=team1]{color:#fff;background:#dc3545b3;border-color:#dc3545cc}.team[data-team-id=team1].active{background:#dc3545e6;border-color:#dc3545;box-shadow:0 5px 15px #dc354580}.team[data-team-id=team2]{color:#fff;background:#0d6efdb3;border-color:#0d6efdcc}.team[data-team-id=team2].active{background:#0d6efde6;border-color:#0d6efd;box-shadow:0 5px 15px #0d6efd80}.team h3{color:gold;text-shadow:2px 2px 4px #000c;margin-bottom:10px;font-weight:700}.team[data-team-id=team1] h3{color:#ffe6e6;text-shadow:2px 2px 4px #000000e6}.team[data-team-id=team2] h3{color:#e6f3ff;text-shadow:2px 2px 4px #000000e6}.team .score{font-size:2rem;font-weight:700}.game-info{text-align:center}.strikes{margin-bottom:10px;font-size:1.1rem}.strike{color:#6464644d;filter:grayscale()brightness(.7);margin:0 5px;font-size:1.5rem;transition:all .3s}.strike.active{color:#f44;filter:none;text-shadow:0 0 8px #f449;animation:.5s ease-out strike-pulse}@keyframes strike-pulse{0%{color:#ff0;transform:scale(1)}50%{color:#f84;transform:scale(1.3)}to{color:#f44;transform:scale(1)}}.total-points{color:gold;font-size:1.2rem;font-weight:700}.timer-display{color:#00bfff;text-shadow:0 0 10px #00bfff80;background:#00bfff1a;border:2px solid #00bfff4d;border-radius:8px;max-width:80px;margin:10px auto;padding:3px 6px;font-family:Courier New,monospace;font-size:.9rem;font-weight:700;animation:2s infinite timer-pulse}.timer-display.warning{color:orange;text-shadow:0 0 10px #ffa50099;background:#ffa5001a;border-color:#ffa50080;animation:1s infinite timer-warning}.timer-display.critical{color:#f44;text-shadow:0 0 15px #f44c;background:#f443;border-color:#ff4444b3;animation:.5s infinite timer-critical}@keyframes timer-pulse{0%,to{opacity:1}50%{opacity:.8}}@keyframes timer-warning{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.05)}}@keyframes timer-critical{0%,to{opacity:1;transform:scale(1);box-shadow:0 0 20px #ff44444d}50%{opacity:.8;transform:scale(1.1);box-shadow:0 0 30px #f449}}.buzzer-alert-overlay{z-index:1000;background:#000000b3;justify-content:center;align-items:center;animation:.3s ease-out overlay-fade-in;display:flex;position:fixed;inset:0}.buzzer-alert{color:#1e3c72;text-align:center;background:linear-gradient(135deg,gold,orange);border:3px solid #ff8c00;border-radius:20px;min-width:300px;max-width:400px;padding:30px 40px;font-size:1.5rem;font-weight:700;animation:.6s ease-out buzzer-bounce;position:relative;box-shadow:0 10px 40px #ffd70080}.buzzer-alert-content h3{text-shadow:2px 2px 4px #0000004d;margin-bottom:15px;font-size:2rem}.buzzer-alert-content p{margin-bottom:10px;font-size:1.3rem}.buzzer-order-alert{background:#1e3c721a;border:2px solid #1e3c724d;border-radius:10px;margin-top:20px;padding:15px}.buzzer-order-alert p{margin-bottom:10px;font-size:1.1rem;font-weight:700}.buzzer-order-alert ol{text-align:left;padding-left:20px}.buzzer-order-alert li{margin:5px 0;font-size:1rem}.buzzer-close-btn{color:#fff;cursor:pointer;background:#dc3545cc;border:none;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:1.2rem;font-weight:700;transition:all .3s;display:flex;position:absolute;top:10px;right:15px}.buzzer-close-btn:hover{background:#dc3545;transform:scale(1.1)}.winner-alert-overlay{z-index:1000;background:#000000b3;justify-content:center;align-items:center;animation:.3s ease-out overlay-fade-in;display:flex;position:fixed;inset:0}.winner-alert{color:#fff;text-align:center;background:linear-gradient(135deg,#28a745,#20c997);border:3px solid #20c997;border-radius:20px;min-width:350px;max-width:450px;padding:40px 50px;font-size:1.5rem;font-weight:700;animation:.6s ease-out winner-bounce;position:relative;box-shadow:0 10px 40px #28a74580}.winner-alert-content h2{text-shadow:2px 2px 4px #0000004d;margin-bottom:15px;font-size:2.5rem}.winner-alert-content p{margin-bottom:10px;font-size:1.4rem}.winner-close-btn{color:#fff;cursor:pointer;background:#dc3545cc;border:none;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:1.2rem;font-weight:700;transition:all .3s;display:flex;position:absolute;top:10px;right:15px}.winner-close-btn:hover{background:#dc3545;transform:scale(1.1)}@keyframes overlay-fade-in{0%{opacity:0}to{opacity:1}}@keyframes buzzer-bounce{0%{opacity:0;transform:scale(.3)rotate(-10deg)}50%{transform:scale(1.1)rotate(5deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes winner-bounce{0%{opacity:0;transform:scale(.2)rotate(-15deg)}50%{transform:scale(1.15)rotate(8deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes buzzer-flash{0%,to{opacity:1}50%{opacity:.7}}.host-view{flex-direction:column;flex:1;display:flex}.host-content{flex:1;gap:20px;padding:20px;display:flex;overflow:hidden}.game-and-controls-column{flex-direction:column;flex:1;gap:20px;display:flex;overflow-y:auto}.host-controls{flex-direction:column;flex:0 0 450px;gap:15px;max-height:calc(100vh - 200px);display:flex;overflow-y:auto}.host-header{text-align:center;background:#00000080;border-bottom:3px solid gold;padding:20px}.host-header h1{color:gold;margin-bottom:10px}.game-id{color:orange;font-size:1.2rem;font-weight:700}.start-game-btn{color:#fff;cursor:pointer;background:linear-gradient(45deg,#28a745,#20c997);border:none;border-radius:10px;width:100%;padding:20px;font-size:1.5rem;font-weight:700;transition:all .3s}.start-game-btn:hover{transform:translateY(-2px);box-shadow:0 5px 15px #28a74566}.host-controls .answer-controls,.host-controls .game-controls,.host-controls .answer-controls,.host-controls .game-controls,.host-controls .scoring-controls,.host-controls .buzzer-control,.host-controls .timer-control,.host-controls .team-assignment-section,.host-controls .steal-controls{background:#ffffff1a;border-radius:8px;margin:0;padding:12px}.host-controls .answer-controls h3,.host-controls .scoring-controls h3,.host-controls .buzzer-control h3,.host-controls .timer-control h3,.host-controls .team-assignment-section h3,.host-controls .steal-controls h3{color:gold;margin-bottom:8px;font-size:1.05em}.host-controls .answer-buttons{gap:6px;display:grid}.host-controls .answer-btn{color:#fff;cursor:pointer;text-align:left;background:#2a5298;border:none;border-radius:5px;padding:8px;font-size:.85em;transition:all .3s}.answer-btn:hover{background:#3d6bb3}.answer-btn.revealed{cursor:not-allowed;background:#6c757d}.game-controls{flex-wrap:wrap;gap:15px;display:flex}.host-controls .game-controls{flex-direction:column;gap:8px}.strike-btn,.clear-strikes-btn,.switch-btn,.clear-buzzer-btn,.steal-btn,.reset-btn,.next-question-btn{cursor:pointer;border:none;border-radius:8px;padding:12px 20px;font-weight:700;transition:all .3s}.host-controls .strike-btn,.host-controls .clear-strikes-btn,.host-controls .switch-btn,.host-controls .clear-buzzer-btn{width:100%;padding:8px 12px;font-size:.9em}.strike-btn{color:#fff;background:#dc3545}.clear-strikes-btn{color:#fff;background:#28a745}.clear-strikes-btn:hover{background:#218838;transform:translateY(-1px)}.switch-btn{color:#1e3c72;background:#ffc107}.clear-buzzer-btn{color:#fff;background:#17a2b8}.steal-btn{color:#fff;background:#28a745;padding:15px 30px;font-size:1.2rem}.reset-btn{color:#fff;background:#6c757d}.next-question-btn{color:#1e3c72;background:linear-gradient(45deg,gold,orange);width:100%;margin-top:20px;padding:15px;font-size:1.1rem}.next-question-btn:disabled,.next-question-btn.disabled{opacity:.6;pointer-events:none;color:#dee2e6!important;cursor:not-allowed!important;background:#6c757d!important;transform:none!important}.team-scoring{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px;display:flex}.score-btn{color:#fff;cursor:pointer;background:#28a745;border:none;border-radius:5px;padding:8px 15px;transition:all .3s}.score-btn:hover{background:#218838;transform:translateY(-1px)}.score-btn:disabled,.score-btn.disabled{opacity:.6;pointer-events:none;color:#dee2e6!important;cursor:not-allowed!important;background:#6c757d!important;transform:none!important}.winner-btn{color:#1e3c72;cursor:pointer;background:gold;border:none;border-radius:5px;padding:8px 15px;font-weight:700;transition:all .3s}.winner-btn:hover{background:orange;transform:translateY(-1px)}.steal-btn:disabled,.steal-btn.disabled{opacity:.6;pointer-events:none;color:#dee2e6!important;cursor:not-allowed!important;background:#6c757d!important;transform:none!important}.buzzer-timer-controls{gap:20px;display:flex}.buzzer-timer-controls .buzzer-control,.buzzer-timer-controls .timer-control{background:#ffffff1a;border-radius:8px;flex:1;padding:12px}.buzzer-timer-controls h3{color:gold;margin-bottom:8px;font-size:1.05em}.buzzer-timer-controls small{color:#ccc;margin-top:8px;font-size:.85em;display:block}.player-view{flex-direction:column;flex:1;display:flex}.player-header{text-align:center;background:#00000080;border-bottom:3px solid gold;padding:20px}.player-header h1{color:gold;margin-bottom:10px}.player-header .player-info{color:orange}.player-controls{text-align:center;padding:20px}.buzzer-section{margin:30px 0}.buzzer-instructions{color:gold;margin-bottom:20px;font-size:1.1rem}.buzzer{color:#fff;cursor:pointer;background:linear-gradient(45deg,#dc3545,#c82333);border:none;border-radius:50%;width:200px;height:200px;font-size:1.5rem;font-weight:700;transition:all .3s;box-shadow:0 10px 30px #dc354580}.buzzer:hover:not(.disabled){transform:scale(1.05);box-shadow:0 15px 40px #dc3545b3}.buzzer:active:not(.disabled){transform:scale(.95)}.buzzer.buzzed-in{color:#1e3c72;background:linear-gradient(45deg,gold,orange);animation:1s ease-in-out infinite alternate buzz-glow}.buzzer.disabled{cursor:not-allowed;box-shadow:none;background:#6c757d}@keyframes buzz-glow{0%{box-shadow:0 10px 30px #ffd70080}to{box-shadow:0 15px 40px #ffd700e6}}.other-buzzed{color:#ffc107;margin-top:20px;font-size:1.1rem;font-weight:700}.team-play-message,.steal-message{background:#ffffff1a;border-radius:10px;margin:20px 0;padding:20px}.waiting-message{color:gold;margin:40px 0;font-size:1.2rem}.game-finished{background:#ffd7001a;border:2px solid gold;border-radius:15px;margin:20px 0;padding:30px}.final-scores{margin:20px 0}.final-score{color:gold;margin:10px 0;font-size:1.3rem}.winner{color:#28a745;margin-top:20px;font-size:1.5rem;font-weight:700}.buzz-history{text-align:left;background:#ffffff1a;border-radius:10px;max-width:300px;margin:20px auto;padding:15px}.buzz-history h4{color:gold;margin-bottom:10px}.buzz-history ol{padding-left:20px}.buzz-history li.you{color:gold;font-weight:700}.strike-notification{color:#fff;text-align:center;z-index:2000;background:linear-gradient(135deg,#dc3545,#c82333);border:3px solid #ff6b6b;border-radius:15px;padding:20px 30px;font-size:1.8rem;font-weight:700;animation:.5s ease-out strike-notification-appear;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 10px 30px #dc354599}.strike-notification.fade-out{animation:.5s ease-out forwards strike-notification-fade}@keyframes strike-notification-appear{0%{opacity:0;transform:translate(-50%,-50%)scale(.5)rotate(-10deg)}50%{transform:translate(-50%,-50%)scale(1.1)rotate(5deg)}to{opacity:1;transform:translate(-50%,-50%)scale(1)rotate(0)}}@keyframes strike-notification-fade{0%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-50%)scale(.8)}}.connection-status{z-index:1000;color:#fff;background:#000c;border:1px solid #fff3;border-radius:8px;align-items:center;gap:8px;padding:8px 12px;font-size:.9rem;display:flex;position:fixed;bottom:20px;right:20px}.connection-status.connected{background:#28a745e6;border-color:#28a74580}.connection-status.error{background:#dc3545e6;border-color:#dc354580}.connection-status.connecting{color:#333;background:#ffc107e6;border-color:#ffc10780}.status-indicator{font-size:1rem}.reconnect-btn{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:4px;padding:4px 8px;font-size:.8rem;transition:all .3s}.reconnect-btn:hover{background:#ffffff4d}.game-footer{background:#00000080;border-top:1px solid #ffd7004d;justify-content:space-between;align-items:center;padding:15px 20px;display:flex}.leave-game-btn{color:#fff;cursor:pointer;background:#dc3545;border:none;border-radius:5px;padding:10px 20px;font-weight:700;transition:all .3s}.leave-game-btn:hover{background:#c82333}.share-info{color:#ccc;font-size:.9rem}@media (width<=768px){.lobby-container{margin:10px;padding:20px}.question{padding:15px;font-size:1.5rem}.answers-grid{grid-template-columns:1fr}.scoreboard{flex-direction:column;gap:20px}.teams{gap:20px}.buzzer{width:150px;height:150px;font-size:1.2rem}.game-footer{text-align:center;flex-direction:column;gap:10px}.host-content{flex-direction:column;gap:15px;padding:15px}.host-controls{flex:1;max-height:none}.host-controls .game-controls,.buzzer-timer-controls{flex-direction:column}.team-scoring{justify-content:center}}.team-assignment-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border-radius:10px;margin:20px 0;padding:20px}.team-assignment-section h3{color:gold;text-align:center;margin-bottom:15px}.players-list{flex-direction:column;gap:10px;display:flex}.player-assignment{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;justify-content:space-between;align-items:center;padding:10px 15px;display:flex}.player-name{color:#fff;min-width:120px;font-weight:700}.team-buttons{gap:10px;display:flex}.team-btn{cursor:pointer;border:none;border-radius:5px;padding:8px 16px;font-size:.9rem;font-weight:700;transition:all .3s}.team-btn.red-team{color:#fff;background:#6b0220}.team-btn.red-team:hover{background:#ff3742;transform:translateY(-2px)}.team-btn.red-team.assigned{background:#ff0025;border:1px solid gold;box-shadow:0 0 10px #c4456980}.team-btn.blue-team{color:#fff;background:#202693}.team-btn.blue-team:hover{background:#2f3542;transform:translateY(-2px)}.team-btn.blue-team.assigned{background:#3742fa;border:1px solid gold;box-shadow:0 0 10px #2f354280}.team-members-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border-radius:10px;margin-top:30px;padding:20px}.team-members-section h3{color:gold;text-align:center;margin-bottom:20px;font-size:1.3rem}.team-columns{grid-template-columns:1fr 1fr;gap:20px;display:grid}.team-column{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;padding:15px}.team-column h4{text-align:center;margin-bottom:10px;font-size:1.1rem}.red-team-column h4{color:#ff4757}.blue-team-column h4{color:#000eff}.team-members-list{flex-direction:column;gap:8px;display:flex}.team-member{color:#fff;text-align:center;background:#ffffff1a;border-radius:5px;padding:8px 12px;font-size:.9rem}.team-member.you{color:gold;background:#ffd7004d;font-weight:700}.no-members{color:#999;text-align:center;padding:8px 12px;font-size:.85rem;font-style:italic}@media (width<=768px){.team-columns{grid-template-columns:1fr;gap:15px}.player-assignment{text-align:center;flex-direction:column;gap:10px}.player-name{min-width:auto}.team-buttons{justify-content:center}}.loading-container{justify-content:center;align-items:center;height:100vh;font-size:18px;display:flex}.auth-header{background-color:#0000004d;border-bottom:1px solid #ffd7004d;justify-content:space-between;align-items:center;margin-bottom:20px;padding:10px 20px;display:flex}.auth-header span{color:gold;font-weight:600}.logout-btn{color:#fff;cursor:pointer;background-color:#6c757d;border:none;border-radius:4px;padding:8px 16px;font-size:14px;transition:all .3s}.logout-btn:hover{background-color:#5a6268;transform:translateY(-1px)}.spectate-page{flex-direction:column;min-height:100vh;display:flex}.spectate-lobby{flex-direction:column;flex:1;align-items:center;padding:20px;display:flex}.spectate-header-info{text-align:center;margin-bottom:30px}.spectate-header-info h1{color:gold;margin-bottom:10px;font-size:2.5rem}.spectate-header-info p{color:#ccc;margin-bottom:20px;font-size:1.2rem}.spectate-view{flex-direction:column;flex:1;display:flex}.spectate-header{text-align:center;background:#000000b3;border-bottom:3px solid #9370db;padding:20px}.spectate-header h1{color:#9370db;margin-bottom:10px}.spectate-label{color:#fff;text-transform:uppercase;letter-spacing:1px;background:linear-gradient(135deg,#9370db,#639);border-radius:20px;padding:8px 20px;font-size:.9rem;font-weight:700;display:inline-block}.game-board-container{flex-direction:column;flex:1;display:flex}.spectate-board{pointer-events:none}.spectate-board .buzzer-alert-overlay,.spectate-board .winner-alert-overlay,.spectate-board .game-over-overlay{pointer-events:auto}.mode-links{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-align:center;background:#ffffff1a;border-radius:10px;margin-top:20px;padding:20px}.mode-links h3{color:gold;margin-bottom:15px}.mode-buttons{flex-wrap:wrap;justify-content:center;gap:15px;display:flex}.mode-link{border:2px solid #0000;border-radius:25px;padding:12px 24px;font-weight:700;text-decoration:none;transition:all .3s;display:inline-block}.mode-link.spectate-link{color:#fff;background:linear-gradient(135deg,#9370db,#639);border-color:#9370db}.mode-link.spectate-link:hover{background:linear-gradient(135deg,#8a2be2,#7b68ee);transform:translateY(-2px);box-shadow:0 5px 15px #9370db66}.mode-link.host-link{color:#1e3c72;background:linear-gradient(135deg,gold,orange);border-color:gold}.mode-link.host-link:hover{background:linear-gradient(135deg,orange,#ff8c00);transform:translateY(-2px);box-shadow:0 5px 15px #ffd70066}.spectate-board .team.active{border-color:#9370db;box-shadow:0 0 15px #9370db80}.spectate-board .scoreboard{border-top:2px solid #9370db4d}@media (width<=768px){.spectate-header-info h1{font-size:2rem}.spectate-header-info p{font-size:1rem}.mode-buttons{flex-direction:column;align-items:center}.mode-link{text-align:center;width:100%;max-width:250px}}.reconnect-section{text-align:center;background:#ffc1071a;border:2px solid #ffc1074d;border-radius:12px;margin-bottom:30px;padding:20px}.reconnect-notice h3{color:#ffc107;margin-bottom:10px;font-size:1.5rem}.reconnect-notice p{color:#ffffffe6;margin-bottom:20px;font-size:1.1rem}.reconnect-actions{flex-wrap:wrap;justify-content:center;gap:15px;display:flex}.reconnect-btn{color:#fff;cursor:pointer;background:#28a745;border:none;border-radius:8px;padding:12px 24px;font-size:1.1rem;font-weight:700;transition:all .3s;box-shadow:0 4px 15px #28a7454d}.reconnect-btn:hover{background:#218838;transform:translateY(-2px);box-shadow:0 6px 20px #28a74566}.new-game-btn{color:#fff;cursor:pointer;background:#6c757d;border:none;border-radius:8px;padding:12px 24px;font-size:1.1rem;font-weight:700;transition:all .3s;box-shadow:0 4px 15px #6c757d4d}.new-game-btn:hover{background:#5a6268;transform:translateY(-2px);box-shadow:0 6px 20px #6c757d66}@media (width<=768px){.reconnect-actions{flex-direction:column;align-items:center}.reconnect-btn,.new-game-btn{width:100%;max-width:250px}}
