.fb {
  display: grid;
  gap: var(--s-4);
  min-width: 0;
}
.fb-teil {
  display: grid;
  gap: var(--s-3);
  min-width: 0;
}
.fb-teil:not([hidden]) ~ .fb-teil:not([hidden]) {
  margin-top: var(--s-5);
  padding-top: var(--s-5);
  border-top: 1px solid var(--line);
}
.fb-teil-titel {
  margin: 0;
  font-size: var(--t-16);
  line-height: 1.3;
  overflow-wrap: anywhere;
}
.fb-frei,
.fb-gesendet {
  margin: 0;
  color: var(--text-2);
  font-size: var(--t-14);
  line-height: 1.5;
}
.fb-gesendet {
  color: var(--text-3);
}
.fb-wahl {
  margin: 0;
  padding: 0;
  border: 0;
  min-width: 0;
  display: grid;
  gap: var(--s-2);
}
.fb-wahl legend {
  padding: 0;
  margin-bottom: var(--s-2);
}
.fb-optionen {
  display: flex;
  flex-wrap: wrap;
  gap: var(--s-2);
}
.fb-option {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  min-width: 96px;
  padding: 0 var(--s-4);
  border-radius: var(--r-1);
  background: var(--bg-2);
  border: 0;
  color: var(--text-2);
  font: 600 var(--t-14)/1 var(--sans);
  cursor: pointer;
  user-select: none;
  transition:
    background-color .15s var(--ease),
    color .15s var(--ease),
    box-shadow .15s var(--ease),
    transform .12s var(--ease);
}
.fb-option:hover {
  background: var(--bg-3);
  color: var(--text);
}
.fb-option:active {
  transform: scale(var(--druck-knopf));
}
.fb-option input {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
  margin: 0;
  pointer-events: none;
}
.fb-option:has(input:checked) {
  background: var(--cyan-grund);
  color: var(--text);
  box-shadow: 0 0 0 1.5px var(--cyan) inset;
}
.fb-option:has(input:focus-visible) {
  outline: 2px solid var(--cyan);
  outline-offset: 2px;
}
.fb-fuss {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--s-3) var(--s-4);
}
.fb-fuss .knopf {
  flex: none;
}
.fb-fuss p {
  flex: 1 1 220px;
  margin: 0;
}
.fb-danke p,
.fb .fehlerbox p {
  margin: 0;
}
.fb .feld-hilfe {
  margin: 0;
}
.fb-sterne {
  display: flex;
  align-items: center;
  gap: 2px;
  margin-left: -8px;
}
.fb-stern {
  position: relative;
  display: inline-grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: var(--r-1);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.fb-stern input {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
  margin: 0;
  pointer-events: none;
}
.fb-stern .stern-bild {
  width: 28px;
  height: 28px;
  transition: transform .18s var(--ease);
}
.fb-stern .stern-leer {
  transition: stroke .15s var(--ease);
}
.fb-stern:hover .stern-leer {
  stroke: var(--text-2);
}
.fb-stern.an .stern-voll {
  opacity: 1;
}
.fb-sterne.vorschau .fb-stern .stern-voll {
  opacity: 0;
}
.fb-sterne.vorschau .fb-stern.vor .stern-voll {
  opacity: 1;
}
.fb-sterne.vorschau .fb-stern.vor:not(.an) .stern-voll {
  opacity: .92;
}
.fb-stern:hover .stern-bild {
  transform: scale(1.1);
}
.fb-sterne-wert {
  min-width: 7em;
  margin-left: var(--s-2);
  color: var(--text-2);
  font: 600 var(--t-14)/1 var(--sans);
  font-variant-numeric: tabular-nums;
}
.fb-stern.pop .stern-bild {
  animation: stern-pop .18s var(--pop);
}
@keyframes stern-pop {
  50% {
    transform: scale(1.15);
  }
}
.fb-stern:has(input:focus-visible) {
  outline: 2px solid var(--cyan);
  outline-offset: -2px;
}
.fb-web {
  padding: var(--s-4);
  border-radius: var(--r-3);
  background: rgba(4, 10, 20, .24);
  gap: var(--s-3);
}
.fb-web legend {
  float: left;
  width: 100%;
  margin-bottom: var(--s-2);
}
.fb-web-neu,
.fb-web-felder {
  display: grid;
  gap: var(--s-3);
  min-width: 0;
}
.fb-web-felder {
  padding-left: var(--s-2);
}
.fb-web-stand {
  display: grid;
  gap: var(--s-2);
}
.fb-web-text {
  margin: 0;
  color: var(--text-2);
  font-size: var(--t-14);
  line-height: 1.5;
}
.fb-web-aktionen {
  display: flex;
  flex-wrap: wrap;
  gap: var(--s-2);
  margin-left: calc(-1 * var(--s-3));
}
.fb-web .feld textarea {
  min-height: 72px;
}
@media (max-width: 900px) {
  .fb-option {
    flex: 1 1 0;
    min-width: 0;
  }
  .fb-fuss .knopf {
    width: 100%;
  }
  .fb-web {
    padding: var(--s-3);
  }
  .fb-fuss p.winzig {
    font-size: var(--t-14);
  }
}
@media (prefers-reduced-motion: reduce) {
  .fb-option,
  .fb-stern,
  .fb-stern .stern-bild,
  .fb-stern .stern-voll {
    transition: none;
  }
  .fb-stern.pop .stern-bild {
    animation: none;
  }
  .fb-stern:hover .stern-bild {
    transform: none;
  }
}
