.doc{display:grid;grid-template-columns:250px 1fr;gap:48px;max-width:1320px;margin:0 auto;padding:32px 28px 80px}
@media(max-width:1000px){.doc{grid-template-columns:1fr;gap:8px}.doc .toc{position:static;border:1px solid var(--line);border-radius:18px;background:var(--card);padding:16px}}
.toc{position:sticky;top:24px;align-self:start;font-size:14px;display:flex;flex-direction:column;gap:2px}
.toc .logo{margin:0 0 10px;font-size:17px}
.toc .grp{font:600 11px var(--f-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:16px 0 6px}
.toc a{color:var(--ink2);text-decoration:none;padding:5px 0;border-radius:8px}
.toc a:hover{color:var(--brand)}
.toc .links{margin-top:20px;padding-top:14px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:2px}
main{min-width:0}
.cover{padding:24px 0 40px;border-bottom:1px solid var(--line)}
.eyebrow{font:600 12px var(--f-mono);color:var(--brand);letter-spacing:.08em;text-transform:uppercase}
.cover h1{font-size:clamp(36px,4.4vw,60px);line-height:1;font-weight:800;letter-spacing:-.045em;margin:14px 0 18px;max-width:20ch}
.cover p{font-size:18px;line-height:1.6;color:var(--ink2);max-width:62ch}
section.s{padding:56px 0;border-bottom:1px solid var(--line);position:relative}
section.s .num{font:700 13px var(--f-mono);color:var(--brand);letter-spacing:.06em}
section.s h2{font-size:clamp(28px,3.2vw,40px);line-height:1.05;font-weight:800;letter-spacing:-.035em;margin:10px 0 20px}
section.s h3{font-size:19px;font-weight:700;margin:32px 0 8px}
section.s p{font-size:16px;line-height:1.65;color:var(--ink2);max-width:70ch}
section.s ul{font-size:16px;line-height:1.7;color:var(--ink2);max-width:70ch;padding-left:20px}
section.s li{margin:6px 0}
.tblwrap{overflow-x:auto;margin:18px 0}
table.tbl{width:100%;border-collapse:collapse;font-size:14.5px}
table.tbl th{text-align:left;font:600 12px var(--f-ui);letter-spacing:.05em;text-transform:uppercase;color:var(--muted);padding:0 14px 10px 0;border-bottom:1.5px solid var(--ink);vertical-align:bottom}
table.tbl td{padding:11px 14px 11px 0;border-bottom:1px solid var(--line2);vertical-align:top;color:var(--ink2);line-height:1.5}
table.tbl td.n{text-align:right;font-family:var(--f-mono);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:500;color:var(--ink)}
table.tbl b{color:var(--ink)}
pre.code{background:var(--ink);color:#E7E5E0;border-radius:16px;padding:20px 22px;overflow-x:auto;font:500 12.8px/1.75 var(--f-mono);margin:18px 0;white-space:pre}
pre.code .c{color:#8A8F9C}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:1000px){.grid2,.grid3{grid-template-columns:1fr}}
.box{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:20px}
.box h4{font:700 16px var(--f-ui);margin:0 0 10px}
.box ul{padding-left:18px;margin:0;font-size:15px}
.tag{display:inline-block;font:700 11px var(--f-ui);letter-spacing:.05em;text-transform:uppercase;border-radius:6px;padding:3px 7px;vertical-align:2px}
.tag.g{background:var(--green-soft);color:var(--green-ink)}
.tag.a{background:var(--amber-soft);color:var(--amber-ink)}
.tag.r{background:var(--red-soft);color:var(--red)}
.tag.x{background:var(--line2);color:var(--ink2)}
.ok{color:var(--green-ink);font-weight:700}
.bad{color:var(--red);font-weight:700}
.callout{background:var(--amber-soft);border-radius:14px;padding:14px 16px;font-size:14.5px;line-height:1.6;color:var(--ink2);margin:14px 0}
.callout b{color:var(--ink);font-family:var(--f-mono)}
.src{font-size:12.5px;color:var(--muted);line-height:1.5}
.stat{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px}
.stat b{display:block;font:700 30px var(--f-mono);letter-spacing:-.03em}
.stat span{font-size:13.5px;color:var(--muted);display:block;margin-top:6px;line-height:1.5}
.flow{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:14px 0}
.flow span{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:8px 12px;font-size:13.5px;font-weight:500}
.flow i{color:var(--muted);font-style:normal}
.flow span.k{background:var(--ink);color:#fff;border-color:var(--ink)}
.wf{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:16px 0}
@media(max-width:1000px){.wf{grid-template-columns:1fr 1fr}}
.wfp{background:var(--card);border:1.5px solid var(--ink);border-radius:22px;padding:12px;aspect-ratio:9/17;display:flex;flex-direction:column;gap:7px;font:500 10.5px var(--f-mono);color:var(--ink2)}
.wfp .t{font:700 12px var(--f-ui);color:var(--ink);margin-bottom:2px}
.wfp .b{border:1.2px dashed #b9b5aa;border-radius:8px;padding:6px 7px;min-height:22px}
.wfp .b.s{background:var(--ink);color:#fff;border:0}
.wfp .b.p{background:var(--brand);color:#fff;border:0;text-align:center}
.wfp .g{display:grid;grid-template-columns:1fr 1fr;gap:5px}
.wfp .sp{flex:1}
.wfcap{font-size:12.5px;color:var(--muted);margin-top:6px;line-height:1.4}
