:root{--navy:#111a4a;--canvas:#f6f6f8;--surface:#fff;--border:#e3e4e8;--border-input:#cbcccf;--text:#3b3e47;--text-muted:#646770;--seafoam-700:#167e6c;--seafoam-600:#44b48b;--mist:#edeff7;--mist-border:#c9cde3;--orange:#ec652b;--amber:#b7791f;--danger:#c62828;--radius:8px;--shadow-card:#12161e06 0 1px 4px, #12161e0d 0 1px 0;--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1);--font-sans:"Inter", ui-sans-serif, system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--canvas);color:var(--text);font-family:var(--font-sans);font-feature-settings:"cv11";-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.5}:focus-visible{outline:2px solid var(--navy);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important}}.btn-press{transition:transform .16s var(--ease-out), background-color .15s ease, border-color .15s ease, filter .15s ease;-webkit-tap-highlight-color:transparent}.btn-press:active:not([aria-disabled=true]):not(:disabled){transform:scale(.97)}@media (hover:hover) and (pointer:fine){.btn-press:hover:not([aria-disabled=true]):not(:disabled){filter:brightness(.96)}}@media (prefers-reduced-motion:reduce){.btn-press:active{transform:none!important}}.btn-cta-pro{border-radius:var(--radius);background:var(--surface);width:100%;min-height:48px;color:var(--navy);letter-spacing:-.01em;cursor:pointer;border:none;padding:0 18px;font-size:15px;font-weight:700}.btn-cta-pro:focus-visible{outline:2px solid var(--surface);outline-offset:3px}.btn-cta-pro:disabled{opacity:.65;cursor:wait}.enter{transition:opacity .22s var(--ease-out), transform .22s var(--ease-out)}@starting-style{.enter{opacity:0;transform:translateY(8px)}}@media (prefers-reduced-motion:reduce){.enter{transform:none!important}}.otp-char{transition:opacity .22s var(--ease-out), transform .22s var(--ease-out), filter .22s var(--ease-out)}@starting-style{.otp-char{opacity:0;filter:blur(6px);transform:translateY(10px)scale(.97)}}.otp-caret{background:var(--navy);border-radius:1px;width:1.5px;height:22px;animation:1.06s step-end infinite otp-blink;display:block}@keyframes otp-blink{50%{opacity:0}}.otp-shake{animation:otp-shake .32s var(--ease-out)}@keyframes otp-shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}50%{transform:translate(4px)}75%{transform:translate(-3px)}}@media (prefers-reduced-motion:reduce){.otp-char{filter:none!important;transform:none!important}.otp-shake,.otp-caret{animation:none}}.spin{animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spin{animation-duration:1.2s}}
