@import"https://fonts.googleapis.com/css2?family=Paytone+One&family=Poppins:wght@400;600;700;900&family=Lato:wght@400;700&display=swap";:root{--blue: #0063B3;--yellow: #FFD91B;--orange: #F37421;--black: #000;--white: #fff;--grey-light: #f5f5f5;--grey-mid: #e0e0e0;--text-muted: #666;--radius: 8px;--shadow: 0 2px 12px rgba(0,0,0,.12)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased}body{font-family:Lato,sans-serif;font-size:1.125rem;line-height:1.6;color:#111;background-color:var(--white);min-height:100vh}h1,h2,h3,h4,h5,h6{margin:0;line-height:1.2}a{text-decoration:none;color:inherit}ul,ol{list-style:none;padding:0;margin:0}img{max-width:100%;display:block}input,button,textarea,select{font:inherit;color:inherit}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 28px;border:2px solid transparent;border-radius:var(--radius);font-family:Poppins,sans-serif;font-weight:600;font-size:1rem;cursor:pointer;transition:opacity .2s,transform .2s;text-align:center;line-height:1}.btn:hover{opacity:.88;transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn--yellow{background-color:var(--yellow);color:#111;border-color:var(--yellow)}.btn--blue{background-color:var(--blue);color:var(--white);border-color:var(--blue)}.btn--white{background-color:var(--white);color:var(--blue);border:2px solid var(--blue)}.btn--danger{background-color:#dc3545;color:var(--white);border-color:#dc3545}.btn--sm{padding:8px 16px;font-size:.875rem}.card{background-color:var(--white);border-radius:12px;box-shadow:var(--shadow);padding:24px;transition:transform .2s,box-shadow .2s}.card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #00000026}.form-group{margin-bottom:16px}.form-group label{display:block;font-family:Poppins,sans-serif;font-weight:600;font-size:.875rem;margin-bottom:6px;color:#333}.form-control{width:100%;padding:10px 14px;border:2px solid var(--grey-mid);border-radius:var(--radius);font-size:1rem;background-color:var(--white);transition:border-color .2s}.form-control:focus{outline:none;border-color:var(--blue)}textarea.form-control{resize:vertical;min-height:100px}.alert{padding:12px 20px;border-radius:var(--radius);font-family:Poppins,sans-serif;font-weight:600;font-size:.9rem;margin-bottom:16px}.alert--error{background-color:#fce4e4;color:#c0392b;border:1px solid #f5c6cb}.alert--success{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.alert--info{background-color:#d1ecf1;color:#0c5460;border:1px solid #bee5eb}.page-header{text-align:center;margin-bottom:32px}.page-title{font-family:Poppins,sans-serif;font-weight:900;font-size:2rem;color:var(--blue)}.hero{background-color:var(--yellow);color:var(--black);text-align:center;padding:60px 24px}.hero h1{font-family:Paytone One,sans-serif;font-size:2.5rem;margin-bottom:16px;line-height:1.1}.hero .hero-accent{color:var(--blue)}.hero p{font-family:Lato,sans-serif;font-size:1.25rem;max-width:600px;margin:0 auto;opacity:.8}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:1000px;margin:0 auto;padding:40px 24px}.admin-layout{display:flex;min-height:calc(100vh - 60px)}.admin-layout__sidebar{width:240px;background-color:var(--yellow);color:var(--black);padding:24px 16px;flex-shrink:0}.admin-layout__sidebar a{display:block;padding:10px 12px;border-radius:var(--radius);font-family:Poppins,sans-serif;font-weight:600;font-size:.95rem;margin-bottom:4px;transition:background-color .2s}.admin-layout__sidebar a:hover{background-color:#00000014}.admin-layout__content{flex:1;padding:32px;background-color:var(--grey-light)}.badge{display:inline-block;padding:4px 10px;border-radius:20px;font-family:Poppins,sans-serif;font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.5px}.badge--category{background-color:var(--yellow);color:var(--black)}.badge--easy{background-color:#28a745;color:var(--white)}.badge--medium{background-color:var(--orange);color:var(--white)}.badge--hard{background-color:#dc3545;color:var(--white)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal{background-color:var(--white);border-radius:12px;padding:32px;width:100%;max-width:560px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0003}.modal h2{font-family:Poppins,sans-serif;font-weight:700;margin-bottom:16px}.spinner{width:40px;height:40px;border:4px solid var(--grey-mid);border-top-color:var(--blue);border-radius:50%;animation:spin .8s linear infinite;margin:40px auto}@keyframes spin{to{transform:rotate(360deg)}}.timer-circle{display:inline-flex;align-items:center;justify-content:center;width:60px;height:60px;border-radius:50%;border:3px solid var(--blue);font-family:Poppins,sans-serif;font-weight:700;font-size:1.5rem;color:var(--blue)}.timer-warning{border-color:#dc3545;color:#dc3545}.leaderboard-table{width:100%;border-collapse:collapse;font-family:Poppins,sans-serif}.leaderboard-table th,.leaderboard-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--grey-mid)}.leaderboard-table th{font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.leaderboard-table tr:last-child td{border-bottom:none}.leaderboard-table .rank{width:40px;text-align:center;font-weight:900;color:var(--blue)}.leaderboard-table .score{font-weight:700;color:var(--orange)}.leaderboard-table .highlight{background-color:#fff9e6}.room-code-display{text-align:center;padding:32px}.room-code-display h2{font-family:Poppins,sans-serif;font-weight:600;font-size:1rem;color:var(--text-muted);margin-bottom:8px;text-transform:uppercase;letter-spacing:2px}.room-code-display .code{font-family:Paytone One,sans-serif;font-size:4rem;color:var(--blue);letter-spacing:8px}.empty-state{text-align:center;padding:60px 24px;color:var(--text-muted)}.empty-state p{font-size:1.125rem}@media(max-width:768px){body{font-size:1rem}.card-grid{grid-template-columns:1fr;padding:24px 16px}.hero{padding:40px 16px}.hero h1{font-size:1.75rem}.page-title{font-size:1.5rem}.card{padding:16px}.admin-layout{flex-direction:column}.admin-layout__sidebar{width:100%;padding:16px}.admin-layout__content{padding:16px}.room-code-display .code{font-size:2.5rem;letter-spacing:4px}}
