:root {
      --primary: #052c0d;
      --font-hero: normal normal 700 1em 'Libre Baskerville', -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, sans-serif;
      --fontSize-hero: calc(68px * var(--fontScaleFactor));
      --fontSize-subtitle: max(calc(22px * var(--fontScaleFactor)), 16px);
      --fontSize-subheading: max(calc(22px * var(--fontScaleFactor)), 16px);
      --fontScaleFactor: 1;
      --primary-dark: #052c0d;
      --accent: #7CC243;
      --text: #fefefe;
      --text-muted: #cbd5e0;
      --btn-bg: #ffffff;
      --btn-hover: #edf2f7;
      --font: 'Fira Code', 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
      --badge-bg: #7CC243;
      --badge-text: #1f1f1f;
    }

  html,body{height:100%;font-family:var(--font);background-color:var(--primary);color:var(--text);}
  /* .auth-shell{display:grid;place-items:center;min-height:100%;padding:4rem 1rem;} */
  .auth-shell {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center; /* vertical center */
  min-height: 100vh;       /* full viewport height */
}
  .brand{display:flex;align-items:center;gap:.6rem;font-weight:800;}
  .brand .dot{width:.8rem;height:.8rem;border-radius:999px;background:var(--accent);box-shadow:0 0 32px rgba(124,58,237,.55)}
  .v-card{width:min(520px,100%);background:var(--primary-dark);border:1px solid rgba(255,255,255,.06);border-radius:20px;overflow:hidden;box-shadow:0 12px 60px rgba(0,0,0,.55);}
  .card-pad{padding:2rem;}
  .card-vibe{width:min(980px,100%);background-color:var(--primary-dark);border-radius:20px;overflow:hidden;box-shadow:0 12px 60px rgba(0,0,0,.55);}
  .hero{padding:2.25rem;border-bottom:1px solid rgba(255,255,255,.06);}
  .headline{font:var(--font-hero);font-size:var(--fontSize-hero);line-height:1.15;margin:.75rem 0 .5rem}
  .paint{position:relative;display:inline-block}
  .paint:after{content:"";position:absolute;left:-4px;right:-4px;bottom:0;height:.55em;background:var(--accent);opacity:.5;z-index:-1;}
  .subhead{color:var(--text-muted);font-size:var(--fontSize-subtitle)}
  .form-pane{padding:2rem;}
  .btn-github{ --bs-btn-color:var(--text); --bs-btn-bg:#161b22; --bs-btn-border-color:#30363d; --bs-btn-hover-bg:#0d1117; --bs-btn-hover-border-color:#30363d; font-weight:600 }
  .btn-primary-vibe{background:var(--accent);border-color:var(--accent);color:var(--badge-text);font-weight:700;}
  .btn-primary-vibe:hover{background:var(--btn-hover);}
  .form-control{background:#0e131a;border-color:#1f2630;color:var(--text)}
  .form-control:focus{border-color:var(--accent);box-shadow:0 0 0 .25rem rgba(124,58,237,.25)}
  .divider{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;color:var(--text-muted);font-weight:600}
  .divider::before,.divider::after{content:"";height:1px;background:rgba(255,255,255,.08)}
  .footer-mini{color:var(--text-muted);font-size:.85rem}