:root{--bg:#fafbfd;--surface:#fff;--ink:#10182b;--muted:#5a6478;--accent:#c2410c;--accent-ink:#9a3412;--accent-contrast:#fff;--accent-soft:#ffedd5;--line:#e3e7ef;--code-bg:#f6f8fa;--code-line:#e3e7ef;--sev-danger:#b91c1c;--sev-danger-bg:#fee2e2;--sev-ok:#15803d;--sev-ok-bg:#dcfce7;--sev-warn:#a16207;--sev-warn-bg:#fef9c3;--sev-neutral:#475569;--sev-neutral-bg:#e2e8f0;--font-display:"Sora",sans-serif;--font-body:"IBM Plex Sans",sans-serif;--font-mono:"IBM Plex Mono",monospace;--content-width:40rem;--figure-bleed:2.5rem;--wide-width:64rem;--list-measure:38rem}html.dark{--bg:#0a0e1a;--surface:#101624;--ink:#e2e8f0;--muted:#94a3b8;--accent:#fb923c;--accent-ink:#fdba74;--accent-contrast:#1c1006;--accent-soft:rgba(251,146,60,.14);--line:#1e293b;--code-bg:#161b22;--code-line:#1e293b;--sev-danger:#f87171;--sev-danger-bg:rgba(248,113,113,.16);--sev-ok:#4ade80;--sev-ok-bg:rgba(74,222,128,.16);--sev-warn:#facc15;--sev-warn-bg:rgba(250,204,21,.16);--sev-neutral:#94a3b8;--sev-neutral-bg:rgba(148,163,184,.16)}*,:after,:before{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:1.0625rem;line-height:1.7;-webkit-font-smoothing:antialiased;transition:background-color .2s ease,color .2s ease}h1,h2,h3,h4{font-family:var(--font-display);line-height:1.15;letter-spacing:-.02em;margin:0 0 .6em;text-wrap:balance}p{text-wrap:pretty}a{color:var(--accent-ink);text-decoration:none}a:hover{text-decoration:underline}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}h1 a,h2 a,h3 a,h4 a{color:inherit}::-moz-selection{background:var(--accent-soft)}::selection{background:var(--accent-soft)}img{max-width:100%;height:auto}code{font-family:var(--font-mono);font-size:.875em;border:1px solid var(--code-line);padding:.1em .35em;border-radius:4px;overflow-wrap:break-word}code,pre{background:var(--code-bg)}pre{border:1px solid var(--code-line);padding:1.25rem;border-radius:8px;overflow-x:auto;line-height:1.55}pre code{background:none;border:none;padding:0;font-size:1em;color:inherit}html.dark .shiki,html.dark .shiki span{color:var(--shiki-dark,inherit)!important;background-color:transparent!important}h2[id],h3[id],h4[id]{scroll-margin-top:5.5rem}blockquote{margin:1.5rem 0;padding:.25rem 0 .25rem 1.25rem;border-left:3px solid var(--accent);color:var(--muted)}hr{border:none;border-top:1px solid var(--line);margin:2.5rem 0}table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.95rem}td,th{border:1px solid var(--line);padding:.5rem .75rem;text-align:left}th{background:var(--surface);font-weight:600}.article-body :is(p,li,blockquote,td,th) a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em;text-decoration-color:color-mix(in srgb,var(--accent-ink) 38%,transparent);transition:text-decoration-color .15s ease}.article-body :is(p,li,blockquote,td,th) a:hover{text-decoration-color:var(--accent-ink)}.article-body :is(ul,ol){padding-left:1.35rem}.article-body li+li{margin-top:.35rem}.article-body p:has(>img){display:flex;flex-direction:column;align-items:center;gap:.7rem;margin:2.25rem 0;font-size:.875rem;line-height:1.55;color:var(--muted);text-align:center;width:calc(100% + var(--figure-bleed)*2);margin-left:calc(var(--figure-bleed)*-1)}.article-body p>img{display:block;max-width:100%;border:1px solid var(--line);border-radius:8px;background:var(--surface);cursor:zoom-in;transition:border-color .15s ease}.article-body p>img:hover{border-color:var(--accent-ink)}@media(max-width:47rem){.article-body p:has(>img){width:100%;margin-left:0}}.article-body div:has(>table){overflow-x:auto;margin:1.5rem 0;-webkit-overflow-scrolling:touch}.article-body div:has(>table)>table{margin:0;min-width:30rem}.article-body td{font-variant-numeric:tabular-nums}.container{max-width:var(--wide-width);margin:0 auto;padding:0 1.5rem}.eyebrow{font-size:.8rem;letter-spacing:.08em;color:var(--accent-ink)}.badge,.eyebrow{font-family:var(--font-mono);text-transform:uppercase}.badge{display:inline-block;font-size:.72rem;font-weight:600;letter-spacing:.05em;padding:.15em .55em;border-radius:4px;vertical-align:.1em}.badge--danger{color:var(--sev-danger);background:var(--sev-danger-bg)}.badge--ok{color:var(--sev-ok);background:var(--sev-ok-bg)}.badge--warn{color:var(--sev-warn);background:var(--sev-warn-bg)}.badge--neutral{color:var(--sev-neutral);background:var(--sev-neutral-bg)}.lightbox{position:fixed;inset:0;z-index:300;background:#06080ff0;overflow:auto;padding:1rem;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;display:flex;align-items:center;justify-content:center}.lightbox img{display:block;max-width:calc(100vw - 2rem);max-height:calc(100vh - 2rem);-o-object-fit:contain;object-fit:contain;border-radius:6px;cursor:zoom-in}.lightbox.zoomed{display:block;padding-top:4rem}.lightbox.zoomed img{max-width:none;max-height:none;margin:0 auto;cursor:zoom-out}.lightbox-close{position:fixed;top:.9rem;right:.9rem;width:2.6rem;height:2.6rem;border:1px solid hsla(0,0%,100%,.35);border-radius:50%;background:#0a0e1ad1;color:#fff;font-size:1.15rem;line-height:1;cursor:pointer;z-index:301;box-shadow:0 2px 10px #00000080}.lightbox-close:hover{background:#0a0e1af2}.lightbox-hint{position:fixed;left:0;right:0;bottom:.8rem;margin:0;text-align:center;color:#fff9;font-family:var(--font-mono);font-size:.75rem;pointer-events:none}.cursor{display:inline-block;width:.55em;height:1em;margin-left:.12em;background:var(--accent);vertical-align:baseline;transform:translateY(.12em);animation:blink 1.1s steps(1) infinite}@keyframes blink{50%{opacity:0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.article-body :is(p,li,blockquote,td,th) a,.article-body p>img,body{transition:none}.cursor{animation:none}}.err[data-v-eb1b8c45]{padding-top:7rem;padding-bottom:4rem}.err-title[data-v-eb1b8c45]{font-size:clamp(2rem,5vw,3rem)}.err-lead[data-v-eb1b8c45]{max-width:34rem;color:var(--muted);font-size:1.1rem}.err-btn[data-v-eb1b8c45]{margin-top:1.5rem;font-family:var(--font-mono);font-size:.9rem;color:var(--accent-ink);background:none;border:1px solid var(--line);border-radius:8px;padding:.6rem 1.1rem;cursor:pointer}.err-btn[data-v-eb1b8c45]:hover{border-color:var(--accent-ink)}
