@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600&display=swap";:root{--bg-deep:#f8fafc;--bg-base:#fff;--bg-surface:#fff;--bg-elevated:#fff;--bg-overlay:#ffffffb3;--glass-bg:#ffffffb3;--glass-border:#ffffffe6;--glass-highlight:#fff;--glass-blur:32px;--primary-50:#eef2ff;--primary-100:#e0e7ff;--primary-200:#c7d2fe;--primary-300:#a5b4fc;--primary-400:#818cf8;--primary-500:#6366f1;--primary-600:#4f46e5;--primary-700:#4338ca;--primary-800:#3730a3;--primary-900:#312e81;--accent-400:#fb7185;--accent-500:#f43f5e;--accent-600:#e11d48;--success:#10b981;--success-glow:#10b98126;--warning:#f59e0b;--warning-glow:#f59e0b26;--error:#ef4444;--error-glow:#ef444426;--info:#3b82f6;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--text-accent:var(--primary-600);--cluster-0:#e11d48;--cluster-1:#6d28d9;--cluster-2:#0284c7;--cluster-3:#d97706;--cluster-4:#059669;--cluster-5:#db2777;--cluster-6:#2563eb;--cluster-7:#dc2626;--cluster-8:#0d9488;--cluster-9:#9333ea;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--space-3xl:64px;--radius-sm:8px;--radius-md:12px;--radius-lg:20px;--radius-xl:32px;--radius-full:9999px;--shadow-sm:0 2px 4px #0f172a0a;--shadow-md:0 4px 12px #0f172a0f, 0 2px 4px #0f172a0a;--shadow-lg:0 12px 32px #0f172a14, 0 4px 12px #0f172a0a;--shadow-float:0 20px 40px #0f172a1f, 0 8px 16px #0f172a0f;--shadow-glow-primary:0 8px 24px #6366f140;--shadow-glow-accent:0 8px 24px #f43f5e40;--font-sans:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-base:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.4s cubic-bezier(.4, 0, .2, 1);--transition-spring:.5s cubic-bezier(.34, 1.56, .64, 1)}@keyframes gradientShift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes floatMesh{0%{transform:scale(1)translate(0)}33%{transform:scale(1.05)translate(2%,2%)}66%{transform:scale(.95)translate(-2%,1%)}to{transform:scale(1)translate(0)}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-sans);background:var(--bg-deep);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(circle at 20% 30%,#6366f114 0%,#0000 40%),radial-gradient(circle at 80% 70%,#f43f5e0f 0%,#0000 40%),radial-gradient(circle at 50% 10%,#10b9810a 0%,#0000 30%);animation:20s ease-in-out infinite floatMesh;position:fixed;inset:-50%}#root{z-index:1;min-height:100vh;position:relative}h1,h2,h3,h4,h5,h6{color:var(--text-primary);font-weight:700;line-height:1.2}h1{letter-spacing:-.03em;font-size:2.5rem}h2{letter-spacing:-.02em;font-size:1.75rem}h3{letter-spacing:-.01em;font-size:1.25rem}a{color:var(--primary-400);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--primary-300)}.glass-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:var(--space-lg);transition:all var(--transition-base);box-shadow:var(--shadow-sm)}.glass-card:hover{border-color:var(--glass-highlight);box-shadow:var(--shadow-float);transform:translateY(-4px)}.glass-card--elevated{background:var(--bg-elevated);border-color:var(--glass-highlight);box-shadow:var(--shadow-lg)}.btn{justify-content:center;align-items:center;gap:var(--space-sm);border-radius:var(--radius-full);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-base);white-space:nowrap;border:none;padding:10px 24px;font-size:.95rem;font-weight:700;display:inline-flex;position:relative;overflow:hidden}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none!important;transform:none!important}.btn-primary{background:linear-gradient(135deg, var(--primary-500), var(--primary-600), var(--accent-500));color:#fff;box-shadow:var(--shadow-sm), var(--shadow-glow-primary);background-size:200% 200%;animation:4s infinite gradientShift}.btn-primary:hover:not(:disabled){box-shadow:var(--shadow-md), 0 12px 30px #6366f166;transform:translateY(-2px)}.btn-accent{background:linear-gradient(135deg, var(--accent-500), var(--accent-600), var(--primary-500));color:#fff;box-shadow:var(--shadow-sm), var(--shadow-glow-accent);background-size:200% 200%;animation:4s infinite gradientShift}.btn-accent:hover:not(:disabled){box-shadow:var(--shadow-md), 0 12px 30px #f43f5e66;transform:translateY(-2px)}.btn-ghost{color:var(--text-secondary);background:#0f172a0d;border:1px solid #0000}.btn-ghost:hover:not(:disabled){color:var(--text-primary);box-shadow:var(--shadow-sm);background:#fff;border-color:#0f172a1a;transform:translateY(-1px)}.btn-success{background:linear-gradient(135deg, var(--success), #059669);color:#fff}.btn-danger{background:linear-gradient(135deg, var(--error), #dc2626);color:#fff}.btn-lg{padding:14px 32px;font-size:1rem}.btn-sm{padding:6px 16px;font-size:.85rem}.btn-icon{border-radius:var(--radius-full);width:40px;height:40px;padding:0}.form-group{gap:var(--space-xs);flex-direction:column;display:flex}.form-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.85rem;font-weight:700}.form-input,.form-textarea,.form-select{border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-sans);transition:all var(--transition-fast);background:#fff;border:1px solid #0f172a1a;outline:none;padding:12px 16px;font-size:1rem;box-shadow:inset 0 2px 4px #00000005}.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:var(--primary-400);background:#fff;box-shadow:0 0 0 4px #6366f126}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-muted)}.form-textarea{resize:vertical;min-height:100px}.app-container{max-width:1400px;padding:var(--space-lg);margin:0 auto}.page-header{margin-bottom:var(--space-2xl);padding-bottom:var(--space-lg);border-bottom:1px solid var(--glass-border);justify-content:space-between;align-items:center;display:flex}.page-title{align-items:center;gap:var(--space-md);display:flex}.grid{gap:var(--space-lg);display:grid}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.flex{display:flex}.flex-col{flex-direction:column}.flex-center{justify-content:center;align-items:center}.flex-between{justify-content:space-between}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.room-code{font-family:var(--font-mono);letter-spacing:.15em;background:linear-gradient(135deg, var(--primary-400), var(--accent-400));-webkit-text-fill-color:transparent;text-align:center;-webkit-background-clip:text;background-clip:text;font-size:3rem;font-weight:800}.room-code-container{background:var(--bg-elevated);border:2px solid var(--glass-highlight);border-radius:var(--radius-xl);padding:var(--space-xl);text-align:center;position:relative;overflow:hidden}.room-code-container:before{content:"";pointer-events:none;background:linear-gradient(135deg,#00b4d80d,#8b5cf60d);position:absolute;inset:0}.timer-ring{border-radius:50%;justify-content:center;align-items:center;width:120px;height:120px;display:flex;position:relative}.timer-ring svg{position:absolute;transform:rotate(-90deg)}.timer-ring .timer-text{font-family:var(--font-mono);z-index:1;font-size:2rem;font-weight:700}.leaderboard{flex-direction:column;gap:2px;display:flex}.leaderboard-row{align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--glass-bg);border-radius:var(--radius-sm);transition:all var(--transition-base);display:flex}.leaderboard-row:hover{background:var(--glass-highlight)}.leaderboard-rank{font-family:var(--font-mono);text-align:center;width:36px;color:var(--text-muted);font-size:1.1rem;font-weight:800}.leaderboard-rank--gold{color:#fbbf24}.leaderboard-rank--silver{color:#94a3b8}.leaderboard-rank--bronze{color:#d97706}.leaderboard-name{flex:1;font-weight:500}.leaderboard-score{font-family:var(--font-mono);color:var(--primary-400);font-weight:700}.option-grid{gap:var(--space-md);grid-template-columns:1fr 1fr;display:grid}.option-btn{align-items:center;gap:var(--space-md);padding:var(--space-lg);background:var(--bg-elevated);border:2px solid var(--glass-border);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base);font-family:var(--font-sans);color:var(--text-primary);text-align:left;font-size:1rem;display:flex;position:relative;overflow:hidden}.option-btn:hover:not(:disabled):not(.option-btn--selected){border-color:var(--primary-500);box-shadow:var(--shadow-md), var(--shadow-glow-primary);transform:translateY(-2px)}.option-btn--selected{border-color:var(--primary-500);background:#00b4d81a}.option-btn--correct{border-color:var(--success)!important;background:#10b9811a!important}.option-btn--wrong{border-color:var(--error)!important;background:#f43f5e1a!important}.option-btn--disabled{opacity:.6;cursor:not-allowed}.option-letter{border-radius:var(--radius-sm);background:var(--glass-bg);border:1px solid var(--glass-border);flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:.9rem;font-weight:700;display:flex}.confidence-slider{width:100%;padding:var(--space-lg)}.confidence-slider input[type=range]{appearance:none;border-radius:var(--radius-full);background:linear-gradient(to right, var(--info) 0%, var(--primary-500) 50%, var(--warning) 75%, var(--error) 100%);cursor:pointer;outline:none;width:100%;height:8px}.confidence-slider input[type=range]::-webkit-slider-thumb{appearance:none;width:24px;height:24px;box-shadow:var(--shadow-md);cursor:pointer;transition:transform var(--transition-fast);background:#fff;border-radius:50%}.confidence-slider input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.2)}.confidence-label{color:var(--text-muted);margin-top:var(--space-xs);justify-content:space-between;font-size:.8rem;display:flex}.confidence-value{text-align:center;font-size:1.5rem;font-weight:700;font-family:var(--font-mono);margin-bottom:var(--space-sm)}.badge{border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:6px;padding:4px 12px;font-size:.75rem;font-weight:600;display:inline-flex}.badge--lobby{color:var(--info);background:#3b82f626;border:1px solid #3b82f64d}.badge--live{color:var(--success);background:#10b98126;border:1px solid #10b9814d}.badge--live:before{content:"";background:var(--success);border-radius:50%;width:6px;height:6px;animation:2s infinite pulse-dot}.badge--paused{color:var(--warning);background:#f59e0b26;border:1px solid #f59e0b4d}.badge--ended{color:var(--text-muted);background:#6b6b8026;border:1px solid #6b6b804d}.tabs{background:var(--bg-surface);border-radius:var(--radius-md);gap:2px;padding:3px;display:flex}.tab{color:var(--text-muted);font-family:var(--font-sans);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;flex:1;padding:8px 16px;font-size:.85rem;font-weight:500}.tab:hover{color:var(--text-secondary)}.tab--active{background:var(--bg-elevated);color:var(--text-primary);box-shadow:var(--shadow-sm)}.graph-container{background:var(--bg-surface);border:1px solid var(--glass-border);border-radius:var(--radius-lg);position:relative;overflow:hidden}.graph-container .graph-title{top:var(--space-md);left:var(--space-md);color:var(--text-secondary);z-index:10;text-transform:uppercase;letter-spacing:.05em;font-size:.85rem;font-weight:600;position:absolute}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.4}}@keyframes fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes glow-pulse{0%,to{box-shadow:0 0 10px #00b4d833}50%{box-shadow:0 0 25px #00b4d866}}.animate-fade-in{animation:.4s ease-out fade-in}.animate-slide-up{animation:.5s ease-out slide-up}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--glass-highlight);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@media (width<=768px){.grid-2,.grid-3,.option-grid{grid-template-columns:1fr}h1{font-size:1.75rem}h2{font-size:1.35rem}.room-code{font-size:2rem}.app-container{padding:var(--space-md)}}
