/* Dispolotse · scene set v3 „Nacht-Gold-Isometrie" · szenen.css
   ONE stylesheet for every scene SVG (HP, login area; the app maps the same names in its Farbwelt).
   Every colour comes from an existing --bild-* token (values: bild_tokens_v3.css, or the design system's tokens.css).
   CSP: no inline style anywhere — the SVGs only carry classes. Motion only here, off with prefers-reduced-motion. */

.sz-bild { display: block; width: 100%; height: auto; overflow: visible; }

/* ── pedestal + materials ─────────────────────────────────────────── */
.sz-boden { fill: var(--bild-kasten-dunkel); }
.sz-boden-l { fill: var(--bild-stange); }
.sz-boden-r { fill: var(--bild-reifen-tief); }
.sz-dach { fill: var(--bild-stahl); }
.sz-dach-hell { fill: var(--bild-hallendach); }
.sz-wand-l { fill: var(--bild-rahmen-hell); }
.sz-wand-r { fill: var(--bild-rahmen); }
.sz-stein { fill: var(--bild-tuer); }
.sz-zier-wand { fill: var(--bild-zier); }
.sz-glas { fill: var(--bild-fenster); }
.sz-glas-hell { fill: var(--bild-scheibe); fill-opacity: .35; }
.sz-glasfront { fill: var(--bild-fenster); fill-opacity: .82; stroke: var(--bild-leuchte); stroke-opacity: .35; stroke-width: .6; }
.sz-scheibe { fill: var(--bild-scheibe); fill-opacity: .5; }
.sz-tuer { fill: var(--bild-holz); }
.sz-tor { fill: var(--bild-stahl); }
.sz-dock { fill: var(--bild-stange); }
.sz-holz { fill: var(--bild-holz); }
.sz-holz-top { fill: var(--bild-brett); }
.sz-erde { fill: var(--bild-erde); }
.sz-erde-top { fill: var(--bild-haufen); }
.sz-rasen { fill: var(--bild-erde-gruen); }
.sz-hecke { fill: var(--bild-lack-gruen); }
.sz-krone { fill: var(--bild-lack-gruen); }
.sz-wasser { fill: var(--bild-plane-blau); }
.sz-container { fill: var(--bild-lack-see); }
.sz-container-2 { fill: var(--bild-lack-stahlblau); }
.sz-zapf { fill: var(--bild-lack-grau); }
.sz-buerste { fill: var(--bild-lack-blau); }
.sz-grundierung { fill: var(--bild-roh); }
.sz-schild { fill: var(--bild-rahmen-hell); }
.sz-kissen { fill: var(--bild-lack-rot); }
.sz-teppich { fill: var(--bild-lack-blau); }
.sz-brief { fill: var(--bild-zier); }
.sz-strasse { fill: var(--bild-stange); }

/* vehicles (generic own shape) */
.sz-rahmen { fill: var(--bild-reifen); }
.sz-reifen { fill: var(--bild-reifen); }
.sz-chrom { fill: var(--bild-chrom); }
.sz-stahl { fill: var(--bild-stahl); }
.sz-plane { fill: var(--bild-plane-grau); }
.sz-plane-2 { fill: var(--bild-plane-blau); }
.sz-plane-top { fill: var(--bild-plane-hell); }
.sz-lack-1 { fill: var(--bild-lack-rot); }
.sz-lack-2 { fill: var(--bild-lack-blau); }
.sz-lack-3 { fill: var(--bild-lack-gruen); }
.sz-lack-4 { fill: var(--bild-lack-weiss); }
.sz-lack-5 { fill: var(--bild-lack-gelb); }
.sz-helm { fill: var(--bild-helm); }

/* shade helpers: the third face of a box */
.sz-dunkler { filter: brightness(.68); }
.sz-heller { filter: brightness(1.22); }

/* ── light: the one gold accent per scene ─────────────────────────── */
.sz-licht { fill: var(--bild-leuchte); }
.sz-licht-warm { fill: var(--bild-licht-warm); }
.sz-licht-rot { fill: var(--bild-licht-rot); }
.sz-dim { fill-opacity: .55; }
.sz-glow, .sz-halo { mix-blend-mode: screen; }
.sz-goldlinie-f { fill: var(--bild-leuchte); }
.sz-siegel { fill: var(--bild-leuchte); stroke: var(--bild-funke); stroke-width: 1; }
.sz-pfuetze { fill: var(--bild-licht-warm); fill-opacity: .18; }

/* ── lines ────────────────────────────────────────────────────────── */
.sz-kante, .sz-goldkante, .sz-mast, .sz-lamelle, .sz-tor-rippe, .sz-dachrippe, .sz-markierung, .sz-licht-strich,
.sz-kran, .sz-seil, .sz-geruest, .sz-zaun, .sz-schranke, .sz-sprosse, .sz-gelaender, .sz-fuge, .sz-arm, .sz-stamm,
.sz-brieflinie, .sz-schwanz, .sz-randlicht, .sz-schnurrhaar, .sz-pfote, .sz-halsband, .sz-pin, .sz-schluessel {
  fill: none; stroke-linecap: round; stroke-linejoin: round;
}
.sz-kante { stroke: var(--bild-zier); stroke-opacity: .22; stroke-width: .7; }
.sz-goldkante { stroke: var(--bild-leuchte); stroke-opacity: .75; stroke-width: .8; }
.sz-zart { stroke-opacity: .32; }
.sz-mast { stroke: var(--bild-lampe); stroke-width: 1.2; }
.sz-lamelle { stroke: var(--bild-schatten); stroke-opacity: .35; stroke-width: .6; }
.sz-tor-rippe { stroke: var(--bild-schatten); stroke-opacity: .45; stroke-width: .7; }
.sz-dachrippe { stroke: var(--bild-schatten); stroke-opacity: .25; stroke-width: .6; }
.sz-markierung { stroke: var(--bild-leuchte); stroke-opacity: .55; stroke-width: .9; stroke-dasharray: 5 4; }
.sz-licht-strich { stroke: var(--bild-licht-warm); stroke-width: 1.4; }
.sz-licht-strich-f { fill: var(--bild-licht-warm); }
.sz-kran { stroke: var(--bild-baggerarm); stroke-width: 1.3; }
.sz-seil { stroke: var(--bild-zier); stroke-opacity: .5; stroke-width: .6; }
.sz-geruest { stroke: var(--bild-brett); stroke-opacity: .7; stroke-width: .8; }
.sz-zaun { stroke: var(--bild-stahl); stroke-width: .9; }
.sz-schranke { stroke: var(--bild-licht-rot); stroke-width: 1.6; stroke-dasharray: 4 3; }
.sz-sprosse { stroke: var(--bild-leuchte); stroke-opacity: .4; stroke-width: .6; }
.sz-gelaender { stroke: var(--bild-chrom); stroke-opacity: .7; stroke-width: .7; }
.sz-fuge { stroke: var(--bild-zier); stroke-opacity: .08; stroke-width: .6; }
.sz-arm { stroke: var(--bild-baggerarm); stroke-width: 2.2; }
.sz-stamm { stroke: var(--bild-holz); stroke-width: 2; }
.sz-buerste, .sz-zapf { stroke: none; }

/* figures: the pets */
.sz-fell { fill: var(--bild-reifen); }
.sz-fell-hund { fill: var(--bild-holz); }
.sz-ohr { fill: var(--bild-erde); }
.sz-schwanz { stroke: var(--bild-reifen); stroke-width: 4.5; }
.sz-schwanz-hund { stroke: var(--bild-holz); stroke-width: 5; }
.sz-randlicht { stroke: var(--bild-leuchte); stroke-opacity: .85; stroke-width: 1.1; }
.sz-auge { fill: var(--bild-leuchte); }
.sz-nase { fill: var(--bild-reifen-tief); }
.sz-schnurrhaar { stroke: var(--bild-zier); stroke-opacity: .55; stroke-width: .5; }
.sz-pfote { stroke: var(--bild-schatten); stroke-opacity: .5; stroke-width: .8; }
.sz-halsband { stroke: var(--bild-lack-rot); stroke-width: 2.4; }
.sz-pin { stroke: var(--bild-leuchte); stroke-width: 1.6; }
.sz-schluessel { stroke: var(--bild-leuchte); stroke-width: 1.8; }
.sz-brieflinie { stroke: var(--bild-schatten); stroke-opacity: .3; stroke-width: .8; }
.sz-schatten { fill: var(--bild-schatten); fill-opacity: .4; }

/* gradient stops */
.st-licht { stop-color: var(--bild-leuchte); }
.st-licht-warm { stop-color: var(--bild-licht-warm); }
.st-licht-rot { stop-color: var(--bild-licht-rot); }
.st-nacht { stop-color: var(--bild-reifen-tief); }
.st-nacht2 { stop-color: var(--bild-fenster); }
.st-horizont { stop-color: var(--bild-rahmen); }

/* ── HP night panorama (stays a night picture in both themes: gold and black, Marco P32) ── */
.sz-panorama { height: 100%; }
.pano-sterne { fill: var(--bild-licht-warm); opacity: .7; }
.pano-mond { fill: var(--bild-licht-warm); }
.pano-fern { fill: var(--bild-stange); }
.pano-fenster { fill: var(--bild-leuchte); opacity: .75; }
.pano-goldnaht { fill: none; stroke: var(--bild-leuchte); stroke-opacity: .55; stroke-width: 1.2; }
.pano-fluss { fill: var(--bild-reifen-tief); }
.pano-bruecke { fill: none; stroke: var(--bild-leuchte); stroke-opacity: .7; stroke-width: 2; }
.pano-bruecke-seil { fill: none; stroke: var(--bild-leuchte); stroke-opacity: .35; stroke-width: 1; }
.pano-spiegel { fill: none; stroke: var(--bild-leuchte); stroke-opacity: .38; stroke-width: 2; stroke-linecap: round; }
.pano-huegel { fill: var(--bild-reifen); }
.pano-strasse { fill: var(--bild-reifen-tief); }
.pano-spur { fill: none; stroke-width: 3; stroke-linecap: round; stroke-dasharray: 220 140; }
.pano-leitplanke { fill: none; stroke: var(--bild-chrom); stroke-opacity: .25; stroke-width: 1; }
.pano-auflieger { fill: var(--bild-rahmen); stroke: var(--bild-leuchte); stroke-opacity: .25; stroke-width: 1; }
.pano-kabine { fill: var(--bild-lack-rot); }
.pano-scheibe { fill: var(--bild-licht-warm); fill-opacity: .35; }
.pano-rahmen { fill: var(--bild-reifen-tief); }
.pano-rad { fill: var(--bild-reifen-tief); stroke: var(--bild-chrom); stroke-opacity: .5; stroke-width: 1; }
.pano-nabe { fill: var(--bild-chrom); }
.pano-markerlicht { fill: none; stroke: var(--bild-leuchte); stroke-width: 2.4; stroke-linecap: round; }
.pano-scheinwerfer { fill: var(--bild-licht-warm); }
.pano-kegel { mix-blend-mode: screen; }
.pano-vorn { fill: var(--bild-reifen-tief); }
.pano-ebene { will-change: transform; }

/* ── calm motion (CSS only) ───────────────────────────────────────── */
@media (prefers-reduced-motion: no-preference) {
  .pano-spur-a { animation: sz-spur 9s linear infinite; }
  .pano-spur-b { animation: sz-spur 12s linear infinite reverse; }
  .pano-fenster rect:nth-child(5n) { animation: sz-funkeln 7s ease-in-out infinite; }
  .sz-halo { animation: sz-atmen 6s ease-in-out infinite; }
  .sz-fahrt-strasse { animation: sz-strasse 1.6s linear infinite; }
}
@keyframes sz-spur { to { stroke-dashoffset: -720; } }
@keyframes sz-funkeln { 50% { opacity: .25; } }
@keyframes sz-atmen { 50% { opacity: .6; } }
@keyframes sz-strasse { to { stroke-dashoffset: -18; } }

/* ── depth, figures, stages (added 11:3x) ─────────────────────────── */
.sz-ao { pointer-events: none; }
.st-zier { stop-color: var(--bild-zier); }
.st-schatten { stop-color: var(--bild-schatten); }
.sz-person-koerper { fill: var(--bild-reifen); }
.sz-person-rand { fill: none; stroke: var(--bild-leuchte); stroke-width: .35; stroke-linecap: round; }
.sz-randlinie { fill: none; stroke: var(--bild-zier); stroke-opacity: .35; stroke-width: .8; }
.sz-leitplanke { fill: none; stroke: var(--bild-chrom); stroke-opacity: .55; stroke-width: 1; }
.sz-lampe { fill: var(--bild-lampe); stroke: var(--bild-leuchte); stroke-width: .6; }
.sz-funken { fill: none; stroke: var(--bild-funke); stroke-width: 1; stroke-linecap: round; }
.sz-haufen { fill: var(--bild-haufen); }
.sz-roh { fill: var(--bild-roh); }
@media (prefers-reduced-motion: no-preference) { .sz-funken { animation: sz-atmen 1.2s steps(2) infinite; } }
.pano-fernhuegel { fill: var(--bild-rahmen); opacity: .55; }
.pano-kante { fill: none; stroke: var(--bild-licht-warm); stroke-opacity: .4; stroke-width: 1; }
.pano-spoiler { fill: var(--bild-lack-rot); filter: brightness(.7); }
.pano-chrom { fill: var(--bild-chrom); }

