
@font-face {
  font-family: "Hanken Grotesk Variable";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../fonts/hanken-grotesk-latin-wght-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Hanken Grotesk Variable";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../fonts/hanken-grotesk-latin-ext-wght-normal.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Instrument Sans Variable";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("../fonts/instrument-sans-latin-wght-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Instrument Sans Variable";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("../fonts/instrument-sans-latin-ext-wght-normal.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Geist Mono Variable";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../fonts/geist-mono-latin-wght-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Geist Mono Variable";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../fonts/geist-mono-latin-ext-wght-normal.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Grotesk Fallback";
  src: local("Arial");
  size-adjust: 101%;
  ascent-override: 98%;
  descent-override: 26%;
  line-gap-override: 0%;
}
:root {
  --gelb: #F7FF78;            
  --gelb-tief: #F5FF3D;
  --tinte: #16181B;           
  --text-2: #5F6266;          
  --grau: #75787C;            
  --weiss: #FFF;
  --flaeche: #EFEFEF;
  --flaeche-2: #F7F7F7;
  --platzhalter: #1E2124;     
  --linie: #DADADA;           
  --linie-stark: var(--tinte);
  --nacht: #0F1012;           
  --nacht-2: #1E2124;         
  --nacht-linie: #34373B;
  --nacht-text: #F2F2F2;
  --nacht-text-2: #A9ACB0;    
  --fehler: #C4001A;
  --marke-kante: inset 0 0 0 1px #16181B;
  --sans: "Hanken Grotesk Variable", "Grotesk Fallback", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --display: var(--sans);
  --mono: "Geist Mono Variable", ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  --fs-display: clamp(2.5rem, 1.2rem + 5.6vw, 6.25rem);      
  --fs-h1: clamp(2.125rem, 1.45rem + 3.5vw, 4.5rem);         
  --fs-h2: clamp(1.875rem, 1.45rem + 1.85vw, 3.125rem);      
  --fs-h3: clamp(1.25rem, 1.15rem + 0.45vw, 1.5rem);         
  --fs-callout: clamp(1.75rem, 1.05rem + 3.05vw, 4.25rem);   
  --fs-index: clamp(2.75rem, 1.6rem + 5vw, 5rem);            
  --fs-lead: clamp(1.25rem, 0.95rem + 1.3vw, 2.125rem);      
  --fs-body: 1.125rem;                                       
  --fs-klein: 1rem;                                          
  --fs-mikro: 0.6875rem;                                     
  --rand: clamp(1.25rem, 0.85rem + 1.4vw, 1.875rem);         
  --spalten-luecke: clamp(0.625rem, 0.2rem + 1.6vw, 1.875rem);
  --abschnitt: clamp(4rem, 2.6rem + 5vw, 7.5rem);            
  --abschnitt-klein: clamp(3rem, 2.2rem + 3vw, 5rem);
  --luft-titel: clamp(2.5rem, 1.9rem + 2.2vw, 3.75rem);      
  --w-max: 90rem;                                            
  --w-text: 40rem;
  --kurve: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --kurve-weich: cubic-bezier(0.23, 1, 0.32, 1);
  --kurve-ui: ease-in-out;
  --dauer-ui: 250ms;
  --kopf-h: 4rem;
  --kopf-oben: 1rem;
  --kopf-raum: calc(var(--kopf-h) + var(--kopf-oben));
}
*, *::before, *::after { box-sizing: border-box; }
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  scroll-padding-top: calc(var(--kopf-raum) + 1.5rem);
}
body {
  margin: 0;
  background: var(--weiss);
  color: var(--tinte);
  font-family: var(--sans);
  font-size: var(--fs-body);
  font-weight: 400;
  line-height: 1.39;
  font-feature-settings: "tnum" 1, "lnum" 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
img, svg { display: block; max-width: 100%; }
a { color: inherit; }
p { margin: 0 0 1em; }
p:last-child { margin-bottom: 0; }
h1, h2, h3, h4 { margin: 0; font-weight: 400; text-wrap: balance; }
strong, b { font-weight: 500; }
p { hyphens: manual; -webkit-hyphens: manual; text-wrap: pretty; overflow-wrap: break-word; }   
::selection { background: var(--gelb); color: #000; }
:focus-visible { outline: 2px solid var(--tinte); outline-offset: 3px; }
.dunkel :focus-visible, .buehne :focus-visible, .menue :focus-visible, .crew :focus-visible, .kopf-dunkel :focus-visible { outline-color: var(--gelb); }
.gelb :focus-visible { outline-color: #000; }
button { font: inherit; color: inherit; }
main:focus { outline: none; }
.nur-vorleser {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.sprung {
  position: absolute; left: var(--rand); top: -4rem; z-index: 200;
  background: var(--gelb); color: #000; padding: 0.75rem 1rem; text-decoration: none;
}
.sprung:focus { top: 0.75rem; }
.rahmen {
  width: 100%;
  max-width: var(--w-max);
  margin-inline: auto;
  padding-inline: var(--rand);
}
.rahmen-schmal { max-width: calc(52rem + 2 * var(--rand)); }
.abschnitt { padding-block: var(--abschnitt); }
.abschnitt-klein { padding-block: var(--abschnitt-klein); }
.flaeche { background: var(--flaeche); }
.dunkel { background: var(--nacht); color: var(--nacht-text); }
.gelb { background: var(--gelb); color: #000; }
.mikro, .etikett {
  font-size: var(--fs-mikro);
  font-weight: 400;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  line-height: 1.45;
  margin: 0 0 1.5rem;
}
.mittig-etikett { text-align: center; }
.dunkel .etikett, .buehne .etikett { color: var(--nacht-text-2); }
.display {
  font-family: var(--display);
  font-size: var(--fs-display);
  line-height: 1.02;
  letter-spacing: -0.04em;
}
.h1 { font-family: var(--display); font-size: var(--fs-h1); line-height: 1.06; letter-spacing: -0.035em; }
.h2 { font-family: var(--display); font-size: var(--fs-h2); line-height: 1.08; letter-spacing: -0.03em; }
.h3 { font-size: var(--fs-h3); line-height: 1.22; letter-spacing: -0.015em; }
.statement { font-family: var(--display); font-size: var(--fs-callout); line-height: 1.1; letter-spacing: -0.04em; }
.einleitung { font-size: var(--fs-lead); line-height: 1.2; letter-spacing: -0.01em; color: var(--text-2); max-width: 26em; text-wrap: pretty; }
.dunkel .einleitung, .buehne .einleitung { color: var(--nacht-text-2); }
.gelb .einleitung { color: #000; }
.nebentext { color: var(--text-2); }
.dunkel .nebentext { color: var(--nacht-text-2); }
.klein { font-size: var(--fs-klein); line-height: 1.43; }
.mono { font-family: var(--mono); font-variant-numeric: tabular-nums; }
.grau-in-grau { color: var(--grau); }
.dunkel .grau-in-grau { color: var(--nacht-text-2); }
.schrift-display { --display: "Instrument Sans Variable", var(--sans); }
.titel-block { max-width: 56rem; margin-bottom: var(--luft-titel); }
.titel-block .einleitung { margin-top: 1.5rem; }
.mittig { text-align: center; margin-inline: auto; }
.mittig .einleitung { margin-inline: auto; }
.fliesstext { max-width: var(--w-text); }
.fliesstext p { color: var(--text-2); }
.fliesstext p strong { color: var(--tinte); }
.dunkel .fliesstext p { color: var(--nacht-text-2); }   
.dunkel .fliesstext p strong { color: var(--nacht-text); }
.abstand-oben { margin-top: 1.5rem; }
.abstand-oben-klein { margin-top: 1.1rem; }
.textlink {
  text-decoration: none;
  background: linear-gradient(currentColor, currentColor) 0 100% / 100% 1px no-repeat;
  transition: background-size var(--dauer-ui) var(--kurve-ui);
}
.textlink:hover { background-position: 100% 100%; background-size: 0% 1px; }
.kopfzeile {
  position: relative;
  display: flex; justify-content: space-between; align-items: baseline; gap: 1rem;
  padding-top: 0.9rem;
  margin: 0 0 var(--luft-titel);
  font-size: var(--fs-mikro); font-weight: 400; letter-spacing: 0.06em; text-transform: uppercase; line-height: 1.45;
}
.kopfzeile::before {
  content: ""; position: absolute; left: 0; right: 0; top: 0; height: 1px;
  background: var(--linie-stark); transform-origin: left center;
}
.dunkel .kopfzeile::before { background: var(--nacht-text-2); }
.kopfzeile .index-nr { color: var(--text-2); font-variant-numeric: tabular-nums; }
.dunkel .kopfzeile .index-nr { color: var(--nacht-text-2); }
.zwei > .kopfzeile { grid-column: 1 / -1; margin-bottom: calc(var(--luft-titel) * 0.6); }
.knoepfe { display: flex; flex-wrap: wrap; gap: 0.75rem 1.5rem; align-items: center; margin-top: 2.25rem; }
.mittig .knoepfe, .buehne .knoepfe { justify-content: center; }
.knopf {
  --kf: var(--gelb); --kt: #000; --bf: #000; --bt: var(--gelb);
  display: inline-flex; align-items: center; gap: 1rem;
  min-height: 2.75rem; padding: 0 0.375rem 0 1.125rem;
  background: var(--kf); color: var(--kt);
  font-size: 1rem; font-weight: 400;
  text-decoration: none; border: 1px solid var(--kf); cursor: pointer;
  transition: background-color var(--dauer-ui) var(--kurve-ui), color var(--dauer-ui) var(--kurve-ui), border-color var(--dauer-ui) var(--kurve-ui);
}
.knopf .pfeil-box {
  display: grid; place-items: center; width: 2rem; height: 2rem;
  background: var(--bf); color: var(--bt);
  transition: transform var(--dauer-ui) var(--kurve-ui), background-color var(--dauer-ui) var(--kurve-ui), color var(--dauer-ui) var(--kurve-ui);
}
.knopf:hover { background: #000; color: var(--gelb); border-color: #000; }
.knopf:hover .pfeil-box { background: var(--gelb); color: #000; transform: translateX(3px); }
.knopf-schwarz { --kf: #000; --kt: #fff; --bf: var(--gelb); --bt: #000; }
.knopf-schwarz:hover { background: #fff; color: #000; border-color: #000; }
.knopf-schwarz:hover .pfeil-box { background: #000; color: var(--gelb); }
.knopf-klein { min-height: 2.5rem; font-size: 0.9375rem; padding-left: 0.875rem; gap: 0.625rem; }
.knopf-klein .pfeil-box { width: 1.75rem; height: 1.75rem; }
.pfeil { width: 1em; height: 1em; flex: none; }
.pfeil-link {
  display: inline-flex; align-items: center; gap: 0.5rem;
  font-size: 1rem; text-decoration: none; color: inherit;
  padding-bottom: 0.3rem;
  background: linear-gradient(currentColor, currentColor) 0 100% / 100% 1px no-repeat;
  transition: background-size var(--dauer-ui) var(--kurve-ui);
}
.pfeil-link .pfeil-box { display: inline-grid; place-items: center; transition: transform var(--dauer-ui) var(--kurve-ui); }
.pfeil-link .pfeil { width: 0.95em; height: 0.95em; }
.pfeil-link:hover { background-position: 100% 100%; background-size: 0% 1px; }
.pfeil-link:hover .pfeil-box { transform: translateX(0.333rem); }
.marke {
  display: inline-flex; align-items: center; gap: 0.5rem;
  font-size: 1.1875rem; letter-spacing: -0.03em; font-weight: 450;
  text-decoration: none; color: inherit; line-height: 1; white-space: nowrap;
}
.marke-quadrat {
  width: 0.95em; height: 0.95em; background: var(--gelb); flex: none; position: relative;
  box-shadow: var(--marke-kante);
}
.marke-quadrat::after {
  content: ""; position: absolute; right: 18%; bottom: 18%; width: 26%; height: 26%; background: #000;
}
.kopf-dunkel .marke-quadrat, .menue .marke-quadrat, .dunkel .marke-quadrat { box-shadow: none; }
.marke-logo { display: block; height: 1.625rem; width: auto; flex: none; overflow: visible; --logo-kante: var(--tinte); }
.kopf-dunkel .marke-logo, .menue .marke-logo, .dunkel .marke-logo, .buehne .marke-logo { --logo-kante: transparent; }
.marke-logo .gelb { fill: var(--gelb); stroke: var(--logo-kante); stroke-width: 1px; vector-effect: non-scaling-stroke; }
.marke-bild { display: contents; }
.kopf {
  position: fixed; z-index: 50;
  top: var(--kopf-oben); left: 0.625rem; right: 0.625rem;
  height: var(--kopf-h);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.72);
  -webkit-backdrop-filter: saturate(160%) blur(12px);
  backdrop-filter: saturate(160%) blur(12px);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06), inset 0 0 0 1px rgba(0, 0, 0, 0.05);
  color: var(--tinte);
  transition: background-color 400ms var(--kurve), color 400ms var(--kurve), box-shadow 400ms var(--kurve);
}
.kopf-dunkel {
  background: rgba(22, 24, 27, 0.6);
  color: var(--nacht-text);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2), inset 0 0 0 1px rgba(255, 255, 255, 0.08);
}
.kopf-innen {
  display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 1.5rem;
  height: 100%; max-width: none; padding-inline: 1rem;
}
.kopf-innen > .marke { justify-self: start; }
.kopf-rechts { justify-self: end; display: flex; align-items: center; gap: 0.5rem; }
.hauptnav ul { display: flex; align-items: center; gap: clamp(0.85rem, 1.5vw, 1.5rem); list-style: none; margin: 0; padding: 0; }
.hauptnav .trenner { width: 1px; height: 1rem; background: currentColor; opacity: 0.25; }
.hauptnav a {
  font-size: 0.9375rem; text-decoration: none; color: inherit; opacity: 0.72;
  padding-block: 0.4rem; position: relative;
  transition: opacity var(--dauer-ui) var(--kurve-ui);
}
.hauptnav a:hover, .hauptnav a[aria-current="page"] { opacity: 1; }
.hauptnav a[aria-current="page"]::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -0.1rem; height: 1px; background: currentColor;
}
.kopf .knopf { --kf: transparent; --kt: currentColor; --bf: var(--gelb); --bt: #000; border-color: currentColor; }
.kopf .knopf:hover { background: var(--tinte); color: #fff; border-color: var(--tinte); }
.kopf-dunkel .knopf:hover { background: #fff; color: var(--tinte); border-color: #fff; }
.menue-knopf {
  display: none; align-items: center; gap: 0.6rem;
  min-height: 2.5rem; padding: 0 0.75rem; margin-right: -0.25rem;
  background: none; border: 1px solid currentColor; cursor: pointer;
  font-size: var(--fs-mikro); letter-spacing: 0.06em; text-transform: uppercase;
  transition: background-color var(--dauer-ui) var(--kurve-ui), color var(--dauer-ui) var(--kurve-ui);
}
.menue-knopf:hover { background: var(--tinte); color: #fff; }
.kopf-dunkel .menue-knopf:hover { background: #fff; color: var(--tinte); }
.menue-knopf .raster { display: grid; grid-template-columns: repeat(3, 3px); gap: 2px; }
.menue-knopf .raster i { width: 3px; height: 3px; background: currentColor; display: block; }
.menue {
  position: fixed; inset: 0; z-index: 60;
  background: var(--nacht-2); color: var(--nacht-text);
  display: flex; flex-direction: column;
  padding: 0 var(--rand) 2rem;
  visibility: hidden; opacity: 0;
  transition: opacity 200ms linear, visibility 0s linear 200ms;
  overflow-y: auto;
}
.menue.offen { visibility: visible; opacity: 1; transition: opacity 200ms linear; }
.menue-kopf { display: flex; align-items: center; justify-content: space-between; height: calc(var(--kopf-h) + var(--kopf-oben)); }
.menue-zu { width: 2.75rem; height: 2.75rem; background: none; border: 1px solid rgba(255, 255, 255, 0.3); cursor: pointer; display: grid; place-items: center; }
.menue-zu svg { width: 1rem; height: 1rem; }
.menue nav { margin-top: 1.5rem; }
.menue ul { list-style: none; margin: 0; padding: 0; border-top: 1px solid rgba(255, 255, 255, 0.25); }
.menue li { border-bottom: 1px solid rgba(255, 255, 255, 0.12); }
.menue li a {
  display: flex; align-items: baseline; gap: 1rem;
  font-size: clamp(1.75rem, 1.4rem + 1.6vw, 2.125rem); letter-spacing: -0.02em; line-height: 1.18;
  text-decoration: none; padding-block: 0.7rem; color: var(--nacht-text);
  transition: color var(--dauer-ui) var(--kurve-ui);
}
.menue li a:hover { color: var(--nacht-text-2); }
.menue li a .mono { font-family: var(--sans); font-size: var(--fs-mikro); letter-spacing: 0.06em; color: var(--nacht-text-2); min-width: 2.5rem; }
.menue li a[aria-current="page"] { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.2em; }
.menue > .knopf { margin-top: 2rem; align-self: flex-start; }
.js .menue li, .js .menue > .knopf { opacity: 0; transform: translateY(20%); }
.js .menue.offen li, .js .menue.offen > .knopf {
  opacity: 1; transform: none;
  transition: opacity 500ms var(--kurve), transform 500ms var(--kurve);
  transition-delay: calc(var(--i, 0) * 60ms + 80ms);
}
@media (max-width: 1180px) {
  .kopf-innen { display: flex; justify-content: space-between; }
  .hauptnav { display: none; }
  .menue-knopf { display: inline-flex; }
}
@media (max-width: 960px) {
  :root { --kopf-oben: 0px; }
  .kopf { left: 0; right: 0; border-radius: 0; }
}
@media (max-width: 734px) {
  .kopf-rechts .knopf { display: none; }
}
.band { background: var(--gelb); color: #000; overflow: hidden; position: relative; }
.band-spur { display: flex; width: max-content; animation: band 70s linear infinite; }
.band-teil {
  display: flex; align-items: center; gap: 2.5rem; padding-right: 2.5rem;
  font-size: clamp(1.5rem, 1rem + 2.2vw, 2.75rem); letter-spacing: -0.03em;
  height: clamp(4.5rem, 3.5rem + 4vw, 7rem); white-space: nowrap;
}
.band-teil .band-platz { font-size: 0.42em; letter-spacing: 0.06em; }
.band-teil .band-quadrat { width: 0.32em; height: 0.32em; background: #000; flex: none; }
.band::after {
  content: ""; position: absolute; top: 0; bottom: 0; right: 0; width: 4rem;
  background: linear-gradient(90deg, rgba(247, 255, 120, 0), var(--gelb)); pointer-events: none;
}
@keyframes band { to { transform: translateX(-50%); } }
.buehne {
  background: var(--nacht); color: var(--nacht-text);
  padding-top: calc(var(--kopf-raum) + clamp(3.5rem, 2rem + 6vw, 7.5rem));
  padding-bottom: var(--abschnitt-klein);
  text-align: center; overflow: hidden;
}
.buehne .etikett { margin-bottom: 2rem; }
.buehne .display { max-width: 12em; margin-inline: auto; font-size: min(var(--fs-display), 8.5vw); }   
.buehne .einleitung { margin: 1.75rem auto 0; max-width: 30em; font-size: clamp(1.125rem, 0.95rem + 0.75vw, 1.5rem); line-height: 1.3; }
.pfeil-link.dunkel-box { color: var(--nacht-text); }
.geraete {
  position: relative; margin: clamp(2.5rem, 1.5rem + 3vw, 4rem) auto 0;
  max-width: 62rem; display: grid; grid-template-columns: 1fr 1fr; align-items: end;
}
.geraete-flaeche {
  position: absolute; left: 6%; right: 6%; top: 18%; bottom: 0;
  border-top: 1px solid var(--nacht-linie);
  z-index: 0;
}
.handy {
  position: relative; z-index: 2;
  width: min(19rem, 78vw); aspect-ratio: 9 / 19.2;
  background: #050505; border-radius: 2.9rem; padding: 0.7rem;
  box-shadow: 0 0 0 1px #2c2e31 inset;
}
.geraete .handy { justify-self: end; margin-right: -2.5rem; }
.handy-schirm {
  height: 100%; background: #fff; color: var(--tinte); border-radius: 2.25rem; overflow: hidden;
  display: flex; flex-direction: column; text-align: left; font-size: 0.8125rem; position: relative;
}
.handy-insel { position: absolute; top: 0.6rem; left: 50%; transform: translateX(-50%); width: 5.5rem; height: 1.5rem; background: #050505; border-radius: 1rem; z-index: 2; }
.handy-leiste { height: 2.6rem; flex: none; }
.handy-kopf { padding: 0.25rem 1.1rem 0.9rem; border-bottom: 1px solid var(--linie); }
.handy-kopf .mono { font-size: 0.6875rem; letter-spacing: 0.08em; color: var(--text-2); }
.handy-kopf strong { display: block; font-size: 1.25rem; letter-spacing: -0.025em; font-weight: 450; margin-top: 0.15rem; }
.handy-sitz {
  display: inline-flex; align-items: center; gap: 0.4rem; margin-top: 0.6rem;
  background: var(--gelb); color: #000; padding: 0.2rem 0.5rem;
  font-family: var(--mono); font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.06em;
}
.handy-liste { list-style: none; margin: 0; padding: 0 1.1rem; flex: 1; }
.handy-liste li { display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 0.6rem; padding: 0.72rem 0; border-bottom: 1px solid var(--linie); }
.handy-liste .preis { font-variant-numeric: tabular-nums; color: var(--text-2); }
.handy-liste .plus { width: 1.6rem; height: 1.6rem; display: grid; place-items: center; background: var(--flaeche); }
.handy-liste .plus.an { background: #000; color: #fff; }
.handy-fuss { padding: 0.8rem 0.9rem 1.3rem; }
.handy-bestellen { display: flex; justify-content: space-between; align-items: center; background: var(--gelb); color: #000; padding: 0.85rem 1rem; }
.crew {
  position: relative; z-index: 1; justify-self: start; align-self: center;
  width: min(27rem, 90%); margin-bottom: 3rem;
  background: var(--nacht-2); color: var(--nacht-text); text-align: left;
  padding: 1.25rem 1.25rem 1rem 3.75rem;
  box-shadow: inset 0 0 0 1px var(--nacht-linie);
}
.geraete .crew { justify-self: end; width: 88%; margin-right: 12%; }
.crew-kopf { display: flex; justify-content: space-between; align-items: center; margin-bottom: 0.9rem; }
.crew-kopf .mono { font-size: 0.6875rem; letter-spacing: 0.09em; color: var(--nacht-text-2); }
.crew-rechts { display: inline-flex; align-items: center; gap: 0.75rem; }
.live { display: inline-flex; align-items: center; gap: 0.4rem; font-family: var(--mono); font-size: 0.6875rem; letter-spacing: 0.09em; color: var(--gelb); }
.live::before { content: ""; width: 0.45rem; height: 0.45rem; background: var(--gelb); animation: blinken 1.6s steps(2, start) 3; }
.ruhe .live::before { animation: none; }
@keyframes blinken { to { opacity: 0.2; } }
.bewegung {
  min-height: 1.75rem; padding: 0 0.6rem; background: none; cursor: pointer;
  border: 1px solid var(--nacht-linie); color: var(--nacht-text-2);
  font-family: var(--mono); font-size: 0.6875rem; letter-spacing: 0.09em; text-transform: uppercase;
}
.bewegung[aria-pressed="true"] { color: var(--gelb); border-color: var(--gelb); }
.bestellungen { list-style: none; margin: 0; padding: 0; }
.bestellung {
  display: grid; grid-template-columns: var(--platzspalte, 4.6rem) 1fr auto; gap: 0.75rem; align-items: baseline;
  padding: 0.7rem 0; border-top: 1px solid var(--nacht-linie); font-size: 0.875rem;
}
.bestellung .platz { font-family: var(--mono); font-weight: 600; color: var(--gelb); letter-spacing: 0.02em; font-size: 0.9375rem; }
.bestellung .was { color: var(--nacht-text); overflow-wrap: anywhere; }
.bestellung .zeit { font-family: var(--mono); color: var(--nacht-text-2); font-size: 0.75rem; }
.bestellung .status { display: block; font-family: var(--mono); font-size: 0.625rem; letter-spacing: 0.09em; color: var(--nacht-text-2); margin-top: 0.15rem; }
.bestellung.neu .status { color: var(--gelb); }
.bestellung.rein { animation: rein 520ms var(--kurve-weich); }
@keyframes rein { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }
.crew.crew-breit { width: 100%; padding-left: 1.25rem; margin: 0; --platzspalte: 7.25rem; }
@media (max-width: 734px) {
  .geraete { grid-template-columns: 1fr; justify-items: center; }
  .geraete .handy { justify-self: center; margin-right: 0; width: min(17rem, 76vw); }
  .geraete .crew { justify-self: center; width: 100%; margin: 1.25rem 0 0; padding-left: 1.25rem; }
  .handy-liste li:nth-child(n+6) { display: none; }
}
@media (max-width: 420px) { .crew.crew-breit { --platzspalte: 5.5rem; } }
.callout { text-align: center; max-width: 19em; margin-inline: auto; }
.index-liste { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--linie-stark); isolation: isolate; }
.index-liste > li { position: relative; }
.index-liste > li::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: var(--linie);
  transform-origin: left center;
}
.index-zeile {
  position: relative;
  display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0.5rem var(--spalten-luecke);
  padding: clamp(1.25rem, 0.9rem + 1.2vw, 2rem) 0 clamp(1.5rem, 1.1rem + 1.4vw, 2.25rem);
  text-decoration: none; color: inherit;
}
.index-zeile::before {   
  content: ""; position: absolute; inset: 0 calc(-1 * var(--rand)); background: var(--flaeche-2);
  opacity: 0; transition: opacity 200ms linear; z-index: -1;
}
.index-titel {
  grid-column: 1; display: flex; align-items: center; gap: 0.35em;
  font-family: var(--display); font-size: var(--fs-index); line-height: 1; letter-spacing: -0.045em;
  transition: transform 500ms ease;
}
.index-titel::before {
  content: ""; width: 0.3em; height: 0.3em; background: var(--gelb); box-shadow: var(--marke-kante); flex: none;
  transform: scale(0); transition: transform 300ms var(--kurve);
  margin-left: -0.65em;
}
.index-text { grid-column: 1; margin: 0; font-size: clamp(1.0625rem, 0.95rem + 0.45vw, 1.25rem); color: var(--text-2); max-width: 34em; }
.index-nr { grid-column: 2; grid-row: 1; align-self: start; justify-self: end; font-size: 1rem; color: var(--text-2); font-variant-numeric: tabular-nums; transition: color 300ms linear; }
.index-meta { grid-column: 2; grid-row: 2; align-self: end; justify-self: end; font-family: var(--mono); font-size: 0.75rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--text-2); white-space: nowrap; }
.index-zeile:hover::before { opacity: 1; }
.index-zeile:hover .index-titel { transform: translateX(0.65em); }
.index-zeile:hover .index-titel::before { transform: scale(1); }
.index-zeile:hover .index-nr { color: var(--tinte); }
@media (max-width: 600px) {
  .index-zeile { grid-template-columns: 1fr; }
  .index-zeile .index-nr { grid-column: 1; grid-row: auto; order: -1; justify-self: start; }
  .index-meta { grid-column: 1; grid-row: auto; justify-self: start; }
  .index-titel::before { display: none; }
  .index-zeile:hover .index-titel { transform: none; }
}
.medium { position: relative; margin: 0; min-width: 0; text-align: left; }
.medium-rahmen {
  position: relative; overflow: hidden;
  aspect-ratio: var(--format, 16 / 9); background: var(--platzhalter);
}
@media (max-width: 734px) { .medium-rahmen { aspect-ratio: var(--format-handy, var(--format, 16 / 9)); } }
.medium-rahmen > picture, .medium-rahmen > video, .vorhang-bild > picture, .vorhang-bild > video { position: absolute; inset: 0; display: block; }
.medium-rahmen img, .medium-rahmen video, .vorhang-bild img, .vorhang-bild video { width: 100%; height: 100%; object-fit: cover; }
.medium-poster { z-index: 1; transition: opacity 400ms var(--kurve); }
.medium.bereit .medium-poster { opacity: 0; }
.medium-knopf {
  display: none; position: absolute; z-index: 3; right: 0.75rem; bottom: 0.75rem;
  width: 2.25rem; height: 2.25rem; place-items: center; padding: 0; cursor: pointer;
  background: rgba(15, 16, 18, 0.72); color: #fff; border: 1px solid rgba(255, 255, 255, 0.28);
  transition: background-color var(--dauer-ui) var(--kurve-ui);
}
.js .medium-knopf { display: grid; }
.medium-knopf:hover { background: #000; }
.medium-knopf:focus-visible { outline: 2px solid var(--gelb); outline-offset: 0; box-shadow: 0 0 0 4px #000; }
.medium-knopf svg { width: 0.75rem; height: 0.75rem; }
.medium-knopf .icon-play, .medium.pausiert .medium-knopf .icon-pause { display: none; }
.medium.pausiert .medium-knopf .icon-play { display: block; }
.js .medium.ohne-video .medium-knopf { display: none; }
.medium-ki {
  position: absolute; z-index: 2; left: 0.75rem; bottom: 0.75rem; padding: 0.2rem 0.45rem;
  background: rgba(15, 16, 18, 0.72); color: #fff; font-size: 0.625rem; letter-spacing: 0.08em; text-transform: uppercase;
}
.medium-unterschrift { margin-top: 0.6rem; font-size: var(--fs-mikro); letter-spacing: 0.06em; text-transform: uppercase; color: var(--text-2); }
.medium.ist-platzhalter .medium-rahmen, .vorhang.ist-platzhalter .vorhang-bild {
  --m: rgba(242, 242, 242, 0.25);
  background:
    linear-gradient(var(--m), var(--m)) left 0.75rem top var(--eck-oben, 0.75rem) / 0.75rem 1px no-repeat,
    linear-gradient(var(--m), var(--m)) left 0.75rem top var(--eck-oben, 0.75rem) / 1px 0.75rem no-repeat,
    linear-gradient(var(--m), var(--m)) right 0.75rem top var(--eck-oben, 0.75rem) / 0.75rem 1px no-repeat,
    linear-gradient(var(--m), var(--m)) right 0.75rem top var(--eck-oben, 0.75rem) / 1px 0.75rem no-repeat,
    linear-gradient(var(--m), var(--m)) left 0.75rem bottom 0.75rem / 0.75rem 1px no-repeat,
    linear-gradient(var(--m), var(--m)) left 0.75rem bottom 0.75rem / 1px 0.75rem no-repeat,
    linear-gradient(var(--m), var(--m)) right 0.75rem bottom 0.75rem / 0.75rem 1px no-repeat,
    linear-gradient(var(--m), var(--m)) right 0.75rem bottom 0.75rem / 1px 0.75rem no-repeat,
    var(--platzhalter);
}
.medium-marke {
  position: absolute; left: 1.75rem; right: 1.75rem; top: 1.25rem; overflow: hidden;
  display: flex; justify-content: space-between; gap: 1rem;
  font-family: var(--mono); font-size: var(--fs-mikro); letter-spacing: 0.06em; text-transform: uppercase; line-height: 1.45;
  color: var(--nacht-text-2); white-space: nowrap;
}
.medium-marke span { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.medium-marke .marke-handy { display: none; }
@media (max-width: 734px) {
  .medium-marke .marke-gross { display: none; }
  .medium-marke .marke-handy { display: inline; }
}
.medium-titel {
  position: absolute; left: 1.75rem; right: 1.75rem; bottom: 1.25rem;
  font-size: var(--fs-klein); line-height: 1.3; letter-spacing: -0.01em; color: var(--nacht-text);
  display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; text-wrap: balance;
}
.medium-spielzeichen {
  position: absolute; right: 0.75rem; bottom: 0.75rem; width: 2.25rem; height: 2.25rem;
  display: grid; place-items: center; border: 1px solid currentColor; color: var(--nacht-text-2);
}
.medium-spielzeichen svg { width: 0.75rem; height: 0.75rem; margin-left: 0.1rem; }
.medium-video.ist-platzhalter .medium-titel { right: 3.75rem; }
.medium-briefing { display: block; margin-top: 0.75rem; max-width: 42rem; text-align: left; font-size: 0.8125rem; line-height: 1.45; color: var(--text-2); overflow-wrap: anywhere; }
.ohne-briefing .medium-briefing { display: none; }
.medium-briefing p { margin: 0 0 0.4rem; }
.medium-briefing .medium-briefing-kopf { color: var(--tinte); letter-spacing: 0.06em; text-transform: uppercase; }
.dunkel .medium-briefing .medium-briefing-kopf, .buehne .medium-briefing .medium-briefing-kopf { color: var(--nacht-text); }
.medium-briefing .mono { font-size: 0.6875rem; letter-spacing: 0.04em; }
.medium-ablauf { list-style: none; margin: 0.4rem 0 0.6rem; padding: 0; border-top: 1px solid var(--linie); }
.medium-ablauf li { display: grid; grid-template-columns: 2.75rem minmax(0, 1fr); gap: 0.5rem; padding: 0.3rem 0; border-bottom: 1px solid var(--linie); }
.dunkel .medium-rahmen, .buehne .medium-rahmen { --platzhalter: var(--nacht-2); }
.dunkel .ist-platzhalter .medium-rahmen, .buehne .ist-platzhalter .medium-rahmen, .vorhang.ist-platzhalter .vorhang-bild { --m: rgba(242, 242, 242, 0.25); }
.dunkel .medium-marke, .buehne .medium-marke, .dunkel .medium-spielzeichen, .buehne .medium-spielzeichen,
.dunkel .medium-briefing, .buehne .medium-briefing { color: var(--nacht-text-2); }
.dunkel .medium-titel, .buehne .medium-titel { color: var(--nacht-text); }
.dunkel .medium-ablauf, .dunkel .medium-ablauf li, .buehne .medium-ablauf, .buehne .medium-ablauf li { border-color: var(--nacht-linie); }
.mit-vorhang { position: relative; clip-path: inset(0); }
.mit-vorhang > .vorhang { position: absolute; inset: 0; pointer-events: none; }
.vorhang-bild { --platzhalter: #17191C; position: fixed; z-index: 0; top: 0; left: 0; right: 0; height: 100vh; height: 100lvh; background: var(--nacht); }
.vorhang-bild::after { content: ""; position: absolute; inset: 0; z-index: 2; background: rgba(15, 16, 18, var(--vorhang-abdunkeln, 0.65)); }   
.mit-vorhang::after {   
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: var(--vorhang-boden, 55%); pointer-events: none;
  background: linear-gradient(to bottom, rgba(15, 16, 18, 0), var(--nacht) 30%);
}
.mit-vorhang > :not(.vorhang) { position: relative; z-index: 1; }
.mit-vorhang .einleitung, .mit-vorhang .etikett { color: var(--nacht-text); }
.vorhang .medium-knopf { pointer-events: auto; bottom: auto; top: calc(var(--kopf-raum) + 0.75rem); right: var(--rand); }
.vorhang > .medium-ki { z-index: 1; bottom: auto; top: calc(var(--kopf-raum) + 0.75rem); left: var(--rand); }
.vorhang.ist-platzhalter > .medium-marke { z-index: 1; top: calc(var(--kopf-raum) + 0.75rem); left: var(--rand); right: var(--rand); color: var(--nacht-text-2); }
@media (max-width: 734px) {
  .vorhang.ist-platzhalter > .medium-marke { flex-direction: column; gap: 0; white-space: normal; }
  .vorhang.ist-platzhalter > .medium-marke span { overflow: visible; }
}
.vorhang.ist-platzhalter .vorhang-bild { --eck-oben: calc(var(--kopf-raum) + 0.75rem); overflow: hidden; }
.vorhang-briefing .medium-briefing { margin: var(--abschnitt-klein) auto 0; padding: 0.75rem 0.9rem; border: 1px solid var(--nacht-linie); background: rgba(15, 16, 18, 0.85); }
.vorhang.ist-platzhalter .vorhang-bild::after { display: none; }
.index-vorschau { display: none; }
@media (hover: hover) and (pointer: fine) and (min-width: 1200px) {
  .index-vorschau {
    display: block; position: absolute; z-index: 1; top: 1rem; right: 11rem;
    height: calc(100% - 2rem); aspect-ratio: 16 / 9; max-width: 28.125rem;
    pointer-events: none; opacity: 0; transition: opacity 200ms linear;
  }
  .index-vorschau .medium, .index-vorschau .medium-rahmen { height: 100%; }
  .index-vorschau .medium-rahmen { aspect-ratio: auto; }
  .index-zeile.vorschau-an .index-vorschau { opacity: 1; }
  .index-liste .index-text { max-width: 28em; }
}
@media (prefers-reduced-motion: reduce) {
  .vorhang-bild { position: absolute; height: 100%; }   
}
@media print { .medium-knopf, .medium-briefing { display: none; } }
.platzschild .medium-marke { left: auto; }                 
.index-vorschau .medium-spielzeichen { display: none; }    
@media (max-width: 734px) {   
  .platzschild .medium-marke { left: 1.75rem; top: calc(1.875rem + 1.22 * clamp(3.5rem, 2rem + 6vw, 7.5rem)); }
}
.schritte { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2.5rem var(--spalten-luecke); }
.schritt { position: relative; padding-top: 1rem; }
.schritt::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 1px; background: var(--linie-stark); transform-origin: left center; }
.schritt .nummer { font-size: 1rem; color: var(--text-2); font-variant-numeric: tabular-nums; }
.schritt h3 { margin-top: 2.5rem; }
.schritt p { color: var(--text-2); margin-top: 0.6rem; font-size: var(--fs-klein); line-height: 1.43; }
.mit-kapiteln .schritt h3, .mit-kapiteln .schritt .nummer { transition: color 300ms linear; }
.mit-kapiteln .schritt:not(.kapitel-an) h3 { color: var(--text-2); }
.mit-kapiteln .schritt.kapitel-an .nummer { color: var(--tinte); }
.mit-kapiteln .schritt.kapitel-an::before { height: 2px; }
@media (max-width: 1068px) { .schritte { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .schritte { grid-template-columns: 1fr; } }
.zwei { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 0 var(--spalten-luecke); align-items: center; }
.zwei > :not(.kopfzeile) { grid-column: 1 / span 6; }
.zwei > :not(.kopfzeile) ~ :not(.kopfzeile) { grid-column: 8 / span 5; }
.zwei.oben { align-items: start; }
.zwei-56 > :not(.kopfzeile) { grid-column: 1 / span 5; }
.zwei-56 > :not(.kopfzeile) ~ :not(.kopfzeile) { grid-column: 7 / span 6; }
@media (max-width: 900px) {
  .zwei, .zwei-56 { grid-template-columns: minmax(0, 1fr); }
  .zwei > :not(.kopfzeile), .zwei > :not(.kopfzeile) ~ :not(.kopfzeile),
  .zwei-56 > :not(.kopfzeile), .zwei-56 > :not(.kopfzeile) ~ :not(.kopfzeile) { grid-column: 1; }
  .zwei > :not(.kopfzeile) ~ :not(.kopfzeile) { margin-top: var(--abschnitt-klein); }
}
.fakten { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.5rem var(--spalten-luecke); list-style: none; margin: 0; padding: 0; }
.fakten li { position: relative; padding-top: 1.1rem; }
.fakten li::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 1px; background: var(--linie); transform-origin: left center; }
.dunkel .fakten li::before { background: var(--nacht-linie); }
.fakten h3 { font-size: 1.25rem; letter-spacing: -0.015em; line-height: 1.3; }
.fakten p { margin-top: 0.6rem; color: var(--text-2); font-size: var(--fs-klein); line-height: 1.43; }
@media (max-width: 900px) { .fakten { grid-template-columns: 1fr; gap: 1.75rem; } }
.daten {
  width: 100%; margin: 0; text-align: left; padding: 1.25rem;
  container-type: inline-size;   
  background: var(--nacht); color: var(--nacht-text);
  font-size: 0.875rem; line-height: 1.4;
}
.dunkel .daten, .buehne .daten { background: var(--nacht-2); box-shadow: inset 0 0 0 1px var(--nacht-linie); }
.daten-kopf { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 1rem; }
.daten-kopf .mono { font-size: 0.6875rem; letter-spacing: 0.09em; color: var(--nacht-text-2); }
.daten-flaeche { position: relative; padding-top: 1.1rem; }
.daten-flaeche::before {   
  content: ""; position: absolute; left: 0; right: 0; top: 0; height: 1px; background: var(--nacht-linie); transform-origin: left center;
}
.daten-legende {
  display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 1.25rem; margin-top: 1rem;
  font-family: var(--mono); font-size: 0.625rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--nacht-text-2);
}
.daten-legende > span { display: inline-flex; align-items: center; gap: 0.45rem; }
.daten-fuss { margin: 1rem 0 0; padding-top: 0.75rem; border-top: 1px solid var(--nacht-linie); font-size: 0.8125rem; line-height: 1.45; color: var(--nacht-text-2); }
.daten-hinweis { margin: 0.75rem 0 0; font-size: var(--fs-mikro); letter-spacing: 0.06em; text-transform: uppercase; line-height: 1.45; color: var(--nacht-text-2); }
.sortiment-kopf > *, .beladung-kopf > span, .feld-achse, .feld-name, .verlauf-achse {
  font-family: var(--mono); font-size: 0.625rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--nacht-text-2);
}
.daten .s0 { background: rgba(242, 242, 242, 0.035); }
.daten .s1 { background: rgba(242, 242, 242, 0.11); }
.daten .s2 { background: rgba(242, 242, 242, 0.24); }
.daten .s3 { background: rgba(242, 242, 242, 0.44); }
.daten .s4 { background: rgba(242, 242, 242, 0.74); }
.daten .s5 { background: var(--gelb); }
.empfehlung {
  display: inline-flex; align-items: center; gap: 0.45rem;
  font-family: var(--mono); font-size: 0.6875rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--nacht-text-2);
}
.empfehlung.handeln { color: var(--nacht-text); }
.empfehlung.handeln::before { content: ""; width: 0.45rem; height: 0.45rem; background: var(--gelb); flex: none; }
.feld-raster { display: grid; grid-template-columns: max-content repeat(var(--spalten), minmax(0, 1fr)); gap: 3px; align-items: center; }
.feld-raster > i { display: block; height: clamp(1.25rem, 0.85rem + 1.3vw, 2rem); }
.feld-name { white-space: nowrap; padding-right: 0.5rem; }
.feld-achse { text-align: center; padding-top: 0.45rem; letter-spacing: 0.02em; }
.daten-legende > .feld-skala { gap: 3px; }
.feld-skala i { width: 0.75rem; height: 0.75rem; display: block; }
.feld-skala i:first-child { margin-left: 0.35rem; }
.feld-skala i:nth-last-child(1):not(.s5) { margin-right: 0.35rem; }
.feld-skala .s5 { margin-right: 0.3rem; }
.verlauf-plot {
  position: relative; height: clamp(9rem, 6.5rem + 8vw, 13rem);
  border-bottom: 1px solid rgba(242, 242, 242, 0.35);
  --gl: linear-gradient(var(--nacht-linie), var(--nacht-linie));
  background: var(--gl) 0 25% / 100% 1px no-repeat, var(--gl) 0 50% / 100% 1px no-repeat, var(--gl) 0 75% / 100% 1px no-repeat;
}
.verlauf-ebene { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.verlauf-ebene path { fill: none; vector-effect: non-scaling-stroke; stroke-linejoin: round; stroke-linecap: round; }
.verlauf-schnitt path { stroke: var(--nacht-text-2); stroke-width: 1; stroke-dasharray: 3 4; }
.verlauf-prognose path { stroke: var(--nacht-text); stroke-width: 1.75; }
.verlauf-band path { fill: rgba(242, 242, 242, 0.09); }
.verlauf-lot { position: absolute; bottom: 0; width: 1px; transform: translateX(-0.5px); background: rgba(242, 242, 242, 0.35); }
.verlauf-spitze { position: absolute; width: 0.5rem; height: 0.5rem; background: var(--gelb); transform: translate(-50%, -50%); }
.verlauf-spitze span {
  position: absolute; bottom: calc(100% + 0.55rem); left: 50%; transform: translateX(-50%); white-space: nowrap;
  font-family: var(--mono); font-size: 0.625rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--nacht-text);
}
.verlauf-spitze.rechts span { left: auto; right: -0.25rem; transform: none; }
.verlauf-spitze.links span { left: -0.25rem; transform: none; }
.verlauf-achse { position: relative; height: 1.4rem; margin-top: 0.45rem; letter-spacing: 0.02em; }
.verlauf-achse span { position: absolute; top: 0; transform: translateX(-50%); }
.verlauf-achse span:first-child { transform: none; }
.verlauf-achse span:last-child { transform: translateX(-100%); }
.leg-schnitt, .leg-prognose { display: block; width: 1.25rem; height: 0; border-top: 1px dashed var(--nacht-text-2); }
.leg-prognose { border-top: 2px solid var(--nacht-text); }
.leg-band { display: block; width: 1.25rem; height: 0.6rem; background: rgba(242, 242, 242, 0.14); }
.sortiment, .beladung { list-style: none; margin: 0; padding: 0; }
.sortiment > li {
  display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) 4.5rem minmax(0, 1.15fr); gap: 0 1rem; align-items: center;
  padding: 0.7rem 0; border-top: 1px solid var(--nacht-linie);
}
.sortiment > .sortiment-kopf { border-top: 0; padding-top: 0; align-items: end; }
.sortiment-name { overflow-wrap: anywhere; }
.balken { display: block; height: 0.5rem; background: rgba(242, 242, 242, 0.07); }
.balken-fuellung { display: block; height: 100%; background: rgba(242, 242, 242, 0.74); transform-origin: left center; }
.balken-neu { background: none; border: 1px dashed rgba(242, 242, 242, 0.3); }
.spark { width: 100%; height: 1.25rem; overflow: visible; }
.spark path { fill: none; stroke: var(--nacht-text-2); stroke-width: 1.25; vector-effect: non-scaling-stroke; stroke-linejoin: round; }
.sortiment-rat { min-width: 0; }
.empfehlung-grund { display: block; margin-top: 0.2rem; font-size: 0.75rem; line-height: 1.3; color: var(--nacht-text-2); }
@container (max-width: 26rem) {
  .sortiment > li { grid-template-columns: minmax(0, 1fr) minmax(0, 0.8fr); gap: 0.45rem 0.9rem; }
  .sortiment .sortiment-trend { display: none; }
  .sortiment-rat { grid-column: 1 / -1; }
  .sortiment-kopf > span:last-child { display: none; }
}
.beladung > li {
  display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 2fr) minmax(0, 1fr) 7.25rem; gap: 0 1.25rem; align-items: center;
  padding: 0.7rem 0; border-top: 1px solid var(--nacht-linie);
}
.beladung > .beladung-kopf { border-top: 0; padding-top: 1rem; }
.umlauf { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; }
.halt {
  flex: none; width: 1.5rem; height: 1.5rem; display: grid; place-items: center;
  font-family: var(--mono); font-size: 0.6875rem; color: var(--nacht-text); border: 1px solid rgba(242, 242, 242, 0.4);
}
.halt.start { background: rgba(242, 242, 242, 0.14); }
.etappe { flex: 1; position: relative; height: 1px; background: rgba(242, 242, 242, 0.4); transform-origin: left center; }
.etappe span {
  position: absolute; left: 50%; bottom: 0.45rem; transform: translateX(-50%);
  font-family: var(--mono); font-size: 0.625rem; letter-spacing: 0.08em; color: var(--nacht-text-2);
}
.bedarf { display: flex; align-items: center; height: 1.5rem; padding-inline: 1.5rem; gap: 1.5rem; }
.bedarf-feld { flex: 1; height: 0.5rem; margin-inline: 0.3rem; background: rgba(242, 242, 242, 0.07); }
.bedarf-feld i { display: block; height: 100%; background: rgba(242, 242, 242, 0.5); transform-origin: left center; }
.ladung { display: grid; gap: 3px; }
.ladung i { display: block; height: 0.3125rem; transform-origin: left center; }
.ladung-bisher, .leg-bisher { box-shadow: inset 0 0 0 1px rgba(242, 242, 242, 0.45); }
.ladung-vorschlag, .leg-vorschlag { background: var(--nacht-text); }
.leg-bisher, .leg-vorschlag { display: block; width: 1.25rem; height: 0.3125rem; }
.beladung-name { min-width: 0; }
@container (max-width: 46rem) {
  .beladung > li { grid-template-columns: minmax(0, 1fr) minmax(0, 0.8fr) 7.25rem; gap: 0.55rem 1.25rem; }
  .beladung-kopf > span { display: none; }
  .beladung-kopf > .umlauf, .beladung > li > .bedarf { grid-column: 1 / -1; }
  .beladung > li > .bedarf { grid-row: 2; }
}
@container (max-width: 24rem) {
  .beladung > li { grid-template-columns: minmax(0, 1fr) auto; }
  .beladung > li > .ladung { grid-column: 1 / -1; grid-row: 3; }
}
@keyframes einschalten {   
  0% { opacity: 0; } 30% { opacity: 0.8; } 50% { opacity: 0.1; } 70% { opacity: 0.7; } 85% { opacity: 0; } 100% { opacity: 1; }
}
.js .zeichnen-wartet .daten-flaeche::before, .js .zeichnen-wartet .etappe { transform: scaleX(0); }
.zeichnen-an .daten-flaeche::before { transform: scaleX(1); transition: transform 400ms var(--kurve); }
.zeichnen-an .etappe { transform: scaleX(1); transition: transform 450ms var(--kurve) calc(250ms + var(--i, 0) * 180ms); }
.js .zeichnen-wartet .feld-raster > i, .js .zeichnen-wartet .halt, .js .zeichnen-wartet .verlauf-band,
.js .zeichnen-wartet .verlauf-spitze, .js .zeichnen-wartet .verlauf-lot, .js .zeichnen-wartet .empfehlung { opacity: 0; }
.zeichnen-an .feld-raster > i { animation: einschalten 320ms steps(1, end) calc(200ms + var(--v, 0) * 13ms) backwards; }
.zeichnen-an .halt { animation: einschalten 320ms steps(1, end) calc(200ms + var(--i, 0) * 180ms) backwards; }
.zeichnen-an .verlauf-band { animation: einschalten 320ms steps(1, end) var(--verz) backwards; }
.zeichnen-an .verlauf-lot, .zeichnen-an .verlauf-spitze { animation: einschalten 320ms steps(1, end) 1550ms backwards; }
.zeichnen-an .empfehlung { animation: einschalten 320ms steps(1, end) calc(900ms + var(--i, 0) * 110ms) backwards; }
.js .zeichnen-wartet .verlauf-schnitt, .js .zeichnen-wartet .verlauf-prognose, .js .zeichnen-wartet .spark { clip-path: inset(0 100% 0 0); }
.zeichnen-an .verlauf-schnitt, .zeichnen-an .verlauf-prognose { clip-path: inset(0 0 0 0); transition: clip-path 1100ms var(--kurve) var(--verz); }
.zeichnen-an .spark { clip-path: inset(0 0 0 0); transition: clip-path 700ms var(--kurve) calc(450ms + var(--i, 0) * 110ms); }
.js .zeichnen-wartet .balken-fuellung, .js .zeichnen-wartet .bedarf-feld i, .js .zeichnen-wartet .ladung i { transform: scaleX(0); }
.zeichnen-an .balken-fuellung, .zeichnen-an .bedarf-feld i, .zeichnen-an .ladung i { transform: scaleX(1); transition: transform 700ms var(--kurve) calc(250ms + var(--i, 0) * 90ms); }
.zeichnen-an .ladung-vorschlag { transition-delay: calc(650ms + var(--i, 0) * 90ms); }
.datensatz { margin: 0; }
.datensatz > div { display: grid; grid-template-columns: 8.5rem minmax(0, 1fr); gap: 0 1rem; align-items: baseline; padding: 0.6rem 0; border-top: 1px solid var(--nacht-linie); }
.datensatz > div:first-child { border-top: 0; padding-top: 0; }
.datensatz dt { font-family: var(--mono); font-size: 0.625rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--nacht-text-2); }
.datensatz dd { margin: 0; overflow-wrap: anywhere; }
@container (max-width: 22rem) { .datensatz > div { grid-template-columns: minmax(0, 1fr); gap: 0.2rem; } }
.js .zeichnen-wartet .datensatz > div { opacity: 0; }
.zeichnen-an .datensatz > div { animation: einschalten 320ms steps(1, end) calc(200ms + var(--i, 0) * 110ms) backwards; }
.daten-globus .daten-kopf { flex-wrap: wrap; row-gap: 0.35rem; min-height: 1.75rem; }   
.globus-lage { display: inline-flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 0.35rem 1.1em; margin-left: auto; white-space: nowrap; font-variant-numeric: tabular-nums; }
.globus-lage .bewegung { min-width: 15ch; }   
html:not(.js) .globus-lage .bewegung { visibility: hidden; }   
.globus-buehne { position: relative; width: 100%; max-width: 40rem; aspect-ratio: 1 / 1; margin-inline: auto; }
.globus-buehne > svg, .globus-buehne > canvas { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.globus-buehne.leinwand-an > svg, .globus-buehne:not(.leinwand-an) > canvas { visibility: hidden; }   
.globus-svg { overflow: visible; }
.globus-svg .g-scheibe { fill: rgba(0, 0, 0, 0.22); }
.globus-svg .g-netz, .globus-svg .g-rand, .globus-svg .g-skala, .globus-svg .g-strecke, .globus-svg .g-markiert, .globus-svg .g-zeiger, .globus-svg .g-knoten {
  fill: none; stroke-width: 1; vector-effect: non-scaling-stroke;
}
.globus-svg .g-netz { stroke: rgba(242, 242, 242, 0.1); }
.globus-svg .g-rand { stroke: rgba(242, 242, 242, 0.3); }
.globus-svg .g-skala { stroke: rgba(242, 242, 242, 0.3); }
.globus-svg .g-land path, .globus-svg [class^="g-land-"] { fill: none; stroke: var(--nacht-text); stroke-width: 3.2; stroke-linecap: square; }
.globus-svg .g-land-0 { opacity: 0.18; }
.globus-svg .g-land-1 { opacity: 0.34; }
.globus-svg .g-land-2 { opacity: 0.52; }
.globus-svg .g-land-3 { opacity: 0.7; }
.globus-svg .g-strecke { stroke: rgba(242, 242, 242, 0.42); }
.globus-svg .g-strecke.g-hinten { stroke: rgba(242, 242, 242, 0.16); }   
.globus-svg .g-markiert { stroke: var(--gelb); stroke-width: 1.5; opacity: 0.4; }
.globus-svg .g-markiert.g-hinten { stroke-width: 1; opacity: 0.25; }
.globus-svg .g-fluss { fill: none; stroke: var(--gelb); stroke-width: 3; stroke-dasharray: 14 18; }
.globus-svg .g-knoten { fill: var(--nacht-2); stroke: rgba(242, 242, 242, 0.75); }
.globus-svg .g-marke { fill: var(--gelb); }
.globus-svg .g-zeiger { stroke: rgba(242, 242, 242, 0.6); }
.globus-svg text { font-family: var(--mono); font-size: 20px; letter-spacing: 0.08em; fill: var(--nacht-text); }
.globus-svg .g-ecke { fill: var(--nacht-text-2); font-size: 18px; }
@container (max-width: 30rem) { .globus-svg text, .globus-svg .g-ecke { font-size: 30px; } }
@container (max-width: 20rem) { .globus-svg text, .globus-svg .g-ecke { font-size: 36px; } }
.js .zeichnen-wartet .globus-svg .g-strecken { opacity: 0; }
.zeichnen-an .globus-svg .g-strecken { animation: einschalten 320ms steps(1, end) 300ms backwards; }
.globus-liste { list-style: none; margin: 1rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 1.25rem; }
.globus-liste li { display: flex; align-items: baseline; gap: 0.85rem; min-width: 0; padding: 0.6rem 0; border-top: 1px solid var(--nacht-linie); }
.globus-liste .empfehlung { flex: none; color: var(--nacht-text); }
.globus-grund { min-width: 0; font-size: 0.8125rem; line-height: 1.35; color: var(--nacht-text-2); overflow-wrap: anywhere; }
@container (max-width: 30rem) { .globus-liste { grid-template-columns: minmax(0, 1fr); } }
.leg-strecke, .leg-markiert { display: block; width: 1.25rem; height: 0; border-top: 1px solid rgba(242, 242, 242, 0.6); }
.leg-markiert { border-top: 2px dashed var(--gelb); }
.leg-knoten { display: block; width: 0.5rem; height: 0.5rem; border: 1px solid rgba(242, 242, 242, 0.75); }
.zahlen-fragen { margin-top: var(--abschnitt-klein); }
@media (min-width: 901px) { .fakten-zwei { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.dunkel .fakten p { color: var(--nacht-text-2); }
.abschluss { text-align: center; }
.abschluss .h1 { max-width: 14em; margin-inline: auto; }
.abschluss .einleitung { margin: 1.5rem auto 0; max-width: 30em; font-size: clamp(1.125rem, 0.95rem + 0.75vw, 1.5rem); line-height: 1.3; }
.abschluss .knoepfe { justify-content: center; }
.seitenkopf { padding-top: calc(var(--kopf-raum) + clamp(3rem, 2rem + 5vw, 6.5rem)); padding-bottom: var(--abschnitt-klein); }
.seitenkopf-text { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 0 var(--spalten-luecke); }
.seitenkopf-text > * { grid-column: 1 / -1; }
.seitenkopf-text .h1 { max-width: 16em; }
.seitenkopf-text .seitenkopf-unten { grid-column: 7 / -1; margin-top: 2.5rem; }
.seitenkopf .einleitung { margin-top: 1.5rem; }
.seitenkopf .seitenkopf-unten .einleitung { margin-top: 0; }
.seitenkopf-text + .platzschild { margin-top: var(--luft-titel); }
.seitenkopf-branche { padding-top: calc(var(--kopf-raum) + clamp(2rem, 1rem + 3vw, 4rem)); }
.seitenkopf-branche .seitenkopf-text .seitenkopf-unten { margin-top: 1.5rem; }
.seitenkopf-branche .seitenkopf-unten .einleitung { font-size: clamp(1.125rem, 0.95rem + 0.75vw, 1.5rem); line-height: 1.3; max-width: 30em; }
.seitenkopf-branche .seitenkopf-unten .knoepfe { margin-top: 1.5rem; }
.seitenkopf-branche .seitenkopf-text + .platzschild { margin-top: clamp(2rem, 1.5rem + 1.5vw, 2.75rem); }
@media (max-width: 1200px) and (min-width: 901px) { .seitenkopf-branche .seitenkopf-text .seitenkopf-unten { grid-column: 5 / -1; } }
.h1 .zeile { display: block; text-wrap: balance; }
@media (max-width: 900px) { .seitenkopf-text .seitenkopf-unten { grid-column: 1 / -1; margin-top: 1.5rem; } }
.kopf-medium { margin-top: var(--luft-titel); }
.ablauf-medium { margin-bottom: var(--luft-titel); }
.zwei.heute-raster > .h2 { grid-column: 1 / -1; max-width: 18em; margin-bottom: var(--luft-titel); }
.zwei.heute-raster > .medium { grid-column: 1 / span 6; }
.zwei.heute-raster > .fliesstext { grid-column: 8 / span 5; }
@media (max-width: 900px) {
  .zwei.heute-raster > .h2, .zwei.heute-raster > .medium, .zwei.heute-raster > .fliesstext { grid-column: 1; }
  .zwei.heute-raster > .medium { margin-top: 0; }
  .zwei.heute-raster > .fliesstext { margin-top: var(--luft-titel); }
}
@media (min-width: 735px) and (max-width: 900px) {   
  .zwei.heute-raster > .medium { max-width: 66.666%; }
}
.platzschild { position: relative; }
.platzschild-nummer {
  position: absolute; left: 0; top: 0; z-index: 4;
  background: var(--gelb); color: #000;
  font-family: var(--display); letter-spacing: -0.04em; line-height: 1;
  font-size: clamp(3.5rem, 2rem + 6vw, 7.5rem);
  padding: 0.12em 0.18em 0.1em;
}
.platzschild-nummer small { display: block; font-family: var(--sans); font-size: 0.75rem; letter-spacing: 0.06em; margin-bottom: 0.5em; }
.szene { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--linie-stark); }
.szene li { display: grid; grid-template-columns: 5.5rem 1fr; gap: 1.5rem; padding: 1.4rem 0; border-bottom: 1px solid var(--linie); }
.szene .zeit { font-family: var(--mono); font-size: 0.9375rem; padding-top: 0.15rem; }
.szene p { margin: 0; color: var(--text-2); }
.szene p strong { color: var(--tinte); }
@media (max-width: 600px) { .szene li { grid-template-columns: 1fr; gap: 0.4rem; } }
.ticket {
  display: inline-flex; align-items: center; gap: 0.8rem; flex-wrap: wrap;
  font-family: var(--mono); font-size: 0.875rem; letter-spacing: 0.02em;
  background: var(--nacht-2); color: var(--nacht-text); padding: 0.55rem 0.8rem; margin-top: 0.7rem;
}
.ticket b { color: var(--gelb); font-weight: 600; }
.weitere { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--linie); }
.weitere a {
  display: flex; flex-direction: column; gap: 0.35rem; padding: 1.5rem 1.25rem 1.5rem 0; text-decoration: none;
  border-bottom: 1px solid var(--linie);
  transition: background-color 200ms linear;
}
.weitere a + a { padding-left: 1.25rem; border-left: 1px solid var(--linie); }
.weitere a:hover { background: var(--flaeche-2); }
.weitere .mono { font-family: var(--sans); font-size: var(--fs-mikro); letter-spacing: 0.06em; color: var(--text-2); text-transform: uppercase; }
.weitere strong { font-weight: 400; font-size: 1.5rem; letter-spacing: -0.02em; display: flex; justify-content: space-between; align-items: center; gap: 0.75rem; }
.weitere .pfeil-box { display: grid; place-items: center; transition: transform var(--dauer-ui) var(--kurve-ui); }
.weitere a:hover .pfeil-box { transform: translateX(0.333rem); }
@media (max-width: 900px) {
  .weitere { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .weitere a:nth-child(3) { padding-left: 0; border-left: 0; }
}
@media (max-width: 600px) {
  .weitere { grid-template-columns: minmax(0, 1fr); }
  .weitere a + a, .weitere a:nth-child(3) { padding-left: 0; border-left: 0; }
}
.fragen { border-top: 1px solid var(--linie-stark); }
.frage { border-bottom: 1px solid var(--linie); }
.frage summary {
  list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 1.5rem;
  padding: 1.25rem 0; font-size: 1.25rem; letter-spacing: -0.015em;
}
.frage summary::-webkit-details-marker { display: none; }
.frage-zeichen { position: relative; width: 1.5rem; height: 1.5rem; flex: none; border: 1px solid currentColor; }
.frage-zeichen::before, .frage-zeichen::after { content: ""; position: absolute; left: 50%; top: 50%; width: 0.6rem; height: 1px; background: currentColor; transform: translate(-50%, -50%); }
.frage-zeichen::after { transform: translate(-50%, -50%) rotate(90deg); transition: transform var(--dauer-ui) var(--kurve-ui); }
.frage[open] .frage-zeichen { background: var(--gelb); border-color: #000; }
.frage[open] .frage-zeichen::after { transform: translate(-50%, -50%) rotate(0deg); }
.frage p { color: var(--text-2); margin: 0 0 1.4rem; max-width: 40em; }
.beitrag { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem var(--spalten-luecke); }
.liste { list-style: none; margin: 1rem 0 0; padding: 0; border-top: 1px solid var(--linie-stark); }
.liste li { padding: 0.85rem 0; border-bottom: 1px solid var(--linie); color: var(--text-2); }
@media (max-width: 734px) { .beitrag { grid-template-columns: 1fr; } }
.recht h2 { font-size: 1.5rem; letter-spacing: -0.02em; margin: 2.5rem 0 0.75rem; }
.recht p, .recht li { color: var(--text-2); }
.luecke { background: var(--flaeche); border-left: 2px solid var(--tinte); padding: 0.1em 0.45em; font-family: var(--mono); font-size: 0.875em; color: var(--tinte); }
.fuss { background: var(--flaeche); padding-block: clamp(3.5rem, 2.5rem + 4vw, 6rem) 2rem; font-size: var(--fs-klein); }
.fuss-raster { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 2.5rem var(--spalten-luecke); }
.fuss-marke { grid-column: 1 / span 4; }
.fuss-raster > div:not(.fuss-marke) { grid-column: span 2; }
.fuss-raster > div:nth-child(2) { grid-column: 7 / span 2; }
.fuss h2 { font-size: var(--fs-mikro); font-weight: 400; letter-spacing: 0.06em; text-transform: uppercase; margin-bottom: 1rem; padding-bottom: 0.6rem; border-bottom: 1px solid #AAAAAA; }
.fuss ul { list-style: none; margin: 0; padding: 0; }
.fuss li + li { margin-top: 0.5rem; }
.fuss a { text-decoration: none; color: var(--text-2); transition: color var(--dauer-ui) var(--kurve-ui); }
.fuss a:hover { color: var(--tinte); }
.fuss .marke { color: var(--tinte); }
.fuss-marke p { color: var(--text-2); margin-top: 1rem; max-width: 22rem; }
.fuss-unten { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; margin-top: clamp(3rem, 2rem + 3vw, 5rem); padding-top: 1.25rem; border-top: 1px solid #AAAAAA; color: var(--text-2); font-size: 0.8125rem; }
@media (max-width: 900px) {
  .fuss-raster { grid-template-columns: 1fr 1fr; }
  .fuss-marke { grid-column: 1 / -1; }
  .fuss-raster > div:not(.fuss-marke), .fuss-raster > div:nth-child(2) { grid-column: auto; }
}
@media (max-width: 734px) {
  .fuss li + li { margin-top: 0; }
  .fuss li a { display: inline-block; padding-block: 0.6rem; }
  .pfeil-link { min-height: 2.75rem; }
  .kopf .marke { padding-block: 0.75rem; }
}
.js .einblenden { opacity: 0; transform: translateY(1.5rem); transition: opacity 500ms var(--kurve), transform 500ms var(--kurve); }
.js .einblenden.sichtbar { opacity: 1; transform: none; }
.js .einblenden.v1 { transition-delay: 150ms; }
.js .einblenden.v2 { transition-delay: 300ms; }
.js .einblenden.v3 { transition-delay: 450ms; }
.js .linie-wartet::before, .js .linie-wartet > li::after { transform: scaleX(0); }
.js .linie-an::before, .js .linie-an > li::after { transform: scaleX(1); transition: transform 400ms var(--kurve); }
.js .linie-an > li::after { transition-delay: calc(var(--i, 0) * 120ms); }
.tippen-wort { display: inline-block; white-space: nowrap; }
.tippen-zeichen { opacity: 0; }
.tippen-an .tippen-zeichen { opacity: 1; transition: opacity 0s linear; transition-delay: calc(var(--tippen-start, 250ms) + var(--i) * var(--tippen-schritt, 27ms)); }
.js .flackern-wartet { opacity: 0; }
.js .flackern-an { opacity: 1; animation: flackern 300ms steps(1, end) backwards; }
@keyframes flackern {
  0% { opacity: 0.8; }
  33.3% { opacity: 0; }
  50% { opacity: 0.7; }
  83.3% { opacity: 0; }
  100% { opacity: 1; }
}
.wechsel {
  position: fixed; z-index: 300; top: -25vh; left: -25vw; width: 150vw; height: 150vh;
  background: var(--nacht-2); pointer-events: none; visibility: hidden;
  display: grid; place-items: center;
}
.wechsel.aktiv { visibility: visible; }
.wechsel-kommt body::after {
  content: ""; position: fixed; inset: 0; z-index: 299; background: var(--nacht-2); pointer-events: none;
  animation: wechsel-notaus 0s linear 1.5s forwards;
}
@keyframes wechsel-notaus { to { visibility: hidden; } }
.wechsel-marke { width: 2.5rem; height: 2.5rem; background: var(--gelb); position: relative; opacity: 0; }
.wechsel-marke::after { content: ""; position: absolute; right: 18%; bottom: 18%; width: 26%; height: 26%; background: #000; }
.wechsel-marke.mit-symbol { background: center / cover no-repeat; }
.wechsel-marke.mit-symbol::after { display: none; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; transition-delay: 0ms !important; }
  .js .einblenden, .js .flackern-wartet { opacity: 1; transform: none; }
  .js .linie-wartet::before, .js .linie-wartet > li::after { transform: none; }
  .band-spur { animation: none; }
  .bewegung { display: none; }
  .menue, .menue * { transition: none !important; }
  .wechsel { display: none; }
}
.entwurf {
  position: fixed; left: 0.75rem; bottom: 0.75rem; z-index: 90;
  display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 0.9rem;
  background: rgba(15, 16, 18, 0.94); color: #F2F2F2;
  font-family: var(--mono); font-size: 0.6875rem; letter-spacing: 0.06em; text-transform: uppercase;
  padding: 0.55rem 0.7rem; max-width: calc(100vw - 1.5rem);
}
.entwurf label { display: inline-flex; align-items: center; gap: 0.4rem; }
.entwurf select { font: inherit; text-transform: none; letter-spacing: 0; font-size: 0.75rem; background: #222; color: #fff; border: 1px solid #444; padding: 0.25rem 0.4rem; }
.entwurf .farbwahl { display: inline-flex; gap: 0.3rem; }
.entwurf .logowahl { display: inline-flex; align-items: center; gap: 0.3rem; }
.entwurf .logowahl button { font: inherit; background: #222; color: #fff; border: 1px solid #444; width: 1.6rem; height: 1.6rem; cursor: pointer; padding: 0; line-height: 1; }
.entwurf .logowahl button:hover { background: #333; }
.entwurf .farbwahl button { width: 1.1rem; height: 1.1rem; border: 1px solid #555; cursor: pointer; padding: 0; }
.entwurf .farbwahl button[aria-pressed="true"] { outline: 2px solid #fff; outline-offset: 1px; }
.entwurf input[type="checkbox"] { accent-color: #F7FF78; }
.entwurf-griff { background: none; border: 0; color: #F2F2F2; cursor: pointer; font: inherit; letter-spacing: inherit; text-transform: inherit; padding: 0.2rem 0; display: inline-flex; align-items: center; gap: 0.45rem; }
.entwurf-griff::before { content: ""; width: 0.6rem; height: 0.6rem; background: var(--gelb); }
.entwurf-inhalt { display: contents; }
.entwurf.zu .entwurf-inhalt { display: none; }
.offen-markierung { display: none; }
.zeige-offen .offen-markierung {
  display: inline-block; vertical-align: middle;
  font-family: var(--mono); font-size: 0.625rem; letter-spacing: 0.08em; text-transform: uppercase; font-weight: 600;
  background: #000; color: var(--gelb); padding: 0.2rem 0.4rem; margin: 0 0.35rem; line-height: 1.3;
}
@media print {
  .kopf, .menue, .band, .entwurf, .fuss, .wechsel { display: none; }
  .js .einblenden { opacity: 1; transform: none; }
}


.index-zeile { padding: clamp(1rem, 0.8rem + 0.8vw, 1.5rem) 0 clamp(1.25rem, 1rem + 1vw, 1.75rem); }
.index-titel { margin-bottom: 0.15rem; }
.index-text .index-produkt { color: var(--tinte); margin-right: 0.55em; }
.index-text .index-gewinn { color: var(--text-2); }
@media (hover: hover) and (pointer: fine) and (min-width: 1200px) { .index-liste .index-text { max-width: 36em; } }
@media (max-width: 359px) { :is(.index-liste, .branchen-index) .index-titel { font-size: 2.625rem; } }
.start-branchen .index-text .index-produkt, .branchen-index .index-text .index-produkt { display: inline; margin-bottom: 0; }
.start-branchen .index-text .index-gewinn, .branchen-index .index-text .index-gewinn { display: inline; }
.dunkel .index-text .index-produkt { color: var(--nacht-text); }
.beleg-kacheln {
  --n: 3;
  list-style: none; margin: 0; padding: 0;
  display: grid; grid-template-columns: repeat(var(--n), minmax(0, 1fr)); gap: 2rem var(--spalten-luecke);
}
.beleg-kacheln[data-anzahl="1"] { --n: 1; }
.beleg-kacheln[data-anzahl="2"] { --n: 2; }
.beleg-kacheln[data-anzahl="4"] { --n: 4; }
.beleg.beleg-kachel {
  display: flex; flex-direction: column; gap: 0.9rem; min-width: 0;
  margin: 0; padding: 0.9rem 0 0; border-top: 1px solid var(--linie-stark); font-size: var(--fs-klein);
}
.beleg-kachel .beleg-etikett { margin: 0; }
.beleg-kachel-zahl {
  margin: 0; font-size: var(--fs-h2); line-height: var(--lh-h2); letter-spacing: var(--ls-h2);
  font-variant-numeric: proportional-nums;   
}
.beleg-kachel .beleg-kachel-text { margin: 0; max-width: 24em; font-size: var(--fs-klein); line-height: var(--lh-klein); color: var(--tinte); }
.beleg-kachel.ohne-zahl .beleg-kachel-text { font-size: var(--fs-body-l); line-height: var(--lh-body); }
.beleg-block > .bruecke { margin-top: clamp(1.75rem, 1.3rem + 1.4vw, 2.75rem); color: var(--tinte); }
.beleg-block > .quellen-eingebettet { margin-top: clamp(1.5rem, 1.2rem + 1vw, 2.25rem); }
.dunkel .beleg.beleg-kachel { border-top-color: var(--nacht-text-2); }
.dunkel .beleg-kachel .beleg-kachel-text, .dunkel .beleg-block > .bruecke { color: var(--nacht-text); }
@media (max-width: 900px) { .beleg-kacheln[data-anzahl="4"] { --n: 2; } }
@media (max-width: 734px) { .beleg-kacheln, .beleg-kacheln[data-anzahl] { --n: 1; gap: 1.75rem; } }
.abschluss-kacheln { padding: 0; }
.abschluss-kacheln-raster { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.abschluss-kacheln-raster[data-anzahl="1"] { grid-template-columns: minmax(0, 1fr); }
.abschluss-kachel {
  --innen: var(--rand);
  position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-content: space-between; gap: 1.25rem 1.5rem;
  min-height: clamp(10rem, 7rem + 6vw, 13.75rem); padding: clamp(1.5rem, 1rem + 1.6vw, 2.5rem) var(--innen);
  text-decoration: none; transition: background-color var(--dauer-ui) var(--kurve-ui), color var(--dauer-ui) var(--kurve-ui);
}
.abschluss-kachel:first-child { padding-left: max(var(--rand), calc((100vw - var(--w-max)) / 2 + var(--rand))); }
.abschluss-kachel:last-child { padding-right: max(var(--rand), calc((100vw - var(--w-max)) / 2 + var(--rand))); }
.abschluss-kachel-titel {
  grid-column: 1; grid-row: 1; font-size: clamp(2.25rem, 1.8rem + 1.6vw, 3rem); line-height: 1.1; letter-spacing: var(--ls-callout);
}
.abschluss-kachel-pfeil {
  grid-column: 2; grid-row: 1; align-self: start; display: grid; place-items: center;
  width: clamp(2.5rem, 2rem + 1.4vw, 3.25rem); height: clamp(2.5rem, 2rem + 1.4vw, 3.25rem);
  transition: transform var(--dauer-ui) var(--kurve-ui), background-color var(--dauer-ui) var(--kurve-ui);
}
.abschluss-kachel-pfeil .pfeil { width: 45%; height: 45%; }
.abschluss-kachel-text { grid-column: 1 / -1; grid-row: 2; align-self: end; max-width: 30em; font-size: var(--fs-klein); line-height: var(--lh-klein); }
.abschluss-kachel:hover .abschluss-kachel-pfeil { transform: translateX(0.333rem); }
.abschluss-kachel:hover .abschluss-kachel-titel { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.16em; }
.abschluss-kachel:focus-visible { outline: 2px solid currentColor; outline-offset: -6px; }
.abschluss-kachel-gelb { background: var(--gelb); color: #000; }
.abschluss-kachel-gelb .abschluss-kachel-pfeil { background: #000; color: var(--gelb); }
.abschluss-kachel-gelb:hover { background: var(--gelb-tief); }
.abschluss-kachel-dunkel { background: var(--nacht-2); color: var(--nacht-text); }
.abschluss-kachel-dunkel .abschluss-kachel-pfeil { background: var(--gelb); color: #000; }
.abschluss-kachel-dunkel .abschluss-kachel-text { color: var(--nacht-text-2); }
.abschluss-kachel-dunkel:hover { background: #2A2D31; }
.abschluss-kachel-dunkel:focus-visible { outline-color: var(--gelb); }
.abschluss-kachel-hell { background: var(--flaeche); color: var(--tinte); }
.abschluss-kachel-hell .abschluss-kachel-pfeil { background: var(--tinte); color: var(--gelb); }
.abschluss-kachel-hell:hover { background: #E4E4E4; }
@media (max-width: 734px) {
  .abschluss-kacheln-raster { grid-template-columns: minmax(0, 1fr); }
  .abschluss-kachel, .abschluss-kachel:first-child, .abschluss-kachel:last-child { min-height: 8.5rem; padding-inline: var(--rand); }
}
.doppel-raster { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 0 var(--spalten-luecke); align-items: stretch; }
.doppel-bild { grid-column: 1 / span 7; min-width: 0; }
.doppel-bild > .medium, .doppel-bild > figure { height: 100%; margin: 0; }
.doppel-karte {
  grid-column: 8 / span 5; min-width: 0; display: flex; flex-direction: column; justify-content: space-between; gap: 1.5rem;
  padding: clamp(1.5rem, 1rem + 2vw, 3rem); background: var(--weiss); color: var(--tinte);
}
.doppel-ohne-bild .doppel-karte { grid-column: 1 / -1; }
@media (min-width: 901px) {
  .doppel-ohne-bild .doppel-karte {
    display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 0 var(--spalten-luecke); align-items: start;
  }
  .doppel-ohne-bild .doppel-oben { display: contents; }
  .doppel-ohne-bild .doppel-titel, .doppel-ohne-bild .doppel-lead { grid-column: 1 / span 6; }
  .doppel-ohne-bild .doppel-text { grid-column: 8 / span 5; grid-row: 1 / span 2; margin-top: 0; }
  .doppel-ohne-bild .doppel-karte > .knoepfe { grid-column: 8 / span 5; margin-top: 1.75rem; }
}
.doppel-titel { max-width: 14em; }
.doppel-lead { margin: var(--luft-lead-karte) 0 0; max-width: 18em; font-size: var(--fs-h3); line-height: var(--lh-h3); letter-spacing: var(--ls-h3); color: var(--tinte); }
.doppel-text { margin-top: clamp(1rem, 0.8rem + 0.6vw, 1.5rem); }
.doppel-text p { margin: 0 0 0.75em; max-width: 32em; font-size: var(--fs-body); line-height: var(--lh-body); color: var(--tinte); }
.doppel-text p:last-child { margin-bottom: 0; }
.doppel-karte .knoepfe { margin-top: 0; }
.dunkel .doppel-karte { background: var(--nacht-2); color: var(--nacht-text); }
.dunkel .doppel-text p { color: var(--nacht-text-2); }
.dunkel .doppel-lead { color: var(--nacht-text); }
@media (max-width: 900px) {
  .doppel-bild, .doppel-karte, .doppel-ohne-bild .doppel-karte { grid-column: 1 / -1; }
  .doppel-karte { margin-top: 0; }
}
.kopfzeile.kopfzeile-nur-nr { margin-bottom: clamp(1.25rem, 0.95rem + 0.9vw, 2rem); }
.zwei > .kopfzeile.kopfzeile-nur-nr { margin-bottom: clamp(1.25rem, 0.95rem + 0.9vw, 2rem); }
.abschnitt-lead, .titel-block .abschnitt-lead {
  margin: var(--luft-lead) 0 0; max-width: 24em; color: var(--tinte); text-wrap: pretty;
}
.dunkel .abschnitt-lead, .dunkel .titel-block .abschnitt-lead { color: var(--nacht-text); }
.flaeche .abschnitt-lead { color: var(--tinte); }
.start-etikett { margin: 0; max-width: 16em; }
.start-branchen .start-etikett + .branchen-index,
.start-branchen .abschnitt-lead + .branchen-index { margin-top: clamp(1.5rem, 1rem + 1.6vw, 2.75rem); }
.start-daten .start-etikett + .beleg-block { margin-top: clamp(1.75rem, 1.2rem + 1.8vw, 3rem); }
.start-daten .beleg-block > .bruecke { max-width: 34em; font-size: var(--fs-body-l); line-height: var(--lh-body); }
.start-prozess .doppel-karte { gap: clamp(1.5rem, 1.2rem + 1vw, 2.5rem); }
.start-prozess .doppel-lead { font-size: var(--fs-lead); line-height: var(--lh-lead); letter-spacing: var(--ls-lead); }
@media (min-width: 901px) { .start-prozess.doppel-ohne-bild .doppel-karte { gap: 0 var(--spalten-luecke); } }
.kennzahl-chip, .ab-rollen .mono, .ab-rolle-produkt { font-variant-numeric: normal; }
.gewinn-kacheln.fakten {
  --n: 4;
  display: grid; grid-template-columns: repeat(var(--n), minmax(0, 1fr));
  column-gap: var(--spalten-luecke); row-gap: clamp(3rem, 2.4rem + 2.2vw, 4.75rem);
}
.gewinn-kacheln[data-anzahl="1"] { --n: 1; }
.gewinn-kacheln[data-anzahl="2"] { --n: 2; }
.gewinn-kacheln[data-anzahl="3"], .gewinn-kacheln[data-anzahl="5"], .gewinn-kacheln[data-anzahl="6"] { --n: 3; }
.fakten.gewinn-kacheln > li.gewinn-kachel {
  position: relative; min-width: 0; margin: 0;
  display: grid; grid-template-rows: subgrid; grid-row: span 3; row-gap: 0; align-content: start;
  padding-top: clamp(1.1rem, 0.95rem + 0.5vw, 1.5rem);
}
@supports not (grid-template-rows: subgrid) {
  .fakten.gewinn-kacheln > li.gewinn-kachel { display: flex; flex-direction: column; }
}
.fakten.gewinn-kacheln > li.gewinn-kachel::before { background: var(--linie-stark); }   
.gewinn-knoten {
  position: absolute; left: 0; top: calc(0.5px - 0.3125rem); width: 0.625rem; height: 0.625rem;
  background: var(--gelb); box-shadow: var(--marke-kante);
}
.js .linie-wartet > .gewinn-knoten { opacity: 0; }
.linie-an > .gewinn-knoten { animation: einschalten 320ms steps(1, end) 380ms backwards; }
.gewinn-kopf { display: flex; align-items: flex-start; justify-content: space-between; gap: 0.75rem 1rem; min-height: 2rem; }
.gewinn-nr { font-size: var(--fs-klein); line-height: 1.25; color: var(--text-2); font-variant-numeric: tabular-nums; }
.gewinn-kopf .br-ansicht-schild { margin: 0 auto 0 0; }
.gewinn-zeichen { display: block; flex: none; width: 4rem; height: 2rem; overflow: visible; color: var(--tinte); }
.gewinn-titelrahmen { margin-top: clamp(2rem, 1.3rem + 2.6vw, 4.25rem); }
.fakten .gewinn-titel {
  margin: 0; max-width: 12em;
  font-size: var(--fs-h3); line-height: var(--lh-h3); letter-spacing: var(--ls-h3); color: var(--tinte);
  text-wrap: balance; overflow-wrap: break-word;
}
:lang(de) .gewinn-titel { hyphens: manual; -webkit-hyphens: manual; }   
.fakten .gewinn-zeile {
  margin: clamp(0.9rem, 0.75rem + 0.6vw, 1.4rem) 0 0; max-width: 22em;
  font-size: var(--fs-body); line-height: var(--lh-body); color: var(--tinte); text-wrap: pretty;
}
.gewinn-unten { margin-top: clamp(3.25rem, 2.4rem + 3.4vw, 5.5rem); max-width: 46rem; }
.gewinn-unten > .beleg { margin-top: 0; }
.gewinn-unten > .bruecke { margin: 1rem 0 0; font-size: var(--fs-klein); line-height: var(--lh-klein); color: var(--tinte); }
.gewinn-zeichen :is(.gz-grund, .gz-vorher, .gz-kurve, .gz-ziel) { fill: none; stroke: currentColor; stroke-width: 1; }
.gewinn-zeichen .gz-grund { stroke: var(--linie); }
.gewinn-zeichen .gz-vorher { stroke: var(--text-2); stroke-dasharray: 2 3; }
.gewinn-zeichen .gz-kurve { stroke-width: 1.5; stroke-linejoin: round; stroke-linecap: round; }
.gewinn-zeichen .gz-ende, .gewinn-zeichen .gz-wert { fill: currentColor; }
.gewinn-zeichen .gz-balken { fill: var(--text-2); transform-box: fill-box; transform-origin: 50% 100%; }
.gewinn-zeichen .gz-spanne { fill: var(--flaeche); }
.gewinn-zeichen .gz-wert { transform-box: fill-box; transform-origin: 0 50%; }
.gewinn-zeichen .gz-ziel { stroke-width: 1.5; }
.js .zeichnen-wartet .gz-kurve { clip-path: inset(0 100% 0 0); }
.zeichnen-an .gz-kurve { clip-path: inset(0 0 0 0); transition: clip-path 900ms var(--kurve) 250ms; }
.js .zeichnen-wartet .gz-balken { transform: scaleY(0); }
.zeichnen-an .gz-balken { transform: scaleY(1); transition: transform 600ms var(--kurve) calc(200ms + var(--i, 0) * 70ms); }
.js .zeichnen-wartet .gz-wert { transform: scaleX(0); }
.zeichnen-an .gz-wert { transform: scaleX(1); transition: transform 800ms var(--kurve-weich) 250ms; }
.js .zeichnen-wartet :is(.gz-ende, .gz-ziel) { opacity: 0; }
.zeichnen-an :is(.gz-ende, .gz-ziel) { animation: einschalten 320ms steps(1, end) 1000ms backwards; }
.gewinn-titelrahmen { container: gewinn / inline-size; min-width: 0; }
@container gewinn (min-width: 27rem) {
  .fakten .gewinn-titel { font-size: var(--fs-h2); line-height: var(--lh-h1); letter-spacing: var(--ls-h2); max-width: 11em; }
}
@media (max-width: 600px) {
  @container gewinn (min-width: 17rem) {
    .fakten .gewinn-titel { font-size: var(--fs-h2); line-height: var(--lh-h1); letter-spacing: var(--ls-h2); }
  }
}
@media (min-width: 735px) {
  .gewinn-kacheln[data-anzahl="4"] { --n: 2; }
}
@media (max-width: 900px) {
  .gewinn-kacheln:is([data-anzahl="3"], [data-anzahl="5"], [data-anzahl="6"]) { --n: 1; row-gap: clamp(2.25rem, 1.8rem + 1.6vw, 3rem); }
}
@media (max-width: 734px) {
  .gewinn-kacheln.fakten, .gewinn-kacheln.fakten[data-anzahl] { --n: 1; row-gap: clamp(2.25rem, 1.8rem + 1.6vw, 3rem); }
}
@media (min-width: 601px) and (max-width: 734px) {
  .fakten.gewinn-kacheln > li.gewinn-kachel {
    display: grid; grid-row: auto; grid-template-rows: none; grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: var(--spalten-luecke); align-items: start;
  }
  .gewinn-kacheln .gewinn-kopf { grid-column: 1 / -1; }
  .fakten.gewinn-kacheln .gewinn-titelrahmen { grid-column: 1 / span 6; margin-top: 1.25rem; }
  .fakten.gewinn-kacheln .gewinn-zeile { grid-column: 7 / span 6; margin-top: 1.25rem; padding-top: 0.25em; }
}
@media (min-width: 735px) and (max-width: 900px) {
  .fakten.gewinn-kacheln:is([data-anzahl="3"], [data-anzahl="5"], [data-anzahl="6"]) > li.gewinn-kachel {
    display: grid; grid-row: auto; grid-template-rows: none; grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: var(--spalten-luecke); align-items: start;
  }
  .gewinn-kacheln:is([data-anzahl="3"], [data-anzahl="5"], [data-anzahl="6"]) .gewinn-kopf { grid-column: 1 / -1; }
  .fakten.gewinn-kacheln:is([data-anzahl="3"], [data-anzahl="5"], [data-anzahl="6"]) .gewinn-titelrahmen { grid-column: 1 / span 6; margin-top: 1.25rem; }
  .fakten.gewinn-kacheln:is([data-anzahl="3"], [data-anzahl="5"], [data-anzahl="6"]) .gewinn-zeile { grid-column: 7 / span 6; margin-top: 1.25rem; padding-top: 0.25em; }
}
@media (max-width: 600px) {
  .fakten.gewinn-kacheln > li.gewinn-kachel { display: flex; flex-direction: column; grid-row: auto; }
  .gewinn-titelrahmen { margin-top: 1.25rem; }
  .fakten .gewinn-titel { max-width: 14em; }
  .fakten .gewinn-zeile { margin-top: 0.75rem; }
}
@media (forced-colors: active) {
  .gewinn-knoten { border: 1px solid CanvasText; box-shadow: none; }
  .gewinn-zeichen .gz-balken, .gewinn-zeichen .gz-spanne { fill: GrayText; }
}


@font-face {
  font-family: "Public Sans Variable";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../fonts/public-sans-latin-wght-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Public Sans Variable";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../fonts/public-sans-latin-ext-wght-normal.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Public Sans Variable";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../fonts/geist-mono-latin-wght-normal.woff2") format("woff2");
  unicode-range: U+2191, U+2193;
}
@font-face {
  font-family: "Public Sans Fallback";
  src: local("Arial"), local("ArialMT");
  size-adjust: 104%; ascent-override: 91.35%; descent-override: 21.63%; line-gap-override: 0%;
}
:root {
  --schrift-hanken: "Hanken Grotesk Variable", "Grotesk Fallback";   
  --schrift-public: "Public Sans Variable", "Public Sans Fallback";
  --schrift-haus: var(--schrift-public);   
  --sans: var(--schrift-haus), ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --display: var(--sans);
  --fs-display: clamp(1.875rem, 0.593rem + 6.286vw, 6.25rem);  
  --fs-h1:      clamp(2.125rem, 1.243rem + 3.619vw, 4.5rem);   
  --fs-index:   clamp(3.25rem,  2.6rem   + 2.667vw, 5rem);     
  --fs-callout: clamp(1.5rem,   0.479rem + 4.19vw,  4.25rem);  
  --fs-h2:      clamp(2rem,     1.582rem + 1.714vw, 3.125rem); 
  --fs-h3:      clamp(1.375rem, 1.096rem + 1.143vw, 2.125rem); 
  --fs-lead:    clamp(1.25rem,  0.925rem + 1.333vw, 2.125rem); 
  --fs-body-l:  clamp(1.125rem, 1.079rem + 0.19vw,  1.25rem);  
  --fs-body:    1.125rem;   
  --fs-klein:   1rem;       
  --fs-fein:    0.8125rem;  
  --fs-mikro:   0.6875rem;  
  --fs-knopf-klein: 0.75rem;
  --lh-display: 1.15;  --lh-index: 1;  --lh-h1: 1.1;  --lh-h2: 1.05;  --lh-callout: 1.2;
  --lh-h3: 1.18;  --lh-lead: 1.3;  --lh-body: 1.39;  --lh-klein: 1.43;  --lh-mikro: 1.5;
  --ls-display: -0.02em;  --ls-index: -0.035em;  --ls-callout: -0.02em;  --ls-h1: -0.02em;
  --ls-h2: -0.02em;  --ls-h3: -0.01em;  --ls-lead: 0;  --ls-body: 0;
  --ls-mikro: 0.05em;  --ls-knopf-klein: -0.02em;
  --luft-lead: clamp(3.75rem, 2.821rem + 3.81vw, 6.25rem);
  --luft-lead-karte: clamp(1.875rem, 1.411rem + 1.905vw, 3.125rem);
  --fw-regular: 400;
  --fw-strong: 600;    
}
@media (min-width: 60em) {
  :root {
    --ls-display: -0.03em;  --ls-index: -0.04em;  --ls-callout: -0.035em;  --ls-h1: -0.025em;
    --ls-lead: -0.01em;  --lh-lead: 1.18;
  }
}
body {
  font-size: var(--fs-body); line-height: var(--lh-body); font-weight: var(--fw-regular);
  font-variant-numeric: normal; font-feature-settings: normal;   
}
strong, b { font-weight: var(--fw-strong); }
h1, h2, h3, h4 { font-weight: var(--fw-regular); }
.mono, .index-nr, table, .zahl, [data-konsole], .daten, .konsole-platzhalter, .fussnoten, .quellen-nr,
.menue-nr, .kopfzeile .index-nr { font-variant-numeric: tabular-nums; }
:lang(de) :is(h1, h2) { hyphens: manual; -webkit-hyphens: manual; overflow-wrap: break-word; }   
.marke { font-weight: var(--fw-regular); }   
.display { font-size: var(--fs-display); line-height: var(--lh-display); letter-spacing: var(--ls-display); }
.h1 { font-size: var(--fs-h1); line-height: var(--lh-h1); letter-spacing: var(--ls-h1); }
.h2 { font-size: var(--fs-h2); line-height: var(--lh-h2); letter-spacing: var(--ls-h2); }
.h3 { font-size: var(--fs-h3); line-height: var(--lh-h3); letter-spacing: var(--ls-h3); }
.statement { font-size: var(--fs-callout); line-height: var(--lh-callout); letter-spacing: var(--ls-callout); }
.einleitung { font-size: var(--fs-lead); line-height: var(--lh-lead); letter-spacing: var(--ls-lead); }
.klein { font-size: var(--fs-klein); line-height: var(--lh-klein); }
.fakten p, .schritt p { line-height: var(--lh-klein); }
.index-titel { font-size: var(--fs-index); line-height: var(--lh-index); letter-spacing: var(--ls-index); }
.index-text { font-size: var(--fs-body-l); line-height: var(--lh-lead); }
.index-nr, .schritt .nummer { font-size: var(--fs-klein); }
.einleitung, .fliesstext p, .fakten p, .frage p, .liste li, .recht-text { color: var(--tinte); }
:is(.zwei, .br-heute-raster) .fliesstext p { font-size: var(--fs-klein); line-height: var(--lh-klein); max-width: 36em; }
.mikro, .etikett, .kopfzeile, .fuss h2, .medium-unterschrift, .index-meta, .weitere .mono {
  font-family: var(--sans); font-size: var(--fs-mikro); font-weight: var(--fw-regular);
  line-height: var(--lh-mikro); letter-spacing: var(--ls-mikro); text-transform: uppercase;
}
.mono { font-family: var(--sans); }
:is([data-konsole], .daten, .konsole-platzhalter, .br-log, .br-protokoll, .medium-briefing, .medium-marke, .entwurf) .mono,
.mono:is(.br-protokoll) { font-family: var(--mono); }
.knopf, .knopf-klein, .pfeil-link { font-size: var(--fs-klein); }
.sprachwahl, .menue-knopf, .menue-voll .menue-zu, .menue-ersatz {
  font-family: var(--sans); font-size: var(--fs-knopf-klein); letter-spacing: var(--ls-knopf-klein); line-height: 1;
  text-transform: uppercase; border-radius: 4px;
}
.buehne { text-align: center; }
.buehne .display { font-size: var(--fs-display); max-width: 12em; margin-inline: auto; }
.buehne .unterzeile, .buehne .einleitung {
  max-width: 34em; margin-inline: auto;
  font-size: var(--fs-body-l); line-height: var(--lh-body); letter-spacing: var(--ls-body);
}
.seitenkopf, .seitenkopf .rahmen, .seitenkopf .mittig, .seitenkopf .mittig-etikett { text-align: left; }
.seitenkopf > .rahmen-schmal.mittig { max-width: var(--w-max); }
.seitenkopf .mittig .h1 { max-width: 16em; }
.seitenkopf .mittig .einleitung { margin-inline: 0; }
.seitenkopf .mittig .knoepfe { justify-content: flex-start; }
.seitenkopf .einleitung, .seitenkopf-branche .seitenkopf-unten .einleitung {
  max-width: 34em; font-size: var(--fs-body-l); line-height: var(--lh-body); letter-spacing: var(--ls-body);
}
:lang(de) .recht-kopf .h1 { font-size: min(var(--fs-h1), 8.6vw); }
.seitenkopf:not(.recht-kopf) .h1 { font-size: var(--fs-display); line-height: var(--lh-display); letter-spacing: var(--ls-display); }
.abschluss .einleitung { font-size: var(--fs-body-l); line-height: var(--lh-body); letter-spacing: var(--ls-body); }
.fuss { font-size: var(--fs-klein); line-height: var(--lh-klein); }
.fuss h2 { color: var(--text-2); }
.fuss-unten { font-size: var(--fs-fein); line-height: var(--lh-klein); }
.weitere strong { font-size: var(--fs-body-l); line-height: var(--lh-h3); letter-spacing: 0; }
.band-teil { letter-spacing: 0.01em; }


:root { --uebergang-grau: #000000; }   
.uebergang { position: fixed; inset: 0; z-index: 400; pointer-events: none; overflow: hidden; visibility: hidden; contain: strict; }
.uebergang.zeigt { visibility: visible; }
.uebergang-flaeche {
  position: absolute; left: 0; top: -50vh; width: 200vw; height: 200vh; min-height: 55rem;
  background: var(--uebergang-grau);
  transform-origin: 50% -150%;
  transform: translateX(-110%) rotate(28deg);   
}
.uebergang.deckt .uebergang-flaeche { transform: translateX(-50%) rotate(0deg); }   
.uebergang-zeichen {
  position: absolute; left: 50%; top: 50%; width: 3.2rem; height: 3.2rem; margin: -1.6rem 0 0 -1.6rem;   
  background: #FFFFFF; opacity: 0;
  clip-path: polygon(9.69% 83.59%, 52.69% 83.59%, 90.31% 16.41%);   
}
html.uebergang-kommt body::before {
  content: ""; position: fixed; inset: 0; z-index: 400; pointer-events: none; background: var(--uebergang-grau);
  animation: uebergang-notaus 0.3s ease 1.2s forwards;
}
@keyframes uebergang-notaus { to { opacity: 0; visibility: hidden; } }
@media (prefers-reduced-motion: reduce) { .uebergang, html.uebergang-kommt body::before { display: none; } }
@media print { .uebergang, html.uebergang-kommt body::before { display: none; } }


.sprachwahl {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 2.5rem; min-width: 2.5rem; padding: 0 0.6rem;
  border: 1px solid currentColor; color: inherit; text-decoration: none;
  transition: background-color var(--dauer-ui) var(--kurve-ui), color var(--dauer-ui) var(--kurve-ui);
}
.kopf-rechts .knopf, .kopf-rechts .sprachwahl { white-space: nowrap; flex: none; }   
.sprachwahl:hover { background: var(--tinte); color: #fff; }
.kopf-dunkel .sprachwahl:hover { background: #fff; color: var(--tinte); }
.menue .menue-sprache { display: flex; flex-wrap: wrap; gap: 0 1.75rem; margin-top: 1.75rem; border-top: 0; }
.menue .menue-sprache li { border-bottom: 0; }
.menue .menue-sprache a, .menue .menue-sprache span {
  display: inline-flex; align-items: center; min-height: 2.75rem; padding: 0;
  font-family: var(--sans); font-size: var(--fs-mikro); letter-spacing: var(--ls-mikro); text-transform: uppercase; line-height: 1;
}
.menue .menue-sprache a { color: var(--nacht-text-2); text-decoration: none; text-decoration-thickness: 1px; text-underline-offset: 0.3em; }
.menue .menue-sprache a:hover, .menue .menue-sprache a:focus-visible { color: var(--nacht-text); text-decoration: underline; }
.menue .menue-sprache [aria-current] { color: var(--nacht-text); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.3em; }
@media (min-width: 901px) and (max-width: 1199px) {
  .fuss-marke { grid-column: 1 / -1; }
  .fuss-raster > div:not(.fuss-marke), .fuss-raster > div:nth-child(2) { grid-column: span 4; }
}
@media (max-width: 900px) { .fuss-raster { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.fuss-sprache { display: flex; list-style: none; margin: 0; padding: 0; }
.fuss .fuss-sprache li + li { margin-top: 0; }
.fuss-sprache li + li::before { content: "·"; margin: 0 0.5em; color: var(--text-2); }
.fuss-sprache [aria-current] { color: var(--tinte); }
@media (max-width: 734px) { .fuss .fuss-sprache li a { padding-block: 0; } }
.beleg { margin-top: 1.25rem; padding-top: 0.75rem; border-top: 1px solid var(--linie); font-size: var(--fs-klein); }
.dunkel .beleg { border-color: var(--nacht-linie); }
.beleg-satz { margin: 0; }
.beleg-etikett, .beleg-quelle > span:first-child, .protokoll > span:first-child {
  font-family: var(--sans); font-size: var(--fs-mikro); letter-spacing: var(--ls-mikro); text-transform: uppercase; color: var(--text-2); margin-right: 0.35em;
}
.beleg-quelle { margin: 0.35rem 0 0; font-size: var(--fs-fein); color: var(--text-2); }
.beleg-nr { font-family: var(--sans); font-variant-numeric: tabular-nums; font-size: 0.75em; color: var(--text-2); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.2em; margin-left: 0.15em; white-space: nowrap; }
.beleg-nr:hover { color: var(--tinte); }
.bruecke { margin: 2.25rem 0 0; max-width: var(--w-text); color: var(--text-2); }
.kennzahl-chip { display: inline-flex; margin: 0.9rem 0 0; padding: 0.3rem 0.5rem; border: 1px solid var(--linie-stark); font-size: 0.75rem; letter-spacing: 0.04em; }
.quellen-liste { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.6rem; max-width: 60rem; font-size: var(--fs-fein); color: var(--text-2); }
.quellen-liste li { display: grid; grid-template-columns: 2.75rem minmax(0, 1fr); }
.quellen-ende { margin: 1.5rem 0 0; max-width: 60rem; font-size: var(--fs-fein); color: var(--text-2); }
.protokoll { margin: 1.75rem 0 0; padding: 0.8rem 0.9rem; border: 1px solid var(--linie-stark); font-size: 0.75rem; letter-spacing: 0.05em; text-transform: uppercase; line-height: 1.5; }
.kennzahl-liste { list-style: none; margin: 2rem 0 0; padding: 0; border-top: 1px solid var(--linie-stark); }
.kennzahl-liste li { display: grid; grid-template-columns: minmax(0, 20rem) minmax(0, 1fr); gap: 0.4rem var(--spalten-luecke); padding: 0.85rem 0; border-bottom: 1px solid var(--linie); }
.kennzahl-liste .mono { font-size: 0.8125rem; letter-spacing: 0.03em; }
@media (max-width: 600px) { .kennzahl-liste li { grid-template-columns: 1fr; } }
.luecke-text { background: var(--flaeche); border-left: 2px solid currentColor; padding: 0 0.35em; font-family: var(--mono); font-size: 0.8em; letter-spacing: 0; }
.dunkel .luecke-text, .buehne .luecke-text, .gelb .luecke-text { background: rgba(127, 127, 127, 0.16); }
.unterzeile { margin: 1.25rem auto 0; max-width: 30em; font-size: clamp(1.125rem, 0.95rem + 0.75vw, 1.5rem); line-height: 1.3; }
.feed-buehne { position: relative; max-width: 46rem; margin: clamp(2.5rem, 1.5rem + 3vw, 4rem) auto 0; text-align: left; }
.konsole-rahmen { margin-top: var(--luft-titel); }
.konsole-titel { margin: 0 0 1rem; font-size: 0.6875rem; letter-spacing: 0.09em; color: var(--nacht-text-2); }
.konsole-legende { list-style: none; margin: 1rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.4rem 1.25rem;
  font-family: var(--mono); font-size: 0.6875rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--nacht-text-2); }
.konsole-hinweise { list-style: none; margin: 1rem 0 0; padding: 0; display: grid; gap: 0.5rem; font-size: 0.875rem; }
.konsole-unterschrift { margin-top: 1rem; }
.konsole-platzhalter { position: relative; min-height: 16rem; margin: 0; background: var(--nacht-2); box-shadow: inset 0 0 0 1px var(--nacht-linie); }
.konsole-platzhalter .medium-marke { color: var(--nacht-text-2); }
:not(.dunkel) > .rahmen > .konsole-platzhalter, .flaeche .konsole-platzhalter, .abschnitt:not(.dunkel) .konsole-platzhalter { background: var(--flaeche-2); box-shadow: inset 0 0 0 1px var(--linie); }
.ansicht { margin-top: 1.5rem; }
.ansicht > .mono { font-size: var(--fs-mikro); letter-spacing: var(--ls-mikro); text-transform: uppercase; color: var(--text-2); margin-bottom: 0.5rem; }
.andere-sprache, .recht-verbindlich { margin-top: 1.25rem; }
.entwurf-hinweis { display: block; margin-top: 0.5rem; font-size: 0.875rem; color: var(--text-2); }
.kopf-schlicht .kopf-rechts { grid-column: 3; }
.ruhe .einblenden { transition: none !important; }
.ruhe .flackern-an { animation: none; }
.ruhe .linie-an::before, .ruhe .linie-an > li::after { transition: none; }
.ruhe .tippen-an .tippen-zeichen { transition: none; opacity: 1; }
.ruhe .menue, .ruhe .menue * { transition: none !important; }
.ruhe .zeichnen-an .daten-flaeche::before,
.ruhe .zeichnen-an :is(.etappe, .feld-raster > i, .halt, .verlauf-band, .verlauf-lot, .verlauf-spitze, .empfehlung, .verlauf-schnitt,
  .verlauf-prognose, .spark, .balken-fuellung, .bedarf-feld i, .ladung i, .ladung-vorschlag, .datensatz > div, .globus-svg .g-strecken) {
  transition: none; animation: none;
}
.ruhe .bestellung.rein { animation: none; }
html { scroll-padding-bottom: 1.5rem; }
.zwei > .kopfzeile { margin-bottom: var(--luft-titel); }
.abschluss .einleitung { text-wrap: balance; }
.menue-ersatz {
  display: none; align-items: center; min-height: 2.5rem; padding: 0 0.75rem; margin-right: -0.25rem;
  border: 1px solid currentColor; color: inherit; text-decoration: none;
}
@media (scripting: none) {
  .menue-knopf { display: none !important; }
  .kopf-ohne-nav .menue-ersatz { display: inline-flex; }   
}
.kopf-ohne-nav .kopf-innen { display: flex; justify-content: space-between; gap: 1rem; }
.kopf-ohne-nav .menue-knopf { display: inline-flex; }
.menue-voll { padding: 0; overscroll-behavior: contain; }
.menue-voll .menue-kopf {
  position: sticky; top: 0; z-index: 1; flex: none; box-sizing: content-box;
  height: var(--kopf-h); padding: var(--kopf-oben) calc(0.625rem + 1rem) 0;   
  background: var(--nacht-2);
}
.menue-voll .menue-zu {
  width: auto; height: auto; min-height: 2.5rem; margin-right: -0.25rem; padding: 0 0.75rem;
  display: inline-flex; align-items: center; gap: 0.6rem;
  border: 1px solid currentColor; color: var(--nacht-text);
  transition: background-color var(--dauer-ui) var(--kurve-ui), color var(--dauer-ui) var(--kurve-ui);
}
.menue-voll .menue-zu:hover { background: #fff; color: var(--tinte); }
.menue-voll .menue-zu svg { width: 0.8125rem; height: 0.8125rem; }
.menue-voll .menue-innen {
  flex: 1 0 auto; width: 100%; max-width: var(--w-max); margin-inline: auto;
  display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); grid-template-rows: auto 1fr; column-gap: var(--spalten-luecke);
  padding: clamp(1.75rem, 1rem + 2.6vw, 4rem) var(--rand) clamp(1.5rem, 1rem + 1.5vw, 2.5rem);
}
.menue-voll .menue-nav {
  grid-column: 1 / -1; margin: 0;
  display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--spalten-luecke); row-gap: 2.75rem; align-items: start;
}
.menue-voll .menue-gruppe-branchen { grid-column: 1 / span 7; }
.menue-voll .menue-gruppe-mehr { grid-column: 9 / span 4; }
.menue-voll .menue-titel {
  margin: 0 0 0.9rem; font-size: var(--fs-mikro); letter-spacing: var(--ls-mikro); text-transform: uppercase; line-height: var(--lh-mikro);
  color: var(--nacht-text-2);
}
.menue-voll .menue-liste { border-top: 1px solid rgba(255, 255, 255, 0.25); }
.menue-voll .menue-liste a {
  display: grid; grid-template-columns: 3rem minmax(0, 1fr) auto; align-items: baseline; column-gap: 1rem;
  font-size: var(--fs-h2); line-height: var(--lh-h2); letter-spacing: var(--ls-h2);   
  padding-block: 0.6rem 0.7rem;
}
.menue-voll .menue-liste a .menue-nr {
  font-family: var(--sans); font-size: var(--fs-mikro); letter-spacing: var(--ls-mikro); line-height: var(--lh-mikro); color: var(--nacht-text-2); min-width: 0;
  align-self: start; padding-top: 0.6em;
}
.menue-voll .menue-liste a .menue-produkt {
  font-family: var(--sans); font-size: var(--fs-klein); letter-spacing: 0; line-height: 1.3;   
  color: var(--nacht-text-2); white-space: nowrap;
}
.menue-voll .menue-liste-mehr a { grid-template-columns: minmax(0, 1fr); font-size: var(--fs-h3); line-height: var(--lh-h3); letter-spacing: var(--ls-h3); padding-block: 0.6rem 0.7rem; }
.menue-voll .menue-liste a[aria-current="page"] { text-decoration: none; }
.menue-voll .menue-liste a[aria-current="page"] .menue-name { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.14em; }
@media (hover: hover) {
  .menue-voll .menue-liste:hover a { color: var(--nacht-text-2); }
  .menue-voll .menue-liste a:hover, .menue-voll .menue-liste a:focus-visible { color: var(--nacht-text); }
}
.menue-voll .menue-fuss {
  grid-column: 1 / -1; align-self: end;
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem 2rem;
  margin-top: clamp(2.25rem, 1rem + 3vw, 4rem); padding-top: 1rem; border-top: 1px solid rgba(255, 255, 255, 0.25);
}
.menue-voll .menue-fuss .menue-sprache { margin-top: 0; border-top: 0; }
.menue-voll .menue-fuss .knopf { margin: 0; }
.js .menue-voll .menue-titel, .js .menue-voll .menue-fuss .knopf { opacity: 0; transform: translateY(20%); }
.js .menue-voll.offen .menue-titel, .js .menue-voll.offen .menue-fuss .knopf {
  opacity: 1; transform: none; transition: opacity 500ms var(--kurve), transform 500ms var(--kurve);
}
.js .menue-voll.offen :is(.menue-titel, li, .menue-fuss .knopf) { transition-delay: calc(var(--i, 0) * 40ms + 60ms); }
@media (min-width: 961px) and (max-width: 1319px) {
  .menue-voll .menue-gruppe-branchen .menue-liste a { grid-template-columns: 3rem minmax(0, 1fr); }
  .menue-voll .menue-gruppe-branchen .menue-produkt { grid-column: 2; margin-top: 0.2rem; }
}
@media (max-width: 960px) {
  .menue-voll .menue-kopf { padding-inline: 1rem; }
  .menue-voll .menue-gruppe-branchen, .menue-voll .menue-gruppe-mehr { grid-column: 1 / -1; }
  .menue-voll .menue-nav { row-gap: 2.25rem; }
  .menue-voll .menue-fuss { border-top: 0; padding-top: 0; }   
}
@media (max-width: 734px) {
  .menue-voll .menue-gruppe-branchen .menue-liste a { grid-template-columns: 2.25rem minmax(0, 1fr) auto; }
  .menue-voll .menue-liste a { column-gap: 0.5rem; font-size: clamp(1.75rem, 1.2rem + 2.4vw, 2.25rem); padding-block: 0.6rem 0.7rem; }
  .menue-voll .menue-liste-mehr a { grid-template-columns: minmax(0, 1fr); font-size: var(--fs-h3); }
}
@media (max-width: 560px) {
  .menue-voll .menue-gruppe-branchen .menue-liste a { grid-template-columns: 2.25rem minmax(0, 1fr); }
  .menue-voll .menue-liste a .menue-produkt { grid-column: 2; margin-top: 0.3rem; font-size: 0.875rem; }
  .menue-voll .menue-fuss { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 734px) { .kopf-ohne-nav .kopf-rechts .knopf { display: inline-flex; } }
@media (max-width: 560px) {
  .kopf-ohne-nav .kopf-rechts { gap: 0.5rem; }
  .kopf-ohne-nav .menue-knopf .menue-wort {
    position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap;
  }
}
@media (max-width: 374px) { .kopf-ohne-nav .kopf-rechts .sprachwahl { display: none; } }
.menue-voll .menue-gruppe-mehr .menue-liste + .menue-titel { margin-top: 2.25rem; }
.medium-hinweis {
  position: absolute; z-index: 2; left: 0.75rem; bottom: 0.75rem; padding: 0.2rem 0.45rem;
  background: rgba(15, 16, 18, 0.72); color: #fff; font-size: 0.625rem; letter-spacing: 0.08em; text-transform: uppercase;
}
.fuss-ki { margin: 0.9rem 0 0; font-size: var(--fs-fein); color: var(--text-2); }
.beleg.beleg-kurz { margin-top: 1.25rem; padding: 0.1rem 0 0.1rem 0.75rem; border-top: 0; border-left: 1px solid var(--linie-stark); font-size: 0.875rem; line-height: 1.45; max-width: 38rem; }
.dunkel .beleg.beleg-kurz { border-left-color: var(--nacht-text-2); }
.beleg.beleg-kurz .beleg-satz > .beleg-etikett { display: inline; margin: 0 0.2em 0 0; font-size: var(--fs-mikro); letter-spacing: var(--ls-mikro); }
.fussnoten { font-size: 0.72em; line-height: 0; vertical-align: super; margin-left: 0.1em; white-space: nowrap; font-variant-numeric: tabular-nums; }
.fussnote { color: inherit; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.12em; padding-inline: 0.06em; }
.fussnote:hover { color: var(--text-2); }
.dunkel .fussnote:hover { color: var(--nacht-text); }
.fussnoten-trenner { margin-inline: 0.04em; }
.quellen.quellen-kompakt { padding-block: clamp(1.25rem, 1rem + 1vw, 2rem) clamp(1.75rem, 1.2rem + 1.5vw, 2.75rem); }
.quellen-details { border-top: 1px solid var(--linie-stark); }
.quellen-summary {
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  min-height: 2.75rem; padding: 0.55rem 0; cursor: pointer; list-style: none;
}
.quellen-summary::-webkit-details-marker { display: none; }
.quellen-summary::marker { content: ""; }
.quellen-titel { margin: 0; font-size: var(--fs-mikro); font-weight: 400; letter-spacing: var(--ls-mikro); text-transform: uppercase; line-height: var(--lh-mikro); text-wrap: nowrap; }
.quellen-summary:hover .quellen-titel { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.25em; }
.quellen-zeichen { position: relative; flex: none; width: 0.75rem; height: 0.75rem; }
.quellen-zeichen::before, .quellen-zeichen::after { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 1px; background: currentColor; }
.quellen-zeichen::after { transform: rotate(90deg); transition: transform var(--dauer-ui) var(--kurve-ui); }
.quellen-details[open] .quellen-zeichen::after { transform: rotate(0deg); }
.quellen-kompakt .quellen-inhalt { padding: 0.35rem 0 0.25rem; }
.quellen-kompakt .quellen-inhalt .quellen-einleitung { max-width: 60rem; margin: 0 0 0.9rem; font-size: var(--fs-fein); line-height: var(--lh-klein); color: var(--text-2); }
.quellen-kompakt .quellen-sichtbar { max-width: 60rem; margin: 0 0 0.9rem; font-size: var(--fs-fein); line-height: var(--lh-klein); color: var(--text-2); }
.start-quellen .quellen-kompakt .quellen-sichtbar, .quellen-kompakt.start-quellen .quellen-sichtbar { color: var(--text-2); }
.quellen-kompakt .quellen-liste { gap: 0.45rem; font-size: var(--fs-fein); line-height: var(--lh-klein); }
.quellen-kompakt .quellen-liste li { grid-template-columns: 1.75rem minmax(0, 1fr); scroll-margin-top: calc(var(--kopf-raum) + 1.5rem); }
.quellen-kompakt .quellen-liste li > span:last-child { overflow-wrap: anywhere; }
.quellen-kompakt .quellen-liste li:target { color: var(--tinte); }
.quellen-kompakt .quellen-ende { margin-top: 0.9rem; font-size: var(--fs-fein); }
@media print { .quellen-summary .quellen-zeichen { display: none; } }


.k-hinweise {
  list-style: none; margin: 1rem 0 0; padding: 0;
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 1.25rem;
  font-size: 0.8125rem; line-height: 1.35;
}
.k-hinweise > li {
  display: grid; grid-template-columns: minmax(6.5rem, 34%) minmax(0, 1fr); column-gap: 0.85rem; row-gap: 0.15rem;
  align-items: baseline; min-width: 0; padding: 0.6rem 0; border-top: 1px solid var(--nacht-linie, #34373B);
}
.k-hw-kennung {
  grid-column: 1; grid-row: 1 / span 2; display: inline-flex; align-items: baseline; gap: 0.5rem; min-width: 0;
  font-family: var(--mono); font-size: 0.6875rem; letter-spacing: 0.06em; text-transform: uppercase;
  color: var(--nacht-text, #F2F2F2); overflow-wrap: anywhere;
}
.k-hw-kennung::before {
  content: ""; flex: none; width: 0.45rem; height: 0.45rem; background: none;
  box-shadow: inset 0 0 0 1px var(--nacht-text-2, #A9ACB0);
  transform: translateY(-0.02rem);
}
.k-hw-befund { grid-column: 2; min-width: 0; color: var(--nacht-text-2, #A9ACB0); overflow-wrap: break-word; text-wrap: pretty; }
.k-hw-handlung {
  grid-column: 2; min-width: 0;
  font-family: var(--mono); font-size: 0.6875rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--nacht-text, #F2F2F2);
}
@container (max-width: 34rem) {
  .k-hinweise { grid-template-columns: minmax(0, 1fr); }
}
@container (max-width: 22rem) {
  .k-hinweise > li { grid-template-columns: minmax(0, 1fr); }
  .k-hw-kennung { grid-row: auto; }
  .k-hw-befund, .k-hw-handlung { grid-column: 1; }
}
.k-kennzahlen {
  list-style: none; margin: 1rem 0 0; padding: 0; display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.35rem 0;
  font-family: var(--mono); font-size: 0.625rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--nacht-text, #F2F2F2);
}
.k-kennzahlen > li { white-space: nowrap; }
.k-kennzahlen > li + li::before { content: "·"; content: "·" / ""; padding: 0 0.6rem; color: var(--nacht-text-2, #A9ACB0); }
@container (max-width: 34rem) {   
  .k-kennzahlen { flex-direction: column; align-items: flex-start; }
  .k-kennzahlen > li + li::before { content: none; }
  .k-kennzahlen > li { white-space: normal; }   
}


.konsole-ablauf {
  --kf-text: var(--nacht-text, #F2F2F2);
  --kf-text-2: var(--nacht-text-2, #A9ACB0);
  --kf-linie: var(--nacht-linie, #34373B);
  --kf-gelb: var(--gelb, #F7FF78);
  --kf-grund: var(--nacht, #0F1012);
  --kf-mono: var(--mono, "Geist Mono Variable", ui-monospace, monospace);
  position: relative; width: 100%; margin: 0; padding: 1.25rem; text-align: left;
  container-type: inline-size;
  background: var(--kf-grund); color: var(--kf-text);
  font-family: var(--sans, system-ui, sans-serif); font-size: 0.875rem; line-height: 1.4;
}
.dunkel .konsole-ablauf, .buehne .konsole-ablauf { --kf-grund: var(--nacht-2, #1E2124); box-shadow: inset 0 0 0 1px var(--kf-linie); }
.konsole-ablauf *, .konsole-ablauf *::before, .konsole-ablauf *::after { box-sizing: border-box; }
.konsole-ablauf :focus-visible { outline: 2px solid var(--kf-gelb); outline-offset: 2px; }
.konsole-ablauf ol, .konsole-ablauf ul { list-style: none; margin: 0; padding: 0; }
.konsole-ablauf p { margin: 0; }
.konsole-ablauf .kf-titel, .konsole-ablauf .kf-pause, .konsole-ablauf .kf-nr, .konsole-ablauf .kf-label, .konsole-ablauf .kf-detail,
.konsole-ablauf .kf-stand, .konsole-ablauf .kf-legende {
  font-family: var(--kf-mono); font-size: 0.625rem; letter-spacing: 0.08em; text-transform: uppercase;
}
.konsole-ablauf .kf-kopfzeile { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 0.5rem 1rem; min-height: 1.75rem; margin-bottom: 1rem; }
.konsole-ablauf .kf-titel { font-size: 0.6875rem; letter-spacing: 0.09em; color: var(--kf-text-2); }
.konsole-ablauf .kf-pause {
  min-height: 1.75rem; min-width: 13ch; padding: 0 0.6rem; margin: 0 0 0 auto; background: none; border-radius: 0; cursor: pointer;
  border: 1px solid var(--kf-linie); color: var(--kf-text-2); font-size: 0.6875rem; letter-spacing: 0.09em;
}
.konsole-ablauf .kf-pause:hover { color: var(--kf-text); }
.konsole-ablauf .kf-pause[aria-pressed="true"] { color: var(--kf-gelb); border-color: var(--kf-gelb); }
.konsole-ablauf:not(.kf-js) .kf-pause { visibility: hidden; }
.konsole-ablauf .kf-tafeln { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 3px; padding-top: 1.1rem; border-top: 1px solid var(--kf-linie); }
@container (max-width: 44rem) { .konsole-ablauf .kf-tafeln { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@container (max-width: 22rem) { .konsole-ablauf .kf-tafeln { grid-template-columns: minmax(0, 1fr); } }
.konsole-ablauf .kf-tafel { min-width: 0; }
.konsole-ablauf .kf-link {
  display: grid; grid-template-rows: auto 1fr auto; gap: 0.6rem; height: 100%; padding: 0.75rem;
  color: inherit; text-decoration: none; box-shadow: inset 0 0 0 1px var(--kf-linie);
  transition: box-shadow 300ms ease-in-out, background-color 300ms ease-in-out;
}
.konsole-ablauf .kf-link:hover, .konsole-ablauf .kf-tafel.kf-vorn .kf-link { box-shadow: inset 0 0 0 1px rgba(242, 242, 242, 0.55); background: rgba(242, 242, 242, 0.04); }
.konsole-ablauf .kf-kopf { display: flex; align-items: baseline; gap: 0.6rem; }
.konsole-ablauf .kf-nr { color: var(--kf-text-2); }
.konsole-ablauf .kf-label { color: var(--kf-text); font-size: 0.6875rem; }
.konsole-ablauf .kf-detail { color: var(--kf-text-2); line-height: 1.35; }
.konsole-ablauf .kf-tafel.kf-vorn .kf-detail { color: var(--kf-text); }
.konsole-ablauf .kf-bild { position: relative; display: block; min-height: 4.5rem; }
.konsole-ablauf .kf-svg { position: absolute; inset: 0; width: 100%; height: 100%; display: block; overflow: visible; }
.konsole-ablauf .kf-svg path, .konsole-ablauf .kf-svg rect { vector-effect: non-scaling-stroke; }
.konsole-ablauf .kf-zeile { fill: rgba(242, 242, 242, 0.22); }
.konsole-ablauf .kf-zeile.kf-hell { fill: var(--kf-text); }
.konsole-ablauf .kf-linie { fill: none; stroke: rgba(242, 242, 242, 0.45); stroke-width: 1; }
.konsole-ablauf .kf-hell-linie { fill: none; stroke: var(--kf-text); stroke-width: 1; }
.konsole-ablauf .kf-marke { fill: var(--kf-text); }
.konsole-ablauf .kf-feld { fill: var(--kf-text); }
.konsole-ablauf .kf-staerkstes { fill: none; stroke: var(--kf-text); stroke-width: 1.5; }
.konsole-ablauf .kf-band { fill: rgba(242, 242, 242, 0.14); }
.konsole-ablauf .kf-schnitt { fill: none; stroke: rgba(242, 242, 242, 0.5); stroke-width: 1; stroke-dasharray: 3 3; }
.konsole-ablauf .kf-prognose { fill: none; stroke: var(--kf-text); stroke-width: 1.5; }
.konsole-ablauf .kf-lot { fill: none; stroke: rgba(242, 242, 242, 0.4); stroke-width: 1; stroke-dasharray: 2 2; }
.konsole-ablauf .kf-spitze { position: absolute; width: 0.45rem; height: 0.45rem; transform: translate(-50%, -50%) rotate(45deg); background: var(--kf-grund); border: 1px solid var(--kf-text); }
.konsole-ablauf .kf-svg-oben { bottom: auto; height: 3.1rem; }
.konsole-ablauf .kf-vor { fill: var(--kf-text); }
.konsole-ablauf .kf-nicht { fill: var(--kf-gelb); }
.konsole-ablauf .kf-bisher { fill: none; stroke: rgba(242, 242, 242, 0.55); stroke-width: 1; }
.konsole-ablauf .kf-spur { position: absolute; left: 0; right: 0; bottom: 0.35rem; display: flex; align-items: center; gap: 0.4rem; }
.konsole-ablauf .kf-knoten { display: block; width: 0.45rem; height: 0.45rem; box-shadow: inset 0 0 0 1px rgba(242, 242, 242, 0.45); transition: background-color 300ms ease-in-out; }
.konsole-ablauf .kf-knoten + .kf-knoten { margin-left: 1.1rem; position: relative; }
.konsole-ablauf .kf-knoten + .kf-knoten::before { content: ""; position: absolute; right: calc(100% + 0.4rem); top: 50%; width: 1.1rem; height: 1px; background: rgba(242, 242, 242, 0.3); }
.konsole-ablauf[data-stand="0"] .kf-knoten[data-stand="0"],
.konsole-ablauf[data-stand="1"] .kf-knoten[data-stand="0"], .konsole-ablauf[data-stand="1"] .kf-knoten[data-stand="1"],
.konsole-ablauf[data-stand="2"] .kf-knoten { background: var(--kf-text-2); box-shadow: none; }
.konsole-ablauf .kf-staende { display: grid; }
.konsole-ablauf .kf-stand { grid-area: 1 / 1; visibility: hidden; white-space: nowrap; }
.konsole-ablauf[data-stand="0"] .kf-stand[data-stand="0"], .konsole-ablauf[data-stand="1"] .kf-stand[data-stand="1"],
.konsole-ablauf[data-stand="2"] .kf-stand[data-stand="2"] { visibility: visible; }
.konsole-ablauf[data-stand="0"] .kf-nicht { fill: rgba(242, 242, 242, 0.25); }
.konsole-ablauf .kf-legende { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 1.25rem; margin-top: 1rem; color: var(--kf-text-2); }
.konsole-ablauf .kf-legende li { display: inline-flex; align-items: center; gap: 0.45rem; }
.konsole-ablauf .kf-legende i { display: block; width: 1.25rem; height: 0.3125rem; }
.konsole-ablauf .kf-lg-bisher { box-shadow: inset 0 0 0 1px rgba(242, 242, 242, 0.6); }
.konsole-ablauf .kf-lg-vorschlag { background: var(--kf-text); }
.konsole-ablauf .kf-lg-nicht { background: var(--kf-gelb); }
.konsole-ablauf .kf-unterschrift { margin-top: 1rem; font-size: 0.8125rem; line-height: 1.45; color: var(--kf-text-2); }
@media (prefers-reduced-motion: reduce) {
  .konsole-ablauf *, .konsole-ablauf *::before, .konsole-ablauf *::after { animation: none !important; transition: none !important; }
  .konsole-ablauf .kf-pause { display: none; }
}
.ruhe .konsole-ablauf *, .ruhe .konsole-ablauf *::before, .ruhe .konsole-ablauf *::after { animation: none !important; transition: none !important; }
@media print { .konsole-ablauf .kf-pause { display: none; } }


.konsole-analyse {
  --ka-grund: var(--nacht, #0F1012);
  --ka-text: var(--nacht-text, #F2F2F2);
  --ka-text-2: var(--nacht-text-2, #A9ACB0);
  --ka-linie: var(--nacht-linie, #34373B);
  --ka-gelb: var(--gelb, #F7FF78);
  --ka-mono: var(--mono, "Geist Mono Variable", ui-monospace, "SF Mono", Menlo, Consolas, monospace);
  --ka-kurve: var(--kurve, cubic-bezier(0.25, 0.46, 0.45, 0.94));
  --ka-ecke: rgba(242, 242, 242, 0.32);
  --ka-voll: rgba(242, 242, 242, 0.74);
  --ka-schraffur: repeating-linear-gradient(135deg, rgba(242, 242, 242, 0.62) 0 1px, transparent 1px 4px);
  --ka-gelb-schraffur: repeating-linear-gradient(135deg, rgba(247, 255, 120, 0.85) 0 1.25px, transparent 1.25px 4.5px);
  --ka-bedarf: rgba(242, 242, 242, 0.26);
  --ka-ladung: rgba(242, 242, 242, 0.55);
  --ka-leise: 0.22;
  --ka-halt: 1.5rem;
  --ka-takt: 7000ms;
  position: relative;
  width: 100%;
  margin: 0;
  padding: 1.25rem;
  text-align: left;
  container-type: inline-size;
  background: var(--ka-grund);
  color: var(--ka-text);
  font-family: var(--sans, "Public Sans Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif);
  font-size: 0.875rem;
  line-height: 1.4;
  font-feature-settings: "tnum" 1, "lnum" 1;
}
.dunkel .konsole-analyse, .buehne .konsole-analyse { --ka-grund: var(--nacht-2, #1E2124); box-shadow: inset 0 0 0 1px var(--ka-linie); }
.konsole-analyse *, .konsole-analyse *::before, .konsole-analyse *::after { box-sizing: border-box; }
.konsole-analyse :focus-visible { outline: 2px solid var(--ka-gelb); outline-offset: 2px; }
.konsole-analyse p, .konsole-analyse ul, .konsole-analyse ol { margin: 0; }
.konsole-analyse ul, .konsole-analyse ol { padding: 0; list-style: none; }
.konsole-analyse svg { display: block; overflow: visible; }
.konsole-analyse svg path, .konsole-analyse svg circle, .konsole-analyse svg rect { vector-effect: non-scaling-stroke; }
.konsole-analyse .ka-vorleser {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.konsole-analyse .ka-titel, .konsole-analyse .ka-reiter, .konsole-analyse .ka-pause, .konsole-analyse .ka-ansicht,
.konsole-analyse .ka-produkt, .konsole-analyse .ka-tafel-titel, .konsole-analyse .ka-modus {
  font-family: var(--ka-mono); font-size: 0.6875rem; letter-spacing: 0.09em; text-transform: uppercase;
}
.konsole-analyse .ka-seite-titel, .konsole-analyse .ka-artikel-kopf, .konsole-analyse .ka-legende, .konsole-analyse .ka-text,
.konsole-analyse .ka-l-name, .konsole-analyse .ka-l-halt, .konsole-analyse .ka-l-depot-name, .konsole-analyse .ka-f-name,
.konsole-analyse .ka-f-marke, .konsole-analyse .ka-h-name, .konsole-analyse .ka-h-marke, .konsole-analyse .ka-b-titel,
.konsole-analyse .ka-b-liste li > span:first-child, .konsole-analyse .ka-empf {
  font-family: var(--ka-mono); font-size: 0.625rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ka-text-2);
}
.konsole-analyse .ka-kopf {
  display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 0.5rem 1rem;
  min-height: 1.75rem; margin-bottom: 1rem;
}
.konsole-analyse .ka-titel { color: var(--ka-text-2); }
.konsole-analyse .ka-steuerung { display: inline-flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 0.5rem 1.1em; margin-left: auto; }
.konsole-analyse .ka-pause, .konsole-analyse .ka-ansicht, .konsole-analyse .ka-reiter {
  position: relative; min-height: 1.75rem; margin: 0; padding: 0 0.65rem; background: none; border-radius: 0; cursor: pointer;
  border: 1px solid var(--ka-linie); color: var(--ka-text-2);
  transition: color 250ms ease-in-out, background-color 250ms ease-in-out, border-color 250ms ease-in-out;
}
.konsole-analyse .ka-pause { min-width: 13ch; }
.konsole-analyse .ka-pause:hover, .konsole-analyse .ka-ansicht:hover, .konsole-analyse .ka-reiter:hover { color: var(--ka-text); }
.konsole-analyse .ka-pause[aria-pressed="true"] { color: var(--ka-gelb); border-color: var(--ka-gelb); }
.konsole-analyse .ka-umschalter, .konsole-analyse .ka-reiterleiste { display: inline-flex; flex-wrap: wrap; }
.konsole-analyse .ka-ansicht + .ka-ansicht, .konsole-analyse .ka-reiter + .ka-reiter { margin-left: -1px; }
.konsole-analyse .ka-ansicht[aria-pressed="true"], .konsole-analyse .ka-reiter[aria-selected="true"] {
  z-index: 1; color: var(--ka-text); border-color: rgba(242, 242, 242, 0.6); background: rgba(242, 242, 242, 0.1);
}
.konsole-analyse .ka-lauf { position: absolute; left: -1px; right: -1px; bottom: -1px; height: 1px; background: var(--ka-text); transform: scaleX(0); transform-origin: left center; }
.konsole-analyse.ka-laeuft .ka-reiter[aria-selected="true"] .ka-lauf { animation: ka-lauf var(--ka-takt) linear both; }
@keyframes ka-lauf { from { transform: scaleX(0); } to { transform: scaleX(1); } }
.konsole-analyse:not(.ka-js) .ka-reiterleiste { display: none; }
.konsole-analyse:not(.ka-js) .ka-pause, .konsole-analyse:not(.ka-js) .ka-umschalter { visibility: hidden; }
@container (max-width: 40rem) {
  .konsole-analyse .ka-auswertung-kopf, .konsole-analyse.ka-auswertung .ka-steuerung { width: 100%; justify-content: flex-end; }
  .konsole-analyse .ka-reiter { flex: 1 1 auto; margin-top: -1px; }
}
.konsole-analyse .ka-koerper { position: relative; display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.25rem; padding-top: 1.1rem; }
.konsole-analyse .ka-koerper::before {
  content: ""; position: absolute; left: 0; right: 0; top: 0; height: 1px; background: var(--ka-linie); transform-origin: left center;
}
@container (min-width: 50rem) {
  .konsole-analyse .ka-koerper { grid-template-columns: minmax(0, 1fr) minmax(15rem, 18.5rem); gap: 2.25rem; align-items: start; }
}
.konsole-analyse .ka-plot {
  --a: 0.75rem;
  position: relative; padding: 1.1rem 1rem 0.9rem; min-width: 0;
  background:
    linear-gradient(var(--ka-ecke), var(--ka-ecke)) left top / var(--a) 1px no-repeat,
    linear-gradient(var(--ka-ecke), var(--ka-ecke)) left top / 1px var(--a) no-repeat,
    linear-gradient(var(--ka-ecke), var(--ka-ecke)) right top / var(--a) 1px no-repeat,
    linear-gradient(var(--ka-ecke), var(--ka-ecke)) right top / 1px var(--a) no-repeat,
    linear-gradient(var(--ka-ecke), var(--ka-ecke)) left bottom / var(--a) 1px no-repeat,
    linear-gradient(var(--ka-ecke), var(--ka-ecke)) left bottom / 1px var(--a) no-repeat,
    linear-gradient(var(--ka-ecke), var(--ka-ecke)) right bottom / var(--a) 1px no-repeat,
    linear-gradient(var(--ka-ecke), var(--ka-ecke)) right bottom / 1px var(--a) no-repeat,
    linear-gradient(var(--ka-ecke), var(--ka-ecke)) left center / 0.375rem 1px no-repeat,
    linear-gradient(var(--ka-ecke), var(--ka-ecke)) right center / 0.375rem 1px no-repeat;
}
.konsole-analyse .ka-seite { min-width: 0; }
.konsole-analyse .ka-seite-titel { padding-bottom: 0.6rem; }
.konsole-analyse .ka-hinweise { margin-top: 0; grid-template-columns: minmax(0, 1fr); }
@container (min-width: 34rem) and (max-width: 49.99rem) { .konsole-analyse .ka-hinweise { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.konsole-analyse .ka-kennzahlen { margin-top: 0.75rem; padding-top: 0.75rem; border-top: 1px solid var(--ka-linie); }
@container (min-width: 50rem) {   
  .konsole-analyse .ka-seite .ka-kennzahlen { flex-direction: column; align-items: flex-start; }
  .konsole-analyse .ka-seite .ka-kennzahlen > li + li::before { content: none; }
}
.konsole-analyse .ka-legende { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 1.25rem; margin-top: 1rem; }
.konsole-analyse .ka-legende > li { display: inline-flex; align-items: center; gap: 0.45rem; }
.konsole-analyse .ka-fuss, .konsole-analyse .ka-unterschrift { margin-top: 1rem; padding-top: 0.75rem; border-top: 1px solid var(--ka-linie); font-size: 0.8125rem; line-height: 1.45; color: var(--ka-text-2); }
.konsole-analyse .ka-unterschrift { border-top: 0; padding-top: 0; }
.konsole-analyse .ka-unterschrift { max-width: 48rem; }   
.konsole-analyse .ka-lg { display: block; flex: none; width: 0.75rem; height: 0.75rem; }
.konsole-analyse .ka-lg-gelb { background: var(--ka-gelb); }
.konsole-analyse .ka-lg-voll { background: var(--ka-voll); }
.konsole-analyse .ka-lg-leerlauf { background: var(--ka-schraffur); box-shadow: inset 0 0 0 1px rgba(242, 242, 242, 0.2); }
.konsole-analyse .ka-lg-schlange { background: rgba(242, 242, 242, 0.3); }
.konsole-analyse .ka-lg-kerbe { border: 1px dashed var(--ka-text); background: rgba(242, 242, 242, 0.16); }
.konsole-analyse .ka-lg-strecke { width: 1.25rem; height: 0; border-top: 1px solid rgba(242, 242, 242, 0.55); }
.konsole-analyse .ka-lg-knoten, .konsole-analyse .ka-lg-runde { width: 0.5rem; height: 0.5rem; background: var(--ka-text); }
.konsole-analyse .ka-lg-knoten { background: none; box-shadow: inset 0 0 0 1px var(--ka-text); }   
.konsole-analyse .ka-lg-linie { width: 1.25rem; background: linear-gradient(to top right, transparent calc(50% - 0.75px), var(--ka-text) calc(50% - 0.75px) calc(50% + 0.75px), transparent calc(50% + 0.75px)); }
.konsole-analyse .ka-lg-saeulen { background: linear-gradient(to right, var(--ka-bedarf) 0 28%, transparent 28% 36%, var(--ka-bedarf) 36% 64%, transparent 64% 72%, var(--ka-bedarf) 72%) bottom / 100% 70% no-repeat; }
.konsole-analyse .ka-lg-stufen { width: 1.25rem; background: linear-gradient(var(--ka-text), var(--ka-text)) 0 70% / 45% 1.5px no-repeat, linear-gradient(var(--ka-text), var(--ka-text)) 100% 20% / 55% 1.5px no-repeat, linear-gradient(var(--ka-text), var(--ka-text)) 45% 0 / 1.5px 100% no-repeat; }
.konsole-analyse .ka-lg-band { width: 1.25rem; height: 0.5rem; background: linear-gradient(to bottom, rgba(242, 242, 242, 0.1), rgba(242, 242, 242, 0.7), rgba(242, 242, 242, 0.1)); }
.konsole-analyse .ka-lg-striche { width: 3px; background: var(--ka-text); box-shadow: 6px 0 0 var(--ka-text), 12px 0 0 var(--ka-gelb); margin-right: 12px; }
.konsole-analyse .ka-tafeln { position: relative; }
.konsole-analyse .ka-tafel + .ka-tafel { margin-top: 2rem; padding-top: 1.25rem; border-top: 1px solid var(--ka-linie); }
.konsole-analyse.ka-js .ka-tafeln { display: grid; }
.konsole-analyse.ka-js .ka-tafel { grid-area: 1 / 1; min-width: 0; margin: 0; padding: 0; border: 0; transition: opacity 250ms ease-in-out, visibility 0s linear 0s; }
.konsole-analyse.ka-js .ka-tafel:not(.aktiv) { visibility: hidden; opacity: 0; transition: opacity 250ms ease-in-out, visibility 0s linear 250ms; }
@media screen and (max-width: 734px) {
  .konsole-analyse.ka-js .ka-tafeln { display: block; }
  .konsole-analyse.ka-js .ka-tafel:not(.aktiv) { display: none; }
}
.konsole-analyse .ka-tafel-kopf { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.35rem 1rem; margin-bottom: 0.9rem; }
.konsole-analyse .ka-produkt { color: var(--ka-text); letter-spacing: 0.02em; text-transform: none; font-size: 0.75rem; }
.konsole-analyse .ka-tafel-titel { color: var(--ka-text-2); }
.konsole-analyse .ka-modus { padding: 0.15rem 0.4rem; box-shadow: inset 0 0 0 1px var(--ka-linie); color: var(--ka-text-2); font-size: 0.625rem; }
.konsole-analyse .ka-text { position: absolute; white-space: nowrap; line-height: 1; pointer-events: none; }
.konsole-analyse .ka-text-rechts { transform: translate(0, -50%); }
.konsole-analyse .ka-text-links { transform: translate(-100%, -50%); }
.konsole-analyse .ka-text-mitte { transform: translate(-50%, -50%); }
.konsole-analyse .ka-text-gelb { color: var(--ka-text); }
.konsole-analyse .ka-text-ecke { transform: none; }
.konsole-analyse .ka-text-ecke.ka-text-links { transform: translateX(-100%); }
.konsole-analyse .ka-globus { position: relative; width: 100%; max-width: 25rem; aspect-ratio: 1; margin: 0 auto; }
.konsole-analyse .ka-globus-svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.konsole-analyse .ka-g-scheibe { fill: rgba(242, 242, 242, 0.035); }
.konsole-analyse .ka-g-rand { fill: none; stroke: rgba(242, 242, 242, 0.35); stroke-width: 1; }
.konsole-analyse .ka-g-netz { fill: none; stroke: rgba(242, 242, 242, 0.08); stroke-width: 1; }
.konsole-analyse .ka-g-land { fill: none; stroke: rgba(242, 242, 242, 0.3); stroke-width: 2; stroke-linecap: square; }
.konsole-analyse .ka-g-hinten { fill: none; stroke: rgba(242, 242, 242, 0.12); stroke-width: 1; }
.konsole-analyse .ka-g-strecke { fill: none; stroke: rgba(242, 242, 242, 0.5); stroke-width: 1; }
.konsole-analyse .ka-g-markiert { fill: none; stroke: var(--ka-gelb); stroke-width: 2; }
.konsole-analyse .ka-g-knoten { fill: var(--ka-grund, #0e0f11); stroke: var(--ka-text); stroke-width: 1; }
.konsole-analyse .ka-g-zeiger { fill: none; stroke: var(--ka-text-2); stroke-width: 1; }
.konsole-analyse .ka-g-marke { fill: var(--ka-gelb); stroke: none; }
.konsole-analyse .ka-text-ueber.ka-text-rechts { transform: translate(0, -100%); }
.konsole-analyse .ka-text-ueber.ka-text-links { transform: translate(-100%, -100%); }
.konsole-analyse .ka-text-unter.ka-text-rechts { transform: none; }
.konsole-analyse .ka-text-unter.ka-text-links { transform: translateX(-100%); }
.konsole-analyse .ka-linie { display: grid; gap: 0.35rem; }
.konsole-analyse .ka-l-zeile { display: grid; grid-template-columns: 5.5rem minmax(0, 1fr) 3rem; column-gap: 0.75rem; align-items: end; }
.konsole-analyse .ka-l-name { align-self: center; color: var(--ka-text); overflow-wrap: anywhere; }
.konsole-analyse .ka-l-lauf, .konsole-analyse .ka-l-rand { position: relative; display: block; min-width: 0; }
.konsole-analyse .ka-l-halte { position: relative; display: block; height: 1.75rem; margin: 0 0.4rem; box-shadow: inset 0 -0.875rem 0 -0.8125rem rgba(242, 242, 242, 0.4); }
.konsole-analyse .ka-l-halt {
  position: absolute; top: 50%; width: 1.25rem; height: 1.25rem; transform: translate(-50%, -50%); display: grid; place-items: center;
  background: var(--ka-grund); border: 1px solid rgba(242, 242, 242, 0.4); color: var(--ka-text);
}
.konsole-analyse .ka-l-bedarf { position: relative; display: block; height: 2.75rem; }
.konsole-analyse .ka-l-bedarf i { position: absolute; bottom: 0; display: block; box-shadow: inset 1px 0 0 var(--ka-grund), inset -1px 0 0 var(--ka-grund); }
.konsole-analyse .ka-l-saeule { background: var(--ka-bedarf); }
.konsole-analyse .ka-l-gelb { background: var(--ka-gelb); }
.konsole-analyse .ka-l-linien { display: block; width: 100%; height: 3.25rem; }
.konsole-analyse .ka-l-flaeche { fill: rgba(242, 242, 242, 0.07); stroke: none; }
.konsole-analyse .ka-l-bisher { fill: none; stroke: rgba(242, 242, 242, 0.55); stroke-width: 1; stroke-dasharray: 3 3; }
.konsole-analyse .ka-l-vorschlag { fill: none; stroke: var(--ka-text); stroke-width: 1.5; }
.konsole-analyse .ka-l-depot { position: relative; display: block; width: 1.25rem; height: 3.25rem; }
.konsole-analyse .ka-l-depot i { position: absolute; left: 0; right: 0; bottom: 4%; display: block; }
.konsole-analyse .ka-l-r-umriss { box-shadow: inset 0 0 0 1px rgba(242, 242, 242, 0.5); }
.konsole-analyse .ka-l-r-gelb { background: var(--ka-gelb); }
.konsole-analyse .ka-l-r-voll { background: var(--ka-text); }
.konsole-analyse .ka-l-depot-name { position: absolute; left: 0; top: -0.9rem; }
.konsole-analyse .ka-l-crew { position: relative; display: block; height: 1.75rem; box-shadow: inset 0 -0.625rem 0 -0.5625rem rgba(242, 242, 242, 0.16); }
.konsole-analyse .ka-l-runde { position: absolute; top: 50%; width: 0.5625rem; height: 0.5625rem; transform: translate(-50%, -50%); background: var(--ka-text); }
.konsole-analyse .ka-l-geist { background: var(--ka-grund); box-shadow: inset 0 0 0 1px rgba(242, 242, 242, 0.5); }
.konsole-analyse .ka-l-pfeil { position: absolute; top: 50%; height: 0; border-top: 1px dashed rgba(242, 242, 242, 0.6); }
.konsole-analyse .ka-faehre { display: grid; grid-template-columns: minmax(0, 1fr) 6.5rem; gap: 1.25rem; align-items: center; }
.konsole-analyse .ka-f-reihe { display: grid; grid-template-columns: 5.5rem minmax(0, 1fr); column-gap: 0.75rem; align-items: end; padding: 0.45rem 0; border-top: 1px solid var(--ka-linie); }
.konsole-analyse .ka-f-achse { border-top: 1px solid var(--ka-linie); padding: 0.35rem 0 0; }
.konsole-analyse .ka-f-name { align-self: center; color: var(--ka-text); }
.konsole-analyse .ka-f-plot { position: relative; display: block; min-width: 0; }
.konsole-analyse .ka-f-stufen { position: relative; display: block; height: 2.25rem; margin-bottom: 0.25rem; }
.konsole-analyse .ka-f-stufen svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.konsole-analyse .ka-f-flaeche { fill: rgba(242, 242, 242, 0.08); }
.konsole-analyse .ka-f-bisher { fill: none; stroke: rgba(242, 242, 242, 0.55); stroke-width: 1; stroke-dasharray: 3 3; }
.konsole-analyse .ka-f-vorschlag { fill: none; stroke: var(--ka-text); stroke-width: 1.5; }
.konsole-analyse .ka-luecke { position: absolute; display: block; }
.konsole-analyse .ka-luecke::after { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(45deg, rgba(247, 255, 120, 0.9) 0 1.25px, transparent 1.25px 4.5px); }
.konsole-analyse .ka-luecke-schlange { background: rgba(242, 242, 242, 0.3); }
.konsole-analyse .ka-luecke-leerlauf { background: var(--ka-schraffur); }
.konsole-analyse .ka-luecke-kerbe { background: rgba(242, 242, 242, 0.16); outline: 1px dashed rgba(242, 242, 242, 0.7); outline-offset: -1px; }
.konsole-analyse .ka-lg-luecke { background: repeating-linear-gradient(45deg, rgba(247, 255, 120, 0.9) 0 1.25px, transparent 1.25px 4.5px); }
.konsole-analyse .ka-f-hitze { display: grid; grid-template-columns: repeat(var(--n, 8), minmax(0, 1fr)); height: 0.5rem; }
.konsole-analyse .ka-f-hitze i { display: block; box-shadow: inset 1px 0 0 var(--ka-grund), inset -1px 0 0 var(--ka-grund); }
.konsole-analyse .ka-s0 { background: rgba(242, 242, 242, 0.035); }
.konsole-analyse .ka-s1 { background: rgba(242, 242, 242, 0.11); }
.konsole-analyse .ka-s2 { background: rgba(242, 242, 242, 0.24); }
.konsole-analyse .ka-s3 { background: rgba(242, 242, 242, 0.44); }
.konsole-analyse .ka-s4 { background: var(--ka-voll); }
.konsole-analyse .ka-f-achse .ka-f-plot { height: 0.9rem; }
.konsole-analyse .ka-f-marke { position: absolute; top: 0; transform: translateX(-50%); white-space: nowrap; }
.konsole-analyse .ka-f-marke:first-child { transform: none; }
.konsole-analyse .ka-f-marke:last-child { transform: translateX(-100%); }
.konsole-analyse .ka-f-regal { display: flex; flex-wrap: wrap; gap: 3px; padding: 0.5rem; box-shadow: inset 1px 0 0 rgba(242, 242, 242, 0.32), inset -1px 0 0 rgba(242, 242, 242, 0.32), inset 0 -1px 0 rgba(242, 242, 242, 0.32); }
.konsole-analyse .ka-f-ware { display: block; width: calc(50% - 1.5px); height: 1.5rem; background: rgba(242, 242, 242, 0.2); }
.konsole-analyse .ka-f-bleibt, .konsole-analyse .ka-f-dazu { background: var(--ka-voll); }
.konsole-analyse .ka-f-weg { background: var(--ka-gelb); }
.konsole-analyse .ka-h-reihe { display: grid; grid-template-columns: 7rem minmax(0, 1fr); column-gap: 0.75rem; align-items: center; border-top: 1px solid var(--ka-linie); }
.konsole-analyse .ka-h-reihe:first-child { border-top-color: rgba(242, 242, 242, 0.5); }
.konsole-analyse .ka-h-name { color: var(--ka-text); padding: 0.35rem 0; overflow-wrap: anywhere; }
.konsole-analyse .ka-h-plot { position: relative; display: block; min-width: 0; height: 2.125rem; }
.konsole-analyse .ka-h-mit-dienst .ka-h-plot { height: 3.875rem; }
.konsole-analyse .ka-h-band { position: absolute; left: 0; right: 0; bottom: 0; width: 100%; height: 2.125rem; }
.konsole-analyse .ka-h-band path { fill: rgba(242, 242, 242, 0.42); }
.konsole-analyse .ka-h-dienst { position: absolute; left: 0; right: 0; top: 0.2rem; height: 1.5rem; }
.konsole-analyse .ka-h-dienst svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.konsole-analyse .ka-h-bisher { fill: none; stroke: rgba(242, 242, 242, 0.55); stroke-width: 1; stroke-dasharray: 3 3; }
.konsole-analyse .ka-h-vorschlag { fill: none; stroke: var(--ka-text); stroke-width: 1.5; }
.konsole-analyse .ka-h-nicht { position: absolute; bottom: 0.15rem; height: 0.3125rem; display: block; background: var(--ka-gelb); }
.konsole-analyse .ka-h-achse { border-top: 1px solid rgba(242, 242, 242, 0.5); }
.konsole-analyse .ka-h-achse .ka-h-plot { height: 1.1rem; }
.konsole-analyse .ka-h-marke { position: absolute; top: 0.3rem; transform: translateX(-50%); white-space: nowrap; }
.konsole-analyse .ka-h-marke:first-child { transform: none; }
.konsole-analyse .ka-h-marke:last-child { transform: translateX(-100%); }
.konsole-analyse .ka-grundriss { display: grid; grid-template-columns: minmax(0, 30rem) 10rem; justify-content: center; gap: 1.5rem; align-items: center; }
.konsole-analyse .ka-b-plan { position: relative; width: 100%; aspect-ratio: 600 / 400; }
.konsole-analyse .ka-b-svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.konsole-analyse .ka-b-zone { fill: var(--ka-text); }
.konsole-analyse .ka-b-posten { fill: rgba(242, 242, 242, 0.04); }
.konsole-analyse .ka-b-wand { fill: none; stroke: rgba(242, 242, 242, 0.42); stroke-width: 1.25; }
.konsole-analyse .ka-b-innen { stroke: rgba(242, 242, 242, 0.22); stroke-width: 1; }
.konsole-analyse .ka-b-offen { stroke-dasharray: 2 5; stroke: rgba(242, 242, 242, 0.34); }
.konsole-analyse .ka-b-tische { fill: none; stroke: rgba(242, 242, 242, 0.42); stroke-width: 4; stroke-linecap: round; }
.konsole-analyse .ka-b-person { fill: none; stroke: var(--ka-text); stroke-width: 7; stroke-linecap: square; }
.konsole-analyse .ka-b-pfad { fill: none; stroke: rgba(242, 242, 242, 0.5); stroke-width: 1; stroke-dasharray: 3 3; }
.konsole-analyse .ka-b-strich { fill: none; stroke-width: 2.5; }
.konsole-analyse .ka-b-an { stroke: var(--ka-text); }
.konsole-analyse .ka-b-strich.ka-b-weg { stroke: var(--ka-gelb); }   
.konsole-analyse .ka-b-aus { stroke: rgba(242, 242, 242, 0.12); }
.konsole-analyse .ka-text-zone { transform: none; color: var(--ka-text); font-size: 0.5625rem; }
.konsole-analyse .ka-b-liste ul { display: grid; gap: 0.6rem; margin-top: 0.6rem; }
.konsole-analyse .ka-b-liste li { display: grid; gap: 0.35rem; }
.konsole-analyse .ka-b-liste li > span:first-child { color: var(--ka-text); }
.konsole-analyse .ka-b-balken { position: relative; display: block; height: 0.625rem; }
.konsole-analyse .ka-b-balken i { position: absolute; top: 0; display: block; }
.konsole-analyse .ka-b-vor { left: 0; height: 0.3125rem; background: var(--ka-text); }
.konsole-analyse .ka-b-nicht { height: 0.3125rem; background: var(--ka-gelb); }
.konsole-analyse .ka-b-bisher { left: 0; top: 0.4375rem !important; height: 0.25rem; box-shadow: inset 0 0 0 1px rgba(242, 242, 242, 0.45); }
@container (max-width: 36rem) {
  .konsole-analyse .ka-faehre, .konsole-analyse .ka-grundriss { grid-template-columns: minmax(0, 1fr); }
  .konsole-analyse .ka-f-regal { max-width: 9rem; }
  .konsole-analyse .ka-l-zeile { grid-template-columns: 4.25rem minmax(0, 1fr) 2.25rem; column-gap: 0.5rem; }
  .konsole-analyse .ka-f-reihe { grid-template-columns: 4.75rem minmax(0, 1fr); column-gap: 0.5rem; }
  .konsole-analyse .ka-h-reihe { grid-template-columns: 5.25rem minmax(0, 1fr); column-gap: 0.5rem; }
  .konsole-analyse .ka-plot { padding-inline: 0.65rem; }
  .konsole-analyse .ka-h-marke:nth-child(2n) { visibility: hidden; }
}
.konsole-analyse .ka-umlauf, .konsole-analyse .ka-saeulen {
  display: grid; grid-template-columns: var(--ka-halt) repeat(var(--strecken, 4), minmax(0, 1fr) var(--ka-halt)); column-gap: 0;
}
@container (max-width: 26rem) { .konsole-analyse { --ka-halt: 1.375rem; } }
.konsole-analyse .ka-umlauf { grid-template-rows: var(--ka-halt); align-items: center; margin: 0.9rem 0 1rem; }
.konsole-analyse .ka-halt {
  grid-row: 1; width: var(--ka-halt); height: var(--ka-halt); display: grid; place-items: center;
  font-family: var(--ka-mono); font-size: 0.6875rem; color: var(--ka-text); border: 1px solid rgba(242, 242, 242, 0.4);
}
.konsole-analyse .ka-halt.ka-basis { background: rgba(242, 242, 242, 0.14); }
.konsole-analyse .ka-etappe { grid-row: 1; position: relative; height: 1px; background: rgba(242, 242, 242, 0.4); transform-origin: left center; transition: background-color 200ms linear; }
.konsole-analyse .ka-etappe span {
  position: absolute; left: 50%; bottom: 0.45rem; transform: translateX(-50%);
  font-family: var(--ka-mono); font-size: 0.625rem; letter-spacing: 0.08em; color: var(--ka-text-2); transition: color 200ms linear;
}
.konsole-analyse .ka-etappe.ka-hell { background: var(--ka-text); }
.konsole-analyse .ka-etappe.ka-hell span { color: var(--ka-text); }
.konsole-analyse .ka-saeulen {
  --gl: linear-gradient(var(--ka-linie), var(--ka-linie));
  position: relative; height: clamp(8.5rem, 4rem + 17cqi, 14rem);
  border-bottom: 1px solid rgba(242, 242, 242, 0.35);
  background: var(--gl) 0 25% / 100% 1px no-repeat, var(--gl) 0 50% / 100% 1px no-repeat, var(--gl) 0 75% / 100% 1px no-repeat;
}
.konsole-analyse .ka-strecke { grid-row: 1; position: relative; height: 100%; min-width: 0; display: flex; justify-content: center; align-items: flex-end; gap: 3px; }
.konsole-analyse .ka-strecke::before { content: ""; position: absolute; inset: 0 2px; background: rgba(242, 242, 242, 0.04); opacity: 0; transition: opacity 200ms linear; }
.konsole-analyse .ka-strecke.ka-hell::before { opacity: 1; }
.konsole-analyse .ka-saeule { position: relative; flex: none; width: clamp(0.875rem, 31%, 3rem); display: flex; flex-direction: column; transform-origin: center bottom; transition: opacity 600ms var(--ka-kurve); }
.konsole-analyse .ka-saeule i { display: block; flex: none; }
.konsole-analyse .ka-s-bisher { box-shadow: inset 0 0 0 1px var(--ka-ladung); }
.konsole-analyse .ka-bedarf { background: var(--ka-bedarf); }
.konsole-analyse .ka-rueck { background: var(--ka-schraffur); opacity: 0.8; }
.konsole-analyse .ka-vor { background: var(--ka-text); }
.konsole-analyse .ka-nicht { background: var(--ka-gelb); box-shadow: inset 0 -2px 0 var(--ka-grund); }
.konsole-analyse .ka-leg-bedarf { background: var(--ka-bedarf); }
.konsole-analyse .ka-leg-ladung { box-shadow: inset 0 0 0 1px var(--ka-ladung); }
.konsole-analyse .ka-leg-ruecklauf { background: var(--ka-schraffur); box-shadow: inset 0 0 0 1px rgba(242, 242, 242, 0.2); }
.konsole-analyse .ka-leg-vorschlag { background: var(--ka-text); }
.konsole-analyse .ka-leg-nicht { background: var(--ka-gelb); }
.konsole-analyse .ka-s-vorschlag { transition: opacity 600ms var(--ka-kurve), box-shadow 600ms var(--ka-kurve); }
.konsole-analyse .ka-vor, .konsole-analyse .ka-nicht, .konsole-analyse .ka-l-vor, .konsole-analyse .ka-l-nicht { transition: opacity 600ms var(--ka-kurve); }
.konsole-analyse[data-zeigt="vorschlag"] .ka-s-bisher, .konsole-analyse[data-wahl="vorschlag"] .ka-s-bisher { opacity: var(--ka-leise); }
.konsole-analyse[data-zeigt="bisher"] .ka-vor, .konsole-analyse[data-wahl="bisher"] .ka-vor { opacity: var(--ka-leise); }
.konsole-analyse[data-zeigt="bisher"] .ka-nicht, .konsole-analyse[data-wahl="bisher"] .ka-nicht,
.konsole-analyse[data-zeigt="bisher"] .ka-l-nicht, .konsole-analyse[data-wahl="bisher"] .ka-l-nicht,
.konsole-analyse[data-zeigt="bisher"] .ka-l-vor, .konsole-analyse[data-wahl="bisher"] .ka-l-vor { opacity: 0; }
.konsole-analyse[data-zeigt="bisher"] .ka-s-vorschlag, .konsole-analyse[data-wahl="bisher"] .ka-s-vorschlag { box-shadow: inset 0 0 0 1px rgba(242, 242, 242, 0.16); }
.konsole-analyse[data-zeigt="bisher"] .ka-empf.ka-handeln::before, .konsole-analyse[data-wahl="bisher"] .ka-empf.ka-handeln::before { background: var(--ka-linie); }
.konsole-analyse .ka-artikel-kopf, .konsole-analyse .ka-artikel > li {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(4.5rem, 1fr) minmax(0, 1.15fr); column-gap: 0.85rem; align-items: center;
}
.konsole-analyse .ka-artikel-kopf { padding-bottom: 0.6rem; }
.konsole-analyse .ka-artikel > li { padding: 0.6rem 0; border-top: 1px solid var(--ka-linie); }
.konsole-analyse .ka-artikel-name { min-width: 0; overflow-wrap: break-word; }
.konsole-analyse .ka-ladung { position: relative; display: block; height: 0.625rem; }
.konsole-analyse .ka-ladung i { position: absolute; display: block; }
.konsole-analyse .ka-l-vor { left: 0; top: 0; height: 0.3125rem; background: var(--ka-text); }
.konsole-analyse .ka-l-nicht { top: 0; height: 0.3125rem; background: var(--ka-gelb); }
.konsole-analyse .ka-l-bisher { left: 0; top: 0.4375rem; height: 0.25rem; box-shadow: inset 0 0 0 1px var(--ka-ladung); }
.konsole-analyse .ka-empf { display: inline-flex; align-items: center; gap: 0.45rem; }
.konsole-analyse .ka-empf.ka-handeln { color: var(--ka-text); }
.konsole-analyse .ka-empf.ka-handeln::before { content: ""; width: 0.45rem; height: 0.45rem; flex: none; background: var(--ka-gelb); transition: background-color 400ms var(--ka-kurve); }
@keyframes ka-aufblenden { from { opacity: 0; } }
@keyframes ka-einschalten {
  0% { opacity: 0; } 30% { opacity: 0.8; } 50% { opacity: 0.1; } 70% { opacity: 0.7; } 85% { opacity: 0; } 100% { opacity: 1; }
}
.konsole-analyse.ka-wartet .ka-koerper::before, .konsole-analyse.ka-wartet .ka-etappe { transform: scaleX(0); }
.konsole-analyse.ka-wartet .ka-saeule { transform: scaleY(0); }
.konsole-analyse.ka-wartet .ka-halt, .konsole-analyse.ka-wartet .ka-nicht, .konsole-analyse.ka-wartet .ka-artikel > li,
.konsole-analyse.ka-wartet .ka-plot > *, .konsole-analyse.ka-wartet .ka-hinweise > li, .konsole-analyse.ka-wartet .ka-kennzahlen { opacity: 0; }
.konsole-analyse.ka-prognose.ka-wartet .ka-plot > * { opacity: 1; }
.konsole-analyse.ka-an .ka-koerper::before { transform: scaleX(1); transition: transform 400ms var(--ka-kurve); }
.konsole-analyse.ka-an .ka-etappe { transform: scaleX(1); transition: transform 450ms var(--ka-kurve) calc(250ms + var(--i, 0) * 180ms), background-color 200ms linear; }
.konsole-analyse.ka-an .ka-saeule { transform: scaleY(1); transition: transform 750ms var(--ka-kurve) calc(600ms + var(--i, 0) * 120ms), opacity 600ms var(--ka-kurve), box-shadow 600ms var(--ka-kurve); }
.konsole-analyse.ka-an .ka-s-vorschlag { transition-delay: calc(1000ms + var(--i, 0) * 120ms), 0ms, 0ms; }
.konsole-analyse.ka-an:not(.ka-fertig) .ka-plot > * { animation: ka-aufblenden 240ms var(--ka-kurve) 250ms backwards; }
.konsole-analyse.ka-an:not(.ka-fertig) .ka-halt { animation: ka-einschalten 320ms steps(1, end) calc(200ms + var(--i, 0) * 180ms) backwards; }
.konsole-analyse.ka-an:not(.ka-fertig) .ka-nicht { animation: ka-einschalten 320ms steps(1, end) calc(1900ms + var(--i, 0) * 110ms) backwards; }
.konsole-analyse.ka-an:not(.ka-fertig) .ka-hinweise > li { animation: ka-einschalten 320ms steps(1, end) calc(700ms + var(--i, 0) * 120ms) backwards; }
.konsole-analyse.ka-an:not(.ka-fertig) .ka-artikel > li { animation: ka-einschalten 320ms steps(1, end) calc(1300ms + var(--i, 0) * 100ms) backwards; }
.konsole-analyse.ka-an:not(.ka-fertig) .ka-kennzahlen { animation: ka-einschalten 320ms steps(1, end) 1200ms backwards; }
@media (prefers-reduced-motion: reduce) {
  .konsole-analyse *, .konsole-analyse *::before, .konsole-analyse *::after { animation: none !important; transition: none !important; }
  .konsole-analyse.ka-wartet .ka-koerper::before, .konsole-analyse.ka-wartet .ka-etappe, .konsole-analyse.ka-wartet .ka-saeule { transform: none; }
  .konsole-analyse.ka-wartet .ka-halt, .konsole-analyse.ka-wartet .ka-nicht, .konsole-analyse.ka-wartet .ka-artikel > li,
  .konsole-analyse.ka-wartet .ka-plot > *, .konsole-analyse.ka-wartet .ka-hinweise > li, .konsole-analyse.ka-wartet .ka-kennzahlen { opacity: 1; }
  .konsole-analyse .ka-pause { display: none; }
}
.ruhe .konsole-analyse *, .ruhe .konsole-analyse *::before, .ruhe .konsole-analyse *::after { animation: none !important; transition: none !important; }
@media print {
  .konsole-analyse .ka-pause, .konsole-analyse .ka-umschalter, .konsole-analyse .ka-reiterleiste { display: none; }
  .konsole-analyse.ka-js .ka-tafeln { display: block; }
  .konsole-analyse.ka-js .ka-tafel { visibility: visible !important; opacity: 1 !important; }
  .konsole-analyse.ka-js .ka-tafel + .ka-tafel { margin-top: 2rem; }
}


.konsole-bahn {
  --kb-flaeche: var(--nacht, #0F1012);
  --kb-text: var(--nacht-text, #F2F2F2);
  --kb-text-2: var(--nacht-text-2, #A9ACB0);
  --kb-linie: var(--nacht-linie, #34373B);
  --kb-gelb: var(--gelb, #F7FF78);
  --kb-mono: var(--mono, "Geist Mono Variable", ui-monospace, "SF Mono", Menlo, Consolas, monospace);
  --kb-kurve: var(--kurve, cubic-bezier(0.25, 0.46, 0.45, 0.94));
  --kb-ecke: rgba(242, 242, 242, 0.3);
  --kb-gitter: rgba(242, 242, 242, 0.075);   
  --kb-saeule: rgba(242, 242, 242, 0.26);    
  --kb-umriss: rgba(242, 242, 242, 0.5);     
  --kb-null: rgba(242, 242, 242, 0.3);       
  --kb-halt: 1.5rem;
  --kb-links: calc(var(--kb-halt) / 2);
  --kb-rechts: 3.25rem;
  --kb-depot: 1.5rem;
  --kb-name-b: 9.5rem;
  --kb-status-b: 13rem;
  position: relative;
  width: 100%;
  margin: 0;
  padding: 1.25rem;
  text-align: left;
  container-type: inline-size;   
  background: var(--kb-flaeche);
  color: var(--kb-text);
  font-family: var(--sans, "Public Sans Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif);
  font-size: 0.875rem;
  line-height: 1.4;
  font-feature-settings: "tnum" 1, "lnum" 1;
}
.dunkel .konsole-bahn, .buehne .konsole-bahn { --kb-flaeche: var(--nacht-2, #1E2124); box-shadow: inset 0 0 0 1px var(--kb-linie); }
.konsole-bahn *, .konsole-bahn *::before, .konsole-bahn *::after { box-sizing: border-box; }
.konsole-bahn :focus-visible { outline: 2px solid var(--kb-gelb); outline-offset: 2px; }
.konsole-bahn p { margin: 0; }
.konsole-bahn .kb-vorleser {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.konsole-bahn .kb-titel, .konsole-bahn .kb-knopf, .konsole-bahn .kb-pause {
  font-family: var(--kb-mono); font-size: 0.6875rem; letter-spacing: 0.09em; text-transform: uppercase;
}
.konsole-bahn .kb-name, .konsole-bahn .kb-nr, .konsole-bahn .kb-depot > span, .konsole-bahn .kb-marke,
.konsole-bahn .kb-legende {
  font-family: var(--kb-mono); font-size: 0.625rem; letter-spacing: 0.08em; text-transform: uppercase;
}
.konsole-bahn .kb-kopf {
  display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 0.5rem 1rem;
  min-height: 1.75rem;   
  margin-bottom: 1rem;
}
.konsole-bahn .kb-titel { color: var(--kb-text-2); }
.konsole-bahn .kb-steuerung { display: inline-flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 0.5rem; margin-left: auto; }
.konsole-bahn .kb-wahl { display: inline-flex; }
.konsole-bahn .kb-knopf, .konsole-bahn .kb-pause {
  min-height: 1.75rem; padding: 0 0.65rem; margin: 0; cursor: pointer; background: none; border-radius: 0;
  border: 1px solid var(--kb-linie); color: var(--kb-text-2);
  transition: color 250ms ease-in-out, background-color 250ms ease-in-out, border-color 250ms ease-in-out;
}
.konsole-bahn .kb-wahl .kb-knopf + .kb-knopf { margin-left: -1px; }
.konsole-bahn .kb-knopf:hover, .konsole-bahn .kb-pause:hover { color: var(--kb-text); }
.konsole-bahn .kb-knopf[aria-pressed="true"] { position: relative; color: var(--kb-text); border-color: var(--kb-umriss); background: rgba(242, 242, 242, 0.1); }
.konsole-bahn .kb-tag { display: inline-flex; align-items: center; gap: 0.5rem; }
.konsole-bahn .kb-tag i { display: block; width: 0.5rem; height: 0.5rem; flex: none; box-shadow: inset 0 0 0 1px currentColor; }
.konsole-bahn .kb-tag[aria-pressed="true"] i { background: var(--kb-text); box-shadow: none; }
.konsole-bahn .kb-pause { min-width: 13ch; }   
.konsole-bahn .kb-pause[aria-pressed="true"] { color: var(--kb-gelb); border-color: var(--kb-gelb); }
@container (max-width: 40rem) {   
  .konsole-bahn .kb-steuerung { width: 100%; margin-left: 0; justify-content: flex-start; }
  .konsole-bahn .kb-pause { margin-left: auto; }
}
.konsole-bahn:not(.kb-js) .kb-wahl, .konsole-bahn:not(.kb-js) .kb-tag { display: none; }
.konsole-bahn:not(.kb-js) .kb-pause { visibility: hidden; }
.konsole-bahn .kb-buehne { position: relative; padding: calc(1.1rem + 1rem) 0.9rem 0.9rem; touch-action: pan-y; }
.konsole-bahn .kb-buehne::before {   
  content: ""; position: absolute; left: 0; right: 0; top: 0; height: 1px; background: var(--kb-linie); transform-origin: left center;
}
.konsole-bahn .kb-buehne::after {
  content: ""; position: absolute; inset: 1.1rem 0 0 0; pointer-events: none;
  background:
    linear-gradient(var(--kb-ecke), var(--kb-ecke)) left top / 1rem 1px no-repeat,
    linear-gradient(var(--kb-ecke), var(--kb-ecke)) left top / 1px 1rem no-repeat,
    linear-gradient(var(--kb-ecke), var(--kb-ecke)) right top / 1rem 1px no-repeat,
    linear-gradient(var(--kb-ecke), var(--kb-ecke)) right top / 1px 1rem no-repeat,
    linear-gradient(var(--kb-ecke), var(--kb-ecke)) left bottom / 1rem 1px no-repeat,
    linear-gradient(var(--kb-ecke), var(--kb-ecke)) left bottom / 1px 1rem no-repeat,
    linear-gradient(var(--kb-ecke), var(--kb-ecke)) right bottom / 1rem 1px no-repeat,
    linear-gradient(var(--kb-ecke), var(--kb-ecke)) right bottom / 1px 1rem no-repeat;
}
.konsole-bahn .kb-zeile {
  display: grid; grid-template-columns: var(--kb-name-b) minmax(0, 1fr) var(--kb-status-b);
  column-gap: 1.1rem; align-items: center;
}
.konsole-bahn .kb-name { min-width: 0; color: var(--kb-text-2); overflow-wrap: anywhere; }
.konsole-bahn .kb-status { min-width: 0; display: grid; justify-items: start; align-items: center; }
.konsole-bahn .kb-plot { position: relative; display: block; min-width: 0; }
.konsole-bahn .kb-lauf { position: absolute; top: 0; bottom: 0; left: var(--kb-links); right: var(--kb-rechts); }
.konsole-bahn .kb-depot { position: absolute; top: 0; bottom: 0; right: 0; width: var(--kb-depot); }
@container (max-width: 44rem) {
  .konsole-bahn .kb-zeile { grid-template-columns: minmax(min-content, 1fr) auto; grid-template-areas: "name status" "plot plot"; column-gap: 0.75rem; row-gap: 0.45rem; }
  .konsole-bahn .kb-name { grid-area: name; overflow-wrap: break-word; }
  .konsole-bahn .kb-status { grid-area: status; justify-items: end; text-align: right; }
  .konsole-bahn .kb-plot { grid-area: plot; }
}
@container (max-width: 26rem) {
  .konsole-bahn { --kb-rechts: 2.75rem; --kb-depot: 1.25rem; --kb-halt: 1.25rem; }
  .konsole-bahn .kb-name, .konsole-bahn .kb-marke { letter-spacing: 0.05em; }
  .konsole-bahn .kb-buehne { padding-inline: 0.65rem; }
}
.konsole-bahn .kb-bedarf .kb-lauf, .konsole-bahn .kb-bestand .kb-lauf, .konsole-bahn .kb-crew .kb-lauf {
  background:
    linear-gradient(var(--kb-gitter), var(--kb-gitter)) 0 0 / 1px 100% no-repeat,
    linear-gradient(var(--kb-gitter), var(--kb-gitter)) var(--kb-h1) 0 / 1px 100% no-repeat,
    linear-gradient(var(--kb-gitter), var(--kb-gitter)) var(--kb-h2) 0 / 1px 100% no-repeat,
    linear-gradient(var(--kb-gitter), var(--kb-gitter)) var(--kb-h3) 0 / 1px 100% no-repeat,
    linear-gradient(var(--kb-gitter), var(--kb-gitter)) 100% 0 / 1px 100% no-repeat;
}
.konsole-bahn .kb-bedarf .kb-depot, .konsole-bahn .kb-bestand .kb-depot {
  background: repeating-linear-gradient(to bottom, rgba(242, 242, 242, 0.16) 0 2px, transparent 2px 5px) left top / 1px 100% no-repeat;
}
.konsole-bahn .kb-korridor .kb-plot { height: 2.75rem; }
.konsole-bahn .kb-etappe {
  position: absolute; top: 2rem; height: 1px; background: rgba(242, 242, 242, 0.4); transform-origin: left center;
}
.konsole-bahn .kb-halt {
  position: absolute; top: 2rem; z-index: 1; width: var(--kb-halt); height: var(--kb-halt); transform: translate(-50%, -50%);
  display: grid; place-items: center; background: var(--kb-flaeche);
  font-family: var(--kb-mono); font-size: 0.6875rem; line-height: 1; color: var(--kb-text);
  border: 1px solid rgba(242, 242, 242, 0.4); transition: border-color 200ms linear, background-color 200ms linear;
}
.konsole-bahn .kb-halt.kb-start { background: linear-gradient(rgba(242, 242, 242, 0.14), rgba(242, 242, 242, 0.14)), var(--kb-flaeche); }
.konsole-bahn .kb-nr { position: absolute; top: 0.2rem; transform: translateX(-50%); color: var(--kb-text-2); transition: color 200ms linear; }
.konsole-bahn .kb-korridor .kb-depot > span { position: absolute; right: 0; top: 2rem; transform: translateY(-50%); color: var(--kb-text-2); }
.konsole-bahn .kb-lese { display: none; color: var(--kb-text); }
@container (max-width: 26rem) {
  .konsole-bahn .kb-korridor .kb-depot > span { top: 0.2rem; transform: none; }
}
.konsole-bahn .kb-artikel { margin-top: 1rem; padding-top: 0.75rem; border-top: 1px solid var(--kb-linie); }
.konsole-bahn .kb-artikel-name { margin-bottom: 0.6rem; font-size: 0.875rem; color: var(--kb-text); }
.konsole-bahn .kb-artikel .kb-zeile + .kb-zeile { margin-top: 0.7rem; }
.konsole-bahn .kb-bedarf .kb-plot { height: 3.25rem; }
.konsole-bahn .kb-b {
  position: absolute; bottom: 0; display: block;
  left: calc(var(--i) * 100% / var(--kb-n)); width: calc(100% / var(--kb-n) - 2px); margin-left: 1px;
  height: calc(var(--n) * 100%); background: var(--kb-saeule); transform-origin: center bottom;
  transition: height 700ms var(--kb-kurve) calc((var(--i) - 17) * 22ms), background-color 450ms linear calc(var(--i) * 9ms),
    box-shadow 450ms linear calc(var(--i) * 9ms);
}
.konsole-bahn[data-tag="veranstaltung"] .kb-b { height: calc(var(--e) * 100%); }
.konsole-bahn[data-zustand="bisher"][data-tag="normal"] .kb-on,
.konsole-bahn[data-zustand="bisher"][data-tag="veranstaltung"] .kb-oe { background-color: transparent; box-shadow: inset 0 0 0 1px var(--kb-umriss); }
.konsole-bahn[data-zustand="vorschlag"][data-tag="normal"] .kb-on,
.konsole-bahn[data-zustand="vorschlag"][data-tag="veranstaltung"] .kb-oe { background-color: var(--kb-gelb); }
.konsole-bahn .kb-bestand .kb-plot { height: 4.5rem; }
@container (min-width: 60rem) {
  .konsole-bahn .kb-bedarf .kb-plot { height: 3.75rem; }
  .konsole-bahn .kb-bestand .kb-plot { height: 5.5rem; }
}
.konsole-bahn .kb-bestand .kb-lauf::before {
  content: ""; position: absolute; left: 0; right: 0; bottom: 4%; height: 1px; background: var(--kb-null);
}
.konsole-bahn .kb-linien { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.konsole-bahn .kb-linien path { fill: none; vector-effect: non-scaling-stroke; stroke-linejoin: round; stroke-linecap: round; transition: opacity 450ms linear, stroke 450ms linear; }
.konsole-bahn .kb-linien .kb-flaeche { fill: rgba(242, 242, 242, 0.07); stroke: none; }
.konsole-bahn .kb-linie-bisher { stroke: rgba(242, 242, 242, 0.5); stroke-width: 1; stroke-dasharray: 3 3; }
.konsole-bahn .kb-linie-vorschlag { stroke: var(--kb-text); stroke-width: 1.75; }
.konsole-bahn[data-zustand="bisher"] .kb-linie-bisher { stroke: rgba(242, 242, 242, 0.85); stroke-width: 1.25; stroke-dasharray: none; }
.konsole-bahn[data-zustand="bisher"] .kb-linie-vorschlag, .konsole-bahn[data-zustand="bisher"] .kb-flaeche { opacity: 0; }
.konsole-bahn .kb-null {
  position: absolute; bottom: 4%; left: var(--x-n); width: 0.5rem; height: 0.5rem; transform: translate(-50%, 50%);
  background: var(--kb-flaeche); box-shadow: inset 0 0 0 1px rgba(242, 242, 242, 0.85); transition: left 700ms var(--kb-kurve);
}
.konsole-bahn[data-tag="veranstaltung"] .kb-null { left: var(--x-e); }
.konsole-bahn[data-zustand="vorschlag"] .kb-null { box-shadow: inset 0 0 0 1px var(--kb-umriss); }
.konsole-bahn .kb-rueck { position: absolute; left: 0.3rem; right: 0; bottom: 4%; top: 6%; }
.konsole-bahn .kb-rueck i { position: absolute; left: 0; right: 0; bottom: 0; display: block; transition: height 700ms var(--kb-kurve), bottom 700ms var(--kb-kurve), opacity 450ms linear; }
.konsole-bahn .kb-r-umriss { --rb: var(--rb-n); height: calc(var(--rb) * 100%); box-shadow: inset 0 0 0 1px var(--kb-umriss); }
.konsole-bahn .kb-rueck .kb-r-gelb { --rb: var(--rb-n); bottom: calc(var(--rv) * 100%); height: calc((var(--rb) - var(--rv)) * 100%); background: var(--kb-gelb); }
.konsole-bahn .kb-r-voll { height: calc(var(--rv) * 100%); background: var(--kb-text); }
.konsole-bahn[data-tag="veranstaltung"] .kb-r-umriss, .konsole-bahn[data-tag="veranstaltung"] .kb-r-gelb { --rb: var(--rb-e); }
.konsole-bahn[data-zustand="bisher"] .kb-r-gelb, .konsole-bahn[data-zustand="bisher"] .kb-r-voll { opacity: 0; }
.konsole-bahn[data-zustand="bisher"] .kb-r-umriss { background: rgba(242, 242, 242, 0.08); box-shadow: inset 0 0 0 1px rgba(242, 242, 242, 0.85); }
.konsole-bahn .kb-r-steg {
  position: absolute; right: calc(100% - 0.3rem); width: calc(var(--kb-rechts) - var(--kb-depot) + 0.3rem);
  bottom: calc(4% + var(--rv) * 90%); border-top: 1px dotted rgba(242, 242, 242, 0.45); transition: bottom 700ms var(--kb-kurve);
}
.konsole-bahn .kb-ohne-rueck .kb-r-steg { display: none; }
.konsole-bahn[data-zustand="bisher"] .kb-r-steg { bottom: calc(4% + var(--rb-n) * 90%); }
.konsole-bahn[data-zustand="bisher"][data-tag="veranstaltung"] .kb-r-steg { bottom: calc(4% + var(--rb-e) * 90%); }
.konsole-bahn .kb-crew { margin-top: 1rem; padding-top: 0.75rem; border-top: 1px solid var(--kb-linie); }
.konsole-bahn .kb-crew .kb-plot { height: 1.5rem; }
.konsole-bahn .kb-schiene { position: absolute; left: 0; right: 0; top: 50%; height: 1px; background: rgba(242, 242, 242, 0.14); }
.konsole-bahn .kb-platz { position: absolute; top: 50%; width: 1px; height: 0.5rem; transform: translate(-50%, -50%); background: rgba(242, 242, 242, 0.3); }
.konsole-bahn .kb-runde {
  position: absolute; top: 50%; width: 0.625rem; height: 0.625rem; transform: translate(-50%, -50%);
  background: var(--kb-text); transition: left 900ms var(--kb-kurve), background-color 450ms linear, box-shadow 450ms linear;
}
.konsole-bahn[data-zustand="bisher"] .kb-runde { background: var(--kb-flaeche); box-shadow: inset 0 0 0 1px rgba(242, 242, 242, 0.85); }
.konsole-bahn .kb-runde.kb-geist { background: var(--kb-flaeche); box-shadow: inset 0 0 0 1px var(--kb-umriss); }
.konsole-bahn .kb-zieht { left: var(--nach); }
.konsole-bahn[data-zustand="bisher"] .kb-zieht { left: var(--von); }
.konsole-bahn .kb-pfeil {
  position: absolute; top: 50%; left: calc(var(--l) + 0.6rem); width: calc(var(--w) - 1.2rem); height: 0; transform: translateY(-0.5px);
  border-top: 1px dashed rgba(242, 242, 242, 0.6); transition: opacity 450ms linear 300ms;
}
.konsole-bahn .kb-pfeil::before {
  content: ""; position: absolute; left: 0; top: calc(-0.1875rem - 1px); width: 0.375rem; height: 0.375rem;
  border-left: 1px solid rgba(242, 242, 242, 0.75); border-bottom: 1px solid rgba(242, 242, 242, 0.75); transform: translateY(0.5px) rotate(45deg);
}
.konsole-bahn[data-zustand="bisher"] .kb-pfeil { opacity: 0; transition-delay: 0ms; }
.konsole-bahn .kb-marke { display: inline-flex; align-items: center; gap: 0.45rem; color: var(--kb-text); }
.konsole-bahn .kb-marke i { display: block; width: 0.5rem; height: 0.5rem; flex: none; }
.konsole-bahn .kb-m-umriss { color: var(--kb-text-2); }
.konsole-bahn .kb-m-umriss i { box-shadow: inset 0 0 0 1px rgba(242, 242, 242, 0.85); }
.konsole-bahn .kb-m-gelb i { background: var(--kb-gelb); }
.konsole-bahn .kb-m-voll i { background: var(--kb-text); }
.konsole-bahn .kb-s { grid-area: 1 / 1; visibility: hidden; }
.konsole-bahn[data-zustand="vorschlag"] .kb-s-vorschlag,
.konsole-bahn[data-zustand="bisher"] .kb-s-bisher { visibility: visible; }
.konsole-bahn.kb-wechsel .kb-s { animation: kb-einschalten 320ms steps(1, end); }   
.konsole-bahn.kb-js .kb-lauf::after {
  content: ""; position: absolute; top: 0; bottom: 0; left: var(--kb-zeiger, 0%); z-index: 2; width: 1px; margin-left: -0.5px;
  background: rgba(242, 242, 242, 0.45); opacity: 0; pointer-events: none; transition: opacity 300ms linear;
}
.konsole-bahn.kb-zeigt .kb-lauf::after { opacity: 1; }
.konsole-bahn .kb-punkt {
  position: absolute; left: var(--kb-zeiger, 0%); bottom: 4%; z-index: 3; display: block; width: 0.4375rem; height: 0.4375rem;
  transform: translate(-50%, 50%); background: var(--kb-text); box-shadow: 0 0 0 2px var(--kb-flaeche); opacity: 0; transition: opacity 300ms linear;
}
.konsole-bahn.kb-zeigt .kb-punkt { opacity: 1; }
.konsole-bahn.kb-zeigt .kb-korridor .kb-name-text { display: none; }
.konsole-bahn.kb-zeigt .kb-lese { display: inline; }
.konsole-bahn[data-abschnitt="0"] .kb-nr[data-a="0"], .konsole-bahn[data-abschnitt="1"] .kb-nr[data-a="1"],
.konsole-bahn[data-abschnitt="2"] .kb-nr[data-a="2"], .konsole-bahn[data-abschnitt="3"] .kb-nr[data-a="3"] { color: var(--kb-text); }
.konsole-bahn[data-abschnitt="0"] .kb-halt[data-h="0"], .konsole-bahn[data-abschnitt="0"] .kb-halt[data-h="1"],
.konsole-bahn[data-abschnitt="1"] .kb-halt[data-h="1"], .konsole-bahn[data-abschnitt="1"] .kb-halt[data-h="2"],
.konsole-bahn[data-abschnitt="2"] .kb-halt[data-h="2"], .konsole-bahn[data-abschnitt="2"] .kb-halt[data-h="3"],
.konsole-bahn[data-abschnitt="3"] .kb-halt[data-h="3"], .konsole-bahn[data-abschnitt="3"] .kb-halt[data-h="4"] { border-color: rgba(242, 242, 242, 0.9); }
.konsole-bahn .kb-hinweise { margin-top: 1.1rem; }
.konsole-bahn .kb-weitere { margin-top: 1rem; padding-top: 0.5rem; border-top: 1px solid var(--kb-linie); }
.konsole-bahn .kb-weitere .kb-zeile { padding: 0.3rem 0; }
.konsole-bahn .kb-gleich .kb-plot { height: 1.25rem; }
.konsole-bahn .kb-gleich-name { color: var(--kb-text); font-family: var(--sans, sans-serif); font-size: 0.875rem; letter-spacing: 0; text-transform: none; }
.konsole-bahn .kb-gleich-linie path { stroke: rgba(242, 242, 242, 0.55); stroke-width: 1; }   
.konsole-bahn .kb-m-ohne { color: var(--kb-text-2); }
.konsole-bahn .kb-legende { list-style: none; margin: 1rem 0 0; padding: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 1.25rem; color: var(--kb-text-2); }
.konsole-bahn .kb-legende > li { display: inline-flex; align-items: center; gap: 0.45rem; }
.konsole-bahn .kb-legende i { display: block; flex: none; width: 0.75rem; height: 0.75rem; }
.konsole-bahn .kb-leg-bisher { width: 1.25rem !important; height: 0.3125rem !important; box-shadow: inset 0 0 0 1px rgba(242, 242, 242, 0.6); }
.konsole-bahn .kb-leg-vorschlag { width: 1.25rem !important; height: 0.3125rem !important; background: var(--kb-text); }
.konsole-bahn .kb-leg-bedarf { background: linear-gradient(to right, var(--kb-saeule) 0 28%, transparent 28% 36%, var(--kb-saeule) 36% 64%, transparent 64% 72%, var(--kb-saeule) 72%) bottom / 100% 70% no-repeat; }
.konsole-bahn .kb-leg-bestand { width: 1.25rem !important; background: linear-gradient(to top right, transparent calc(50% - 0.75px), var(--kb-text) calc(50% - 0.75px) calc(50% + 0.75px), transparent calc(50% + 0.75px)); }
.konsole-bahn .kb-leg-runde { width: 0.625rem !important; height: 0.625rem !important; background: var(--kb-text); }
.konsole-bahn .kb-leg-gelb { background: var(--kb-gelb); }
.konsole-bahn .kb-kennzahlen { margin-top: 0.85rem; }
.konsole-bahn .kb-unterschrift { margin-top: 1rem; font-size: 0.8125rem; line-height: 1.45; color: var(--kb-text-2); text-wrap: pretty; }
.konsole-bahn .kb-unterschrift { max-width: 48rem; }
.konsole-bahn .kb-fuss { margin-top: 1rem; padding-top: 0.75rem; border-top: 1px solid var(--kb-linie); font-size: 0.8125rem; line-height: 1.45; color: var(--kb-text-2); text-wrap: pretty; }
@keyframes kb-einschalten {   
  0% { opacity: 0; } 30% { opacity: 0.8; } 50% { opacity: 0.1; } 70% { opacity: 0.7; } 85% { opacity: 0; } 100% { opacity: 1; }
}
@media (prefers-reduced-motion: no-preference) {
  .konsole-bahn.kb-wartet .kb-buehne::before, .konsole-bahn.kb-wartet .kb-etappe { transform: scaleX(0); }
  .konsole-bahn.kb-wartet .kb-b { transform: scaleY(0); }
  .konsole-bahn.kb-wartet .kb-linien { clip-path: inset(0 100% 0 0); }
  .konsole-bahn.kb-wartet .kb-halt, .konsole-bahn.kb-wartet .kb-nr, .konsole-bahn.kb-wartet .kb-depot > span,
  .konsole-bahn.kb-wartet .kb-status, .konsole-bahn.kb-wartet .kb-null, .konsole-bahn.kb-wartet .kb-rueck,
  .konsole-bahn.kb-wartet .kb-runde, .konsole-bahn.kb-wartet .kb-hinweise li { opacity: 0; }
  .konsole-bahn.kb-an:not(.kb-fertig) .kb-buehne::before { transition: transform 400ms var(--kb-kurve); }
  .konsole-bahn.kb-an:not(.kb-fertig) .kb-etappe { transition: transform 450ms var(--kb-kurve) calc(250ms + var(--i) * 170ms); }
  .konsole-bahn.kb-an:not(.kb-fertig) .kb-halt { animation: kb-einschalten 320ms steps(1, end) calc(200ms + var(--i) * 170ms) backwards; }
  .konsole-bahn.kb-an:not(.kb-fertig) .kb-nr { animation: kb-einschalten 320ms steps(1, end) calc(330ms + var(--i) * 170ms) backwards; }
  .konsole-bahn.kb-an:not(.kb-fertig) .kb-b {
    transition: transform 600ms var(--kb-kurve) calc(650ms + var(--i) * 16ms), height 700ms var(--kb-kurve),
      background-color 450ms linear, box-shadow 450ms linear;
  }
  .konsole-bahn.kb-an:not(.kb-fertig) .kb-linien { transition: clip-path 1300ms var(--kb-kurve) 1000ms; }
  .konsole-bahn.kb-an:not(.kb-fertig) .kb-null, .konsole-bahn.kb-an:not(.kb-fertig) .kb-rueck,
  .konsole-bahn.kb-an:not(.kb-fertig) .kb-depot > span { animation: kb-einschalten 320ms steps(1, end) 2100ms backwards; }
  .konsole-bahn.kb-an:not(.kb-fertig) .kb-runde { animation: kb-einschalten 320ms steps(1, end) 1900ms backwards; }   
  .konsole-bahn.kb-an:not(.kb-fertig) .kb-status { animation: kb-einschalten 320ms steps(1, end) 2250ms backwards; }
  .konsole-bahn.kb-an:not(.kb-fertig) .kb-hinweise li { animation: kb-einschalten 320ms steps(1, end) calc(2300ms + var(--i) * 110ms) backwards; }
}
@media (prefers-reduced-motion: reduce) {
  .konsole-bahn *, .konsole-bahn *::before, .konsole-bahn *::after { animation: none !important; transition: none !important; }
  .konsole-bahn .kb-pause { display: none; }
}
.ruhe .konsole-bahn *, .ruhe .konsole-bahn *::before, .ruhe .konsole-bahn *::after { animation: none !important; transition: none !important; }
@media print {
  .konsole-bahn .kb-steuerung { display: none; }
}


.konsole-datensatz {
  --kd-haar: var(--nacht-linie);
  --kd-grau: rgba(242, 242, 242, 0.34);
  --kd-zart: rgba(242, 242, 242, 0.12);
  --kd-ecke: rgba(242, 242, 242, 0.32);
  --kd-arm: 0.875rem;
}
.konsole-datensatz .daten-kopf { flex-wrap: wrap; row-gap: 0.5rem; min-height: 1.75rem; }
.konsole-datensatz .kd-titel { text-transform: uppercase; white-space: nowrap; }
.konsole-datensatz :focus-visible { outline: 2px solid var(--gelb); outline-offset: 2px; }
.konsole-datensatz .kd-buehne { position: relative; margin-top: 0.2rem; padding: 1rem 1.15rem 1.05rem; }
.konsole-datensatz .kd-buehne::before {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background:
    linear-gradient(var(--kd-ecke), var(--kd-ecke)) left top / var(--kd-arm) 1px no-repeat,
    linear-gradient(var(--kd-ecke), var(--kd-ecke)) left top / 1px var(--kd-arm) no-repeat,
    linear-gradient(var(--kd-ecke), var(--kd-ecke)) right top / var(--kd-arm) 1px no-repeat,
    linear-gradient(var(--kd-ecke), var(--kd-ecke)) right top / 1px var(--kd-arm) no-repeat,
    linear-gradient(var(--kd-ecke), var(--kd-ecke)) left bottom / var(--kd-arm) 1px no-repeat,
    linear-gradient(var(--kd-ecke), var(--kd-ecke)) left bottom / 1px var(--kd-arm) no-repeat,
    linear-gradient(var(--kd-ecke), var(--kd-ecke)) right bottom / var(--kd-arm) 1px no-repeat,
    linear-gradient(var(--kd-ecke), var(--kd-ecke)) right bottom / 1px var(--kd-arm) no-repeat;
}
.konsole-datensatz .kd-felder { margin: 0; }
.konsole-datensatz .kd-zeile { position: relative; padding: 0.55rem 0; border-top: 1px solid var(--kd-haar); }
.konsole-datensatz .kd-felder:first-child .kd-zeile:first-child { border-top: 0; }
.konsole-datensatz .kd-zeile dt {
  margin: 0 0 0.25rem; font-family: var(--mono); font-size: 0.625rem; letter-spacing: 0.08em; line-height: 1.4;
  text-transform: uppercase; color: var(--nacht-text-2);
}
.konsole-datensatz .kd-zeile dd {
  margin: 0; min-height: 1.5rem; display: flex; align-items: center; justify-content: space-between; gap: 0.5rem 1rem;
}
.konsole-datensatz .kd-wert { display: inline-block; min-width: 0; overflow-wrap: anywhere; color: var(--nacht-text); }
.konsole-datensatz .kd-artikel { display: grid; gap: 0.2rem; }
.konsole-datensatz .kd-bild { flex: none; display: block; width: 6.5rem; height: 1.5rem; overflow: visible; }
.konsole-datensatz .kd-mit-bild dt { display: flex; align-items: center; min-height: 1.5rem; margin-bottom: 0.1rem; padding-right: 7.5rem; }
.konsole-datensatz .kd-mit-bild .kd-bild { position: absolute; top: 0.55rem; right: 0; }
@container (min-width: 32rem) {
  .konsole-datensatz .kd-zeile { display: grid; grid-template-columns: 8.5rem minmax(0, 1fr); gap: 0 1rem; align-items: center; }
  .konsole-datensatz .kd-zeile dt, .konsole-datensatz .kd-mit-bild dt { display: block; min-height: 0; margin: 0; padding: 0; }
  .konsole-datensatz .kd-mit-bild .kd-bild { position: static; }
}
.konsole-datensatz .kd-person .kd-zeile { border-top-color: rgba(242, 242, 242, 0.22); }
.konsole-datensatz .kd-nicht {
  display: inline-flex; align-items: center; min-height: 1.5rem; padding: 0.2rem 0.6rem;
  background: var(--gelb); color: #000;
  font-family: var(--mono); font-size: 0.6875rem; letter-spacing: 0.08em; line-height: 1.2; text-transform: uppercase;
}
.konsole-datensatz .kd-unterschrift { margin: 1rem 0 0; font-size: 0.8125rem; line-height: 1.45; color: var(--nacht-text-2); }
.konsole-datensatz .kd-bild path, .konsole-datensatz .kd-bild rect { vector-effect: non-scaling-stroke; }
.konsole-datensatz .kd-g-grund { fill: none; stroke: var(--kd-grau); stroke-width: 1; }
.konsole-datensatz .kd-g-stark { stroke: rgba(242, 242, 242, 0.55); }
.konsole-datensatz .kd-g-an { fill: none; stroke: var(--nacht-text); stroke-width: 1; }
.konsole-datensatz .kd-g-dick { stroke-width: 1.75; stroke-linecap: square; }
.konsole-datensatz .kd-g-voll { fill: var(--nacht-text); }
.konsole-datensatz .kd-g-knoten { fill: var(--nacht); stroke: var(--kd-grau); stroke-width: 1; }
.konsole-datensatz .kd-g-knoten-an { stroke: var(--nacht-text); }
.dunkel .konsole-datensatz .kd-g-knoten, .buehne .konsole-datensatz .kd-g-knoten { fill: var(--nacht-2); }
@media (forced-colors: active) {
  .konsole-datensatz .kd-nicht { forced-color-adjust: none; }
  .konsole-datensatz .kd-buehne::before { display: none; }
}


.konsole-feed {
  --feed-rand: 1.25rem;
  --feed-linie: var(--nacht-linie, #34373B);
  --feed-text: var(--nacht-text, #F2F2F2);
  --feed-text-2: var(--nacht-text-2, #A9ACB0);
  --feed-gelb: var(--gelb, #F7FF78);
  --feed-mono: var(--mono, ui-monospace, "SF Mono", Menlo, Consolas, monospace);
  --feed-kurve: var(--kurve, cubic-bezier(0.25, 0.46, 0.45, 0.94));
  --feed-kurve-weich: var(--kurve-weich, cubic-bezier(0.23, 1, 0.32, 1));
  position: relative;
  width: 100%;
  margin: 0;
  padding: var(--feed-rand);
  container-type: inline-size;   
  background: var(--nacht, #0F1012);
  color: var(--feed-text);
  text-align: left;
  font-family: var(--sans, system-ui, sans-serif);
  font-size: 0.875rem;
  line-height: 1.4;
  font-feature-settings: "tnum" 1, "lnum" 1;
}
.dunkel .konsole-feed, .buehne .konsole-feed { background: var(--nacht-2, #1E2124); box-shadow: inset 0 0 0 1px var(--feed-linie); }
.konsole-feed::before {
  --m: rgba(242, 242, 242, 0.28);
  --l: 0.625rem;
  content: ""; position: absolute; inset: 0.4375rem; pointer-events: none;
  background:
    linear-gradient(var(--m), var(--m)) left top / var(--l) 1px no-repeat,
    linear-gradient(var(--m), var(--m)) left top / 1px var(--l) no-repeat,
    linear-gradient(var(--m), var(--m)) right top / var(--l) 1px no-repeat,
    linear-gradient(var(--m), var(--m)) right top / 1px var(--l) no-repeat,
    linear-gradient(var(--m), var(--m)) left bottom / var(--l) 1px no-repeat,
    linear-gradient(var(--m), var(--m)) left bottom / 1px var(--l) no-repeat,
    linear-gradient(var(--m), var(--m)) right bottom / var(--l) 1px no-repeat,
    linear-gradient(var(--m), var(--m)) right bottom / 1px var(--l) no-repeat;
}
.konsole-feed .feed-vorleser {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.konsole-feed .feed-kopf {
  display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 0.5rem 1rem;
  min-height: 1.75rem;   
  margin-bottom: 0.875rem;
}
.konsole-feed .feed-titel {
  font-family: var(--feed-mono); font-size: 0.6875rem; letter-spacing: 0.09em; text-transform: uppercase;
  color: var(--feed-text-2);
}
.konsole-feed .feed-anhalten {
  flex: none; margin: 0; min-height: 1.75rem; padding: 0 0.6rem;
  min-width: calc(var(--feed-n-knopf, 10) * (1ch + 0.09em) + 1.2rem + 2px);   
  background: none; border: 1px solid var(--feed-linie); border-radius: 0; cursor: pointer;
  color: var(--feed-text-2); font-family: var(--feed-mono); font-size: 0.6875rem; line-height: 1;
  letter-spacing: 0.09em; text-transform: uppercase;
  transition: color 250ms ease-in-out, border-color 250ms ease-in-out;
}
.konsole-feed .feed-anhalten:hover { color: var(--feed-text); border-color: var(--feed-text-2); }
.konsole-feed .feed-anhalten[aria-pressed="true"] { color: var(--feed-gelb); border-color: var(--feed-gelb); }
.konsole-feed .feed-anhalten:focus-visible { outline: 2px solid var(--feed-gelb); outline-offset: 2px; }
.konsole-feed:not(.feed-js) .feed-anhalten { visibility: hidden; }   
.konsole-feed .feed-liste { position: relative; list-style: none; margin: 0; padding: 0; }
.konsole-feed .feed-liste::after {   
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: var(--feed-linie);
  transform-origin: left center;
}
.konsole-feed .feed-eintrag {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas: "produkt stand" "ort neu" "was was";
  align-items: center;
  gap: 0.125rem 1rem;
  padding: 0.75rem 0 0.8125rem;
  transition: transform 560ms var(--feed-kurve-weich), opacity 240ms linear;
}
.konsole-feed .feed-eintrag::before {   
  content: ""; position: absolute; left: 0; right: 0; top: 0; height: 1px; background: var(--feed-linie);
  transform-origin: left center;
}
.konsole-feed .feed-produkt {
  grid-area: produkt; min-width: calc(var(--feed-n-produkt, 14) * (1ch + 0.02em));
  font-family: var(--feed-mono); font-size: 0.75rem; letter-spacing: 0.02em; color: var(--feed-text); white-space: nowrap;
}
.konsole-feed .feed-ort {
  grid-area: ort; min-width: 0;
  font-family: var(--feed-mono); font-size: 0.6875rem; line-height: 1.45; letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--feed-text-2);
}
.konsole-feed .feed-was {
  grid-area: was; min-width: 0; margin-top: 0.25rem;
  font-size: 0.9375rem; line-height: 1.35; letter-spacing: -0.005em; color: var(--feed-text);
  text-wrap: pretty; overflow-wrap: break-word; hyphens: manual; -webkit-hyphens: manual;
}
.konsole-feed .feed-stand {
  grid-area: stand; display: inline-flex; align-items: center; gap: 0.5rem; white-space: nowrap;
  font-family: var(--feed-mono); font-size: 0.6875rem; line-height: 1.45; letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--feed-text-2);
}
.konsole-feed .feed-status { display: inline-block; min-width: calc(var(--feed-n-stand, 17) * (1ch + 0.08em)); }
.konsole-feed .ist-neu .feed-status { color: var(--feed-text); }
.konsole-feed .feed-neu-platz {
  grid-area: neu; display: flex; justify-content: flex-start; align-items: center;
  min-height: 1.125rem;   
  min-width: calc(var(--feed-n-neu, 3) * (1ch + 0.09em) + 0.8rem);
  padding-left: calc(2.0625rem + 0.5rem);   
  font-family: var(--feed-mono); font-size: 0.625rem; letter-spacing: 0.09em;
}
.konsole-feed .feed-neu {
  display: inline-block; padding: 0.3125rem 0.4rem 0.25rem; line-height: 1;
  background: var(--feed-text); color: #000; font-weight: 400; text-transform: uppercase; white-space: nowrap;
}
.konsole-feed .feed-spur { flex: none; width: 2.0625rem; height: 0.4375rem; overflow: visible; }
.konsole-feed .feed-knoten { fill: none; stroke: rgba(242, 242, 242, 0.34); stroke-width: 1; }
.konsole-feed .feed-spur-linie { fill: none; stroke: rgba(242, 242, 242, 0.2); stroke-width: 1; }
.konsole-feed .feed-knoten.k0,
.konsole-feed [data-stand="1"] .feed-knoten.k1,
.konsole-feed [data-stand="2"] .feed-knoten.k1 { fill: var(--feed-text-2); stroke: var(--feed-text-2); }
.konsole-feed [data-stand="1"] .feed-spur-linie.l0,
.konsole-feed [data-stand="2"] .feed-spur-linie { stroke: var(--feed-text-2); }
.konsole-feed [data-stand="2"] .feed-knoten.k2 { fill: var(--feed-gelb); stroke: var(--feed-gelb); }
.konsole-feed .feed-legende {
  display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 1.25rem; margin-top: 1rem;
  font-family: var(--feed-mono); font-size: 0.625rem; line-height: 1.4; letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--feed-text-2);
}
.konsole-feed .feed-legende > span { display: inline-flex; align-items: center; gap: 0.5rem; }
.konsole-feed .feed-fuss {
  margin: 1rem 0 0; padding-top: 0.75rem; border-top: 1px solid var(--feed-linie);
  font-size: 0.8125rem; line-height: 1.45; color: var(--feed-text-2);
}
@container (min-width: 42rem) {
  .konsole-feed .feed-eintrag {
    grid-template-columns: auto minmax(0, 1fr) auto auto;
    grid-template-areas: "produkt ort stand neu" ". was . .";
    column-gap: 1.5rem;
  }
  .konsole-feed .feed-neu-platz { padding-left: 0; }
}
@container (max-width: 18.5rem) {
  .konsole-feed .feed-eintrag { grid-template-areas: "produkt neu" "ort ort" "was was" "stand stand"; }
  .konsole-feed .feed-produkt { min-width: 0; }
  .konsole-feed .feed-neu-platz { padding-left: 0; justify-content: flex-end; }
  .konsole-feed .feed-stand { margin-top: 0.35rem; }
  .konsole-feed .feed-status { min-width: 0; }
}
@keyframes feed-einschalten {   
  0% { opacity: 0; } 30% { opacity: 0.8; } 50% { opacity: 0.1; } 70% { opacity: 0.7; } 85% { opacity: 0; } 100% { opacity: 1; }
}
@keyframes feed-rein { from { opacity: 0; transform: translateY(-0.5rem); } to { opacity: 1; transform: none; } }
.konsole-feed.feed-wartet::before,
.konsole-feed.feed-wartet .feed-eintrag > *,
.konsole-feed.feed-wartet .feed-legende { opacity: 0; }
.konsole-feed.feed-wartet .feed-eintrag::before,
.konsole-feed.feed-wartet .feed-liste::after { transform: scaleX(0); }
.konsole-feed.feed-an::before { animation: feed-einschalten 320ms steps(1, end) 80ms backwards; }
.konsole-feed.feed-an .feed-eintrag::before { transition: transform 420ms var(--feed-kurve) calc(var(--i, 0) * 110ms); }
.konsole-feed.feed-an .feed-liste::after { transition: transform 420ms var(--feed-kurve) 560ms; }
.konsole-feed.feed-an .feed-eintrag > * { animation: feed-einschalten 320ms steps(1, end) calc(240ms + var(--i, 0) * 110ms) backwards; }
.konsole-feed.feed-an .feed-legende { animation: feed-einschalten 320ms steps(1, end) 900ms backwards; }
.konsole-feed .feed-eintrag.feed-geht { opacity: 0; }
.konsole-feed .feed-eintrag.feed-kommt { animation: feed-rein 560ms var(--feed-kurve-weich) both; }
.konsole-feed .feed-eintrag.feed-kommt .feed-neu { animation: feed-einschalten 320ms steps(1, end) 360ms backwards; }
.konsole-feed .feed-knoten.feed-knoten-neu { animation: feed-einschalten 320ms steps(1, end) 520ms backwards; }
.konsole-feed.feed-still::before,
.konsole-feed.feed-still *,
.konsole-feed.feed-still *::before,
.konsole-feed.feed-still *::after { animation: none !important; transition: none !important; }
@media (prefers-reduced-motion: reduce) {
  .konsole-feed::before,
  .konsole-feed *,
  .konsole-feed *::before,
  .konsole-feed *::after { animation: none !important; transition: none !important; }
  .konsole-feed .feed-anhalten { display: none; }
}
@media print {   
  .konsole-feed .feed-anhalten { display: none; }
  .konsole-feed.feed-wartet::before,
  .konsole-feed.feed-wartet .feed-eintrag > *,
  .konsole-feed.feed-wartet .feed-legende { opacity: 1; }
  .konsole-feed.feed-wartet .feed-eintrag::before,
  .konsole-feed.feed-wartet .feed-liste::after { transform: none; }
}
.konsole-feed .feed-liste { transition: opacity 240ms ease; }
.konsole-feed .feed-liste.feed-blende { opacity: 0; }


.konsole-gastro {
  --kg-grund: var(--nacht);            
  --kg-namen: 6.75rem;                 
  --kg-umriss: rgba(242, 242, 242, 0.45);
  --kg-schwach: rgba(242, 242, 242, 0.12);
}
.dunkel .konsole-gastro, .buehne .konsole-gastro { --kg-grund: var(--nacht-2); }
.konsole-gastro :focus-visible { outline: 2px solid var(--gelb); outline-offset: 2px; }   
.konsole-gastro .kg-kopf { flex-wrap: wrap; row-gap: 0.35rem; min-height: 1.75rem; }
.konsole-gastro .kg-titel, .konsole-gastro .kg-lage .mono { text-transform: uppercase; }
.konsole-gastro .kg-lage {
  display: inline-flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 0.35rem 1.1em;
  margin-left: auto; white-space: nowrap;
}
.konsole-gastro .kg-pause { min-width: 15ch; }   
.konsole-gastro:not(.kg-bereit) .kg-pause { visibility: hidden; }   
.konsole-gastro .kg-flaeche { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.75rem; }
.konsole-gastro .kg-links { min-width: 0; }
@container (min-width: 54rem) {
  .konsole-gastro .kg-flaeche { grid-template-columns: minmax(0, 50rem) minmax(16rem, 1fr); gap: 0 2.25rem; }
  .konsole-gastro .kg-vorbereitung { padding-left: 2.25rem; margin-left: -2.25rem; border-left: 1px solid var(--nacht-linie); }
}
.konsole-gastro .kg-steuer { display: inline-flex; align-items: center; }   
.konsole-gastro .kg-schalter { display: inline-flex; }
.konsole-gastro .kg-modus {
  min-height: 1.75rem; padding: 0 0.7rem; margin: 0; background: none; cursor: pointer;
  border: 1px solid var(--nacht-linie); color: var(--nacht-text-2);
  font-family: var(--mono); font-size: 0.6875rem; letter-spacing: 0.09em; text-transform: uppercase;
  transition: color var(--dauer-ui) var(--kurve-ui), border-color var(--dauer-ui) var(--kurve-ui), background-color var(--dauer-ui) var(--kurve-ui);
}
.konsole-gastro .kg-modus + .kg-modus { margin-left: -1px; }
.konsole-gastro .kg-modus[aria-pressed="true"] { color: var(--nacht-text); border-color: rgba(242, 242, 242, 0.62); background: rgba(242, 242, 242, 0.08); position: relative; }
.konsole-gastro .kg-modus:disabled { cursor: default; }
.konsole-gastro .kg-modus:disabled[aria-pressed="false"] { color: rgba(169, 172, 176, 0.62); }
@media (hover: hover) { .konsole-gastro .kg-modus:not(:disabled):not([aria-pressed="true"]):hover { color: var(--nacht-text); border-color: rgba(242, 242, 242, 0.35); } }
.konsole-gastro:not(.kg-bereit) .kg-steuer { display: none; }   
.konsole-gastro .kg-plan { position: relative; width: 100%; aspect-ratio: 600 / 400; }
.konsole-gastro .kg-ebene { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.konsole-gastro .kg-ebene path, .konsole-gastro .kg-ebene rect { vector-effect: non-scaling-stroke; }
.konsole-gastro .kg-zone, .konsole-gastro .kg-posten { fill: var(--nacht-text); }   
.konsole-gastro .kg-wand { fill: none; stroke: rgba(242, 242, 242, 0.42); stroke-width: 1.25; }
.konsole-gastro .kg-innen { stroke: rgba(242, 242, 242, 0.22); stroke-width: 1; }
.konsole-gastro .kg-pass { stroke: rgba(242, 242, 242, 0.3); stroke-width: 1; }
.konsole-gastro .kg-offen { stroke: rgba(242, 242, 242, 0.34); stroke-width: 1; stroke-dasharray: 2 5; }   
.konsole-gastro .kg-tresen { fill: none; stroke: rgba(242, 242, 242, 0.5); stroke-width: 4; }
.konsole-gastro .kg-ecken { fill: none; stroke: rgba(242, 242, 242, 0.3); stroke-width: 1; }
.konsole-gastro .kg-tische { fill: none; stroke: rgba(242, 242, 242, 0.42); stroke-width: 5; stroke-linecap: round; }
.konsole-gastro .kg-person { fill: none; stroke: var(--nacht-text); stroke-width: 8; stroke-linecap: square; }
.konsole-gastro .kg-geist { fill: none; stroke: var(--nacht-text-2); stroke-width: 9; stroke-linecap: square; }      
.konsole-gastro .kg-geist-innen { fill: none; stroke: var(--kg-grund); stroke-width: 6.5; stroke-linecap: square; }
.konsole-gastro .kg-weg { fill: none; stroke: rgba(242, 242, 242, 0.5); stroke-width: 1; stroke-dasharray: 3 3; }
.konsole-gastro .kg-wechsel { transition: opacity var(--dauer-ui) var(--kurve-ui); }
.konsole-gastro .kg-wechsel.kg-aus { opacity: 0; }
.konsole-gastro.kg-gleiten .kg-wechsler { transition: transform 650ms var(--kurve); }
.konsole-gastro .kg-strich { fill: none; stroke-width: 3; stroke-linecap: butt; transition: stroke var(--dauer-ui) var(--kurve-ui); }
.konsole-gastro .kg-strich.an { stroke: var(--nacht-text); }
.konsole-gastro .kg-strich.weg { stroke: var(--gelb); }   
.konsole-gastro .kg-leer {
  position: absolute; display: block; pointer-events: none; opacity: 0;
  background: repeating-linear-gradient(135deg, rgba(242, 242, 242, 0.32) 0 1px, transparent 1px 6px);
  transition: opacity var(--dauer-ui) var(--kurve-ui);
}
.konsole-gastro[data-modus="bisher"] .kg-leer:not(.kg-aus) { opacity: 1; }
.konsole-gastro .kg-strich.aus { stroke: var(--kg-schwach); }
.konsole-gastro .kg-marken { position: absolute; inset: 0; pointer-events: none; }
.konsole-gastro .kg-marke {
  position: absolute; white-space: nowrap; line-height: 1;
  font-family: var(--mono); font-size: 0.625rem; letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--nacht-text);   
}
.konsole-gastro .kg-marke-wechsel { display: inline-flex; align-items: center; gap: 0.45em; color: var(--nacht-text); transition: opacity var(--dauer-ui) var(--kurve-ui); }
.konsole-gastro .kg-marke-wechsel.kg-aus { opacity: 0; }
.konsole-gastro .kg-marke-person { display: block; width: 7px; height: 7px; background: var(--nacht-text); }
.konsole-gastro[data-modus="bisher"] .kg-strich.weg { stroke: var(--nacht-text); }
.konsole-gastro[data-modus="bisher"] .kg-wechsel,
.konsole-gastro[data-modus="bisher"] .kg-marke-wechsel,
.konsole-gastro[data-modus="bisher"] .kg-fenster { opacity: 0; }
.konsole-gastro .kg-zeit { position: relative; margin-top: 2.1rem; }
.konsole-gastro .kg-zeitbild { display: grid; grid-template-columns: var(--kg-namen) minmax(0, 1fr); gap: 5px 0.75rem; align-items: center; }
.konsole-gastro .kg-zeile-name {
  min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  font-family: var(--mono); font-size: 0.625rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--nacht-text-2); line-height: 1.1;
}
.konsole-gastro .kg-zellen { display: grid; grid-template-columns: repeat(48, minmax(0, 1fr)); gap: 1px; height: 0.75rem; }
.konsole-gastro .kg-zellen > i { display: block; }
.konsole-gastro .kg-schlangen-zeile { display: block; height: 1.5rem; margin-top: 2px; border-bottom: 1px solid rgba(242, 242, 242, 0.35); }
.konsole-gastro .kg-spur { display: block; width: 100%; height: 100%; overflow: visible; }
.konsole-gastro .kg-spur-alt { fill: rgba(242, 242, 242, 0.5); opacity: 0; }
.konsole-gastro .kg-spur-vor { fill: rgba(242, 242, 242, 0.74); }
.konsole-gastro .kg-spur-gewinn { fill: var(--gelb); }
.konsole-gastro .kg-spur-bisher { fill: none; stroke: var(--kg-umriss); stroke-width: 1; vector-effect: non-scaling-stroke; }
.konsole-gastro .kg-spur-alt, .konsole-gastro .kg-spur-vor, .konsole-gastro .kg-spur-gewinn { transition: opacity var(--dauer-ui) var(--kurve-ui); }
.konsole-gastro[data-modus="bisher"] .kg-spur-alt { opacity: 1; }
.konsole-gastro[data-modus="bisher"] .kg-spur-vor, .konsole-gastro[data-modus="bisher"] .kg-spur-gewinn { opacity: 0; }
.konsole-gastro .kg-achse { position: relative; display: block; height: 1rem; margin-top: 0.35rem; }
.konsole-gastro .kg-achse-name { align-self: start; margin-top: 0.35rem; }
.konsole-gastro .kg-stunde {
  position: absolute; top: 0; transform: translateX(-50%); white-space: nowrap;
  font-family: var(--mono); font-size: 0.625rem; letter-spacing: 0.02em; color: var(--nacht-text-2); font-variant-numeric: tabular-nums;
}
.konsole-gastro .kg-stunde:first-child { transform: none; }
.konsole-gastro .kg-stunde:last-of-type { transform: translateX(-100%); }
@container (max-width: 19.5rem) {
  .konsole-gastro .kg-achse .kg-stunde { display: none; }
  .konsole-gastro .kg-achse .kg-stunde:first-child, .konsole-gastro .kg-achse .kg-stunde:nth-child(4),
  .konsole-gastro .kg-achse .kg-stunde:last-of-type { display: block; }
}
.konsole-gastro .kg-regler {
  position: absolute; top: -0.4rem; bottom: 1.35rem; left: calc(var(--kg-namen) + 0.75rem); right: 0;
  display: block; touch-action: pan-y; -webkit-user-select: none; user-select: none;
}
.konsole-gastro.kg-bereit .kg-regler { cursor: ew-resize; }
.konsole-gastro .kg-regler:focus-visible { outline: none; }
.konsole-gastro .kg-fenster {   
  position: absolute; top: 0.4rem; bottom: 0; box-shadow: inset 0 0 0 1px rgba(242, 242, 242, 0.32);
  transition: opacity var(--dauer-ui) var(--kurve-ui);
}
.konsole-gastro .kg-zeitkopf { position: absolute; top: 0; bottom: -0.15rem; width: 1px; margin-left: -0.5px; background: var(--nacht-text); }
.konsole-gastro .kg-zeit-text {
  position: absolute; bottom: calc(100% + 0.3rem); left: 0; transform: translateX(calc(var(--kg-t, 0.5) * -100%));
  white-space: nowrap; font-family: var(--mono); font-size: 0.625rem; letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--nacht-text); font-variant-numeric: tabular-nums;
}
.konsole-gastro .kg-spitze {
  position: absolute; top: -0.5rem; width: 0.45rem; height: 0.45rem; margin-left: -0.225rem; transform: rotate(45deg);
  background: var(--kg-grund); border: 1px solid var(--nacht-text);
}
.konsole-gastro .kg-knopf { position: absolute; top: 0; left: 50%; width: 9px; height: 9px; margin-left: -4.5px; background: var(--nacht-text); }
.konsole-gastro .kg-regler:focus-visible .kg-knopf { outline: 2px solid var(--nacht-text); outline-offset: 3px; }
.konsole-gastro .kg-regler:focus-visible .kg-zeitkopf { width: 2px; margin-left: -1px; }
.konsole-gastro .kg-vorbereitung { min-width: 0; container-type: inline-size; }
.konsole-gastro .kg-unterkopf { margin: 0 0 0.85rem; font-size: 0.6875rem; letter-spacing: 0.09em; text-transform: uppercase; color: var(--nacht-text-2); }
.konsole-gastro .kg-liste { list-style: none; margin: 0; padding: 0; }
.konsole-gastro .kg-liste > li {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "name rat" "balken balken";
  gap: 0.5rem 1rem; align-items: center; padding: 0.65rem 0; border-top: 1px solid var(--nacht-linie);
}
.konsole-gastro .kg-liste > .kg-liste-kopf {
  padding-top: 0; border-top: 0; align-items: end;
  font-family: var(--mono); font-size: 0.625rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--nacht-text-2);
}
.konsole-gastro .kg-liste-kopf > span:first-child { grid-area: name; }
.konsole-gastro .kg-liste-kopf > span:last-child { grid-area: rat; text-align: right; }
.konsole-gastro .kg-kopf-balken { display: none; }
.konsole-gastro .kg-gericht { grid-area: name; min-width: 0; overflow-wrap: anywhere; }
.konsole-gastro .kg-liste .kg-balken { grid-area: balken; }
.konsole-gastro .kg-rat { grid-area: rat; justify-self: end; text-align: right; transition: opacity var(--dauer-ui) var(--kurve-ui); }
@container (min-width: 30rem) {
  .konsole-gastro .kg-liste > li { grid-template-columns: minmax(5.5rem, 0.8fr) minmax(0, 1.7fr) minmax(10.5rem, 1fr); grid-template-areas: "name balken rat"; }
  .konsole-gastro .kg-kopf-balken { display: block; grid-area: balken; }
  .konsole-gastro .kg-liste-kopf > span:last-child, .konsole-gastro .kg-rat { justify-self: start; text-align: left; }
}
.konsole-gastro .kg-balken { display: grid; gap: 3px; min-width: 0; }
.konsole-gastro .kg-balken i { display: block; height: 0.3125rem; transform-origin: left center; }
.konsole-gastro .kg-bisher { box-shadow: inset 0 0 0 1px var(--kg-umriss); }
.konsole-gastro .kg-vor-zeile { position: relative; display: block; height: 0.3125rem; transition: opacity var(--dauer-ui) var(--kurve-ui); }
.konsole-gastro .kg-vor { background: var(--nacht-text); }
.konsole-gastro .kg-vor-zeile .kg-nicht { position: absolute; top: 0; background: var(--gelb); }
.konsole-gastro[data-modus="bisher"] .kg-vor-zeile { opacity: 0; }
.konsole-gastro .kg-rat::before { transition: background-color var(--dauer-ui) var(--kurve-ui); }
.konsole-gastro[data-modus="bisher"] .kg-rat { color: var(--nacht-text-2); }
.konsole-gastro[data-modus="bisher"] .kg-rat::before { background: var(--nacht-linie); }
.konsole-gastro .kg-kennzahl {
  display: grid; grid-template-columns: minmax(0, 1fr); grid-template-areas: "name" "balken"; gap: 0.55rem 1rem; align-items: center;
  padding: 0.85rem 0 0; border-top: 1px solid var(--nacht-linie);
}
.konsole-gastro .kg-kennzahl-name { grid-area: name; font-size: 0.6875rem; line-height: 1.35; letter-spacing: 0.08em; text-transform: uppercase; color: var(--nacht-text); }
.konsole-gastro .kg-kennzahl .kg-balken { grid-area: balken; }
@container (min-width: 30rem) {   
  .konsole-gastro .kg-kennzahl { grid-template-columns: minmax(5.5rem, 0.8fr) minmax(0, 1.7fr) minmax(10.5rem, 1fr); grid-template-areas: "name name name" ". balken ."; }
}
.konsole-gastro .kg-hinweise { margin-top: 1.5rem; }
.konsole-gastro .kg-legende { list-style: none; margin: 1.1rem 0 0; padding: 0; }
.konsole-gastro .kg-legende > li { display: inline-flex; align-items: center; gap: 0.45rem; }
.konsole-gastro .kg-leg { display: block; flex: none; }
.konsole-gastro .kg-leg-bisher, .konsole-gastro .kg-leg-vor, .konsole-gastro .kg-leg-nicht { width: 1.25rem; height: 0.3125rem; }
.konsole-gastro .kg-leg-bisher { box-shadow: inset 0 0 0 1px var(--kg-umriss); }
.konsole-gastro .kg-leg-vor { background: var(--nacht-text); }
.konsole-gastro .kg-leg-nicht { background: var(--gelb); }
.konsole-gastro .kg-leg-schlange { width: 3px; height: 0.75rem; background: var(--nacht-text); box-shadow: 6px 0 0 var(--nacht-text), 12px 0 0 var(--gelb); margin-right: 12px; }
.konsole-gastro .kg-leg-personal { width: 8px; height: 8px; background: var(--nacht-text); }
.konsole-gastro .kg-leg-leerlauf { width: 0.75rem; height: 0.75rem; background: repeating-linear-gradient(135deg, rgba(242, 242, 242, 0.55) 0 1px, transparent 1px 4px); box-shadow: inset 0 0 0 1px rgba(242, 242, 242, 0.2); }
.konsole-gastro .kg-leg-spitze { width: 0.45rem; height: 0.45rem; border: 1px solid var(--nacht-text); transform: rotate(45deg); }
.konsole-gastro .kg-unterschrift { margin: 1rem 0 0; font-size: 0.8125rem; line-height: 1.45; color: var(--nacht-text-2); text-wrap: pretty; }
.konsole-gastro .kg-unterschrift { max-width: 48rem; }
.konsole-gastro .kg-skala { gap: 0.45rem; }
.konsole-gastro .kg-skala-stufen { display: inline-flex; gap: 3px; }
.konsole-gastro .kg-skala-stufen i { display: block; width: 0.75rem; height: 0.75rem; }
@container (max-width: 30rem) {
  .konsole-gastro { --kg-namen: 4.6rem; }
  .konsole-gastro .kg-zeitbild { column-gap: 0.5rem; }
  .konsole-gastro .kg-regler { left: calc(var(--kg-namen) + 0.5rem); }
  .konsole-gastro .kg-neben { display: none; }
  .konsole-gastro .kg-marke { font-size: 0.5625rem; letter-spacing: 0.06em; }
  .konsole-gastro .kg-strich { stroke-width: 2; }
  .konsole-gastro .kg-tische { stroke-width: 4; }
  .konsole-gastro .kg-person { stroke-width: 6; }
  .konsole-gastro .kg-geist { stroke-width: 7; }
  .konsole-gastro .kg-geist-innen { stroke-width: 4.5; }
  .konsole-gastro .kg-marke-person { width: 6px; height: 6px; }
}
.js .konsole-gastro.zeichnen-wartet .kg-grund, .js .konsole-gastro.zeichnen-wartet .kg-spur { clip-path: inset(0 100% 0 0); }
.konsole-gastro.zeichnen-an .kg-grund { clip-path: inset(0 0 0 0); transition: clip-path 1200ms var(--kurve) 150ms; }
.konsole-gastro.zeichnen-an .kg-spur { clip-path: inset(0 0 0 0); transition: clip-path 1000ms var(--kurve) 700ms; }
.js .konsole-gastro.zeichnen-wartet .kg-oben, .js .konsole-gastro.zeichnen-wartet .kg-marken,
.js .konsole-gastro.zeichnen-wartet .kg-zellen > i, .js .konsole-gastro.zeichnen-wartet .kg-zeitkopf,
.js .konsole-gastro.zeichnen-wartet .kg-fenster { opacity: 0; }
.konsole-gastro.zeichnen-an .kg-marken { animation: einschalten 320ms steps(1, end) 450ms backwards; }
.konsole-gastro.zeichnen-an .kg-oben { animation: einschalten 320ms steps(1, end) 1150ms backwards; }
.konsole-gastro.zeichnen-an .kg-zellen > i { animation: kg-aufblenden 200ms ease-out calc(300ms + var(--v, 0) * 14ms) backwards; }   
@keyframes kg-aufblenden { from { opacity: 0; } }
.konsole-gastro.zeichnen-an .kg-zeitkopf, .konsole-gastro.zeichnen-an .kg-fenster { animation: einschalten 320ms steps(1, end) 1300ms backwards; }
.js .konsole-gastro.zeichnen-wartet .kg-balken i { transform: scaleX(0); }
.konsole-gastro.zeichnen-an .kg-balken i { transform: scaleX(1); transition: transform 700ms var(--kurve) calc(400ms + var(--i, 0) * 90ms); }
.konsole-gastro.zeichnen-an .kg-vor-zeile i { transition-delay: calc(800ms + var(--i, 0) * 90ms); }
.konsole-gastro.zeichnen-an .kg-vor-zeile .kg-nicht { transition-duration: 450ms; transition-delay: calc(1450ms + var(--i, 0) * 90ms); }   
.konsole-gastro.zeichnen-an .kg-rest i { transition-delay: 1300ms; }
.konsole-gastro.zeichnen-an .kg-rest .kg-vor-zeile i { transition-delay: 1600ms; }
.konsole-gastro.zeichnen-an .kg-rest .kg-vor-zeile .kg-nicht { transition-delay: 2250ms; }
@media (prefers-reduced-motion: reduce) {
  .konsole-gastro .kg-grund, .konsole-gastro .kg-spur { clip-path: none !important; }
}
.ruhe .konsole-gastro *, .ruhe .konsole-gastro *::before, .ruhe .konsole-gastro *::after { animation: none !important; transition: none !important; }
.js.ruhe .konsole-gastro.zeichnen-wartet .kg-grund, .js.ruhe .konsole-gastro.zeichnen-wartet .kg-spur { clip-path: none; }
.js.ruhe .konsole-gastro.zeichnen-wartet .kg-oben, .js.ruhe .konsole-gastro.zeichnen-wartet .kg-marken,
.js.ruhe .konsole-gastro.zeichnen-wartet .kg-zellen > i, .js.ruhe .konsole-gastro.zeichnen-wartet .kg-zeitkopf,
.js.ruhe .konsole-gastro.zeichnen-wartet .kg-fenster, .js.ruhe .konsole-gastro.zeichnen-wartet .empfehlung { opacity: 1; }
.js.ruhe .konsole-gastro.zeichnen-wartet .kg-balken i, .js.ruhe .konsole-gastro.zeichnen-wartet .daten-flaeche::before { transform: none; }
@media print {
  .konsole-gastro .kg-pause { display: none; }
}


.konsole-globus .kgl-gross { text-transform: uppercase; }
.konsole-globus .kgl-hinweise { margin-top: 1rem; }
.konsole-globus .kgl-umlauf { margin-top: 1.5rem; padding-top: 1.1rem; border-top: 1px solid var(--nacht-linie); }
.konsole-globus .kgl-titel, .konsole-globus .kgl-name, .konsole-globus .kgl-kopf span, .konsole-globus .kgl-boden-text, .konsole-globus .kgl-legende {
  font-family: var(--mono); font-size: 0.625rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--nacht-text-2);
}
.konsole-globus .kgl-titel { margin: 0 0 0.85rem; font-size: 0.6875rem; letter-spacing: 0.09em; color: var(--nacht-text); }
.konsole-globus .kgl-trolleys { display: flex; flex-wrap: wrap; align-items: center; gap: 0.6rem 1rem; margin-bottom: 1rem; }
.konsole-globus .kgl-plaetze { display: inline-flex; gap: 3px; }
.konsole-globus .kgl-platz { display: block; width: 1.25rem; height: 1.75rem; background: rgba(242, 242, 242, 0.24); }
.konsole-globus .kgl-platz.kgl-boden { background: var(--gelb); }
.konsole-globus .kgl-boden-text { display: inline-flex; align-items: center; gap: 0.45rem; color: var(--nacht-text); }
.konsole-globus .kgl-boden-text i { display: block; width: 0.45rem; height: 0.45rem; background: var(--gelb); }
.konsole-globus .kgl-zeilen { list-style: none; margin: 0; padding: 0; }
.konsole-globus .kgl-zeilen > li {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(4rem, 1fr) minmax(4rem, 1fr) minmax(0, 1fr);
  column-gap: 1rem; align-items: center; padding: 0.55rem 0; border-top: 1px solid var(--nacht-linie);
}
.konsole-globus .kgl-zeilen > .kgl-kopf { padding-top: 0; border-top: 0; }
.konsole-globus .kgl-artikel { min-width: 0; color: var(--nacht-text); overflow-wrap: break-word; }
.konsole-globus .kgl-balken { position: relative; display: block; height: 0.5rem; }
.konsole-globus .kgl-balken i { position: absolute; left: 0; top: 0; bottom: 0; display: block; }
.konsole-globus .kgl-bisher { box-shadow: inset 0 0 0 1px rgba(242, 242, 242, 0.55); }
.konsole-globus .kgl-vor { background: var(--nacht-text); }
.konsole-globus .kgl-legende { list-style: none; display: flex; flex-wrap: wrap; gap: 0.5rem 1.25rem; margin: 1rem 0 0; padding: 0; }
.konsole-globus .kgl-legende li { display: inline-flex; align-items: center; gap: 0.45rem; }
.konsole-globus .kgl-legende i { display: block; width: 1.25rem; height: 0.3125rem; }
.konsole-globus .kgl-lg-bisher { box-shadow: inset 0 0 0 1px rgba(242, 242, 242, 0.6); }
.konsole-globus .kgl-lg-vor { background: var(--nacht-text); }
.konsole-globus .kgl-lg-boden { background: var(--gelb); width: 0.75rem !important; height: 0.75rem !important; }
.konsole-globus .kgl-unterschrift { margin: 1rem 0 0; font-size: 0.8125rem; line-height: 1.45; color: var(--nacht-text-2); }
.konsole-globus .kgl-unterschrift { max-width: 48rem; }
@container (max-width: 34rem) {
  .konsole-globus .kgl-zeilen > li { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-areas: "artikel empf" "bisher vor"; row-gap: 0.35rem; column-gap: 0.75rem; }
  .konsole-globus .kgl-zeilen > .kgl-kopf { display: none; }
  .konsole-globus .kgl-artikel { grid-area: artikel; }
  .konsole-globus .kgl-zeilen .empfehlung { grid-area: empf; justify-self: end; }
  .konsole-globus .kgl-balken:nth-of-type(2) { grid-area: bisher; }
  .konsole-globus .kgl-balken:nth-of-type(3) { grid-area: vor; }
}
.konsole-globus.kgl-js .kgl-hinweise > li { position: relative; }
.konsole-globus .kgl-wahl {
  margin: 0; padding: 0; border: 0; background: none; font: inherit; color: inherit; letter-spacing: inherit;
  text-transform: inherit; text-align: left; cursor: pointer;
}
.konsole-globus .kgl-wahl::after { content: ""; position: absolute; inset: 0; }
.konsole-globus .kgl-wahl:focus-visible { outline: 2px solid var(--gelb); outline-offset: 3px; }
.konsole-globus .kgl-hinweise > li:hover .k-hw-befund, .konsole-globus .kgl-gewaehlt .k-hw-befund { color: var(--nacht-text); }
.konsole-globus .kgl-gewaehlt .kgl-wahl { text-decoration: underline; text-underline-offset: 0.3em; text-decoration-thickness: 1px; }
.konsole-globus .kgl-umlauf[hidden] { display: none; }


.konsole-hotel {
  --kh-grund: var(--nacht, #0F1012);
  --kh-text: var(--nacht-text, #F2F2F2);
  --kh-text-2: var(--nacht-text-2, #A9ACB0);
  --kh-linie: var(--nacht-linie, #34373B);
  --kh-gelb: var(--gelb, #F7FF78);
  --kh-mono: var(--mono, "Geist Mono Variable", ui-monospace, "SF Mono", Menlo, Consolas, monospace);
  --kh-sans: var(--sans, "Public Sans Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif);
  --kh-kurve: var(--kurve, cubic-bezier(0.25, 0.46, 0.45, 0.94));
  --kh-ecke: rgba(242, 242, 242, 0.3);
  --kh-umriss: rgba(242, 242, 242, 0.55);
  --kh-platte: rgba(242, 242, 242, 0.1);       
  --kh-wand: rgba(242, 242, 242, 0.5);         
  --kh-flaeche-v: rgba(242, 242, 242, 0.1);    
  --kh-schraffur: repeating-linear-gradient(135deg, rgba(242, 242, 242, 0.55) 0 1px, transparent 1px 5px);
  --kh-schraffur-gelb: repeating-linear-gradient(135deg, rgba(247, 255, 120, 0.8) 0 1.25px, transparent 1.25px 4.5px);   
  --kh-h-etage: 1.375rem;      
  --kh-h-bereich: 2.5rem;      
  --kh-h-dienst: 6rem;         
  --kh-dauer: 520ms;
  --kh-bg: var(--kh-grund);    
  position: relative;
  width: 100%;
  margin: 0;
  padding: 1.25rem;
  text-align: left;
  container-type: inline-size;   
  background: var(--kh-bg);
  color: var(--kh-text);
  font-family: var(--kh-sans);
  font-size: 0.875rem;
  line-height: 1.4;
  font-feature-settings: "tnum" 1, "lnum" 1;
}
.dunkel .konsole-hotel, .buehne .konsole-hotel { --kh-bg: var(--nacht-2, #1E2124); box-shadow: inset 0 0 0 1px var(--kh-linie); }
.konsole-hotel *, .konsole-hotel *::before, .konsole-hotel *::after { box-sizing: border-box; }
.konsole-hotel p { margin: 0; }
.konsole-hotel :focus-visible { outline: 2px solid var(--kh-gelb); outline-offset: 2px; }
.konsole-hotel [hidden] { display: none !important; }
.konsole-hotel .kh-vorleser {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.konsole-hotel .kh-titel, .konsole-hotel .kh-zeitraum, .konsole-hotel .kh-klein, .konsole-hotel .kh-kueche-text,
.konsole-hotel .kh-achse, .konsole-hotel .kh-achse-name, .konsole-hotel .kh-code, .konsole-hotel .kh-marke,
.konsole-hotel .kh-legende, .konsole-hotel .kh-schluessel, .konsole-hotel .kh-teil-kopf, .konsole-hotel .kh-rat,
.konsole-hotel .kh-zeiger-zeit {
  font-family: var(--kh-mono); font-size: 0.625rem; letter-spacing: 0.08em; text-transform: uppercase;
  font-variant-numeric: tabular-nums; color: var(--kh-text-2);
}
.konsole-hotel .kh-kopf {
  display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 0.35rem 1rem;
  min-height: 1.75rem;   
  margin-bottom: 1rem;
}
.konsole-hotel .kh-titel, .konsole-hotel .kh-zeitraum { font-size: 0.6875rem; letter-spacing: 0.09em; }
.konsole-hotel .kh-lage {
  display: inline-flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 0.35rem 1.1em;
  margin-left: auto; white-space: nowrap;
}
.konsole-hotel .kh-pause {
  min-height: 1.75rem; min-width: 15ch; padding: 0 0.6rem; margin: 0; background: none; cursor: pointer;
  border: 1px solid var(--kh-linie); color: var(--kh-text-2);
  font-family: var(--kh-mono); font-size: 0.6875rem; letter-spacing: 0.09em; text-transform: uppercase;
}
.konsole-hotel .kh-pause[aria-pressed="true"] { color: var(--kh-gelb); border-color: var(--kh-gelb); }
.konsole-hotel:not(.kh-js) .kh-pause { visibility: hidden; }   
.konsole-hotel .kh-flaeche { position: relative; padding-top: 1.1rem; }
.konsole-hotel .kh-flaeche::before {
  content: ""; position: absolute; left: 0; right: 0; top: 0; height: 1px; background: var(--kh-linie); transform-origin: left center;
}
.konsole-hotel .kh-steuer { display: inline-flex; align-items: center; }   
.konsole-hotel .kh-modus { display: inline-flex; }
.konsole-hotel .kh-knopf {
  min-height: 1.75rem; padding: 0 0.65rem; margin: 0; cursor: pointer; background: none;
  border: 1px solid var(--kh-linie); color: var(--kh-text-2);
  font-family: var(--kh-mono); font-size: 0.6875rem; letter-spacing: 0.09em; text-transform: uppercase;
  transition: color 250ms ease-in-out, background-color 250ms ease-in-out, border-color 250ms ease-in-out;
}
.konsole-hotel .kh-knopf + .kh-knopf { margin-left: -1px; }
.konsole-hotel .kh-knopf:hover:not(:disabled) { color: var(--kh-text); }
.konsole-hotel .kh-knopf[aria-pressed="true"] { position: relative; color: var(--kh-text); border-color: var(--kh-umriss); background: rgba(242, 242, 242, 0.1); }
.konsole-hotel .kh-knopf:disabled { cursor: default; }
.konsole-hotel:not(.kh-js) .kh-steuer { display: none; }   
.konsole-hotel .kh-buehne {
  --kh-etikett: 9.5rem;        
  --kh-luft: 1rem;
  position: relative;
  display: grid;
  grid-template-columns: var(--kh-etikett) minmax(0, 1fr);
  grid-template-rows: auto var(--kh-h-dienst) auto auto;
  column-gap: var(--kh-luft);
}
.konsole-hotel .kh-kueche-text { grid-column: 2; grid-row: 1; }
.konsole-hotel .kh-dienst-etikett { grid-column: 1; grid-row: 2; }
.konsole-hotel .kh-dienst-plot { grid-column: 2; grid-row: 2; }
.konsole-hotel .kh-wahlen { grid-column: 1; grid-row: 3; }
.konsole-hotel .kh-schnitt-plot { grid-column: 2; grid-row: 3; }
.konsole-hotel .kh-achse-name { grid-column: 1; grid-row: 4; }
.konsole-hotel .kh-achse { grid-column: 2; grid-row: 4; }
.konsole-hotel .kh-zeiger { grid-column: 2; grid-row: 1 / -1; }
.konsole-hotel .kh-kueche-text {
  position: relative; display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: baseline;
  padding: 0 0.45rem 0.55rem 0; margin-right: calc(100% - var(--kh-kueche)); color: var(--kh-text);
  text-align: right;
}
.konsole-hotel .kh-kueche-text::after {   
  content: ""; position: absolute; right: 0; bottom: 0; width: 0.45rem; height: 0.45rem;
  border-top: 1px solid rgba(242, 242, 242, 0.45); border-right: 1px solid rgba(242, 242, 242, 0.45);
}
.konsole-hotel .kh-trenner { white-space: pre; color: var(--kh-text-2); }
.konsole-hotel .kh-dienst-etikett { display: flex; flex-direction: column; justify-content: flex-end; gap: 0.25rem; padding-bottom: 0.15rem; min-width: 0; }
.konsole-hotel .kh-dienst-name { font-size: 0.8125rem; line-height: 1.2; color: var(--kh-text); overflow-wrap: anywhere; }
.konsole-hotel .kh-plot { position: relative; min-width: 0; }
.konsole-hotel .kh-dienst-plot { height: var(--kh-h-dienst); box-shadow: inset 0 -1px 0 var(--kh-wand); }
.konsole-hotel .kh-dienst-flaeche { position: absolute; inset: 0; }
.konsole-hotel .kh-dienst-flaeche:not([hidden]) { animation: kh-aufblenden 260ms var(--kh-kurve); }
@keyframes kh-aufblenden { from { opacity: 0; } }
.konsole-hotel .kh-dienst-svg, .konsole-hotel .kh-schnitt-svg {
  position: absolute; inset: 0; width: 100%; height: 100%; display: block; overflow: visible;
}
.konsole-hotel svg path, .konsole-hotel svg rect { vector-effect: non-scaling-stroke; }
.konsole-hotel .kh-gitter { fill: none; stroke: rgba(242, 242, 242, 0.06); stroke-width: 1; }
.konsole-hotel .kh-licht { fill: rgba(242, 242, 242, 0.045); }
.konsole-hotel .kh-vorschlag { fill: var(--kh-flaeche-v); stroke: var(--kh-text); stroke-width: 1.5; stroke-linejoin: miter; }
.konsole-hotel .kh-kerbe { fill: rgba(242, 242, 242, 0.16); stroke: var(--kh-text); stroke-width: 1; stroke-dasharray: 3 2; }
.konsole-hotel .kh-bisher { fill: none; stroke: var(--kh-umriss); stroke-width: 1.25; stroke-linejoin: miter; stroke-dasharray: 3 3; transition: stroke var(--kh-dauer) var(--kh-kurve); }
.konsole-hotel[data-zustand="bisher"] .kh-bisher { stroke: var(--kh-text); stroke-width: 1.5; stroke-dasharray: none; }
.konsole-hotel .kh-kurve-grund { fill: none; stroke: var(--kh-bg); stroke-width: 4.5; stroke-linejoin: round; stroke-linecap: round; opacity: 0.85; }
.konsole-hotel .kh-kurve { fill: none; stroke: var(--kh-text); stroke-width: 1.5; stroke-linejoin: round; stroke-linecap: round; }
.konsole-hotel .kh-kueche { fill: none; stroke: rgba(242, 242, 242, 0.45); stroke-width: 1; stroke-dasharray: 2 3; }
.konsole-hotel .kh-schraffuren { position: absolute; inset: 0; pointer-events: none; }
.konsole-hotel .kh-schraffur { position: absolute; inset: 0; background: var(--kh-schraffur); }
.konsole-hotel .kh-schraffur.kh-gelb-weg { background: var(--kh-schraffur-gelb); }
.konsole-hotel .kh-marke {
  position: absolute; z-index: 1; transform: translate(-50%, calc(-100% - 0.3rem)); white-space: nowrap; pointer-events: none;
  color: var(--kh-text); line-height: 1;
}
.konsole-hotel .kh-marke.kh-m-l { transform: translate(-0.6rem, calc(-100% - 0.3rem)); }
.konsole-hotel .kh-marke.kh-m-r { transform: translate(calc(-100% + 0.6rem), calc(-100% - 0.3rem)); }
.konsole-hotel .kh-marke > span {
  display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.2rem 0.3rem; background: var(--kh-bg);
  box-shadow: inset 0 0 0 1px var(--kh-linie);
}
.konsole-hotel .kh-marke > span::before {
  content: ""; flex: none; width: 0.5rem; height: 0.5rem;
  transition: background-color var(--kh-dauer) var(--kh-kurve), box-shadow var(--kh-dauer) var(--kh-kurve);
}
.konsole-hotel .kh-m-leer > span::before { background: var(--kh-schraffur); box-shadow: inset 0 0 0 1px rgba(242, 242, 242, 0.55); }
.konsole-hotel .kh-m-kerbe > span::before { background: rgba(242, 242, 242, 0.16); outline: 1px dashed var(--kh-text); outline-offset: -1px; }
.konsole-hotel .kh-spitze {
  position: absolute; z-index: 1; width: 0.5rem; height: 0.5rem; transform: translate(-50%, -50%) rotate(45deg);
  background: var(--kh-bg); border: 1px solid var(--kh-text); pointer-events: none;
}
.konsole-hotel .kh-wahlen, .konsole-hotel .kh-schnitt-plot { margin-top: 1.5rem; }
.konsole-hotel .kh-wahlen {
  display: grid; grid-template-rows: var(--kh-zeilen); min-width: 0;
  box-shadow: inset 0 1px 0 var(--kh-wand);   
}
.konsole-hotel .kh-schnitt-plot {
  box-shadow: inset 0 1px 0 var(--kh-wand), inset 1px 0 0 var(--kh-platte), inset -1px 0 0 var(--kh-platte);
}
.konsole-hotel .kh-schnitt-plot::before {
  content: ""; position: absolute; inset: -0.45rem -0.45rem -0.45rem -0.45rem; pointer-events: none;
  background:
    linear-gradient(var(--kh-ecke), var(--kh-ecke)) left top / 0.6rem 1px no-repeat,
    linear-gradient(var(--kh-ecke), var(--kh-ecke)) left top / 1px 0.6rem no-repeat,
    linear-gradient(var(--kh-ecke), var(--kh-ecke)) right top / 0.6rem 1px no-repeat,
    linear-gradient(var(--kh-ecke), var(--kh-ecke)) right top / 1px 0.6rem no-repeat,
    linear-gradient(var(--kh-ecke), var(--kh-ecke)) left bottom / 0.6rem 1px no-repeat,
    linear-gradient(var(--kh-ecke), var(--kh-ecke)) left bottom / 1px 0.6rem no-repeat,
    linear-gradient(var(--kh-ecke), var(--kh-ecke)) right bottom / 0.6rem 1px no-repeat,
    linear-gradient(var(--kh-ecke), var(--kh-ecke)) right bottom / 1px 0.6rem no-repeat;
}
.konsole-hotel .kh-platte { fill: none; stroke: var(--kh-platte); stroke-width: 1; }
.konsole-hotel .kh-boden { fill: none; stroke: var(--kh-wand); stroke-width: 1; }
.konsole-hotel .kh-keller { fill: rgba(242, 242, 242, 0.025); }
.konsole-hotel .kh-nacht { fill: rgba(242, 242, 242, 0.035); }
.konsole-hotel .kh-band { opacity: 0.6; transition: opacity 300ms var(--kh-kurve); }
.konsole-hotel[data-bereich="etagen"] .kh-band[data-bereich="etagen"],
.konsole-hotel[data-bereich="lobby"] .kh-band[data-bereich="lobby"],
.konsole-hotel[data-bereich="restaurant"] .kh-band[data-bereich="restaurant"],
.konsole-hotel[data-bereich="pool"] .kh-band[data-bereich="pool"],
.konsole-hotel[data-bereich="bankett"] .kh-band[data-bereich="bankett"] { opacity: 1; }
.konsole-hotel .kh-wahl {
  position: relative; display: flex; align-items: center; gap: 0.5rem; min-width: 0; margin: 0; padding: 0 0.5rem 0 0.95rem;
  background: none; border: 0; box-shadow: inset 0 1px 0 var(--kh-platte); cursor: pointer;
  color: var(--kh-text-2); font: inherit; font-size: 0.8125rem; line-height: 1.15; text-align: left;
  transition: color 250ms ease-in-out;
}
.konsole-hotel .kh-wahl:first-child { box-shadow: none; }
.konsole-hotel .kh-wahl:disabled { cursor: default; color: var(--kh-text-2); }
.konsole-hotel .kh-wahl:hover:not(:disabled), .konsole-hotel .kh-wahl[aria-pressed="true"] { color: var(--kh-text); }
.konsole-hotel .kh-wahl:focus-visible { outline-offset: -2px; }
.konsole-hotel .kh-wahl::before {   
  content: ""; position: absolute; left: 0; top: 50%; width: 0.4rem; height: 0.4rem; margin-top: -0.2rem;
  box-shadow: inset 0 0 0 1px var(--kh-linie); transition: background-color 250ms ease-in-out, box-shadow 250ms ease-in-out;
}
.konsole-hotel .kh-wahl[aria-pressed="true"]::before { background: var(--kh-text); box-shadow: none; }
.konsole-hotel .kh-wahl-name { min-width: 0; overflow-wrap: break-word; hyphens: manual; }
.konsole-hotel .kh-wahl.kh-unter { box-shadow: inset 0 1px 0 var(--kh-wand); background: rgba(242, 242, 242, 0.025); }
.konsole-hotel .kh-wahl-etagen {
  display: grid; grid-template-columns: minmax(0, 1fr) 1.5rem; grid-template-rows: repeat(var(--n), var(--kh-h-etage));
  align-items: center; gap: 0 0.5rem; padding-right: 0;
}
.konsole-hotel .kh-wahl-etagen .kh-wahl-name { grid-column: 1; grid-row: 1 / -1; }
.konsole-hotel .kh-code {
  grid-column: 2; align-self: stretch; display: flex; align-items: center; justify-content: flex-end; padding-right: 0.15rem;
  box-shadow: inset 0 1px 0 var(--kh-platte); transition: color 200ms ease-in-out;
}
.konsole-hotel .kh-code:first-of-type { box-shadow: none; }
.konsole-hotel .kh-wahl-etagen[aria-pressed="true"] .kh-code { color: var(--kh-text); }
.konsole-hotel .kh-code.kh-hell, .konsole-hotel .kh-wahl.kh-hell { color: var(--kh-text); }
.konsole-hotel .kh-achse { position: relative; height: 1.4rem; margin-top: 0.5rem; }
.konsole-hotel .kh-h { position: absolute; top: 0; transform: translateX(-50%); }
.konsole-hotel .kh-h:first-child { transform: none; }
.konsole-hotel .kh-h:last-child { transform: translateX(-100%); }
.konsole-hotel .kh-achse-name { margin-top: 0.5rem; padding-left: 0.95rem; }
.konsole-hotel .kh-zeiger { position: relative; pointer-events: none; opacity: 0; transition: opacity 160ms ease-in-out; --x: 50%; }
.konsole-hotel .kh-zeiger::before {
  content: ""; position: absolute; top: 0; bottom: 1.4rem; left: var(--x); width: 1px; margin-left: -0.5px;
  background: rgba(242, 242, 242, 0.7);
}
.konsole-hotel .kh-zeiger-zeit {
  position: absolute; bottom: 0; left: var(--x); transform: translateX(-50%); padding: 0.1rem 0.3rem;
  background: var(--kh-text); color: var(--kh-grund); line-height: 1.2;
}
.konsole-hotel.kh-zeigt .kh-zeiger { opacity: 1; }
.konsole-hotel.kh-js .kh-plot, .konsole-hotel.kh-js .kh-achse { touch-action: pan-y; }
.konsole-hotel .kh-legende, .konsole-hotel .kh-schluessel {
  list-style: none; display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 1.25rem; padding: 0;
}
.konsole-hotel .kh-legende { margin: 1.1rem 0 0; }
.konsole-hotel .kh-legende li, .konsole-hotel .kh-schluessel span { display: inline-flex; align-items: center; gap: 0.45rem; }
.konsole-hotel .kh-legende i, .konsole-hotel .kh-schluessel i { display: block; flex: none; }
.konsole-hotel .kh-lg-bisher { width: 1.25rem; height: 0.6rem; box-shadow: inset 1px 1px 0 var(--kh-umriss), inset -1px 0 0 var(--kh-umriss); }
.konsole-hotel .kh-lg-vorschlag { width: 1.25rem; height: 0.6rem; background: var(--kh-flaeche-v); box-shadow: inset 0 1.5px 0 var(--kh-text); }
.konsole-hotel .kh-lg-voll { width: 1.25rem; height: 0.5rem; background: rgba(242, 242, 242, 0.74); }
.konsole-hotel .kh-lg-nachfrage { width: 1.25rem; height: 0; border-top: 1.5px solid var(--kh-text); }
.konsole-hotel .kh-lg-dienst { width: 1.25rem; height: 0.6rem; background: linear-gradient(var(--kh-text-2), var(--kh-text-2)) 0 100% / 40% 1px no-repeat, linear-gradient(var(--kh-text-2), var(--kh-text-2)) 100% 0 / 60% 1px no-repeat, linear-gradient(var(--kh-text-2), var(--kh-text-2)) 40% 0 / 1px 100% no-repeat; }
.konsole-hotel .kh-lg-leerlauf { width: 0.75rem; height: 0.75rem; background: var(--kh-schraffur); box-shadow: inset 0 0 0 1px rgba(242, 242, 242, 0.45); }
.konsole-hotel .kh-lg-kerbe { width: 0.75rem; height: 0.75rem; border: 1px dashed var(--kh-text); background: rgba(242, 242, 242, 0.16); }
.konsole-hotel .kh-lg-luecke { width: 0.75rem; height: 0.75rem; background: var(--kh-schraffur-gelb); }
.konsole-hotel .kh-lg-nicht { width: 0.75rem; height: 0.75rem; background: var(--kh-gelb); }
.konsole-hotel .kh-schluessel .kh-lg-nicht { width: 1.25rem; height: 0.5rem; }
.konsole-hotel .kh-lg-spitze { width: 0.5rem; height: 0.5rem; border: 1px solid var(--kh-text); transform: rotate(45deg) scale(0.85); }
.konsole-hotel .kh-lg-wert { gap: 0.45rem; }
.konsole-hotel .kh-skala { display: inline-flex; gap: 3px; }
.konsole-hotel .kh-skala i { width: 0.75rem; height: 0.75rem; }
.konsole-hotel .kh-skala .s1 { background: rgba(242, 242, 242, 0.11); }
.konsole-hotel .kh-skala .s2 { background: rgba(242, 242, 242, 0.24); }
.konsole-hotel .kh-skala .s3 { background: rgba(242, 242, 242, 0.44); }
.konsole-hotel .kh-skala .s4 { background: rgba(242, 242, 242, 0.74); }
.konsole-hotel .kh-unten {
  display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.75rem; margin-top: 1.5rem; padding-top: 1.1rem;
  border-top: 1px solid var(--kh-linie);
}
@container (min-width: 46rem) {
  .konsole-hotel .kh-unten { grid-template-columns: minmax(0, 2.2fr) minmax(12rem, 1fr); gap: 2.5rem; }
  .konsole-hotel .kh-minibar { padding-left: 2.5rem; box-shadow: inset 1px 0 0 var(--kh-linie); }
}
.konsole-hotel .kh-teil { min-width: 0; }
.konsole-hotel .kh-teil-kopf { font-size: 0.6875rem; letter-spacing: 0.09em; color: var(--kh-text); margin-bottom: 0.7rem; }
.konsole-hotel .kh-schluessel { margin: 0 0 0.6rem; }
.konsole-hotel .kh-gerichte { list-style: none; margin: 0; padding: 0; }
.konsole-hotel .kh-gerichte li {
  display: grid; grid-template-columns: minmax(6.5rem, 0.8fr) minmax(0, 2fr) 10.5rem; gap: 0 1.25rem; align-items: center;
  padding: 0.65rem 0; border-top: 1px solid var(--kh-linie);
}
.konsole-hotel .kh-gericht { min-width: 0; overflow-wrap: anywhere; }
.konsole-hotel .kh-leiste { position: relative; display: block; height: 0.625rem; }
.konsole-hotel .kh-leiste > i { position: absolute; top: 0; bottom: 0; display: block; }
.konsole-hotel .kh-l-vorschlag { left: 0; width: calc(var(--v) * 100%); background: rgba(242, 242, 242, 0.74); }
.konsole-hotel .kh-l-gelb { left: calc(var(--v) * 100%); width: calc(var(--g) * 100%); background: var(--kh-gelb); }
.konsole-hotel .kh-l-bisher { left: 0; width: calc(var(--b) * 100%); box-shadow: inset 0 0 0 1px var(--kh-umriss); }
.konsole-hotel[data-zustand="bisher"] .kh-l-vorschlag { width: calc(var(--b) * 100%); background: rgba(242, 242, 242, 0.3); }
.konsole-hotel[data-zustand="bisher"] .kh-l-gelb { opacity: 0; }
.konsole-hotel .kh-l-vorschlag { transition: width var(--kh-dauer) var(--kh-kurve), background-color var(--kh-dauer) var(--kh-kurve); }
.konsole-hotel .kh-l-gelb { transition: opacity var(--kh-dauer) var(--kh-kurve) 120ms; }
.konsole-hotel .kh-rat { display: inline-flex; align-items: center; gap: 0.45rem; font-size: 0.6875rem; letter-spacing: 0.06em; }
.konsole-hotel .kh-rat.kh-handeln { color: var(--kh-text); }
.konsole-hotel .kh-rat.kh-handeln::before {
  content: ""; width: 0.45rem; height: 0.45rem; background: var(--kh-gelb); flex: none; transition: background-color var(--kh-dauer) var(--kh-kurve);
}
.konsole-hotel[data-zustand="bisher"] .kh-rat.kh-handeln::before { background: var(--kh-text-2); }   
@container (max-width: 34rem) {
  .konsole-hotel .kh-gerichte li { grid-template-columns: minmax(0, 1fr) auto; gap: 0.5rem 1rem; }
  .konsole-hotel .kh-leiste { grid-column: 1 / -1; grid-row: 2; }
}
.konsole-hotel .kh-mb-feld { max-width: 15rem; }
.konsole-hotel .kh-mb-svg { display: block; width: 100%; height: auto; overflow: visible; }
.konsole-hotel .kh-mb-kennung { font-family: var(--kh-mono); font-size: 8px; letter-spacing: 0.06em; fill: var(--kh-text-2); dominant-baseline: central; text-anchor: middle; }
.konsole-hotel .kh-mb-k {
  fill: rgba(242, 242, 242, 0.44); transform-box: fill-box; transform-origin: center;
  transition: transform 760ms var(--kh-kurve) calc(var(--i) * 45ms), opacity 300ms ease-in calc(380ms + var(--i) * 45ms);
}
.konsole-hotel[data-zustand="vorschlag"] .kh-mb-k { transform: translate(var(--dx), var(--dy)) scale(0.35); opacity: 0; }
.konsole-hotel[data-zustand="bisher"] .kh-mb-k { transition: transform 600ms var(--kh-kurve) calc(var(--i) * 30ms), opacity 160ms ease-out calc(var(--i) * 30ms); }
.konsole-hotel .kh-mb-geist { fill: none; stroke: rgba(242, 242, 242, 0.3); stroke-width: 1; stroke-dasharray: 2 2; }
.konsole-hotel .kh-mb-weg { fill: none; stroke: rgba(242, 242, 242, 0.35); stroke-width: 1; }
.konsole-hotel .kh-mb-lager-umriss { fill: none; stroke: var(--kh-umriss); stroke-width: 1; stroke-dasharray: 2 2; }
.konsole-hotel .kh-mb-lager { fill: var(--kh-text); }
.konsole-hotel[data-zustand="vorschlag"] .kh-mb-lager { transition-delay: 600ms; }
.konsole-hotel .kh-mb-text { display: grid; margin-top: 0.75rem; font-size: 0.8125rem; color: var(--kh-text-2); }
.konsole-hotel .kh-mb-text > span { grid-area: 1 / 1; }
.konsole-hotel .kh-hinweise { margin-top: 1.5rem; }
.konsole-hotel .kh-kennzahlen { margin: 1.25rem 0 0; padding-top: 0.75rem; border-top: 1px solid var(--kh-linie); }
.konsole-hotel .kh-unterschrift { margin-top: 1rem; font-size: 0.8125rem; line-height: 1.45; color: var(--kh-text-2); text-wrap: pretty; }
.konsole-hotel .kh-unterschrift { max-width: 48rem; }
.konsole-hotel .kh-fuss {
  margin-top: 1rem; padding-top: 0.75rem; border-top: 1px solid var(--kh-linie);
  font-size: 0.8125rem; line-height: 1.45; color: var(--kh-text-2);
}
.konsole-hotel .kh-b, .konsole-hotel .kh-v { transition: opacity var(--kh-dauer) var(--kh-kurve); }
.konsole-hotel[data-zustand="vorschlag"] .kh-b { opacity: 0; }
.konsole-hotel[data-zustand="bisher"] .kh-v { opacity: 0; }
.konsole-hotel[data-zustand="bisher"] .kh-mb-lager-umriss { opacity: 0; }
.konsole-hotel .kh-mb-lager-umriss { transition: opacity var(--kh-dauer) var(--kh-kurve); }
.konsole-hotel[data-zustand="vorschlag"] .kh-gelb { transition-delay: 140ms; }
@container (max-width: 40rem) {
  .konsole-hotel .kh-buehne { --kh-etikett: 7.25rem; --kh-luft: 0.75rem; }
  .konsole-hotel .kh-h-fein { display: none; }
  .konsole-hotel .kh-kueche-text { flex-direction: column; align-items: flex-end; }
  .konsole-hotel .kh-trenner { display: none; }
  .konsole-hotel .kh-marke { display: none; }   
}
@container (max-width: 30rem) {
  .konsole-hotel .kh-buehne { --kh-etikett: 5.6rem; --kh-luft: 0.6rem; }
  .konsole-hotel .kh-wahl { font-size: 0.75rem; padding-left: 0.75rem; padding-right: 0.25rem; }
  .konsole-hotel .kh-achse-name { padding-left: 0.75rem; }
  .konsole-hotel .kh-wahl-etagen { grid-template-columns: minmax(0, 1fr) 1.1rem; padding-right: 0; }
  .konsole-hotel .kh-dienst-name { font-size: 0.75rem; }
  .konsole-hotel .kh-h-fein, .konsole-hotel .kh-h-mittel { display: none; }
}
@keyframes kh-einschalten {   
  0% { opacity: 0; } 30% { opacity: 0.8; } 50% { opacity: 0.1; } 70% { opacity: 0.7; } 85% { opacity: 0; } 100% { opacity: 1; }
}
.konsole-hotel.kh-wartet .kh-flaeche::before { transform: scaleX(0); }
.konsole-hotel.kh-zeichnen .kh-flaeche::before { transform: scaleX(1); transition: transform 400ms var(--kh-kurve); }
.konsole-hotel.kh-wartet .kh-dienst-flaeche, .konsole-hotel.kh-wartet .kh-schnitt-svg { clip-path: inset(-2rem 100% -2rem 0); }
.konsole-hotel.kh-zeichnen .kh-dienst-flaeche, .konsole-hotel.kh-zeichnen .kh-schnitt-svg {
  clip-path: inset(-2rem -2rem -2rem -2rem); transition: clip-path 1300ms var(--kh-kurve) 250ms;
}
.konsole-hotel.kh-zeichnen .kh-schnitt-svg { transition-delay: 450ms; }
.konsole-hotel.kh-wartet .kh-leiste { clip-path: inset(0 100% 0 0); }
.konsole-hotel.kh-zeichnen .kh-leiste { clip-path: inset(0 0 0 0); transition: clip-path 800ms var(--kh-kurve) calc(700ms + var(--i, 0) * 90ms); }
.konsole-hotel.kh-wartet .kh-mb-feld, .konsole-hotel.kh-wartet .kh-hinweise li, .konsole-hotel.kh-wartet .kh-rat,
.konsole-hotel.kh-wartet .kh-spitze { opacity: 0; }
.konsole-hotel.kh-zeichnen .kh-spitze { animation: kh-einschalten 320ms steps(1, end) 1500ms backwards; }
.konsole-hotel.kh-zeichnen .kh-mb-feld { animation: kh-einschalten 320ms steps(1, end) 900ms backwards; }
.konsole-hotel.kh-zeichnen .kh-hinweise li { animation: kh-einschalten 320ms steps(1, end) calc(1300ms + var(--i, 0) * 110ms) backwards; }
.konsole-hotel.kh-zeichnen .kh-rat { animation: kh-einschalten 320ms steps(1, end) 1200ms backwards; }
@media (prefers-reduced-motion: reduce) {
  .konsole-hotel *, .konsole-hotel *::before, .konsole-hotel *::after { transition: none !important; animation: none !important; }
  .konsole-hotel .kh-pause { display: none; }
}
.ruhe .konsole-hotel *, .ruhe .konsole-hotel *::before, .ruhe .konsole-hotel *::after,
.konsole-hotel.kh-still *, .konsole-hotel.kh-still *::before, .konsole-hotel.kh-still *::after { transition: none !important; animation: none !important; }


.konsole-raster .kr-titel { text-transform: uppercase; }
.konsole-raster .kr-raster {
  display: grid; grid-template-columns: max-content repeat(9, minmax(0, 1fr)); gap: 3px; align-items: center;
}
.konsole-raster .kr-stunde, .konsole-raster .kr-tag {
  font-family: var(--mono); font-size: 0.625rem; letter-spacing: 0.04em; text-transform: uppercase; color: var(--nacht-text-2);
}
.konsole-raster .kr-stunde { text-align: center; padding-bottom: 0.35rem; white-space: nowrap; }
.konsole-raster .kr-tag { padding-right: 0.6rem; white-space: nowrap; }
.konsole-raster .kr-z { display: block; height: clamp(1.25rem, 0.6rem + 3cqi, 2rem); }
.konsole-raster .kr-stark { box-shadow: 0 0 0 1px var(--nacht-2, #1E2124), 0 0 0 2.5px var(--nacht-text); position: relative; z-index: 1; }
.konsole-raster .kr-legende { list-style: none; padding: 0; }
.konsole-raster .kr-legende > li { display: inline-flex; align-items: center; gap: 0.45rem; }
.konsole-raster .kr-skala { display: inline-flex; gap: 3px; }
.konsole-raster .kr-skala i { display: block; width: 0.75rem; height: 0.75rem; }
.konsole-raster .kr-lg-stark { display: block; width: 0.75rem; height: 0.75rem; box-shadow: inset 0 0 0 1.5px var(--nacht-text); }
.konsole-raster .kr-hinweise { margin-top: 1rem; }
@container (max-width: 30rem) {
  .konsole-raster .kr-neben { visibility: hidden; }
  .konsole-raster .kr-raster { gap: 2px; }
}


.konsole-schiff {
  --ks-tafel: var(--nacht, #0F1012);
  --ks-text: var(--nacht-text, #F2F2F2);
  --ks-text-2: var(--nacht-text-2, #A9ACB0);
  --ks-linie: var(--nacht-linie, #34373B);
  --ks-gelb: var(--gelb, #F7FF78);
  --ks-mono: var(--mono, "Geist Mono Variable", ui-monospace, "SF Mono", Menlo, Consolas, monospace);
  --ks-sans: var(--sans, "Public Sans Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif);
  --ks-kurve: var(--kurve, cubic-bezier(0.25, 0.46, 0.45, 0.94));
  --ks-ecke: rgba(242, 242, 242, 0.3);
  --ks-umriss: rgba(242, 242, 242, 0.45);
  --ks-raster: rgba(242, 242, 242, 0.07);
  --ks-feld: rgba(242, 242, 242, 0.035);
  --ks-voll: rgba(242, 242, 242, 0.74);
  --ks-schraffur: repeating-linear-gradient(135deg, var(--ks-gelb) 0 1.5px, transparent 1.5px 4.5px);              
  --ks-grau-schraffur: repeating-linear-gradient(135deg, rgba(242, 242, 242, 0.55) 0 1px, transparent 1px 4px);  
  --ks-grau-voll: rgba(242, 242, 242, 0.3);                                                                     
  --ks-namen: 5.75rem;   
  --ks-spalt: 0.75rem;
  --ks-links: calc(var(--ks-namen) + var(--ks-spalt));   
  position: relative;
  width: 100%;
  margin: 0;
  padding: 1.25rem;
  text-align: left;
  container-type: inline-size;   
  background: var(--ks-tafel);
  color: var(--ks-text);
  font-family: var(--ks-sans);
  font-size: 0.875rem;
  line-height: 1.4;
  font-feature-settings: "tnum" 1, "lnum" 1;
}
.dunkel .konsole-schiff, .buehne .konsole-schiff { --ks-tafel: var(--nacht-2, #1E2124); box-shadow: inset 0 0 0 1px var(--ks-linie); }
.konsole-schiff *, .konsole-schiff *::before, .konsole-schiff *::after { box-sizing: border-box; }
.konsole-schiff p, .konsole-schiff ol, .konsole-schiff ul { margin: 0; }
.konsole-schiff ol, .konsole-schiff ul { list-style: none; padding: 0; }
.konsole-schiff :focus-visible { outline: 2px solid var(--ks-gelb); outline-offset: 2px; }
.konsole-schiff svg { display: block; overflow: visible; }
.konsole-schiff .ks-titel, .konsole-schiff .ks-block-kopf, .konsole-schiff .ks-spaltenkopf, .konsole-schiff .ks-ort-name,
.konsole-schiff .ks-achse, .konsole-schiff .ks-achse-name, .konsole-schiff .ks-legende, .konsole-schiff .ks-mini-legende,
.konsole-schiff .ks-kennzahlen, .konsole-schiff .ks-deckliste, .konsole-schiff .ks-ort, .konsole-schiff .ks-klammer,
.konsole-schiff .ks-schluss, .konsole-schiff .ks-kombuese-name, .konsole-schiff .ks-fahrplan-name, .konsole-schiff .ks-kachel,
.konsole-schiff .ks-empf, .konsole-schiff .ks-spitze-text, .konsole-schiff .ks-zwischenkopf, .konsole-schiff .ks-ablesung {
  font-family: var(--ks-mono); font-size: 0.625rem; line-height: 1.3; letter-spacing: 0.08em; text-transform: uppercase; font-weight: 400;
}
.konsole-schiff .ks-kopf {
  display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 0.5rem 1rem;
  min-height: 1.75rem;   
  margin-bottom: 1rem;
}
.konsole-schiff .ks-titel { font-size: 0.6875rem; letter-spacing: 0.09em; color: var(--ks-text-2); }
.konsole-schiff .ks-titel [data-teil="kreuzfahrt"] { display: none; }
.konsole-schiff.ks-js[data-modus="kreuzfahrt"] .ks-titel [data-teil="faehre"] { display: none; }
.konsole-schiff.ks-js[data-modus="kreuzfahrt"] .ks-titel [data-teil="kreuzfahrt"] { display: inline; }
.konsole-schiff .ks-steuerung { display: inline-flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 0.5rem; margin-left: auto; }
.konsole-schiff .ks-schalter { display: inline-flex; }
.konsole-schiff .ks-knopf, .konsole-schiff .ks-anhalten {
  min-height: 1.75rem; padding: 0 0.65rem; margin: 0; cursor: pointer; background: none; border-radius: 0;
  border: 1px solid var(--ks-linie); color: var(--ks-text-2);
  font-family: var(--ks-mono); font-size: 0.6875rem; letter-spacing: 0.09em; text-transform: uppercase; line-height: 1;
  transition: color 250ms ease-in-out, background-color 250ms ease-in-out, border-color 250ms ease-in-out;
}
.konsole-schiff .ks-knopf + .ks-knopf { margin-left: -1px; }
.konsole-schiff .ks-knopf:hover, .konsole-schiff .ks-anhalten:hover { color: var(--ks-text); }
.konsole-schiff .ks-knopf[aria-pressed="true"] { position: relative; color: var(--ks-text); border-color: var(--ks-umriss); background: rgba(242, 242, 242, 0.1); }
.konsole-schiff .ks-anhalten { min-width: 13ch; }   
.konsole-schiff .ks-anhalten[aria-pressed="true"] { color: var(--ks-gelb); border-color: var(--ks-gelb); }
.konsole-schiff:not(.ks-js) .ks-schalter { display: none; }               
@container (max-width: 40rem) {   
  .konsole-schiff .ks-steuerung { width: 100%; margin-left: 0; justify-content: flex-start; }
  .konsole-schiff .ks-anhalten { margin-left: auto; }
}
.konsole-schiff:not(.ks-js) .ks-anhalten { visibility: hidden; }          
.konsole-schiff .ks-teile { position: relative; padding-top: 1.1rem; }
.konsole-schiff .ks-teile::before {   
  content: ""; position: absolute; left: 0; right: 0; top: 0; height: 1px; background: var(--ks-linie); transform-origin: left center;
}
.konsole-schiff.ks-js .ks-teile { display: grid; }
.konsole-schiff.ks-js .ks-teil { grid-area: 1 / 1; min-width: 0; transition: opacity 250ms ease-in-out, visibility 0s linear 0s; }
.konsole-schiff.ks-js .ks-teil:not(.aktiv) { visibility: hidden; opacity: 0; pointer-events: none; transition: opacity 250ms ease-in-out, visibility 0s linear 250ms; }
.konsole-schiff .ks-zwischenkopf { display: none; }
.konsole-schiff.ks-js .ks-teil { display: flex; flex-direction: column; }
.konsole-schiff.ks-js .ks-faehre > .ks-flaeche { flex: 1 1 auto; display: flex; flex-direction: column; }
.konsole-schiff.ks-js .ks-faehre-bild { flex: 1 1 auto; align-items: stretch; }
.konsole-schiff.ks-js .ks-faehre .ks-regal-block { align-self: start; }
.konsole-schiff.ks-js .ks-faehre .ks-stab { display: flex; flex-direction: column; }
.konsole-schiff.ks-js .ks-faehre .ks-raster { flex: 1 1 auto; display: flex; flex-direction: column; }
.konsole-schiff.ks-js .ks-faehre .ks-reihen { flex: 1 1 auto; display: grid; grid-auto-rows: minmax(min-content, 1fr); }
.konsole-schiff:not(.ks-js) .ks-kreuzfahrt { margin-top: 2.25rem; padding-top: 1.1rem; border-top: 1px solid var(--ks-linie); }
.konsole-schiff:not(.ks-js) .ks-zwischenkopf { display: block; margin-bottom: 1rem; font-size: 0.6875rem; letter-spacing: 0.09em; color: var(--ks-text-2); }
.konsole-schiff:not(.ks-js) .ks-faehre .ks-zwischenkopf { display: none; }   
.konsole-schiff .ks-flaeche {
  position: relative; padding: 1.1rem 1rem;
  background:
    linear-gradient(var(--ks-ecke), var(--ks-ecke)) left top / 0.75rem 1px no-repeat,
    linear-gradient(var(--ks-ecke), var(--ks-ecke)) left top / 1px 0.75rem no-repeat,
    linear-gradient(var(--ks-ecke), var(--ks-ecke)) right top / 0.75rem 1px no-repeat,
    linear-gradient(var(--ks-ecke), var(--ks-ecke)) right top / 1px 0.75rem no-repeat,
    linear-gradient(var(--ks-ecke), var(--ks-ecke)) left bottom / 0.75rem 1px no-repeat,
    linear-gradient(var(--ks-ecke), var(--ks-ecke)) left bottom / 1px 0.75rem no-repeat,
    linear-gradient(var(--ks-ecke), var(--ks-ecke)) right bottom / 0.75rem 1px no-repeat,
    linear-gradient(var(--ks-ecke), var(--ks-ecke)) right bottom / 1px 0.75rem no-repeat;
}
.konsole-schiff .ks-block-kopf { color: var(--ks-text-2); margin-bottom: 0.75rem; }
.konsole-schiff .s0 { background-color: rgba(242, 242, 242, 0.035); }
.konsole-schiff .s1 { background-color: rgba(242, 242, 242, 0.11); }
.konsole-schiff .s2 { background-color: rgba(242, 242, 242, 0.24); }
.konsole-schiff .s3 { background-color: rgba(242, 242, 242, 0.44); }
.konsole-schiff .s4 { background-color: var(--ks-voll); }
.konsole-schiff .ks-legende i, .konsole-schiff .ks-legende .ks-glyphe { display: block; flex: none; width: 0.75rem; height: 0.75rem; }
.konsole-schiff .ks-legende .ks-glyphe { width: 1.5rem; }
.konsole-schiff .ks-leg-bisher, .konsole-schiff .ks-leg-vorschlag { width: 1.25rem !important; height: 0 !important; border-top: 1px dashed rgba(242, 242, 242, 0.6); }
.konsole-schiff .ks-leg-vorschlag { border-top: 2px solid var(--ks-text); }
.konsole-schiff .ks-leg-stufen { width: 1.25rem !important; background: linear-gradient(var(--ks-text), var(--ks-text)) 0 70% / 45% 1.5px no-repeat, linear-gradient(var(--ks-text), var(--ks-text)) 100% 20% / 55% 1.5px no-repeat, linear-gradient(var(--ks-text), var(--ks-text)) 45% 0 / 1.5px 100% no-repeat; }
.konsole-schiff .ks-leg-schlange { background: var(--ks-grau-voll); }
.konsole-schiff .ks-leg-leerlauf { background: var(--ks-grau-schraffur); box-shadow: inset 0 0 0 1px rgba(242, 242, 242, 0.2); }
.konsole-schiff .ks-leg-luecke { background: var(--ks-schraffur); }
.konsole-schiff .ks-leg-weg { background: var(--ks-gelb); }
.konsole-schiff .ks-leg-dazu, .konsole-schiff .ks-leg-flaeche, .konsole-schiff .ks-leg-gegessen { background: var(--ks-voll); }
.konsole-schiff .ks-leg-umriss, .konsole-schiff .ks-leg-produziert { box-shadow: inset 0 0 0 1px var(--ks-umriss); }
.konsole-schiff .ks-leg-spitze { width: 0.5rem !important; height: 0.5rem !important; background: var(--ks-text); transform: rotate(45deg) scale(0.8); }
.konsole-schiff .ks-leg-linie { width: 1.25rem !important; height: 0 !important; border-top: 1.5px solid var(--ks-text); }
.konsole-schiff .ks-leg-band { width: 1.25rem !important; height: 0.5rem !important; background: rgba(242, 242, 242, 0.16); }
.konsole-schiff .ks-leg-klammer { width: 0.4rem !important; border: 1px solid var(--ks-umriss); border-right: 0; }
.konsole-schiff .ks-leg-schluss {
  width: 1.25rem !important; height: 0.625rem !important;
  background: linear-gradient(var(--ks-text), var(--ks-text)) center / 1px 100% no-repeat, linear-gradient(var(--ks-umriss), var(--ks-umriss)) center / 100% 1px no-repeat;
}
.konsole-schiff .ks-skala { display: inline-flex; align-items: center; gap: 3px; }
.konsole-schiff .ks-skala i { display: block; width: 0.75rem; height: 0.75rem; }
.konsole-schiff .ks-skala i:first-of-type { margin-left: 0.35rem; }
.konsole-schiff .ks-skala i:last-of-type { margin-right: 0.35rem; }
.konsole-schiff .ks-glyphe { width: 1.5rem; height: 0.75rem; flex: none; }
.konsole-schiff .ks-glyphe path { fill: none; stroke: currentColor; stroke-width: 1.1; stroke-linecap: square; }
.konsole-schiff .ks-bild-innen { display: contents; }
.konsole-schiff .ks-faehre-bild { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.75rem; }
@container (min-width: 44rem) {
  .konsole-schiff .ks-faehre-bild { grid-template-columns: minmax(0, 1fr) minmax(13rem, 16rem); gap: 2.25rem; align-items: start; }
}
@container (min-width: 64rem) {
  .konsole-schiff .ks-faehre-bild { grid-template-columns: minmax(0, 1fr) 18rem; gap: 3rem; }
}
.konsole-schiff .ks-spaltenkopf {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: var(--ks-spalt); align-items: end;
  margin-left: var(--ks-links); color: var(--ks-text-2); padding-bottom: 0.55rem;
}
.konsole-schiff .ks-ablesung { color: var(--ks-text); text-align: right; min-width: 11ch; }   
.konsole-schiff .ks-raster { position: relative; touch-action: pan-y; }
.konsole-schiff .ks-raster::before {
  content: ""; position: absolute; top: 0; bottom: 0; left: var(--ks-links); right: 0; pointer-events: none;
  background: repeating-linear-gradient(90deg, var(--ks-raster) 0 1px, transparent 1px 25%);
  box-shadow: inset -1px 0 0 var(--ks-raster);
}
.konsole-schiff .ks-reihe {
  position: relative; display: grid; grid-template-columns: var(--ks-namen) minmax(0, 1fr); column-gap: var(--ks-spalt); align-items: end;
  padding: 0.6rem 0 0.55rem; border-top: 1px solid var(--ks-linie);
}
.konsole-schiff .ks-reihe:last-child { border-bottom: 1px solid var(--ks-linie); }
.konsole-schiff .ks-ort-name { color: var(--ks-text); align-self: center; overflow-wrap: anywhere; }
.konsole-schiff .ks-plot { display: block; min-width: 0; }
.konsole-schiff .ks-stufen { position: relative; display: block; height: clamp(2.25rem, 4.2cqi, 3.5rem); margin-bottom: 0.3rem; }
.konsole-schiff .ks-treppe { position: absolute; inset: 0; width: 100%; height: 100%; }
.konsole-schiff .ks-treppe path { vector-effect: non-scaling-stroke; transition: opacity 400ms ease-in-out, stroke 400ms ease-in-out; }
.konsole-schiff .ks-unter-vorschlag { fill: rgba(242, 242, 242, 0.08); stroke: none; }
.konsole-schiff .ks-unter-bisher { fill: rgba(242, 242, 242, 0.08); stroke: none; opacity: 0; }
.konsole-schiff .ks-linie-bisher { fill: none; stroke: rgba(242, 242, 242, 0.6); stroke-width: 1; stroke-dasharray: 3 3; }
.konsole-schiff .ks-linie-vorschlag { fill: none; stroke: var(--ks-text); stroke-width: 1.5; stroke-linejoin: miter; }
.konsole-schiff .ks-luecke { position: absolute; display: block; background: var(--ks-schraffur); transition: background 400ms ease-in-out, box-shadow 250ms ease-in-out; }
.konsole-schiff[data-zustand="bisher"] .ks-schlange { background: var(--ks-grau-voll); }
.konsole-schiff[data-zustand="bisher"] .ks-leerlauf { background: var(--ks-grau-schraffur); }
.konsole-schiff[data-zustand="bisher"] .ks-linie-vorschlag, .konsole-schiff[data-zustand="bisher"] .ks-unter-vorschlag { opacity: 0; }
.konsole-schiff[data-zustand="bisher"] .ks-unter-bisher { opacity: 1; }
.konsole-schiff[data-zustand="bisher"] .ks-linie-bisher { stroke: var(--ks-text); stroke-width: 1.5; stroke-dasharray: none; }
.konsole-schiff .ks-hitze { position: relative; display: grid; grid-template-columns: repeat(var(--n, 8), minmax(0, 1fr)); height: 0.625rem; }
.konsole-schiff .ks-hitze i { display: block; box-shadow: inset 1px 0 0 var(--ks-tafel), inset -1px 0 0 var(--ks-tafel); }
.konsole-schiff .ks-hitze .ks-spitze {
  position: absolute; top: 50%; width: 0.4375rem; height: 0.4375rem; box-shadow: none;
  background: var(--ks-tafel); border: 1px solid var(--ks-text); transform: translate(-50%, -50%) rotate(45deg);
}
.konsole-schiff .ks-zeitebene { position: absolute; top: 0; bottom: 0; left: var(--ks-links); right: 0; pointer-events: none; z-index: 2; }
.konsole-schiff .ks-cursor {
  position: absolute; top: 0; bottom: 0; left: 0; width: calc(100% / 8); opacity: 0;
  background: rgba(242, 242, 242, 0.05); box-shadow: inset 1px 0 0 rgba(242, 242, 242, 0.4), inset -1px 0 0 rgba(242, 242, 242, 0.4);
  transition: left 450ms var(--ks-kurve), opacity 250ms ease-in-out;
}
.konsole-schiff.ks-zeiger-an .ks-cursor { opacity: 1; }
.konsole-schiff .ks-achse { position: relative; height: 1.4rem; margin-left: var(--ks-links); color: var(--ks-text-2); }
.konsole-schiff .ks-achse-marken span { position: absolute; top: 0.45rem; transform: translateX(-50%); letter-spacing: 0.02em; white-space: nowrap; }
.konsole-schiff .ks-achse-marken span::before { content: ""; position: absolute; left: 50%; top: -0.45rem; width: 1px; height: 0.3rem; background: var(--ks-umriss); }
.konsole-schiff .ks-achse-marken span:first-child { transform: none; }
.konsole-schiff .ks-achse-marken span:first-child::before { left: 0; }
.konsole-schiff .ks-achse-marken span:last-child { transform: translateX(-100%); }
.konsole-schiff .ks-achse-marken span:last-child::before { left: auto; right: 0; }
.konsole-schiff .ks-achse-name { margin: 0.55rem 0 0 var(--ks-links); color: var(--ks-text-2); }
@container (max-width: 30rem) {
  .konsole-schiff .ks-stab { --ks-links: 0px; }   
  .konsole-schiff .ks-reihe { grid-template-columns: minmax(0, 1fr); row-gap: 0.4rem; padding-top: 0.55rem; }
  .konsole-schiff .ks-ort-name {   
    align-self: start; justify-self: start; position: relative; z-index: 3; padding-right: 0.45rem; background: var(--ks-tafel);
  }
}
@container (max-width: 22rem) {
  .konsole-schiff .ks-achse-marken span:nth-child(2n) { visibility: hidden; }   
}
.konsole-schiff .ks-regal-block { min-width: 0; }
.konsole-schiff .ks-regal > li {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "name plaetze" "empf empf";
  column-gap: 0.75rem; row-gap: 0.3rem; align-items: center; padding: 0.6rem 0; border-top: 1px solid var(--ks-linie);
}
.konsole-schiff .ks-ware-name { grid-area: name; min-width: 0; color: var(--ks-text); overflow-wrap: break-word; }
.konsole-schiff .ks-plaetze { grid-area: plaetze; display: inline-flex; gap: 3px; }
.konsole-schiff .ks-empf { grid-area: empf; display: inline-flex; align-items: center; gap: 0.45rem; color: var(--ks-text-2); }
.konsole-schiff .ks-empf.ks-handeln { color: var(--ks-text); }
.konsole-schiff .ks-platz {
  display: block; width: 1.75rem; height: 1.125rem; transition: background-color 400ms ease-in-out, box-shadow 400ms ease-in-out;
}
.konsole-schiff .ks-p-bleibt, .konsole-schiff .ks-p-dazu { background: var(--ks-voll); }
.konsole-schiff .ks-p-weg { background: var(--ks-gelb); }
.konsole-schiff .ks-p-leer { box-shadow: inset 0 0 0 1px var(--ks-linie); }
.konsole-schiff[data-zustand="bisher"] .ks-p-bleibt, .konsole-schiff[data-zustand="bisher"] .ks-p-weg { background: var(--ks-grau-voll); }
.konsole-schiff[data-zustand="bisher"] .ks-p-dazu { background: none; box-shadow: inset 0 0 0 1px var(--ks-linie); }
.konsole-schiff .ks-fahrplan { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0.55rem; margin-bottom: 1.5rem; }
.konsole-schiff .ks-fahrplan-name { color: var(--ks-text-2); }
.konsole-schiff .ks-kacheln { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 3px; }
.konsole-schiff .ks-kacheln li { min-width: 0; display: flex; }
.konsole-schiff .ks-kachel {
  flex: 1; min-width: 0; display: grid; grid-template-columns: auto minmax(0, 1fr); grid-template-rows: auto auto; gap: 0.35rem 0.45rem; align-items: center;
  min-height: 2.75rem; padding: 0.45rem 0.5rem; margin: 0; background: none; border-radius: 0; text-align: left;
  border: 1px solid var(--ks-linie); color: var(--ks-text-2);
  transition: color 250ms ease-in-out, background-color 250ms ease-in-out, border-color 250ms ease-in-out;
}
button.ks-kachel { cursor: pointer; }
button.ks-kachel:hover { color: var(--ks-text); }
.konsole-schiff .ks-kachel-nr { color: var(--ks-text); letter-spacing: 0.02em; }
.konsole-schiff .ks-kachel .ks-glyphe { justify-self: end; }
.konsole-schiff .ks-kachel-text { grid-column: 1 / -1; white-space: nowrap; overflow: hidden; text-overflow: clip; }
.konsole-schiff .ks-kachel.aktiv, .konsole-schiff .ks-kachel[aria-pressed="true"] { color: var(--ks-text); border-color: var(--ks-umriss); background: rgba(242, 242, 242, 0.1); }
.konsole-schiff:not(.ks-js) .ks-kachel.aktiv { color: var(--ks-text-2); border-color: var(--ks-linie); background: none; }   
@container (max-width: 40rem) {
  .konsole-schiff .ks-kachel { grid-template-columns: minmax(0, 1fr); justify-items: center; padding: 0.45rem 0.2rem; }
  .konsole-schiff .ks-kachel .ks-glyphe { justify-self: center; }
  .konsole-schiff .ks-kachel-text { display: none; }   
}
@container (min-width: 40rem) {
  .konsole-schiff .ks-fahrplan { grid-template-columns: auto minmax(0, 1fr); align-items: center; column-gap: 1.25rem; }
}
.konsole-schiff .ks-kreuz-bild { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-areas: "plan" "prov" "kombuese"; gap: 1.75rem; }
.konsole-schiff .ks-plan-block { grid-area: plan; min-width: 0; }
.konsole-schiff .ks-proviant { grid-area: prov; min-width: 0; }
.konsole-schiff .ks-kombuese { grid-area: kombuese; min-width: 0; }
@container (min-width: 28rem) {
  .konsole-schiff .ks-kreuz-bild { grid-template-columns: 10.5rem minmax(0, 1fr); grid-template-areas: "plan plan" "prov kombuese"; gap: 1.75rem 1.75rem; }
}
@container (min-width: 60rem) {
  .konsole-schiff .ks-kreuz-bild { grid-template-columns: minmax(0, 1fr) 17rem; grid-template-areas: "plan prov" "plan kombuese"; gap: 1.75rem 3rem; }
}
.konsole-schiff .ks-schnitt { display: grid; grid-template-columns: 3.5rem minmax(0, 1fr); column-gap: 0.5rem; }
.konsole-schiff .ks-deckliste { position: relative; color: var(--ks-text-2); }
.konsole-schiff .ks-deckliste li { position: absolute; left: 0; right: 0; transform: translateY(-50%); white-space: nowrap; }
.konsole-schiff .ks-deck-nr { display: none; }
.konsole-schiff .ks-rumpf { position: relative; aspect-ratio: 1000 / 400; }
.konsole-schiff .ks-rumpf-svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.konsole-schiff .ks-rumpf-svg path { vector-effect: non-scaling-stroke; }
.konsole-schiff .ks-rumpf-flaeche { fill: rgba(242, 242, 242, 0.04); stroke: none; }
.konsole-schiff .ks-unterwasser { fill: rgba(0, 0, 0, 0.3); stroke: none; }
.konsole-schiff .ks-decklinien { fill: none; stroke: rgba(242, 242, 242, 0.16); stroke-width: 1; }
.konsole-schiff .ks-wasserlinie { fill: none; stroke: rgba(242, 242, 242, 0.32); stroke-width: 1; stroke-dasharray: 5 5; }
.konsole-schiff .ks-spanten { fill: none; stroke: rgba(242, 242, 242, 0.3); stroke-width: 1; }
.konsole-schiff .ks-rumpf-umriss { fill: none; stroke: rgba(242, 242, 242, 0.55); stroke-width: 1; stroke-linejoin: miter; }
.konsole-schiff .ks-schornstein { fill: rgba(242, 242, 242, 0.06); stroke: rgba(242, 242, 242, 0.45); stroke-width: 1; }
.konsole-schiff .ks-ort {
  position: absolute; display: flex; align-items: center; padding: 0 0.45rem; overflow: hidden; white-space: nowrap;
  color: var(--ks-text);
  transition: background-color 600ms var(--ks-kurve), color 600ms var(--ks-kurve), box-shadow 600ms var(--ks-kurve);
}
.konsole-schiff .ks-ort > span { overflow: hidden; text-overflow: clip; }
.konsole-schiff .ks-ort-kurz { display: none; }
@container (max-width: 17.5rem) {
  .konsole-schiff .ks-ort-lang { display: none; }
  .konsole-schiff .ks-ort-kurz { display: inline; }
}
.konsole-schiff .ks-ort.ks-hell { color: var(--ks-tafel); box-shadow: 0 0 0 1px rgba(242, 242, 242, 0.9); }   
.konsole-schiff .ks-ort .ks-spitze {
  position: absolute; right: 0.4rem; top: 50%; width: 0.4375rem; height: 0.4375rem; transform: translateY(-50%) rotate(45deg);
  background: currentColor; display: none;
}
.konsole-schiff .ks-spitze-zeile {
  display: flex; align-items: center; gap: 0.5rem; margin: -0.35rem 0 0.75rem; color: var(--ks-text);
  font-family: var(--ks-mono); font-size: 0.625rem; line-height: 1.3; letter-spacing: 0.08em; text-transform: uppercase;
}
.konsole-schiff .ks-spitze-zeile .ks-leg-spitze { display: block; flex: none; width: 0.5rem; height: 0.5rem; background: var(--ks-text); transform: rotate(45deg) scale(0.8); }
.konsole-schiff .ks-spitze-zeile span { display: none; }
.konsole-schiff .ks-kreuzfahrt:not([data-tagart="hafen"]) .ks-spitze-zeile [data-tag="see"],
.konsole-schiff .ks-kreuzfahrt[data-tagart="hafen"] .ks-spitze-zeile [data-tag="hafen"] { display: inline; }
.konsole-schiff .ks-kreuzfahrt:not([data-tagart="hafen"]) .ks-ort .ks-spitze[data-tag="see"],
.konsole-schiff .ks-kreuzfahrt[data-tagart="hafen"] .ks-ort .ks-spitze[data-tag="hafen"] { display: block; }
.konsole-schiff .ks-ort.ks-raum { background: none; color: var(--ks-text-2); box-shadow: inset 0 0 0 1px rgba(242, 242, 242, 0.38); }
@container (max-width: 30rem) {
  .konsole-schiff .ks-schnitt { grid-template-columns: 1rem minmax(0, 1fr); column-gap: 0.4rem; }
  .konsole-schiff .ks-deck-wort { display: none; }
  .konsole-schiff .ks-deck-nr { display: inline; }
  .konsole-schiff .ks-rumpf { aspect-ratio: 1000 / 620; }
  .konsole-schiff .ks-ort { padding: 0 0.3rem; font-size: 0.5625rem; letter-spacing: 0.06em; }
}
.konsole-schiff .ks-proviant { display: flex; flex-direction: column; }
.konsole-schiff .ks-saeule-feld {
  flex: 1; display: grid; grid-template-columns: 0.5rem 2.75rem minmax(0, 1fr); column-gap: 0.4rem;
  min-height: 10rem; max-height: 22rem;
}
.konsole-schiff .ks-teilung { position: relative; }
.konsole-schiff .ks-teilung i { position: absolute; right: 0; width: 0.35rem; height: 1px; background: rgba(242, 242, 242, 0.28); }
.konsole-schiff .ks-saeule { position: relative; background: var(--ks-feld); }
.konsole-schiff .ks-saeule i { position: absolute; left: 0; right: 0; bottom: 0; display: block; transform-origin: center bottom; transition: opacity 400ms ease-in-out, background-color 400ms ease-in-out; }
.konsole-schiff .ks-saeule-bisher { box-shadow: inset 0 0 0 1px var(--ks-umriss); }
.konsole-schiff .ks-saeule-vorschlag { background: var(--ks-voll); }
.konsole-schiff .ks-saeule-alt { background: var(--ks-grau-voll); opacity: 0; }
.konsole-schiff .ks-saeule-weg { left: 1px; right: 1px; background: var(--ks-schraffur); transition: opacity 400ms ease-in-out, box-shadow 250ms ease-in-out; }
.konsole-schiff .ks-saeule-spanne { background: rgba(15, 16, 18, 0.28); }   
.konsole-schiff .ks-saeule-prognose { height: 0 !important; border-top: 2px solid var(--ks-tafel); transform: translateY(1px); }
.konsole-schiff[data-zustand="bisher"] .ks-saeule-vorschlag { background: var(--ks-grau-voll); }
.konsole-schiff[data-zustand="bisher"] .ks-saeule-alt { opacity: 1; }
.konsole-schiff[data-zustand="bisher"] .ks-saeule-weg, .konsole-schiff[data-zustand="bisher"] .ks-saeule-spanne,
.konsole-schiff[data-zustand="bisher"] .ks-saeule-prognose { opacity: 0; }
.konsole-schiff .ks-klammern { position: relative; }
.konsole-schiff .ks-klammer { position: absolute; left: 0; right: 0; color: var(--ks-text-2); border-left: 1px solid var(--ks-umriss); }
.konsole-schiff .ks-klammer::before, .konsole-schiff .ks-klammer::after { content: ""; position: absolute; left: -1px; width: 0.35rem; height: 1px; background: var(--ks-umriss); }
.konsole-schiff .ks-klammer::before { top: 0; }
.konsole-schiff .ks-klammer::after { bottom: 0; }
.konsole-schiff .ks-klammer span { position: absolute; left: 0.55rem; top: 50%; transform: translateY(-50%); white-space: nowrap; }
.konsole-schiff .ks-klammer-linie { border-left: 0; }
.konsole-schiff .ks-klammer-linie::before { width: 0.35rem; background: var(--ks-text); }
.konsole-schiff .ks-klammer-linie::after { content: none; }
.konsole-schiff .ks-klammer-linie span { color: var(--ks-text); }
.konsole-schiff[data-zustand="bisher"] .ks-klammern { opacity: 0.35; }
.konsole-schiff .ks-schluss { display: flex; align-items: center; gap: 0.5rem; margin-top: 0.85rem; color: var(--ks-text); }
.konsole-schiff .ks-schluss i {   
  display: block; flex: none; width: 1.25rem; height: 0.625rem;
  background: linear-gradient(var(--ks-text), var(--ks-text)) center / 1px 100% no-repeat,
              linear-gradient(var(--ks-umriss), var(--ks-umriss)) center / 100% 1px no-repeat;
}
.konsole-schiff .ks-kombuese-zeile {
  display: grid; grid-template-columns: 5.5rem minmax(0, 1fr); column-gap: 0.75rem; align-items: center;
  padding: 0.55rem 0; border-top: 1px solid var(--ks-linie);
}
.konsole-schiff .ks-kombuese-name { display: inline-flex; align-items: center; gap: 0.4rem; color: var(--ks-text-2); transition: color 250ms ease-in-out; }
.konsole-schiff .ks-kombuese-name::before { content: ""; width: 0.375rem; height: 0.375rem; flex: none; box-shadow: inset 0 0 0 1px var(--ks-umriss); transition: background-color 250ms ease-in-out; }
.konsole-schiff.ks-js .ks-kombuese-zeile.aktiv .ks-kombuese-name { color: var(--ks-text); }
.konsole-schiff.ks-js .ks-kombuese-zeile.aktiv .ks-kombuese-name::before { background: var(--ks-text); box-shadow: none; }
.konsole-schiff .ks-balken { position: relative; display: block; height: 0.75rem; background: var(--ks-feld); }
.konsole-schiff .ks-balken i { position: absolute; top: 0; bottom: 0; left: 0; display: block; transform-origin: left center; transition: opacity 400ms ease-in-out; }
.konsole-schiff .ks-balken-produziert { box-shadow: inset 0 0 0 1px var(--ks-umriss); }
.konsole-schiff .ks-balken-vorschlag { box-shadow: inset 0 0 0 1px var(--ks-text); }
.konsole-schiff .ks-balken-gegessen { background: var(--ks-voll); }
.konsole-schiff .ks-balken-weg { top: 1px !important; bottom: 1px !important; background: var(--ks-schraffur); transition: opacity 400ms ease-in-out, box-shadow 250ms ease-in-out; }
.konsole-schiff[data-zustand="bisher"] .ks-balken-weg, .konsole-schiff[data-zustand="bisher"] .ks-balken-vorschlag { opacity: 0; }
.konsole-schiff .ks-hinweise { margin-top: 1.1rem; }
.konsole-schiff .ks-hinweise > li { transition: background-color 250ms ease-in-out; }
.konsole-schiff .ks-hinweise li.ks-hervor, .konsole-schiff .ks-hinweise li.ks-tag-hervor { background: linear-gradient(90deg, rgba(242, 242, 242, 0.06), rgba(242, 242, 242, 0)); }
.konsole-schiff .ks-hinweise li.ks-hervor .k-hw-befund, .konsole-schiff .ks-hinweise li.ks-tag-hervor .k-hw-befund { color: var(--ks-text); }
.konsole-schiff .ks-luecke.ks-hervor, .konsole-schiff .ks-platz.ks-hervor, .konsole-schiff .ks-saeule-weg.ks-hervor,
.konsole-schiff .ks-balken-weg.ks-hervor, .konsole-schiff .ks-ort.ks-hervor { box-shadow: 0 0 0 1px var(--ks-tafel), 0 0 0 2px var(--ks-text); }
.konsole-schiff .ks-legende {
  display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 1.25rem; margin-top: 1rem; color: var(--ks-text-2);
}
.konsole-schiff .ks-legende > li { display: inline-flex; align-items: center; gap: 0.45rem; }
.konsole-schiff .ks-kennzahlen { margin-top: 0.85rem; }
.konsole-schiff .ks-unterschrift { margin-top: 1rem; font-size: 0.8125rem; line-height: 1.45; color: var(--ks-text-2); text-wrap: pretty; max-width: 48rem; }
.konsole-schiff .ks-fuss { margin-top: 1rem; padding-top: 0.75rem; border-top: 1px solid var(--ks-linie); font-size: 0.8125rem; line-height: 1.45; color: var(--ks-text-2); }
@container (max-width: 24rem) {
  .konsole-schiff .ks-flaeche { padding: 1rem 0.75rem; }
}
@keyframes ks-einschalten {   
  0% { opacity: 0; } 30% { opacity: 0.8; } 50% { opacity: 0.1; } 70% { opacity: 0.7; } 85% { opacity: 0; } 100% { opacity: 1; }
}
.konsole-schiff.ks-wartet .ks-teile::before { transform: scaleX(0); }
.konsole-schiff.ks-an .ks-teile::before { transform: scaleX(1); transition: transform 400ms var(--ks-kurve); }
.konsole-schiff .ks-wartet .ks-hitze i, .konsole-schiff .ks-wartet .ks-platz, .konsole-schiff .ks-wartet .ks-luecke,
.konsole-schiff .ks-wartet .ks-hinweise li, .konsole-schiff .ks-wartet .ks-ort, .konsole-schiff .ks-wartet .ks-kachel,
.konsole-schiff .ks-wartet .ks-saeule-weg, .konsole-schiff .ks-wartet .ks-balken-weg, .konsole-schiff .ks-wartet .ks-kennzahlen { opacity: 0; }
.konsole-schiff .ks-wartet .ks-treppe, .konsole-schiff .ks-wartet .ks-rumpf-svg { clip-path: inset(0 100% 0 0); }
.konsole-schiff .ks-wartet .ks-saeule i:not(.ks-saeule-weg):not(.ks-saeule-prognose) { transform: scaleY(0); }
.konsole-schiff .ks-wartet .ks-balken i:not(.ks-balken-weg) { transform: scaleX(0); }
.konsole-schiff .ks-an .ks-hitze i { animation: ks-aufblenden 200ms ease-out calc(250ms + var(--v, 0) * 22ms) backwards; }   
@keyframes ks-aufblenden { from { opacity: 0; } }
.konsole-schiff .ks-an .ks-treppe { clip-path: inset(0 0 0 0); transition: clip-path 1100ms var(--ks-kurve) calc(450ms + var(--i, 0) * 120ms); }
.konsole-schiff .ks-an .ks-reihe .ks-treppe { transition-delay: calc(450ms + var(--i, 0) * 120ms); }
.konsole-schiff .ks-an .ks-luecke { opacity: 1; transition: opacity 500ms ease-in-out 1700ms, box-shadow 250ms ease-in-out; }
.konsole-schiff .ks-an .ks-platz { animation: ks-einschalten 320ms steps(1, end) calc(500ms + var(--i, 0) * 90ms) backwards; }
.konsole-schiff .ks-an .ks-p-dazu, .konsole-schiff .ks-an .ks-p-weg { animation-delay: 1750ms; }
.konsole-schiff .ks-an .ks-kennzahlen { animation: ks-einschalten 320ms steps(1, end) 800ms backwards; }
.konsole-schiff .ks-an .ks-hinweise li { animation: ks-einschalten 320ms steps(1, end) calc(950ms + var(--i, 0) * 110ms) backwards; }
.konsole-schiff .ks-an .ks-kachel { animation: ks-einschalten 320ms steps(1, end) calc(150ms + var(--i, 0) * 60ms) backwards; }
.konsole-schiff .ks-an .ks-rumpf-svg { clip-path: inset(0 0 0 0); transition: clip-path 1200ms var(--ks-kurve) 250ms; }
.konsole-schiff .ks-an .ks-ort { animation: ks-einschalten 320ms steps(1, end) calc(900ms + var(--i, 0) * 90ms) backwards; }
.konsole-schiff .ks-an .ks-saeule i:not(.ks-saeule-weg):not(.ks-saeule-prognose) { transform: scaleY(1); transition: transform 800ms var(--ks-kurve) 700ms, opacity 400ms ease-in-out, background-color 400ms ease-in-out; }
.konsole-schiff .ks-an .ks-balken i:not(.ks-balken-weg) { transform: scaleX(1); transition: transform 700ms var(--ks-kurve) calc(900ms + var(--i, 0) * 120ms); }
.konsole-schiff .ks-an .ks-saeule-weg, .konsole-schiff .ks-an .ks-balken-weg { opacity: 1; transition: opacity 500ms ease-in-out 1800ms, box-shadow 250ms ease-in-out; }
@media (prefers-reduced-motion: reduce) {
  .konsole-schiff *, .konsole-schiff *::before, .konsole-schiff *::after { animation: none !important; transition: none !important; }
  .konsole-schiff .ks-anhalten { display: none; }
  .konsole-schiff .ks-cursor { display: none; }
}
.ruhe .konsole-schiff *, .ruhe .konsole-schiff *::before, .ruhe .konsole-schiff *::after { animation: none !important; transition: none !important; }
@media print {
  .konsole-schiff.ks-js .ks-teile { display: block; }
  .konsole-schiff.ks-js .ks-teil { visibility: visible !important; opacity: 1 !important; }
  .konsole-schiff.ks-js .ks-kreuzfahrt { margin-top: 2rem; }
  .konsole-schiff .ks-zwischenkopf { display: block !important; }
  .konsole-schiff .ks-schalter, .konsole-schiff .ks-anhalten, .konsole-schiff .ks-cursor { display: none !important; }
  .konsole-schiff * { animation: none !important; transition: none !important; opacity: 1; clip-path: none !important; transform: none !important; }
}


.konsole-sortiment .ks2-titel { text-transform: uppercase; }
.konsole-sortiment .ks2-liste, .konsole-sortiment .ks2-status { list-style: none; margin: 0; padding: 0; }
.konsole-sortiment .ks2-liste > li {
  display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(3rem, 1fr) minmax(3rem, 0.8fr) minmax(0, 1.2fr);
  column-gap: 0.9rem; align-items: center; padding: 0.6rem 0; border-top: 1px solid var(--nacht-linie);
}
.konsole-sortiment .ks2-liste > .ks2-kopf { padding-top: 0; border-top: 0; }
.konsole-sortiment .ks2-kopf span, .konsole-sortiment .ks2-empf, .konsole-sortiment .ks2-neu, .konsole-sortiment .ks2-stand,
.konsole-sortiment .ks2-protokoll span {
  font-family: var(--mono); font-size: 0.625rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--nacht-text-2);
}
.konsole-sortiment .ks2-artikel { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.2rem 0.5rem; min-width: 0; }
.konsole-sortiment .ks2-name { color: var(--nacht-text); }
.konsole-sortiment .ks2-neu { padding: 0.1rem 0.35rem; box-shadow: inset 0 0 0 1px rgba(242, 242, 242, 0.55); color: var(--nacht-text); }
.konsole-sortiment .ks2-grund { flex-basis: 100%; font-size: 0.8125rem; line-height: 1.35; color: var(--nacht-text-2); }
.konsole-sortiment .ks2-absatz { position: relative; display: block; height: 0.5rem; background: rgba(242, 242, 242, 0.06); }
.konsole-sortiment .ks2-absatz i { position: absolute; left: 0; top: 0; bottom: 0; display: block; background: rgba(242, 242, 242, 0.62); }
.konsole-sortiment .ks2-spalte-verlauf { display: block; height: 1.5rem; }
.konsole-sortiment .ks2-verlauf { display: block; width: 100%; height: 100%; overflow: visible; }
.konsole-sortiment .ks2-verlauf path { fill: none; stroke: rgba(242, 242, 242, 0.8); stroke-width: 1.25; vector-effect: non-scaling-stroke; }
.konsole-sortiment .ks2-empf { display: inline-flex; align-items: center; gap: 0.45rem; }
.konsole-sortiment .ks2-empf.ks2-handeln { color: var(--nacht-text); }
.konsole-sortiment .ks2-empf.ks2-handeln::before { content: ""; flex: none; width: 0.45rem; height: 0.45rem; background: var(--gelb); }
.konsole-sortiment .ks2-status { display: flex; flex-wrap: wrap; gap: 0.5rem 1.5rem; margin-top: 1rem; padding-top: 0.85rem; border-top: 1px solid var(--nacht-linie); }
.konsole-sortiment .ks2-stand { display: inline-flex; align-items: center; gap: 0.5rem; color: var(--nacht-text); }
.konsole-sortiment .ks2-stand i { display: block; width: 0.45rem; height: 0.45rem; background: var(--nacht-text-2); }
.konsole-sortiment .ks2-protokoll { margin: 0.75rem 0 0; font-size: 0.8125rem; line-height: 1.45; color: var(--nacht-text); }
@container (max-width: 34rem) {
  .konsole-sortiment .ks2-liste > li { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "artikel empf" "absatz verlauf"; row-gap: 0.4rem; }
  .konsole-sortiment .ks2-artikel { grid-area: artikel; }
  .konsole-sortiment .ks2-empf { grid-area: empf; justify-self: end; }
  .konsole-sortiment .ks2-absatz { grid-area: absatz; }
  .konsole-sortiment .ks2-spalte-verlauf { grid-area: verlauf; width: 5rem; }
  .konsole-sortiment .ks2-liste > .ks2-kopf { display: none; }
}


.konsole-verlauf .kv-titel { text-transform: uppercase; }
.konsole-verlauf .kv-plot { position: relative; height: clamp(9rem, 6rem + 9cqi, 13rem); border-bottom: 1px solid rgba(242, 242, 242, 0.35); }
.konsole-verlauf .kv-svg { position: absolute; inset: 0; width: 100%; height: 100%; display: block; overflow: visible; }
.konsole-verlauf .kv-svg path { vector-effect: non-scaling-stroke; }
.konsole-verlauf .kv-gitter { fill: none; stroke: var(--nacht-linie); stroke-width: 1; }
.konsole-verlauf .kv-band { fill: rgba(242, 242, 242, 0.14); }
.konsole-verlauf .kv-schnitt { fill: none; stroke: rgba(242, 242, 242, 0.55); stroke-width: 1; stroke-dasharray: 4 4; }
.konsole-verlauf .kv-prognose { fill: none; stroke: var(--nacht-text); stroke-width: 1.75; stroke-linejoin: round; }
.konsole-verlauf .kv-lot { fill: none; stroke: rgba(242, 242, 242, 0.4); stroke-width: 1; stroke-dasharray: 2 3; }
.konsole-verlauf .kv-spitze {
  position: absolute; width: 0.55rem; height: 0.55rem; transform: translate(-50%, -50%) rotate(45deg);
  background: var(--nacht-2, #1E2124); border: 1px solid var(--nacht-text);
}
.konsole-verlauf .kv-spitze-text {
  position: absolute; transform: translate(0.7rem, -1.4rem); white-space: nowrap;
  font-family: var(--mono); font-size: 0.625rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--nacht-text);
}
.konsole-verlauf .kv-spitze-text.kv-links { transform: translate(calc(-100% - 0.7rem), -1.4rem); }
.konsole-verlauf .kv-achse { position: relative; height: 1.3rem; margin-top: 0.4rem; }
.konsole-verlauf .kv-stunde {
  position: absolute; top: 0; transform: translateX(-50%); white-space: nowrap;
  font-family: var(--mono); font-size: 0.625rem; letter-spacing: 0.02em; color: var(--nacht-text-2);
}
.konsole-verlauf .kv-stunde:first-child { transform: none; }
.konsole-verlauf .kv-stunde:last-child { transform: translateX(-100%); }
.konsole-verlauf .kv-achse-name { margin: 0; font-family: var(--mono); font-size: 0.625rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--nacht-text-2); }
.konsole-verlauf .kv-legende { list-style: none; padding: 0; }
.konsole-verlauf .kv-legende > li { display: inline-flex; align-items: center; gap: 0.45rem; }
.konsole-verlauf .kv-legende i { display: block; flex: none; }
.konsole-verlauf .kv-lg-schnitt { width: 1.25rem; height: 0; border-top: 1px dashed rgba(242, 242, 242, 0.7); }
.konsole-verlauf .kv-lg-prognose { width: 1.25rem; height: 0; border-top: 2px solid var(--nacht-text); }
.konsole-verlauf .kv-lg-band { width: 1.25rem; height: 0.5rem; background: rgba(242, 242, 242, 0.2); }
.konsole-verlauf .kv-lg-spitze { width: 0.5rem; height: 0.5rem; border: 1px solid var(--nacht-text); transform: rotate(45deg) scale(0.85); }
@container (max-width: 30rem) { .konsole-verlauf .kv-neben { visibility: hidden; } }


.ab-kopf .einleitung { max-width: 30em; }
.ab-kopf .ab-kopf-konsole { margin-top: clamp(2.5rem, 1.75rem + 2.5vw, 4.5rem); }
.ab-schritt .ab-text .h2 { max-width: 13em; }
.ab-schritt .ab-tafel { min-width: 0; }
.ab-schritt .ab-tafel > figure { margin: 0; }
@media (min-width: 901px) and (max-width: 1239px) {
  .ab-zwei > .ab-text, .ab-zwei > .ab-text ~ .ab-tafel { grid-column: 1 / -1; }
  .ab-zwei > .ab-text { max-width: 40rem; }
  .ab-zwei > .ab-text ~ .ab-tafel { margin-top: var(--luft-titel); }
}
@media (min-width: 1240px) {
  .ab-zwei > .ab-text ~ .ab-tafel { grid-column: 7 / span 6; }
  .ab-zwei > .ab-text { grid-column: 1 / span 5; }
}
.ab-rollen { margin: 2rem 0 2.25rem; max-width: var(--w-text); }
.ab-rollen-titel { margin: 0 0 0.85rem; font-size: var(--fs-mikro); font-weight: 400; letter-spacing: var(--ls-mikro); line-height: var(--lh-mikro); text-transform: uppercase; color: var(--text-2); }
.ab-rollen-liste { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--linie-stark); }
.ab-rollen-liste li {
  display: grid; grid-template-columns: minmax(0, 11rem) minmax(0, 1fr); gap: 0.25rem var(--spalten-luecke); align-items: baseline;
  padding: 0.8rem 0; border-bottom: 1px solid var(--linie);
}
.ab-rolle-produkt {
  display: inline-block; padding-block: 0.1875rem; font-size: var(--fs-klein); letter-spacing: 0; color: var(--tinte);   
  text-decoration: underline; text-underline-offset: 0.25em; text-decoration-thickness: 1px; justify-self: start;
}
.ab-rolle-produkt:hover { text-decoration-thickness: 2px; }
.ab-rolle { color: var(--tinte); }
.ab-rolle::first-letter { text-transform: uppercase; }
@media (max-width: 420px) { .ab-rollen-liste li { grid-template-columns: minmax(0, 1fr); } }
.ab-aussage { max-width: none; margin-bottom: max(var(--luft-titel), 5.5rem); }
.ab-aussage .statement { max-width: 17em; }
.ab-punkte { gap: 2.75rem var(--spalten-luecke); }
.ab-fragen .h2 { max-width: 10em; }
.ab-antwort { padding-bottom: 1.4rem; }
.ab-antwort p { margin-bottom: 0; }
.ab-antwort .ab-frage-link { margin-top: 1rem; }
.ab-fragen .frage .pfeil-link { font-size: var(--fs-klein); }
.ab-aussage.ab-etikett { margin-bottom: var(--luft-titel); }
.ab-feed { margin-top: clamp(2.5rem, 1.8rem + 2.4vw, 4.5rem); }
.ab-quellen { scroll-margin-top: 5rem; }


.branche .br-schild { margin: 0; }
.branche .br-schild-bild { display: block; }
.branche .platzschild-nummer.br-schild small { text-transform: uppercase; }
.branche .br-schild-gross { display: block; white-space: nowrap; }
.branche .br-schild-gross { font-size: calc(1em * min(1, 4.4 / var(--zeichen, 1))); }
.branche .platzschild-nummer .br-schild-zusatz { margin: 0.55em 0 0; }
html:not(.js) .branche .br-ansicht { display: none; }
.branche .br-ansicht { padding-bottom: clamp(2rem, 1.4rem + 2vw, 3.25rem); }
.branche .br-ansicht-wahl {
  display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem 1.5rem;
  padding-top: 0.9rem; border-top: 1px solid var(--linie-stark);
}
.branche .br-ansicht-titel { font-size: var(--fs-mikro); letter-spacing: var(--ls-mikro); text-transform: uppercase; }
.branche .br-ansicht-knoepfe { display: inline-flex; border: 1px solid var(--tinte); }
.branche .br-ansicht-knopf {
  min-height: 2.75rem; min-width: 7.5rem; padding: 0 1.25rem; margin: 0; cursor: pointer;
  background: none; border: 0; color: var(--tinte); font-size: 1rem; letter-spacing: -0.01em;
  transition: background-color var(--dauer-ui) var(--kurve-ui), color var(--dauer-ui) var(--kurve-ui);
}
.branche .br-ansicht-knopf + .br-ansicht-knopf { border-left: 1px solid var(--tinte); }
.branche .br-ansicht-knopf:hover { background: var(--flaeche); }
.branche .br-ansicht-knopf[aria-pressed="true"] { background: var(--tinte); color: #fff; }
.branche .br-ansicht-knopf:focus-visible { outline-offset: 2px; }
.branche .br-ansicht-schild {
  display: inline-flex; align-items: center; width: max-content; margin: 0 0 0.9rem; padding: 0.2rem 0.45rem;
  border: 1px solid var(--linie-stark); color: var(--tinte);
  font-size: var(--fs-mikro); letter-spacing: var(--ls-mikro); text-transform: uppercase; line-height: 1.3;
  transition: background-color var(--dauer-ui) var(--kurve-ui), color var(--dauer-ui) var(--kurve-ui);
}
.branche[data-ansicht-jetzt="faehre"] .br-tag-faehre,
.branche[data-ansicht-jetzt="kreuzfahrt"] .br-tag-kreuzfahrt { background: var(--tinte); color: #fff; }
.branche .rahmen > .kopfzeile + .h2 { margin-bottom: var(--luft-lead); }
.branche .br-weitere .rahmen > .kopfzeile + .h2 { margin-bottom: var(--luft-titel); }
.branche .br-these { max-width: 17em; margin-bottom: clamp(7rem, 6rem + 2vw, 8.5rem); }
.branche .br-these .zeile { display: block; }
.branche .br-heute-raster { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 0 var(--spalten-luecke); align-items: center; }
.branche .br-heute-bild { grid-column: 1 / span 6; min-width: 0; }
.branche .br-heute-text { grid-column: 8 / span 5; min-width: 0; }
.branche .br-heute-bild .medium-unterschrift { margin-top: 0.75rem; }
.branche .br-heute-ansicht { margin-top: 1.75rem; padding-top: 1.1rem; border-top: 1px solid var(--linie); }
.branche .br-heute-ansicht > .br-ansicht-schild { margin-bottom: 0.75rem; }
.js .branche .br-heute-ansicht[hidden] { display: none; }
@media (max-width: 900px) {
  .branche .br-heute-bild, .branche .br-heute-text { grid-column: 1 / -1; }
  .branche .br-heute-text { margin-top: var(--luft-titel); }
}
@media (min-width: 735px) and (max-width: 900px) { .branche .br-heute-bild { max-width: 66.666%; } }
.branche .br-beleg {
  max-width: 36rem; margin-top: 2rem; padding: 0.15rem 0 0.15rem 1rem;
  border-top: 0; border-left: 1px solid var(--linie-stark);
  font-size: var(--fs-klein); line-height: var(--lh-klein);   
}
.branche .br-beleg .beleg-satz { color: var(--tinte); }
.branche .br-beleg .beleg-etikett { display: block; margin: 0 0 0.35rem; font-size: var(--fs-mikro); letter-spacing: var(--ls-mikro); }
.branche .br-beleg .beleg-quelle { margin-top: 0.6rem; font-size: var(--fs-fein); line-height: var(--lh-klein); }
.branche .br-beleg .beleg-quelle > span:first-child { font-size: var(--fs-mikro); letter-spacing: var(--ls-mikro); }
.branche .br-beleg .beleg-nr { margin-left: 0.25em; font-size: var(--fs-fein); }
.branche .br-beleg .beleg-nr + .beleg-nr { margin-left: 0.15em; }
.branche .br-beleg + .bruecke { margin: 1rem 0 0; padding-left: 1rem; max-width: 36rem; font-size: var(--fs-klein); line-height: var(--lh-klein); color: var(--tinte); }
.branche .br-konsole-rahmen { min-width: 0; }
.branche .br-entscheidung-raster { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 0 var(--spalten-luecke); align-items: start; }
.branche .br-entscheidung-kopf { grid-column: 1 / span 5; min-width: 0; }
.branche .br-entscheidung-log { grid-column: 7 / span 6; min-width: 0; }
@media (min-width: 901px) { .branche .br-entscheidung-kopf { position: sticky; top: calc(var(--kopf-raum) + 2rem); } }
.branche .br-entscheidung-kopf .h2 { max-width: none; }
.branche .br-titel-vor, .branche .br-titel-glied { display: block; }
.branche .br-titel-glied { color: var(--grau); }
.branche .br-titel-anlass { margin-top: 0; font-size: 1em; line-height: inherit; letter-spacing: inherit; }
.branche .br-entscheidung-kopf .br-ansicht-schild { margin: 1.5rem 0 0; }
.branche .br-log { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--linie-stark); counter-reset: schritt; }
.branche .br-schritt {
  position: relative; display: grid; grid-template-columns: 4.25rem 1.5rem minmax(0, 1fr); gap: 0 1rem;
  padding: 1.4rem 0 1.5rem; border-bottom: 1px solid var(--linie);
}
.branche .br-schritt::before {   
  content: ""; position: absolute; left: calc(4.25rem + 1rem + 0.75rem - 0.5px); top: 2.15rem; bottom: -1.45rem; width: 1px;
  background: var(--linie-stark);
}
.branche .br-schritt:last-child::before { display: none; }
.branche .br-schritt::after {    
  content: ""; position: absolute; left: calc(4.25rem + 1rem + 0.75rem - 0.3125rem); top: 1.65rem; width: 0.625rem; height: 0.625rem;
  background: var(--weiss); box-shadow: inset 0 0 0 1px var(--tinte);
}
.branche .br-schritt:nth-child(2)::after { background: var(--tinte); }
.branche .br-schritt:nth-child(3)::after { background: var(--gelb); box-shadow: var(--marke-kante); }
.branche .br-zeit { grid-column: 1; font-size: 1.0625rem; letter-spacing: 0.01em; padding-top: 0.05rem; }
.branche .br-schritt-text { grid-column: 3; min-width: 0; }
.branche .br-schritt-text > p:last-child { margin: 0; font-size: var(--fs-klein); line-height: var(--lh-klein); color: var(--tinte); max-width: 36em; }
.branche .br-wo {
  display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem 0.9rem; margin: 0.2rem 0 0.55rem;
  font-size: 0.6875rem; line-height: 1.45; letter-spacing: 0.08em; text-transform: uppercase; color: var(--tinte);
}
.branche .br-status { display: inline-flex; padding: 0.15rem 0.4rem; border: 1px solid var(--linie-stark); line-height: 1.3; }
.branche .br-status-freigegeben, .branche .br-status-freigegeben_kurz { background: var(--tinte); color: #fff; }
.branche .br-status-umgesetzt { background: var(--gelb); color: #000; border-color: var(--gelb); box-shadow: var(--marke-kante); }
.branche .br-protokoll {
  margin: 1.75rem 0 0; padding: 0.95rem 1rem 0.95rem 2.1rem; position: relative;
  background: var(--nacht-2); color: var(--nacht-text);
  font-size: 0.75rem; line-height: 1.6; letter-spacing: 0.06em; text-transform: uppercase; overflow-wrap: break-word;
}
.branche .br-protokoll::before {
  content: ""; position: absolute; left: 1rem; top: 1.38rem; width: 0.45rem; height: 0.45rem; background: var(--gelb);
}
.branche .br-protokoll-etikett { color: var(--nacht-text-2); margin-right: 0.35em; }
@media (max-width: 900px) {
  .branche .br-entscheidung-kopf, .branche .br-entscheidung-log { grid-column: 1 / -1; }
  .branche .br-entscheidung-log { margin-top: var(--luft-titel); }
}
@media (max-width: 480px) {
  .branche .br-schritt { grid-template-columns: 1.5rem minmax(0, 1fr); gap: 0.35rem 0.75rem; }
  .branche .br-zeit { grid-column: 2; grid-row: 1; }
  .branche .br-schritt-text { grid-column: 2; grid-row: 2; }
  .branche .br-schritt::before { left: calc(0.75rem - 0.5px); }
  .branche .br-schritt::after { left: calc(0.75rem - 0.3125rem); }
}
.branche .br-fragen.fakten { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(2.5rem, 2rem + 2vw, 4rem) var(--spalten-luecke); }
.branche .br-fragen > .br-frage { padding-top: 1.25rem; }
.branche .br-fragen > .br-frage::before { background: var(--linie-stark); }
.branche .fakten .br-frage-titel { font-size: var(--fs-h3); line-height: var(--lh-h3); letter-spacing: var(--ls-h3); max-width: 18em; }
.branche .fakten .br-frage > p { margin-top: 0.9rem; font-size: var(--fs-klein); line-height: var(--lh-klein); color: var(--tinte); max-width: 36em; }
@media (max-width: 900px) { .branche .br-fragen.fakten { grid-template-columns: minmax(0, 1fr); gap: 2.25rem; } }
.branche .platzschild-nummer small { font-size: var(--fs-mikro); letter-spacing: var(--ls-mikro); }
.branche .br-weitere { padding-bottom: var(--abschnitt); }
.branche .br-weitere .kopfzeile { margin-bottom: calc(var(--luft-titel) * 0.6); }
.branche .br-quellen .kopfzeile { margin-bottom: var(--luft-titel); }   
.branche .br-quellen-einleitung { margin: 0 0 1.5rem; max-width: 60rem; font-size: var(--fs-fein); line-height: var(--lh-klein); color: var(--tinte); }
.branche .br-quellen .quellen-liste li { overflow-wrap: anywhere; }
.branche .gewinn-kopf > .br-ansicht-schild { margin: -0.05rem auto 0 0; }
.branche .br-gewinne-abschnitt .gewinn-unten > .br-beleg { margin-top: 0; }


.kontakt-text .h1 { max-width: 9em; }
@media (min-width: 901px) and (max-width: 1299px) { .seitenkopf:not(.recht-kopf) .kontakt-text .h1 { font-size: min(var(--fs-display), 6.8vw); } }   
.kontakt-text .einleitung { max-width: 26em; font-size: var(--fs-body-l); line-height: var(--lh-body); }   
.kontakt-mail { align-self: start; min-width: 0; }
.kontakt-wege { margin: 0; max-width: 34rem; border-top: 1px solid var(--linie-stark); }
.kontakt-wege > div { display: grid; grid-template-columns: 7.5rem minmax(0, 1fr); align-items: baseline; gap: 0.4rem 1.25rem; padding: 1.05rem 0; border-bottom: 1px solid var(--linie); }
.kontakt-wege dt { font-family: var(--sans); font-size: var(--fs-mikro); letter-spacing: var(--ls-mikro); line-height: var(--lh-mikro); text-transform: uppercase; color: var(--text-2); }
.kontakt-wege dd { margin: 0; min-width: 0; }
.kontakt-weg-adresse { padding: 1.4rem 0 1.5rem; }
.kontakt-adresse {
  font-size: min(var(--fs-h3), 7.4vw); line-height: var(--lh-h3); letter-spacing: var(--ls-h3); color: var(--tinte);
  white-space: nowrap; text-decoration: none; padding-bottom: 0.06em;
  background: linear-gradient(currentColor, currentColor) 0 100% / 100% 1px no-repeat;
  transition: background-size var(--dauer-ui) var(--kurve-ui);
  -webkit-user-drag: none; -webkit-user-select: text; user-select: text;
}
.kontakt-adresse:hover { background-position: 100% 100%; background-size: 0% 1px; }
.kontakt-adresse:focus-visible { outline: 2px solid #000; outline-offset: 4px; }
.kontakt-betreff { font-size: var(--fs-klein); line-height: var(--lh-klein); color: var(--tinte); overflow-wrap: anywhere; }
.kontakt-knopf { margin: clamp(1.75rem, 1.4rem + 1vw, 2.5rem) 0 0; }
.kontakt-danach { margin: 1rem 0 0; max-width: 28em; font-size: var(--fs-klein); line-height: var(--lh-klein); color: var(--text-2); }
.kontakt-rechts { align-self: start; min-width: 0; max-width: 34rem; }
.kontakt-felder { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0 1.25rem; border-top: 1px solid var(--linie-stark); }
.kontakt-feld { display: grid; gap: 0.45rem; padding: 1.05rem 0 0; min-width: 0; }
.kontakt-feld:nth-child(n+3) { grid-column: 1 / -1; }
.kontakt-feld label { font-family: var(--sans); font-size: var(--fs-mikro); letter-spacing: var(--ls-mikro); line-height: var(--lh-mikro); text-transform: uppercase; color: var(--text-2); }
.kontakt-frei { text-transform: none; letter-spacing: 0; }
.kontakt-pflicht { margin-left: 0.2em; color: var(--tinte); }
.kontakt-feld input, .kontakt-feld select, .kontakt-feld textarea {
  box-sizing: border-box; width: 100%; min-width: 0; margin: 0; padding: 0.7rem 0.8rem; min-height: 2.75rem;
  font: inherit; font-size: var(--fs-klein); line-height: var(--lh-klein); color: var(--tinte);
  background: #fff; border: 1px solid var(--linie-stark); border-radius: 0; -webkit-appearance: none; appearance: none;
}
.kontakt-feld select { padding-right: 2.4rem; background-image: linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%); background-position: right 1.1rem center, right 0.8rem center; background-size: 0.3rem 0.3rem; background-repeat: no-repeat; }
.kontakt-feld textarea { resize: vertical; min-height: 9rem; }
.kontakt-feld input:focus-visible, .kontakt-feld select:focus-visible, .kontakt-feld textarea:focus-visible { outline: 2px solid #000; outline-offset: 2px; }
.kontakt-feld [aria-invalid="true"] { border-color: #a3261d; }
.kontakt-fehler { margin: 0; min-height: calc(var(--fs-mikro) * 1.6); font-size: 0.8125rem; line-height: 1.25; color: #a3261d; }
.kontakt-feld:not(:has(.kontakt-fehler)) { padding-bottom: calc(0.45rem + var(--fs-mikro) * 1.6); }
.kontakt-formular .kontakt-knopf { margin-top: 1.25rem; }
.kontakt-senden-fehler { margin-top: 0.6rem; max-width: 28em; }
.kontakt-senden-fehler:empty { min-height: 0; margin-top: 0; }
.kontakt-formular[aria-busy="true"] .knopf { cursor: progress; opacity: 0.6; }
.kontakt-formular button.knopf { font-family: inherit; line-height: 1; -webkit-appearance: none; appearance: none; border-radius: 0; }
.kontakt-hinweis { margin: 1rem 0 0; max-width: 28em; font-size: var(--fs-klein); line-height: var(--lh-klein); color: var(--text-2); }
.kontakt-dank { padding: 1.5rem 1.5rem 1.6rem; background: var(--gelb); color: #000; }
.kontakt-dank:focus { outline: none; }
.kontakt-dank-titel { margin: 0 0 0.5rem; font-size: var(--fs-body-l); font-weight: 400; line-height: 1.2; }
.kontakt-dank p { margin: 0; font-size: var(--fs-klein); line-height: var(--lh-klein); }
.kontakt-oder { margin: clamp(2.5rem, 2rem + 1.5vw, 3.5rem) 0 0.9rem; font-family: var(--sans); font-size: var(--fs-mikro); letter-spacing: var(--ls-mikro); line-height: var(--lh-mikro); text-transform: uppercase; color: var(--text-2); }
@media (max-width: 600px) {
  .kontakt-felder { grid-template-columns: minmax(0, 1fr); }
  .kontakt-feld:nth-child(n) { grid-column: auto; }
  .kontakt-wege > div { grid-template-columns: minmax(0, 1fr); gap: 0.45rem; }
  .kontakt-weg-adresse { padding: 1.1rem 0 1.2rem; }
}
.recht-kopf { padding-bottom: clamp(2.5rem, 2rem + 2vw, 3.75rem); }
.recht-kopf-text { max-width: 54rem; }
.recht-kopf .h1 { font-size: min(var(--fs-h1), 9.5vw); overflow-wrap: anywhere; }   
.recht-kopf .einleitung { margin-top: 1.5rem; }
.recht-kopf .recht-verbindlich {
  display: grid; grid-template-columns: 0.5rem minmax(0, 1fr) auto; align-items: baseline; gap: 0.6rem 0.9rem;
  max-width: 46rem; margin: 2rem 0 0; padding: 0.95rem 1.1rem;
  background: var(--flaeche); font-size: var(--fs-klein); line-height: 1.43;
}
.recht-verbindlich-marke { width: 0.5rem; height: 0.5rem; background: var(--tinte); transform: translateY(-0.05em); }
.recht-verbindlich-satz { min-width: 0; }
.recht-verbindlich .pfeil-link { font-size: var(--fs-klein); padding-bottom: 0.15rem; white-space: nowrap; }
@media (max-width: 600px) {
  .recht-kopf .recht-verbindlich { grid-template-columns: 0.5rem minmax(0, 1fr); }
  .recht-verbindlich .pfeil-link { grid-column: 2; justify-self: start; align-items: flex-end; }
}
.recht-seite { padding-bottom: var(--abschnitt); }
.recht-liste { border-top: 1px solid var(--linie-stark); }
.recht-block { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 0.75rem var(--spalten-luecke); padding: 1.75rem 0; border-bottom: 1px solid var(--linie); }
.recht-titel { grid-column: 1 / span 4; font-size: clamp(1.25rem, 1.15rem + 0.45vw, 1.5rem); line-height: 1.22; letter-spacing: var(--ls-h3); }   
.recht-text { grid-column: 6 / span 7; max-width: var(--w-text); color: var(--text-2); line-height: 1.6; min-width: 0; overflow-wrap: anywhere; }
.recht-text p { margin: 0; }
.recht-text .luecke { line-height: 1.9; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.recht-text ul { margin: 0; padding-left: 1.15rem; list-style: square; }
.recht-text > :not(:first-child) { margin-top: 0.9rem; }   
.recht-text li { padding-left: 0.25rem; }
.recht-text li + li { margin-top: 0.4rem; }
.recht-text li::marker { color: var(--tinte); }
.recht-text strong { color: var(--tinte); font-weight: 600; }
.recht-hervorgehoben .recht-text { background: var(--flaeche); padding: 1.1rem 1.25rem; color: var(--tinte); }
@media (max-width: 900px) {
  .recht-block { padding: 1.4rem 0; }
  .recht-titel, .recht-text { grid-column: 1 / -1; }
}
.kopf-schlicht ~ main .seitenkopf { min-height: min(100vh, 60rem); display: flex; flex-direction: column; justify-content: center; }
.kopf-schlicht ~ main .seitenkopf .etikett { font-family: var(--sans); font-size: var(--fs-mikro); letter-spacing: var(--ls-mikro); }
.kopf-schlicht ~ main .andere-sprache { margin-top: 1.75rem; }
.recht-klein { margin-top: 3.5rem; }
.recht-klein .recht-block { padding: 0.85rem 0; gap: 0.25rem var(--spalten-luecke); }
.recht-klein .recht-titel { font-size: 0.8125rem; line-height: 1.4; letter-spacing: 0; color: var(--text-2); }
.recht-klein .recht-text, .recht-klein .recht-text p { font-size: 0.8125rem; line-height: 1.5; color: var(--text-2); }
.recht-kopf { padding-top: clamp(6.5rem, 5rem + 3vw, 8rem); padding-bottom: 1.5rem; }
.recht-kopf-text { max-width: 44rem; }
.recht-kopf .h1, :lang(de) .recht-kopf .h1 { font-size: clamp(1.75rem, 1.5rem + 1vw, 2.25rem); line-height: 1.2; letter-spacing: -0.01em; }
.recht-kopf .einleitung { margin-top: 0.75rem; font-size: 1rem; line-height: 1.6; color: var(--text-2); }
.recht-kopf .recht-verbindlich { display: block; background: none; padding: 0; margin-top: 0.75rem; font-size: 0.875rem; color: var(--text-2); }
.recht-kopf .recht-verbindlich-marke { display: none; }
.recht-verbindlich .pfeil-link { font-size: 0.875rem; margin-left: 0.25rem; }
.recht-seite { padding-bottom: 4rem; }
.recht-seite .rahmen > .recht-liste { max-width: 44rem; border-top: 0; }
.recht-liste .recht-block { display: block; padding: 0; border-bottom: 0; margin: 0 0 1.75rem; }
.recht-liste .recht-titel { font-size: 1.125rem; line-height: 1.35; letter-spacing: 0; margin: 0 0 0.4rem; }
.recht-liste .recht-text { max-width: none; font-size: 1rem; line-height: 1.6; color: var(--text-2); }
.recht-liste .recht-hervorgehoben .recht-text { background: none; padding: 0 0 0 1rem; border-left: 2px solid var(--tinte); color: var(--tinte); }
.recht-seite .recht-klein { margin-top: 2.5rem; }
.recht-klein .recht-block { margin-bottom: 1rem; }
.recht-klein .recht-titel { font-size: 0.875rem; margin-bottom: 0.2rem; color: var(--tinte); }
.recht-klein .recht-text, .recht-klein .recht-text p { font-size: 0.875rem; line-height: 1.55; }


.start-kopf { min-height: 100vh; min-height: 100svh; display: flex; flex-direction: column; justify-content: center; }
.start-kopf > .rahmen { text-align: center; }
.start-kopf .display .zeile { display: block; }
.start-kopf .display { max-width: 13em; margin-inline: auto; }
.start-film .display { max-width: 9em; }
@media (max-width: 600px) { .start-film .display { font-size: clamp(2.125rem, 10.6vw, 2.75rem); } }
.start-kopf .unterzeile, .start-kopf .einleitung {
  margin: clamp(1.25rem, 1rem + 0.8vw, 1.75rem) auto 0; max-width: 34em;
  font-size: var(--fs-body-l); line-height: var(--lh-body); letter-spacing: var(--ls-body); color: var(--nacht-text);
  text-wrap: balance;
}
.start-kopf .unterzeile + .einleitung { margin-top: 0.5rem; }
.start-kopf .knoepfe { margin-top: clamp(1.75rem, 1.4rem + 1vw, 2.5rem); justify-content: center; }
.start-kopf .unterzeile .zeile { display: block; }
.start-quellen .quellen-einleitung { max-width: 60rem; margin: 0 0 1.5rem; font-size: var(--fs-fein); line-height: var(--lh-klein); color: var(--tinte); }
.start-quellen .quellen-liste li > span:last-child { overflow-wrap: anywhere; }
.start-aussage { padding-bottom: max(var(--abschnitt), 5.5rem); }
@media (max-width: 900px) { .start-aussage { padding-bottom: max(var(--abschnitt), 2.5rem); } }
.start-aussage .grau-in-grau { display: block; margin-top: 0.15em; }
.start-aussage .grau-in-grau .zeile { display: block; }
.start-film { padding-block: var(--kopf-raum); --vorhang-abdunkeln: 0.1; }   
.start-film::after { content: none; }      
.start-film .film-zeile { color: #fff; text-shadow: 0 0 0.2em rgba(0, 0, 0, 0.25); }
.start-film .film-schluss {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0);
  white-space: nowrap; border: 0; pointer-events: none; user-select: none; -webkit-user-select: none;
}
.start-film.film-messen .film-schluss {
  left: 0; right: 0; top: 50%; transform: translateY(-50%); width: auto; height: auto; overflow: visible; clip: auto;
  white-space: normal; max-width: 13em; margin: 0 auto; padding-inline: var(--rand);
  font-size: var(--fs-display); line-height: var(--lh-display); letter-spacing: var(--ls-display); text-wrap: balance;
  clip-path: inset(50%);
}
@media (prefers-reduced-motion: no-preference) {
  .film-wartet .start-film:not(.film-an) .film-zeile:not(.film-schluss) { opacity: 0; animation: film-zeigen 0.35s 1.4s forwards; }
}
@keyframes film-zeigen { to { opacity: 1; } }
.start-film > .rahmen::before {
  content: ""; position: absolute; z-index: -1; left: 50%; top: 50%; pointer-events: none;
  width: min(calc(100% + 10rem), 84rem); height: calc(100% + 18rem); transform: translate(-50%, -50%);
  background: radial-gradient(closest-side, rgba(6, 7, 8, 0.56), rgba(6, 7, 8, 0.5) 28%, rgba(6, 7, 8, 0.36) 48%,
    rgba(6, 7, 8, 0.19) 66%, rgba(6, 7, 8, 0.07) 83%, rgba(6, 7, 8, 0));
  opacity: var(--film-schleier, 1);
}
@media (max-width: 734px) {
  .start-film > .rahmen::before {
    background: radial-gradient(closest-side, rgba(6, 7, 8, 0.64), rgba(6, 7, 8, 0.58) 28%, rgba(6, 7, 8, 0.44) 48%,
      rgba(6, 7, 8, 0.24) 66%, rgba(6, 7, 8, 0.08) 83%, rgba(6, 7, 8, 0));
  }
}
.start-film .medium-poster { transition: opacity 900ms ease-in-out; }
.film-ebene { position: absolute; inset: 0; pointer-events: none; visibility: hidden; user-select: none; -webkit-user-select: none; }
.film-an .film-ebene { visibility: visible; opacity: clamp(0, calc(var(--film-uebergabe, 1) * 2.2), 1); }
.film-an .film-zeile { opacity: clamp(0, calc(2 - var(--film-uebergabe, 1) * 2), 1); }   
.film-maske { position: absolute; display: block; overflow: hidden; }
.film-walze { position: absolute; display: block; white-space: pre; color: #fff; text-shadow: 0 0 0.2em rgba(0, 0, 0, 0.25); }
.film-doppelt::after { content: attr(data-w); position: absolute; left: 0; top: var(--weg, 1.2em); white-space: pre; }
.film-wort { position: absolute; display: block; white-space: pre; }
.kopf.kopf-film { background: transparent; box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; }
.kopf.kopf-film::before {
  content: ""; position: absolute; z-index: -1; pointer-events: none;
  top: calc(-1 * var(--kopf-oben)); left: -0.625rem; right: -0.625rem; height: calc(100% + var(--kopf-oben) + 3rem);
  background: linear-gradient(to bottom, rgba(6, 7, 8, 0.5), rgba(6, 7, 8, 0));
}
@media (max-width: 960px) { .kopf.kopf-film::before { left: 0; right: 0; } }
.kopf.kopf-film :is(.sprachwahl, .knopf, .menue-knopf):not(:hover) { background: rgba(6, 7, 8, 0.45); }
.kopf-ohne-uebergang, .kopf-ohne-uebergang * { transition: none !important; }


.ueber-kopf .h1 { max-width: 12em; }
.ueber-kopf .seitenkopf-text .seitenkopf-unten { margin-top: clamp(1.5rem, 1rem + 1.5vw, 2.5rem); }
.ueber-kopf .seitenkopf-unten .einleitung { font-size: var(--fs-body-l); line-height: var(--lh-body); max-width: 34em; }
.ueber-geschichte-kopf .h2 { max-width: 14em; }
.ueber-geschichte-kopf .abschnitt-lead { max-width: 22em; }
.ueber-kapitel-liste { list-style: none; margin: clamp(2.5rem, 1.5rem + 3.5vw, 5.5rem) 0 0; padding: 0; }
.ueber-kapitel {
  display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 0 var(--spalten-luecke); align-items: start;
  padding: clamp(1.1rem, 0.9rem + 0.7vw, 1.6rem) 0 clamp(3.75rem, 2rem + 6vw, 9rem);
  border-top: 1px solid var(--linie);
}
.ueber-kapitel:first-child { border-top-color: var(--linie-stark); }
.kopfzeile + .ueber-kapitel-liste { margin-top: 0; }
.kopfzeile + .ueber-kapitel-liste > .ueber-kapitel:first-child { border-top: 0; padding-top: 0; }
.ueber-kapitel:last-child { padding-bottom: 0; }
.ueber-kapitel-kopf { grid-column: 1 / span 3; display: flex; flex-direction: column; gap: 0.55rem; min-width: 0; padding-top: 0.2rem; }
.ueber-kapitel-nr { font-size: var(--fs-klein); line-height: 1; color: var(--text-2); font-variant-numeric: tabular-nums; }
.ueber-kapitel-etikett {
  margin: 0; font-family: var(--sans); font-size: var(--fs-mikro); font-weight: var(--fw-regular, 400);
  line-height: var(--lh-mikro); letter-spacing: var(--ls-mikro); text-transform: uppercase; color: var(--tinte);
}
.ueber-kapitel-aussage {
  grid-column: 4 / span 9; margin: 0; max-width: 15em; color: var(--tinte); text-wrap: balance;
}
.ueber-kapitel-text {
  grid-column: 4 / span 7; margin: clamp(1.5rem, 1rem + 1.6vw, 2.75rem) 0 0; max-width: 30em;
  font-size: var(--fs-body-l); line-height: var(--lh-body); letter-spacing: var(--ls-body, 0); color: var(--tinte); text-wrap: pretty;
}   
@media (min-width: 1200px) { .ueber-kapitel-text { grid-column: 7 / span 5; } }
@media (max-width: 900px) {
  .ueber-kapitel-kopf { grid-column: 1 / -1; flex-direction: row; align-items: baseline; gap: 0.9rem; padding-top: 0; margin-bottom: clamp(1.5rem, 1rem + 2vw, 2.25rem); }
  .ueber-kapitel-aussage, .ueber-kapitel-text { grid-column: 1 / -1; }
  .ueber-kapitel-aussage { max-width: 16em; }
}
.ueber-geschichte-offen { margin: 2.5rem 0 0; }
.ueber-text > p:first-child { color: var(--tinte); font-size: var(--fs-body-l); line-height: var(--lh-body); letter-spacing: 0; }
.ueber-warum .h2 { max-width: 11em; }
