/* owner 2026-11-03: early-access sign-up page */
.ts-wrap { max-width: 560px; margin: 0 auto; padding: 32px 16px 60px; }
.ts-hero { text-align: center; margin-bottom: 22px; }
.ts-badge { display: inline-block; padding: 6px 14px; border-radius: 999px; border: 1px solid rgba(91,140,255,.45); color: #9db8ff; font: 700 12px/1 Inter, system-ui, sans-serif; letter-spacing: .18em; margin: 0 0 14px; }
.ts-h1 { margin: 0; font: 800 clamp(28px, 6vw, 40px)/1.15 Sora, Inter, system-ui, sans-serif; color: #fff; letter-spacing: -.02em; text-wrap: balance; }
.ts-lead { margin: 12px auto 0; color: #a9b6c9; font: 500 16px/1.55 Inter, system-ui, sans-serif; max-width: 46ch; }
.ts-lead b { color: #ffd257; }
.ts-card { display: grid; gap: 8px; padding: 22px; border-radius: 20px; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.08); }
.ts-l { margin: 8px 0 0; color: #dfe6f1; font: 600 14px Inter, system-ui, sans-serif; }
.ts-req { color: #ff7a8f; } .ts-opt { color: #7f8aa0; font-weight: 500; font-size: 12px; }
.ts-in { width: 100%; box-sizing: border-box; height: 48px; padding: 0 14px; border-radius: 12px; border: 1px solid rgba(255,255,255,.14); background: #0c111a; color: #fff; font: 500 16px Inter, system-ui, sans-serif; }
.ts-in:focus { outline: none; border-color: #5b8cff; box-shadow: 0 0 0 3px rgba(91,140,255,.25); }
.ts-in.bad { border-color: #ff5a6e; }
.ts-dev { display: flex; gap: 10px; }
.ts-chip { flex: 1; display: flex; align-items: center; gap: 8px; height: 44px; padding: 0 14px; border-radius: 12px; border: 1px solid rgba(255,255,255,.14); color: #dfe6f1; font: 600 15px Inter, system-ui, sans-serif; cursor: pointer; }
.ts-chip:has(input:checked) { border-color: #5b8cff; background: rgba(91,140,255,.12); }
.ts-btn { margin-top: 14px; height: 52px; border: 0; border-radius: 14px; background: linear-gradient(90deg,#3d7bff,#6d5bff); color: #fff; font: 700 17px Inter, system-ui, sans-serif; cursor: pointer; }
.ts-btn[disabled] { opacity: .6; cursor: default; }
.ts-msg { min-height: 1.4em; margin: 6px 0 0; font: 600 15px/1.45 Inter, system-ui, sans-serif; color: #9db8ff; }
.ts-msg.ok { color: #34d399; } .ts-msg.err { color: #ff7a8f; }
.ts-points { margin: 12px 0 0; padding: 0 0 0 18px; color: #8d9ab0; font: 500 13.5px/1.6 Inter, system-ui, sans-serif; }
html[dir="rtl"] .ts-points { padding: 0 18px 0 0; }
.ts-chip.ts-off { opacity: .45; cursor: not-allowed; filter: grayscale(1); }
.ts-soon { margin-inline-start: auto; padding: 2px 8px; border-radius: 999px; background: #4b5363; color: #f1f4f8; font: 800 11px/1.3 Inter, system-ui, sans-serif; letter-spacing: .06em; }
