@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");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:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-cyrillic-ext-wght-normal-DHTKMUil.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-cyrillic-wght-normal-B1g8a0vD.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-greek-wght-normal-BpXpdlRW.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-vietnamese-wght-normal-BsaNuasd.woff2)format("woff2-variations");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:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-latin-ext-wght-normal-BVZ5su8S.woff2)format("woff2-variations");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:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-latin-wght-normal-DMe4EKeb.woff2)format("woff2-variations");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}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fff;--surface:#f4f6f8;--card:#fff;--field:#f8fafb;--ink:#141820;--muted:#4b5563;--line:#dde2e8;--accent:#1f5f55;--accent-bg:#e3f0ec;--private:#7a2e2e;--private-bg:#f6e4e2;--note:#2f5ea8;--note-bg:#eef3fb;--warn:#8a5600;--warn-bg:#fdf3dc;--tip:#1f6b3a;--tip-bg:#e6f4ea;--code-bg:#f1f3f6;--mark:#f6e3a1;--focus:#b45309;--danger:#9b1c1c;--danger-bg:#f8e4e4;--disabled:#7a8492;--skeleton:#d3dae2;--shadow:0 10px 28px -18px #14182059;--serif:"Source Serif 4 Variable", "Iowan Old Style", Georgia, serif;--sans:"Inter Variable", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;--code:ui-monospace, "SF Mono", Menlo, Consolas, monospace}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0f1216;--surface:#161a20;--card:#1a1f26;--field:#1d232b;--ink:#e8ebef;--muted:#a3adba;--line:#2b323c;--accent:#7cc4b4;--accent-bg:#18302b;--private:#f0a8a0;--private-bg:#3a1f1d;--note:#8db4ee;--note-bg:#17233a;--warn:#e6b866;--warn-bg:#33270e;--tip:#86d1a0;--tip-bg:#15301f;--code-bg:#1d232b;--mark:#5c4a12;--focus:#f0a35e;--danger:#f2a0a0;--danger-bg:#3a1c1c;--disabled:#6b7480;--skeleton:#2b323c;--shadow:0 10px 28px -18px #000c}}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.6}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit;text-underline-offset:3px}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}img{max-width:100%}h1,h2,h3{font-family:var(--serif);letter-spacing:-.01em;margin:0;font-weight:700;line-height:1.2}h1{font-size:36px}h2{font-size:24px}h3{font-size:19px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.muted{color:var(--muted)}.lede{color:var(--muted);margin:12px 0 0;font-size:19px;line-height:1.55}.shell{flex-direction:column;min-height:100vh;display:flex}.topbar{border-bottom:1px solid var(--line);background:var(--bg);z-index:10;align-items:center;gap:20px;padding:12px 28px;display:flex;position:sticky;top:0}.brand{font-family:var(--serif);white-space:nowrap;font-size:20px;font-weight:700;text-decoration:none}.topbar-search{width:min(320px,40vw);margin-left:auto}.account{align-items:center;gap:16px;min-width:0;display:flex}.who{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:220px;font-size:14px;overflow:hidden}.main{flex:1;padding:36px 28px 72px}.page-wide{max-width:1120px;margin:0 auto}.page-narrow{max-width:760px;margin:0 auto}.label{color:var(--muted);margin-bottom:6px;font-size:13px;font-weight:500;display:block}.field{border:1px solid var(--line);background:var(--field);border-radius:8px;width:100%;min-height:48px;padding:12px 16px}.field-compact{min-height:38px;padding:7px 12px;font-size:15px}.field.otp{letter-spacing:.3em;text-align:center;font-size:24px}.btn{border:0;border-radius:8px;justify-content:center;align-items:center;width:100%;min-height:48px;padding:12px 16px;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary{background:var(--ink);color:var(--bg)}.btn-primary:disabled{background:var(--skeleton);color:var(--disabled)}.btn-secondary{background:var(--card);color:var(--ink);border:1px solid var(--line)}.btn-ghost{width:auto;color:var(--ink);background:0 0}.btn-inline{width:auto;min-height:42px;padding:9px 16px}.linkish{color:var(--muted);background:0 0;border:0;padding:0;font-size:14px}.linkish:hover{color:var(--ink);text-decoration:underline}.banner{background:var(--danger-bg);color:var(--danger);border-radius:8px;margin:12px 0;padding:12px 16px}.err{color:var(--danger);margin:4px 0 0;font-size:14px}.empty{border:1px solid var(--line);background:var(--surface);text-align:center;color:var(--muted);border-radius:8px;padding:24px 16px}.login-screen{min-height:100vh;padding:max(16px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom));background:var(--surface);place-items:center;display:grid}.login-card{background:var(--card);border:1px solid var(--line);width:min(420px,100%);box-shadow:var(--shadow);border-radius:12px;padding:32px 28px}.login-card h1{font-size:30px}.login-card>.muted{margin:8px 0 0}.stack{flex-direction:column;gap:12px;margin-top:20px;display:flex}.hint{margin:0;font-size:14px}.pass-wrap{position:relative}.pass-wrap button{min-height:40px;position:absolute;top:4px;right:4px}.auth-links{flex-direction:column;align-items:center;gap:12px;margin-top:20px;display:flex}.auth-links a{color:var(--ink);font-weight:500}.auth-links .linkish:disabled{color:var(--disabled);cursor:default;text-decoration:none}.meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 12px;margin:0;font-size:14px;display:flex}.src{color:var(--accent);font-weight:600}.kind,.tag{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:4px;padding:2px 8px;font-size:12px;font-weight:600;line-height:1.5;display:inline-block}.kind-lesson{background:var(--accent-bg);color:var(--accent);border-color:#0000}.badge-private{background:var(--private-bg);color:var(--private);border-radius:4px;padding:2px 8px;font-size:12px;font-weight:600;line-height:1.5;display:inline-block}.crumbs{color:var(--muted);flex-wrap:wrap;gap:4px 8px;margin-bottom:18px;font-size:14px;display:flex}.crumbs a{color:var(--muted)}.home-hero{max-width:760px}.home-hero h1{font-size:44px;line-height:1.1}.stats{flex-wrap:wrap;gap:32px;margin:22px 0 0;display:flex}.stats div{flex-direction:column-reverse;display:flex}.stats dt{color:var(--muted);font-size:13px}.stats dd{font-family:var(--serif);margin:0;font-size:28px;font-weight:700;line-height:1.2}.search-big{max-width:760px;margin:32px 0 8px;font-size:17px}.search-section{max-width:760px}.filters{flex-wrap:wrap;gap:8px;margin:16px 0 24px;display:flex}.filters button{border:1px solid var(--line);background:var(--card);border-radius:8px;padding:7px 14px;font-size:14px;font-weight:500}.filters button[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.topic-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:20px;margin:0;padding:0;list-style:none;display:grid}.topic-card{border:1px solid var(--line);background:var(--card);border-radius:12px;flex-direction:column;height:100%;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:flex;overflow:hidden}.topic-card:hover{border-color:var(--muted);box-shadow:var(--shadow)}.topic-card img{aspect-ratio:16/9;object-fit:cover;background:var(--surface);width:100%;display:block}.topic-card-band{background:var(--accent);height:6px;display:block}.topic-card-body{flex-direction:column;gap:10px;padding:18px 20px 22px;display:flex}.topic-card-title{font-family:var(--serif);font-size:22px;font-weight:700;line-height:1.25}.topic-card-summary{color:var(--muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:15px;display:-webkit-box;overflow:hidden}.results{margin:8px 0 0;padding:0;list-style:none}.results li{border-bottom:1px solid var(--line);padding:14px 0}.result-title{font-size:17px;font-weight:600}.doc-path{color:var(--muted);overflow-wrap:anywhere;margin-top:2px;font-size:13px;display:block}.snippet{color:var(--muted);margin:6px 0 0;font-size:15px}mark{background:var(--mark);color:var(--ink);border-radius:2px;padding:0 1px}.topic-cover{aspect-ratio:16/7;object-fit:cover;background:var(--surface);border-radius:12px;width:100%;margin-bottom:24px;display:block}.topic-head h1{margin-top:8px;font-size:38px;line-height:1.15}.lesson-card{border:1px solid var(--line);border-left:4px solid var(--accent);background:var(--card);border-radius:12px;margin-top:28px;padding:22px 24px}.lesson-card h2{margin:8px 0 16px;font-size:22px}.doc-rows{margin-top:36px}.doc-rows h2{margin-bottom:8px;font-size:20px}.doc-rows ul{margin:0;padding:0;list-style:none}.doc-rows li{border-top:1px solid var(--line);grid-template-columns:96px 1fr auto;align-items:baseline;gap:12px;padding:14px 0;display:grid}.doc-rows li:last-child{border-bottom:1px solid var(--line)}.doc-row-main a{font-weight:600;text-decoration:none}.doc-row-main a:hover{text-decoration:underline}.doc-row-main .badge-private{margin-left:8px}.doc-row-main p{color:var(--muted);margin:4px 0 0;font-size:14px}.doc-row-len{color:var(--muted);white-space:nowrap;font-size:13px}.reader{grid-template-columns:minmax(0,700px) 220px;justify-content:center;gap:56px;max-width:1120px;margin:0 auto;display:grid}.reader-main>.meta{margin-bottom:20px}.reader-side{position:relative}.toc{max-height:calc(100vh - 110px);font-size:14px;position:sticky;top:84px;overflow-y:auto}.toc-title{color:var(--muted);margin:0 0 8px;font-size:13px;font-weight:600}.toc ul{margin:0;padding:0;list-style:none}.toc a{border-left:2px solid var(--line);color:var(--muted);padding:5px 0 5px 12px;line-height:1.4;text-decoration:none;display:block}.toc .toc-sub a{padding-left:24px;font-size:13px}.toc a:hover{color:var(--ink)}.toc a[aria-current=location]{border-color:var(--accent);color:var(--ink);font-weight:600}.doc-title{margin-bottom:20px;font-size:40px;line-height:1.15}.prose{overflow-wrap:break-word;font-size:18px;line-height:1.75}.prose>:first-child{margin-top:0}.prose h1{margin:0 0 20px;font-size:40px;line-height:1.15}.prose h2{margin:44px 0 12px;scroll-margin-top:84px;font-size:27px}.prose h3{margin:32px 0 8px;scroll-margin-top:84px;font-size:21px}.prose h4,.prose h5,.prose h6{font-family:var(--sans);margin:24px 0 8px;font-size:17px}.prose p,.prose ul,.prose ol,.prose blockquote,.prose table,.prose pre,.prose dl{margin:0 0 18px}.prose ul,.prose ol{padding-left:26px}.prose li+li{margin-top:6px}.prose blockquote{border-left:3px solid var(--line);color:var(--muted);padding:2px 0 2px 18px}.prose code{font-family:var(--code);background:var(--code-bg);border-radius:4px;padding:1px 5px;font-size:.86em}.prose pre{background:var(--code-bg);border:1px solid var(--line);border-radius:8px;padding:14px 16px;font-size:15px;line-height:1.6;overflow-x:auto}.prose pre code{font-size:inherit;background:0 0;padding:0}.prose table{border-collapse:collapse;width:100%;font-size:16px;line-height:1.55}.prose th,.prose td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:9px 10px}.prose th{color:var(--muted);font-size:15px;font-weight:600}.prose>table,.prose .table-scroll{display:block;overflow-x:auto}.prose .table-scroll table{display:table}.prose img{border-radius:8px;height:auto}.prose hr{border:0;border-top:1px solid var(--line);margin:32px 0}.dead-link{-webkit-text-decoration:underline dotted var(--muted);text-decoration:underline dotted var(--muted)}.img-alt{color:var(--muted);font-size:15px}.keep-lines{white-space:pre-line}.page-hero{margin-bottom:28px}.page-hero h1{margin:0}.prose .page-hero .lede{margin:12px 0 0;font-size:20px}.prose .eyebrow,.eyebrow{color:var(--accent);margin:0 0 8px;font-size:14px;font-weight:600}.prose .tag-row,.tag-row{flex-wrap:wrap;gap:8px;margin:0 0 28px;padding:0;list-style:none;display:flex}.tag-row li+li{margin-top:0}.block-title,.prose figcaption{color:var(--muted);margin:0 0 8px;font-size:15px;font-weight:600}.prose figure{margin:0 0 22px}.prose figure>figcaption:last-child{margin:10px 0 0;font-weight:400}.callout{border-left:4px solid var(--note);background:var(--note-bg);border-radius:8px;margin:0 0 22px;padding:14px 18px;font-size:16px;line-height:1.6}.callout p{margin:0}.callout-title{font-weight:700;margin-bottom:4px!important}.callout-warn{border-color:var(--warn);background:var(--warn-bg)}.callout-tip{border-color:var(--tip);background:var(--tip-bg)}.steps{counter-reset:step;list-style:none;padding-left:0!important}.steps li{counter-increment:step;padding:0 0 6px 46px;position:relative}.steps li:before{content:counter(step);background:var(--ink);width:30px;height:30px;color:var(--bg);font:600 15px/30px var(--sans);text-align:center;border-radius:8px;position:absolute;top:2px;left:0}.steps strong{display:block}.steps span{color:var(--muted);font-size:16px;display:block}.key-value div{border-bottom:1px solid var(--line);grid-template-columns:minmax(120px,30%) 1fr;gap:12px;padding:8px 0;font-size:16px;display:grid}.key-value dt{font-weight:600}.key-value dd{color:var(--muted);margin:0}.card-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:0 0 22px;display:grid}.mini-card{border:1px solid var(--line);background:var(--card);border-radius:8px;padding:14px 16px;font-size:16px;line-height:1.55}.mini-card p{color:var(--muted);margin:6px 0 0}.comparison{grid-template-columns:1fr 1fr;gap:12px;margin:0 0 22px;font-size:16px;line-height:1.55;display:grid}.comparison>div{border:1px solid var(--line);border-radius:8px;padding:14px 16px}.comparison-before{background:var(--surface)}.comparison-after{background:var(--accent-bg);border-color:#0000!important}.comparison-label{margin:0 0 8px;font-weight:700}.comparison ul{margin:0;padding-left:20px}.accordion{margin:0 0 22px}.accordion details{border:1px solid var(--line);background:var(--card);border-radius:8px;margin-bottom:8px;padding:0 16px}.accordion summary{cursor:pointer;padding:12px 0;font-size:17px;font-weight:600}.accordion details p{margin:0 0 14px;font-size:16px;line-height:1.6}.diagram{border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:18px 20px}.flow{counter-reset:flow;margin:0;font-size:16px;line-height:1.5;list-style:none;padding:0!important}.flow>li{counter-increment:flow;border-bottom:1px dashed var(--line);flex-wrap:wrap;align-items:baseline;gap:6px 10px;padding:9px 0;display:flex}.flow>li:last-child{border-bottom:0}.flow>li:before{content:counter(flow) ".";color:var(--muted);min-width:22px;font-weight:600}.flow-decision .flow-label{font-weight:700}.flow-branches{color:var(--muted);flex-basis:100%;margin:2px 0 0 32px;font-size:15px;list-style:none;padding:0!important}.flow-branches li:before{content:"→ "}@media (width<=960px){.reader{grid-template-columns:minmax(0,1fr);gap:0}.reader-side{display:none}}@media (width<=720px){.topbar{flex-wrap:wrap;gap:10px 16px;padding:10px 16px}.topbar-search{order:3;width:100%;margin-left:0}.account{margin-left:auto}.who{display:none}.main{padding:24px 16px 56px}h1,.home-hero h1{font-size:32px}.topic-head h1,.doc-title,.prose h1{font-size:30px}.prose{font-size:17px}.prose h2{font-size:23px}.doc-rows li{grid-template-columns:1fr;gap:4px}.doc-rows .kind{justify-self:start}.comparison{grid-template-columns:1fr}.login-card{padding:24px 20px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
