html,body,#root{width:100%;min-height:100%;margin:0}body{color:#f5f5f5;background:#0a0a0a;font-family:Courier New,Courier,monospace;font-weight:700}button,input,textarea,select{font:inherit}html.light-theme,body.light-theme{color:#000;background:#f3ead2}.input-container{margin-bottom:18px;position:relative}.input-container input{box-sizing:border-box;color:#f5f5f5;background:#0a0a0a;border:1px solid #333;border-radius:3px;outline:none;width:100%;height:52px;padding:15px 12px;font-size:15px;transition:border-color .15s}.input-container input:hover{border-color:#555}.input-container input:focus{border-color:#e63946}.input-container label{color:#777;pointer-events:none;background:#0a0a0a;padding:0 4px;transition:all .15s;position:absolute;top:50%;left:9px;transform:translateY(-50%)}.input-container input:focus+label,.input-container input:not(:placeholder-shown)+label{color:#e63946;font-size:11px;top:0}.password-container input{padding-right:48px}.password-toggle{color:#777;cursor:pointer;background:0 0;border:none;border-radius:3px;justify-content:center;align-items:center;width:32px;height:32px;margin:0;padding:6px;display:flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.password-toggle:hover{color:#e63946;background:#1a1a1a}.light-theme .password-toggle:hover{color:#000;background:0 0}.password-toggle.is-bouncing{animation:.5s password-toggle-bounce}.password-toggle:active{transform:translateY(-50%)}.password-toggle svg{width:18px;height:18px}@keyframes password-toggle-bounce{0%,to{transform:translateY(-50%)}40%{transform:translateY(calc(-50% - 5px))}70%{transform:translateY(calc(2px - 50%))}}.light-theme,.light-theme #game,.light-theme #login-page,.light-theme #signup-page{--panel-line:#000;--input-line:#000;color:#000;background:#f3ead2}.light-theme #game-box,.light-theme .chat-panel,.light-theme #message-box,.light-theme .login-card,.light-theme #signup-form,.light-theme .modal-card,.light-theme .game-card{background:#fffaf0;border-color:#000}.light-theme .game-title,.light-theme .game-box-header h2,.light-theme .game-header h2,.light-theme .login-header h1,.light-theme .signup-header h1,.light-theme .modal-card h2,.light-theme .scoreboard,.light-theme .question-text,.light-theme .explanation,.light-theme .game-timer,.light-theme .login-header p,.light-theme .signup-header p,.light-theme .modal-card p,.light-theme .players-section p,.light-theme .scoreboard td,.light-theme #messages,.light-theme .online-users li,.light-theme .game-card-info strong,.light-theme .review-choices li,.light-theme .explanation-toggle,.light-theme #messages p strong{color:#000}.light-theme #message-form,.light-theme .chat-tabs,.light-theme .online-users{background:#fffaf0;border-color:#000}.light-theme .chat-tabs button{background:#fffaf0;border-color:#0000}.light-theme .chat-tabs button.active,.light-theme .game-card-status,.light-theme .game-card-info span,.light-theme .game-card-details span,.light-theme .online-users small{color:#000}.light-theme #message-input,.light-theme .input-container input,.light-theme .new-game-modal input{color:#000;background:#fffaf0;border-color:#000}.light-theme .input-container label{background:#fffaf0}.light-theme .input-container input:focus+label,.light-theme .input-container input:not(:placeholder-shown)+label,.light-theme .players-section h3,.light-theme #messages p span{color:#000}.light-theme .leave-button:hover:not(:disabled):not(.leave-highlight){color:#000;background:#e8dfc8;box-shadow:0 0 10px #0002}.light-theme .explanation-toggle input:focus-visible+.switch-track{outline-color:#000}.light-theme .secondary-button{color:#000;background:#fffaf0;border-color:#000}.light-theme .secondary-button:hover{background:#f2f2f2;border-color:#000}.light-theme .review-navigation button{color:#000;background:#fffaf0;border-color:#000}.light-theme .your-score{background:#f2f2f2}.light-theme .answer-result-correct{color:#16a34a}.light-theme .answer-result-incorrect{color:#ef4444}.light-theme .new-game-modal{color:#000;background:#fffaf0;border-color:#000}.light-theme .new-game-modal h2,.light-theme .new-game-modal label,.light-theme .new-game-modal .new-game-hint{color:#000}.light-theme .new-game-actions button[type=button]{color:#000;background:#fffaf0;border:1px solid #000}.light-theme .new-game-actions button[type=submit]{color:#000;background:#81edf7}.light-theme .new-game-modal::backdrop{background:#00000059}.light-theme .theme-toggle,.light-theme .theme-slider{color:#000}.light-theme .theme-slider{background:#000}.light-theme .theme-toggle input:checked+.theme-slider,.light-theme .chat-tabs:after{background:#81edf7}.light-theme .input-container input:focus,.light-theme #message-input:focus{border-color:#81edf7}.light-theme .theme-toggle input:focus-visible+.theme-slider{outline-color:#000}.light-theme .new-game-button,.light-theme #message-button,.light-theme #login-form>button[type=submit],.light-theme #signup-form>button[type=submit],.light-theme .guest-button,.light-theme .game-primary-button,.light-theme .leave-button.leave-highlight{color:#000;background:#81edf7}.light-theme .new-game-button,.light-theme .new-game-actions button[type=submit]{border-color:#1f6f9f}.light-theme .leave-button.leave-highlight{box-shadow:0 0 0 2px #b8b8b8}.light-theme .logo-mark,.light-theme .modal-mark{color:#fff;background:#e63946}.light-theme .new-game-button:hover:not(:disabled),.light-theme #message-button:hover:not(:disabled),.light-theme #login-form>button[type=submit]:hover:not(:disabled),.light-theme #signup-form>button[type=submit]:hover:not(:disabled),.light-theme .guest-button:hover:not(:disabled),.light-theme .game-primary-button:hover:not(:disabled),.light-theme .leave-button.leave-highlight:hover:not(:disabled),.light-theme .new-game-actions button[type=submit]:hover:not(:disabled){background:#5edce8}.light-theme .new-game-actions button[type=button]:hover:not(:disabled){background:#f2f2f2}.light-theme .leave-button.leave-highlight:hover:not(:disabled){box-shadow:0 0 0 2px #a8a8a8,0 0 14px #e6394666}.light-theme .forgot-password a,.light-theme .signup-prompt a,.light-theme .signup-login a,.light-theme .game-card-back-title{color:#000}.light-theme .signup-prompt a:hover,.light-theme .signup-login a:hover{color:#000;background:#81edf7;border-color:#000}.light-theme #login-form>button[type=submit]:hover:not(:disabled),.light-theme #signup-form>button[type=submit]:hover:not(:disabled){box-shadow:0 0 14px #fff}.dark-theme #login-form>button[type=submit]:hover:not(:disabled),.dark-theme #signup-form>button[type=submit]:hover:not(:disabled){box-shadow:0 0 14px #ffffff35}.light-theme .answer-choice{border-color:#000}.light-theme .answer-choice.selected{background:#e8fbfd;border-color:#81edf7}.light-theme .answer-choice input,.light-theme .explanation-toggle input:checked+.switch-track{accent-color:#81edf7}.light-theme .explanation-toggle input:checked+.switch-track{color:#000;background:#81edf7}.light-theme .correct-answer,.light-theme .review-choices .correct-answer{background:#d9f7e5;border-color:#69c995}.light-theme .wrong-answer,.light-theme .review-choices .wrong-answer{background:#ffe0e3;border-color:#f28b96}@media (prefers-reduced-motion:reduce){.theme-slider,.theme-slider:after{transition:none}}button:disabled{cursor:not-allowed}.auth-options button:disabled,#login-form>button:disabled,#signup-form>button:disabled{opacity:.6}.app-shell a:focus-visible,.app-shell button:focus-visible{outline-offset:3px;outline:2px solid}.app-shell #login-page,.app-shell #signup-page{box-sizing:border-box;min-height:100dvh;padding-top:64px}@media (width<=500px){.app-shell .login-card,.app-shell #signup-form,.app-shell .modal-card{padding:24px}.app-shell .login-header,.app-shell .signup-header{gap:12px}.app-shell .login-header h1,.app-shell .signup-header h1{font-size:25px}}#root,.app-shell{min-height:100vh}.theme-changing,.theme-changing :not(.hamburger-menu):not(.hamburger-menu-backdrop){transition:none!important;animation:none!important}.theme-toggle{color:#888;cursor:pointer;align-items:center;gap:8px;font-size:11px;font-weight:700;display:flex;position:relative}.dark-theme{--page-background:#0a0a0a;--surface-background:#111;--surface-line:#626262;--text-primary:#f5f5f5;--accent:#e63946;--accent-hover:#c92f3b}.light-theme{--page-background:#f3ead2;--surface-background:#fffaf0;--surface-line:#000;--text-primary:#000;--accent:#81edf7;--accent-hover:#5edce8}.theme-toggle input{opacity:0;pointer-events:none;position:absolute}.theme-slider{background:#444;border-radius:10px;width:38px;height:20px;transition:background .15s;display:block;position:relative}.theme-slider:after{content:"";background:#f5f5f5;border-radius:50%;width:14px;height:14px;transition:transform .15s;position:absolute;top:3px;left:3px}.theme-toggle input:checked+.theme-slider{background:#e63946}.theme-toggle input:checked+.theme-slider:after{transform:translate(18px)}.theme-toggle input:focus-visible+.theme-slider{outline-offset:3px;outline:2px solid #e63946}.modal-backdrop{z-index:1000;background:#000000c7;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-card{border:1px solid var(--surface-line,#626262);text-align:center;box-sizing:border-box;background:#111;border-radius:4px;width:100%;max-width:400px;margin:auto;padding:42px}.modal-card h2{color:#f5f5f5;letter-spacing:-.8px;margin:0 0 8px;font-size:30px;font-weight:700}.modal-card p{color:#888;margin:0 0 32px;font-size:15px}.auth-options{flex-direction:column;gap:10px;display:flex}.auth-options button{cursor:pointer;border-radius:3px;width:100%;height:50px;font-size:15px;font-weight:600;transition:background .15s,border-color .15s,color .15s,transform .1s}.secondary-button{border:1px solid var(--surface-line,#626262);color:#ddd;background:#0a0a0a}.secondary-button:hover{color:#fff;background:#171717;border-color:#555}.auth-options button:active{transform:translateY(1px)}.auth-options button:hover:not(:disabled){box-shadow:0 0 14px #ffffff35}.light-theme .modal-backdrop{background:#f3ead2}.light-theme .modal-card{background:var(--surface-background);border-color:var(--surface-line)}.light-theme .secondary-button{background:var(--surface-background);color:var(--text-primary);border-color:var(--surface-line)}.app-shell.light-theme .auth-options .secondary-button:hover:not(:disabled){border-color:var(--surface-line);color:var(--text-primary);background:#e8dfc8;box-shadow:0 0 14px #00000030}.app-shell.light-theme .auth-options .guest-button:hover:not(:disabled){background:var(--accent-hover);box-shadow:0 0 14px #00000030}.modal-mark{color:#fff;background:#e63946;border-radius:3px;justify-content:center;align-items:center;width:42px;height:42px;margin:0 auto 24px;font-size:20px;font-weight:800;display:flex}.guest-button{background:var(--accent,#e63946);color:#fff;cursor:pointer;border:none;border-radius:3px;width:100%;height:50px;font-size:15px;font-weight:600;transition:background .15s}.guest-button:hover:not(:disabled){background:var(--accent-hover,#c92f3b)}.guest-button:disabled,.guest-login-link:disabled{opacity:.6;cursor:not-allowed}.light-theme .guest-button{color:var(--text-primary)}.login-card>.guest-login,#signup-form>.guest-login{text-align:center;margin-top:12px}.guest-login-link{color:var(--accent,#e63946);text-underline-offset:3px;cursor:pointer;background:0 0;border:none;border-radius:3px;padding:4px 8px;font-size:14px;text-decoration:underline}.guest-login-link:hover:not(:disabled){color:var(--accent-hover,#c92f3b)}.light-theme .guest-login-link{color:var(--text-primary)}.light-theme .guest-login-link:hover:not(:disabled){background:var(--accent)}.hamburger{z-index:1100;position:fixed;top:16px;right:20px}.hamburger,.hamburger-menu-close{border:1px solid var(--surface-line);background:var(--surface-background);width:36px;height:36px;color:var(--text-primary);cursor:pointer;border-radius:4px;place-items:center;padding:6px;display:grid}.hamburger{background:0 0;border:none}.hamburger svg,.hamburger-menu-close svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;width:22px;height:22px}.hamburger-menu-backdrop{z-index:1100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);pointer-events:none;opacity:0;transition:opacity .24s ease, display .24s allow-discrete;background:#00000026;display:none;position:fixed;inset:0}.hamburger-menu-backdrop[data-open=true]{opacity:1;display:block}.hamburger-menu{z-index:1101;box-sizing:border-box;width:clamp(15rem,20vw,18rem);max-width:calc(100vw - 2rem);height:100dvh;max-height:100dvh;padding:16px 20px max(24px, env(safe-area-inset-bottom));border:0;border-left:1px solid var(--surface-line);background:var(--surface-background);color:var(--text-primary);transition:transform .24s cubic-bezier(.22, 1, .36, 1), display .24s allow-discrete;flex-direction:column;gap:28px;margin:0;display:none;position:fixed;inset:0 0 0 auto;overflow-y:auto;transform:translate(100%)}.hamburger-menu[open]{display:flex;transform:translate(0)}@starting-style{.hamburger-menu[open]{transform:translate(100%)}.hamburger-menu-backdrop[data-open=true]{opacity:0}}.hamburger-menu-header,.hamburger-menu-theme{justify-content:space-between;align-items:center;gap:16px;display:flex}.hamburger-menu-header h2{margin:0;font-size:20px}.hamburger-menu-theme{font-size:14px}.hamburger-menu-footer{border-top:1px solid var(--surface-line);margin-top:auto;padding-top:20px}.hamburger-menu-footer p{overflow-wrap:anywhere;font-size:14px}.logout-button{border:1px solid var(--surface-line);width:100%;color:var(--text-primary);cursor:pointer;background:0 0;border-radius:4px;padding:12px}.logout-button:hover:not(:disabled){background:var(--page-background)}.logout-button:disabled{opacity:.6}@media (prefers-reduced-motion:reduce){.hamburger-menu,.hamburger-menu-backdrop{transition:none}}html.symbol-cursor-active:not([data-native-cursor]),html.symbol-cursor-active:not([data-native-cursor]) *{cursor:none!important}html[data-native-cursor] .symbol-cursor-layer{display:none}.symbol-cursor-layer{z-index:2147483647;pointer-events:none;-webkit-user-select:none;user-select:none;color:#f5f5f5;position:fixed;inset:0;overflow:hidden}.light-theme .symbol-cursor-layer{color:#111}.symbol-cursor,.symbol-cursor-trail{text-align:center;text-shadow:0 0 2px #111;width:24px;height:24px;margin:-12px 0 0 -12px;font:700 22px/24px Courier New,Courier,monospace;position:absolute;top:0;left:0}.light-theme .symbol-cursor,.light-theme .symbol-cursor-trail{text-shadow:0 0 2px #fffaf0}.symbol-cursor-glyph{fill:currentColor;width:24px;height:24px;font:700 22px/24px Courier New,Courier,monospace;display:block;overflow:visible}.symbol-cursor-trail{animation:.45s ease-out forwards symbol-cursor-fall}@keyframes symbol-cursor-fall{0%{opacity:.65;transform:translate(0)rotate(0)}to{opacity:0;transform:translate(var(--drift), var(--fall-distance)) rotate(var(--rotation))}}@media (prefers-reduced-motion:reduce){.symbol-cursor-trail{display:none}}
