/* Vendiac 1.50 — a borderless auth screen; existing server-owned forms and OAuth.
   The Google edge uses Vendiac's existing rainbow colours. No glow or imagery. */
.auth-compact { background:#000; color:#fff; }
.auth-compact .auth-page {
  min-height:100vh; min-height:100dvh; display:flex; flex-direction:column;
  justify-content:center; align-items:center; gap:0;
  padding:100px max(24px,env(safe-area-inset-right)) max(72px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));
}
.auth-compact .auth-wordmark {
  position:static; transform:none; display:block; flex:none;
  width:clamp(224px,21vw,300px); height:auto; margin:0 0 clamp(48px,7vh,76px);
}
.auth-compact .auth-wordmark-image { display:block; width:100%; height:auto; max-height:none; object-fit:contain; }
.auth-compact .auth-back {
  top:max(20px,env(safe-area-inset-top)); left:max(22px,env(safe-area-inset-left));
  min-height:44px; min-width:44px; padding:0 14px 0 10px;
  border:0; background:transparent; border-radius:999px;
  font-size:14px; font-weight:550; gap:5px;
}
.auth-compact .auth-back svg { width:19px; height:19px; }
.auth-compact .auth-shell { display:block; width:min(440px,100%); margin:0; }
.auth-compact .auth-card { display:block; width:100%; padding:0; background:transparent; border:0; border-radius:0; box-shadow:none; }
.auth-compact .auth-head { margin:0 0 38px; text-align:center; }
.auth-compact .auth-head h1 { margin:0 0 12px; font-size:36px; line-height:1.2; font-weight:650; letter-spacing:-.04em; }
.auth-compact .auth-head p { margin:0; max-width:none; font-size:15px; line-height:1.6; color:#aaa; letter-spacing:0; }
.auth-compact .social-row { display:block; margin:0 0 12px; }
.auth-compact .social-btn,.auth-compact .auth-email>summary {
  width:100%; height:auto; min-height:56px; display:flex;
  justify-content:center; align-items:center; gap:12px;
  padding:14px 20px; background:#161616; border:0; border-radius:999px;
  color:#fff; font-size:16px; line-height:1.5; font-weight:550;
  text-align:center; text-decoration:none; cursor:pointer; box-shadow:none;
}
.auth-compact .social-btn {
  position:relative; isolation:isolate; overflow:hidden; background:transparent;
}
.auth-compact .social-btn::before {
  content:""; position:absolute; z-index:-2; pointer-events:none; inset:0;
  /* Two full repetitions keep the entire rainbow visible while the edge moves. */
  background:linear-gradient(90deg,#ff2457 0%,#ff8a00 7.14%,#ffcf00 14.28%,#00ce83 21.42%,#00baff 28.57%,#5149ff 35.71%,#ae24ff 42.85%,#ff2457 50%,#ff8a00 57.14%,#ffcf00 64.28%,#00ce83 71.42%,#00baff 78.57%,#5149ff 85.71%,#ae24ff 92.85%,#ff2457 100%);
  background-size:200% 100%; animation:vendiac-auth-rainbow 8s linear infinite;
}
.auth-compact .social-btn::after {
  content:""; position:absolute; z-index:-1; pointer-events:none;
  inset:2px; border-radius:inherit; background:#0c0c0c;
}
@keyframes vendiac-auth-rainbow { from { background-position:0% 50%; } to { background-position:100% 50%; } }
.auth-compact .social-btn img { width:22px; height:22px; flex:none; }
.auth-compact .auth-email { width:100%; }
.auth-compact .auth-email>summary { list-style:none; }
.auth-compact .auth-email>summary::-webkit-details-marker { display:none; }
.auth-compact .auth-email>summary::marker { content:''; }
.auth-compact .auth-email>summary svg { width:22px; height:22px; stroke:currentColor; stroke-width:1.6; flex:none; }
.auth-compact .auth-email[open]>summary { background:#1c1c1c; }
.auth-compact .auth-form { display:grid; gap:18px; padding-top:24px; }
.auth-compact .field-group { gap:8px; }
.auth-compact .field-group label { font-size:13px; font-weight:550; }
.auth-compact .field-group input { min-height:54px; padding:14px 18px; border:0; border-radius:18px; font-size:16px; background:#171717; }
.auth-compact .field-group input:focus { outline:2px solid #fff; outline-offset:3px; box-shadow:none; }
.auth-compact .auth-password-hint { color:#aaa; font-size:12px; line-height:1.6; }
.auth-compact .email-btn { min-height:54px; margin:4px 0 0; padding:14px 20px; font-size:16px; font-weight:650; border:0; border-radius:999px; background:#fff; color:#000; }
.auth-compact .switch-auth { margin:32px 0 0; font-size:14px; color:#aaa; line-height:1.7; text-align:center; }
.auth-compact .switch-auth a { display:inline-block; padding:8px 2px; font-weight:550; text-decoration:none; color:#fff; }
.auth-compact .auth-alert { padding:16px 18px; margin:0 0 20px; border:0; border-radius:18px; font-size:14px; background:#181818; }
.auth-compact :is(a,summary,button,input):focus-visible { outline:2px solid #fff!important; outline-offset:4px!important; }
@media(hover:hover) {
  .auth-compact .social-btn:hover { background:transparent; }
  .auth-compact .social-btn:hover::after { background:#181818; }
  .auth-compact .auth-email>summary:hover,.auth-compact .auth-back:hover { background:#222; }
  .auth-compact .switch-auth a:hover { text-decoration:underline; text-underline-offset:4px; }
}
@media(max-width:600px) {
  .auth-compact .auth-page { padding-top:96px; padding-bottom:48px; }
  .auth-compact .auth-wordmark { width:min(240px,70vw); margin-bottom:48px; }
  .auth-compact .auth-back { top:16px; left:14px; }
  .auth-compact .auth-head { margin-bottom:30px; }
  .auth-compact .auth-head h1 { font-size:32px; }
  .auth-compact .auth-head p { font-size:14px; }
  .auth-compact .switch-auth { margin-top:26px; }
}
@media(max-height:720px) {
  .auth-compact .auth-page { justify-content:flex-start; padding-top:86px; }
  .auth-compact .auth-wordmark { width:240px; margin-bottom:32px; }
  .auth-compact .auth-head { margin-bottom:26px; }
}
@media(prefers-reduced-motion:reduce) { .auth-compact *, .auth-compact *::before, .auth-compact *::after { animation:none!important; transition:none!important; } }
@media(forced-colors:active) {
  .auth-compact .social-btn { border:2px solid ButtonText; background:ButtonFace; color:ButtonText; }
  .auth-compact .social-btn::before,.auth-compact .social-btn::after { display:none; }
  .auth-compact :is(.auth-email>summary,.email-btn) { border:1px solid ButtonText; }
}
