:root {
  --tm-m1: #38E0FF;
  --tm-m2: #3F8DFF;
  --tm-m3: #A855F7;
  --tm-spur: rgba(150, 172, 222, .15);
  --tm-ein: cubic-bezier(.16, 1, .3, 1);
}
.tm-m1 {
  --m: var(--tm-m1);
}
.tm-m2 {
  --m: var(--tm-m2);
}
.tm-m3 {
  --m: var(--tm-m3);
}
.tm-m1,
.tm-m2,
.tm-m3 {
  --m-text: color-mix(in srgb, var(--m) 70%, #EEF2FA);
}
b.tm-m1,
b.tm-m2,
b.tm-m3 {
  color: var(--m-text);
  font-weight: 700;
}
.tm-teamname {
  color: var(--text-2);
  font: 600 var(--t-16)/1.2 var(--sans);
}
.tm-laden {
  display: grid;
  gap: var(--s-4);
}
.tm-hinweis {
  max-width: 760px;
}
.tm-karte {
  position: relative;
  display: grid;
  gap: var(--s-4);
  padding: var(--s-5);
  border-radius: var(--r-3);
  background: var(--flaeche);
  box-shadow: var(--tiefe-1);
}
.tm-karte h2,
.tm-karte h3 {
  margin: 0;
  font: 700 var(--t-20)/1.25 var(--sans);
  letter-spacing: -.02em;
}
.tm-unter {
  margin: 0;
  color: var(--text-2);
  font-size: var(--t-14);
  line-height: 1.5;
}
.tm-start {
  grid-template-columns: auto minmax(0, 1fr) minmax(auto, 320px);
  align-items: center;
  gap: var(--s-5) var(--s-7);
  padding: var(--s-6);
}
.tm-start-bild {
  display: block;
  width: 136px;
  height: 136px;
  filter: drop-shadow(0 12px 24px rgba(2, 6, 16, .55));
}
.tm-start-text {
  display: grid;
  gap: var(--s-2);
  min-width: 0;
}
.tm-start-text p {
  margin: 0;
  max-width: 56ch;
  color: var(--text-2);
  font-size: var(--t-16);
  line-height: 1.5;
}
.tm-anmelden {
  display: grid;
  gap: var(--s-2);
  min-width: min(100%, 320px);
}
.tm-start-kauf {
  display: grid;
  justify-items: start;
  gap: var(--s-3);
}
.tm-preis {
  display: grid;
  gap: var(--s-1);
}
.tm-preis b {
  font: 750 var(--t-32)/1 var(--sans);
  letter-spacing: -.03em;
  font-variant-numeric: tabular-nums;
}
.tm-preis small {
  color: var(--text-2);
  font-size: var(--t-14);
}
.tm-preis small[data-rechtstext] {
  margin-top: var(--s-3);
}
.tm-abschnitt-titel {
  margin: 0;
  font: 700 var(--t-20)/1.25 var(--sans);
  letter-spacing: -.02em;
}
.tm-einladungen {
  display: grid;
  gap: var(--s-4);
}
.tm-einladung-liste {
  display: grid;
  gap: var(--s-4);
  margin: 0;
  padding: 0;
  list-style: none;
}
.tm-einladung-kopf {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: var(--s-4);
}
.tm-einladung-form {
  display: grid;
  gap: var(--s-4);
}
.tm-klein-titel {
  margin: 0;
  color: var(--text-2);
  font: 600 var(--t-14)/1.3 var(--sans);
}
.tm-knopfreihe {
  display: flex;
  flex-wrap: wrap;
  gap: var(--s-3);
}
.tm-rollen {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--s-2);
}
.tm-rolle.stufe {
  display: grid;
  align-content: center;
  gap: var(--s-1);
  min-height: 72px;
  padding-left: var(--s-5);
  overflow: hidden;
}
.tm-rolle.stufe::before {
  content: "";
  position: absolute;
  left: 0;
  top: var(--s-3);
  bottom: var(--s-3);
  width: 3px;
  border-radius: 0 3px 3px 0;
  background: var(--m);
}
.tm-rolle.stufe b {
  padding-right: var(--s-6);
}
.tm-rolle.stufe small {
  margin-top: 0;
  font-variant-numeric: tabular-nums;
}
.tm-rolle.stufe.vergeben {
  cursor: not-allowed;
  background: transparent;
  box-shadow: none;
}
.tm-rolle.stufe.vergeben:hover {
  background: transparent;
}
.tm-rolle.stufe.vergeben b {
  color: var(--text-2);
}
.tm-rolle.stufe.vergeben small {
  color: var(--text-3);
}
.tm-rolle.stufe.vergeben::after {
  display: none;
}
.tm-rolle.stufe.vergeben::before {
  opacity: .35;
}
.tm-av {
  --gr: 48px;
  position: relative;
  display: grid;
  place-items: center;
  flex: none;
  width: var(--gr);
  height: var(--gr);
}
.tm-av.mittel {
  --gr: 48px;
}
.tm-av.gross {
  --gr: 72px;
}
.tm-av .tm-ring {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
}
.tm-av-bild {
  position: relative;
  display: grid;
  place-items: center;
  width: 72%;
  height: 72%;
  border-radius: 50%;
  overflow: hidden;
  background: color-mix(in srgb, var(--m) 16%, var(--bg-1));
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--m) 32%, transparent);
  color: color-mix(in srgb, var(--m) 72%, #E8F1FF);
}
.tm-av-bild .ik {
  width: 52%;
  height: 52%;
}
.tm-av-buchstabe {
  font: 700 var(--t-20)/1 var(--sans);
  color: var(--text);
}
.tm-av.mittel .tm-av-buchstabe {
  font-size: var(--t-16);
}
.tm-bogen-spur,
.tm-bogen {
  fill: none;
  stroke-width: 6.5;
}
.tm-bogen-spur {
  stroke: var(--tm-spur);
}
.tm-bogen {
  stroke: var(--m);
  stroke-linecap: round;
  stroke-dasharray: 1 1;
  stroke-dashoffset: calc(1 - var(--a, 0));
}
[data-zustand=fertig] .tm-bogen {
  stroke: var(--gut);
}
.tm-emblem {
  position: relative;
  width: 100%;
  aspect-ratio: 1;
  isolation: isolate;
}
.tm-emblem::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: -22%;
  border-radius: 50%;
  pointer-events: none;
  background:
    radial-gradient(
      closest-side,
      rgba(63, 141, 255, .2),
      rgba(168, 85, 247, .08) 55%,
      rgba(168, 85, 247, 0));
  opacity: 0;
  transition: opacity .6s var(--ease), transform .6s var(--tm-ein);
}
.tm-emblem.voll::before {
  opacity: 1;
  transform: scale(1.06);
}
.tm-emblem svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
  filter: drop-shadow(0 16px 32px rgba(2, 6, 16, .65));
}
.tm-em-spur {
  fill: none;
  stroke: rgba(150, 172, 222, .11);
}
.tm-em-ring {
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
}
.tm-emblem.voll .tm-em-ring {
  stroke-dashoffset: 0;
}
.tm-em-form {
  fill: none;
  stroke: var(--tm-m1);
  stroke-width: 1.5px;
  vector-effect: non-scaling-stroke;
  stroke-linejoin: miter;
}
.tm-em-form[data-c="2"] {
  stroke: var(--tm-m2);
}
.tm-em-form[data-c="3"] {
  stroke: var(--tm-m3);
}
.tm-em-form:is([data-art=still], [data-art=frei]) {
  stroke-dasharray: 5 4;
}
.tm-em-form[data-art=frei] {
  stroke: rgba(150, 172, 222, .5);
}
.tm-em-form[data-art=an] {
  stroke: none;
}
.tm-em-c {
  clip-path: inset(0 calc((1 - var(--p, 0)) * 100%) 0 0);
}
.tm-em-c:is([data-art=still], [data-art=frei]),
.tm-em-c:not([data-art]) {
  clip-path: inset(0 100% 0 0);
}
.tm-em-schatten {
  opacity: 0;
}
.tm-em-schatten[data-art=an] {
  opacity: 1;
}
.tm-held-bild {
  position: relative;
}
.tm-em-legende {
  position: absolute;
  top: 0;
  bottom: 0;
  left: calc(100% + var(--s-3));
  width: 28px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.tm-em-legende li {
  position: absolute;
  left: 0;
  top: var(--y);
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  margin-top: -14px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--m) 16%, var(--bg-1));
  box-shadow: inset 0 0 0 1.5px color-mix(in srgb, var(--m) 55%, transparent);
  color: var(--m-text);
  transition: box-shadow .15s var(--ease);
}
.tm-em-legende li:nth-child(1) {
  --y: 42.6%;
}
.tm-em-legende li:nth-child(2) {
  --y: 60.2%;
}
.tm-em-legende li:nth-child(3) {
  --y: 77.7%;
}
.tm-em-legende li.still {
  box-shadow: none;
  background: transparent;
  outline: 1.5px dashed color-mix(in srgb, var(--m) 70%, transparent);
  outline-offset: -1.5px;
}
.tm-em-legende li.frei {
  background: transparent;
  box-shadow: none;
  outline: 1.5px dashed rgba(150, 172, 222, .5);
  outline-offset: -1.5px;
  color: var(--text-3);
}
.tm-em-legende li.an {
  box-shadow: inset 0 0 0 1.5px var(--m);
}
.tm-em-legende-bild {
  display: grid;
  place-items: center;
  font: 700 var(--t-14)/1 var(--sans);
  color: var(--text);
}
.tm-em-legende-bild .ik {
  width: 14px;
  height: 14px;
}
.tm-em-legende-haken {
  position: absolute;
  right: -8px;
  bottom: -6px;
  width: 16px !important;
  height: 16px !important;
  padding: 2px;
  border-radius: 50%;
  background: var(--gut);
  color: #04140C;
  stroke-width: 3.2 !important;
  box-shadow: 0 0 0 2px var(--fenster);
  opacity: 0;
  transform: scale(.4);
  transition: opacity .15s var(--ease), transform .2s var(--pop);
}
.tm-em-legende li.an .tm-em-legende-haken {
  opacity: 1;
  transform: none;
}
.tm-team {
  display: grid;
  gap: var(--s-7);
}
.tm-held {
  position: relative;
  display: grid;
  grid-template-columns: clamp(180px, 20vw, 232px) minmax(0, 1fr);
  align-items: center;
  gap: var(--s-5) clamp(64px, 6vw, 96px);
  padding: clamp(24px, 3vw, 48px);
  border-radius: var(--r-3);
  overflow: hidden;
  isolation: isolate;
  background: var(--fenster);
  box-shadow: var(--mulde);
}
.tm-held-bild,
.tm-held-text {
  min-width: 0;
}
.tm-label {
  display: inline-flex;
  align-items: center;
  gap: var(--s-2);
  margin: 0;
  color: var(--text-2);
  font: 600 var(--t-14)/1.2 var(--sans);
  letter-spacing: 0;
}
.tm-zeichen-ik {
  width: 16px;
  height: 16px;
}
.tm-streak {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: var(--s-1) var(--s-4);
  margin: var(--s-3) 0 0;
}
.tm-zahl {
  position: relative;
  display: inline-grid;
  overflow: hidden;
  height: .9em;
  color: var(--text);
  font: 300 var(--t-anzeige)/.9 var(--sans);
  letter-spacing: -.05em;
  font-variant-numeric: tabular-nums;
}
.tm-zahl > span {
  grid-area: 1 / 1;
  display: block;
}
.tm-einheit {
  padding-bottom: .5em;
  color: var(--text-2);
  font: 600 var(--t-20)/1.2 var(--sans);
  letter-spacing: -.01em;
}
.tm-streak[hidden],
.tm-streak-start[hidden] {
  display: none;
}
.tm-streak-start {
  display: grid;
  gap: var(--s-2);
  margin: var(--s-3) 0 0;
}
.tm-streak-start > b {
  color: var(--text);
  font: 700 var(--t-32)/1.1 var(--sans);
  letter-spacing: -.03em;
}
.tm-streak-start > span {
  color: var(--text-2);
  font: 600 var(--t-16)/1.3 var(--sans);
  font-variant-numeric: tabular-nums;
}
.tm-streak-start > span[hidden] {
  display: none;
}
.tm-aussage-zeile {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--s-3) var(--s-5);
  margin-top: var(--s-5);
}
.tm-aussage {
  margin: 0;
  max-width: 34ch;
  color: var(--text);
  font: 650 var(--t-20)/1.35 var(--sans);
  letter-spacing: -.015em;
  text-wrap: balance;
}
.tm-trainieren .ik {
  width: 16px;
  height: 16px;
}
.tm-regel {
  margin: var(--s-4) 0 0;
  max-width: 52ch;
  color: var(--text-3);
  font-size: var(--t-14);
  line-height: 1.5;
}
.tm-regel summary {
  display: inline-flex;
  align-items: center;
  gap: var(--s-1);
  min-height: 32px;
  color: var(--text-2);
  font: 600 var(--t-14)/1.2 var(--sans);
  cursor: pointer;
  list-style: none;
  border-radius: var(--r-1);
  transition: color .15s var(--ease);
}
.tm-regel summary::-webkit-details-marker {
  display: none;
}
.tm-regel summary .ik {
  width: 16px;
  height: 16px;
  transition: transform .2s var(--ease);
}
.tm-regel[open] summary .ik {
  transform: rotate(180deg);
}
.tm-regel summary:focus-visible {
  outline: 2px solid var(--cyan);
  outline-offset: 2px;
}
@media (hover: hover) and (pointer: fine) {
  .tm-regel summary:hover {
    color: var(--text);
  }
}
.tm-regel p {
  margin: var(--s-2) 0 0;
}
.tm-regel b {
  color: var(--text-2);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
.tm-woche {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: var(--s-2);
  max-width: 440px;
  margin: var(--s-5) 0 0;
  padding: 0;
  list-style: none;
}
.tm-woche li {
  position: relative;
  display: grid;
  justify-items: center;
  gap: var(--s-2);
  min-width: 0;
  color: var(--text-3);
  font: 500 var(--t-12)/1 var(--mono);
}
.tm-woche li > i {
  position: relative;
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: transparent;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--line-input) 70%, transparent);
}
.tm-woche li > i > .ik {
  width: 16px;
  height: 16px;
  stroke-width: 2.6;
  opacity: 0;
  color: #04141A;
}
.tm-woche .fertig > i {
  background: var(--verlauf);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .35);
}
.tm-dreier i {
  box-shadow: inset 0 0 0 1px rgba(150, 172, 222, .35);
}
.tm-dreier i.an {
  box-shadow: none;
}
.tm-woche .fertig > i > .ik {
  opacity: 1;
}
.tm-woche .heute {
  color: var(--text);
  font-weight: 600;
}
.tm-woche .heute:not(.fertig) > i {
  background: rgba(4, 10, 20, .4);
  box-shadow: inset 0 0 0 1px var(--line-2);
}
.tm-dreier {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
}
.tm-woche .fertig .tm-dreier {
  display: none;
}
.tm-dreier i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--tm-spur);
}
.tm-dreier i.an {
  background: var(--m);
}
.tm-heute .fs-karte-kopf {
  margin-bottom: var(--s-3);
}
.tm-heute .fs-karte-kopf .fs-rechts {
  margin-left: auto;
  min-height: 44px;
}
.tm-mitglieder {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: var(--s-3);
  margin: 0;
  padding: 0;
  list-style: none;
}
.tm-mitglied {
  position: relative;
  display: grid;
  align-content: space-between;
  gap: var(--s-4);
  min-width: 0;
  padding: var(--s-5);
  border-radius: var(--r-3);
  background: var(--flaeche);
  box-shadow: var(--tiefe-1);
}
.tm-mitglied.frei {
  background: transparent;
  box-shadow: inset 0 0 0 1.5px rgba(150, 172, 222, .2);
}
.tm-prozent {
  display: inline-flex;
  align-items: center;
  gap: var(--s-1);
  color: var(--m-text);
  font: 700 var(--t-20)/1 var(--sans);
  font-variant-numeric: tabular-nums;
}
.tm-prozent .ik {
  width: 14px;
  height: 14px;
  stroke-width: 2.8;
}
.tm-mitglied[data-zustand=fertig] .tm-prozent {
  color: var(--gut);
}
.tm-mehr {
  position: absolute;
  top: var(--s-2);
  right: var(--s-2);
  z-index: 2;
}
.tm-mehr-knopf {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  min-height: 0;
  padding: 0;
  color: var(--text-3);
  list-style: none;
  cursor: pointer;
}
.tm-mehr-knopf::-webkit-details-marker {
  display: none;
}
.tm-mehr-knopf .ik {
  width: 18px;
  height: 18px;
}
.tm-mehr[open] .tm-mehr-knopf {
  color: var(--text);
  background: rgba(150, 172, 222, .1);
}
.tm-mehr-menue {
  position: absolute;
  top: calc(100% + var(--s-1));
  right: 0;
  min-width: 220px;
  padding: var(--s-1);
  border-radius: var(--r-1);
  background: var(--bg-3);
  box-shadow: var(--tiefe-3, 0 12px 32px rgba(2, 6, 16, .6)), inset 0 0 0 1px var(--line-2);
}
.tm-mehr-menue .knopf {
  width: 100%;
  justify-content: flex-start;
}
.tm-mitglied:has(.tm-mehr) .tm-name {
  padding-right: var(--s-6);
}
.tm-mitglied-kopf {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: var(--s-4);
}
.tm-name {
  display: grid;
  justify-items: start;
  gap: var(--s-1);
  min-width: 0;
}
.tm-name b {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--s-2);
  min-width: 0;
  font: 700 var(--t-16)/1.25 var(--sans);
  letter-spacing: -.01em;
  overflow-wrap: anywhere;
}
.tm-name small {
  color: var(--text-2);
  font: 500 var(--t-12)/1.3 var(--mono);
}
.tm-du {
  padding: var(--s-1) var(--s-2);
  border-radius: var(--r-1);
  background: var(--bg-4);
  color: var(--text-2);
  font: 600 var(--t-12)/1 var(--sans);
}
.tm-status {
  display: flex;
  margin-top: var(--s-1);
}
.tm-status .plakette .ik {
  width: 14px;
  height: 14px;
  stroke-width: 2.6;
}
.tm-mitglied-aktionen {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--s-2);
}
.tm-mini-stupsen .ik {
  width: 16px;
  height: 16px;
}
.tm-mini-stupsen:not(:disabled) .ik {
  fill: currentColor;
  stroke: none;
}
.tm-mini-stupsen:disabled {
  opacity: .7;
  cursor: default;
}
.tm-entfernen {
  color: var(--text-3);
}
.tm-sitz-leer {
  position: relative;
  display: grid;
  place-items: center;
  width: 72px;
  height: 72px;
  color: var(--text-3);
}
.tm-sitz-leer > i {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 2px dashed rgba(150, 172, 222, .34);
}
.tm-sitz-leer .ik {
  width: 24px;
  height: 24px;
}
.tm-mitglied-aktion {
  justify-self: start;
}
.tm-stupsen {
  position: relative;
}
.tm-stupsen [data-wort=ok] {
  display: none;
}
.tm-stupsen[data-gestupst] [data-wort=an] {
  display: none;
}
.tm-stupsen[data-gestupst] [data-wort=ok] {
  display: inline-flex;
}
.tm-stupsen > span {
  display: inline-flex;
  align-items: center;
  gap: var(--s-2);
}
.tm-stupsen .ik {
  width: 16px;
  height: 16px;
}
.tm-stupsen [data-wort=an] .ik {
  fill: currentColor;
  stroke: none;
}
.tm-stupsen[data-gestupst] {
  background: transparent;
  color: var(--text-2);
  border-color: var(--line-2);
  box-shadow: none;
  cursor: default;
}
.tm-welle {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
}
.tm-welle::before,
.tm-welle::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  border: 2px solid rgba(56, 224, 255, .7);
  opacity: 0;
}
.tm-ping {
  position: absolute;
  inset: -4px;
  border-radius: 50%;
  border: 2px solid var(--m);
  opacity: 0;
  pointer-events: none;
}
.tm-abzeichen {
  position: absolute;
  right: -4px;
  top: -4px;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: var(--cyan);
  color: var(--on-cyan);
  box-shadow: 0 0 0 3px var(--bg-1);
  transform: scale(0);
}
.tm-abzeichen .ik {
  width: 12px;
  height: 12px;
  fill: currentColor;
  stroke: none;
}
.tm-av.gestupst .tm-abzeichen {
  transform: none;
}
.tm-einladen {
  display: grid;
  gap: var(--s-4);
  scroll-margin-top: calc(var(--kopf-h) + var(--s-4));
}
.tm-team[data-unvoll] > .tm-einladen {
  order: -1;
}
.tm-einladen .fs-karte-kopf {
  margin: 0;
}
.tm-einladen .fs-karte-kopf > span {
  color: var(--text-3);
  font-size: var(--t-14);
}
.tm-einladen-raster {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--s-3);
  align-items: start;
}
.tm-art {
  justify-self: start;
}
.tm-art button {
  height: 40px;
}
.tm-name-zeile {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--s-2);
  align-items: end;
}
.tm-name-zeile .knopf {
  min-height: 46px;
}
.tm-links {
  display: grid;
  gap: var(--s-2);
  margin: 0;
  padding: 0;
  list-style: none;
}
.tm-links:empty {
  display: none;
}
.tm-link {
  position: relative;
  display: flex;
  align-items: center;
  gap: var(--s-3);
  min-width: 0;
  min-height: 56px;
  padding: var(--s-1) var(--s-1) var(--s-1) var(--s-2);
  border-radius: 999px;
  background: rgba(4, 10, 20, .34);
  box-shadow: inset 0 0 0 1px var(--line-2);
  overflow: hidden;
}
.tm-link-zeichen {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  flex: none;
  border-radius: 50%;
  background: var(--cyan-grund);
  color: var(--cyan);
}
.tm-link-zeichen .ik {
  width: 16px;
  height: 16px;
}
.tm-link-text {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--text);
  font: 500 var(--t-14)/1.3 var(--mono);
}
.tm-kopieren {
  flex: none;
}
.tm-kopieren [data-wort=ok] {
  display: none;
}
.tm-kopieren.ok [data-wort=an] {
  display: none;
}
.tm-kopieren.ok [data-wort=ok] {
  display: inline-flex;
}
.tm-kopieren > span {
  display: inline-flex;
  align-items: center;
  gap: var(--s-2);
}
.tm-kopieren.ok {
  background: var(--gut);
}
.tm-links-stand {
  margin: 0;
  color: var(--text-3);
  font-size: var(--t-14);
  line-height: 1.5;
}
.tm-links-stand:empty {
  display: none;
}
.tm-links-knoepfe {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--s-2) var(--s-3);
}
.tm-links-notiz {
  color: var(--text-3);
  font-size: var(--t-14);
  line-height: 1.5;
}
.tm-offen {
  display: grid;
  gap: var(--s-2);
  margin: 0;
  padding: 0;
  list-style: none;
}
.tm-offen:empty {
  display: none;
}
.tm-offen-zeile {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--s-3);
  padding: var(--s-1) var(--s-1) var(--s-1) var(--s-4);
  border-radius: var(--r-1);
  background: var(--bg-1);
  color: var(--text-2);
  font-size: var(--t-14);
}
.tm-offen-zeile > .ik {
  width: 16px;
  height: 16px;
  color: var(--text-3);
}
.tm-status {
  flex-wrap: wrap;
  align-items: center;
  gap: var(--s-2);
}
.tm-plan {
  color: var(--text-3);
  font: 500 var(--t-12)/1.3 var(--sans);
  font-variant-numeric: tabular-nums;
}
.tm-teamblock {
  display: flex;
  align-items: flex-start;
  gap: var(--s-2);
  margin: var(--s-3) 0 0;
  padding: var(--s-3) var(--s-4);
  border-radius: var(--r-1);
  background: var(--lila-grund);
  color: var(--text-2);
  font-size: var(--t-14);
  line-height: 1.5;
}
.tm-teamblock .ik {
  width: 16px;
  height: 16px;
  margin-top: 3px;
  flex: none;
  color: var(--lila-text);
}
.tm-teamblock b {
  color: var(--text);
  font-weight: 600;
}
.tm-teamblock.fertig {
  background: var(--gut-grund);
}
.tm-teamblock.fertig .ik {
  color: var(--gut);
}
.tm-notizen {
  display: grid;
  gap: var(--s-4);
  scroll-margin-top: calc(var(--kopf-h) + var(--s-4));
}
.tm-notizen .fs-karte-kopf {
  margin: 0;
}
.tm-notizen .fs-karte-kopf > span {
  color: var(--text-3);
  font-size: var(--t-14);
}
.tm-notiz-form {
  gap: var(--s-3);
}
.tm-notiz-form textarea {
  min-height: 112px;
  resize: vertical;
  font: 400 var(--t-16)/1.5 var(--sans);
}
.tm-notiz-knoepfe {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--s-2) var(--s-3);
}
.tm-notiz-knoepfe [data-notiz-knopf] {
  margin-left: auto;
}
.tm-notiz-hinweis {
  color: var(--text-3);
  font-size: var(--t-14);
  line-height: 1.5;
}
.tm-bild-knopf {
  position: relative;
  cursor: pointer;
}
.tm-bild-knopf:focus-within {
  outline: 2px solid var(--cyan);
  outline-offset: 2px;
}
.tm-datei {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
}
.tm-notiz-vorschau {
  display: flex;
  flex-wrap: wrap;
  gap: var(--s-2);
  margin: 0;
  padding: 0;
  list-style: none;
}
.tm-notiz-vorschau:empty {
  display: none;
}
.tm-vorschau {
  position: relative;
  width: 96px;
  height: 64px;
  border-radius: var(--r-1);
  overflow: hidden;
  background: var(--bg-3);
}
.tm-vorschau img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.tm-vorschau-weg {
  position: absolute;
  top: var(--s-1);
  right: var(--s-1);
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(3, 7, 14, .78);
  color: var(--text);
  cursor: pointer;
}
.tm-vorschau-weg .ik {
  width: 14px;
  height: 14px;
}
.tm-vorschau-weg:focus-visible {
  outline: 2px solid var(--cyan);
  outline-offset: 2px;
}
.tm-notiz-liste {
  display: grid;
  gap: var(--s-3);
  margin: 0;
  padding: 0;
  list-style: none;
}
.tm-notiz-liste:empty {
  display: none;
}
.tm-notiz {
  display: grid;
  gap: var(--s-3);
  padding: var(--s-5);
  border-radius: var(--r-3);
  background: var(--flaeche);
  box-shadow: var(--tiefe-1);
}
.tm-notiz-kopf {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--s-3);
}
.tm-notiz-av {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--bg-3);
  color: var(--text);
  box-shadow: inset 0 0 0 2px var(--cyan);
  font: 650 var(--t-14)/1 var(--sans);
}
.tm-notiz-wer {
  display: grid;
  min-width: 0;
}
.tm-notiz-wer b {
  overflow: hidden;
  color: var(--text);
  font: 650 var(--t-16)/1.3 var(--sans);
  text-overflow: ellipsis;
  white-space: nowrap;
}
.tm-notiz-wer small {
  color: var(--text-3);
  font-size: var(--t-12);
  line-height: 1.4;
}
.tm-notiz-weg {
  color: var(--text-3);
}
.tm-notiz-weg .ik {
  width: 16px;
  height: 16px;
}
.tm-notiz-text {
  margin: 0;
  max-width: 68ch;
  color: var(--text-2);
  font-size: var(--t-16);
  line-height: 1.55;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.tm-notiz-galerie {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--s-2);
  max-width: 720px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.tm-notiz-galerie > li:first-child:nth-last-child(odd) {
  grid-column: 1 / -1;
}
.tm-notiz-bild {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  padding: 0;
  border: 0;
  border-radius: var(--r-1);
  overflow: hidden;
  background: var(--bg-3);
  cursor: zoom-in;
}
.tm-notiz-bild img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .25s var(--ease);
}
.tm-notiz-bild:focus-visible {
  outline: 2px solid var(--cyan);
  outline-offset: 2px;
}
@media (hover: hover) and (pointer: fine) {
  .tm-notiz-bild:hover img {
    transform: scale(1.03);
  }
}
.tm-notiz-leer {
  margin: 0;
  padding: var(--s-5);
  border-radius: var(--r-3);
  box-shadow: inset 0 0 0 1px var(--line);
  color: var(--text-2);
  font-size: var(--t-14);
  line-height: 1.5;
}
.tm-bild-gross {
  max-width: min(1200px, calc(100vw - 32px));
  max-height: calc(100vh - 32px);
  padding: 0;
  border: 0;
  border-radius: var(--r-3);
  background: var(--bg-0);
  box-shadow: var(--tiefe-3);
}
.tm-bild-gross::backdrop {
  background: rgba(3, 7, 14, .86);
}
.tm-bild-gross-form {
  position: relative;
  margin: 0;
}
.tm-bild-gross img {
  display: block;
  max-width: 100%;
  max-height: calc(100vh - 32px);
  object-fit: contain;
}
.tm-bild-zu {
  position: absolute;
  top: var(--s-2);
  right: var(--s-2);
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(3, 7, 14, .78);
  color: var(--text);
  cursor: pointer;
}
.tm-bild-zu:focus-visible {
  outline: 2px solid var(--cyan);
  outline-offset: 2px;
}
.tm-ich {
  display: grid;
  gap: var(--s-3);
  justify-items: start;
}
.tm-ich .fs-karte-kopf {
  margin: 0;
}
.tm-zustimmung.haken {
  max-width: 760px;
}
.tm-zustimmung b {
  display: block;
  color: var(--text);
  font: 650 var(--t-16)/1.4 var(--sans);
}
.tm-zustimmung small {
  display: block;
  margin-top: var(--s-1);
  color: var(--text-2);
  font-size: var(--t-14);
  line-height: 1.5;
}
.tm-verlassen {
  color: var(--text-3);
}
.tm-gruenden-form {
  display: grid;
  gap: var(--s-7);
}
.tm-schritt {
  display: grid;
  gap: var(--s-4);
  min-width: 0;
}
.tm-schritt-kopf {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--s-2) var(--s-3);
}
.tm-schritt-kopf h3 {
  margin: 0;
  font: 700 var(--t-20)/1.2 var(--sans);
  letter-spacing: -.02em;
}
.tm-schritt-nr {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: var(--r-1);
  background: var(--cyan-grund);
  color: var(--cyan);
  font: 600 var(--t-12)/1 var(--mono);
  box-shadow: inset 0 0 0 1px rgba(56, 224, 255, .2);
}
.tm-frei {
  color: var(--text-3);
  font-size: var(--t-14);
}
.tm-feld {
  max-width: 360px;
}
.tm-weiter {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--s-3) var(--s-5);
}
.tm-weiter small {
  max-width: 44ch;
  color: var(--text-3);
  font-size: var(--t-14);
  line-height: 1.5;
}
.tm-frage {
  width: min(440px, calc(100vw - 32px));
  padding: 0;
  border: 0;
  border-radius: var(--r-3);
  background: var(--bg-1);
  color: var(--text);
  box-shadow: var(--tiefe-3);
}
.tm-frage::backdrop {
  background: rgba(3, 7, 14, .72);
}
.tm-frage-form {
  display: grid;
  gap: var(--s-3);
  margin: 0;
  padding: var(--s-5);
}
.tm-frage h2 {
  margin: 0;
  font: 700 var(--t-20)/1.25 var(--sans);
  letter-spacing: -.02em;
}
.tm-frage p {
  margin: 0;
  color: var(--text-2);
  font-size: var(--t-16);
  line-height: 1.5;
}
.tm-frage-knoepfe {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: var(--s-2);
  margin-top: var(--s-2);
}
@media (prefers-reduced-motion: no-preference) {
  .tm-em-c {
    transition: clip-path .6s var(--tm-ein);
    transition-delay: var(--v, 0ms);
  }
  .tm-em-schatten {
    transition: opacity .4s var(--ease);
    transition-delay: calc(var(--v, 0ms) + 300ms);
  }
  .tm-emblem.voll .tm-em-ring {
    animation: tm-zeichnen .8s var(--tm-ein) both;
    animation-delay: 400ms;
  }
  .tm-bogen {
    animation: tm-zeichnen .6s var(--tm-ein) both;
    animation-delay: calc(var(--n, 0) * 80ms + 200ms);
  }
  .tm-woche li > i {
    animation: tm-pop .4s var(--pop) both;
    animation-delay: calc(var(--i, 0) * 50ms + 200ms);
  }
  .tm-held .tm-held-text > * {
    animation: tm-auf .6s var(--tm-ein) both;
    animation-delay: calc(var(--n, 0) * 80ms);
  }
  .tm-held-text > :nth-child(2) {
    --n: 1;
  }
  .tm-held-text > :nth-child(3) {
    --n: 2;
  }
  .tm-held-text > :nth-child(4) {
    --n: 3;
  }
  .tm-held-text > :nth-child(5) {
    --n: 4;
  }
  .tm-mitglied {
    animation: tm-auf .6s var(--tm-ein) both;
    animation-delay: calc(var(--n, 0) * 80ms + 200ms);
  }
  .tm-stupsen.welle .tm-welle::before {
    animation: tm-welle .7s var(--tm-ein) both;
  }
  .tm-stupsen.welle .tm-welle::after {
    animation: tm-welle .7s var(--tm-ein) .12s both;
  }
  .tm-av.gestupst .tm-ping {
    animation: tm-ping .8s var(--tm-ein) both;
  }
  .tm-av.gestupst .tm-abzeichen {
    animation: tm-pop .4s var(--pop) .2s both;
  }
  .tm-link.kopiert::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    background:
      linear-gradient(
        100deg,
        rgba(56, 224, 255, 0) 30%,
        rgba(56, 224, 255, .22) 50%,
        rgba(56, 224, 255, 0) 70%);
    animation: tm-glanz .8s var(--tm-ein) both;
  }
}
@keyframes tm-zeichnen {
  from {
    stroke-dashoffset: 1;
  }
}
@keyframes tm-pop {
  from {
    transform: scale(.4);
    opacity: 0;
  }
}
@keyframes tm-welle {
  from {
    opacity: .9;
    transform: scale(1);
  }
  to {
    opacity: 0;
    transform: scale(1.2, 1.6);
  }
}
@keyframes tm-ping {
  from {
    opacity: .9;
    transform: scale(.88);
  }
  to {
    opacity: 0;
    transform: scale(1.45);
  }
}
@keyframes tm-glanz {
  from {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(100%);
  }
}
@keyframes tm-auf {
  from {
    opacity: 0;
    transform: translateY(16px);
  }
}
@media (max-width: 1100px) {
  .tm-mitglieder {
    grid-template-columns: minmax(0, 1fr);
  }
  .tm-einladen-raster {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (max-width: 900px) {
  .tm-team {
    gap: var(--s-6);
  }
  .tm-held {
    grid-template-columns: 112px minmax(0, 1fr);
    gap: var(--s-4);
    padding: var(--s-5) var(--s-4);
  }
  .tm-held-text {
    display: contents;
  }
  .tm-held-bild {
    grid-column: 1;
    grid-row: 1 / 3;
    align-self: center;
  }
  .tm-held .tm-label {
    grid-column: 2;
    grid-row: 1;
    align-self: end;
  }
  .tm-held .tm-streak,
  .tm-held .tm-streak-start {
    grid-column: 2;
    grid-row: 2;
    align-self: start;
    margin-top: 0;
  }
  .tm-held .tm-woche,
  .tm-held .tm-aussage-zeile,
  .tm-held .tm-regel {
    grid-column: 1 / -1;
  }
  .tm-regel {
    font-size: var(--t-16);
  }
  .tm-regel summary {
    min-height: 44px;
  }
  .tm-held .tm-woche {
    margin-top: var(--s-2);
    max-width: none;
  }
  .tm-held .tm-aussage-zeile {
    margin-top: var(--s-2);
  }
  .tm-aussage-zeile :is(.tm-stupsen, .tm-trainieren) {
    width: 100%;
    justify-content: center;
  }
  .tm-em-legende {
    display: none;
  }
  .tm-einheit {
    font-size: var(--t-16);
    padding-bottom: .45em;
  }
  .tm-woche li > i {
    width: 32px;
    height: 32px;
  }
  .tm-mitglied {
    padding: var(--s-4);
  }
  .tm-av.gross {
    --gr: 64px;
  }
  .tm-mehr-knopf {
    width: 44px;
    height: 44px;
  }
  .tm-mehr {
    top: var(--s-1);
    right: var(--s-1);
  }
  .tm-start {
    grid-template-columns: minmax(0, 1fr);
    padding: var(--s-5) var(--s-4);
  }
  .tm-start-bild {
    width: 96px;
    height: 96px;
  }
  .tm-anmelden {
    min-width: 0;
  }
  .tm-rollen {
    grid-template-columns: minmax(0, 1fr);
  }
  .tm-feld {
    max-width: none;
  }
  .tm-weiter .knopf {
    width: 100%;
  }
  .tm-name-zeile {
    grid-template-columns: minmax(0, 1fr);
  }
  .tm-name-zeile .knopf {
    width: 100%;
    justify-content: center;
  }
  .tm-art {
    justify-self: stretch;
  }
  .tm-art button {
    flex: 1;
    justify-content: center;
    height: 44px;
  }
  .tm-link-zeichen {
    display: none;
  }
  .tm-link {
    padding-left: var(--s-4);
  }
  .tm-mini-stupsen,
  .tm-entfernen,
  .tm-verlassen,
  .tm-mitglied-aktion,
  .tm-links-knoepfe .knopf {
    min-height: 44px;
  }
  .tm-notiz {
    padding: var(--s-4);
  }
  .tm-notiz-knoepfe [data-notiz-knopf] {
    width: 100%;
    margin-left: 0;
    justify-content: center;
  }
  .tm-notiz-weg,
  .tm-bild-knopf {
    min-height: 44px;
  }
  .tm-vorschau {
    width: 128px;
    height: 88px;
  }
  .tm-vorschau-weg {
    width: 44px;
    height: 44px;
    top: 0;
    right: 0;
  }
  .tm-name small,
  .tm-woche li {
    font-size: var(--t-14);
  }
}
@media (max-width: 420px) {
  .tm-held {
    grid-template-columns: 96px minmax(0, 1fr);
  }
  .tm-woche {
    gap: var(--s-1);
  }
}
@media (forced-colors: active) {
  .tm-bogen,
  .tm-em-form {
    stroke: CanvasText;
  }
  .tm-em-c {
    fill: CanvasText;
  }
}
