@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(../media/2c55a0e60120577a-s.0bjc5tiuqdqro.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.0m6w47a4e5dy9.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(../media/ad66f9afd8947f86-s.11u06r12fd6v_.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(../media/5476f68d60460930-s.0wxq9webf.ew4.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.067x_6k0k23tk.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(../media/1bffadaabf893a1e-s.16ipb6fqu393i.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2c55a0e60120577a-s.0bjc5tiuqdqro.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.0m6w47a4e5dy9.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ad66f9afd8947f86-s.11u06r12fd6v_.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/5476f68d60460930-s.0wxq9webf.ew4.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.067x_6k0k23tk.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/1bffadaabf893a1e-s.16ipb6fqu393i.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/2c55a0e60120577a-s.0bjc5tiuqdqro.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.0m6w47a4e5dy9.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/ad66f9afd8947f86-s.11u06r12fd6v_.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5476f68d60460930-s.0wxq9webf.ew4.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.067x_6k0k23tk.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/1bffadaabf893a1e-s.16ipb6fqu393i.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2c55a0e60120577a-s.0bjc5tiuqdqro.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.0m6w47a4e5dy9.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/ad66f9afd8947f86-s.11u06r12fd6v_.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/5476f68d60460930-s.0wxq9webf.ew4.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.067x_6k0k23tk.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1bffadaabf893a1e-s.16ipb6fqu393i.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/2c55a0e60120577a-s.0bjc5tiuqdqro.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.0m6w47a4e5dy9.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/ad66f9afd8947f86-s.11u06r12fd6v_.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/5476f68d60460930-s.0wxq9webf.ew4.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.067x_6k0k23tk.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/1bffadaabf893a1e-s.16ipb6fqu393i.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(../media/2c55a0e60120577a-s.0bjc5tiuqdqro.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.0m6w47a4e5dy9.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(../media/ad66f9afd8947f86-s.11u06r12fd6v_.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(../media/5476f68d60460930-s.0wxq9webf.ew4.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.067x_6k0k23tk.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(../media/1bffadaabf893a1e-s.16ipb6fqu393i.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:900;font-display:swap;src:url(../media/2c55a0e60120577a-s.0bjc5tiuqdqro.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.0m6w47a4e5dy9.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.11u06r12fd6v_.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:900;font-display:swap;src:url(../media/5476f68d60460930-s.0wxq9webf.ew4.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.067x_6k0k23tk.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.16ipb6fqu393i.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_2fcf6573-module__qf7wrG__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_2fcf6573-module__qf7wrG__variable{--font-inter:"Inter", "Inter Fallback"}
:root{--surface:#f7fafe;--surface-low:#f1f4f8;--surface-card:#fff;--surface-high:#ebeef2;--surface-highest:#e0e3e7;--text-primary:#181c1f;--text-secondary:#424753;--text-muted:#727785;--text-faint:#9ca3af;--primary:#0b69c7;--primary-hover:#08529e;--primary-light:#0b69c714;--primary-lighter:#0b69c70a;--rating-newbie:gray;--rating-pupil:green;--rating-specialist:#03a89e;--rating-expert:#00f;--rating-cm:#a0a;--rating-master:#ff8c00;--rating-im:#ff8c00;--rating-gm:red;--rating-igm:red;--rating-lgm:red;--success:#059669;--success-light:#05966914;--warning:#d97706;--warning-light:#d9770614;--danger:#dc2626;--danger-light:#dc262614;--info:#0891b2;--info-light:#0891b214;--cat-algebra:#4f46e5;--cat-ds:#0891b2;--cat-dp:#d97706;--cat-graphs:#059669;--cat-combi:#dc2626;--cat-geo:#7c3aed;--cat-strings:#0d9488;--border:#c2c6d64d;--border-hover:#0366d64d;--border-strong:#c2c6d680;--shadow-sm:0 1px 3px #0000000a;--shadow-md:0 4px 16px #0000000f;--shadow-lg:0 8px 32px #00000014;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-12:48px;--sp-16:64px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-full:9999px;--text-xs:11px;--text-sm:12px;--text-base:13px;--text-md:14px;--text-lg:16px;--text-xl:20px;--text-2xl:24px;--text-3xl:30px;--accent:var(--primary);--accent-hover:var(--primary-hover);--card-pad:18px 20px}[data-theme=dark]{--surface:#0a0c10;--surface-low:#0f1218;--surface-card:#151a22;--surface-high:#1c2330;--surface-highest:#232c3d;--text-primary:#eef2f7;--text-secondary:#a8b3c4;--text-muted:#6b7a91;--text-faint:#404d5e;--primary:#58a6ff;--primary-hover:#79c0ff;--primary-light:#58a6ff1f;--primary-lighter:#58a6ff0f;--rating-newbie:#9aa0a6;--rating-pupil:#3ecf5a;--rating-specialist:#2bd4c4;--rating-expert:#4d8eff;--rating-cm:#d24dd2;--rating-master:#ffa733;--rating-im:#ffb84d;--rating-gm:#ff4d4d;--rating-igm:#f33;--rating-lgm:#ff1a1a;--success:#34d399;--success-light:#34d3991a;--warning:#fbbf24;--warning-light:#fbbf241a;--danger:#f87171;--danger-light:#f871711a;--info:#38bdf8;--info-light:#38bdf81a;--cat-algebra:#818cf8;--cat-ds:#38bdf8;--cat-dp:#fbbf24;--cat-graphs:#34d399;--cat-combi:#f87171;--cat-geo:#a78bfa;--cat-strings:#2dd4bf;--border:#4d9fff14;--border-hover:#4d9fff4d;--border-strong:#4d9fff24;--shadow-sm:0 1px 3px #00000073;--shadow-md:0 4px 16px #00000073;--shadow-lg:0 8px 32px #0000008c;--glow-primary:0 0 0 1px #589fff2e;--glow-success:0 0 0 1px #34d3992e;--glow-danger:0 0 0 1px #f871712e}[data-theme=dark] body{background:var(--surface);color:var(--text-primary);background-image:radial-gradient(80% 50% at 50% -10%,#4d9fff0f 0%,#0000 60%)}[data-theme=dark] ::selection{color:var(--text-primary);background:#4d9fff40}[data-theme=dark] ::-webkit-scrollbar-track{background:var(--surface-low)}[data-theme=dark] ::-webkit-scrollbar-thumb{background:var(--surface-highest);border-radius:3px}[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:var(--text-faint)}@theme inline{--color-surface: var(--surface); --color-surface-low: var(--surface-low); --color-surface-card: var(--surface-card); --color-surface-high: var(--surface-high); --color-primary: var(--primary); --color-primary-hover: var(--primary-hover); --color-primary-light: var(--primary-light); --color-text-primary: var(--text-primary); --color-text-secondary: var(--text-secondary); --color-text-muted: var(--text-muted); --color-success: var(--success); --color-warning: var(--warning); --color-danger: var(--danger); --color-border: var(--border); --animate-fade-in: fade-in .5s ease-out; --animate-slide-up: slide-up .4s ease-out; @keyframes fade-in { from { opacity: 0; } to { opacity: 1; } } @keyframes slide-up { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } } @keyframes pulse-dot { 0%, 100% { opacity: 1; } 50% { opacity: .4; } } @keyframes shimmer { 0% { background-position: -200% 0; } 100% { background-position: 200% 0; } }}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--surface);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px;line-height:1.6;overflow-x:hidden}::selection{color:var(--text-primary);background:#0366d626}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--surface)}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}a{color:inherit;text-decoration:none}.n-card{background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--card-pad);transition:border-color .2s,box-shadow .2s}.n-card--interactive{cursor:pointer}.n-card--interactive:hover{border-color:var(--border-hover);box-shadow:var(--shadow-sm)}.n-card--pad-sm{padding:12px 14px}.n-card--pad-lg{padding:24px 28px}.n-card--flush{padding:0}.n-btn,.n-btn-primary,.n-btn-secondary{font-family:Inter,sans-serif;font-size:var(--text-md);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:9px 18px;font-weight:600;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.n-btn--primary,.n-btn-primary{background:var(--primary);color:#fff}.n-btn--primary:hover,.n-btn-primary:hover{background:var(--primary-hover)}.n-btn--secondary,.n-btn-secondary{background:var(--surface-card);color:var(--text-primary);border-color:var(--border-strong)}.n-btn--secondary:hover,.n-btn-secondary:hover{border-color:var(--primary);color:var(--primary)}.n-btn--ghost{color:var(--text-secondary);background:0 0}.n-btn--ghost:hover{background:var(--surface-high);color:var(--text-primary)}.n-btn--danger{background:var(--danger);color:#fff}.n-btn--danger:hover{filter:brightness(.95)}.n-btn--sm{font-size:var(--text-sm);padding:6px 12px}.n-btn--lg{font-size:var(--text-lg);padding:12px 24px}.n-btn:disabled,.n-btn-primary:disabled,.n-btn-secondary:disabled{opacity:.5;cursor:not-allowed}.n-table{border-collapse:collapse;width:100%;font-family:Inter,sans-serif}.n-table thead{background:var(--surface-low)}.n-table th{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);text-align:left;border-bottom:1px solid var(--border-strong);padding:10px 14px;font-size:11px;font-weight:700}.n-table td{border-bottom:1px solid var(--border);color:var(--text-secondary);padding:12px 14px;font-size:14px}.n-table tbody tr{transition:background .1s}.n-table tbody tr:hover{background:var(--primary-lighter)}.n-tag{background:var(--surface-low);border:1px solid var(--border);color:var(--text-secondary);border-radius:var(--radius-full);align-items:center;padding:4px 12px;font-size:12px;font-weight:600;display:inline-flex}.n-badge{border-radius:var(--radius-full);align-items:center;padding:2px 10px;font-size:11px;font-weight:700;display:inline-flex}.n-badge--easy{background:var(--success-light);color:var(--success)}.n-badge--medium{background:var(--warning-light);color:var(--warning)}.n-badge--hard{background:var(--danger-light);color:var(--danger)}.n-progress-track{background:var(--surface-high);border-radius:var(--radius-full);width:100%;height:8px;overflow:hidden}.n-progress-fill{background:linear-gradient(90deg, var(--primary), #60a5fa);border-radius:var(--radius-full);height:100%;transition:width .6s cubic-bezier(.34,1.56,.64,1)}.n-nav-item{color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:500;transition:color .15s,background .15s;display:flex}.n-nav-item:hover{color:var(--text-primary);background:var(--primary-lighter)}.n-nav-item--active{color:var(--primary);background:var(--primary-light);font-weight:600}.app-sidebar{z-index:50;height:100vh;position:sticky;top:0}@media (max-width:1023px){.app-sidebar{height:100vh;box-shadow:var(--shadow-lg);transition:transform .22s;position:fixed;top:0;left:0;transform:translate(-100%)}.app-sidebar--open{transform:translate(0)}}@media (min-width:1024px){.sidebar-toggle{display:none!important}}.heat-0{background:var(--surface-high)}.heat-1{background:#0366d61f}.heat-2{background:#0366d647}.heat-3{background:#0366d680}.heat-4{background:#0366d6bf}.n-input{background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);outline:none;padding:10px 14px;font-family:Inter,sans-serif;font-size:14px;transition:border-color .2s,box-shadow .2s}.n-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #0366d61a}.n-input::placeholder{color:var(--text-faint)}.n-section-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:12px;font-size:11px;font-weight:700}.material-symbols-outlined{font-variation-settings:"FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24}.n-glass{-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border);background:#ffffffd1}.n-skeleton{background:linear-gradient(90deg, var(--surface-high) 25%, var(--surface-low) 50%, var(--surface-high) 75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.5s infinite shimmer}@media (max-width:1024px){.layout-aside{display:none!important}}@media (max-width:768px){.topbar-row1{padding:10px 16px!important}.topbar-username{display:none!important}.topbar-nav-scroll{-ms-overflow-style:none;scrollbar-width:none;gap:0!important;padding:0 12px!important}.topbar-nav-scroll::-webkit-scrollbar{display:none}.topbar-nav-scroll a{padding:8px 10px!important;font-size:12px!important}.nav-label{display:none!important}.layout-wrapper{gap:0!important;padding-top:96px!important}.layout-main{gap:16px!important;padding:16px 14px 80px!important}.stats-grid-4{grid-template-columns:repeat(2,1fr)!important;gap:10px!important}.profile-header{flex-direction:column!important;align-items:flex-start!important;gap:12px!important}.profile-header-actions{justify-content:flex-start!important;width:100%!important;margin-left:0!important}.friend-card-actions{flex-direction:column!important;gap:6px!important}.chart-container{height:250px!important}.footer-links{flex-wrap:wrap!important;gap:16px!important}.notif-dropdown{width:calc(100vw - 32px)!important;max-height:60vh!important;right:-60px!important}.dash-greeting h1{font-size:22px!important}.n-card{border-radius:var(--radius-md)}.heatmap-container{-webkit-overflow-scrolling:touch;overflow-x:auto!important}}@media (max-width:480px){.topbar-row1{padding:8px 12px!important}.topbar-logo-text{display:none!important}.layout-main{gap:12px!important;padding:12px 10px 80px!important}.stats-grid-4{grid-template-columns:1fr!important}.n-card{border-radius:var(--radius-sm)}.topbar-nav-scroll a{padding:8px!important}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes xp-float{0%{opacity:1;transform:translateY(0)scale(1)}70%{opacity:1;transform:translateY(-60px)scale(1.2)}to{opacity:0;transform:translateY(-90px)scale(.8)}}@keyframes level-glow{0%,to{box-shadow:0 0 20px #58a6ff4d}50%{box-shadow:0 0 40px #58a6ff99,0 0 80px #58a6ff33}}@keyframes confetti-fall{0%{opacity:1;transform:translateY(-10px)rotate(0)}to{opacity:0;transform:translateY(100vh)rotate(720deg)}}@keyframes toast-enter{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes toast-exit{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}.xp-float-anim{pointer-events:none;z-index:9999;color:var(--warning);text-shadow:0 2px 8px #d9770666;font-size:24px;font-weight:800;animation:1.5s ease-out forwards xp-float;position:fixed}.level-up-glow{animation:2s ease-in-out infinite level-glow}.toast-container{z-index:10000;pointer-events:none;flex-direction:column;gap:10px;display:flex;position:fixed;top:80px;right:24px}.toast-item{pointer-events:all;background:var(--surface-card);border:1px solid var(--border);box-shadow:var(--shadow-lg);border-radius:12px;align-items:center;gap:12px;min-width:300px;max-width:420px;padding:14px 20px;font-family:Inter,sans-serif;animation:.3s ease-out toast-enter;display:flex}.toast-item.exiting{animation:.3s ease-in forwards toast-exit}.cmd-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9000;background:#00000080;justify-content:center;align-items:flex-start;padding-top:20vh;display:flex;position:fixed;inset:0}.cmd-modal{background:var(--surface-card);border:1px solid var(--border);width:560px;max-height:420px;box-shadow:var(--shadow-lg);border-radius:16px;animation:.2s ease-out slide-up;overflow:hidden}.cmd-input{border:none;border-bottom:1px solid var(--border);width:100%;color:var(--text-primary);background:0 0;outline:none;padding:16px 20px;font-family:Inter,sans-serif;font-size:16px}.cmd-input::placeholder{color:var(--text-faint)}.cmd-results{max-height:340px;padding:8px;overflow-y:auto}.cmd-item{cursor:pointer;color:var(--text-secondary);border-radius:10px;align-items:center;gap:12px;padding:10px 14px;font-size:14px;transition:background .1s;display:flex}.cmd-item:hover,.cmd-item.active{background:var(--primary-light);color:var(--primary)}.cmd-item .cmd-shortcut{color:var(--text-faint);margin-left:auto;font-family:monospace;font-size:11px}.session-timer{background:var(--surface-card);border:1px solid var(--border);font-variant-numeric:tabular-nums;color:var(--text-primary);border-radius:10px;align-items:center;gap:8px;padding:8px 16px;font-size:18px;font-weight:700;display:flex}.session-timer.warning{border-color:var(--warning);color:var(--warning)}.session-timer.danger{border-color:var(--danger);color:var(--danger);animation:1s ease-in-out infinite pulse-dot}.onboarding-step{animation:.4s ease-out slide-up}.onboarding-option{background:var(--surface-card);border:2px solid var(--border);cursor:pointer;border-radius:14px;padding:20px 24px;transition:border-color .2s,box-shadow .2s,transform .2s}.onboarding-option:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 4px 20px #0366d626}.onboarding-option.selected{border-color:var(--primary);background:var(--primary-light)}.error-boundary{text-align:center;background:var(--danger-light);border:1px solid var(--danger);border-radius:16px;margin:16px;padding:48px 32px}.badge-card{position:relative}.badge-card:hover{z-index:10;transform:translateY(-3px);opacity:1!important}.badge-card:hover .badge-tooltip{opacity:1!important;pointer-events:auto!important;transform:translate(-50%)translateY(-4px)!important}[data-theme=dark] .n-card{background:var(--surface-card);border:1px solid var(--border);box-shadow:inset 0 1px 0 #ffffff0a, var(--shadow-sm)}[data-theme=dark] .n-card:hover{border-color:var(--border-hover);box-shadow:inset 0 1px 0 #ffffff0f, var(--shadow-md), 0 0 0 1px #4d9fff14}[data-theme=dark] .n-card--elevated{background:var(--surface-high);border-color:var(--border-strong)}[data-theme=dark] .n-btn-primary{background:linear-gradient(135deg, #2563eb, var(--primary));color:#fff;text-shadow:0 0 20px #fff3;box-shadow:0 2px 8px #4d9fff4d,inset 0 1px #ffffff1f}[data-theme=dark] .n-btn-primary:hover{filter:brightness(1.08);box-shadow:0 4px 20px #4d9fff73,0 0 40px #4d9fff26,inset 0 1px #ffffff29}[data-theme=dark] .n-btn-secondary{border-color:var(--border-strong);color:var(--primary);background:#4d9fff0f}[data-theme=dark] .n-btn-secondary:hover{background:var(--primary-light);border-color:#4d9fff66;box-shadow:0 0 16px #4d9fff1a}[data-theme=dark] .n-btn-danger{color:#fff;background:linear-gradient(135deg,#dc2626,#f87171);box-shadow:0 2px 8px #f871714d}[data-theme=dark] .n-btn-danger:hover{box-shadow:0 4px 20px #f8717166}[data-theme=dark] .n-table thead{background:var(--surface-low)}[data-theme=dark] .n-table th{color:var(--text-muted);border-bottom:1px solid var(--border-strong);letter-spacing:.1em}[data-theme=dark] .n-table td{color:var(--text-secondary);border-bottom:1px solid #4d9fff0f}[data-theme=dark] .n-table tbody tr:hover{background:#4d9fff0d}[data-theme=dark] .n-table tbody tr.rank-gold{background:#fbbf240d}[data-theme=dark] .n-table tbody tr.rank-silver{background:#94a3b80d}[data-theme=dark] .n-table tbody tr.rank-bronze{background:#b4783c0d}[data-theme=dark] .n-tag{background:var(--surface-high);border-color:var(--border-strong);color:var(--text-secondary)}[data-theme=dark] .n-tag:hover{border-color:var(--border-hover);color:var(--primary)}[data-theme=dark] .n-badge--easy{color:#34d399;background:#34d3991f;box-shadow:0 0 8px #34d39926}[data-theme=dark] .n-badge--medium{color:#fbbf24;background:#fbbf241f;box-shadow:0 0 8px #fbbf2426}[data-theme=dark] .n-badge--hard{color:#f87171;background:#f871711f;box-shadow:0 0 8px #f8717126}[data-theme=dark] .n-progress-track{background:var(--surface-highest);box-shadow:inset 0 1px 3px #00000080}[data-theme=dark] .n-progress-fill{background:linear-gradient(90deg,#2563eb,#4d9fff,#93c5fd);box-shadow:0 0 10px #4d9fff66}[data-theme=dark] .n-nav-item{color:var(--text-muted)}[data-theme=dark] .n-nav-item:hover{color:var(--text-primary);background:#4d9fff12}[data-theme=dark] .n-nav-item--active{color:var(--primary);background:#4d9fff1f;position:relative}[data-theme=dark] .n-nav-item--active:before{content:"";background:var(--primary);border-radius:0 2px 2px 0;width:3px;height:50%;position:absolute;top:25%;left:0;box-shadow:0 0 8px #4d9fff99}[data-theme=dark] .n-glass{-webkit-backdrop-filter:blur(24px)saturate(1.4);border-bottom:1px solid var(--border);background:#0a0c10e0;box-shadow:0 1px #4d9fff0f,0 4px 20px #0006}[data-theme=dark] .heat-0{background:var(--surface-high)}[data-theme=dark] .heat-1{background:#4d9fff26}[data-theme=dark] .heat-2{background:#4d9fff59}[data-theme=dark] .heat-3{background:#4d9fff99;box-shadow:0 0 6px #4d9fff4d}[data-theme=dark] .heat-4{background:#4d9fffd9;box-shadow:0 0 10px #4d9fff80}[data-theme=dark] .n-input{background:var(--surface-low);border-color:var(--border-strong);color:var(--text-primary);box-shadow:inset 0 1px 3px #0000004d}[data-theme=dark] .n-input:focus{background:var(--surface-card);border-color:var(--primary);box-shadow:inset 0 1px 3px #0003,0 0 0 3px #4d9fff26,0 0 20px #4d9fff14}[data-theme=dark] .n-input::placeholder{color:var(--text-faint)}[data-theme=dark] .n-section-label{color:var(--text-muted)}[data-theme=dark] .n-skeleton{background:linear-gradient(90deg, var(--surface-high) 25%, var(--surface-highest) 50%, var(--surface-high) 75%);background-size:200% 100%;animation:1.8s ease-in-out infinite shimmer}[data-theme=dark] .toast-item{background:var(--surface-high);border-color:var(--border-strong);box-shadow:var(--shadow-lg), inset 0 1px 0 #ffffff0a;color:var(--text-primary)}[data-theme=dark] .toast-item--success{border-left:3px solid var(--success);box-shadow:var(--shadow-lg), var(--glow-success)}[data-theme=dark] .toast-item--error{border-left:3px solid var(--danger);box-shadow:var(--shadow-lg), var(--glow-danger)}[data-theme=dark] .toast-item--info{border-left:3px solid var(--primary);box-shadow:var(--shadow-lg), 0 0 20px #4d9fff1f}[data-theme=dark] .cmd-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000b3}[data-theme=dark] .cmd-modal{background:var(--surface-card);border-color:var(--border-strong);box-shadow:var(--shadow-lg), 0 0 0 1px #4d9fff14, 0 0 80px #4d9fff0f}[data-theme=dark] .cmd-input{border-bottom-color:var(--border-strong);color:var(--text-primary);background:0 0}[data-theme=dark] .cmd-item{color:var(--text-secondary)}[data-theme=dark] .cmd-item:hover,[data-theme=dark] .cmd-item.active{color:var(--primary);background:#4d9fff1a}[data-theme=dark] .cmd-item .cmd-shortcut{color:var(--text-faint);background:var(--surface-highest);border:1px solid var(--border);border-radius:4px;padding:2px 6px}[data-theme=dark] .session-timer{background:var(--surface-card);border-color:var(--border-strong);color:var(--text-primary);box-shadow:inset 0 1px #ffffff0a}[data-theme=dark] .session-timer.warning{border-color:var(--warning);color:var(--warning);box-shadow:0 0 12px #fbbf2426}[data-theme=dark] .session-timer.danger{border-color:var(--danger);color:var(--danger);animation:1s ease-in-out infinite pulse-dot;box-shadow:0 0 16px #f8717133}[data-theme=dark] .onboarding-option{background:var(--surface-card);border-color:var(--border-strong)}[data-theme=dark] .onboarding-option:hover{border-color:var(--primary);background:#4d9fff0a;box-shadow:0 4px 20px #0006,0 0 30px #4d9fff1a}[data-theme=dark] .onboarding-option.selected{border-color:var(--primary);box-shadow:0 0 0 1px #4d9fff33, var(--glow-primary);background:#4d9fff14}[data-theme=dark] .error-boundary{background:#f871710f;border-color:#f871714d;box-shadow:0 0 40px #f871710f}[data-theme=dark] .badge-tooltip{color:var(--text-primary);box-shadow:var(--shadow-lg);background:var(--surface-highest)!important;border:1px solid var(--border-strong)!important}[data-theme=dark] .badge-tooltip>div:first-child{background:var(--surface-highest)!important;border-color:var(--border-strong)!important}[data-theme=dark] .xp-float-anim{color:#fbbf24;text-shadow:0 0 20px #fbbf2499,0 2px 8px #00000080}[data-theme=dark] .level-up-glow{animation:2s ease-in-out infinite level-glow-dark}@keyframes level-glow-dark{0%,to{box-shadow:0 0 20px #4d9fff33}50%{box-shadow:0 0 40px #4d9fff80,0 0 80px #4d9fff33,0 0 120px #4d9fff14}}[data-theme=dark] .n-glow-primary{box-shadow:var(--glow-primary)}[data-theme=dark] .n-glow-success{box-shadow:var(--glow-success)}[data-theme=dark] .n-glow-danger{box-shadow:var(--glow-danger)}[data-theme=dark] .n-frosted{-webkit-backdrop-filter:blur(20px)saturate(1.2);border:1px solid var(--border-strong);background:#0f1218eb}[data-theme=dark] .n-divider{background:linear-gradient(90deg, transparent, var(--border-strong) 30%, #4d9fff26 50%, var(--border-strong) 70%, transparent);border:none;height:1px}[data-theme=dark] .n-stat-value{color:var(--text-primary);text-shadow:0 0 30px #4d9fff26}[data-theme=dark] .cat-dot-algebra{box-shadow:0 0 6px var(--cat-algebra)}[data-theme=dark] .cat-dot-ds{box-shadow:0 0 6px var(--cat-ds)}[data-theme=dark] .cat-dot-dp{box-shadow:0 0 6px var(--cat-dp)}[data-theme=dark] .cat-dot-graphs{box-shadow:0 0 6px var(--cat-graphs)}[data-theme=dark] .cat-dot-combi{box-shadow:0 0 6px var(--cat-combi)}[data-theme=dark] .cat-dot-geo{box-shadow:0 0 6px var(--cat-geo)}[data-theme=dark] .cat-dot-strings{box-shadow:0 0 6px var(--cat-strings)}[data-theme=dark] .n-code-block{border:1px solid var(--border-strong);border-radius:var(--radius-md);background:#0a0c10;box-shadow:inset 0 0 40px #0000004d}@media (max-width:768px){.analysis-two-col{grid-template-columns:1fr!important}}.grid-2-collapse{grid-template-columns:1fr 1fr;gap:24px;display:grid}.scroll-x{-webkit-overflow-scrolling:touch;overflow-x:auto}@media (max-width:768px){.grid-2-collapse{grid-template-columns:1fr;gap:16px}.dash-stats{grid-template-columns:repeat(2,1fr)!important}.analyzer-tabs{-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto}.hero-analyze{flex-direction:column}.hero-analyze button{justify-content:center;width:100%}.hero-cta{flex-direction:column;width:100%;max-width:480px}.hero-cta button{justify-content:center;width:100%}table{-webkit-overflow-scrolling:touch;white-space:nowrap;width:100%;display:block;overflow-x:auto}}
