/* Vendiac 3.08 — login page. Presentation only: the server owns the Google link,
   CSRF, destinations and language. Same deep navy-to-black field as the menu. */
.auth-welcome { background:#000; }
html:has(body.auth-welcome) { background:#000; }
.auth-welcome .auth-page {
  justify-content:flex-start; align-items:center;
  padding:max(20px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));
  background:radial-gradient(120% 70% at 50% -10%,#14233a 0%,rgba(20,35,58,0) 62%),linear-gradient(180deg,#0a1220 0%,#05070d 46%,#000 100%);
}
.auth-welcome .auth-back { position:absolute; top:max(14px,env(safe-area-inset-top)); left:max(12px,env(safe-area-inset-left)); width:44px; min-width:44px; padding:0; }
.auth-welcome .auth-back span { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.auth-welcome .auth-shell { width:min(440px,100%); margin:clamp(56px,11vh,104px) 0 0; }
/* Existing login logo (3.07 / live): same asset and 240 px size, centred above the heading. */
@media (max-width:719px) { .auth-welcome .auth-wordmark { margin:clamp(64px,10vh,96px) auto 0; } .auth-welcome .auth-shell { margin-top:48px; } }
.auth-welcome .auth-head { margin:0 0 32px; text-align:left; }
.auth-welcome .auth-head h1 { margin:0 0 10px; font-size:34px; line-height:1.15; font-weight:700; letter-spacing:-.03em; color:#fff; }
.auth-welcome .auth-head p { font-size:16px; line-height:1.5; color:#d6dbe4; }
.auth-welcome .auth-actions { display:grid; gap:12px; }
.auth-welcome .social-row { margin:0; }
.auth-welcome .social-btn { min-height:56px; background:#fff; color:#000; font-weight:600; font-size:17px; overflow:visible; }
.auth-welcome .social-btn::before, .auth-welcome .social-btn::after { content:none; display:none; }
.auth-welcome .social-btn img { width:22px; height:22px; }
.auth-welcome .auth-email { margin-top:12px; }
.auth-welcome .auth-create { margin:40px 0 0; text-align:center; }
.auth-welcome .auth-create p { margin:0 0 12px; font-size:15px; color:#d6dbe4; }
.auth-welcome .auth-create-btn { min-height:56px; display:flex; align-items:center; justify-content:center; padding:14px 20px; border-radius:999px; background:#161b22; color:#fff; font-size:17px; font-weight:600; }
.auth-welcome .auth-foot { width:min(440px,100%); margin:auto 0 0; padding-top:40px; display:grid; justify-items:center; gap:6px; }
.auth-welcome .auth-lang-toggle { min-height:44px; display:inline-flex; align-items:center; gap:8px; padding:0 14px; border:0; border-radius:999px; background:rgba(255,255,255,.08); color:#fff; font:inherit; font-size:15px; cursor:pointer; }
.auth-welcome .auth-lang-toggle img { width:24px; height:24px; border-radius:50%; object-fit:cover; }
/* 3.08 language sheet: a no-script popover (light dismiss: backdrop tap and Esc); slides in from the right like the site menus. */
.auth-welcome .auth-lang-sheet { position:fixed; inset:auto 0 0; width:100%; max-width:640px; margin:0 auto; padding:0; border:0; background:transparent; color:#fff; overflow:visible; transform:translateX(101%); transition:transform 240ms cubic-bezier(.22,1,.36,1), overlay 240ms allow-discrete, display 240ms allow-discrete; }
.auth-welcome .auth-lang-sheet:popover-open { transform:none; }
@starting-style { .auth-welcome .auth-lang-sheet:popover-open { transform:translateX(101%); } }
.auth-welcome .auth-lang-sheet::backdrop { background:rgba(0,0,0,.52); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); }
.auth-welcome .auth-lang-sheet__panel { display:flex; flex-direction:column; gap:14px; padding:8px 16px max(20px,env(safe-area-inset-bottom)); border-radius:22px 22px 0 0; background:#1c1c1e; box-shadow:0 -12px 40px rgba(0,0,0,.45); }
.auth-welcome .auth-lang-sheet__top { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:44px; }
.auth-welcome .auth-lang-sheet__title { margin:0; padding-left:4px; font-size:17px; font-weight:600; color:#fff; }
.auth-welcome .auth-lang-sheet__cancel { min-width:44px; min-height:44px; padding:0 4px; border:0; background:transparent; color:#0a84ff; font:inherit; font-size:17px; font-weight:500; cursor:pointer; }
.auth-welcome .auth-lang { display:flex; flex-direction:column; padding:6px; border-radius:18px; background:#2c2c2e; }
.auth-welcome .auth-lang a { min-height:64px; display:flex; align-items:center; gap:14px; padding:10px 12px; border-radius:14px; color:#fff; font-size:17px; font-weight:500; }
.auth-welcome .auth-lang a[aria-current="true"] { background:rgba(255,255,255,.09); }
.auth-welcome .auth-lang img { width:40px; height:40px; border-radius:50%; object-fit:cover; box-shadow:0 0 0 1px rgba(255,255,255,.12); }
.auth-welcome .auth-lang-sheet :is(a,button):focus-visible { outline:2px solid #0a84ff; outline-offset:2px; }
@media (min-width:821px) {
  .auth-welcome .auth-lang-sheet { inset:0; width:min(440px,calc(100% - 48px)); height:fit-content; margin:auto; transform:translateX(calc(50vw + 50%)); transition:transform 240ms cubic-bezier(.22,1,.36,1), overlay 240ms allow-discrete, display 240ms allow-discrete; }
  .auth-welcome .auth-lang-sheet:popover-open { transform:none; }
  @starting-style { .auth-welcome .auth-lang-sheet:popover-open { transform:translateX(calc(50vw + 50%)); } }
  .auth-welcome .auth-lang-sheet__panel { padding:20px; border-radius:22px; }
}
@media (prefers-reduced-motion:reduce) { .auth-welcome .auth-lang-sheet { transition:none; } }
.auth-welcome .auth-privacy { min-height:44px; display:inline-flex; align-items:center; padding:0 10px; color:#c8ced8; font-size:15px; }
@media (hover:hover) {
  .auth-welcome .social-btn:hover { background:#e9ebef; }
  .auth-welcome .auth-create-btn:hover { background:#1f2630; }
  .auth-welcome .auth-lang a:hover { background:rgba(255,255,255,.06); }
  .auth-welcome .auth-lang a[aria-current="true"]:hover { background:rgba(255,255,255,.11); }
  .auth-welcome .auth-privacy:hover { color:#fff; }
}
@media (min-width:720px) {
  .auth-welcome .auth-page { justify-content:center; }
  .auth-welcome .auth-shell { margin:0; padding:40px 40px 36px; border-radius:28px; background:rgba(14,20,31,.72); box-shadow:0 0 0 1px rgba(255,255,255,.06),0 30px 80px rgba(0,0,0,.45); }
  .auth-welcome .auth-foot { margin:28px 0 0; padding:0; }
}
@media (max-height:640px) { .auth-welcome .auth-shell { margin-top:36px; } }
@media (forced-colors:active) { .auth-welcome .social-btn, .auth-welcome .auth-create-btn { border:2px solid ButtonText; } }
/* The title is the one bold line on the page (the UI is otherwise regular weight). */
html[data-vendiac-ui] body.auth-welcome h1#auth-title { font-weight:700 !important; font-size:36px; }
.auth-welcome .auth-back { background:transparent; }
