@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap";
:root{--bg-primary:#fff;--bg-secondary:#fcfaf8;--bg-card:#00000008;--bg-card-hover:#0000000f;--bg-glass:#ffffffd9;--border-glass:#0000001a;--border-subtle:#0000000d;--text-primary:#1a1a1f;--text-secondary:#5a5a6a;--text-muted:#8a8a9a;--accent-1:#f97316;--accent-2:#ef4444;--accent-3:#f59e0b;--gradient-primary:linear-gradient(135deg, var(--accent-1), var(--accent-2));--gradient-subtle:linear-gradient(135deg, #f9731626, #ef444426);--gradient-glow:linear-gradient(135deg, #f973164d, #ef44444d);--success:#22c55e;--success-bg:#22c55e1f;--error:#ef4444;--error-bg:#ef44441f;--warning:#f59e0b;--warning-bg:#f59e0b1f;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--space-3xl:64px;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-md:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:2rem;--font-size-4xl:2.5rem;--font-size-5xl:3.5rem;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 12px #0006;--shadow-lg:0 8px 32px #00000080;--shadow-glow:0 0 40px #7c3aed26;--transition-fast:.15s ease;--transition-base:.25s ease;--transition-slow:.4s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);min-height:100vh;line-height:1.6;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(80% 60% at 50% -20%,#f973161f,#0000),radial-gradient(60% 50% at 80%,#ef444414,#0000),radial-gradient(60% 40% at 20% 80%,#f59e0b0f,#0000);width:100%;height:100%;position:fixed;top:0;left:0}a{color:inherit;text-decoration:none}button{font-family:var(--font-sans);cursor:pointer;border:none;outline:none}input{font-family:var(--font-sans);outline:none}.global-logos{top:var(--space-xl);width:100%;padding:0 var(--space-2xl);pointer-events:none;z-index:50;justify-content:flex-end;align-items:flex-start;display:flex;position:absolute;left:0}.logo-right{opacity:.95;width:100%;max-width:250px;height:auto;animation:1s forwards fadeIn}@media (max-width:768px){.global-logos{top:var(--space-sm);padding:0 var(--space-md)}.logo-right{max-width:80px}}.container{max-width:720px;padding:0 var(--space-lg);z-index:1;margin:0 auto;position:relative}.container-wide{max-width:960px;padding:0 var(--space-lg);z-index:1;margin:0 auto;position:relative}.glass-card{background:var(--bg-glass);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-glass);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.btn-primary{justify-content:center;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-xl);background:var(--gradient-primary);color:#fff;font-size:var(--font-size-md);border-radius:var(--radius-md);transition:all var(--transition-base);border:none;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.btn-primary:before{content:"";opacity:0;transition:opacity var(--transition-base);background:linear-gradient(135deg,#ffffff40,#0000);position:absolute;inset:0}.btn-primary:hover:before{opacity:1}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 24px #7c3aed59}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.5;pointer-events:none}.btn-secondary{justify-content:center;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-xl);background:var(--bg-card);color:var(--text-primary);font-size:var(--font-size-md);border-radius:var(--radius-md);border:1px solid var(--border-glass);transition:all var(--transition-base);font-weight:500;display:inline-flex}.btn-secondary:hover{background:var(--bg-card-hover);border-color:#fff3}.input-field{width:100%;padding:var(--space-md) var(--space-lg);border:1px solid var(--border-glass);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-size-md);transition:all var(--transition-base);background:#00000005}.input-field::placeholder{color:var(--text-muted)}.input-field:focus{border-color:var(--accent-1);background:#0000000a;box-shadow:0 0 0 3px #f9731626}.input-label{font-size:var(--font-size-sm);color:var(--text-secondary);margin-bottom:var(--space-sm);font-weight:500;display:block}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes slideOutLeft{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-30px)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes countUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn var(--transition-slow) ease forwards}.animate-fade-in-up{animation:.5s forwards fadeInUp}.animate-slide-in{animation:.4s forwards slideInRight}.animate-scale-in{animation:.4s forwards scaleIn}.login-page{min-height:100vh;padding:var(--space-lg);justify-content:center;align-items:center;display:flex}.login-card{width:100%;max-width:440px;padding:var(--space-2xl);animation:.5s scaleIn}.login-brand{text-align:center;margin-bottom:var(--space-2xl)}.login-icon{background:var(--gradient-primary);border-radius:var(--radius-md);width:56px;height:56px;margin:0 auto var(--space-lg);justify-content:center;align-items:center;font-size:28px;display:flex;box-shadow:0 4px 20px #7c3aed4d}.login-title{font-size:var(--font-size-2xl);letter-spacing:-.02em;margin-bottom:var(--space-xs);font-weight:800}.login-title span{background:var(--gradient-primary);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.login-subtitle{font-size:var(--font-size-sm);color:var(--text-secondary)}.login-form{gap:var(--space-lg);flex-direction:column;display:flex}.input-group{flex-direction:column;display:flex}.input-icon-wrap{position:relative}.input-icon-wrap .input-field{padding-left:44px}.input-icon{opacity:.4;font-size:18px;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.login-btn{width:100%;padding:var(--space-md) var(--space-xl);margin-top:var(--space-sm);font-size:var(--font-size-md)}.login-footer{text-align:center;margin-top:var(--space-lg);font-size:var(--font-size-xs);color:var(--text-muted)}.login-error{background:var(--error-bg);border-radius:var(--radius-sm);padding:var(--space-md);color:var(--error);font-size:var(--font-size-sm);text-align:center;animation:fadeIn var(--transition-fast);border:1px solid #ef444433}.quiz-page{min-height:100vh;padding:var(--space-xl) var(--space-lg);flex-direction:column;display:flex}.quiz-header{margin-bottom:var(--space-xl);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.quiz-meta{align-items:center;gap:var(--space-lg);display:flex}.quiz-question-count{font-size:var(--font-size-sm);color:var(--text-secondary);font-weight:500}.quiz-question-count strong{color:var(--text-primary);font-size:var(--font-size-lg)}.progress-container{width:100%;margin-bottom:var(--space-xl);flex-shrink:0}.progress-bar-track{border-radius:var(--radius-full);background:#0000000f;width:100%;height:4px;overflow:hidden}.progress-bar-fill{background:var(--gradient-primary);border-radius:var(--radius-full);height:100%;transition:width .4s}.timer-container{align-items:center;gap:var(--space-sm);flex-shrink:0;display:flex}.timer-ring{width:48px;height:48px;position:relative}.timer-ring svg{width:48px;height:48px;transform:rotate(-90deg)}.timer-ring-bg{fill:none;stroke:#00000014;stroke-width:3px}.timer-ring-progress{fill:none;stroke-width:3px;stroke-linecap:round;transition:stroke-dashoffset 1s linear,stroke .3s}.timer-ring-progress.timer-safe{stroke:var(--success)}.timer-ring-progress.timer-warning{stroke:var(--warning)}.timer-ring-progress.timer-danger{stroke:var(--error)}.timer-text{font-size:var(--font-size-sm);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;font-weight:700;display:flex;position:absolute;inset:0}.timer-text.timer-safe{color:var(--success)}.timer-text.timer-warning{color:var(--warning)}.timer-text.timer-danger{color:var(--error);animation:.5s infinite pulse}.quiz-content{flex-direction:column;flex:1;justify-content:center;display:flex}.question-card{padding:var(--space-2xl);margin-bottom:var(--space-xl)}.question-card.animate-enter{animation:.35s forwards slideInRight}.question-number{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.1em;color:var(--accent-2);margin-bottom:var(--space-md);font-weight:600}.question-text{font-size:var(--font-size-xl);color:var(--text-primary);margin-bottom:var(--space-2xl);font-weight:600;line-height:1.5}.options-grid{gap:var(--space-md);flex-direction:column;display:flex}.option-btn{align-items:center;gap:var(--space-md);width:100%;padding:var(--space-md) var(--space-lg);border:1px solid var(--border-glass);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-size-md);text-align:left;transition:all var(--transition-base);cursor:pointer;background:#00000005;display:flex}.option-btn:hover{background:#0000000a;border-color:#00000026;transform:translate(4px)}.option-btn.selected{background:var(--gradient-subtle);border-color:var(--accent-1);box-shadow:0 0 20px #f9731626}.option-letter{border-radius:var(--radius-sm);width:32px;height:32px;font-size:var(--font-size-sm);color:var(--text-secondary);transition:all var(--transition-base);background:#0000000a;flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:flex}.option-btn.selected .option-letter{background:var(--gradient-primary);color:#fff}.option-btn:hover .option-letter{background:#00000014}.option-btn.selected:hover .option-letter{background:var(--gradient-primary)}.results-page{min-height:100vh;padding:var(--space-2xl) var(--space-lg)}.results-hero{text-align:center;padding:var(--space-3xl) var(--space-xl);margin-bottom:var(--space-2xl);animation:.5s scaleIn}.results-badge{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--gradient-subtle);border-radius:var(--radius-full);font-size:var(--font-size-xs);color:var(--accent-2);margin-bottom:var(--space-xl);text-transform:uppercase;letter-spacing:.05em;font-weight:600;display:inline-flex}.results-score-ring{width:160px;height:160px;margin:0 auto var(--space-xl);position:relative}.results-score-ring svg{width:160px;height:160px;transform:rotate(-90deg)}.score-ring-bg{fill:none;stroke:#0000000f;stroke-width:8px}.score-ring-fill{fill:none;stroke-width:8px;stroke-linecap:round;transition:stroke-dashoffset 1.5s ease-out}.score-ring-fill.score-high{stroke:var(--success)}.score-ring-fill.score-mid{stroke:var(--warning)}.score-ring-fill.score-low{stroke:var(--error)}.results-score-text{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.results-score-number{font-size:var(--font-size-4xl);letter-spacing:-.03em;font-weight:900;line-height:1;animation:.5s .3s both countUp}.results-score-label{font-size:var(--font-size-xs);color:var(--text-muted);margin-top:var(--space-xs)}.results-percentage{font-size:var(--font-size-3xl);background:var(--gradient-primary);-webkit-text-fill-color:transparent;margin-bottom:var(--space-sm);-webkit-background-clip:text;background-clip:text;font-weight:800}.results-message{font-size:var(--font-size-md);color:var(--text-secondary)}.stats-grid{gap:var(--space-md);margin-bottom:var(--space-2xl);grid-template-columns:repeat(3,1fr);display:grid}.stat-card{padding:var(--space-lg);text-align:center;animation:.5s both fadeInUp}.stat-card:first-child{animation-delay:.1s}.stat-card:nth-child(2){animation-delay:.2s}.stat-card:nth-child(3){animation-delay:.3s}.stat-value{font-size:var(--font-size-2xl);margin-bottom:var(--space-xs);font-weight:800}.stat-value.correct{color:var(--success)}.stat-value.wrong{color:var(--error)}.stat-value.skipped{color:var(--text-muted)}.stat-label{font-size:var(--font-size-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.review-section{margin-top:var(--space-xl)}.review-title{font-size:var(--font-size-lg);margin-bottom:var(--space-lg);align-items:center;gap:var(--space-sm);font-weight:700;display:flex}.review-list{gap:var(--space-md);flex-direction:column;display:flex}.review-item{padding:var(--space-lg);border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--bg-card);animation:.3s both fadeInUp}.review-item.correct{border-left:3px solid var(--success)}.review-item.wrong{border-left:3px solid var(--error)}.review-item.skipped{border-left:3px solid var(--text-muted)}.review-q-header{margin-bottom:var(--space-sm);justify-content:space-between;align-items:center;display:flex}.review-q-number{font-size:var(--font-size-xs);color:var(--text-muted);font-weight:600}.review-q-status{font-size:var(--font-size-xs);border-radius:var(--radius-full);padding:2px 10px;font-weight:600}.review-q-status.correct{background:var(--success-bg);color:var(--success)}.review-q-status.wrong{background:var(--error-bg);color:var(--error)}.review-q-status.skipped{color:var(--text-muted);background:#55556a26}.review-q-text{font-size:var(--font-size-md);margin-bottom:var(--space-md);font-weight:500;line-height:1.5}.review-options{gap:var(--space-sm);flex-direction:column;display:flex}.review-option{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--text-secondary);display:flex}.review-option.is-correct{background:var(--success-bg);color:var(--success);font-weight:500}.review-option.is-selected.is-wrong{background:var(--error-bg);color:var(--error);font-weight:500}.review-option-icon{flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:12px;display:flex}.leaderboard-page{min-height:100vh;padding:var(--space-2xl) var(--space-lg)}.leaderboard-header{text-align:center;margin-bottom:var(--space-2xl)}.leaderboard-title{font-size:var(--font-size-3xl);margin-bottom:var(--space-sm);font-weight:800}.leaderboard-title span{background:var(--gradient-primary);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.leaderboard-secret-form{gap:var(--space-md);max-width:400px;margin:0 auto;display:flex}.leaderboard-secret-form .input-field{flex:1}.leaderboard-table-wrap{border-radius:var(--radius-lg);border:1px solid var(--border-glass);background:var(--bg-glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);overflow-x:auto}.leaderboard-table{border-collapse:collapse;width:100%;font-size:var(--font-size-sm)}.leaderboard-table thead{background:#ffffff0a}.leaderboard-table th{padding:var(--space-md) var(--space-lg);text-align:left;color:var(--text-secondary);text-transform:uppercase;font-weight:600;font-size:var(--font-size-xs);letter-spacing:.05em;border-bottom:1px solid var(--border-subtle)}.leaderboard-table td{padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--border-subtle);color:var(--text-primary)}.leaderboard-table tbody tr{transition:background var(--transition-fast)}.leaderboard-table tbody tr:hover{background:#ffffff08}.leaderboard-table tbody tr:last-child td{border-bottom:none}.rank-badge{border-radius:var(--radius-full);width:28px;height:28px;font-weight:700;font-size:var(--font-size-xs);justify-content:center;align-items:center;display:inline-flex}.rank-1{color:#1a1a2e;background:linear-gradient(135deg,gold,#fa0)}.rank-2{color:#1a1a2e;background:linear-gradient(135deg,silver,#a0a0a0)}.rank-3{color:#1a1a2e;background:linear-gradient(135deg,#cd7f32,#b5651d)}.rank-default{color:var(--text-secondary);background:#ffffff0f}.score-bar{border-radius:var(--radius-full);width:60px;height:4px;margin-left:var(--space-sm);vertical-align:middle;background:#ffffff0f;display:inline-block;overflow:hidden}.score-bar-fill{background:var(--gradient-primary);border-radius:var(--radius-full);height:100%}.github-link{color:var(--accent-2);font-weight:500}.loading-container{justify-content:center;align-items:center;gap:var(--space-lg);flex-direction:column;min-height:100vh;display:flex}.loading-spinner{border:3px solid #ffffff1a;border-top-color:var(--accent-1);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{color:var(--text-secondary);font-size:var(--font-size-sm)}@media (max-width:640px){.login-card,.question-card{padding:var(--space-xl)}.question-text{font-size:var(--font-size-lg)}.stats-grid{grid-template-columns:1fr}.quiz-header{gap:var(--space-md);flex-direction:column}.quiz-meta{justify-content:space-between;width:100%}.results-score-ring,.results-score-ring svg{width:130px;height:130px}.leaderboard-secret-form{flex-direction:column}}
