[data-bereich="simulator"] .vtraster { grid-template-columns: minmax(0, 1fr) minmax(19rem, 24rem); }
[data-bereich="simulator"] .karte { max-width: none; }
[data-bereich="simulator"] blockquote {
  margin: var(--s3) 0; padding: 0; color: var(--tinte); font-size: var(--t-mittel); line-height: 1.5;
}
[data-bereich="simulator"] blockquote::before { content: "„"; }
[data-bereich="simulator"] blockquote::after { content: "“"; }
[data-bereich="simulator"] .vtzurueck, #sim-aktionen button { display: inline-flex; align-items: center; gap: .4rem; }
#sim-aktionen .ikone, #sim-inhalt button .ikone { width: 16px; height: 16px; }
#sim-inhalt button.haupt, #sim-inhalt button.neben { display: inline-flex; align-items: center; justify-content: center; gap: .4rem; }
.simstand {
  display: inline-flex; align-items: center; gap: .4em; white-space: nowrap;
  font-size: var(--t-plakette); font-weight: 600; letter-spacing: .01em; line-height: 1.4;
  color: var(--tinte-still);
}
.simstand i { width: 7px; height: 7px; border-radius: 50%; background: currentColor; flex: none; }
.simstand.gut { color: var(--gut); }
.simstand.warte { color: var(--warte); }
.simstand.fehler { color: var(--fehler); }
.simstand.still { color: var(--tinte-still); font-weight: 500; }
.simneu {
  margin-left: .35em; padding: 0 .4em; border-radius: 999px;
  background: var(--gut-flaeche); color: var(--gut); font-size: .6875rem; font-weight: 600;
}
.simchip {
  display: inline-flex; align-items: center; gap: .35rem; min-height: 1.5rem; padding: 0 .55rem 0 .2rem;
  border-radius: 999px; background: var(--flaeche-tief); border: 1px solid var(--rand-fein);
  color: var(--tinte-leise); font-size: var(--t-mikro); line-height: 1.3;
}
.simmarke {
  display: inline-flex; align-items: center; padding: 0 .4rem; min-height: 1.1rem; border-radius: 999px;
  background: var(--flaeche); color: var(--tinte-still); font-size: .6875rem; font-weight: 600;
  box-shadow: 0 0 0 1px var(--rand-fein);
}
.simmarke[data-hersteller="Sophos"] { color: var(--blau-text); background: var(--blau-flaeche); box-shadow: none; }
.vttitel .simmarke { margin-right: .45rem; vertical-align: .08em; }
.simhinweis {
  margin: var(--s3) 0 0; padding: var(--s2) var(--s3); border-radius: var(--rundung-klein);
  background: var(--flaeche-tief); color: var(--tinte-leise); font-size: var(--t-klein);
}

