:root{--bg-void:#000;--bg-dark:#000;--bg-card:#080808;--bg-card-hover:#0c0c0c;--bg-overlay:#000000d9;--neon-green:#f80;--neon-cyan:#fa0;--neon-magenta:#f50;--neon-amber:#fc0;--neon-red:#ff2d55;--neon-blue:#f60;--text-primary:#f0f0f0;--text-secondary:#8a8a8a;--text-muted:#444;--border-dim:#ffffff14;--border-glow:#ff88004d;--border-cyan:#ffaa004d;--font-display:"Orbitron", monospace;--font-mono:"JetBrains Mono", monospace;--font-body:"Inter", sans-serif;--radius-sm:4px;--radius-md:8px;--radius-lg:14px;--radius-xl:20px;--transition-fast:.15s ease;--transition-base:.25s ease;--transition-slow:.4s ease;--glow-green:0 0 20px #f806, 0 0 60px #ff88001a;--glow-cyan:0 0 20px #fa06, 0 0 60px #ffaa001a;--glow-magenta:0 0 20px #f506, 0 0 60px #ff55001a}.skeleton{background:linear-gradient(90deg, var(--bg-card) 25%, #ff88000d 50%, var(--bg-card) 75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.5s linear infinite skeletonLoad}@keyframes skeletonLoad{0%{background-position:200% 0}to{background-position:-200% 0}}.lb-row.skeleton-row{opacity:.7}.lb-row.skeleton-row .lb-name,.lb-row.skeleton-row .lb-roll,.lb-row.skeleton-row .lb-score{background:linear-gradient(90deg,#ffffff08 25%,#ff880014 50%,#ffffff08 75%) 0 0/200% 100%;animation:1.5s linear infinite skeletonLoad;color:#0000!important;border-color:#0000!important}.lb-row.skeleton-row .lb-name{border-radius:4px;width:120px;height:14px;margin-bottom:4px}.lb-row.skeleton-row .lb-roll{border-radius:4px;width:80px;height:10px}.lb-row.skeleton-row .lb-score{border-radius:4px;width:50px;height:14px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-size:16px}body{background:var(--bg-void);color:var(--text-primary);font-family:var(--font-body);-webkit-font-smoothing:antialiased;min-height:100dvh;overflow-x:hidden}#particles-canvas{z-index:0;pointer-events:none;opacity:.35;position:fixed;inset:0}.scanlines{z-index:1;pointer-events:none;background:repeating-linear-gradient(0deg,#0000,#0000 2px,#0000000d 2px 4px);position:fixed;inset:0}#app{z-index:2;min-height:100dvh;position:relative}.screen{flex-direction:column;align-items:center;min-height:100dvh;padding:1.5rem 1rem;animation:.4s forwards screenIn;display:flex}.hidden{display:none!important}@keyframes screenIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.neon-text{color:var(--neon-green)}.neon-cyan{color:var(--neon-cyan)}#screen-locked{gap:2rem;padding:2rem 1rem 3rem}.locked-container{text-align:center;background:var(--bg-card);border-radius:var(--radius-xl);border:1px solid #ff2d5533;flex-direction:column;align-items:center;gap:1.25rem;width:100%;max-width:480px;padding:2.5rem 2rem;display:flex;position:relative;overflow:hidden;box-shadow:0 0 40px #ff2d550f,inset 0 1px #ffffff0a}.locked-container:before{content:"";background:linear-gradient(90deg,#0000,#ff2d5580,#0000);height:1px;position:absolute;top:0;left:0;right:0}.lock-icon{width:72px;height:72px;color:var(--neon-red);background:#ff2d5514;border:1px solid #ff2d5540;border-radius:50%;justify-content:center;align-items:center;animation:2.5s ease-in-out infinite lockPulse;display:flex}.lock-icon svg{width:32px;height:32px}@keyframes lockPulse{0%,to{box-shadow:0 0 #ff2d5500}50%{box-shadow:0 0 0 12px #ff2d5514}}.locked-title{font-family:var(--font-display);letter-spacing:.06em;color:var(--text-primary);font-size:clamp(1.6rem,5vw,2.2rem);font-weight:800}.locked-subtitle{color:var(--text-secondary);font-size:.95rem;line-height:1.6}.locked-badge{font-family:var(--font-mono);color:var(--neon-red);letter-spacing:.1em;background:#ff2d5514;border:1px solid #ff2d5540;border-radius:100px;align-items:center;gap:.5rem;padding:.4rem 1rem;font-size:.7rem;display:inline-flex}.badge-dot{background:var(--neon-red);border-radius:50%;width:6px;height:6px}.badge-dot.pulse{background:var(--neon-green);box-shadow:0 0 6px var(--neon-green);animation:1.5s ease-in-out infinite dotPulse}@keyframes dotPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.85)}}.next-quiz-info{border:1px solid var(--border-dim);border-radius:var(--radius-md);background:#ffffff08;width:100%;padding:1rem 1.5rem}.info-label{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.25rem;font-size:.7rem}.info-value{font-family:var(--font-display);color:var(--neon-amber);text-shadow:0 0 8px #ffb8004d;font-size:1.1rem;font-weight:600}.leaderboard-section{background:var(--bg-card);border:1px solid var(--border-cyan);border-radius:var(--radius-xl);width:100%;max-width:600px;position:relative;overflow:hidden;box-shadow:0 0 40px #00e5ff0a,inset 0 1px #ffffff0a}.leaderboard-section:before{content:"";background:linear-gradient(90deg, transparent, var(--neon-cyan), transparent);opacity:.5;height:1px;position:absolute;top:0;left:0;right:0}.leaderboard-header{border-bottom:1px solid var(--border-dim);background:#00e5ff0a;flex-wrap:wrap;align-items:center;gap:.75rem;padding:1.25rem 1.5rem;display:flex}.leaderboard-icon{width:20px;height:20px;color:var(--neon-cyan);flex-shrink:0}.leaderboard-title{font-family:var(--font-display);letter-spacing:.08em;color:var(--text-primary);flex:1;font-size:.85rem;font-weight:700}.leaderboard-list{min-height:200px;padding:.5rem 0}.lb-loading{height:200px;color:var(--text-muted);font-family:var(--font-mono);flex-direction:column;justify-content:center;align-items:center;gap:.75rem;font-size:.8rem;display:flex}.lb-spinner{border:2px solid var(--border-dim);border-top-color:var(--neon-cyan);border-radius:50%;width:28px;height:28px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.lb-row{border-bottom:1px solid var(--border-dim);transition:background var(--transition-fast);cursor:default;align-items:center;gap:1rem;padding:.8rem 1.5rem;display:flex}.lb-row:last-child{border-bottom:none}.lb-row:hover{background:#ffffff08}.lb-row.rank-1 .lb-rank{color:gold;text-shadow:0 0 8px #ffd70080}.lb-row.rank-2 .lb-rank{color:silver;text-shadow:0 0 8px #c0c0c080}.lb-row.rank-3 .lb-rank{color:#cd7f32;text-shadow:0 0 8px #cd7f3280}.lb-rank{font-family:var(--font-display);min-width:28px;color:var(--text-muted);text-align:center;padding-right:10px;font-size:.8rem;font-weight:700}.lb-info{flex:1;min-width:0}.lb-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.88rem;font-weight:600;overflow:hidden}.lb-roll{font-family:var(--font-mono);color:var(--text-muted);margin-top:1px;font-size:.68rem}.lb-score{font-family:var(--font-display);color:var(--neon-green);text-shadow:0 0 6px #0f86;white-space:nowrap;font-size:.85rem;font-weight:700}#screen-home{justify-content:center;gap:2.5rem;padding:3rem 1rem}.home-hero{text-align:center;flex-direction:column;align-items:center;gap:1rem;width:100%;max-width:500px;display:flex}.hero-badge{font-family:var(--font-mono);color:var(--neon-green);letter-spacing:.1em;background:#00ff880f;border:1px solid #00ff8840;border-radius:100px;align-items:center;gap:.5rem;padding:.4rem 1rem;font-size:.68rem;display:inline-flex}.hero-title{font-family:var(--font-display);letter-spacing:.04em;color:var(--text-primary);font-size:clamp(2.8rem,10vw,5rem);font-weight:900;line-height:1}.hero-subtitle{font-family:var(--font-display);letter-spacing:.15em;color:var(--text-muted);text-transform:uppercase;font-size:clamp(.75rem,2vw,.9rem)}.hero-desc{color:var(--text-secondary);max-width:380px;margin-top:.25rem;font-size:.95rem;line-height:1.65}.btn-primary{background:var(--neon-green);color:#000;font-family:var(--font-display);letter-spacing:.1em;border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast), opacity var(--transition-fast);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;border:none;justify-content:center;align-items:center;gap:.6rem;min-width:160px;padding:.85rem 2rem;font-size:.8rem;font-weight:700;display:inline-flex;position:relative;overflow:hidden}.btn-primary svg{flex-shrink:0;width:16px;height:16px}.btn-primary:active:not(:disabled){transform:scale(.97)}.btn-primary:disabled{opacity:.35;cursor:not-allowed;box-shadow:none}.btn-primary.full-width{width:100%}.btn-secondary{color:var(--neon-cyan);font-family:var(--font-display);letter-spacing:.1em;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none;background:0 0;justify-content:center;align-items:center;gap:.6rem;min-width:160px;padding:.85rem 2rem;font-size:.8rem;font-weight:700;display:inline-flex}.btn-secondary svg{width:16px;height:16px}.btn-back{color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.08em;border:1px solid var(--border-dim);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);background:0 0;align-self:flex-start;align-items:center;gap:.4rem;padding:.5rem .9rem;font-size:.7rem;display:inline-flex}.btn-back svg{width:14px;height:14px}.btn-back:hover{color:var(--text-primary);background:#ffffff0a;border-color:#ffffff26}#screen-login{align-items:center;padding:2rem 1rem 3rem}.login-container{flex-direction:column;gap:2rem;width:100%;max-width:440px;display:flex}.login-header{text-align:center;flex-direction:column;align-items:center;gap:.75rem;display:flex}.login-title{font-family:var(--font-display);letter-spacing:.05em;color:var(--text-primary);font-size:clamp(1.4rem,4vw,1.9rem);font-weight:800}.login-subtitle{color:var(--text-secondary);font-size:.88rem}.login-form{background:var(--bg-card);border:1px solid var(--border-dim);border-radius:var(--radius-xl);flex-direction:column;gap:1.25rem;padding:2rem;display:flex;position:relative;overflow:hidden;box-shadow:0 0 40px #00ff8808}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-label{font-family:var(--font-mono);letter-spacing:.1em;color:var(--text-secondary);text-transform:uppercase;align-items:center;gap:.4rem;font-size:.68rem;font-weight:500;display:flex}.form-label svg{width:13px;height:13px;color:var(--neon-green)}.input-wrapper{position:relative}.form-input{border:1px solid var(--border-dim);border-radius:var(--radius-md);width:100%;color:var(--text-primary);font-family:var(--font-mono);transition:border-color var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);background:#ffffff08;outline:none;padding:.8rem 1rem;font-size:.9rem}input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.form-input::placeholder{color:var(--text-muted)}.form-input:hover{background:#ffffff0a;border-color:#ffffff1f}.form-input.error{border-color:#ff2d5580;box-shadow:0 0 0 3px #ff2d5514}.field-error{font-family:var(--font-mono);color:var(--neon-red);min-height:1rem;transition:opacity var(--transition-fast);padding-left:.25rem;font-size:.68rem;display:block}#screen-quiz{align-items:stretch;gap:0;padding:0}.quiz-hud{border-bottom:1px solid var(--border-dim);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10;background:#080808f2;justify-content:space-between;align-items:center;padding:.9rem 1.25rem;display:flex;position:sticky;top:0}.player-chip{font-family:var(--font-mono);color:var(--text-secondary);border:1px solid var(--border-dim);white-space:nowrap;text-overflow:ellipsis;background:#ffffff0a;border-radius:100px;max-width:120px;padding:.3rem .75rem;font-size:.72rem;overflow:hidden}.question-counter{font-family:var(--font-display);letter-spacing:.1em;color:var(--text-muted);font-size:.75rem;font-weight:700}.score-chip{font-family:var(--font-display);color:var(--neon-amber);text-shadow:0 0 8px #ffb8004d;background:#ffb8000f;border:1px solid #ffb80033;border-radius:100px;align-items:center;gap:.35rem;padding:.3rem .85rem;font-size:.8rem;font-weight:700;display:flex}.score-chip svg{width:12px;height:12px}.progress-track{background:#ffffff0d;width:100%;height:3px}.progress-fill{background:linear-gradient(90deg, var(--neon-green), var(--neon-cyan));border-radius:0 2px 2px 0;width:0%;height:100%;transition:width .4s;box-shadow:0 0 8px #00ff8880}.quiz-body{flex-direction:column;flex:1;align-items:center;gap:1.5rem;width:100%;max-width:700px;margin:0 auto;padding:1.75rem 1.25rem 2rem;display:flex}.timer-wrapper{flex-shrink:0;width:64px;height:64px;position:relative}.timer-ring{width:64px;height:64px;transform:rotate(-90deg)}.timer-ring-bg{fill:none;stroke:#ffffff0f;stroke-width:3px}.timer-ring-fill{fill:none;stroke:var(--neon-cyan);stroke-width:3px;stroke-linecap:round;stroke-dasharray:163.4;stroke-dashoffset:0;filter:drop-shadow(0 0 4px var(--neon-cyan));transition:stroke-dashoffset 1s linear,stroke .3s}.timer-ring-fill.warning{stroke:var(--neon-amber);filter:drop-shadow(0 0 4px var(--neon-amber))}.timer-ring-fill.danger{stroke:var(--neon-red);filter:drop-shadow(0 0 4px var(--neon-red))}.timer-value{font-family:var(--font-display);color:var(--neon-cyan);justify-content:center;align-items:center;font-size:1rem;font-weight:700;transition:color .3s;display:flex;position:absolute;inset:0}.timer-value.warning{color:var(--neon-amber)}.timer-value.danger{color:var(--neon-red)}.question-card{background:var(--bg-card);border:1px solid var(--border-dim);border-radius:var(--radius-xl);width:100%;padding:1.75rem 1.5rem;position:relative;overflow:hidden;box-shadow:0 0 40px #00e5ff0a}.question-card:before{content:"";background:linear-gradient(90deg, transparent, var(--neon-cyan), transparent);opacity:.4;height:1px;position:absolute;top:0;left:0;right:0}.question-type-badge{font-family:var(--font-mono);letter-spacing:.12em;color:var(--neon-cyan);background:#00e5ff14;border:1px solid #00e5ff40;border-radius:100px;margin-bottom:1rem;padding:.25rem .6rem;font-size:.62rem;font-weight:600;display:inline-block}.question-type-badge.typing{color:var(--neon-amber);background:#ffb80014;border-color:#ffb80040}.question-text{color:var(--text-primary);font-size:clamp(1rem,2.5vw,1.2rem);font-weight:500;line-height:1.65;font-family:var(--font-body);margin-bottom:1.5rem}.mcq-options{flex-direction:column;gap:.75rem;display:flex}.mcq-option{border:1px solid var(--border-dim);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;background:#ffffff05;align-items:center;gap:1rem;padding:.9rem 1.1rem;display:flex;position:relative;overflow:hidden}.mcq-option:hover:not(.selected):not(.correct):not(.wrong){background:#00e5ff0a;border-color:#00e5ff4d;transform:translate(2px)}.mcq-option.selected{background:#00e5ff0f;border-color:#00e5ff80;box-shadow:0 0 16px #00e5ff14}.mcq-option.correct{background:#00ff8814;border-color:#0f89;box-shadow:0 0 20px #00ff881f}.mcq-option.wrong{background:#ff2d5512;border-color:#ff2d5580}.mcq-option.disabled{cursor:not-allowed}.option-letter{border-radius:var(--radius-sm);border:1px solid var(--border-dim);width:28px;height:28px;font-family:var(--font-display);color:var(--text-muted);transition:all var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;font-size:.65rem;font-weight:700;display:flex}.mcq-option.selected .option-letter{border-color:var(--neon-cyan);color:var(--neon-cyan);background:#00e5ff1a}.mcq-option.correct .option-letter{border-color:var(--neon-green);color:var(--neon-green);background:#00ff881a}.mcq-option.wrong .option-letter{border-color:var(--neon-red);color:var(--neon-red);background:#ff2d551a}.option-text{color:var(--text-primary);flex:1;font-size:.9rem;line-height:1.4}.option-check{opacity:0;width:18px;height:18px;transition:opacity var(--transition-fast);flex-shrink:0}.mcq-option.correct .option-check{opacity:1;color:var(--neon-green)}.mcq-option.wrong .option-check{opacity:1;color:var(--neon-red)}.terminal-wrapper{border-radius:var(--radius-lg);font-family:var(--font-mono);background:#000;border:1px solid #00ff8840;overflow:hidden;box-shadow:0 0 20px #00ff880f,inset 0 0 0 1px #ffffff05}.terminal-header{background:#ffffff08;border-bottom:1px solid #00ff881a;align-items:center;gap:.4rem;padding:.7rem 1rem;display:flex}.terminal-dot{border-radius:50%;width:10px;height:10px}.dot-red{background:#ff5f57}.dot-yellow{background:#ffbd2e}.dot-green{background:#28c840}.terminal-label{color:var(--text-muted);margin-left:.5rem;font-size:.68rem}.terminal-body{padding:1rem}.terminal-output{min-height:48px;max-height:200px;color:var(--neon-green);margin-bottom:.75rem;font-size:.82rem;line-height:1.7;overflow-y:auto}.terminal-output .t-line{word-break:break-word;display:block}.terminal-output .t-line.correct{color:var(--neon-green)}.terminal-output .t-line.error{color:var(--neon-red)}.terminal-output .t-line.info{color:var(--text-muted)}.terminal-input-row{border-top:1px solid #00ff881a;align-items:center;gap:.25rem;padding-top:.75rem;display:flex}.terminal-prompt{color:var(--neon-green);white-space:nowrap;font-size:.85rem}.terminal-input{color:var(--text-primary);font-family:var(--font-mono);caret-color:var(--neon-green);background:0 0;border:none;outline:none;flex:1;font-size:.85rem}.terminal-input::placeholder{color:var(--text-muted)}.answer-feedback{background:var(--bg-card);border-radius:var(--radius-lg);text-align:center;border:1px solid var(--border-dim);flex-direction:column;align-items:center;gap:.5rem;width:100%;padding:1.25rem 1.5rem;animation:.3s feedbackIn;display:flex}@keyframes feedbackIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.answer-feedback.correct-feedback{background:#00ff880a;border-color:#00ff884d}.answer-feedback.wrong-feedback{background:#ff2d550a;border-color:#ff2d554d}.feedback-icon{margin-bottom:.25rem;font-size:2rem;line-height:1}.feedback-text{font-family:var(--font-display);letter-spacing:.05em;font-size:1rem;font-weight:700}.answer-feedback.correct-feedback .feedback-text{color:var(--neon-green)}.answer-feedback.wrong-feedback .feedback-text{color:var(--neon-red)}.feedback-explanation{color:var(--text-secondary);font-size:.85rem;line-height:1.5}#screen-results{justify-content:center;align-items:center;padding:3rem 1.5rem}.results-container{text-align:center;flex-direction:column;align-items:center;gap:1.75rem;width:100%;max-width:440px;display:flex}.results-icon{font-size:4rem;line-height:1}.results-title{font-family:var(--font-display);letter-spacing:.05em;font-size:clamp(1.8rem,6vw,2.5rem);font-weight:900}.results-subtitle{color:var(--text-secondary);font-size:.95rem;line-height:1.5}.results-stats{grid-template-columns:repeat(3,1fr);gap:1rem;width:100%;display:grid}.stat-card{background:var(--bg-card);border:1px solid var(--border-dim);border-radius:var(--radius-lg);flex-direction:column;align-items:center;gap:.35rem;padding:1.25rem .75rem;display:flex;position:relative;overflow:hidden}.stat-value{font-family:var(--font-display);color:var(--neon-green);font-size:clamp(1.4rem,4vw,2rem);font-weight:800}.stat-label{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase;font-size:.65rem}.results-actions{flex-direction:column;gap:.75rem;width:100%;display:flex}@media (width>=400px){.results-actions{flex-direction:row;justify-content:center}}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:2px}::-webkit-scrollbar-thumb:hover{background:#fff3}@media (width>=640px){.screen{padding:2.5rem 2rem}#screen-quiz{padding:0}.quiz-body{padding:2rem}.login-form{padding:2.5rem}.locked-container{padding:3rem}}@media (width<=360px){.results-stats{grid-template-columns:1fr;max-width:200px}.results-actions{flex-direction:column}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
