@import"https://fonts.googleapis.com/css2?family=Lato:wght@400;700&display=swap";.board{display:grid;grid-template-columns:repeat(var(--num-columns, 6),1fr);grid-template-rows:3rem repeat(var(--num-rows, 5),1fr);width:80vw;height:80vh;padding:1rem;gap:10px;box-sizing:border-box;scrollbar-width:none;-ms-overflow-style:none;margin:0;position:relative}.board::-webkit-scrollbar{display:none}.board-button{display:flex;justify-content:center;align-items:center;font-weight:700;cursor:pointer;transition:background-color .5s ease,transform .5s ease,opacity .5s ease}.board-button.clicked{background-color:var(--button-hover);color:var(--text-secondary);cursor:default;transform:scale(.98);opacity:.7}.board-button.recentlyClicked{border:2px solid #005ec250;color:var(--text-color)}.board-button.animate{animation:expand-retract .5s ease-in-out}@keyframes expand-retract{0%{transform:scale(1);background-color:#fff}50%{transform:scale(1.2);background-color:#f1f1f1}to{transform:scale(1);background-color:#fff}}.category{display:flex;justify-content:center;align-items:center;text-align:center;cursor:pointer}.category input{display:flex;justify-content:center;align-items:center;text-align:center;width:100%;padding:1rem}@media (min-width: 768px){.board{overflow:hidden}}@media (max-width: 767px){.board{overflow-x:scroll}}.question-wrapper{width:80vw;height:80vh;padding-top:1rem;box-sizing:border-box}.question-container{position:relative;display:flex;height:100%;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:0rem;background-color:var(--card-bg);border-radius:15px;box-shadow:0 0 10px var(--shadow-color);color:var(--text-color)}.question-container h2,h3,h4{margin:.8rem}.back-button{position:absolute;top:1rem;right:1rem;display:flex;align-items:center;gap:.3rem;padding:.4rem .8rem;font-size:var(--fs-xs);background-color:var(--button-bg);color:var(--text-color);border-radius:8px;box-shadow:var(--shadow-color) 2px 2px 2px;transition:background-color .2s,transform .2s}.back-button:hover{background-color:var(--button-hover);transform:scale(1.05)}.question-content{display:flex;flex-direction:column;align-items:center;transition:transform .5s ease,opacity .5s ease}.question-text{margin-bottom:1rem;transition:transform .5s ease,opacity .5s ease}.reveal-button{margin-top:1rem;padding:.6rem 1.5rem;font-size:var(--fs-sm);background-color:var(--button-bg);color:var(--text-color);border-radius:8px}.reveal-button:hover{background-color:var(--button-hover)}.timer-display{position:absolute;top:1rem;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:.5rem;padding:.5rem 1.2rem;background-color:var(--card-bg);color:var(--text-color);border:1px solid var(--border-color);border-radius:8px;font-size:var(--fs-sm);font-weight:700;box-shadow:var(--shadow-color) 2px 2px 2px;transition:background-color .3s}.timer-display .timer-icon{font-size:1.1em}.timer-display svg{flex-shrink:0}.timer-display .timer-paused{margin-left:.3rem;font-size:.8em;opacity:.85;font-style:italic}.timer-display .timer-expired{margin-left:.3rem;animation:pulse .8s infinite}.timer-display.timer-warning{background-color:#eab308;color:#fff;border-color:#eab308}.timer-display.timer-critical{background-color:var(--action-color);color:var(--action-text);border-color:var(--action-color)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.fade-in{opacity:0;animation:fadeIn 1s forwards}.buzzer-page{display:flex;flex-direction:column;justify-content:center;align-items:center;flex-grow:1;height:70vh;width:100vw;position:relative}.team-selector{position:absolute;display:flex;justify-content:center;align-items:center;top:1rem;left:50%;transform:translate(-50%);gap:10px}.team-selector select{padding:.5rem 1rem;border:1px solid var(--border-color);box-shadow:none;border-radius:8px;cursor:pointer;background-color:var(--button-bg);color:var(--text-color);font-size:var(--fs-xs);font-weight:600;-moz-appearance:none;appearance:none;-webkit-appearance:none;text-align:center}.buzzer-button{width:18rem;height:18rem;border-radius:50%;background-color:var(--action-color);border:none;cursor:pointer;box-shadow:0 4px 12px #0003;transition:transform .2s,box-shadow .2s,background-color .2s;animation:pulse-shadow 1.5s infinite ease-in-out}.buzzer-button.lock_owned{animation:none;box-shadow:0 0 12px 8px #00000026}.buzzer-button.lock_win{box-shadow:0 0 12px 8px #00000026}.buzzer-button:hover{transform:scale(1.1);background-color:var(--action-hover)}.buzzer-button:active{transform:scale(.95);background-color:var(--action-hover)}.buzzer-button.lock_owned:hover{transform:none;cursor:default}.buzzer-button.lock_owned:active{transform:none}@keyframes pulse-shadow{0%{box-shadow:0 0 10px #0000004d}50%{box-shadow:0 0 30px #0009}to{box-shadow:0 0 10px #0000004d}}.scorecard{text-align:center;display:flex;flex-direction:column;justify-content:space-between;background-color:var(--card-bg);border-radius:8px;transition:transform .2s,background-color .2s,box-shadow .2s;height:100%;flex:1;margin:0;min-width:0;box-shadow:var(--shadow-color) 2px 2px 2px;margin-left:1.2rem;margin-right:1.2rem;color:var(--text-color)}.score-controls{display:flex;justify-content:space-around;align-items:center;gap:.5rem;overflow:hidden;box-sizing:border-box;border-radius:8px;padding:.5rem}.scorecard.active{transform:scale(1.05);box-shadow:#005ec248 0 -2px 4px 4px}.scorecard.buzzed{opacity:.7;filter:grayscale(.5)}.scorecard input{border:1px solid var(--border-color);border-radius:8px;color:var(--text-color);background-color:var(--button-bg);width:100%;height:100%;text-align:center;appearance:none;-moz-appearance:textfield;-webkit-appearance:none;overflow:hidden;box-sizing:border-box;padding:.3rem}.team-name-input{flex:1}.scorecard h1{margin:0}.team-name-row{display:flex;align-items:center;justify-content:space-between;margin-top:1rem;padding:0 .5rem}.team-name-row h4{display:flex;align-items:center;justify-content:center;margin:0;cursor:pointer;flex:1}.remove-team-button{background:none;border:none;box-shadow:none;cursor:pointer;padding:.3rem;border-radius:4px;color:var(--text-secondary);transition:color .2s,background-color .2s;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;margin-left:.5rem;flex-shrink:0}.remove-team-button:hover{color:var(--text-color);background-color:var(--button-hover)}.scorecard button:not(.remove-team-button){border:none;font-size:var(--fs-sm);height:2.5rem;width:3rem;border-radius:8px;cursor:pointer;box-shadow:none}.scorecard button:first-of-type:not(.remove-team-button){background-color:var(--button-bg);color:var(--text-color);border:1px solid var(--border-color)}.scorecard button:first-of-type:not(.remove-team-button):hover{background-color:var(--button-hover)}.scorecard button:last-of-type:not(.remove-team-button){background-color:var(--action-color);color:var(--action-text);border:none}.scorecard button:last-of-type:not(.remove-team-button):hover{background-color:var(--action-hover)}.scorecard.no-controls{box-sizing:border-box;justify-content:space-around}.scorecard.no-controls h1{font-size:5.5rem;padding-bottom:2rem}.scorecard.no-controls input{font-size:1.8rem}.scorecard.no-controls h4{font-size:2rem;margin:0rem}@media (max-width: 767px){.scorecard{margin-left:.05rem;margin-right:.05rem}}.score-container{width:80vw;height:20vh;z-index:1000;overflow-x:auto;overflow-y:hidden;box-sizing:border-box;min-height:8rem;scrollbar-width:thin;scrollbar-color:var(--button-bg) transparent;padding-top:12px}.score-container-inner{display:flex;justify-content:center;gap:.5rem;height:100%;box-sizing:border-box;padding:0 calc((80vw - min(80vw,100%))/2);min-width:min-content}.score-container.player{height:30vh}.score-container::-webkit-scrollbar{height:8px}.score-container::-webkit-scrollbar-track{background:transparent}.score-container::-webkit-scrollbar-thumb{background-color:var(--button-bg);border-radius:4px}.score-container::-webkit-scrollbar-thumb:hover{background-color:var(--button-hover)}.score-container.player .score-container-inner{justify-content:center;width:100%}.add-team-wrapper{display:flex;align-items:center;justify-content:center;padding:1rem;flex:0 0 auto;width:6rem;height:100%;align-self:center}.add-team-button{background:none;color:var(--text-secondary);border:1px dashed var(--border-color);font-size:2rem;width:4rem;height:4rem;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:none;transition:background-color .2s,color .2s,border-color .2s}.add-team-button:hover{background-color:var(--button-hover);border-color:var(--border-color);color:var(--text-color)}.menu-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#00000080;z-index:2000;display:flex;animation:menuFadeIn .2s ease}.menu{width:22rem;height:100%;background-color:var(--menu-bg);box-shadow:2px 0 12px var(--shadow-color);box-sizing:border-box;display:flex;flex-direction:column;color:var(--text-color);animation:menuSlideIn .25s ease}.menu-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border-color);margin-bottom:.5rem}.menu-header svg{color:var(--text-color)}.menu-close{background:none;box-shadow:none;padding:.25rem;border-radius:4px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:color .2s,background-color .2s}.menu-close:hover{background:none;color:var(--text-color);background-color:var(--button-hover);transform:none}.menu ul{display:flex;flex-direction:column;list-style:none;padding:0 .75rem;margin:0;height:100%}@keyframes menuFadeIn{0%{opacity:0}to{opacity:1}}@keyframes menuSlideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.menu label{cursor:pointer}.menu li{display:flex;align-items:center;gap:.6rem;color:var(--text-color);font-weight:600;font-size:var(--fs-xs);cursor:pointer;transition:color .2s ease,background-color .2s ease;margin:.15rem 0;padding:.6rem .75rem;border-radius:6px}.menu li:hover{color:#005ec2;background-color:var(--button-hover);transform:translate(2px)}.menu li:active{color:#003c7c;transform:translate(0)}.menu li svg{flex-shrink:0}.menu label{display:flex;align-items:center;gap:.6rem;font-size:inherit;font-weight:inherit}.copy-message{margin:1rem;width:100%}.menu li.session-join-wrapper{display:block;margin:auto 0 0;padding:.75rem}.menu li.session-join-wrapper:hover{background-color:transparent;transform:none}.session-join-container{background-color:var(--session-bg);padding:0;box-shadow:none;box-sizing:border-box;border-radius:6px}.session-input-wrapper{display:flex;align-items:center;flex-direction:column;gap:8px;cursor:default}.session-input-wrapper input{flex:1;padding:.6rem .75rem;border:1px solid var(--border-color);border-radius:6px;font-weight:600;font-size:var(--fs-xs);text-align:center;width:100%;background-color:var(--button-bg);color:var(--text-color)}.session-input-wrapper button{font-size:var(--fs-xs);font-weight:600;padding:.6rem .75rem;border:none;border-radius:6px;cursor:pointer;background-color:var(--button-bg);color:var(--text-color);width:100%}.session-id{display:flex;align-items:center;gap:.6rem;font-weight:600;font-size:var(--fs-xs);cursor:pointer;padding:.6rem .75rem;border-radius:6px;transition:background-color .2s}.session-id:hover{background-color:var(--button-hover)}.copy-message{opacity:0;animation:popup 1s forwards}@keyframes popup{0%{opacity:0}50%{opacity:1}to{opacity:0}}.settings-button{position:absolute;top:1rem;right:1rem;background:none;z-index:1000;box-shadow:none;padding:.5rem;color:var(--text-color, #333);transition:transform .3s ease}.settings-button:hover{background:none;transform:rotate(45deg) scale(1.2)}.settings-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#00000080;z-index:2000;display:flex;justify-content:center;align-items:center;animation:fadeIn .2s ease}.settings-modal{background-color:var(--modal-bg, #ffffff);border-radius:12px;padding:1.5rem;width:90%;max-width:420px;box-shadow:0 8px 32px #0003;animation:slideIn .3s ease;color:var(--text-color, #333)}.settings-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color, #e0e0e0)}.settings-header h2{margin:0;font-size:var(--fs-lg)}.settings-close{background:none;box-shadow:none;padding:.3rem;border-radius:4px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary, #666);cursor:pointer;transition:color .2s,background-color .2s}.settings-close:hover{background:none;color:var(--text-color, #333);background-color:var(--button-hover, #f1f1f1);transform:none}.settings-content{display:flex;flex-direction:column;gap:1.2rem}.settings-option{display:flex;justify-content:space-between;align-items:center;padding:.8rem;border-radius:8px;background-color:var(--option-bg, #f7f7f7)}.settings-option-info h4{margin:0 0 .2rem;font-size:var(--fs-xs)}.settings-option-info p{margin:0;font-size:var(--fs-xs);color:var(--text-secondary, #666)}.toggle-switch{position:relative;display:inline-block;width:48px;height:26px;flex-shrink:0}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:.3s;border-radius:26px}.toggle-slider:before{position:absolute;content:"";height:20px;width:20px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%;box-shadow:0 1px 3px #0003}.toggle-switch input:checked+.toggle-slider{background-color:#005ec2}.toggle-switch input:checked+.toggle-slider:before{transform:translate(22px)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}:root{--bg-color: #f7f7f7;--text-color: #333333;--text-secondary: #666666;--card-bg: #ffffff;--modal-bg: #ffffff;--option-bg: #f7f7f7;--border-color: #e0e0e0;--timer-bg: #005ec2;--button-bg: #ffffff;--button-hover: #f1f1f1;--button-active: #d8d8d8;--shadow-color: rgba(0, 0, 0, .1);--menu-bg: #ffffff;--session-bg: #f9f9f9;--action-color: #005ec2;--action-hover: #004bb0;--action-text: #ffffff;--danger-hover: rgba(255, 77, 77, .15);--fs-xs: 1.4rem;--fs-sm: 1.6rem;--fs-md: 1.85rem;--fs-lg: 2.2rem}:root.dark-mode{--bg-color: #1a1a2e;--text-color: #e0e0e0;--text-secondary: #a0a0a0;--card-bg: #16213e;--modal-bg: #16213e;--option-bg: #1a1a2e;--border-color: #2a2a4a;--timer-bg: #0a3d6e;--button-bg: #1f4068;--button-hover: #254b73;--button-active: #162d50;--shadow-color: rgba(0, 0, 0, .3);--menu-bg: #16213e;--session-bg: #1a1a2e;--action-color: #3b82f6;--action-hover: #2563eb;--action-text: #ffffff;--danger-hover: rgba(239, 68, 68, .2)}body,html{font-family:Lato,Arial,sans-serif;margin:0;padding:0;width:100%;background-color:var(--bg-color);color:var(--text-color);transition:background-color .3s,color .3s}h1{text-align:center;font-size:var(--fs-lg)}h2{font-size:var(--fs-md)}h3{font-size:var(--fs-md);font-weight:400}h4{font-size:var(--fs-sm)}h5{font-size:var(--fs-xs)}button{font-size:var(--fs-sm);background-color:var(--button-bg);border:none;border-radius:5px;cursor:pointer;transition:transform .2s,background-color .2s;color:var(--text-color);box-shadow:var(--shadow-color) 2px 2px 2px}button:hover{background-color:var(--button-hover);transform:scale(1.05)}button:active{background-color:var(--button-active)}li{font-size:var(--fs-sm);list-style:none}label,select{font-size:var(--fs-sm)}input{font-size:var(--fs-sm);background-color:var(--button-bg);color:var(--text-color);border:1px solid var(--border-color)}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.routeContainer{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;width:100vw;position:relative}.hamburger-button{position:absolute;top:1rem;left:1rem;background:none;z-index:1000;box-shadow:none;transition:transform .3s ease,left .3s ease}.hamburger-button:hover{background:none;transform:scale(1.4)}.lock-button{position:absolute;bottom:1rem;right:1rem;border:none;cursor:pointer;background-color:var(--button-bg);border-radius:8px;padding:.6rem .8rem;box-shadow:var(--shadow-color) 2px 2px 2px}.loading-spinner{width:40px;height:40px;border:4px solid rgba(0,0,0,.1);border-top:4px solid #005ec2;border-radius:50%;animation:spin 1s linear infinite;margin:auto}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.desktop-content{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%}.routeContainer.player-active .desktop-content,.mobile-landing{display:none}@media (min-width: 768px){body{overflow:hidden}}@media (max-width: 767px){body{overflow:auto}.desktop-content{display:none}.mobile-landing{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;width:100%;height:100vh;padding:2rem;box-sizing:border-box;gap:1rem}.mobile-landing.hidden{display:none}.mobile-landing svg{color:var(--text-secondary)}.mobile-landing h2{margin:0}.mobile-landing-subtitle{font-size:var(--fs-xs);color:var(--text-secondary);margin:0 0 1rem}.mobile-landing-form{display:flex;flex-direction:column;gap:.75rem;width:100%;max-width:300px}.mobile-landing-form input{text-align:center;padding:.75rem;border-radius:8px;font-size:var(--fs-sm);letter-spacing:.2em;font-weight:600}.mobile-landing-form button{padding:.75rem;border-radius:8px;font-size:var(--fs-sm);font-weight:600;background-color:var(--action-color);color:var(--action-text)}.mobile-landing-form button:hover{background-color:var(--action-hover);transform:none}.hamburger-button,.settings-button,.lock-button{display:none}.routeContainer.player-active .hamburger-button{display:block}}