/* ── v2 „Veredelung" (07.10.): light, material, figures — additive, v1 SVGs still render ── */
.sz-bodenschatten { fill: var(--bild-schatten); fill-opacity: .55; }
.sz-spot, .sz-kegel, .sz-wasch, .sz-bloom { pointer-events: none; }
.sz-kegel, .sz-wasch, .sz-bloom { mix-blend-mode: screen; }
.sz-bloom { opacity: .85; }
.sz-kegel-kuehl { fill: var(--bild-scheibe); fill-opacity: .14; mix-blend-mode: screen; }
.sz-innen { stroke: none; }
.sz-regal { fill: none; stroke: var(--bild-schatten); stroke-opacity: .45; stroke-width: .9; stroke-linecap: round; }
.sz-schildglas { fill: var(--bild-reifen-tief); fill-opacity: .92; }
.sz-schirm { fill: var(--bild-licht-warm); fill-opacity: .8; }
.sz-luefter { fill: var(--bild-reifen); stroke: var(--bild-chrom); stroke-opacity: .35; stroke-width: .5; }
.sz-oberlicht { fill: var(--bild-licht-warm); fill-opacity: .45; }
.sz-attika { fill: none; stroke: var(--bild-zier); stroke-opacity: .3; stroke-width: .9; }
.sz-dichtung { fill: var(--bild-reifen-tief); }
.sz-ampel-gruen { fill: var(--bild-lack-see); filter: brightness(1.8); }
.sz-bake { fill: var(--bild-lack-orange); filter: brightness(1.5); }
.sz-bake-halo { fill: var(--bild-lack-orange); fill-opacity: .22; mix-blend-mode: screen; }
.sz-dunst { fill: var(--bild-licht-warm); fill-opacity: .16; mix-blend-mode: screen; }
.sz-dunst-kuehl { fill: var(--bild-scheibe); fill-opacity: .16; mix-blend-mode: screen; }
.sz-dunst-staub { fill: var(--bild-haufen); fill-opacity: .4; }
.sz-kontakt { fill: var(--bild-schatten); fill-opacity: .45; }
.sz-hose { fill: var(--bild-reifen); }
.sz-stiefel { fill: var(--bild-reifen-tief); }
.sz-jacke { fill: var(--bild-jacke); } .sz-jacke-a { stroke: var(--bild-jacke); }
.sz-overall { fill: var(--bild-overall); } .sz-overall-a { stroke: var(--bild-overall); }
.sz-jacke-bau { fill: var(--bild-jacke-bau); } .sz-jacke-bau-a { stroke: var(--bild-jacke-bau); }
.sz-jacke-buero { fill: var(--bild-jacke-buero); } .sz-jacke-buero-a { stroke: var(--bild-jacke-buero); }
.sz-arme { fill: none; stroke-width: 1.15; stroke-linecap: round; stroke-linejoin: round; }
.sz-weste { fill: var(--bild-weste); }
.sz-reflex { fill: none; stroke: var(--bild-licht-warm); stroke-width: .45; }
.sz-haut { fill: var(--bild-haut); }
.sz-muetze { fill: var(--bild-reifen-tief); }
.sz-schirm-kuehl { fill: var(--bild-scheibe); fill-opacity: .85; }
.sz-glanzstreif { fill: var(--bild-zier); fill-opacity: .03; }
.sz-spiegelung { fill: none; stroke-linecap: round; stroke: var(--bild-licht-warm); stroke-opacity: .28; stroke-width: 1.4; }
.sz-kette { fill: none; stroke: var(--bild-reifen-tief); stroke-width: 1.4; stroke-dasharray: .8 .6; }
.sz-gabel { fill: none; stroke: var(--bild-chrom); stroke-width: 1; stroke-linecap: round; }
.sz-ware { fill: var(--bild-brett); }
.sz-ware-2 { fill: var(--bild-plane-blau); }
.sz-ware-3 { fill: var(--bild-plane-hell); }
.sz-folie { fill: var(--bild-zier); fill-opacity: .14; }
.sz-adblue { fill: var(--bild-lack-kobalt); }
@media (prefers-reduced-motion: no-preference) {
  .sz-bake { animation: sz-atmen 1.4s ease-in-out infinite; }
  .sz-bake-halo { animation: sz-atmen 1.4s ease-in-out infinite; }
  .pano-blink { animation: sz-blink 2.4s steps(2) infinite; }
  .pano-bokeh { animation: sz-atmen 9s ease-in-out infinite; }
}
@keyframes sz-blink { 50% { opacity: .15; } }
.sz-lack-orange { fill: var(--bild-lack-orange); }
.sz-tankschlauch { fill: none; stroke: var(--bild-reifen-tief); stroke-width: 1.3; stroke-linecap: round; stroke-linejoin: round; }
.sz-glasdach { fill: var(--bild-scheibe); fill-opacity: .07; }
.sz-traeger { fill: none; stroke: var(--bild-leuchte); stroke-opacity: .35; stroke-width: .7; }
/* panorama v2 */
.pano-milch { fill: var(--bild-licht-warm); opacity: .03; }
.pano-sterne-gross { opacity: .95; }
.pano-wolke { fill: var(--bild-licht-warm); opacity: .1; }
.pano-berg3 { fill: var(--bild-rahmen); opacity: .45; }
.pano-berg2 { fill: var(--bild-stange); opacity: .8; }
.pano-nah { opacity: 1; }
.pano-maswerk { fill: none; stroke: var(--bild-leuchte); stroke-opacity: .8; stroke-width: 2; stroke-linecap: round; }
.pano-zart { stroke-opacity: .35; }
.pano-turmkorb { fill: var(--bild-leuchte); opacity: .55; }
.pano-licht-rot { fill: var(--bild-licht-rot); }
.pano-kran { fill: none; stroke: var(--bild-rahmen-hell); stroke-width: 2; stroke-linejoin: round; }
.pano-dampf { fill: var(--bild-licht-warm); opacity: .1; }
.pano-spiegelung { fill: none; stroke-width: 2.2; stroke-linecap: round; opacity: .55; }
.pano-breit { stroke: var(--bild-leuchte); stroke-width: 9; opacity: .32; }
.pano-gespiegelt { stroke-opacity: .16; }
.pano-brueckenlampen { fill: none; stroke: var(--bild-licht-warm); stroke-width: 3.4; stroke-linecap: round; }
.pano-baeume { fill: var(--bild-reifen-tief); }
.pano-mittellinie { fill: none; stroke: var(--bild-zier); stroke-opacity: .28; stroke-width: 1.2; stroke-dasharray: 18 22; }
.pano-spur-glow { stroke-width: 9; opacity: .55; }
.pano-reflektor { fill: none; stroke: var(--bild-leuchte); stroke-width: 2; stroke-linecap: round; opacity: .8; }
.pano-bodenglanz { fill: var(--bild-leuchte); opacity: .18; }
.pano-nassglanz { fill: none; stroke: var(--bild-licht-warm); stroke-width: 6; stroke-linecap: round; opacity: .35; }
.pano-scheinwerfer-glut { fill: var(--bild-licht-warm); opacity: .7; }
.pano-vignette { pointer-events: none; }
.pano-lkw { color: var(--bild-lack-rot); }
.pano-bokeh { mix-blend-mode: screen; }
.sz-panorama { overflow: hidden; }
.sz-fz-af { color: var(--bild-lack-grau); }
.sz-fz-zug { color: var(--bild-lack-rot); }
.pano-himmel { fill-opacity: 1; }
.sz-tank { fill: var(--bild-chrom); }
.sz-tankring { fill: none; stroke: var(--bild-stahl); stroke-opacity: .8; stroke-width: .7; }
.sz-kaefig { fill: none; stroke: var(--bild-stahl); stroke-width: .45; }
.sz-schacht { fill: var(--bild-reifen); stroke: var(--bild-leuchte); stroke-opacity: .7; stroke-width: .6; }
.sz-nass { fill: none; stroke: var(--bild-licht-warm); stroke-opacity: .28; stroke-width: 2.2; stroke-linecap: round; }
.sz-rueckspur { fill: none; stroke: var(--bild-licht-rot); stroke-opacity: .35; stroke-width: 1.4; stroke-linecap: round; stroke-dasharray: 14 6; }
.sz-schildrand { fill: var(--bild-zier); fill-opacity: .25; }
.sz-lack-silber { fill: var(--bild-lack-silber); }
.sz-lack-grau { fill: var(--bild-lack-grau); }
.sz-nachtfenster { fill: var(--bild-scheibe); fill-opacity: .16; stroke: var(--bild-scheibe); stroke-opacity: .25; stroke-width: .4; }
.sz-nachthof { fill: var(--bild-reifen-tief); stroke: var(--bild-scheibe); stroke-opacity: .3; stroke-width: .6; }
.sz-lochwand { fill: var(--bild-rahmen-hell); }
.sz-werkzeug { fill: none; stroke: var(--bild-chrom); stroke-width: 1.1; stroke-linecap: round; }
.sz-schlauchrolle { fill: var(--bild-lack-1-fallback, var(--bild-lack-rot)); stroke: var(--bild-chrom); stroke-width: .8; }
.sz-griff { fill: none; stroke: var(--bild-leuchte); stroke-width: .6; stroke-linecap: round; }
.sz-funkenglut { fill: var(--bild-funke); fill-opacity: .25; mix-blend-mode: screen; }
.sz-spur { fill: none; stroke: var(--bild-schatten); stroke-opacity: .25; stroke-width: .8; stroke-dasharray: 1.4 1; }
.sz-arm-dick { fill: none; stroke: var(--bild-baggerarm); stroke-width: 3.4; stroke-linecap: round; }
.sz-schaufel { fill: var(--bild-stahl); stroke: var(--bild-baggerarm); stroke-width: .8; }
.sz-bewehrung { fill: none; stroke: var(--bild-lack-orange); stroke-opacity: .8; stroke-width: .6; }
.sz-gitter { fill: var(--bild-zier); fill-opacity: .05; stroke: var(--bild-zier); stroke-opacity: .25; stroke-width: .4; stroke-dasharray: 1 1.4; }
@media (prefers-reduced-motion: no-preference) { .sz-funkenglut { animation: sz-atmen 1.2s steps(2) infinite; } }
.sz-drehteller { fill: none; stroke: var(--bild-leuchte); stroke-opacity: .55; stroke-width: .8; }
/* ── Paket 3 (07.10.) — generated by _quelle/bauen.py css_paket3(); edit there, not here ── */
/* vehicles from the set (3/4 view, <use>): paint = currentColor */
.sz-fz-rot { color: var(--bild-lack-rot); } .sz-fz-blau { color: var(--bild-lack-blau); } .sz-fz-gruen { color: var(--bild-lack-gruen); }
.sz-fz-weiss { color: var(--bild-lack-weiss); } .sz-fz-gelb { color: var(--bild-lack-gelb); } .sz-fz-grau { color: var(--bild-plane-grau); }
.sz-fz-blau2 { color: var(--bild-plane-blau); }
/* dealer tank yard: bays + waiting tank trailers (0–5, diesel / AdBlue) */
.sz-buchtlicht { fill: var(--bild-leuchte); }
.sz-schlauch-ab { stroke: var(--bild-lack-kobalt); }
.sz-tr-ab { display: none; }
.sz-tr-4 .sz-tr-di, .sz-tr-5 .sz-tr-di { display: none; }
.sz-tr-4 .sz-tr-ab, .sz-tr-5 .sz-tr-ab { display: inline; }
.tr1-di .sz-tr-1 .sz-tr-di, .tr1-ab .sz-tr-1 .sz-tr-ab { display: inline; }
.tr1-di .sz-tr-1 .sz-tr-ab, .tr1-ab .sz-tr-1 .sz-tr-di { display: none; }
.tr2-di .sz-tr-2 .sz-tr-di, .tr2-ab .sz-tr-2 .sz-tr-ab { display: inline; }
.tr2-di .sz-tr-2 .sz-tr-ab, .tr2-ab .sz-tr-2 .sz-tr-di { display: none; }
.tr3-di .sz-tr-3 .sz-tr-di, .tr3-ab .sz-tr-3 .sz-tr-ab { display: inline; }
.tr3-di .sz-tr-3 .sz-tr-ab, .tr3-ab .sz-tr-3 .sz-tr-di { display: none; }
.tr4-di .sz-tr-4 .sz-tr-di, .tr4-ab .sz-tr-4 .sz-tr-ab { display: inline; }
.tr4-di .sz-tr-4 .sz-tr-ab, .tr4-ab .sz-tr-4 .sz-tr-di { display: none; }
.tr5-di .sz-tr-5 .sz-tr-di, .tr5-ab .sz-tr-5 .sz-tr-ab { display: inline; }
.tr5-di .sz-tr-5 .sz-tr-ab, .tr5-ab .sz-tr-5 .sz-tr-di { display: none; }
.tr-0 .sz-tr-1, .tr-0 .sz-tr-2, .tr-0 .sz-tr-3, .tr-0 .sz-tr-4, .tr-0 .sz-tr-5 { display: none; }
.tr-1 .sz-tr-2, .tr-1 .sz-tr-3, .tr-1 .sz-tr-4, .tr-1 .sz-tr-5 { display: none; }
.tr-2 .sz-tr-3, .tr-2 .sz-tr-4, .tr-2 .sz-tr-5 { display: none; }
.tr-3 .sz-tr-4, .tr-3 .sz-tr-5 { display: none; }
.tr-4 .sz-tr-5 { display: none; }
/* construction sites v3 */
.sz-bordbrett { fill: none; stroke: var(--bild-lack-orange); stroke-width: .7; stroke-opacity: .85; }
.sz-leiter { fill: none; stroke: var(--bild-chrom); stroke-width: .6; }
.sz-netz { fill: var(--bild-lack-gruen); fill-opacity: .16; stroke: var(--bild-lack-gruen); stroke-opacity: .35; stroke-width: .3; stroke-dasharray: .8 .8; }
.sz-warnbrett { fill: var(--bild-lack-weiss); }
.sz-warnstreif-l { fill: none; stroke: var(--bild-lack-signalrot); stroke-width: 2.4; stroke-dasharray: 1.6 1.6; }
/* Leben interiors */
.sz-parkett { fill: var(--bild-holz); } .sz-dielenfuge { fill: none; stroke: var(--bild-schatten); stroke-opacity: .22; stroke-width: .35; }
.sz-innenwand { fill: var(--bild-rahmen-hell); } .sz-fussleiste { fill: none; stroke: var(--bild-zier); stroke-opacity: .55; stroke-width: .6; }
.sz-fliese { fill: var(--bild-platte); } .sz-voll { fill-opacity: .55; }
.sz-stadtlicht { fill: var(--bild-licht-warm); }
.sz-gemaelde { fill: var(--bild-kasten-dunkel); } .sz-gemaelde-motiv { fill: var(--bild-zier); fill-opacity: .45; }
.sz-polster { fill: var(--bild-lack-stahlblau); } .sz-polster-2 { fill: var(--bild-lack-see); } .sz-polster-hell { fill: var(--bild-plane-hell); }
.sz-kissen-akzent { fill: var(--bild-zier); }
.sz-teppich-2 { fill: var(--bild-lack-signalrot); fill-opacity: .7; }
.sz-schirmlampe { fill: var(--bild-licht-warm); fill-opacity: .8; }
.sz-topf { fill: var(--bild-tuer); }
.sz-regalfach { fill: var(--bild-licht-warm); fill-opacity: .22; }
.sz-buch { fill: var(--bild-lack-rot); } .sz-buch-2 { fill: var(--bild-lack-kobalt); } .sz-buch-3 { fill: var(--bild-zier); }
.sz-arbeitsplatte { fill: var(--bild-chrom); } .sz-kuechenfront { fill: var(--bild-rahmen); }
.sz-fugeinnen { fill: none; stroke: var(--bild-schatten); stroke-opacity: .45; stroke-width: .3; }
.sz-kochfeld { fill: var(--bild-reifen-tief); stroke: var(--bild-licht-rot); stroke-opacity: .6; stroke-width: .4; }
.sz-spuele { fill: var(--bild-stahl); }
.sz-rueckwand { fill: var(--bild-platte); fill-opacity: .55; }
.sz-laken { fill: var(--bild-plane-hell); } .sz-decke { fill: var(--bild-lack-kobalt); } .sz-decke-2 { fill: var(--bild-lack-gruen); }
.sz-schrankfront { fill: var(--bild-holz); }
.sz-schirm-tv { fill: var(--bild-reifen-tief); }
.sz-korb { fill: var(--bild-holz); } .sz-feuer { fill: var(--bild-funke); }
.sz-karton { fill: var(--bild-brett); } .sz-klebeband { fill: none; stroke: var(--bild-holz); stroke-width: .8; }
.sz-pflaster { fill: none; stroke: var(--bild-leuchte); stroke-opacity: .35; stroke-width: .5; }
.sz-wallbox { fill: var(--bild-chrom); }
.sz-lack-2-strich, .sz-lack-3-strich, .sz-lack-silber-strich { fill: none; stroke: var(--bild-schatten); stroke-width: .6; }
.sz-mondglanz { fill: none; stroke: var(--bild-licht-warm); stroke-opacity: .5; stroke-width: 1; stroke-linecap: round; }
.sz-gluehwurm { fill: var(--bild-leuchte); }
.sz-ladenboden { fill: var(--bild-kasten-dunkel); } .sz-podest { fill: var(--bild-rahmen-hell); }
.sz-wagen { fill: none; stroke: var(--bild-chrom); stroke-width: .8; stroke-linejoin: round; }
/* showroom */
.sz-schaufloor { fill: var(--bild-kasten-dunkel); }
.sz-glas-zart { fill: var(--bild-scheibe); fill-opacity: .12; stroke: var(--bild-leuchte); stroke-opacity: .45; stroke-width: .6; }
.sz-drehteller-flaeche { fill: var(--bild-leuchte); fill-opacity: .1; }
/* ATS: desert at night */
.sz-wnacht { pointer-events: none; }
.sz-mesa-g { stroke: none; } .sz-mesa-nah { opacity: .85; }
.sz-mesa-rand { fill: none; stroke: var(--bild-licht-warm); stroke-opacity: .55; stroke-width: 1.2; }
.sz-kaktus { fill: var(--bild-erde-gruen); }
.sz-sand { fill: var(--bild-haufen); fill-opacity: .32; }
.sz-fascia { fill: var(--bild-zier); }
.sz-holzmast { fill: none; stroke: var(--bild-holz); stroke-width: 1.1; }
.sz-draht { fill: none; stroke: var(--bild-stange); stroke-opacity: .7; stroke-width: .35; }
/* panorama: middle skyline */
.pano-mitte { fill: var(--bild-kasten-dunkel); }
.pano-fen { fill: var(--bild-leuchte); opacity: .8; } .pano-fen-warm { fill: var(--bild-licht-warm); } .pano-fen-aus { opacity: .22; }
.pano-fen-band { fill: none; stroke: var(--bild-licht-warm); stroke-width: 2; }
.pano-fensterfeld { opacity: .9; }
@media (prefers-reduced-motion: no-preference) {
  .sz-blink { animation: sz-atmen 1.6s steps(2) infinite; }
}
/* ── Paket 4 (07.10.) — generated by _quelle/bauen.py css_paket4(); edit there, not here ── */
/* vehicles from the set: their fallback fills are dark constants → map every part to --bild-* so option A
   (picture tokens stay night-dark) and option B (light picture tokens) both work without fahrzeuge.css */
