:root{
  --bg:#0f1114;
  --card:#141618;
  --muted:#9aa0a6;
  --accent:#6f39ff; /* dezentes Lila */
  --white:#ffffff;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
  background:var(--bg);
  color:var(--white);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

.center{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
}

.card{
  background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));
  border:1px solid rgba(255,255,255,0.04);
  padding:28px;
  border-radius:12px;
  width:380px;
  text-align:center;
  box-shadow:0 6px 30px rgba(0,0,0,0.6);
}

.brand{
  font-size:26px;
  letter-spacing:1px;
  margin:0 0 6px 0;
}

.tagline{
  color:var(--muted);
  margin:0 0 18px 0;
}

.btn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  justify-content:center;
  padding:10px 14px;
  border-radius:10px;
  text-decoration:none;
  color:var(--white);
  background:var(--accent);
  border:none;
  cursor:pointer;
  transition:transform .12s ease, box-shadow .12s ease;
  box-shadow:0 6px 18px rgba(111,57,255,0.12);
}
.btn:hover{ transform:translateY(-2px); box-shadow:0 10px 30px rgba(111,57,255,0.14) }
.btn.outline{ background:transparent; border:1px solid rgba(255,255,255,0.06) }

.btn.google{ background:transparent; border:1px solid rgba(255,255,255,0.06); padding:10px; color:var(--white) }

.small{ padding:6px 10px; font-size:13px }
.hidden{ display:none }

.avatar{ width:44px; height:44px; border-radius:50%; object-fit:cover; margin-bottom:8px }
.avatar.big{ width:96px; height:96px }

.topbar{
  display:flex; justify-content:space-between; align-items:center;
  padding:14px 24px; background:transparent; border-bottom:1px solid rgba(255,255,255,0.03);
}
.topbar .brand{ font-weight:600 }

.page{ padding:32px; display:flex; justify-content:center }

.muted{ color:var(--muted); font-size:13px }
.small{ font-size:13px }

/* kleine Animation */
.fade-in{ animation: fadeIn .35s ease both }
@keyframes fadeIn { from { opacity:0; transform:translateY(6px) } to { opacity:1; transform:none } }