@import "https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700;800&family=Nunito+Sans:wght@400;500;600&display=swap";:root{--color-primary:#007aff;--color-primary-dark:#005ecb;--color-primary-glow:#007aff4d;--color-text-primary:#1a1a2e;--color-text-secondary:#6b7280;--color-text-hint:#9ca3af;--color-field-bg:#fafafa;--color-field-border:#e0e0e0;--color-field-focus:#007aff;--color-white:#fff;--color-card:#fff;--color-danger:#ef4444;--color-success:#22c55e;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--shadow-card:0 8px 32px #0000001f;--shadow-input:0 2px 4px #0000000f;--shadow-btn:0 4px 16px var(--color-primary-glow);--font-display:"Nunito", sans-serif;--font-body:"Nunito Sans", sans-serif;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%}#root{width:100%;max-width:480px;height:100%;margin:0 auto;position:relative;box-shadow:0 0 40px #0000001f}body{font-family:var(--font-body);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;overscroll-behavior:none;background:#eef2ff}.auth-screen{min-height:100dvh;padding:calc(var(--safe-top) + 16px) 16px calc(var(--safe-bottom) + 16px);flex-direction:column;justify-content:center;align-items:center;display:flex}.auth-card{background:var(--color-card);border-radius:var(--radius-lg);width:100%;max-width:440px;box-shadow:var(--shadow-card);position:relative;overflow:hidden}.auth-card__doodle{background-image:var(--doodle-url);opacity:.18;pointer-events:none;z-index:0;background-position:50%;background-size:cover;position:absolute;inset:0}.auth-card__body{z-index:1;scrollbar-width:none;max-height:92dvh;padding:28px 20px 32px;position:relative;overflow-y:auto}.auth-card__body::-webkit-scrollbar{display:none}.auth-logo{object-fit:contain;width:88px;height:88px;margin:0 auto 14px;display:block}.auth-title{font-family:var(--font-display);color:var(--color-text-primary);text-align:center;margin-bottom:6px;font-size:clamp(20px,5.5vw,26px);font-weight:800}.auth-subtitle{color:var(--color-text-secondary);text-align:center;margin-bottom:22px;font-size:14px}.field-group{flex-direction:column;gap:11px;display:flex}.field-wrapper{background:var(--color-field-bg);border:1px solid var(--color-field-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-input);transition:border-color .15s,box-shadow .15s}.field-wrapper:focus-within{border-color:var(--color-field-focus);box-shadow:0 0 0 3px #007aff1f, var(--shadow-input)}.field-wrapper input{width:100%;height:50px;font-family:var(--font-body);color:var(--color-text-primary);background:0 0;border:none;outline:none;padding:0 16px;font-size:16px}.field-wrapper input::placeholder{color:var(--color-text-hint);font-size:14px}.phone-row{background:var(--color-field-bg);border:1px solid var(--color-field-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-input);transition:border-color .15s,box-shadow .15s;display:flex;overflow:hidden}.phone-row:focus-within{border-color:var(--color-field-focus);box-shadow:0 0 0 3px #007aff1f, var(--shadow-input)}.phone-country-btn{border:none;border-right:1px solid var(--color-field-border);cursor:pointer;min-width:80px;font-family:var(--font-body);color:var(--color-text-primary);white-space:nowrap;background:0 0;align-items:center;gap:5px;padding:0 12px;font-size:14px;font-weight:600;display:flex}.phone-country-btn:disabled{cursor:default}.phone-country-btn .flag{font-size:18px;line-height:1}.phone-row input{height:50px;font-family:var(--font-body);color:var(--color-text-primary);background:0 0;border:none;outline:none;flex:1;padding:0 14px;font-size:16px}.gender-section{margin-top:2px}.gender-label{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:7px;font-size:12px;font-weight:600}.gender-options{gap:8px;display:flex}.gender-option{flex:1;position:relative}.gender-option input[type=radio]{opacity:0;width:0;height:0;position:absolute}.gender-option label{border-radius:var(--radius-sm);border:1.5px solid var(--color-field-border);background:var(--color-field-bg);height:40px;color:var(--color-text-secondary);cursor:pointer;justify-content:center;align-items:center;font-size:14px;font-weight:600;transition:all .15s;display:flex}.gender-option input[type=radio]:checked+label{border-color:var(--color-primary);color:var(--color-primary);background:#007aff0f}.tos-row{background:var(--color-field-bg);border:1.5px solid var(--color-field-border);border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:10px;margin-top:2px;padding:12px 14px;transition:border-color .15s;display:flex}.tos-row.checked{border-color:var(--color-primary);background:#007aff0a}.tos-row input[type=checkbox]{width:20px;height:20px;accent-color:var(--color-primary);cursor:pointer;flex-shrink:0}.tos-row span{color:var(--color-text-primary);font-size:14px;font-weight:500}.tos-link{text-align:center;color:var(--color-primary);cursor:pointer;font-size:12px;font-family:var(--font-body);background:0 0;border:none;margin-top:5px;text-decoration:underline;display:block}.form-actions{flex-direction:column;gap:11px;margin-top:18px;display:flex}.btn-primary{background:var(--color-primary);width:100%;height:52px;color:var(--color-white);border-radius:var(--radius-sm);font-family:var(--font-display);cursor:pointer;box-shadow:var(--shadow-btn);border:none;justify-content:center;align-items:center;font-size:17px;font-weight:800;transition:background .15s,transform .1s,box-shadow .15s;display:flex}.btn-primary:hover{background:var(--color-primary-dark)}.btn-primary:active{transform:scale(.98)}.btn-primary:disabled{opacity:.55;cursor:not-allowed;transform:none}.auth-link{text-align:center;color:var(--color-primary);cursor:pointer;font-size:14px;font-family:var(--font-body);background:0 0;border:none;padding:2px;text-decoration:underline;display:block}.form-error{color:var(--color-danger);text-align:center;border-radius:var(--radius-sm);background:#ef444412;border:1px solid #ef444433;padding:8px 12px;font-size:13px}.spinner{border:2.5px solid #fff6;border-top-color:#fff;border-radius:50%;width:20px;height:20px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.splash{justify-content:center;align-items:center;min-height:100dvh;display:flex}.splash img{object-fit:contain;width:100px;height:100px;animation:1.2s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(.95)}}
