/* Turandot Tech: локальные стили, без внешних ресурсов. */
:root{--paper:#f6f5ef;--surface:#fff;--ink:#1c2a3a;--muted:#546170;--blue:#2058c7;--line:#d9ddd9;--wash:#e9eef9;--lime:#dcefa7;--radius:18px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:1rem;line-height:1.7}
a{color:var(--blue);text-underline-offset:.22em}a:hover{text-decoration-thickness:2px}a:focus-visible{outline:3px solid var(--blue);outline-offset:5px;border-radius:3px}svg{max-width:100%;height:auto}
.wrap{max-width:1160px;margin:auto;padding-inline:24px}.skip{position:absolute;left:20px;top:-100px;padding:10px 18px;background:var(--ink);color:white;z-index:3}.skip:focus{top:12px}
.top{padding-block:25px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);font-size:1.15rem;font-weight:750;text-decoration:none;letter-spacing:-.03em}.brand-mark{display:grid;place-items:center;width:38px;height:38px;background:var(--ink);color:var(--lime);font-size:.8rem;border-radius:10px;letter-spacing:-.08em}
nav ul{display:flex;gap:24px;flex-wrap:wrap;list-style:none;margin:0;padding:0}nav a{color:var(--muted);text-decoration:none;font-size:.92rem}nav a[aria-current=page]{color:var(--ink);text-decoration:underline;text-decoration-color:var(--blue);text-decoration-thickness:2px}
.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:750;color:var(--blue);margin:0 0 22px}.hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:56px;align-items:center;padding-block:78px 70px}
h1,h2,h3{line-height:1.14;letter-spacing:-.035em}h1{font-size:clamp(2.5rem,5.4vw,4.8rem);font-weight:720;margin:0 0 26px;max-width:15ch}h2{font-size:clamp(1.6rem,3vw,2.4rem);margin:0 0 18px}h3{font-size:1.25rem;margin:0 0 14px}
p{margin:0 0 20px}.lead{font-size:1.13rem;color:var(--muted);max-width:59ch}.actions{display:flex;flex-wrap:wrap;gap:18px;align-items:center;margin-top:30px}.button{display:inline-block;padding:12px 20px;background:var(--blue);border-radius:8px;color:white;text-decoration:none;font-weight:650}.button:hover{background:#1947a3}
.diagram{background:var(--wash);border-radius:var(--radius);padding:27px 28px;position:relative}.diagram .tag{display:inline-block;font-size:.75rem;background:var(--lime);color:var(--ink);padding:4px 11px;border-radius:100px;font-weight:650}.diagram svg{display:block;width:100%;margin:22px 0 18px}.diagram-caption{font-size:.88rem;color:var(--muted);margin:0}.diagram-heading{font-weight:700;font-size:1rem;margin:0 0 6px}
.section{padding-block:48px 60px;border-top:1px solid var(--line)}.section-heading{display:flex;gap:25px;justify-content:space-between;align-items:end;margin-bottom:30px}.section-heading p{max-width:40ch;color:var(--muted);margin:0}.section-heading h2{margin:0}
.topic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.topic{padding-top:20px;border-top:2px solid var(--ink)}.number{font-size:.75rem;font-weight:700;letter-spacing:.1em;color:var(--blue);display:block;margin-bottom:20px}.topic p{color:var(--muted);font-size:.96rem}.topic a{font-weight:650}
.band{background:var(--ink);color:white;border-radius:var(--radius);padding:36px;display:grid;grid-template-columns:1fr 1fr;gap:36px}.band p{color:#e2e7eb;margin:0}.band h2{font-size:1.65rem}.band a{color:var(--lime)}
.page-header{padding-block:60px 35px}.page-header h1{font-size:clamp(2.5rem,5vw,4rem);max-width:20ch}.page-header .lead{max-width:66ch}.breadcrumbs{font-size:.86rem;margin-bottom:28px;color:var(--muted)}
.reading{display:grid;grid-template-columns:220px minmax(0,1fr);gap:60px;padding-bottom:70px}.toc{font-size:.9rem;align-self:start;position:sticky;top:25px}.toc strong{display:block;margin-bottom:15px}.toc ol{padding-left:20px;margin:0}.toc li{margin-bottom:12px}.toc a{color:var(--muted)}
.article{max-width:70ch}.article section{padding-block:22px 30px;border-bottom:1px solid var(--line);scroll-margin-top:25px}.article section:first-child{padding-top:0}.article h2{font-size:1.9rem}.article h3{margin-top:30px}.article li{padding-left:5px;margin-bottom:12px}.article ol,.article ul{padding-left:24px}.note{padding:20px 24px;background:var(--wash);border-left:3px solid var(--blue);border-radius:0 10px 10px 0;margin:25px 0}.note p:last-child{margin:0}code{background:#e9eae5;padding:.15em .35em;border-radius:4px;font-size:.88em;overflow-wrap:anywhere}
.link-row{display:flex;gap:15px;flex-wrap:wrap;padding-top:25px}.footer{border-top:1px solid var(--line);padding-block:28px 36px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;color:var(--muted);font-size:.84rem}.footer p{margin:0}.footer a{color:var(--muted)}
.error-page{padding-block:90px 110px}.error-code{font-size:.85rem;letter-spacing:.12em;font-weight:750;color:var(--blue)}.error-page h1{max-width:18ch}.error-page p{max-width:58ch;color:var(--muted)}
@media(max-width:850px){.hero{grid-template-columns:1fr;gap:35px;padding-block:48px}.hero h1{max-width:17ch}.diagram{max-width:520px}.topic-grid{grid-template-columns:1fr;gap:28px}.topic{display:grid;grid-template-columns:40px minmax(0,1fr);column-gap:15px}.topic .number{grid-row:1/4}.topic h3,.topic p,.topic a{grid-column:2}.topic h3{margin-bottom:12px}.band{grid-template-columns:1fr;gap:12px}.reading{grid-template-columns:1fr;gap:35px}.toc{position:static;border-block:1px solid var(--line);padding-block:20px}.toc ol{display:flex;gap:10px 28px;flex-wrap:wrap}.toc li{margin:0}.section-heading{display:block}.section-heading h2{margin-bottom:15px}}
@media(max-width:480px){.wrap{padding-inline:20px}.top{padding-block:20px;gap:18px}nav ul{gap:18px}nav a{font-size:.86rem}.hero{padding-top:38px}h1{font-size:2.65rem}.lead{font-size:1.04rem}.diagram{padding:22px}.section{padding-block:35px 40px}.band{padding:26px}.page-header{padding-top:38px}.article h2{font-size:1.65rem}.note{padding:18px}.footer{gap:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.eyebrow.light{color:var(--lime)}
