/* Layout: ein Raster aus drei Clip-Karten; jede Karte = Bühne 16:9, Bildunterschrift, Steuerleiste, Schritt-Chips */
:root{
  --ui:'Barlow Semi Condensed','Arial Narrow',system-ui,sans-serif;
  --body:'Barlow',system-ui,-apple-system,'Segoe UI',sans-serif;
  --bg:#e9ecee; --panel:#ffffff; --ink:#14181c; --muted:#56606a; --line:#cdd3d8;
  --accent:#c4161c; --accent2:#9d1015;
  --stagebg:#e3e8ec; --panelline:#bfc7ce;
  --sky1:#c9dcea; --sky2:#f1f5f8; --hill1:#bccbd3; --hill2:#d0dce2;
  --ground:#9ba1a5; --ground2:#8b9195; --ground3:#6f7478; --groundline:#565c60; --grid:rgba(0,0,0,.075);
  --o:#1b2025; --dim:#27323b;
  --black:#1d2125; --bumper:#2a2e32; --steeld:#5b646b; --tire:#16181a; --deck:#34393e;
  --legc:#d99c14; --padc:#2b3034; --plate:#6d757c; --paintm:#c4161c; --hopperc:#262a2e;
  --conc:#bdbab3; --conc2:#a09d96; --concf:#8d8a83; --formw:#b28650; --prop:#9aa3aa; --propd:#6d767d;
  --rebar:#4a5157; --rail:#f0b400;
  color-scheme:light;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#0f1317; --panel:#171c21; --ink:#e7ebee; --muted:#9aa5ae; --line:#2b333a;
    --accent:#e03a40; --accent2:#c4161c;
    --stagebg:#12171b; --panelline:#2c353c;
    --sky1:#15202b; --sky2:#34495c; --hill1:#222f3b; --hill2:#2a3947;
    --ground:#3b4146; --ground2:#32373b; --ground3:#202326; --groundline:#6c747b; --grid:rgba(255,255,255,.07);
    --o:#07090b; --dim:#cdd6dd;
    --conc:#7d7b76; --conc2:#68665f; --concf:#6b6963; --formw:#8d6a40;
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#0f1317; --panel:#171c21; --ink:#e7ebee; --muted:#9aa5ae; --line:#2b333a;
  --accent:#e03a40; --accent2:#c4161c;
  --stagebg:#12171b; --panelline:#2c353c;
  --sky1:#15202b; --sky2:#34495c; --hill1:#222f3b; --hill2:#2a3947;
  --ground:#3b4146; --ground2:#32373b; --ground3:#202326; --groundline:#6c747b; --grid:rgba(255,255,255,.07);
  --o:#07090b; --dim:#cdd6dd;
  --conc:#7d7b76; --conc2:#68665f; --concf:#6b6963; --formw:#8d6a40;
  color-scheme:dark;
}
body{background:var(--bg);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.5;margin:0;
  padding-block:28px 48px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
body.transparent{background:transparent}
body.transparent .skyg,body.transparent .bgrect{display:none}
.wrap{max-width:1080px;margin:0 auto;display:flex;flex-direction:column;gap:40px}
header.top{display:flex;flex-direction:column;gap:8px;max-width:68ch}
header.top h1{font:700 clamp(1.9rem,4.6vw,2.7rem)/1.05 var(--ui);letter-spacing:-.005em;margin:0;text-wrap:balance}
header.top p{margin:0;color:var(--muted);font-size:1.02rem}
.eyebrow{font:600 .8rem var(--ui);letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
.card{display:flex;flex-direction:column;gap:14px;min-width:0}
.card h2{font:700 1.5rem/1.15 var(--ui);margin:0;text-wrap:balance}
.card .lead{margin:0;color:var(--muted);max-width:70ch}
.clip{display:flex;flex-direction:column;gap:12px;min-width:0}
.stage{position:relative;aspect-ratio:16/9;max-width:100%;border-radius:10px;overflow:hidden;background:var(--stagebg);border:1px solid var(--line)}
.stage svg{display:block;width:100%;height:100%;transition:opacity .35s ease}
.clip.bare .stage{border:0;border-radius:0;background:transparent}
.clip.bare .cap,.clip.bare .bar,.clip.bare .chips{display:none}
.cap{display:flex;gap:12px;align-items:flex-start;min-height:3.1em;font-size:1rem}
.cap .no{flex:none;width:1.7em;height:1.7em;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font:700 .95rem var(--ui);font-variant-numeric:tabular-nums}
.cap .ct{min-width:0;padding-top:.1em}
.cap b{font-family:var(--ui);font-weight:700;font-size:1.06rem}
.bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font:600 .9rem var(--ui)}
.bar .pp{flex:none;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:var(--panel);color:var(--ink);display:grid;place-items:center;cursor:pointer}
.bar .pp:hover{border-color:var(--accent);color:var(--accent)}
.scrub{flex:1 1 200px;min-width:120px;accent-color:var(--accent);height:24px}
.time{font-variant-numeric:tabular-nums;color:var(--muted);min-width:5.5em}
.spd{font:inherit;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:6px 8px}
.lab{display:flex;gap:6px;align-items:center;color:var(--muted);cursor:pointer}
.lab input{accent-color:var(--accent)}
button:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.chips button{display:flex;gap:8px;align-items:center;font:600 .9rem var(--ui);color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:6px 14px 6px 8px;cursor:pointer}
.chips button span{width:1.6em;height:1.6em;border-radius:50%;background:var(--line);display:grid;place-items:center;font-variant-numeric:tabular-nums;font-size:.85em}
.chips button:hover{border-color:var(--accent)}
.chips button.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.chips button.on span{background:var(--accent);color:#fff}
.embed{display:flex;gap:10px;align-items:stretch;flex-wrap:wrap}
.embed code{flex:1 1 320px;min-width:0;overflow-x:auto;white-space:nowrap;font:500 .82rem ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:9px 12px;color:var(--muted)}
.embed button{font:600 .88rem var(--ui);border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:6px;padding:0 14px;cursor:pointer}
.embed button:hover{border-color:var(--accent);color:var(--accent)}
.notes{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));padding:0;margin:0;list-style:none;font-size:.95rem;color:var(--muted)}
.notes li{border-top:2px solid var(--line);padding-top:10px}
.notes b{display:block;color:var(--ink);font:700 1rem var(--ui);margin-bottom:2px}
footer.src{color:var(--muted);font-size:.88rem;max-width:80ch;border-top:1px solid var(--line);padding-top:14px}
/* SVG-Text */
.tx{font-family:var(--ui);fill:var(--dim)}
.hd{font-size:15px;font-weight:600;letter-spacing:.16em;fill:var(--muted)}
.dimt{font-size:15px;font-weight:600}
.foot{font-size:13px;fill:var(--muted)}
.armtag circle{fill:var(--accent);stroke:#fff;stroke-width:1.5px;vector-effect:non-scaling-stroke}
.tagt{fill:#fff;font-weight:700}
.nolabels .lbl{display:none}
@media (max-width:640px){
  .cap{font-size:.95rem}
  .bar .lab{width:100%}
  .chips button{font-size:.84rem}
}
@media (prefers-reduced-motion: reduce){.stage svg{transition:none}}

html,body{margin:0}
body{padding:0}
.clip.bare{gap:0}
/* Schlimgen-Schriftzug (Tür, Arm 2): auf schmalen Einbettungen etwas größer */
.lt-door{font:italic 800 .25px var(--ui)}
.lt-arm{font:italic 800 .27px var(--ui)}
@media (max-width:560px){.lt-door{font-size:.27px}.lt-arm{font-size:.34px}}
.lt-body{font:italic 800 .27px var(--ui)}

/* Blinklichter (Begleitfahrzeug-Pumpe) */
@keyframes bk{0%{opacity:1}50%{opacity:.1}100%{opacity:1}}
.bk{animation:bk .9s steps(1,end) infinite}
.bk2{animation-delay:-.45s}
@media (prefers-reduced-motion:reduce){.bk{animation:none;opacity:.7}}
