@font-face{font-family:IBM Plex Serif;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-serif-latin-500-normal-REKAfBVG.woff2)format("woff2"),url(/assets/ibm-plex-serif-latin-500-normal-C3_OdgN3.woff)format("woff")}@font-face{font-family:IBM Plex Serif;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-serif-latin-600-normal-DAxitmSu.woff2)format("woff2"),url(/assets/ibm-plex-serif-latin-600-normal-D3rpGdkS.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff")}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0c1a22;--bg-raised:#0f2129;--bg-overlay:#0c1a22db;--surface:#132832;--surface-2:#18313d;--border:#24404e;--border-strong:#345870;--text:#edf3ef;--text-muted:#9bb2ba;--text-faint:#6d8891;--accent:#5ea8e0;--accent-strong:#97cdf2;--accent-dim:#5ea8e029;--accent-line:#5ea8e06b;--accent-ink:#06212c;--stamp:#d98a5e;--stamp-dim:#d98a5e29;--yes:#74c17a;--no:#e2695c;--partial:#d9a441;--shadow-card:0 1px 0 #00000040, 0 10px 24px #02080c73;--shadow-pop:0 1px 0 #0000004d, 0 20px 44px #02080c8c;--paper-grain:repeating-linear-gradient(180deg, #ffffff05 0px, #ffffff05 1px, transparent 1px, transparent 27px);--font-display:"IBM Plex Serif", Georgia, "Times New Roman", serif;--font-sans:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--radius-sm:3px;--radius:4px;--radius-lg:6px;--container:1160px}html[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#e9e2d0;--bg-raised:#f0ead9;--bg-overlay:#e9e2d0db;--surface:#faf7ee;--surface-2:#f1e9d7;--border:#d9cdae;--border-strong:#b7a87f;--text:#2a2420;--text-muted:#5f5646;--text-faint:#8a7e67;--accent:#2f6fb0;--accent-strong:#163a5c;--accent-dim:#2f6fb01f;--accent-line:#2f6fb061;--accent-ink:#f8f3e6;--stamp:#9a4b2f;--stamp-dim:#9a4b2f1f;--yes:#3f6b3a;--no:#8f3226;--partial:#8a6a1f;--shadow-card:0 1px 0 #2a24200d, 0 10px 22px #2a24201a;--shadow-pop:0 1px 0 #2a24200f, 0 20px 40px #2a242024;--paper-grain:repeating-linear-gradient(180deg, #2a242006 0px, #2a242006 1px, transparent 1px, transparent 27px)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);margin:0;font-size:16px;line-height:1.6}h1,h2,h3{font-family:var(--font-display);font-weight:600}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}code,pre,kbd{font-family:var(--font-mono)}button{font-family:inherit}::selection{background:var(--accent-dim)}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-strong);background-clip:padding-box;border:2px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background-color:var(--text-faint)}::-webkit-scrollbar-corner{background:0 0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.container{max-width:var(--container);margin:0 auto;padding:0 22px}.btn{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;align-items:center;gap:8px;padding:11px 20px;font-size:.95rem;font-weight:600;transition:transform .15s,box-shadow .15s,background .15s,border-color .15s;display:inline-flex}.btn:hover{text-decoration:none;transform:translateY(-1px)}.btn-primary{background:var(--accent-strong);color:var(--accent-ink);box-shadow:var(--shadow-card)}.btn-primary:hover{box-shadow:var(--shadow-pop)}.btn-primary:active{box-shadow:var(--shadow-card);transform:scale(.97)translateY(0)}.btn-outline{border-color:var(--border-strong);color:var(--text);background:var(--surface)}.btn-outline:hover{border-color:var(--accent-line);color:var(--accent-strong)}.btn-ghost{color:var(--text-muted);background:0 0}.btn-ghost:hover{color:var(--text);background:var(--surface-2)}pre{position:relative}[data-reveal]{opacity:0;transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1);transform:translateY(18px)}[data-reveal].is-revealed{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){[data-reveal]{opacity:1;transition:none;transform:none}}.tok-keyword{color:var(--accent-strong);font-weight:600}.tok-literal,.tok-number{color:var(--accent)}.tok-string{color:var(--stamp)}.tok-comment{color:var(--text-faint);font-style:italic}.tok-type{color:var(--stamp);font-weight:600}.tok-method{color:var(--text);font-weight:600}.tok-param{color:var(--text-muted)}.copy-btn{z-index:3;border-radius:var(--radius-sm);font:600 .72rem/1.4 var(--font-mono);color:var(--text-faint);background:var(--surface-2);border:1px solid var(--border-strong);cursor:pointer;opacity:0;padding:4px 9px;transition:opacity .12s,color .12s,background .12s,border-color .12s;position:absolute;top:8px;right:8px}.copy-btn:hover{color:var(--text);border-color:var(--accent-line)}.copy-btn.is-copied{color:var(--yes);border-color:var(--yes)}pre:hover .copy-btn,.copy-btn:focus-visible,.copy-btn.is-copied{opacity:1}@media (hover:none){.copy-btn{opacity:.7}}