.simmess { grid-template-columns: repeat(3, minmax(0, 1fr)); margin: var(--s3) 0; }
.simmess.zwei { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.simmess > div { display: flex; flex-direction: column; min-width: 0; padding: var(--s3) var(--s2); }
.simmess > div + div { border-left: 1px solid var(--rand-fein); }
.simmess span { font-size: var(--t-mikro); color: var(--tinte-still); }
.simmess b { font-size: var(--t-mittel); font-weight: 600; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.simmess b.simwort { font-size: var(--t-klein); line-height: 1.4; padding-top: .2rem; }
.simfaelle { display: flex; flex-direction: column; border-top: 1px solid var(--rand-fein); }
.simfall + .simfall { border-top: 1px solid var(--rand-fein); }
.simfallkopf {
  display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: var(--s3); align-items: center;
  padding: var(--s3) 0;
}
.simfallname {
  display: flex; align-items: center; gap: var(--s2); min-width: 0; min-height: 2.75rem; padding: 0 var(--s1);
  margin: 0; border: 0; border-radius: var(--rundung-klein); background: none; color: inherit; text-align: left; font-weight: 400;
}
.simfallname:hover { background: var(--flaeche-hover); }
.simfallname:hover .vttitel { color: var(--blau-text); }
.simfallname > .ikone { width: 16px; height: 16px; color: var(--tinte-still); transition: transform .15s ease-out; }
.simfall.offen .simfallname > .ikone { transform: rotate(90deg); }
.simumfeld { font-size: var(--t-mikro); color: var(--tinte-still); text-align: right; max-width: 14rem; }
.simfalltext { padding: 0 0 var(--s4) calc(var(--s1) + 16px + var(--s2)); max-width: 72ch; }
.simfalltext p { margin: 0; color: var(--tinte-leise); }
.simlagekopf { display: flex; align-items: center; justify-content: space-between; gap: var(--s3); margin-bottom: var(--s3); }
.simlagekopf h2 { margin: 0; font-size: var(--t-gross); font-weight: 600; }
.simland select { min-width: 11rem; font-size: var(--t-klein); }
.simlage .vtsegment { margin-bottom: var(--s2); }
.simrang, .simmeldungen { list-style: none; margin: 0; padding: 0; }
.simrang li {
  display: grid; grid-template-columns: minmax(0, 10rem) minmax(0, 1fr) 2.5rem; align-items: center;
  gap: var(--s3); padding: var(--s1) 0; font-size: var(--t-klein);
}
.simrang li > span:first-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.simrang b { font-variant-numeric: tabular-nums; text-align: right; }
.simbar { height: 8px; border-radius: 999px; background: var(--flaeche-tief); overflow: hidden; }
.simbar i { display: block; height: 100%; width: 0; border-radius: inherit; background: color-mix(in srgb, var(--fehler) 75%, transparent); }
.simwissen { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--rand-fein); }
.simwissen li { display: flex; flex-direction: column; gap: 2px; padding: var(--s3) 0; border-bottom: 1px solid var(--rand-fein); max-width: 72ch; }
.simmeldungen li { display: grid; grid-template-columns: 3.25rem minmax(0, 1fr); gap: var(--s2); padding: var(--s2) 0; }
.simmeldungen li + li { border-top: 1px solid var(--rand-fein); }
.simdatum { font-size: var(--t-mikro); color: var(--tinte-still); font-variant-numeric: tabular-nums; padding-top: .1rem; }
.simschritte {
  display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: var(--s1);
  list-style: none; margin: 0 0 var(--s5); padding: 0; counter-reset: none;
}
.simschritte li { min-width: 0; }
.simschritte button {
  display: flex; align-items: center; gap: var(--s2); width: 100%; min-height: 2.75rem; padding: var(--s2);
  margin: 0; border: 0; border-bottom: 2px solid var(--rand); border-radius: 0; background: none;
  color: var(--tinte-still); font-size: var(--t-klein); font-weight: 500; text-align: left;
}
.simschritte button > span:last-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.simschritte button:hover:not(:disabled) { color: var(--tinte); background: var(--flaeche-hover); }
.simschritte button:disabled { opacity: .55; cursor: default; }
.simschritte .erledigt button { color: var(--tinte-leise); border-bottom-color: var(--gut); }
.simschritte [aria-current="step"] button { color: var(--tinte); font-weight: 600; border-bottom-color: var(--aktion); }
.simnr {
  display: inline-grid; place-items: center; flex: none; width: 1.5rem; height: 1.5rem; border-radius: 50%;
  background: var(--flaeche-tief); box-shadow: 0 0 0 1px var(--rand); font-size: var(--t-mikro); font-weight: 600;
}
.simnr .ikone { width: 14px; height: 14px; }
.simschritte .erledigt .simnr { background: var(--gut-flaeche); color: var(--gut); box-shadow: none; }
[aria-current="step"] .simnr { background: var(--aktion); color: #fff; box-shadow: none; }
.simfuss {
  display: flex; align-items: center; justify-content: space-between; gap: var(--s3);
  margin-top: var(--s5); padding-top: var(--s4); border-top: 1px solid var(--rand-fein);
}
.simfuss .vtmeta { margin-left: auto; }

.simebenen { display: flex; flex-direction: column; border-top: 1px solid var(--rand-fein); }
.simebene {
  display: grid; grid-template-columns: minmax(9rem, 13rem) minmax(0, 1fr) 7.5rem; gap: var(--s3); align-items: center;
  padding: var(--s3) 0; border-bottom: 1px solid var(--rand-fein);
}
.simebene .chips { margin: 0; }
.simebene > .simstand { justify-self: end; }
.simebenekopf { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.simebenekopf b { display: inline-flex; align-items: center; gap: .45rem; font-size: var(--t-klein); }
.simebenekopf b .ikone, .simfeld b .ikone { width: 16px; height: 16px; color: var(--tinte-still); opacity: 1; }
.simebene.simreaktion { border-bottom: 0; border-top: 1px solid var(--rand); }
.simspiele { display: flex; flex-wrap: wrap; gap: var(--s1) var(--s3); }
.vtklebt .simebene { grid-template-columns: minmax(0, 1fr) auto; row-gap: var(--s2); }
.vtklebt .simebene > :nth-child(2) { grid-column: 1 / -1; grid-row: 2; }
.vtklebt .simebenekopf .vtmeta { display: none; }
.simbraucht { color: var(--warte); font-weight: 600; }
.simperson h2 { margin-bottom: 0; }
.simperson > .vtmeta { margin: 0; }
.simperson p { max-width: 68ch; }
.simdaten { display: grid; grid-template-columns: 4.5rem minmax(0, 1fr); gap: var(--s1) var(--s3); margin: var(--s3) 0 0; font-size: var(--t-klein); }
.simdaten dt { color: var(--tinte-still); }
.simdaten dd { margin: 0; }
.simpunkte { margin: 0; padding-left: 1.1rem; font-size: var(--t-klein); }
.simpunkte li + li { margin-top: var(--s1); }
.simpunkte.offen li::marker { color: var(--fehler); }
.simpunkte.zu li::marker { color: var(--gut); }
.simeinleitung { margin: 0 0 var(--s4); color: var(--tinte-leise); max-width: 72ch; }
.simstufen { list-style: none; margin: 0 0 var(--s3); padding: 0; border-top: 1px solid var(--rand-fein); }
.simstufe {
  --knoten: 2.5rem;
  --weg-x: calc(8.75rem + var(--s3) + var(--knoten) / 2);
  --weg-y: calc(var(--s3) + var(--knoten) / 2);
  position: relative;
  display: grid; grid-template-columns: 8.75rem var(--knoten) minmax(0, 1fr) auto;
  grid-template-areas: "zeit knoten kern staende";
  gap: var(--s3); align-items: start;
  padding: var(--s3) 0; border-bottom: 1px solid var(--rand-fein);
}
.simstufe > .simzeit { grid-area: zeit; }
.simstufe > .simknoten { grid-area: knoten; }
.simstufe > .vtkern { grid-area: kern; }
.simstufe > .simstaende { grid-area: staende; }
.simstufe .vtkern p { margin: var(--s1) 0 0; font-size: var(--t-klein); color: var(--tinte-leise); max-width: 70ch; }
.simstufe .vtkern .simwer { color: var(--tinte); }
.simstufe.nicht { opacity: .6; }
.simpfadangriff { margin-top: var(--s5); padding-top: var(--s4); border-top: 1px solid var(--rand-fein); }
.simpfadangriff h3 { margin: 0; }
.simstufe::before, .simstufe::after {
  content: ""; position: absolute; left: calc(var(--weg-x) - 1.5px); width: 3px;
  background: var(--fehler); transform-origin: top;
}
.simstufe::before { top: 0; height: var(--weg-y); }
.simstufe:first-child::before { display: none; }
.simstufe.nicht::before, .simstufe.weg-still::after {
  width: 0; background: none; border-left: 2px dashed var(--rand-stark); left: calc(var(--weg-x) - 1px);
}
.simstufe::after { display: none; top: var(--weg-y); bottom: -1px; }
.simstufe.weg-rot::after, .simstufe.weg-still::after { display: block; }
.simzeit { display: flex; flex-direction: column; gap: 2px; padding: .1rem var(--s2) var(--s1); margin-left: calc(-1 * var(--s2)); border-radius: var(--rundung-klein); }
.simzeit b { font-size: var(--t-gross); font-weight: 600; line-height: 1.15; font-variant-numeric: tabular-nums; }
.simtag { display: inline-flex; align-items: center; gap: .3rem; font-size: var(--t-mikro); color: var(--tinte-still); }
.simtag .ikone { width: 16px; height: 16px; opacity: 1; color: var(--tinte-leise); }
.simabstand { font-size: var(--t-mikro); font-weight: 600; color: var(--tinte-leise); }
.simdienst { font-size: var(--t-mikro); font-weight: 600; color: var(--warte); line-height: 1.3; }
.simstufe.unbesetzt > .simzeit {
  background: repeating-linear-gradient(135deg, transparent 0 7px, color-mix(in srgb, var(--rand-stark) 55%, transparent) 7px 8.5px);
}
.simknoten {
  position: relative; z-index: 1; display: grid; place-items: center;
  width: var(--knoten); height: var(--knoten); border-radius: 50%;
  border: 2px solid var(--fehler); background: var(--flaeche); color: var(--fehler);
}
.simknoten .ikone { width: 20px; height: 20px; opacity: 1; }
.simstufe.liegen > .simknoten { border-color: var(--warte); background: var(--warte-flaeche); color: var(--warte); }
.simstufe:is(.gestoppt, .automatisch, .eingedaemmt, .morgen) > .simknoten { border-color: var(--gut); background: var(--gut-flaeche); color: var(--gut); }
.simstufe.simende > .simknoten { background: var(--gut); color: var(--flaeche); }
.simstufe.nicht > .simknoten { border: 2px dashed var(--rand-stark); color: var(--tinte-still); }
.simstufe.simdurch > .simknoten { background: var(--fehler); color: var(--flaeche); }
.simstaende { display: flex; align-items: center; gap: var(--s2); padding-top: .55rem; }
.simstaende .ikone { width: 14px; height: 14px; color: var(--tinte-still); }
.simsteuerung { display: flex; align-items: center; flex-wrap: wrap; gap: var(--s3); margin: var(--s4) 0 var(--s3); }
.simsteuerung .vtmeta { margin-left: auto; }
.simschaden {
  display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--s3); align-items: start;
  margin: var(--s3) 0; padding: var(--s3) var(--s4);
  border: 1px solid var(--rand-fein); border-left: 4px solid currentColor; border-radius: var(--rundung-klein);
}
.simschaden.fehler { color: var(--fehler); }
.simschaden.warte { color: var(--warte); }
.simschaden.gut { color: var(--gut); }
.simschaden > .ikone { width: 28px; height: 28px; opacity: 1; }
.simschaden p { margin: var(--s1) 0 0; color: var(--tinte); font-size: var(--t-mittel); line-height: 1.5; max-width: 62ch; }
.simgewinn {
  display: flex; align-items: center; gap: var(--s3); margin: var(--s4) 0 var(--s2); padding: var(--s3) var(--s4);
  border: 1px solid var(--gut); border-radius: var(--rundung-klein);
  font-size: var(--t-mittel); font-weight: 600; line-height: 1.45;
}
.simgewinn .ikone { width: 24px; height: 24px; color: var(--gut); opacity: 1; }
.simminis { display: flex; flex-direction: column; gap: var(--s3); margin: var(--s4) 0; }
.simminizeile { display: grid; gap: var(--s1); }
.simmininame { font-size: var(--t-klein); font-weight: 600; }
.simmininame:empty { display: none; }
.simminiweg { list-style: none; margin: var(--s1) 0; padding: 0; display: flex; align-items: center; }
.simminiweg li {
  position: relative; display: grid; place-items: center; flex: none;
  width: 1.85rem; height: 1.85rem; border-radius: 50%;
  border: 2px solid var(--fehler); background: var(--flaeche); color: var(--fehler);
}
.simminiweg li + li { margin-left: .85rem; }
.simminiweg li + li::before {
  content: ""; position: absolute; right: calc(100% + 2px); top: 50%; width: .85rem; height: 2px;
  background: var(--fehler); translate: 0 -50%;
}
.simminiweg li.nicht::before { height: 0; background: none; border-top: 2px dashed var(--rand-stark); }
.simminiweg .ikone { width: 14px; height: 14px; opacity: 1; }
.simminiweg li.liegen { border-color: var(--warte); background: var(--warte-flaeche); color: var(--warte); }
.simminiweg li:is(.gestoppt, .automatisch, .eingedaemmt, .morgen) { border-color: var(--gut); background: var(--gut-flaeche); color: var(--gut); }
.simminiweg li.simende { background: var(--gut); color: var(--flaeche); }
.simminiweg li.nicht { border: 2px dashed var(--rand-stark); color: var(--tinte-still); }
.simminiweg li.simdurch { background: var(--fehler); color: var(--flaeche); }
.simvergleich { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s5); }
.simvergleich h3 { margin-top: var(--s4); }
.simneukauf { margin: 0 0 var(--s4); }
.simkauf { display: flex; flex-direction: column; gap: var(--s2); }
.simware {
  display: grid; grid-template-columns: 1.25rem minmax(0, 1fr) auto; gap: var(--s3); align-items: start;
  padding: var(--s3); border: 1px solid var(--rand-fein); border-radius: var(--rundung-klein); background: var(--flaeche);
  cursor: pointer; transition: border-color .15s ease-out, background-color .15s ease-out;
}
.simware:hover { border-color: var(--rand-stark); }
.simware input { margin: .15rem 0 0; width: 1.05rem; height: 1.05rem; accent-color: var(--aktion); }
.simware.gewaehlt { border-color: var(--aktion); background: var(--blau-flaeche); }
.simware.vorhanden { cursor: default; background: var(--flaeche-tief); }
.simware:has(input:disabled):not(.vorhanden) { opacity: .6; cursor: not-allowed; }
.simware .vtmeta { margin-top: 2px; }
.simpreis { font-size: var(--t-klein); font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; }
.simware.vorhanden .simpreis { font-weight: 500; color: var(--tinte-still); }
.simbalken { height: 6px; border-radius: 999px; background: var(--flaeche-tief); box-shadow: inset 0 0 0 1px var(--rand-fein); overflow: hidden; }
.simbalken span { display: block; height: 100%; width: 0; background: var(--aktion); border-radius: inherit; }
.simantworten { list-style: none; margin: var(--s4) 0 0; padding: 0; display: flex; flex-direction: column; gap: var(--s2); }
.simantwort > button {
  display: grid; grid-template-columns: 1.75rem minmax(0, 1fr); gap: var(--s3); align-items: start; width: 100%;
  margin: 0; padding: var(--s3); border: 1px solid var(--rand-fein); border-radius: var(--rundung-klein);
  background: var(--flaeche); color: var(--tinte); font-weight: 400; text-align: left; line-height: 1.5;
}
.simantwort > button:hover:not(:disabled) { border-color: var(--aktion); }
.simantwort > button:disabled { cursor: default; color: var(--tinte); opacity: 1; }
.simantwort.gewaehlt > button { border-color: var(--aktion); background: var(--blau-flaeche); }
.simbuchstabe {
  display: inline-grid; place-items: center; width: 1.75rem; height: 1.75rem; border-radius: 50%;
  background: var(--flaeche-tief); font-size: var(--t-mikro); font-weight: 600;
}
.simcoach { padding: var(--s2) var(--s3) 0 calc(var(--s3) + 1.75rem + var(--s3)); }
.simcoach p { margin: var(--s1) 0 0; font-size: var(--t-klein); color: var(--tinte-leise); max-width: 70ch; }
.simpitch p { font-size: var(--t-mittel); line-height: 1.6; max-width: 70ch; margin: 0; }
.simpfadleiste button > span:last-child { white-space: normal; line-height: 1.25; }
.simsteuer { display: flex; gap: var(--s2); }
.simsteuer button[aria-label] { padding-left: var(--s2); padding-right: var(--s2); }
.simeinfach { font-size: var(--t-mittel); line-height: 1.55; max-width: 68ch; }
.simbrett { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--s2); }
.simfeld {
  display: flex; align-items: center; justify-content: space-between; gap: var(--s3);
  padding: var(--s3); border-radius: var(--rundung-klein); border: 1px solid var(--rand-fein);
  transition: background-color .3s ease-out, border-color .3s ease-out;
}
.simfeld b { display: inline-flex; align-items: center; gap: .45rem; font-size: var(--t-klein); }
.simfeld.fehler { background: var(--fehler-flaeche); border-color: transparent; }
.simfeld.warte { background: var(--warte-flaeche); border-color: var(--warte-rand); }
.simfeld.gut { background: var(--gut-flaeche); border-color: transparent; }
.simfeld.neu { box-shadow: 0 0 0 2px var(--gut); }
html.simgross { font-size: 125%; }
.simpraeskopf { display: flex; align-items: center; justify-content: space-between; gap: var(--s4); margin-bottom: var(--s4); }
.simpraeskopf h1 { margin: 0; font-size: var(--t-titel); font-weight: 600; letter-spacing: -.015em; }
.bereich.simpraesentation:fullscreen { overflow: auto; padding: var(--s5) var(--s6); background: var(--grund); }
.bereich.simpraesentation::backdrop { background: var(--grund); }

