@font-face{font-family:sofia sans condensed;font-style:normal;font-weight:600 800;font-display:swap;src:url(/fonts/sofia-sans-condensed-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:sofia sans condensed;font-style:normal;font-weight:600 800;font-display:swap;src:url(/fonts/sofia-sans-condensed-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:sofia sans;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/sofia-sans-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:sofia sans;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/sofia-sans-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:jetbrains mono;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/jetbrains-mono-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:jetbrains mono;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/jetbrains-mono-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+1E00-1E9F,U+20A0-20AB,U+20AD-20C0,U+2113}@font-face{font-family:jetbrains mono;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/jetbrains-mono-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--paper:#f4f1e9;--paper-deep:#e9e5d9;--sheet:#fbfaf5;--ink:#15191e;--ink-soft:#4b5159;--hair:#cbc5b5;--bar:#15191e;--bar-ink:#f4f1e9;--bar-soft:#c9c5ba;--field:#fff;--orange-soft:#fbd9c3;color-scheme:light;--orange:#e8590c;--on-orange:#15191e;--green:#2b7a4b;--blue:#1f5aa8;--brown:#7b4b2a;--radius:4px;--radius-sm:2px;--display:"Sofia Sans Condensed", "Arial Narrow", "Roboto Condensed", sans-serif;--text:"Sofia Sans", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:"JetBrains Mono", ui-monospace, Menlo, Consolas, monospace}:root[data-theme=dark]{--paper:#0b1220;--paper-deep:#0f182a;--sheet:#131d33;--ink:#e6edf7;--ink-soft:#9aa8c2;--hair:#23304d;--bar:#1b2742;--bar-ink:#e6edf7;--bar-soft:#9aa8c2;--field:#0b1220;--orange-soft:#5a2a0e;color-scheme:dark}:root[data-theme=dark] :is(.row__cover,.product__cover){filter:invert(1)hue-rotate(180deg);border-color:#cbc5b5}*,*::before,*::after{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:18px/1.55 var(--text);-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:underline;text-decoration-color:var(--orange);text-decoration-thickness:2px;text-underline-offset:3px}a:hover{background:var(--orange-soft)}h1,h2,h3{font-family:var(--display);font-weight:800;line-height:1.02;margin:0 0 .5em}h1{font-size:clamp(2.4rem,5.4vw,4rem)}h2{font-size:clamp(1.7rem,3.2vw,2.4rem)}h3{font-size:1.3rem;font-weight:700;line-height:1.15}p{margin:0 0 1em}:focus-visible{outline:3px solid var(--blue);outline-offset:2px}.container{width:100%;max-width:1180px;margin:0 auto;padding:0 24px}.container--narrow{max-width:760px}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:12px;top:12px;z-index:10;background:var(--ink);color:var(--paper);padding:8px 12px;border-radius:var(--radius)}.label{font:500 .74rem/1.4 var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);margin:0 0 14px}.tag{display:inline-flex;align-items:center;gap:8px;font:600 .72rem/1 var(--mono);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}.tag::before{content:"";width:10px;height:10px;background:var(--ink);border-radius:var(--radius-sm)}.tag--course::before{background:var(--blue)}.tag--manual::before{background:var(--orange)}.tag--case::before{background:var(--green)}.pinout{display:flex;height:6px}.pinout i{flex:1}.pinout i:nth-child(1){background:repeating-linear-gradient(90deg,var(--orange) 0 10px,#fff 10px 20px)}.pinout i:nth-child(2){background:var(--orange)}.pinout i:nth-child(3){background:repeating-linear-gradient(90deg,var(--green) 0 10px,#fff 10px 20px)}.pinout i:nth-child(4){background:var(--blue)}.pinout i:nth-child(5){background:repeating-linear-gradient(90deg,var(--blue) 0 10px,#fff 10px 20px)}.pinout i:nth-child(6){background:var(--green)}.pinout i:nth-child(7){background:repeating-linear-gradient(90deg,var(--brown) 0 10px,#fff 10px 20px)}.pinout i:nth-child(8){background:var(--brown)}.site-header{border-bottom:1px solid var(--hair)}.site-header__inner{display:flex;align-items:center;gap:28px;min-height:66px}.logo{font:700 1rem var(--mono);text-decoration:none}.logo span{color:var(--orange)}.logo:hover{background:0 0}.nav{display:flex;gap:24px;margin-left:auto;font-size:.95rem}.nav a{text-decoration:none}.nav a:hover{background:0 0;text-decoration:underline;text-decoration-color:var(--orange);text-decoration-thickness:2px}.lang-switch{display:flex;list-style:none;margin:0;padding:2px;gap:2px;border:1px solid var(--hair);border-radius:var(--radius);font:600 .74rem var(--mono)}.lang-switch a,.lang-switch span{display:block;padding:5px 9px;border-radius:var(--radius-sm);text-decoration:none}.lang-switch span{background:var(--ink);color:var(--paper)}.btn{display:inline-block;padding:14px 24px;border:2px solid var(--ink);border-radius:var(--radius);background:0 0;color:var(--ink);font:700 1rem var(--text);text-decoration:none;text-align:center;cursor:pointer}.btn:hover{background:var(--ink);color:var(--paper)}.btn--primary{background:var(--orange);color:var(--on-orange)}.btn--block{display:block;width:100%}.more{font:600 .82rem var(--mono);white-space:nowrap}.lede{padding:72px 0 80px;border-bottom:1px solid var(--hair)}.lede__grid{display:grid;grid-template-columns:minmax(0,6fr)minmax(0,5fr);gap:56px;align-items:end}.lede h1{font-size:clamp(2.7rem,6.2vw,5rem);line-height:.96;margin-bottom:24px}.lede__lead{font-size:1.2rem;max-width:34em;margin:0 0 28px}.facts{list-style:none;margin:0;padding:0;font:500 .8rem/1.5 var(--mono)}.facts li{padding:10px 0 10px 22px;border-top:1px solid var(--hair);position:relative}.facts li::before{content:"";position:absolute;left:0;top:19px;width:10px;height:2px;background:var(--orange)}.index{background:var(--sheet);border:1px solid var(--ink);border-radius:var(--radius);overflow:hidden}.index__head{display:flex;justify-content:space-between;gap:12px;padding:12px 22px;background:var(--bar);color:var(--bar-ink);font:500 .74rem var(--mono);text-transform:uppercase;letter-spacing:.08em}.index__list{list-style:none;margin:0;padding:0}.index__list li{display:grid;grid-template-columns:2.2em minmax(0,1fr)auto;gap:4px 14px;padding:22px;border-bottom:1px solid var(--hair);align-items:baseline}.index__num{font:500 .8rem var(--mono);color:var(--ink-soft)}.index__title{display:block;margin-top:8px;font:700 1.3rem/1.12 var(--display);text-decoration:none}.index__title:hover{background:0 0;text-decoration:underline;text-decoration-color:var(--orange);text-decoration-thickness:2px}.index__foot{display:block;padding:16px 22px;font:600 .82rem var(--mono);text-decoration:none}.index__foot:hover{background:var(--orange);color:var(--on-orange)}.price{font-family:var(--mono);white-space:nowrap}.price__main{font-weight:700}.price__alt{display:block;color:var(--ink-soft);font-size:.76rem}.section{padding:80px 0}.section--rule{border-top:1px solid var(--hair)}.section--deep{background:var(--paper-deep)}.split{display:grid;grid-template-columns:minmax(0,4fr)minmax(0,8fr);gap:56px;align-items:start}.split__head{position:sticky;top:24px}.split__head p{color:var(--ink-soft);max-width:22em}.formats{margin:0}.formats>div{display:grid;grid-template-columns:11em minmax(0,1fr);gap:8px 24px;padding:28px 0;border-top:1px solid var(--hair)}.formats>div:last-child{border-bottom:1px solid var(--hair)}.formats dt{padding-top:5px}.formats dd{margin:0}.route{list-style:none;counter-reset:hop;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:32px 0 0;padding:0;border-top:2px solid var(--ink)}.route li{counter-increment:hop;position:relative;padding:26px 32px 0 0}.route li::before{content:"";position:absolute;top:-8px;left:0;width:14px;height:14px;background:var(--paper-deep);border:2px solid var(--ink)}.route li:first-child::before{background:var(--orange)}.route h3::before{content:counter(hop)" ";font:500 .8rem var(--mono);color:var(--ink-soft);margin-right:6px;vertical-align:.2em}.route p{margin:0;max-width:24em}.faq details{border-top:1px solid var(--hair)}.faq details:last-child{border-bottom:1px solid var(--hair)}.faq summary{cursor:pointer;padding:22px 40px 22px 0;font-weight:700;list-style:none;position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:"+";position:absolute;right:4px;top:16px;font:500 1.4rem var(--mono)}.faq details[open] summary::after{content:"–"}.faq__answer{padding:0 40px 24px 0;max-width:40em}.faq__answer p:last-child{margin-bottom:0}.reviews{columns:2;column-gap:56px;margin-top:28px}.review{margin:0 0 32px;padding-left:20px;border-left:2px solid var(--orange);break-inside:avoid}.review blockquote{margin:0 0 10px}.review figcaption{font:500 .78rem var(--mono);color:var(--ink-soft)}.page-head{padding:64px 0 48px}.page-head__grid{display:grid;grid-template-columns:minmax(0,7fr)minmax(0,5fr);gap:56px;align-items:end}.page-head h1{margin:0}.page-head p{margin:0}.group{border-top:2px solid var(--ink);padding:24px 0 48px}.group__title{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:8px}.group__title h2{margin:0}.rows{list-style:none;margin:0;padding:0}.row{display:grid;grid-template-columns:220px minmax(0,1fr)auto;gap:32px;padding:32px 0;border-top:1px solid var(--hair);align-items:start}.row__cover{border:1px solid var(--hair);border-radius:var(--radius);background:var(--sheet)}.row__title{margin:0 0 8px;font-size:1.7rem}.row__title a{text-decoration:none}.row__title a:hover{background:0 0;text-decoration:underline;text-decoration-color:var(--orange);text-decoration-thickness:3px}.row__desc{margin:0 0 10px;max-width:38em}.row__meta{font:500 .78rem var(--mono);color:var(--ink-soft);margin:0}.row__side{text-align:right;display:grid;gap:14px;justify-items:end}.row__side .price__main{font-size:1.25rem}.crumbs{font:500 .76rem var(--mono);color:var(--ink-soft);padding:22px 0 0}.crumbs a{text-decoration:none}.crumbs a:hover{background:0 0;text-decoration:underline;text-decoration-color:var(--orange)}.product__head{display:grid;grid-template-columns:minmax(0,7fr)minmax(0,5fr);gap:48px;align-items:center;padding:30px 0 40px}.product__head h1{margin:16px 0 18px;font-size:clamp(2.2rem,4.6vw,3.5rem)}.product__lead{font-size:1.2rem;margin:0}.product__cover{width:100%;border:1px solid var(--hair);border-radius:var(--radius);background:var(--sheet)}.specs{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));margin:0;border-block:1px solid var(--hair)}.specs>div{padding:20px 20px 20px 0}.specs dt{font:500 .7rem var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);margin-bottom:4px}.specs dd{margin:0;font-weight:600;line-height:1.3}.product__grid{display:grid;grid-template-columns:minmax(0,1fr)340px;gap:64px;align-items:start;padding-block:44px 72px}.product__buy{position:sticky;top:24px}.buy-box{border:2px solid var(--ink);border-radius:var(--radius);background:var(--sheet);overflow:hidden}.buy-box__label{margin:0;padding:11px 24px;background:var(--bar);color:var(--bar-ink);font:500 .74rem var(--mono);text-transform:uppercase;letter-spacing:.08em}.buy-box__body{padding:24px}.buy-box .price{display:block;margin-bottom:20px}.buy-box .price__main{font-size:2rem;line-height:1.1;display:block}.buy-box .price__alt{font-size:.82rem;margin-top:4px}.payment__note{margin:14px 0 0;color:var(--ink-soft);font-size:.85rem;line-height:1.45}.payment__alt{margin:16px 0 0;padding-top:14px;border-top:1px solid var(--hair);font-size:.85rem}.payment__alt a{color:var(--ink-soft);text-decoration-color:var(--hair);text-decoration-thickness:1px}.payment__alt a:hover{color:var(--ink);background:0 0;text-decoration-color:var(--orange)}.pay-form label{display:block;font:500 .74rem var(--mono);color:var(--ink-soft);margin-bottom:6px}.pay-form input[type=email]{width:100%;padding:12px 14px;margin-bottom:14px;border:1px solid var(--ink);border-radius:var(--radius);background:var(--field);color:var(--ink);font:1rem var(--text)}.byline{font:500 .78rem var(--mono);color:var(--ink-soft);margin:14px 0 0}.byline a{color:var(--ink)}.author{margin-top:48px;padding:24px;border:1px solid var(--hair);border-radius:var(--radius);background:var(--sheet)}.author .label{margin-bottom:10px}.author__name{font:800 1.7rem/1.05 var(--display);margin:0 0 6px}.author__role{color:var(--ink-soft);margin:0 0 14px}.author__text{margin:0 0 16px;max-width:40em}.author__links{display:flex;flex-wrap:wrap;gap:8px 22px;list-style:none;margin:0;padding:0;font:600 .82rem var(--mono)}.about__grid{display:grid;grid-template-columns:minmax(0,1fr)340px;gap:64px;align-items:start;padding-bottom:72px}.about__grid .prose{font-size:1.1rem}.about__grid .author{margin-top:0}.prose>:first-child{margin-top:0}.prose h2{margin-top:1.5em;font-size:1.7rem}.prose ul,.prose ol{padding-left:1.1em}.prose li{margin-bottom:.4em}.prose li::marker{color:var(--orange)}.prose code{font:.88em var(--mono);background:var(--paper-deep);padding:2px 5px;border-radius:var(--radius-sm)}.program{margin-top:48px}.program h2{margin-bottom:20px}.modules{list-style:none;counter-reset:mod;margin:0;padding:0}.modules li{counter-increment:mod;position:relative;padding:0 0 32px 64px;border-left:2px solid var(--ink);margin-left:8px}.modules li:last-child{padding-bottom:0;border-left-color:transparent}.modules li::before{content:counter(mod,decimal-leading-zero);position:absolute;left:-9px;top:0;padding:2px 6px;background:var(--blue);color:#fff;border-radius:var(--radius-sm);font:600 .78rem var(--mono)}.modules h3{margin:0 0 6px}.modules p{margin:0}.contents{list-style:none;counter-reset:sec;margin:0;padding:0;border-bottom:1px solid var(--hair)}.contents li{counter-increment:sec;display:grid;grid-template-columns:3.4em minmax(0,1fr);padding:22px 0;border-top:1px solid var(--hair)}.contents li::before{content:"§" counter(sec);font:500 .9rem/1.7 var(--mono);color:var(--orange)}.contents h3{margin:0 0 4px}.contents p{margin:0}.plain{padding:64px 0 88px}.plain__code{font:500 .8rem/1.7 var(--mono);color:var(--ink-soft);margin:0 0 24px;padding:16px 18px;border:1px solid var(--hair);border-radius:var(--radius);background:var(--sheet);overflow-x:auto}.plain .prose{font-size:1.15rem;margin-bottom:28px}.site-footer{background:var(--bar);color:var(--bar-ink);font-size:.92rem}.site-footer__inner{display:grid;grid-template-columns:minmax(0,1fr)auto;gap:16px 48px;padding-top:36px;padding-bottom:36px}.site-footer p{margin:8px 0 0;max-width:32em;color:var(--bar-soft)}.site-footer nav{display:flex;gap:22px;align-items:start}.site-footer a:hover{background:0 0;color:var(--orange)}.site-footer .logo span{color:var(--orange)}.site-footer__copy{grid-column:1/-1;font:500 .74rem var(--mono)}@media(max-width:900px){.lede{padding:40px 0 48px}.lede__grid,.page-head__grid,.product__head,.split{grid-template-columns:minmax(0,1fr);gap:32px}.split__head{position:static}.product__grid{grid-template-columns:minmax(0,1fr);gap:40px;padding-block:32px 48px}.about__grid{grid-template-columns:minmax(0,1fr);gap:40px;padding-bottom:48px}.product__main{order:2}.product__buy{position:static;order:1}.section{padding:56px 0}.route{grid-template-columns:minmax(0,1fr);border-top:0;border-left:2px solid var(--ink);margin-left:6px}.route li{padding:0 0 26px 26px}.route li:last-child{padding-bottom:0}.route li::before{top:4px;left:-8px}.reviews{columns:1}.row{grid-template-columns:140px minmax(0,1fr);gap:16px 20px}.row__side{grid-column:1/-1;display:flex;justify-content:space-between;align-items:baseline;text-align:left}}@media(max-width:560px){body{font-size:17px}.container{padding-inline:16px}.site-header__inner{flex-wrap:wrap;gap:0 16px;padding-top:10px}.nav{order:3;flex-basis:100%;flex-wrap:wrap;margin:0;padding:10px 0 12px;gap:6px 20px}.lang-switch{margin-left:auto}.formats>div{grid-template-columns:minmax(0,1fr)}.row{grid-template-columns:minmax(0,1fr)}.row__cover{max-width:260px}.modules li{padding-left:40px}.site-footer__inner{grid-template-columns:minmax(0,1fr)}}