.gr-page{flex-direction:column;gap:14px;width:100%;max-width:1560px;min-height:100%;margin-inline:auto;display:flex}.gr-top h1{margin:0}.gr-kicker{font-family:var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:4px;font-size:11px}.gr-sub{font-family:var(--f-mono);letter-spacing:.06em;color:var(--muted);margin-top:6px;font-size:11px}.gr-bar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.gr-bar .tabs{border-bottom:0}.gr-bar .tab b{font-family:var(--f-mono);letter-spacing:.1em;color:var(--border-2);margin-right:8px;font-size:10.5px;font-weight:500}.gr-bar .tab[aria-current=true] b{color:var(--accent)}.gr-walk{flex:none;gap:6px;padding-bottom:9px;display:flex}.gr-page .btn:disabled{opacity:.4;cursor:default}.gr-page .btn:disabled:hover{border-color:var(--border)}.gr-main{grid-template-columns:minmax(0,1fr) clamp(260px,22vw,320px);align-items:start;gap:28px;display:grid}.gr-side{gap:14px;display:grid;position:sticky;top:0}.gr-info{border-top:1px solid var(--rule);color:var(--ink-2);overflow-wrap:anywhere;gap:2px;padding:10px 14px;font-size:13px;line-height:1.5;display:grid}.gr-info:first-child{border-top:0}.gr-ref{border-top:1px solid var(--rule);color:var(--ink-2);overflow-wrap:anywhere;gap:2px;padding:10px 14px;font-size:13px;line-height:1.45;text-decoration:none;display:grid}.gr-ref:first-child{border-top:0}.gr-ref:hover{background:var(--sunken)}.gr-doc{align-content:start;gap:14px;min-width:0;padding-bottom:36px;display:grid}.gr-stage-title{letter-spacing:-.02em;color:var(--ink);margin:0;font-size:22px;font-weight:700}.gr-lede{max-width:72ch;color:var(--muted);margin:0 0 6px;font-size:14px;line-height:1.6}.gr-p{max-width:78ch;color:var(--ink-2);margin:0;font-size:15px;line-height:1.7}.gr-h3{border-top:1px solid var(--border);letter-spacing:-.01em;color:var(--ink);margin:14px 0 0;padding-top:14px;font-size:16px;font-weight:700}.gr-h4{color:var(--ink);margin:8px 0 0;font-size:14px;font-weight:700}.gr-list{max-width:78ch;color:var(--ink-2);gap:6px;margin:0;padding-left:22px;font-size:15px;line-height:1.65;display:grid}.gr-quote{border-left:2px solid var(--ink);background:var(--sunken);max-width:78ch;color:var(--ink-2);margin:0;padding:10px 14px;font-size:14.5px;line-height:1.65}.gr-doc code,.gr-table code{background:var(--sunken);font-family:var(--f-mono);color:var(--ink);overflow-wrap:anywhere;padding:1px 5px;font-size:.86em}.gr-table{border:1px solid var(--border);scrollbar-width:thin;overflow-x:auto}.gr-table table{border-collapse:collapse;width:100%;font-size:13.5px;line-height:1.55}.gr-table th,.gr-table td{text-align:left;vertical-align:top;border-top:1px solid var(--rule);color:var(--ink-2);padding:9px 12px}.gr-table thead th{background:var(--sunken);font-family:var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink);white-space:nowrap;border-top:0;font-size:10.5px;font-weight:500}.gr-table td:first-child{color:var(--ink)}.gr-table td{min-width:110px}.gr-spoiler summary{border:1px solid var(--border);cursor:pointer;font-family:var(--f-mono);letter-spacing:.06em;color:var(--ink);padding:3px 10px;font-size:11px;list-style:none;display:inline-block}.gr-spoiler summary::-webkit-details-marker{display:none}.gr-spoiler summary:hover{border-color:var(--ink-2)}.gr-spoiler summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.gr-spoiler[open] summary{color:var(--muted);margin-bottom:8px}.gr-spoiler>div,.gr-answer>p{color:var(--ink-2);margin:0;font-size:14px;line-height:1.6}.gr-answer>p{border-left:2px solid var(--ink);padding:2px 0 2px 12px}.gr-qa{counter-reset:gr-q;gap:0;max-width:78ch;margin:0;padding:0;list-style:none;display:grid}.gr-qa>li{counter-increment:gr-q;border-top:1px solid var(--rule);gap:10px;padding:16px 0 16px 38px;display:grid;position:relative}.gr-qa>li:before{content:counter(gr-q, decimal-leading-zero);font-family:var(--f-mono);letter-spacing:.1em;color:var(--muted);font-size:11px;position:absolute;top:18px;left:0}.gr-q{color:var(--ink);margin:0;font-size:15px;font-weight:600;line-height:1.55}.gr-extra{gap:14px;display:grid}.gr-note{border:1px solid var(--border);background:var(--sunken);color:var(--ink-2);gap:3px;padding:10px 12px;font-size:13px;line-height:1.55;display:grid}.gr-note b{font-family:var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink);font-size:10px;font-weight:500}.gr-code{border:1px solid var(--border);min-width:0}.gr-code-bar{border-bottom:1px solid var(--border);background:var(--sunken);font-family:var(--f-mono);letter-spacing:.06em;color:var(--muted);justify-content:space-between;align-items:center;gap:12px;padding:6px 8px 6px 14px;font-size:11px;display:flex}.gr-code pre{max-height:560px;font-family:var(--f-mono);color:var(--ink);scrollbar-width:thin;margin:0;padding:14px;font-size:12.5px;line-height:1.6;overflow-x:auto}.gr-code pre:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.gr-doc .gr-code code{font-size:inherit;background:0 0;padding:0}.gr-diagram{border:1px solid var(--border);min-width:0;margin:0}.gr-diagram-scroll{scrollbar-width:thin;overflow-x:auto}.gr-diagram svg{max-width:none;font-family:var(--f-ui);font-size:12px;display:block}.gr-diagram figcaption{border-top:1px solid var(--border);font-family:var(--f-mono);letter-spacing:.04em;color:var(--muted);padding:7px 14px;font-size:11px}.gr-node rect{fill:var(--surface);stroke:var(--border-2);stroke-width:1px}.gr-node text{fill:var(--ink)}.gr-node-note rect{stroke-dasharray:3 3;fill:var(--sunken)}.gr-node-note text{fill:var(--muted)}.gr-node-store rect{fill:var(--sunken)}.gr-node line{stroke:var(--border-2)}.gr-edge{stroke:var(--ink-2);stroke-width:1.3px}.gr-edge-msg{stroke-dasharray:5 4}.gr-edge-bold{stroke-width:2.6px}.gr-edge-label{fill:var(--ink-2);paint-order:stroke;stroke:var(--bg);stroke-width:4px;stroke-linejoin:round;font-size:11px}.gr-hub-links{flex-wrap:wrap;gap:6px;display:flex}.gr-page-doc{width:100%;max-width:1120px;margin-inline:auto;padding-bottom:36px}.gr-doc-head{gap:8px;margin-bottom:8px;display:grid}.gr-doc-head h1{margin:0}.gr-meta{flex-wrap:wrap;gap:6px 8px;display:flex}.gr-section{gap:14px;padding-top:28px;scroll-margin-top:12px;display:grid}.gr-section>h2{border-top:1px solid var(--border);letter-spacing:-.015em;color:var(--ink);margin:0;padding-top:18px;font-size:20px;font-weight:700}.gr-toc{flex-wrap:wrap;gap:6px;display:flex}@media (max-width:980px){.gr-main{grid-template-columns:minmax(0,1fr)}.gr-side{position:static}}@media (max-width:780px){.gr-bar{flex-direction:column;align-items:stretch;gap:0}.gr-walk{border-top:1px solid var(--border);justify-content:flex-end;padding:9px 0}}@media (max-width:480px){.gr-bar .tab{padding-inline:10px}}
