:root{--grund: #111111;--karte: #1a1a1a;--rand: #2e2b24;--text: #f3ecd8;--text-gedaempft: #b8ad91;--gold: #c9a227;--fehler: #e2a0a0}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--grund);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}a{color:var(--gold)}:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.app-shell{display:flex;flex-direction:column;min-height:100%}.app-main{flex:1;width:100%;max-width:960px;margin:0 auto;padding:2rem 1.5rem}.topbar{border-bottom:1px solid var(--rand)}.topbar__inner{max-width:960px;margin:0 auto;padding:1.25rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}.topbar__logo{font-weight:600;letter-spacing:.02em;text-decoration:none;color:var(--text)}.topbar__nav{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}.topbar__nav a{color:var(--text);text-decoration:none;opacity:.85}.topbar__nav a:hover{opacity:1;text-decoration:underline}.footer{border-top:1px solid var(--rand);padding:1.5rem;text-align:center;color:var(--text-gedaempft);font-size:.85rem}.footer p{margin:.25rem 0;max-width:640px;margin-left:auto;margin-right:auto}.karte{background:var(--karte);border:1px solid var(--rand);border-radius:10px;padding:2rem;margin:2rem auto;max-width:560px}.karte--schmal{max-width:400px}.karte--breit{max-width:900px}.karte h1{margin-top:0;font-size:1.4rem;font-weight:600;letter-spacing:.01em}form{display:flex;flex-direction:column;gap:1.1rem}label{display:block;font-size:.85rem;color:var(--text-gedaempft);margin-bottom:.35rem}input,select,textarea{width:100%;background:var(--grund);border:1px solid var(--rand);color:var(--text);padding:.7rem .8rem;border-radius:6px;font-size:1rem;font-family:inherit}textarea{resize:vertical}.feld-reihe{display:flex;gap:1rem}.feld-reihe>*{flex:1;min-width:0}.checkbox-zeile{display:flex;align-items:flex-start;gap:.6rem}.checkbox-zeile--abstand{margin:1rem 0}.checkbox-zeile input[type=checkbox]{width:auto;margin-top:.2rem;flex-shrink:0}.checkbox-zeile label{margin-bottom:0;color:var(--text);font-size:.95rem}button{background:var(--gold);color:var(--grund);border:none;padding:.75rem 1.1rem;border-radius:6px;font-size:1rem;font-weight:600;font-family:inherit;cursor:pointer}button:disabled{opacity:.6;cursor:not-allowed}.link-button{background:none;color:var(--gold);padding:0;font-weight:400;font-size:.9rem;text-decoration:underline;align-self:flex-start}.fehlertext{color:var(--fehler);font-size:.9rem;margin:0}.hinweistext{color:var(--text-gedaempft);font-size:.9rem;margin:0}.modul-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.25rem;margin:1.5rem 0}.modul-karte{background:var(--karte);border:1px solid var(--rand);border-radius:10px;overflow:hidden;text-decoration:none;color:var(--text);display:flex;flex-direction:column;transition:border-color .15s ease}.modul-karte:hover{border-color:var(--gold)}.modul-karte__bild{aspect-ratio:16 / 9;width:100%;background:var(--grund);display:flex;align-items:center;justify-content:center;color:var(--text-gedaempft);font-size:.85rem;text-align:center;padding:.5rem;object-fit:cover}.modul-karte__inhalt{padding:.9rem 1rem 1.1rem}.modul-karte__badge{display:inline-block;font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--gold);margin-bottom:.3rem}.modul-karte__titel{font-weight:600;font-size:1rem;margin:0}.abschnitt-titel{font-size:1.05rem;font-weight:600;margin:2rem 0 0;border-bottom:1px solid var(--rand);padding-bottom:.5rem}.video-wrapper{position:relative;width:100%;aspect-ratio:16 / 9;background:#000;border-radius:8px;overflow:hidden;margin:1rem 0 1.5rem}.video-wrapper iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}.video-platzhalter{width:100%;aspect-ratio:16 / 9;border:1px dashed var(--rand);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--text-gedaempft);margin:1rem 0 1.5rem}.beschreibung{line-height:1.6}.beschreibung p:first-child{margin-top:0}.download-liste{list-style:none;padding:0;margin:.5rem 0 0;display:flex;flex-direction:column;gap:.5rem}.download-liste a{text-decoration:underline}.status-block{background:var(--grund);border:1px solid var(--rand);border-radius:8px;padding:1.1rem 1.25rem;margin:0 0 1.5rem}.status-block p{margin:.35rem 0}.status-block--erfolg{border-color:var(--gold)}.gold-text{color:var(--gold);font-weight:600}.fehler-text-stark{color:var(--fehler);font-weight:600}table.tabelle{width:100%;border-collapse:collapse;margin:1rem 0;font-size:.9rem}table.tabelle th,table.tabelle td{text-align:left;padding:.55rem .6rem;border-bottom:1px solid var(--rand)}table.tabelle th{color:var(--text-gedaempft);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.03em}.modal-hintergrund{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;display:flex;align-items:center;justify-content:center;padding:1.5rem;z-index:100}.modal{background:var(--karte);border:1px solid var(--gold);border-radius:10px;padding:1.75rem;max-width:460px;width:100%}.modal h2{margin-top:0;font-size:1.15rem}.modal__aktionen{display:flex;gap:.75rem;margin-top:1.5rem;justify-content:flex-end}.modal__aktionen .link-button{align-self:center}.admin-nav{display:flex;gap:1.5rem;border-bottom:1px solid var(--rand);margin:0 0 1.5rem;padding-bottom:.75rem}.admin-nav__link{color:var(--text-gedaempft);text-decoration:none;font-weight:600;font-size:.95rem;padding-bottom:.5rem}.admin-nav__link:hover{color:var(--text)}.admin-nav__link--aktiv{color:var(--gold);border-bottom:2px solid var(--gold)}.filter-leiste{display:flex;gap:1rem;flex-wrap:wrap;margin:1rem 0 1.5rem}.filter-leiste>*{flex:1;min-width:200px}.filter-leiste label{margin-bottom:.35rem}table.tabelle--klickbar tbody tr{cursor:pointer}table.tabelle--klickbar tbody tr:hover{background:#c9a2270f}.badge{display:inline-block;padding:.2rem .6rem;border-radius:999px;font-size:.78rem;font-weight:600;border:1px solid var(--rand);color:var(--text-gedaempft);white-space:nowrap}.badge--gold{color:var(--gold);border-color:var(--gold)}.badge--erfolg{color:#8fae7c;border-color:#8fae7c}.badge--fehler{color:var(--fehler);border-color:var(--fehler)}.aktionen-leiste{display:flex;gap:.75rem;flex-wrap:wrap;margin:1.25rem 0 0}.aktionen-leiste .button--gefahr{background:transparent;color:var(--fehler);border:1px solid var(--fehler)}.aktionen-leiste button{width:auto}.stammdaten-form{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.1rem;align-items:end}.stammdaten-form .stammdaten-form__aktionen{grid-column:1 / -1;display:flex;align-items:center;gap:1rem}.stammdaten-form .stammdaten-form__aktionen button{width:auto}.tabelle-leer{color:var(--text-gedaempft);font-size:.9rem}.pruefung-leiste{position:sticky;top:0;z-index:10;background:var(--karte);border:1px solid var(--rand);border-radius:8px;padding:.85rem 1.25rem;margin-bottom:1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.pruefung-leiste__countdown{font-variant-numeric:tabular-nums;font-weight:600;font-size:1.1rem}.pruefung-leiste__countdown--knapp{color:var(--fehler)}.frage-karte{background:var(--karte);border:1px solid var(--rand);border-radius:10px;padding:1.25rem 1.5rem;margin-bottom:1rem}.frage-karte legend{padding:0;font-weight:600;margin-bottom:.85rem;white-space:normal}.frage-karte fieldset{border:none;padding:0;margin:0}.antwort-option{display:flex;align-items:flex-start;gap:.6rem;padding:.4rem 0}.antwort-option input[type=radio]{width:auto;margin-top:.25rem;flex-shrink:0}.antwort-option label{margin-bottom:0;color:var(--text);font-size:.95rem}.abgeben-leiste{position:sticky;bottom:0;background:var(--grund);padding:1rem 0;margin-top:1rem}
