:root{color-scheme:dark;--bg: #0f0f11;--bg-card: #18171c;--surface: #201f25;--surface-strong: #2a2930;--border: #2a2930;--border-strong: #36343d;--text: #f6f6f8;--text-muted: #9a9aa4;--text-faint: #6f6e78;--brand: #09ca5a;--brand-hover: #08b350;--brand-contrast: #0a0a0a;--danger: #ff6b52;--danger-bg: #241310;--warn-bg: #2c0f0c;--warn-border: #8a261c;--warn-text: #ff5a47;--shadow: 0 1px 2px rgba(0, 0, 0, .5), 0 24px 60px rgba(0, 0, 0, .55);--ring: rgba(9, 202, 90, .28)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;line-height:1.5}.page{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:max(24px,env(safe-area-inset-top)) 20px max(24px,env(safe-area-inset-bottom))}.card{width:100%;max-width:440px;background:var(--bg-card);border:1px solid var(--border);border-radius:22px;box-shadow:var(--shadow);padding:40px 24px;display:flex;flex-direction:column;gap:20px}.brand{display:flex;justify-content:center;padding:4px 0 14px}.brand__logo{height:42px;width:auto;display:block}.header{display:flex;flex-direction:column;gap:6px;text-align:center}.header--start{text-align:left}h1{margin:0;font-size:26px;font-weight:700;letter-spacing:-.02em;line-height:1.2}.subtitle{margin:0;font-size:15px;color:var(--text-muted)}.field{display:flex;flex-direction:column;gap:7px}.field__label{font-size:13px;font-weight:600;color:var(--text-muted)}.input{width:100%;min-height:52px;padding:14px;font-size:16px;font-family:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:13px;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.input::placeholder{color:var(--text-faint)}.input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--ring)}.input:disabled{opacity:.55}.input-group{position:relative;display:flex;align-items:center}.input--with-icon{padding-left:58px}.input-icon{position:absolute;left:7px;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:10px;background:var(--surface-strong);color:var(--text-muted);display:grid;place-items:center;pointer-events:none}.input-icon svg{width:19px;height:19px}.otp{display:flex;gap:8px;justify-content:center}.otp__box{flex:1 1 0;min-width:0;height:58px;padding:0;text-align:center;font-size:24px;font-weight:700;font-family:inherit;font-variant-numeric:tabular-nums;color:var(--text);background:var(--surface);border:1.5px solid var(--border-strong);border-radius:12px;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.otp__box:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--ring)}.otp__box:disabled{opacity:.55}.resend{margin:0;text-align:center;font-size:14px;color:var(--text-muted)}.resend__btn{background:none;border:0;padding:0 0 0 4px;font:inherit;font-weight:600;color:var(--brand);cursor:pointer}.resend__btn:disabled{opacity:.5;cursor:not-allowed}.input--code{letter-spacing:.4em;font-variant-numeric:tabular-nums;text-align:center;font-weight:600}.btn{width:100%;min-height:52px;padding:14px 18px;font-size:16px;font-weight:700;font-family:inherit;border-radius:13px;border:1px solid transparent;cursor:pointer;transition:background-color .15s ease,opacity .15s ease,transform .05s ease;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn:active{transform:scale(.99)}.btn:disabled{cursor:not-allowed;opacity:.45}.btn--primary{background:var(--brand);color:var(--brand-contrast)}.btn--primary:not(:disabled):hover{background:var(--brand-hover)}.btn--primary:disabled{background:var(--surface-strong);color:var(--text-faint);opacity:1}.btn-row{display:flex;gap:10px}.btn-row .btn{flex:1 1 0;min-width:0}.btn--ghost{background:transparent;color:var(--text-muted);border-color:var(--border-strong);font-weight:600}.btn--ghost:not(:disabled):hover{background:var(--surface)}.btn--light{background:#e7e8ec;color:#14161b}.btn--light:not(:disabled):hover{background:#d7d9df}.wallet{display:flex;flex-direction:column;gap:8px}.wallet__label{padding-left:4px;font-size:13px;font-weight:600;color:var(--text-muted)}.wallet__chip{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 8px 8px 16px;background:var(--surface);border:1px solid var(--border);border-radius:13px}.wallet__copy{flex:none;width:40px;height:40px;display:grid;place-items:center;background:transparent;border:0;border-radius:9px;color:var(--text-muted);cursor:pointer;transition:background-color .15s ease,color .15s ease}.wallet__copy svg{width:18px;height:18px}.wallet__copy:hover{background:var(--surface-strong);color:var(--text)}.wallet__copy.is-copied{color:var(--brand)}.wallet__addr{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:14px;font-weight:600;line-height:1.4;letter-spacing:.01em;color:var(--text);word-break:break-all;min-width:0}.account{display:flex;align-items:center;gap:8px;padding-left:4px;font-size:14px;color:var(--text-muted)}.account__email{color:var(--text);font-weight:600;word-break:break-all}.warning{display:flex;gap:10px;padding:13px 14px;background:var(--warn-bg);border:1px solid var(--warn-border);border-radius:13px;font-size:13px;line-height:1.45;color:var(--warn-text)}.warning__icon{flex:none;line-height:0;margin-top:1px}.warning__icon svg{width:18px;height:18px}.warning strong{font-weight:700;color:var(--warn-text)}.warning__title{display:block;margin-bottom:4px}.error{display:flex;gap:8px;padding:12px 14px;background:var(--danger-bg);border:1px solid color-mix(in srgb,var(--danger) 35%,transparent);border-radius:13px;font-size:13.5px;color:var(--danger);margin:0}.divider{height:1px;background:var(--border);border:0;margin:0}.privy-badge{display:flex;align-items:center;justify-content:center;gap:7px;color:#fff;opacity:.7;font-size:13px;font-weight:500;margin-top:2px}.privy-badge__mark{width:15px;height:18px;flex:none}.privy-badge__word{font-weight:700;letter-spacing:-.02em;font-size:15px}.loading{display:flex;flex-direction:column;align-items:center;gap:16px;padding:24px 0;color:var(--text-muted)}.spinner{width:28px;height:28px;border-radius:50%;border:3px solid var(--surface-strong);border-top-color:var(--brand);animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner{animation-duration:1.6s}.btn:active{transform:none}}
