:root{--bg-0:#080808;--bg-1:#0f0f0f;--bg-2:#161616;--bg-3:#1e1e1e;--bg-hover:#222;--border-subtle:#ffffff0f;--border-default:#ffffff1a;--border-strong:#ffffff2e;--accent:#3b82f6;--accent-dim:#3b82f61a;--accent-border:#3b82f633;--green:#4ade80;--green-dim:#4ade801a;--red:#f87171;--red-dim:#f871711a;--amber:#fbb040;--blue:#60a5fa;--text-1:#fafafa;--text-2:#a1a1aa;--text-3:#52525b;--font-sans:"Inter", -apple-system, sans-serif;--font-display:"Space Grotesk", "Inter", sans-serif;--r-sm:6px;--r-md:10px;--r-lg:14px;--r-xl:20px;--shadow-sm:0 1px 3px #0006;--shadow-md:0 4px 16px #00000080;--shadow-lg:0 8px 32px #0009;--shadow-accent:0 0 0 1px var(--accent-border), 0 4px 20px #7c3aed1a;--ease:cubic-bezier(.4, 0, .2, 1);--duration:.15s}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-sans);color:var(--text-1);-webkit-font-smoothing:antialiased;background:#000;min-height:100vh;line-height:1.5}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}input,textarea,select{font-family:inherit}img,svg{display:block}.font-display{font-family:var(--font-display)}.text-xs{font-size:.6875rem;line-height:1rem}.text-sm{font-size:.8125rem;line-height:1.25rem}.text-base{font-size:.9375rem;line-height:1.5rem}.text-lg{font-size:1.0625rem;line-height:1.75rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.75rem}.text-5xl{font-size:3rem;line-height:3.5rem}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.font-black{font-weight:900}.text-primary{color:var(--text-1)}.text-secondary{color:var(--text-2)}.text-muted{color:var(--text-3)}.text-accent{color:var(--accent)}.text-green{color:var(--green)}.text-red{color:var(--red)}.gradient-text{background:linear-gradient(135deg,#fafafa 0%,#a1a1aa 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.accent-text{background:linear-gradient(135deg,#60a5fa 0%,#3b82f6 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.page-center{justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex;position:relative}.card{background:var(--bg-1);border:1px solid var(--border-subtle);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.card-padded{padding:1.5rem}.card-surface{background:var(--bg-2);border:1px solid var(--border-subtle);border-radius:var(--r-md)}.card-elevated{background:var(--bg-1);border:1px solid var(--border-default);border-radius:var(--r-xl);box-shadow:var(--shadow-lg)}.btn{border-radius:var(--r-md);transition:all var(--duration) var(--ease);white-space:nowrap;letter-spacing:.01em;border:none;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.8125rem;font-weight:600;display:inline-flex}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{color:#000;background:#fff}.btn-primary:hover:not(:disabled){background:#eee;transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-accent{background:var(--accent);color:#fff}.btn-accent:hover:not(:disabled){background:#2563eb;transform:translateY(-1px)}.btn-accent:active:not(:disabled){transform:translateY(0)}.btn-secondary{background:var(--bg-2);color:var(--text-2);border:1px solid var(--border-default)}.btn-secondary:hover:not(:disabled){background:var(--bg-3);color:var(--text-1);border-color:var(--border-strong)}.btn-ghost{color:var(--text-2);background:0 0;border:1px solid #0000}.btn-ghost:hover:not(:disabled){background:var(--bg-2);color:var(--text-1);border-color:var(--border-subtle)}.btn-danger{background:var(--red-dim);color:var(--red);border:1px solid #f8717133}.btn-danger:hover:not(:disabled){background:#f871712e}.btn-green{background:var(--green-dim);color:var(--green);border:1px solid #4ade8033}.btn-lg{border-radius:var(--r-lg);padding:.75rem 1.5rem;font-size:.9375rem}.btn-sm{border-radius:var(--r-sm);padding:.375rem .75rem;font-size:.75rem}.btn-icon{padding:.4rem}.input-group{flex-direction:column;gap:.375rem;display:flex}.input-label{color:#888;letter-spacing:.02em;font-size:.75rem;font-weight:500}.input{color:#fff;background:#1a1a1a;border:1px solid #333;border-radius:10px;outline:none;width:100%;padding:.75rem 1rem;font-size:.9375rem;transition:border-color .2s,background .2s}.input::placeholder{color:#555}.input:focus{border-color:var(--accent);background:#222}.input-xl{text-align:center;letter-spacing:.2em;border-radius:var(--r-lg);padding:1rem 1.25rem;font-size:1.75rem;font-weight:700}.badge{letter-spacing:.03em;border-radius:999px;align-items:center;gap:.25rem;padding:.2rem .5rem;font-size:.6875rem;font-weight:600;display:inline-flex}.badge-active{background:var(--green-dim);color:var(--green);border:1px solid #4ade8033}.badge-finished{color:var(--text-3);border:1px solid var(--border-subtle);background:#52525b33}.badge-archived{color:var(--amber);background:#fbb0401a;border:1px solid #fbb04033}.divider{border:none;border-top:1px solid var(--border-subtle)}.spinner{border:2px solid #ffffff14;border-top-color:var(--text-2);border-radius:50%;flex-shrink:0;width:18px;height:18px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.page-loader{flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:100vh;display:flex}.admin-layout{min-height:100vh;display:flex}.admin-sidebar{background:var(--bg-1);border-right:1px solid var(--border-subtle);flex-direction:column;flex-shrink:0;width:220px;height:100vh;padding:1.25rem .875rem;display:flex;position:sticky;top:0;overflow-y:auto}.admin-logo{align-items:center;gap:.625rem;margin-bottom:2rem;padding:.375rem .625rem;display:flex}.admin-logo-icon{border-radius:var(--r-sm);background:var(--accent);color:#fff;justify-content:center;align-items:center;width:30px;height:30px;font-size:.875rem;display:flex}.admin-logo-text{font-family:var(--font-display);color:var(--text-1);letter-spacing:-.02em;font-size:1rem;font-weight:700}.admin-nav{flex-direction:column;flex:1;gap:2px;display:flex}.admin-nav-item{border-radius:var(--r-sm);color:var(--text-2);transition:all var(--duration) var(--ease);text-align:left;background:0 0;border:none;align-items:center;gap:.625rem;width:100%;padding:.5rem .625rem;font-size:.8125rem;font-weight:500;display:flex}.admin-nav-item:hover{background:var(--bg-2);color:var(--text-1)}.admin-nav-item.active{background:var(--bg-3);color:var(--text-1);font-weight:600}.nav-icon{opacity:.7;font-size:.875rem}.admin-content{background:var(--bg-0);flex:1;padding:2rem 2.5rem;overflow-y:auto}.page-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:2rem;display:flex}.page-title{font-family:var(--font-display);color:var(--text-1);letter-spacing:-.02em;font-size:1.5rem;font-weight:700}.page-subtitle{color:var(--text-2);margin-top:.25rem;font-size:.8125rem}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;margin-bottom:2rem;display:grid}.stat-card{border-radius:var(--r-lg);background:var(--bg-1);border:1px solid var(--border-subtle);flex-direction:column;gap:.5rem;padding:1.25rem;display:flex}.stat-icon{font-size:1.25rem}.stat-value{font-size:1.875rem;font-weight:800;font-family:var(--font-display);color:var(--text-1);letter-spacing:-.02em}.stat-label{color:var(--text-2);font-size:.75rem;font-weight:500}.session-card{border-radius:var(--r-lg);background:var(--bg-1);border:1px solid var(--border-subtle);transition:all var(--duration) var(--ease);cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.session-card:hover{background:var(--bg-2);border-color:var(--border-default)}.sessions-list{flex-direction:column;gap:.5rem;display:flex}.question-item{border-radius:var(--r-md);background:var(--bg-1);border:1px solid var(--border-subtle);flex-direction:column;gap:.875rem;padding:1.25rem;display:flex}.question-list{flex-direction:column;gap:.75rem;display:flex}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes floatIn{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}@keyframes rankSlide{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes barGrow{0%{width:0}to{width:var(--bar-w)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes countdown{0%{width:100%}to{width:0%}}.animate-fade-in{animation:fadeIn .35s var(--ease) forwards}.animate-slide-up{animation:slideUp .4s var(--ease) forwards}.animate-scale-in{animation:scaleIn .25s var(--ease) forwards}
