/* Shared styles for the login / signup pages */
:root {
  --bg:#05080b; --surface:rgba(255,255,255,0.05); --border:rgba(255,255,255,0.12);
  --text:#eaf2ef; --muted:#8a98a4; --accent:#1fe07a; --bad:#ff6b6b;
}
* { box-sizing:border-box; }
body {
  margin:0; min-height:100vh; display:grid; place-items:center;
  font-family:'Inter',system-ui,sans-serif; color:var(--text);
  background: radial-gradient(900px 600px at 50% -10%, rgba(31,224,122,0.12), transparent 60%), var(--bg);
  padding:24px;
}
.card { width:100%; max-width:400px; background:var(--surface); border:1px solid var(--border); border-radius:18px; padding:34px 32px; backdrop-filter:blur(14px); box-shadow:0 30px 70px -30px rgba(0,0,0,0.7); }
.brand { display:flex; align-items:center; gap:10px; font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:1.3rem; }
.brand .mark { display:grid; place-items:center; width:36px; height:36px; border-radius:10px; background:rgba(31,224,122,0.14); color:var(--accent); border:1px solid rgba(31,224,122,0.3); }
.accent { color:var(--accent); }
h1 { font-family:'Space Grotesk',sans-serif; font-size:1.3rem; margin:22px 0 6px; }
p.sub { color:var(--muted); font-size:.92rem; margin:0 0 22px; }
label { display:block; font-size:.84rem; color:var(--muted); margin:14px 0 7px; }
input { width:100%; background:#0a0f14; border:1px solid var(--border); border-radius:11px; padding:13px 14px; color:var(--text); font-size:1rem; font-family:inherit; }
input:focus { outline:none; border-color:var(--accent); box-shadow:0 0 0 3px rgba(31,224,122,0.15); }
button.submit { width:100%; margin-top:22px; padding:14px; border:0; border-radius:999px; font-weight:600; font-size:1rem; cursor:pointer; background:linear-gradient(135deg,var(--accent),#0fb95f); color:#042311; }
button.submit:disabled { opacity:.6; cursor:default; }
.err { color:var(--bad); font-size:.9rem; margin-top:14px; min-height:1.2em; text-align:center; }
.foot { text-align:center; margin-top:20px; color:var(--muted); font-size:.9rem; }
.foot a { color:var(--accent); text-decoration:none; }
.back { display:block; text-align:center; margin-top:18px; color:var(--muted); font-size:.88rem; text-decoration:none; }
.back:hover { color:var(--text); }
.perk { display:flex; align-items:center; gap:8px; color:var(--text); font-size:.9rem; margin-top:10px; }
.perk b { color:var(--accent); }
/* keyboard focus + press feedback + reduced motion (a11y) */
:focus-visible { outline:2px solid var(--accent); outline-offset:3px; border-radius:8px; }
input:focus-visible { outline:none; }
button.submit:active:not(:disabled) { transform:scale(.98); }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
}
