:root { --grund: #fafaf8; --karte: #fff; --linie: #e4e4e0; --text: #1d1e22; --matt: #6b6d74; --akzent: #3d4fb5; --akzent-hell: rgba(61,79,181,.1); --fehler: #b3261e; --ok: #2f7a3d; }
* { box-sizing: border-box; }
html, body { margin: 0; background: var(--grund); color: var(--text); font: 16px/1.5 -apple-system, system-ui, sans-serif; }
main { max-width: 560px; margin: 0 auto; padding: calc(env(safe-area-inset-top) + 18px) 18px calc(env(safe-area-inset-bottom) + 24px); min-height: 100vh; display: flex; flex-direction: column; }
section { display: flex; flex-direction: column; gap: 12px; flex: 1; }
[hidden] { display: none !important; }
h1 { font: 600 28px/1.2 Georgia, serif; margin: 8px 0 0; }
h2 { font-size: 13px; color: var(--matt); font-weight: 600; margin: 12px 0 0; }
p { margin: 0; }
.leise { color: var(--matt); font-size: 14px; }
.schloss { color: var(--ok); font-size: 13px; }
textarea { flex: 1; min-height: 40vh; border: 1px solid var(--linie); border-radius: 14px; padding: 14px; font: 18px/1.5 Georgia, serif; background: var(--karte); resize: none; outline: none; }
textarea:focus { border-color: var(--akzent); box-shadow: 0 0 0 3px var(--akzent-hell); }
button { font: inherit; border: 1px solid var(--linie); background: var(--karte); border-radius: 14px; padding: 12px; }
button.haupt { background: var(--akzent); border-color: var(--akzent); color: #fff; font-weight: 600; height: 52px; }
button:disabled { opacity: .45; }
.leise-knopf { border: 0; background: none; color: var(--matt); font-size: 14px; margin-top: auto; }
video { width: 100%; border-radius: 16px; background: #222; aspect-ratio: 3 / 4; object-fit: cover; }
ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 6px; }
li { display: flex; gap: 8px; align-items: flex-start; background: var(--karte); border: 1px solid var(--linie); border-radius: 10px; padding: 8px 10px; white-space: pre-wrap; overflow-wrap: anywhere; }
li span { flex: 1; }
.weg { border: 0; background: none; color: var(--matt); padding: 0 4px; }
.hinweis { min-height: 22px; margin-top: 12px; text-align: center; color: var(--matt); font-size: 14px; }
.hinweis.fehler { color: var(--fehler); }
