/*
 * Familie "zeitung" für Stage-Specials (scene.template = "zeitung").
 * Extrablatt: kühles Zeitungspapier, Spaltenlinien, Schlagzeile in Versalien, Schwarz-Weiß-Foto,
 * das beim Einblenden Farbe bekommt, Ergebnistafel, Spielzug-Grafik.
 * Alle Maße in Container-Einheiten (cqw): 100cqw = Breite der Bühne (Kiosk: 2160 px).
 * Vertrag: docs/robben-special.md (ZEIT-01 bis ZEIT-12).
 */

.stage-special-scene.zeitung-scene {

    --zt-paper: #ecebe5;
    --zt-paper-deep: #dedcd3;
    --zt-ink: #121212;
    --zt-ink-soft: rgba(18, 18, 18, .88);
    --zt-red: #dc052d;
    --zt-rule: rgba(18, 18, 18, .16);

    inset: 0;
    display: block;
    container-type: size;
    background:
        repeating-linear-gradient(90deg, transparent 0 32.6cqw, var(--zt-rule) 32.6cqw 32.8cqw),
        linear-gradient(180deg, var(--zt-paper), var(--zt-paper-deep));
    color: var(--zt-ink);
    transform: none;
    transition: opacity 900ms ease;
    overflow: hidden;
    z-index: 2;

}

.zeitung-scene * { box-sizing: border-box; }

#stage.has-zeitung .stage-rotation-indicator[data-mode="slide"] { opacity: 0; }

/* ---------- Slides ---------- */

.zt-slides { position: absolute; inset: 0; }

.zeitung-slide.stage-special-slide {

    /* Echte Bühne ca. 100 x 107 cqw: Schlagzeile, Medienbereich und Text teilen sich die Höhe, Text wird nie abgeschnitten. */
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 2.2cqw;
    padding: 12cqw 6cqw 19.5cqw;
    transform: none;
    transition: opacity 900ms ease;
    overflow: hidden;

}

/* ---------- Schlagzeile ---------- */

.zt-head { position: relative; z-index: 4; flex: 0 0 auto; border-top: .8cqw solid var(--zt-ink); padding-top: 1.6cqw; }

.zt-kicker {

    display: flex;
    align-items: center;
    gap: 1.4cqw;
    margin: 0 0 1.2cqw;
    color: var(--zt-red);
    font-family: var(--font-display);
    font-size: 2.3cqw;
    font-weight: 900;
    letter-spacing: .2em;
    text-transform: uppercase;

}

.zt-kicker i { width: 4cqw; height: .3cqw; background: var(--zt-ink); }
.zt-kicker:empty { display: none; }

.zt-head h2 {

    margin: 0;
    color: var(--zt-ink);
    font-family: var(--font-display);
    font-size: 7.4cqw;
    font-weight: 900;
    line-height: .94;
    letter-spacing: -.01em;
    text-transform: uppercase;

}

.zt-subtitle {

    margin: 1.4cqw 0 0;
    color: var(--zt-ink);
    font-family: var(--font-display);
    font-size: 3.1cqw;
    font-weight: 800;
    line-height: 1.15;

}

.zeitung-slide.is-active .zt-head > * { animation: zt-rise 800ms cubic-bezier(.2, .7, .2, 1) both; }
.zeitung-slide.is-active .zt-head > :nth-child(2) { animation-delay: 120ms; }
.zeitung-slide.is-active .zt-head > :nth-child(3) { animation-delay: 240ms; }

@keyframes zt-rise {

    from { opacity: 0; transform: translateY(2cqw); }
    to { opacity: 1; transform: none; }

}

/* ---------- Medienbereich ---------- */

.zt-media { position: relative; flex: 1 1 0; min-height: 14cqw; }

.zt-photo {

    position: absolute;
    inset: 0;
    margin: 0;
    border-bottom: .8cqw solid var(--zt-ink);
    background: #000;
    overflow: hidden;

}

.zt-photo img {

    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: var(--zt-focus, 50% 50%);
    display: block;
    filter: grayscale(1) contrast(1.15);

}

/* ZEIT-10: Hochformat- oder kleine Fotos (slide.fit = "contain") stehen ganz auf der schwarzen Fläche. */
.zt-fit-contain .zt-photo img { object-fit: contain; }

