@charset "UTF-8";
.auth-page { background:var(--paper); min-height:100svh; }
.auth-page-header { display:flex; justify-content:center; padding:35px 20px 0; }
.auth-page-header .brand { gap:9px; font-size:25px; letter-spacing:-1px; }
.auth-page-header .brand-logo { width:34px; height:34px; border-radius:8px; }
.auth-page-main { width:min(392px,calc(100% - 40px)); margin:128px auto 48px; }
.auth-page .signup-page,.auth-page .auth-card { width:100%; max-width:none; padding:0; margin:0; background:transparent; border:0; border-radius:0; box-shadow:none; text-align:left; }
.auth-page .dialog-title { color:var(--ink); font-size:34px; line-height:1.2; font-weight:500; letter-spacing:-.7px; text-align:center; margin:0 0 11px; }
.auth-page .auth-switch-row { display:block; margin:0 0 23px; color:var(--ink); font-size:14px; line-height:1.5; text-align:center; }
.auth-page .auth-switch,.auth-page .inline-link { padding:0; border:0; border-radius:0; background:transparent; color:var(--accent); text-decoration:underline; text-underline-offset:2px; font:inherit; cursor:pointer; }
.auth-page .auth-form { display:block; }
.auth-page .form-field { gap:5px; margin:0 0 12px; }
.auth-input-shell { display:flex; align-items:center; gap:10px; width:100%; min-height:48px; padding:0 16px; border:1px solid #315574; border-radius:8px; background:var(--surface); transition:border-color .15s,box-shadow .15s; }
.auth-input-shell:focus-within { border-color:var(--accent); box-shadow:0 0 0 2px #59c9ff1f; }
.auth-input-shell>svg { flex:0 0 20px; width:20px; height:20px; fill:none; stroke:var(--muted); stroke-width:1.4; stroke-linecap:round; stroke-linejoin:round; }
.auth-input-shell input { min-width:0; width:100%; min-height:46px; padding:10px 0; border:0; border-radius:0; background:transparent; color:var(--ink); font-size:16px; outline:0; }
.auth-input-shell input::placeholder { color:var(--muted); opacity:1; }
.auth-input-shell input:focus-visible { outline:0; }
.auth-password-toggle { flex:0 0 30px; display:grid; place-items:center; width:30px; height:34px; margin-right:-6px; padding:4px; border:0; border-radius:4px; background:transparent; color:var(--muted); }
.auth-password-toggle svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.4; stroke-linecap:round; stroke-linejoin:round; }
.auth-password-toggle[aria-pressed="true"] .auth-eye-slash { display:none; }
.auth-page .field-hint { color:var(--muted); font-size:11px; line-height:1.45; }
.auth-page .form-submit { width:100%; min-height:48px; margin:12px 0 0; padding:12px 18px; border:0; border-radius:8px; background:var(--accent); color:#03131f; font-size:16px; font-weight:700; box-shadow:inset 0 1px 0 #d4f1ff66,0 4px 18px #1596ff1a; }
.auth-page .form-submit:hover { background:#8edbff; transform:none; }
.auth-page .auth-email-divider { display:flex; align-items:center; gap:12px; margin:14px 0; color:var(--muted); font-size:12px; line-height:1; }
.auth-page .auth-email-divider::before,.auth-page .auth-email-divider::after { content:""; flex:1; height:1px; background:var(--line); }
.auth-page .auth-google { display:flex; align-items:center; justify-content:center; gap:11px; width:100%; min-height:48px; padding:11px 16px; border:1px solid #315574; border-radius:8px; background:var(--surface); color:var(--ink); font-size:16px; font-weight:600; box-shadow:none; }
.auth-page .auth-google svg { width:20px; height:20px; flex-shrink:0; }
.auth-page .auth-google:hover:not(:disabled) { background:var(--raised); border-color:var(--accent); transform:none; }
.auth-page .auth-google:disabled { opacity:.55; }
.auth-page .auth-telegram { margin-top:10px; border-color:#2384ad; }
.auth-page .auth-telegram svg { color:#32a8da; }
.auth-page .auth-google-note { margin:8px 0 0; color:var(--muted); font-size:11px; line-height:1.6; text-align:center; }
.auth-page .forgot-password { display:block; width:fit-content; margin:19px auto 0; font-size:13px; font-weight:600; text-decoration:none; }
.auth-page .auth-privacy-note { display:flex; justify-content:center; gap:10px; margin:30px 0 0; color:var(--muted); font-size:14px; line-height:1.6; }
.auth-page .auth-privacy-note button { color:var(--muted); }
.auth-page .form-message { margin:12px 0 0; min-height:0; color:var(--accent); font-size:12px; line-height:1.6; text-align:center; }
.auth-page .form-message.is-error { color:#ff9b90; }
.auth-page .form-message:empty { display:none; }
.auth-page .config-note { margin:0 0 16px; padding:10px 12px; background:var(--surface); border:1px solid var(--line); color:var(--muted); font-size:12px; }
.auth-page .session-loading { color:var(--muted); text-align:center; }
.auth-page .auth-input-shell.is-invalid { border-color:#ff9b90; box-shadow:none; }
.auth-field-error { color:#ff9b90; font-size:12px; line-height:1.4; }
.auth-sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.auth-page .site-dialog { background:var(--surface); border-color:var(--line); color:var(--ink); box-shadow:0 18px 60px #02091466; }
.auth-page .site-dialog::backdrop { background:#020914bd; }
.auth-page .dialog-close { color:var(--muted); }
.auth-page .dialog-eyebrow,.auth-page .privacy-content h3 { color:var(--accent); }
.auth-page .privacy-content p,.auth-page .cookie-section p,.auth-page .privacy-detail { color:var(--muted); }
.auth-page .cookie-section { border-color:var(--line); }
.auth-page .cookie-section strong { color:var(--ink); }
.auth-page .site-dialog .button-dark { background:var(--accent); color:#03131f; }
.auth-page .site-dialog .button-dark:hover { background:#8edbff; }
.auth-page .site-dialog .button-outline { border-color:#315574; }
@media(max-width:600px) { .auth-page-header { padding-top:40px; } .auth-page-main { margin-top:130px; } }
@media(max-height:720px) { .auth-page-main { margin-top:55px; } }
@media(prefers-reduced-motion:reduce) { .auth-input-shell { transition:none; } }
