* { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
html, body { margin: 0; min-height: 100%; }
body {
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  background: radial-gradient(circle at 50% 0%, #4a3a8a, #1b1430 70%) fixed;
  color: #fff; padding: env(safe-area-inset-top) 0 env(safe-area-inset-bottom);
}
main { max-width: 560px; margin: 0 auto; padding: 28px 18px 40px; }
h1 { margin: 0; font-size: 34px; letter-spacing: .5px; }
.unter { margin: 4px 0 22px; opacity: .75; }
.kacheln { display: grid; gap: 14px; }
.kachel {
  display: grid; grid-template-columns: 76px 1fr; grid-template-rows: auto auto auto;
  column-gap: 14px; align-items: center; padding: 14px; border-radius: 20px;
  color: #fff; text-decoration: none; box-shadow: 0 8px 24px rgba(0,0,0,.35);
  transition: transform .12s;
}
.kachel:active { transform: scale(.97); }
.kachel.koenig { background: linear-gradient(135deg, #c0392b, #7a2012); }
.kachel.bus { background: linear-gradient(135deg, #2c7be5, #17408a); }
.kachel.rausch { background: linear-gradient(135deg, #3fa34d, #1d5c25); }
.kachel img, .kachel .bild {
  grid-row: 1 / 4; width: 76px; height: 76px; border-radius: 18px;
  display: flex; align-items: center; justify-content: center; font-size: 50px;
  background: rgba(255,255,255,.15);
}
.name { font-weight: 800; font-size: 19px; }
.text { font-size: 14px; opacity: .85; line-height: 1.35; margin-top: 2px; }
.stand { font-size: 12px; font-weight: 700; margin-top: 6px; opacity: .9; }
