.signup-shell{min-height:100vh;background:var(--bg-page);display:flex;align-items:flex-start;justify-content:center;padding:80px 24px 60px}.signup-card{background:var(--bg-raised);border:1px solid var(--border-subtle);border-radius:18px;box-shadow:var(--shadow-card);width:100%;max-width:540px;padding:32px 28px 28px;display:flex;flex-direction:column;gap:18px}.signup-card h1{font-family:var(--font-display);font-weight:800;font-size:32px;margin:0;color:var(--fg-primary)}.signup-lead{color:var(--fg-secondary);font-size:15px;margin:0}.signup-fineprint{font-size:13px;color:var(--fg-tertiary);margin-top:4px}.signup-fineprint a{color:var(--accent-deep);font-weight:600}.signup-parent,.signup-username{border:1px solid var(--border-subtle);border-radius:12px;padding:14px 16px 16px;margin:0;display:flex;flex-wrap:wrap;gap:12px}.signup-parent legend,.signup-username legend{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--fg-tertiary);font-weight:700;padding:0 6px}.signup-pick{display:flex;flex-direction:column;gap:4px;flex:1 1 140px}.signup-pick>span{font-size:11px;color:var(--fg-tertiary);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.signup-parent input,.signup-pick input,.signup-pick select{font-family:var(--font-body);font-size:16px;padding:10px 12px;border:1px solid var(--border-subtle);border-radius:8px;background:var(--bg-page);color:var(--fg-primary)}.signup-parent input:focus,.signup-pick input:focus,.signup-pick select:focus{outline:2px solid var(--accent);outline-offset:1px}.signup-number-row{display:flex;gap:6px;align-items:stretch}.signup-number-display{flex:1 1;font-family:var(--font-mono);font-size:20px;font-weight:700;padding:9px 12px;background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:8px;text-align:center;color:var(--fg-primary);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.signup-reroll{font-size:18px;width:44px;border:1px solid var(--border-ink);border-radius:8px;background:var(--bg-raised);cursor:pointer;color:var(--fg-secondary);transition:background var(--dur-feedback) var(--ease-gentle)}.signup-reroll:hover{background:var(--accent-wash);color:var(--accent-deep);border-color:var(--accent)}.signup-parent{flex-direction:column;gap:12px}.signup-parent label{display:flex;flex-direction:column;gap:4px}.signup-parent label>span{font-size:11px;color:var(--fg-tertiary);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.signup-preview{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;padding:10px 14px;background:var(--bg-sunken);border-radius:10px}.signup-preview-label{font-size:12px;color:var(--fg-tertiary);font-weight:600}.signup-preview-name{font-family:var(--font-display);font-size:22px;font-weight:700;color:var(--fg-primary);letter-spacing:-.01em}.signup-availability{font-size:12px;color:var(--fg-tertiary);margin-left:auto;font-weight:600}.signup-availability.is-ok{color:var(--moss-deep)}.signup-availability.is-bad,.signup-error{color:var(--berry)}.signup-error{background:color-mix(in oklab,var(--berry) 10%,transparent);border:1px solid var(--berry);padding:10px 12px;border-radius:8px;font-size:14px;font-weight:500}.signup-submit{font-family:var(--font-display);font-weight:700;font-size:18px;padding:14px 20px;border-radius:12px;border:1px solid var(--accent-deep);background:var(--accent);color:var(--accent-ink);cursor:pointer;transition:background var(--dur-feedback) var(--ease-gentle)}.signup-submit:hover:not(:disabled){background:var(--accent-deep)}.signup-submit:disabled{opacity:.55;cursor:not-allowed}.signup-sent h1{color:var(--moss-deep)}.signup-sent p{font-size:16px;line-height:1.5}.signup-hint{background:var(--accent-wash);padding:10px 14px}.signup-hint,.signup-status{border-radius:10px;font-size:14px}.signup-status{display:flex;align-items:center;gap:10px;padding:11px 14px;font-weight:600;background:var(--bg-sunken);color:var(--fg-secondary)}.signup-status-dot{width:10px;height:10px;border-radius:50%;background:var(--ink-400);flex:none}.signup-status.is-waiting .signup-status-dot{background:var(--sun);animation:signup-pulse 1.2s var(--ease-gentle) infinite}.signup-status.is-ok{background:color-mix(in oklab,var(--moss-wash) 70%,transparent);color:var(--moss-deep)}.signup-status.is-ok .signup-status-dot{background:var(--moss-base)}.signup-status.is-bad{background:color-mix(in oklab,var(--berry) 10%,transparent);color:var(--berry)}.signup-status.is-bad .signup-status-dot{background:var(--berry)}@keyframes signup-pulse{0%,to{opacity:.35}50%{opacity:1}}.signup-password-row{display:flex;gap:6px;align-items:stretch}.signup-password-row input{flex:1 1;min-width:0}.signup-pw-toggle{padding:0 14px;font-family:var(--font-body);font-size:13px;font-weight:700;border:1px solid var(--border-ink);border-radius:8px;background:var(--bg-raised);color:var(--fg-secondary);cursor:pointer;transition:background var(--dur-feedback) var(--ease-gentle)}.signup-pw-toggle:hover{background:var(--accent-wash);color:var(--accent-deep);border-color:var(--accent)}.signup-bigname{font-family:var(--font-display);font-size:40px;font-weight:800;letter-spacing:-.01em;color:var(--accent-deep);margin:2px 0 4px}.approve-request{border:1px solid var(--border-subtle);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:10px}.approve-request p{margin:0;font-size:15px;line-height:1.5}.approve-kid{font-family:var(--font-display);font-weight:700;font-size:20px;color:var(--fg-primary)}.approve-disclosure{font-size:13px;color:var(--fg-tertiary);background:var(--bg-sunken);border-radius:10px;padding:10px 12px;line-height:1.5}.approve-done{color:var(--moss-deep);font-weight:700}.signup-choice-row{display:flex;gap:10px;flex-wrap:wrap}.signup-choice-row .signup-btn-ghost,.signup-choice-row .signup-submit{flex:1 1 160px}.signup-btn-ghost{font-family:var(--font-body);font-weight:700;font-size:15px;padding:13px 18px;border-radius:12px;border:1px solid var(--border-ink);background:var(--bg-raised);color:var(--fg-secondary);cursor:pointer;transition:background var(--dur-feedback) var(--ease-gentle)}.signup-btn-ghost:hover:not(:disabled){background:var(--bg-sunken)}.signup-btn-ghost:disabled{opacity:.55;cursor:not-allowed}