/* Druckfarbe: das Schwarz-Weiß-Foto bekommt beim Einblenden Farbe. */
.zeitung-slide.is-active .zt-photo img { animation: zt-ink var(--zt-dur, 14s) ease-out both; }

@keyframes zt-ink {

    0% { filter: grayscale(1) contrast(1.15); transform: scale(1.02); }
    14% { filter: grayscale(0) contrast(1.05); }
    100% { filter: grayscale(0) contrast(1.05); transform: scale(1.08); }

}

.zt-photo figcaption {

    position: absolute;
    left: 0;
    bottom: 0;
    max-width: 88%;
    padding: .6cqw 1.6cqw;
    background: var(--zt-red);
    color: #fff;
    font-family: var(--font-body);
    font-size: 1.9cqw;
    font-weight: 700;
    letter-spacing: .03em;
    line-height: 1.2;
    text-transform: uppercase;

}

.zeitung-slide.is-active .zt-photo { animation: zt-wipe 900ms cubic-bezier(.2, .7, .2, 1) both; }

@keyframes zt-wipe {

    from { clip-path: inset(0 100% 0 0); }
    to { clip-path: inset(0 0 0 0); }

}

/* ---------- Text ---------- */

.zt-copy { position: relative; z-index: 4; flex: 0 0 auto; }

.zt-body {

    max-width: none;
    margin: 0 0 1.2cqw;
    color: var(--zt-ink-soft);
    font-family: var(--font-body);
    font-size: 2.8cqw;
    line-height: 1.28;

}

.zt-body:first-child::first-letter {

    float: left;
    margin: .2cqw 1cqw 0 0;
    color: var(--zt-red);
    font-family: var(--font-display);
    font-size: 7.2cqw;
    font-weight: 900;
    line-height: .8;

}

.zeitung-slide.is-active .zt-copy > * { animation: zt-rise 900ms cubic-bezier(.2, .7, .2, 1) 350ms both; }

.zt-quote { margin: 1.4cqw 0 0; padding: 1.4cqw 0 0; border-top: .3cqw solid var(--zt-ink); }
.zt-quote p { margin: 0; color: var(--zt-ink); font-family: var(--font-display); font-size: 3.3cqw; font-weight: 800; line-height: 1.15; }
.zt-quote footer { margin-top: .9cqw; color: var(--zt-red); font-family: var(--font-display); font-size: 2cqw; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }

.zt-facts { position: relative; z-index: 4; flex: 0 0 auto; display: flex; flex-wrap: wrap; gap: 1cqw; }

.zt-facts span {

    padding: .7cqw 1.5cqw;
    background: var(--zt-ink);
    color: #fff;
    font-family: var(--font-display);
    font-size: 2.1cqw;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;

}

/* Große Umrisszahl als Leitmotiv für Slides ohne Foto (slide.big) */

.zt-big {

    position: absolute;
    left: 0;
    right: 0;
    bottom: 14cqw;
    color: transparent;
    -webkit-text-stroke: .35cqw rgba(220, 5, 45, .3);
    font-family: var(--font-display);
    font-size: 34cqw;
    font-weight: 900;
    line-height: .8;
    text-align: center;
    letter-spacing: -.02em;
    pointer-events: none;

}

.zeitung-slide.is-active .zt-big { animation: zt-fade 1400ms ease both; }

@keyframes zt-fade { from { opacity: 0; } to { opacity: 1; } }

.zeitung-slide.no-media .zt-copy { margin-top: 2cqw; }

/* ---------- Layout titel (ZEIT-03) ---------- */

.zt-layout-titel .zt-head { border-top-width: 1.6cqw; border-top-color: var(--zt-red); }
.zt-layout-titel .zt-head h2 { font-size: 9cqw; line-height: .9; }

/* ---------- Layout spielbericht (ZEIT-05) ---------- */

.zt-media-board { display: flex; flex-direction: column; gap: 2cqw; min-height: 36cqw; }

.zt-board {

    flex: 0 0 auto;
    padding: 2.4cqw 3cqw;
    background: #0d0d0f;
    color: #fff;
    border-bottom: .8cqw solid var(--zt-red);

}

.zt-board-row { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 2cqw; }

.zt-team { font-family: var(--font-display); font-size: 3.6cqw; font-weight: 900; letter-spacing: .04em; text-transform: uppercase; }
.zt-team-away { text-align: right; }

