@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-vietnamese-wght-normal-D0rl6rjA.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:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-latin-ext-wght-normal-D9tNdqV9.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:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-latin-wght-normal-BhU9QXUp.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.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{--color-bg:#05060a;--color-bg-alt:#090b12;--color-surface:#10131c;--color-surface-alt:#161a26;--color-surface-raised:#1a1e2c;--color-border:#e6e8f017;--color-border-strong:#e6e8f029;--color-text:#e9ebf3;--color-text-muted:#a3a9bd;--color-text-dim:#7f859a;--color-on-neon:#04121a;--color-glass:#10131c99;--color-scrim:#05060ab8;--grid-alpha:.05;--color-ink:#0a0d16;--color-ink-line:#e6e8f024;--color-ink-text:#e9ebf3;--color-ink-dim:#8c93a8;--color-ink-accent:#35e6ff;--color-neon-primary:#35e6ff;--color-neon-primary-strong:#7df3ff;--color-neon-primary-rgb:53, 230, 255;--color-neon-secondary:#b24bf3;--color-neon-secondary-rgb:178, 75, 243;--color-neon-success:#45f0a6;--color-neon-success-rgb:69, 240, 166;--color-neon-danger:#ff5470;--color-neon-danger-rgb:255, 84, 112;--font-sans:"Space Grotesk Variable", "Space Grotesk", "Segoe UI", system-ui, sans-serif;--font-mono:"JetBrains Mono Variable", "JetBrains Mono", "Fira Code", ui-monospace, monospace;--fs-h1:clamp(2.5rem, 4vw + 1rem, 4.5rem);--fs-h2:clamp(1.75rem, 2vw + 1rem, 2.75rem);--fs-h3:clamp(1.15rem, 1vw + .9rem, 1.5rem);--fs-body:1rem;--fs-small:.875rem;--fs-mono:.8125rem;--lh-heading:1.15;--lh-body:1.65;--space-3xs:.25rem;--space-2xs:.5rem;--space-xs:.75rem;--space-sm:1rem;--space-md:1.5rem;--space-lg:2.5rem;--space-xl:4rem;--space-2xl:6rem;--space-3xl:8rem;--container-width:1200px;--container-padding:clamp(1.25rem, 4vw, 3rem);--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-full:999px;--shadow-sm:0 2px 10px #0006;--shadow-md:0 8px 30px #00000073;--glow-primary:0 0 0 1px rgba(var(--color-neon-primary-rgb), .4), 0 0 20px rgba(var(--color-neon-primary-rgb), .25);--glow-primary-strong:0 0 0 1px rgba(var(--color-neon-primary-rgb), .6), 0 0 32px rgba(var(--color-neon-primary-rgb), .4);--glow-secondary:0 0 0 1px rgba(var(--color-neon-secondary-rgb), .4), 0 0 20px rgba(var(--color-neon-secondary-rgb), .22);--glow-danger:0 0 0 1px rgba(var(--color-neon-danger-rgb), .5), 0 0 16px rgba(var(--color-neon-danger-rgb), .25);--ease-out:cubic-bezier(.16, 1, .3, 1);--duration-fast:.15s;--duration-base:.25s;--duration-slow:.5s;--z-navbar:100;--z-overlay:200;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--color-bg:#e6ebf3;--color-bg-alt:#dbe2ee;--color-surface:#fff;--color-surface-alt:#f2f5fa;--color-surface-raised:#fff;--color-border:#0e183026;--color-border-strong:#0e183047;--color-text:#0b1220;--color-text-muted:#3d4760;--color-text-dim:#536078;--color-on-neon:#fff;--color-glass:#ffffffb8;--color-scrim:#0b122080;--grid-alpha:.12;--color-neon-primary:#006d85;--color-neon-primary-strong:#005568;--color-neon-primary-rgb:0, 109, 133;--color-neon-secondary:#7a2bc0;--color-neon-secondary-rgb:122, 43, 192;--color-neon-success:#067650;--color-neon-success-rgb:6, 118, 80;--color-neon-danger:#c4283f;--color-neon-danger-rgb:196, 40, 63;--shadow-sm:0 1px 2px #0e1e4614, 0 6px 14px -8px #0e1e462e;--shadow-md:0 1px 2px #0e1e4614, 0 14px 32px -14px #0e1e4647;--glow-primary:0 0 0 1px rgba(var(--color-neon-primary-rgb), .45), 0 8px 22px -8px rgba(var(--color-neon-primary-rgb), .4);--glow-primary-strong:0 0 0 1px rgba(var(--color-neon-primary-rgb), .7), 0 10px 28px -8px rgba(var(--color-neon-primary-rgb), .5);--glow-secondary:0 0 0 1px rgba(var(--color-neon-secondary-rgb), .45), 0 8px 22px -8px rgba(var(--color-neon-secondary-rgb), .4);--glow-danger:0 0 0 1px rgba(var(--color-neon-danger-rgb), .5), 0 8px 20px -8px rgba(var(--color-neon-danger-rgb), .4);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}:root[data-theme=light]{--color-bg:#e6ebf3;--color-bg-alt:#dbe2ee;--color-surface:#fff;--color-surface-alt:#f2f5fa;--color-surface-raised:#fff;--color-border:#0e183026;--color-border-strong:#0e183047;--color-text:#0b1220;--color-text-muted:#3d4760;--color-text-dim:#536078;--color-on-neon:#fff;--color-glass:#ffffffb8;--color-scrim:#0b122080;--grid-alpha:.12;--color-neon-primary:#006d85;--color-neon-primary-strong:#005568;--color-neon-primary-rgb:0, 109, 133;--color-neon-secondary:#7a2bc0;--color-neon-secondary-rgb:122, 43, 192;--color-neon-success:#067650;--color-neon-success-rgb:6, 118, 80;--color-neon-danger:#c4283f;--color-neon-danger-rgb:196, 40, 63;--shadow-sm:0 1px 2px #0e1e4614, 0 6px 14px -8px #0e1e462e;--shadow-md:0 1px 2px #0e1e4614, 0 14px 32px -14px #0e1e4647;--glow-primary:0 0 0 1px rgba(var(--color-neon-primary-rgb), .45), 0 8px 22px -8px rgba(var(--color-neon-primary-rgb), .4);--glow-primary-strong:0 0 0 1px rgba(var(--color-neon-primary-rgb), .7), 0 10px 28px -8px rgba(var(--color-neon-primary-rgb), .5);--glow-secondary:0 0 0 1px rgba(var(--color-neon-secondary-rgb), .45), 0 8px 22px -8px rgba(var(--color-neon-secondary-rgb), .4);--glow-danger:0 0 0 1px rgba(var(--color-neon-danger-rgb), .5), 0 8px 20px -8px rgba(var(--color-neon-danger-rgb), .4);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-reduced-motion:reduce){:root{--duration-fast:0s;--duration-base:0s;--duration-slow:0s}}*,:before,:after{box-sizing:border-box}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}body{background-color:var(--color-bg);min-height:100vh;color:var(--color-text);font-family:var(--font-sans);font-size:var(--fs-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}h1,h2,h3,h4{line-height:var(--lh-heading);letter-spacing:-.01em;margin:0;font-weight:600}p{margin:0}a{color:inherit;text-decoration:none}ul{margin:0;padding:0;list-style:none}button{color:inherit;font-family:inherit}img{max-width:100%;display:block}:focus-visible{outline:2px solid var(--color-neon-primary);outline-offset:3px;border-radius:var(--radius-sm)}.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}.skip-link{top:-100%;left:var(--space-sm);z-index:var(--z-overlay);padding:var(--space-2xs) var(--space-sm);background-color:var(--color-surface);color:var(--color-neon-primary);border:1px solid var(--color-neon-primary);border-radius:var(--radius-sm);transition:top var(--duration-fast) var(--ease-out);position:fixed}.skip-link:focus{top:var(--space-sm)}.bg-grid{background-image:linear-gradient(rgba(var(--color-neon-primary-rgb), var(--grid-alpha)) 1px, transparent 1px), linear-gradient(90deg, rgba(var(--color-neon-primary-rgb), var(--grid-alpha)) 1px, transparent 1px);background-position:top;background-size:48px 48px}.glass-surface{background-color:var(--color-glass);-webkit-backdrop-filter:blur(14px)}.container{width:100%;max-width:var(--container-width);padding-inline:var(--container-padding);margin-inline:auto}.reveal{opacity:0;transition:opacity var(--duration-slow) var(--ease-out), transform var(--duration-slow) var(--ease-out);transform:translateY(16px)}.reveal.is-visible{opacity:1;transform:none}main:focus{outline:none}.language-switcher[data-v-d602e7e2]{padding:var(--space-3xs);border:1px solid var(--color-border);border-radius:var(--radius-full);background-color:var(--color-surface);align-items:center;gap:var(--space-3xs);display:inline-flex}.language-switcher__option[data-v-d602e7e2]{color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:.05em;padding:var(--space-3xs) var(--space-xs);border-radius:var(--radius-full);cursor:pointer;transition:color var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out);background:0 0;border:none}.language-switcher__option[data-v-d602e7e2]:hover{color:var(--color-text)}.language-switcher__option.is-active[data-v-d602e7e2]{color:var(--color-on-neon);background-color:var(--color-neon-primary)}.theme-toggle[data-v-11827014]{padding:var(--space-3xs);border:1px solid var(--color-border);border-radius:var(--radius-full);background-color:var(--color-surface);align-items:center;gap:var(--space-3xs);display:inline-flex}.theme-toggle__option[data-v-11827014]{border-radius:var(--radius-full);width:28px;height:28px;color:var(--color-text-muted);cursor:pointer;transition:color var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out);background:0 0;border:none;place-items:center;display:grid}.theme-toggle__option[data-v-11827014]:hover{color:var(--color-text)}.theme-toggle__option.is-active[data-v-11827014]{color:var(--color-on-neon);background-color:var(--color-neon-primary)}.kitsune[data-v-02b64bdc]{width:var(--kitsune-size);height:var(--kitsune-size);opacity:var(--kitsune-rest-opacity);cursor:default;transition:opacity var(--duration-fast,.15s) var(--ease-out,ease), transform var(--duration-fast,.15s) var(--ease-out,ease), filter var(--duration-fast,.15s) var(--ease-out,ease);justify-content:center;align-items:center;display:inline-flex}.kitsune[data-v-02b64bdc]:hover,.kitsune[data-v-02b64bdc]:focus-visible{opacity:1;filter:drop-shadow(0 0 6px rgba(var(--color-neon-primary-rgb), .55));transform:scale(1.08)}.kitsune__svg[data-v-02b64bdc]{width:100%;height:100%;display:block}.navbar[data-v-378ae2e7]{--navbar-height:73px;z-index:var(--z-navbar);border-bottom:1px solid var(--color-border);transition:transform var(--duration-base) var(--ease-out);position:sticky;top:0}@media (width<=900px){.navbar--hidden[data-v-378ae2e7]{transform:translateY(-100%)}}.navbar__skip[data-v-378ae2e7]{z-index:calc(var(--z-overlay) + 1)}.navbar__inner[data-v-378ae2e7]{justify-content:space-between;align-items:center;height:72px;display:flex}.navbar__brand[data-v-378ae2e7]{align-items:center;gap:var(--space-xs);font-weight:600;display:inline-flex}.navbar__mark[data-v-378ae2e7]{flex-shrink:0}.navbar__brand-text[data-v-378ae2e7]{display:none}@media (width>=640px){.navbar__brand-text[data-v-378ae2e7]{display:inline}}.navbar__links--desktop[data-v-378ae2e7]{gap:var(--space-lg);display:none}.navbar__link[data-v-378ae2e7]{padding-block:var(--space-2xs);color:var(--color-text-muted);font-size:var(--fs-small);transition:color var(--duration-fast) var(--ease-out);position:relative}.navbar__link[data-v-378ae2e7]:after{content:"";background-color:var(--color-neon-primary);height:2px;box-shadow:var(--glow-primary);transition:transform var(--duration-base) var(--ease-out);position:absolute;bottom:-1px;left:0;right:0;transform:scaleX(0)}.navbar__link[data-v-378ae2e7]:hover{color:var(--color-text)}.navbar__link.is-active[data-v-378ae2e7]{color:var(--color-neon-primary)}.navbar__link.is-active[data-v-378ae2e7]:after{transform:scaleX(1)}.navbar__actions[data-v-378ae2e7]{align-items:center;gap:var(--space-sm);display:flex}.navbar__lang--desktop[data-v-378ae2e7]{display:none}.navbar__view[data-v-378ae2e7]{min-width:40px;height:40px;padding-inline:var(--space-xs);border:1px solid var(--color-neon-secondary);border-radius:var(--radius-sm);color:var(--color-neon-secondary);font-family:var(--font-mono);font-size:var(--fs-small);transition:background-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);justify-content:center;align-items:center;font-weight:600;display:inline-flex}.navbar__view[data-v-378ae2e7]:hover{background-color:var(--color-neon-secondary);color:var(--color-on-neon)}.navbar__toggle[data-v-378ae2e7]{border-radius:var(--radius-sm);border:1px solid var(--color-border);width:40px;height:40px;color:var(--color-text);cursor:pointer;background:0 0;justify-content:center;align-items:center;display:inline-flex}.navbar__toggle[data-v-378ae2e7]:hover{border-color:var(--color-neon-primary);color:var(--color-neon-primary)}@media (width>=900px){.navbar__links--desktop[data-v-378ae2e7]{display:flex}.navbar__lang--desktop[data-v-378ae2e7]{display:inline-flex}.navbar__toggle[data-v-378ae2e7]{display:none}}.navbar__mobile-tools[data-v-378ae2e7]{align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.navbar__mobile[data-v-378ae2e7]{gap:var(--space-sm);max-height:calc(100vh - var(--navbar-height));padding:var(--space-md) var(--container-padding) var(--space-lg);background-color:var(--color-surface);border-bottom:1px solid var(--color-border);flex-direction:column;display:flex;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.navbar__mobile-link[data-v-378ae2e7]{font-size:var(--fs-h3);color:var(--color-text-muted)}.navbar__mobile-link.is-active[data-v-378ae2e7]{color:var(--color-neon-primary)}@media (width>=900px){.navbar__mobile[data-v-378ae2e7]{display:none}}.mobile-nav-enter-active[data-v-378ae2e7]{transition:opacity var(--duration-base) var(--ease-out), transform var(--duration-base) var(--ease-out)}.mobile-nav-enter-from[data-v-378ae2e7],.mobile-nav-leave-to[data-v-378ae2e7]{opacity:0;transform:translateY(-8px)}.site-version[data-v-3850ccab]{font-family:var(--font-mono);font-size:var(--fs-mono);color:var(--color-text-dim)}.app-modal__overlay[data-v-4c8b5a80]{z-index:var(--z-overlay);padding:var(--space-md);background-color:var(--color-scrim);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.app-modal[data-v-4c8b5a80]{gap:var(--space-sm);width:100%;max-width:var(--app-modal-max-width);max-height:var(--app-modal-max-height);padding:var(--space-lg);background-color:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);flex-direction:column;display:flex}.app-modal__header[data-v-4c8b5a80]{justify-content:space-between;align-items:flex-start;gap:var(--space-md);display:flex}.app-modal__title[data-v-4c8b5a80]{font-size:var(--fs-h3)}.app-modal__close[data-v-4c8b5a80]{border-radius:var(--radius-sm);border:1px solid var(--color-border);width:36px;height:36px;color:var(--color-text-muted);cursor:pointer;transition:color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out);background:0 0;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.app-modal__close[data-v-4c8b5a80]:hover{color:var(--color-neon-primary);border-color:var(--color-neon-primary)}.app-modal__body[data-v-4c8b5a80]{flex-direction:column;flex:1;min-height:0;display:flex}.app-modal-enter-active[data-v-4c8b5a80],.app-modal-leave-active[data-v-4c8b5a80]{transition:opacity var(--duration-base) var(--ease-out)}.app-modal-enter-from[data-v-4c8b5a80],.app-modal-leave-to[data-v-4c8b5a80]{opacity:0}@media (width<=640px){.app-modal__overlay--fullscreen-mobile[data-v-4c8b5a80]{padding:0}.app-modal--fullscreen-mobile[data-v-4c8b5a80]{max-width:none;height:100dvh;max-height:none;padding:max(var(--space-md), env(safe-area-inset-top)) var(--space-md) max(var(--space-sm), env(safe-area-inset-bottom));border:0;border-radius:0}}.legal-modal__body[data-v-23ccef2c]{color:var(--color-text-muted);font-size:var(--fs-small);line-height:var(--lh-body);overflow-y:auto}.legal-modal__body[data-v-23ccef2c] p{margin:0 0 var(--space-sm)}.legal-modal__body[data-v-23ccef2c] p:last-child{margin-bottom:0}.legal-modal__body[data-v-23ccef2c] h3{margin:var(--space-md) 0 var(--space-2xs);color:var(--color-text);font-size:var(--fs-body)}.legal-modal__body[data-v-23ccef2c] ul{margin:0 0 var(--space-sm);padding-left:var(--space-md);list-style:outside}.footer[data-v-abe56dab]{border-top:1px solid var(--color-border);background-color:var(--color-bg-alt)}.footer__inner[data-v-abe56dab]{justify-content:space-between;align-items:center;gap:var(--space-md);padding-block:var(--space-xl);flex-wrap:wrap;display:flex}.footer__identity[data-v-abe56dab]{gap:var(--space-3xs);flex-direction:column;display:flex}.footer__name[data-v-abe56dab]{font-weight:600}.footer__tagline[data-v-abe56dab]{font-family:var(--font-mono);font-size:var(--fs-mono);color:var(--color-text-dim)}.footer__links[data-v-abe56dab]{align-items:center;gap:var(--space-sm);display:flex}.footer__email[data-v-abe56dab]{font-family:var(--font-mono);font-size:var(--fs-mono);color:var(--color-text-muted);transition:color var(--duration-fast) var(--ease-out)}.footer__email[data-v-abe56dab]:hover{color:var(--color-neon-primary)}.footer__icon-link[data-v-abe56dab]{border-radius:var(--radius-full);border:1px solid var(--color-border);width:40px;height:40px;color:var(--color-text-muted);transition:color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);justify-content:center;align-items:center;display:inline-flex}.footer__icon-link[data-v-abe56dab]:hover{color:var(--color-neon-primary);border-color:var(--color-neon-primary);box-shadow:var(--glow-primary)}.footer__back-to-top[data-v-abe56dab]{align-items:center;gap:var(--space-3xs);font-family:var(--font-mono);font-size:var(--fs-mono);color:var(--color-text-muted);display:inline-flex}.footer__back-to-top[data-v-abe56dab]:hover{color:var(--color-neon-primary)}.footer__bottom[data-v-abe56dab]{justify-content:space-between;align-items:center;gap:var(--space-sm) var(--space-md);padding-block:var(--space-md);border-top:1px solid var(--color-border);flex-wrap:wrap;display:flex}.footer__rights[data-v-abe56dab]{font-size:var(--fs-small);color:var(--color-text-dim)}.footer__legal[data-v-abe56dab]{align-items:center;gap:var(--space-md);display:flex}.footer__legal-link[data-v-abe56dab]{font-size:var(--fs-small);color:var(--color-text-dim);cursor:pointer;transition:color var(--duration-fast) var(--ease-out);background:0 0;border:none;padding:0}.footer__legal-link[data-v-abe56dab]:hover{color:var(--color-neon-primary)}.footer__brand[data-v-abe56dab]{align-items:center;gap:var(--space-sm);display:flex}.footer__signature[data-v-abe56dab]{flex-shrink:0}.hero[data-v-c2f9bb4b]{padding-block:var(--space-xl) var(--space-2xl);position:relative;overflow:hidden}.hero[data-v-c2f9bb4b]:before{content:"";background:radial-gradient(60% 70% at 78% 30%, rgba(var(--color-neon-primary-rgb), .12), transparent 70%), radial-gradient(45% 55% at 8% 95%, rgba(var(--color-neon-secondary-rgb), .1), transparent 70%);pointer-events:none;position:absolute;inset:0}.hero__inner[data-v-c2f9bb4b]{gap:var(--space-xl);align-items:center;display:grid;position:relative}@media (width>=900px){.hero__inner[data-v-c2f9bb4b]{gap:var(--space-2xl);grid-template-columns:1.2fr .9fr}}.hero__content[data-v-c2f9bb4b]{align-items:flex-start;gap:var(--space-sm);flex-direction:column;display:flex}.hero__status[data-v-c2f9bb4b]{align-items:center;gap:var(--space-2xs);padding:var(--space-3xs) var(--space-xs);border:1px solid var(--color-border-strong);border-radius:var(--radius-full);background-color:var(--color-surface);box-shadow:var(--shadow-sm);color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:.04em;display:inline-flex}.hero__status-dot[data-v-c2f9bb4b]{border-radius:var(--radius-full);background-color:var(--color-neon-success);width:7px;height:7px;box-shadow:0 0 8px var(--color-neon-success)}.hero__eyebrow[data-v-c2f9bb4b]{align-items:center;gap:var(--space-xs);margin-top:var(--space-xs);font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--color-neon-primary);display:flex}.hero__eyebrow[data-v-c2f9bb4b]:before{content:"";background-color:var(--color-neon-primary);width:26px;height:2px}.hero__name[data-v-c2f9bb4b]{font-size:var(--fs-h1);line-height:var(--lh-heading)}.hero__role[data-v-c2f9bb4b]{max-width:30ch;font-size:var(--fs-h3);line-height:1.3}.hero__intro[data-v-c2f9bb4b]{max-width:58ch;color:var(--color-text-muted)}.hero__actions[data-v-c2f9bb4b]{gap:var(--space-sm);margin-top:var(--space-xs);flex-wrap:wrap;display:flex}.hero__cta[data-v-c2f9bb4b]{align-items:center;gap:var(--space-2xs);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-sm);transition:box-shadow var(--duration-base) var(--ease-out), transform var(--duration-fast) var(--ease-out);font-weight:600;display:inline-flex}.hero__cta--primary[data-v-c2f9bb4b]{background-color:var(--color-neon-primary);color:var(--color-on-neon);border:1px solid var(--color-neon-primary)}.hero__cta--primary[data-v-c2f9bb4b]:hover{box-shadow:var(--glow-primary-strong)}.hero__cta--secondary[data-v-c2f9bb4b]{background-color:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border-strong);box-shadow:var(--shadow-sm)}.hero__cta--secondary[data-v-c2f9bb4b]:hover{border-color:var(--color-neon-primary)}.hero__links[data-v-c2f9bb4b]{gap:var(--space-2xs);display:flex}.hero__link[data-v-c2f9bb4b]{align-items:center;gap:var(--space-2xs);padding:var(--space-3xs) var(--space-xs);border-radius:var(--radius-sm);color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--fs-mono);display:inline-flex}.hero__link[data-v-c2f9bb4b]:hover{color:var(--color-neon-primary);background-color:var(--color-surface)}.hero__media[data-v-c2f9bb4b]{justify-content:center;display:flex}.hero__frame[data-v-c2f9bb4b]{--corner:var(--color-neon-primary);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background-color:var(--color-surface);width:min(100%,400px);box-shadow:var(--shadow-md);position:relative}.hero__frame[data-v-c2f9bb4b]:before{content:"";pointer-events:none;background:linear-gradient(var(--corner), var(--corner)) top left / 18px 2px no-repeat, linear-gradient(var(--corner), var(--corner)) top left / 2px 18px no-repeat, linear-gradient(var(--corner), var(--corner)) top right / 18px 2px no-repeat, linear-gradient(var(--corner), var(--corner)) top right / 2px 18px no-repeat, linear-gradient(var(--corner), var(--corner)) bottom left / 18px 2px no-repeat, linear-gradient(var(--corner), var(--corner)) bottom left / 2px 18px no-repeat, linear-gradient(var(--corner), var(--corner)) bottom right / 18px 2px no-repeat, linear-gradient(var(--corner), var(--corner)) bottom right / 2px 18px no-repeat;position:absolute;inset:-1px}.hero__photo[data-v-c2f9bb4b]{aspect-ratio:1;background:radial-gradient(circle at 50% 85%, rgba(var(--color-neon-primary-rgb), .3), transparent 66%), linear-gradient(160deg, rgba(var(--color-neon-primary-rgb), .08), rgba(var(--color-neon-secondary-rgb), .1));place-items:end center;display:grid;overflow:hidden}.hero__photo-image[data-v-c2f9bb4b]{width:100%;height:auto}.hero__hud[data-v-c2f9bb4b]{gap:var(--space-3xs);padding:var(--space-xs) var(--space-sm);border-top:1px solid var(--color-border);font-family:var(--font-mono);font-size:var(--fs-mono);margin:0;display:grid}.hero__hud-row[data-v-c2f9bb4b]{justify-content:space-between;gap:var(--space-xs);display:flex}.hero__hud dt[data-v-c2f9bb4b]{color:var(--color-text-dim);letter-spacing:.1em;text-transform:uppercase}.hero__hud dd[data-v-c2f9bb4b]{text-align:right;margin:0}.section-heading[data-v-51f067cc]{gap:var(--space-2xs);max-width:640px;margin-bottom:var(--space-xl);flex-direction:column;display:flex}.section-heading__eyebrow[data-v-51f067cc]{align-items:center;gap:var(--space-xs);font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--color-neon-primary);display:flex}.section-heading__eyebrow[data-v-51f067cc]:before{content:"";background-color:var(--color-neon-primary);width:26px;height:2px}.section-heading__title[data-v-51f067cc]{font-size:var(--fs-h2)}.section-heading__subtitle[data-v-51f067cc]{color:var(--color-text-muted);font-size:var(--fs-body)}.about[data-v-31ef02a6]{padding-block:var(--space-2xl);border-top:1px solid var(--color-border)}.about__grid[data-v-31ef02a6]{gap:var(--space-xl);align-items:center;display:grid}@media (width>=900px){.about__grid[data-v-31ef02a6]{gap:var(--space-2xl);grid-template-columns:1.1fr 1fr}}.about__text[data-v-31ef02a6]{gap:var(--space-sm);color:var(--color-text-muted);flex-direction:column;max-width:56ch;display:flex}.about__lead[data-v-31ef02a6]{max-width:28ch;color:var(--color-text);font-size:var(--fs-h3);line-height:1.4}.about__terminal[data-v-31ef02a6]{border:1px solid var(--color-ink-line);border-radius:var(--radius-md);background-color:var(--color-ink);box-shadow:var(--shadow-md);color:var(--color-ink-text);font-family:var(--font-mono);font-size:var(--fs-mono);overflow:hidden}.about__terminal-bar[data-v-31ef02a6]{align-items:center;gap:var(--space-2xs);padding:var(--space-xs) var(--space-sm);border-bottom:1px solid var(--color-ink-line);color:var(--color-ink-dim);letter-spacing:.1em;font-size:.7rem;display:flex}.about__terminal-bar i[data-v-31ef02a6]{border-radius:var(--radius-full);background-color:var(--color-ink-line);width:9px;height:9px}.about__terminal-bar span[data-v-31ef02a6]{margin-left:var(--space-2xs)}.about__terminal-body[data-v-31ef02a6]{gap:var(--space-2xs);padding:var(--space-sm) var(--space-md) var(--space-md);display:grid}.about__prompt[data-v-31ef02a6]{color:var(--color-ink-accent)}.about__terminal-row[data-v-31ef02a6]{gap:var(--space-xs);display:grid}@media (width>=640px){.about__terminal-row[data-v-31ef02a6]{grid-template-columns:6.2rem minmax(0,1fr)}}.about__terminal-row b[data-v-31ef02a6]{color:var(--color-ink-dim);letter-spacing:.08em;text-transform:uppercase;padding-top:2px;font-size:.7rem;font-weight:500}.project-card[data-v-fec59f2e]{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background-color:var(--color-surface);box-shadow:var(--shadow-sm);transition:border-color var(--duration-base) var(--ease-out), transform var(--duration-base) var(--ease-out);flex-direction:column;display:flex;position:relative;overflow:hidden}.project-card[data-v-fec59f2e]:hover{border-color:var(--color-neon-primary);transform:translateY(-2px)}.project-card__media[data-v-fec59f2e]{aspect-ratio:16/10;border-bottom:1px solid var(--color-border);background-color:var(--color-bg-alt);overflow:hidden}.project-card__media img[data-v-fec59f2e]{object-fit:cover;width:100%;height:100%;display:block}.project-card__body[data-v-fec59f2e]{gap:var(--space-xs);min-width:0;padding:var(--space-md);flex-direction:column;flex:1 1 0;display:flex}.project-card__tag[data-v-fec59f2e]{padding:2px var(--space-xs);font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;border:1px solid;border-radius:3px;align-self:flex-start;font-size:.68rem}.project-card__tag--client[data-v-fec59f2e]{border-color:rgba(var(--color-neon-success-rgb), .6);background-color:rgba(var(--color-neon-success-rgb), .1);color:var(--color-neon-success)}.project-card__tag--demo[data-v-fec59f2e]{border-color:rgba(var(--color-neon-secondary-rgb), .55);background-color:rgba(var(--color-neon-secondary-rgb), .09);color:var(--color-neon-secondary)}.project-card__title[data-v-fec59f2e]{font-size:var(--fs-h3)}.project-card__description[data-v-fec59f2e]{color:var(--color-text-muted);font-size:var(--fs-small)}.project-card__materials[data-v-fec59f2e]{gap:var(--space-2xs);padding:var(--space-2xs) 0 0;flex-wrap:wrap;margin:auto 0 0;list-style:none;display:flex}.project-card__materials li[data-v-fec59f2e]{padding:2px var(--space-xs);border:1px solid var(--color-border);background-color:var(--color-surface-alt);color:var(--color-text-muted);font-family:var(--font-mono);letter-spacing:.04em;border-radius:4px;font-size:.7rem}.project-card__actions[data-v-fec59f2e]{justify-content:space-between;align-items:center;gap:var(--space-xs);margin-top:var(--space-2xs);flex-wrap:wrap;display:flex}.project-card__open[data-v-fec59f2e]{align-items:center;gap:var(--space-2xs);padding:var(--space-2xs) var(--space-sm);border:1px solid var(--color-neon-primary);border-radius:var(--radius-sm);background-color:var(--color-neon-primary);color:var(--color-on-neon);font-size:var(--fs-small);margin-left:auto;font-weight:600;display:inline-flex}.project-card__open[data-v-fec59f2e]:after{content:"";position:absolute;inset:0}.project-card__open[data-v-fec59f2e]:hover{box-shadow:var(--glow-primary-strong)}.project-card__cta[data-v-fec59f2e]{z-index:1;align-items:center;gap:var(--space-2xs);color:var(--color-neon-primary);font-family:var(--font-mono);font-size:var(--fs-mono);display:inline-flex;position:relative}.project-card__cta[data-v-fec59f2e]:hover{text-decoration:underline}@media (width>=900px){.project-card--lead[data-v-fec59f2e]{flex-direction:row;grid-column:1/-1}.project-card--lead .project-card__media[data-v-fec59f2e]{aspect-ratio:auto;border-right:1px solid var(--color-border);border-bottom:0;flex:1.15 1 0;min-height:280px}.project-card--lead .project-card__body[data-v-fec59f2e]{padding:var(--space-lg);justify-content:center}.project-card--lead .project-card__title[data-v-fec59f2e]{font-size:var(--fs-h2)}.project-card--lead .project-card__description[data-v-fec59f2e]{font-size:var(--fs-body)}}.projects[data-v-f723a963]{padding-block:var(--space-2xl);border-top:1px solid var(--color-border)}.projects__filters[data-v-f723a963]{gap:var(--space-2xs);margin-bottom:var(--space-md);flex-wrap:wrap;display:flex}.projects__filter[data-v-f723a963]{padding:var(--space-3xs) var(--space-sm);border:1px solid var(--color-border-strong);border-radius:var(--radius-full);background-color:var(--color-surface);color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:.06em;cursor:pointer}.projects__filter[data-v-f723a963]:hover{color:var(--color-text)}.projects__filter.is-active[data-v-f723a963]{border-color:var(--color-neon-primary);background-color:var(--color-neon-primary);color:var(--color-on-neon)}.projects__grid[data-v-f723a963]{gap:var(--space-md);display:grid}@media (width>=700px){.projects__grid[data-v-f723a963]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=900px){.projects__grid[data-v-f723a963]{grid-template-columns:repeat(3,minmax(0,1fr))}}.stack[data-v-28a7c46d]{padding-block:var(--space-2xl);border-top:1px solid var(--color-border);background-color:var(--color-bg-alt)}.stack__grid[data-v-28a7c46d]{gap:var(--space-md);display:grid}@media (width>=900px){.stack__grid[data-v-28a7c46d]{grid-template-columns:repeat(3,minmax(0,1fr))}}.stack__group[data-v-28a7c46d]{padding:var(--space-md);border:1px solid var(--color-border-strong);border-top:3px solid var(--color-neon-primary);border-radius:var(--radius-md);background-color:var(--color-surface);box-shadow:var(--shadow-sm)}.stack__group[data-v-28a7c46d]:nth-child(3n+2){border-top-color:var(--color-neon-secondary)}.stack__group[data-v-28a7c46d]:nth-child(3n){border-top-color:var(--color-neon-success)}.stack__title[data-v-28a7c46d]{align-items:baseline;gap:var(--space-xs);margin-bottom:var(--space-sm);font-size:var(--fs-body);font-weight:600;display:flex}.stack__title span[data-v-28a7c46d]{color:var(--color-text-dim);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;font-size:.7rem}.stack__items[data-v-28a7c46d]{gap:var(--space-2xs);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.stack__items li[data-v-28a7c46d]{justify-content:center;align-items:center;gap:var(--space-2xs);padding:var(--space-3xs) var(--space-xs);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background-color:var(--color-surface-alt);font-family:var(--font-mono);font-size:var(--fs-mono);flex:auto;display:inline-flex}.stack__icon--pending[data-v-28a7c46d]{visibility:hidden}.stack__icon[data-v-28a7c46d]{fill:currentColor;flex:none;width:1em;height:1em}.certifications[data-v-5687d2c1]{padding-block:var(--space-2xl);border-top:1px solid var(--color-border)}.certifications__grid[data-v-5687d2c1]{gap:var(--space-md);display:grid}@media (width>=700px){.certifications__grid[data-v-5687d2c1]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1100px){.certifications__grid[data-v-5687d2c1]{grid-template-columns:repeat(3,minmax(0,1fr))}}.certifications__card[data-v-5687d2c1]{gap:var(--space-sm);padding:var(--space-md);border:1px solid var(--color-border-strong);border-top:3px solid var(--color-neon-primary);border-radius:var(--radius-md);background-color:var(--color-surface);box-shadow:var(--shadow-sm);flex-direction:column;display:flex}.certifications__card[data-v-5687d2c1]:nth-child(3n+2){border-top-color:var(--color-neon-secondary)}.certifications__card[data-v-5687d2c1]:nth-child(3n){border-top-color:var(--color-neon-success)}.certifications__head[data-v-5687d2c1]{align-items:center;gap:var(--space-md);display:flex}.certifications__badge[data-v-5687d2c1]{object-fit:contain;flex:none;width:80px;height:80px}.certifications__title[data-v-5687d2c1]{font-size:var(--fs-body);margin:0;font-weight:600}.certifications__issuer[data-v-5687d2c1]{margin:var(--space-3xs) 0 0;color:var(--color-text-dim);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;font-size:.7rem}.certifications__status[data-v-5687d2c1]{margin-top:var(--space-2xs);padding:var(--space-3xs) var(--space-xs);border-radius:var(--radius-sm);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;border:1px solid;font-size:.7rem;display:inline-block}.certifications__status--active[data-v-5687d2c1]{color:var(--color-neon-success);background-color:rgba(var(--color-neon-success-rgb), .1)}.certifications__status--expired[data-v-5687d2c1]{color:var(--color-neon-danger);background-color:rgba(var(--color-neon-danger-rgb), .1)}.certifications__description[data-v-5687d2c1]{color:var(--color-text-muted);margin:0}.certifications__cta[data-v-5687d2c1]{align-items:center;gap:var(--space-2xs);color:var(--color-neon-primary);font-family:var(--font-mono);font-size:var(--fs-mono);align-self:flex-end;margin-top:auto;display:inline-flex}.base-button[data-v-c879b5fb]{--_bg:transparent;--_border:var(--color-neon-primary);--_color:var(--color-neon-primary);--_glow:var(--glow-primary);justify-content:center;align-items:center;gap:var(--space-2xs);padding:var(--space-xs) var(--space-md);font-family:var(--font-sans);font-size:var(--fs-body);border-radius:var(--radius-sm);border:1px solid var(--_border);background-color:var(--_bg);color:var(--_color);cursor:pointer;transition:box-shadow var(--duration-base) var(--ease-out), transform var(--duration-fast) var(--ease-out), background-color var(--duration-base) var(--ease-out), color var(--duration-base) var(--ease-out), opacity var(--duration-base) var(--ease-out);font-weight:600;line-height:1;display:inline-flex;position:relative}.base-button--primary[data-v-c879b5fb]{--_bg:var(--color-neon-primary);--_border:var(--color-neon-primary);--_color:var(--color-on-neon);--_glow:var(--glow-primary-strong)}.base-button--secondary[data-v-c879b5fb]{--_bg:transparent;--_border:var(--color-neon-secondary);--_color:var(--color-neon-secondary);--_glow:var(--glow-secondary)}.base-button--ghost[data-v-c879b5fb]{--_bg:transparent;--_border:var(--color-border-strong);--_color:var(--color-text);--_glow:none}.base-button[data-v-c879b5fb]:hover:not(:disabled):not([aria-disabled=true]){box-shadow:var(--_glow);transform:translateY(-1px)}.base-button[data-v-c879b5fb]:active:not(:disabled):not([aria-disabled=true]){transform:translateY(0)}.base-button[data-v-c879b5fb]:disabled,.base-button[aria-disabled=true][data-v-c879b5fb]{opacity:.55;cursor:not-allowed}.base-button.is-loading[data-v-c879b5fb]{cursor:progress}@media (prefers-reduced-motion:reduce){.base-button[data-v-c879b5fb]:hover:not(:disabled):not([aria-disabled=true]){transform:none}}.contact[data-v-11868a08]{padding-block:var(--space-2xl)}.contact__panel[data-v-11868a08]{gap:var(--space-md);padding:var(--space-lg);border:1px solid var(--color-ink-line);border-radius:var(--radius-md);background-color:var(--color-ink);box-shadow:var(--shadow-md);color:var(--color-ink-text);display:grid;position:relative;overflow:hidden}.contact__panel[data-v-11868a08]:after{content:"";pointer-events:none;background:radial-gradient(50% 80% at 100% 0,#35e6ff29,#0000 70%);position:absolute;inset:0}.contact__panel[data-v-11868a08]>*{position:relative}.contact__eyebrow[data-v-11868a08]{align-items:center;gap:var(--space-xs);font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--color-ink-accent);display:flex}.contact__eyebrow[data-v-11868a08]:before{content:"";background-color:var(--color-ink-accent);width:26px;height:2px}.contact__title[data-v-11868a08]{margin-top:var(--space-xs);font-size:var(--fs-h2)}.contact__subtitle[data-v-11868a08]{margin-top:var(--space-2xs);color:var(--color-ink-dim)}.contact__mail[data-v-11868a08]{align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.contact__email[data-v-11868a08]{font-family:var(--font-mono);word-break:break-all;-webkit-user-select:all;user-select:all;font-size:clamp(1.05rem,2.6vw,1.6rem)}.contact__copy[data-v-11868a08]{padding:var(--space-3xs) var(--space-xs);border:1px solid var(--color-ink-line);border-radius:var(--radius-sm);color:var(--color-ink-text);font-family:var(--font-mono);font-size:var(--fs-mono);cursor:pointer;background-color:#ffffff0d}.contact__copy[data-v-11868a08]:hover{border-color:var(--color-ink-accent)}.contact__links[data-v-11868a08]{gap:var(--space-xs);flex-wrap:wrap;display:flex}.contact__link[data-v-11868a08]{align-items:center;gap:var(--space-2xs);padding:var(--space-xs) var(--space-md);border:1px solid var(--color-ink-line);border-radius:var(--radius-sm);background-color:#ffffff0d;font-weight:500;display:inline-flex}.contact__link[data-v-11868a08]:hover{border-color:var(--color-ink-accent)}.contact__details[data-v-11868a08]{padding-top:var(--space-md);border-top:1px solid var(--color-ink-line)}.contact__details summary[data-v-11868a08]{width:fit-content;color:var(--color-ink-accent);font-family:var(--font-mono);font-size:var(--fs-small);cursor:pointer;list-style:none}.contact__details summary[data-v-11868a08]::-webkit-details-marker{display:none}.contact__details summary[data-v-11868a08]:before{content:"+ "}.contact__details[open] summary[data-v-11868a08]:before{content:"−"}.contact__form[data-v-11868a08]{gap:var(--space-md);max-width:640px;margin-top:var(--space-md);flex-direction:column;display:flex}.contact__field[data-v-11868a08]{gap:var(--space-2xs);flex-direction:column;display:flex}.contact__field label[data-v-11868a08]{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--color-ink-dim);font-size:.72rem}.contact__field input[data-v-11868a08],.contact__field textarea[data-v-11868a08]{padding:var(--space-xs) var(--space-sm);border:1px solid var(--color-ink-line);border-radius:var(--radius-sm);color:var(--color-ink-text);font-family:var(--font-sans);font-size:var(--fs-body);resize:vertical;transition:border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);background-color:#ffffff0f}.contact__field input[data-v-11868a08]::placeholder,.contact__field textarea[data-v-11868a08]::placeholder{color:var(--color-ink-dim)}.contact__field input[data-v-11868a08]:focus-visible,.contact__field textarea[data-v-11868a08]:focus-visible{border-color:var(--color-ink-accent);box-shadow:0 0 0 1px var(--color-ink-accent);outline:none}.contact__field input[aria-invalid=true][data-v-11868a08],.contact__field textarea[aria-invalid=true][data-v-11868a08]{border-color:#ff5470}.contact__trap[data-v-11868a08]{opacity:0;width:1px;height:1px;position:absolute;left:-9999px}.contact__error[data-v-11868a08]{align-items:center;gap:var(--space-3xs);color:#ff7d92;font-size:var(--fs-small);display:flex}.contact__spinner[data-v-11868a08]{animation:1s linear infinite spin-11868a08}@keyframes spin-11868a08{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.contact__spinner[data-v-11868a08]{animation:none}}.contact__banner[data-v-11868a08]{align-items:flex-start;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);font-size:var(--fs-small);display:flex}.contact__banner p[data-v-11868a08]{margin-top:var(--space-3xs);color:var(--color-ink-dim)}.contact__banner--success[data-v-11868a08]{color:#45f0a6;background-color:#45f0a614;border:1px solid #45f0a666}.contact__banner--error[data-v-11868a08]{color:#ff7d92;background-color:#ff547014;border:1px solid #ff547066}
