/* ===== Sign up / Log in (demo screen — buttons do nothing) ===== */
.auth{min-height:100vh}
.auth__split{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}

/* left: form */
.auth__form-side{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:72px 40px 20px}
.auth__logo{position:absolute;left:64px;top:24px}
.auth__card{width:100%;max-width:440px;padding:28px 36px;border-radius:16px;background:#0D0D1C;display:flex;flex-direction:column;align-items:center;gap:18px;text-align:center;position:relative;isolation:isolate}
.auth__card::before{content:"";position:absolute;inset:0;border-radius:16px;padding:1px;background:linear-gradient(180deg,rgba(154,201,255,.16),rgba(154,201,255,.04) 70%,rgba(148,174,255,.1));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.auth__mark{display:block;line-height:0}
.auth__mark img{width:24px;height:26px;filter:grayscale(1) brightness(1.6);opacity:.45}
.auth__swap{display:flex;flex-direction:column;gap:10px;transition:opacity .25s ease,transform .3s var(--ease-out)}
.auth__title{margin:0;font-weight:700;font-size:28px;line-height:1.1;letter-spacing:-.5px}
.auth__sub{margin:0;font-family:"Inter",sans-serif;font-size:15px;line-height:1.4;color:var(--content-secondary)}
.auth__oauth{width:100%;display:flex;flex-direction:column;gap:10px}
.auth__social{width:100%;height:44px;display:flex;align-items:center;justify-content:center;gap:12px;border:0;border-radius:8px;background:#fff;color:#0B0B15;
  font:600 16px/1 "Geist",sans-serif;cursor:pointer;transition:transform .2s ease,box-shadow .3s ease,background-color .25s ease}
.auth__social svg{width:18px;height:18px;flex-shrink:0}
.auth__social:hover{background:#F3F3F7;box-shadow:0 0 0 3px rgba(230,255,42,.25)}
.auth__social:active{transform:scale(.98)}
.auth__or{width:100%;display:flex;align-items:center;gap:12px;font-family:"Inter",sans-serif;font-size:13px;color:var(--content-secondary)}
.auth__or::before,.auth__or::after{content:"";flex:1;height:1px;background:rgba(154,201,255,.12)}
.auth__email{width:100%;display:flex;flex-direction:column;gap:12px;text-align:left}
.auth__field{display:flex;flex-direction:column;gap:6px;font-family:"Inter",sans-serif;font-size:13px;color:#DEDEE5}
.auth__field input{height:44px;padding:0 14px;border:1px solid #2A2A5A;border-radius:8px;background:#090B26;color:#fff;font:500 15px "Inter",sans-serif;outline:none;transition:border-color .25s ease,box-shadow .25s ease}
.auth__field input::placeholder{color:#6E6D86}
.auth__field input:focus{border-color:var(--content-brand);box-shadow:0 0 0 3px rgba(230,255,42,.12)}
.auth__field--pass{display:none}
.auth[data-mode="login"] .auth__field--pass{display:flex;animation:fieldIn .35s var(--ease-out)}
@keyframes fieldIn{from{opacity:0;transform:translateY(-6px)}}
.auth__submit{width:100%;height:44px;font-size:16px;margin-top:2px}
.auth__switch{margin:0;font-family:"Inter",sans-serif;font-size:14px;color:#DEDEE5}
.auth__switch a{color:var(--content-brand);font-weight:600;text-decoration:none;background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .3s var(--ease-out)}
.auth__switch a:hover{background-size:100% 1px}
.auth__legal{margin:0;font-family:"Inter",sans-serif;font-size:12px;line-height:1.4;color:#6E6D86}
.auth__legal a{color:var(--content-secondary)}
.auth.is-swapping .auth__swap{opacity:0;transform:translateY(6px)}

/* right: testimonial */
.auth__quote-side{position:relative;overflow:hidden;isolation:isolate;display:flex;align-items:center;justify-content:center;padding:64px;background:var(--bg-secondary);border-left:1px solid rgba(154,201,255,.08)}
.auth__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transform:scale(1.08);transition:transform 1.8s var(--ease-out)}
.is-ready .auth__bg{transform:scale(1)}
.auth__glow{left:auto;right:-60px;top:auto;bottom:-80px;width:420px;height:300px;z-index:-1;opacity:.22!important;animation:none}
.auth__quote{position:relative;margin:0;max-width:560px;display:flex;flex-direction:column;gap:32px;transition:opacity .3s ease,transform .4s var(--ease-out)}
.auth.is-swapping .auth__quote{opacity:0;transform:translateY(10px)}
.auth__quote blockquote{position:relative;z-index:1;margin:0;font-weight:700;font-size:32px;line-height:1.15;color:#fff}
.auth__quote mark{background:linear-gradient(90deg,#21C45E,#E6FF2A 60%);-webkit-background-clip:text;background-clip:text;color:transparent}
.auth__qmark{position:absolute;z-index:0;font:700 220px/1 "Geist",sans-serif;color:#222247;pointer-events:none;user-select:none}
.auth__qmark--open{left:-56px;top:-112px}
.auth__qmark--close{right:-24px;bottom:-150px}
.auth__float{position:absolute;right:48px;bottom:40px;width:250px;height:auto;border-radius:16px;opacity:.9;animation:bob 6s ease-in-out infinite}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}

/* entrance */
.auth__card,.auth__logo,.auth__quote,.auth__float{opacity:0;transform:translateY(20px);transition:opacity .8s ease,transform .9s var(--ease-out)}
.auth__quote{transition-delay:.25s}.auth__float{transition-delay:.5s}
.is-ready .auth__card,.is-ready .auth__logo,.is-ready .auth__quote,.is-ready .auth__float{opacity:1;transform:none}

@media (max-width:1100px){
  .auth__quote blockquote{font-size:26px}
  .auth__float{display:none}
}
@media (max-width:860px){
  .auth__split{grid-template-columns:1fr}
  .auth__form-side{padding:96px 16px 40px}
  .auth__logo{left:16px;top:20px}
  .auth__quote-side{padding:72px 24px 64px;border-left:0;border-top:1px solid rgba(154,201,255,.08)}
  .auth__qmark{font-size:150px}
  .auth__qmark--open{left:-14px;top:-78px}
  .auth__qmark--close{right:0;bottom:-100px}
}
@media (max-width:760px){
  .auth__card{padding:28px 20px;gap:20px}
  .auth__title{font-size:26px}
  .auth__quote blockquote{font-size:22px}
  .author__img{width:48px;height:48px}
  .author__name{font-size:18px}
}
@media (prefers-reduced-motion: reduce){
  .auth *,.auth__card,.auth__quote{transition:none!important;animation:none!important;opacity:1!important;transform:none!important}
}
/* reuse the landing author block without its scroll-reveal */
.auth .author{opacity:1;transform:none;transition:none}
.auth .author__img{transform:none;transition:none}
