:root{--ink:#18241e;--muted:#68746e;--line:#e3e8e4;--lime:#d7fa87;--white:#fff;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--white);font-synthesis:none}
*{box-sizing:border-box}
body{margin:0}
a{color:inherit;text-decoration:none}
button{font:inherit}
svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
a:focus-visible,button:focus-visible{outline:3px solid #547815;outline-offset:5px}
a:hover{text-decoration:underline;text-underline-offset:5px}
.header-inner,.home,.footer{max-width:1420px;width:calc(100% - 112px);margin:auto}
.header-inner{height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{font-size:23px;font-weight:700;letter-spacing:-.7px;white-space:nowrap}
.header nav,.languages{display:flex;align-items:center;gap:28px}
.header nav{font-size:16px}
.languages{gap:13px;border-left:1px solid var(--line);padding-left:28px}
.languages span{color:var(--muted)}
.languages a[aria-current]{font-weight:700}
.home{min-width:0}
body:has(.home) .header-inner{border-bottom:1px solid var(--line)}
.hero{display:grid;grid-template-columns:1.22fr 1fr;gap:56px;align-items:center;padding:64px 0;min-height:680px}
.hero>div{min-width:0}
h1,h2,h3,p{margin-top:0}
.hero h1{font-size:clamp(44px,5vw,76px);line-height:1.08;letter-spacing:-3px;margin:0 0 36px;font-weight:750}
html[lang="ru"] .hero h1{font-size:clamp(44px,4.4vw,68px)}
.hero-intro{font-size:25px;line-height:1.45;color:var(--muted);max-width:640px;margin-bottom:36px}
.clients{margin:38px 0 22px;color:var(--muted);font-size:18px;line-height:1.7}
.clients a{text-decoration:underline;text-underline-offset:4px}
.actions{display:flex;gap:30px;align-items:center;flex-wrap:wrap}
.text-action{text-decoration:underline;text-underline-offset:6px}
.text-action svg{transform:rotate(90deg)}
.release-link{display:inline-flex;gap:10px;align-items:center;color:var(--muted);font-size:16px;text-decoration:underline;text-underline-offset:5px}
.release-link svg{width:18px;height:18px}
.button,.text-action{display:inline-flex;align-items:center;gap:18px;font-size:19px}
.button{background:var(--lime);border-radius:8px;padding:19px 28px;font-weight:700}
.button:hover{background:#c9f56d;text-decoration:none}
.preview{background:var(--ink);color:#e9efeb;border-radius:8px;padding:30px;min-height:546px}
.home h2{font-size:44px;line-height:1.15;letter-spacing:-1.5px;font-weight:700;margin:0 0 44px}
.home .preview h2{font-size:22px;letter-spacing:0;line-height:1.35;margin:0 0 4px}
.preview-caption{color:#b4c0b8;font-size:16px;line-height:1.5;margin-bottom:26px}
.preview pre{margin:0 0 26px;font-size:16px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}
.preview dl{margin:0}
.preview dl>div+div{margin-top:26px}
.preview dt{color:var(--lime);font-size:13px;line-height:1.5;text-transform:uppercase;letter-spacing:.6px;margin-bottom:6px}
.preview dd{font-size:16px;line-height:1.6;margin:0;overflow-wrap:anywhere}
.workflow{padding:56px 0 0;scroll-margin-top:24px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:56px;list-style:none;padding:0;margin:0 0 56px}
.number{display:block;font-size:18px;color:var(--muted);margin-bottom:18px}
.steps h3,.principles h3{font-size:24px;line-height:1.3;letter-spacing:-.6px;margin-bottom:16px}
.steps p,.principles p{font-size:20px;line-height:1.5;color:var(--muted);margin:0}
.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:56px;background:#f4fbdc;padding:32px}
.principles h3{font-size:22px}
.principles p{font-size:18px}
.getting-started{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:center;padding:64px 0}
.getting-started>div{min-width:0}
.getting-started h2{max-width:590px;margin-bottom:30px}
.getting-started p{color:var(--muted);font-size:22px;line-height:1.55}
.guide-link{color:#466d0c;font-size:20px;display:inline-flex;align-items:center;gap:16px;text-decoration:underline;text-underline-offset:6px}
.stacks{border-block:1px solid var(--line);padding:26px 0;color:var(--muted);font-size:16px;line-height:1.8;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.stacks p{margin:0}
.explore{border-block:1px solid var(--line);padding:48px 0 40px}
.doc-row{display:grid;grid-template-columns:48px 1fr 1.15fr;gap:24px;align-items:baseline;border-bottom:1px solid var(--line);padding:22px 0;line-height:1.5}
.doc-row .number{margin:0;font-size:16px}
.doc-title{display:flex;align-items:center;gap:12px;font-size:20px;font-weight:600}
.doc-title svg{width:18px;height:18px}
.doc-description{color:var(--muted);font-size:18px}
.doc-row:hover{text-decoration:none}
.doc-row:hover .doc-title{text-decoration:underline;text-underline-offset:5px}
.footer{padding:38px 0 44px;display:flex;justify-content:space-between;gap:25px;align-items:center}
.footer>div{display:flex;gap:26px;font-size:16px;color:var(--muted)}
.code-block{position:relative;background:var(--ink);color:#f3f5f2;border-radius:6px;margin:22px 0 34px;overflow:hidden}
.code-block pre{margin:0;padding:55px 24px 27px;overflow:auto;font-size:14px;line-height:1.85}
.code-label{position:absolute;top:17px;left:24px;color:#adb9b1;font:13px ui-monospace,monospace}
.copy{position:absolute;right:15px;top:12px;color:#e5ebe5;border:0;border-radius:4px;background:transparent;display:flex;gap:8px;align-items:center;padding:6px;cursor:pointer;font-size:13px}
.copy:hover{background:#ffffff15}
.copy svg{width:18px;height:18px}
.getting-started .code-block{margin:0}
.getting-started code{white-space:pre-wrap;overflow-wrap:anywhere}
.docs-layout{display:grid;grid-template-columns:260px minmax(0,1fr) 180px;gap:48px;max-width:1536px;margin:auto;padding:48px 42px 75px}
.header:has(+.docs-layout),body:has(.docs-layout) .header{border-bottom:1px solid var(--line)}
body:has(.docs-layout) .header-inner{width:calc(100% - 84px);max-width:1452px}
.sidebar{border-right:1px solid var(--line);padding-right:18px}
.sidebar nav,.toc nav{position:sticky;top:25px}
.sidebar h2{font-size:18px;font-weight:600;color:var(--muted);margin:8px 0 18px}
.sidebar a{display:block;font-size:16px;padding:12px 15px;margin-left:-15px;border-radius:4px;line-height:1.5}
.sidebar a[aria-current]{background:#eafbc2;color:var(--ink);font-weight:600}
.article{min-width:0;font-size:18px;line-height:1.65}
.article h1{font-size:56px;line-height:1.15;letter-spacing:-1.8px;margin:0 0 30px}
.article h2{font-size:32px;line-height:1.25;letter-spacing:-.9px;margin:42px 0 20px;scroll-margin-top:25px}
.article h3{font-size:23px;margin-top:30px}
.article p{margin-bottom:19px}
.article img{display:block;max-width:100%;height:auto;margin:28px auto}
.article a{color:#426b0d;text-decoration:underline;text-underline-offset:3px}
.article code:not(pre code){font-size:.86em;background:#f0f4ed;border-radius:3px;padding:2px 5px;overflow-wrap:anywhere}
.article pre code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
.article ul,.article ol{padding-left:24px}
.article li{margin-bottom:8px}
.article blockquote{margin:24px 0;border-left:3px solid #a3c66a;padding:3px 0 3px 20px;color:var(--muted)}
.article table{display:block;overflow:auto;width:100%;border-collapse:collapse;font-size:16px;margin:24px 0}
.article td,.article th{border-bottom:1px solid var(--line);padding:12px;text-align:left;vertical-align:top;min-width:130px}
.article th{font-weight:600;background:#f4f7f1}
.toc{border-left:1px solid var(--line);padding-left:22px;margin-top:8px;align-self:start;font-size:14px;line-height:1.5}
.toc p{margin-bottom:18px}
.toc a{display:block;color:var(--muted);margin:14px 0}
.article-bottom{border-top:1px solid var(--line);margin-top:48px;padding-top:24px;display:flex;justify-content:space-between;gap:20px;font-size:14px}
.article-bottom .next{display:flex;align-items:center;gap:12px}
.skip{position:absolute;left:15px;top:-80px;background:var(--lime);padding:15px;z-index:20}
.skip:focus{top:10px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

@media(min-width:1440px){body:has(.home) .header-inner{height:134px}
body:has(.home) .brand{font-size:30px}
body:has(.home) .header nav{font-size:21px}
.hero{min-height:736px;gap:64px}
.hero h1{font-size:80px}
.hero-intro{font-size:34px;max-width:none}
.hero .button{font-size:26px}
.hero .text-action{font-size:23px}
.clients{font-size:23px}
.release-link{font-size:20px}
.preview{min-height:608px;padding:36px}
.home .preview h2{font-size:24px}
.preview-caption{font-size:18px;margin-bottom:30px}
.preview pre{font-size:20px;margin-bottom:32px}
.preview dl>div+div{margin-top:32px}
.preview dt{font-size:16px}
.preview dd{font-size:20px}
.stacks{font-size:20px;padding:40px 0}
}

@media(max-width:1200px){.hero{gap:40px}
.hero h1{letter-spacing:-2.8px}
.hero-intro{font-size:21px}
.docs-layout{grid-template-columns:220px minmax(0,1fr);gap:35px}
.toc{display:none}
.article h1{font-size:47px}
.home h2{font-size:38px}
.steps{gap:38px}
.getting-started{gap:40px}
.principles{gap:30px;padding:26px}
.preview{padding:25px}
.preview pre,.preview dd{font-size:14px}
.doc-row{grid-template-columns:34px 1fr 1fr;gap:18px}
.steps p{font-size:20px}
.footer .brand{font-size:20px}
}

@media(max-width:800px){.header-inner,.home,.footer{width:calc(100% - 40px)}
.header-inner{height:auto;min-height:78px;gap:12px;flex-wrap:wrap;padding:20px 0}
.brand{font-size:20px}
.header nav{font-size:14px;gap:18px}
.languages{padding-left:16px;gap:10px}
.hero{grid-template-columns:1fr;padding:40px 0;gap:36px;min-height:0}
.hero h1,html[lang="ru"] .hero h1{font-size:clamp(40px,7.5vw,60px);letter-spacing:-1.7px;margin:0 0 25px}
.hero-intro{font-size:19px;line-height:1.6;margin-bottom:26px}
.actions{gap:24px}
.button,.text-action{font-size:16px}
.button{padding:16px 21px}
.clients{font-size:16px;margin:26px 0 18px}
.preview{padding:24px;min-height:0}
.preview pre,.preview dd{font-size:14px}
.home .preview h2{font-size:21px;margin-bottom:4px}
.home h2{font-size:32px;letter-spacing:-1px;margin-bottom:30px}
.workflow{padding:35px 0 0}
.steps{grid-template-columns:1fr;gap:30px;margin-bottom:32px}
.principles{grid-template-columns:1fr;gap:28px;padding:24px}
.principles h3{font-size:22px;margin-bottom:9px}
.number{margin-bottom:10px}
.steps h3{font-size:23px;margin-bottom:9px}
.steps p{font-size:18px;max-width:none}
.getting-started{grid-template-columns:1fr;padding:35px 0;gap:22px}
.getting-started p{font-size:18px}
.guide-link{font-size:17px}
.stacks{font-size:15px;padding:24px 0;gap:10px}
.explore{padding:32px 0}
.doc-row{grid-template-columns:24px 1fr;gap:8px 15px;padding:20px 0}
.doc-description{grid-column:2;font-size:16px}
.doc-title{font-size:18px}
.footer{flex-direction:column;align-items:flex-start;padding:28px 0}
.footer>div{flex-wrap:wrap;font-size:14px;gap:18px}
.docs-layout{display:block;padding:20px 20px 40px}
.sidebar{border:0;padding:0;margin-bottom:32px}
.sidebar nav{position:static}
.sidebar h2{margin-bottom:12px}
.sidebar nav>a{display:inline-block;padding:8px 12px;font-size:14px;margin:0 3px 6px 0;background:#f5f7f3}
.article{font-size:17px}
.article h1{font-size:40px;letter-spacing:-1px;margin-bottom:24px}
.article h2{font-size:28px;margin-top:35px}
.article .code-block pre{font-size:12px;padding-inline:18px}
.article-bottom{flex-wrap:wrap}
.code-block pre{font-size:12px}
body:has(.docs-layout) .header-inner{width:calc(100% - 40px)}
}

@media(prefers-reduced-motion:no-preference){.button{transition:background .15s}
.copy{transition:background .15s}
}
