/* Eigene Schicht statt app.css: Diese Seite teilt mit der App nur die Token. */
  body {
    min-height: 100dvh;
    display: grid;
    place-items: center;
    padding: var(--space-7) var(--gutter-screen);
  }
  .anmeldung {
    width: 100%;
    max-width: 26rem;
    display: grid;
    gap: var(--space-7);
    justify-items: center;
    text-align: center;
  }
  .anmeldung__wort {
    /* Wortmarke ist gesetzte Schrift, keine Datei. Agentenstimme. */
    font: var(--weight-regular) 28px / 1 var(--font-agent);
    letter-spacing: -0.015em;
    color: var(--text-agent);
  }
  .anmeldung__satz {
    font: var(--type-agent);
    color: var(--text-agent);
    max-width: 24ch;
  }
  form { display: grid; gap: var(--space-4); width: 100%; }
  label {
    font: var(--weight-medium) var(--text-system-sm) / var(--lh-system) var(--font-system);
    letter-spacing: var(--tracking-caps);
    text-transform: uppercase;
    color: var(--text-faint);
    text-align: left;
  }
  input {
    width: 100%;
    box-sizing: border-box;
    min-height: 52px;
    padding: 0 var(--space-5);
    border: var(--border-hairline) solid var(--border-field);
    border-radius: var(--radius-pill);
    background: var(--surface-card);
    color: var(--text-body);
    font: var(--weight-regular) var(--text-system-lg) / 1 var(--font-system);
  }
  input:focus-visible {
    outline: 1.5px solid var(--accent);
    outline-offset: 2px;
  }
  button {
    min-height: 52px;
    border: var(--border-hairline) solid var(--accent);
    border-radius: var(--radius-pill);
    background: var(--accent);
    color: var(--text-on-accent);
    font: var(--type-button);
    cursor: pointer;
    margin-top: var(--space-2);
  }
  /* Kein Rot. Ein Tippfehler ist kein Alarm. */
  .hinweis {
    font: var(--type-meta);
    color: var(--text-system);
    background: var(--surface-sunken);
    border: var(--border-hairline) solid var(--border-card);
    border-radius: var(--radius-md);
    padding: var(--space-4) var(--space-5);
    width: 100%;
    box-sizing: border-box;
  }
  .fuss { font: var(--type-meta); color: var(--text-faint); max-width: 30ch; }

/* Aus Inline-Attributen hierher gezogen — die CSP erlaubt keine Inline-Stile,
   und zwar mit Absicht: Ein einschleusbares style-Attribut ist ein Kanal. */
.fuss--links { text-align: left; }
.leiser-link { color: var(--text-faint); }