.sz-bild .dl-dunkel { fill: var(--bild-rahmen); } .sz-bild .dl-tief { fill: var(--bild-reifen-tief); }
.sz-bild .dl-gummi, .sz-bild .dl-reifen { fill: var(--bild-reifen); } .sz-bild .dl-felge { fill: var(--bild-gummi); }
.sz-bild .dl-rueck { fill: var(--bild-licht-rot); } .sz-bild .dl-leuchte { fill: var(--bild-weiss); }
.sz-bild .dl-blink { fill: var(--bild-leuchte); } .sz-bild .dl-ladung { fill: var(--bild-plane-grau); }
.sz-bild .dl-akzent { fill: var(--bild-lack-kobalt); } .sz-bild .dl-warn { stroke: var(--bild-reifen); }
.sz-bild .dl-naht { stroke: var(--bild-schatten); } .sz-bild .dl-flanke, .sz-bild .dl-abdunkeln { fill: var(--bild-schatten); }
.sz-bild .dl-leitung-r { stroke: var(--bild-licht-rot); } .sz-bild .dl-leitung-g { stroke: var(--bild-lack-gelb); }
.sz-bild .dl-gelaender { stroke: var(--bild-chrom); } .sz-bild .dl-randlicht { stroke: var(--bild-funke); }
.sz-bild .dl-go { stop-color: var(--bild-funke); } .sz-bild .dl-st { stop-color: var(--bild-licht-warm); }
.sz-bild .dl-bo { stop-color: var(--bild-schatten); }
.sz-bild .dl-gl1 { stop-color: color-mix(in srgb, var(--bild-scheibe) 35%, var(--bild-fenster)); }
.sz-bild .dl-gl2 { stop-color: color-mix(in srgb, var(--bild-fenster) 60%, var(--bild-reifen-tief)); }
.sz-bild .dl-gl3 { stop-color: color-mix(in srgb, var(--bild-leuchte) 35%, var(--bild-fenster)); }
.sz-bild .dl-al1 { stop-color: var(--bild-zier); } .sz-bild .dl-al2 { stop-color: var(--bild-roh); }
/* dealer tank yard, per-kind mode: trd-0..8 / tra-0..8 */
.sz-markierung-ab { stroke: var(--bild-lack-kobalt); stroke-opacity: .8; } .sz-buchtlicht-ab { fill: var(--bild-scheibe); }
.sz-trm-art, .sz-trk, .sz-trx-di, .sz-trx-ab { display: none; }
.trd-0 .sz-trm-art, .trd-1 .sz-trm-art, .trd-2 .sz-trm-art, .trd-3 .sz-trm-art, .trd-4 .sz-trm-art, .tra-0 .sz-trm-art, .tra-1 .sz-trm-art, .tra-2 .sz-trm-art, .tra-3 .sz-trm-art, .tra-4 .sz-trm-art { display: inline; }
.trd-0 .sz-trm-5, .trd-1 .sz-trm-5, .trd-2 .sz-trm-5, .trd-3 .sz-trm-5, .trd-4 .sz-trm-5, .tra-0 .sz-trm-5, .tra-1 .sz-trm-5, .tra-2 .sz-trm-5, .tra-3 .sz-trm-5, .tra-4 .sz-trm-5 { display: none; }
.trd-1 .sz-trk-di-1, .trd-1 .sz-trk-m-1 .sz-trx-di { display: inline; }
.tra-1 .sz-trk-ab-1 { display: inline; }
.trd-2 .sz-trk-di-1, .trd-2 .sz-trk-m-1 .sz-trx-di, .trd-2 .sz-trk-di-2, .trd-2 .sz-trk-m-2 .sz-trx-di { display: inline; }
.tra-2 .sz-trk-ab-1, .tra-2 .sz-trk-ab-2 { display: inline; }
.trd-3 .sz-trk-di-1, .trd-3 .sz-trk-m-1 .sz-trx-di, .trd-3 .sz-trk-di-2, .trd-3 .sz-trk-m-2 .sz-trx-di, .trd-3 .sz-trk-di-3, .trd-3 .sz-trk-m-3 .sz-trx-di { display: inline; }
.tra-3 .sz-trk-ab-1, .tra-3 .sz-trk-ab-2, .tra-3 .sz-trk-ab-3 { display: inline; }
.trd-4 .sz-trk-di-1, .trd-4 .sz-trk-m-1 .sz-trx-di, .trd-4 .sz-trk-di-2, .trd-4 .sz-trk-m-2 .sz-trx-di, .trd-4 .sz-trk-di-3, .trd-4 .sz-trk-m-3 .sz-trx-di, .trd-4 .sz-trk-di-4, .trd-4 .sz-trk-m-4 .sz-trx-di { display: inline; }
.tra-4 .sz-trk-ab-1, .tra-4 .sz-trk-ab-2, .tra-4 .sz-trk-ab-3, .tra-4 .sz-trk-ab-4 { display: inline; }
.tra-1 .sz-trk-m-8 .sz-trx-ab { display: inline; }
.tra-2 .sz-trk-m-7 .sz-trx-ab, .tra-2 .sz-trk-m-8 .sz-trx-ab { display: inline; }
.tra-3 .sz-trk-m-6 .sz-trx-ab, .tra-3 .sz-trk-m-7 .sz-trx-ab, .tra-3 .sz-trk-m-8 .sz-trx-ab { display: inline; }
.tra-4 .sz-trk-m-5 .sz-trx-ab, .tra-4 .sz-trk-m-6 .sz-trx-ab, .tra-4 .sz-trk-m-7 .sz-trx-ab, .tra-4 .sz-trk-m-8 .sz-trx-ab { display: inline; }
/* hook: tank level gauges — --fuell-diesel / --fuell-adblue (0..1) on any ancestor */
.sz-pegel-glas { fill: var(--bild-reifen-tief); fill-opacity: .9; stroke: var(--bild-zier); stroke-opacity: .55; stroke-width: .5; }
.sz-pegel { transform-box: fill-box; transform-origin: 50% 100%; transition: transform .6s ease; }
.sz-pegel-diesel { fill: var(--bild-leuchte); transform: scaleY(var(--fuell-diesel, .7)); }
.sz-pegel-adblue { fill: var(--bild-lack-kobalt); transform: scaleY(var(--fuell-adblue, .55)); }
.sz-pegel-skala { fill: none; stroke: var(--bild-zier); stroke-opacity: .6; stroke-width: .5; }
/* hook: rack fill levels — --lager-1 … --lager-4 (0..1, default .8) */
.sz-lg { transition: opacity .4s ease; }
.sz-lg-1-0 { opacity: clamp(0, calc(var(--lager-1, .8) * 9 - 0), 1); }
.sz-lg-1-1 { opacity: clamp(0, calc(var(--lager-1, .8) * 9 - 1), 1); }
.sz-lg-1-2 { opacity: clamp(0, calc(var(--lager-1, .8) * 9 - 2), 1); }
.sz-lg-1-3 { opacity: clamp(0, calc(var(--lager-1, .8) * 9 - 3), 1); }
.sz-lg-1-4 { opacity: clamp(0, calc(var(--lager-1, .8) * 9 - 4), 1); }
.sz-lg-1-5 { opacity: clamp(0, calc(var(--lager-1, .8) * 9 - 5), 1); }
.sz-lg-1-6 { opacity: clamp(0, calc(var(--lager-1, .8) * 9 - 6), 1); }
.sz-lg-1-7 { opacity: clamp(0, calc(var(--lager-1, .8) * 9 - 7), 1); }
.sz-lg-1-8 { opacity: clamp(0, calc(var(--lager-1, .8) * 9 - 8), 1); }
.sz-lg-2-0 { opacity: clamp(0, calc(var(--lager-2, .8) * 9 - 0), 1); }
.sz-lg-2-1 { opacity: clamp(0, calc(var(--lager-2, .8) * 9 - 1), 1); }
.sz-lg-2-2 { opacity: clamp(0, calc(var(--lager-2, .8) * 9 - 2), 1); }
.sz-lg-2-3 { opacity: clamp(0, calc(var(--lager-2, .8) * 9 - 3), 1); }
.sz-lg-2-4 { opacity: clamp(0, calc(var(--lager-2, .8) * 9 - 4), 1); }
.sz-lg-2-5 { opacity: clamp(0, calc(var(--lager-2, .8) * 9 - 5), 1); }
.sz-lg-2-6 { opacity: clamp(0, calc(var(--lager-2, .8) * 9 - 6), 1); }
.sz-lg-2-7 { opacity: clamp(0, calc(var(--lager-2, .8) * 9 - 7), 1); }
.sz-lg-2-8 { opacity: clamp(0, calc(var(--lager-2, .8) * 9 - 8), 1); }
.sz-lg-3-0 { opacity: clamp(0, calc(var(--lager-3, .8) * 9 - 0), 1); }
.sz-lg-3-1 { opacity: clamp(0, calc(var(--lager-3, .8) * 9 - 1), 1); }
.sz-lg-3-2 { opacity: clamp(0, calc(var(--lager-3, .8) * 9 - 2), 1); }
.sz-lg-3-3 { opacity: clamp(0, calc(var(--lager-3, .8) * 9 - 3), 1); }
.sz-lg-3-4 { opacity: clamp(0, calc(var(--lager-3, .8) * 9 - 4), 1); }
.sz-lg-3-5 { opacity: clamp(0, calc(var(--lager-3, .8) * 9 - 5), 1); }
.sz-lg-3-6 { opacity: clamp(0, calc(var(--lager-3, .8) * 9 - 6), 1); }
.sz-lg-3-7 { opacity: clamp(0, calc(var(--lager-3, .8) * 9 - 7), 1); }
.sz-lg-3-8 { opacity: clamp(0, calc(var(--lager-3, .8) * 9 - 8), 1); }
.sz-lg-4-0 { opacity: clamp(0, calc(var(--lager-4, .8) * 9 - 0), 1); }
.sz-lg-4-1 { opacity: clamp(0, calc(var(--lager-4, .8) * 9 - 1), 1); }
.sz-lg-4-2 { opacity: clamp(0, calc(var(--lager-4, .8) * 9 - 2), 1); }
.sz-lg-4-3 { opacity: clamp(0, calc(var(--lager-4, .8) * 9 - 3), 1); }
.sz-lg-4-4 { opacity: clamp(0, calc(var(--lager-4, .8) * 9 - 4), 1); }
.sz-lg-4-5 { opacity: clamp(0, calc(var(--lager-4, .8) * 9 - 5), 1); }
.sz-lg-4-6 { opacity: clamp(0, calc(var(--lager-4, .8) * 9 - 6), 1); }
.sz-lg-4-7 { opacity: clamp(0, calc(var(--lager-4, .8) * 9 - 7), 1); }
.sz-lg-4-8 { opacity: clamp(0, calc(var(--lager-4, .8) * 9 - 8), 1); }
/* hook: incoming rig on the approach road — .unterwegs; badge slot .sz-slot-eta for the page count/ETA */
.sz-anfahrt { display: none; } .unterwegs .sz-anfahrt { display: inline; }
.sz-fahrbahnstrich { fill: none; stroke: var(--bild-zier); stroke-opacity: .3; stroke-width: .8; }
.sz-slotplatte { fill: var(--bild-reifen-tief); fill-opacity: .92; stroke: var(--bild-leuchte); stroke-width: .8; }
.sz-slotspitze { fill: var(--bild-leuchte); }
.sz-slottext { fill: var(--bild-zier); font: 600 8px system-ui, sans-serif; text-anchor: middle; dominant-baseline: central; }
/* hook: workshop — .buehne-0 … .buehne-4 = occupied bays (default 4) */
.buehne-0 .sz-wb-1, .buehne-0 .sz-wb-2, .buehne-0 .sz-wb-3, .buehne-0 .sz-wb-4 { display: none; }
.buehne-1 .sz-wb-2, .buehne-1 .sz-wb-3, .buehne-1 .sz-wb-4 { display: none; }
.buehne-2 .sz-wb-3, .buehne-2 .sz-wb-4 { display: none; }
.buehne-3 .sz-wb-4 { display: none; }
/* hook: construction crews — .trupp-0 … .trupp-4 = busy crews (default 4); the crew board follows */
.sz-truppampel { fill: var(--bild-lack-see); filter: brightness(1.9); }
.trupp-0 .sz-trupp-1, .trupp-0 .sz-trupp-2, .trupp-0 .sz-trupp-3, .trupp-0 .sz-trupp-4 { display: none; }
.trupp-0 .sz-truppampel-1, .trupp-0 .sz-truppampel-2, .trupp-0 .sz-truppampel-3, .trupp-0 .sz-truppampel-4 { fill: var(--bild-reifen); filter: none; }
.trupp-1 .sz-trupp-2, .trupp-1 .sz-trupp-3, .trupp-1 .sz-trupp-4 { display: none; }
.trupp-1 .sz-truppampel-2, .trupp-1 .sz-truppampel-3, .trupp-1 .sz-truppampel-4 { fill: var(--bild-reifen); filter: none; }
.trupp-2 .sz-trupp-3, .trupp-2 .sz-trupp-4 { display: none; }
.trupp-2 .sz-truppampel-3, .trupp-2 .sz-truppampel-4 { fill: var(--bild-reifen); filter: none; }
.trupp-3 .sz-trupp-4 { display: none; }
.trupp-3 .sz-truppampel-4 { fill: var(--bild-reifen); filter: none; }
/* hook: spare-parts store — --teil-<gruppe> (0..1, default .5): 6 pallet places per compartment like Palettenstufe;
   .sz-teilzahl[data-teil] = empty number plate text the page fills; .bestellung = delivery truck + badge */
