@layer components{.article-hero{background:linear-gradient(180deg,#17142fbf,#0b0a1a00)}.article-grid{display:grid;gap:2.5rem;grid-template-columns:minmax(0,1fr)}.article-main{max-width:48rem}.article-grid.is-wide .article-main{max-width:60rem}@media(min-width:1024px){.article-grid.has-nav{grid-template-columns:15rem minmax(0,1fr)}.article-nav{position:sticky;top:5.5rem;align-self:start;max-height:calc(100vh - 7rem);overflow-y:auto}.nav-details>summary{display:none}}@media(min-width:1280px){.article-grid.has-toc{grid-template-columns:minmax(0,1fr) 14rem}.article-grid.has-nav.has-toc{grid-template-columns:15rem minmax(0,1fr) 14rem}}.nav-details>summary{cursor:pointer;list-style:none;padding:.7rem .9rem;background:var(--surface);box-shadow:inset 0 0 0 2px var(--line)}.nav-item{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.42rem .7rem;font-size:.9rem;color:var(--ink-2);border-inline-start:2px solid var(--line)}.nav-item:hover{color:var(--ink);border-color:var(--line-2);background:var(--surface)}.nav-item.on{color:var(--ink);border-color:var(--magenta);background:var(--surface-2)}.nav-badge{font-family:var(--font-tiny);font-size:.58rem;text-transform:uppercase;color:var(--gold);white-space:nowrap}.toc-list a{display:block;color:var(--muted);padding:.2rem 0 .2rem .7rem;border-inline-start:2px solid var(--line)}.toc-list a:hover{color:var(--ink)}.toc-list a.on{color:var(--cyan);border-color:var(--cyan)}.content-body>:first-child{margin-top:0}.content-body h2{scroll-margin-top:5.5rem;padding-top:.4em}.content-body h3{scroll-margin-top:5.5rem}.content-body h4{color:var(--ink);font-weight:700;margin:1.4em 0 .4em}.content-body .h-anchor{margin-inline-start:.4em;color:var(--line-2);text-decoration:none;opacity:0;font-family:var(--font-mono);font-size:.8em}.content-body h2:hover .h-anchor,.content-body h3:hover .h-anchor,.content-body .h-anchor:focus{opacity:1}.content-body hr{border:0;height:12px;margin:2.5em 0;background:linear-gradient(90deg,var(--line) 50%,transparent 50%) 0 0 / 16px 4px repeat-x,linear-gradient(90deg,transparent 50%,var(--line) 50%) 0 8px / 16px 4px repeat-x;opacity:.6}.content-body blockquote{background:var(--surface);padding:.9em 1.1em;box-shadow:inset 4px 0 0 var(--magenta);border:0}[dir=rtl] .content-body blockquote{box-shadow:inset -4px 0 0 var(--magenta)}.content-body blockquote p:last-child{margin-bottom:0}.content-body .callout{background:var(--surface);padding:.95em 1.15em;margin:0 0 1.3em;box-shadow:inset 0 0 0 2px var(--line)}.content-body .callout>:last-child{margin-bottom:0}.content-body .callout.tip{box-shadow:inset 0 0 0 2px var(--lime-d)}.content-body .callout.warn{box-shadow:inset 0 0 0 2px var(--gold-d)}.content-body .callout.soon{box-shadow:inset 0 0 0 2px var(--magenta-d)}.content-body .callout strong:first-child{font-family:var(--font-tiny);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;display:block;margin-bottom:.35em}.content-body .callout.tip strong:first-child{color:var(--lime)}.content-body .callout.warn strong:first-child{color:var(--gold)}.content-body .callout.soon strong:first-child{color:var(--magenta)}.content-body .table-wrap{overflow-x:auto;margin:0 0 1.4em}.content-body .table-wrap table{margin:0;min-width:32rem}.content-body td code{white-space:nowrap}.content-body tbody tr:hover{background:#ffffff05}.content-body kbd{font-family:var(--font-mono);font-size:.85em;padding:.1em .45em;background:var(--surface-3);box-shadow:inset 0 -2px 0 var(--shadow);color:var(--ink)}.content-body ol>li::marker{color:var(--cyan);font-family:var(--font-tiny);font-size:.85em}.content-body ul>li::marker{color:var(--magenta)}.content-body pre.astro-code,.content-body pre{background:var(--bg-2)!important;margin:0;padding:1rem 1.15rem;font-size:.86rem;line-height:1.6;box-shadow:none;tab-size:2}.content-body .code-frame,.content-body .code-tabs{margin:0 0 1.4em;background:var(--bg-2);box-shadow:inset 0 0 0 2px var(--line);padding:2px}.content-body .code-bar{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:0 .3rem 0 .9rem;min-height:2.25rem;background:var(--surface);border-bottom:2px solid var(--line)}.content-body .code-lang{font-family:var(--font-tiny);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.content-body .code-copy{font-family:var(--font-tiny);font-size:.64rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2);background:var(--surface-2);padding:.4rem .65rem;box-shadow:inset 0 0 0 2px var(--line);cursor:pointer}.content-body .code-copy:hover{color:var(--cyan)}.content-body .code-tablist{display:flex;align-self:stretch;margin-inline-start:-.9rem}.content-body .code-tab{font-family:var(--font-tiny);font-size:.66rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:0 .95rem;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px}.content-body .code-tab:hover{color:var(--ink)}.content-body .code-tab.on{color:var(--cyan);border-color:var(--cyan);background:var(--bg-2)}.content-body .ep{display:inline-flex;gap:.6em;align-items:baseline;font-family:var(--font-mono);font-size:.95rem}.content-body .verb{font-family:var(--font-tiny);font-size:.7rem;padding:.2em .5em;color:var(--bg);background:var(--cyan)}.content-body .verb.post{background:var(--lime)}.content-body .verb.delete{background:var(--red)}.content-body .verb.get{background:var(--cyan)}.content-body .sc-fig{margin:.5em 0 1.6em}.content-body .sc-fig figcaption{margin-top:.6em;font-size:.86rem;color:var(--muted);line-height:1.5}.content-body .sc-stage{display:flex;align-items:flex-end;justify-content:center;padding:1.1rem;min-height:9rem;box-shadow:inset 0 0 0 2px var(--line)}.content-body .sc-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.6rem}.content-body .sc-cell{display:grid;gap:.35rem}.content-body .sc-name{font-family:var(--font-tiny);font-size:.62rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.content-body .strip-row{display:flex;gap:.4rem;overflow-x:auto;padding-bottom:.4rem}.content-body .strip-cell{display:grid;justify-items:center;gap:.25rem;flex:none}.content-body .strip-frame{padding:.3rem;box-shadow:inset 0 0 0 2px var(--line)}.content-body .strip-idx{font-family:var(--font-tiny);font-size:.66rem;color:var(--cyan)}.content-body .strip-label{font-family:var(--font-tiny);font-size:.6rem;text-transform:uppercase;color:var(--gold);text-align:center;max-width:6.5rem}.content-body .pixel-row{display:flex;flex-wrap:wrap;gap:.8rem;align-items:flex-end;margin:.4em 0 .6em}.content-body .pixel-row figure{margin:0;display:grid;justify-items:center;gap:.3rem;padding:.8rem;box-shadow:inset 0 0 0 2px var(--line)}.content-body .pixel-row img{margin:0;image-rendering:pixelated}.content-body .pixel-row figcaption{font-family:var(--font-tiny);font-size:.6rem;text-transform:uppercase;color:var(--muted)}.content-body .diagram{width:100%;height:auto;background:var(--bg-2);box-shadow:inset 0 0 0 2px var(--line);padding:.4rem}.content-body .diagram .d-h{fill:var(--ink);font-family:var(--font-tiny);font-size:12px;text-transform:uppercase}.content-body .diagram .d-s{fill:var(--muted);font-family:var(--font-mono);font-size:11px}.content-body .diagram .d-cell{fill:var(--surface-2);stroke:var(--line-2);stroke-width:1.5}.content-body .diagram .d-cell.d-a{fill:var(--surface-3);stroke:var(--cyan)}.content-body .diagram .d-spr{fill:var(--magenta);opacity:.55}.content-body .diagram .d-frame{fill:none;stroke:var(--line);stroke-width:2;stroke-dasharray:4 4}.content-body .yes{color:var(--lime);font-weight:700}.content-body .no{color:var(--red);font-weight:700}.content-body .part{color:var(--gold);font-weight:700}}
