body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.auth-container{min-height:100vh;display:flex;justify-content:center;align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.auth-box{background:#fff;padding:40px;border-radius:12px;box-shadow:0 10px 40px #0000001a;width:100%;max-width:400px}.auth-box h1{text-align:center;color:#667eea;margin-bottom:10px;font-size:28px}.auth-box h2{text-align:center;color:#333;margin-bottom:30px;font-size:22px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;color:#555;font-weight:500}.form-group input{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:16px;transition:border-color .3s;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#667eea}.form-group input:disabled{background-color:#f5f5f5;cursor:not-allowed}.btn-primary{width:100%;padding:14px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;margin-top:10px}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 20px #667eea66}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.error-message{background-color:#fee;color:#c33;padding:12px;border-radius:8px;margin:15px 0;text-align:center;font-size:14px}.auth-link{text-align:center;margin-top:20px;color:#666}.auth-link a{color:#667eea;text-decoration:none;font-weight:600}.auth-link a:hover{text-decoration:underline}.success-message{text-align:center;color:#2e7d32;padding:20px;font-size:16px}.home-container{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.home-header{background:#fff;padding:20px 40px;border-radius:12px;box-shadow:0 5px 20px #0000001a;display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.home-header h1{margin:0;color:#667eea;font-size:28px}.user-info{display:flex;align-items:center;gap:15px}.user-info span{color:#555;font-weight:500}.btn-logout{padding:8px 16px;background:#f44336;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;transition:background .3s}.btn-logout:hover{background:#d32f2f}.home-content{display:grid;grid-template-columns:1fr 1fr;gap:30px;max-width:1200px;margin:0 auto}@media(max-width:768px){.home-content{grid-template-columns:1fr}.home-header{flex-direction:column;gap:15px}}.game-section,.scores-section{background:#fff;padding:30px;border-radius:12px;box-shadow:0 5px 20px #0000001a}.game-section h2,.scores-section h2{margin-top:0;color:#333;border-bottom:2px solid #667eea;padding-bottom:10px}.category-selector{margin:20px 0}.category-selector label{display:block;margin-bottom:10px;color:#555;font-weight:500}.category-selector select{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:16px;cursor:pointer;transition:border-color .3s}.category-selector select:focus{outline:none;border-color:#667eea}.category-summary{margin:15px 0;min-height:24px}.selected-info{font-size:14px;color:#667eea}.selected-info strong{font-weight:600}.btn-start-game{width:100%;padding:16px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:18px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.btn-start-game:hover{transform:translateY(-2px);box-shadow:0 5px 20px #667eea66}.game-info{margin-top:30px;padding:20px;background:#f9f9f9;border-radius:8px}.game-info h3{margin-top:0;color:#667eea}.game-info ul{margin:0;padding-left:20px}.game-info li{margin:8px 0;color:#555}.loading{text-align:center;padding:50px;font-size:20px;color:#fff}.no-scores{text-align:center;padding:40px;color:#999}.scores-list{display:flex;flex-direction:column;gap:15px}.score-item{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;background:#f9f9f9;border-radius:8px;transition:transform .2s,box-shadow .2s}.score-item:hover{transform:translate(5px);box-shadow:0 3px 10px #0000001a}.score-category{font-weight:600;color:#667eea;font-size:16px}.score-details{text-align:right}.score-value{font-size:20px;font-weight:700;color:#333}.score-accuracy{font-size:14px;color:#666;margin-top:4px}.game-container{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px;display:flex;flex-direction:column;align-items:center}.game-header{width:100%;max-width:800px;background:#fff;padding:20px;border-radius:12px;box-shadow:0 5px 20px #0000001a;margin-bottom:30px}.game-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}@media(max-width:600px){.game-stats{grid-template-columns:repeat(2,1fr)}}.stat{display:flex;flex-direction:column;align-items:center;gap:5px}.stat-label{font-size:14px;color:#666;font-weight:500}.stat-value{font-size:24px;font-weight:700;color:#667eea}.stat-value.warning{color:#f44336;animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.game-content{width:100%;max-width:800px;background:#fff;padding:40px;border-radius:12px;box-shadow:0 5px 20px #0000001a}.question-type{text-align:center;font-size:16px;color:#667eea;font-weight:600;margin-bottom:20px;padding:10px;background:#f0f4ff;border-radius:8px}.question{text-align:center;font-size:48px;font-weight:700;color:#333;margin:40px 0;min-height:80px;display:flex;align-items:center;justify-content:center}.feedback{text-align:center;padding:15px;border-radius:8px;font-size:18px;font-weight:600;margin-bottom:20px;animation:fadeIn .3s}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.feedback.correct{background:#e8f5e9;color:#2e7d32}.feedback.wrong{background:#ffebee;color:#c62828}.options{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin:30px 0}@media(max-width:600px){.options{grid-template-columns:1fr}}.option-button{padding:20px;font-size:24px;background:#f9f9f9;border:3px solid #e0e0e0;border-radius:12px;cursor:pointer;transition:all .2s;font-weight:500;color:#333}.option-button:hover:not(:disabled){background:#667eea;color:#fff;border-color:#667eea;transform:translateY(-3px);box-shadow:0 5px 15px #667eea4d}.option-button:disabled{cursor:not-allowed}.option-button.correct{background:#4caf50;color:#fff;border-color:#4caf50}.option-button.disabled{opacity:.5}.question-counter{text-align:center;color:#999;font-size:16px;margin-top:20px}.loading{text-align:center;padding:50px;font-size:24px;color:#fff}.game-over{background:#fff;padding:60px 40px;border-radius:12px;box-shadow:0 10px 40px #0000001a;text-align:center;max-width:600px;width:100%}.game-over h1{margin:0 0 40px;color:#667eea;font-size:36px}.final-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-bottom:40px;padding:30px;background:#f9f9f9;border-radius:12px}@media(max-width:600px){.final-stats{grid-template-columns:1fr}}.stat-item{display:flex;flex-direction:column;gap:10px}.stat-item .stat-label{font-size:14px;color:#666;font-weight:500}.stat-item .stat-value{font-size:32px;font-weight:700;color:#667eea}.game-over-buttons{display:flex;gap:20px;justify-content:center}@media(max-width:600px){.game-over-buttons{flex-direction:column}}.btn-restart,.btn-home{padding:16px 40px;font-size:18px;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .2s}.btn-restart{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-restart:hover{transform:translateY(-2px);box-shadow:0 5px 20px #667eea66}.btn-home{background:#f5f5f5;color:#333}.btn-home:hover{background:#e0e0e0}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}.loading-screen{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.loading-spinner{width:50px;height:50px;border:5px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}@keyframes spin{to{transform:rotate(360deg)}}.loading-screen p{font-size:18px;font-weight:500}
