.cs{--paper: #f5f2ea;--paper-2: #ece7db;--paper-3: #e2dccd;--card: #fbf9f4;--ink: #1b1b18;--ink-2: #45443e;--ink-3: #75736a;--ink-4: #a4a092;--rule: #d8d1c0;--rule-2: #c7bfab;--code-bg: #fdfcf8;--code-bar: #f1ece1;--out-bg: #f7f4ec;--err: #b3261e;--err-soft: rgb(179 38 30 / .08);--ok: #1e7b45;--ok-soft: rgb(30 123 69 / .1);--warn: #9a6200;--board: #e6ece2;--board-dot: rgb(40 70 45 / .13);--chip: #1d1f1c;--chip-2: #2a2d29;--chip-ink: #ecebe4;--chip-ink-2: #a9a89d;--copper: #b97b31;--tin: linear-gradient(180deg, #d8d4c9, #9f998b);--led-off: #4a4d47;--led-on: #3ad07a;--led-here: #ffb020;--shadow: 0 1px 2px rgb(40 30 10 / .06), 0 8px 24px -12px rgb(40 30 10 / .18);--p0: #55524b;--p1: #b86e00;--p2: #0d8078;--p3: #2d5bd0;--p4: #b0532b;--p5: #687a14;--p6: #1b7fbf;--p7: #bf2f66;--p8: #7a4cc2;--p9: #3f43ad;--p10: #cf3b1c;--p11: #17844a;--f-text: "IBM Plex Serif", Georgia, "Times New Roman", serif;--f-ui: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--f-head: "IBM Plex Sans Condensed", "IBM Plex Sans", system-ui, sans-serif;--f-code: "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--accent: var(--p3);--page: min(1180px, 100% - 32px);--prose: 44rem;color-scheme:light}.cs{--p0-ink: color-mix(in srgb, var(--p0) 80%, black);--p1-ink: color-mix(in srgb, var(--p1) 78%, black);--p2-ink: color-mix(in srgb, var(--p2) 80%, black);--p3-ink: color-mix(in srgb, var(--p3) 85%, black);--p4-ink: color-mix(in srgb, var(--p4) 82%, black);--p5-ink: color-mix(in srgb, var(--p5) 78%, black);--p6-ink: color-mix(in srgb, var(--p6) 82%, black);--p7-ink: color-mix(in srgb, var(--p7) 85%, black);--p8-ink: color-mix(in srgb, var(--p8) 85%, black);--p9-ink: color-mix(in srgb, var(--p9) 88%, black);--p10-ink: color-mix(in srgb, var(--p10) 82%, black);--p11-ink: color-mix(in srgb, var(--p11) 80%, black);--p0-soft: color-mix(in srgb, var(--p0) 11%, transparent);--p1-soft: color-mix(in srgb, var(--p1) 11%, transparent);--p2-soft: color-mix(in srgb, var(--p2) 11%, transparent);--p3-soft: color-mix(in srgb, var(--p3) 10%, transparent);--p4-soft: color-mix(in srgb, var(--p4) 11%, transparent);--p5-soft: color-mix(in srgb, var(--p5) 12%, transparent);--p6-soft: color-mix(in srgb, var(--p6) 11%, transparent);--p7-soft: color-mix(in srgb, var(--p7) 10%, transparent);--p8-soft: color-mix(in srgb, var(--p8) 10%, transparent);--p9-soft: color-mix(in srgb, var(--p9) 10%, transparent);--p10-soft: color-mix(in srgb, var(--p10) 10%, transparent);--p11-soft: color-mix(in srgb, var(--p11) 11%, transparent);--accent-ink: color-mix(in srgb, var(--accent) 85%, black);--accent-soft: color-mix(in srgb, var(--accent) 10%, transparent)}@media (prefers-color-scheme: dark){:root:not([data-cs-theme=light]) .cs{--dark: 1}}@media (prefers-color-scheme: dark){:root:not([data-cs-theme=light]) .cs{--paper: #0e1311;--paper-2: #141a17;--paper-3: #1b2320;--card: #121815;--ink: #e4e7df;--ink-2: #bcc1b6;--ink-3: #8a9186;--ink-4: #5d655c;--rule: #27302b;--rule-2: #36413b;--code-bg: #0b100e;--code-bar: #121915;--out-bg: #0a0e0c;--err: #ff7b6e;--err-soft: rgb(255 123 110 / .09);--ok: #5ad48d;--ok-soft: rgb(90 212 141 / .1);--warn: #f2b84b;--board: #0a120e;--board-dot: rgb(120 200 150 / .08);--chip: #19201c;--chip-2: #232c27;--chip-ink: #e4e7df;--chip-ink-2: #8f988c;--copper: #c98b44;--led-off: #313833;--shadow: 0 1px 2px rgb(0 0 0 / .4), 0 10px 30px -14px rgb(0 0 0 / .7);--p0: #aaa69b;--p1: #f0a63a;--p2: #3cc6bb;--p3: #7c9dff;--p4: #ee8a5c;--p5: #b5ca4b;--p6: #5bb8f0;--p7: #f06a9c;--p8: #b28cff;--p9: #9195ff;--p10: #ff7a55;--p11: #4fd18a;color-scheme:dark}:root:not([data-cs-theme=light]) .cs{--p0-ink: color-mix(in srgb, var(--p0) 85%, white);--p1-ink: color-mix(in srgb, var(--p1) 85%, white);--p2-ink: color-mix(in srgb, var(--p2) 85%, white);--p3-ink: color-mix(in srgb, var(--p3) 85%, white);--p4-ink: color-mix(in srgb, var(--p4) 85%, white);--p5-ink: color-mix(in srgb, var(--p5) 85%, white);--p6-ink: color-mix(in srgb, var(--p6) 85%, white);--p7-ink: color-mix(in srgb, var(--p7) 85%, white);--p8-ink: color-mix(in srgb, var(--p8) 85%, white);--p9-ink: color-mix(in srgb, var(--p9) 85%, white);--p10-ink: color-mix(in srgb, var(--p10) 85%, white);--p11-ink: color-mix(in srgb, var(--p11) 85%, white);--p0-soft: color-mix(in srgb, var(--p0) 14%, transparent);--p1-soft: color-mix(in srgb, var(--p1) 14%, transparent);--p2-soft: color-mix(in srgb, var(--p2) 14%, transparent);--p3-soft: color-mix(in srgb, var(--p3) 14%, transparent);--p4-soft: color-mix(in srgb, var(--p4) 14%, transparent);--p5-soft: color-mix(in srgb, var(--p5) 14%, transparent);--p6-soft: color-mix(in srgb, var(--p6) 14%, transparent);--p7-soft: color-mix(in srgb, var(--p7) 14%, transparent);--p8-soft: color-mix(in srgb, var(--p8) 14%, transparent);--p9-soft: color-mix(in srgb, var(--p9) 14%, transparent);--p10-soft: color-mix(in srgb, var(--p10) 14%, transparent);--p11-soft: color-mix(in srgb, var(--p11) 14%, transparent);--accent-ink: color-mix(in srgb, var(--accent) 85%, white);--accent-soft: color-mix(in srgb, var(--accent) 14%, transparent)}}:root[data-cs-theme=dark] .cs{--paper: #0e1311;--paper-2: #141a17;--paper-3: #1b2320;--card: #121815;--ink: #e4e7df;--ink-2: #bcc1b6;--ink-3: #8a9186;--ink-4: #5d655c;--rule: #27302b;--rule-2: #36413b;--code-bg: #0b100e;--code-bar: #121915;--out-bg: #0a0e0c;--err: #ff7b6e;--err-soft: rgb(255 123 110 / .09);--ok: #5ad48d;--ok-soft: rgb(90 212 141 / .1);--warn: #f2b84b;--board: #0a120e;--board-dot: rgb(120 200 150 / .08);--chip: #19201c;--chip-2: #232c27;--chip-ink: #e4e7df;--chip-ink-2: #8f988c;--copper: #c98b44;--led-off: #313833;--shadow: 0 1px 2px rgb(0 0 0 / .4), 0 10px 30px -14px rgb(0 0 0 / .7);--p0: #aaa69b;--p1: #f0a63a;--p2: #3cc6bb;--p3: #7c9dff;--p4: #ee8a5c;--p5: #b5ca4b;--p6: #5bb8f0;--p7: #f06a9c;--p8: #b28cff;--p9: #9195ff;--p10: #ff7a55;--p11: #4fd18a;--p0-ink: color-mix(in srgb, var(--p0) 85%, white);--p1-ink: color-mix(in srgb, var(--p1) 85%, white);--p2-ink: color-mix(in srgb, var(--p2) 85%, white);--p3-ink: color-mix(in srgb, var(--p3) 85%, white);--p4-ink: color-mix(in srgb, var(--p4) 85%, white);--p5-ink: color-mix(in srgb, var(--p5) 85%, white);--p6-ink: color-mix(in srgb, var(--p6) 85%, white);--p7-ink: color-mix(in srgb, var(--p7) 85%, white);--p8-ink: color-mix(in srgb, var(--p8) 85%, white);--p9-ink: color-mix(in srgb, var(--p9) 85%, white);--p10-ink: color-mix(in srgb, var(--p10) 85%, white);--p11-ink: color-mix(in srgb, var(--p11) 85%, white);--p0-soft: color-mix(in srgb, var(--p0) 14%, transparent);--p1-soft: color-mix(in srgb, var(--p1) 14%, transparent);--p2-soft: color-mix(in srgb, var(--p2) 14%, transparent);--p3-soft: color-mix(in srgb, var(--p3) 14%, transparent);--p4-soft: color-mix(in srgb, var(--p4) 14%, transparent);--p5-soft: color-mix(in srgb, var(--p5) 14%, transparent);--p6-soft: color-mix(in srgb, var(--p6) 14%, transparent);--p7-soft: color-mix(in srgb, var(--p7) 14%, transparent);--p8-soft: color-mix(in srgb, var(--p8) 14%, transparent);--p9-soft: color-mix(in srgb, var(--p9) 14%, transparent);--p10-soft: color-mix(in srgb, var(--p10) 14%, transparent);--p11-soft: color-mix(in srgb, var(--p11) 14%, transparent);--accent-ink: color-mix(in srgb, var(--accent) 85%, white);--accent-soft: color-mix(in srgb, var(--accent) 14%, transparent);color-scheme:dark}body.cs-body{background:#f5f2ea;margin:0}@media (prefers-color-scheme: dark){:root:not([data-cs-theme=light]) body.cs-body{background:#0e1311}}:root[data-cs-theme=dark] body.cs-body{background:#0e1311}:root[data-cs-theme=light] body.cs-body{background:#f5f2ea}.cs{background:var(--paper);color:var(--ink);font:400 17px/1.6 var(--f-ui);min-height:100vh;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip}.cs *,.cs *:before,.cs *:after{box-sizing:border-box}.cs :where(h1,h2,h3,h4,p,ul,ol,dl,figure,blockquote,pre){margin:0}.cs :where(h1,h2,h3,h4){font-family:var(--f-head);font-weight:700;color:var(--ink);line-height:1.15;letter-spacing:-.005em;text-align:left}.cs :where(a){color:var(--accent-ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em}.cs :where(a:hover){color:var(--ink)}.cs :where(button){font:inherit;color:inherit;cursor:pointer}.cs :where(code,kbd,samp){font-family:var(--f-code);font-size:.88em;color:inherit;background:none;padding:0}.cs :where(code,kbd,samp,pre,.cs-code,.cs-trace,.cs-out,.cs-term,input,textarea){font-variant-ligatures:none;font-feature-settings:"calt" 0,"liga" 0}.cs :where(img,svg,canvas){max-width:100%}.cs :where(input,textarea,select){font:inherit;color:inherit}.cs [hidden]{display:none!important}.cs ::selection{background:color-mix(in srgb,var(--accent) 26%,transparent)}.cs :focus-visible{outline:2px solid var(--accent);outline-offset:2px}.cs-main{width:var(--page);margin-inline:auto;padding-bottom:4rem}.cs-top{position:sticky;top:0;z-index:30;background:color-mix(in srgb,var(--paper) 88%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid transparent;transition:border-color .2s}.cs-top.is-scrolled{border-bottom-color:var(--rule)}.cs-top__in{width:var(--page);margin-inline:auto;height:56px;display:flex;align-items:center;gap:.75rem}.cs-top__brand{display:inline-flex;align-items:center;gap:.45rem;color:var(--ink);text-decoration:none;flex:none}.cs-top__brand:hover{color:var(--ink)}.cs-logo{width:28px;height:28px;color:var(--ink)}.cs-logo__dot{fill:var(--paper)}.cs-logo__ink{stroke:var(--paper)}.cs-top__name{font:700 1.05rem/1 var(--f-head);letter-spacing:.04em}.cs-top__crumbs{display:flex;align-items:center;gap:.45rem;min-width:0;font:500 .92rem/1 var(--f-ui);color:var(--ink-3)}.cs-top__crumb{color:var(--ink-2);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}a.cs-top__crumb:hover,.cs-top__crumb--here{color:var(--ink)}.cs-top__sep{color:var(--ink-4)}.cs-top__tools{margin-left:auto;display:flex;align-items:center;gap:.25rem;flex:none}.cs-top__link{font:500 .9rem/1 var(--f-ui);color:var(--ink-2);text-decoration:none;padding:.55rem .6rem;border-radius:8px}.cs-top__link:hover{background:var(--paper-2);color:var(--ink)}.cs-top__btn{display:inline-grid;place-items:center;min-width:38px;height:38px;padding:0 .45rem;border:0;background:none;border-radius:9px;color:var(--ink-2);font:600 .8rem/1 var(--f-ui);letter-spacing:.04em;text-decoration:none}.cs-top__btn:hover{background:var(--paper-2);color:var(--ink)}.cs-top__btn svg{width:20px;height:20px}.cs-top__progress{height:2px;background:transparent}.cs-top__progress span{display:block;height:100%;width:100%;transform-origin:left;transform:scaleX(var(--progress, 0));background:var(--accent)}.cs-note-bar{margin:1rem 0 0;padding:.7rem 1rem;border-radius:10px;background:var(--paper-2);font-size:.92rem}.cs-drawer{position:fixed;inset:0 0 0 auto;margin:0;height:100dvh;max-height:none;width:min(420px,92vw);padding:0;border:0;border-left:1px solid var(--rule);background:var(--paper);color:var(--ink);overflow:auto;font:400 .95rem/1.45 var(--f-ui)}.cs-drawer::backdrop{background:#0a0c0a6b}.cs-drawer__head{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem .8rem .7rem 1.2rem;background:var(--paper);border-bottom:1px solid var(--rule)}.cs-drawer__title{font:700 1rem/1.2 var(--f-head);color:var(--ink);text-decoration:none}.cs-drawer__label{margin:1.1rem 1.2rem .4rem;font:600 .72rem/1 var(--f-ui);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-3)}.cs-drawer__toc ol,.cs-drawer__list ol{list-style:none;padding:0;margin:0 0 .4rem}.cs-drawer__toc a{display:block;padding:.42rem 1.2rem;color:var(--ink-2);text-decoration:none}.cs-drawer__toc a:hover,.cs-drawer__toc a.is-on{color:var(--ink);background:var(--paper-2)}.cs-drawer__part{display:flex;align-items:baseline;gap:.5rem;margin:1rem 1.2rem .3rem;font:700 .86rem/1.2 var(--f-head);color:var(--ink)}.cs-drawer__part span{font:600 .72rem/1 var(--f-code);color:var(--lc);min-width:2.2em}.cs-drawer__list li>a,.cs-drawer__list li>span{display:flex;gap:.6rem;padding:.36rem 1.2rem;color:var(--ink-2);text-decoration:none}.cs-drawer__list li>a:hover{background:var(--paper-2);color:var(--ink)}.cs-drawer__list li.is-here>a,.cs-drawer__list li.is-here>span{background:var(--accent-soft);color:var(--ink);font-weight:600}.cs-drawer__list li.is-soon>span{color:var(--ink-4)}.cs-drawer__list em{font-style:normal;font-size:.78em;color:var(--ink-4)}.cs-drawer__list li.is-done .cs-drawer__n{color:var(--ok)}.cs-drawer__n{font:500 .8rem/1.7 var(--f-code);color:var(--ink-4);flex:none}.cs-hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:2.5rem;align-items:center;padding:3.2rem 0 2.6rem}.cs-hero--page{grid-template-columns:minmax(0,1fr);padding-bottom:1.4rem}.cs-hero--chapter{align-items:start;padding-top:2.6rem}.cs-kicker{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1rem!important;font:600 .78rem/1.3 var(--f-ui);text-transform:uppercase;letter-spacing:.14em;color:var(--ink-3)}.cs-kicker a{color:inherit;text-decoration:none}.cs-kicker a:hover{color:var(--ink)}.cs-kicker__chip{font:700 .74rem/1 var(--f-code);letter-spacing:.06em;padding:.32rem .5rem;border-radius:4px;background:var(--chip);color:var(--chip-ink);border-left:3px solid var(--accent)}.cs-kicker__part{color:var(--accent-ink)}.cs-kicker__sep{color:var(--ink-4)}.cs-hero__title{font-size:clamp(2rem,1.2rem + 3.2vw,3.6rem);font-weight:700;line-height:1.04;letter-spacing:-.015em}.cs-hero__title--portal{font-size:clamp(1.9rem,1.1rem + 2.8vw,3.2rem)}.cs-hero__brand{display:block;font:700 .42em/1.2 var(--f-code);letter-spacing:.08em;text-transform:uppercase;color:var(--accent-ink);margin-bottom:.5rem}.cs-hero__lead{margin-top:1.1rem!important;max-width:40rem;font:400 1.12rem/1.6 var(--f-text);color:var(--ink-2)}.cs-hero__actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.6rem}.cs-hero__stats{margin-top:.9rem!important;font:500 .85rem/1.4 var(--f-ui);color:var(--ink-3)}.cs-hero__meta{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1.3rem}.cs-hero__art{min-width:0}.cs-hero__art--chip{display:flex;justify-content:flex-end}.cs-button{display:inline-flex;align-items:center;gap:.5rem;padding:.72rem 1.15rem;border:1.5px solid var(--ink);border-radius:10px;background:transparent;color:var(--ink);font:600 .95rem/1.1 var(--f-ui);text-decoration:none;transition:transform .12s,background .15s}.cs-button:hover{color:var(--ink);background:var(--paper-2)}.cs-button:active{transform:translateY(1px)}.cs-button--primary{background:var(--ink);color:var(--paper)}.cs-button--primary:hover{background:var(--accent);border-color:var(--accent);color:#fff}.cs-chipl{display:inline-flex;align-items:center;padding:.26rem .6rem;border-radius:999px;border:1px solid var(--rule-2);font:500 .78rem/1.2 var(--f-ui);color:var(--ink-2);background:var(--card)}.cs-chipl--level{border-color:var(--accent);color:var(--accent-ink);background:var(--accent-soft)}.cs-chipl--done{border-color:var(--ok);color:var(--ok)}.cs-chipl--tag{border-style:dashed}.cs-term{border-radius:12px;overflow:hidden;background:#0f1412;color:#dfe6dc;box-shadow:var(--shadow);border:1px solid #222b26;font:400 .9rem/1.55 var(--f-code)}.cs-term__bar{display:flex;align-items:center;gap:6px;padding:.55rem .8rem;background:#171e1b;border-bottom:1px solid #222b26}.cs-term__bar span{width:10px;height:10px;border-radius:50%;background:#3a433e}.cs-term__bar span:nth-child(1){background:#e0644f}.cs-term__bar span:nth-child(2){background:#e2b33f}.cs-term__bar span:nth-child(3){background:#46c36f}.cs-term__bar b{margin-left:auto;font-weight:500;font-size:.75rem;color:#7f8a83}.cs-term__code,.cs-term__out{padding:.9rem 1rem;white-space:pre;overflow-x:auto}.cs-term__out{border-top:1px dashed #2a332e;color:#8ff0b0;opacity:0;animation:cs-term-out .4s 1.2s forwards}.cs-term__prompt{color:#5f6b64;margin-right:.4rem}.cs-term__cursor{display:inline-block;width:.55em;height:1.05em;margin-left:.2em;vertical-align:-.15em;background:#8ff0b0;animation:cs-blink 1.1s steps(1) infinite}.cs-term .k{color:#ff9e7a}.cs-term .s{color:#c3e88d}.cs-term .n{color:#f5c36b}.cs-term .f{color:#82b1ff}.cs-term .c{color:#6c776f}@keyframes cs-term-out{to{opacity:1}}@keyframes cs-blink{50%{opacity:0}}.cs-sec{padding:2.4rem 0;border-top:1px solid var(--rule)}.cs-sec__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:2rem;align-items:end;margin-bottom:1.6rem}.cs-sec__head h2,.cs-sec__title{font-size:clamp(1.5rem,1.1rem + 1.2vw,2.1rem)}.cs-sec__title{margin-bottom:1.3rem!important}.cs-sec__head p{color:var(--ink-2);font:400 1rem/1.55 var(--f-text)}.cs-sec--sources h2{font-size:1.1rem;margin-bottom:.5rem}.cs-sec--sources p{color:var(--ink-3);font-size:.92rem;max-width:50rem}.cs-empty{padding:2rem 0;color:var(--ink-3)}.cs-board{position:relative;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:34px 38px;padding:30px 30px 34px 40px;border-radius:18px;background-color:var(--board);background-image:radial-gradient(var(--board-dot) 1.2px,transparent 1.3px);background-size:18px 18px;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--board-dot) 140%,transparent)}.cs-board__traces{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;overflow:visible}.cs-board__traces path{fill:none;stroke:var(--copper);stroke-width:2.4;stroke-linejoin:round;stroke-linecap:round;opacity:.85}.cs-board__traces path.is-lit{stroke:var(--led-on);opacity:.9}.cs-board__traces circle{fill:var(--board);stroke:var(--copper);stroke-width:2}.cs-chip{position:relative;z-index:1;display:flex;flex-direction:column;background:var(--chip);color:var(--chip-ink);border-radius:7px;padding:0 0 .55rem;box-shadow:0 2px #00000040,0 12px 24px -16px #0000008c;scroll-margin-top:80px}.cs-chip:before{content:"";position:absolute;top:-1px;left:50%;width:26px;height:13px;margin-left:-13px;border-radius:0 0 13px 13px;background:var(--board)}.cs-chip__head{padding:1.05rem 1rem .7rem 1.1rem;border-bottom:1px solid rgb(255 255 255 / .07)}.cs-chip__code{display:block;font:700 .72rem/1 var(--f-code);letter-spacing:.1em;color:var(--lc)}.cs-chip__code span{color:var(--chip-ink-2);margin-left:.2em}.cs-chip__name{margin-top:.45rem!important;font:700 1.12rem/1.15 var(--f-head)!important;color:var(--chip-ink)!important}.cs-chip__desc{margin-top:.35rem!important;font:400 .8rem/1.4 var(--f-ui);color:var(--chip-ink-2)}.cs-chip__pins{list-style:none;margin:.35rem 0 0!important;padding:0!important}.cs-pin{position:relative;scroll-margin-top:90px}.cs-pin__row{position:relative;display:flex;align-items:center;gap:.55rem;padding:.34rem .8rem .34rem 1.05rem;color:var(--chip-ink);text-decoration:none;font:400 .88rem/1.3 var(--f-ui)}a.cs-pin__row:hover{background:#ffffff0f;color:#fff}.cs-pin__leg{position:absolute;left:-11px;top:50%;width:11px;height:6px;margin-top:-3px;border-radius:1px 0 0 1px;background:var(--tin)}.cs-pin__led{flex:none;width:7px;height:7px;border-radius:50%;background:var(--led-off);box-shadow:inset 0 0 0 1px #0000004d}.cs-pin__n{flex:none;font:500 .74rem/1 var(--f-code);color:var(--chip-ink-2)}.cs-pin__title{min-width:0}.cs-pin__tag{margin-left:auto;flex:none;font:600 .62rem/1 var(--f-ui);text-transform:uppercase;letter-spacing:.08em;color:var(--chip-ink-2);opacity:.8}.cs-pin__tag--here{color:var(--led-here);opacity:1}.cs-pin.is-soon .cs-pin__title{color:var(--chip-ink-2)}.cs-pin.is-soon .cs-pin__led{background:transparent;box-shadow:inset 0 0 0 1px var(--chip-ink-2);opacity:.6}.cs-pin.is-done .cs-pin__led{background:var(--led-on);box-shadow:0 0 6px 1px color-mix(in srgb,var(--led-on) 60%,transparent)}.cs-pin.is-here .cs-pin__led{background:var(--led-here);box-shadow:0 0 8px 2px color-mix(in srgb,var(--led-here) 55%,transparent);animation:cs-led 1.6s ease-in-out infinite}.cs-pin.is-here .cs-pin__row{background:#ffffff12;font-weight:600}@keyframes cs-led{50%{opacity:.45}}.cs-chip--mini{width:100%;max-width:330px}.cs-chip--mini:before{background:var(--paper)}.cs-chip--mini .cs-chip__head{padding:.9rem .9rem .55rem 1rem}.cs-chip--mini .cs-pin__row{padding-block:.24rem;font-size:.82rem}.cs-hero__art--chip{padding-left:12px}.cs-questions{list-style:none;padding:0!important;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,330px),1fr));gap:1rem}.cs-question{position:relative;padding:1.1rem 1.2rem 1.15rem 3.4rem;border:1px solid var(--rule);border-radius:14px;background:var(--card)}.cs-question__n{position:absolute;left:1rem;top:1rem;width:1.75rem;height:1.75rem;display:grid;place-items:center;border-radius:50%;background:var(--lc);color:#fff;font:700 .85rem/1 var(--f-code)}.cs-question__q{font:700 1.05rem/1.3 var(--f-head)}.cs-question__long{margin-top:.5rem!important;color:var(--ink-2);font:400 .93rem/1.5 var(--f-text)}.cs-question__a{display:inline-block;margin-top:.7rem;font:600 .85rem/1.2 var(--f-ui);color:var(--lc);text-decoration:none}.cs-question__a.is-soon{color:var(--ink-3)}.cs-courses{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:1rem}.cs-course{display:flex;flex-direction:column;gap:.45rem;padding:1.2rem 1.25rem 1.3rem;border-radius:14px;border:1px solid var(--rule);background:var(--card);color:var(--ink);text-decoration:none}.cs-course.is-live{border:1.5px solid var(--ink);box-shadow:var(--shadow)}.cs-course.is-live:hover,.cs-course.is-site:hover{color:var(--ink);transform:translateY(-2px);transition:transform .15s}.cs-course.is-soon{border-style:dashed;color:var(--ink-3)}.cs-course__status{align-self:flex-start;font:700 .68rem/1 var(--f-ui);text-transform:uppercase;letter-spacing:.12em;padding:.3rem .45rem;border-radius:4px;background:var(--paper-2);color:var(--ink-3)}.cs-course.is-live .cs-course__status{background:var(--ok-soft);color:var(--ok)}.cs-course__name{font:700 1.2rem/1.2 var(--f-head)}.cs-course__blurb{font:400 .93rem/1.5 var(--f-text);color:var(--ink-2)}.cs-course.is-soon .cs-course__blurb{color:var(--ink-3)}.cs-course__meta{margin-top:auto;padding-top:.4rem;font:500 .8rem/1.3 var(--f-code);color:var(--ink-3)}.cs-how{list-style:none;padding:0!important;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:1.2rem 1.6rem}.cs-how li{display:flex;flex-direction:column;gap:.35rem}.cs-how__n{font:700 .78rem/1 var(--f-code);color:var(--accent-ink)}.cs-how strong{font:700 1.05rem/1.25 var(--f-head)}.cs-how span:last-child{color:var(--ink-2);font:400 .93rem/1.5 var(--f-text)}.cs-draft{margin-top:1rem!important;padding:.6rem .9rem;border-radius:8px;background:var(--p1-soft);color:var(--p1-ink);font-size:.9rem}.cs-ch__intro{display:grid;gap:1rem;max-width:52rem;padding:0 0 2rem;border-bottom:1px solid var(--rule)}.cs-prereq{display:flex;flex-wrap:wrap;gap:.35rem .6rem;align-items:baseline;font:400 .9rem/1.4 var(--f-ui);color:var(--ink-3)}.cs-prereq a{color:var(--lc, var(--ink-2));text-decoration:none;font-weight:500}.cs-prereq .is-soon{color:var(--ink-4)}.cs-prereq__label{font-weight:600;color:var(--ink-2)}.cs-learn{padding:.9rem 1.1rem;border-radius:12px;background:var(--card);border:1px solid var(--rule)}.cs-learn__title{font:700 .78rem/1 var(--f-ui);text-transform:uppercase;letter-spacing:.12em;color:var(--accent-ink);margin-bottom:.55rem!important}.cs-learn ul{padding-left:1.2rem;display:grid;gap:.3rem;font:400 .98rem/1.45 var(--f-text)}.cs-learn li::marker{color:var(--accent)}.cs-ch__questions{display:flex;flex-wrap:wrap;gap:.5rem}.cs-qchip{display:inline-flex;align-items:center;gap:.5rem;padding:.35rem .75rem .35rem .35rem;border-radius:999px;background:var(--paper-2);font:500 .84rem/1.3 var(--f-ui)}.cs-qchip__n{display:grid;place-items:center;width:1.45rem;height:1.45rem;border-radius:50%;background:var(--ink);color:var(--paper);font:700 .75rem/1 var(--f-code)}.cs-ch__grid{display:grid;grid-template-columns:14rem minmax(0,1fr);gap:3rem;padding-top:2.4rem}.cs-toc{position:sticky;top:76px;align-self:start;max-height:calc(100vh - 96px);overflow:auto;font:400 .86rem/1.35 var(--f-ui)}.cs-toc__title{font:700 .72rem/1 var(--f-ui);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-3);margin-bottom:.8rem!important}.cs-toc ol{list-style:none;padding:0!important;border-left:1px solid var(--rule)}.cs-toc a{display:block;padding:.36rem 0 .36rem .9rem;margin-left:-1px;border-left:2px solid transparent;color:var(--ink-3);text-decoration:none}.cs-toc a:hover{color:var(--ink)}.cs-toc a.is-on{color:var(--ink);border-left-color:var(--accent);font-weight:600}.cs-prose{min-width:0;font:400 1.08rem/1.68 var(--f-text);color:var(--ink)}.cs-prose>*{max-width:var(--prose)}.cs-prose>.fig--wide{max-width:min(60rem,100%)}.cs-prose>*+*{margin-top:1.05em}.cs-prose h2{margin-top:2.6em!important;font-size:1.85rem;scroll-margin-top:80px}.cs-prose h2:first-child{margin-top:0!important}.cs-prose h3{margin-top:1.9em!important;font-size:1.28rem;scroll-margin-top:80px}.cs-prose h2+*,.cs-prose h3+*{margin-top:.7em}.cs-prose p,.cs-prose li{hyphens:auto;-webkit-hyphens:auto}.cs-prose ul,.cs-prose ol{padding-left:1.4em}.cs-prose li+li{margin-top:.35em}.cs-prose li::marker{color:var(--accent)}.cs-prose strong{font-weight:600}.cs-prose :not(pre)>code{padding:.08em .32em;border-radius:4px;background:var(--paper-2);border:1px solid var(--rule);font-size:.86em;white-space:nowrap}@media (max-width: 700px){.cs-prose :not(pre)>code{white-space:normal;overflow-wrap:break-word}}.cs-prose a code{color:inherit}.cs-prose .lead-in{font-size:1.2rem;line-height:1.6;color:var(--ink)}.cs-prose blockquote{padding:.2em 0 .2em 1.2em;border-left:3px solid var(--accent);color:var(--ink-2);font-style:italic}.cs-prose blockquote cite{display:block;margin-top:.4em;font:400 .85rem/1.4 var(--f-ui);font-style:normal;color:var(--ink-3)}.cs-prose dfn{font-style:normal;font-weight:600;color:var(--accent-ink);scroll-margin-top:90px}.cs-prose .def{padding:.9em 1.1em;border-radius:10px;background:var(--accent-soft);border-left:3px solid var(--accent)}.cs-prose .key{padding:1em 1.2em;border-radius:12px;border:1.5px solid var(--ink);font-size:1.12rem;line-height:1.55}.cs-prose .key:before{content:"★";float:left;margin:.05em .6em 0 0;color:var(--accent)}.cs-prose .table-wrap{overflow-x:auto}.cs-prose .table-wrap table{width:100%;border-collapse:collapse;font:400 .92rem/1.45 var(--f-ui)}.cs-prose .table-wrap :is(th,td){padding:.5em .7em;border-bottom:1px solid var(--rule);text-align:left;vertical-align:top}.cs-prose .table-wrap th{font-weight:600;color:var(--ink-2);border-bottom-color:var(--rule-2)}.cs-prose hr{border:0;border-top:1px solid var(--rule);margin:2.4em 0}.cs-prose details.deeper{padding:.8em 1.1em;border-radius:12px;border:1px dashed var(--rule-2)}.cs-prose details.deeper>summary{cursor:pointer;font:600 .95rem/1.4 var(--f-ui);color:var(--ink-2)}.cs-prose details.deeper[open]>summary{margin-bottom:.7em}.cs-prose figure.fig{margin-block:1.8em}.cs-prose figcaption{margin-top:.6em;font:400 .86rem/1.45 var(--f-ui);color:var(--ink-3)}.cs-prose .story{position:relative;padding:1.25em 1.35em 1.2em;border-radius:4px;background:var(--card);border:1px solid var(--rule);box-shadow:4px 4px 0 var(--paper-3);font-size:1rem;line-height:1.62}.cs-prose .story:before{content:attr(data-when);display:inline-block;margin-bottom:.7em;padding:.25em .55em;border:1.5px solid var(--p10);border-radius:3px;color:var(--p10);font:700 .72rem/1 var(--f-code);letter-spacing:.08em;text-transform:uppercase;transform:rotate(-1.5deg)}.cs-prose .story>*+*{margin-top:.8em}.cs-prose .note{padding:.9em 1.1em;border-radius:10px;background:var(--paper-2);font-size:.98rem;line-height:1.6}.cs-prose .note>*+*{margin-top:.7em}.cs-prose .note:before{display:block;margin-bottom:.45em;font:700 .72rem/1 var(--f-ui);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-3)}.cs-prose .note--history:before{content:"История";color:var(--p4-ink)}.cs-prose .note--warn{background:var(--err-soft)}.cs-prose .note--warn:before{content:"Осторожно";color:var(--err)}.cs-prose .note--tip:before{content:"Совет";color:var(--ok)}.cs-prose .note--deeper:before{content:"Глубже";color:var(--p8-ink)}.cs-prose .note--uni:before{content:"Для студентов";color:var(--p3-ink)}:lang(en) .cs-prose .note--history:before,.cs[lang=en] .cs-prose .note--history:before{content:"History"}:lang(en) .cs-prose .note--warn:before{content:"Careful"}:lang(en) .cs-prose .note--tip:before{content:"Tip"}:lang(en) .cs-prose .note--deeper:before{content:"Going deeper"}:lang(en) .cs-prose .note--uni:before{content:"For students"}.cs-prose h2#next{padding-top:1.4em;border-top:2px solid var(--ink)}.cs-pager{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:3.5rem;padding-top:2rem;border-top:1px solid var(--rule)}.cs-pager__card{display:flex;flex-direction:column;gap:.3rem;padding:1.1rem 1.25rem;border-radius:14px;border:1px solid var(--rule);background:var(--card);color:var(--ink);text-decoration:none}.cs-pager__card:hover{color:var(--ink);border-color:var(--lc, var(--ink))}.cs-pager__card--next{text-align:right;align-items:flex-end}.cs-pager__card.is-soon{border-style:dashed;color:var(--ink-3)}.cs-pager__dir{font:600 .8rem/1 var(--f-ui);color:var(--ink-3)}.cs-pager__n{font:500 .78rem/1 var(--f-code);color:var(--lc, var(--ink-3))}.cs-pager__title{font:700 1.1rem/1.25 var(--f-head)}.cs-practice{display:grid;gap:1.5rem;padding-top:1rem}.cs-practice__chapter h2{font-size:1.15rem;margin-bottom:.6rem!important}.cs-practice__chapter h2 a{color:var(--ink);text-decoration:none}.cs-practice__chapter h2 span{font:600 .85rem/1 var(--f-code);color:var(--lc);margin-right:.3rem}.cs-practice__chapter ul{list-style:none;padding:0!important;border-top:1px solid var(--rule)}.cs-practice__chapter li{display:flex;align-items:center;gap:.7rem;padding:.6rem .2rem;border-bottom:1px solid var(--rule);scroll-margin-top:90px}.cs-practice__chapter li a{color:var(--ink);text-decoration:none;font-weight:500}.cs-practice__chapter li code{margin-left:auto;color:var(--ink-4);font-size:.78rem}.cs-practice__mark{width:1.1rem;height:1.1rem;border-radius:4px;border:1.5px solid var(--rule-2);flex:none}.cs-practice__chapter li.is-solved .cs-practice__mark{background:var(--ok);border-color:var(--ok);box-shadow:inset 0 0 0 3px var(--paper)}.cs-search{width:min(100%,26rem);margin-top:1.4rem;padding:.7rem .95rem;border-radius:10px;border:1.5px solid var(--rule-2);background:var(--card)}.cs-letters{display:flex;flex-wrap:wrap;gap:.3rem;margin:.5rem 0 1.5rem!important}.cs-letters a{min-width:2rem;text-align:center;padding:.3rem;border-radius:6px;background:var(--paper-2);color:var(--ink-2);text-decoration:none;font:600 .85rem/1 var(--f-ui)}.cs-glossary{display:grid;gap:0}.cs-glossary__item{padding:.9rem 0;border-bottom:1px solid var(--rule);scroll-margin-top:80px}.cs-glossary__item dt{font:700 1.05rem/1.3 var(--f-head);color:var(--lc)}.cs-glossary__item dd{margin:.25rem 0 0;color:var(--ink-2);font:400 .98rem/1.5 var(--f-text)}.cs-glossary__item dd a{margin-left:.4rem;font:500 .82rem/1 var(--f-ui);color:var(--ink-3)}.cs-foot{border-top:1px solid var(--rule);background:var(--paper-2)}.cs-foot__in{width:var(--page);margin-inline:auto;padding:1.8rem 0 2.4rem;font:400 .88rem/1.5 var(--f-ui);color:var(--ink-3);display:grid;gap:.6rem}.cs-foot__links{display:flex;flex-wrap:wrap;gap:.4rem 1.1rem}.cs-foot__links a{color:var(--ink-2);text-decoration:none}.cs-foot__links a:hover{color:var(--ink);text-decoration:underline}.cs{--sx-k: #a3366b;--sx-s: #2c7a3a;--sx-n: #9a5b00;--sx-c: #8a877c;--sx-f: #2457c4;--sx-b: #7a4cc2;--sx-o: #5b5a52}@media (prefers-color-scheme: dark){:root:not([data-cs-theme=light]) .cs{--sx-k: #ff8fb8;--sx-s: #a6e3a1;--sx-n: #f5c36b;--sx-c: #6e776f;--sx-f: #89b4ff;--sx-b: #c9a7ff;--sx-o: #aab1a6}}:root[data-cs-theme=dark] .cs{--sx-k: #ff8fb8;--sx-s: #a6e3a1;--sx-n: #f5c36b;--sx-c: #6e776f;--sx-f: #89b4ff;--sx-b: #c9a7ff;--sx-o: #aab1a6}.cs .sx-k{color:var(--sx-k)}.cs .sx-s{color:var(--sx-s)}.cs .sx-n{color:var(--sx-n)}.cs .sx-c{color:var(--sx-c);font-style:italic}.cs .sx-f{color:var(--sx-f)}.cs .sx-b{color:var(--sx-b)}.cs-code{display:block;margin-block:1.6em;border:1px solid var(--rule-2);border-radius:12px;background:var(--code-bg);overflow:hidden;font-family:var(--f-ui);box-shadow:0 1px 0 var(--rule)}.cs-code:not(:defined){white-space:pre;padding:1rem;font:400 .9rem/1.6 var(--f-code)}.cs-prose .cs-code{font-size:1rem}.cs-code__bar{display:flex;align-items:center;gap:.3rem;min-height:42px;padding:.3rem .4rem .3rem .85rem;background:var(--code-bar);border-bottom:1px solid var(--rule)}.cs-code__label{margin-right:auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:500 .78rem/1.2 var(--f-code);color:var(--ink-3)}.cs-code__btn{display:inline-flex;align-items:center;gap:.35rem;height:32px;padding:0 .7rem;border:1px solid transparent;border-radius:8px;background:none;color:var(--ink-2);font:600 .82rem/1 var(--f-ui);white-space:nowrap}.cs-code__btn:hover:not(:disabled){background:var(--paper-3);color:var(--ink)}.cs-code__btn:disabled{opacity:.45;cursor:default}.cs-code__btn svg{width:15px;height:15px;flex:none}.cs-code__btn--run{background:var(--ink);color:var(--paper);padding-inline:.85rem}.cs-code__btn--run:hover:not(:disabled){background:var(--accent);color:#fff}.cs-code__btn--run.is-running{background:var(--err);color:#fff}.cs-code__btn--icon{padding:0;width:32px;justify-content:center}.cs-code__src{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);font:400 .9rem/1.6 var(--f-code);color:var(--ink);cursor:text}.cs-code__gutter{padding:.75rem .55rem .75rem .75rem;text-align:right;color:var(--ink-4);-webkit-user-select:none;user-select:none;font-variant-numeric:tabular-nums;border-right:1px solid var(--rule);background:color-mix(in srgb,var(--code-bar) 55%,transparent);white-space:pre}.cs-code__gutter .is-err{color:var(--err);font-weight:700}.cs-code__pre{margin:0;padding:.75rem 1rem;overflow-x:auto;white-space:pre;-moz-tab-size:4;tab-size:4;font:inherit;background:none;border:0;color:inherit}.cs-code__pre .is-err-line{background:var(--err-soft);box-shadow:-1rem 0 0 var(--err-soft),1rem 0 0 var(--err-soft)}.cs-code__cm{min-width:0}.cs-code__cm .cm-editor{font:inherit;background:none}.cs-code__cm .cm-editor.cm-focused{outline:none}.cs-code__cm .cm-scroller{font:inherit;line-height:1.6}.cs-code__cm .cm-content{padding:.75rem 0;caret-color:var(--accent)}.cs-code__cm .cm-line{padding:0 1rem}.cs-code__cm .cm-gutters{background:color-mix(in srgb,var(--code-bar) 55%,transparent);border-right:1px solid var(--rule);color:var(--ink-4)}.cs-code__cm .cm-lineNumbers .cm-gutterElement{padding:0 .55rem 0 .75rem;min-width:2.2em}.cs-code__cm .cm-activeLine{background:color-mix(in srgb,var(--accent) 6%,transparent)}.cs-code__cm .cm-activeLineGutter{background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--ink-2)}.cs-code__cm .cm-selectionBackground,.cs-code__cm .cm-editor.cm-focused .cm-selectionBackground{background:color-mix(in srgb,var(--accent) 22%,transparent)!important}.cs-code__cm .cm-matchingBracket{background:color-mix(in srgb,var(--accent) 18%,transparent);outline:1px solid color-mix(in srgb,var(--accent) 50%,transparent)}.cs-code__cm .cm-err-line{background:var(--err-soft)}.cs-code.is-edited .cs-code__label:after{content:" •";color:var(--accent)}.cs-out{border-top:1px solid var(--rule);background:var(--out-bg)}.cs-out__body{padding:.75rem 1rem .8rem;max-height:44rem;overflow:auto;font:400 .86rem/1.55 var(--f-code);white-space:pre-wrap;overflow-wrap:anywhere;color:var(--ink)}.cs-out__body:empty{display:none}.cs-out__err{color:var(--err)}.cs-out__typed{color:var(--accent-ink);font-weight:700}.cs-out__ask{display:flex;gap:.4rem;align-items:center;margin:.2rem 0}.cs-out__ask input{flex:1;min-width:0;padding:.42rem .6rem;border-radius:7px;border:1.5px solid var(--accent);background:var(--code-bg);font:500 .88rem/1.3 var(--f-code);outline:none}.cs-out__ask button{height:34px;padding:0 .8rem;border-radius:7px;border:0;background:var(--accent);color:#fff;font:600 .8rem/1 var(--f-ui)}.cs-out__status{display:flex;align-items:center;gap:.45rem;padding:.42rem 1rem;border-top:1px dashed var(--rule);font:500 .76rem/1.3 var(--f-ui);color:var(--ink-3)}.cs-out__status:empty{display:none}.cs-out__status.is-ok:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--ok)}.cs-out__status.is-fail{color:var(--err)}.cs-out__status.is-wait:before{content:"";width:9px;height:9px;border-radius:50%;border:2px solid var(--accent);border-right-color:transparent;animation:cs-spin .7s linear infinite}.cs-out__status.is-baked{color:var(--ink-4)}@keyframes cs-spin{to{transform:rotate(360deg)}}.cs-exc{margin:.4rem 0;padding:.65rem .8rem;border-radius:8px;background:var(--err-soft);border-left:3px solid var(--err);white-space:normal;font-family:var(--f-ui)}.cs-exc__head{font:700 .86rem/1.35 var(--f-code);color:var(--err)}.cs-exc__head button{margin-left:.4rem;padding:0;border:0;background:none;font:600 .78rem/1 var(--f-ui);color:var(--err);text-decoration:underline}.cs-exc__msg{margin-top:.25rem;font:400 .84rem/1.45 var(--f-code);color:var(--ink);white-space:pre-wrap}.cs-exc details{margin-top:.4rem}.cs-exc summary{cursor:pointer;font:500 .78rem/1.3 var(--f-ui);color:var(--ink-3)}.cs-exc pre{margin-top:.35rem;font:400 .8rem/1.45 var(--f-code);white-space:pre-wrap;color:var(--ink-2)}.cs-limit{margin:.3rem 0;padding:.5rem .75rem;border-radius:8px;background:var(--p1-soft);color:var(--warn);font:500 .82rem/1.4 var(--f-ui);white-space:normal}.cs-out__img{display:block;margin:.4rem 0;max-width:100%;height:auto;border-radius:8px;background:#fff;border:1px solid var(--rule)}.cs-draw{position:relative;margin:.4rem 0;border-radius:10px;border:1px solid var(--rule);background:var(--card);overflow:hidden}.cs-draw canvas{display:block;width:100%;height:auto}.cs-draw__replay{position:absolute;right:.4rem;top:.4rem;height:28px;padding:0 .6rem;border-radius:7px;border:1px solid var(--rule);background:var(--paper);color:var(--ink-2);font:600 .74rem/1 var(--f-ui)}.cs-task{display:block;margin-block:2em;border:1.5px solid var(--accent);border-radius:14px;background:var(--card);overflow:hidden;scroll-margin-top:80px;font-family:var(--f-ui)}.cs-task__head{display:flex;align-items:center;gap:.6rem;padding:.75rem 1rem;background:var(--accent-soft);border-bottom:1px solid color-mix(in srgb,var(--accent) 30%,transparent)}.cs-task__label{flex:none;font:700 .68rem/1 var(--f-ui);text-transform:uppercase;letter-spacing:.12em;padding:.32rem .45rem;border-radius:4px;background:var(--accent);color:#fff}.cs-task__title{font:700 1.02rem/1.25 var(--f-head);color:var(--ink)}.cs-task__solved{margin-left:auto;flex:none;font:600 .78rem/1 var(--f-ui);color:var(--ok)}.cs-task__body{padding:.9rem 1.1rem .2rem;font:400 1rem/1.6 var(--f-text)}.cs-task__body>*+*{margin-top:.7em}.cs-task .cs-code{margin:.9rem 1rem 1rem}.cs-task__more{display:flex;flex-wrap:wrap;gap:.5rem;padding:0 1rem 1rem}.cs-task__more button{height:34px;padding:0 .8rem;border-radius:8px;border:1px solid var(--rule-2);background:var(--paper);color:var(--ink-2);font:600 .8rem/1 var(--f-ui)}.cs-task__more button:hover:not(:disabled){color:var(--ink);border-color:var(--ink-3)}.cs-task__more button:disabled{opacity:.5;cursor:default}.cs-task__hint,.cs-task__solution{margin:0 1rem 1rem;padding:.75rem .95rem;border-radius:10px;background:var(--paper-2);font:400 .95rem/1.55 var(--f-text)}.cs-task__hint>p:first-child,.cs-task__solution>p:first-child{font:700 .72rem/1 var(--f-ui);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-3);margin-bottom:.5rem}.cs-tests{list-style:none;margin:.2rem 0 .4rem!important;padding:0!important;display:grid;gap:.35rem;white-space:normal}.cs-tests__sum{font:700 .86rem/1.3 var(--f-ui);margin-bottom:.15rem}.cs-tests__sum.is-ok{color:var(--ok)}.cs-tests__sum.is-fail{color:var(--err)}.cs-test{display:grid;grid-template-columns:1.3rem minmax(0,1fr);gap:.1rem .4rem;font:400 .84rem/1.45 var(--f-ui)}.cs-test__mark{font-weight:700}.cs-test.is-ok .cs-test__mark{color:var(--ok)}.cs-test.is-fail .cs-test__mark{color:var(--err)}.cs-test__name{color:var(--ink)}.cs-test__ms{color:var(--ink-4);font-size:.75rem;margin-left:.3rem}.cs-test__detail{grid-column:2;display:grid;grid-template-columns:max-content minmax(0,1fr);gap:.1rem .6rem;margin-top:.2rem;padding:.45rem .6rem;border-radius:6px;background:var(--err-soft);font:400 .8rem/1.45 var(--f-code)}.cs-test__detail dt{color:var(--ink-3);font-family:var(--f-ui)}.cs-test__detail dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.cs-test__msg{grid-column:1 / -1;font-family:var(--f-ui);color:var(--ink)}.cs-trace{border-top:1px solid var(--rule);background:var(--paper-2);font-family:var(--f-ui)}.cs-trace__bar{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .6rem;padding:.55rem .8rem;border-bottom:1px solid var(--rule)}.cs-trace__title{font:700 .78rem/1 var(--f-ui);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-3);margin-right:auto}.cs-trace__nav{display:flex;align-items:center;gap:.2rem}.cs-trace__nav button{width:34px;height:32px;display:grid;place-items:center;border-radius:8px;border:1px solid var(--rule-2);background:var(--paper);color:var(--ink-2)}.cs-trace__nav button:hover:not(:disabled){color:var(--ink);border-color:var(--ink-3)}.cs-trace__nav button:disabled{opacity:.4}.cs-trace__nav svg{width:15px;height:15px}.cs-trace__range{flex:1 1 160px;min-width:120px;accent-color:var(--accent)}.cs-trace__count{font:500 .78rem/1 var(--f-code);color:var(--ink-3);min-width:7.5em;text-align:right}.cs-trace__grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.25fr)}.cs-trace__code{padding:.6rem 0;border-right:1px solid var(--rule);background:var(--code-bg);font:400 .82rem/1.65 var(--f-code);overflow-x:auto}.cs-trace__line{display:grid;grid-template-columns:1.6rem 2.2rem minmax(0,1fr);white-space:pre}.cs-trace__line .ln{color:var(--ink-4);text-align:right;padding-right:.6rem}.cs-trace__line .ar{text-align:center;font-weight:700}.cs-trace__line.is-next{background:color-mix(in srgb,var(--ok) 12%,transparent)}.cs-trace__line.is-next .ar{color:var(--ok)}.cs-trace__line.is-prev .ar{color:var(--ink-4)}.cs-trace__line.is-exc{background:var(--err-soft)}.cs-trace__line.is-exc .ar{color:var(--err)}.cs-trace__viz{position:relative;min-width:0;padding:.8rem;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:.8rem 1.4rem;align-items:start;overflow-x:auto}.cs-trace__col>p{font:700 .68rem/1 var(--f-ui);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-3);margin-bottom:.45rem!important}.cs-trace__arrows{position:absolute;left:0;top:0;pointer-events:none;overflow:visible}.cs-trace__arrows path{fill:none;stroke:var(--accent);stroke-width:1.6;opacity:.8}.cs-trace__arrows circle{fill:var(--accent)}.cs-frame{margin-bottom:.55rem;border:1px solid var(--rule-2);border-radius:8px;background:var(--card);overflow:hidden}.cs-frame.is-top{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.cs-frame__name{padding:.3rem .55rem;font:700 .78rem/1.2 var(--f-code);background:var(--paper-3);color:var(--ink-2)}.cs-frame.is-top .cs-frame__name{background:var(--accent-soft);color:var(--accent-ink)}.cs-frame__vars{display:grid;grid-template-columns:max-content minmax(0,1fr);font:400 .8rem/1.3 var(--f-code)}.cs-frame__vars>span{padding:.28rem .55rem;border-top:1px solid var(--rule)}.cs-frame__vars .k{text-align:right;color:var(--ink-2);border-right:1px solid var(--rule)}.cs-frame__vars .v{min-height:1.75em}.cs-frame__vars .is-ret{color:var(--p1-ink);font-style:italic}.cs-ref{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--accent);vertical-align:middle}.cs-obj{margin-bottom:.6rem}.cs-obj__type{font:600 .7rem/1 var(--f-code);color:var(--ink-3);margin-bottom:.2rem}.cs-obj__cells{display:inline-flex;flex-wrap:wrap;border:1px solid var(--rule-2);border-radius:6px;background:var(--card);overflow:hidden;font:400 .8rem/1.3 var(--f-code)}.cs-obj__cell{display:flex;flex-direction:column;min-width:2.2rem;border-right:1px solid var(--rule)}.cs-obj__cell:last-child{border-right:0}.cs-obj__cell i{font-style:normal;font-size:.66rem;color:var(--ink-4);padding:.12rem .35rem 0}.cs-obj__cell b{font-weight:400;padding:.15rem .4rem .3rem;min-height:1.5em}.cs-obj__rows{display:grid;grid-template-columns:max-content minmax(0,1fr);border:1px solid var(--rule-2);border-radius:6px;background:var(--card);font:400 .8rem/1.3 var(--f-code);overflow:hidden}.cs-obj__rows>span{padding:.25rem .5rem;border-top:1px solid var(--rule)}.cs-obj__rows>span:nth-child(-n+2){border-top:0}.cs-obj__rows .k{border-right:1px solid var(--rule);color:var(--ink-2)}.cs-obj__plain{display:inline-block;padding:.25rem .5rem;border:1px solid var(--rule-2);border-radius:6px;background:var(--card);font:400 .8rem/1.3 var(--f-code)}.cs-obj.is-new .cs-obj__cells,.cs-obj.is-new .cs-obj__rows,.cs-obj.is-new .cs-obj__plain{box-shadow:0 0 0 2px color-mix(in srgb,var(--ok) 40%,transparent)}.cs-trace__out{grid-column:1 / -1;padding:.5rem .8rem .7rem;border-top:1px solid var(--rule);font:400 .82rem/1.5 var(--f-code);white-space:pre-wrap;color:var(--ink);background:var(--out-bg)}.cs-trace__out:before{content:attr(data-label);display:block;font:700 .66rem/1 var(--f-ui);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-3);margin-bottom:.35rem}.cs-trace__note{padding:.45rem .8rem;font:500 .8rem/1.4 var(--f-ui);color:var(--warn);border-top:1px solid var(--rule)}.cs-quiz,.cs-poll{display:block;margin-block:1.8em;padding:1rem 1.15rem 1.1rem;border-radius:14px;border:1px solid var(--rule-2);background:var(--card);font-family:var(--f-ui)}.cs-quiz .q,.cs-poll .q{font:700 1.02rem/1.4 var(--f-head);margin-bottom:.8rem!important}.cs-quiz button,.cs-poll button[data-value]{display:block;width:100%;margin-top:.45rem;padding:.65rem .85rem;text-align:left;border-radius:10px;border:1.5px solid var(--rule-2);background:var(--paper);color:var(--ink);font:500 .95rem/1.35 var(--f-ui)}.cs-quiz button:hover:not(:disabled),.cs-poll button[data-value]:hover:not(:disabled){border-color:var(--ink-3)}.cs-quiz button.is-right{border-color:var(--ok);background:var(--ok-soft)}.cs-quiz button.is-wrong{border-color:var(--err);background:var(--err-soft)}.cs-quiz button code,.cs-poll button code{font-size:.9em}.cs-quiz .why,.cs-poll .why{margin-top:.8rem!important;padding:.7rem .85rem;border-radius:10px;background:var(--paper-2);font:400 .95rem/1.55 var(--f-text)}.cs-quiz__note{margin-top:.5rem!important;font:500 .82rem/1.4 var(--f-ui);color:var(--ink-3)}.cs-poll button[data-value].is-picked{border-color:var(--accent);background:var(--accent-soft)}.cs-poll button[data-value].is-answer{border-color:var(--ok)}.cs-bigq{display:block;margin-block:1.8em;padding:1rem 1.2rem 1.1rem;border-radius:14px;background:var(--ink);color:var(--paper);font-family:var(--f-ui)}.cs-bigq__label{font:700 .7rem/1 var(--f-ui);text-transform:uppercase;letter-spacing:.14em;color:var(--led-here)}.cs-bigq__q{margin-top:.45rem!important;font:700 1.15rem/1.3 var(--f-head);color:var(--paper)!important}.cs-bigq__body{margin-top:.6rem;font:400 .98rem/1.55 var(--f-text);color:color-mix(in srgb,var(--paper) 85%,transparent)}.cs-bigq__body a{color:var(--led-here)}.cs-widget{display:block;position:relative;border:1px solid var(--rule-2);border-radius:14px;background:var(--card);padding:1rem;font-family:var(--f-ui);font-size:.95rem}.cs-widget__failed{padding:1rem;color:var(--ink-3);font-size:.9rem}@media (max-width: 1100px){.cs-ch__grid{grid-template-columns:minmax(0,1fr);gap:0}.cs-toc{display:none}.cs-prose{margin-inline:auto;max-width:var(--prose)}.cs-ch__grid>.cs-prose{width:100%}.cs-ch__intro{margin-inline:auto;max-width:var(--prose)}}@media (max-width: 900px){.cs-hero{grid-template-columns:minmax(0,1fr);gap:1.8rem;padding-top:2rem}.cs-hero--chapter .cs-hero__art{display:none}.cs-sec__head{grid-template-columns:minmax(0,1fr);gap:.6rem}.cs-trace__grid{grid-template-columns:minmax(0,1fr)}.cs-trace__code{border-right:0;border-bottom:1px solid var(--rule);max-height:16rem;overflow:auto}.cs-board{padding:24px 16px 26px 28px;gap:30px 24px}}@media (max-width: 640px){.cs{font-size:16px}.cs-top__in{height:52px;gap:.5rem}.cs-top__link--wide,.cs-top__name{display:none}.cs-top__crumbs{font-size:.86rem}.cs-prose{font-size:1.02rem;line-height:1.64}.cs-prose h2{font-size:1.5rem}.cs-prose h3{font-size:1.15rem}.cs-pager{grid-template-columns:minmax(0,1fr)}.cs-pager__card--next{order:-1}.cs-code{margin-inline:-8px;border-radius:10px}.cs-task .cs-code{margin-inline:.6rem}.cs-code__btn .cs-code__btn-text{display:none}.cs-code__btn--run .cs-code__btn-text{display:inline}.cs-code__btn{padding:0 .55rem}.cs-trace__viz{grid-template-columns:minmax(0,1fr)}.cs-hero__title{font-size:clamp(1.75rem,1rem + 5.2vw,2.4rem)}}@media (prefers-reduced-motion: reduce){.cs *,.cs *:before,.cs *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition:none!important}}cs-hint,cs-solution{display:none}.cs code,.cs kbd,.cs samp,.cs pre,.cs .cs-code *,.cs .cs-trace *,.cs .cs-out *,.cs .cs-term *,.cs input,.cs textarea{font-variant-ligatures:none!important;font-feature-settings:"calt" 0,"liga" 0!important}.cs-prose .thm{position:relative;padding:1.5em 1.15em .9em;border-radius:10px;border:1.5px solid var(--accent);background:var(--accent-soft)}.cs-prose .thm:before{content:attr(data-name);position:absolute;top:-.75em;left:.9em;padding:.15em .55em;border-radius:5px;background:var(--accent);color:#fff;font:700 .74rem/1.3 var(--f-ui);letter-spacing:.02em}.cs-prose .thm>*+*{margin-top:.6em}.cs-prose .thm ul{padding-left:1.2em}.cs-prose .proof{padding:.2em 0 .2em 1.1em;border-left:2px solid var(--rule-2);color:var(--ink-2);font-size:.98em}.cs-prose .proof:before{content:"Доказательство. ";font-weight:600;font-style:italic;color:var(--ink)}:lang(en) .cs-prose .proof:before{content:"Proof. "}.cs-prose .proof>p:last-child:after{content:" ∎";color:var(--ink-3)}.cs-prose .proof>p:first-child{display:inline}.cs-prose .katex-display{overflow-x:auto;overflow-y:hidden;padding:.2em 0}.cs-prose>.cs-code.has-trace{max-width:min(62rem,100%)}.cs-qline{position:relative;margin:0 0 2.2rem;padding:34px 0}.cs-qline__parts{display:flex;gap:2px;height:14px}.cs-qline__parts span{flex-basis:0;display:grid;place-items:center;border-radius:3px;background:var(--lc);color:#fff;font:700 .6rem/1 var(--f-code);opacity:.9;overflow:hidden}.cs-qline__mark{position:absolute;top:34px;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;text-decoration:none;color:var(--ink)}.cs-qline__mark:before{content:"";position:absolute;left:50%;width:2px;margin-left:-1px;background:var(--lc)}.cs-qline__mark b{position:relative;z-index:1;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--card);border:2px solid var(--lc);font:700 .72rem/1 var(--f-code)}.cs-qline__mark span{font:500 .62rem/1.4 var(--f-code);color:var(--ink-3)}.cs-qline__mark.is-up{transform:translate(-50%,-100%);flex-direction:column-reverse}.cs-qline__mark.is-up:before{bottom:0;height:8px}.cs-qline__mark.is-down{transform:translate(-50%,14px)}.cs-qline__mark.is-down:before{top:-2px;height:8px}.cs-qline__mark.is-up b{margin-bottom:8px}.cs-qline__mark.is-down b{margin-top:8px}.cs-qline__mark.is-done b{background:var(--lc);color:#fff}.cs-question__part{font:600 .7rem/1.2 var(--f-ui);text-transform:uppercase;letter-spacing:.1em;color:var(--lc);margin-bottom:.35rem!important}.cs-question__done{display:none;margin-left:.6rem;font:700 .78rem/1 var(--f-ui);color:var(--ok)}.cs-question.is-done .cs-question__done{display:inline}.cs-question.is-done{border-color:color-mix(in srgb,var(--ok) 45%,var(--rule))}.cs-viz{margin:.5rem 0;padding:.7rem;border-radius:10px;border:1px solid var(--rule);background:var(--card);white-space:normal;font-family:var(--f-ui)}.cs-viz__title{margin-bottom:.5rem;font:600 .82rem/1.3 var(--f-ui);color:var(--ink-2)}.cs-viz__stage{overflow-x:auto}.cs-viz__bar{display:flex;align-items:center;gap:.35rem;margin-top:.55rem}.cs-viz__bar button{width:30px;height:28px;display:grid;place-items:center;border-radius:7px;border:1px solid var(--rule-2);background:var(--paper);color:var(--ink-2)}.cs-viz__bar svg{width:13px;height:13px}.cs-viz__bar input{flex:1;min-width:80px;accent-color:var(--accent)}.cs-viz__count{font:500 .74rem/1 var(--f-code);color:var(--ink-3);min-width:6.5em;text-align:right}.cs-viz__more{margin-top:.3rem;font:400 .78rem/1.3 var(--f-ui);color:var(--ink-3)}.cs-viz-list__cells{display:flex;flex-wrap:wrap;gap:0}.cs-viz-list__cell{display:flex;flex-direction:column;align-items:center;min-width:2.4rem}.cs-viz-list__cell i{font:400 .66rem/1.4 var(--f-code);color:var(--ink-4);font-style:normal}.cs-viz-list__cell b{display:block;min-width:2.4rem;padding:.3rem .45rem;text-align:center;border:1px solid var(--rule-2);margin-left:-1px;background:var(--paper);font:500 .86rem/1.3 var(--f-code);color:var(--ink)}.cs-viz-list__cell.is-hl b{background:color-mix(in srgb,var(--hl) 24%,var(--paper));border-color:var(--hl);position:relative;z-index:1}.cs-viz-list__ptr{margin-top:.15rem;font:700 .7rem/1.2 var(--f-code);color:var(--accent-ink)}.cs-viz-svg{display:block;width:100%;height:auto;margin:0 auto;overflow:visible}.cs-viz-scroll{overflow-x:auto;overscroll-behavior-x:contain}.cs-seg{display:inline-flex;flex-wrap:wrap;gap:2px;padding:3px;border-radius:12px;background:var(--paper-2)}.cs-seg button{min-height:32px;padding:0 .7rem;border:0;border-radius:9px;background:none;color:var(--ink-2);font:600 .8rem/1 var(--f-ui);cursor:pointer}.cs-seg button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.cs-seg button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.cs-viz-edge{stroke:var(--ink-3);stroke-width:1.6}.cs-viz-edge.is-hot{stroke:var(--accent);stroke-width:3}.cs-viz-arrow{fill:var(--ink-3)}.cs-viz-node{fill:var(--paper);stroke:var(--ink-2);stroke-width:1.6}.cs-viz-label{font:600 11px var(--f-code);fill:var(--ink)}.cs-viz-label.is-on{fill:#fff}.cs-viz-weight{font:500 10px var(--f-code);fill:var(--ink-3)}.cs-viz-grid{display:grid;grid-template-columns:repeat(var(--cols),minmax(0,26px));gap:1px;width:fit-content;max-width:100%;background:var(--rule);border:1px solid var(--rule)}.cs-viz-grid__cell{aspect-ratio:1;display:grid;place-items:center;background:var(--paper);font:500 .7rem/1 var(--f-code);color:var(--ink-2);overflow:hidden}.cs-viz-tablewrap{overflow-x:auto}.cs-viz-table{border-collapse:collapse;font:400 .82rem/1.35 var(--f-code)}.cs-viz-table th,.cs-viz-table td{padding:.3rem .6rem;border:1px solid var(--rule);text-align:left}.cs-viz-table th{background:var(--paper-2);font-family:var(--f-ui);font-weight:600}.cs-viz__canvas{display:block;border-radius:8px;background:var(--paper)}.cs-prose .cs-widget :not(pre)>code{padding:0;border:0;background:none;white-space:normal;font-size:inherit}.cs-bigq code{background:color-mix(in srgb,var(--paper) 14%,transparent)!important;border-color:transparent!important;color:inherit}