.sz-tf { transition: opacity .4s ease; } .sz-klebeband-f { fill: var(--bild-holz); fill-opacity: .7; }
.sz-teilzahl { fill: var(--bild-zier); font: 600 5px system-ui, sans-serif; text-anchor: middle; dominant-baseline: central; }
.sz-bestellung { display: none; } .bestellung .sz-bestellung { display: inline; }
.sz-bestell-ampel { fill: var(--bild-licht-rot); filter: none; } .bestellung .sz-bestell-ampel { fill: var(--bild-lack-see); filter: brightness(1.8); }
.sz-tf-aggregat_teile-0 { opacity: clamp(0, calc(var(--regal-aggregat_teile, calc(var(--teil-aggregat_teile, .5) * 6)) * 1000), 1); } .sz-tf-aggregat_teile-1 { opacity: clamp(0, calc((var(--regal-aggregat_teile, calc(var(--teil-aggregat_teile, .5) * 6)) - 1) * 4), 1); } .sz-tf-aggregat_teile-2 { opacity: clamp(0, calc((var(--regal-aggregat_teile, calc(var(--teil-aggregat_teile, .5) * 6)) - 2) * 4), 1); } .sz-tf-aggregat_teile-3 { opacity: clamp(0, calc((var(--regal-aggregat_teile, calc(var(--teil-aggregat_teile, .5) * 6)) - 3) * 4), 1); } .sz-tf-aggregat_teile-4 { opacity: clamp(0, calc((var(--regal-aggregat_teile, calc(var(--teil-aggregat_teile, .5) * 6)) - 4) * 4), 1); } .sz-tf-aggregat_teile-5 { opacity: clamp(0, calc((var(--regal-aggregat_teile, calc(var(--teil-aggregat_teile, .5) * 6)) - 5) * 4), 1); }
.sz-tf-auflieger_teile-0 { opacity: clamp(0, calc(var(--regal-auflieger_teile, calc(var(--teil-auflieger_teile, .5) * 6)) * 1000), 1); } .sz-tf-auflieger_teile-1 { opacity: clamp(0, calc((var(--regal-auflieger_teile, calc(var(--teil-auflieger_teile, .5) * 6)) - 1) * 4), 1); } .sz-tf-auflieger_teile-2 { opacity: clamp(0, calc((var(--regal-auflieger_teile, calc(var(--teil-auflieger_teile, .5) * 6)) - 2) * 4), 1); } .sz-tf-auflieger_teile-3 { opacity: clamp(0, calc((var(--regal-auflieger_teile, calc(var(--teil-auflieger_teile, .5) * 6)) - 3) * 4), 1); } .sz-tf-auflieger_teile-4 { opacity: clamp(0, calc((var(--regal-auflieger_teile, calc(var(--teil-auflieger_teile, .5) * 6)) - 4) * 4), 1); } .sz-tf-auflieger_teile-5 { opacity: clamp(0, calc((var(--regal-auflieger_teile, calc(var(--teil-auflieger_teile, .5) * 6)) - 5) * 4), 1); }
.sz-tf-batterie-0 { opacity: clamp(0, calc(var(--regal-batterie, calc(var(--teil-batterie, .5) * 6)) * 1000), 1); } .sz-tf-batterie-1 { opacity: clamp(0, calc((var(--regal-batterie, calc(var(--teil-batterie, .5) * 6)) - 1) * 4), 1); } .sz-tf-batterie-2 { opacity: clamp(0, calc((var(--regal-batterie, calc(var(--teil-batterie, .5) * 6)) - 2) * 4), 1); } .sz-tf-batterie-3 { opacity: clamp(0, calc((var(--regal-batterie, calc(var(--teil-batterie, .5) * 6)) - 3) * 4), 1); } .sz-tf-batterie-4 { opacity: clamp(0, calc((var(--regal-batterie, calc(var(--teil-batterie, .5) * 6)) - 4) * 4), 1); } .sz-tf-batterie-5 { opacity: clamp(0, calc((var(--regal-batterie, calc(var(--teil-batterie, .5) * 6)) - 5) * 4), 1); }
.sz-tf-bremsbelag-0 { opacity: clamp(0, calc(var(--regal-bremsbelag, calc(var(--teil-bremsbelag, .5) * 6)) * 1000), 1); } .sz-tf-bremsbelag-1 { opacity: clamp(0, calc((var(--regal-bremsbelag, calc(var(--teil-bremsbelag, .5) * 6)) - 1) * 4), 1); } .sz-tf-bremsbelag-2 { opacity: clamp(0, calc((var(--regal-bremsbelag, calc(var(--teil-bremsbelag, .5) * 6)) - 2) * 4), 1); } .sz-tf-bremsbelag-3 { opacity: clamp(0, calc((var(--regal-bremsbelag, calc(var(--teil-bremsbelag, .5) * 6)) - 3) * 4), 1); } .sz-tf-bremsbelag-4 { opacity: clamp(0, calc((var(--regal-bremsbelag, calc(var(--teil-bremsbelag, .5) * 6)) - 4) * 4), 1); } .sz-tf-bremsbelag-5 { opacity: clamp(0, calc((var(--regal-bremsbelag, calc(var(--teil-bremsbelag, .5) * 6)) - 5) * 4), 1); }
.sz-tf-bremsscheibe-0 { opacity: clamp(0, calc(var(--regal-bremsscheibe, calc(var(--teil-bremsscheibe, .5) * 6)) * 1000), 1); } .sz-tf-bremsscheibe-1 { opacity: clamp(0, calc((var(--regal-bremsscheibe, calc(var(--teil-bremsscheibe, .5) * 6)) - 1) * 4), 1); } .sz-tf-bremsscheibe-2 { opacity: clamp(0, calc((var(--regal-bremsscheibe, calc(var(--teil-bremsscheibe, .5) * 6)) - 2) * 4), 1); } .sz-tf-bremsscheibe-3 { opacity: clamp(0, calc((var(--regal-bremsscheibe, calc(var(--teil-bremsscheibe, .5) * 6)) - 3) * 4), 1); } .sz-tf-bremsscheibe-4 { opacity: clamp(0, calc((var(--regal-bremsscheibe, calc(var(--teil-bremsscheibe, .5) * 6)) - 4) * 4), 1); } .sz-tf-bremsscheibe-5 { opacity: clamp(0, calc((var(--regal-bremsscheibe, calc(var(--teil-bremsscheibe, .5) * 6)) - 5) * 4), 1); }
.sz-tf-elektrik-0 { opacity: clamp(0, calc(var(--regal-elektrik, calc(var(--teil-elektrik, .5) * 6)) * 1000), 1); } .sz-tf-elektrik-1 { opacity: clamp(0, calc((var(--regal-elektrik, calc(var(--teil-elektrik, .5) * 6)) - 1) * 4), 1); } .sz-tf-elektrik-2 { opacity: clamp(0, calc((var(--regal-elektrik, calc(var(--teil-elektrik, .5) * 6)) - 2) * 4), 1); } .sz-tf-elektrik-3 { opacity: clamp(0, calc((var(--regal-elektrik, calc(var(--teil-elektrik, .5) * 6)) - 3) * 4), 1); } .sz-tf-elektrik-4 { opacity: clamp(0, calc((var(--regal-elektrik, calc(var(--teil-elektrik, .5) * 6)) - 4) * 4), 1); } .sz-tf-elektrik-5 { opacity: clamp(0, calc((var(--regal-elektrik, calc(var(--teil-elektrik, .5) * 6)) - 5) * 4), 1); }
.sz-tf-filtersatz-0 { opacity: clamp(0, calc(var(--regal-filtersatz, calc(var(--teil-filtersatz, .5) * 6)) * 1000), 1); } .sz-tf-filtersatz-1 { opacity: clamp(0, calc((var(--regal-filtersatz, calc(var(--teil-filtersatz, .5) * 6)) - 1) * 4), 1); } .sz-tf-filtersatz-2 { opacity: clamp(0, calc((var(--regal-filtersatz, calc(var(--teil-filtersatz, .5) * 6)) - 2) * 4), 1); } .sz-tf-filtersatz-3 { opacity: clamp(0, calc((var(--regal-filtersatz, calc(var(--teil-filtersatz, .5) * 6)) - 3) * 4), 1); } .sz-tf-filtersatz-4 { opacity: clamp(0, calc((var(--regal-filtersatz, calc(var(--teil-filtersatz, .5) * 6)) - 4) * 4), 1); } .sz-tf-filtersatz-5 { opacity: clamp(0, calc((var(--regal-filtersatz, calc(var(--teil-filtersatz, .5) * 6)) - 5) * 4), 1); }
.sz-tf-glas-0 { opacity: clamp(0, calc(var(--regal-glas, calc(var(--teil-glas, .5) * 6)) * 1000), 1); } .sz-tf-glas-1 { opacity: clamp(0, calc((var(--regal-glas, calc(var(--teil-glas, .5) * 6)) - 1) * 4), 1); } .sz-tf-glas-2 { opacity: clamp(0, calc((var(--regal-glas, calc(var(--teil-glas, .5) * 6)) - 2) * 4), 1); } .sz-tf-glas-3 { opacity: clamp(0, calc((var(--regal-glas, calc(var(--teil-glas, .5) * 6)) - 3) * 4), 1); } .sz-tf-glas-4 { opacity: clamp(0, calc((var(--regal-glas, calc(var(--teil-glas, .5) * 6)) - 4) * 4), 1); } .sz-tf-glas-5 { opacity: clamp(0, calc((var(--regal-glas, calc(var(--teil-glas, .5) * 6)) - 5) * 4), 1); }
.sz-tf-kuehler-0 { opacity: clamp(0, calc(var(--regal-kuehler, calc(var(--teil-kuehler, .5) * 6)) * 1000), 1); } .sz-tf-kuehler-1 { opacity: clamp(0, calc((var(--regal-kuehler, calc(var(--teil-kuehler, .5) * 6)) - 1) * 4), 1); } .sz-tf-kuehler-2 { opacity: clamp(0, calc((var(--regal-kuehler, calc(var(--teil-kuehler, .5) * 6)) - 2) * 4), 1); } .sz-tf-kuehler-3 { opacity: clamp(0, calc((var(--regal-kuehler, calc(var(--teil-kuehler, .5) * 6)) - 3) * 4), 1); } .sz-tf-kuehler-4 { opacity: clamp(0, calc((var(--regal-kuehler, calc(var(--teil-kuehler, .5) * 6)) - 4) * 4), 1); } .sz-tf-kuehler-5 { opacity: clamp(0, calc((var(--regal-kuehler, calc(var(--teil-kuehler, .5) * 6)) - 5) * 4), 1); }
.sz-tf-kupplung-0 { opacity: clamp(0, calc(var(--regal-kupplung, calc(var(--teil-kupplung, .5) * 6)) * 1000), 1); } .sz-tf-kupplung-1 { opacity: clamp(0, calc((var(--regal-kupplung, calc(var(--teil-kupplung, .5) * 6)) - 1) * 4), 1); } .sz-tf-kupplung-2 { opacity: clamp(0, calc((var(--regal-kupplung, calc(var(--teil-kupplung, .5) * 6)) - 2) * 4), 1); } .sz-tf-kupplung-3 { opacity: clamp(0, calc((var(--regal-kupplung, calc(var(--teil-kupplung, .5) * 6)) - 3) * 4), 1); } .sz-tf-kupplung-4 { opacity: clamp(0, calc((var(--regal-kupplung, calc(var(--teil-kupplung, .5) * 6)) - 4) * 4), 1); } .sz-tf-kupplung-5 { opacity: clamp(0, calc((var(--regal-kupplung, calc(var(--teil-kupplung, .5) * 6)) - 5) * 4), 1); }
.sz-tf-luftfederbalg-0 { opacity: clamp(0, calc(var(--regal-luftfederbalg, calc(var(--teil-luftfederbalg, .5) * 6)) * 1000), 1); } .sz-tf-luftfederbalg-1 { opacity: clamp(0, calc((var(--regal-luftfederbalg, calc(var(--teil-luftfederbalg, .5) * 6)) - 1) * 4), 1); } .sz-tf-luftfederbalg-2 { opacity: clamp(0, calc((var(--regal-luftfederbalg, calc(var(--teil-luftfederbalg, .5) * 6)) - 2) * 4), 1); } .sz-tf-luftfederbalg-3 { opacity: clamp(0, calc((var(--regal-luftfederbalg, calc(var(--teil-luftfederbalg, .5) * 6)) - 3) * 4), 1); } .sz-tf-luftfederbalg-4 { opacity: clamp(0, calc((var(--regal-luftfederbalg, calc(var(--teil-luftfederbalg, .5) * 6)) - 4) * 4), 1); } .sz-tf-luftfederbalg-5 { opacity: clamp(0, calc((var(--regal-luftfederbalg, calc(var(--teil-luftfederbalg, .5) * 6)) - 5) * 4), 1); }
.sz-tf-motoroel-0 { opacity: clamp(0, calc(var(--regal-motoroel, calc(var(--teil-motoroel, .5) * 6)) * 1000), 1); } .sz-tf-motoroel-1 { opacity: clamp(0, calc((var(--regal-motoroel, calc(var(--teil-motoroel, .5) * 6)) - 1) * 4), 1); } .sz-tf-motoroel-2 { opacity: clamp(0, calc((var(--regal-motoroel, calc(var(--teil-motoroel, .5) * 6)) - 2) * 4), 1); } .sz-tf-motoroel-3 { opacity: clamp(0, calc((var(--regal-motoroel, calc(var(--teil-motoroel, .5) * 6)) - 3) * 4), 1); } .sz-tf-motoroel-4 { opacity: clamp(0, calc((var(--regal-motoroel, calc(var(--teil-motoroel, .5) * 6)) - 4) * 4), 1); } .sz-tf-motoroel-5 { opacity: clamp(0, calc((var(--regal-motoroel, calc(var(--teil-motoroel, .5) * 6)) - 5) * 4), 1); }
.sz-tf-plane-0 { opacity: clamp(0, calc(var(--regal-plane, calc(var(--teil-plane, .5) * 6)) * 1000), 1); } .sz-tf-plane-1 { opacity: clamp(0, calc((var(--regal-plane, calc(var(--teil-plane, .5) * 6)) - 1) * 4), 1); } .sz-tf-plane-2 { opacity: clamp(0, calc((var(--regal-plane, calc(var(--teil-plane, .5) * 6)) - 2) * 4), 1); } .sz-tf-plane-3 { opacity: clamp(0, calc((var(--regal-plane, calc(var(--teil-plane, .5) * 6)) - 3) * 4), 1); } .sz-tf-plane-4 { opacity: clamp(0, calc((var(--regal-plane, calc(var(--teil-plane, .5) * 6)) - 4) * 4), 1); } .sz-tf-plane-5 { opacity: clamp(0, calc((var(--regal-plane, calc(var(--teil-plane, .5) * 6)) - 5) * 4), 1); }
.sz-tf-radlager-0 { opacity: clamp(0, calc(var(--regal-radlager, calc(var(--teil-radlager, .5) * 6)) * 1000), 1); } .sz-tf-radlager-1 { opacity: clamp(0, calc((var(--regal-radlager, calc(var(--teil-radlager, .5) * 6)) - 1) * 4), 1); } .sz-tf-radlager-2 { opacity: clamp(0, calc((var(--regal-radlager, calc(var(--teil-radlager, .5) * 6)) - 2) * 4), 1); } .sz-tf-radlager-3 { opacity: clamp(0, calc((var(--regal-radlager, calc(var(--teil-radlager, .5) * 6)) - 3) * 4), 1); } .sz-tf-radlager-4 { opacity: clamp(0, calc((var(--regal-radlager, calc(var(--teil-radlager, .5) * 6)) - 4) * 4), 1); } .sz-tf-radlager-5 { opacity: clamp(0, calc((var(--regal-radlager, calc(var(--teil-radlager, .5) * 6)) - 5) * 4), 1); }
.sz-tf-reifen-0 { opacity: clamp(0, calc(var(--regal-reifen, calc(var(--teil-reifen, .5) * 6)) * 1000), 1); } .sz-tf-reifen-1 { opacity: clamp(0, calc((var(--regal-reifen, calc(var(--teil-reifen, .5) * 6)) - 1) * 4), 1); } .sz-tf-reifen-2 { opacity: clamp(0, calc((var(--regal-reifen, calc(var(--teil-reifen, .5) * 6)) - 2) * 4), 1); } .sz-tf-reifen-3 { opacity: clamp(0, calc((var(--regal-reifen, calc(var(--teil-reifen, .5) * 6)) - 3) * 4), 1); } .sz-tf-reifen-4 { opacity: clamp(0, calc((var(--regal-reifen, calc(var(--teil-reifen, .5) * 6)) - 4) * 4), 1); } .sz-tf-reifen-5 { opacity: clamp(0, calc((var(--regal-reifen, calc(var(--teil-reifen, .5) * 6)) - 5) * 4), 1); }
.sz-tf-windschutzscheibe-0 { opacity: clamp(0, calc(var(--regal-windschutzscheibe, calc(var(--teil-windschutzscheibe, .5) * 6)) * 1000), 1); } .sz-tf-windschutzscheibe-1 { opacity: clamp(0, calc((var(--regal-windschutzscheibe, calc(var(--teil-windschutzscheibe, .5) * 6)) - 1) * 4), 1); } .sz-tf-windschutzscheibe-2 { opacity: clamp(0, calc((var(--regal-windschutzscheibe, calc(var(--teil-windschutzscheibe, .5) * 6)) - 2) * 4), 1); } .sz-tf-windschutzscheibe-3 { opacity: clamp(0, calc((var(--regal-windschutzscheibe, calc(var(--teil-windschutzscheibe, .5) * 6)) - 3) * 4), 1); } .sz-tf-windschutzscheibe-4 { opacity: clamp(0, calc((var(--regal-windschutzscheibe, calc(var(--teil-windschutzscheibe, .5) * 6)) - 4) * 4), 1); } .sz-tf-windschutzscheibe-5 { opacity: clamp(0, calc((var(--regal-windschutzscheibe, calc(var(--teil-windschutzscheibe, .5) * 6)) - 5) * 4), 1); }
/* ── Paket 5 (07.10.) — generated by _quelle/bauen.py css_paket5(); edit there. Contract: VTC/redesign_hp/grafik/szenen/HOOKS.md ── */
/* shared: „+k" badges show only with their class; .mit-zahlen = the page drives the picture (overlays without a default) */
.sz-mehr, .sz-spur-mehr, .sz-schlange-mehr, .sz-trupps-mehr, .sz-gebraucht-mehr, .sz-rampe-mehr { display: none; }
.trd-mehr .sz-mehr-diesel, .tra-mehr .sz-mehr-adblue, .spur-mehr .sz-spur-mehr, .schlange-mehr .sz-schlange-mehr, .trupps-mehr .sz-trupps-mehr, .gebraucht-mehr .sz-gebraucht-mehr, .rampe-mehr .sz-rampe-mehr { display: inline; }
.sz-slottext-klein { font-size: 6px; }
.sz-nur-zahlen { display: none; } .mit-zahlen .sz-nur-zahlen { display: inline; }
.mit-zahlen:not(.fertig) .sz-werk-fertig { display: none; }
/* iso progress bars: segment i lights while var · n > i */
.sz-balken-spur { fill: var(--bild-reifen-tief); fill-opacity: .85; } .sz-balken { fill: var(--bild-leuchte); transition: opacity .3s ease; }
.sz-bs-band-anteil-0 { opacity: clamp(0, calc((var(--band-anteil, 0.5) * 16 - 0) * 1000), 1); } .sz-bs-band-anteil-1 { opacity: clamp(0, calc((var(--band-anteil, 0.5) * 16 - 1) * 1000), 1); } .sz-bs-band-anteil-2 { opacity: clamp(0, calc((var(--band-anteil, 0.5) * 16 - 2) * 1000), 1); } .sz-bs-band-anteil-3 { opacity: clamp(0, calc((var(--band-anteil, 0.5) * 16 - 3) * 1000), 1); } .sz-bs-band-anteil-4 { opacity: clamp(0, calc((var(--band-anteil, 0.5) * 16 - 4) * 1000), 1); } .sz-bs-band-anteil-5 { opacity: clamp(0, calc((var(--band-anteil, 0.5) * 16 - 5) * 1000), 1); } .sz-bs-band-anteil-6 { opacity: clamp(0, calc((var(--band-anteil, 0.5) * 16 - 6) * 1000), 1); } .sz-bs-band-anteil-7 { opacity: clamp(0, calc((var(--band-anteil, 0.5) * 16 - 7) * 1000), 1); } .sz-bs-band-anteil-8 { opacity: clamp(0, calc((var(--band-anteil, 0.5) * 16 - 8) * 1000), 1); } .sz-bs-band-anteil-9 { opacity: clamp(0, calc((var(--band-anteil, 0.5) * 16 - 9) * 1000), 1); } .sz-bs-band-anteil-10 { opacity: clamp(0, calc((var(--band-anteil, 0.5) * 16 - 10) * 1000), 1); } .sz-bs-band-anteil-11 { opacity: clamp(0, calc((var(--band-anteil, 0.5) * 16 - 11) * 1000), 1); } .sz-bs-band-anteil-12 { opacity: clamp(0, calc((var(--band-anteil, 0.5) * 16 - 12) * 1000), 1); } .sz-bs-band-anteil-13 { opacity: clamp(0, calc((var(--band-anteil, 0.5) * 16 - 13) * 1000), 1); } .sz-bs-band-anteil-14 { opacity: clamp(0, calc((var(--band-anteil, 0.5) * 16 - 14) * 1000), 1); } .sz-bs-band-anteil-15 { opacity: clamp(0, calc((var(--band-anteil, 0.5) * 16 - 15) * 1000), 1); }
.sz-bs-bau-anteil-0 { opacity: clamp(0, calc((var(--bau-anteil, 0.6) * 14 - 0) * 1000), 1); } .sz-bs-bau-anteil-1 { opacity: clamp(0, calc((var(--bau-anteil, 0.6) * 14 - 1) * 1000), 1); } .sz-bs-bau-anteil-2 { opacity: clamp(0, calc((var(--bau-anteil, 0.6) * 14 - 2) * 1000), 1); } .sz-bs-bau-anteil-3 { opacity: clamp(0, calc((var(--bau-anteil, 0.6) * 14 - 3) * 1000), 1); } .sz-bs-bau-anteil-4 { opacity: clamp(0, calc((var(--bau-anteil, 0.6) * 14 - 4) * 1000), 1); } .sz-bs-bau-anteil-5 { opacity: clamp(0, calc((var(--bau-anteil, 0.6) * 14 - 5) * 1000), 1); } .sz-bs-bau-anteil-6 { opacity: clamp(0, calc((var(--bau-anteil, 0.6) * 14 - 6) * 1000), 1); } .sz-bs-bau-anteil-7 { opacity: clamp(0, calc((var(--bau-anteil, 0.6) * 14 - 7) * 1000), 1); } .sz-bs-bau-anteil-8 { opacity: clamp(0, calc((var(--bau-anteil, 0.6) * 14 - 8) * 1000), 1); } .sz-bs-bau-anteil-9 { opacity: clamp(0, calc((var(--bau-anteil, 0.6) * 14 - 9) * 1000), 1); } .sz-bs-bau-anteil-10 { opacity: clamp(0, calc((var(--bau-anteil, 0.6) * 14 - 10) * 1000), 1); } .sz-bs-bau-anteil-11 { opacity: clamp(0, calc((var(--bau-anteil, 0.6) * 14 - 11) * 1000), 1); } .sz-bs-bau-anteil-12 { opacity: clamp(0, calc((var(--bau-anteil, 0.6) * 14 - 12) * 1000), 1); } .sz-bs-bau-anteil-13 { opacity: clamp(0, calc((var(--bau-anteil, 0.6) * 14 - 13) * 1000), 1); }
.sz-bs-bucht-1-anteil-0 { opacity: clamp(0, calc((var(--bucht-1-anteil, 0.7) * 12 - 0) * 1000), 1); } .sz-bs-bucht-1-anteil-1 { opacity: clamp(0, calc((var(--bucht-1-anteil, 0.7) * 12 - 1) * 1000), 1); } .sz-bs-bucht-1-anteil-2 { opacity: clamp(0, calc((var(--bucht-1-anteil, 0.7) * 12 - 2) * 1000), 1); } .sz-bs-bucht-1-anteil-3 { opacity: clamp(0, calc((var(--bucht-1-anteil, 0.7) * 12 - 3) * 1000), 1); } .sz-bs-bucht-1-anteil-4 { opacity: clamp(0, calc((var(--bucht-1-anteil, 0.7) * 12 - 4) * 1000), 1); } .sz-bs-bucht-1-anteil-5 { opacity: clamp(0, calc((var(--bucht-1-anteil, 0.7) * 12 - 5) * 1000), 1); } .sz-bs-bucht-1-anteil-6 { opacity: clamp(0, calc((var(--bucht-1-anteil, 0.7) * 12 - 6) * 1000), 1); } .sz-bs-bucht-1-anteil-7 { opacity: clamp(0, calc((var(--bucht-1-anteil, 0.7) * 12 - 7) * 1000), 1); } .sz-bs-bucht-1-anteil-8 { opacity: clamp(0, calc((var(--bucht-1-anteil, 0.7) * 12 - 8) * 1000), 1); } .sz-bs-bucht-1-anteil-9 { opacity: clamp(0, calc((var(--bucht-1-anteil, 0.7) * 12 - 9) * 1000), 1); } .sz-bs-bucht-1-anteil-10 { opacity: clamp(0, calc((var(--bucht-1-anteil, 0.7) * 12 - 10) * 1000), 1); } .sz-bs-bucht-1-anteil-11 { opacity: clamp(0, calc((var(--bucht-1-anteil, 0.7) * 12 - 11) * 1000), 1); }
.sz-bs-bucht-2-anteil-0 { opacity: clamp(0, calc((var(--bucht-2-anteil, 0.35) * 12 - 0) * 1000), 1); } .sz-bs-bucht-2-anteil-1 { opacity: clamp(0, calc((var(--bucht-2-anteil, 0.35) * 12 - 1) * 1000), 1); } .sz-bs-bucht-2-anteil-2 { opacity: clamp(0, calc((var(--bucht-2-anteil, 0.35) * 12 - 2) * 1000), 1); } .sz-bs-bucht-2-anteil-3 { opacity: clamp(0, calc((var(--bucht-2-anteil, 0.35) * 12 - 3) * 1000), 1); } .sz-bs-bucht-2-anteil-4 { opacity: clamp(0, calc((var(--bucht-2-anteil, 0.35) * 12 - 4) * 1000), 1); } .sz-bs-bucht-2-anteil-5 { opacity: clamp(0, calc((var(--bucht-2-anteil, 0.35) * 12 - 5) * 1000), 1); } .sz-bs-bucht-2-anteil-6 { opacity: clamp(0, calc((var(--bucht-2-anteil, 0.35) * 12 - 6) * 1000), 1); } .sz-bs-bucht-2-anteil-7 { opacity: clamp(0, calc((var(--bucht-2-anteil, 0.35) * 12 - 7) * 1000), 1); } .sz-bs-bucht-2-anteil-8 { opacity: clamp(0, calc((var(--bucht-2-anteil, 0.35) * 12 - 8) * 1000), 1); } .sz-bs-bucht-2-anteil-9 { opacity: clamp(0, calc((var(--bucht-2-anteil, 0.35) * 12 - 9) * 1000), 1); } .sz-bs-bucht-2-anteil-10 { opacity: clamp(0, calc((var(--bucht-2-anteil, 0.35) * 12 - 10) * 1000), 1); } .sz-bs-bucht-2-anteil-11 { opacity: clamp(0, calc((var(--bucht-2-anteil, 0.35) * 12 - 11) * 1000), 1); }
.sz-bs-bucht-3-anteil-0 { opacity: clamp(0, calc((var(--bucht-3-anteil, 0.55) * 12 - 0) * 1000), 1); } .sz-bs-bucht-3-anteil-1 { opacity: clamp(0, calc((var(--bucht-3-anteil, 0.55) * 12 - 1) * 1000), 1); } .sz-bs-bucht-3-anteil-2 { opacity: clamp(0, calc((var(--bucht-3-anteil, 0.55) * 12 - 2) * 1000), 1); } .sz-bs-bucht-3-anteil-3 { opacity: clamp(0, calc((var(--bucht-3-anteil, 0.55) * 12 - 3) * 1000), 1); } .sz-bs-bucht-3-anteil-4 { opacity: clamp(0, calc((var(--bucht-3-anteil, 0.55) * 12 - 4) * 1000), 1); } .sz-bs-bucht-3-anteil-5 { opacity: clamp(0, calc((var(--bucht-3-anteil, 0.55) * 12 - 5) * 1000), 1); } .sz-bs-bucht-3-anteil-6 { opacity: clamp(0, calc((var(--bucht-3-anteil, 0.55) * 12 - 6) * 1000), 1); } .sz-bs-bucht-3-anteil-7 { opacity: clamp(0, calc((var(--bucht-3-anteil, 0.55) * 12 - 7) * 1000), 1); } .sz-bs-bucht-3-anteil-8 { opacity: clamp(0, calc((var(--bucht-3-anteil, 0.55) * 12 - 8) * 1000), 1); } .sz-bs-bucht-3-anteil-9 { opacity: clamp(0, calc((var(--bucht-3-anteil, 0.55) * 12 - 9) * 1000), 1); } .sz-bs-bucht-3-anteil-10 { opacity: clamp(0, calc((var(--bucht-3-anteil, 0.55) * 12 - 10) * 1000), 1); } .sz-bs-bucht-3-anteil-11 { opacity: clamp(0, calc((var(--bucht-3-anteil, 0.55) * 12 - 11) * 1000), 1); }
.sz-bs-bucht-4-anteil-0 { opacity: clamp(0, calc((var(--bucht-4-anteil, 0.2) * 12 - 0) * 1000), 1); } .sz-bs-bucht-4-anteil-1 { opacity: clamp(0, calc((var(--bucht-4-anteil, 0.2) * 12 - 1) * 1000), 1); } .sz-bs-bucht-4-anteil-2 { opacity: clamp(0, calc((var(--bucht-4-anteil, 0.2) * 12 - 2) * 1000), 1); } .sz-bs-bucht-4-anteil-3 { opacity: clamp(0, calc((var(--bucht-4-anteil, 0.2) * 12 - 3) * 1000), 1); } .sz-bs-bucht-4-anteil-4 { opacity: clamp(0, calc((var(--bucht-4-anteil, 0.2) * 12 - 4) * 1000), 1); } .sz-bs-bucht-4-anteil-5 { opacity: clamp(0, calc((var(--bucht-4-anteil, 0.2) * 12 - 5) * 1000), 1); } .sz-bs-bucht-4-anteil-6 { opacity: clamp(0, calc((var(--bucht-4-anteil, 0.2) * 12 - 6) * 1000), 1); } .sz-bs-bucht-4-anteil-7 { opacity: clamp(0, calc((var(--bucht-4-anteil, 0.2) * 12 - 7) * 1000), 1); } .sz-bs-bucht-4-anteil-8 { opacity: clamp(0, calc((var(--bucht-4-anteil, 0.2) * 12 - 8) * 1000), 1); } .sz-bs-bucht-4-anteil-9 { opacity: clamp(0, calc((var(--bucht-4-anteil, 0.2) * 12 - 9) * 1000), 1); } .sz-bs-bucht-4-anteil-10 { opacity: clamp(0, calc((var(--bucht-4-anteil, 0.2) * 12 - 10) * 1000), 1); } .sz-bs-bucht-4-anteil-11 { opacity: clamp(0, calc((var(--bucht-4-anteil, 0.2) * 12 - 11) * 1000), 1); }
/* tank yard: knapp lamps (colour only), pumping hose, fill of each waiting trailer, approach tanker */
.sz-knapp { fill: var(--bild-reifen); stroke: var(--bild-zier); stroke-opacity: .4; stroke-width: .3; }
.knapp-diesel .sz-knapp-diesel, .knapp-adblue .sz-knapp-adblue { fill: var(--bild-lack-gelb); filter: brightness(1.7); }
.sz-fluss { display: none; fill: none; stroke: var(--bild-leuchte); stroke-width: 1.1; stroke-linecap: round; stroke-dasharray: 1.5 3; animation: sz-fluss 1.1s linear infinite; }
.sz-fluss-ab { stroke: var(--bild-scheibe); } .pumpt .sz-fluss { display: inline; }
@keyframes sz-fluss { to { stroke-dashoffset: -9; } }
@media (prefers-reduced-motion: reduce) { .sz-fluss { animation: none; } .sz-spurwagen { transition: none; } }
.sz-trfuell-spur { fill: var(--bild-reifen-tief); fill-opacity: .9; stroke: var(--bild-zier); stroke-opacity: .45; stroke-width: .3; }
.sz-trfuell { fill: var(--bild-leuchte); transform-box: fill-box; transform-origin: 0 50%; transition: transform .5s ease; }
.sz-trfuell-ab { fill: var(--bild-scheibe); }
.sz-trfuell-di-1 { transform: scaleX(var(--trd-1-fuell, 1)); } .sz-trfuell-ab-1 { transform: scaleX(var(--tra-1-fuell, 1)); }
.sz-trfuell-di-2 { transform: scaleX(var(--trd-2-fuell, 1)); } .sz-trfuell-ab-2 { transform: scaleX(var(--tra-2-fuell, 1)); }
.sz-trfuell-di-3 { transform: scaleX(var(--trd-3-fuell, 1)); } .sz-trfuell-ab-3 { transform: scaleX(var(--tra-3-fuell, 1)); }
.sz-trfuell-di-4 { transform: scaleX(var(--trd-4-fuell, 1)); } .sz-trfuell-ab-4 { transform: scaleX(var(--tra-4-fuell, 1)); }
.anfahrt .sz-anfahrt { display: inline; }
/* parts store: tyres, state edges, construction tape, phone plates, ramp, forklift */
.sz-rf-lauf { fill: none; stroke: var(--bild-zier); stroke-opacity: .35; stroke-width: .35; }
.sz-rf-flanke { fill: var(--bild-gummi); } .sz-rf-loch { fill: var(--bild-reifen-tief); }
.sz-rf-glanz { fill: none; stroke: var(--bild-licht-warm); stroke-opacity: .5; stroke-width: .45; stroke-linecap: round; }
.sz-fachkante { display: none; fill: none; stroke-width: 1.3; stroke-linecap: round; } .sz-fachbau { display: none; }
.sz-teilschild-m { display: none; } .sz-mobil .sz-teilschild-m { display: inline; } .sz-mobil .sz-teilschild-d { display: none; }
.sz-teilzahl-m { font-size: 10px; }
.sz-stapler-fahrt { display: none; } .stapler .sz-stapler-fahrt { display: inline; } .stapler .sz-stapler-park { display: none; }
.sz-rp-3, .sz-rp-4 { display: none; }
.anfahrt .sz-bestellung { display: inline; } .anfahrt .sz-bestell-ampel { fill: var(--bild-lack-see); filter: brightness(1.8); }
.regal-aggregat_teile-knapp .sz-fachkante-aggregat_teile { display: inline; stroke: var(--bild-lack-gelb); } .regal-aggregat_teile-knapp .sz-ts-aggregat_teile .sz-slotplatte { stroke: var(--bild-lack-gelb); }
.regal-aggregat_teile-minus .sz-fachkante-aggregat_teile { display: inline; stroke: var(--bild-licht-rot); } .regal-aggregat_teile-minus .sz-ts-aggregat_teile .sz-slotplatte { stroke: var(--bild-licht-rot); }
.regal-aggregat_teile-bau .sz-fachbau-aggregat_teile { display: inline; }
.regal-auflieger_teile-knapp .sz-fachkante-auflieger_teile { display: inline; stroke: var(--bild-lack-gelb); } .regal-auflieger_teile-knapp .sz-ts-auflieger_teile .sz-slotplatte { stroke: var(--bild-lack-gelb); }
.regal-auflieger_teile-minus .sz-fachkante-auflieger_teile { display: inline; stroke: var(--bild-licht-rot); } .regal-auflieger_teile-minus .sz-ts-auflieger_teile .sz-slotplatte { stroke: var(--bild-licht-rot); }
.regal-auflieger_teile-bau .sz-fachbau-auflieger_teile { display: inline; }
.regal-batterie-knapp .sz-fachkante-batterie { display: inline; stroke: var(--bild-lack-gelb); } .regal-batterie-knapp .sz-ts-batterie .sz-slotplatte { stroke: var(--bild-lack-gelb); }
.regal-batterie-minus .sz-fachkante-batterie { display: inline; stroke: var(--bild-licht-rot); } .regal-batterie-minus .sz-ts-batterie .sz-slotplatte { stroke: var(--bild-licht-rot); }
.regal-batterie-bau .sz-fachbau-batterie { display: inline; }
.regal-bremsbelag-knapp .sz-fachkante-bremsbelag { display: inline; stroke: var(--bild-lack-gelb); } .regal-bremsbelag-knapp .sz-ts-bremsbelag .sz-slotplatte { stroke: var(--bild-lack-gelb); }
.regal-bremsbelag-minus .sz-fachkante-bremsbelag { display: inline; stroke: var(--bild-licht-rot); } .regal-bremsbelag-minus .sz-ts-bremsbelag .sz-slotplatte { stroke: var(--bild-licht-rot); }
.regal-bremsbelag-bau .sz-fachbau-bremsbelag { display: inline; }
.regal-bremsscheibe-knapp .sz-fachkante-bremsscheibe { display: inline; stroke: var(--bild-lack-gelb); } .regal-bremsscheibe-knapp .sz-ts-bremsscheibe .sz-slotplatte { stroke: var(--bild-lack-gelb); }
.regal-bremsscheibe-minus .sz-fachkante-bremsscheibe { display: inline; stroke: var(--bild-licht-rot); } .regal-bremsscheibe-minus .sz-ts-bremsscheibe .sz-slotplatte { stroke: var(--bild-licht-rot); }
.regal-bremsscheibe-bau .sz-fachbau-bremsscheibe { display: inline; }
.regal-elektrik-knapp .sz-fachkante-elektrik { display: inline; stroke: var(--bild-lack-gelb); } .regal-elektrik-knapp .sz-ts-elektrik .sz-slotplatte { stroke: var(--bild-lack-gelb); }
.regal-elektrik-minus .sz-fachkante-elektrik { display: inline; stroke: var(--bild-licht-rot); } .regal-elektrik-minus .sz-ts-elektrik .sz-slotplatte { stroke: var(--bild-licht-rot); }
.regal-elektrik-bau .sz-fachbau-elektrik { display: inline; }
.regal-filtersatz-knapp .sz-fachkante-filtersatz { display: inline; stroke: var(--bild-lack-gelb); } .regal-filtersatz-knapp .sz-ts-filtersatz .sz-slotplatte { stroke: var(--bild-lack-gelb); }
.regal-filtersatz-minus .sz-fachkante-filtersatz { display: inline; stroke: var(--bild-licht-rot); } .regal-filtersatz-minus .sz-ts-filtersatz .sz-slotplatte { stroke: var(--bild-licht-rot); }
.regal-filtersatz-bau .sz-fachbau-filtersatz { display: inline; }
.regal-glas-knapp .sz-fachkante-glas { display: inline; stroke: var(--bild-lack-gelb); } .regal-glas-knapp .sz-ts-glas .sz-slotplatte { stroke: var(--bild-lack-gelb); }
.regal-glas-minus .sz-fachkante-glas { display: inline; stroke: var(--bild-licht-rot); } .regal-glas-minus .sz-ts-glas .sz-slotplatte { stroke: var(--bild-licht-rot); }
.regal-glas-bau .sz-fachbau-glas { display: inline; }
.regal-kuehler-knapp .sz-fachkante-kuehler { display: inline; stroke: var(--bild-lack-gelb); } .regal-kuehler-knapp .sz-ts-kuehler .sz-slotplatte { stroke: var(--bild-lack-gelb); }
.regal-kuehler-minus .sz-fachkante-kuehler { display: inline; stroke: var(--bild-licht-rot); } .regal-kuehler-minus .sz-ts-kuehler .sz-slotplatte { stroke: var(--bild-licht-rot); }
.regal-kuehler-bau .sz-fachbau-kuehler { display: inline; }
.regal-kupplung-knapp .sz-fachkante-kupplung { display: inline; stroke: var(--bild-lack-gelb); } .regal-kupplung-knapp .sz-ts-kupplung .sz-slotplatte { stroke: var(--bild-lack-gelb); }
.regal-kupplung-minus .sz-fachkante-kupplung { display: inline; stroke: var(--bild-licht-rot); } .regal-kupplung-minus .sz-ts-kupplung .sz-slotplatte { stroke: var(--bild-licht-rot); }
.regal-kupplung-bau .sz-fachbau-kupplung { display: inline; }
.regal-luftfederbalg-knapp .sz-fachkante-luftfederbalg { display: inline; stroke: var(--bild-lack-gelb); } .regal-luftfederbalg-knapp .sz-ts-luftfederbalg .sz-slotplatte { stroke: var(--bild-lack-gelb); }
.regal-luftfederbalg-minus .sz-fachkante-luftfederbalg { display: inline; stroke: var(--bild-licht-rot); } .regal-luftfederbalg-minus .sz-ts-luftfederbalg .sz-slotplatte { stroke: var(--bild-licht-rot); }
.regal-luftfederbalg-bau .sz-fachbau-luftfederbalg { display: inline; }
.regal-motoroel-knapp .sz-fachkante-motoroel { display: inline; stroke: var(--bild-lack-gelb); } .regal-motoroel-knapp .sz-ts-motoroel .sz-slotplatte { stroke: var(--bild-lack-gelb); }
.regal-motoroel-minus .sz-fachkante-motoroel { display: inline; stroke: var(--bild-licht-rot); } .regal-motoroel-minus .sz-ts-motoroel .sz-slotplatte { stroke: var(--bild-licht-rot); }
.regal-motoroel-bau .sz-fachbau-motoroel { display: inline; }
.regal-plane-knapp .sz-fachkante-plane { display: inline; stroke: var(--bild-lack-gelb); } .regal-plane-knapp .sz-ts-plane .sz-slotplatte { stroke: var(--bild-lack-gelb); }
.regal-plane-minus .sz-fachkante-plane { display: inline; stroke: var(--bild-licht-rot); } .regal-plane-minus .sz-ts-plane .sz-slotplatte { stroke: var(--bild-licht-rot); }
.regal-plane-bau .sz-fachbau-plane { display: inline; }
.regal-radlager-knapp .sz-fachkante-radlager { display: inline; stroke: var(--bild-lack-gelb); } .regal-radlager-knapp .sz-ts-radlager .sz-slotplatte { stroke: var(--bild-lack-gelb); }
.regal-radlager-minus .sz-fachkante-radlager { display: inline; stroke: var(--bild-licht-rot); } .regal-radlager-minus .sz-ts-radlager .sz-slotplatte { stroke: var(--bild-licht-rot); }
.regal-radlager-bau .sz-fachbau-radlager { display: inline; }
.regal-reifen-knapp .sz-fachkante-reifen { display: inline; stroke: var(--bild-lack-gelb); } .regal-reifen-knapp .sz-ts-reifen .sz-slotplatte { stroke: var(--bild-lack-gelb); }
.regal-reifen-minus .sz-fachkante-reifen { display: inline; stroke: var(--bild-licht-rot); } .regal-reifen-minus .sz-ts-reifen .sz-slotplatte { stroke: var(--bild-licht-rot); }
.regal-reifen-bau .sz-fachbau-reifen { display: inline; }
.regal-windschutzscheibe-knapp .sz-fachkante-windschutzscheibe { display: inline; stroke: var(--bild-lack-gelb); } .regal-windschutzscheibe-knapp .sz-ts-windschutzscheibe .sz-slotplatte { stroke: var(--bild-lack-gelb); }
.regal-windschutzscheibe-minus .sz-fachkante-windschutzscheibe { display: inline; stroke: var(--bild-licht-rot); } .regal-windschutzscheibe-minus .sz-ts-windschutzscheibe .sz-slotplatte { stroke: var(--bild-licht-rot); }
.regal-windschutzscheibe-bau .sz-fachbau-windschutzscheibe { display: inline; }
.rampe-0 .sz-rp-1 { display: none; } .rampe-0 .sz-rp-2 { display: none; } .rampe-0 .sz-rp-3 { display: none; } .rampe-0 .sz-rp-4 { display: none; }
.rampe-1 .sz-rp-1 { display: inline; } .rampe-1 .sz-rp-2 { display: none; } .rampe-1 .sz-rp-3 { display: none; } .rampe-1 .sz-rp-4 { display: none; }
.rampe-2 .sz-rp-1 { display: inline; } .rampe-2 .sz-rp-2 { display: inline; } .rampe-2 .sz-rp-3 { display: none; } .rampe-2 .sz-rp-4 { display: none; }
.rampe-3 .sz-rp-1 { display: inline; } .rampe-3 .sz-rp-2 { display: inline; } .rampe-3 .sz-rp-3 { display: inline; } .rampe-3 .sz-rp-4 { display: none; }
.rampe-4 .sz-rp-1 { display: inline; } .rampe-4 .sz-rp-2 { display: inline; } .rampe-4 .sz-rp-3 { display: inline; } .rampe-4 .sz-rp-4 { display: inline; }
/* place tile ort_lager: --lager-fuell (0..1, default .75), 12 pallet places */
.sz-ol-0 { opacity: clamp(0, calc((var(--lager-fuell, .75) * 12 - 0) * 1000), 1); } .sz-ol-1 { opacity: clamp(0, calc((var(--lager-fuell, .75) * 12 - 1) * 1000), 1); } .sz-ol-2 { opacity: clamp(0, calc((var(--lager-fuell, .75) * 12 - 2) * 1000), 1); } .sz-ol-3 { opacity: clamp(0, calc((var(--lager-fuell, .75) * 12 - 3) * 1000), 1); } .sz-ol-4 { opacity: clamp(0, calc((var(--lager-fuell, .75) * 12 - 4) * 1000), 1); } .sz-ol-5 { opacity: clamp(0, calc((var(--lager-fuell, .75) * 12 - 5) * 1000), 1); } .sz-ol-6 { opacity: clamp(0, calc((var(--lager-fuell, .75) * 12 - 6) * 1000), 1); } .sz-ol-7 { opacity: clamp(0, calc((var(--lager-fuell, .75) * 12 - 7) * 1000), 1); } .sz-ol-8 { opacity: clamp(0, calc((var(--lager-fuell, .75) * 12 - 8) * 1000), 1); } .sz-ol-9 { opacity: clamp(0, calc((var(--lager-fuell, .75) * 12 - 9) * 1000), 1); } .sz-ol-10 { opacity: clamp(0, calc((var(--lager-fuell, .75) * 12 - 10) * 1000), 1); } .sz-ol-11 { opacity: clamp(0, calc((var(--lager-fuell, .75) * 12 - 11) * 1000), 1); }
/* workshop: per bay state / figures / progress; queue lamps */
.sz-wbf-2, .sz-wbbau { display: none; }
.sz-wbampel { fill: var(--bild-lack-see); filter: brightness(1.9); }
.sz-schlange { fill: var(--bild-reifen); stroke: var(--bild-zier); stroke-opacity: .4; stroke-width: .3; }
.bucht-1-figuren-0 .sz-wb-1 .sz-wbf { display: none; } .bucht-1-figuren-2 .sz-wb-1 .sz-wbf-2 { display: inline; }
.bucht-1-wartet .sz-wb-1 .sz-wbf { display: none; } .bucht-1-wartet .sz-wbampel-1 { fill: var(--bild-leuchte); }
.bucht-1-frei .sz-wb-1, .bucht-1-bau .sz-wb-1 { display: none; } .bucht-1-bau .sz-wbbau-1 { display: inline; }
.bucht-1-frei .sz-wbampel-1 { fill: var(--bild-reifen); filter: none; } .bucht-1-bau .sz-wbampel-1 { fill: var(--bild-licht-rot); filter: brightness(1.3); }
.bucht-2-figuren-0 .sz-wb-2 .sz-wbf { display: none; } .bucht-2-figuren-2 .sz-wb-2 .sz-wbf-2 { display: inline; }
.bucht-2-wartet .sz-wb-2 .sz-wbf { display: none; } .bucht-2-wartet .sz-wbampel-2 { fill: var(--bild-leuchte); }
.bucht-2-frei .sz-wb-2, .bucht-2-bau .sz-wb-2 { display: none; } .bucht-2-bau .sz-wbbau-2 { display: inline; }
.bucht-2-frei .sz-wbampel-2 { fill: var(--bild-reifen); filter: none; } .bucht-2-bau .sz-wbampel-2 { fill: var(--bild-licht-rot); filter: brightness(1.3); }
.bucht-3-figuren-0 .sz-wb-3 .sz-wbf { display: none; } .bucht-3-figuren-2 .sz-wb-3 .sz-wbf-2 { display: inline; }
.bucht-3-wartet .sz-wb-3 .sz-wbf { display: none; } .bucht-3-wartet .sz-wbampel-3 { fill: var(--bild-leuchte); }
.bucht-3-frei .sz-wb-3, .bucht-3-bau .sz-wb-3 { display: none; } .bucht-3-bau .sz-wbbau-3 { display: inline; }
.bucht-3-frei .sz-wbampel-3 { fill: var(--bild-reifen); filter: none; } .bucht-3-bau .sz-wbampel-3 { fill: var(--bild-licht-rot); filter: brightness(1.3); }
.bucht-4-figuren-0 .sz-wb-4 .sz-wbf { display: none; } .bucht-4-figuren-2 .sz-wb-4 .sz-wbf-2 { display: inline; }
.bucht-4-wartet .sz-wb-4 .sz-wbf { display: none; } .bucht-4-wartet .sz-wbampel-4 { fill: var(--bild-leuchte); }
.bucht-4-frei .sz-wb-4, .bucht-4-bau .sz-wb-4 { display: none; } .bucht-4-bau .sz-wbbau-4 { display: inline; }
.bucht-4-frei .sz-wbampel-4 { fill: var(--bild-reifen); filter: none; } .bucht-4-bau .sz-wbampel-4 { fill: var(--bild-licht-rot); filter: brightness(1.3); }
.buehne-0 .sz-wbampel-1, .buehne-0 .sz-wbampel-2, .buehne-0 .sz-wbampel-3, .buehne-0 .sz-wbampel-4 { fill: var(--bild-reifen); filter: none; }
.buehne-1 .sz-wbampel-2, .buehne-1 .sz-wbampel-3, .buehne-1 .sz-wbampel-4 { fill: var(--bild-reifen); filter: none; }
.buehne-2 .sz-wbampel-3, .buehne-2 .sz-wbampel-4 { fill: var(--bild-reifen); filter: none; }
.buehne-3 .sz-wbampel-4 { fill: var(--bild-reifen); filter: none; }
.schlange-1 .sz-schlange-1 { fill: var(--bild-leuchte); filter: brightness(1.5); }
.schlange-2 .sz-schlange-1, .schlange-2 .sz-schlange-2 { fill: var(--bild-leuchte); filter: brightness(1.5); }
.schlange-3 .sz-schlange-1, .schlange-3 .sz-schlange-2, .schlange-3 .sz-schlange-3 { fill: var(--bild-leuchte); filter: brightness(1.5); }
.schlange-4 .sz-schlange-1, .schlange-4 .sz-schlange-2, .schlange-4 .sz-schlange-3, .schlange-4 .sz-schlange-4 { fill: var(--bild-leuchte); filter: brightness(1.5); }
/* construction crews: --trupps-einsatz (0..4, default 4), --trupps-frei (0..4, default 0), --haus-belegt (0..1, default .5) */
.sz-truppampel-aus { fill: var(--bild-reifen); } .sz-hausfenster { fill: var(--bild-licht-warm); }
.sz-trupp-1, .sz-truppampel-1 { opacity: clamp(0, calc((var(--trupps-einsatz, 4) - 0) * 1000), 1); } .sz-frei-1 { opacity: clamp(0, calc((var(--trupps-frei, 0) - 0) * 1000), 1); } .sz-hb-1 { opacity: clamp(0, calc((var(--haus-belegt, .5) * 4 - 0) * 1000), 1); }
.sz-trupp-2, .sz-truppampel-2 { opacity: clamp(0, calc((var(--trupps-einsatz, 4) - 1) * 1000), 1); } .sz-frei-2 { opacity: clamp(0, calc((var(--trupps-frei, 0) - 1) * 1000), 1); } .sz-hb-2 { opacity: clamp(0, calc((var(--haus-belegt, .5) * 4 - 1) * 1000), 1); }
.sz-trupp-3, .sz-truppampel-3 { opacity: clamp(0, calc((var(--trupps-einsatz, 4) - 2) * 1000), 1); } .sz-frei-3 { opacity: clamp(0, calc((var(--trupps-frei, 0) - 2) * 1000), 1); } .sz-hb-3 { opacity: clamp(0, calc((var(--haus-belegt, .5) * 4 - 2) * 1000), 1); }
.sz-trupp-4, .sz-truppampel-4 { opacity: clamp(0, calc((var(--trupps-einsatz, 4) - 3) * 1000), 1); } .sz-frei-4 { opacity: clamp(0, calc((var(--trupps-frei, 0) - 3) * 1000), 1); } .sz-hb-4 { opacity: clamp(0, calc((var(--haus-belegt, .5) * 4 - 3) * 1000), 1); }
/* drive: spur-1 … spur-6 lanes in use, --spur-n-anteil (0..1) moves the rig + tag along its lane */
.sz-spur { display: none; } .sz-spurlicht { fill: var(--bild-licht-warm); }
.sz-spurlinie { fill: none; stroke: var(--bild-leuchte); stroke-opacity: .4; stroke-width: .5; stroke-dasharray: 2 2; }
.sz-spurwagen { transition: transform .8s ease; }
.spur-1 .sz-spur-1 { display: inline; }
.sz-spurwagen-1 { transform: translate(calc(var(--spur-1-anteil, 0) * 322.5px), calc(var(--spur-1-anteil, 0) * 186.2px)); }
.spur-2 .sz-spur-1, .spur-2 .sz-spur-2 { display: inline; }
.sz-spurwagen-2 { transform: translate(calc(var(--spur-2-anteil, 0) * 322.5px), calc(var(--spur-2-anteil, 0) * 186.2px)); }
.spur-3 .sz-spur-1, .spur-3 .sz-spur-2, .spur-3 .sz-spur-3 { display: inline; }
.sz-spurwagen-3 { transform: translate(calc(var(--spur-3-anteil, 0) * 322.5px), calc(var(--spur-3-anteil, 0) * 186.2px)); }
.spur-4 .sz-spur-1, .spur-4 .sz-spur-2, .spur-4 .sz-spur-3, .spur-4 .sz-spur-4 { display: inline; }
.sz-spurwagen-4 { transform: translate(calc(var(--spur-4-anteil, 0) * 322.5px), calc(var(--spur-4-anteil, 0) * 186.2px)); }
.spur-5 .sz-spur-1, .spur-5 .sz-spur-2, .spur-5 .sz-spur-3, .spur-5 .sz-spur-4, .spur-5 .sz-spur-5 { display: inline; }
.sz-spurwagen-5 { transform: translate(calc(var(--spur-5-anteil, 0) * 322.5px), calc(var(--spur-5-anteil, 0) * 186.2px)); }
.spur-6 .sz-spur-1, .spur-6 .sz-spur-2, .spur-6 .sz-spur-3, .spur-6 .sz-spur-4, .spur-6 .sz-spur-5, .spur-6 .sz-spur-6 { display: inline; }
.sz-spurwagen-6 { transform: translate(calc(var(--spur-6-anteil, 0) * 322.5px), calc(var(--spur-6-anteil, 0) * 186.2px)); }
/* used yard: gebraucht-0 … gebraucht-13 = vehicles standing (default all) */
.gebraucht-0 .sz-gb-1, .gebraucht-0 .sz-gb-2, .gebraucht-0 .sz-gb-3, .gebraucht-0 .sz-gb-4, .gebraucht-0 .sz-gb-5, .gebraucht-0 .sz-gb-6, .gebraucht-0 .sz-gb-7, .gebraucht-0 .sz-gb-8, .gebraucht-0 .sz-gb-9, .gebraucht-0 .sz-gb-10, .gebraucht-0 .sz-gb-11, .gebraucht-0 .sz-gb-12, .gebraucht-0 .sz-gb-13 { display: none; }
.gebraucht-1 .sz-gb-2, .gebraucht-1 .sz-gb-3, .gebraucht-1 .sz-gb-4, .gebraucht-1 .sz-gb-5, .gebraucht-1 .sz-gb-6, .gebraucht-1 .sz-gb-7, .gebraucht-1 .sz-gb-8, .gebraucht-1 .sz-gb-9, .gebraucht-1 .sz-gb-10, .gebraucht-1 .sz-gb-11, .gebraucht-1 .sz-gb-12, .gebraucht-1 .sz-gb-13 { display: none; }
.gebraucht-2 .sz-gb-3, .gebraucht-2 .sz-gb-4, .gebraucht-2 .sz-gb-5, .gebraucht-2 .sz-gb-6, .gebraucht-2 .sz-gb-7, .gebraucht-2 .sz-gb-8, .gebraucht-2 .sz-gb-9, .gebraucht-2 .sz-gb-10, .gebraucht-2 .sz-gb-11, .gebraucht-2 .sz-gb-12, .gebraucht-2 .sz-gb-13 { display: none; }
.gebraucht-3 .sz-gb-4, .gebraucht-3 .sz-gb-5, .gebraucht-3 .sz-gb-6, .gebraucht-3 .sz-gb-7, .gebraucht-3 .sz-gb-8, .gebraucht-3 .sz-gb-9, .gebraucht-3 .sz-gb-10, .gebraucht-3 .sz-gb-11, .gebraucht-3 .sz-gb-12, .gebraucht-3 .sz-gb-13 { display: none; }
.gebraucht-4 .sz-gb-5, .gebraucht-4 .sz-gb-6, .gebraucht-4 .sz-gb-7, .gebraucht-4 .sz-gb-8, .gebraucht-4 .sz-gb-9, .gebraucht-4 .sz-gb-10, .gebraucht-4 .sz-gb-11, .gebraucht-4 .sz-gb-12, .gebraucht-4 .sz-gb-13 { display: none; }
.gebraucht-5 .sz-gb-6, .gebraucht-5 .sz-gb-7, .gebraucht-5 .sz-gb-8, .gebraucht-5 .sz-gb-9, .gebraucht-5 .sz-gb-10, .gebraucht-5 .sz-gb-11, .gebraucht-5 .sz-gb-12, .gebraucht-5 .sz-gb-13 { display: none; }
.gebraucht-6 .sz-gb-7, .gebraucht-6 .sz-gb-8, .gebraucht-6 .sz-gb-9, .gebraucht-6 .sz-gb-10, .gebraucht-6 .sz-gb-11, .gebraucht-6 .sz-gb-12, .gebraucht-6 .sz-gb-13 { display: none; }
.gebraucht-7 .sz-gb-8, .gebraucht-7 .sz-gb-9, .gebraucht-7 .sz-gb-10, .gebraucht-7 .sz-gb-11, .gebraucht-7 .sz-gb-12, .gebraucht-7 .sz-gb-13 { display: none; }
.gebraucht-8 .sz-gb-9, .gebraucht-8 .sz-gb-10, .gebraucht-8 .sz-gb-11, .gebraucht-8 .sz-gb-12, .gebraucht-8 .sz-gb-13 { display: none; }
.gebraucht-9 .sz-gb-10, .gebraucht-9 .sz-gb-11, .gebraucht-9 .sz-gb-12, .gebraucht-9 .sz-gb-13 { display: none; }
.gebraucht-10 .sz-gb-11, .gebraucht-10 .sz-gb-12, .gebraucht-10 .sz-gb-13 { display: none; }
.gebraucht-11 .sz-gb-12, .gebraucht-11 .sz-gb-13 { display: none; }
.gebraucht-12 .sz-gb-13 { display: none; }
/* phone crops (_mobil files): figures and badge plates larger, scaled about their feet / tip */
.sz-mobil .sz-figur { transform-box: fill-box; transform-origin: 50% 100%; transform: scale(1.45); }
.sz-mobil .sz-slot { transform-box: fill-box; transform-origin: 50% 100%; transform: scale(1.35); }
