:root{color-scheme:dark;--bg:#08090c;--bg-raised:#0d0f13;--surface:#111419;--surface-hover:#161a21;--line:#ffffff13;--line-strong:#ffffff26;--text:#eceef2;--text-2:#a5abb7;--text-3:#737a87;--accent:#ffb454;--accent-2:#ff9a3c;--accent-soft:#ffb4541f;--accent-ink:#1b1305;--live:#4fd88a;--panel-light:#f3f2ee;--shadow:0 1px 0 #ffffff0a inset, 0 24px 48px -28px #000000e6;--radius:10px;--radius-sm:6px;--container:1160px;--gutter:clamp(16px, 4.5vw, 40px);--header-h:60px;--edge:max(var(--gutter), calc((100% - var(--container)) / 2));--step--1:.875rem;--step-0:1rem;--step-1:1.125rem;--step-2:clamp(1.25rem, 1.1rem + .6vw, 1.5rem);--step-3:clamp(1.7rem, 1.3rem + 1.6vw, 2.4rem);--step-4:clamp(2.6rem, 1.5rem + 4.6vw, 5.25rem);--ease:cubic-bezier(.2, .7, .2, 1)}:root[data-theme=light]{color-scheme:light;--bg:#f5f4f0;--bg-raised:#faf9f6;--surface:#fff;--surface-hover:#f0eee8;--line:#14141417;--line-strong:#1414142e;--text:#14161a;--text-2:#4a4f59;--text-3:#6c717d;--accent:#b4540a;--accent-2:#9a4307;--accent-soft:#b4540a1a;--accent-ink:#fff;--live:#1f9d55;--panel-light:#fff;--shadow:0 1px 2px #1414140f, 0 24px 48px -32px #14141459}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 16px)}body{background:var(--bg);min-height:100dvh;color:var(--text);font-family:var(--font-sans), system-ui, sans-serif;font-size:var(--step-0);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;flex-direction:column;margin:0;line-height:1.6;display:flex;position:relative}body:before{content:"";inset:0 var(--edge);z-index:0;border-inline:1px solid var(--line);pointer-events:none;position:fixed}body>*{z-index:1;position:relative}main{flex:1}img,picture,video,canvas,svg{max-width:100%;display:block}img{height:auto}h1,h2,h3,h4{letter-spacing:-.03em;text-wrap:balance;margin:0;font-weight:650;line-height:1.08}p{margin:0}a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:1px}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}::selection{background:var(--accent);color:var(--accent-ink)}code,kbd,pre{font-family:var(--font-mono), ui-monospace, monospace;font-size:.9em}.container{width:100%;max-width:calc(var(--container) + 2 * var(--gutter));padding-inline:var(--gutter);margin-inline:auto}.section{padding-block:clamp(48px,6vw,88px);position:relative}.divided{border-top:1px solid var(--line)}.divided:before,.divided:after{content:"";background:linear-gradient(var(--text-3), var(--text-3)) center / 1px 100% no-repeat, linear-gradient(var(--text-3), var(--text-3)) center / 100% 1px no-repeat;width:9px;height:9px;position:absolute;top:-5px}.divided:before{left:calc(var(--edge) - 4px)}.divided:after{right:calc(var(--edge) - 4px)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{z-index:100;border-radius:var(--radius-sm);background:var(--accent);color:var(--accent-ink);padding:8px 14px;font-weight:600;text-decoration:none;position:absolute;top:-48px;left:12px}.skip-link:focus{top:12px}.mono{font-family:var(--font-mono), ui-monospace, monospace}.eyebrow{font-family:var(--font-mono), ui-monospace, monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);font-size:.72rem;font-weight:500}.accent{color:var(--accent)}.lead{font-size:var(--step-1);color:var(--text-2);line-height:1.65}.prose{color:var(--text-2);font-size:1.0625rem;line-height:1.75}.prose>*+*{margin-top:1.1em}.prose h2{font-size:var(--step-2);color:var(--text);align-items:baseline;gap:.6em;margin-top:2.2em;display:flex}.prose h2:before{content:"//";color:var(--accent);font-family:var(--font-mono), ui-monospace, monospace;font-size:.75em;font-weight:500}.prose h3{font-size:var(--step-1);color:var(--text);margin-top:1.8em}.prose h2+*,.prose h3+*{margin-top:.6em}.prose strong{color:var(--text);font-weight:600}.prose a{color:var(--text);text-decoration-color:var(--accent)}.prose a:hover{color:var(--accent)}.prose ul,.prose ol{padding-left:1.2em}.prose li+li{margin-top:.4em}.prose li::marker{color:var(--accent)}.prose code{background:var(--surface);border:1px solid var(--line);color:var(--text);border-radius:4px;padding:.12em .35em}.prose blockquote{border-left:2px solid var(--accent);background:var(--accent-soft);color:var(--text);margin-inline:0;padding:14px 18px}.prose small{color:var(--text-3);font-size:.82rem;display:block}.button{border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:color-mix(in srgb, var(--surface) 80%, transparent);min-height:42px;color:var(--text);font:inherit;cursor:pointer;transition:background-color .2s var(--ease), border-color .2s var(--ease), transform .2s var(--ease);align-items:center;gap:.55em;padding:0 16px;font-size:.92rem;font-weight:550;text-decoration:none;display:inline-flex}.button:hover{background:var(--surface-hover);border-color:var(--text-3)}.button:active{transform:translateY(1px)}.button--primary{background:var(--accent);color:var(--accent-ink);border-color:#0000}.button--primary:hover{background:var(--accent-2);border-color:#0000}.button[aria-disabled=true]{opacity:.6;cursor:default;pointer-events:none}.button svg{flex:none;width:1.05em;height:1.05em}.tags{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.tag{border:1px solid var(--line-strong);color:var(--text-2);font-family:var(--font-mono), ui-monospace, monospace;letter-spacing:.02em;white-space:nowrap;border-radius:4px;padding:2px 8px;font-size:.7rem;line-height:1.6;display:inline-block}.badge{border:1px solid color-mix(in srgb, var(--accent) 40%, transparent);background:var(--accent-soft);color:var(--accent);font-family:var(--font-mono), ui-monospace, monospace;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border-radius:4px;align-items:center;gap:7px;padding:3px 9px;font-size:.7rem;font-weight:500;display:inline-flex}.badge:before{content:"";background:currentColor;width:5px;height:5px}.frame{position:relative}.frame:before,.frame:after{content:"";z-index:2;pointer-events:none;opacity:0;transition:opacity .25s var(--ease), inset .25s var(--ease);--c:var(--accent);background:linear-gradient(var(--c), var(--c)) top left / 14px 1.5px no-repeat, linear-gradient(var(--c), var(--c)) top left / 1.5px 14px no-repeat, linear-gradient(var(--c), var(--c)) bottom right / 14px 1.5px no-repeat, linear-gradient(var(--c), var(--c)) bottom right / 1.5px 14px no-repeat;position:absolute;inset:-1px}.frame:after{background:linear-gradient(var(--c), var(--c)) top right / 14px 1.5px no-repeat, linear-gradient(var(--c), var(--c)) top right / 1.5px 14px no-repeat, linear-gradient(var(--c), var(--c)) bottom left / 14px 1.5px no-repeat, linear-gradient(var(--c), var(--c)) bottom left / 1.5px 14px no-repeat}.frame:hover:before,.frame:hover:after,.frame:focus-within:before,.frame:focus-within:after{opacity:1;inset:-6px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@view-transition{navigation:auto}
