*,:after,:before{box-sizing:border-box}body,html{margin:0;min-height:100vh;background:var(--surface-0);color:var(--fg-1);font-family:var(--font-body)}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}.auth-shell{min-height:100vh;display:flex;flex-direction:column;padding:24px clamp(20px,4vw,48px)}.auth-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:48px}.auth-brand{display:inline-flex;align-items:center;gap:9px;font:500 17px/1 var(--font-display);letter-spacing:-.01em;color:var(--fg-1)}.auth-brand em{color:var(--accent-2);font-style:italic;font-weight:400}.auth-brand img{border-radius:6px}.auth-icon-dark-mode{display:none}.auth-icon-light-mode,[data-theme=dark] .auth-icon-dark-mode{display:block}[data-theme=dark] .auth-icon-light-mode{display:none}.auth-back{font:400 13px/1 var(--font-mono);color:var(--fg-3);display:inline-flex;align-items:center;gap:6px}.auth-back:hover{color:var(--fg-1)}.auth-help{font:400 13px/1 var(--font-body);color:var(--fg-3)}.auth-help a{color:var(--accent-2);font-weight:500}.auth-main{flex:1 1;display:flex;align-items:center;justify-content:center}.auth-card{width:100%;max-width:420px;padding:40px 40px 32px;background:var(--surface-1);border:1px solid var(--rule);border-radius:12px;box-shadow:var(--shadow-1)}.auth-card.wide{max-width:480px;overflow:hidden;display:flex;flex-direction:column;padding:0}.auth-eyebrow{font:500 11px/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-2);margin-bottom:10px}.auth-title{font:500 30px/1.1 var(--font-display);letter-spacing:-.025em;color:var(--fg-1);margin:0 0 8px}.auth-title em{color:var(--accent-2);font-style:italic;font-weight:400}.auth-sub{font:400 14px/1.5 var(--font-body);color:var(--fg-2);margin:0 0 28px}.auth-form{gap:14px}.auth-form,.field{display:flex;flex-direction:column}.field{gap:6px}.field-row{display:flex;align-items:baseline;justify-content:space-between}.field label{color:var(--fg-2)}.field a.forgot,.field label{font:500 12px/1 var(--font-body)}.field a.forgot{color:var(--accent-2)}.field a.forgot:hover{text-decoration:underline}.field input{width:100%;padding:12px 14px;min-height:46px;background:var(--surface-1);border:1px solid var(--rule);border-radius:8px;font:400 15px/1 var(--font-body);color:var(--fg-1);font-family:inherit}.field input:focus{outline:2px solid var(--accent-2);outline-offset:-2px;border-color:transparent}.field input::placeholder{color:var(--fg-3)}.field-pw{position:relative}.field-pw input{padding-right:48px}.pw-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:transparent;border:0;cursor:pointer;color:var(--fg-3);padding:4px;display:grid;place-items:center}.pw-toggle:hover{color:var(--fg-1)}.field-hint{font:400 11.5px/1.5 var(--font-mono);color:var(--fg-3);margin-top:4px}.btn-submit{width:100%;padding:13px 16px;min-height:48px;background:var(--accent-2);color:#fff;border:0;border-radius:8px;font:500 15px/1 var(--font-body);cursor:pointer;margin-top:6px;transition:background .12s;font-family:inherit}.btn-submit:hover{background:var(--accent-2-hover)}.btn-submit:disabled{background:var(--fg-3);cursor:not-allowed}.auth-card .btn-secondary,.btn-secondary-full{width:100%;padding:13px 16px;min-height:48px;background:transparent;color:var(--fg-1);border:1px solid var(--rule);border-radius:8px;font:500 15px/1 var(--font-body);cursor:pointer;margin-top:6px;transition:all .12s;font-family:inherit;text-align:center;display:inline-flex;align-items:center;justify-content:center}.auth-card .btn-secondary:hover,.btn-secondary-full:hover{border-color:var(--fg-3)}.auth-foot{margin-top:28px;text-align:center;font:400 14px/1.5 var(--font-body);color:var(--fg-2)}.auth-foot a{color:var(--accent-2);font-weight:500}.auth-foot a:hover{text-decoration:underline}.auth-fine{margin-top:32px;text-align:center;font:400 12px/1.5 var(--font-mono);color:var(--fg-3)}.auth-fine a{color:var(--fg-3);text-decoration:underline;text-underline-offset:2px}.auth-fine a:hover{color:var(--fg-1)}.auth-error{display:flex;align-items:flex-start;gap:8px;padding:10px 14px;background:var(--danger-bg);border:1px solid rgba(168,54,43,.25);border-radius:8px;font:400 13.5px/1.4 var(--font-body);color:var(--danger)}.state-icon{width:60px;height:60px;border-radius:50%;display:grid;place-items:center;margin:0 auto 22px}.state-icon.success{background:var(--ok-bg);color:var(--ok)}.state-icon.warn{background:var(--warn-bg);color:var(--warn)}.state-icon.danger{background:var(--danger-bg);color:var(--danger)}.state-icon.info{background:var(--info-bg);color:var(--info)}.state-text{text-align:center}.state-text .auth-title{margin-bottom:12px}.info-card{margin-top:18px;padding:14px 16px;background:var(--surface-2);border:1px solid var(--rule);border-radius:8px;font:400 13px/1.55 var(--font-body);color:var(--fg-2)}.info-card strong{color:var(--fg-1);font-weight:500}.info-card a{color:var(--accent-2)}.progress-wrap{padding:16px 32px 0;display:flex;flex-direction:column;gap:10px}.progress-meta{display:flex;align-items:center;justify-content:space-between;font:500 10.5px/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--fg-3)}.progress-meta .step-name{color:var(--accent-2)}.progress-bar{height:3px;background:var(--surface-2);border-radius:99px;overflow:hidden}.progress-fill{height:100%;background:var(--accent-2);border-radius:99px;transition:width .32s cubic-bezier(.4,0,.2,1)}.step-pane{padding:28px 32px 32px;display:flex;flex-direction:column;animation:stepIn .28s cubic-bezier(.16,1,.3,1) both}@keyframes stepIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.plan-badge{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;padding:5px 10px;background:var(--accent-2-soft);border:1px solid rgba(62,132,135,.28);border-radius:999px;font:500 10.5px/1 var(--font-mono);color:var(--accent-2);letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px}.plan-badge .dot{width:6px;height:6px;border-radius:50%;background:var(--accent-2)}.free-badge{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;padding:5px 10px;background:var(--ok-bg);color:var(--ok);border:1px solid rgba(47,107,78,.25);border-radius:999px;font:500 10.5px/1 var(--font-mono);letter-spacing:.06em;margin-bottom:14px}.free-badge .dot{width:6px;height:6px;border-radius:50%;background:var(--ok)}h2.step-title{font:500 26px/1.15 var(--font-display);letter-spacing:-.025em;color:var(--fg-1);margin:0 0 8px}h2.step-title em{color:var(--accent-2);font-style:italic;font-weight:400}.step-sub{font:400 14px/1.55 var(--font-body);color:var(--fg-2);margin:0 0 24px}.form-grid{display:flex;flex-direction:column;gap:14px}.field select{width:100%;padding:12px 14px;min-height:46px;background:var(--surface-1);border:1px solid var(--rule);border-radius:8px;font:400 15px/1 var(--font-body);color:var(--fg-1);font-family:inherit}.field select:focus{outline:2px solid var(--accent-2);outline-offset:-2px;border-color:transparent}.pw-hint{font:400 11.5px/1.4 var(--font-mono);color:var(--fg-3)}.pw-checklist{display:flex;flex-direction:column;gap:4px;margin-top:6px;padding:0;list-style:none}.pw-rule{display:flex;align-items:center;gap:6px;font:400 11.5px/1.4 var(--font-mono);color:var(--fg-3);transition:color .12s,opacity .12s}.pw-rule[data-status=pass]{color:var(--ok)}.pw-rule[data-status=fail]{color:var(--danger)}.pw-rule-icon{width:12px;height:12px;flex-shrink:0}.persona-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;margin-bottom:4px}.persona-card{text-align:left;padding:16px 18px;background:var(--surface-1);border:1px solid var(--rule);border-radius:10px;display:flex;flex-direction:column;gap:4px;transition:all .12s;position:relative;font-family:inherit;cursor:pointer}.persona-card:hover{border-color:var(--fg-3)}.persona-card.selected{border-color:var(--accent-2);background:var(--accent-2-soft)}.persona-card .check{position:absolute;top:12px;right:12px;width:20px;height:20px;border-radius:50%;background:var(--accent-2);color:#fff;display:none;place-items:center}.persona-card.selected .check{display:grid}.persona-ico{width:36px;height:36px;background:var(--surface-2);border-radius:8px;display:grid;place-items:center;color:var(--accent-2);margin-bottom:8px}.persona-card.selected .persona-ico{background:var(--surface-1)}.persona-title{font:500 14px/1.3 var(--font-body);color:var(--fg-1)}.persona-desc{font:400 12px/1.5 var(--font-body);color:var(--fg-3);margin-top:2px}.pill-group{display:flex;flex-wrap:wrap;gap:8px}.pill{padding:9px 14px;background:var(--surface-1);border:1px solid var(--rule);border-radius:999px;font:500 13px/1 var(--font-body);color:var(--fg-2);transition:all .12s;cursor:pointer}.pill:hover{border-color:var(--fg-3);color:var(--fg-1)}.pill.selected{background:var(--accent-2);border-color:var(--accent-2);color:#fff}.welcome-stats{display:grid;grid-template-columns:1fr 1fr;grid-gap:0;gap:0;padding:18px 20px;background:var(--surface-2);border:1px solid var(--rule);border-radius:10px;margin-bottom:20px}.welcome-stats .stat+.stat{padding-left:18px;border-left:1px solid var(--rule)}.welcome-stats .stat-num{font:500 24px/1 var(--font-display);letter-spacing:-.025em;color:var(--accent-2);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.welcome-stats .stat-lbl{font:500 10.5px/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--fg-3);margin-top:6px}.next-up-list{display:flex;flex-direction:column;gap:0}.next-up-list .next-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--rule);font:400 13px/1.4 var(--font-body);color:var(--fg-2)}.next-up-list .next-row:last-child{border-bottom:0}.next-up-list .check-ico{width:18px;height:18px;background:var(--accent-2-soft);border-radius:50%;display:grid;place-items:center;color:var(--accent-2);flex-shrink:0}.next-up-list .next-row strong{color:var(--fg-1);font-weight:500}.step-actions{margin-top:24px;display:flex;align-items:center;gap:10px}.btn-primary{flex:1 1;padding:13px 16px;min-height:48px;background:var(--accent-2);color:#fff;border:0;border-radius:8px;font:500 15px/1 var(--font-body);transition:background .12s;display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;font-family:inherit}.btn-primary:hover{background:var(--accent-2-hover)}.btn-primary:disabled{opacity:.4;cursor:not-allowed}.btn-ghost-sm{padding:13px 14px;background:transparent;color:var(--fg-3);border:0;font:500 14px/1 var(--font-body);border-radius:8px;cursor:pointer;font-family:inherit}.btn-ghost-sm:hover{color:var(--fg-1);background:var(--surface-2)}.btn-skip{background:transparent;color:var(--fg-3);border:1px solid var(--rule);padding:13px 16px;min-height:48px;border-radius:8px;font:500 14px/1 var(--font-body);cursor:pointer;font-family:inherit}.btn-skip:hover{color:var(--fg-1);border-color:var(--fg-3)}.terms-line{margin-top:14px;text-align:center;font:400 11.5px/1.5 var(--font-mono);color:var(--fg-3)}.terms-line a{color:var(--accent-2);text-decoration:underline;text-underline-offset:2px}.signup-foot{margin-top:20px;padding-top:20px;border-top:1px solid var(--rule);text-align:center;font:400 14px/1.5 var(--font-body);color:var(--fg-2)}.signup-foot a{color:var(--accent-2);font-weight:500;display:inline-flex;align-items:center;gap:3px}.signup-foot a:hover{text-decoration:underline;text-underline-offset:2px}@media (max-width:520px){.persona-grid{grid-template-columns:1fr}.step-pane{padding:24px 22px 26px}.progress-wrap{padding:14px 22px 0}h2.step-title{font-size:22px}.welcome-stats{grid-template-columns:1fr}.welcome-stats .stat+.stat{padding-left:0;padding-top:14px;margin-top:14px;border-left:0;border-top:1px solid var(--rule)}}@media (max-width:480px){.auth-card{padding:28px 24px}.auth-title{font-size:26px}}