:root{--c-bg: #000000;--c-bg-elev: #0e0e0e;--c-bg-elev-2: #1a1a1a;--c-border: #2a2a2a;--c-border-strong: #3a3a3a;--c-text: #ffffff;--c-text-muted: #9a9a9a;--c-text-faint: #5a5a5a;--c-accent: #ffffff;--c-accent-text: #000000;--c-danger: #ff5555;--r-sm: 10px;--r-md: 14px;--r-lg: 20px;--r-xl: 28px;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 20px;--s-6: 24px;--s-7: 32px;--s-8: 40px;--s-9: 56px;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--dur-fast: .15s;--dur-med: .28s;--dur-slow: .45s;--shadow-lift: 0 1px 0 rgba(255, 255, 255, .04) inset, 0 0 0 1px var(--c-border)}*,*:before,*:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0;height:100%;width:100%;background:var(--c-bg);color:var(--c-text);font-family:var(--font-sans);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overscroll-behavior-y:contain}body{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer;padding:0}input,textarea,select{font:inherit;color:inherit}h1,h2,h3,h4,p{margin:0}a{color:inherit;text-decoration:none}#app{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.screen{flex:1;display:flex;flex-direction:column;padding:var(--s-6) var(--s-5) var(--s-6);max-width:520px;width:100%;margin:0 auto;animation:screen-in var(--dur-med) var(--ease-out)}@keyframes screen-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.screen__body{flex:1;display:flex;flex-direction:column}.screen__footer{margin-top:var(--s-6);display:flex;flex-direction:column;gap:var(--s-3)}.title-xl{font-size:32px;line-height:1.15;font-weight:700;letter-spacing:-.02em}.title-lg{font-size:24px;line-height:1.2;font-weight:700;letter-spacing:-.015em}.title-md{font-size:18px;line-height:1.3;font-weight:600;letter-spacing:-.01em}.text-body{font-size:15px;line-height:1.55;color:var(--c-text-muted)}.text-caption{font-size:13px;line-height:1.4;color:var(--c-text-faint)}.text-label{font-size:13px;line-height:1.3;font-weight:500;color:var(--c-text-muted);text-transform:uppercase;letter-spacing:.06em}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);width:100%;min-height:56px;padding:var(--s-4) var(--s-6);border-radius:var(--r-lg);font-size:16px;font-weight:600;letter-spacing:-.005em;transition:transform var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out),opacity var(--dur-fast) var(--ease-out);user-select:none;-webkit-user-select:none;will-change:transform}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn--primary{background:var(--c-accent);color:var(--c-accent-text)}.btn--secondary{background:var(--c-bg-elev-2);color:var(--c-text);border:1px solid var(--c-border)}.btn--ghost{background:transparent;color:var(--c-text-muted)}@media (hover: hover){.btn--primary:hover:not(:disabled){background:#f0f0f0}.btn--secondary:hover:not(:disabled){background:#222}.btn--ghost:hover:not(:disabled){color:var(--c-text)}}.btn--hero{position:relative;background:#fff;color:#000;border-radius:1000px;min-height:60px;overflow:hidden;box-shadow:0 0 0 1px #fff3,0 10px 40px -10px #ffffff59,0 2px 10px #ffffff14;transition:transform .22s cubic-bezier(.22,1,.36,1),box-shadow .28s cubic-bezier(.22,1,.36,1)}.btn--hero:before{content:"";position:absolute;top:0;left:-60%;width:55%;height:100%;background:linear-gradient(105deg,transparent,rgba(0,0,0,.12),transparent);animation:btn-hero-shimmer 3.6s cubic-bezier(.65,0,.35,1) .8s infinite;pointer-events:none}.btn--hero>*{position:relative;z-index:1}.btn--hero:disabled{opacity:.5}.btn--hero:disabled:before{animation:none;opacity:0}.btn--hero:active:not(:disabled){transform:scale(.975)}@media (hover: hover){.btn--hero:hover:not(:disabled){box-shadow:0 0 0 1px #ffffff40,0 14px 50px -10px #ffffff73,0 2px 12px #ffffff1f}}@keyframes btn-hero-shimmer{0%{left:-60%}55%,to{left:140%}}.card{background:var(--c-bg-elev);border:1px solid var(--c-border);border-radius:var(--r-xl);padding:var(--s-6);transition:border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.card--interactive{cursor:pointer}@media (hover: hover){.card--interactive:not(.card--selected):hover{border-color:var(--c-border-strong)}}.card--selected{border-color:var(--c-text);background:var(--c-bg-elev-2)}.field{display:flex;flex-direction:column;gap:var(--s-2)}.field__label{font-size:13px;font-weight:500;color:var(--c-text-muted);letter-spacing:.01em}.field__input{width:100%;min-height:52px;padding:var(--s-3) var(--s-4);background:var(--c-bg-elev);border:1px solid var(--c-border);border-radius:var(--r-md);font-size:16px;color:var(--c-text);transition:border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out);outline:none}.field__input::placeholder{color:var(--c-text-faint)}.field__input:focus{border-color:var(--c-text);background:var(--c-bg-elev-2)}.field__input--invalid{border-color:var(--c-danger)}.field__error{font-size:13px;color:var(--c-danger);min-height:1em}.wizard{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--s-3);margin-bottom:var(--s-6);flex-shrink:0}.wizard__step{display:flex;flex-direction:column;align-items:center;gap:10px}.wizard__bar{width:100%;height:3px;border-radius:2px;background:#ffffff14;overflow:hidden;position:relative}.wizard__bar-fill{position:absolute;inset:0;background:#fff;border-radius:2px;transform:scaleX(0);transform-origin:left}.wizard__step--done .wizard__bar-fill,.wizard__step--current .wizard__bar-fill{animation:wizard-fill .7s cubic-bezier(.22,1,.36,1) both}.wizard__step:nth-child(1) .wizard__bar-fill{animation-delay:0ms}.wizard__step:nth-child(2) .wizard__bar-fill{animation-delay:.14s}.wizard__step:nth-child(3) .wizard__bar-fill{animation-delay:.28s}@keyframes wizard-fill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.wizard.wizard--forward .wizard__step--done .wizard__bar-fill{animation:none;transform:scaleX(1)}.wizard.wizard--forward .wizard__step--current .wizard__bar-fill{animation:wizard-fill .7s cubic-bezier(.22,1,.36,1) both;animation-delay:0ms}.wizard--back .wizard__step--done .wizard__bar-fill,.wizard--back .wizard__step--current .wizard__bar-fill{animation:none;transform:scaleX(1)}.wizard__step--draining .wizard__bar-fill{animation:wizard-drain .7s cubic-bezier(.22,1,.36,1) both}.wizard__step:nth-child(3).wizard__step--draining .wizard__bar-fill{animation-delay:0ms}.wizard__step:nth-child(2).wizard__step--draining .wizard__bar-fill{animation-delay:.14s}@keyframes wizard-drain{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.wizard__step--current .wizard__bar:after{content:"";position:absolute;top:0;left:-35%;width:35%;height:100%;background:linear-gradient(90deg,transparent,rgba(0,0,0,.35),transparent);animation:wizard-shimmer 2.6s cubic-bezier(.65,0,.35,1) infinite}@keyframes wizard-shimmer{0%{left:-35%}60%,to{left:100%}}.wizard__label{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#ffffff4d;transition:color .24s ease}.wizard__step--current .wizard__label{color:#fff}.wizard__step--done .wizard__label{color:#ffffff8c}@media (prefers-reduced-motion: reduce){.wizard__bar-fill{animation:none!important;transform:scaleX(1)}.wizard__step--pending .wizard__bar-fill{transform:scaleX(0)}.wizard__bar:after{animation:none!important;display:none}}.divider{height:1px;background:var(--c-border);border:none;margin:var(--s-5) 0}.stack{display:flex;flex-direction:column}.stack--gap-2{gap:var(--s-2)}.stack--gap-3{gap:var(--s-3)}.stack--gap-4{gap:var(--s-4)}.stack--gap-5{gap:var(--s-5)}.stack--gap-6{gap:var(--s-6)}.spacer{flex:1}.center{display:flex;align-items:center;justify-content:center}.row{display:flex;align-items:center}.row--between{justify-content:space-between}
