@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Outfit:wght@600;700;800;900&family=Geist+Mono:wght@400;500;600;700&family=Orbitron:wght@700;900&display=swap";
:root{--bg-primary:#080810;--bg-secondary:#0f0f1a;--bg-tertiary:#161625;--bg-card:#1a1a2e;--bg-card-hover:#1e1e35;--bg-elevated:#222238;--bg-input:#12121f;--border-subtle:#ffffff0f;--border-muted:#ffffff14;--border-default:#ffffff1a;--border-strong:#ffffff2e;--border-accent:#6366f166;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#64748b;--text-disabled:#334155;--text-inverse:#0a0a14;--accent-purple:#6366f1;--accent-purple-hover:#818cf8;--accent-purple-dim:#6366f126;--accent-blue:#3b82f6;--accent-blue-dim:#3b82f626;--accent-cyan:#06b6d4;--green:#22c55e;--green-dim:#22c55e26;--green-glow:#22c55e4d;--red:#ef4444;--red-dim:#ef444426;--red-glow:#ef44444d;--yellow:#f59e0b;--yellow-dim:#f59e0b26;--yellow-glow:#f59e0b4d;--orange:#f97316;--orange-dim:#f9731626;--gray-cell:#ffffff0a;--row-even:#0a0b0e;--row-odd:#0c0d11;--cell-ac-start:#14532d;--cell-ac-end:#0d3b20;--cell-fb-start:#064e3b;--cell-fb-end:#022c22;--cell-frozen-start:#1e1b4b;--cell-frozen-end:#0f172a;--cell-wa-start:#7f1d1d;--cell-wa-end:#450a0a;--text-on-dark:#1a1a1a;--background:var(--bg-primary);--foreground:var(--text-primary);--gold:gold;--silver:silver;--bronze:#cd7f32;--gold-glow:#ffd70040;--silver-glow:#c0c0c033;--bronze-glow:#cd7f3233;--cf-legendary:red;--cf-gm:red;--cf-im:#ff8c00;--cf-master:#ff8c00;--cf-cm:#a0a;--cf-expert:#00f;--cf-specialist:#03a89e;--cf-pupil:green;--cf-newbie:gray;--cf-unrated:#000;--cf-expert-dark:#69f;--cf-cm-dark:#c6c;--cf-unrated-dark:#94a3b8;--font-display:"Outfit", "Inter", system-ui, -apple-system, sans-serif;--font-sans:"Inter", "Segoe UI", system-ui, -apple-system, sans-serif;--font-mono:"Geist Mono", "JetBrains Mono", "Fira Code", monospace;--font-gaming:"Orbitron", "Rajdhani", sans-serif;--font-academic:"Merriweather", "Georgia", serif;--font-body:var(--font-sans);--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-5xl:3rem;--weight-normal:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--weight-extrabold:800;--weight-black:900;--space-0:0;--space-0-5:.125rem;--space-1:.25rem;--space-1-5:.375rem;--space-2:.5rem;--space-2-5:.625rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-7:1.75rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-14:3.5rem;--space-16:4rem;--space-18:4.5rem;--space-20:5rem;--space-22:5.5rem;--space-24:6rem;--radius-xs:2px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:24px;--radius-3xl:32px;--radius-full:9999px;--shadow-sm:0 1px 3px #0006;--shadow-md:0 4px 12px #00000080;--shadow-lg:0 8px 32px #0009;--shadow-xl:0 16px 48px #000000b3;--shadow-2xl:0 24px 64px #000c;--shadow-glow-purple:0 0 20px #6366f14d;--shadow-glow-green:0 0 20px #22c55e4d;--shadow-glow-gold:0 0 24px #ffd70040;--transition-instant:80ms ease;--transition-fast:.15s ease;--transition-base:.2s ease;--transition-normal:.25s ease;--transition-slow:.4s ease;--transition-spring:cubic-bezier(.34, 1.56, .64, 1);--ease-out-expo:cubic-bezier(.16, 1, .3, 1);--z-base:0;--z-raised:10;--z-dropdown:100;--z-sticky:200;--z-overlay:500;--z-modal:600;--z-toast:700;--z-topmost:999;--header-height:56px;--sidebar-width:340px;--scoreboard-max-width:1440px;--admin-sidebar-width:220px;--row-height:48px;--row-height-compact:36px;--rank-col-width:56px;--handle-col-width:200px;--solved-col-width:72px;--penalty-col-width:88px;--problem-col-width:88px}[data-theme=light]{--bg-primary:#f8fafc;--bg-secondary:#fff;--bg-tertiary:#f1f5f9;--bg-card:#fff;--bg-card-hover:#f8fafc;--bg-elevated:#fff;--bg-input:#f1f5f9;--border-subtle:#00000014;--border-default:#00000026;--border-strong:#00000040;--text-primary:#0f172a;--text-secondary:#334155;--text-muted:#64748b;--text-disabled:#cbd5e1;--cf-expert:#00d;--cf-expert-dark:#00d;--cf-unrated-dark:#475569}[data-theme=projector]{--bg-primary:#000;--bg-secondary:#111;--bg-tertiary:#1a1a1a;--bg-card:#0a0a0a;--bg-card-hover:#141414;--bg-elevated:#1a1a1a;--border-subtle:#ffffff1a;--border-default:#fff3;--text-primary:#fff;--text-secondary:#e0e0e0;--text-muted:#aaa;--accent-purple:#88f;--green:#0f0;--red:#f44;--row-height:60px;--text-base:1.1rem}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;font-size:16px}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.font-mono{font-family:var(--font-mono)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--bg-elevated);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}:focus-visible{outline:2px solid var(--accent-purple);outline-offset:2px;border-radius:var(--radius-sm)}
html,body{max-width:100vw;height:100%;overflow-x:hidden}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);min-height:100vh;transition:background-color var(--transition-normal), color var(--transition-normal);flex-direction:column;display:flex}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);letter-spacing:-.025em}code,kbd,samp,pre,table,.font-mono{font-variant-numeric:tabular-nums}@media (prefers-color-scheme:dark){html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}a{color:var(--accent-purple);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--accent-purple-hover)}@keyframes pulse{0%,to{box-shadow:0 0 0 0 var(--green-glow)}50%{box-shadow:0 0 0 5px #0000}}@keyframes shimmer{0%{background-position:200%}to{background-position:-200%}}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.page-enter{animation:fadeIn .2s var(--ease-out-expo)}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.4}}.skeleton{background:var(--bg-elevated);border-radius:var(--radius-md);animation:1.5s ease-in-out infinite skeleton-pulse}@keyframes glow-pulse{0%,to{box-shadow:0 0 8px #6366f133}50%{box-shadow:0 0 20px #6366f180}}@keyframes float-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes first-blood-flash{0%{background:#ef444400}15%{background:#ef44444d}40%{background:#ef444426}60%{background:#ef44444d}to{background:#ef444400}}::selection{background-color:var(--accent-purple-dim);color:var(--text-primary)}@keyframes page-fade-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes card-pop{0%{opacity:0;transform:scale(.96)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes slide-in-left{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}@keyframes slide-in-right{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}.animate-page{animation:page-fade-up .35s var(--ease-out-expo) both}.animate-card{animation:card-pop .28s var(--ease-out-expo) both}.stagger>*{animation:page-fade-up .3s var(--ease-out-expo) both}.stagger>:first-child{animation-delay:0s}.stagger>:nth-child(2){animation-delay:50ms}.stagger>:nth-child(3){animation-delay:.1s}.stagger>:nth-child(4){animation-delay:.15s}.stagger>:nth-child(5){animation-delay:.2s}.stagger>:nth-child(6){animation-delay:.25s}.stagger>:nth-child(7){animation-delay:.3s}.stagger>:nth-child(8){animation-delay:.35s}.stagger>:nth-child(n+9){animation-delay:.4s}.hover-lift{transition:transform var(--transition-fast), box-shadow var(--transition-fast)}.hover-lift:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}.hover-glow{transition:box-shadow var(--transition-fast)}.hover-glow:hover{box-shadow:var(--shadow-glow-purple)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent-purple);outline-offset:2px;border-radius:var(--radius-sm)}html{scroll-behavior:smooth}