.zt-score { display: flex; align-items: baseline; gap: 1cqw; font-family: var(--font-display); font-size: 10cqw; font-weight: 900; line-height: .9; }
.zt-score i { color: var(--zt-red); font-style: normal; }

.zt-board-note { margin: 1cqw 0 0; color: rgba(255, 255, 255, .78); font-family: var(--font-body); font-size: 2.2cqw; text-align: center; }

.zt-goals { list-style: none; margin: 1.8cqw 0 0; padding: 1.2cqw 0 0; border-top: .2cqw solid rgba(255, 255, 255, .25); display: grid; gap: .8cqw; }

.zt-goals li { display: flex; align-items: baseline; gap: 1.6cqw; opacity: 0; font-family: var(--font-body); font-size: 2.5cqw; }
.zt-goals li b { min-width: 7.5cqw; color: var(--zt-red); font-family: var(--font-display); font-weight: 900; }
.zt-goals li small { color: rgba(255, 255, 255, .7); font-size: 2cqw; }
.zt-goals li.is-away { padding-left: 3cqw; }

.zeitung-slide.is-active .zt-goals li { animation: zt-rise 700ms cubic-bezier(.2, .7, .2, 1) var(--zt-goal-delay, 700ms) both; }

.zt-photo-small { position: relative; inset: auto; flex: 1 1 0; min-height: 14cqw; }

/* ---------- Layout zahlen (ZEIT-06) ---------- */

.zt-media-stats { display: flex; flex-direction: column; gap: 2cqw; min-height: 18cqw; }
.zt-media-stats .zt-photo { position: relative; inset: auto; flex: 1 1 0; min-height: 16cqw; }

.zt-stats { flex: 0 0 auto; display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.6cqw; }
.zt-stats[data-count="1"] { grid-template-columns: 1fr; }
.zt-stats[data-count="3"] { grid-template-columns: repeat(3, 1fr); }
.zt-media-stats:not(.has-photo) { justify-content: center; }
.zt-media-stats:not(.has-photo) .zt-stat strong { font-size: 7.6cqw; }

