/* ============================================================
   Login-Screen & Toast-Benachrichtigungen
   ============================================================ */

.login-screen {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-4);
}

.login-screen[hidden] {
  display: none;
}

.login-card {
  background: var(--paper);
  border: 1px solid var(--paper-line);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-raised);
  padding: var(--space-5);
  max-width: 380px;
  width: 100%;
  text-align: center;
}

.login-card h1 { font-size: var(--text-xl); color: var(--pen-blue); margin-bottom: var(--space-2); }
.login-card p { color: var(--ink-soft); margin: 0 0 var(--space-4); font-size: var(--text-sm); }

#login-form {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

#access-code-input {
  font-family: var(--font-mono);
  font-size: var(--text-base);
  padding: var(--space-3);
  border: 2px solid var(--paper-line);
  border-radius: var(--radius-md);
  background: var(--paper);
  color: var(--ink);
  text-align: center;
}

#access-code-input:focus {
  border-color: var(--pen-blue);
  outline: none;
}

.login-error {
  color: var(--brick);
  font-size: var(--text-sm);
  margin-top: var(--space-3);
}

/* --- Toasts --- */
.toast-container {
  position: fixed;
  bottom: var(--space-4);
  right: var(--space-4);
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  z-index: 100;
}

@media (max-width: 780px) {
  .toast-container {
    left: var(--space-3);
    right: var(--space-3);
    bottom: 72px; /* über der mobilen Tab-Bar */
  }
}

.toast {
  background: var(--ink);
  color: var(--paper);
  padding: var(--space-3) var(--space-4);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-raised);
  display: flex;
  align-items: center;
  gap: var(--space-2);
  font-size: var(--text-sm);
  font-weight: 600;
  animation: toast-in 250ms ease;
  max-width: 320px;
}

.toast.toast-xp { background: var(--pen-blue); }
.toast.toast-badge { background: var(--gold); color: var(--ink); }

@keyframes toast-in {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

.toast.toast-out {
  animation: toast-out 200ms ease forwards;
}

@keyframes toast-out {
  to { opacity: 0; transform: translateY(-4px); }
}

@media (prefers-reduced-motion: reduce) {
  .toast, .toast.toast-out { animation: none; }
}
