@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(../media/a342834df7752944-s.1ypl14jhz9yyw.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:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(../media/d3fe2f289711ac3f-s.p.2g9li78_0_it5.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(../media/58c4895d0a0ef7cc-s.00u3xrku2lqty.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:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(../media/bfc7db5c00d21bc5-s.2vepgg3wcdr2q.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:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6ab0db14f70d8ed6-s.2ttjmmx-9gnz1.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(../media/a343f882a40d2cc9-s.p.3259ncl47-hqj.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:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(../media/a342834df7752944-s.1ypl14jhz9yyw.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:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(../media/d3fe2f289711ac3f-s.p.2g9li78_0_it5.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(../media/58c4895d0a0ef7cc-s.00u3xrku2lqty.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:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(../media/bfc7db5c00d21bc5-s.2vepgg3wcdr2q.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:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(../media/6ab0db14f70d8ed6-s.2ttjmmx-9gnz1.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(../media/a343f882a40d2cc9-s.p.3259ncl47-hqj.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:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(../media/a342834df7752944-s.1ypl14jhz9yyw.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:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(../media/d3fe2f289711ac3f-s.p.2g9li78_0_it5.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(../media/58c4895d0a0ef7cc-s.00u3xrku2lqty.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:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(../media/bfc7db5c00d21bc5-s.2vepgg3wcdr2q.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:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(../media/6ab0db14f70d8ed6-s.2ttjmmx-9gnz1.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(../media/a343f882a40d2cc9-s.p.3259ncl47-hqj.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:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(../media/a342834df7752944-s.1ypl14jhz9yyw.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:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(../media/d3fe2f289711ac3f-s.p.2g9li78_0_it5.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(../media/58c4895d0a0ef7cc-s.00u3xrku2lqty.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:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(../media/bfc7db5c00d21bc5-s.2vepgg3wcdr2q.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:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(../media/6ab0db14f70d8ed6-s.2ttjmmx-9gnz1.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(../media/a343f882a40d2cc9-s.p.3259ncl47-hqj.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:Manrope Fallback;src:local(Arial);ascent-override:103.31%;descent-override:29.07%;line-gap-override:0.0%;size-adjust:103.19%}.SXOLVG_className{font-family:Manrope,Manrope Fallback;font-style:normal}.SXOLVG_variable{--font-manrope:"Manrope", "Manrope Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/04c5164763c40239-s.1zakzi6q17d4o.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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/26f284dcc38c84c0-s.p.2htf8h-pf57mm.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/7e7f32a39836f228-s.3skwie1wjplzh.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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fa39153a3fc630ba-s.3zhbgtelpa5ua.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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6a5386fd6038edbe-s.3vf5yzuqk3fsd.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/051742360c26797e-s.p.1wmoa0e_blxrz.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:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/04c5164763c40239-s.1zakzi6q17d4o.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:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/26f284dcc38c84c0-s.p.2htf8h-pf57mm.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/7e7f32a39836f228-s.3skwie1wjplzh.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:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/fa39153a3fc630ba-s.3zhbgtelpa5ua.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:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/6a5386fd6038edbe-s.3vf5yzuqk3fsd.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/051742360c26797e-s.p.1wmoa0e_blxrz.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:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/04c5164763c40239-s.1zakzi6q17d4o.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:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/26f284dcc38c84c0-s.p.2htf8h-pf57mm.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/7e7f32a39836f228-s.3skwie1wjplzh.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:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/fa39153a3fc630ba-s.3zhbgtelpa5ua.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:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/6a5386fd6038edbe-s.3vf5yzuqk3fsd.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/051742360c26797e-s.p.1wmoa0e_blxrz.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:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.uBhHEq_className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.uBhHEq_variable{--font-jetbrains:"JetBrains Mono", "JetBrains Mono Fallback"}
:root{--bg:#f7f4ee;--paper:#fffdf9;--ink:#1c2230;--ink-2:#4a5263;--ink-3:#7b8394;--line:#e6e0d4;--accent:#0e7a55;--accent-soft:#e3f3ec;--accent-2:#c2410c;--accent-2-soft:#fdeee5;--gold:#b7791f;--gold-soft:#fbf1dc;--blue:#1d5fd1;--blue-soft:#e6eefc;--red:#c81e3a;--red-soft:#fde8ec;--code-bg:#1b2130;--code-ink:#e6e9ef;--code-line:#2a3245;--c-key:#c792ea;--c-str:#a5d6a7;--c-num:#f9c97c;--c-com:#7f8aa3;--c-fn:#82aaff;--c-op:#89ddff;--on-accent:#fff;--inv-bg:var(--ink);--inv-ink:var(--bg);--violet:#7c3aed;--violet-ink:#8b5cf6;--anat-1:#9b5bd1;--code-btn:#2a3245;--code-btn-hover:#343d54;--code-dot:#3a4258;--code-edge:transparent;--out-bg:#121722;--out-line:#232a3a;--shadow:0 1px 2px #1c22300a, 0 8px 24px #1c22300f;--radius:14px;--font:"Manrope", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0f1613;--paper:#151e1a;--ink:#e5ece7;--ink-2:#b2beb7;--ink-3:#8b9891;--line:#26332d;--accent:#3ccf95;--accent-soft:#123127;--accent-2:#ff8a50;--accent-2-soft:#33221a;--gold:#f0b54a;--gold-soft:#30281a;--blue:#7aa7ff;--blue-soft:#172640;--red:#ff6b81;--red-soft:#371c23;--code-bg:#0a0f0d;--code-line:#26332d;--on-accent:#06231a;--inv-bg:#17382b;--inv-ink:#eaf3ee;--violet:#9f7aea;--violet-ink:#b9a3ff;--anat-1:#c9a0f0;--code-btn:#1f2b25;--code-btn-hover:#2a3a32;--code-dot:#33443b;--code-edge:#2f4137;--out-bg:#070b09;--out-line:#1c2823;--shadow:0 1px 2px #0000004d, 0 8px 24px #00000040}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0f1613;--paper:#151e1a;--ink:#e5ece7;--ink-2:#b2beb7;--ink-3:#8b9891;--line:#26332d;--accent:#3ccf95;--accent-soft:#123127;--accent-2:#ff8a50;--accent-2-soft:#33221a;--gold:#f0b54a;--gold-soft:#30281a;--blue:#7aa7ff;--blue-soft:#172640;--red:#ff6b81;--red-soft:#371c23;--code-bg:#0a0f0d;--code-line:#26332d;--on-accent:#06231a;--inv-bg:#17382b;--inv-ink:#eaf3ee;--violet:#9f7aea;--violet-ink:#b9a3ff;--anat-1:#c9a0f0;--code-btn:#1f2b25;--code-btn-hover:#2a3a32;--code-dot:#33443b;--code-edge:#2f4137;--out-bg:#070b09;--out-line:#1c2823;--shadow:0 1px 2px #0000004d, 0 8px 24px #00000040}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:84px}body{background:var(--bg);color:var(--ink);font:17.5px/1.7 var(--font);-webkit-font-smoothing:antialiased;margin:0;transition:background-color .2s,color .2s}@media (prefers-reduced-motion:reduce){body{transition:none}.topbar-line i,.toc-stat-bar i,.lsw-panel,.auth-menu,.lsw-caret,.auth-caret{transition:none;animation:none}}a{color:var(--accent)}::selection{background:var(--accent);color:var(--on-accent)}.topbar{z-index:20;background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);align-items:center;gap:20px;padding:12px 28px;display:flex;position:sticky;top:0}.brand{color:var(--ink);white-space:nowrap;align-items:center;gap:10px;font-weight:800;text-decoration:none;display:flex}.brand-mark{flex:none;width:32px;height:32px;display:block}.brand small{color:var(--ink-3);font-weight:600}.brand-name{align-items:center;gap:8px;display:inline-flex}.brand-word{letter-spacing:.02em;text-align:left;flex-direction:column;justify-content:space-between;height:32px;font-size:11px;line-height:1;display:flex}.topnav{align-items:center;gap:4px;min-width:0;margin-left:12px;display:flex}.map-link,.lsw-btn{cursor:pointer;height:34px;color:var(--ink-2);font:600 15px var(--font);white-space:nowrap;background:0 0;border:0;border-radius:999px;align-items:center;gap:6px;padding:0 14px;text-decoration:none;display:inline-flex}.map-link:hover,.lsw-btn:hover,.lsw-btn[aria-expanded=true]{background:var(--paper);color:var(--ink)}.map-link[aria-current=page]{background:var(--inv-bg);color:var(--inv-ink)}.map-link:focus-visible,.lsw-btn:focus-visible,.lsw-row:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.topbar-end{flex:none;align-items:center;gap:10px;margin-left:auto;display:flex}.topbar-line{pointer-events:none;background:0 0;height:3px;position:absolute;bottom:-1px;left:0;right:0}.topbar-line i{background:var(--accent);width:0;height:100%;transition:width .4s;display:block}.lsw{min-width:0;position:relative}.lsw-btn{max-width:100%}.lsw-title{text-overflow:ellipsis;max-width:24ch;overflow:hidden}.lsw-label{color:var(--ink);font-weight:800}.lsw-count{font:700 12px var(--mono);color:var(--accent);display:none}.lsw-caret,.auth-caret{color:var(--ink-3);flex:none;transition:transform .18s cubic-bezier(.23,1,.32,1)}.lsw-btn[aria-expanded=true] .lsw-caret,.auth-chip[aria-expanded=true] .auth-caret{transform:rotate(180deg)}.lsw-panel{z-index:30;overscroll-behavior:contain;border-radius:var(--radius);border:1px solid var(--line);background:var(--paper);width:min(400px,100vw - 24px);max-height:70vh;box-shadow:var(--shadow);transform-origin:0 0;padding:6px 6px 8px;animation:.16s cubic-bezier(.23,1,.32,1) pop-in;position:absolute;top:calc(100% + 10px);left:0;overflow-y:auto}.lsw-mod{background:var(--paper);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin:0;padding:12px 10px 4px;font-size:12px;font-weight:800;position:sticky;top:-6px}.lsw-list{margin:0;padding:0;list-style:none}.lsw-row{color:var(--ink);border-radius:9px;grid-template-columns:28px minmax(0,1fr);align-items:start;gap:8px;padding:7px 10px;text-decoration:none;display:grid}a.lsw-row:hover{background:color-mix(in srgb, var(--ink) 5%, transparent)}.lsw-row.is-current{background:var(--accent-soft)}.lsw-row.is-soon{color:var(--ink-3);cursor:default}.lsw-num{font:700 13px var(--mono);color:var(--ink-3);line-height:1.6}.is-current .lsw-num{color:var(--accent)}.lsw-row-main{gap:1px;min-width:0;display:grid}.lsw-row-title{font-size:14.5px;font-weight:700;line-height:1.35}.lsw-st{color:var(--ink-2);align-items:center;gap:5px;font-size:12.5px;font-weight:600;display:inline-flex}.lsw-st svg{flex:none;width:13px;height:13px}.lsw-st-done{color:var(--accent)}.lsw-st-progress{color:var(--gold)}.lsw-st-soon{color:var(--ink-3)}@keyframes pop-in{0%{opacity:0;transform:scale(.97)translateY(-4px)}to{opacity:1;transform:none}}.seg{background:var(--bg);border:1px solid var(--line);border-radius:999px;grid-auto-columns:1fr;grid-auto-flow:column;gap:2px;padding:3px;display:grid}.seg a,.seg button{cursor:pointer;min-width:0;min-height:30px;color:var(--ink-2);font:700 13px var(--font);letter-spacing:.02em;white-space:nowrap;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;gap:5px;padding:0 6px;text-decoration:none;display:inline-flex}.seg a:hover,.seg button:hover{color:var(--ink)}.seg a[aria-current=true],.seg button[aria-pressed=true]{background:var(--inv-bg);color:var(--inv-ink)}.seg a:focus-visible,.seg button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.layout{grid-template-columns:250px minmax(0,1fr);gap:48px;max-width:1240px;margin:0 auto;padding:36px 28px 80px;display:grid}.toc{align-self:start;max-height:calc(100vh - 110px);font-size:14.5px;position:sticky;top:92px;overflow:auto}.toc p{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin:0 0 10px;font-size:12px;font-weight:800}.toc ol{border-left:2px solid var(--line);margin:0;padding:0;list-style:none}.toc a{color:var(--ink-2);border-left:2px solid #0000;margin-left:-2px;padding:6px 0 6px 14px;line-height:1.35;text-decoration:none;display:block}.toc a:hover{color:var(--ink)}.toc a.active{border-color:var(--accent);color:var(--accent);font-weight:700}.toc .toc-stat{margin:0 0 18px}.toc-stat-row{color:var(--ink-2);justify-content:space-between;align-items:baseline;font-size:13px;font-weight:600;display:flex}.toc-stat-row b{font:700 13px var(--mono);color:var(--ink)}.toc-stat-bar{background:var(--line);border-radius:99px;height:6px;margin-top:6px;overflow:hidden}.toc-stat-bar i{background:var(--accent);width:0;height:100%;transition:width .4s;display:block}.toc .toc-count{color:var(--ink-3);font-size:12px}main{min-width:0;max-width:860px}.hero{background:var(--inv-bg);color:var(--inv-ink);border-radius:22px;margin-bottom:56px;padding:44px 44px 36px;position:relative;overflow:hidden}.hero:after{content:"";background:radial-gradient(circle, color-mix(in srgb, var(--accent) 70%, transparent), transparent 70%);opacity:.55;border-radius:50%;width:260px;height:260px;position:absolute;top:-60px;right:-60px}.hero .kicker{letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin:0 0 6px;font-size:13px;font-weight:800}.hero h1{letter-spacing:-.02em;margin:0 0 14px;font-size:clamp(36px,5vw,54px);line-height:1.05}.hero .lead{opacity:.9;max-width:640px;margin:0 0 22px;font-size:19px}.hero code{color:inherit;background:#ffffff1f}.goals{z-index:1;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid;position:relative}.goals li{background:#ffffff12;border-radius:12px;padding:12px 14px;font-size:15px;line-height:1.45}.goals li:before{content:"✓ ";color:var(--accent);font-weight:800}.topic{margin-bottom:72px}.topic h2{letter-spacing:-.015em;align-items:baseline;gap:14px;margin:0 0 18px;font-size:clamp(27px,3.4vw,34px);line-height:1.15;display:flex}.topic h2 .num{font-family:var(--mono);color:var(--accent);font-size:.55em;font-weight:700}.topic h3{margin:34px 0 10px;font-size:21px}.topic p,.topic li{color:var(--ink)}.topic>p:first-of-type{font-size:18.5px}.muted{color:var(--ink-2)}strong,b{font-weight:800}:not(pre)>code{font-family:var(--mono);background:color-mix(in srgb, var(--ink) 7%, transparent);color:var(--accent-2);white-space:nowrap;border-radius:6px;padding:.12em .4em;font-size:.86em}ul,ol{padding-left:1.3em}li{margin:4px 0}hr{border:0;border-top:1px dashed var(--line);margin:40px 0}.callout{border-radius:var(--radius);border:1px solid var(--line);border-left:5px solid var(--blue);background:var(--blue-soft);margin:22px 0;padding:16px 20px}.callout>b:first-child,.callout>strong:first-child{letter-spacing:.06em;text-transform:uppercase;color:var(--blue);margin-bottom:4px;font-size:13px;display:block}.callout p{margin:6px 0}.callout p:last-child{margin-bottom:0}.callout.analogy{border-left-color:var(--gold);background:var(--gold-soft)}.callout.analogy>b:first-child:before{content:"☕ "}.callout.analogy>b:first-child{color:var(--gold)}.callout.tip{border-left-color:var(--accent);background:var(--accent-soft)}.callout.tip>b:first-child{color:var(--accent)}.callout.tip>b:first-child:before{content:"💡 "}.callout.warn{border-left-color:var(--red);background:var(--red-soft)}.callout.warn>b:first-child{color:var(--red)}.callout.warn>b:first-child:before{content:"⚠️ "}.callout.ai{border-left-color:var(--violet);background:color-mix(in srgb, var(--violet) 10%, var(--paper))}.callout.ai>b:first-child{color:var(--violet-ink)}.callout.ai>b:first-child:before{content:"✦ "}.code-wrap{border-radius:var(--radius);background:var(--code-bg);box-shadow:0 0 0 1px var(--code-edge), var(--shadow);margin:18px 0;overflow:hidden}.code-head{border-bottom:1px solid var(--code-line);font:600 12.5px var(--font);color:var(--c-com);align-items:center;gap:8px;padding:8px 12px 8px 16px;display:flex}.code-head .dots{gap:6px;margin-right:6px;display:flex}.code-head .dots i{background:var(--code-dot);border-radius:50%;width:10px;height:10px}.code-head .hint-edit{margin-right:auto}.code-head button{font:700 13px var(--font);cursor:pointer;background:var(--code-btn);color:var(--code-ink);border:0;border-radius:8px;padding:6px 12px}.code-head button:hover{background:var(--code-btn-hover)}.code-head button.run{background:var(--accent);color:var(--on-accent)}.code-head button.run:hover{filter:brightness(1.1)}pre.code{font:15px/1.65 var(--mono);color:var(--code-ink);background:var(--code-bg);tab-size:2;outline:none;margin:0;padding:16px 18px;overflow-x:auto}pre.code[contenteditable]{cursor:text;caret-color:var(--accent)}pre.code[contenteditable]:focus{box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--accent) 60%, transparent)}.tok-key{color:var(--c-key)}.tok-str{color:var(--c-str)}.tok-num{color:var(--c-num)}.tok-com{color:var(--c-com);font-style:italic}.tok-fn{color:var(--c-fn)}.tok-op{color:var(--c-op)}.output{border-top:1px solid var(--code-line);background:var(--out-bg);font:14.5px/1.6 var(--mono);color:#d7dbe4;padding:12px 18px 14px;display:none}.output.show{display:block}.output:before{content:"Консоль";font:700 11px var(--font);letter-spacing:.1em;text-transform:uppercase;color:var(--c-com);margin-bottom:6px;display:block}.output .line{white-space:pre-wrap;word-break:break-word;padding:1px 0}.output .line+.line{border-top:1px dashed var(--out-line)}.output .err{color:#ff8a9b}.output .warn-line{color:#f9c97c}.output .empty{color:var(--c-com);font-style:italic}.result{border-radius:0 0 var(--radius) var(--radius);font:14px var(--mono);color:var(--ink-2);margin:-8px 0 18px;padding:10px 16px}.table-wrap{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);margin:20px 0;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:15.5px}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:11px 14px}th{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);background:color-mix(in srgb, var(--ink) 3%, var(--paper));font-size:12.5px}tr:last-child td{border-bottom:0}.cols{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:16px;margin:20px 0;display:grid}.col{border-radius:var(--radius);background:var(--paper);border:1px solid var(--line);padding:16px 18px}.col>b:first-child{margin-bottom:6px;display:block}.col .code-wrap{margin:10px 0 0}.col.bad{border-top:4px solid var(--red)}.col.bad>b:first-child{color:var(--red)}.col.good{border-top:4px solid var(--accent)}.col.good>b:first-child{color:var(--accent)}.terms{border-radius:var(--radius);background:var(--paper);border:1px solid var(--line);grid-template-columns:max-content 1fr;gap:10px 18px;margin:20px 0;padding:18px 20px;display:grid}.terms dt{color:var(--accent);font-weight:800}.terms dd{margin:0}.method-meta{flex-wrap:wrap;gap:8px;margin:4px 0 18px;display:flex}.method-meta span{background:var(--paper);border:1px solid var(--line);color:var(--ink-2);border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-size:14px;font-weight:600;display:inline-flex}.badge{font-size:13px!important;font-weight:800!important}.badge.mut{background:var(--red-soft)!important;color:var(--red)!important;border-color:#0000!important}.badge.pure{background:var(--accent-soft)!important;color:var(--accent)!important;border-color:#0000!important}.signature{font-family:var(--mono);font-size:15px}.diagram{border-radius:var(--radius);background:var(--paper);border:1px solid var(--line);margin:22px 0;padding:22px;overflow-x:auto}.diagram figcaption{color:var(--ink-3);text-align:center;margin-top:12px;font-size:14px}.anatomy{font:17px/2.4 var(--mono);white-space:nowrap}.anatomy .part{border-radius:6px;padding:3px 6px;position:relative}.anatomy .part[data-label]:after{content:attr(data-label);font:700 11px/1.2 var(--font);letter-spacing:.03em;white-space:nowrap;color:inherit;position:absolute;top:100%;left:50%;transform:translate(-50%)}.anatomy .p1{background:color-mix(in srgb, var(--c-key) 22%, transparent);color:var(--anat-1)}.anatomy .p2{background:color-mix(in srgb, var(--blue) 18%, transparent);color:var(--blue)}.anatomy .p3{background:color-mix(in srgb, var(--gold) 22%, transparent);color:var(--gold)}.anatomy .p4{background:color-mix(in srgb, var(--accent) 18%, transparent);color:var(--accent)}.anatomy .p5{background:color-mix(in srgb, var(--accent-2) 18%, transparent);color:var(--accent-2)}.cells{flex-wrap:wrap;gap:6px;margin:6px 0;display:flex}.cell{border:1px solid var(--line);text-align:center;background:var(--paper);border-radius:10px;min-width:84px;overflow:hidden}.cell .v{font:600 15px var(--mono);padding:10px 12px}.cell .i{font:700 12px var(--mono);color:var(--ink-3);background:color-mix(in srgb, var(--ink) 5%, transparent);padding:3px}.cell.hl{border-color:var(--accent)}.cell.hl .i{background:var(--accent);color:var(--on-accent)}.cell.gone{opacity:.35;text-decoration:line-through}.cell.new{border-color:var(--gold)}.cell.new .i{background:var(--gold);color:var(--on-accent)}.flow{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.flow .arrow{font:700 15px var(--mono);color:var(--ink-3)}.steps{counter-reset:s;margin:20px 0;padding:0;list-style:none}.steps>li{counter-increment:s;margin:0;padding:0 0 18px 48px;position:relative}.steps>li:before{content:counter(s);background:var(--inv-bg);width:32px;height:32px;color:var(--inv-ink);border-radius:50%;place-items:center;font-size:15px;font-weight:800;display:grid;position:absolute;top:0;left:0}.steps>li:after{content:"";background:var(--line);width:2px;position:absolute;top:36px;bottom:4px;left:15px}.steps>li:last-child:after{display:none}.steps .code-wrap{margin:10px 0 0}.practice{background:color-mix(in srgb, var(--accent) 6%, var(--paper));border:2px dashed color-mix(in srgb, var(--accent) 35%, transparent);border-radius:20px;margin-top:36px;padding:26px 24px 10px}.practice>h3{align-items:center;gap:10px;margin:0 0 6px;font-size:22px;display:flex}.practice>h3:before{content:"✍️"}.practice>p{color:var(--ink-2);margin:0 0 18px}.task{border-radius:var(--radius);background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);margin:0 0 18px;padding:20px 22px;transition:border-color .2s}.task.done{border-color:var(--accent)}.task>header{flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:8px;display:flex}.task-num{font:800 12.5px var(--mono);color:var(--accent);letter-spacing:.04em}.task h4{flex:auto;margin:0;font-size:19px}.level{border-radius:999px;padding:3px 10px;font-size:12.5px;font-weight:800}.level.easy{background:var(--accent-soft);color:var(--accent)}.level.mid{background:var(--gold-soft);color:var(--gold)}.level.hard{background:var(--accent-2-soft);color:var(--accent-2)}.task p{margin:8px 0}.task .code-wrap{margin:14px 0}.expected{background:color-mix(in srgb, var(--ink) 4%, transparent);border:1px dashed var(--line);border-radius:10px;margin:12px 0;padding:10px 14px}.expected>b:first-child{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-size:12px;display:block}.expected pre{font:14.5px/1.6 var(--mono);white-space:pre-wrap;overflow-wrap:anywhere;color:var(--ink);margin:4px 0 0}details.hint{border:1px solid var(--line);background:color-mix(in srgb, var(--gold) 5%, var(--paper));border-radius:10px;margin:8px 0}details.hint summary{cursor:pointer;color:var(--gold);padding:9px 14px;font-size:15px;font-weight:700;list-style:none}details.hint summary::-webkit-details-marker{display:none}details.hint summary:before{content:"🔒 "}details.hint[open] summary:before{content:"🔓 "}details.hint>:not(summary),details.hint .code-wrap{margin:0 14px 12px}.done-toggle{border:1px solid var(--line);color:var(--ink-2);font:700 14px var(--font);cursor:pointer;background:0 0;border-radius:10px;align-items:center;gap:8px;margin-top:8px;padding:8px 14px;display:inline-flex}.done-toggle:hover{border-color:var(--accent);color:var(--accent)}.task.done .done-toggle{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.prompt{border-radius:var(--radius);background:var(--paper);border:1px solid color-mix(in srgb, var(--violet) 35%, var(--line));white-space:pre-wrap;font:15px/1.6 var(--mono);margin:16px 0;padding:16px 18px 16px 20px;position:relative}.prompt:before{content:"Промпт";font:800 11px var(--font);letter-spacing:.1em;text-transform:uppercase;color:var(--violet-ink);margin-bottom:6px;display:block}.prompt .copy{border:1px solid var(--line);background:var(--bg);color:var(--ink-2);font:700 12.5px var(--font);cursor:pointer;border-radius:8px;padding:4px 10px;position:absolute;top:10px;right:10px}.prompt.bad-prompt{border-color:color-mix(in srgb, var(--red) 40%, var(--line))}.prompt.bad-prompt:before{content:"Слабый промпт";color:var(--red)}.prompt.good-prompt:before{content:"Сильный промпт";color:var(--accent)}.summary{background:var(--inv-bg);color:var(--inv-ink);border-radius:20px;padding:24px 26px}.summary h2,.summary li{color:var(--inv-ink)}.summary :not(pre)>code{color:var(--gold);background:#ffffff1f}.pager{grid-template-columns:1fr 1fr;gap:16px;margin-top:40px;display:grid}.pager a{border-radius:var(--radius);background:var(--paper);border:1px solid var(--line);color:var(--ink);padding:18px 20px;font-weight:800;text-decoration:none;display:block}.pager a span{color:var(--ink-3);font-size:13px;font-weight:600;display:block}.pager a:hover{border-color:var(--accent)}.pager a.next{text-align:right;grid-column:2}:lang(tg) .output:before{content:"Консол"}:lang(tg) .prompt:before{content:"Промпт"}:lang(tg) .prompt.bad-prompt:before{content:"Промпти заиф"}:lang(tg) .prompt.good-prompt:before{content:"Промпти қавӣ"}@media (max-width:1000px){.layout{grid-template-columns:minmax(0,1fr);gap:0;padding:20px 16px 60px}.toc{border-radius:var(--radius);background:var(--paper);border:1px solid var(--line);max-height:none;margin-bottom:24px;padding:14px 16px;position:static}.toc ol{columns:2;border:0;column-gap:20px}.toc a{border:0;padding:4px 0}}@media (max-width:720px){body{font-size:16.5px}:not(pre)>code{white-space:normal;overflow-wrap:anywhere}.topic,.hero,.prompt{overflow-wrap:anywhere}.topic .table-wrap,.topic pre.code,.topic .diagram{overflow-wrap:normal}.topic h2{flex-wrap:wrap}.topbar{gap:12px;padding:12px 16px}.topnav{margin-left:0}.brand-name small{display:none}.hero{border-radius:18px;padding:30px 22px 24px}.practice{padding:20px 12px 6px}.task{padding:16px 14px}.toc ol{columns:1}pre.code{padding:14px;font-size:14px}.terms{grid-template-columns:minmax(0,1fr);gap:2px}.terms dd{margin-bottom:10px}.pager{grid-template-columns:minmax(0,1fr)}.pager a.next{grid-column:1}}@media (max-width:600px){.code-head{flex-wrap:wrap;gap:10px 8px;padding:10px 14px}.code-head .hint-edit{text-overflow:ellipsis;white-space:nowrap;flex:calc(100% - 60px);min-width:0;max-width:calc(100% - 60px);margin-right:0;overflow:hidden}.code-head .kbd-hint{display:none}.code-head button{white-space:nowrap;justify-content:center;align-items:center;gap:6px;min-height:40px;display:inline-flex}.code-head button.reset{flex:none}.code-head button.run{flex:1 1 0}pre.code{padding:14px;font-size:13px;overflow-x:auto}.output{padding:12px 14px 14px;font-size:13px}}@media print{.topbar,.toc,.code-head button,.done-toggle,.pager{display:none!important}.layout{display:block}details.hint{display:none}}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.xp{position:relative}.xp-chip-btn{border:1px solid var(--line);background:var(--paper);color:var(--ink);font:700 13.5px var(--font);white-space:nowrap;cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:6px 12px;display:inline-flex}.xp-chip-btn:hover,.xp-chip-btn[aria-expanded=true]{border-color:var(--accent)}.xp-chip-btn:focus-visible,.xp-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.xp-lvl{font-family:var(--mono);color:var(--accent);font-weight:800}.xp-rank{color:var(--ink-2);font-weight:600}.xp-mini{background:var(--line);border-radius:99px;width:44px;height:6px;overflow:hidden}.xp-mini i,.xp-bar i{background:var(--accent);height:100%;transition:width .4s;display:block}.xp-streak{color:var(--accent-2)}.xp-panel{z-index:30;border-radius:var(--radius);border:1px solid var(--line);background:var(--paper);width:min(360px,100vw - 24px);max-height:calc(100vh - 90px);color:var(--ink);box-shadow:var(--shadow);padding:16px 18px 18px;font-size:14.5px;line-height:1.5;position:absolute;top:calc(100% + 10px);right:0;overflow-y:auto}.xp-panel:focus{outline:none}.xp-panel-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.xp-big{font-size:17px;font-weight:800}.xp-sub{color:var(--ink-2);font-size:13.5px}.xp-close{color:var(--ink-3);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:2px 6px;font-size:16px}.xp-close:hover{color:var(--ink)}.xp-bar{background:var(--line);border-radius:99px;height:8px;margin:10px 0 6px;overflow:hidden}.xp-row,.xp-lessons li{border-bottom:1px dashed var(--line);justify-content:space-between;gap:12px;padding:8px 0;display:flex}.xp-row{margin-top:8px}.xp-h{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin:14px 0 4px;font-size:12px;font-weight:800}.xp-lessons,.xp-ach{margin:0;padding:0;list-style:none}.xp-ach{grid-template-columns:1fr 1fr;gap:8px;display:grid}.xp-ach li{border:1px solid var(--line);border-radius:10px;align-items:flex-start;gap:8px;padding:8px 10px;display:flex}.xp-ach li.on{background:var(--gold-soft);border-color:var(--gold)}.xp-ach li.off{opacity:.6;background:color-mix(in srgb, var(--ink) 4%, transparent)}.xp-ach b,.toast b{font-size:13.5px;display:block}.xp-ach small,.toast small{color:var(--ink-2);font-size:12px;line-height:1.35;display:block}.xp-ach-emoji{font-size:20px;line-height:1.2}.toasts{z-index:90;pointer-events:none;flex-direction:column;align-items:flex-end;gap:8px;display:flex;position:fixed;bottom:18px;right:18px}.toast{border-radius:var(--radius);border:1px solid var(--accent);background:var(--paper);color:var(--ink);box-shadow:var(--shadow);align-items:center;gap:10px;padding:10px 16px;animation:.3s both toast-in;display:flex}.toast-emoji{font-size:24px}.task{position:relative}.task.pulse{animation:.7s task-pulse}.check-fb{border-radius:10px;margin:-4px 0 12px;padding:8px 14px;font-size:14.5px;font-weight:700}.check-fb.ok,.check-fb.again{background:var(--accent-soft);color:var(--accent)}.check-fb.diff{background:var(--gold-soft);color:var(--gold)}.xp-chip{z-index:5;pointer-events:none;background:var(--accent);color:#fff;font:800 14px var(--mono);border-radius:999px;padding:3px 10px;animation:1.4s ease-out forwards xp-float;position:absolute;transform:translate(-50%,-100%)}details.hint summary[data-cost]:after{content:attr(data-cost);background:var(--red-soft);color:var(--red);border-radius:999px;margin-left:8px;padding:1px 8px;font-size:12px;font-weight:800}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes task-pulse{0%{box-shadow:var(--shadow), 0 0 0 0 color-mix(in srgb, var(--accent) 45%, transparent)}to{box-shadow:var(--shadow), 0 0 0 16px transparent}}@keyframes xp-float{0%{opacity:0;margin-top:0}15%{opacity:1}to{opacity:0;margin-top:-48px}}@media (max-width:720px){.xp{position:static}.xp-panel{width:auto;top:100%;left:12px;right:12px}.xp-ach{grid-template-columns:1fr}}@media (max-width:520px){.xp-rank,.xp-mini{display:none}.toasts{align-items:center;left:12px;right:12px}}@media (prefers-reduced-motion:reduce){.task.pulse,.xp-chip,.toast{animation:none}.xp-mini i,.xp-bar i{transition:none}}@media print{.xp,.toasts{display:none!important}}pre.code[data-editable]{cursor:text;caret-color:var(--accent)}pre.code[data-editable]:focus,.cm-host:focus-within{box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--accent) 60%, transparent)}.cm-host{color:var(--code-ink);background:var(--code-bg);font:15px/1.65 var(--mono);tab-size:2;cursor:text;padding:16px 18px}.cm-host[hidden]{display:none}.cm-host .cm-editor .cm-scroller,.cm-host .cm-editor .cm-content,.cm-host .cm-editor .cm-line{font:inherit;line-height:inherit}.cm-host .cm-editor .cm-line,.cm-host .cm-editor .cm-content{padding:0}@media (max-width:720px){.cm-host{padding:14px;font-size:14px}}@media (max-width:600px){.cm-host{padding:14px;font-size:13px}}@supports (-webkit-touch-callout:none){@media (max-width:720px){pre.code[data-editable],.cm-host{font-size:16px}}}.code-head button.run.busy{opacity:.75;cursor:progress}.pg-tabs{border-bottom:1px solid var(--code-line);gap:2px;padding:0 10px;display:flex;overflow-x:auto}.pg-tab{font:600 12.5px var(--mono);color:var(--c-com);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:9px 12px 7px}.pg-tab:hover{color:var(--code-ink)}.pg-tab.on{color:var(--code-ink);border-bottom-color:var(--accent)}.pg-preview{border-top:1px solid var(--code-line);background:#121722;padding:10px 18px 14px}.pg-bar{font:700 11px var(--font);letter-spacing:.1em;text-transform:uppercase;color:var(--c-com);justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.pg-toggle{font:700 12px var(--font);letter-spacing:0;text-transform:none;cursor:pointer;color:var(--code-ink);background:#2a3245;border:0;border-radius:8px;padding:5px 10px}.pg-toggle:hover{background:#343d54}.pg-empty{color:var(--c-com);font:13.5px var(--font);padding:6px 0 2px}.pg-stage[hidden]{display:none}.pg-frame{background:#fff;border:0;border-radius:10px;width:100%;max-height:420px;display:block}@media (max-width:600px){.pg-preview{padding:10px 14px 14px}.pg-toggle{min-height:36px;padding:5px 12px}.pg-tab{padding:11px 12px 9px}}.auth{position:relative}.auth-chip{border:1px solid var(--line);background:var(--paper);cursor:pointer;border-radius:999px;align-items:center;gap:4px;height:34px;padding:0 8px 0 2px;display:inline-flex}.auth-chip:hover,.auth-chip[aria-expanded=true]{border-color:var(--accent)}.auth-chip img{object-fit:cover;border-radius:50%;width:28px;height:28px;display:block}.auth-anon{color:var(--ink-2);background:0 0}.auth-anon svg{width:18px;height:18px}.auth-initial{background:var(--accent-soft);width:28px;height:28px;color:var(--accent);font:800 14px var(--font);border-radius:50%;flex:none;place-items:center;display:inline-grid}.auth-chip:focus-visible,.auth-item:focus-visible,.auth-dialog button:focus-visible,.auth-dialog input:focus-visible,.auth-menu input:focus-visible,.auth-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.auth-menu{z-index:30;transform-origin:100% 0;border-radius:var(--radius);border:1px solid var(--line);background:var(--paper);width:304px;max-width:calc(100vw - 24px);box-shadow:var(--shadow);padding:8px;font-size:15px;line-height:1.4;animation:.16s cubic-bezier(.23,1,.32,1) pop-in;position:absolute;top:calc(100% + 8px);right:0}.auth-who{flex-wrap:wrap;align-items:baseline;gap:2px 10px;padding:8px 10px 4px;display:flex}.auth-who b{overflow-wrap:anywhere}.auth-who small{color:var(--ink-3);overflow-wrap:anywhere;flex-basis:100%;font-size:13px}.auth-link{cursor:pointer;color:var(--accent);font:700 13px var(--font);background:0 0;border:0;padding:0}.auth-link:hover{text-decoration:underline}.auth-toggle{cursor:pointer;grid-template-columns:auto 1fr;align-items:center;gap:2px 8px;padding:6px 10px;font-size:14px;font-weight:600;display:grid}.auth-toggle input{width:16px;height:16px;accent-color:var(--accent);cursor:pointer;margin:0}.auth-toggle small{color:var(--ink-3);grid-column:2;font-size:12.5px;font-weight:400}.auth-sync{color:var(--ink-3);margin:0 10px 6px;font-size:12.5px}.auth-sync.synced:before{content:"● ";color:var(--accent)}.auth-sync.offline:before{content:"● ";color:var(--gold)}.auth-item{text-align:left;width:100%;color:var(--ink);font:600 15px var(--font);cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:8px;padding:9px 10px;text-decoration:none;display:flex}.auth-h{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin:12px 10px 6px;font-size:12px;font-weight:800}.auth-sec{border-top:1px solid var(--line);margin-top:6px;padding-top:6px}.auth-sec .seg{margin:0 4px 4px}.auth-sec .auth-h:first-child{margin-top:6px}.auth-item:hover{background:color-mix(in srgb, var(--ink) 5%, transparent)}.auth-rename{padding:8px 10px 0}.auth-row{gap:8px;margin-top:8px;display:flex}.auth-dialog{border:1px solid var(--line);background:var(--paper);width:min(400px,100vw - 32px);color:var(--ink);box-shadow:var(--shadow);border-radius:18px;padding:0}.auth-dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#12151c73}.auth-dialog-body{padding:26px 24px 18px;position:relative}.auth-dialog h2{letter-spacing:-.01em;margin:0 0 6px;font-size:22px;line-height:1.2}.auth-lead{color:var(--ink-2);margin:0 0 18px;font-size:15px;line-height:1.5}.auth-close{width:32px;height:32px;color:var(--ink-3);font:400 24px/1 var(--font);cursor:pointer;background:0 0;border:0;border-radius:8px;position:absolute;top:12px;right:12px}.auth-close:hover{background:color-mix(in srgb, var(--ink) 6%, transparent);color:var(--ink)}.auth-google,.auth-primary,.auth-ghost{min-height:42px;font:700 15px var(--font);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:10px;padding:0 16px;display:inline-flex}.auth-google{border:1px solid var(--line);background:var(--bg);width:100%;color:var(--ink)}.auth-google:hover{border-color:var(--ink-3)}.auth-primary{border:1px solid var(--accent);background:var(--accent);color:#fff}.auth-primary:hover{filter:brightness(1.08)}.auth-ghost{border:1px solid var(--line);color:var(--ink-2);background:0 0}.auth-dialog button:disabled,.auth-menu button:disabled{opacity:.6;cursor:default}.auth-or{color:var(--ink-3);align-items:center;gap:12px;margin:16px 0;font-size:13px;display:flex}.auth-or:before,.auth-or:after{content:"";background:var(--line);flex:1;height:1px}.auth-form{gap:10px;display:grid}.auth-form label,.auth-rename label{gap:4px;display:grid}.auth-form label span,.auth-rename label span{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);font-size:12.5px;font-weight:800}.auth-form input,.auth-rename input{border:1px solid var(--line);background:var(--bg);width:100%;min-height:42px;color:var(--ink);font:500 16px var(--font);border-radius:10px;padding:0 12px}.auth-rename input{min-height:38px}.auth-form input:focus,.auth-rename input:focus{border-color:var(--accent)}.auth-status{min-height:1.4em;margin:10px 0 0;font-size:14px;line-height:1.4}.auth-menu .auth-status{margin:0 10px;font-size:13px}.auth-menu .auth-status:empty{display:none}.auth-status.ok{color:var(--accent)}.auth-status.err{color:var(--red)}.lb-page{max-width:860px;margin:0 auto;padding:36px 28px 80px}.lb h1{letter-spacing:-.02em;margin:0 0 8px;font-size:clamp(30px,4vw,40px);line-height:1.1}.lb-lead{color:var(--ink-2);margin:0 0 8px}.lb-note{border-radius:var(--radius);border:1px dashed var(--line);background:var(--paper);color:var(--ink-2);padding:18px 20px}.lb-table th.num,.lb-table td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.lb-table td{vertical-align:middle}.lb-rank{width:64px;font:700 15px var(--mono);color:var(--ink-3)}.lb-rank span{font-size:20px}.lb-name{align-items:center;gap:10px;min-width:0;display:flex}.lb-name img{object-fit:cover;border-radius:50%;flex:none;width:24px;height:24px}.lb-name .auth-initial{width:24px;height:24px;font-size:12px}.lb-name>span:not(.auth-initial){overflow-wrap:anywhere}.lb-you{background:var(--accent);color:#fff;font:800 11px var(--font);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:1px 8px;font-style:normal}.lb-table tr.me td{background:var(--accent-soft)}.lb-table tr.me td:first-child{box-shadow:inset 3px 0 0 var(--accent)}@media (max-width:720px){.lb-page{padding:20px 16px 60px}.lb-table th,.lb-table td{padding:10px}}.adm{max-width:1100px}.adm h2{letter-spacing:-.01em;margin:28px 0 0;font-size:20px}.adm-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.adm-head h1{margin:0}.adm-actions{gap:8px;display:flex}.adm-actions button:disabled{opacity:.6;cursor:default}.adm-login{gap:12px;max-width:420px;margin:16px 0;display:grid}.adm-login label{gap:6px;font-weight:700;display:grid}.adm-login input{border:1px solid var(--line);background:var(--paper);min-height:42px;color:var(--ink);font:15px var(--mono);border-radius:10px;padding:0 12px}.adm-login input:focus-visible,.adm button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.adm-login small,.adm-small{color:var(--ink-3);font-size:13px;font-weight:400}.adm-login button{justify-self:start}.adm-error{border-style:solid;border-color:var(--red);color:var(--red);margin-top:16px}.adm-storage{border-radius:var(--radius);margin:16px 0 0;padding:12px 16px;font-weight:700}.adm-storage.ok{background:var(--accent-soft);color:var(--accent)}.adm-storage.warn{background:var(--gold-soft);color:var(--gold)}.adm-storage small{color:var(--ink-3);font-weight:400}.adm-state{white-space:nowrap;background:color-mix(in srgb, var(--ink) 6%, transparent);color:var(--ink-2);border-radius:999px;padding:2px 8px;font-size:13px;font-weight:700;display:inline-block}.adm-state.available,.adm-state.adm-o-ok{background:var(--accent-soft);color:var(--accent)}.adm-state.minute,.adm-state.adm-o-busy{background:var(--gold-soft);color:var(--gold)}.adm-state.exhausted,.adm-state.adm-o-error,.adm-state.adm-o-daily_limit{background:var(--red-soft);color:var(--red)}.adm-state.adm-o-off_topic,.adm-state.adm-o-identity{background:var(--blue-soft);color:var(--blue)}.adm-until{color:var(--ink-3);white-space:nowrap;font-size:13px}.adm-totals{flex-wrap:wrap;gap:8px;margin:12px 0 6px;padding:0;list-style:none;display:flex}.adm-totals li{border:1px solid var(--line);background:var(--paper);border-radius:12px;align-items:baseline;gap:8px;margin:0;padding:8px 14px;display:flex}.adm-totals span{color:var(--ink-2);font-size:14px}.adm-totals b{font:700 18px var(--mono)}.adm-logs{font-size:14px}.adm-nowrap{white-space:nowrap}.adm-q{overflow-wrap:anywhere;min-width:260px;color:var(--ink-2)}.adm code{font:13px var(--mono);white-space:nowrap}.rm{max-width:1120px;margin:0 auto;padding:28px 28px 96px}.rm-hero>*{z-index:1;position:relative}.rm-hero{margin-bottom:40px}.rm-stats{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:0 0 22px;padding:0;list-style:none;display:grid}.rm-stats li{background:#ffffff12;border-radius:12px;flex-direction:column;gap:2px;margin:0;padding:12px 16px;line-height:1.35;display:flex}.rm-stats span{letter-spacing:.08em;text-transform:uppercase;opacity:.7;font-size:12px;font-weight:800}.rm-stats b{font:700 22px/1.2 var(--mono)}.rm-stats small{opacity:.8;font-size:13px}.rm-cta-row{min-height:52px}.rm-cta{background:var(--accent);max-width:100%;color:var(--on-accent);box-shadow:0 6px 20px color-mix(in srgb, var(--accent) 35%, transparent);border-radius:999px;align-items:center;gap:6px;padding:14px 26px;font-size:17px;font-weight:800;line-height:1.3;text-decoration:none;transition:transform .18s,box-shadow .18s;display:inline-flex}.rm-cta:hover{box-shadow:0 10px 26px color-mix(in srgb, var(--accent) 45%, transparent);transform:translateY(-2px)}.rm-cta:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.rm-cta-note{margin:0;font-weight:700}.rm-track{position:relative}.rm-path{pointer-events:none;z-index:0;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.rm-path path{fill:none;stroke-linecap:round;stroke-linejoin:round}.rm-path-full{stroke:color-mix(in srgb, var(--ink) 22%, transparent);stroke-width:3px;stroke-dasharray:1 11}.rm-path-walked{stroke:color-mix(in srgb, var(--ink-3) 70%, transparent);stroke-width:4px}.rm-path-done{stroke:var(--accent);stroke-width:7px}.rm-module{margin-bottom:8px;position:relative}.rm-modhead{z-index:2;text-align:center;border:1px solid var(--line);background:var(--paper);width:fit-content;max-width:100%;box-shadow:var(--shadow);border-radius:999px;margin:56px auto 28px;padding:10px 30px 12px;position:relative}.rm-modhead p{font:700 12px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--gold);margin:0}.rm-modhead h2{letter-spacing:-.01em;margin:0;font-size:clamp(20px,2.6vw,26px);line-height:1.2}.rm-list{margin:0;padding:0;list-style:none}.rm-node{z-index:1;grid-template-columns:1fr 1fr;min-height:96px;margin:0 0 30px;display:grid;position:relative}.rm-node.rm-l .rm-card{grid-column:1;justify-self:end;margin-right:84px}.rm-node.rm-r .rm-card{grid-column:2;justify-self:start;margin-left:84px}.rm-marker{--s:46px;width:var(--s);height:var(--s);margin-left:calc(var(--s) / -2);z-index:1;position:absolute;top:14px}.rm-node.rm-l .rm-marker{left:calc(50% - 36px)}.rm-node.rm-r .rm-marker{left:calc(50% + 36px)}.rm-k-project .rm-marker,.rm-k-final .rm-marker{--s:62px;top:6px}.rm-marker-in{z-index:1;border:3px solid var(--accent);background:var(--paper);width:100%;height:100%;color:var(--accent);font:700 17px/1 var(--mono);box-shadow:var(--shadow);border-radius:50%;place-items:center;display:grid;position:relative}.rm-marker-in svg{width:22px;height:22px}.rm-k-project .rm-marker-in svg,.rm-k-final .rm-marker-in svg{width:28px;height:28px}.rm-k-project .rm-marker-in{border-color:var(--accent-2);color:var(--accent-2);background:var(--accent-2-soft)}.rm-k-final .rm-marker-in{border-color:var(--gold);color:var(--gold);background:var(--gold-soft)}.rm-done .rm-marker-in{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.rm-progress .rm-marker-in{background:conic-gradient(var(--accent) var(--pct), var(--line) 0);border:0}.rm-progress .rm-marker-in:before{content:"";background:var(--paper);z-index:-1;border-radius:50%;position:absolute;inset:4px}.rm-soon .rm-marker-in{border:2px dashed var(--ink-3);background:var(--bg);color:var(--ink-3);box-shadow:none}.rm-pulse{border:3px solid var(--accent);pointer-events:none;border-radius:50%;position:absolute;inset:0}.rm-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);width:100%;max-width:460px;box-shadow:var(--shadow);padding:16px 20px 14px;transition:transform .2s,box-shadow .2s,border-color .2s;position:relative}.rm-card:hover{border-color:color-mix(in srgb, var(--accent) 50%, var(--line));box-shadow:0 2px 4px #1c22300d, 0 14px 32px color-mix(in srgb, var(--accent) 14%, transparent);transform:translateY(-3px)}.rm-card:has(:focus-visible){outline:3px solid var(--accent);outline-offset:3px}.rm-here .rm-card{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft), var(--shadow)}.rm-soon .rm-card{background:color-mix(in srgb, var(--paper) 55%, var(--bg));box-shadow:none}.rm-soon .rm-title{color:var(--ink-2)}.rm-k-project .rm-card{border-left:5px solid var(--accent-2)}.rm-k-final .rm-card{border-left:5px solid var(--gold)}.rm-meta{flex-wrap:wrap;align-items:center;gap:6px 8px;margin-bottom:4px;display:flex}.rm-num{font:700 12px/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.rm-chip{border-radius:999px;align-items:center;gap:4px;padding:1px 9px;font-size:12px;font-weight:800;line-height:1.6;display:inline-flex}.rm-chip svg{flex:none}.rm-chip-project{background:var(--accent-2-soft);color:var(--accent-2)}.rm-chip-final{background:var(--gold-soft);color:var(--gold)}.rm-chip-demo{background:color-mix(in srgb, var(--violet) 12%, var(--paper));color:var(--violet-ink)}.rm-chip-here{background:var(--accent);color:var(--on-accent)}.rm-title{letter-spacing:-.005em;margin:0 0 6px;font-size:19px;line-height:1.3}.rm-link{color:inherit;text-decoration:none}.rm-link:after{content:"";border-radius:inherit;position:absolute;inset:0}.rm-link:hover{color:var(--accent)}.rm-link:focus-visible{outline:none}.rm-status{color:var(--ink-2);align-items:center;gap:6px;margin:0;font-size:14px;font-weight:700;display:flex}.rm-st-done{color:var(--accent)}.rm-st-progress{color:var(--gold)}.rm-st-soon{color:var(--ink-3)}.rm-bar{background:var(--line);border-radius:99px;height:6px;margin-top:8px;overflow:hidden}.rm-bar i{background:var(--accent);border-radius:inherit;height:100%;display:block}.rm-details{margin-top:8px}.rm-details summary{cursor:pointer;color:var(--blue);border-radius:6px;align-items:center;gap:6px;font-size:14px;font-weight:800;list-style:none;display:inline-flex}.rm-details summary::-webkit-details-marker{display:none}.rm-details summary:before{content:"";border-bottom:2px solid;border-right:2px solid;width:7px;height:7px;transition:transform .2s;transform:rotate(-45deg)}.rm-details[open] summary:before{transform:rotate(45deg)}.rm-details summary:focus-visible{outline:none}.rm-available .rm-details summary,.rm-progress .rm-details summary,.rm-done .rm-details summary{z-index:2;position:relative}.rm-soon .rm-details summary:after{content:"";border-radius:inherit;position:absolute;inset:0}.rm-details dl,.rm-open{z-index:2;position:relative}.rm-details dl{border-top:1px dashed var(--line);margin:10px 0 0;padding-top:10px;font-size:15px;line-height:1.55}.rm-details dt{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin:0;font-size:12px;font-weight:800}.rm-details dt:nth-of-type(2){color:var(--violet-ink)}.rm-details dd{color:var(--ink);overflow-wrap:anywhere;margin:0 0 10px}.rm-open{margin-top:4px;font-size:15px;font-weight:800;text-decoration:none;display:inline-block}.rm-open:hover{text-decoration:underline}.rm-final{z-index:1;margin-top:56px;padding-top:78px;position:relative}.rm-marker-final{--s:62px;top:0;left:50%}.rm-marker-final .rm-marker-in{border-color:var(--gold);color:var(--gold);background:var(--gold-soft)}.rm-marker-final svg{width:28px;height:28px}.rm-final-card{background:var(--inv-bg);max-width:640px;color:var(--inv-ink);border-radius:22px;align-items:center;gap:22px;margin:0 auto;padding:26px 30px;display:flex;position:relative;overflow:hidden}.rm-final-card:after{content:"";background:radial-gradient(circle, color-mix(in srgb, var(--gold) 55%, transparent), transparent 70%);opacity:.5;pointer-events:none;border-radius:50%;width:220px;height:220px;position:absolute;top:-50px;right:-50px}.rm-final-icon{background:var(--gold);width:68px;height:68px;color:var(--on-accent);z-index:1;border-radius:50%;flex:none;place-items:center;display:grid;position:relative}.rm-final-icon svg{width:34px;height:34px}.rm-spark{background:var(--gold);opacity:0;pointer-events:none;border-radius:50%;width:9px;height:9px;margin:-4px 0 0 -4px;position:absolute;top:50%;left:50%}.rm-spark:nth-child(3n){background:var(--accent)}.rm-spark:nth-child(3n+1){background:var(--accent-2)}.rm-final-txt{z-index:1;position:relative}.rm-final-txt .kicker{letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin:0 0 2px;font-size:13px;font-weight:800}.rm-final-txt h2{margin:0 0 6px;font-size:clamp(22px,3vw,30px);line-height:1.15}.rm-final-txt p:last-child{opacity:.85;margin:0;font-size:16px;line-height:1.5}@media (max-width:820px){.rm{padding:16px 16px 72px}.rm-modhead{text-align:left;border-radius:18px;margin:40px 0 22px 52px;padding:8px 20px 10px}.rm-node{display:block}.rm-node.rm-l .rm-card,.rm-node.rm-r .rm-card{width:auto;max-width:none;margin:0 0 0 64px}.rm-node.rm-l .rm-marker,.rm-node.rm-r .rm-marker,.rm-marker-final{left:23px}.rm-final{padding-top:0}.rm-marker-final{top:14px}.rm-final-card{gap:14px;margin:0 0 0 64px;padding:20px 18px}.rm-final-icon{width:52px;height:52px}.rm-final-icon svg{width:26px;height:26px}.rm-title{font-size:18px}}@media (max-width:600px){.rm-stats{grid-template-columns:1fr 1fr}.rm-stats li:last-child{grid-column:1/-1}.rm-cta{padding:13px 20px;font-size:16px}}@media (prefers-reduced-motion:reduce){.rm-card,.rm-cta,.rm-details summary:before{transition:none}.rm-card:hover,.rm-cta:hover{transform:none}}@media (max-width:600px){.topbar{gap:8px;padding:10px 12px}.map-link,.lsw-title,.auth-caret{display:none}.brand{gap:0}.brand-name{display:none}.topnav{flex:1;min-width:0}.lsw-btn{padding:0 10px}.lsw-count{display:inline}.topbar-end{gap:6px}.auth-chip{padding:0 2px}.lsw{position:static}.lsw-panel{border-radius:0 0 var(--radius) var(--radius);transform-origin:top;border-top:0;width:auto;top:100%;left:0;right:0}.auth{position:static}.auth-menu{top:100%;right:12px}}kbd{font-family:var(--mono);color:var(--ink);background:var(--paper);border:1px solid var(--line);box-shadow:0 2px 0 color-mix(in srgb, var(--ink) 22%, transparent);white-space:nowrap;vertical-align:.05em;border-radius:6px;padding:.22em .5em;font-size:.82em;line-height:1;display:inline-block}pre,code,kbd,.cm-editor{font-variant-ligatures:none;font-feature-settings:"liga" 0, "calt" 0}.toasts{bottom:86px}.mentor-fab{--fab:58px;z-index:95;width:var(--fab);height:var(--fab);border:2px solid var(--accent);background:var(--paper);box-shadow:var(--shadow), 0 4px 14px color-mix(in srgb, var(--accent) 28%, transparent);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:50%;place-items:center;padding:0;transition:transform .18s,box-shadow .18s;display:grid;position:fixed;bottom:18px;right:18px}.mentor-fab:hover{box-shadow:0 8px 24px #0e7a5559}.mentor-fab.snap{transition:left .42s cubic-bezier(.34,1.56,.64,1),top .42s cubic-bezier(.34,1.56,.64,1),transform .18s}.mentor-fab.dragging{cursor:grabbing;transition:none;transform:scale(1.1);box-shadow:0 10px 28px #1c22304d}.mentor-fab:focus-visible,.mentor-panel button:focus-visible,.mentor-panel textarea:focus-visible,.ask-mentor:focus-visible,.explain-err:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.mentor-backdrop{display:none}.bot{--bot:var(--accent);--bot-2:color-mix(in srgb, var(--accent) 78%, #000);--eye:#9bf0cb;width:100%;height:100%;overflow:visible}.bot-head,.bot-stem{fill:var(--bot);stroke:none}.bot-stem{stroke:var(--bot);stroke-width:2.5px;stroke-linecap:round}.bot-body,.bot-ear,.bot-arm rect{fill:var(--bot-2)}.bot-face{fill:var(--code-bg)}.bot-eye{fill:var(--eye);transition:fill .2s,filter .2s}.bot-pupil{fill:#0b2a1e;transform:translate(calc(var(--px,0) * 1px), calc(var(--py,0) * 1px));transition:transform .12s ease-out}.bot-mouth{fill:none;stroke:var(--eye);stroke-width:1.6px;stroke-linecap:round}.bot-light{fill:var(--accent-2)}.bot-blink{transform-box:fill-box;transform-origin:50%}.bot-arm{transition:transform .2s}.bot-arm-l{transform-origin:17px 53px;transform:rotate(-35deg)}.bot-arm-r{transform-origin:47px 53px;transform:rotate(35deg)}.mentor-fab .bot{width:76%;height:76%;animation:3.4s ease-in-out infinite bot-bob}.mentor-fab .bot-blink{animation:5.2s infinite bot-blink}.mentor-fab .bot-blink+.bot-blink{animation-delay:0s}.mentor-fab .bot-light{transform-box:fill-box;transform-origin:50%;animation:1.8s ease-in-out infinite bot-light}.mentor-fab:hover .bot-eye,.mentor-fab:focus-visible .bot-eye,.mentor-fab.waving .bot-eye{fill:#eafff4;filter:drop-shadow(0 0 2.2px #5dffb4)drop-shadow(0 0 5px #3ccf95)}.mentor-fab:hover .bot-arm-r,.mentor-fab:focus-visible .bot-arm-r{animation:1.8s ease-in-out infinite bot-wave}.mentor-fab.waving .bot-arm-r{animation:1.8s ease-in-out bot-wave}.mentor-fab.dragging .bot-arm-r{animation:none}@keyframes bot-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-1.8px)}}@keyframes bot-blink{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.08)}}@keyframes bot-light{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.7)}}@keyframes bot-wave{0%{transform:rotate(35deg)}12%{transform:rotate(-75deg)}25%{transform:rotate(-42deg)}38%{transform:rotate(-75deg)}51%{transform:rotate(-42deg)}64%{transform:rotate(-75deg)}80%,to{transform:rotate(35deg)}}.mentor-tip{white-space:nowrap;pointer-events:none;background:var(--inv-bg);color:var(--inv-ink);font:700 13.5px var(--font);box-shadow:var(--shadow);opacity:0;border-radius:12px;padding:7px 12px;transition:opacity .18s,transform .18s;position:absolute;transform:translateY(4px)}.mentor-fab[data-v=b] .mentor-tip{bottom:calc(100% + 10px)}.mentor-fab[data-v=t] .mentor-tip{top:calc(100% + 10px)}.mentor-fab[data-h=r] .mentor-tip{right:0}.mentor-fab[data-h=l] .mentor-tip{left:0}.mentor-fab:hover .mentor-tip,.mentor-fab:focus-visible .mentor-tip,.mentor-tip.show{opacity:1;transform:none}.mentor-fab.dragging .mentor-tip{opacity:0}.mentor-av{background:var(--paper);border:1.5px solid var(--accent);border-radius:50%;flex:none;place-items:center;width:30px;height:30px;padding:3px;display:grid}.mentor-av.lg{width:38px;height:38px;padding:4px}.mentor-av .bot-arm{transition:none}.mentor-row{align-items:flex-end;gap:8px;max-width:100%;display:flex}.mentor-row .mentor-msg{max-width:calc(100% - 40px)}.mentor-panel{box-sizing:border-box;z-index:100;background:var(--paper);border-left:1px solid var(--line);flex-direction:column;width:380px;max-width:100vw;animation:.22s both mentor-in;display:flex;position:fixed;top:0;bottom:0;right:0;box-shadow:-12px 0 32px #1c22301f}.mentor-panel>header{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:12px 16px;display:flex}.mentor-panel h2{flex:1;margin:0;font-size:17px}.mentor-x{width:34px;height:34px;color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:10px;font-size:24px;line-height:1}.mentor-x:hover{background:color-mix(in srgb, var(--ink) 8%, transparent)}.mentor-link{color:var(--accent);font:700 13px var(--font);cursor:pointer;background:0 0;border:0;padding:4px 6px}.mentor-link:disabled{color:var(--ink-3);cursor:default}.mentor-list{flex-direction:column;flex:1;gap:10px;padding:14px 16px;display:flex;overflow-y:auto}.mentor-note{color:var(--ink-2);margin:0;font-size:14.5px}.mentor-msg{white-space:pre-wrap;overflow-wrap:anywhere;border-radius:14px;max-width:92%;padding:9px 13px;font-size:14.5px;line-height:1.55}.mentor-msg.me{background:var(--accent-soft);color:var(--ink);border-bottom-right-radius:4px;align-self:flex-end}.mentor-msg.bot{background:color-mix(in srgb, var(--ink) 5%, transparent);border:1px solid var(--line);border-bottom-left-radius:4px}.mentor-red{color:var(--ink-3);align-self:flex-end;margin-top:-6px;font-size:12px}.mentor-msg code{background:color-mix(in srgb, var(--ink) 9%, transparent);font:13px var(--mono);border-radius:5px;padding:1px 5px}.mentor-pre{background:var(--code-bg);color:var(--code-ink);font:13px/1.55 var(--mono);white-space:pre-wrap;border-radius:10px;margin:6px 0;padding:10px 12px;overflow-x:auto}.mentor-msg .mentor-pre code{font:inherit;background:0 0;padding:0}.mentor-dots{color:var(--ink-3)}.mentor-err{background:var(--red-soft);color:var(--red);border-radius:10px;margin:0;padding:8px 12px;font-size:14px;font-weight:700}.mentor-retry{color:inherit;font:800 13px var(--font);cursor:pointer;background:0 0;border:1px solid;border-radius:8px;margin-top:6px;padding:4px 12px;display:block}.mentor-retry:disabled{opacity:.55;cursor:default;font-variant-numeric:tabular-nums}.mentor-ctx{background:var(--gold-soft);color:var(--gold);border-radius:10px;justify-content:space-between;align-items:center;gap:8px;margin:0 16px;padding:6px 10px;font-size:12.5px;font-weight:700;display:flex}.mentor-form{box-sizing:border-box;--mc-h:44px;--mc-r:12px;align-items:flex-end;gap:8px;width:100%;padding:10px 16px 6px;display:flex}.mentor-form textarea{box-sizing:border-box;resize:none;min-width:0;height:var(--mc-h);min-height:var(--mc-h);border-radius:var(--mc-r);border:1px solid var(--line);background:var(--bg);max-height:calc(7.25em + 22px);color:var(--ink);font:14.5px/1.45 var(--font);flex:1;padding:10px 12px;overflow-y:auto}.mentor-form button{box-sizing:border-box;height:var(--mc-h);border-radius:var(--mc-r);background:var(--accent);color:var(--on-accent);font:800 14px var(--font);cursor:pointer;border:1px solid #0000;flex:none;justify-content:center;align-items:center;padding:0 16px;display:inline-flex}.mentor-form button:disabled{opacity:.45;cursor:default}.mentor-send-ico{display:none}.mentor-privacy{color:var(--ink-3);overflow-wrap:anywhere;box-sizing:border-box;margin:0;padding:4px 16px 12px;font-size:12px;line-height:1.4}.ask-mentor{margin-left:8px}.explain-err{color:var(--c-fn);font:700 13.5px var(--mono);cursor:pointer;background:0 0;border:0;margin:8px 0 0;padding:0;text-decoration:underline;display:block}@keyframes mentor-in{0%{opacity:0;transform:translate(24px)}}@media (max-width:720px){.mentor-fab{--fab:48px;bottom:12px;right:12px}.toasts{bottom:70px}.mentor-backdrop{z-index:99;background:#00000059;display:block;position:fixed;inset:0}.mentor-panel{top:auto;left:0;right:0;bottom:var(--vvb,0px);box-sizing:border-box;width:100%;max-width:100%;height:min(78vh, 78dvh, 640px, var(--vvh,100vh));border-left:0;border-top:1px solid var(--line);border-radius:18px 18px 0 0;animation-name:mentor-up;overflow-x:hidden;box-shadow:0 -12px 32px #1c22302e}.mentor-privacy{padding-bottom:max(12px, env(safe-area-inset-bottom));font-size:11.5px}.mentor-form textarea{font-size:16px}}@media (max-width:480px){.mentor-form,.mentor-privacy{padding-left:12px;padding-right:12px}.mentor-form button{width:var(--mc-h);padding:0}.mentor-send-txt{display:none}.mentor-send-ico{display:block}}@keyframes mentor-up{0%{opacity:0;transform:translateY(32px)}}@media (prefers-reduced-motion:reduce){.mentor-panel,.mentor-fab,.mentor-fab .bot,.mentor-fab .bot-blink,.mentor-fab .bot-light,.mentor-fab .bot-arm-r,.mentor-tip,.bot-pupil,.bot-arm{transition:none!important;animation:none!important}.mentor-fab:hover{transform:none}}@media print{.mentor-fab,.mentor-panel,.mentor-backdrop,.ask-mentor{display:none!important}}.legal-page{max-width:860px;margin:0 auto;padding:36px 28px 40px}.legal-page .hero{margin-bottom:44px}.legal-page .legal-date{z-index:1;opacity:.7;margin:0;font-size:14px;position:relative}.legal-sec{margin-bottom:44px}.legal-sec h2{font-size:clamp(22px,3vw,28px)}.legal-sec a{color:var(--accent);overflow-wrap:anywhere}.site-footer{flex-wrap:wrap;justify-content:center;gap:20px;padding:24px 28px 36px;font-size:13px;display:flex}.site-footer a{color:var(--ink-3);text-decoration:none}.site-footer a:hover{color:var(--accent);text-decoration:underline}@media (max-width:640px){.legal-page{padding:24px 16px}.legal-page .hero{padding:28px 22px 24px}}.auth-legal .auth-item{color:var(--ink-2);padding-top:6px;padding-bottom:6px;font-size:13px}