.zt-stat { padding: 1.8cqw 2cqw; background: #fff; border-top: .8cqw solid var(--zt-red); box-shadow: 0 .4cqw 1.2cqw rgba(18, 18, 18, .16); }

.zt-stat strong { display: block; color: var(--zt-ink); font-family: var(--font-display); font-size: 5cqw; font-weight: 900; line-height: .95; white-space: nowrap; }
.zt-stat small { display: block; margin-top: .8cqw; color: var(--zt-red); font-family: var(--font-display); font-size: 2.1cqw; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }

.zeitung-slide.is-active .zt-stat { animation: zt-rise 800ms cubic-bezier(.2, .7, .2, 1) 500ms both; }
.zeitung-slide.is-active .zt-stat:nth-child(2) { animation-delay: 700ms; }
.zeitung-slide.is-active .zt-stat:nth-child(3) { animation-delay: 900ms; }
.zeitung-slide.is-active .zt-stat:nth-child(4) { animation-delay: 1100ms; }

/* ---------- Layout kommentar (ZEIT-08) ---------- */

.zt-layout-kommentar .zt-head { border-top-color: var(--zt-red); }
.zt-layout-kommentar .zt-head h2 { font-size: 5.4cqw; }

.zt-layout-kommentar .zt-quote {

    position: relative;
    margin: 0;
    padding: 5cqw 3cqw 2.4cqw 3cqw;
    border: .4cqw solid var(--zt-ink);
    background: #fff;

}

.zt-layout-kommentar .zt-quote::before {

    content: "\201E";
    position: absolute;
    top: -1cqw;
    left: 2cqw;
    color: var(--zt-red);
    font-family: var(--font-display);
    font-size: 14cqw;
    font-weight: 900;
    line-height: 1;

}

.zt-layout-kommentar .zt-quote p { font-size: 4.6cqw; line-height: 1.12; padding-left: 7cqw; }
.zt-layout-kommentar .zt-quote footer { padding-left: 7cqw; }

/* ---------- Layout kurve (ZEIT-07) ---------- */

.zt-media-move { display: flex; flex-direction: column; gap: 1.2cqw; }

.zt-pitch { flex: 1 1 0; min-height: 0; width: 100%; border-bottom: .8cqw solid var(--zt-ink); }
.zt-pitch-grass { fill: #1f6f3a; }
.zt-line { fill: none; stroke: rgba(255, 255, 255, .85); stroke-width: .5; }

.zt-run { fill: none; stroke: #fff; stroke-width: 1.1; stroke-dasharray: 3 2; stroke-linecap: round; }
.zt-shot { fill: none; stroke: var(--zt-red); stroke-width: 1.6; stroke-linecap: round; }
.zt-dot { stroke: #fff; stroke-width: .6; }
.zt-dot-from { fill: #fff; }
.zt-dot-to { fill: var(--zt-red); }

.zeitung-slide.is-active .zt-run { animation: zt-draw 2600ms ease-out 400ms both; stroke-dasharray: 3 2; }
.zeitung-slide.is-active .zt-shot { animation: zt-shot 700ms ease-out 2800ms both; }
.zeitung-slide.is-active .zt-dot-to { animation: zt-fade 400ms ease 2600ms both; }

@keyframes zt-draw { from { clip-path: inset(0 0 100% 0); opacity: .3; } to { clip-path: inset(0 0 0 0); opacity: 1; } }
@keyframes zt-shot { from { opacity: 0; } to { opacity: 1; } }

.zt-move-label {

    flex: 0 0 auto;
    margin: 0;
    color: var(--zt-ink);
    font-family: var(--font-display);
    font-size: 2.3cqw;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;

}

/* ---------- Layout galerie (ZEIT-09) ---------- */

.zt-media-duo { display: grid; grid-template-columns: 1fr 1fr; gap: 2cqw; }
.zt-media-duo .zt-photo { position: relative; inset: auto; min-height: 20cqw; }
.zt-media-duo .zt-photo:only-child { grid-column: 1 / -1; }

/* ---------- Kopfzeile: Zeitungskopf ---------- */

.zt-header {

    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 6;
    display: flex;
    align-items: center;
    gap: 2cqw;
    padding: 1.8cqw 5cqw;
    background: var(--zt-paper);
    border-bottom: .3cqw solid var(--zt-ink);

}

.zt-header img { width: 6cqw; height: auto; }

.zt-title { display: grid; gap: .5cqw; font-family: var(--font-display); text-transform: uppercase; }
.zt-title strong { color: var(--zt-ink); font-size: 3.2cqw; font-weight: 900; letter-spacing: .08em; line-height: 1; }
.zt-title span { color: var(--zt-red); font-size: 2cqw; font-weight: 800; letter-spacing: .12em; }

.zt-chapter-now { margin-left: auto; text-align: right; font-family: var(--font-display); text-transform: uppercase; }
.zt-chapter-now.is-empty { visibility: hidden; }
.zt-chapter-now small { display: block; color: var(--zt-ink-soft); font-size: 1.9cqw; font-weight: 800; letter-spacing: .22em; }
.zt-chapter-now strong { display: block; margin-top: .5cqw; color: var(--zt-ink); font-size: 3.2cqw; font-weight: 900; letter-spacing: .08em; }

/* ---------- Fußleiste: Seitenzahl, Fortschritt, Ressorts (SPEC-31) ---------- */

.zt-foot {

    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 6;
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-rows: auto auto;
    align-items: center;
    column-gap: 2.4cqw;
    padding: 1.6cqw 5cqw 3cqw;
    background: linear-gradient(0deg, var(--zt-paper-deep) 60%, transparent);

}

.zt-nr { grid-row: 2; grid-column: 1; display: flex; align-items: baseline; gap: .5cqw; padding: .7cqw 1.4cqw; background: var(--zt-ink); color: #fff; font-family: var(--font-display); font-weight: 900; }
.zt-nr small { margin-right: .8cqw; color: var(--zt-red); font-size: 2cqw; letter-spacing: .14em; text-transform: uppercase; }
.zt-nr b { min-width: 5.4cqw; font-size: 5cqw; line-height: 1; text-align: right; }
.zt-nr i { font-size: 2.6cqw; font-style: normal; opacity: .7; }
.zt-nr span { font-size: 3cqw; opacity: .8; }

.zt-track { grid-row: 2; grid-column: 2; display: flex; gap: .35cqw; }
.zt-bar { position: relative; flex: 1; height: 1.4cqw; overflow: hidden; background: rgba(18, 18, 18, .18); }
.zt-bar.is-chapter-start { margin-left: 1.4cqw; }
.zt-bar i { position: absolute; inset: 0; width: 0; background: var(--zt-red); }
.zt-bar.is-past i { width: 100%; background: var(--zt-ink); }
.zt-bar.is-current i { animation: zt-fill linear both; }

@keyframes zt-fill { from { width: 0; } to { width: 100%; } }

.zt-chapters { grid-column: 1 / -1; grid-row: 1; display: flex; gap: .4cqw; margin: 0 0 1.2cqw; font-family: var(--font-display); }
.zt-chapters span { flex: 1 1 0; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; padding: .5cqw 0 .6cqw; border-bottom: .5cqw solid transparent; color: var(--zt-ink-soft); text-align: center; font-size: 2cqw; font-weight: 800; opacity: .85; transition: opacity 600ms ease, color 600ms ease; }
.zt-chapters span.is-current { color: var(--zt-red); border-bottom-color: var(--zt-red); opacity: 1; }
.zt-chapters[data-count="0"] { display: none; }

/* ---------- Variante "extra": Rotes Extrablatt / Nachtausgabe (Rummenigge, docs/rummenigge-special.md, EXTRA-01 bis -08) ----------
 * Dunkler Grund, Vereinsrot als Schlagzeilen-Balken, Stempel, Zähler, Glut und Funken. Ohne scene.variant bleibt "zeitung" unverändert. */

@property --ztc { syntax: "<integer>"; inherits: false; initial-value: 0; }

.zeitung-scene:has(.zt-fx[data-variant="extra"]) {

    --zt-paper: #0d0d10;
    --zt-paper-deep: #08080a;
    --zt-ink: #f5f1ea;
    --zt-ink-soft: rgba(245, 241, 234, .93);
    --zt-rule: rgba(255, 255, 255, .07);

    background:
        radial-gradient(ellipse 80cqw 40cqw at 12% 4%, rgba(220, 5, 45, .34), transparent 70%),
        repeating-linear-gradient(90deg, transparent 0 32.6cqw, var(--zt-rule) 32.6cqw 32.8cqw),
        linear-gradient(180deg, #121216, #07070a);

}

.zt-fx { position: absolute; inset: 0; z-index: 3; overflow: hidden; pointer-events: none; }

.zt-fx[data-variant="extra"]::before {

    content: "";
    position: absolute;
    left: -10cqw;
    right: -10cqw;
    bottom: -18cqw;
    height: 50cqw;
    background: radial-gradient(ellipse at 50% 100%, rgba(220, 5, 45, .55), transparent 68%);

}

.zt-fx[data-variant="extra"]::after {

    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 200%;
    background-image:
        radial-gradient(circle, rgba(255, 120, 90, .95) 0 .22cqw, transparent .3cqw),
        radial-gradient(circle, rgba(255, 70, 50, .85) 0 .16cqw, transparent .24cqw),
        radial-gradient(circle, rgba(255, 190, 150, .8) 0 .12cqw, transparent .2cqw);
    background-size: 23cqw 31cqw, 37cqw 43cqw, 17cqw 53cqw;
    background-position: 3cqw 8cqw, 19cqw 21cqw, 11cqw 36cqw;
    opacity: .55;

}

/* QS-12: Die Dauerbewegung läuft nur, solange die Slides sichtbar sind (nicht in der Arena-Pause). */
.zeitung-scene.is-stage-active .zt-fx[data-variant="extra"]::before { animation: zt-glow 5s ease-in-out infinite; }
.zeitung-scene.is-stage-active .zt-fx[data-variant="extra"]::after { animation: zt-embers 15s linear infinite; }
.zeitung-scene.is-stage-active .zt-fx.is-lite::before, .zeitung-scene.is-stage-active .zt-fx.is-lite::after { animation: none; }

@keyframes zt-glow { 0%, 100% { opacity: .55; transform: scale(1); } 50% { opacity: 1; transform: scale(1.06); } }
@keyframes zt-embers { from { transform: translateY(0); } to { transform: translateY(-50%); } }

/* Schlagzeile als roter Balken, schlägt ein */
.zeitung-scene:has(.zt-fx[data-variant="extra"]) .zt-head {

    margin-left: -2cqw;
    margin-right: 3cqw;
    padding: 2cqw 3.4cqw 2.2cqw 3.6cqw;
    border-top: 0;
    background: var(--zt-red);
    box-shadow: 0 1.2cqw 3cqw rgba(220, 5, 45, .45);
    transform-origin: 0 50%;

}

.zeitung-scene:has(.zt-fx[data-variant="extra"]) .zt-kicker { color: #fff; }
.zeitung-scene:has(.zt-fx[data-variant="extra"]) .zt-kicker i { background: #fff; }
.zeitung-scene:has(.zt-fx[data-variant="extra"]) .zt-head h2 { color: #fff; text-shadow: 0 .3cqw 0 rgba(0, 0, 0, .28); }
.zeitung-scene:has(.zt-fx[data-variant="extra"]) .zt-subtitle { color: #fff; }

.zeitung-scene:has(.zt-fx[data-variant="extra"]) .zeitung-slide.is-active .zt-head { animation: zt-cut 650ms cubic-bezier(.2, .8, .2, 1) both; }
.zeitung-scene:has(.zt-fx[data-variant="extra"]) .zeitung-slide.is-active .zt-head h2 { animation: zt-slam 700ms cubic-bezier(.15, .9, .25, 1) 120ms both; }
.zeitung-scene:has(.zt-fx[data-variant="extra"]) .zeitung-slide.is-active .zt-head > :nth-child(1),
.zeitung-scene:has(.zt-fx[data-variant="extra"]) .zeitung-slide.is-active .zt-head > :nth-child(3) { animation: zt-rise 800ms cubic-bezier(.2, .7, .2, 1) 300ms both; }

@keyframes zt-cut { from { opacity: 0; transform: translateX(-14cqw) skewX(-8deg); } to { opacity: 1; transform: none; } }
@keyframes zt-slam { 0% { opacity: 0; transform: scale(1.9); filter: blur(.9cqw); } 55% { opacity: 1; filter: blur(0); } 75% { transform: scale(.97); } 100% { opacity: 1; transform: none; filter: none; } }

.zeitung-scene:has(.zt-fx[data-variant="extra"]) .zt-header { border-bottom: .5cqw solid var(--zt-red); }
.zeitung-scene:has(.zt-fx[data-variant="extra"]) .zt-photo { border-bottom-color: var(--zt-red); box-shadow: 0 1.6cqw 4cqw rgba(0, 0, 0, .6); }
.zeitung-scene:has(.zt-fx[data-variant="extra"]) .zt-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(105deg, transparent 40%, rgba(255, 255, 255, .42) 50%, transparent 60%); transform: translateX(-120%); }
.zeitung-scene:has(.zt-fx[data-variant="extra"]) .zeitung-slide.is-active .zt-photo::after { animation: zt-flash 1500ms ease-out 700ms both; }

@keyframes zt-flash { from { transform: translateX(-120%); opacity: 1; } to { transform: translateX(120%); opacity: 0; } }

.zeitung-scene:has(.zt-fx[data-variant="extra"]) .zt-quote { border-top-color: var(--zt-red); }
.zeitung-scene:has(.zt-fx[data-variant="extra"]) .zt-quote footer { color: #ff4a66; }
.zeitung-scene:has(.zt-fx[data-variant="extra"]) .zt-facts span { background: rgba(255, 255, 255, .09); border-left: .6cqw solid var(--zt-red); color: #fff; }
.zeitung-scene:has(.zt-fx[data-variant="extra"]) .zt-stat { background: #17171c; box-shadow: 0 .6cqw 2cqw rgba(0, 0, 0, .55); }
.zeitung-scene:has(.zt-fx[data-variant="extra"]) .zt-stat strong { color: #fff; }
.zeitung-scene:has(.zt-fx[data-variant="extra"]) .zt-stat small { color: #ff4a66; }
.zeitung-scene:has(.zt-fx[data-variant="extra"]) .zt-layout-kommentar .zt-quote { background: #17171c; border-color: var(--zt-red); }
.zeitung-scene:has(.zt-fx[data-variant="extra"]) .zt-nr { background: var(--zt-red); }
.zeitung-scene:has(.zt-fx[data-variant="extra"]) .zt-nr small { color: #fff; }
.zeitung-scene:has(.zt-fx[data-variant="extra"]) .zt-bar { background: rgba(255, 255, 255, .16); }
.zeitung-scene:has(.zt-fx[data-variant="extra"]) .zt-bar.is-past i { background: rgba(255, 255, 255, .85); }
.zeitung-scene:has(.zt-fx[data-variant="extra"]) .zt-chapters span.is-current { color: #ff4a66; border-bottom-color: var(--zt-red); }
.zeitung-scene:has(.zt-fx[data-variant="extra"]) .zt-big { -webkit-text-stroke-color: rgba(220, 5, 45, .55); }
.zeitung-scene:has(.zt-fx[data-variant="extra"]) .zt-chapter-now small { color: #ff4a66; }

/* EXTRA-05: Zähler. Die Zahl steht ohne Animation sofort auf dem Endwert (--zt-n), die Animation zählt von 0 hoch. */
.zt-count { --ztc: var(--zt-n); counter-reset: ztc var(--ztc); font-variant-numeric: tabular-nums; }
.zt-count::before { content: counter(ztc); }
.zt-count > span { font-size: .55em; margin-left: .12em; }
.zeitung-slide.is-active .zt-count { animation: zt-countup 2200ms cubic-bezier(.2, .7, .2, 1) 500ms both; }

@keyframes zt-countup { from { --ztc: 0; } to { --ztc: var(--zt-n); } }

/* Layout zahl (EXTRA-05): Riesenzahl */
.zt-media-zahl { display: flex; flex-direction: column; justify-content: center; gap: 2cqw; min-height: 30cqw; }
.zt-media-zahl .zt-photo { position: relative; inset: auto; flex: 1 1 0; min-height: 16cqw; }
.zt-giant { flex: 0 0 auto; display: flex; flex-direction: column; align-items: flex-start; padding-left: 1cqw; }
.zt-giant strong { color: var(--zt-ink); font-family: var(--font-display); font-size: 25cqw; font-weight: 900; line-height: .82; letter-spacing: -.03em; white-space: nowrap; }
.zt-giant small { margin-top: 1.4cqw; color: var(--zt-red); font-family: var(--font-display); font-size: 3.2cqw; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.zt-media-zahl.has-photo .zt-giant strong { font-size: 17cqw; }
.zeitung-scene:has(.zt-fx[data-variant="extra"]) .zt-giant strong { color: #fff; text-shadow: .8cqw .8cqw 0 var(--zt-red); }
.zeitung-scene:has(.zt-fx[data-variant="extra"]) .zt-giant small { color: #ff4a66; }

/* EXTRA-06: Stempel (slide.stamp) */
.zt-stamp {

    position: absolute;
    z-index: 5;
    right: 7cqw;
    top: 33cqw;
    padding: .8cqw 2cqw;
    border: .6cqw solid var(--zt-red);
    background: rgba(8, 8, 10, .78);
    color: #ff4a66;
    font-family: var(--font-display);
    font-size: 4.4cqw;
    font-weight: 900;
    letter-spacing: .12em;
    line-height: 1.05;
    text-transform: uppercase;
    transform: rotate(-7deg);

}

.zeitung-slide.is-active .zt-stamp { animation: zt-stamp 520ms cubic-bezier(.2, .9, .3, 1) 1100ms both; }

/* Umrisszahl bei Zahlen- und Spielbericht-Slides in der freien Mitte, nicht hinter dem Text. */
.zt-layout-zahlen .zt-big, .zt-layout-spielbericht .zt-big { bottom: 42cqw; }

/* Bei Riesenzahlen sitzt der Stempel auf dem Foto, nicht auf der Zahl. */
.zt-layout-zahl .zt-stamp { top: 56cqw; }

@keyframes zt-stamp { 0% { opacity: 0; transform: rotate(-7deg) scale(2.6); } 60% { opacity: 1; transform: rotate(-7deg) scale(.94); } 100% { opacity: 1; transform: rotate(-7deg) scale(1); } }

/* ---------- Ruhige Variante (QS-13): bei reduzierter Bewegung steht alles im Endzustand ---------- */

@media (prefers-reduced-motion: reduce) {

    .zeitung-scene *, .zeitung-scene *::before, .zeitung-scene *::after { animation: none !important; transition: none !important; }
    .zt-bar.is-current i { width: 100%; }
    .zt-fx::before, .zt-fx::after { animation: none !important; }

}
