:root{--course-ink:#162033;--course-muted:#667085;--course-line:#dce3ea;--course-paper:#fff;--course-soft:#f2f7f5;--course-accent:#1f704f;--course-lime:#b7dc52}
html[data-theme-effective=dark]{--course-ink:#f3f7f5;--course-muted:#c5d0c9;--course-line:#425449;--course-paper:#17211c;--course-soft:#1c2b23;--course-accent:#bfe76a;--course-lime:#c7f443}
.language-article{padding:62px 0}.language-article>header{max-width:820px;margin-bottom:30px}.language-article>header small{color:var(--course-accent);font-size:.74rem;font-weight:900;letter-spacing:.13em}.language-article>header h2{margin:8px 0 16px;font-size:clamp(2rem,4vw,3.4rem);line-height:1.08;letter-spacing:-.045em}.language-article>header p{color:var(--course-muted);font-size:1.08rem;line-height:1.75}.aspect-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.aspect-grid article{padding:26px;border:1px solid var(--course-line);border-radius:16px;background:var(--course-paper)}.aspect-grid article>span{color:var(--course-accent);font:800 .74rem ui-monospace,monospace}.aspect-grid h3{margin:10px 0 9px;font-size:1.15rem}.aspect-grid p{margin:0;color:var(--course-muted);line-height:1.67}@media(max-width:820px){.aspect-grid{grid-template-columns:1fr}}
.course-page{max-width:1180px;margin:auto;padding:34px 28px 72px;color:var(--course-ink)}.course-back{display:inline-block;margin-bottom:34px;color:var(--course-accent);font-weight:800;text-decoration:none}.course-hero{padding:56px 0 64px;border-bottom:1px solid var(--course-line);background:radial-gradient(circle at 82% 25%,color-mix(in srgb,var(--course-lime) 22%,transparent),transparent 28%)}.course-hero>span,.course-path header small,.course-intro small,.first-source small,.course-context small,.course-meta small{color:var(--course-accent);font-size:.74rem;font-weight:900;letter-spacing:.13em}.course-hero h1{max-width:900px;margin:14px 0 20px;font-size:clamp(3rem,7vw,6.4rem);line-height:.92;letter-spacing:-.06em}.course-hero p{max-width:760px;margin:0 0 26px;color:var(--course-muted);font-size:1.25rem;line-height:1.65}.course-hero a{display:inline-block;padding:12px 18px;border-radius:9px;background:var(--course-accent);color:#fff;text-decoration:none;font-weight:800}html[data-theme-effective=dark] .course-hero a{color:#122018}.course-intro{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,.8fr);gap:60px;padding:64px 0}.course-intro h2,.course-path h2,.first-source h2,.course-context h2{margin:7px 0 18px;font-size:2.2rem;letter-spacing:-.035em}.course-intro p,.course-path header p,.first-source p,.course-context p{color:var(--course-muted);font-size:1.03rem;line-height:1.75}.course-intro aside{display:grid;gap:12px}.course-intro aside div{padding:18px;border:1px solid var(--course-line);border-radius:12px;background:var(--course-soft)}.course-intro aside b,.course-intro aside span{display:block}.course-intro aside span{margin-top:4px;color:var(--course-muted);font-size:.88rem}.course-path{padding:58px;border-radius:24px;background:#102a20;color:#fff}.course-path header{max-width:760px}.course-path header small{color:var(--course-lime)}.course-path h2{color:#fff}.course-path header p{color:#d9e5de}.course-modules{display:grid;gap:14px;margin-top:36px}.course-modules details{overflow:hidden;border:1px solid #ffffff2b;border-radius:14px;background:#ffffff0b}.course-modules summary{display:grid;grid-template-columns:180px 1fr 36px;gap:18px;align-items:center;padding:20px;cursor:pointer}.course-modules summary span{color:var(--course-lime);font-size:.73rem;font-weight:900;letter-spacing:.08em}.course-modules summary b{font-size:1.05rem}.course-modules summary em{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#ffffff18;font-style:normal}.lesson-list{padding:0 14px 14px}.lesson{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;padding:18px;border-top:1px solid #ffffff20;background:#ffffff08}.lesson:first-child{border-radius:10px 10px 0 0}.lesson:last-child{border-radius:0 0 10px 10px}.lesson span{color:#b8c8bf;font-size:.72rem;font-weight:800;text-transform:uppercase}.lesson.ready span{color:var(--course-lime)}.lesson h3{margin:5px 0;font-size:1rem}.lesson p{margin:0;color:#ccd9d1;font-size:.9rem}.lesson a{padding:9px 12px;border:1px solid #ffffff38;border-radius:8px;color:#fff;text-decoration:none;font-size:.82rem;font-weight:800}.lesson>em{color:#9faea6;font-size:.78rem;font-style:normal}.first-source{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:52px;align-items:start;padding:68px 0}.first-source pre{margin:0;overflow:auto;border-radius:16px;background:#1e1e1e;color:#d4d4d4;padding:26px;line-height:1.7}.source-result{margin-top:24px;padding:18px;border-left:4px solid var(--course-accent);background:var(--course-soft)}.source-result p{margin:5px 0 0}.course-context{display:grid;grid-template-columns:1fr 1fr;gap:20px}.course-context article{padding:28px;border:1px solid var(--course-line);border-radius:16px;background:var(--course-paper)}.course-context a{color:var(--course-accent);font-weight:800;text-decoration:none}.course-meta{display:grid;grid-template-columns:2fr 1fr;gap:42px;margin-top:58px;padding-top:36px;border-top:1px solid var(--course-line)}.course-meta ol{padding-left:20px}.course-meta li{margin:12px 0;color:var(--course-muted);line-height:1.6}.course-meta a{color:var(--course-accent)}.course-meta dl{margin:0}.course-meta dl div{padding:10px 0;border-bottom:1px solid var(--course-line)}.course-meta dt{color:var(--course-muted);font-size:.77rem;font-weight:800}.course-meta dd{margin:5px 0 0}@media(max-width:820px){.course-intro,.first-source,.course-context,.course-meta{grid-template-columns:1fr}.course-path{padding:34px 24px}.course-modules summary{grid-template-columns:1fr 34px}.course-modules summary span{grid-column:1}.course-modules summary b{grid-column:1}.course-modules summary em{grid-column:2;grid-row:1/3}.lesson{grid-template-columns:1fr}.lesson a{justify-self:start}}@media(max-width:560px){.course-page{padding:24px 18px 52px}.course-hero{padding:38px 0 48px}.course-hero h1{font-size:3.1rem}.course-path{margin-inline:-8px;padding:28px 16px}.course-modules summary{padding:17px}.lesson{padding:16px}}
