@font-face{font-family:plus jakarta sans variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/plus-jakarta-sans-latin-ext-wght-normal.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:plus jakarta sans variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/plus-jakarta-sans-latin-wght-normal.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(/fonts/source-serif-4-latin-ext-opsz-normal.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(/fonts/source-serif-4-latin-opsz-normal.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:italic;font-display:swap;font-weight:200 900;src:url(/fonts/source-serif-4-latin-ext-opsz-italic.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:italic;font-display:swap;font-weight:200 900;src:url(/fonts/source-serif-4-latin-opsz-italic.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:jetbrains mono variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/fonts/jetbrains-mono-latin-ext-wght-normal.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:jetbrains mono variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/fonts/jetbrains-mono-latin-wght-normal.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{--accent:#2442C8;--accent-hover:color-mix(in srgb, var(--accent) 78%, #000000);--accent-soft:color-mix(in srgb, var(--accent) 9%, #ffffff);--accent-line:color-mix(in srgb, var(--accent) 28%, #ffffff);--accent-on-dark:color-mix(in srgb, var(--accent) 40%, #ffffff);--ground:#F5F6F8;--surface:#FFFFFF;--ink:#111522;--ink-2:#1F2433;--text-2:#3A4152;--muted:#4B5366;--line:#DDE1E8;--line-soft:#E6E9EE;--chip:#EEF0F4;--border-strong:#C9CED8;--warm:#9A4708;--warm-soft:#FFF6EC;--warm-line:#F1D9BF;--warm-text:#4A3A2C;--code-bg:#141925;--code-bar:#262D3D;--code-text:#E6E9F2;--sans:"Plus Jakarta Sans Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--serif:"Source Serif 4 Variable", Georgia, "Times New Roman", serif;--mono:"JetBrains Mono Variable", ui-monospace, "Cascadia Code", Consolas, monospace;--radius:14px}*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.5}img,svg{max-width:100%}a{color:var(--accent)}a:hover{color:var(--accent-hover)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:4px}.wrap{max-width:1200px;margin:0 auto;padding-inline:24px}.wrap--wide{max-width:1240px}.skip{position:absolute;left:-9999px;top:8px;background:var(--surface);padding:10px 16px;border-radius:8px;z-index:10}.skip:focus{left:8px}.mono{font-family:var(--mono)}.btn{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:12px 20px;border-radius:10px;border:1.5px solid transparent;font-family:var(--sans);font-size:15px;font-weight:700;text-decoration:none;line-height:1.2}.btn--lg{padding:14px 22px;font-size:16px}.btn--primary{background:var(--accent);color:#fff}.btn--primary:hover{background:var(--accent-hover);color:#fff}.btn--outline{background:var(--surface);border-color:var(--border-strong);color:var(--ink)}.btn--outline:hover{border-color:var(--ink);color:var(--ink)}.btn--warm{background:var(--warm);color:#fff}.btn--warm:hover{background:#7c3906;color:#fff}.site-header{background:var(--surface);border-bottom:1px solid var(--line)}.site-header__inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding-block:12px}.logo{display:flex;align-items:center;gap:10px;min-height:44px;color:var(--ink);text-decoration:none;font-size:20px;font-weight:800;letter-spacing:-.02em}.logo:hover{color:var(--ink)}.logo svg{color:var(--accent);flex:none}.logo__ai{color:var(--accent)}.nav{display:flex;flex-wrap:wrap;align-items:center;gap:0}.nav a{display:flex;align-items:center;gap:6px;padding:12px 10px;font-size:15px;font-weight:600;color:var(--ink);text-decoration:none}.nav a:hover{color:var(--accent)}.nav a[aria-current]{color:var(--accent);font-weight:700}.nav .nav__locked{color:var(--warm);font-weight:700}.nav .nav__locked:hover,.nav .nav__locked[aria-current]{color:#7c3906}.zone-nav{background:var(--warm-soft);border-top:1px solid var(--warm-line)}.zone-nav__inner{display:flex;flex-wrap:wrap;align-items:center;gap:4px 20px;padding-block:4px}.zone-nav__label{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--warm)}.zone-nav__links{display:flex;flex-wrap:wrap;align-items:center}.zone-nav__links a{display:flex;align-items:center;min-height:44px;padding:0 12px;font-size:15px;font-weight:600;color:var(--warm-text);text-decoration:none;border-bottom:2px solid transparent}.zone-nav__links a:hover{color:var(--warm)}.zone-nav__links a[aria-current]{color:var(--warm);font-weight:700;border-bottom-color:var(--warm)}.hero{display:flex;flex-wrap:wrap;align-items:center;gap:48px;padding-top:72px;padding-bottom:64px}.hero__text{flex:1 1 480px;min-width:0;display:flex;flex-direction:column;gap:20px}.hero__eyebrow{margin:0;font-size:14px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.hero h1{margin:0;font-size:clamp(38px,5vw,58px);line-height:1.05;font-weight:800;letter-spacing:-.03em}.hero__lead{margin:0;font-size:19px;line-height:1.6;color:var(--muted);max-width:560px}.hero__actions{display:flex;flex-wrap:wrap;gap:12px;padding-top:8px}.hero__card-wrap{flex:1 1 420px;min-width:0}.preview{display:flex;flex-direction:column;gap:18px;padding:28px;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:0 1px 2px rgba(17,21,34,4%),0 16px 40px rgba(17,21,34,7%);color:var(--ink);text-decoration:none}.preview:hover{color:var(--ink);border-color:var(--accent-line)}.preview__top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px}.preview__title{margin:0;font-size:26px;font-weight:800;letter-spacing:-.02em;line-height:1.2}.preview__net{width:100%;height:auto;display:block;color:var(--accent)}.preview__desc{margin:0;font-family:var(--serif);font-size:17px;line-height:1.6;color:var(--muted)}.pill{display:inline-block;padding:6px 12px;border-radius:999px;font-size:13px;font-weight:700;line-height:1.3}.pill--accent{color:var(--accent);background:var(--accent-soft)}.pill--grey{color:var(--text-2);background:var(--chip)}.meta-small{font-size:13px;color:var(--muted)}.block{display:flex;flex-direction:column;gap:24px;padding-bottom:64px}.block__head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px}.block__head h2,.block>h2{margin:0;font-size:32px;font-weight:800;letter-spacing:-.02em}.block__head p{margin:6px 0 0;font-size:17px;color:var(--muted)}.link-strong{padding:12px 0;font-size:15px;font-weight:700;text-decoration:none}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px}.card{display:flex;flex-direction:column;gap:10px;min-height:200px;padding:26px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);text-decoration:none}.card:hover{color:var(--ink);border-color:var(--accent-line)}.card__num{font-family:var(--mono);font-size:13px;font-weight:500;color:var(--accent)}.card__title{font-size:22px;font-weight:800;letter-spacing:-.01em}.card__desc{font-size:15px;line-height:1.55;color:var(--muted)}.card__more{margin-top:auto;padding-top:8px;font-size:14px;font-weight:700;color:var(--accent)}.card--accent{background:var(--accent-soft);border-color:var(--accent-line)}.card--accent .card__desc{color:var(--text-2)}.list{list-style:none;margin:0;padding:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.list>li+li{border-top:1px solid var(--line-soft)}.recent__row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;padding:18px 24px;color:var(--ink);text-decoration:none}.recent__row:hover{color:var(--ink);background:#fafbfc}.recent__date{min-width:96px;font-family:var(--mono);font-size:13px;color:var(--muted)}.recent__title{flex:1 1 320px;font-size:17px;font-weight:700}.duo{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px;padding-bottom:80px}.panel{display:flex;flex-direction:column;gap:14px;padding:32px;background:var(--surface);border:1px solid var(--line);border-radius:16px}.panel h2{margin:0;font-size:26px;font-weight:800;letter-spacing:-.02em}.panel p{margin:0;font-size:16px;line-height:1.6;color:var(--muted)}.panel .btn{align-self:flex-start;margin-top:6px}.panel__icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--accent-soft);color:var(--accent)}.panel--warm{background:var(--warm-soft);border-color:var(--warm-line)}.panel--warm p{color:var(--warm-text)}.panel--warm .panel__icon{background:var(--surface);border:1px solid var(--warm-line);color:var(--warm)}.site-footer{background:var(--ink);color:#c7ccd8}.site-footer__inner{display:flex;flex-wrap:wrap;justify-content:space-between;gap:24px;padding-top:40px;padding-bottom:20px}.site-footer__brand{display:flex;flex-direction:column;gap:8px;font-size:14px}.site-footer__logo{font-size:18px;font-weight:800;color:#fff}.site-footer__logo span{color:var(--accent-on-dark)}.site-footer nav{display:flex;flex-wrap:wrap;align-items:center;gap:0 20px;font-size:14px}.site-footer a{padding:12px 0;color:#c7ccd8;text-decoration:none}.site-footer a:hover{color:#fff}.site-footer__copy{padding-bottom:32px;font-size:13px;color:#9aa1b2}.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-top:20px;font-size:14px;color:var(--muted)}.crumbs a{padding:8px 0;color:var(--muted);text-decoration:none}.crumbs a:hover{color:var(--accent)}.crumbs [aria-current]{color:var(--ink);font-weight:600}.layout{display:grid;gap:40px;align-items:start;padding-top:24px;padding-bottom:80px}.layout--section{grid-template-columns:240px minmax(0,1fr)}.layout--lesson{grid-template-columns:240px minmax(0,1fr)200px}.layout--plain{grid-template-columns:minmax(0,1fr)}.side summary{display:none;list-style:none;cursor:pointer;padding:12px 16px;border:1px solid var(--line);border-radius:10px;background:var(--surface);font-weight:700}.side summary::-webkit-details-marker{display:none}.side__label{margin:0 0 8px;padding:0 12px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.side__list{display:flex;flex-direction:column;gap:2px}.side__back{display:flex;align-items:center;gap:8px;padding:10px 12px;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);text-decoration:none}.side__back:hover{color:var(--accent)}.side__link{display:flex;gap:10px;padding:10px 12px;border-radius:10px;font-size:14px;font-weight:500;line-height:1.4;color:var(--ink);text-decoration:none}.side__link--big{padding:11px 12px;font-size:15px;font-weight:600;align-items:center}.side__link:hover{color:var(--accent);background:rgba(17,21,34,3%)}.side__link .mono{font-size:12px;color:var(--muted);padding-top:2px}.side__link--big .mono{padding-top:0}.side__link[aria-current]{background:var(--accent-soft);color:var(--accent);font-weight:700}.side__link[aria-current] .mono{color:var(--accent)}.section-intro{display:flex;flex-direction:column;gap:12px;max-width:760px;margin-bottom:28px}.section-intro__num{margin:0;font-family:var(--mono);font-size:13px;font-weight:500;color:var(--accent)}.section-intro h1,.page-title{margin:0;font-size:clamp(34px,4.5vw,48px);line-height:1.08;font-weight:800;letter-spacing:-.03em;color:var(--ink)}.section-intro__lead{margin:0;font-family:var(--serif);font-size:19px;line-height:1.65;color:var(--text-2)}.section-intro__lead p{margin:0}.section-intro__lead p+p{margin-top:12px}.chips{display:flex;flex-wrap:wrap;gap:8px;padding-top:4px}.lesson-row{display:flex;align-items:flex-start;gap:18px;padding:22px 24px;color:var(--ink);text-decoration:none}.lesson-row:hover{color:var(--ink);background:#fafbfc}.lesson-row__num{flex:none;width:40px;height:40px;border-radius:999px;border:1.5px solid var(--accent-line);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:14px;font-weight:500;color:var(--accent)}.lesson-row__body{flex:auto;min-width:0;display:flex;flex-direction:column;gap:4px}.lesson-row__title{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:18px;font-weight:700}.lesson-row__desc{font-size:15px;line-height:1.5;color:var(--muted)}.lesson-row__time{flex:none;padding-top:10px;font-size:13px;color:var(--muted);white-space:nowrap}.badge-new{padding:3px 9px;border-radius:999px;background:var(--accent);color:#fff;font-size:12px;font-weight:700}.empty{padding:28px 24px;background:var(--surface);border:1px dashed var(--border-strong);border-radius:var(--radius);color:var(--muted);font-size:16px}.boxes{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:28px}.box{display:flex;flex-direction:column;gap:12px;padding:26px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.box p{margin:0}.box .btn{align-self:flex-start;margin-top:4px}.box__kicker{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700}.box__title{font-size:20px;font-weight:800;letter-spacing:-.01em}.box__text{font-size:15px;line-height:1.55}.box--warm{background:var(--warm-soft);border-color:var(--warm-line)}.box--warm .box__kicker{color:var(--warm)}.box--warm .box__text{color:var(--warm-text)}.box--accent{background:var(--accent-soft);border-color:var(--accent-line)}.box--accent .box__kicker{color:var(--accent)}.box--accent .box__text{color:var(--text-2)}.notice-warm{display:flex;gap:12px;align-items:flex-start;margin-bottom:28px;padding:18px 20px;background:var(--warm-soft);border:1px solid var(--warm-line);border-radius:var(--radius);color:var(--warm-text);font-size:15px;line-height:1.55}.notice-warm svg{color:var(--warm);flex:none;margin-top:2px}.lesson-head{display:flex;flex-direction:column;gap:14px;margin-bottom:22px}.lesson-meta{display:flex;flex-wrap:wrap;gap:6px 14px;margin:0;font-size:14px;color:var(--muted)}.lesson-meta strong{color:var(--accent)}.lesson-head h1{margin:0;font-size:clamp(34px,4.5vw,46px);line-height:1.1;font-weight:800;letter-spacing:-.03em}.lead{margin:0 0 22px;font-family:var(--serif);font-size:22px;line-height:1.6;color:var(--text-2)}.prose{max-width:720px;font-family:var(--serif);font-size:19px;line-height:1.7;color:var(--ink-2)}.prose>*{margin:0}.prose>*+*{margin-top:22px}.prose h2{margin-top:44px;font-family:var(--sans);font-size:28px;line-height:1.25;font-weight:800;letter-spacing:-.02em;color:var(--ink);scroll-margin-top:16px}.prose h3{margin-top:32px;font-family:var(--sans);font-size:21px;line-height:1.3;font-weight:700;color:var(--ink);scroll-margin-top:16px}.prose h2+*,.prose h3+*{margin-top:12px}.prose ul,.prose ol{padding-left:1.3em}.prose li+li{margin-top:6px}.prose li::marker{color:var(--accent)}.prose a{text-decoration-thickness:1px;text-underline-offset:3px}.prose strong{font-weight:650;color:var(--ink)}.prose :not(pre)>code{padding:2px 6px;border-radius:6px;background:var(--chip);font-family:var(--mono);font-size:.82em;color:var(--ink)}.prose blockquote{margin-left:0;margin-right:0;padding:4px 0 4px 20px;border-left:3px solid var(--line);color:var(--text-2);font-style:italic}.prose hr{border:0;border-top:1px solid var(--line)}.formula{padding:22px 24px;overflow-x:auto;text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);font-size:1.2em;color:var(--ink)}.formula math{font-size:1.1em}.prose figure{display:flex;flex-direction:column;gap:12px}.prose figure img{display:block;width:100%;height:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.prose figcaption{font-family:var(--sans);font-size:14px;line-height:1.5;color:var(--muted)}.prose img{border-radius:8px}.table-wrap{overflow-x:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.table-wrap table{width:100%;min-width:520px;border-collapse:collapse;font-family:var(--sans);font-size:15px;line-height:1.5}.table-wrap th,.table-wrap td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--line-soft);vertical-align:top}.table-wrap thead tr{background:#f0f2f5}.table-wrap th{font-weight:700}.table-wrap tbody tr:last-child td{border-bottom:0}.table-wrap td:first-child{font-weight:700}.table-wrap .align-center{text-align:center}.table-wrap .align-right{text-align:right}.callout{display:flex;gap:16px;padding:22px 24px;background:var(--accent-soft);border-radius:var(--radius);font-family:var(--sans);font-size:16px;line-height:1.6;color:var(--ink-2)}.callout__icon{flex:none;width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:var(--surface);color:var(--accent)}.callout__body>*{margin:0}.callout__body>*+*{margin-top:8px}.callout__title{font-size:15px;font-weight:800;color:var(--accent)}.callout--warning,.callout--caution{background:var(--warm-soft)}.callout--warning .callout__icon,.callout--caution .callout__icon{color:var(--warm)}.callout--warning .callout__title,.callout--caution .callout__title{color:var(--warm)}.code{background:var(--code-bg);border-radius:var(--radius);overflow:hidden}.code__bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 8px 6px 18px;border-bottom:1px solid var(--code-bar)}.code__lang{font-family:var(--mono);font-size:13px;color:#a9b1c3}.code__copy{display:flex;align-items:center;gap:6px;min-height:44px;padding:0 14px;border:0;border-radius:8px;background:0 0;cursor:pointer;font-family:var(--sans);font-size:13px;font-weight:700;color:#c7ccd8}.code__copy:hover{background:rgba(255,255,255,6%);color:#fff}.code pre{margin:0;padding:20px 22px;overflow-x:auto;font-family:var(--mono);font-size:14.5px;line-height:1.7;color:var(--code-text);background:0 0}.code .highlight{margin:0}.chroma{background:0 0;color:var(--code-text)}.chroma .k,.chroma .kc,.chroma .kd,.chroma .kn,.chroma .kp,.chroma .kr,.chroma .kt,.chroma .ow{color:#9fb0ff}.chroma .c,.chroma .ch,.chroma .cm,.chroma .c1,.chroma .cs,.chroma .cp,.chroma .cpf{color:#8a93a6;font-style:italic}.chroma .m,.chroma .mb,.chroma .mf,.chroma .mh,.chroma .mi,.chroma .il,.chroma .mo,.chroma .s,.chroma .sa,.chroma .sb,.chroma .sc,.chroma .dl,.chroma .sd,.chroma .s2,.chroma .se,.chroma .sh,.chroma .si,.chroma .sx,.chroma .sr,.chroma .s1,.chroma .ss{color:#f2c58c}.chroma .nf,.chroma .fm,.chroma .nc{color:#8fd3c1}.chroma .nb,.chroma .bp{color:#c9b6ff}.chroma .nd,.chroma .na{color:#9fb0ff}.chroma .err{color:#ff9c9c}.chroma .hl{display:block;background:rgba(255,255,255,7%)}.task-box{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-top:36px;padding:24px;background:var(--warm-soft);border:1px solid var(--warm-line);border-radius:var(--radius)}.task-box__text{flex:1 1 300px;display:flex;flex-direction:column;gap:6px}.task-box__text p{margin:0}.pager{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:28px}.pager a{display:flex;flex-direction:column;gap:4px;padding:18px 20px;background:var(--surface);border:1px solid var(--line);border-radius:12px;color:var(--ink);text-decoration:none}.pager a:hover{border-color:var(--accent-line);color:var(--ink)}.pager__label{font-size:13px;color:var(--muted)}.pager__title{font-size:16px;font-weight:700}.pager__next{text-align:right;grid-column:-2/-1}.ask{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-top:28px;padding:20px 24px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.ask p{flex:1 1 300px;margin:0;font-size:16px;line-height:1.55;color:var(--ink-2)}.ask .mono{font-size:14px;color:var(--accent)}.toc{position:sticky;top:16px;font-size:14px}.toc ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.toc a{display:block;padding:9px 12px;border-radius:8px;color:var(--text-2);font-weight:500;text-decoration:none}.toc a:hover{color:var(--accent)}.toc a.is-active{background:var(--accent-soft);color:var(--accent);font-weight:700}@media(max-width:1100px){.layout--lesson{grid-template-columns:240px minmax(0,1fr)}.toc{display:none}}@media(max-width:899px){.layout--section,.layout--lesson{grid-template-columns:minmax(0,1fr);gap:24px}.side summary{display:block}.side__label{display:none}.side__list{margin-top:8px}.hero{padding-top:40px;gap:32px}.prose{font-size:18px}.lead{font-size:20px}}@media(max-width:520px){.wrap{padding-inline:16px}.lesson-row{gap:14px;padding:18px 16px}.lesson-row__time{display:none}.panel{padding:24px}.formula{font-size:1em;padding:18px 16px}}