/* Deck-Huelle: genau ein Slide je Seite, Navigation unten */

body.deck { height: 100vh; overflow: hidden; display: flex; flex-direction: column; }

#stage { flex: 1; position: relative; }

.slide {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    gap: 1.5vh;
    padding: 2.5vh 2.5vw;
}

.slidebody { flex: 1; min-height: 0; overflow-y: auto; }

/* Kapitel und Slidetitel bleiben auch bei langen Titeln in einer Zeile. */
.slidehead { flex: none; display: flex; align-items: baseline; gap: .4em; overflow-x: auto; white-space: nowrap; font-size: clamp(1rem, 1.4vw, 1.25rem); line-height: 1.3; color: var(--color-text-secondary); }
.slidehead h1, .slidehead h2 { flex: none; margin: 0; font-size: inherit; font-weight: 700; }
.slidehead h1 { color: var(--color-text-secondary); }
.slidehead h2 { color: var(--color-primary); }
.slidehead a { color: inherit; text-decoration: none; }
.slidehead a:hover, .slidehead a:focus-visible { text-decoration: underline; }

.meta { color: var(--color-text-secondary); margin: 0 0 1vh; font-size: clamp(.85rem, 1.1vw, 1.2rem); }

.legend { display: flex; gap: var(--space-6); flex-wrap: wrap; font-size: clamp(.75rem, .95vw, 1rem); font-weight: 600; }

.decknav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-4);
    border-top: 1px solid var(--color-border);
    background: var(--color-bg-secondary);
    padding: .6vh 2.5vw;
    font-size: clamp(.75rem, .9vw, 1rem);
}

.decknav a { color: var(--color-primary); text-decoration: none; font-weight: 700; padding: .4em .2em; }
.decknav a[href="/"] { visibility: hidden; }
.navchapter { color: var(--color-text-muted); display: flex; align-items: baseline; gap: var(--space-4); }
.navtoc { font-weight: 400; text-decoration: underline; }
