:root{--color-teal:#5ce1e6;--color-teal-dark:#3abfc4;--color-teal-muted:#5ce1e626;--color-bg-base:#080c0d;--color-bg-surface:#0f1617;--color-bg-elevated:#1a2426;--color-bg-card:#1f2c2e;--color-text-primary:#fff;--color-text-secondary:#fff9;--color-text-muted:#ffffff59;--color-border:#ffffff14;--color-border-subtle:#ffffff0a;--color-success:#4ade80;--color-warning:#facc15;--color-error:#f87171;--font-heading:"Syne", sans-serif;--font-body:"DM Sans", sans-serif;--spacing-page:20px;--nav-height:64px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--academy-primary:var(--color-teal);--academy-primary-muted:var(--color-teal-muted)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--color-text-primary);background-color:var(--color-bg-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100dvh;font-size:16px;line-height:1.5;overflow-x:hidden}#root{flex-direction:column;min-height:100dvh;display:flex}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--color-text-primary);font-weight:700;line-height:1.2}p{color:var(--color-text-secondary)}a{color:var(--color-teal);text-decoration:none}a:hover{text-decoration:underline}button{font-family:var(--font-body);cursor:pointer;background:0 0;border:none}input,textarea,select{font-family:var(--font-body);font-size:16px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.safe-top{padding-top:env(safe-area-inset-top)}.safe-bottom{padding-bottom:env(safe-area-inset-bottom)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.btn{border-radius:var(--radius-md);font-family:var(--font-body);cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent;border:none;justify-content:center;align-items:center;gap:8px;padding:14px 24px;font-size:15px;font-weight:600;line-height:1;transition:opacity .15s,background .15s,border-color .15s,transform .1s;display:inline-flex;text-decoration:none!important}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.btn--full{width:100%}.btn--primary{background:var(--academy-primary);color:#080c0d}.btn--primary:hover:not(:disabled){opacity:.85}.btn--secondary{background:var(--color-bg-elevated);color:var(--color-text-primary);border:1px solid var(--color-border)}.btn--secondary:hover:not(:disabled){border-color:var(--academy-primary)}.btn--ghost{color:var(--academy-primary);background:0 0;padding:10px 16px}.btn--ghost:hover:not(:disabled){background:var(--color-teal-muted)}.btn--danger{background:var(--color-error);color:#fff}.btn--danger:hover:not(:disabled){opacity:.85}.btn__spinner{border:2px solid #0003;border-top-color:#080c0d;border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:.6s linear infinite spin}.field{flex-direction:column;gap:6px;width:100%;display:flex}.field__label{color:var(--color-text-secondary);letter-spacing:.02em;font-size:13px;font-weight:500}.field__control{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;color:var(--color-text-primary);font-size:15px;font-family:var(--font-body);appearance:none;outline:none;padding:13px 16px;transition:border-color .15s}.field__control::placeholder{color:var(--color-text-muted)}.field__control:focus{border-color:var(--academy-primary)}.field__control--error{border-color:var(--color-error)!important}.field__select{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='rgba(255,255,255,0.35)' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;padding-right:40px}.field__select option{color:#fff;background:#1a2426}.field__error{color:var(--color-error);margin-top:2px;font-size:12px}.step-bar{align-items:center;gap:4px;width:100%;display:flex}.step-bar__segment{background:var(--color-bg-elevated);border-radius:2px;flex:1;height:3px;transition:background .35s}.step-bar__segment--done{background:var(--academy-primary)}
