@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(./dm-sans-latin-ext-wght-normal.BOFOeGcA.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:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(./dm-sans-latin-wght-normal.Xz1IZZA0.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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(./bricolage-grotesque-vietnamese-wght-normal.BUzh504Q.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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(./bricolage-grotesque-latin-ext-wght-normal.CcLUaPy7.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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(./bricolage-grotesque-latin-wght-normal.DLoelf7F.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}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-brand:#d62b63;--color-primary:var(--color-brand);--color-primary-hover:color-mix(in srgb, var(--color-brand) 85%, #000);--color-primary-text:var(--color-brand);--color-on-primary:#fff;--color-bg:#fff6ec;--color-surface:#fff;--color-text:#2a1033;--color-text-muted:#5b4a60;--color-border:#eadbe2;--color-ink:#2a1033;--color-on-ink:#fff;--color-sun:#ffc93c;--color-mint:#3dd6a8;--color-on-accent:#2a1033;--color-outline:#2a1033;--color-success:#1a7a50;--color-warning:#8a5a12;--color-danger:#c53030;--color-danger-hover:color-mix(in srgb, var(--color-danger) 85%, #000);--color-on-danger:#fff;--color-focus:#3b82f6;--font-family:"DM Sans Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display:"Bricolage Grotesque Variable", "DM Sans Variable", system-ui, sans-serif;--font-size-sm:.875rem;--font-size-md:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.625rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--radius-sm:.5rem;--radius-md:.875rem;--radius-lg:1.5rem;--radius-pill:999px;--shadow-sm:0 1px 2px #2a103314;--shadow-md:0 4px 12px #2a10331a;--shadow-pop:6px 6px 0 var(--color-outline)}@media screen and (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-primary-text:color-mix(in srgb, var(--color-brand) 60%, #fff);--color-bg:#170a1c;--color-surface:#24112b;--color-text:#fff6ec;--color-text-muted:#cdbdd3;--color-border:#46304f;--color-ink:#0d0410;--color-outline:#fff6ec;--color-success:#5ccf97;--color-warning:#e8b65a;--color-danger:#f27b7b;--color-danger-hover:color-mix(in srgb, var(--color-danger) 85%, #fff);--color-on-danger:#2a0d0f;--color-focus:#6aa8ff;--shadow-sm:0 1px 2px #0006;--shadow-md:0 4px 12px #00000073;--shadow-pop:6px 6px 0 #000}}@media screen{:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-primary-text:color-mix(in srgb, var(--color-brand) 60%, #fff);--color-bg:#170a1c;--color-surface:#24112b;--color-text:#fff6ec;--color-text-muted:#cdbdd3;--color-border:#46304f;--color-ink:#0d0410;--color-outline:#fff6ec;--color-success:#5ccf97;--color-warning:#e8b65a;--color-danger:#f27b7b;--color-danger-hover:color-mix(in srgb, var(--color-danger) 85%, #fff);--color-on-danger:#2a0d0f;--color-focus:#6aa8ff;--shadow-sm:0 1px 2px #0006;--shadow-md:0 4px 12px #00000073;--shadow-pop:6px 6px 0 #000}}*,:after,:before{box-sizing:border-box}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-family);font-size:var(--font-size-md);-webkit-font-smoothing:antialiased;margin:0;line-height:1.5}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}a{color:var(--color-primary-text)}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.02em;font-weight:800;line-height:1.1}.visually-hidden{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.button{min-height:2.75rem;padding:0 var(--space-5);border-radius:var(--radius-pill);background:var(--color-primary);color:var(--color-on-primary);font:inherit;cursor:pointer;border:none;justify-content:center;align-items:center;font-weight:700;text-decoration:none;display:inline-flex}.button:hover{background:var(--color-primary-hover)}.button--large{min-height:3.25rem;padding:0 var(--space-8);font-size:var(--font-size-lg)}.button--pop{background:var(--color-sun);color:var(--color-on-accent);box-shadow:0 5px 0 var(--color-ink)}.button--pop:hover{background:color-mix(in srgb,var(--color-sun) 88%,#000)}.button:disabled{opacity:.6;cursor:not-allowed}.button--secondary{background:var(--color-surface);color:var(--color-primary-text);box-shadow:inset 0 0 0 1px var(--color-border)}.button--secondary:hover{background:var(--color-bg)}.button--ghost{color:var(--color-primary-text);padding:0 var(--space-3);background:0 0}.button--ghost:hover{background:var(--color-bg)}.button--danger{background:var(--color-danger);color:var(--color-on-danger)}.button--danger:hover{background:var(--color-danger-hover)}.button--block,.control{width:100%}.page-title{margin:0 0 var(--space-2);font-size:calc(clamp(1.5rem,3.5vw,2rem));line-height:1.2}.page-intro{margin:0 0 var(--space-6);color:var(--color-text-muted)}.card{margin-bottom:var(--space-4);padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.card h2{margin:0 0 var(--space-4);font-size:var(--font-size-lg)}.form,.form-row{gap:var(--space-4);display:grid}.form--narrow{max-width:28rem}.form-row{grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr))}.field{gap:var(--space-1);flex-direction:column;display:flex}.field__label{font-weight:600}.field__error,.field__hint,.field__label,.form-error{font-size:var(--font-size-sm)}.field__hint{color:var(--color-text-muted)}.field__error,.form-error{color:var(--color-danger)}.form-error{border-left:4px solid var(--color-danger);font-size:var(--font-size-md)}.form-error,.form-success{padding:var(--space-3) var(--space-4);background:var(--color-surface);border-radius:var(--radius-md);margin:0}.form-success{border-left:4px solid var(--color-success)}.control{min-height:2.75rem;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font:inherit}textarea.control{resize:vertical;min-height:5rem}.control[aria-invalid=true]{border-color:var(--color-danger)}.check{align-items:flex-start;gap:var(--space-2);display:flex}.check input{width:1.25rem;height:1.25rem;accent-color:var(--color-primary-text);margin-top:.15rem}.muted{color:var(--color-text-muted)}.actions{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.badge{padding:.125rem var(--space-2);background:var(--color-bg);border:1px solid var(--color-border);font-size:var(--font-size-sm);border-radius:999px;font-weight:600;display:inline-block}.badge--success{color:var(--color-success)}.badge--warning{color:var(--color-warning)}.badge--danger{color:var(--color-danger)}.error[data-v-9fff8c6e]{padding:var(--space-8) 0;text-align:center}.error__code[data-v-9fff8c6e]{color:var(--color-primary-text);margin:0;font-size:4rem;font-weight:700;line-height:1}.error h1[data-v-9fff8c6e]{margin:var(--space-3) 0}.error p[data-v-9fff8c6e]{color:var(--color-text-muted)}
