:root { --abstand-1: 0.25rem; --abstand-2: 0.5rem; --abstand-3: 0.75rem; --abstand-4: 1rem; --abstand-5: 1.5rem; --abstand-6: 2rem; --schrift-1: 0.75rem; --schrift-2: 0.85rem; --schrift-3: 1rem; --schrift-4: 1.25rem; --schrift-5: 1.5rem; --schrift-6: 2rem; --schrift-7: 3rem; --radius-1: 4px; --radius-2: 6px; --radius-3: 8px; --radius-4: 12px; --radius-rund: 50%; --radius-pille: 999px; --zeile-1: 1; --zeile-2: 1.25; --zeile-3: 1.5; --dauer-1: 0.1s; --dauer-2: 0.15s; --dauer-3: 0.2s; --dauer-4: 0.3s; --schleier-1: color-mix(in srgb, var(--scrim) 30%, transparent); --schleier-2: color-mix(in srgb, var(--scrim) 55%, transparent); --schleier-3: color-mix(in srgb, var(--scrim) 80%, transparent); --schatten-1: 0 2px 8px color-mix(in srgb, var(--scrim) 35%, transparent); --schatten-2: 0 6px 20px color-mix(in srgb, var(--scrim) 35%, transparent); --schatten-3: 0 12px 40px color-mix(in srgb, var(--scrim) 45%, transparent); --papier: #fff; --tinte: #000; --druck-linie: #999; --marke-youtube: #f00; }
details > summary { align-items: center; display: flex; gap: var(--abstand-2); }
*, *::before, *::after {
    box-sizing: border-box; margin: 0; padding: 0;
}
:where(li) {
    text-align: inherit;
}
:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
}
@media (max-width: 900px) {
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]), textarea, select {
            font-size: max(16px, 1em) !important;

    }
}
body {
    font-family: system-ui, -apple-system, sans-serif;
    color: var(--text);
    background: var(--background);
    line-height: var(--zeile-3);
    font-size: var(--schrift-3);
}
code, pre {
    font-family: ui-monospace, 'Cascadia Code', 'Fira Code', monospace;
}
html {
    scroll-padding-top: 72px;
    font-size: 19px;
}
main {
    padding: var(--abstand-6) 0;
    min-height: 60vh;
}
main h1 {
    font-size: var(--schrift-6);
    margin-top: var(--abstand-4);
    margin-bottom: var(--abstand-4);
    color: var(--primary);
}
main h2 {
    font-size: var(--schrift-5);
    margin: var(--abstand-6) 0 var(--abstand-3);
    color: var(--primary);
}
main h3 {
    font-size: var(--schrift-4);
    margin: var(--abstand-5) 0 var(--abstand-2);
}
details > summary::before {
    content: '\25B8';
    font-size: var(--schrift-5);
    color: var(--accent);
    transition: transform var(--dauer-3);
    flex-shrink: 0;
}
details[open] > summary::before {
    transform: rotate(90deg);
}
@media print {
html { font-size: 12px; }
}
@media print {
button, form:has(> input[name="nav_lang_choose"]), main p:has(> .exdb-play:only-child) { display: none !important; }
}
@media print {
blockquote, main img { break-inside: avoid; page-break-inside: avoid; }
}
@media print {
h1, h2, h3, h4 { break-after: avoid; page-break-after: avoid; }
}
@media print {
main { min-height: 0 !important; }
}
@media print {
main article img { display: block !important; margin-inline: auto !important; max-height: 90mm !important; width: auto !important; max-width: 100% !important; }
}
@media print {
html, body { background: var(--papier) !important; }
}
@media print {
a { color: inherit !important; text-decoration: none !important; }
}
details > summary::-webkit-details-marker { display: none; }
form:has(> input[name="legal_gate"]) {
    margin-top: var(--abstand-5);
}
video:fullscreen, video:-webkit-full-screen {
    max-width: 100vw !important; max-height: 100vh !important; width: 100vw !important; height: 100vh !important; object-fit: contain; border-radius: 0; background: var(--video-bg);
}
details > summary { cursor: pointer; padding: var(--abstand-1) 0; list-style: none; }
@keyframes forum-focus-pulse {
    0%,
    100% {
        background-color: var(--surface-alt);
    }
    50% { background-color: color-mix(in srgb, var(--warning) 28%, var(--surface-alt)); }
}
@keyframes cta-submit-blink {
    0%,
    100% { box-shadow: 0 0 0 0 transparent; filter: none; }
    50% { box-shadow: 0 0 0 0.35rem color-mix(in srgb, var(--warning) 70%, transparent); filter: brightness(1.2); }
}
@keyframes forum-rec-pulse {
    0%,
    100% {
        opacity:1
    }
    50% { opacity:.3}
}
@keyframes video-compress-modal-indet {
    from { background-position: 200% 0; }
    to { background-position: -200% 0; }
}
@keyframes ph-spin {
    to { transform: rotate(360deg); }
}
@keyframes pnTyping {
    0%,
    60%,
    100% {
        transform:translateY(0);opacity:.4
    }
    30% { transform:translateY(-3px);opacity:1}
}
@keyframes forum-save-spin {
    to { transform:rotate(360deg)}
}
@keyframes einstufung-dreh { to { transform: rotate(360deg); } }
@keyframes staffel-ticker-lauf { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.user-card-meta { min-width: 0; }
.user-card-meta .user-pill { max-width: 100%; overflow: hidden; text-overflow: ellipsis; }
