@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/archivo-vietnamese-wght-normal.XAtsl5Q_.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/archivo-latin-ext-wght-normal.C4zznr8T.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/archivo-latin-wght-normal.E0tuGl4L.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.xuaO2J-f.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-400-normal.BSMlKf0J.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-400-normal.CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-vietnamese-400-normal.BulugwFq.woff2)format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-400-normal.DDuiU_S-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-ext-400-normal.BmRBH3aV.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-400-normal.D3D2R8hC.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-400-normal.CvHOgSBP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;--bg:#f6f4ef;--bg-subtle:#efece4;--bg-muted:#e6e2d7;--surface:#fffefb;--surface-raised:#fff;--overlay:#16150f80;--border:#d5cfbf;--border-strong:#c3bcaa;--ring:#b8450b;--text:#16150f;--text-2:#494437;--text-3:#6a6454;--text-on-accent:#fff;--accent:#b8450b;--accent-hover:#963707;--accent-text:#9c3c08;--accent-soft:#f9e9dd;--accent-border:#e8c4a6;--accent-2:#1f4b73;--accent-2-soft:#e7eef5;--success:#1d6b3f;--success-soft:#e6f2ea;--success-border:#a9cdb9;--warning:#8a5a09;--warning-soft:#faf0dc;--warning-border:#e3c88c;--danger:#b02020;--danger-hover:#8d1a1a;--danger-soft:#fbeaea;--danger-border:#eec0c0;--shadow-xs:none;--shadow-sm:0 1px 0 #16150f0d;--shadow-md:0 1px 2px #16150f12, 0 2px 8px -4px #16150f14;--shadow-lg:0 2px 4px #16150f0f, 0 12px 32px -16px #16150f38;--glass:#f6f4efdb;--skeleton:#e6e2d7;--skeleton-shine:#efece4;--font-sans:"Archivo Variable", Archivo, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SF Mono", "Cascadia Code", "Segoe UI Mono", Menlo, Consolas, monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-md:1.0625rem;--text-lg:1.1875rem;--text-xl:1.375rem;--text-2xl:clamp(1.5rem, 1.2rem + 1vw, 1.875rem);--text-3xl:clamp(1.875rem, 1.4rem + 2vw, 2.75rem);--text-4xl:clamp(2.375rem, 1.6rem + 3.6vw, 4.25rem);--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;--section-y:clamp(4rem, 3rem + 5vw, 7.5rem);--gutter:1rem;--radius-xs:2px;--radius-sm:3px;--radius:4px;--radius-lg:5px;--radius-xl:8px;--radius-full:999px;--container:1180px;--container-narrow:760px;--header-h:64px;--ease:cubic-bezier(.2, .7, .2, 1);--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px)}@media (height<=700px){:root{--header-h:56px;--section-y:clamp(2.5rem, 1.5rem + 4vw, 4rem);--text-3xl:clamp(1.625rem, 1.3rem + 1.4vw, 2.125rem);--text-4xl:clamp(1.875rem, 1.3rem + 2.6vw, 2.75rem)}}@media (height<=500px){:root{--header-h:48px;--section-y:clamp(2rem, 1.25rem + 3vw, 3rem)}}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg:#0f0e0b;--bg-subtle:#141310;--bg-muted:#1e1c16;--surface:#181611;--surface-raised:#1f1d16;--overlay:#0000009e;--border:#332f26;--border-strong:#403c31;--ring:#e8822f;--text:#f3f0e8;--text-2:#b8b2a2;--text-3:#97917f;--text-on-accent:#16140d;--accent:#e8822f;--accent-hover:#f2934a;--accent-text:#f0914a;--accent-soft:#2a1a0c;--accent-border:#5a3416;--accent-2:#6fa8d8;--accent-2-soft:#12212e;--success:#63d69b;--success-soft:#0d2418;--success-border:#1f5c3c;--warning:#e7b84e;--warning-soft:#2a2008;--warning-border:#6b5212;--danger:#f08a8a;--danger-hover:#f6b0b0;--danger-soft:#2c1414;--danger-border:#6e2a2a;--shadow-xs:none;--shadow-sm:0 1px 0 #00000080;--shadow-md:0 1px 2px #00000080, 0 2px 10px -6px #0009;--shadow-lg:0 2px 4px #00000080, 0 16px 40px -20px #000c;--glass:#0f0e0bdb;--skeleton:#1e1c16;--skeleton-shine:#292619}}:root[data-theme=dark],.section--invert,.invert{color-scheme:dark;--bg:#0f0e0b;--bg-subtle:#141310;--bg-muted:#1e1c16;--surface:#181611;--surface-raised:#1f1d16;--overlay:#0000009e;--border:#332f26;--border-strong:#403c31;--ring:#e8822f;--text:#f3f0e8;--text-2:#b8b2a2;--text-3:#97917f;--text-on-accent:#16140d;--accent:#e8822f;--accent-hover:#f2934a;--accent-text:#f0914a;--accent-soft:#2a1a0c;--accent-border:#5a3416;--accent-2:#6fa8d8;--accent-2-soft:#12212e;--success:#63d69b;--success-soft:#0d2418;--success-border:#1f5c3c;--warning:#e7b84e;--warning-soft:#2a2008;--warning-border:#6b5212;--danger:#f08a8a;--danger-hover:#f6b0b0;--danger-soft:#2c1414;--danger-border:#6e2a2a;--shadow-xs:none;--shadow-sm:0 1px 0 #00000080;--shadow-md:0 1px 2px #00000080, 0 2px 10px -6px #0009;--shadow-lg:0 2px 4px #00000080, 0 16px 40px -20px #000c;--glass:#0f0e0bdb;--skeleton:#1e1c16;--skeleton-shine:#292619}@media (width>=640px){:root{--gutter:1.5rem}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + var(--safe-top) + 1rem)}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{background:var(--bg);min-height:100dvh;color:var(--text);font-family:var(--font-sans);font-size:var(--text-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;flex-direction:column;margin:0;line-height:1.6;display:flex;overflow-x:clip}main{flex:1}img,svg,video{max-width:100%;height:auto}img{display:block}h1,h2,h3,h4{margin:0 0 var(--space-3);letter-spacing:-.015em;text-wrap:balance;font-weight:640;line-height:1.15}h1{font-size:var(--text-4xl);letter-spacing:-.028em;font-weight:700;line-height:1.02}h2{font-size:var(--text-3xl);letter-spacing:-.022em;line-height:1.08}h3{font-size:var(--text-lg);letter-spacing:-.015em;font-weight:600;line-height:1.3}p{margin:0 0 var(--space-4);text-wrap:pretty}p:last-child{margin-bottom:0}a{color:var(--accent-text);text-underline-offset:.2em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}strong{font-weight:600}code,kbd{font-family:var(--font-mono);font-size:.875em}code{background:var(--bg-muted);border:1px solid var(--border);overflow-wrap:anywhere;border-radius:5px;padding:.08em .36em}kbd{border:1px solid var(--border-strong);background:var(--surface);min-width:1.6em;color:var(--text-2);text-align:center;border-bottom-width:2px;border-radius:5px;padding:.1em .45em;line-height:1.4;display:inline-block}hr{border:0;border-top:1px solid var(--border);margin:var(--space-8) 0}::selection{background:color-mix(in srgb, var(--accent) 28%, transparent)}:focus-visible{outline:2px solid var(--ring);outline-offset:2px;border-radius:4px}[hidden]{display:none!important}button,input,select,textarea{font:inherit;color:inherit}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.container{width:100%;max-width:calc(var(--container) + 2 * var(--gutter) + var(--safe-left) + var(--safe-right));padding-inline:calc(var(--gutter) + var(--safe-left)) calc(var(--gutter) + var(--safe-right));margin-inline:auto}.container.narrow{max-width:calc(var(--container-narrow) + 2 * var(--gutter) + var(--safe-left) + var(--safe-right))}.section{padding-block:var(--section-y);position:relative}.section--subtle{background:var(--bg-subtle);border-block:1px solid var(--border)}.section--tight{padding-block:clamp(2.5rem,2rem + 3vw,4.5rem)}.section-head{max-width:680px;margin-bottom:clamp(2.5rem,2rem + 2vw,4rem)}.section-head.center{text-align:center;margin-inline:auto}.section-head p{font-size:var(--text-lg);color:var(--text-2)}.section-head .eyebrow{font-size:var(--text-xs)}.grid{gap:var(--space-4);display:grid}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}@media (width>=720px){.grid-2,.grid-3,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1000px){.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.stack>*+*{margin-top:var(--space-4)}.page-hero{isolation:isolate;padding-block:clamp(3.5rem,2.5rem + 5vw,6.5rem) clamp(2rem,1.5rem + 2vw,3rem);position:relative}@media (height<=760px){.page-hero{padding-block:clamp(1.5rem,1rem + 3vh,3rem) clamp(1.25rem,1rem + 1.5vh,2rem)}}.page-hero{border-bottom:1px solid var(--border)}.page-hero h1{max-width:18ch;font-size:clamp(2.25rem,1.6rem + 3vw,3.5rem)}.page-hero .lead{max-width:640px}.page-hero.center{text-align:center}.page-hero.center h1,.page-hero.center .lead{margin-inline:auto}.eyebrow{align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-3);text-transform:uppercase;letter-spacing:.1em;font-weight:500;display:inline-flex}.lead{font-size:clamp(var(--text-md), 1rem + .35vw, var(--text-xl));color:var(--text-2);letter-spacing:-.011em;line-height:1.55}.muted{color:var(--text-2)}.subtle{color:var(--text-3)}.small{font-size:var(--text-sm)}.tiny{font-size:var(--text-xs)}.readout{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-sm);letter-spacing:-.01em;color:var(--text-2)}.visually-hidden,.sr-only{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.skip-link{left:var(--space-4);z-index:100;background:var(--text);color:var(--bg);padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);font-weight:600;text-decoration:none;position:absolute;top:-100px}.skip-link:focus{top:var(--space-3)}.tabular{font-variant-numeric:tabular-nums}.btn{--btn-h:40px;justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--btn-h);padding:0 var(--space-4);border-radius:var(--radius-sm);font-size:var(--text-sm);letter-spacing:-.006em;white-space:nowrap;cursor:pointer;user-select:none;transition:background-color .15s var(--ease), border-color .15s var(--ease), color .15s var(--ease), box-shadow .15s var(--ease), transform .15s var(--ease);border:1px solid #0000;font-weight:550;line-height:1.2;text-decoration:none;display:inline-flex}.btn:hover{text-decoration:none}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled,.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed}.btn svg{flex:none}.btn-lg{--btn-h:48px;padding:0 var(--space-6);font-size:var(--text-base)}.btn-sm{--btn-h:34px;padding:0 var(--space-3);font-size:var(--text-sm)}.btn-block{width:100%}.btn-primary{background:var(--accent);color:var(--text-on-accent)}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-contrast{background:var(--text);color:var(--bg)}.btn-contrast:hover:not(:disabled){background:color-mix(in srgb, var(--text) 86%, var(--bg))}.btn-secondary{background:var(--surface);color:var(--text);border-color:var(--border-strong);box-shadow:var(--shadow-xs)}.btn-secondary:hover:not(:disabled){background:var(--bg-muted)}.btn-ghost{color:var(--text-2);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--bg-muted);color:var(--text)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){background:var(--danger-hover)}.btn-danger-outline{color:var(--danger);border-color:var(--danger-border);background:0 0}.btn-danger-outline:hover:not(:disabled){background:var(--danger-soft)}.btn-row{gap:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.link-arrow{align-items:center;gap:.35em;font-weight:550;text-decoration:none;display:inline-flex}.link-arrow:after{content:"→";transition:transform .15s var(--ease)}.link-arrow:hover:after{transform:translate(3px)}.link-button{color:var(--accent-text);cursor:pointer;text-underline-offset:.2em;background:0 0;border:0;padding:0;font-weight:550;text-decoration:underline}.spinner{border:2px solid;border-right-color:#0000;border-radius:50%;flex:none;width:1em;height:1em;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-xs);position:relative}.card h3{margin-bottom:var(--space-2)}.card p{color:var(--text-2);font-size:var(--text-sm);line-height:1.6}.card--flat{box-shadow:none}.card--muted{background:var(--bg-subtle)}.icon-tile{width:28px;height:28px;margin-bottom:var(--space-4);color:var(--accent-text);place-items:center;display:inline-grid}.icon-tile--accent{color:var(--accent-2)}.badge{border-radius:var(--radius-xs);height:20px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;border:1px solid var(--border);background:var(--bg-muted);color:var(--text-2);white-space:nowrap;vertical-align:middle;align-items:center;gap:.3em;padding:0 .45em;font-size:.6875rem;font-weight:500;line-height:1;display:inline-flex}.badge--pro{background:var(--accent-soft);border-color:var(--accent-border);color:var(--accent-text)}.badge--success{background:var(--success-soft);border-color:var(--success-border);color:var(--success)}.badge--warning{background:var(--warning-soft);border-color:var(--warning-border);color:var(--warning)}.badge--danger{background:var(--danger-soft);border-color:var(--danger-border);color:var(--danger)}.badge--roadmap{border-style:dashed;border-color:var(--border-strong);background:0 0}.pill{align-items:center;gap:var(--space-2);border-radius:var(--radius-full);border:1px solid var(--border);background:var(--glass);backdrop-filter:blur(8px);font-size:var(--text-sm);color:var(--text-2);padding:.3rem .8rem .3rem .4rem;text-decoration:none;display:inline-flex}.pill .badge{height:20px}a.pill:hover{border-color:var(--border-strong);color:var(--text)}.checklist{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.checklist li{font-size:var(--text-sm);color:var(--text-2);padding-left:1.75rem;line-height:1.5;position:relative}.checklist li:before{content:"";width:.85rem;height:.85rem;color:var(--accent-2);background:currentColor;position:absolute;top:.28em;left:0;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 8.5l3.6 3.6L13.5 4'/%3E%3C/svg%3E") 50%/contain no-repeat}.checklist strong{color:var(--text)}.note,.alert{gap:var(--space-3);border:1px solid var(--border);background:var(--bg-subtle);border-radius:var(--radius);padding:var(--space-4) var(--space-5);margin:var(--space-6) 0;font-size:var(--text-sm);color:var(--text-2);align-items:flex-start;display:flex}.note p,.alert p{margin:0}.note strong,.alert strong{color:var(--text)}.alert{margin:0 0 var(--space-5)}.alert>svg{flex:none;margin-top:2px}.alert-body{flex:1;min-width:0}.alert-body>*+*{margin-top:var(--space-2)}.note--warn,.alert--warning{background:var(--warning-soft);border-color:var(--warning-border)}.alert--warning>svg{color:var(--warning)}.alert--error{background:var(--danger-soft);border-color:var(--danger-border)}.alert--error>svg{color:var(--danger)}.alert--success{background:var(--success-soft);border-color:var(--success-border)}.alert--success>svg{color:var(--success)}.alert--info{background:var(--accent-soft);border-color:var(--accent-border)}.alert--info>svg{color:var(--accent-text)}.table-wrap{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:100%;margin:var(--space-4) 0 var(--space-6);position:relative;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:.75rem 1rem}tr:last-child>td,tr:last-child>th{border-bottom:0}thead th{background:var(--bg-subtle);font-family:var(--font-mono);color:var(--text-2);font-weight:500;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em}td{color:var(--text-2)}.prose{max-width:calc(720px + 2 * var(--gutter));font-size:var(--text-md);color:var(--text-2);line-height:1.75}.prose h2{font-size:var(--text-2xl);margin-top:var(--space-12);margin-bottom:var(--space-4);color:var(--text);scroll-margin-top:calc(var(--header-h) + 1rem)}.prose h3{font-size:var(--text-lg);margin-top:var(--space-8);color:var(--text)}.prose h1,.prose strong{color:var(--text)}.prose ul,.prose ol{margin:0 0 var(--space-5);padding-left:1.3rem}.prose li{margin-bottom:var(--space-2)}.prose li::marker{color:var(--text-3)}.prose table{font-size:var(--text-sm)}.prose>table{border:1px solid var(--border);border-radius:var(--radius);margin:var(--space-6) 0;display:block;overflow-x:auto}.prose blockquote{margin:var(--space-6) 0;padding-left:var(--space-4);border-left:3px solid var(--border-strong)}.page-toc{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:var(--space-5) var(--space-6)}.page-toc h2{margin:0 0 var(--space-3);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);font-weight:500}.page-toc ul{gap:var(--space-2) var(--space-6);font-size:var(--text-sm);margin:0;padding:0;list-style:none;display:grid}@media (width>=700px){.page-toc ul{grid-template-columns:repeat(2,minmax(0,1fr))}}.page-toc li::marker{content:none}kbd{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-subtle);min-width:1.5em;font-family:var(--font-mono);text-align:center;border-bottom-width:2px;padding:.05em .4em;font-size:.85em;display:inline-block}.faq{border-top:1px solid var(--border)}.faq details{border-bottom:1px solid var(--border)}.faq summary{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-5) 0;cursor:pointer;font-weight:550;font-size:var(--text-md);letter-spacing:-.011em;color:var(--text);list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"";width:20px;height:20px;color:var(--text-3);transition:transform .2s var(--ease);background:currentColor;flex:none;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 4v12M4 10h12' stroke='black' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") 50%/contain no-repeat}.faq details[open] summary:after{transform:rotate(45deg)}.faq summary:hover{color:var(--accent-text)}.faq .answer{padding:0 var(--space-8) var(--space-5) 0;color:var(--text-2)}.field{gap:var(--space-2);margin-bottom:var(--space-4);display:grid}.label{font-size:var(--text-sm);color:var(--text);font-weight:550}.hint{font-size:var(--text-sm);color:var(--text-3);margin:0}.input{width:100%;min-height:44px;padding:0 var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-size:var(--text-base);box-shadow:var(--shadow-xs);transition:border-color .15s,box-shadow .15s}.input::placeholder{color:var(--text-3)}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent);outline:none}.input[aria-invalid=true]{border-color:var(--danger)}.field-error{color:var(--danger);font-size:var(--text-sm);margin:0}.switch{flex:none;align-items:center;width:40px;height:24px;display:inline-flex;position:relative}.switch input{opacity:0;cursor:pointer;z-index:1;margin:0;position:absolute;inset:0}.switch span{border-radius:var(--radius-full);background:var(--border-strong);width:100%;height:100%;transition:background .15s}.switch span:after{content:"";width:18px;height:18px;box-shadow:var(--shadow-sm);transition:transform .15s var(--ease);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px}.switch input:checked+span{background:var(--accent)}.switch input:checked+span:after{transform:translate(16px)}.switch input:focus-visible+span{outline:2px solid var(--ring);outline-offset:2px}.switch input:disabled+span{opacity:.5}.skeleton{background:linear-gradient(90deg, var(--skeleton) 0%, var(--skeleton-shine) 50%, var(--skeleton) 100%);background-size:200% 100%;border-radius:6px;animation:1.4s ease-in-out infinite shimmer;display:block;color:#0000!important}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.skeleton-line{height:.9em;margin:.35em 0}dialog.modal{width:min(460px, calc(100vw - 2rem - var(--safe-left) - var(--safe-right)));border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-raised);color:var(--text);box-shadow:var(--shadow-lg);max-height:calc(100vh - 2rem - var(--safe-top) - var(--safe-bottom));max-height:calc(100svh - 2rem - var(--safe-top) - var(--safe-bottom));margin-block:calc(1rem + var(--safe-top)) calc(1rem + var(--safe-bottom));margin-inline:auto;padding:0}dialog.modal[open]{flex-direction:column;display:flex;overflow:hidden}dialog.modal[open]>form{flex-direction:column;flex:1;min-height:0;display:flex}dialog.modal::backdrop{background:var(--overlay);backdrop-filter:blur(2px)}.modal-body{padding:var(--space-6);overscroll-behavior:contain;min-height:0;overflow-y:auto}.modal-body h2{font-size:var(--text-xl);letter-spacing:-.02em}.modal-body p{color:var(--text-2);font-size:var(--text-sm)}.modal-actions{justify-content:flex-end;gap:var(--space-2);padding:var(--space-4) var(--space-6);border-top:1px solid var(--border);background:var(--bg-subtle);border-radius:0 0 var(--radius-lg) var(--radius-lg);flex-wrap:wrap;flex:none;display:flex}.toast-region{z-index:90;left:50%;bottom:calc(var(--space-6) + var(--safe-bottom));gap:var(--space-2);width:min(420px, calc(100vw - 2rem - var(--safe-left) - var(--safe-right)));pointer-events:none;display:grid;position:fixed;transform:translate(-50%)}.toast{pointer-events:auto;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius);background:var(--text);color:var(--bg);font-size:var(--text-sm);box-shadow:var(--shadow-lg);animation:toast-in .2s var(--ease);align-items:flex-start;display:flex}.toast--error{color:#fff;background:#7f1d1d}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}.window{border-radius:var(--radius);background:var(--surface);border:1px solid var(--border-strong);box-shadow:var(--shadow-md);position:relative;overflow:hidden}.window-bar{align-items:center;gap:var(--space-3);height:30px;padding:0 var(--space-3);background:var(--bg-subtle);border-bottom:1px solid var(--border);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);font-size:11px;display:flex}.window-bar i{background:var(--accent);border-radius:50%;flex:none;width:6px;height:6px}.window-bar span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.window img{width:100%;height:auto}@media (height<=760px) and (width>=560px){.app-shot{max-width:min(100%,81.2vh);margin-inline:auto}}.shot-caption{margin-top:var(--space-3);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-3);line-height:1.5}.page-hero-grid{gap:var(--space-8);display:grid}.page-hero-copy{min-width:0;max-width:44rem}.page-hero-copy .lead{max-width:58ch}.page-hero-copy .lead>p:last-child{margin-bottom:0}.page-hero-copy .page-updated{margin-top:var(--space-5);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em;color:var(--text-3);line-height:1.6}.page-hero-actions{gap:var(--space-3);margin-top:var(--space-8);flex-wrap:wrap;align-items:center;display:flex}.page-facts{border-top:1px solid var(--border-strong);grid-template-columns:repeat(2,minmax(0,1fr));align-self:end;margin:0;display:grid}.page-fact{padding:var(--space-3) var(--space-4) var(--space-3) 0;border-bottom:1px solid var(--border);min-width:0}.page-fact dt{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--text-3)}.page-fact dd{margin:var(--space-1) 0 0;font-size:var(--text-sm);color:var(--text);overflow-wrap:anywhere}@media (width>=980px){.page-hero--facts .page-hero-grid{gap:var(--space-16);grid-template-columns:minmax(0,1fr) minmax(15rem,19rem);align-items:end}.page-facts{grid-template-columns:minmax(0,1fr)}.page-fact{gap:var(--space-3);grid-template-columns:9.25rem minmax(0,1fr);align-items:baseline;padding-right:0;display:grid}.page-fact dd{margin:0}}.section-head h2{max-width:24ch}.section-head.center h2{margin-inline:auto}.ledger{border-top:1px solid var(--border);border-left:1px solid var(--border);grid-template-columns:minmax(0,1fr);margin:0;padding:0;list-style:none;display:grid}.ledger>li{gap:var(--space-2);min-width:0;padding:var(--space-6) var(--space-6) var(--space-8);border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface);scroll-margin-top:calc(var(--header-h) + var(--safe-top) + 1rem);transition:background-color .2s var(--ease);flex-direction:column;display:flex}.ledger>li:target{background:var(--accent-soft)}@media (width>=640px){.ledger{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1000px){.ledger--3{grid-template-columns:repeat(3,minmax(0,1fr))}.ledger--4{grid-template-columns:repeat(4,minmax(0,1fr))}}.ledger-head{margin:0 0 var(--space-4);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;color:var(--text-3);justify-content:space-between;align-items:center;display:flex}.ledger-head .icon{color:var(--accent-text)}.ledger-title{align-items:center;gap:var(--space-2);font-size:var(--text-md);letter-spacing:-.01em;flex-wrap:wrap;margin:0;display:flex}.ledger>li>p:last-child{font-size:var(--text-sm);color:var(--text-2);margin:0;line-height:1.6}.doc{gap:var(--space-8);display:grid}.doc-body{min-width:0;max-width:720px}.doc-body>:first-child{margin-top:0}.doc-toc{font-size:var(--text-sm)}.doc-toc-title{margin:0 0 var(--space-3);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--text-3)}.doc-toc ol{border-top:1px solid var(--border);gap:0;margin:0;padding:0;list-style:none;display:grid}@media (width>=640px) and (width<=1079.98px){.doc-toc ol{column-gap:var(--space-6);grid-template-columns:repeat(2,minmax(0,1fr))}}.doc-toc a{gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--border);color:var(--text-2);line-height:1.4;text-decoration:none;display:flex}.doc-toc a:hover{color:var(--text)}.doc-toc-n{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-3);flex:none;padding-top:.1em}.doc-toc a[aria-current]{color:var(--text);font-weight:550}.doc-toc a[aria-current] .doc-toc-n{color:var(--accent-text)}@media (width>=1080px){.doc--toc{gap:var(--space-16);grid-template-columns:15rem minmax(0,1fr);align-items:start}.doc-toc{top:calc(var(--header-h) + var(--safe-top) + var(--space-6));max-height:calc(100vh - var(--header-h) - var(--safe-top) - var(--space-12));overscroll-behavior:contain;position:sticky;overflow-y:auto}.doc-toc a[aria-current]{box-shadow:inset 2px 0 0 var(--accent);padding-left:var(--space-3);margin-left:calc(-1 * var(--space-3))}}.doc-body h2{scroll-margin-top:calc(var(--header-h) + var(--safe-top) + 1rem)}.post-index{border-top:1px solid var(--border-strong);margin:0;padding:0;list-style:none}.post-row{gap:var(--space-2) var(--space-6);padding:var(--space-6) 0;border-bottom:1px solid var(--border);display:grid;position:relative}@media (width>=820px){.post-row{grid-template-columns:3rem 10rem minmax(0,1fr) 7rem;align-items:baseline}.post-index .post-row:not(:has(.post-n)){grid-template-columns:10rem minmax(0,1fr)}}.post-n,.post-date,.post-time{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.06em;color:var(--text-3);margin:0}.post-time{text-transform:uppercase}@media (width>=820px){.post-time{text-align:right}}.post-copy h2,.post-copy h3{margin:0 0 var(--space-2);font-size:var(--text-xl);letter-spacing:-.015em}.post-copy a{color:var(--text);text-decoration:none}.post-copy a:after{content:"";position:absolute;inset:0}.post-copy p{max-width:62ch;color:var(--text-2);font-size:var(--text-sm);margin:0}.post-row:hover .post-copy a{color:var(--accent-text)}.post-row:focus-within{outline:2px solid var(--ring);outline-offset:4px}.post-copy a:focus-visible{outline:none}.crumbs{gap:var(--space-2);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em;color:var(--text-3);flex-wrap:wrap;display:flex}.crumbs a{color:var(--text-2)}@media (width>=960px){.faq-aside{top:calc(var(--header-h) + var(--safe-top) + var(--space-6));align-self:start;position:sticky}}.faq-aside .muted{max-width:34ch;font-size:var(--text-sm)}.lost{padding-block:clamp(4rem,3rem + 6vw,8rem)}.lost-grid{gap:var(--space-10);align-items:center;display:grid}@media (width>=860px){.lost-grid{gap:var(--space-16);grid-template-columns:minmax(0,16rem) minmax(0,1fr)}}.lost-mark{width:clamp(8rem,30vw,16rem);height:auto;color:var(--border-strong)}.lost-dot{color:var(--accent);fill:var(--accent);transform-origin:32px 32px}@media (prefers-reduced-motion:no-preference){.lost-dot{animation:2.4s ease-in-out infinite lost-pulse}}@keyframes lost-pulse{50%{opacity:.25;transform:scale(.7)}}.lost-fix{gap:var(--space-2) var(--space-3);margin-bottom:var(--space-5);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em;color:var(--text-3);flex-wrap:wrap;display:flex}.lost-place{padding-left:var(--space-3);border-left:1px solid var(--border-strong)}.lost h1{max-width:16ch}.lost .lead{max-width:52ch;margin-bottom:var(--space-8)}.hero{border-bottom:1px solid var(--border);gap:clamp(2.5rem,2rem + 3vw,4rem);padding-block:clamp(2.5rem,1.5rem + 4vw,5rem) clamp(3rem,2rem + 4vw,5rem);display:grid;position:relative;overflow-x:clip}.hero-inner,.hero-shot{min-width:0;padding-inline:calc(var(--gutter) + var(--safe-left)) calc(var(--gutter) + var(--safe-right))}@media (width>=1040px){.hero{align-items:center;gap:var(--space-12);padding-inline:max(calc(var(--gutter) + var(--safe-left)), calc((100% - var(--container)) / 2)) 0;grid-template-columns:minmax(0,33rem) minmax(0,1fr)}.hero-inner,.hero-shot{padding-inline:0}}.hero-fix{align-items:center;gap:var(--space-2) var(--space-3);margin-bottom:var(--space-5);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em;color:var(--text-3);flex-wrap:wrap;display:flex}.hero-fix-dot{background:var(--accent);border-radius:50%;flex:none;width:7px;height:7px}.hero-fix-place{padding-left:var(--space-3);border-left:1px solid var(--border-strong)}.hero-fix[data-live] .hero-fix-dot{background:var(--accent-2)}.hero-fix[data-live] .readout{color:var(--text)}.hero-shot img.is-readable{cursor:crosshair}.hero-pin{z-index:1;width:30px;height:30px;color:var(--accent);pointer-events:none;filter:drop-shadow(0 1px 1px #00000040);margin:-15px 0 0 -15px;position:absolute}.hero-pin svg{width:100%;height:100%;display:block}@media (prefers-reduced-motion:no-preference){.hero-pin.is-dropped{animation:.35s cubic-bezier(.3,1.5,.5,1) pin-drop}.hero-fix.is-updated .hero-fix-dot{animation:.6s ease-out fix-ping}}@keyframes pin-drop{0%{opacity:0;transform:scale(1.8)}}@keyframes fix-ping{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 60%, transparent)}to{box-shadow:0 0 0 10px #0000}}.hero h1{max-width:15ch;margin-bottom:var(--space-5);font-size:clamp(2.25rem,1.5rem + 2.8vw,3.5rem)}.hero .lead{max-width:46ch;margin-bottom:var(--space-8)}.hero-note{margin-top:var(--space-5);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.03em;color:var(--text-3);line-height:1.6}@media (width<=480px){.hero-cta .btn{white-space:normal;width:100%}}@media (height<=760px){.hero{padding-block:clamp(1rem,.5rem + 2vh,2.5rem) clamp(1.5rem,1rem + 3vh,3rem)}.hero-fix{margin-bottom:var(--space-3)}.hero h1{margin-bottom:var(--space-4);max-width:22ch}.hero .lead{margin-bottom:var(--space-5);max-width:60ch}.hero-note{margin-top:var(--space-3)}}@media (height<=520px){.hero .lead{font-size:var(--text-base);margin-bottom:var(--space-4)}}.specs{background:var(--bg-subtle);border-bottom:1px solid var(--border)}.spec-strip{grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.spec{padding:var(--space-4);border-left:1px solid var(--border)}.spec:nth-child(odd){border-left:0;padding-left:0}@media (width>=720px){.spec-strip{grid-template-columns:repeat(5,minmax(0,1fr))}.spec:nth-child(odd){border-left:1px solid var(--border);padding-left:var(--space-4)}.spec:first-child{border-left:0;padding-left:0}}.spec dt{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--text-3)}.spec dd{margin:var(--space-1) 0 0;font-size:var(--text-sm);color:var(--text)}.how{gap:var(--space-8);align-items:center;display:grid}@media (width>=960px){.how{gap:var(--space-12);grid-template-columns:1.25fr 1fr}}.how-diagram{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:clamp(1rem,.5rem + 2vw,2rem)}.how-steps{gap:var(--space-6);margin:0;padding:0;list-style:none;display:grid}.how-steps li{gap:var(--space-4);display:flex}.how-step-num{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;color:var(--accent-text);flex:none;padding-top:.2rem}.how-steps h3{margin-bottom:var(--space-1)}.how-steps p{color:var(--text-2);font-size:var(--text-sm)}.section--invert{background:var(--bg);color:var(--text);border-block:1px solid var(--border)}.invert{background:var(--bg);color:var(--text)}.pro-head h2{max-width:22ch;margin-bottom:0}.showcase{gap:clamp(4rem,3rem + 4vw,7rem);display:grid}.showcase .row{gap:var(--space-8);align-items:center;display:grid}@media (width>=1000px){.showcase .row{gap:var(--space-16);grid-template-columns:1fr 1.35fr}.showcase .row.flip .row-copy{order:2}}.showcase .row-copy{max-width:460px}.showcase .row-title{font-size:var(--text-2xl);letter-spacing:-.02em;margin-bottom:var(--space-4)}.showcase .row-copy .muted{margin-bottom:var(--space-6)}.more{margin-top:var(--space-12)}.more.center{text-align:center}.use-note{margin-top:var(--space-8)}.use-note svg{color:var(--accent-2);flex:none;margin-top:2px}.faq-layout{gap:var(--space-8);display:grid}@media (width>=960px){.faq-layout{gap:var(--space-16);grid-template-columns:1fr 1.6fr}}.intro{display:none}html[data-intro] .intro{--mark:clamp(128px, 30vmin, 232px);z-index:200;color:var(--accent);pointer-events:auto;cursor:pointer;animation:.4s 3.1s forwards intro-away;display:block;position:fixed;inset:0;overflow:hidden}.intro-bg{background:var(--bg);position:absolute;inset:0}.intro-hair{background:var(--border-strong);transition:opacity .25s;position:absolute}.intro-hair--x{transform-origin:50%;height:1px;top:50%;left:0;right:0}.intro-hair--y{transform-origin:50%;width:1px;top:0;bottom:0;left:50%}html[data-intro] .intro-hair--x{animation:.9s cubic-bezier(.2,.7,.2,1) both intro-hair-x}html[data-intro] .intro-hair--y{animation:.9s cubic-bezier(.2,.7,.2,1) 80ms both intro-hair-y}.intro-stage{width:var(--mark);height:var(--mark);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.intro-parallax{width:100%;height:100%;transition:transform .6s cubic-bezier(.2,.7,.2,1);position:relative}.intro-mark{transform-origin:50%;width:100%;height:100%;display:block;overflow:visible}.intro-ring,.intro-tick{stroke:currentColor;stroke-width:5px;stroke-linecap:round;fill:none}.intro-ring{stroke-dasharray:100;transform-origin:32px 32px;transform:rotate(-90deg)}.intro-tick{stroke-dasharray:10}.intro-dot{fill:currentColor;transform-origin:32px 32px}html[data-intro] .intro-ring{animation:.7s cubic-bezier(.35,0,.2,1) .1s both intro-draw}html[data-intro] .intro-tick{animation:.3s cubic-bezier(.2,.7,.2,1) .55s both intro-tick}html[data-intro] .intro-tick:nth-of-type(2){animation-delay:.6s}html[data-intro] .intro-tick:nth-of-type(3){animation-delay:.65s}html[data-intro] .intro-tick:nth-of-type(4){animation-delay:.7s}html[data-intro] .intro-dot{animation:.3s cubic-bezier(.3,1.6,.5,1) .75s both intro-drop}html[data-intro] .intro-dot-move{animation:.5s cubic-bezier(.6,0,.2,1) 1.05s both intro-move}.intro-text{text-align:center;width:max-content;position:absolute;top:calc(100% + clamp(1.25rem,4vmin,2.5rem));left:50%;transform:translate(-50%)}.intro-word{margin:0 0 var(--space-3);letter-spacing:-.028em;color:var(--text);font-size:clamp(1.625rem,4.5vmin,2.5rem);font-weight:700;line-height:1}.intro-readout,.intro-status{justify-content:center;gap:var(--space-3);font-family:var(--font-mono);font-size:var(--text-xs);font-variant-numeric:tabular-nums;letter-spacing:.06em;color:var(--text-2);margin:0;display:flex}.intro-status{margin-top:var(--space-2);color:var(--text-3);text-transform:uppercase}html[data-intro] .intro-word{animation:.4s cubic-bezier(.2,.7,.2,1) 1.2s both intro-rise}html[data-intro] .intro-readout,html[data-intro] .intro-status{animation:.4s cubic-bezier(.2,.7,.2,1) .4s both intro-rise}.intro-skip{left:0;right:0;bottom:calc(var(--space-6) + var(--safe-bottom));text-align:center;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);margin:0;font-size:11px;transition:opacity .2s;position:absolute}html[data-intro] .intro-skip{animation:.4s .9s both intro-rise}.intro[data-intro-settled] *,.intro[data-intro-settled]{animation-play-state:paused!important}.intro[data-intro-settled] .intro-ring,.intro[data-intro-settled] .intro-tick,.intro[data-intro-settled] .intro-dot,.intro[data-intro-settled] .intro-dot-move,.intro[data-intro-settled] .intro-hair{animation:none!important}.intro[data-intro-settled] .intro-dot-move{transform:translate(7px,-7px)}.intro[data-intro-settled] .intro-hair,.intro[data-intro-settled] .intro-skip{opacity:0}html[data-intro] .site-header .brand .logo{animation:3.5s step-end intro-hold}@keyframes intro-hold{0%,to{opacity:0}}@keyframes intro-away{to{opacity:0;visibility:hidden}}@keyframes intro-hair-x{0%{transform:scaleX(0)}}@keyframes intro-hair-y{0%{transform:scaleY(0)}}@keyframes intro-draw{0%{stroke-dashoffset:100px}to{stroke-dashoffset:0}}@keyframes intro-tick{0%{stroke-dashoffset:10px}to{stroke-dashoffset:0}}@keyframes intro-drop{0%{transform:scale(0)}to{transform:scale(1)}}@keyframes intro-move{0%{transform:translate(0)}to{transform:translate(7px,-7px)}}@keyframes intro-rise{0%{opacity:0;transform:translateY(6px)}}.logo [data-logo-dot]{transition:transform .35s var(--ease)}@media (horizontal-viewport-segments:2){:root{--segment-width:env(viewport-segment-right 0 0);--hinge-gap:calc(env(viewport-segment-left 1 0) - env(viewport-segment-right 0 0))}@media (width>=700px){.hero{grid-template-columns:var(--segment-width) minmax(0, 1fr);padding-inline:0;align-items:center;gap:0;padding-top:clamp(1rem,.5rem + 2vh,2.5rem)}.hero-inner{padding-inline:calc(var(--gutter) + var(--safe-left)) var(--gutter)}.hero-shot{padding-inline:0 calc(var(--gutter) + var(--safe-right));margin-left:var(--hinge-gap)}}}@media (vertical-viewport-segments:2){dialog.modal{max-height:calc(env(viewport-segment-bottom 0 0) - 2rem - var(--safe-top));margin-block:calc(1rem + var(--safe-top)) auto}}html[data-device=desktop] .on-mobile,html[data-device=mobile] .on-desktop{display:none!important}@media not all and (hover:none) and (pointer:coarse){html:not([data-device]) .on-mobile{display:none!important}}@media (hover:none) and (pointer:coarse){html:not([data-device]) .on-desktop{display:none!important}}.cta-note{margin-top:var(--space-3);color:var(--text-2);font-size:var(--text-sm)}.send{gap:var(--space-5);text-align:left;display:grid}.send-art{width:100%;max-width:340px;height:auto;margin-inline:auto;display:block}.send-title{margin:0 0 var(--space-2);font-size:var(--text-xl);line-height:1.25}.send .send-lead{margin-bottom:var(--space-5);font-size:var(--text-base)}.send-inapp{margin-bottom:var(--space-5);text-align:left}.send-actions{gap:var(--space-3);display:grid}.send-actions .btn{white-space:normal}.send-actions [data-copy-state=copied]{border-color:var(--accent);color:var(--accent-text)}.send .send-status:empty{display:none}.send .send-status{margin-top:var(--space-3);color:var(--success)}.send .send-url{margin-top:var(--space-4);overflow-wrap:anywhere}.send-url strong{color:var(--text);user-select:all}.send-field{width:100%;margin-top:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-size:var(--text-base)}@media (width>=720px){.send{align-items:center;gap:var(--space-8);padding:var(--space-8);grid-template-columns:minmax(0,5fr) minmax(0,6fr)}}.art-frame{fill:var(--surface-raised);stroke:var(--border-strong);stroke-width:2px}.art-screen{fill:var(--bg-muted)}.art-grid{fill:none;stroke:var(--border);stroke-width:1.5px}.art-route{fill:none;stroke:var(--accent);stroke-width:3px;stroke-linecap:round;stroke-dasharray:6 5}.art-pin{fill:var(--accent)}.art-pin-dot{fill:#fff}.art-cable{fill:none;stroke:var(--accent-2);stroke-width:3px;stroke-linecap:round}.art-plug{fill:var(--accent-2)}.start{padding-block:var(--space-8)}.start-inner{max-width:calc(640px + 2 * var(--gutter) + var(--safe-left) + var(--safe-right));text-align:center}.start-inapp{margin-bottom:var(--space-5);text-align:left}.start h1{margin:var(--space-2) 0 var(--space-6);font-size:clamp(1.875rem,1.3rem + 2.6vw,3rem);line-height:1.1}.walk{margin:0 0 var(--space-6);padding:var(--space-5) var(--space-4) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--shadow-md)}.walk-art{width:100%;max-width:420px;height:auto;margin-inline:auto;display:block}.walk-steps{gap:var(--space-2);margin:var(--space-4) 0 0;text-align:left;font-size:var(--text-sm);padding:0;list-style:none;display:grid}.walk-steps li{gap:var(--space-3);color:var(--text);align-items:center;display:flex}.walk-steps strong{border:1px solid var(--border-strong);border-radius:var(--radius-xs);width:22px;height:22px;font-family:var(--font-mono);color:var(--text-3);font-size:var(--text-xs);flex:none;place-items:center;display:inline-grid}.walk-pin--laptop{transform:translate(178px,38px)}.walk-pin--phone{transform:translate(300px,44px)scale(.8)}.walk-cable{stroke-dasharray:100;stroke-dashoffset:0}@media (prefers-reduced-motion:no-preference){.walk-pin--laptop{animation:15s linear infinite walk-laptop}.walk-pin--phone{animation:15s linear infinite walk-phone}.walk-cable{animation:15s ease-out infinite walk-cable}.walk-phone{animation:15s linear infinite walk-phone-on}.walk-steps li{color:var(--text-3);animation:15s linear infinite walk-step}.walk-steps li:nth-child(2){animation-delay:5s}.walk-steps li:nth-child(3){animation-delay:10s}}@keyframes walk-laptop{0%,66%{transform:translate(36px,112px)}73%{transform:translate(84px,83px)}81%{transform:translate(132px,60px)}89%{transform:translate(162px,35px)}94%,to{transform:translate(178px,38px)}}@keyframes walk-phone{0%,66%{opacity:0;transform:translate(258px,134px)scale(.8)}67%{opacity:1}73%{transform:translate(273px,97px)scale(.8)}81%{transform:translate(289px,68px)scale(.8)}89%{transform:translate(297px,42px)scale(.8)}94%,to{opacity:1;transform:translate(300px,44px)scale(.8)}}@keyframes walk-cable{0%,36%{stroke-dashoffset:100px}52%,to{stroke-dashoffset:0}}@keyframes walk-phone-on{0%,44%{opacity:.35}52%,to{opacity:1}}@keyframes walk-step{0%,33%{color:var(--text)}34%,to{color:var(--text-3)}}.start-points{gap:var(--space-4);margin:0 0 var(--space-6);text-align:left;padding:0;list-style:none;display:grid}.start-points li{gap:var(--space-3);color:var(--text-2);align-items:flex-start;display:flex}.start-points .icon-tile{flex:none;margin:0}.start-points li>span:last-child{padding-top:.4rem}.start-cta{gap:var(--space-3);display:grid}.start-cta .btn{white-space:normal}@media (width>=560px){.start-cta{justify-content:center;display:flex}}.start-send{padding-top:0}.start-faq-title{font-size:var(--text-xl);margin-bottom:var(--space-4)}.start-more{margin-top:var(--space-4);font-size:var(--text-sm)}.build.is-recommended{box-shadow:inset 0 3px 0 var(--accent);background:color-mix(in srgb, var(--accent-soft) 45%, var(--surface))}.build-pick{top:var(--space-5);right:var(--space-5);position:absolute}html[data-device=mobile] .build .btn-primary{background:var(--surface);color:var(--text);border-color:var(--border-strong);box-shadow:var(--shadow-xs)}.btn>.on-mobile,.btn>.on-desktop{align-items:center;gap:inherit;display:inline-flex}@media (width>=720px){.send.send--text{grid-template-columns:minmax(0,1fr)}}.student-panel{gap:var(--space-6);max-width:44rem;padding:var(--space-6);border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);box-shadow:inset 0 3px 0 var(--accent-2);display:grid}.student-state p{margin:0}.student-good{color:var(--text)}.student-form{gap:var(--space-4);padding-top:var(--space-5);border-top:1px solid var(--border);justify-items:start;display:grid}.student-form .field{width:100%;max-width:28rem;margin:0}.student-level{gap:var(--space-2);border:0;margin:0;padding:0;display:grid}.student-level label{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-2);display:flex}.student-form .hint{max-width:46ch}.review-auth{gap:var(--space-4);max-width:28rem;margin-bottom:var(--space-8);justify-items:start;display:grid}.review-auth .field{width:100%;margin:0}.review-tabs{gap:var(--space-2);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.review-list{border-top:1px solid var(--border-strong)}.review-row{gap:var(--space-4);padding:var(--space-5) 0;border-bottom:1px solid var(--border);display:grid}@media (width>=880px){.review-row{grid-template-columns:minmax(0,1fr) minmax(0,26rem);align-items:start}}.review-email{margin:0 0 var(--space-1);overflow-wrap:anywhere;font-weight:550}.review-meta,.review-decided{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-3);margin:0;line-height:1.7}.review-actions{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.review-actions .input{min-height:34px;font-size:var(--text-sm);flex:12rem}.review-error{margin:var(--space-2) 0 0;color:var(--danger);font-size:var(--text-sm)}.site-header[data-astro-cid-nen7h5rs]{z-index:50;height:calc(var(--header-h) + var(--safe-top));padding-top:var(--safe-top);background:var(--bg);border-bottom:1px solid var(--border);position:sticky;top:0}.bar[data-astro-cid-nen7h5rs]{align-items:center;gap:var(--space-4);height:100%;display:flex}.brand[data-astro-cid-nen7h5rs]{letter-spacing:-.02em;color:var(--text);flex:none;align-items:center;gap:.55rem;font-size:1.0625rem;font-weight:650;text-decoration:none;display:inline-flex}ul[data-astro-cid-nen7h5rs]{margin:0;padding:0;list-style:none}.nav-desktop[data-astro-cid-nen7h5rs]{margin-left:var(--space-6);display:none}.nav-desktop[data-astro-cid-nen7h5rs] ul[data-astro-cid-nen7h5rs]{gap:var(--space-1);display:flex}.nav-desktop[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{border-radius:var(--radius-sm);height:34px;color:var(--text-2);font-size:var(--text-sm);align-items:center;padding:0 .7rem;font-weight:500;text-decoration:none;transition:color .15s,background-color .15s;display:inline-flex}.nav-desktop[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:hover{color:var(--text);background:var(--bg-muted)}.nav-desktop[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs][aria-current=page]{color:var(--text)}.actions[data-astro-cid-nen7h5rs]{align-items:center;gap:var(--space-2);margin-left:auto;display:flex}.icon-btn[data-astro-cid-nen7h5rs]{border-radius:var(--radius-sm);width:36px;height:36px;color:var(--text-2);cursor:pointer;background:0 0;border:0;place-items:center;display:inline-grid}.icon-btn[data-astro-cid-nen7h5rs]:hover{background:var(--bg-muted);color:var(--text)}.theme-toggle[data-astro-cid-nen7h5rs] .i-sun{display:none}:root[data-theme=dark] .theme-toggle[data-astro-cid-nen7h5rs] .i-sun{display:block}:root[data-theme=dark] .theme-toggle[data-astro-cid-nen7h5rs] .i-moon{display:none}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .theme-toggle[data-astro-cid-nen7h5rs] .i-sun{display:block}:root:not([data-theme=light]) .theme-toggle[data-astro-cid-nen7h5rs] .i-moon{display:none}}.auth[data-astro-cid-nen7h5rs]{align-items:center;display:flex;position:relative}.auth-skeleton[data-astro-cid-nen7h5rs]{border-radius:var(--radius-full);width:46px;height:30px;display:none}.auth-signin[data-astro-cid-nen7h5rs],.auth-loading[data-astro-cid-nen7h5rs]{display:none}:root[data-auth=pending] .auth-skeleton[data-astro-cid-nen7h5rs],:root[data-auth=pending] .auth-loading[data-astro-cid-nen7h5rs]{display:block}:root[data-auth=out] .auth-signin[data-astro-cid-nen7h5rs]{display:inline-flex}:root:not([data-auth=in]) .m-account[data-astro-cid-nen7h5rs]{display:none}.avatar-btn[data-astro-cid-nen7h5rs]{border:1px solid var(--border);border-radius:var(--radius-full);background:var(--surface);height:34px;color:var(--text-2);cursor:pointer;align-items:center;gap:4px;padding:2px 6px 2px 2px;display:inline-flex}.avatar-btn[data-astro-cid-nen7h5rs]:hover,.avatar-btn[data-astro-cid-nen7h5rs][aria-expanded=true]{border-color:var(--border-strong);color:var(--text)}.avatar[data-astro-cid-nen7h5rs]{background:var(--accent-2);color:#fff;text-transform:uppercase;border-radius:50%;place-items:center;width:28px;height:28px;font-size:.8125rem;font-weight:650;display:inline-grid}.avatar-lg[data-astro-cid-nen7h5rs]{flex:none;width:36px;height:36px;font-size:.9375rem}.dropdown[data-astro-cid-nen7h5rs]{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius);width:264px;max-width:calc(100vw - 2rem);box-shadow:var(--shadow-lg);overscroll-behavior:contain;max-height:calc(100dvh - var(--header-h) - var(--safe-top) - var(--space-4));z-index:60;position:absolute;top:calc(100% + 8px);right:0;overflow-y:auto}.dropdown-head[data-astro-cid-nen7h5rs]{align-items:center;gap:var(--space-3);padding:var(--space-4);border-bottom:1px solid var(--border);display:flex}.dropdown-id[data-astro-cid-nen7h5rs]{min-width:0}.dropdown-email[data-astro-cid-nen7h5rs]{font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;margin:0;font-weight:600;overflow:hidden}.dropdown-plan[data-astro-cid-nen7h5rs]{font-size:var(--text-xs);color:var(--text-3);margin:0}.dropdown-links[data-astro-cid-nen7h5rs]{padding:var(--space-2)}.dropdown-links[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs],.dropdown-signout[data-astro-cid-nen7h5rs]{align-items:center;gap:var(--space-3);border-radius:var(--radius-xs);width:100%;color:var(--text-2);font-size:var(--text-sm);cursor:pointer;text-align:left;background:0 0;border:0;padding:.5rem .625rem;text-decoration:none;display:flex}.dropdown-links[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:hover,.dropdown-signout[data-astro-cid-nen7h5rs]:hover{background:var(--bg-muted);color:var(--text)}.dropdown-foot[data-astro-cid-nen7h5rs]{padding:var(--space-2);border-top:1px solid var(--border)}.cta-download[data-astro-cid-nen7h5rs]{display:none}.nav-mobile[data-astro-cid-nen7h5rs] summary[data-astro-cid-nen7h5rs]{border-radius:var(--radius-sm);width:40px;height:40px;color:var(--text);cursor:pointer;place-items:center;list-style:none;display:grid}.nav-mobile[data-astro-cid-nen7h5rs] summary[data-astro-cid-nen7h5rs]::-webkit-details-marker{display:none}.nav-mobile[data-astro-cid-nen7h5rs] summary[data-astro-cid-nen7h5rs]:hover{background:var(--bg-muted)}.nav-mobile[data-astro-cid-nen7h5rs] .i-close,.nav-mobile[data-astro-cid-nen7h5rs][open] .i-open{display:none}.nav-mobile[data-astro-cid-nen7h5rs][open] .i-close{display:block}.mobile-panel[data-astro-cid-nen7h5rs]{left:0;right:0;top:calc(var(--header-h) + var(--safe-top));max-height:calc(100dvh - var(--header-h) - var(--safe-top));min-height:calc(100dvh - var(--header-h) - var(--safe-top));overscroll-behavior:contain;background:var(--bg);padding:var(--space-4) calc(var(--gutter) + var(--safe-left)) calc(var(--space-8) + var(--safe-bottom)) calc(var(--gutter) + var(--safe-left));position:absolute;overflow-y:auto}.mobile-panel[data-astro-cid-nen7h5rs] ul[data-astro-cid-nen7h5rs]{margin-bottom:var(--space-6)}@media (height<=560px){.mobile-panel[data-astro-cid-nen7h5rs]{padding-top:var(--space-2)}.mobile-panel[data-astro-cid-nen7h5rs] ul[data-astro-cid-nen7h5rs]{margin-bottom:var(--space-4)}.mobile-panel[data-astro-cid-nen7h5rs] li[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{font-size:var(--text-base);padding:.5rem 0}}.mobile-panel[data-astro-cid-nen7h5rs] li[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{border-bottom:1px solid var(--border);color:var(--text);font-size:var(--text-lg);padding:.875rem 0;font-weight:500;text-decoration:none;display:block}@media (width>=820px){.nav-desktop[data-astro-cid-nen7h5rs]{margin-left:var(--space-4);display:block}.nav-mobile[data-astro-cid-nen7h5rs]{display:none}.cta-download[data-astro-cid-nen7h5rs]{display:inline-flex}}@media (width>=1000px){.nav-desktop[data-astro-cid-nen7h5rs]{margin-left:var(--space-6)}}.site-footer[data-astro-cid-jo6i4kqk]{border-top:1px solid var(--border);background:var(--bg-subtle);padding-block:var(--space-16) calc(var(--space-8) + var(--safe-bottom));font-size:var(--text-sm);color:var(--text-2)}.site-footer[data-astro-cid-jo6i4kqk].compact{padding-block:var(--space-6) calc(var(--space-6) + var(--safe-bottom))}.top[data-astro-cid-jo6i4kqk]{gap:var(--space-8) var(--space-6);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.about[data-astro-cid-jo6i4kqk]{grid-column:1/-1;max-width:420px}@media (width>=800px){.top[data-astro-cid-jo6i4kqk]{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width>=1040px){.top[data-astro-cid-jo6i4kqk]{grid-template-columns:2.2fr repeat(4,1fr)}.about[data-astro-cid-jo6i4kqk]{grid-column:auto}}.brand[data-astro-cid-jo6i4kqk]{letter-spacing:-.02em;font-weight:650;font-size:var(--text-base);color:var(--text);margin-bottom:var(--space-3);align-items:center;gap:.5rem;text-decoration:none;display:inline-flex}.responsible[data-astro-cid-jo6i4kqk]{align-items:flex-start;gap:var(--space-2);margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--border);font-size:var(--text-xs);line-height:1.55;display:flex}.responsible[data-astro-cid-jo6i4kqk] svg{color:var(--accent-2);flex:none;margin-top:1px}h2[data-astro-cid-jo6i4kqk]{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);margin-bottom:var(--space-4);font-weight:500}ul[data-astro-cid-jo6i4kqk]{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}a[data-astro-cid-jo6i4kqk]{color:var(--text-2);text-decoration:none}a[data-astro-cid-jo6i4kqk]:hover{color:var(--text);text-decoration:underline}.legal[data-astro-cid-jo6i4kqk]{justify-content:space-between;gap:var(--space-2) var(--space-8);border-top:1px solid var(--border);margin-top:var(--space-12);padding-top:var(--space-6);font-size:var(--text-xs);color:var(--text-3);flex-wrap:wrap;display:flex}.compact[data-astro-cid-jo6i4kqk] .legal[data-astro-cid-jo6i4kqk]{border-top:0;align-items:center;margin-top:0;padding-top:0}.legal[data-astro-cid-jo6i4kqk] p[data-astro-cid-jo6i4kqk]{max-width:560px;margin:0}.legal[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{color:var(--text-2);text-decoration:underline;text-decoration-color:var(--border-strong)}.compact-links[data-astro-cid-jo6i4kqk]{gap:var(--space-4);display:flex}
