@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/inter-latin-Dx4kXJAl.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/inter-latin-ext-DO1Apj_S.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/inter-cyrillic-DqGufNeO.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/inter-vietnamese-CBcvBZtf.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}:root{--color-primary: #1e7ea2;--color-primary-hover: #186884;--color-accent: #5c5f9e;--color-accent-hover: #4a4d85;--color-accent-tint: #eeeffa;--color-success-tint: #e6f5ec;--color-text: #1e293b;--color-text-secondary: #64748b;--color-background: #ffffff;--color-border: #cbd5e1;--border-radius: 12px;--color-ocean: #c4e1ee;--color-danger: #b91c1c;--color-success: #15803d;--color-on-primary: #ffffff;--color-surface: #f8fafc;--color-surface-strong: #f1f5f9;--color-border-soft: #e2e8f0;--color-brand: #2596be;--color-brand-soft: #e8f4f9;--color-danger-border: #dc2626;--color-warning-text: #92400e;--color-warning-bg: #fef3c7;--color-warning-border: #fcd34d;--color-warning: #b45309;--color-primary-tint: #d3eaf3;--color-warning-accent: #d97706;--color-disabled: #9ca3af;--color-info-text: #1e40af;--color-info-border: #3b82f6;--google-button-text: #3c4043;--google-button-border: #dadce0;--google-button-hover: #f8f9fa;--border-radius-large: 16px;--border-radius-pill: 999px;--color-tone-blue: #e3ecff;--color-tone-green: #ddf4e8;--color-tone-peach: #ffe9d6;--color-tone-lilac: #eee6ff;--color-tone-pink: #ffe3ec;--color-tone-butter: #fff3c9;font-family:Inter,system-ui,sans-serif;line-height:1.5;font-weight:400;color:var(--color-text);background-color:var(--color-background);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh;min-height:100dvh}h1{font-size:2em;line-height:1.2}:where(button,a,input,select,textarea,summary):focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.button{min-height:2.75rem;padding:0 1rem;font-family:inherit;font-size:.95rem;font-weight:500;color:var(--color-on-primary);cursor:pointer;background-color:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--border-radius)}.button:hover:not(:disabled){background-color:var(--color-primary-hover);border-color:var(--color-primary-hover)}.button:disabled{cursor:not-allowed;opacity:.5}.button--outline{color:var(--color-text);background-color:var(--color-background);border-color:var(--color-border)}.button--outline:hover:not(:disabled){background-color:var(--color-surface-strong);border-color:var(--color-border)}.button--outline:disabled{color:var(--color-text-secondary);background-color:var(--color-surface);border-color:var(--color-border-soft);opacity:1}.button--ghost{color:var(--color-primary);background:none;border-color:transparent}.button--ghost:hover:not(:disabled){background-color:var(--color-brand-soft);border-color:transparent}.pill{padding:.15rem .6rem;font-size:.75rem;font-weight:600;color:var(--color-text-secondary);background-color:var(--color-surface-strong);border-radius:var(--border-radius-pill)}.skeleton{background:linear-gradient(90deg,var(--color-border-soft) 25%,var(--color-surface-strong) 50%,var(--color-border-soft) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.4s ease-in-out infinite}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.skeleton{animation:none}}