@media (max-width: 1100px) {
  [data-bereich="simulator"] .vtraster { grid-template-columns: minmax(0, 1fr); }
  .simebene { grid-template-columns: minmax(8rem, 11rem) minmax(0, 1fr) auto; }
}
@media (max-width: 760px) {
  .simschritte { grid-auto-flow: row; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .simschritte button { font-size: var(--t-mikro); padding: var(--s1); }
  .simfallkopf { grid-template-columns: minmax(0, 1fr) auto; }
  .simumfeld { grid-column: 1 / -1; grid-row: 2; text-align: left; padding-left: calc(var(--s1) + 16px + var(--s2)); }
  .simebene { grid-template-columns: minmax(0, 1fr) auto; }
  .simebene .chips, .simebene .simspiele { grid-column: 1 / -1; grid-row: 2; }
  .simstufe {
    --knoten: 2.25rem;
    --weg-x: calc(var(--knoten) / 2);
    grid-template-columns: var(--knoten) minmax(0, 1fr);
    grid-template-areas: "knoten zeit" "knoten kern" "knoten staende";
    row-gap: var(--s1);
  }
  .simzeit { flex-direction: row; flex-wrap: wrap; align-items: baseline; column-gap: var(--s2); margin-left: 0; padding: 0 var(--s2); }
  .simzeit b { font-size: var(--t-mittel); }
  .simstaende { justify-content: flex-start; padding-top: 0; }
  .simgewinn { font-size: var(--t-basis); }
  .simvergleich { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .simfuss { position: sticky; bottom: calc(var(--leistenhoehe, 4rem) + var(--s2)); background: var(--grund); }
}
.simanim .simstufe.simweiter::after { animation: simspur .16s ease-in both; }
.simanim .simstufe.simkommt::before { animation: simspur .2s ease-out .14s both; }
.simanim .simstufe.simkommt > .simknoten { animation: simknoten .22s ease-out .3s both; }
.simanim .simstufe.simkommt > .simzeit,
.simanim .simstufe.simkommt > .vtkern { animation: simein .22s ease-out .3s both; }
.simanim .simstufe.simkommt > .simstaende { animation: simein .2s ease-out .46s both; }
.simanim .simstufe.simkommt.simende > .simknoten { animation: simknoten .22s ease-out .3s both, simpuls .7s ease-out .56s; }
.simanim .simstufe.simspaet { animation: simblass .3s ease-out .6s both; }
.simanim .simergebnis.simkommt { animation: simein .25s ease-out .62s both; }
.simanim .simgewinn.simkommt { animation: simein .25s ease-out .5s both; }
.simanim .simpfad > .karte.simkommt { animation: simein .22s ease-out both; }
.simanim .simfeld.neu { animation: simglimm .5s ease-out .15s both; }
.simanim .simminiweg.simlaeuft li { animation: simknoten .2s ease-out both; }
.simanim .simminiweg.simlaeuft li:nth-child(2) { animation-delay: 70ms; }
.simanim .simminiweg.simlaeuft li:nth-child(3) { animation-delay: 140ms; }
.simanim .simminiweg.simlaeuft li:nth-child(4) { animation-delay: 210ms; }
.simanim .simminiweg.simlaeuft li:nth-child(5) { animation-delay: 280ms; }
.simanim .simminiweg.simlaeuft li:nth-child(6) { animation-delay: 350ms; }
.simanim .simminiweg.simlaeuft li:nth-child(7) { animation-delay: 420ms; }
.simanim .simminiweg.simlaeuft li:nth-child(n+8) { animation-delay: 490ms; }
.simanim .simminiweg.simlaeuft li.simende { animation: simknoten .2s ease-out both, simpuls .7s ease-out .6s; }
.simanim .simbalken span { transition: width .25s ease-in-out; }
@keyframes simein { from { opacity: 0; translate: 0 6px; } }
@keyframes simblass { from { opacity: 0; } }
@keyframes simspur { from { transform: scaleY(0); } }
@keyframes simknoten { from { opacity: 0; scale: .6; } }
@keyframes simpuls {
  from { box-shadow: 0 0 0 0 color-mix(in srgb, var(--gut) 60%, transparent); }
  to   { box-shadow: 0 0 0 14px color-mix(in srgb, var(--gut) 0%, transparent); }
}
@keyframes simglimm { from { box-shadow: 0 0 0 10px color-mix(in srgb, var(--gut) 0%, transparent); } }
.simschalter[aria-pressed="false"] { color: var(--tinte-still); }
@media (forced-colors: active) {
  .simknoten, .simminiweg li { border: 2px solid CanvasText; }
  .simstufe::before, .simstufe::after, .simminiweg li + li::before { background: CanvasText; }
  .simstufe.unbesetzt > .simzeit { background: none; border-left: 3px dashed CanvasText; }
  .simschaden, .simgewinn { border-color: CanvasText; }
}
