@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-vietnamese-wght-normal-BUzh504Q.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-ext-wght-normal-CcLUaPy7.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-wght-normal-DLoelf7F.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-ext-wght-normal-X_5orZeX.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-wght-normal-DiZS0aHC.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-symbols2-wght-normal-CO5SzqOn.woff2) format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-vietnamese-wght-normal-DadHysG0.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-ext-wght-normal-Bwz-egvJ.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-wght-normal-XN7g48iV.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;--paper: #f5f6f2;--surface: #ffffff;--surface-2: #eceee8;--surface-sunk: #e3e6df;--line: #d6dad2;--line-strong: #b9bfb5;--ink: #121614;--ink-2: #3a423e;--ink-3: #59625d;--ink-inverse: #f5f6f2;--pine: #0f4c3a;--pine-hover: #0b3d2e;--pine-press: #08301f;--pine-soft: #dcebe3;--pine-line: #9fc4b1;--brand-ground: #0d4434;--brand-ground-ink: #f5f6f2;--brand-ground-muted: #c4dccf;--marker: #e6ef5f;--marker-soft: #f3f7b8;--success: #1c6e41;--success-soft: #dff0e5;--warning: #8a5a00;--warning-soft: #f8ecd2;--danger: #b42318;--danger-soft: #fbe4e1;--info: #1f5a99;--info-soft: #e1ecf8;--code-bg: #121614;--code-ink: #e8ece6;--code-muted: #8f9a94;--font-display: "Bricolage Grotesque Variable", "Bricolage Grotesque", ui-sans-serif, system-ui, sans-serif;--font-sans: "Geist Variable", "Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "Geist Mono Variable", "Geist Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-md: 1.125rem;--text-lg: clamp(1.25rem, 1.1rem + .5vw, 1.5rem);--text-xl: clamp(1.5rem, 1.25rem + 1vw, 2rem);--text-2xl: clamp(2rem, 1.5rem + 2vw, 3rem);--text-3xl: clamp(2.5rem, 1.6rem + 3.6vw, 4.5rem);--text-display: clamp(3rem, 1.8rem + 5vw, 6rem);--leading-tight: 1.08;--leading-snug: 1.25;--leading-body: 1.6;--tracking-display: -.03em;--tracking-heading: -.02em;--measure: 68ch;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--gutter: clamp(1rem, .5rem + 2.5vw, 2.5rem);--wrap: 76rem;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-pill: 999px;--shadow-1: 0 1px 2px rgb(18 22 20 / .06), 0 2px 6px rgb(18 22 20 / .05);--shadow-2: 0 2px 4px rgb(18 22 20 / .06), 0 8px 24px rgb(18 22 20 / .08);--shadow-3: 0 4px 8px rgb(18 22 20 / .08), 0 24px 56px rgb(18 22 20 / .14);--ease-out: cubic-bezier(.23, 1, .32, 1);--ease-in-out: cubic-bezier(.77, 0, .175, 1);--ease-drawer: cubic-bezier(.32, .72, 0, 1);--dur-press: .14s;--dur-fast: .18s;--dur-base: .22s;--dur-slow: .32s;--press-scale: .97;--focus-ring: 0 0 0 2px var(--paper), 0 0 0 4px var(--pine);--z-nav: 50;--z-drawer: 80;--z-modal: 90;--z-toast: 100}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--paper: #0e1210;--surface: #151a17;--surface-2: #1c221f;--surface-sunk: #232a26;--line: #2a322e;--line-strong: #3b4540;--ink: #eceee9;--ink-2: #bcc4bf;--ink-3: #939d97;--ink-inverse: #121614;--pine: #6cc9a0;--pine-hover: #86d6b2;--pine-press: #a1e1c4;--pine-soft: #17372b;--pine-line: #2f6b54;--marker: #dbe35c;--marker-soft: #3a3d17;--success: #6fcf97;--success-soft: #16301f;--warning: #f0b955;--warning-soft: #33280f;--danger: #f2877b;--danger-soft: #3a1714;--info: #85b6ee;--info-soft: #152839;--code-bg: #0a0d0b;--shadow-1: 0 1px 2px rgb(0 0 0 / .4);--shadow-2: 0 2px 4px rgb(0 0 0 / .35), 0 8px 24px rgb(0 0 0 / .35);--shadow-3: 0 4px 8px rgb(0 0 0 / .4), 0 24px 56px rgb(0 0 0 / .5)}}:root[data-theme=dark]{color-scheme:dark;--paper: #0e1210;--surface: #151a17;--surface-2: #1c221f;--surface-sunk: #232a26;--line: #2a322e;--line-strong: #3b4540;--ink: #eceee9;--ink-2: #bcc4bf;--ink-3: #939d97;--ink-inverse: #121614;--pine: #6cc9a0;--pine-hover: #86d6b2;--pine-press: #a1e1c4;--pine-soft: #17372b;--pine-line: #2f6b54;--marker: #dbe35c;--marker-soft: #3a3d17;--success: #6fcf97;--success-soft: #16301f;--warning: #f0b955;--warning-soft: #33280f;--danger: #f2877b;--danger-soft: #3a1714;--info: #85b6ee;--info-soft: #152839;--code-bg: #0a0d0b;--shadow-1: 0 1px 2px rgb(0 0 0 / .4);--shadow-2: 0 2px 4px rgb(0 0 0 / .35), 0 8px 24px rgb(0 0 0 / .35);--shadow-3: 0 4px 8px rgb(0 0 0 / .4), 0 24px 56px rgb(0 0 0 / .5)}@media(prefers-reduced-motion:reduce){:root{--dur-press: 0ms;--dur-fast: 0ms;--dur-base: 0ms;--dur-slow: 0ms;--press-scale: 1}}:root{--syntax-keyword: #86d6b2;--syntax-string: #e2c98f;--syntax-number: #f2a27b;--syntax-comment: #8f9a94;--syntax-function: #9cc4f0;--syntax-type: #7fd3cf;--syntax-attr: #cfd89c;--syntax-invalid: #f2877b;--code-selection: rgb(219 227 92 / .28);--code-line: rgb(232 236 230 / .05);--header-h: 3.5rem;--drawer-w: min(28rem, 100vw)}:root{--hue-blue: #2a78d6;--hue-blue-soft: #e3eefb;--hue-blue-ink: #1a4f91;--hue-green: #1baf7a;--hue-green-soft: #dcf3e9;--hue-green-ink: #0d6545;--hue-orange: #eb6834;--hue-orange-soft: #fde8de;--hue-orange-ink: #973711;--hue-amber: #eda100;--hue-amber-soft: #fbefd0;--hue-amber-ink: #714c00;--hue-rose: #e87ba4;--hue-rose-soft: #fbe5ee;--hue-rose-ink: #962c55;--brand-glow: rgb(108 201 160 / .32);--brand-glow-2: rgb(230 239 95 / .16)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--hue-blue-soft: #14283f;--hue-blue-ink: #92bdf0;--hue-green-soft: #112d23;--hue-green-ink: #74d4ad;--hue-orange-soft: #36190d;--hue-orange-ink: #f5a582;--hue-amber-soft: #302407;--hue-amber-ink: #f0c35a;--hue-rose-soft: #351523;--hue-rose-ink: #f2a5c2}}:root[data-theme=dark]{--hue-blue-soft: #14283f;--hue-blue-ink: #92bdf0;--hue-green-soft: #112d23;--hue-green-ink: #74d4ad;--hue-orange-soft: #36190d;--hue-orange-ink: #f5a582;--hue-amber-soft: #302407;--hue-amber-ink: #f0c35a;--hue-rose-soft: #351523;--hue-rose-ink: #f2a5c2}.hue-pine{--hue: var(--pine);--hue-soft: var(--pine-soft);--hue-ink: var(--pine)}.hue-blue{--hue: var(--hue-blue);--hue-soft: var(--hue-blue-soft);--hue-ink: var(--hue-blue-ink)}.hue-green{--hue: var(--hue-green);--hue-soft: var(--hue-green-soft);--hue-ink: var(--hue-green-ink)}.hue-orange{--hue: var(--hue-orange);--hue-soft: var(--hue-orange-soft);--hue-ink: var(--hue-orange-ink)}.hue-amber{--hue: var(--hue-amber);--hue-soft: var(--hue-amber-soft);--hue-ink: var(--hue-amber-ink)}.hue-rose{--hue: var(--hue-rose);--hue-soft: var(--hue-rose-soft);--hue-ink: var(--hue-rose-ink)}:root{--on-marker: #121614;--brand-ground-deep: #08301f;--brand-ground-surface: rgb(245 246 242 / .07);--brand-ground-surface-2: rgb(245 246 242 / .12);--brand-ground-line: rgb(245 246 242 / .16);--hue-pine-bright: #86d6b2;--hue-blue-bright: #92bdf0;--hue-green-bright: #74d4ad;--hue-orange-bright: #f5a582;--hue-amber-bright: #f0c35a;--hue-rose-bright: #f2a5c2;--shadow-band: 0 2px 4px rgb(0 0 0 / .12), 0 16px 40px rgb(0 0 0 / .18);--shadow-band-lift: 0 4px 8px rgb(0 0 0 / .14), 0 24px 56px rgb(0 0 0 / .26);--dur-reveal: .52s;--dur-moment: .76s}@media(prefers-reduced-motion:reduce){:root{--dur-reveal: 0ms;--dur-moment: 0ms}}.hue-pine{--hue-bright: var(--hue-pine-bright)}.hue-blue{--hue-bright: var(--hue-blue-bright)}.hue-green{--hue-bright: var(--hue-green-bright)}.hue-orange{--hue-bright: var(--hue-orange-bright)}.hue-amber{--hue-bright: var(--hue-amber-bright)}.hue-rose{--hue-bright: var(--hue-rose-bright)}.theme-atelier{--ws-bg: var(--paper);--ws-panel: var(--surface);--ws-panel-2: var(--surface-2);--ws-line: var(--line);--ws-accent: var(--hue-ink, var(--pine));--ws-accent-fill: var(--hue, var(--pine));--ws-mark-ink: var(--pine);--ws-strong: var(--ink);--ws-practice: var(--hue-amber-ink);--ws-inline-code-bg: var(--marker-soft);--ws-inline-code-ink: var(--ink);--ws-frame-line: color-mix(in srgb, var(--code-ink) 14%, transparent)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .theme-atelier{--ws-bg: #0b1512;--ws-panel: #0f1c18;--ws-panel-2: #142520;--ws-line: #21362f;--paper: var(--ws-bg);--surface: var(--ws-panel);--surface-2: var(--ws-panel-2);--surface-sunk: #1a2d27;--line: var(--ws-line);--line-strong: #2e4a41;--ink: #eef2ee;--ink-2: #b9c7c0;--ink-3: #8a9c94;--ink-inverse: var(--ws-bg);--pine: #6cc9a0;--pine-hover: #86d6b2;--pine-soft: #17372b;--pine-line: #2f6b54;--success-soft: #16301f;--danger-soft: #3a1714;--warning-soft: #33280f;--ws-accent: var(--hue-bright);--ws-accent-fill: var(--hue-bright);--ws-mark-ink: var(--marker);--ws-strong: var(--brand-ground-ink);--ws-practice: var(--hue-amber-bright);--ws-inline-code-bg: color-mix(in srgb, var(--marker) 12%, transparent);--ws-inline-code-ink: var(--marker);color-scheme:dark}}:root[data-theme=dark] .theme-atelier{--ws-bg: #0b1512;--ws-panel: #0f1c18;--ws-panel-2: #142520;--ws-line: #21362f;--paper: var(--ws-bg);--surface: var(--ws-panel);--surface-2: var(--ws-panel-2);--surface-sunk: #1a2d27;--line: var(--ws-line);--line-strong: #2e4a41;--ink: #eef2ee;--ink-2: #b9c7c0;--ink-3: #8a9c94;--ink-inverse: var(--ws-bg);--pine: #6cc9a0;--pine-hover: #86d6b2;--pine-soft: #17372b;--pine-line: #2f6b54;--success-soft: #16301f;--danger-soft: #3a1714;--warning-soft: #33280f;--ws-accent: var(--hue-bright);--ws-accent-fill: var(--hue-bright);--ws-mark-ink: var(--marker);--ws-strong: var(--brand-ground-ink);--ws-practice: var(--hue-amber-bright);--ws-inline-code-bg: color-mix(in srgb, var(--marker) 12%, transparent);--ws-inline-code-ink: var(--marker);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scrollbar-color:var(--line-strong) transparent;hanging-punctuation:first last}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-body);font-optical-sizing:auto;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;caret-color:var(--pine)}h1,h2,h3,h4{margin:0;font-family:var(--font-display);font-weight:640;line-height:var(--leading-snug);letter-spacing:var(--tracking-heading);text-wrap:balance}p{margin:0;text-wrap:pretty}img,svg,video,canvas{display:block;max-width:100%}img{height:auto}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--pine);text-decoration-thickness:1px;text-underline-offset:.2em;transition:color var(--dur-fast) ease,text-decoration-color var(--dur-fast) ease}a:hover{color:var(--pine-hover)}code,kbd,pre,samp{font-family:var(--font-mono);font-size:.92em}:not(pre)>code{padding:.1em .35em;border-radius:var(--radius-sm);background:var(--surface-2)}table,.tabular{font-variant-numeric:tabular-nums}::selection{background:var(--marker);color:#121614}:focus{outline:none}:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-sm)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--line-strong);border:3px solid var(--paper);border-radius:var(--radius-pill)}::-webkit-scrollbar-track{background:transparent}.marker{background:linear-gradient(var(--marker),var(--marker)) no-repeat 0 82% / 100% .62em;color:inherit;box-decoration-break:clone;-webkit-box-decoration-break:clone}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:var(--space-4);top:var(--space-4);z-index:calc(var(--z-nav) + 1);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);background:var(--ink);color:var(--ink-inverse);transform:translateY(-200%)}.skip-link:focus-visible{transform:none}.ui-control{width:100%;min-height:2.75rem;padding:var(--space-2) var(--space-3);border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);font-size:var(--text-base);line-height:1.4;transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.ui-control::placeholder{color:var(--ink-3);opacity:1}@media(hover:hover)and (pointer:fine){.ui-control:hover:not(:disabled,:focus-visible){border-color:var(--ink-3)}}.ui-control:focus-visible{border-color:var(--pine);border-radius:var(--radius-md);box-shadow:0 0 0 3px var(--pine-soft)}.ui-control[aria-invalid=true]{border-color:var(--danger)}.ui-control[aria-invalid=true]:focus-visible{box-shadow:0 0 0 3px var(--danger-soft)}.ui-control:disabled{background:var(--surface-sunk);color:var(--ink-3);border-color:var(--line);cursor:not-allowed}textarea.ui-control{min-height:6rem;resize:vertical;line-height:var(--leading-body)}select.ui-control{appearance:none;padding-right:var(--space-10);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2359625d' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;background-size:18px;cursor:pointer}#app{min-height:100dvh;display:flex;flex-direction:column}.page{width:100%;max-width:var(--wrap);margin:0 auto;padding:var(--space-8) var(--gutter) var(--space-16)}.page--narrow{max-width:44rem}.page-title{font-size:var(--text-2xl);letter-spacing:var(--tracking-display);line-height:var(--leading-tight)}.lead{max-width:var(--measure);margin-top:var(--space-3);color:var(--ink-2);font-size:var(--text-md)}.section-title{font-size:var(--text-lg)}.muted{color:var(--ink-3)}.visually-stack{display:grid;gap:var(--space-4)}.panel{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface)}.callout{display:flex;gap:var(--space-3);align-items:flex-start;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--surface-2);color:var(--ink-2);font-size:var(--text-sm)}.callout>svg{margin-top:.15rem}.callout--info{background:var(--info-soft);color:var(--ink)}.callout--info>svg{color:var(--info)}.callout--success{background:var(--success-soft);color:var(--ink)}.callout--success>svg{color:var(--success)}.callout--warning{background:var(--warning-soft);color:var(--ink)}.callout--warning>svg{color:var(--warning)}.callout--danger{background:var(--danger-soft);color:var(--ink)}.callout--danger>svg{color:var(--danger)}.prose{max-width:var(--measure);color:var(--ink);font-size:var(--text-md);line-height:1.7}.prose>*+*{margin-top:1em}.prose h1{font-size:var(--text-xl);margin-top:0}.prose h2{font-size:var(--text-lg);margin-top:2.25em}.prose h3{font-size:var(--text-md);margin-top:1.75em}.prose h2+*,.prose h3+*{margin-top:.6em}.prose ul,.prose ol{padding-left:1.4em}.prose li+li{margin-top:.35em}.prose li::marker{color:var(--ink-3)}.prose strong{font-weight:640}.prose blockquote{margin-left:0;padding-left:var(--space-4);border-left:1px solid var(--line-strong);color:var(--ink-2)}.prose hr{border:none;border-top:1px solid var(--line)}.prose--compact{font-size:var(--text-base);line-height:var(--leading-body)}.prose--compact>*+*{margin-top:.75em}.table-scroll{max-width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius-md)}.table-scroll table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.table-scroll th,.table-scroll td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}.table-scroll th{background:var(--surface-2);font-weight:600}.table-scroll tr:last-child td{border-bottom:none}.code-block{position:relative;max-width:calc(var(--measure) + 6ch);margin:0;padding:var(--space-4) var(--space-5);overflow-x:auto;border-radius:var(--radius-md);background:var(--code-bg);color:var(--code-ink);font-size:var(--text-sm);line-height:1.65;tab-size:2}.code-block ::selection{background:var(--code-selection);color:inherit}.code-block__lang{position:absolute;top:var(--space-2);right:var(--space-3);color:var(--code-muted);font-family:var(--font-sans);font-size:var(--text-xs);letter-spacing:.02em;user-select:none}.code-block code{font-size:inherit}.hljs-keyword,.hljs-selector-tag,.hljs-built_in,.hljs-literal,.hljs-doctag{color:var(--syntax-keyword)}.hljs-string,.hljs-regexp,.hljs-template-string,.hljs-addition{color:var(--syntax-string)}.hljs-number,.hljs-symbol,.hljs-bullet{color:var(--syntax-number)}.hljs-comment,.hljs-quote,.hljs-meta{color:var(--syntax-comment);font-style:italic}.hljs-title,.hljs-title.function_,.hljs-section{color:var(--syntax-function)}.hljs-type,.hljs-class .hljs-title,.hljs-name,.hljs-tag{color:var(--syntax-type)}.hljs-attr,.hljs-attribute,.hljs-property,.hljs-variable,.hljs-params,.hljs-selector-class,.hljs-selector-id{color:var(--syntax-attr)}.hljs-deletion{color:var(--syntax-invalid)}[data-sentence]{transition:background-size var(--dur-base) var(--ease-out)}:root[data-theme=dark] [data-sentence].marker{background-image:linear-gradient(var(--marker-soft),var(--marker-soft));background-size:100% .9em}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) [data-sentence].marker{background-image:linear-gradient(var(--marker-soft),var(--marker-soft));background-size:100% .9em}}.header[data-v-e06dfa76]{position:sticky;top:0;z-index:var(--z-nav);border-bottom:1px solid var(--line);background:var(--surface)}@supports (backdrop-filter: blur(1px)){.header[data-v-e06dfa76]{background:color-mix(in oklab,var(--surface) 86%,transparent);backdrop-filter:saturate(1.4) blur(12px)}}.plan[data-v-e06dfa76]{padding:.15rem .55rem;border-radius:var(--radius-sm);background:var(--surface-2);color:var(--ink-2);font-size:var(--text-xs);font-weight:620;text-decoration:none}.plan--pro[data-v-e06dfa76]{background:var(--marker);color:var(--on-marker)}.plan[data-v-e06dfa76]:hover{color:var(--ink)}.plan--pro[data-v-e06dfa76]:hover{color:var(--on-marker)}.header__inner[data-v-e06dfa76]{display:flex;align-items:center;gap:var(--space-3);max-width:var(--wrap);height:var(--header-h);margin:0 auto;padding:0 var(--gutter)}.brand[data-v-e06dfa76]{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--ink);font-family:var(--font-display);font-size:var(--text-md);font-weight:650;letter-spacing:var(--tracking-heading);text-decoration:none}.brand[data-v-e06dfa76]:hover{color:var(--ink)}.brand__mark[data-v-e06dfa76]{width:1.75rem;height:1.75rem}.nav[data-v-e06dfa76]{display:flex;align-items:center;gap:var(--space-1);margin-left:auto}.nav__link[data-v-e06dfa76]{display:inline-flex;align-items:center;gap:var(--space-2);min-height:2.25rem;padding:0 var(--space-3);border:none;border-radius:var(--radius-md);background:transparent;color:var(--ink-2);font-size:var(--text-sm);font-weight:560;text-decoration:none;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),transform var(--dur-press) var(--ease-out)}@media(hover:hover)and (pointer:fine){.nav__link[data-v-e06dfa76]:hover{background:var(--surface-2);color:var(--ink)}}.nav__link[data-v-e06dfa76]:active{transform:scale(var(--press-scale))}.nav__link[data-v-e06dfa76]:focus-visible{border-radius:var(--radius-md)}.nav__link.is-active[data-v-e06dfa76]{background:linear-gradient(var(--marker),var(--marker)) no-repeat 50% calc(100% - .3rem) / calc(100% - var(--space-6)) 2px,var(--pine-soft);color:var(--pine)}.nav__link[data-v-e06dfa76]:disabled{color:var(--ink-3);cursor:progress}.menu-toggle[data-v-e06dfa76]{display:none;align-items:center;gap:var(--space-2);min-height:2.5rem;margin-left:auto;padding:0 var(--space-3);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);font:inherit;font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out),transform var(--dur-press) var(--ease-out)}.menu-toggle[data-v-e06dfa76]:active{transform:scale(var(--press-scale))}.menu-toggle[aria-expanded=true][data-v-e06dfa76]{background:var(--surface-2)}.scrim[data-v-e06dfa76],.nav__head[data-v-e06dfa76]{display:none}@media(max-width:60rem){.header[data-v-e06dfa76]{background:var(--surface);backdrop-filter:none}.menu-toggle[data-v-e06dfa76]{display:inline-flex}.scrim[data-v-e06dfa76]{position:fixed;inset:0;z-index:var(--z-drawer);display:block;background:#0000005c}.scrim-enter-active[data-v-e06dfa76]{transition:opacity var(--dur-base) var(--ease-out)}.scrim-leave-active[data-v-e06dfa76]{transition:opacity var(--dur-fast) var(--ease-out)}.scrim-enter-from[data-v-e06dfa76],.scrim-leave-to[data-v-e06dfa76]{opacity:0}.nav[data-v-e06dfa76]{position:fixed;inset:0 0 0 auto;z-index:var(--z-drawer);display:flex;flex-direction:column;align-items:stretch;gap:var(--space-1);width:min(20rem,calc(100vw - 3rem));margin:0;padding:0 var(--space-4) max(var(--space-4),env(safe-area-inset-bottom));border-left:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-3);overflow-y:auto;overscroll-behavior:contain;transform:translate(100%);visibility:hidden;transition:transform var(--dur-fast) var(--ease-in-out),visibility 0s linear var(--dur-fast)}.nav.is-open[data-v-e06dfa76]{transform:translate(0);visibility:visible;transition:transform var(--dur-base) var(--ease-drawer),visibility 0s}.nav__head[data-v-e06dfa76]{display:flex;align-items:center;justify-content:space-between;flex:none;height:var(--header-h);margin-bottom:var(--space-2)}.nav__title[data-v-e06dfa76]{font-family:var(--font-display);font-size:var(--text-md);font-weight:650;letter-spacing:var(--tracking-heading)}.nav__close[data-v-e06dfa76]{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out),transform var(--dur-press) var(--ease-out)}.nav__close[data-v-e06dfa76]:active{transform:scale(var(--press-scale))}.nav__link[data-v-e06dfa76]{min-height:3rem;padding:0 var(--space-3);font-size:var(--text-md)}.nav__link.is-active[data-v-e06dfa76]{background:linear-gradient(var(--marker),var(--marker)) no-repeat var(--space-3) calc(100% - .4rem) / calc(100% - var(--space-6)) 2px,var(--pine-soft)}.nav__link--logout[data-v-e06dfa76]{margin-top:auto;border-top:1px solid var(--line);border-radius:0}}@media(max-width:60rem)and (hover:hover)and (pointer:fine){.nav__close[data-v-e06dfa76]:hover{background:var(--surface-2)}}@media(max-width:24rem){.menu-toggle__text[data-v-e06dfa76]{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.menu-toggle[data-v-e06dfa76]{width:2.5rem;padding:0;justify-content:center}}@media(prefers-reduced-motion:reduce){.nav[data-v-e06dfa76],.nav.is-open[data-v-e06dfa76],.nav__close[data-v-e06dfa76],.menu-toggle[data-v-e06dfa76],.nav__link[data-v-e06dfa76]{transition:none}}.demo-banner[data-v-e9e50d63]{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--gutter);background:var(--marker);color:#121614;font-size:var(--text-sm);text-align:left}.demo-banner p[data-v-e9e50d63]{max-width:var(--wrap)}.demo-banner strong[data-v-e9e50d63]{font-weight:650}.app-main[data-v-59ac741f]{flex:1;display:flex;flex-direction:column}.app-main[data-v-59ac741f]:focus-visible{box-shadow:none}.offline-banner[data-v-59ac741f]{display:flex;align-items:center;justify-content:center;gap:var(--space-2);margin:0;padding:var(--space-2) var(--space-4);background:var(--warning-soft);color:var(--warning);font-size:var(--text-sm);font-weight:560;text-align:center}
