@import "https://fonts.googleapis.com/css2?family=Fredoka:wght@400;500;600;700&family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap";:root{--bg:#fafaf8;--white:#fff;--primary:#5b21b6;--primary-light:#7c3aed;--primary-pale:#ede9fe;--secondary:#f97316;--secondary-pale:#fff1e6;--accent:#fcd34d;--accent-pale:#fffbeb;--success:#10b981;--success-pale:#d1fae5;--danger:#ef4444;--danger-pale:#fee2e2;--text:#1a1a2e;--text2:#6b7280;--border:#e5e7eb;--shadow-sm:0 1px 3px #00000014, 0 1px 2px #0000000a;--shadow:0 4px 16px #00000014, 0 2px 6px #0000000a;--shadow-lg:0 12px 40px #0000001f, 0 4px 12px #0000000f;--radius:20px;--radius-sm:12px;--radius-pill:100px;--font-display:"Fredoka", sans-serif;--font-body:"Plus Jakarta Sans", sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font-body);min-height:100vh;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:0;background-image:radial-gradient(circle at 15% 20%,#5b21b60f 0%,#0000 50%),radial-gradient(circle at 85% 80%,#f973160f 0%,#0000 50%),radial-gradient(circle,#fcd34d0a 0%,#0000 60%);position:fixed;inset:0}#root{z-index:1;min-height:100vh;position:relative}.geo-shapes{pointer-events:none;z-index:0;position:fixed;inset:0;overflow:hidden}.geo-shape{opacity:.12;border-radius:8px;position:absolute}.geo-shape-1{background:var(--primary);width:80px;height:80px;animation:8s ease-in-out infinite float1;top:8%;right:8%;transform:rotate(20deg)}.geo-shape-2{background:var(--secondary);border-radius:50%;width:50px;height:50px;animation:10s ease-in-out infinite float2;top:25%;left:5%}.geo-shape-3{background:var(--accent);width:60px;height:60px;animation:12s ease-in-out infinite reverse float1;bottom:20%;right:12%;transform:rotate(45deg)}.geo-shape-4{background:var(--success);border-radius:50%;width:40px;height:40px;animation:9s ease-in-out infinite float2;bottom:35%;left:8%}.geo-shape-5{background:var(--primary-light);opacity:.07;width:100px;height:100px;animation:14s ease-in-out infinite float1;top:55%;right:-20px;transform:rotate(30deg)}@keyframes float1{0%,to{transform:rotate(20deg)translateY(0)}50%{transform:rotate(20deg)translateY(-12px)}}@keyframes float2{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-8px)scale(1.05)}}.display{font-family:var(--font-display)}.card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.card-flat{background:var(--white);border:1px solid var(--border);border-radius:var(--radius)}.btn{font-family:var(--font-display);border-radius:var(--radius-pill);cursor:pointer;letter-spacing:.3px;white-space:nowrap;border:none;justify-content:center;align-items:center;gap:8px;padding:14px 28px;font-size:1rem;font-weight:600;transition:all .2s cubic-bezier(.34,1.56,.64,1);display:inline-flex;position:relative;overflow:hidden}.btn:active{transform:scale(.96)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none!important}.btn-full{width:100%}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 4px 14px #5b21b659}.btn-primary:hover{background:var(--primary-light);transform:translateY(-1px);box-shadow:0 6px 20px #5b21b673}.btn-secondary{background:var(--secondary);color:#fff;box-shadow:0 4px 14px #f9731659}.btn-secondary:hover{transform:translateY(-1px);box-shadow:0 6px 20px #f9731673}.btn-success{background:var(--success);color:#fff;box-shadow:0 4px 14px #10b9814d}.btn-success:hover{transform:translateY(-1px)}.btn-ghost{background:var(--white);color:var(--primary);border:2px solid var(--primary-pale);box-shadow:var(--shadow-sm)}.btn-ghost:hover{background:var(--primary-pale);border-color:var(--primary)}.btn-danger{background:var(--danger);color:#fff;box-shadow:0 4px 14px #ef44444d}.btn-reveal{background:linear-gradient(135deg, var(--secondary), #ea580c);color:#fff;font-size:1.1rem;box-shadow:0 4px 14px #f9731666}.btn-reveal:hover{transform:translateY(-1px)}input[type=text],input[type=number],input[type=url],textarea{background:var(--white);border:2px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:var(--font-body);width:100%;box-shadow:var(--shadow-sm);outline:none;padding:14px 18px;font-size:1rem;transition:all .2s}input:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #5b21b61a}label.field-label{color:var(--text2);text-transform:uppercase;letter-spacing:.8px;margin-bottom:6px;font-size:.78rem;font-weight:700;display:block}.badge{border-radius:var(--radius-pill);font-size:.78rem;font-weight:700;font-family:var(--font-display);letter-spacing:.3px;align-items:center;gap:4px;padding:5px 14px;display:inline-flex}.badge-purple{background:var(--primary-pale);color:var(--primary)}.badge-orange{background:var(--secondary-pale);color:var(--secondary)}.badge-yellow{background:var(--accent-pale);color:#b45309}.badge-green{background:var(--success-pale);color:#047857}.badge-red{background:var(--danger-pale);color:var(--danger)}.badge-gray{color:var(--text2);background:#f3f4f6}.progress-bar{border-radius:var(--radius-pill);background:#f3f4f6;height:10px;overflow:hidden}.progress-fill{border-radius:var(--radius-pill);background:linear-gradient(90deg, var(--primary), var(--primary-light));height:100%;transition:width .4s cubic-bezier(.34,1.56,.64,1)}.timer-ring-wrap{flex-shrink:0;position:relative}.timer-ring-wrap svg{transform:rotate(-90deg)}.timer-number{font-family:var(--font-display);color:var(--primary);justify-content:center;align-items:center;font-weight:600;display:flex;position:absolute;inset:0}.answer-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.answer-btn{border-radius:var(--radius);font-family:var(--font-display);cursor:pointer;text-align:center;color:#fff;box-shadow:var(--shadow);border:3px solid #0000;padding:20px 14px;font-size:1.05rem;font-weight:600;line-height:1.3;transition:all .2s cubic-bezier(.34,1.56,.64,1)}.answer-btn:hover:not(.disabled){box-shadow:var(--shadow-lg);transform:scale(1.03)translateY(-2px)}.answer-btn:active:not(.disabled){transform:scale(.97)}.answer-btn.disabled{pointer-events:none}.answer-0{background:linear-gradient(135deg,#4f46e5,#6366f1);border-color:#4338ca}.answer-1{background:linear-gradient(135deg,#dc2626,#ef4444);border-color:#b91c1c}.answer-2{background:linear-gradient(135deg,#059669,#10b981);border-color:#047857}.answer-3{background:linear-gradient(135deg,#d97706,#f59e0b);border-color:#b45309}.answer-btn.correct{box-shadow:0 0 0 4px #fcd34d66, var(--shadow-lg);border-color:#fcd34d!important}.answer-btn.wrong{opacity:.35;filter:grayscale(.6)}.answer-btn.selected{opacity:.9;transform:scale(.95)}.stat-bar-wrap{margin-bottom:10px}.stat-bar-label{justify-content:space-between;margin-bottom:5px;font-size:.9rem;font-weight:500;display:flex}.stat-bar{border-radius:var(--radius-sm);background:#f3f4f6;height:36px;overflow:hidden}.stat-bar-fill{border-radius:var(--radius-sm);height:100%;font-size:.85rem;font-weight:700;font-family:var(--font-display);align-items:center;padding:0 12px;transition:width 1s cubic-bezier(.34,1.56,.64,1);display:flex}.stat-bar-fill.correct-bar{background:linear-gradient(90deg, var(--success), #34d399);color:#fff}.stat-bar-fill.wrong-bar{color:#fff;background:linear-gradient(90deg,#9ca3af,#d1d5db)}.leaderboard-row{border-radius:var(--radius-sm);background:var(--white);border:2px solid var(--border);box-shadow:var(--shadow-sm);align-items:center;gap:14px;margin-bottom:8px;padding:14px 18px;transition:transform .2s;animation:.4s cubic-bezier(.34,1.56,.64,1) forwards slideIn;display:flex}.leaderboard-row:hover{transform:translate(4px)}.leaderboard-row.rank-1{border-color:var(--accent);background:linear-gradient(135deg,#fffbeb,#fef3c7)}.leaderboard-row.rank-2{background:linear-gradient(135deg,#f9fafb,#f3f4f6);border-color:#d1d5db}.leaderboard-row.rank-3{background:linear-gradient(135deg,#fff7ed,#ffedd5);border-color:#fdba74}.rank-num{font-family:var(--font-display);text-align:center;width:40px;font-size:1.6rem}.pseudo-text{flex:1;font-size:1.05rem;font-weight:600}.score-text{font-family:var(--font-display);color:var(--primary);font-size:1.4rem;font-weight:600}.podium{justify-content:center;align-items:flex-end;gap:10px;height:180px;margin:20px 0;display:flex}.podium-slot{opacity:0;flex-direction:column;flex:1;align-items:center;max-width:120px;animation:.8s cubic-bezier(.34,1.56,.64,1) forwards podiumRise;display:flex}.podium-slot:first-child{animation-delay:.3s}.podium-slot:nth-child(2){animation-delay:0s}.podium-slot:nth-child(3){animation-delay:.6s}.podium-name{text-align:center;font-size:.85rem;font-weight:700;font-family:var(--font-display);color:var(--text);margin-bottom:6px}.podium-bar{border-radius:12px 12px 0 0;flex-direction:column;justify-content:flex-start;align-items:center;width:100%;padding-top:12px;display:flex}.podium-rank{font-family:var(--font-display);font-size:2.8rem}.podium-score{opacity:.85;font-size:.78rem;font-weight:700;font-family:var(--font-display)}.podium-1{color:#1a1a2e;background:linear-gradient(#fcd34d,#f59e0b);height:130px;box-shadow:0 -4px 20px #fcd34d66}.podium-2{color:#1a1a2e;background:linear-gradient(#e5e7eb,#9ca3af);height:100px}.podium-3{color:#fff;background:linear-gradient(#fdba74,#f97316);height:80px}.players-grid{flex-wrap:wrap;gap:8px;display:flex}.player-chip{background:var(--primary-pale);color:var(--primary);border-radius:var(--radius-pill);font-size:.9rem;font-weight:600;font-family:var(--font-display);border:2px solid #0000;padding:6px 16px;transition:all .2s;animation:.3s cubic-bezier(.34,1.56,.64,1) popIn}.player-chip:hover{border-color:var(--primary)}.player-chip.disconnected{opacity:.4;color:var(--text2);background:#f3f4f6}.waiting-dot{border-radius:50%;width:12px;height:12px;animation:1.4s ease-in-out infinite pulse}.answered-icon{margin-bottom:12px;font-size:4rem}.answered-points{font-family:var(--font-display);font-size:3.5rem;font-weight:700}.qr-container{border-radius:var(--radius-sm);box-shadow:var(--shadow);background:#fff;padding:14px;display:inline-block}.confetti-container{pointer-events:none;z-index:100;position:fixed;inset:0}.confetti-piece{border-radius:3px;animation:linear forwards confettiFall;position:absolute}.error-msg{background:var(--danger-pale);border-radius:var(--radius-sm);color:var(--danger);border:2px solid #fecaca;padding:12px 16px;font-size:.9rem;font-weight:500}.kuikuiz-stripe{background:linear-gradient(90deg, var(--primary) 0%, var(--secondary) 50%, var(--accent) 100%);border-radius:var(--radius-pill);height:5px;margin-bottom:20px}.separator{color:var(--text2);align-items:center;gap:12px;font-size:.85rem;font-weight:500;display:flex}.separator:before,.separator:after{content:"";background:var(--border);border-radius:1px;flex:1;height:2px}.theme-chip{border-radius:var(--radius-pill);font-size:.85rem;font-weight:600;font-family:var(--font-display);cursor:pointer;background:var(--white);box-shadow:var(--shadow-sm);color:var(--text);border:2px solid #0000;align-items:center;gap:6px;padding:8px 16px;transition:all .2s cubic-bezier(.34,1.56,.64,1);display:inline-flex}.theme-chip:hover{box-shadow:var(--shadow);transform:scale(1.05)}.theme-chip.selected{border-color:var(--primary);background:var(--primary-pale);color:var(--primary);box-shadow:0 0 0 3px #5b21b61a}@keyframes slideIn{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}@keyframes popIn{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}@keyframes podiumRise{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@keyframes confettiFall{0%{opacity:1;transform:translateY(-20px)rotate(0)}to{opacity:0;transform:translateY(100vh)rotate(720deg)}}.animate-fadeup{animation:.4s cubic-bezier(.34,1.56,.64,1) forwards fadeUp}.animate-scalein{animation:.4s cubic-bezier(.34,1.56,.64,1) forwards scaleIn}.animate-pop{animation:.3s cubic-bezier(.34,1.56,.64,1) forwards popIn}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#d1d5db}@media (width<=480px){.answer-grid{grid-template-columns:1fr 1fr;gap:8px}.answer-btn{padding:16px 10px;font-size:.95rem}}
