.film-seite { display:block;min-height:100dvh;background:radial-gradient(ellipse at 85% 10%,#36112c,transparent 55%),#09070f;color:var(--text); }
.film-seite main { max-width:1100px;margin:0 auto;padding:28px 20px; }
.film-seite h1 { overflow-wrap:anywhere; }
#film-beschreibung { white-space:pre-wrap;overflow-wrap:anywhere; }
#film-video { display:block;width:100%;max-height:70dvh;background:#000;border-radius:14px;margin:20px 0; }
.film-aktionen { display:flex;flex-wrap:wrap;gap:12px; }
.film-gestaltung { width:min(850px,calc(100vw - 24px));max-height:90dvh;overflow:auto;padding:22px;background:var(--panel,#14101e);color:var(--text,#fff);border:1px solid var(--stroke,#703057);border-radius:14px; }
.film-gestaltung::backdrop { background:#000b; }
.film-gestaltung label { display:grid;gap:6px;margin:12px 0; }
.film-gestaltung input,.film-gestaltung textarea { width:100%;padding:10px;background:#0b0911;color:inherit;border:1px solid var(--stroke,#703057);border-radius:8px;font:inherit; }
.film-gestaltung video { width:100%;max-height:36dvh;background:#000; }
.film-vorschau { max-width:180px;max-height:100px;object-fit:contain; }
.film-gestaltung .film-gestalter-knoepfe { display:flex;flex-wrap:wrap;gap:10px;margin-top:16px; }
.film-zeile { flex-wrap:wrap; }.film-zeile img { width:100px;border-radius:7px; }.film-link { overflow-wrap:anywhere;min-width:0; }
.bibliothek-seite { --accent:var(--pink); }
.bibliothek-seite main { max-width:1240px; }
.bibliothek-nav,.bibliothek-kopf,.bibliothek-kontingent>div { display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap; }
.bibliothek-nav { padding-bottom:24px;border-bottom:1px solid var(--stroke); }
.bibliothek-marke { display:flex;align-items:center;gap:10px;font-size:22px;font-weight:700;color:var(--accent);text-decoration:none; }
.bibliothek-kopf { margin:32px 0 24px; }.bibliothek-kopf h1 { margin:0;font-size:clamp(30px,5vw,44px); }
.bibliothek-oberzeile { color:var(--accent);font-size:12px;letter-spacing:.16em; }
.bibliothek-kopf p,.bibliothek-meta,.bibliothek-detail { color:var(--muted); }
.bibliothek-kontingent { padding:22px;border:1px solid var(--stroke);border-radius:16px;background:linear-gradient(120deg,#ff008415,#5c39ff0d); }
.bibliothek-kontingent strong { font-size:24px; }.bibliothek-kontingent span { color:var(--accent); }
.bibliothek-kontingent progress { width:100%;height:8px;margin:16px 0 0;accent-color:var(--accent); }
.bibliothek-detail { font-size:12px;line-height:1.7; }.bibliothek-kontingent p { margin-bottom:0; }
.bibliothek-raster { display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,330px),1fr));gap:20px;margin-top:24px;align-items:start; }
.bibliothek-film { min-width:0;overflow:hidden;border:1px solid var(--stroke);border-radius:16px;background:var(--panel,#14101e); }
.bibliothek-bild { position:relative;display:grid;place-items:center;aspect-ratio:16/9;background:radial-gradient(ellipse at 70% 20%,#4b1e64,transparent 65%),#141023;text-decoration:none;overflow:hidden; }
.bibliothek-bild img { width:100%;height:100%;position:absolute;inset:0;object-fit:cover; }
.bibliothek-bild span { z-index:1;display:grid;place-items:center;width:52px;height:52px;border:1px solid #ff1493;border-radius:50%;background:#0c071bcb;color:white; }
.bibliothek-inhalt { padding:20px; }.bibliothek-inhalt h2 { font-size:21px;margin:0;overflow-wrap:anywhere; }
.bibliothek-titel { text-decoration:none;color:var(--text); }.bibliothek-meta { font-size:12px;overflow-wrap:anywhere; }
.bibliothek-beschreibung { white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6; }.bibliothek-beschreibung:empty { display:none; }
.bibliothek-film .film-aktionen { margin-top:20px;gap:8px; }.bibliothek-film .btn { min-height:44px; }
.bibliothek-leer { text-align:center;padding:45px 20px;border:1px dashed var(--stroke);border-radius:16px;margin-top:24px; }.bibliothek-leer>span { color:var(--accent);font-size:52px; }
#filme-status { overflow-wrap:anywhere; }
@media (prefers-reduced-motion:no-preference) { .bibliothek-raster,.bibliothek-leer { animation:film-einblenden .25s ease-out; } @keyframes film-einblenden { from {opacity:0;transform:translateY(7px)} to {opacity:1;transform:none} } }
@media (max-width:600px) { .bibliothek-seite main { padding:18px 14px; }.bibliothek-nav { font-size:12px; }.bibliothek-kontingent { padding:16px; } }

html.mobil-sparsam .bibliothek-raster,html.mobil-sparsam .bibliothek-leer { animation:none; }
