/* TextFX Studio — sign-in / installer shell */
:root{
  --ink:#f3f5f9; --ink-dim:#9aa3b2; --ink-faint:#636b7a;
  --bg:#07080c; --bg-2:#0c0e14; --line:#1c2029;
  --accent:#4cc9f0; --accent-2:#7b61ff; --gold:#e3c07b;
  --bad:#ff6b6b; --good:#4ade80;
  --r:14px;
}
*{box-sizing:border-box}
html,body{height:100%}
body.auth-body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  display:grid; place-items:center; padding:24px;
  background-image:
    radial-gradient(900px 500px at 12% -10%, rgba(76,201,240,.12), transparent 60%),
    radial-gradient(800px 520px at 100% 110%, rgba(123,97,255,.14), transparent 60%);
}
.auth-shell{
  width:min(980px,100%); display:grid; gap:28px;
  grid-template-columns:1.05fr .95fr; align-items:center;
}
@media (max-width:820px){ .auth-shell{grid-template-columns:1fr} .auth-hero{display:none} }

.auth-hero{padding:8px 12px}
.auth-hero__words{display:flex; flex-wrap:wrap; gap:10px 18px; font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:clamp(34px,6vw,64px); line-height:1; letter-spacing:-.02em}
.auth-hero__words .w{display:inline-block}
.w1{background:linear-gradient(90deg,var(--accent),#a6f1ff);-webkit-background-clip:text;background-clip:text;color:transparent;animation:tfx-sweep 3.2s linear infinite;background-size:220% 100%}
.w2{color:#fff;text-shadow:0 0 6px var(--accent),0 0 22px rgba(76,201,240,.65),0 0 48px rgba(76,201,240,.35);animation:tfx-pulse 2.6s ease-in-out infinite}
.w3{color:var(--ink);animation:tfx-morph 4.4s ease-in-out infinite;font-variation-settings:'wght' 700}
.w4{color:transparent;-webkit-text-stroke:1.6px var(--accent-2);animation:tfx-rise 3s ease-in-out infinite}
@keyframes tfx-sweep{to{background-position:220% 0}}
@keyframes tfx-pulse{0%,100%{opacity:1}50%{opacity:.55}}
@keyframes tfx-morph{0%,100%{letter-spacing:-.02em;opacity:.85}50%{letter-spacing:.14em;opacity:1}}
@keyframes tfx-rise{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.auth-hero__copy{margin:22px 0 0; color:var(--ink-dim); font-size:15px; max-width:34ch}

.auth-card{
  background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.012));
  border:1px solid var(--line); border-radius:20px; padding:30px;
  box-shadow:0 30px 80px -40px rgba(0,0,0,.9);
}
.auth-brand{display:flex; gap:12px; align-items:center; margin-bottom:22px}
.auth-mark{
  width:42px;height:42px;border-radius:12px;display:grid;place-items:center;
  font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:15px;color:#05070b;
  background:linear-gradient(135deg,var(--accent),var(--accent-2));
}
.auth-name{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:17px;letter-spacing:-.01em}
.auth-tag{color:var(--ink-faint);font-size:12px;margin-top:2px}
.auth-lead{color:var(--ink-dim);font-size:14px;line-height:1.6;margin:0 0 18px}

.auth-form{display:grid;gap:14px}
.auth-form label{display:grid;gap:7px;font-size:12.5px;color:var(--ink-dim);letter-spacing:.02em}
.auth-form input{
  width:100%;padding:12px 14px;border-radius:11px;border:1px solid var(--line);
  background:var(--bg-2);color:var(--ink);font-size:14.5px;font-family:inherit;
  transition:border-color .16s, box-shadow .16s;
}
.auth-form input:focus{outline:none;border-color:rgba(76,201,240,.65);box-shadow:0 0 0 3px rgba(76,201,240,.14)}
.auth-btn{
  display:block;width:100%;text-align:center;text-decoration:none;
  margin-top:6px;padding:12.5px 18px;border:0;border-radius:11px;cursor:pointer;
  font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:14.5px;color:#05070b;
  background:linear-gradient(135deg,var(--accent),var(--accent-2));
  transition:transform .14s, filter .14s;
}
.auth-btn:hover{transform:translateY(-1px);filter:brightness(1.07)}
.auth-alert{
  border:1px solid var(--line);border-left:3px solid var(--ink-faint);
  border-radius:10px;padding:12px 14px;margin:0 0 16px;font-size:13.5px;line-height:1.55;
  background:rgba(255,255,255,.02);
}
.auth-alert p{margin:5px 0 0;color:var(--ink-dim)}
.auth-alert--bad{border-left-color:var(--bad)}
.auth-alert--good{border-left-color:var(--good)}
.auth-mono{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:11.5px;word-break:break-all}
.auth-foot{margin:16px 0 0;color:var(--ink-faint);font-size:12px;line-height:1.6}
code{font-family:ui-monospace,Menlo,Consolas,monospace;background:rgba(255,255,255,.05);padding:1px 5px;border-radius:5px;font-size:.92em}
