@import "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600&family=Syne:wght@400;500;600;700;800&family=Inter:wght@300;400;500;600&display=swap";:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-base:#0d0d0f;--bg-surface:#141416;--bg-elevated:#1a1a1e;--bg-hover:#202026;--bg-active:#26262e;--border:#2a2a32;--border-light:#33333d;--text-primary:#e8e8f0;--text-secondary:#8888a0;--text-muted:#55556a;--accent:#7c6af5;--accent-glow:#7c6af540;--accent-dim:#7c6af51f;--green:#3dd68c;--green-dim:#3dd68c1f;--red:#f87171;--red-dim:#f871711f;--amber:#fbbf24;--amber-dim:#fbbf241f;--blue:#60a5fa;--blue-dim:#60a5fa1f;--easy:#3dd68c;--medium:#fbbf24;--hard:#f87171;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--font-ui:"Inter", sans-serif;--font-head:"Syne", sans-serif;--font-mono:"JetBrains Mono", monospace;--transition:.15s ease}html,body,#root{background:var(--bg-base);height:100%;color:var(--text-primary);font-family:var(--font-ui);-webkit-font-smoothing:antialiased}.app-root{background:var(--bg-base);min-height:100vh}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.btn{border-radius:var(--radius-sm);font-family:var(--font-ui);cursor:pointer;transition:background var(--transition), border-color var(--transition), transform .1s;white-space:nowrap;border:1px solid #0000;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:500;display:inline-flex}.btn:active{transform:scale(.97)}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover{background:#8f7ef7}.btn-ghost{color:var(--text-secondary);border-color:var(--border);background:0 0}.btn-ghost:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-light)}.btn-success{background:var(--green-dim);color:var(--green);border-color:#3dd68c4d}.btn-success:hover{background:#3dd68c33}.badge{letter-spacing:.03em;text-transform:uppercase;border-radius:100px;align-items:center;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.badge-easy{color:var(--easy);background:var(--green-dim)}.badge-medium{color:var(--medium);background:var(--amber-dim)}.badge-hard{color:var(--hard);background:var(--red-dim)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes slideIn{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:none}}.fade-in{animation:.3s both fadeIn}.slide-in{animation:.25s both slideIn}
