.docs{display:grid;grid-template-columns:240px minmax(0,1fr) 210px;gap:48px;max-width:1280px;margin:0 auto;padding:120px var(--pad) 96px}.docs-side{position:sticky;top:100px;align-self:start;max-height:calc(100vh - 120px);overflow-y:auto;scrollbar-width:thin}.docnav-toggle{display:none}.dn-group+.dn-group{margin-top:26px}.dn-h{margin-bottom:8px;padding:0 10px;font:500 11.5px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.docnav a{display:block;padding:6px 10px;border-radius:8px;font-size:14.5px;color:var(--ink-2);transition:color .2s,background .2s}.docnav a:hover{color:var(--ink);background:var(--paper-2)}.docnav a[aria-current=page]{color:var(--ink);background:var(--card);box-shadow:0 0 0 1px var(--line);font-weight:500}.docnav a[aria-current=page]:before{content:"";display:inline-block;width:6px;height:6px;margin:0 8px 1px 0;border-radius:50%;background:var(--red)}.docs-main{min-width:0;max-width:760px}.crumb{display:flex;gap:8px;font:500 13px var(--sans);color:var(--ink-3)}.crumb a{color:var(--red-ink)}.crumb a:hover{text-decoration:underline;text-underline-offset:3px}.doc-h h1{margin-top:16px;font:400 clamp(38px,4.6vw,56px)/1.04 var(--serif);letter-spacing:-.035em}.doc-desc{margin-top:14px;max-width:38em;font-size:18.5px;line-height:1.55;color:var(--ink-2)}.doc-h{padding-bottom:30px;margin-bottom:34px;border-bottom:1px dashed var(--line-2)}.prose{font-size:16.5px;line-height:1.75;color:var(--ink-2)}.prose>*+*{margin-top:18px}.prose>:first-child{margin-top:0}.prose h2{margin-top:56px;font:400 30px/1.15 var(--serif);letter-spacing:-.025em;color:var(--ink);scroll-margin-top:100px}.prose h3{margin-top:36px;font:500 19px/1.3 var(--sans);letter-spacing:-.015em;color:var(--ink);scroll-margin-top:100px}.prose h2+*,.prose h3+*{margin-top:12px}.prose strong{color:var(--ink);font-weight:600}.prose em{font-style:italic}.prose a:not(.card):not(.src){color:var(--ink);text-decoration:underline;text-decoration-color:#e5322b73;text-underline-offset:4px;transition:text-decoration-color .2s}.prose a:not(.card):not(.src):hover{text-decoration-color:var(--red)}.prose :not(pre)>code{font:.86em var(--mono);padding:.12em .42em;border-radius:6px;background:var(--paper-2);color:var(--ink);white-space:nowrap}.prose ul,.prose ol{padding-left:22px}.prose ul{list-style:disc}.prose ol{list-style:decimal}.prose li+li,.prose li>ul{margin-top:6px}.prose li::marker{color:var(--red)}.prose ol>li::marker{font:500 13px var(--mono)}.prose pre{position:relative;margin-top:20px;padding:18px 20px;border-radius:12px;background:#1a1714!important;box-shadow:0 0 0 1px #1a161433;font:13px/1.7 var(--mono);overflow-x:auto}.prose pre code{color:#f1eee8}.astro-code span{color:var(--shiki-dark)!important}.code-copy{position:absolute;top:10px;right:10px;opacity:0;background:#ffffff14;color:#d9d4cc;transition:opacity .2s}.code-copy:hover,.code-copy.done{background:#f5f4ef;color:#1a1614}.prose pre:hover .code-copy,.code-copy:focus-visible,.code-copy.done{opacity:1}.prose table{display:block;width:100%;overflow-x:auto;border-collapse:collapse;font-size:15px;line-height:1.55}.prose th{padding:10px 18px 10px 0;border-bottom:1px solid var(--line-2);text-align:left;font:500 11.5px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);white-space:nowrap}.prose td{padding:11px 18px 11px 0;border-bottom:1px solid var(--line);vertical-align:top}.prose td:first-child{color:var(--ink)}.callout{padding:18px 22px;border-radius:12px;background:var(--card);box-shadow:inset 3px 0 0 var(--ink-3),0 0 0 1px var(--line);font-size:15.5px}.callout-important{box-shadow:inset 3px 0 0 var(--red),0 0 0 1px var(--line)}.callout-tip{box-shadow:inset 3px 0 #5fae7d,0 0 0 1px var(--line)}.callout-warning{box-shadow:inset 3px 0 #e8a54b,0 0 0 1px var(--line)}.callout-t{margin-bottom:4px;font:500 11.5px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}.callout-important .callout-t{color:var(--red-ink)}.callout>div>*+*{margin-top:8px}.fig{margin:30px 0 0}.fig img{width:100%;height:auto;border-radius:12px;background:#0a0a0a;box-shadow:0 0 0 1px var(--line),0 30px 60px -40px #1a161499}.fig.narrow img{max-width:520px}.fig figcaption{margin-top:10px;font-size:13.5px;color:var(--ink-3)}.src code{transition:background .2s}.src:hover code{background:var(--paper)!important;box-shadow:0 0 0 1px var(--line-2)}.src code:after{content:" ↗";color:var(--ink-3);font-size:.9em}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.card{display:flex;flex-direction:column;gap:4px;padding:22px;border-radius:14px;background:var(--card);box-shadow:0 0 0 1px var(--line);transition:box-shadow .2s,transform .2s}.card:hover{transform:translateY(-2px);box-shadow:0 0 0 1px var(--line-2),0 18px 40px -26px #1a161480}.card b{font:400 21px var(--serif);letter-spacing:-.015em;color:var(--ink)}.card span{font-size:14.5px;line-height:1.55}.prose .card-cta{margin-top:10px;font:500 13.5px var(--sans);font-style:normal;color:var(--red-ink)}.dia{margin-top:28px;padding:20px;border-radius:14px;background:var(--paper-2);font-size:14px;line-height:1.5}.dia-layer{padding:12px 14px;border-radius:10px;background:var(--card);box-shadow:0 0 0 1px var(--line)}.dia-end{outline:1px dashed var(--line-2)}.dia-h{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.dia-h b{color:var(--ink);font-weight:500}.dia-h span{font:11.5px var(--mono);color:var(--ink-3)}.dia-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.dia-chips span{padding:2px 10px;border-radius:999px;background:var(--paper-2);font-size:12.5px;color:var(--ink-2)}.dia-link{text-align:center;font:12px/24px var(--mono);color:var(--ink-3)}.seq-row{display:grid;grid-template-columns:72px 92px minmax(0,1fr);gap:10px;padding:7px 0;border-bottom:1px dashed var(--line-2)}.seq-row:last-child{border-bottom:0}.who{font:500 13px var(--sans);color:var(--ink)}.arrow{font:12px var(--mono);color:var(--ink-3)}.msg{color:var(--ink-2)}.seq-loop{margin-top:10px;padding:8px 14px;border-radius:10px;background:var(--card);box-shadow:0 0 0 1px var(--line)}.seq-tag{margin:4px 0;font:12px var(--mono);color:var(--ink-3)}.seq-tag.add{color:#3f8f5e}.seq-tag.del{color:var(--red-ink)}.seq-alt{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin-top:8px}.seq-alt>div{padding:6px 12px;border-radius:10px;background:var(--paper-2)}.seq-alt .seq-row{grid-template-columns:52px minmax(0,1fr);row-gap:0}.seq-alt .seq-row .msg{grid-column:1 / -1}.flowd{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px}.fd-col{display:flex;flex-direction:column;gap:6px}.fd-down{text-align:center;font:12px/1 var(--mono);color:var(--ink-3)}.fd-node{padding:9px 12px;border-radius:10px;background:var(--card);box-shadow:0 0 0 1px var(--line)}.fd-node b{display:block;font-size:13.5px;font-weight:500;color:var(--ink)}.fd-node span{display:block;font:11px var(--mono);color:var(--ink-3)}.fd-end{background:var(--ink)}.fd-end b{color:var(--paper)}.fd-arr{color:var(--ink-3);font-family:var(--mono)}.doc-edit{margin-top:48px;font-size:14px}.doc-edit a{color:var(--ink-3)}.doc-edit a:hover{color:var(--red-ink)}.pager{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}.pg{display:flex;flex-direction:column;gap:4px;padding:18px 20px;border-radius:14px;background:var(--card);box-shadow:0 0 0 1px var(--line);transition:box-shadow .2s,transform .2s}.pg:hover{transform:translateY(-2px);box-shadow:0 0 0 1px var(--line-2),0 18px 40px -26px #1a161480}.pg span{font-size:13px;color:var(--ink-3)}.pg b{font:400 20px var(--serif);letter-spacing:-.015em;color:var(--ink)}.pg.next{text-align:right}.toc{position:sticky;top:110px;align-self:start;max-height:calc(100vh - 130px);overflow-y:auto}.toc-h{margin-bottom:10px;font:500 11.5px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.toc a{display:block;padding:4px 0 4px 12px;border-left:1px solid var(--line-2);font-size:13.5px;line-height:1.45;color:var(--ink-3);transition:color .2s,border-color .2s}.toc .d3 a{padding-left:22px}.toc a:hover{color:var(--ink)}.toc li.act a{color:var(--ink);border-left-color:var(--red)}@media(max-width:1180px){.docs{grid-template-columns:220px minmax(0,1fr);gap:40px}.toc{display:none}}@media(max-width:860px){.docs{grid-template-columns:minmax(0,1fr);gap:0;padding-top:92px}.docs-side{position:static;max-height:none;margin-bottom:28px;border-radius:12px;background:var(--card);box-shadow:0 0 0 1px var(--line)}.docnav-toggle{display:flex;justify-content:space-between;align-items:center;width:100%;padding:14px 16px;border:0;background:none;font:500 15px var(--sans);color:var(--ink);cursor:pointer}.docnav-toggle[aria-expanded=true] span{transform:rotate(180deg)}.docnav{display:none;padding:0 6px 14px}.docnav.open{display:block}.cards,.seq-alt,.pager,.flowd{grid-template-columns:minmax(0,1fr)}.fd-arr{transform:rotate(90deg);justify-self:center}}.guide{grid-template-columns:220px minmax(0,1fr)}.g-back{display:inline-block;margin-bottom:28px;font-size:14px;color:var(--ink-2)}.g-back:hover{color:var(--red-ink)}.g-toc{position:static;display:block;max-height:none}.g-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;font-size:14px;color:var(--ink-3)}.g-cta{margin-top:56px;padding:28px;border-radius:16px;background:var(--card);box-shadow:0 0 0 1px var(--line)}.g-cta p{margin-bottom:20px;font-size:15.5px;line-height:1.65;color:var(--ink-2)}.g-more{margin-top:28px}.g-more .pg{text-align:left}.gi{max-width:1000px;margin:0 auto;padding:150px var(--pad) 96px}.gi-h h1{margin-top:14px;font:400 clamp(44px,6vw,76px)/1 var(--serif);letter-spacing:-.035em}.gi-h p:last-child{max-width:38em;margin-top:18px;font-size:18px;line-height:1.6;color:var(--ink-2)}.gi-list{display:grid;gap:14px;margin-top:56px}.gi-list a{display:block;padding:28px 30px;border-radius:16px;background:var(--card);box-shadow:0 0 0 1px var(--line);transition:box-shadow .25s,transform .25s}.gi-list a:hover{transform:translateY(-2px);box-shadow:0 0 0 1px var(--line-2),0 24px 50px -32px #1a16148c}.gi-tags{display:flex;gap:6px}.gi-tags span{padding:2px 9px;border-radius:999px;background:var(--paper-2);font:500 12px var(--sans);color:var(--ink-2)}.gi-list h2{margin-top:14px;font:400 30px/1.15 var(--serif);letter-spacing:-.02em}.gi-list p{margin-top:10px;max-width:46em;font-size:16px;line-height:1.6;color:var(--ink-2)}.gi-meta{display:flex;gap:16px;align-items:center;margin-top:18px;font-size:13.5px;color:var(--ink-3)}.gi-meta b{margin-left:auto;font-weight:500;color:var(--red-ink)}@media(max-width:860px){.guide{grid-template-columns:minmax(0,1fr)}.g-toc{display:none}.gi{padding-top:110px}}
