@font-face {
    font-family: 'gymtimer';
    src: url('gymtimer.otf') format('truetype'); /* Passe den Pfad an */
    /* Weitere Formate (z.B., woff, woff2) können hinzugefügt werden, um die Browser-Kompatibilität zu verbessern */
}

html {
    overflow: auto; /* Versteckt die vertikale Scrollleiste */
}

::-webkit-scrollbar {
    display: none; /* Versteckt die Scrollleiste in Webkit-Browsern */
}

body {
    font-family: gymtimer, sans-serif;
    text-align: center;
    background-color: rgb(191 57 57);

    color: rgb(255, 255, 255);
    margin-top: 0px;
    font-size: 16px;
    min-width: 345px;
    height: 100%;
    margin: 0px;

}

*:focus {
  outline: none !important;

}

input, textarea, select, [contenteditable="true"] {
  caret-color: black !important; /* Caret bleibt sichtbar */
}

#logo {
    width: 200px;
    height: 200px;
    margin-top: 25px;
    margin-bottom: 25px;
}

#timer {

    font-size: 68px;
    background-color: none;
    border-radius: 0px 0px 0px 0px;
    padding-bottom: 0px;
    padding-top: 16px;
    margin-left: 0px;
    margin-right: 0px;
    font-weight: 900;

}

/* ✅ Stopwatch-spezifisches Styling */
#timer.stopwatch {
  font-size: 34px;          /* wegen MM:SS:MMM / HH:MM:SS:MMM */
  color: #ffffff;
  padding-top: 187px;        /* etwas weniger, wirkt mittiger */
  font-weight: 900;
}

/* Stopwatch mit Stunden (HH:MM:SS:MMM) */
#timer.stopwatch.with-hours {
  font-size: 26px;   /* kleiner, damit alles passt */
  padding-top: 190px;
  color: #ffffff;
  font-weight: 900;
}


@media (min-width: 748px) and (min-height: 600px) {
    #timer {

      font-size: 100px;
      padding-top: 25px;
    }
  }



h1 {

    font-size: 100px;
    color: rgb(255, 64, 64);
    font-style: oblique;
    font-family: gymtimer, sans-serif;
    margin-top: 80px;
    margin-bottom: 50px;
}
#roundsDisplay {

    background-color: none;

    font-size: 12px;
    color: rgb(0, 0, 0);
    padding-top: 56px;
    padding-right: 90px;

}

@media (min-width: 748px) and (min-height: 600px) {
    #roundsDisplay {

      font-size: 18px;
      padding-top: 86px;
      padding-right: 140px;
    }
}



#timeround {
    position: fixed;
    width: 230px;
    height: 230px;
    background-image: url("img/timer/gymtimer.webp");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    color: black;
    display: none;
    font-size: 18px;
    animation: pump 0.3s ease;
  }

#stopwatchround {
  position: fixed;
  background-image: url("img/timer/stopwatch.webp"); /* <-- dein neues Bild */
  background-repeat: no-repeat;
  background-position: center;
  background-size: 320px;
  height: 400px;
  width: 400px;
  margin-top: 30px;
  color: black;
  display: none;
  animation: pump 0.3s ease;
}

#stopwatchTimer{
 font-size: 34px;
 color: white;
 padding-top:187px;

    }


/* Desktop ab 748px */
@media (min-width: 748px) and (min-height: 600px) {
  #timeround {
    width: 350px;
    height: 350px;
    font-size: 24px;
  }
}

@media (min-width: 748px) and (min-height: 600px) {
  #stopwatchround {
    background-size: 420px;

  }
}

@media (min-width: 748px) and (min-height: 600px) {
  #stopwatchTimer {
  font-size: 42px;          /* wegen MM:SS:MMM / HH:MM:SS:MMM */
  color: #ffffff;
  padding-top: 185px;        /* etwas weniger, wirkt mittiger */
  font-weight: 900;

  }
}

@media (min-width: 748px) and (min-height: 600px) {
  #stopwatchround.with-hours {
  font-size: 36px;   /* kleiner, damit alles passt */
  padding-top: 188px;
  color: #ffffff;
  font-weight: 900;

  }
}




#timeround-container {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 96vh; /* Setzt die Höhe des Containers auf die gesamte Bildschirmhöhe */
}

#menubottom {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background-color: rgb(255, 64, 64);
    margin-left: 0px;
    margin-right: 0px;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1;
    height: 80px;
    box-shadow:  0 -6px 6px -6px rgba(0, 0, 0, 0.4);
}


#phaseText {
  font-size: 57px;
  background-color: yellow;
  color: #000000;
  box-shadow: 0 6px 6px -6px rgba(0, 0, 0, 0.4);
  margin-left: 0px;
  margin-right: 0px;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;

  display: flex;
  flex-direction: column-reverse;
  height: 100px;


}

#settings {
   /* display: none; Standardmäßig ausgeblendet */
   position: fixed;
    color: white;
    background-color: rgb(191 57 57);
    top: 0px;
    left: 0;
    right: 0;
    bottom: 0;
    font-size: 25px;
    width: 100%;
    max-width: 400px;
    margin: auto;
    z-index: 1;
    overflow: scroll;
    margin-top: 20px;


}

.sidenav {
  height: 80%;
  width: 0;
  position: fixed;
  top: 20px;
  right: 0;
  background-color: rgb(255, 64, 64);
  overflow-x: hidden;
  overflow-y: auto; /* wichtig bei langen Inhalten */
  transition: width 0.1s ease;
  z-index: 999;
  box-shadow: -2px -2px 6px rgba(0, 0, 0, 0.5);
  border-radius: 10px 0px 0px 10px;
  padding-top: 10px;
}

.sidenav-content {
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none; /* verhindert Klicks während geschlossen */
}

.sidenav.open .sidenav-content {
  opacity: 1;
  pointer-events: auto;
}

.sidenav a{
  padding: 8px 70px 0px 15px;
  text-decoration: none;

  color: #fff;
  display: block;
  transition: 0.3s;
  text-align: left;
  white-space: nowrap;




}


.sidenav a:hover {
  color: #000;
}

.sidenav .closebtn {
  position: absolute;
  top: 20px;
  right: 0px;
  font-size: 35px;
  text-align: right;
  padding: 8px 50px;
  font-family: serif;
  color: black;

}

.closebtn2 img{

font-size: 35px;
color: black;

}




.setlogo{
margin-top: 0px;
background-color: rgb(255, 64, 64);
border-radius: 10px 10px 0px 0px;
padding-top: 8px;
padding-bottom: 10px;
color: #000;
position: fixed;
left: 0;
right: 0;
width: 100%;
margin-left: 0px;
margin-right: 0px;
z-index: 1;

}

.siteTitle{
    margin-top: 0px;
    background-color: rgb(255, 64, 64);
    top: 0;
    padding-top: 8px;
    padding-bottom: 10px;
    color: #000;
    position: fixed;
    left: 0;
    right: 0;
    width: 100%;
    margin-left: 0px;
    margin-right: 0px;
    font-size: 40px;
    height: 80px;
    box-shadow: 0 6px 6px -6px rgba(0, 0, 0, 0.4);
    z-index: 2;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    }



 #workTime1, #breakTime1, #rounds1 {
 background-color: rgb(41 41 41);
 border-radius: 10px 10px 10px 10px;
 margin-left: 20px;
 margin-right: 20px;
 padding-top: 15px;
 padding-bottom: 15px;
 padding-left: 25px;
 padding-right: 25px;
 text-align: left;
 margin-bottom: 10px;


}

#volume1, #myprofile {
 background-color: rgb(22, 22, 22);
 border-radius: 10px 10px 10px 10px;
 margin-left: 20px;
 margin-right: 20px;
 padding-top: 15px;
 padding-bottom: 15px;
 padding-left: 25px;
 padding-right: 25px;
 text-align: left;
 margin-bottom: 10px;
}

.interval-settings-group {
  background: rgb(22,22,22);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 10px;
  margin: 18px 20px 10px 20px;
  padding: 14px;
  position: relative;
  overflow: visible;
}

.interval-settings-group-title {
  color: #fff;
  font-size: 16px;
  opacity: 0.9;
  text-align: left;
  margin-bottom: 12px;
  padding: 0px 0px 0px 8px;
}

.interval-settings-group > #workTime1,
.interval-settings-group > #breakTime1,
.interval-settings-group > #rounds1 {
  margin-left: 0;
  margin-right: 0;
}



#fullTimeTimer {
    position: absolute;

    font-size: 15px;
    background-color: none;
    top: 55px;
    right: 35px;
    color: rgb(0, 0, 0);

}

@media (min-width: 748px) and (min-height: 600px) {
    #fullTimeTimer {

      font-size: 21px;
      top: 85px;
      right: 50px;
    }
  }


  #fullTimeTimer2 {
    background-color: rgba(255, 210, 63, 0.08);
    color: #ffd23f;
    border: 1px solid rgba(255, 210, 63, 0.20);
    padding: 8px 10px;
    border-radius: 10px;
  }

  #totalWorkTimeDisplay {
    background-color: rgba(255, 210, 63, 0.08);
    color: rgb(60, 204, 60);
    border: 1px solid rgba(255, 210, 63, 0.20);
    padding: 8px 10px;
    border-radius: 10px;
    margin-top: 0;
  }

  #totalBreakTimeDisplay {
    background-color: rgba(255, 210, 63, 0.08);
    color: #ff8b3d;
    border: 1px solid rgba(255, 210, 63, 0.20);
    padding: 8px 10px;
    border-radius: 10px;
    margin-top: 0;
  }

  #stepsPopupMetricsRow {
    display: none;
    width: 100%;
    max-width: 320px;
    margin-top: 10px;
    justify-content: center;
    align-items: stretch;
    gap: 10px;
  }

  .steps-popup-card {
    flex: 1 1 0;
    min-width: 0;
    background-color: rgba(255, 210, 63, 0.08);
    color: #00D4FD;
    border: 1px solid rgba(255, 210, 63, 0.20);
    padding: 8px 10px;
    border-radius: 10px;
    line-height: 1.2;
    text-align: center;
  }

  .steps-popup-card-value {
    display: block;
    margin-top: 4px;
    color: #fff;
  }

  #stepsPopupAchievementsRow {
    display: none;
    width: 100%;
    max-width: 320px;
    margin-top: 10px;
    text-align: center;
  }

  #stepsPopupAchievementsLabel {
    color: #FFD23F;
    font-family: gymtimer, sans-serif;
    font-size: 18px;
    margin-bottom: 8px;
    letter-spacing: 0;
  }

  #stepsPopupAchievementsList {
    display: grid;
    grid-template-columns: repeat(3, 52px);
    justify-content: center;
    gap: 10px;
  }

  .steps-popup-achievement-item {
    width: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .steps-popup-achievement-item img {
    width: 52px;
    height: 52px;
    object-fit: contain;
  }

button {
    border-radius: 20%; /* Macht die Buttons rund */
    border: 0px none;
    border-color: rgb(255, 255, 255);
    background-color: none;
    height: 45px;
    box-shadow: 0 0px 0px none;
    text-transform: uppercase;


}

button i{
            color: black;

        }

/* Stil für das Start-Button */
#startButton {
    background-color: rgb(255, 64, 64);
    color: grey; /* Schriftfarbe für Start-Button */
    width: 45px; /* Breite des runden Buttons anpassen */
    height: 45px; /* Höhe des runden Buttons anpassen */

}

/* Stil für andere Buttons (Pause, Continue, Stop) */
#pauseButton,
#resumeButton {

    width: 45px; /* Breite der runden Buttons */
    height: 45px; /* Höhe der runden Buttons */
    background-color: rgb(255, 64, 64);
    color: grey; /* Schriftfarbe für andere Buttons */

}
#startButton i{

    padding-left: 8px;

}


#resumeButton i{

    padding-left: 9px;

}

#workTimeValue, #breakTimeValue, #roundsValue, #setsValue, #pauseAfterSetValue {
font-size: 40px;

}

#workTimeValue2, #breakTimeValue2, #pauseAfterSetValue2 {
font-size: 15px;


}

#slider-container {
    position: relative;
    overflow: hidden;
    font-family: gymtimer, sans-serif;
    text-align: center;
    background-color: #1f1f1f;
    background-image: url("img/gymbackground2.webp");

    color: rgb(255, 255, 255);
    margin-top: 0px;
    font-size: 16px;
    min-width: 345px;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    background-attachment: fixed;
    height: 100%;
    margin: 0px;
    z-index: 2;
}

.button-container {
    display: flex; /* Aktiviert Flexbox */
    justify-content: flex-start; /* Aligns items to the start of the container */
    gap: 10px;
    padding-bottom: 10px;
}

.button-container button {
    margin-right: 10px; /* Fügt rechts an jedem Button einen Abstand hinzu */
}

/* Entfernen Sie den Abstand am letzten Button im Container */
.button-container button:last-child {
    margin-right: 0;
}


/********** Range Input Styles **********/
    /*Range Reset*/
    input[type="range"] {
       -webkit-appearance: none;
        appearance: none;
        background: transparent;
        cursor: pointer;
        width: 15rem;


    }

    /* Removes default focus */
    input[type="range"]:focus {
      outline: none;
    }

    /***** Chrome, Safari, Opera and Edge Chromium styles *****/
    /* slider track */
    input[type="range"]::-webkit-slider-runnable-track {
       background-color: #ff4040;
       border-radius: 0.5rem;
       height: 0.8rem;
    }

    /* slider thumb */
    input[type="range"]::-webkit-slider-thumb {
      -webkit-appearance: none; /* Override default look */
       appearance: none;
       margin-top: -7px; /* Centers thumb on the track */

       /*custom styles*/
       background-color: white;
       height: 25px;
       width: 25px;
       border-radius: 50%;
    }

    input[type="range"]:focus::-webkit-slider-thumb {
      border: 0px solid #ff4040;
      outline: 0px solid #ff4040;
      outline-offset: 0rem;

    }

    /******** Firefox styles ********/
    /* slider track */
    input[type="range"]::-moz-range-track {
       background-color: #ff4040;
       border-radius: 0.5rem;
       height: 0.5rem;
    }

    /* slider thumb */
    input[type="range"]::-moz-range-thumb {
       border: none; /*Removes extra border that FF applies*/
       border-radius: 0; /*Removes default border-radius that FF applies*/

       /*custom styles*/
       background-color: #ff4040;
       height: 2rem;
       width: 1rem;
    }

    input[type="range"]:focus::-moz-range-thumb {
      border: 0px solid #ff4040;
      outline: 0px solid #ff4040;
      outline-offset: 0rem;
    }

   /* Stil für andere Buttons (Pause, Continue, Stop) */

#stopButton, #skipRoundButton {
    width: 45px; /* Breite der runden Buttons */
    height: 45px; /* Höhe der runden Buttons */
    background-color: rgb(255, 64, 64);
    color: black; /* Schriftfarbe für andere Buttons */


}

/* Stil für den Toggle-Settings-Button */
#toggleSettingsButton {
    border-radius: 20%; /* Macht den Toggle-Settings-Button rund */
    width: 45px; /* Breite des runden Buttons anpassen */
    height: 45px; /* Höhe des runden Buttons anpassen */
    background-color: rgb(255, 64, 64);
    color: black; /* Schriftfarbe für den Toggle-Settings-Button */

}



    #settingslogo {
    border-radius: 20%; /* Macht den Toggle-Settings-Button rund */
    width: 45px; /* Breite des runden Buttons anpassen */
    height: 45px; /* Höhe des runden Buttons anpassen */
    background-color: rgb(255, 64, 64);
    color: black; /* Schriftfarbe für den Toggle-Settings-Button */


}

#toggleMenuButton {
    border-radius: 20%; /* Macht den Toggle-Settings-Button rund */
    width: 45px; /* Breite des runden Buttons anpassen */
    height: 45px; /* Höhe des runden Buttons anpassen */
    background-color: rgb(255, 64, 64);
    color: black; /* Schriftfarbe für den Toggle-Settings-Button */

}



#muteButton {
    border-radius: 20%; /* Macht den Toggle-Settings-Button rund */
    width: 40px; /* Breite des runden Buttons anpassen */
    height: 40px; /* Höhe des runden Buttons anpassen */
    background-color: rgb(255, 64, 64);
    color: black; /* Schriftfarbe für den Toggle-Settings-Button */
    font-size: 8px;


}

.toggle-label {
position: relative;
display: inline-block;
width: 50px;
height: 26px;

}

.toggle-label input[type="checkbox"] {
 display: none;
}

/* Der Hintergrund des Schalters */
.slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #ccc;
  transition: .4s;
  border-radius: 34px;
}

/* Der weiße Punkt (Dot) */
.slider:before {
  position: absolute;
  content: "";
  height: 22px;
  width: 22px;
  left: 2px;

  /* Zentrierungstrick: */
  top: 50%;
  /* Verschiebt den Punkt um die Hälfte seiner eigenen Höhe nach oben */
  transform: translateY(-50%);

  background-color: white;
  transition: .4s;
  border-radius: 50%;
}

/* Hintergrundfarbe wenn aktiv */
input[type="checkbox"]:checked + .slider {
  background-color: rgb(255, 64, 64);
}

/* Bewegung des Punktes wenn aktiv */
input[type="checkbox"]:checked + .slider:before {
  /* WICHTIG: translateY(-50%) muss erhalten bleiben, damit er nicht absinkt! */
  transform: translateX(24px) translateY(-50%);
}

.bottomSettingsPage i{
    font-size: 35px;
    padding-top: 5px;
    height: 44px;
    }

.bottomSettingsPage {
    background-color: rgb(255, 64, 64);
    margin-left: 0px;
    margin-right: 0px;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1;
    color: black;
    padding: 8px;
    box-shadow:  0 -6px 6px -6px rgba(0, 0, 0, 0.4);
}

.bottomDashboardPage i{
    font-size: 35px;
    padding-top: 5px;
    height: 44px;
    }

.bottomDashboardPage {
    background-color: rgb(255, 64, 64);
    margin-left: 0px;
    margin-right: 0px;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1;
    color: black;
    padding: 8px;
    box-shadow:  0 -6px 6px -6px rgba(0, 0, 0, 0.4);
}

.popup {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.9);
  background-color: none;
  z-index: 1;
  justify-content: center;
  align-items: center;
  text-align: center;
  z-index: 2;
  animation: pump 0.3s ease;

}

.popup-content {
  background-color: none;
  border-radius: 5px;
  display: flex;
  flex-direction: column;
  align-items: center;




}

#closeButton {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  background-color: unset;
  cursor: pointer;
}

#closeButton img {
  display: block;
}

.popup-bottomMenu {
  position: fixed;
  bottom: 0;
  width: 100%;
  height: auto;
  padding: 8px;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  background: rgb(255, 64, 64);
  z-index: 5;
}

.popup-bottomMenu .badge-menu.page-bottom-menu {
  width: 100%;
  max-width: 300px;
  height: auto;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

#btnSavePopupShot {
  flex: 1 1 auto;
  max-width: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  line-height: 1;
}

.popup-bottomMenu .page-menu-items {
  width: auto;
  flex: 0 0 auto;
  justify-content: center;
}

.popup-bottomMenu .page-bottom-menu > .page-menu-close {
  width: 48px;
}

.popupimg {

padding-left: 40px;
padding-right: 40px;
padding-top: 10px;
}




#shareButton{
  background-color: #FF4040;
  padding: 15px;
  margin-right: 10px;
  border: none;
  font-size: 20px;
  border-radius: 5px;
  cursor: pointer;
  width: 100px;
}

#gymypopup {
    font-size: 35px;
    color: black;
}
#checkpopup {
    margin-top: 0px;
    padding-top: 0px;

    color: #3ccc3c;
}


#pointsPopup {
    display: flex;
  
    text-decoration: none;
    justify-content: center;
}

#pointsPopup img{

    width: 32px;
    height: 32px;
}

#reward-row {
    display: flex;
    justify-content: center;
    width: 100%;
    margin-top: 18px;
}

#rewardPopupCard {
    min-width: 140px;
    padding: 10px 16px;
    border-radius: 10px;
    background-color: rgba(0, 164, 255, 0.12);
    border: 1px solid rgba(0, 164, 255, 0.38);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.03);
    transition: background-color 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
    transform-origin: center center;
}

#rewardPopupCard.reward-popup-card--multiplier {
    background-color: rgba(255, 64, 64, 0.14);
    border-color: rgba(255, 210, 63, 0.42);
    box-shadow: 0 0 16px rgba(255, 64, 64, 0.18), inset 0 0 0 1px rgba(255, 210, 63, 0.08);
}

#rewardPopupCard.reward-popup-card--multiplier #earnedLabel {
    color: #ffd23f;
}

#rewardPopupCard.reward-popup-card--pulse {
    animation: rewardPopupCardPulse 260ms ease-out;
}

#earnedLabel {
    display: block;
    margin-bottom: 8px;
    color: #7fddff;
    font-family: gymtimer, sans-serif;
    font-size: 18px;
    letter-spacing: 0.04em;
}

#pointsPopup {
    gap: 10px;
}

#GymPointsEarnings {
    color: #00D4FD;
    font-size: 40px;
    line-height: 1;
    font-family: gymtimer, sans-serif;
}

#pointsPopup img {
    width: 35px;
    height: 35px;
    object-fit: contain;
}

#GymPointsEarningsInfo {
    margin-top: 10px;
    min-height: 24px;
}

.popup-content.popup-shot-mode {
    min-height: 0 !important;
    padding: 24px 40px !important;
}

.popup-content.popup-shot-mode #timer-row {
    margin-top: 0 !important;
    gap: 4px !important;
}

.popup-content.popup-shot-mode #stepsPopupMetricsRow {
    margin-top: 4px;
}

.popup-content.popup-shot-mode #reward-row {
    margin-top: 8px;
}

.popup-content.popup-shot-mode #earnedLabel {
    margin-bottom: 4px;
}

.popup-content.popup-shot-mode #shot-content-wrapper,
.popup-content.popup-shot-mode #shot-content-wrapper *,
.popup-content.popup-shot-mode #GymPointsEarningsInfo,
.popup-content.popup-shot-mode #GymPointsEarningsInfo * {
    color: #fff !important;
}

.popup-content.popup-shot-mode #fullTimeTimer2,
.popup-content.popup-shot-mode #totalWorkTimeDisplay,
.popup-content.popup-shot-mode #totalBreakTimeDisplay,
.popup-content.popup-shot-mode .steps-popup-card,
.popup-content.popup-shot-mode #rewardPopupCard,
.popup-content.popup-shot-mode #rewardPopupCard.reward-popup-card--multiplier {
    padding-top: 4px;
    padding-bottom: 4px;
    background: transparent !important;
    background-color: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.popup-content.popup-shot-mode #GymPointsEarnings {
    color: #fff !important;
    -webkit-text-stroke: 0 transparent !important;
    text-shadow: none !important;
}

.popup-content.popup-shot-mode #fullTimeTimer2,
.popup-content.popup-shot-mode #totalWorkTimeDisplay,
.popup-content.popup-shot-mode #totalBreakTimeDisplay,
.popup-content.popup-shot-mode .steps-popup-card,
.popup-content.popup-shot-mode #earnedLabel {
    font-size: 12px;
    line-height: 1.2;
}

.popup-content.popup-shot-mode #fullTimeTimer2 > span,
.popup-content.popup-shot-mode #totalWorkTimeDisplay > span,
.popup-content.popup-shot-mode #totalBreakTimeDisplay > span,
.popup-content.popup-shot-mode .steps-popup-card-value,
.popup-content.popup-shot-mode #GymPointsEarnings {
    font-size: 28px;
    line-height: 1.2;
}

.popup-content.popup-shot-mode #GymPointsEarningsInfo {
    display: none;
}

.popup-content.popup-shot-mode #pointsPopup {
    align-items: center;
    gap: 6px;
}

.popup-content.popup-shot-mode #pointsPopup img {
    width: 20px;
    height: 20px;
}

.popup-content.popup-shot-mode #gymbattleShotLogo {
    margin-top: 8px;
    line-height: 0;
}

.popup-content.popup-shot-mode #gymbattleShotLogo + div:not(.popup-bottomMenu) {
    margin-top: 6px !important;
}

.popup-content.popup-shot-mode > br {
    display: none;
}

@keyframes rewardPopupCardPulse {
    0% {
        transform: scale(1);
    }
    45% {
        transform: scale(1.08);
    }
    100% {
        transform: scale(1);
    }
}




#profileDropdown {
background-color: rgb(255, 255, 255);
font-family: 'gymtimer';
font-size: 18px;
width: 38%;

border-radius: 5px;
padding: 13px 10px 13px 10px;
border: none;
outline: none;
scroll-behavior: smooth;

}

#country-register, #country-select {
    background-color: rgb(131 37 37);
    font-family: 'roboto';
    font-size: 15px;
    width: 250px;
    margin-bottom: 15px;
    margin-top: 15px;
    color: white;
    border-radius: 5px;
    padding: 13px 10px 13px 10px;
    border: none;
    outline: none;
    scroll-behavior: smooth;

    }



    ::placeholder {
      color: black;
      opacity: 0.3; /* Firefox */


    }

#deleteTelegramCode, #current-password, #old-password, #new-password, #confirm-password, #confirmPassword, #newNickname, #waitlist-wallet, #email-login, #waitlist-email,  #new-email, #password-login, #email-register, #password-register, #nickname-register, #password-confirm, #access-code, #connect-watch-code{
    background-color: white;
    color:#000;
    width: 250px;
    font-size: 15px;
    font-family: 'roboto';
    border-radius: 5px;
    margin-top: 5px;
    margin-bottom: 5px;
    padding: 10px 0px 10px 0px;
    border: none;
    outline: none;
    text-align: center;

    }

    #email-reset, #walletNicknameModalInput {
        background-color: white;
        color:#000;
        width: 87%;
        font-size: 15px;
        font-family: 'gymtimer';
        border-radius: 5px;
        margin-top: 5px;
        margin-bottom: 15px;
        padding: 10px 0px 10px 0px;
        border: none;
        outline: none;
        text-align: center;


    }



 #current-password[type=password], #old-password[type=password], #new-password[type=password], #confirm-password[type=password], #confirmPassword[type=password], #new-email[type=text], #newNickname[type=text], #access-code[type=text], #waitlist-email[type=text], #waitlist-wallet[type=text], #email-login[type=text],  #new-email[type=text], #email-reset[type=text], #password-login[type=password], #email-register[type=email], #password-register[type=password], #password-confirm[type=password], #nickname-register[type=text], #connect-watch-code[type=text] {
    text-align: center;


}

::placeholder {
color: black;
opacity: 0.3; /* Firefox */


}







#profileDisplay{
background-color: rgb(135 40 40);
font-size: 20px;
border-radius: 10px 10px 10px 10px;
margin-top: 20px;
margin-bottom: 15px;



}

#achievementsPage {
/* display: none; Standardmäßig ausgeblendet */
        color: white;
        background-color: rgb(191 57 57);
        margin-top: 20px;
        font-size: 25px;
        width: 100%;
        margin-left: 0px;
        margin-right: 0px;




}

#badgesPage {
/* display: none; Standardmäßig ausgeblendet */
        color: white;
        background-color: rgb(191 57 57);
        margin-top: 60px;
        font-size: 25px;
        width: 100%;
        margin-left: 0px;
        margin-right: 0px;
        min-height: 100%;
}


.achievement-container2, #achievementsList {
    display: flex;
    flex-wrap: wrap;
    justify-content: center; /* Zentriert die Flex-Items horizontal */
    max-width: 400px;
    margin: auto;
}

.badgespage-container2 {
    display: flex;
    flex-direction: column;
    max-width: 360px;
    margin: auto;
    padding: 0px 20px 20px;
    gap: 14px;
}

.badgeCollectionPanel {
    width: 100%;
    box-sizing: border-box;
    background: rgb(22 22 22);
    border-radius: 18px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 16px 28px rgba(0, 0, 0, 0.18);
    overflow: hidden;
}

.badgeCollectionHeader {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 16px 16px 0;
}

.badgeCollectionTitle {
    margin: 0;
    color: #fff;
    font-family: gymtimer, sans-serif;
    font-size: 18px;
    line-height: 1;
    text-align: left;
}

.badgeCollectionSortButton {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 32px;
    padding: 7px 10px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 9px;
    background: rgb(41 41 41);
    color: #fff;
    font-family: gymtimer, sans-serif;
    font-size: 10px;
    line-height: 1;
    cursor: pointer;
    transition: background-color 0.16s ease, transform 0.16s ease;
}

.badgeCollectionSortButton:hover {
    background: rgb(191 57 57);
}

.badgeCollectionSortButton:active {
    transform: scale(0.96);
}

.badgeCollectionSortButton i {
    color: #fff;
    font-size: 15px;
}

#badgesList,
#badgeFavoritesList {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    column-gap: 0;
    row-gap: 30px;
    width: 100%;
    align-items: start;
    justify-items: center;
    margin-top: 0;
    padding: 22px 10px 20px;
    box-sizing: border-box;
}

#badgeFavoritesCount {
    flex-shrink: 0;
    color: white;
    font: 13px gymtimer, sans-serif;
}

.badgeFavoritesHint,
#badgeFavoritesStatus {
    margin: 12px 16px 0;
    color: white;
    font: 12px/1.4 gymtimer, sans-serif;
}

#badgeFavoritesStatus:empty,
#badgeFavoritesList:empty {
    display: none;
}

#badgeFavoritesStatus:not(:empty) {
    margin-bottom: 16px;
}

#badgeFavoritesRetry {
    margin: 0 16px 16px;
    background: rgb(255 64 64);
    color: white;
    font: 14px gymtimer, sans-serif;
    border: 0;
    border-radius: 9px;
    padding: 8px 12px;
}

#badgeActionMenu {
    position: fixed;
    z-index: 12000;
    width: 108px;
    padding: 6px;
    box-sizing: border-box;
    border: 1px solid rgb(255 64 64);
    border-radius: 10px;
    background: rgb(135 40 40);
    box-shadow: 0 8px 22px rgba(0,0,0,.45);
}

#badgeActionMenu[hidden],
#badgeFavoritesRetry[hidden] {
    display: none;
}

#badgeActionMenu button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 36px;
    padding: 6px;
    margin: 0;
    border: 0;
    border-radius: 6px;
    background: rgb(255 64 64);
    box-shadow: none;
    color: white;
    font: 16px gymtimer, sans-serif;
    cursor: pointer;
}

#badgeActionMenu #badgeActionFavorite {
    margin-top: 6px;
    background: rgb(22 22 22);
}

#badgeActionMenu #badgeActionFavorite[aria-pressed="true"] {
    background: rgb(255 64 64);
}

#badgeActionFavorite i { font-size: 23px; color: white; }
#badgeActionMenu button:disabled { opacity: .55; cursor: default; }
#badgeActionMenu button:focus-visible { outline: 2px solid white; outline-offset: 1px; }
#badgeActionStatus { margin: 8px 0 0; color: white; font: 12px/1.3 gymtimer, sans-serif; }
#badgeActionStatus:empty { display: none; }

.achievement {
    flex: 1 1 20%; /* Jedes Element passt sich flexibel an, aber nicht breiter als 30% */
    margin: 5px; /* Etwas Abstand zwischen den Elementen */
    box-sizing: border-box; /* Inklusive Padding und Border in der Breitenberechnung */
    font-size: 10px;
    padding: 5px;
    margin-bottom: 20px;
    background-color: rgba(0, 0, 0, 0.8);
    border-radius: 10px 10px 10px 10px;
    max-width: 30%; /* Maximale Breite, um sicherzustellen, dass nicht mehr als drei Elemente in einer Zeile erscheinen */
}
.achievement img{

width: 70%;
}

.achievement2 {
    flex: 1 1 46%; /* Jedes Element passt sich flexibel an, aber nicht breiter als 30% */
    margin: 5px; /* Etwas Abstand zwischen den Elementen */
    box-sizing: border-box; /* Inklusive Padding und Border in der Breitenberechnung */
    font-size: 10px;
    padding: 18px 5px 15px;
    background-color: rgb(22 22 22);
    border-radius: 10px 10px 10px 10px;
    max-width: 46%; /* Maximale Breite, um sicherzustellen, dass nicht mehr als drei Elemente in einer Zeile erscheinen */
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    text-align: center;
    gap: 2px;
}
.achievement2 > img,
.achievement2 .achievement-card-main-image {
    width: 90%;
}

.achievement2 .achievement-card-main-image {
    margin-top: 6px;
}

.achievement-card-title {
    margin: 0;
    line-height: 1.15;
}

.achievementDaily {
    flex: 0 0 calc((100% - 12px) / 3);
    width: calc((100% - 12px) / 3);
    height: 165px;
    margin: 2px; /* Etwas Abstand zwischen den Elementen */
    box-sizing: border-box; /* Inklusive Padding und Border in der Breitenberechnung */
    font-size: 10px;
    font-family: gymtimer, sans-serif;
    padding: 18px 5px 5px;
    margin-bottom: 20px;
    background-color: rgb(135 40 40);
    border-radius: 10px 10px 10px 10px;
    max-width: calc((100% - 12px) / 3);
    text-align: center;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 2px;
}

.achievementDaily > img,
.achievementDaily .challenge-card-image {
    width: 70%;
}

.achievementDaily .challenge-card-image {
    margin-top: 10px;
}

.challenge-reward-badge {
    position: absolute;
    top: 6px;
    right: 6px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 6px;
    border-radius: 999px;
    background: rgba(0, 0, 0, 0.35);
    color: white;
    font-size: 14px;
    line-height: 1;
}

.challenge-reward-badge img {
    width: 18px;
    height: 18px;
    object-fit: contain;
}

.challenge-scope {
    display: block;
    font-size: 20px;
    color: yellow;
    line-height: 1;
}

.challenge-title {
    display: block;
    line-height: 1.12;
}

.daily-login-rewards {
    margin-top: 6px;
}

.daily-login-reward-track {
    display: flex;
    gap: 8px;
    background-color: rgb(135 40 40);
    overflow-x: auto;
    padding: 0 10px 6px;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
    box-shadow:
        inset 6px 0 6px -6px rgba(0, 0, 0, 0.4),
        inset -6px 0 6px -6px rgba(0, 0, 0, 0.4);
    border-radius: 8px;
}

.daily-login-day {
    flex: 0 0 60px;
    margin-top: 5px;
    background: rgba(0, 0, 0, 0.55);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 12px;
    padding: 8px 5px;
    text-align: center;
    color: white;
    font-family: gymtimer, sans-serif;
    font-size: 10px;
    min-height: 66px;
    scroll-snap-align: start;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.daily-login-day.available {
    border-color: yellow;
    box-shadow: inset 0 0 0 2px rgba(255, 255, 0, 0.4);
    cursor: pointer;
}

.daily-login-day.claimed {
    background: rgba(0, 0, 0, 0.55);
    filter: grayscale(1);
    opacity: 0.45;
}

.daily-login-day.locked {
    opacity: 0.55;
}

.daily-login-day-title {
    display: block;
    color: yellow;
    font-size: 10px;
    margin-bottom: 5px;
}

.daily-login-day img {
    width: 28px;
    height: 28px;
    object-fit: contain;
    display: block !important;
    margin: 0 auto 3px;
}

.daily-login-day-reward {
    display: block;
    line-height: 1.25;
}

.achievementDailyAction {
    cursor: pointer;
}

.achievementDaily.is-claimable,
.achievementDailyAction.is-claimable {
    box-shadow: inset 0 0 0 2px rgba(255, 255, 0, 0.4);
}

.achievementDaily.is-claimed,
.achievementDailyAction.is-claimed {
    cursor: default;
    box-shadow: none;
    background: rgba(0, 0, 0, 0.55);
    filter: grayscale(1);
    opacity: 0.45;
}

.daily-login-status {
    min-height: 16px;
    margin-top: 8px;
    font-size: 11px;
    font-family: gymtimer, sans-serif;
    color: #fff4b0;
}

.dailys-tabs {
    display: flex;
    gap: 6px;
    margin-top: 12px;
}

.dailys-tab {
    position: relative;
    flex: 1;
    border: 1px solid rgba(255, 255, 255, 0.25);
    background: rgba(0, 0, 0, 0.45);
    color: white;
    border-radius: 8px;
    padding: 7px 2px;
    font-family: gymtimer, sans-serif;
    font-size: 12px;
    cursor: pointer;
}

.dailys-tab.active {
    background: yellow;
    color: black;
}

.dailys-tab .indicator {
    pointer-events: none;
}

.achievements-container.dailys-panel {
    display: none;
}

.achievements-container.dailys-panel.active {
    display: flex;
    flex: 1 1 auto;
    overflow-y: auto;
    overflow-x: hidden;
    align-items: flex-start;
    align-content: flex-start;
    justify-content: center;
    min-height: 0;
}

#dailysWeeklyPanel,
#dailysDailyPanel,
#dailysOneTimePanel {
    box-shadow:
        inset 0 6px 6px -6px rgba(0, 0, 0, 0.4),
        inset 0 -6px 6px -6px rgba(0, 0, 0, 0.4);
    border-radius: 8px;
    padding: 10px;
    margin-bottom: 10px;
}

.dailys-empty-card {
    max-width: 90%;
    flex-basis: 90%;
    width: auto;
    min-height: 120px;
    background-color: rgba(0, 0, 0, 0.45);
    font-family: gymtimer, sans-serif;
}

.topBox {
    display: flex;

    background-color: rgb(22 22 22);
    width: 100%;
    padding: 20px;
    margin-left: 12px;
    margin-right: 12px;
    margin-bottom: 10px;
    height: 100px;
    border-radius: 10px;
    background-image: url(img/achievements_logo.webp);
    background-repeat: no-repeat;
    background-position: -20px top;
    animation: pump 0.3s ease;

}

.badgeFiltersPanel {
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: 100%;
    position: relative;
    z-index: 1;
    pointer-events: auto;
}

.badgeSubFiltersWrap {
    margin-top: 0px;
    position: relative;
    pointer-events: auto;
}

#badgesPage .badge-filter-row,
#badgesPage .badge-subfilter-row {
    justify-content: flex-start;
    gap: 8px;
    height: auto;
    overflow-x: auto;
    padding: 6px;
    border-radius: 28px;
    box-shadow: inset 10px 0 15px -6px rgba(0, 0, 0, 0.3),
                inset -10px 0 15px -6px rgba(0, 0, 0, 0.3);
    scrollbar-width: none;
}

#badgesPage .badge-filter-row::-webkit-scrollbar,
#badgesPage .badge-subfilter-row::-webkit-scrollbar {
    display: none;
}

#badgesPage .badge-filter-row .menu-btn,
#badgesPage .badge-subfilter-row .menu-btn {
    width: auto;
    min-width: max-content;
    padding: 12px 16px;
    background-color: rgb(135 40 40);
    border-radius: 999px;
    border: 1px solid transparent;
    white-space: nowrap;
    transition: transform 0.16s ease, border-color 0.16s ease, background-color 0.16s ease;
    pointer-events: auto;
}

#badgesPage .badge-subfilter-row .badge-back-btn {
    padding: 12px 14px;
}

#badgesPage .badge-filter-row .menu-btn.active,
#badgesPage .badge-subfilter-row .menu-btn.active {
    background-color: #007bff;
}

.topBox2 {
    display: flex;

    background-color: rgba(0, 0, 0, 0.8);
    width: 100%;
    margin-right: 12px;
    margin-bottom: 10px;
    height: 160px;
    border-radius: 10px;
    background-image: url(img/voucher_logo.webp);
    background-repeat: no-repeat;
    background-position: -20px top;

}
#achievementCount2 {

    font-size: 20px;
    margin-top: 25px;
    text-transform: uppercase;
   margin-left: 140px;
}

#achievementCount {

    font-size: 19px;
    margin-top: 25px;
    text-transform: uppercase;
   margin-left: 140px;
}

.badgePageTile {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    margin: 0;
    padding: 0;
    border: none;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: transform 0.16s ease, opacity 0.16s ease, filter 0.16s ease;
    overflow: visible;
}

.badgePageTile:hover {
    transform: translateY(-2px) scale(1.02);
}

.badgePageTileFrame {
    width: 74px;
    height: 74px;
    padding: 0;
    border-radius: 0;
    border: none;
    background: transparent;
    box-shadow: none;
    display: flex;
    align-items: center;
    justify-content: center;
}

.badgePageTile img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: 0;
    border: none;
    background: transparent;
}

.badgePageTile.is-selected {
    opacity: 0.66;
    filter: saturate(0.88);
}

.badgePageTile.is-selected:hover {
    transform: none;
}

.badgePageTile.is-locked {
    cursor: default;
    opacity: 0.38;
    filter: grayscale(100%);
}

.badgePageTile.is-locked:hover {
    transform: none;
}

@media (max-width: 360px) {
    #badgesList {
        column-gap: 0;
        row-gap: 30px;
    }

    .badgePageTile {
        padding: 0;
    }

    .badgePageTileFrame {
        width: 66px;
        height: 66px;
    }
}

.badgePageCard {
    flex: 1 1 100%;
    margin: 0;
    box-sizing: border-box;
    font-size: 10px;
    padding: 16px 12px 14px;
    background: rgb(22 22 22);
    border-radius: 18px;
    max-width: 100%;
    position: relative;
    isolation: isolate;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    text-align: center;
    gap: 8px;
    min-height: 188px;
    color: white;
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 16px 28px rgba(0, 0, 0, 0.18);
    height: auto;
    cursor: default;
    text-transform: none;
    transition: transform 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease;
    overflow: hidden;
}

.badgePageCard > * {
    position: relative;
    z-index: 1;
}

.badgePageStatsCard {
    position: sticky;
    top: 60px;
    z-index: 1;
    flex: 0 0 auto;
    max-width: 100%;
    height: 150px;
    min-height: 150px;
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
    padding: 16px 18px;
    gap: 16px;
    cursor: default;
}

.badgePageStatsCard > .badgePageStatsBackdrop {
    position: absolute;
    z-index: 0;
    top: 80%;
    right: 0;
    width: 100%;
    height: 180px;
    transform: translateY(-50%);
    object-fit: contain;
    object-position: right center;
    opacity: 0.65;
    -webkit-mask-image: linear-gradient(90deg, transparent 10%, rgba(0, 0, 0, 0.2) 50%, #000 100%);
    mask-image: linear-gradient(90deg, transparent 10%, rgba(0, 0, 0, 0.2) 50%, #000 100%);
    pointer-events: none;
}

.badgePageStatsCard:hover {
    transform: none;
    border-color: rgba(255, 255, 255, 0.08);
    box-shadow: 0 16px 28px rgba(0, 0, 0, 0.18);
}

.badgePageStatsMain {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    align-self: flex-end;
    gap: 4px;
    min-width: 0;
}

.badgePageStatsLabel {
    font-size: 11px;
    line-height: 1.1;
    text-transform: uppercase;
    color: white;
}

.badgePageStatsValue {
    font-size: 34px;
    line-height: 1;
    color: #fff;
}

.badgePageStatsTopText {
    font-family: gymtimer, sans-serif;
    font-size: 11px;
    line-height: 1.15;
    text-transform: uppercase;
    color: yellow;
    margin-top: auto;
    text-align: left;
}

.badgePageStatsEquipped {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin-left: auto;
    min-width: 112px;
    text-align: center;
}

.badgePageStatsEquippedLabel {
    font-family: gymtimer, sans-serif;
    font-size: 10px;
    line-height: 1.1;
    text-transform: uppercase;
    color: white;
}

.badgePageStatsEquippedImage {
    width: 56px;
    height: 56px;
    object-fit: cover;
    border-radius: 0;
    border: none;
    background: transparent;
}

.badgePageRarestCard {
    flex: 1 1 100%;
    max-width: 100%;
    min-height: auto;
    align-items: flex-start;
    justify-content: center;
    padding: 16px 18px;
    gap: 12px;
    cursor: default;
}

.badgePageRarestCard:hover {
    transform: none;
    border-color: rgba(255, 255, 255, 0.08);
    box-shadow: 0 16px 28px rgba(0, 0, 0, 0.18);
}

.badgePageRarestHeader {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.badgePageRarestLabel {
    font-family: gymtimer, sans-serif;
    font-size: 18px;
    line-height: 1.1;
    text-transform: uppercase;
    color: white;
}

.badgePageRarestTrack {
    width: 100%;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
}

.badgePageRarestItem {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 6px;
    text-align: center;
}

.badgePageRarestImage {
    width: 56px;
    height: 56px;
    object-fit: cover;
    border-radius: 0;
    border: none;
    background: transparent;
}

img[src="https://dev.app.gymbattlz.com/appdata/img/badges/special/m1.webp"],
img[src="appdata/img/badges/special/m1.webp"],
img[src$="/appdata/img/badges/special/m1.webp"] {
    border-radius: 0 !important;
    border: none !important;
    box-shadow: none !important;
}

.badgePageRarestPercent {
    font-family: gymtimer, sans-serif;
    font-size: 12px;
    line-height: 1.1;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.9);
}

.badgePageCardMeta {
    font-family: gymtimer, sans-serif;
    font-size: 10px;
    line-height: 1.1;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.66);
    min-height: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.badgePageCard.is-locked {
    cursor: default;
    opacity: 0.55;
    filter: grayscale(100%);
}

.badgePageCard.is-locked:hover {
    transform: none;
    border-color: rgba(255, 255, 255, 0.08);
    box-shadow: 0 16px 28px rgba(0, 0, 0, 0.18);
}

.badgePageCardTitle {
    font-family: gymtimer, sans-serif;
    margin: 0;
    font-size: 14px;
    line-height: 1.25;
    min-height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.badgePageCardState {
    margin-top: auto;
    width: 100%;
    padding-top: 4px;
    font-family: gymtimer, sans-serif;
    font-size: 12px;
    line-height: 1.1;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.84);
    text-align: center;
}

.badgesEmptyState {
    width: 100%;
    margin: 0px;
    padding: 28px 18px;
    border-radius: 18px;
    background: rgba(22, 22, 22, 0.92);
    border: 1px dashed rgba(255, 255, 255, 0.18);
    font-size: 14px;
    line-height: 1.4;
    text-align: center;
    color: rgba(255, 255, 255, 0.86);
}

.special-font {

    font-family: 'roboto';
    font-weight: bold;
}


.achievementClaim {
  font-size: 10px;
  padding: 15px;
  margin: 15px;
  border: solid 2px black;
  border-radius: 10px;
  width: 100%;
  position: relative; /* Shine braucht das */
  overflow: hidden;   /* Damit Shine nicht rausguckt */
  background-image: url('https://dev.app.gymbattlz.com/appdata/img/shop_items/shopgiftbackground.webp');
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;

}

.achievementClaim::after {
  content: '';
  position: absolute;
  top: -20%;
  left: 0;
  width: 20%; /* Schmaler Streifen, passe ggf. an */
  height: 140%;
  background: rgba(255, 255, 255, 0.007);
  transform: translateX(-100%) skewX(-16deg);
  animation: achievement-claim-shine 10s infinite linear;
  z-index: 2;
  pointer-events: none;
  border-radius: 10px;
}

@keyframes achievement-claim-shine {
  0%   { transform: translateX(-100%) skewX(-16deg);}
  22%  { transform: translateX(600%) skewX(-16deg);}
  100% { transform: translateX(600%) skewX(-16deg);}
}

/* Damit Bilder im Container nicht gestört werden */
.achievementClaim img {
  width: 20%;
  position: relative;
  z-index: 1;
  background-color: #00000061;
  padding: 10px;
  border-radius: 8px;
}

#claimButton {

    background-color: green;
    color: white;
    border-radius: 0px 0px 10px 10px;
    font-size: 20px;
    cursor: pointer;
    font-family: serif;
    border-radius: 5px;
    padding: 0px;
    width: 100px;
    font-family: gymtimer, sans-serif;
    text-align: center;
    box-shadow: 0 3px rgb(135 40 40);

}

#claimButton:disabled {
    background-color: grey;
    color: white; /* Ändert die Textfarbe, falls gewünscht */
    cursor: not-allowed;
}

.closebottom {

        background-color: rgb(255, 64, 64);

        margin-left: 0px;
        margin-right: 0px;
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        z-index: 1;
        color: black;
        padding: 8px;
        box-shadow:  0 -6px 6px -6px rgba(0, 0, 0, 0.4);
}

.achievement-text{
color: grey;
}

.closebottom i{
font-size: 35px;
padding-top: 5px;
height: 44px;
}

#resetPasswordButton{

background-color: none;
background: none;
font-size: 10px;
font-family: 'roboto';
}

#resetPasswordButton:hover {

    color: white;
}


.modal-confirmNotification, .submitChange,  .modal-confirmSettings, .buddyUpgradeButton, .select-button, .deselect-button, .buttonAll, .buttonAll2, .modal-confirmNews, .modal-confirm, .modal-confirmLogin, .modal-cancel, .modal-cancelLogin, #claimAllButton, #deleteSubmit, #closeDelete, #saveSettingsButton, #redeemButton, #fb-logout-button, #generateLinkButton, #copyButton, #useInviteCodeButton, .tournamentRewardButton, #login-btn, #signup-btn, #registerSubmit {

background-color: rgb(255, 64, 64);
padding: 10px;
font-style: normal;
border-radius: 5px 5px 5px 5px;
text-align: center;
text-decoration: none;
display: inline-block;
margin: 0 auto;
width: 120px;
text-decoration: none;
color: white;
font-family: gymtimer, sans-serif;
font-size: 15px;
box-shadow: 0 3px rgb(135 40 40);
}


#requestDeleteTelegramCodeButton, #delete-profile-button, #logout-button, #change-password-button, #change-email-button, #connect-watch-button  {

background-color: rgb(255, 64, 64);
padding: 10px;
font-style: normal;
border-radius: 5px 5px 5px 5px;
text-align: center;
text-decoration: none;
display: inline-block;
margin: 0 auto;
width: 100%;
text-decoration: none;
color: white;
font-family: gymtimer, sans-serif;
font-size: 15px;
box-shadow: 0 3px rgb(135 40 40);
}

#loginSubmit, #leaveGymButton, #waitlistSubmit {

background-color: rgb(255, 64, 64);

font-style: normal;
border-radius: 5px 5px 5px 5px;
text-align: center;
text-decoration: none;
display: inline-block;
margin: 0 auto;
width: 100%;
text-decoration: none;
color: white;
font-family: gymtimer, sans-serif;
font-size: 20px;
box-shadow: 0 3px rgb(135 40 40);
margin-top: 5px;
}

#uploadProfilePictureBtn {

    background-color: rgb(255, 64, 64);
    padding: 10px;
    font-style: normal;
    border-radius: 5px 5px 5px 5px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    margin: 0 auto;
    width: 180px;
    text-decoration: none;
    color: white;
    font-family: gymtimer, sans-serif;
    font-size: 15px;
    margin-bottom: 20px;
    }



.modal-confirmNotification:hover, .submitChange:hover, #change-password-button:hover, #change-email-button:hover, #connect-watch-button:hover, .customUploadButtonGymwars:hover, .modal-confirmSettings:hover, #customUploadButton:hover, #uploadProfilePictureBtn:hover, .buddyUpgradeButton:hover, .select-button:hover, .deselect-button:hover, .buttonAll:hover, .buttonAll2:hover, .modal-confirmNews:hover, .modal-confirm:hover, .modal-cancel:hover,.modal-confirmLogin:hover, .modal-cancelLogin:hover, #claimAllButton:hover, #deleteSubmit:hover, #closeDelete:hover, #delete-profile-button:hover, #logout-button:hover, #saveSettingsButton:hover, #redeemButton:hover, #fb-logout-button:hover, #generateLinkButton:hover, #copyButton:hover, #useInviteCodeButton:hover, .tournamentRewardButton:hover, #login-btn:hover, #leaveGymButton:hover,  #signup-btn:hover, #registerSubmit:hover, #loginSubmit:hover {

    background-color: #007bff;
    transform: scale(1.05);
    -webkit-transform: scale(1.05);
    transition: transform 330ms ease-in-out;

}

.modal-confirmNotification:active, .submitChange:active, #change-password-button:active, #change-email-button:active, #connect-watch-button:active, .customUploadButtonGymwars:active, .modal-confirmSettings:active, #customUploadButton:active, #uploadProfilePictureBtn:active, .buddyUpgradeButton:active, .select-button:active, .deselect-button:active, .buttonAll2:active,  .modal-confirmNews:active, .modal-confirm:active, .modal-cancel:active, .modal-confirmLogin:active, .modal-cancelLogin:active, #claimAllButton:active, #deleteSubmit:active, #closeDelete:active, #delete-profile-button:active, #logout-button:active, #saveSettingsButton:active, #redeemButton:active, #fb-logout-button:active, #generateLinkButton:active, #copyButton:active, #useInviteCodeButton:active, .tournamentRewardButton:active, #login-btn:active, #leaveGymButton:active,  #signup-btn:active, #registerSubmit:active, #loginSubmit:active {

    background-color: #007bff;
    color: white;
}

.achievementRewardsModal {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px 14px;
    background: rgba(0, 0, 0, 0.85);
    overflow-y: auto;
}

.achievementRewardsModal .achievementRewardsShell {
    position: relative;
    width: min(92vw, 420px);
    text-align: center;
    color: #fff;
    padding: 22px 14px 16px;
}

.achievementRewardsModal .achievementRewardsStar {
    position: absolute;
    top: 30%;
    left: 50%;
    width: 360px;
    height: 360px;
    transform: translate(-50%, -50%);
    opacity: 0.24;
    pointer-events: none;
    animation: claim-rotate 8s linear infinite;
    filter: drop-shadow(0 0 20px rgba(255,255,255,0.15));
}

.achievementRewardsModal .achievementRewardsModalTitle {
    position: relative;
    width: 100%;
    margin-bottom: 0;
    color: white;
    text-align: center;
    font-family: gymtimer, sans-serif;
    font-size: 30px;
    line-height: 1.02;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-shadow: 0 2px 8px rgba(0,0,0,0.6);
}

.achievementRewardsModal .achievementRewardsMainPanel {
    position: relative;
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 6px 0 0;
}

.achievementRewardsModal .achievementRewardsMainStage {
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: center;
}

.achievementRewardsModal .achievementRewardsPreviewShell {
    width: 100%;
    min-height: 184px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px 14px 4px;
}

.achievementRewardsModal .achievementRewardsPreviewImage {
    width: 100%;
    max-width: 176px;
    max-height: 176px;
    object-fit: contain;
    filter: drop-shadow(0 14px 18px rgba(0, 0, 0, 0.36));
}

.achievementRewardsModal .achievementRewardsInfo {
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}

.achievementRewardsModal .achievementRewardsCounter {
    color: rgba(255, 255, 255, 0.76);
    font-family: gymtimer, sans-serif;
    font-size: 12px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    text-shadow: 0 2px 6px rgba(0,0,0,0.45);
}

.achievementRewardsModal .achievementRewardsTypeLabel {
    color: rgba(255, 255, 255, 0.76);
    font-size: 12px;
    font-family: 'Roboto';
    letter-spacing: 0.16em;
    text-transform: uppercase;
    text-shadow: 0 2px 6px rgba(0,0,0,0.45);
}

.achievementRewardsModal .achievementRewardsName {
    color: white;
    font-family: gymtimer, sans-serif;
    font-size: 26px;
    line-height: 0.96;
    text-transform: uppercase;
    word-break: break-word;
    text-shadow: 0 2px 8px rgba(0,0,0,0.55);
}

.achievementRewardsModal .achievementRewardsValue {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    padding: 8px 12px;
    border-radius: 12px;
    background: rgba(135, 40, 40, 0.38);
    border: 1px solid rgba(255, 255, 255, 0.12);
    color: white;
    font-family: gymtimer, sans-serif;
    font-size: 14px;
    text-transform: uppercase;
    text-shadow: 0 2px 6px rgba(0,0,0,0.45);
}

.achievementRewardsModal .achievementRewardsValue img {
    width: 18px;
    height: 18px;
    object-fit: contain;
}

.achievementRewardsModal .achievementRewardsThumbStrip {
    position: relative;
    width: 100%;
    display: flex;
    justify-content: flex-start;
    gap: 8px;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 6px 6px 2px;
    scrollbar-width: none;
    -ms-overflow-style: none;
    scroll-behavior: smooth;
    overscroll-behavior-x: contain;
    touch-action: pan-x;
    cursor: grab;
}

.achievementRewardsModal .achievementRewardsThumbStrip::-webkit-scrollbar {
    width: 0;
    height: 0;
    display: none;
}

.achievementRewardsModal .achievementRewardsThumbStrip.is-centered {
    justify-content: center;
}

.achievementRewardsModal .achievementRewardsThumbStrip.is-grabbing {
    cursor: grabbing;
}

.achievementRewardsModal .achievementRewardsThumb {
    flex: 0 0 auto;
    width: 58px;
    min-width: 58px;
    height: 72px;
    padding: 6px 6px 8px;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(0, 0, 0, 0.18);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    transition: transform 180ms ease, border-color 180ms ease, background 180ms ease, opacity 180ms ease;
}

.achievementRewardsModal .achievementRewardsThumb img {
    width: 44px;
    height: 44px;
    object-fit: contain;
    filter: drop-shadow(0 6px 10px rgba(0, 0, 0, 0.18));
}

.achievementRewardsModal .achievementRewardsThumbAccent {
    width: 100%;
    height: 4px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.16);
}

.achievementRewardsModal .achievementRewardsThumb.active {
    transform: translateY(-2px);
    border-color: rgba(255, 255, 255, 0.42);
    background: rgba(135, 40, 40, 0.42);
}

.achievementRewardsModal .achievementRewardsThumb.active .achievementRewardsThumbAccent {
    background: rgb(255, 64, 64);
}

.achievementRewardsModal .achievementRewardsModalActions {
    position: relative;
    width: fit-content;
    max-width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    flex-wrap: nowrap;
    margin: 10px auto 0;
}

.achievementRewardsModal .achievementRewardsActionButton {
    width: 120px;
    min-width: 120px;
    padding: 8px 10px;
    border: none;
    border-radius: 5px;
    background-color: rgb(255, 64, 64);
    color: white;
    font-family: gymtimer, sans-serif;
    font-size: 13px;
    box-shadow: 0 3px rgb(135 40 40);
    cursor: pointer;
    text-transform: uppercase;
    margin: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.achievementRewardsModal .achievementRewardsActionButtonSecondary {
    background-color: rgb(255, 64, 64);
    box-shadow: 0 3px rgb(135 40 40);
}

.achievementRewardsModal .achievementRewardsActionButtonClaim {
    background-color: green;
    box-shadow: 0 3px rgb(0, 58, 0);
}

.achievementRewardsModal .achievementRewardsActionButton:hover {
    background-color: #007bff;
    transform: scale(1.05);
    -webkit-transform: scale(1.05);
    transition: transform 330ms ease-in-out;
}

.achievementRewardsModal .achievementRewardsActionButton:active {
    background-color: #007bff;
    color: white;
}

.achievementRewardsModal .achievementRewardsActionButton:disabled {
    background: rgba(255, 255, 255, 0.18);
    box-shadow: none;
    cursor: not-allowed;
    transform: none;
    opacity: 0.55;
}

@media (max-width: 520px) {
    .achievementRewardsModal {
        padding: 16px 10px;
    }

    .achievementRewardsModal .achievementRewardsShell {
        width: 94vw;
        padding: 18px 10px 14px;
    }

    .achievementRewardsModal .achievementRewardsStar {
        width: 300px;
        height: 300px;
    }

    .achievementRewardsModal .achievementRewardsModalTitle {
        font-size: 30px;
    }

    .achievementRewardsModal .achievementRewardsPreviewShell {
        min-height: 152px;
    }

    .achievementRewardsModal .achievementRewardsPreviewImage {
        max-width: 150px;
        max-height: 150px;
    }

    .achievementRewardsModal .achievementRewardsName {
        font-size: 22px;
    }

    .achievementRewardsModal .achievementRewardsThumb {
        width: 54px;
        min-width: 54px;
        height: 68px;
    }

    .achievementRewardsModal .achievementRewardsThumb img {
        width: 40px;
        height: 40px;
    }

    .achievementRewardsModal .achievementRewardsModalActions {
        gap: 8px;
        width: fit-content;
        margin: 10px auto 0;
    }

    .achievementRewardsModal .achievementRewardsActionButton {
        width: 112px;
        min-width: 112px;
        font-size: 12px;
        padding: 8px 8px;
    }
}


.profile-button-row {
  display: flex;
  gap: 14px;
  justify-content: center;
  align-items: center;
  margin: 0px 0 20px 0;
  flex-wrap: wrap;
}
.profile-button-row button {
  padding: 8px 14px;
  border-radius: 7px;
  background: #333;
  color: #fff;
  border: none;
  transition: background 0.2s;
  min-width: 130px;
  cursor: pointer;
  font-size: 15px;
}
.profile-button-row button:hover {
  background: #ff4040;
}

.connect-watch-image {
  display: block;
  width: 84px;
  height: auto;
  margin: 12px auto 16px;
}

.connect-watch-install-hint {
  max-width: 280px;
  margin: 0 auto 12px;
  color: rgba(255, 255, 255, 0.82);
  font-family: 'roboto', sans-serif;
  font-size: 12px;
  line-height: 1.4;
  text-align: center;
}

.connect-watch-install-hint span {
  display: block;
  margin-top: 4px;
  color: #fff;
}

#connect-watch-device {
  font-family: gymtimer, sans-serif;
  font-size: 18px;
  margin: 10px 0 18px;
  color: white;
}

#connect-watch-message {
  margin: 10px 0 0;
  color: #fff4b0;
  font-size: 12px;
  line-height: 1.35;
}

.connect-watch-close-button {
  margin-top: 12px;
}


.profile-header {
    display: flex;
    align-items: center;
    gap: 10px; /* Abstand zwischen Dropdown und Button */
    margin-bottom: 10px;
    background-color: rgb(22 22 22);
    padding: 10px;
    margin-left: 20px;
    margin-right: 20px;
    border-radius: 8px;
    justify-content: flex-start;
}

.profile-header select {
    padding: 5px 10px;
    font-size: 14px;
}

#addLink {
    color: white;
    text-decoration: none;
    font-size: 20px;
    display: flex;
    background-color: rgb(255, 64, 64);
    gap: 5px;
    padding: 10px;
    border-radius: 5px;
    height: 25px;
    align-items: center;
    box-shadow: 0 3px rgb(135 40 40);
}

#changeCountryBtn {

    background-color: rgb(255, 64, 64);
    padding: 10px;
    font-style: normal;
    border-radius: 5px 5px 5px 5px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    margin: 0 auto;
    width: 100%;
    text-decoration: none;
    color: white;
    font-family: gymtimer, sans-serif;
    font-size: 15px;

    box-shadow: 0 3px rgb(135 40 40);
    }





#changeCountryBtn:hover {
    background-color: #007bff;
}

#changeCountryBtn:active {
background-color: #007bff;
color: white;
}

#deleteSubmit, #closeDelete, #nicknameSubmit, #closeNickname{

background-color: rgb(255, 64, 64);
padding: 10px;
font-style: normal;
border-radius: 5px 5px 5px 5px;
text-align: center;
text-decoration: none;
display: inline-block;
margin: 0 auto;
width: 120px;
text-decoration: none;
color: white;
font-family: gymtimer, sans-serif;
font-size: 20px;

}

#deleteSubmit:hover, #closeDelete:hover, #nicknameSubmit:hover, #closeNickname:hover{
    background-color: #007bff;
}

#deleteSubmit:active, #closeDelete:active, #nicknameSubmit:active, #closeNickname:active{
    background-color: #007bff;
}

#login-btn:active, #signup-btn:active {
    background-color: #007bff;
    color: white;

}


.removeFriendButton{

    background-color: rgb(255, 0, 0);
    padding: 5px;
    font-style: normal;
    border-radius: 5px 5px 5px 5px;
    height: 18px;

    text-decoration: none;
    color: white;
    font-family: gymtimer, sans-serif;
    font-size: 12px;
    margin-left: 10px;
    min-height: 30px;

    }


    #friendsList {
    display: flex; /* Verwende Flexbox */
    flex-direction: column; /* Elemente vertikal anordnen */
    align-items: left; /* Horizontales Zentrieren der Kind-Elemente */
    width: 100%; /* Optional: Setzt die Breite des Containers */
    color: #000;
    justify-content: center;


}



#leaderboard {

    color: #000;
    max-width: 366px;
    margin: auto;
    padding: 20px;
    margin-top: 275px;

}

#countdownTimerTournament {

    background-color: #000;
    font-size: 15px;
    padding: 5px;
    width: 100%;
    position: fixed;
    top: 98px;
    z-index: 2;

}

#tournamentStatus {

    padding-top: 20px;
}

.scrollableLeaderboardList {
  /*  max-height: 350px; /* Adjust based on your design needs */
    overflow-y: auto; /* Enables vertical scrolling */
    padding-top: 5px; */
    border: 0px solid #ccc; /* Optional: adds a border around the scrollable area */
    border-radius: 10px; /* Optional: rounds the corners of the scrollable area */
    background-color: none;

}

.scrollableFriendsList {
    min-height: 50px; /* Adjust based on your design needs */
    overflow-y: auto; /* Enables vertical scrolling */

    border: 0px solid #ccc; /* Optional: adds a border around the scrollable area */
    border-radius: 10px; /* Optional: rounds the corners of the scrollable area */
    background-color: none;
}

.buddy-list{
    max-height: 300px;
    overflow-y: auto; /* Enables vertical scrolling */
    margin-top: 10px;
    margin-bottom: 20px;
    border-radius: 8px; /* Optional: rounds the corners of the scrollable area */
    background-color: rgb(135 40 40); /* Optional: background color */
    color: #000;
    font-size: 10px;
    box-shadow:
    inset 0 6px 6px -6px rgba(0, 0, 0, 0.4),   /* oben */
    inset 0 -6px 6px -6px rgba(0, 0, 0, 0.4);
}



.scrollableAGBS {
    max-height: 250px; /* Adjust based on your design needs */
    overflow-y: auto; /* Enables vertical scrolling */
    padding-top: 70px;
    margin-top: 10px;
    margin-left: 40px;
    margin-right: 40px;
    border: 1px solid #ccc;/* Optional: adds a border around the scrollable area */
    border-radius: 8px; /* Optional: rounds the corners of the scrollable area */
    background-color: #f0f0f0; /* Optional: background color */
    color: #000;
    font-size: 10px;
}


#upgradeButton {
    background-color: rgb(255, 64, 64);
    padding: 10px;
    font-style: normal;
    border-radius: 5px 5px 5px 5px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    margin: 0 auto;
    width: 100%;
    height: auto;
    text-decoration: none;
    color: white;
    font-family: gymtimer, sans-serif;
    font-size: 20px;
    box-shadow: 0 3px rgb(135 40 40);

    }

#upgradeButton:hover {
    transform: scale(1.05);
    -webkit-transform: scale(1.05);
    background-color: #007bff;
    transition: transform 330ms ease-in-out;
}


#editProfileButton, #deleteProfileButton, #deleteProfileButton2, #startButton2, #playProfileButton {

background-color: rgb(255, 64, 64);
padding: 13px;
border-radius: 5px 5px 5px 5px;
text-align: center;
text-decoration: none;
width: 45px;
font-family: gymtimer, sans-serif;
font-size: 15px;
box-shadow: 0 3px rgb(135 40 40);

}




.profile-details {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.25s ease;
  margin: 0 20px;
  border-radius: 10px;
  background: rgb(41 41 41);
}
.profile-details.expanded {
  border-radius: 0px 0px 10px 10px;
}



.playProfileButton2 {

background-color: rgb(255, 64, 64);
padding: 13px;
border-radius: 5px 5px 5px 5px;
text-align: center;
text-decoration: none;

font-family: gymtimer, sans-serif;
font-size: 15px;
box-shadow: 0 3px rgb(135 40 40);
margin-right: 20px;
height: 40px;
}

#deleteProfileButton3 {

background-color: rgb(255, 64, 64);
margin-left: 15px;
margin-top: -5px;
border-radius: 5px 5px 5px 5px;
text-align: center;
text-decoration: none;
display: inline-block;
width: 38px;
height: 35px;
font-family: gymtimer, sans-serif;
font-size: 20px;
box-shadow: 0 3px rgb(135 40 40);
}

#multiplierArea {
    position: fixed; /* Fixierte Positionierung */
    top: 113px; /* 200px vom oberen Rand entfernt */

    display: flex;
    flex-direction: column; /* Ordne die Buttons vertikal untereinander an */
    justify-content: center; /* Zentriert die Kinder vertikal */
    align-items: center; /* Zentriert die Kinder horizontal */
    background-image: url(img/multiplier_icon.webp);
    background-size: 42px 42px; /* Setze die Größe des Hintergrundbildes */
    background-repeat: no-repeat;
    width: 42px;
    height: 42px;
    z-index: 1;
    margin-left: 210px;
    margin-top: -10px;


}

#userProfile {
    position: fixed; /* Fixierte Positionierung */
    top: 45px; /* 200px vom oberen Rand entfernt */
    left: 5px;
    display: flex;
    flex-direction: column; /* Ordne die Buttons vertikal untereinander an */
    justify-content: center; /* Zentriert die Kinder vertikal */
    align-items: center; /* Zentriert die Kinder horizontal */
    width: 62px;
    height: 100px;

}



#userProfileImage{
    position: relative;
    top: 50px;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: 4px solid #FF4040;
    left: 3px;
    animation: pump 0.3s ease;
    box-shadow: 0px 0px 3px rgb(135 40 40);
}

#userProfileBadge{
    position: relative;
    width: 32px !important;
    height: 32px !important;
    top: 100px;
    left: 27px;
    z-index: 1;
    animation: pump 0.3s ease;
    object-fit: cover;
}



.multiplierDisplay {

    padding-right: 0px;
    padding-top: 2px;
    align-items: center; /* Zentriert den Inhalt vertikal */
    justify-content: center; /* Zentriert den Inhalt horizontal */
    font-size: 10px;

    }


.multiplierDisplay2 {


    align-items: center; /* Zentriert den Inhalt vertikal */
    justify-content: center; /* Zentriert den Inhalt horizontal */
    font-size: 16px;
    background-color: rgb(128 128 128 / 63%);

    margin: auto;
    border-radius: 4px;
    padding: 4px;

    }


    #pointsbarArea {
        position: fixed; /* Fixierte Positionierung */
        top: 115px; /* 200px vom oberen Rand entfernt */
        display: flex;
        flex-direction: column; /* Ordne die Buttons vertikal untereinander an */
        justify-content: center; /* Zentriert die Kinder vertikal */
        align-items: left; /* Zentriert die Kinder horizontal */
        background-image: url(img/pointsbar.webp);
        background-size: 232px 41px; /* Setze die Größe des Hintergrundbildes */
        background-repeat: no-repeat;
        width: 232px;
        height: 41px;
        left: 0;
        right: 0;
        margin: auto;


    }

    .pointsbarDisplay {
        position: fixed;
        padding-left: 45px;
        padding-top: 0px;


        }

        .pointsbarDisplay2 {
            position: fixed;
            padding-left: 134px;
            padding-top: 2px;

            }


.rankArea {
    position: fixed; /* Fixierte Positionierung */
    bottom: 80px; /* 200px vom oberen Rand entfernt */
    right: 5px; /* 200px vom linken Rand entfernt */
    display: flex;
    flex-direction: column; /* Ordne die Buttons vertikal untereinander an */
    justify-content: center; /* Zentriert die Kinder vertikal */
    align-items: center; /* Zentriert die Kinder horizontal */
    width: 55px;
    height: 55px;


}

.rankArea img{
    width: 55px;
    height: 55px;

}



.levelArea {
    position: fixed; /* Fixierte Positionierung */
    bottom: 80px; /* 200px vom oberen Rand entfernt */
    right: 60px;
    display: flex;
    flex-direction: column; /* Ordne die Buttons vertikal untereinander an */
    justify-content: center; /* Zentriert die Kinder vertikal */
    align-items: center; /* Zentriert die Kinder horizontal */
    background-image: url(img/level/level_infinity.webp);
    background-size: 55px 55px; /* Setze die Größe des Hintergrundbildes */
    background-repeat: no-repeat;
    width: 55px;
    height: 55px;
    color: black;


}

.levelArea img{
    width: 55px;
    height: 55px;

}


.rankAreaMenu {
    position: absolute; /* Fixierte Positionierung */
    top: 145px; /* 200px vom oberen Rand entfernt */
    right: 165px; /* 200px vom linken Rand entfernt */
    display: flex;
    flex-direction: column; /* Ordne die Buttons vertikal untereinander an */
    justify-content: center; /* Zentriert die Kinder vertikal */
    align-items: center; /* Zentriert die Kinder horizontal */
    width: 55px;
    height: 55px;

}

.rankAreaMenu img{
    width: 55px;
    height: 55px;

}



.levelAreaMenu {
    position: absolute; /* Fixierte Positionierung */
    top: 145px; /* 200px vom oberen Rand entfernt */
    right: 100px;
    display: flex;
    flex-direction: column; /* Ordne die Buttons vertikal untereinander an */
    justify-content: center; /* Zentriert die Kinder vertikal */
    align-items: center; /* Zentriert die Kinder horizontal */
    background-image: url(img/level/level_infinity.webp);
    background-size: 55px 55px; /* Setze die Größe des Hintergrundbildes */
    background-repeat: no-repeat;
    width: 55px;
    height: 55px;
    color: black;


}

.levelAreaMenu img{
    width: 55px;
    height: 55px;

}

#currentBuddy {
    position: fixed; /* Fixierte Positionierung */
    bottom: 90px; /* 200px vom oberen Rand entfernt */
    left: 15px; /* 200px vom linken Rand entfernt */
    display: flex;
    flex-direction: column; /* Ordne die Buttons vertikal untereinander an */
    justify-content: center; /* Zentriert die Kinder vertikal */
    align-items: center; /* Zentriert die Kinder horizontal */
    width: 65px;
    height: 65px;
    border: solid 3px white;
    border-radius: 5px;
    animation: pump 0.3s ease;


}

#currentBuddy img{
    width: 65px;
    height: 65px;

}

#tournamentButtonArea2 {
    position: fixed; /* Fixierte Positionierung */
    top: 180px; /* 200px vom oberen Rand entfernt */
    right: 6px;
    display: flex;
    flex-direction: column; /* Ordne die Buttons vertikal untereinander an */
    background-color: none;
    width: 55px;
    height: 55px;
    animation: pump 0.3s ease;

}

#gymWarsButtonArea {
    position: fixed; /* Fixierte Positionierung */
    bottom: 60px; /* 200px vom oberen Rand entfernt */
    left: 90px;
    display: flex;
    flex-direction: column; /* Ordne die Buttons vertikal untereinander an */
    background-color: none;
    width: 55px;
    height: 55px;


}

#gymWarsButtonArea2 {
    position: fixed; /* Fixierte Positionierung */
    bottom: 84px; /* 200px vom oberen Rand entfernt */
    left: 143px; /* 200px vom linken Rand entfernt */
    display: flex;
    flex-direction: column; /* Ordne die Buttons vertikal untereinander an */

    background-image: url(img/studio_icon.webp);
    background-size: 55px 55px; /* Setze die Größe des Hintergrundbildes */
    background-repeat: no-repeat;
    width: 55px;
    height: 55px;
    animation: pump 0.3s ease;

}

#gymWarsButtonArea2:active {
    width: 55px; /* Macht das div beim Klicken 3px schmaler */
    height: 55px; /* Macht das div beim Klicken 3px kürzer */
    background-size: 59px 59px; /* Passt die Größe des Hintergrundbildes an */
}

/* GymWars: gesperrter Zustand */
#gymWarsButtonArea2.locked {
  filter: grayscale(100%);
  opacity: 0.5;
  cursor: not-allowed;
  animation: none;           /* Animation aus */
}
#gymWarsButtonArea2.locked:active {
  background-size: 55px 55px; /* Kein "Shrink" beim Tippen */
}


#pvpButtonArea.locked {
  filter: grayscale(100%);
  opacity: 0.5;
  cursor: not-allowed;
  animation: none;
}

#pvpButtonArea.locked:active {
  background-size: 55px 55px; /* kein Klick-Feedback */
}

#battlepassButtonArea {
    position: fixed; /* Fixierte Positionierung */
    bottom: 60px; /* 200px vom oberen Rand entfernt */
    left: 90px;
    display: flex;
    flex-direction: column; /* Ordne die Buttons vertikal untereinander an */
    background-color: none;
    width: 55px;
    height: 55px;


}

#battlepassButtonArea2 {
    position: fixed; /* Fixierte Positionierung */
    top: 220px; /* 200px vom oberen Rand entfernt */
    left: 75px; /* 200px vom linken Rand entfernt */
    display: flex;
    flex-direction: column; /* Ordne die Buttons vertikal untereinander an */

    background-image: url(img/pass_icon.webp);
    background-size: 55px 55px; /* Setze die Größe des Hintergrundbildes */
    background-repeat: no-repeat;
    width: 55px;
    height: 55px;
    animation: pump 0.3s ease;

}

#battlepassButtonArea2:active {
    width: 55px; /* Macht das div beim Klicken 3px schmaler */
    height: 55px; /* Macht das div beim Klicken 3px kürzer */
    background-size: 59px 59px; /* Passt die Größe des Hintergrundbildes an */
}


#rankingButtonArea {
    position: fixed; /* Fixierte Positionierung */
    bottom: 60px; /* 200px vom oberen Rand entfernt */
    left: 90px;
    display: flex;
    flex-direction: column; /* Ordne die Buttons vertikal untereinander an */
    background-color: none;
    width: 55px;
    height: 55px;


}

#rankingButtonArea2 {
    position: fixed; /* Fixierte Positionierung */
    bottom: 89px; /* 200px vom oberen Rand entfernt */
    left: 90px; /* 200px vom linken Rand entfernt */
    display: flex;
    flex-direction: column; /* Ordne die Buttons vertikal untereinander an */

    background-image: url(img/world_icon.webp);
    background-size: 55px 55px; /* Setze die Größe des Hintergrundbildes */
    background-repeat: no-repeat;
    width: 55px;
    height: 55px;
    animation: pump 0.3s ease;

}

#rankingButtonArea2:active {
    width: 55px; /* Macht das div beim Klicken 3px schmaler */
    height: 55px; /* Macht das div beim Klicken 3px kürzer */
    background-size: 59px 59px; /* Passt die Größe des Hintergrundbildes an */
}

#mainCountdownTimer{
    width: 45px;
    margin-top: 40px;
    margin-left: 2px;
    font-size: 8px;
    z-index: 9999;
    background-color: black;
    color: white;
    padding: 3px;
    border-radius: 5px 5px 5px 5px;
    font-family: 'roboto';


}

.multiplier-timer {

    margin-top: 45px;

    font-size: 8px;
    z-index: 9999;
    background-color: black;

    padding: 3px;
    border-radius: 5px 5px 5px 5px;
    font-family: 'roboto';

}

#tournamentButtonArea {
    position: absolute; /* Fixierte Positionierung */

    display: flex;
    flex-direction: column; /* Ordne die Buttons vertikal untereinander an */

    background-image: url(img/cup.webp);
    background-size: 55px 55px; /* Setze die Größe des Hintergrundbildes */
    background-repeat: no-repeat;
    width: 55px;
    height: 55px;
    animation: pump 0.3s ease;

}

#tournamentButtonArea:active {
    width: 55px; /* Macht das div beim Klicken 3px schmaler */
    height: 55px; /* Macht das div beim Klicken 3px kürzer */
    background-size: 59px 59px; /* Passt die Größe des Hintergrundbildes an */
}

#newsButtonArea {
    position: fixed; /* Fixierte Positionierung */
    top: 130px; /* 200px vom oberen Rand entfernt */
    right: 5px; /* 200px vom linken Rand entfernt */
    display: flex;
    flex-direction: column; /* Ordne die Buttons vertikal untereinander an */
    align-items: flex-start; /* Ausrichtung der Buttons am Anfang (links) */
    background-image: url(img/news_icon.webp);
    background-size: 55px 55px; /* Setze die Größe des Hintergrundbildes */
    background-repeat: no-repeat;
    width: 55px;
    height: 55px;
    animation: pump 0.3s ease;
}

#newsButtonArea:active {
    width: 55px; /* Macht das div beim Klicken 3px schmaler */
    height: 55px; /* Macht das div beim Klicken 3px kürzer */
    background-size: 59px 59px; /* Passt die Größe des Hintergrundbildes an */
}

#notificationButtonArea {
    position: fixed; /* Fixierte Positionierung */
    top: 30px; /* 200px vom oberen Rand entfernt */
    left: 10px; /* 200px vom linken Rand entfernt */
    display: flex;
    flex-direction: column; /* Ordne die Buttons vertikal untereinander an */
    align-items: flex-start; /* Ausrichtung der Buttons am Anfang (links) */
    background-image: url(img/notification_icon.webp);
    background-size: 45px 45px; /* Setze die Größe des Hintergrundbildes */
    background-repeat: no-repeat;
    width: 45px;
    height: 45px;
    animation: pump 0.3s ease;
    z-index: 1;
}

#notificationButtonArea:active {
    width: 45px; /* Macht das div beim Klicken 3px schmaler */
    height: 45px; /* Macht das div beim Klicken 3px kürzer */
    background-size: 45px 45px; /* Passt die Größe des Hintergrundbildes an */
}

#dailysArea {
    position: fixed; /* Fixierte Positionierung */
    top: 160px; /* 200px vom oberen Rand entfernt */
    left: 75px; /* 200px vom linken Rand entfernt */
    display: flex;
    flex-direction: column; /* Ordne die Buttons vertikal untereinander an */
    align-items: flex-start; /* Ausrichtung der Buttons am Anfang (links) */
    background-image: url(img/dailys_icon.webp);
    background-size: 55px 55px; /* Setze die Größe des Hintergrundbildes */
    background-repeat: no-repeat;
    width: 55px;
    height: 55px;
    animation: pump 0.3s ease;
}

#dailysArea:active {
    width: 55px; /* Macht das div beim Klicken 3px schmaler */
    height: 55px; /* Macht das div beim Klicken 3px kürzer */
    background-size: 59px 59px; /* Passt die Größe des Hintergrundbildes an */
}


#active-game-container {
    position: fixed !important;
    top: 246px !important;
    right: 6px !important;

    display: flex;
    flex-direction: column;      /* vertikal stapeln */
    justify-content: flex-start; /* immer oben anfangen */
    align-items: flex-start;     /* links ausrichten */

    /* Nimm Höhe und Breite lieber weg, damit sich der Container dynamisch anpasst */
    width: auto;
    height: auto;
    padding: 0;                  /* kein zusätzlicher Innenabstand */
    background: none;            /* falls vorher ein Background war */
  }




#profileButtonArea {
    position: fixed; /* Fixierte Positionierung */
    top: 190px; /* 200px vom oberen Rand entfernt */
    left: 10px; /* 200px vom linken Rand entfernt */
    display: flex;
    flex-direction: column; /* Ordne die Buttons vertikal untereinander an */
    align-items: flex-start; /* Ausrichtung der Buttons am Anfang (links) */
}


.profile-button {
    width: 55px; /* Setze eine feste Breite */
    height: 55px; /* Setze eine feste Höhe, gleich der Breite für einen Kreis */
    display: flex;
    align-items: center; /* Zentriert den Inhalt vertikal */
    justify-content: center; /* Zentriert den Inhalt horizontal */
    padding: 30px 0 0; /* Erhöht den oberen Padding um 3px */
    overflow: hidden; /* Versteckt überstehenden Text */
    font-size: 8px; /* Anpassung der Schriftgröße, falls notwendig */
    text-overflow: ellipsis; /* Zeigt '...' bei überstehendem Text */
    white-space: nowrap; /* Verhindert Zeilenumbrüche im Text */
    background-image: url(img/quickprofil_icon.webp);
    background-size: 55px 55px; /* Setze die Größe des Hintergrundbildes */
    background-repeat: no-repeat;
    background-color: Transparent;
    color: white;
    margin: 0px;
    font-family: 'roboto';
    font-weight: bold;
    animation: pump 0.3s ease;

}


.profile-button:hover {

    transform: scale(0.98);
    transition: all .2s ease-in-out;
}

input.profile-checkbox {

    transform: scale(1.3);
      margin: 3px;

}

.toggle-small {
  width: 30px;
  height: 16px;
  position: relative; /* Sicherstellen, dass der Container die Basis ist */
  display: inline-block;
}

.toggle-small .slider:before {
  height: 12px;
  width: 12px;
  left: 2px;

  /* Wir nutzen top + translateY für die perfekte Mitte */
  top: 50%;
  transform: translateY(-50%);

  /* bottom: 2px entfernen wir, da es mit transform kollidiert */
  bottom: auto;
}

.toggle-small input[type="checkbox"]:checked + .slider:before {
  /* Hier müssen wir translateX UND translateY kombinieren */
  transform: translateX(14px) translateY(-50%);
}


.siteBackground {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    background-color: rgb(191 57 57);
    z-index: -1;

    }




#dashboard {
/* display: none; Standardmäßig ausgeblendet */
        position: fixed;
        color: white;
        background-color: unset;
        top: 0px;
        left: 0;
        right: 0;
        bottom: 0;
        font-size: 25px;
        width: 100%;
        margin-left: auto;
        margin-right: auto;
        max-width: 400px;
        margin-top: 20px;
        overflow: auto;


}


.dashboard2 {
background-color: rgb(22 22 22);
     border-radius: 10px 10px 10px 10px;
     margin-left: 20px;
     margin-right: 20px;
     padding-top: 30px;
     padding-bottom: 30px;
     padding-left: 25px;
     padding-right: 25px;
     display: flex;
     flex-direction: column;

}

.dashboardPoints {

    border-radius: 10px;
    padding-left: 25px;
    padding-right: 25px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px; /* Abstand zwischen den Bausteinen */
    justify-content: space-between;
}

.dashboardInventoryGrid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    padding: 0 25px 105px;
    box-sizing: border-box;
}

.dashboardInventoryItem {
    position: relative;
    min-width: 0;
    min-height: 158px;
    padding: 15px 8px 11px;
    border: none;
    border-radius: 10px;
    background: rgb(22 22 22);
    color: #fff;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 7px;
    font-family: gymtimer, sans-serif;
    transition: opacity 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
}

.dashboardInventoryItem:hover,
.dashboardInventoryItem:focus-visible {
    outline: none;
    transform: translateY(-2px);
}

.dashboardInventoryItem.is-activating {
    opacity: 0.45;
    pointer-events: none;
}

.dashboardInventoryQuantity {
    position: absolute;
    top: 7px;
    right: 7px;
    min-width: 22px;
    height: 22px;
    padding: 0 5px;
    border-radius: 999px;
    background: rgb(255, 64, 64);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    font-size: 12px;
    line-height: 1;
    box-shadow: 0 2px 0 rgb(135 40 40);
}

.dashboardInventoryImage {
    width: 76px;
    height: 76px;
    object-fit: contain;
}

.dashboardInventoryName {
    width: 100%;
    overflow: hidden;
    color: #fff;
    font-size: 14px;
    line-height: 1.05;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dashboardInventoryMeta {
    color: #ffef7a;
    font-size: 10px;
    line-height: 1;
}

.dashboardInventoryEmpty {
    grid-column: 1 / -1;
    min-height: 45px;
    color: rgba(255, 255, 255, 0.72);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
    box-sizing: border-box;
    font-family: Roboto, sans-serif;
    font-size: 12px;
    text-align: center;
}

.dashboardInventoryEmpty--error {
    color: #ffb1b1;
}

.dashboardInventoryConfirm {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding-top: 4px;
}

.dashboardInventoryConfirmTitle {
    color: #fff;
    font-family: gymtimer, sans-serif;
    font-size: 25px;
    line-height: 1;
}

.dashboardInventoryConfirm img {
    width: 88px;
    height: 88px;
    object-fit: contain;
}

.dashboardInventoryConfirmDetails {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1px;
}

.dashboardInventoryConfirmName {
    color: #fff;
    font-family: gymtimer, sans-serif;
    font-size: 22px;
    line-height: 1;
}

.dashboardInventoryConfirmMeta {
    color: #ffef7a;
    font-family: gymtimer, sans-serif;
    font-size: 13px;
}

.dashboardInventoryConfirmQuestion {
    margin-top: 5px;
    color: #fff;
    font-family: gymtimer, sans-serif;
    font-size: 16px;
}

.baustein {
    flex: 1 1 calc(50% - 20px); /* Basisbreite: 50% minus Abstand */
    align-items: flex-end;
    box-sizing: border-box;
    padding: 10px;
    border-radius: 10px; /* Optional: Abgerundete Ecken */
    background-color: rgb(22 22 22); /* Leicht transparente Hintergrundfarbe */
    text-align: right;
    padding-right: 20px;

}

.baustein a {
    display: block;
    font-size: 15px;
    color: rgb(255, 255, 255);
    margin-bottom: 15px;
    text-align: left;
}


.bausteinLevel {
    flex: 1 1 calc(50% - 20px); /* Basisbreite: 50% minus Abstand */
    align-items: flex-end;
    box-sizing: border-box;
    padding: 10px;
    border-radius: 10px; /* Optional: Abgerundete Ecken */
    background-color: rgb(22 22 22); /* Leicht transparente Hintergrundfarbe */
    height: 100%;

}

.bausteinLevel img{

    height: 32px;
    vertical-align: sub;

}

.bausteinLevel a {
    display: block;
    font-size: 15px;
    color: rgb(255, 255, 255);
    margin-bottom: 15px;
    text-align: left;
}

.bausteinRedeem {
background-color: rgb(22 22 22);
     border-radius: 10px 10px 10px 10px;
     margin-left: 20px;
     margin-right: 20px;
     padding-left: 10px;
     padding-right: 10px;
     text-align: left;
     font-size: 15px;
     padding-top: 10px;
     padding-bottom: 15px;

}



.dashboard3 {
    background-color: rgba(255, 64, 64);
         border-radius: 10px 10px 10px 10px;
         margin-left: 10px;
         margin-right: 10px;
         padding-top: 10px;
         padding-bottom: 10px;
         padding-left: 15px;
         padding-right: 15px;

    }

    .dashboard4 {
        background-color: rgba(0, 0, 0, 0.8);
             border-radius: 10px 10px 10px 10px;
             margin-left: 10px;
             margin-right: 10px;
             padding-top: 20px;
             padding-bottom: 0px;
             padding-left: 35px;
             padding-right: 35px;

        }


.dashboard2 a {

   text-align: left;

}

.timerBox {
    background-color: rgba(0, 0, 0, 0.8);
    border-radius: 10px 10px 10px 10px;
    margin-left: 10px;
    margin-right: 10px;
    padding-top: 20px;
    padding-bottom: 0px;
    padding-left: 35px;
    padding-right: 35px;

}

.navback {
    background-color: unset;
    border-radius: 5px 0px 0px 5px;
    margin-left: 15px;
    margin-right: 0px;
    padding-left: 25px;
    padding-right: 0px;
    margin-top: 50px;

}

#currentVersionDisplay {

    font-size: 10px;
}

.social-container {
    display: flex;
    justify-content: center;
    margin: 0px 0px 20px 0px;
    gap: 10px; /* Adjust this value to control the space between icons */
    padding: 10px;

    border-radius: 5px;
    background-color: rgb(135 40 40);
}
.social-container a {
    display: inline-block;
    padding: 0;
}
.social-container img {
    width: 24px;
    height: 24px;
    margin: 0; /* Adjust this value to control the space between icons */
}

.close-container {
    display: none;
    justify-content: center;
    gap: 10px; /* Adjust this value to control the space between icons */
    padding-top: 10px;

    background-color: rgb(255, 64, 64);
    position: fixed;
    width: 100%;
    height: 70px;
    bottom: 0;
    z-index: 99999;

}

.closebottom2 {

        background-color: unset;

}



.closebottom2 i{
font-size: 35px;
padding-top: 5px;
height: 44px;
}

.closebottom3 {

    background-color: rgb(255, 64, 64);

    margin-left: 0px;
    margin-right: 0px;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1;
    color: black;
    padding: 8px;
    box-shadow:  0 -6px 6px -6px rgba(0, 0, 0, 0.4);
}



.closebottom3 i{
font-size: 35px;
padding-top: 5px;
height: 44px;
}

.closebottomSpinner {
    height: 60px;
    background-color: rgb(255, 64, 64);

    margin-left: 0px;
    margin-right: 0px;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1;
    color: black;
    padding: 8px;
    box-shadow:  0 -6px 6px -6px rgba(0, 0, 0, 0.4);
}



.closebottomSpinner i{
font-size: 35px;
padding-top: 5px;
height: 44px;
}


.closebottomStopTimer {

    background-color: rgb(255, 64, 64);
    margin-left: 0px;
    margin-right: 0px;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1;
    color: black;
    padding: 8px;
    box-shadow:  0 -6px 6px -6px rgba(0, 0, 0, 0.4);
    height: 60px;
}



.closebottomHeist i{
font-size: 35px;
padding-top: 5px;
height: 44px;
}

.closebottomHeist {
    height: 60px;
    background-color: rgb(255, 64, 64);

    margin-left: 0px;
    margin-right: 0px;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1;
    color: black;
    padding: 8px;
    box-shadow:  0 -6px 6px -6px rgba(0, 0, 0, 0.4);
}

.closeBattlepass i{
font-size: 35px;
padding-top: 5px;
height: 44px;
}

.closeBattlepass {
    height: 60px;
    background-color: rgb(255, 64, 64);

    margin-left: 0px;
    margin-right: 0px;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1;
    color: black;
    padding: 8px;
    box-shadow:  0 -6px 6px -6px rgba(0, 0, 0, 0.4);
}



.closebottomStopTimer i{
font-size: 35px;
padding-top: 5px;
height: 44px;
}


.closebottom5 {
    height: 60px;
    background-color: rgb(255, 64, 64);

    margin-left: 0px;
    margin-right: 0px;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1;
    color: black;
    padding: 8px;
    box-shadow:  0 -6px 6px -6px rgba(0, 0, 0, 0.4);
}



.closebottomRanking i{
font-size: 35px;
padding-top: 5px;
height: 44px;
}


.closebottomRanking {

    background-color: rgb(255, 64, 64);
    height: auto;
    margin-left: 0px;
    margin-right: 0px;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1;
    color: black;
    padding: 8px;
    box-shadow:  0 -6px 6px -6px rgba(0, 0, 0, 0.4);
}

.closebottomAchievments i{
    font-size: 35px;
    padding-top: 5px;
    height: 44px;
    }


.closebottomAchievments {

background-color: rgb(255, 64, 64);

margin-left: 0px;
margin-right: 0px;
position: fixed;
bottom: 0;
left: 0;
right: 0;
z-index: 1;
color: black;
padding: 8px;
box-shadow:  0 -6px 6px -6px rgba(0, 0, 0, 0.4);

}

.closebottomBadges i{
    font-size: 35px;
    padding-top: 5px;
    height: 44px;
}

.closebottomBadges {

background-color: rgb(255, 64, 64);

margin-left: 0px;
margin-right: 0px;
position: fixed;
bottom: 0;
left: 0;
right: 0;
z-index: 20;
color: black;
padding: 8px;
box-shadow:  0 -6px 6px -6px rgba(0, 0, 0, 0.4);

}

#badgesPage .badge-close-menu {
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    height: auto;
    gap: 8px;
}

#badgesPage .badge-close-menu .closeBadges {
    width: 100%;
    max-width: 392px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px;
    background-color: unset;
    border: none;
}

#badgesPage .closebottomBadges .badgeFiltersPanel {
    width: 100%;
    max-width: 392px;
    background: transparent;
    border: none;
    box-shadow: none;
    padding: 0;
}


.closebottomGymwars i{
    font-size: 35px;
    padding-top: 5px;
    height: 44px;
    }


    .closebottomGymwars {

        background-color: rgb(255, 64, 64);

        margin-left: 0px;
        margin-right: 0px;
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        z-index: 1;
        color: black;
        padding: 8px;
        box-shadow:  0 -6px 6px -6px rgba(0, 0, 0, 0.4);
    }



.closebottom5 i{
font-size: 35px;
padding-top: 5px;
height: 44px;
}

.closebottomShop {

    background-color: rgb(255, 64, 64);

    margin-left: 0px;
    margin-right: 0px;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1;
    color: black;
    padding: 8px;
    box-shadow:  0 -6px 6px -6px rgba(0, 0, 0, 0.4);
}



.closebottomShop i{
font-size: 35px;
padding-top: 5px;
height: 44px;
}


.closebottomVoucher {

    background-color: rgb(255, 64, 64);

    margin-left: 0px;
    margin-right: 0px;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1;
    color: black;
    padding: 8px;
    box-shadow:  0 -6px 6px -6px rgba(0, 0, 0, 0.4);
}



.closebottomVoucher i{
font-size: 35px;
padding-top: 5px;
height: 44px;
}



    #tournamentpage {
      display: flex;
      justify-content: center;
      align-items: center;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; /* Stellt sicher, dass der gesamte Viewport abgedeckt ist */
      font-size: 25px;
      background-color: rgb(191 57 57);
      z-index: 10; /* Setzt sicher, dass das Element über anderen Elementen liegt */

    }


#activityspage {
  display: flex;
  justify-content: center;
  align-items: center;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; /* Stellt sicher, dass der gesamte Viewport abgedeckt ist */
  font-size: 25px;
  background-color: rgb(191 57 57);
  z-index: 10; /* Setzt sicher, dass das Element über anderen Elementen liegt */
  max-width: 400px;
  margin: auto;
  margin-top: 20px;

}

#rankingpage {
  display: flex;
  justify-content: center;
  align-items: center;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; /* Stellt sicher, dass der gesamte Viewport abgedeckt ist */
  font-size: 25px;
  background-color: rgb(191 57 57);
  z-index: 10; /* Setzt sicher, dass das Element über anderen Elementen liegt */
  max-width: 400px;
  margin: auto;

}



#globalRankingList {

    margin-left: 20px;
    margin-right: 20px;
    color: #000;
    margin-top: 275px;
    padding-top: 60px;


}

#battleboardSeasonPanel {
  position: fixed;
  left: 0;
  right: 0;
  margin: auto;
  width: calc(100% - 40px);
  max-width: 363px;
  box-sizing: border-box;
  border-radius: 14px;
  background: rgba(22, 22, 22, 0.94);
  box-shadow: 0 10px 18px rgba(0, 0, 0, 0.22);
  z-index: 40;
  display: none;
  flex-direction: column;
  align-items: center;
  gap: 0;
}

#battleboardSeasonTimer {
  width: 100%;
  padding: 0;
  border: 0;
  outline: none;
  background: transparent;
  color: #fff;
  font-size: 14px;
  font-family: gymtimer, sans-serif;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  text-align: center;
  line-height: 1.2;
  cursor: default;
  position: relative;
}

#battleboardSeasonPanel.season-selectable #battleboardSeasonTimer {
  cursor: pointer;
}

#battleboardSeasonTimerLabel {
  display: block;
}

#battleboardSeasonTimer .session-chevron {
  position: static;
  right: auto;
  bottom: auto;
  margin: 0;
  margin-bottom: 4px;
  font-size: 14px;
  opacity: 0.85;
  color: #fff;
}

#battleboardSeasonPanel.season-picker-open #battleboardSeasonTimer .session-chevron {
  transform: rotate(180deg);
  opacity: 1;
}

#battleboardSeasonList {
  display: none;
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  width: 100%;
  padding: 8px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 10px;
  background: rgb(41 41 41);
  box-sizing: border-box;
  box-shadow: 0 10px 18px rgba(0, 0, 0, 0.22);
  z-index: 41;
  flex-direction: column;
  gap: 6px;
  max-height: min(280px, 45dvh);
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, 0.45) transparent;
  -webkit-overflow-scrolling: touch;
}

#battleboardSeasonList::-webkit-scrollbar {
  width: 5px;
}

#battleboardSeasonList::-webkit-scrollbar-track {
  background: transparent;
}

#battleboardSeasonList::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.45);
  border-radius: 5px;
}

#battleboardSeasonPanel.season-picker-open #battleboardSeasonList {
  display: flex;
}

.battleboardSeasonOption {
  flex: 0 0 auto;
  width: 100%;
  min-height: 40px;
  padding: 10px 12px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 10px;
  outline: none;
  background: rgb(22 22 22);
  color: #fff;
  font-size: 14px;
  font-family: gymtimer, sans-serif;
  text-align: center;
  cursor: pointer;
  box-sizing: border-box;
}

.battleboardSeasonOption.active {
  background: rgb(191 57 57);
  border-color: rgba(255, 255, 255, 0.12);
}

.battleboardSeasonOption.current {
  color: #ffd55a;
}

#shoppage {

    color: white;
    background-color: rgb(191 57 57);
    height: 100%;
    font-size: 25px;
    width: 100%;
    margin-left: 0px;
    margin-right: 0px;
    margin-top: 20px;


 }


 .shoppage-container2, #items {
    display: flex;
    flex-wrap: wrap;
    margin: auto;
    padding-left: 10px;
    padding-right: 10px;
    max-width: 400px;
    justify-content: center;
}






.shopItem {
    flex: 1 1 30%; /* Jedes Element passt sich flexibel an, aber nicht breiter als 30% */
    margin: 5px; /* Etwas Abstand zwischen den Elementen */
    box-sizing: border-box; /* Inklusive Padding und Border in der Breitenberechnung */
    font-size: 15px;
    padding: 5px;
    margin-bottom: 20px;
    background-color: rgb(22 22 22);
    border-radius: 10px 10px 10px 10px;
   
    
    animation: pump 0.3s ease;
}

#items:only-child .shopItem,
#items > .shopItem:only-child {
    flex: 1 1 100%;
   
}


.shopItem img{
    width: 24px;
    height: auto;
    vertical-align: sub;
}



#bundles {
  display: flex;
  flex-wrap: nowrap;
  overflow-x: auto;
  margin: auto;
  max-width: 400px;
  padding: 0 10px 0 20px;

  scroll-snap-type: x mandatory; /* enable snap */
  scroll-padding: 0 20px;        /* matches left padding for centering */
}

.bundleItem {
  flex: 0 0 auto !important;
  scroll-snap-align: center;     /* center each card when snapped */
  /* deine bestehenden Größen/Abstände bleiben wie sie sind */
}

  /* Scrollbar ausblenden (Webkit + Firefox + IE) */
  #bundles::-webkit-scrollbar { display: none; }
  #bundles { -ms-overflow-style: none; scrollbar-width: none; }


.bundleItem {

    margin: 5px; /* Etwas Abstand zwischen den Elementen */
    box-sizing: border-box; /* Inklusive Padding und Border in der Breitenberechnung */
    font-size: 15px;
    padding: 5px;
    background-color: rgb(22 22 22);
    border-radius: 10px 10px 10px 10px;
    max-width: 100%; /* Maximale Breite, um sicherzustellen, dass nicht mehr als drei Elemente in einer Zeile erscheinen */
}
.bundleItem  img{
    width: 20px;
    height: auto;
    vertical-align: text-bottom;


}





.imageContainer {
    position: relative;
    width: 100%; /* Adjust the width as necessary */
    border-radius: 10px; /* Optional, for rounded corners */
}

.itemImage {
    width: 100%; /* This will make the image fill the container */
    border-radius: 10px;
}

.countdown {
    position: absolute;
    bottom: 10px; /* Position as needed */
    left: 10px; /* Position as needed */
    color: white; /* Ensures the text is visible on darker backgrounds */
    background-color: rgba(0, 0, 0, 0.5); /* Semi-transparent background */
    padding: 5px;
    border-radius: 5px;
    font-size: 10px;
    font-family: 'roboto';
    font-weight: bold;
    text-transform: uppercase;
}

.countdown2 {

    color: white; /* Ensures the text is visible on darker backgrounds */
    background-color: rgba(0, 0, 0, 0.5); /* Semi-transparent background */
    padding: 3px;

    border-radius: 3px;
    font-size: 8px;
    font-family: 'roboto';
    font-weight: bold;
    text-transform: uppercase;
    position: absolute;

}

.countdown2 img {
    width: 10px;
    height: auto;
    vertical-align: text-bottom;
}


.shopItem2 {
    flex: 1 1 46%; /* Jedes Element passt sich flexibel an, aber nicht breiter als 30% */
    margin: 5px; /* Etwas Abstand zwischen den Elementen */
    box-sizing: border-box; /* Inklusive Padding und Border in der Breitenberechnung */
    font-size: 10px;
    padding: 5px;
    background-color: rgba(0, 0, 0, 0.8);
 border-radius: 10px 10px 10px 10px;
    max-width: 46%; /* Maximale Breite, um sicherzustellen, dass nicht mehr als drei Elemente in einer Zeile erscheinen */
}
.shopItem2 img{

width: 90%;
}

.buyButton {

    background-color: rgb(255, 64, 64);
    padding: 0px;
    font-style: normal;
    border-radius: 5px 5px 5px 5px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    margin: 0 auto;
    width: 100%;
    text-decoration: none;
    color: white;
    font-family: gymtimer, sans-serif;
    font-size: 20px;
    margin-top: 10px;
    height: 45px;
    box-shadow: 0 3px rgb(135 40 40);

    }

    .buyButton:active {
        background-color: #007bff;
    }


    .buyButton:hover{
        background-color: #007bff;

    }

    .buyButton:disabled {
        background-color: grey;
        color: white;
        cursor: not-allowed;

    }

    .itemContent {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        height: 100%; /* Stellen Sie sicher, dass das Eltern-Element eine Höhe hat */
    }

    .buttonContainer {
        margin-top: auto; /* Schiebt den Button nach unten */
    }

    #overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: black;
        opacity: 0.8;
        z-index: -1; /* Stellen Sie sicher, dass das Overlay über dem Body-Inhalt liegt */
    }

#voucherpage {

    color: white;
    background-color: rgb(191 57 57);
    top: 0;
    left: 0;
    right: 0;
    font-size: 25px;
    width: 100%;
    height: 100%;
    margin-left: 0;
    margin-right: 0;
}

.voucherpage-container3 {

    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    background-color: unset;
    border-radius: 10px;
    margin: 20px;
    padding: 10px;
}

.voucherpage-container2 {
    background-color: unset;
    border-radius: 10px;
    padding: 10px;
    max-width: 400px;
    margin: auto;
    margin-top: 30px;
}



#availableVouchers, #redeemedVouchers {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    min-width: 0;
    justify-content: center;
}

.voucherItem {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    height: 180px;
    width: 100%;
    padding: 10px;
    position: relative; /* Ermöglicht absolute Positionierung der Kinder */
    box-sizing: border-box;
    background: rgb(22 22 22);
    border-radius: 10px 10px 10px 10px;
    color: black;
    font-size: 12px;
    margin-bottom: 5px;
    margin-top: 5px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    animation: pump 0.3s ease;
    position: relative;
    overflow: hidden;
    z-index: 1;
}

.voucherItem::after {
  content: '';
  position: absolute;
  top: -20%;
  left: 0;
  width: 30%;
  height: 140%;
  background: rgba(255, 255, 255, 0.010);
  transform: translateX(-100%) skewX(-16deg);
  animation: voucher-single-shine 10s infinite linear;
  z-index: 2;
  pointer-events: none;
}

.voucherItem::before {
  content: '';
  position: absolute;
  top: -20%;
  left: 0;
  width: 20%;
  height: 140%;
  background: rgba(255, 255, 255, 0.021);
  transform: translateX(-100%) skewX(-16deg);
  animation: voucher-single-shine 10s infinite linear;
  z-index: 2;
  pointer-events: none;
}

@keyframes voucher-single-shine {
  0%   { transform: translateX(-100%) skewX(-16deg);}
  22%  { transform: translateX(600%) skewX(-16deg);}
  100% { transform: translateX(600%) skewX(-16deg);}
}


.voucherItem > * {
  position: relative;
  z-index: 3;
}


.voucherRedeemButton, .voucherValid, .voucherDescription, .voucherTitle, .voucherImage, .voucherDiscount, .voucherCode, .voucherAvailable, .voucherLink {
    position: absolute; /* Absolute Positionierung innerhalb des .voucherItem Containers */

}

.voucherTitle {
    top: 30px;
    left: 20px;
    font-size: 18px;
    color: rgb(255, 255, 255);

}

.voucherDiscount {
    top: 36px;
    left: 20px;
    font-size: 50px;
    color: rgb(255, 255, 255);

}

.voucherDescription {
    top: 50px;
    left: 20px;
    font-size: 10px;
    color: rgb(255, 255, 255);


}

.voucherImage{
    top: 20px;
    right: 20px;
}

.voucherImage img{
    height: 80px !important;
    width: 140px !important;
    border-radius: 10px;
}



.voucherValid {
    bottom: 60px;
    right: 24px;
    font-size: 10px;
    color: rgb(255, 255, 255);


}

.voucherCode {
    bottom: 20px;
    right: 20px;
    font-size: 20px;
    color: rgb(255, 0, 0);
    border-radius: 3px;


    padding: 5px;
    width: 160px;
    background: white;

}

.voucherLink {
    position: absolute;
    bottom: 20px; /* Abstand vom unteren Rand des Containers */
    left: 20px; /* Setzt den Startpunkt des Elements in die Mitte des Containers */

    background-color: rgb(255, 64, 64);
    border-radius: 5px 5px 5px 5px;
    font-size: 20px;


    width: 100px; /* Feste Breite */
    text-align: center;
    color: white;
    font-family: gymtimer, sans-serif;
    text-decoration: none;
    padding: 5px;
    box-shadow: 0 3px rgb(135 40 40);

}
#deleteStudioButton{


    background-color: rgb(255, 64, 64);
    border-radius: 5px 5px 5px 5px;
    font-size: 15px;
    min-height: 25px !important;
    width: 100%; /* Feste Breite */
    text-align: center;
    color: white;
    font-family: gymtimer, sans-serif;
    width: 160px;
    align-self: flex-end;
    box-shadow: 0 3px rgb(135 40 40);
    position: relative;




}

.voucherRedeemButton {
    position: absolute;
    bottom: 20px; /* Abstand vom unteren Rand des Containers */
    left: 20px; /* Setzt den Startpunkt des Elements in die Mitte des Containers */

    background-color: rgb(255, 64, 64);
    border-radius: 5px 5px 5px 5px;
    font-size: 20px;
    min-height: 35px !important;
    width: 100px; /* Feste Breite */
    text-align: center;
    color: white;
    font-family: gymtimer, sans-serif;
    box-shadow: 0 3px rgb(135 40 40);
}

.voucherRedeemButton:hover, #deleteStudioButton:hover {
    background-color: #007bff;
}

.voucherRedeemButton.active, #deleteStudioButton:active {
    background-color: #007bff;
    color: white;
}

.voucherAvailable {
    top: 20px; /* Beispiel: Anpassen nach Bedarf */
    right: 20px;
    font-size: 10px;
    color: rgb(255, 255, 255);
    font-family: gymtimer, sans-serif;
    font-size: 15px;

}

.voucherItem img {
    width: 24px;
    height: auto;
    vertical-align: sub;
}


.voucher-slider-container {
    overflow: hidden;
    width: 100%;
    height: 200px; /* Höhe des Sliders anpassen */
    position: relative;
    margin-top: 20px; /* Abstand nach oben zum availableVouchers */
}

.voucher-slider {
    display: flex;
    width: 100%;
    height: 100%;
    transition: transform 0.5s ease;
}


#voucherFilterBar {
    position: fixed; /* bleibt sichtbar, wenn man scrollt */
    top: 80px; /* Abstand vom oberen Rand */
    left: -5px;

    margin-right: 10px;
    border-radius: 8px;
    background-color: rgb(135 40 40); /* Hintergrundfarbe passend zum Theme */
    padding: 10px;
    z-index: 10; /* damit es über anderen Elementen liegt */
    display: flex;
    align-items: center;
    gap: 8px;
    border-bottom: 1px solid #333;
    font-size: 18px;
    box-shadow: 0 6px 6px -6px rgba(0, 0, 0, 0.4);
}

#voucherSort {
    padding: 5px;
    font-size: 16px;
    font-family: 'gymtimer';
    border-radius: 5px;
}



#gamepage {
/* display: none; Standardmäßig ausgeblendet */
display: flex;
justify-content: center;
align-items: center;
height: 100%;
font-size: 25px;


}




.pointsResult {


    padding-top: 3px;
    color: gold;
    font-size: 25px;


}

.ticketsResult {
    color: rgb(255, 94, 0);
}

.energyResult {

    color: #00D4FD;
    font-size: 25px;

}

.totalPointsResult, .totalEnergyResult {

    color: rgb(136, 136, 136);
    font-size: 25px;

}





.dashboard2 .user-image {

width: 150px;
height: 150px;
border-radius: 50%;




}

.userPictureWithBadge{
    position: relative;
    height: 150px;

    margin-left: auto;
    margin-right: auto;

}

.user-badge {


    left: 120px; /* Hier kannst du die Verschiebung des Bildes anpassen */
    top: 40px; /* Hier kannst du die vertikale Position des Bildes anpassen */

    z-index: 0; /* Damit das Bild hinter dem Text liegt */
    height: 70px;
    width: 70px;

    background-color: unset;
    object-fit: cover;

    }

.userImage-wrapper {
    width: 150px;
    height: 150px;
    margin: 0 auto;
    border-radius: 50%;
    overflow: hidden;
    box-shadow: 0 0 0 7px rgb(191 57 57), 0 18px 38px rgba(0, 0, 0, .4);
}

.userImage-wrapper .user-image {
    display: block;
}

.badge-wrapper {
    position: absolute;
    left: 100px;
    top: 110px;
    transform: translateY(-50%);

    width: 70px;
    height: 70px;
    overflow: hidden;
}




#gymy1 {
    position: relative;
    display: inline-block; /* Damit der Container nur so breit ist wie der Text */
    left: 40px;
    font-size: 30px;
  }

  #user-image2 {
    position: absolute;
    left: 0; /* Hier kannst du die Verschiebung des Bildes anpassen */
    right: 0;
    margin: auto;

    transform: translateY(-50%); /* Zentriert das Bild vertikal */

    height: 80px;
    width: 80px;
    border-radius: 50%;
    border: 7px solid #FF4040;

  }

  #user-badge2 {
    position: absolute;
    left: 155px;
    top: 70px;
    transform: translateY(-50%); /* Zentriert das Bild vertikal */
    z-index: 99999; /* Damit das Bild hinter dem Text liegt */
    height: 50px;
    width: 50px;
    object-fit: cover;

  }

  #nickname2 {
    position: absolute;
    text-align: center; /* Hier kannst du die Ausrichtung des Nicknamens anpassen */
    left: 125px; /* Hier kannst du die Verschiebung des Bildes anpassen */
    top: 150px;
    color:white;
    font-size: 25px;
  }



/* Container für Sterne */
#stars {
    color: yellow; /* Standardfarbe der Sterne */
    padding: 20px;
    bottom: 0;
    display: flex; /* Sterne horizontal anordnen */
    justify-content: center; /* Zentriert anzeigen */
    gap: 10px; /* Abstand zwischen Sternen */
    align-items: flex-end; /* Sterne unten ausrichten */
}

/* Einzelne Sterne */
#stars i {
    text-shadow: 0 0 20px rgb(0, 0, 0); /* Schwarzer Glow-Effekt */
    opacity: 0; /* Startet unsichtbar */
    animation: zoomIn 0.5s ease-out forwards, pulse 2s infinite;
}

/* Verzögerung für die Animation der einzelnen Sterne */
#stars i:nth-child(1) {
    font-size: 60px;
    animation-delay: 0.2s;
}

#stars i:nth-child(2) {
    font-size: 80px;
    animation-delay: 0.4s; /* Verzögerter Start */
    transform: translateY(-20px);
    animation: zoomIn 1s ease-out forwards, pulse 3s ease-in-out infinite;
}

#stars i:nth-child(3) {
    font-size: 60px;
    animation-delay: 0.6s;
}

/* Animation: Zoom-In */
@keyframes zoomIn {
    0% {
        transform: scale(0);
        opacity: 0;
    }
    100% {
        transform: scale(1);
        opacity: 1;
    }
}

/* Animation: Pulsieren optimiert */
@keyframes pulse {
    0%,
    100% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.05); /* Leichtes Vergrößern */
    }
}

/* Hover-Effekt für Interaktivität */
#stars i {
    text-shadow: 0 0 20px rgb(0, 0, 0);
    opacity: 0; /* Unsichtbar zu Beginn */
    animation: zoomIn 1s ease-out forwards, pulse 3s ease-in-out infinite;
    transition: transform 0.5s ease-in-out, color 0.3s ease; /* Sanfter Hover-Übergang */
}


    #minigames-container {
        display: flex;
        flex-wrap: wrap;
        justify-content: center; /* Zentriert die Elemente horizontal */
        align-items: center; /* Zentriert die Elemente vertikal (falls nötig) */
        gap: 5px; /* Abstand zwischen den Elementen */
        /* Optional: Stellen Sie sicher, dass der Container selbst mittig ausgerichtet ist, falls er in einem größeren Elternelement enthalten ist */
        margin: 0 auto; /* Zentriert den Container selbst, wenn er eine spezifische Breite hat */
        background-color: rgba(0, 0, 0, 0.8);
        border-radius: 10px 10px 10px 10px;
        margin-left: 10px;
        margin-right: 10px;
        padding: 15px;
    }

    .game {
        width: 100%; /* Feste Breite */
        height: 100%; /* Feste Höhe */
        box-sizing: border-box; /* Inklusive Padding und Border in der Breitenberechnung */
        padding: 0px;
        background-color: unset;
        border-radius: 8px;
        text-align: center; /* Zentriert den Text innerhalb jedes Spiels */
        color: white; /* Textfarbe */
        cursor: pointer; /* Ändert den Cursor beim Hover über aktive Spiele */
        display: flex; /* Ermöglicht die Zentrierung von Inhalten */
        justify-content: center; /* Zentriert Inhalte horizontal */
        align-items: center; /* Zentriert Inhalte vertikal */
        overflow: hidden; /* Verhindert, dass Inhalte über das Element hinausgehen */
    }

    .game.inactive {
        display: none !important;

    }











.login-popup {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgb(0 0 0 / 62%);

  z-index: 5;
  justify-content: center;
  align-items: center;
  text-align: center;
  }

  .login-content {
    background: rgb(191 57 57);

  }

  .cancelAgbs {

    background-color: rgb(0, 0, 0);
    padding: 10px;
    font-style: normal;
    border-radius: 5px 5px 5px 5px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    margin: 0 auto;
    width: 120px;
    text-decoration: none;
    color: white;
    font-family: gymtimer, sans-serif;
    font-size: 20px;

    }

    .fb-login-button {

        background-color: blue;
        padding: 10px;
        font-style: normal;
        border-radius: 5px 5px 5px 5px;
        text-align: center;
        text-decoration: none;
        display: inline-block;
        margin: 0 auto;
        width: 120px;
        text-decoration: none;
        color: white;
        font-family: gymtimer, sans-serif;
        font-size: 20px;
        margin-top: 15px;
        margin-bottom: 15px;
        }

        .dashboard2 .rankImage {
            width: 100px !important;
            height: auto !important;
            margin-bottom: 15px !important;
        }

/* MINIGAMES ************************************/

#heist {
    position: fixed;
    height: 100%;
    width: 100%;

    background-color: rgba(0, 0, 0, 0.9);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    background-attachment: fixed;
    top: 0px;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1;


  }

#gamestoptimer {
    position: fixed;
    height: 100%;
    width: 100%;

    background-color: rgba(0, 0, 0, 0.9);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    background-attachment: fixed;
    top: 0px;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1;

  }



.StopTimerContainer {
      position: fixed;
      background-image: url("https://dev.app.gymbattlz.com/appdata/img/events/stoptimer/stopclockbackhand.webp");
      background-repeat: no-repeat;
      background-position: center center;
      background-size: 100%;
      height: 286px;
      width: 343px;
      left: 0;
      top: 0;
      bottom: 0;
      right: 0;
      margin: auto;

      animation: pump 0.3s ease;
}




 #clockDisplay {
    position: absolute;
    top: 130px;

    left: 50%; /* Setzt den Startpunkt des Containers in der Mitte der Seite (horizontal) */
    transform: translateX(-50%);
    font-size: 34px;
    color: #ffffff;
  }


  #clockButton {
      position: absolute;
      top: 80%;
      left: 50%;
      transform: translateX(-50%);
      width: 90px;
      height: 90px;
      font-size: 20px;
      color: #ffffff;
      font-family: gymtimer, sans-serif;
      text-transform: uppercase;
      letter-spacing: 1px;
      background: linear-gradient(135deg, #FF4040 0%, #D33131 100%);
      border: none;
      border-radius: 50%; /* Macht den Button rund */
      outline: none;
      cursor: pointer;
      box-shadow: 0 10px 0 0 #8C0606, 0 15px 20px rgba(0, 0, 0, 0.3);
      transition: all 0.3s ease, transform 0.1s ease-in-out;
      outline: 3px solid black;
  }

  /* Hover-Effekt */
  #clockButton:hover {
      background: linear-gradient(135deg, #FF6A6A 0%, #E03E3E 100%);
      box-shadow: 0 12px 0 0 #8C0606, 0 18px 25px rgba(0, 0, 0, 0.4);
      transform: translateX(-50%) translateY(-3px);
  }

  /* Aktive-Klick-Effekt */
  #clockButton:active {

      box-shadow: 0 4px 0 0 #8C0606, 0 5px 6px rgba(0, 0, 0, 0.3);
      transform: translateX(-50%) translateY(2px);
      background: linear-gradient(135deg, #D33131 0%, #A62626 100%);
  }

  #clockButton.locked {
  font-size: 11px;        /* 👈 kleinere Schrift */
  letter-spacing: 0.5px; /* optional, sieht cleaner aus */
  background: grey;
  box-shadow: 0 10px 0 0 #3a3a3a, 0 15px 20px rgba(0, 0, 0, 0.3);
  cursor: not-allowed;
}




  /* Animation beim Start */
  @keyframes pulseGlow {
      0% {
          box-shadow: 0 0 10px rgba(255, 64, 64, 0.6), 0 0 20px rgba(255, 64, 64, 0.4);
      }
      50% {
          box-shadow: 0 0 15px rgba(255, 64, 64, 0.8), 0 0 30px rgba(255, 64, 64, 0.5);
      }
      100% {
          box-shadow: 0 0 10px rgba(255, 64, 64, 0.6), 0 0 20px rgba(255, 64, 64, 0.4);
      }
  }

  /* Animation hinzufügen */
  #clockButton.pulse {
      animation: pulseGlow 1.5s infinite ease-in-out;
  }



  #clockCost {
     display: flex;
     align-items: center; /* Vertikale Ausrichtung zentrieren */
     position: absolute;
     top: 94px;
     left: 140px; /* Setzt den Startpunkt des Containers in der Mitte der Seite (horizontal) */
     transform: translateX(-50%);
     font-size: 10px;
     font-family: gymtimer, sans-serif;
     color: black;
   }

  #clockCost img {

    width: 16px;
    height: 16px;
    padding-bottom: 3px;
}

#clockText {
    width: 110px; /* Die Breite deines Lauftext-Bereichs */
    overflow: hidden;
    white-space: nowrap;
    position: absolute;
    top: 175px;
    left: 50%;
    transform: translateX(-50%);

    border-radius: 5px;
    padding: 5px 0;
}

.scrolling-text {
    display: inline-block;
    white-space: nowrap;
    animation: scrollText 10s linear infinite;
    color: black;
    font-size: 14px;

}

/* Keyframes für die Animation */
@keyframes scrollText {
    0% {
        transform: translateX(100%);
    }
    100% {
        transform: translateX(-100%);
    }
}

#spinner {
    position: fixed;

    width: 100%;
    background-color: rgba(0, 0, 0, 0.9);
    top: 0px;
    bottom: 60px;
    left: 0;
    right: 0;
    z-index: 1;

  }

  .spinnerTickets{
    display: flex;
    align-items: center;
    position: fixed;
    right: 10px;
    top: 10px;
    font-size: 15px;

  }

.spinnerTickets2{
    display: flex;
    align-items: center;
    position: absolute;
    top: 87px;
    left: 190px;
    font-size: 16px !important;
    z-index: 1;
    flex-direction: row;
    justify-content: flex-end;
    line-height: 2;
  }

  .spinnerTickets2 img{
    width: 16px;
    height: 16px;

  }

  .spinnerTickets3{
    display: flex;
    align-items: center;
    position: absolute;
    top: 55px;
    right: 20px;
    font-size: 16px !important;
    z-index: 1;
    flex-direction: row;
    justify-content: flex-end;
    background-color: rgb(0 0 0 / 23%);
    padding: 5px 5px 5px 10px;
    border-radius: 3px;
    z-index: 2;
  }

  .spinnerTickets3 img{
    width: 20px;
    height: 20px;

  }

  #ticketsResult3 {

    color: white;
    padding: 0px 2px 0px 0px;
    font-size: 16px;

  }



  .spinnerLogo {


      width: 270px;

      margin-left: 10px;

    }

    .stopTimerLogo {
      position: relative;
      top: -80px;
      width: 270px;
      left: 0; /* Setzt den Startpunkt des Containers in der Mitte der Seite (horizontal) */
      right: 0;
      margin: auto;
      animation: pump 0.3s ease;
    }





@keyframes markerSwing {
  0%   { transform: translateX(-50%) rotate(0deg); }
  25%  { transform: translateX(-50%) rotate(4deg); }
  50%  { transform: translateX(-50%) rotate(-4deg); }
  75%  { transform: translateX(-50%) rotate(4deg); }
  100% { transform: translateX(-50%) rotate(0deg); }
}




#pointsSpinner {
    display: flex;
    justify-content: center; /* Zentriert die Inhalte horizontal */
    align-items: center; /* Zentriert die Inhalte vertikal */
    text-decoration: none;
    position: fixed;
    bottom: 25px;
    width: 80px;
    left: 50%;
    transform: translateX(-50%);
    background-color: #FF4040;
    border-radius: 15px 15px 0px 0px;
    padding-bottom: 50px;
    padding-right: 15px;
    padding-left: 15px;
    padding-top: 5px;
    justify-content: center;
}

#pointsSpinner img{

    width: 28px;
    height: 28px;
}







.blur {
    animation: blur 0s;
      }

  @keyframes blur {
    0% {
      filter: blur(1.2px);
    }
    80% {
      filter: blur(1.2px);
    }
    100% {
      filter: blur(0px);
    }
  }


  .gymbattleLogo {

    height: 120px;

  }



  #register-form {
    display: none;
    width: 250px;
    max-width: 400px;
    margin: auto;
    font-size: 12px;
    font-family: 'roboto';
}

#login-form {
    display: none;
    width: 250px;
    max-width: 400px;
    margin: auto;
    font-size: 12px;
    font-family: 'roboto';
}

#deleteProfileModal {
    position: fixed;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    background-color: #ff0000;
    padding: 20px;
    border-radius: 10px;
    z-index: 1000;
    max-width: 400px;
    min-width: 300px;
    margin: auto;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.7);
    animation: pump5050 0.3s ease;
}

/* Hintergrund abdunkeln, wenn Modal sichtbar ist */
#deleteProfileModal:target {
    display: block;
    position: fixed;
    background: #ff0000;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.7);
}


#changeNicknameModal {
    position: fixed;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    background-color: rgb(191 57 57);
    padding: 20px;
    border-radius: 10px;
    z-index: 1000; /* Sorgt dafür, dass das Modal über anderen Inhalten erscheint */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.7);
    animation: pump5050 0.3s ease;
}

/* Hintergrund abdunkeln, wenn Modal sichtbar ist */
#changeNicknameModal:target {
    display: block;
    position: fixed;
    background: rgba(0, 0, 0, 0.9);
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}



/* Allgemeiner Stil für das Popup */
.badgePopup {
    position: fixed; /* Popup fixiert über dem Inhalt */
    z-index: 100; /* Stellt sicher, dass das Popup über anderen Elementen angezeigt wird */
    left: 0;
    top: 0;
    width: 100%; /* Vollbildbreite */
    height: 100%; /* Vollbildhöhe */
    display: flex;
    justify-content: center; /* Zentriert den Inhalt horizontal */
    align-items: center; /* Zentriert den Inhalt vertikal */
    animation: pump 0.3s ease;

}

/* Stil für den Inhalt des Popups */
.badge-content {
    background-color: rgb(191 57 57); /* Weißer Hintergrund für den Popup-Inhalt */
    padding: 20px; /* Innenabstand */
    border-radius: 10px; /* Abgerundete Ecken */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Leichter Schatten für Tiefe */
    text-align: center; /* Zentriert den Text */
    max-width: 260px; /* Maximale Breite des Popups */
    width: 100%; /* Passt sich der Bildschirmbreite an, max. jedoch 600px */
    font-size: 20px;
    max-height: 80vh; /* Setzt eine maximale Höhe, abhängig von der Bildschirmhöhe */
    overflow-y: visible; /* Ermöglicht das vertikale Scrollen, wenn der Inhalt die max Höhe überschreitet */
    position: relative; /* Für korrekte Positionierung des Scrollbars */
    min-height: 400px;
}

#badgeSelection {

    background-color: rgb(135 40 40);
    border-radius: 8px;
    min-height: 240px;
    max-height: 240px;
    box-shadow: inset 0 6px 6px -6px rgba(0, 0, 0, 0.4),   /* oben */
    inset 0 -6px 6px -6px rgba(0, 0, 0, 0.4);
    overflow-y: auto;
    padding-top: 8px;

}


/* Stil für die Badge-Optionen */
.badge-option {
    margin: 3px; /* Außenabstand zwischen den Badges */
    width: 50px; /* Breite der Badge-Optionen */
    height: 50px; /* Höhe der Badge-Optionen */
    object-fit: cover; /* Stellt sicher, dass die Bilder ihre Proportionen beibehalten */
    cursor: pointer; /* Zeigt den Cursor als Pointer */
    border: 2px solid #FF4040; /* Transparenter Rand, wird bei Auswahl geändert */
    border-radius: 50%; /* Kreisförmige Badges */
}

/* Hover-Stil für die Badge-Optionen */
.badge-option:hover {
    border-color: #007bff; /* Blauer Rand bei Hover */
}

/* Stil für gesperrte Badges */
.badge-locked {
    opacity: 0.5; /* Halbtransparent für gesperrte Badges */
}

.badge-menu, .filter-menu {
    display: flex;
    justify-content: space-around;
    height: 80px;
}

.badge-menuDashboard {
    display: flex;
    justify-content: space-around;
    margin-top: 15px;
}

.menu-btn, .shop-menu-btn {
    background-color: rgb(135 40 40);
    font-style: normal;
    border-radius: 999px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    margin: 2px;
    width: 100%;
    text-decoration: none;
    color: white;
    font-family: gymtimer, sans-serif;
    font-size: 15px;
}


.menu-btn:hover, .shop-menu-btn:hover {
    background-color: #007bff;
}

.menu-btn.active, .shop-menu-btn:active {
    background-color: #007bff;
    color: white;
}

.badge-menu.page-bottom-menu,
.filter-menu.page-bottom-menu {
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    height: auto;
    gap: 8px;
}

.page-menu-items {
    display: flex;
    align-items: center;
    gap: 4px;
    width: 100%;
    max-width: 392px;
    overflow-x: auto;
    padding: 2px 0;
    scrollbar-width: none;
}

.page-menu-items > .menu-btn,
.page-menu-items > .shop-menu-btn {
    flex: 1 0 auto;
    width: auto;
    white-space: nowrap;
}

.page-bottom-menu > .page-menu-close {
    display: flex;
    flex: none;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 392px;
    height: 48px;
    padding: 8px;
    margin: 0;
    background: transparent;
    border: none;
    cursor: pointer;
}

.page-menu-close .closeIcon {
    display: block;
    width: 32px;
    height: 32px;
    object-fit: contain;
}



#editNameBtn {

    background-color: rgb(255, 64, 64);
    width: 24px;
    height: 24px;
   vertical-align: top;
    box-shadow: 0 3px rgb(135 40 40);

}

#editDescBtn,
#editImageBtn {
    background-color: rgb(255, 64, 64);
    width: 24px;
    height: 24px;
    position: absolute;
    right: 4px;
    bottom: 4px;
    top: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    z-index: 2;
    box-shadow: 0 3px rgb(135 40 40);
}

#editDescBtn i,
#editImageBtn i {
    color: white;
}

.studioEditModalField {
    width: 100%;
    box-sizing: border-box;
    padding: 6px;
}

.studioEditModalFileInput {
    display: none;
}

.modalNotification {
    position: fixed;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    background-color: rgb(191 57 57);
    padding: 20px;
    border-radius: 8px;
    z-index: 9999;
    width: 280px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.7);
    animation: pump5050 0.3s ease;
}

.modalNotification:target {
    display: block;
    position: fixed;
    background: rgb(191 57 57);
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.7);
}

.modalNews {
    position: fixed;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    background-color: rgb(191 57 57);
    padding: 20px;
    border-radius: 8px;
    z-index: 8998;
    width: 260px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.7);
    animation: pump5050 0.3s ease;
}

.modalNews:target {
    display: block;
    position: fixed;
    background: rgb(191 57 57);
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.7);
}

.modalSettings {
    position: fixed;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    background-color: rgb(191 57 57);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.7);
    padding: 20px;
    border-radius: 10px;
    z-index: 9999;
    width: 270px;
    animation: pump5050 0.3s ease;
}

.modalSettings:target {
    display: block;
    position: fixed;
    background: rgba(0, 0, 0, 0.9);
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}

/*MODAL CLAIM*/

/* ===== Claim Modal Overlay (full screen) ===== */
.modalClaim {
  position: fixed;
  inset: 0; /* top/right/bottom/left: 0 */
  background: rgba(0, 0, 0, 0.85); /* schwarzer transparenter Hintergrund */
  display: none; /* via JS auf block/flex */
  align-items: center;
  justify-content: center;
  z-index: 10000;
}

/* Box in der Mitte (ohne farbigen Kasten – Text schwebt über dem Stern) */
.modal-claim-box {
  position: relative;
  width: min(90vw, 320px);
  text-align: center;
  color: #fff;
  padding: 24px 16px 16px;
}

/* Rotierender Stern im Hintergrund */
.modal-claim-star {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 300px;
  height: 300px;
  transform: translate(-50%, -50%);
  opacity: 0.25;            /* leicht transparent */
  pointer-events: none;      /* keine Klicks abfangen */
  animation: claim-rotate 8s linear infinite;
  filter: drop-shadow(0 0 20px rgba(255,255,255,0.15));
}

/* Titel & Message liegen über dem Stern */
.modal-claim-title {
  position: relative;
  font-size: 18px;
  line-height: 0;
  margin: 0 0 8px 0;
  text-shadow: 0 2px 8px rgba(0,0,0,0.6);
}

.modal-claim-message {
  position: relative;
  margin: 0 0 16px 0;
  font-size: 30px;
  text-shadow: 0 2px 6px rgba(0,0,0,0.6);
}

/* Claim-Button */
.modal-claim-confirm {
  position: relative;
  cursor: pointer;
  background-color: green;
  color: white;
  font-size: 20px;
  border-radius: 5px;
  padding: 0px;
  width: 100px;
  font-family: gymtimer, sans-serif;
  text-align: center;
  box-shadow: 0 3px rgb(0, 58, 0);
}
.modal-claim-confirm:active {
  transform: translateY(2px);
  box-shadow: 0 4px 0 #a8861a, 0 6px 16px rgba(0,0,0,0.35);
}

/* Rotation */
@keyframes claim-rotate {
  from { transform: translate(-50%, -50%) rotate(0deg); }
  to   { transform: translate(-50%, -50%) rotate(360deg); }
}





#timeround.hybrid-timer #timer.hybrid-hours { font-size: 46px; }
#timeround.hybrid-double-tap-next {
  touch-action: manipulation;
  user-select: none;
  -webkit-user-select: none;
}
#hybridHeader {
  flex-wrap: wrap;
  row-gap: 14px;
}
#hybridDoubleTapSettings {
  flex-basis: 100%;
  align-items: center;
  justify-content: space-between;
  padding-top: 14px;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
  gap: 10px;
}
#hybridDoubleTapSettings .stopwatch-title { font-size: 14px; }
#hybridDoubleTapSettings .stopwatch-switch { flex-shrink: 0; }
@media (min-width: 748px) and (min-height: 600px) {
    #timeround.hybrid-timer #timer.hybrid-hours { font-size: 70px; }
}
.session-hybrid-rounds { margin: 12px 0; text-align: left; }
.session-hybrid-round { display: flex; align-items: center; gap: 6px; margin: 8px 0; font-size: 13px; }
.session-hybrid-round > span { flex-shrink: 0; }
.session-hybrid-round .hybrid-round-name {
    flex: 1; min-width: 0; width: 100%; box-sizing: border-box;
    background: rgb(22 22 22); color: white; border: 1px solid rgba(255,255,255,.15);
    border-radius: 9px; padding: 8px; font: 14px gymtimer, sans-serif;
}
.hybrid-round-save-status { min-height: 16px; font-size: 12px; color: white; }

#workoutStopConfirmDialog {
    box-sizing: border-box;
    width: min(330px, calc(100vw - 32px));
    padding: 22px 16px;
    border: 0;
    border-radius: 10px;
    background: rgb(191 57 57);
    color: white;
    font-family: gymtimer, sans-serif;
    text-align: center;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.7);
}
#workoutStopConfirmDialog::backdrop { background: rgba(0, 0, 0, 0.65); }
#workoutStopConfirmTitle { margin: 0 0 12px; font-size: 25px; font-weight: normal; }
#workoutStopConfirmMessage { margin: 0 0 20px; font-size: 16px; line-height: 1.3; }
#workoutStopConfirmDialog .workout-stop-actions { display: flex; justify-content: center; gap: 10px; }
#workoutStopConfirmDialog button:focus-visible { outline: 2px solid white !important; outline-offset: 3px; }

/* Stil für den Hintergrund des Modals */
.modal {
    position: fixed;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    background-color: rgb(191 57 57);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.7);
    padding: 20px;
    border-radius: 10px;
    z-index: 19000;
    width: 250px;
    animation: pump5050 0.3s ease;

}

.modal:target {
    display: block;
    position: fixed;
    background: rgba(0, 0, 0, 0.9);
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}

.modalLogin {
    position: fixed;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    background-color: rgb(22 22 22);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.7);
    padding: 20px;
    border-radius: 10px;
    z-index: 19000;
    width: 250px;
    animation: pump5050 0.3s ease;
    z-index: 999999;
    border: solid 1px rgb(191 57 57);
}

.modalLogin:target {
    display: block;
    position: fixed;
    background: rgb(22 22 22);
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;

}

#resetPasswordModal {
    position: fixed;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    background-color: rgb(22 22 22);
    padding: 20px;
    border-radius: 10px;
    z-index: 999999; /* Sorgt dafür, dass das Modal über anderen Inhalten erscheint */
    border: solid 1px rgb(191 57 57);
}

/* Hintergrund abdunkeln, wenn Modal sichtbar ist */
#resetPasswordModal:target {
    display: block;
    position: fixed;
    background: rgba(0, 0, 0, 0.9);
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}

.buddyModal {
    position: fixed;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    background-color: rgb(191 57 57);
    padding: 10px 10px 20px 10px;
    border-radius: 10px;
    z-index: 1; /* Sorgt dafür, dass das Modal über anderen Inhalten erscheint */
    min-width: 310px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.7);
    animation: pump5050 0.3s ease;
}

/* Hintergrund abdunkeln, wenn Modal sichtbar ist */
.buddyModal:target {
    display: block;
    position: fixed;
    background: rgb(191 57 57);
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}

.dailysModal {
    position: fixed;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    background-color: rgb(191 57 57);
    padding: 10px 10px 20px 10px;
    max-width: 400px;
    margin: auto;
    border-radius: 10px;
    z-index: 1000; /* Sorgt dafür, dass das Modal über anderen Inhalten erscheint */
    width: 80%;
    height: 490px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.7);
    animation: pump5050 0.3s ease;
}

/* Hintergrund abdunkeln, wenn Modal sichtbar ist */
.dailysModal:target {
    display: flex;
    position: fixed;
    background: rgb(191 57 57);
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.7);
}

.dailysModal .buddyCloseButton {
    margin-top: auto;
    flex: 0 0 auto;
    align-self: center;
}

.supportModal {
    position: fixed;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    background-color: rgb(191 57 57);
    padding: 20px;
    border-radius: 10px;
    z-index: 1000; /* Sorgt dafür, dass das Modal über anderen Inhalten erscheint */
    width: 80%;
    max-width: 400px;
    animation: pump5050 0.3s ease;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.7);
}

/* Hintergrund abdunkeln, wenn Modal sichtbar ist */
.supportModal:target {
    display: block;
    position: fixed;
    background: rgb(191 57 57);
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}

.achievements-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 20px;

}

.support-container {

    display: flex;
    flex-direction: column;
    margin-top: 20px;

}
#user-id {
    font-size: 12px;
    margin-top: 0;
}

.active-multiplier {

    position: fixed; /* Fixierte Positionierung */
    top: 280px; /* 200px vom oberen Rand entfernt */
    right: 75px;
    display: flex;
    flex-direction: column; /* Ordne die Buttons vertikal untereinander an */
    justify-content: center; /* Zentriert die Kinder vertikal */
    align-items: center; /* Zentriert die Kinder horizontal */
    background-image: url("https://dev.app.gymbattlz.com/appdata/img/shop_items/item3empty.webp");
    background-size: 55px 55px; /* Setze die Größe des Hintergrundbildes */
    background-repeat: no-repeat;
    width: 55px;
    height: 55px;
}

.active-multiplier span {
    position: absolute;
    width: 100%;
    text-align: center;
    text-transform: uppercase;
    color: yellow;
}

.rankWithBadge {


    margin: 0 auto; /* Setzt die Seitenmargen auf 'auto' */
    position: relative;
    width: 100px;
    height: 100px;
    background-size: cover;
    background-position: center;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}

.levelWithBadge {

    background-image: url(img/level/level_infinity.webp);
    margin: 0 auto; /* Setzt die Seitenmargen auf 'auto' */
    position: relative;
    width: 100px;
    height: 100px;
    background-size: cover;
    background-position: center;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    color:#000;
}

.userProfilePopupEnergy {

    font-size: 12px;
    background-color: rgb(128 128 128 / 63%);
    border-radius: 4px;

    margin: auto;
    padding: 4px;

}



.rankDisplay {
    color: #000;
    position: absolute; /* Absolute Positionierung innerhalb des relativ positionierten Containers */
    bottom: 38px; /* Abstand vom unteren Rand des Containers */
    width: 100%; /* Stellt sicher, dass der Text zentriert ist */
    text-align: center; /* Zentriert den Text horizontal */
}

.rankMenu {

    font-size: 20px;
}

#rankWithBadgeStart {


    margin: 0 auto; /* Setzt die Seitenmargen auf 'auto' */
    position: relative;
    width: 55px;
    height: 55px;
    background-size: cover;
    background-position: center;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}

#rankDisplayStart {
    color: #000;
    position: absolute; /* Absolute Positionierung innerhalb des relativ positionierten Containers */
    bottom: 18px; /* Abstand vom unteren Rand des Containers */
    width: 100%; /* Stellt sicher, dass der Text zentriert ist */
    text-align: center; /* Zentriert den Text horizontal */
}

#rankDisplayStart2 {
    color: #000;
    position: absolute; /* Absolute Positionierung innerhalb des relativ positionierten Containers */
    bottom: 17px; /* Abstand vom unteren Rand des Containers */
    width: 100%; /* Stellt sicher, dass der Text zentriert ist */
    text-align: center; /* Zentriert den Text horizontal */
}

#error-screen {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #FF4040;
    z-index: 9998;
}

/*
#loading-screen {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #FF4040;
    z-index: 9999;
     transition: transform 0.8s ease-in-out; 
}


#loading-screen.slide-out {
    transform: translateX(100%);
}

#loading-container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;

    position: fixed;       
    top: 0;
    left: 0;
    width: 100vw;          
    height: 100vh;         

    background-image: url('img/loadingscreen.webp'); 
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover; 
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.7);
    z-index: 999999;       
}
*/

/* NEU */

#loading-screen {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #FF4040;
    z-index: 9999;
}

#loading-screen.slide-out {
    transform: none;
}

#loading-container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;

    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;

    background-image: url('img/loadingscreen.webp');
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;

    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.7);
    z-index: 999999;
    overflow: hidden;
}

#loading-video {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: translate(-50%, -50%);
    z-index: 1;
    pointer-events: none;
}

#loading-logo,
#loading-bar,
#loading-text {
    position: relative;
    z-index: 2;
}

/*NEU*/





#loading-text {
    /* margin-top: 10px; /* Abstand zwischen Text und Balken */
    position: fixed;
    bottom: 30px;
    font-size: 15px;
}

#loading-bar {
    width: 0; /* Beginnt mit 0% Breite */
    height: 20px;
    background-color: transparent;
    border-radius: 5px 5px 5px 5px;
    transition: width 0.3s ease; /* Fügt eine Animation hinzu, wenn die Breite des Balkens geändert wird */
}

#loading-logo {
    position: fixed;
    bottom: 60px;
    width: 5vh; /* Größe des Logos anpassen */
    height: auto;
    margin-bottom: 5px; /* Abstand zwischen Logo und Text */
    animation: spin 4s linear infinite;

}



@keyframes spin {
    from {
      transform: rotate(0deg);
    }
    to {
      transform: rotate(360deg);
    }
  }

#shopPurchaseLoading {
    position: fixed;
    inset: 0;
    z-index: 10000000;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px;
    box-sizing: border-box;
    background: rgba(0, 0, 0, 0.65);
    touch-action: none;
    outline: none;
}

#shopPurchaseLoading[hidden] { display: none; }

.shopPurchaseLoadingCard {
    width: min(280px, 100%);
    padding: 24px 20px;
    box-sizing: border-box;
    border-radius: 10px;
    background: rgb(191, 57, 57);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.7);
    color: white;
    font-family: gymtimer, sans-serif;
    text-align: center;
}

.shopPurchaseLoadingLogo {
    display: block;
    width: 5vh;
    height: auto;
    margin: 0 auto 16px;
    animation: spin 4s linear infinite;
}

.shopPurchaseLoadingTitle { font-size: 20px; line-height: 1.2; }
.shopPurchaseLoadingHint { margin-top: 8px; font-size: 13px; line-height: 1.4; }

@media (prefers-reduced-motion: reduce) {
    .shopPurchaseLoadingLogo { animation: none; }
}

#login-logo {
    width: 200px; /* Größe des Logos anpassen */
    height: auto;
    margin-bottom: 5px; /* Abstand zwischen Logo und Text */
}

#navLogo {
    width: 200px; /* Größe des Logos anpassen */
    height: auto;

}

/* Container für die Buddy-Informationen */
.buddy-container {
    background-color: rgba(255,255,255,.05);
    border-radius: 8px;
    margin: 10px;
    flex-wrap: wrap;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 5px; /* Abstand zwischen den Elementen */
    max-width: 290px;
    box-shadow: none;
    border: 1px solid rgba(255,255,255,.12);
}



/* Bild des Buddys */
.buddy-img {
    flex: 0 0 60px; /* Feste Breite des Bildes */
    height: 100px; /* Feste Höhe des Bildes */
    border-radius: 8px;
    margin-left: 10px;
    margin-top: 10px;
}

.buddyZZZ-img {

height: 150px;

}

/* Container für die Details des Buddys */
.buddy-details {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    margin-top: 10px;
    padding-left: 20px;
    align-items: flex-start;
}

.buddy-details a {
    font-size: 11px;
    color: rgb(255, 255, 255);
    margin-bottom: 5px;
    font-family: 'roboto';
    text-align: left;

}

.buddy-details img{
    height: 10px;
    width: 10px;
}

/* Container für die Buddy-Aktionen (Buttons) */
.buddy-actions {
    display: flex;
    flex-direction: row;
    align-items: center;
}

.buddy-actions button {
    margin: 5px;
    padding: 10px;
    background-color: rgb(255, 64, 64);
    color: white;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    font-size: 15px;
    width: 80px;
    box-shadow: 0 3px rgb(135 40 40);
}

.buddy-actions button:hover {
    background-color: #0056b3;
}

.buddy-actions button.deselect-button {
    background-color: #0056b3;
}

.buddy-actions button.deselect-button:hover {
    background-color: #c82333;
}


.buddy-actions button.claim-rewards-button {

    background-color: rgb(255, 64, 64);
    font-family: gymtimer, sans-serif;
    color: yellow;
    font-size: 10px;
    width: 100px;
    box-shadow: 0 3px rgb(135 40 40);
}

.buddy-actions button.upgrade-button {
    background-color: #28a745;
    font-family: gymtimer, sans-serif;
    display: flex;
    flex-direction: column;
    align-items: center;

    border: none;
    color: white;
    cursor: pointer;
}

.buddy-actions button.upgrade-button:hover {
    background-color: #218838;
}

.buddy-actions .upgrade-text {
    font-size: 10px;
    margin-bottom: 0px;
}

.buddy-actions .upgrade-details {
    display: flex;
    align-items: center;
    padding-left: 5px;
}

.buddy-actions .upgrade-number {
    font-size: 14px;

}

.buddy-actions .upgrade-icon {
    width: 24px;
    height: 24px;
    padding-bottom: 5px;
}

.close-profilePicturePopup-btn2 {
    background-color: rgb(255, 64, 64);
    padding: 10px;
    font-style: normal;
    border-radius: 5px 5px 5px 5px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    margin: 0 auto;
    width: 120px;
    text-decoration: none;
    color: white;
    font-family: gymtimer, sans-serif;
    font-size: 15px;
    box-shadow: 0 3px rgb(135 40 40);
}

.close-profilePicturePopup-btn, .close-badgePopup-btn {
    background-color: rgb(255, 64, 64);
    padding: 10px;
    font-style: normal;
    border-radius: 5px 5px 5px 5px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    margin: 0 auto;
    width: 120px;
    text-decoration: none;
    color: white;
    font-family: gymtimer, sans-serif;
    font-size: 15px;
    margin-top: 10px;
    box-shadow: 0 3px rgb(135 40 40);

}

 .supportCloseButton, .buddyCloseButton, .buddyButton, #buddyButton button {
    background-color: rgb(255, 64, 64);
    padding: 10px;
    font-style: normal;
    border-radius: 5px 5px 5px 5px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    margin: 0 auto;
    width: 120px;
    text-decoration: none;
    color: white;
    font-family: gymtimer, sans-serif;
    font-size: 15px;
    box-shadow: 0 3px rgb(135 40 40);
}


.buddyButtons {
    display: flex;
    justify-content: space-around;

}

.info-icon {
    width: 30px;
    height: 30px;
    cursor: pointer;
    margin-left: 10px;
    vertical-align: middle;
}

.infoBoxImg {
    position: fixed;
    top: 50px;
    right: 10px;
    z-index: 2;
}

.infoBoxImgPVP {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 3;
}

.infoBoxImg4 {
    position: fixed;
    top: 10px;
    right: 10px;
    z-index: 2;
}



.infoBoxImg2 {
    position: absolute;
    top: 55px;
    right: 156px;
}

.infoBoxImg3 {
    position: absolute;
    top: 15px;
    right: 40px;
}


.goldenEggs {
    position: fixed;
    top: 12px;
    left: 10px;
    color: yellow;
    display: flex;
    align-items: center; /* Vertikale Ausrichtung auf der gleichen Höhe */
    width: 55px;
    padding: 2px;
    border-radius: 5px;
    background-color: rgb(135 40 40);
    justify-content: flex-start;
}

.goldenEggs img {

    width: 24px;
    height: 24px;
}

.info-box {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: rgba(255, 255, 255);
    padding: 10px 10px 60px;
    border-radius: 3px;
    z-index: 1000; /* Ensure it is on top of other content */
    max-height: 80vh; /* Maximum height of the info box */
    overflow-y: auto; /* Enable vertical scrolling */
    width: 75vw; /* Set a width for the info box */
    box-sizing: border-box; /* Include padding in width/height calculations */
    max-width: 400px;
    animation: pump5050 0.3s ease;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.7);
    z-index: 99999;
}

.info-content {
    max-height: 20vh; /* Max height for the content area */
    overflow-y: auto; /* Enable vertical scrolling for the content area */
    color: black;
    background-color: #c9c9c9;
    font-family: 'roboto';
    text-align: left;
    font-size: 11px;
    border: solid 2px rgb(131, 131, 131);
    border-radius: 3px;
    padding: 5px;
}





.info-box p {
    margin: 0;
}

.info-box button {
    position: fixed;
    right: 0;
    left: 0;
    bottom: 0;

    background-color: rgb(255, 64, 64);
    color: white;
    border: none;
    border-radius: 0px;
    cursor: pointer;
}



.info-box button:hover {
    background-color: #218838;
}

.no-buddy-container {

    color: white;
    font-family: gymtimer, sans-serif;
    font-size: 15px;
}



#gymwarspage {
    /* display: none; Standardmäßig ausgeblendet */
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    font-size: 15px;
    font-family: gymtimer, sans-serif;
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;

    }


#studioWars {
    position: fixed;
    height: 100%;
    width: 100%;
    top: 0px;
    bottom: 0;
    left: 0;
    right: 0;
    color: rgb(255, 255, 255);
    background-color: rgb(191 57 57);
    max-width: 375px;
    margin: auto;
    overflow: scroll;
}
.GymWarsLeaderboard-item, .GymWarsReward-item {
    background-color: rgba(255, 255, 255);
    margin: 20px;
    padding: 10px;
    border-radius: 8px;
    max-width: 355px;
    justify-content: space-between;
    align-items: center;
    color: black;
    font-family: gymtimer, sans-serif;

}
.GymWarsLeaderboard-item span, .GymWarsReward-item p span {
    flex: 1;

}

#studioSearchWrapper {
    position: fixed;
    z-index: 1;
    top: 195px;
    left: 50%;
    width: 285px;
    padding: 10px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transform: translateX(-50%);
    background-color: rgb(22 22 22);
    border-radius: 8px;
}

#studioSearchWrapper > .la-search {
    flex: 0 0 auto;
    color: #fff;
    font-size: 18px;
}

#studioSearch {
    width: 235px;
    padding: 8px 10px;
    box-sizing: border-box;
    border: none;
    border-radius: 8px;
    background: rgb(165 49 49);
    color: #fff;
    outline: none;
    font-family: gymtimer, sans-serif;
}

.studio-item {
    background-color: rgb(22 22 22);
    margin: 3px;
    padding: 0px;
    width: 285px;
    box-sizing: border-box;
    position: relative;
    overflow: hidden;
    isolation: isolate;

    display: inline-block; /* Änderung zu inline-block für Dreierreihen */
    text-align: center; /* Zentriert den Inhalt horizontal */
    color: black;
    font-family: gymtimer, sans-serif;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    border-radius: 10px;


}

.studio-item::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background-image: var(--studio-item-background-image, none);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    opacity: 0.15;
    pointer-events: none;
}

.studio-item:hover {

    transform: scale(1.05);
    -webkit-transform: scale(1.05);
    transition: transform 330ms ease-in-out;

}

/* Flexbox-Eigenschaften für den Inhalt der Studio-Elemente */
.studio-item > div {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

/* Flex-Verhältnis für den Textinhalt in den Studio-Elementen */
.studio-item span {
    flex: 1;
}

/* Styling für das Bild innerhalb der Studio-Elemente */
.studio-item img {
    width: 50px;
    height: 50px;
    cursor: pointer; /* Macht das Bild anklickbar */
    margin-bottom: 0px; /* Abstand unter dem Bild */
}

.gymWarsButtons {
    padding: 10px;
    height: 35px;
    border-radius: 5px;
    background-color: #00ABFF;
    color: white;
    border: none;
    cursor: pointer;
    font-family: gymtimer, sans-serif;
    box-shadow: 0 3px #01496d;
}
.gymWarsButtons:hover {
    background-color: #00ABFF;
}

.gymWarsDonateButton {
    display: flex;
    align-items: center;
    border-radius: 5px;
    background-color: #00ABFF;
    color: white;

    cursor: pointer;
    font-family: gymtimer, sans-serif;
    margin-left: 5px;
    min-height: 40px !important;
    box-shadow: 0 3px #006799;
}
.gymWarsDonateButton:hover {
    background-color: #00ABFF;
}

.gymWarsDonateButton:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

#gymWarsDonationNotice {
    position: absolute;
    bottom: 100%;
    width: 100%;
    margin: 0;
    padding: 8px 12px;
    box-sizing: border-box;
    text-align: center;
    color: #fff;
    background: #006799;
}

.gymWarsDonateButton img {
    margin-left: 5px; /* Adds space between text and image */
    width: 20px;
    height: 20px;
}

.studio-list{

    width: 90%;
    overflow-y: auto; /* Enables vertical scrolling */
    margin: auto;

    color: #000;
    position: relative;
    top: 335px;
    left: 0;
    right: 0;
    bottom: 5px;
    padding-bottom: 180px;
    padding-left: 10px;
    padding-right: 10px;
    padding-top: 10px;
    border-radius: 10px;

}

.studio-list0{

    max-width: 400px;
    width: 90%;
    overflow-y: auto; /* Enables vertical scrolling */
    margin: auto;
    background-color: unset;
    color: #000;
    margin-top: 255px;


}

.studioPlayer-list{
    display: none;


    width: 80%;
    overflow-y: auto; /* Enables vertical scrolling */
    margin: auto;


    color: #000;


    position: relative;
    top: 195px;
    left: 0;
    right: 0;
    bottom: 5px;
    padding-bottom: 180px;
    padding-left: 10px;
    padding-right: 10px;
    padding-top: 10px;

}

.gymWars-top-three {
    display: flex;
    justify-content: center;
    align-items: flex-end;
   position: fixed;
   left: 0;
   right: 0;
   margin: auto;
   top: 95px;
   z-index: 1;
   max-width: 370px;
   background: rgb(135, 40, 40);
   border-radius: 0px 0px 12px 12px;
   padding: 5px;
   height: 230px;

}

.gymWars-top-three-item div.studio-name {

}

.gymWars-top-three-item div.gym-energy {
    display: flex;
    align-items: center;
    justify-content: center;
}

.gymWars-top-three-item div.gym-energy img {
    margin-left: 5px; /* Abstand zwischen Text und Icon */
}

.gymWars-top-three .first-place {
    order: 2;

    margin-bottom: 10px;

}


.gymWars-top-three .second-place {
    order: 1;

}

.gymWars-top-three .third-place {
    order: 3;

}

.gymWars-top-three-item {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.gymWars-top-three-item img {

}

.gymWars-top-three-item div {

}

.gymWars-rest {
    display: flex;
    flex-direction: column;
    padding-bottom: 80px;
}

.gymWars-Leaderboard-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 2px;
    background-color: white;
    border-radius: 5px;
    border: solid 2px black;
    padding: 10px;
}

.studio-rank {
    font-size: 15px; /* Größere Schriftart für die Platzierung */
    font-weight: bold;
    margin-right: 10px; /* Abstand zwischen Platzierung und Bild */
    width: 20px;
}

.studio-image {
    width: 35px;
    height: 35px;
    margin-right: 10px; /* Abstand zwischen Bild und Name */
}

.studio-name {
    flex-grow: 1;
    font-size: 12px;
}

.studio-energy {
    display: flex;
    align-items: center;
    font-size: 12px;
}

.energy-icon {
    width: 20px;
    height: 20px;
    margin-left: 5px; /* Abstand zwischen GymEnergy und Energy Icon */
}

.boost-icon {
    width: 100px !important;
    height: 100px !important;
}

.gymWars-Leaderboard-item img{

    border-radius: 50%;
}

.gymWars-Leaderboard-item span {
    margin-left: 2px;
}

.gymWars-Leaderboard-item div {
     text-align: left;
}

#amountDonate {
    background-color: #00ABFF;
    color: #000;
    width: 160px;
    font-size: 15px;
    font-family: 'gymtimer';
    border-radius: 5px;
    margin-top: 5px;
    margin-bottom: 5px;
    margin-left: 10px;
    padding: 10px 0px;
    border: none;
    outline: none;
    border: solid 2px white;
    height: 15px;
}

#amountDonate[type=text] {
    text-align: center;
}

.gymWarsDonateMenu {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    margin-bottom: 125px;
    background-color: #009ae5;
    height: 65px;
    box-shadow: 0 -2px 5px rgba(0, 0, 0, 0.2);
    display: flex;
    justify-content: center;
    align-items: center;
}


#studioWarsPhase {
    position: fixed;
    top: 97px;
    left: 0;
    right: 0;
    background-color: #00ABFF;
    height: 24px;
    align-content: center;
    padding: 3px;
    margin-bottom: 30px;
    color: white;
    z-index: 3;
}

.chosenStudio {

    background-color: rgb(22 22 22);
    position: fixed;
    left: 40px;
    right: 40px;
    top: 130px;
    border-radius: 10px;
    padding: 10px;
    height: 35px;
    max-width: 261px;
    margin: auto;
    border: solid 2px black;
    z-index: 2;

}

#chosenStudio2 {

margin-top: 150px;
margin-bottom: 20px;
}


#chooseYourStudio {

position: fixed;
top: 100px;
right: 0;
left: 0;
color: black;
}

 .closeGymwars, .closeRanking, .closebottom4, .closeShop, .closeAchievments, .closeVoucher, .closeActivitys, .closeSettings {

    background-color: unset;
}

#myStudioSection {


    background-color: unset;
    max-width: 340px;

    border-radius: 8px;
    padding: 15px 15px 35px 15px;
    text-align: left;
    line-height: 0.4;


}

.gymWarsStudioIdentity {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    width: 100%;
    min-width: 0;
}

.gymWarsStudioLogo {
    display: block;
    flex: 0 0 100px;
    width: 100px;
    height: 100px;
    object-fit: cover;
    border-radius: 8px;
}

.gymWarsStudioLogoWrap {
    position: relative;
    flex: 0 0 100px;
    width: 100px;
    height: 100px;
}

.gymWarsStudioIdentityContent {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
}

.gymWarsStudioName {
    margin: 0;
    color: white;
    font-size: 26px;
    line-height: 1.1;
    overflow-wrap: anywhere;
}

.gymWarsStudioName--leader {
    width: 100%;
}

.gymWarsStudioDescription {
    margin: 0;
    color: white;
    font-size: 14px;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    overflow-wrap: anywhere;
    white-space: normal;
}

.gymWarsStudioDescription--member {
    padding: 0;
    background: transparent;
    border-radius: 0;
    -webkit-line-clamp: 3;
}

.gymWarsStudioIdentity--leader {
    align-items: stretch;
}

.gymWarsStudioDescriptionWrap {
    position: relative;
    flex: 1 1 auto;
    min-width: 0;
    height: 100px;
}

.gymWarsStudioDescription--leader {
    width: 100%;
    height: 100px;
    padding: 10px 10px 32px;
    box-sizing: border-box;
    background-color: rgb(165 49 49);
    border-radius: 8px;
    -webkit-line-clamp: 3;
}

#gymHeaderBlock, #joinPolicyBlock, #joinPolicyControls, #membersBlock {

    background: rgb(22 22 22);
    padding: 20px 20px 20px 20px;
    border-radius: 8px;

}

#studioWarsRewards {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;

}

#createStudioForm,
#studioCreateForm {
  text-align: center;
  background-color: rgb(22 22 22);

  padding: 20px;
  border-radius: 8px;
  max-width: 280px;
  margin: 0 auto;
  margin-top: 140px;
}

.create-header {
  color: white;
  font-size: 28px;
  margin-bottom: 20px;
  margin-top: 50px;

}

.create-label {
  color: white;
  font-size: 14px;

  display: block;
  margin: 10px 0 5px;
  text-align: left;
}

.create-input,
.create-textarea, #modalInput {
  width: 100%;
  padding: 10px;
  border-radius: 5px;
  border: none;
  font-size: 14px;
  box-sizing: border-box;
  background-color: rgb(165 49 49);
  color: rgb(255, 255, 255);
  font-family: 'gymtimer';
}

.create-textarea {
  resize: none;
}

.create-button {
  background-color: #007bff;
  color: white;

  font-size: 20px;
  padding: 12px 20px;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  width: 100%;
  margin-top: 20px;
  transition: background-color 0.2s ease;
  font-family: gymtimer, sans-serif;
}

.create-button:hover {
  background-color: #0056cc;
}



.twitter-share-button {

    background-color: rgb(255, 64, 64);
    border-radius: 5px;
    font-size: 10px;
    min-height: 25px !important;
    width: 40px; /* Feste Breite */
    text-align: center;
    color: white;
    height: 20px !important;
    font-family: gymtimer, sans-serif;
    box-shadow: 0 3px rgb(135 40 40);
}

.twitter-share-button:hover {
    background-color: #007bff;
}

.twitter-share-button.active {
    background-color: #007bff;
    color: white;
}

#clock {
    position: absolute;
    top: 30px;
    right: 10px;
    font-size: 15px;
    color: black; /* Farbe des Textes, kann angepasst werden */
    background-color: none; /* Hintergrundfarbe mit Transparenz */
    padding: 5px;
    border-radius: 5px;
    z-index: 1;
}


/* Allgemeine Container-Einstellungen für das Popup */
/* Allgemeine Container-Einstellungen für das Popup */
#userProfilePopup {
    display: none;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    padding: 20px 20px 20px; /* Zusätzlicher Padding-Bereich für den unteren Teil */
    background-color: rgb(191 57 57); /* Dunkler Hintergrund ähnlich dem Beispielbild */
    border-radius: 15px; /* Rundungen für das Popup */
    width: 270px; /* Breite des Popups */
    max-width: calc(100vw - 32px);
    max-height: calc(100dvh - 32px);
    overflow-y: auto;
    z-index: 1000;
    color: #fff; /* Weiße Schriftfarbe */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.7); /* Leichter Schatten für Tiefe */
    text-align: center; /* Zentriert den Text innerhalb des Popups */
    box-sizing: border-box;
    animation: pump5050 0.3s ease;
    z-index: 11111;

}

/* Stil für den Overlay-Hintergrund */
#userProfilePopupOverlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5); /* Halbtransparenter schwarzer Hintergrund */
    z-index: 11111;
}

#gymWarsStudioPopupOverlay {
    display: none;
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.62);
    z-index: 11120;
}

#gymWarsStudioPopup {
    display: none;
    position: fixed;
    top: 50%;
    left: 50%;
    width: min(310px, calc(100% - 32px));
    padding: 24px 20px 20px;
    transform: translate(-50%, -50%);
    box-sizing: border-box;
    color: #fff;
    background-color: rgb(191 57 57);
    border-radius: 15px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.55);
    text-align: center;
    animation: pump5050 0.3s ease;
    z-index: 11121;
}

#gymWarsStudioPopupClose {
    position: absolute;
    top: 8px;
    right: 12px;
    padding: 0;
    color: #000;
    background: none;
    border: 0;
    font-size: 30px;
    line-height: 1;
    cursor: pointer;
}

#gymWarsStudioPopupImage {
    display: block;
    width: 120px;
    height: 120px;
    margin: 4px auto 14px;
    object-fit: cover;
    background-color: rgb(22 22 22);
    border: 4px solid rgba(0, 0, 0, 0.35);
    border-radius: 16px;
}

#gymWarsStudioPopupName {
    margin: 0 0 14px;
    color: #fff;
    font-family: gymtimer, sans-serif;
    font-size: 28px;
    line-height: 1.1;
    overflow-wrap: anywhere;
}

.gymWars-studio-popup-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.gymWars-studio-popup-stat {
    display: flex;
    min-height: 64px;
    padding: 9px 6px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    background: rgba(0, 0, 0, 0.3);
    border-radius: 8px;
}

.gymWars-studio-popup-label {
    margin-bottom: 5px;
    color: rgba(255, 255, 255, 0.72);
    font-family: gymtimer, sans-serif;
    font-size: 10px;
}

#gymWarsStudioPopupMembers,
.gymWars-studio-popup-policy {
    color: #fff;
    font-family: gymtimer, sans-serif;
    font-size: 18px;
    line-height: 1.1;
}

.gymWars-studio-popup-policy {
    padding: 4px 7px;
    border-radius: 5px;
    font-size: 12px;
}

.gymWars-studio-popup-policy--open {
    background-color: rgb(0 122 70);
}

.gymWars-studio-popup-policy--request {
    background-color: rgb(218 102 0);
}

.gymWars-studio-popup-policy--closed {
    background-color: rgb(22 22 22);
}

.gymWars-studio-popup-trigger {
    cursor: pointer;
}

.gymWars-studio-popup-trigger:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 2px;
}

/* Container für das Profilbild */
#profileContainer {
    position: relative;
    display: inline-block;
    width: 100%;
    text-align: center;
}

/* Profilbild als runder Background-Kreis */
#userProfilePopupPicture {
    width: 120px;
    height: 120px;
    margin: 0 auto;
    border-radius: 50%;
    border: 4px solid rgb(191 57 57);

    background-color: #000;             /* wichtig: dunkler Hintergrund unter Transparenz */
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

/* Badge als runder Background-Kreis über dem Profilbild */
#userProfilePopupBadge {
    position: absolute;
    width: 55px;
    height: 55px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

    /* Position: unten rechts über dem Profilbild (kannst du bei Bedarf fein-tunen) */
    bottom: 5px;
    right: calc(50% - 60px);
}


/* Stil für die Informationen (Name, Email) */
#userInfo {
    margin-top: 20px; /* Abstand zum Profilbild */
    margin-bottom: 10px;
}

#userProfilePopupNickname {
    font-size: 30px;
    margin-bottom: 0;
    line-height: 1.15;
    overflow-wrap: anywhere;
}

#userProfilePopup #myPublicAtNickname {
    line-height: 1.2;
    overflow-wrap: anywhere;
}

#userProfilePopupEmail {
    font-size: 14px;
    color: #bbb; /* Leicht helleres Grau für die Email-Adresse */
}

/* Stil für die Social Media Links */
#socialMediaLinks {

    text-align: center;
    display: flex;
    justify-content: flex-end;
    flex-direction: row;
    align-items: center;
    font-size: 10px;
    gap: 4px;
    margin-left: auto;
    padding-bottom: 0;
}

.userProfilePopupFollowers {
    width: 100%;
    box-sizing: border-box;
    margin: 0 0 4px;
    text-align: center;
    color: white;
    font-family: gymtimer, sans-serif;
    font-size: 14px;
    font-weight: normal;
}

.userProfilePopupFooter {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-top: 14px;
}

#userProfilePopup .userProfilePopupFooter #userProfilePopupFriendButton {
    flex: 0 0 auto;
    min-width: 76px;
    min-height: 42px;
    margin: 0;
}

#userProfilePopup #socialMediaLinks a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 10px;
    background: #0000004f;
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 10px;
    text-decoration: none;
    color: inherit;
}

#userProfilePopupRecentBadges {
    display: flex;
    flex-wrap: wrap;
    width: 184px;
    max-width: 100%;
    align-items: center;
    justify-content: center;
    margin: 16px auto 0;
    background: rgb(135 40 40);
    border-radius: 9px;
    padding: 10px;
}

#userProfilePopupRecentBadges[hidden],
#userProfilePopupBadgesMore[hidden] {
    display: none;
}

#userProfilePopupBadgeStack {
    display: contents;
}

#userProfilePopupBadgeStack img {
    position: relative;
    flex: 0 0 46px;
    width: 46px;
    height: 46px;
    object-fit: contain;
    border: none;
    border-radius: 0;
    background: none;
}

#userProfilePopupBadgesMore {
    display: inline-flex;
    flex: 0 0 46px;
    box-sizing: border-box;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 0 8px;
    border-radius: 8px;
    background: rgb(135 40 40);
    color: white;
    font: 12px gymtimer, sans-serif;
    text-decoration: none;
}

#socialMediaLinks .icon {
    width: 20px;
    height: 20px;
    vertical-align: middle;
}

#socialMediaLinks .icon:hover {
    opacity: 0.8; /* Leichter Hover-Effekt */
}

/* Stil für den Schließen-Button */
.close-profilePopup-btn {
    position: absolute;
    top: 10px;
    right: 15px;
    font-size: 30px;
    font-weight: bold;
    color: #000000; /* Weiße Schriftfarbe */
    cursor: pointer; /* Zeigt den Cursor als Pointer, um Klickbarkeit anzuzeigen */
    background: none;
    border: none;
    outline: none;
    z-index: 1;

}

.close-profilePopup-btn:hover {
    color: #ff0000; /* Rote Farbe beim Hover */
}

#userProfilePopupBadge {
    position: absolute;
    top: 70px;
    right: 40px; /* Position relativ zum Profilbild */
    z-index: 1002;
}

#popupBadge {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    margin-bottom: 10px;

    border: 4px solid rgb(165 49 49); /* Gleiche Farbe wie der Popup-Hintergrund für sauberes Aussehen */
    background-color: white;

}




.icon-container3 {
    position: fixed;
    top: 10px;
    left: 12px;
    width: 45px;
    height: 45px;
    display: inline-block;
    text-align: center;

}

.icon-container2 {
    position: fixed;
    top: 55px;
    left: 12px;
    width: 45px;
    height: 45px;
    display: inline-block;
    text-align: center;
}

.icon-container {
    position: fixed;
    top: 100px;
    left: 10px;
    width: 45px;
    height: 45px;
    display: inline-block;
    text-align: center;
    margin-top: 7px;
}

.icon-large {
    width: 45px;
    height: 45px;

}

.icon-large2 {
    width: 45px;
    height: 45px;
    border-radius: 10px;
    border: solid 2px black;

}

.icon-overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: black;
    font-size: 16px;

}

.userProfilePopupLevelOnly,
.userProfilePopupLevel,
.rankDisplay,
#rankDisplayStart,
#rankDisplayStart2,
.icon-overlay {
    color: #fff;
    text-shadow: 0 2px 2px #000, 0 0 5px #000;
}

.gymenergy-container {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 10px;
    background-color: unset;
    padding: 5px;
    border-radius: 4px;
    width: 150px;
    margin: auto;
}

.energy-value {
    font-size: 18px;

    color: rgb(255, 255, 255);
}

.icon-small {
    width: 24px;
    height: 24px;

}



#userProfilePopupFriendButton {


    padding: 5px;
    font-style: normal;
    border-radius: 5px 5px 5px 5px;
    height: 18px;
    min-height: 30px;
    text-decoration: none;
    color: white;
    font-family: gymtimer, sans-serif;
    font-size: 12px;


    }

.addFriendButton {

        background-color: #28a745;
        padding: 5px;
        font-style: normal;
        border-radius: 5px 5px 5px 5px;
        height: 18px;
        min-height: 30px;
        text-decoration: none;
        color: white;
        font-family: gymtimer, sans-serif;
        font-size: 12px;
        box-shadow: 0 3px rgb(135 40 40);


}



    .friendRequestButton {
        background-color: rgb(255, 64, 64);
        padding: 5px;
        font-style: normal;
        border-radius: 5px;
        height: 18px;
        width: 50px;
        text-decoration: none;
        color: white;
        font-family: gymtimer, sans-serif;
        font-size: 12px;

        min-height: 30px;
        border: none; /* Entfernt den Standard-Button-Rand */
        cursor: pointer; /* Zeigt den Cursor als Hand-Icon */
        box-shadow: 0 3px rgb(135 40 40);
    }

    .friendRequestButton.accept {
        background-color: #28a745; /* Grüne Farbe für den Accept-Button */
    }

    .friendRequestButton.reject {
        background-color: rgb(255, 64, 64); /* Rote Farbe für den Reject-Button */
    }


    /* SOCIAL MEDIA LINKS */


    #socialMediaSettings {
        width: 100%;
        max-width: 400px;
        margin: 0 auto;
    }

    .social-media-input-group {
        margin-bottom: 20px;
        margin-top: 20px;
        border: 1px solid rgba(255,255,255,.12);
        border-radius: 6px;
    }

    .social-media-input-group label {
        display: block;
        text-transform: uppercase;
        font-size: 15px;
        text-align: left;
        background-color: rgba(0,0,0,.18);
        border-radius: 5px 5px 0px 0px;
        padding: 5px;
    }

    .input-button-container {
        display: flex;
        align-items: center;
        gap: 10px;
        justify-content: center;
        padding: 0px 12px 10px 12px;
    }

    .input-button-container input {
        flex: 2;
        padding: 10px;
        border-radius: 0;
        border: none;
        font-size: 15px;
        background-color: #FF4040; /* Red background for input */
        color: white;
        text-transform: uppercase;
    }

    .input-button-container .edit-btn {
        flex: 1;
        padding: 10px;
        background-color: #FFDD44; /* Yellow background for button */
        border: none;
        cursor: pointer;
        text-transform: uppercase;

        color: black;
        height: 100%; /* Makes the button height match the input field */
    }

    .input-button-container .edit-btn:hover {
        background-color: #FFC107; /* Darker yellow on hover */
    }


    #instagram, #twitter, #tiktok {
        background-color: rgb(165 49 49);

        width: 250px;

        font-family: 'gymtimer';
        border-radius: 6px;
        padding: 10px 0px 10px 0px;
        border: none;
        outline: none;

    }

    #instagram[type=text], #twitter[type=text], #tiktok[type=text] {
         text-align: left;
         padding-left: 10px;
    }


     .save-btn {
            background-color: rgb(255, 64, 64);
            padding: 10px;
            font-style: normal;
            border-radius: 4px;
            text-align: center;
            text-decoration: none;
            display: inline-block;
            margin: 0 auto;
            text-decoration: none;
            color: white;
            font-family: gymtimer, sans-serif;
            height: 38px;



     }


/*
        .circular-slider {
            position: absolute;
            width: 100px;
            height: 100px;
            border-radius: 50%;

            box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
            background: radial-gradient(circle, transparent 50%, rgb(255, 64, 64) 55%);

           right: 50px;
           margin-top: -90px;
        }

        .knob {
            position: absolute;
            width: 20px;
            height: 20px;
            background: #ffffff;
            border-radius: 50%;
            transform: translate(-50%, -50%);
            cursor: pointer;
            touch-action: none;
            border: 1px solid rgb(114, 114, 114);
             box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
        }


*/

.circular-slider {
    position: sticky;
    width: 80px;
    height: 80px;
    border-radius: 50%;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
    background: radial-gradient(circle, transparent 50%, rgb(255, 64, 64) 55%);
    left: 270px;
    margin-top: -80px;
}

.circular-sliderOption {
    position: sticky;
    width: 80px;
    height: 80px;
    border-radius: 50%;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
    background: radial-gradient(circle, transparent 50%, rgb(255, 64, 64) 55%);
    left: 250px;
    margin-top: -80px;
}

.knob {
    position: absolute;
    width: 15px;
    height: 15px;
    background: #ffffff;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    cursor: pointer;
    touch-action: none;
    border: 1px solid rgb(114, 114, 114);
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
}



/* TOURNAMENT SPRING */

#tournamentButtonArea2Sprint {

    position: fixed; /* Fixierte Positionierung */
    top: 155px; /* 200px vom oberen Rand entfernt */
    right: 76px;
    display: flex;
    flex-direction: column; /* Ordne die Buttons vertikal untereinander an */
    background-color: none;
    width: 55px;
    height: 55px;
    animation: pump 0.3s ease;

}

#tournamentButtonAreaSprint {
    position: absolute; /* Fixierte Positionierung */

    display: flex;
    flex-direction: column; /* Ordne die Buttons vertikal untereinander an */

    background-image: url(img/sprint_icon.webp);
    background-size: 55px 55px; /* Setze die Größe des Hintergrundbildes */
    background-repeat: no-repeat;
    width: 55px;
    height: 55px;
    animation: pump 0.3s ease;

}

#tournamentButtonAreaSprint:active {
    width: 55px; /* Macht das div beim Klicken 3px schmaler */
    height: 55px; /* Macht das div beim Klicken 3px kürzer */
    background-size: 59px 59px; /* Passt die Größe des Hintergrundbildes an */
}

 #tournamentpageSprint {
        display: flex;
        justify-content: center;
        align-items: center;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%; /* Stellt sicher, dass der gesamte Viewport abgedeckt ist */
        font-size: 25px;
        background-color: rgb(191 57 57);
        z-index: 10; /* Setzt sicher, dass das Element über anderen Elementen liegt */
        max-width: 400px;
        margin: auto;
 }

#mainCountdownTimerSprint{
    width: 45px;
    margin-top: 40px;
    margin-left: 2px;
    font-size: 8px;
    z-index: 9999;
    background-color: black;
    color: white;
    padding: 3px;
    border-radius: 5px 5px 5px 5px;
    font-family: 'roboto';



}



.scrollableLeaderboardListSprint {
    /*  max-height: 350px; /* Adjust based on your design needs */
      overflow-y: auto; /* Enables vertical scrolling */
      padding-top: 5px; */
      border: 0px solid #ccc; /* Optional: adds a border around the scrollable area */
      border-radius: 10px; /* Optional: rounds the corners of the scrollable area */
      background-color: none;

}

#leaderboardSprint {

      color: #000;
      margin-left: 20px;
      margin-right: 20px;
      margin-top: 295px;

}
#countdownTimerTournamentSprint {

    background-color: #000;
    font-size: 15px;
    padding: 5px;
    width: 100%;
    position: fixed;
    top: 98px;
    right: 0;
    left: 0;
    z-index: 2;

}
.closeSprint {

    background-color: rgb(255, 64, 64);
    height: 60px;
    margin-left: 0px;
    margin-right: 0px;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1;
    color: black;
    padding: 8px;
    box-shadow:  0 -6px 6px -6px rgba(0, 0, 0, 0.4);
}
.closeSprint i{
    font-size: 35px;
    padding-top: 5px;
    height: 44px;
}

/* NEWS */

.modal-contentNews {
    max-height: 250px; /* Legen Sie eine maximale Höhe fest */
    overflow-y: auto; /* Aktiviert Scrollen bei vertikalem Überlauf */
    margin: 10px 0; /* Abstand oben und unten */
    padding: 0px 10px 10px 10px; /* Innenabstand */
    background-color: rgb(135 40 40); /* Optional: Hintergrundfarbe */
    border-radius: 5px; /* Optional: Abgerundete Ecken */

    box-shadow:
    inset 0 6px 6px -6px rgba(0, 0, 0, 0.4),   /* oben */
    inset 0 -6px 6px -6px rgba(0, 0, 0, 0.4);
}





/* FIRENDS  */

#friendpage {
    /* display: none; Standardmäßig ausgeblendet */
    position: fixed;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    height: 100%;
    margin-top: 30px;
    background-color: rgb(191 57 57);


    }


#searchResults {

    flex-direction: column;
    align-items: left;
    width: 100%;
    max-height: 55vh;
    overflow-y: auto;
    color: #000000;
    justify-content: center;
}

#searchResults .friendItem {
    display: flex;
    align-items: center;
    height: 40px;
    font-size: 12px;
    background-color: #d8d8d8;
    border-radius: 10px;
    margin-bottom: 5px;
    padding: 5px;
}

#searchResults .friendItem button {
    margin-left: auto;
    background-color: rgb(255, 64, 64);
    color: white;
    border-radius: 5px;
    padding: 5px 10px;
    cursor: pointer;
}



#searchResults .pendingFriendButton {
    background-color: grey !important;
    cursor: not-allowed;
    height: 40px;
    font-size: 12px;
    font-family: gymtimer, sans-serif;
}

.friend-section {
    display: none; /* Standardmäßig ausblenden */
    padding: 20px;
    padding-top: 60px;
    max-width: 400px;
    margin: auto;

}


#searchFriendInput {
    background-color: rgb(165 49 49);
    color: black;
    width: 250px;

    font-family: 'gymtimer';
    border-radius: 5px 0px 0px 5px;
    padding: 10px 0px 10px 0px;
    border: none;
    outline: none;


}

#searchFriendInput[type=text] {
     text-align: left;
     padding-left: 10px;
     color: white;
}


#searchFriendButton, #addFriendButton {
    background-color: rgb(255, 64, 64);
    padding: 10px;
    font-style: normal;
    border-radius: 0px 5px 5px 0px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    margin: 0 auto;
    text-decoration: none;
    color: white;
    font-family: gymtimer, sans-serif;
    height: 38px;



}

.friends-input-button-container {
    display: flex;
    align-items: center;
}

.friendInviteEnergyIcon {
    width: 14px;
    height: 14px;
    object-fit: contain;
    vertical-align: text-bottom;
}

.friends-input-button-container input {
    flex: 2;
    padding: 10px;
    border-radius: 0;
    border: none;
    font-size: 15px;
    background-color: #FF4040; /* Red background for input */
    color: white;
    text-transform: uppercase;
}

#inviteCodeInput {
    background-color: rgb(165 49 49);
    color: black;
    width: 250px;
    font-family: 'gymtimer';
    border-radius: 5px 0px 0px 5px;
    padding: 10px 0px 10px 0px;
    border: none;
    outline: none;
}

#inviteCodeInput[type=text] {
    text-align: left;
    padding-left: 10px;
    color: white;
}

#useInviteCodeButton {
    font-size: 15px;
    width: 60px;
    height: 40px;
    margin: 0;
    border-radius: 5px;
}

#inviteCodeInput:disabled,
#useInviteCodeButton:disabled {
    background-color: rgba(75, 75, 75, 0.8) !important;
    color: rgba(255, 255, 255, 0.75) !important;
    cursor: not-allowed;
    box-shadow: none;
    filter: grayscale(1);
    opacity: 0.9;
}

.friends-input-button-container .edit-btn {
    flex: 1;
    padding: 10px;
    background-color: #FFDD44; /* Yellow background for button */
    border: none;
    cursor: pointer;
    text-transform: uppercase;
    color: black;
    height: 100%; /* Makes the button height match the input field */
}

.friends-input-button-container .edit-btn:hover {
    background-color: #FFC107; /* Darker yellow on hover */
}

#friendLinkInput {
    background-color: rgb(165 49 49);
    color: black;
    width: 250px;

    font-family: 'gymtimer';
    border-radius: 5px 0px 0px 5px;
    padding: 10px 0px 10px 0px;
    border: none;
    outline: none;

}

#profileNameInput, #code, #profileDescriptionInput, #editProfileDescription, #editProfileName {
    background-color: rgb(165 49 49);
    color: black;
    width: 100%;
    box-sizing: border-box;
    margin-bottom: 10px;

    font-family: 'gymtimer';
    border-radius: 5px 5px 5px 5px;
    height: 35px;
    border: none;
    outline: none;

}

#profileNameInput[type=text], #code[type=text], #friendLinkInput[type=text], #profileDescriptionInput[type=text], #editProfileName[type=text], #editProfileDescription[type=text] {
    text-align: left;
    padding-left: 10px;
   color: white;

}

::placeholder {
    color: black;
    opacity: 0.3; /* Firefox */


}

.invite-friend-points {
    display: inline-flex; /* Flexbox für Inline-Ausrichtung */
    align-items: center; /* Vertikale Ausrichtung in der Mitte */
    gap: 5px; /* Abstand zwischen Text und Icon */
    font-size: 25px; /* Schriftgröße für Text */

}

.points-icon2 {
    width: 20px; /* Breite des Icons */
    height: 20px; /* Höhe des Icons */
    vertical-align: middle; /* Sicherstellen, dass das Icon vertikal zentriert ist */
}

#linkCodeDisplay {
    padding: 5px;
    background-color: rgb(165 49 49);
    font-size: 25px;
}

.code-container,
.publicProfileLinkWrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  min-width: 0;
  box-sizing: border-box;
  margin: 14px 0 0;
  padding: 8px;
  border: none;
  border-radius: 9px;
  background: rgb(165 49 49);
}

.bottomFriendsPage i{
    font-size: 35px;
    padding-top: 5px;
    height: 44px;
    }

.bottomFriendsPage {
    background-color: rgb(255, 64, 64);
    margin-left: 0px;
    margin-right: 0px;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1;
    color: black;
    padding: 8px;
    box-shadow:  0 -6px 6px -6px rgba(0, 0, 0, 0.4);
}



/* DASHBOARD */

/*NICKNAME*/

.nickname-container {
    display: flex; /* Flexbox aktivieren */
    align-items: center; /* Vertikal zentrieren */
    justify-content: center;

    gap: 10px; /* Abstand zwischen den Elementen */
    margin: 10px 0; /* Optional: Abstand zum nächsten Element */
}

.nickname {
    font-size: 25px;
    margin-left: 15px;
    margin-top: 10px;
    color: #ffffff;
    white-space: nowrap; /* Verhindert Zeilenumbrüche */
}

#change-nickname-button {
    font-size: 12px;
    padding: 5px 10px;
    border: none;
    border-radius: 5px;
    background-color: rgb(255, 64, 64);
    color: white;
    cursor: pointer;
    white-space: nowrap; /* Verhindert Zeilenumbrüche */
    font-family: gymtimer, sans-serif;
    box-shadow: 0 3px rgb(135 40 40);
    height: 30px;
}

#change-nickname-button:hover {
    background-color: #0056b3;
}

#change-nickname-button:active {
    transform: scale(0.95);
}

/* Dashboard Profile Picture */

.profilePicturePopup {
    position: fixed; /* Popup fixiert über dem Inhalt */
    z-index: 100; /* Stellt sicher, dass das Popup über anderen Elementen angezeigt wird */
    left: 0;
    top: 0;
    width: 100%; /* Vollbildbreite */
    height: 100%; /* Vollbildhöhe */
    background-color: none; /* Dunkler Hintergrund */
    display: flex;
    justify-content: center; /* Zentriert den Inhalt horizontal */
    align-items: center; /* Zentriert den Inhalt vertikal */
}

.profilePicture-content {
    background-color: rgb(191 57 57);

    padding: 20px; /* Innenabstand */
    border-radius: 10px; /* Abgerundete Ecken */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.7); /* Leichter Schatten für Tiefe */
    text-align: center; /* Zentriert den Text */
    max-width: 250px; /* Maximale Breite des Popups */
    width: 100%; /* Passt sich der Bildschirmbreite an, max. jedoch 600px */
    font-size: 20px;
    animation: pump 0.3s ease;
}

.profilePicture-content2 {
    background-color: rgb(191 57 57); /* Weißer Hintergrund für den Popup-Inhalt */
    padding: 20px; /* Innenabstand */
    border-radius: 8px; /* Abgerundete Ecken */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.7); /* Leichter Schatten für Tiefe */
    text-align: center; /* Zentriert den Text */
    max-width: 230px;
    width: 230px; /* Maximale Breite des Popups */
    display: block;
    font-size: 20px;
    animation: pump 0.3s ease;
}






.profilePicturelocked  {

    opacity: 0.5;
}

/* ✅ Haupt-Grid für die Profilbild-Auswahl */
.profile-picture-grid {
    display: flex;
    flex-direction: column; /* Sektionen untereinander anzeigen */
    gap: 20px; /* Abstand zwischen den Sektionen */
    margin-top: 20px;
    height: 300px;
    overflow-y: auto; /* Scrollbar bei Bedarf */
    padding: 10px;
    border-radius: 8px;
    align-items: center; /* Zentrierung der Sektionen horizontal */
    box-shadow:
    inset 0 6px 6px -6px rgba(0, 0, 0, 0.4),   /* oben */
    inset 0 -6px 6px -6px rgba(0, 0, 0, 0.4);
}

/* ✅ Abschnitt für Profilbilder (Uploaded & Standard) */
.profile-picture-section {
    display: grid;
    grid-template-columns: repeat(2, 60px); /* Genau 3 Bilder pro Reihe */
    gap: 10px; /* Abstand zwischen den Bildern */
    justify-content: center; /* Zentrierung der Bilder in der Sektion */
    background-color: rgb(135 40 40);
    padding-top: 20px;
    padding-bottom: 35px;
    width: 100%;
    border-radius: 10px 10px 10px 10px;
}

/* ✅ Wrapper für jedes Profilbild */
.profile-picture-wrapper {
    position: relative;

    justify-content: center;
    align-items: center;

    border-radius: 50%;
}

/* ✅ Profilbild selbst */
.profile-picture-option {
    width: 100%;
    height: 100%;
    object-fit: cover;
    cursor: pointer;
    border: 2px solid #FF4040;
    border-radius: 50%;
    overflow: hidden;
    transition: border-color 0.3s;
    height: 60px;
    width: 60px;
}

/* ✅ Löschen-Button für Benutzer-Uploads */
.profile-picture-wrapper .delete-icon {
    position: absolute;
    top: 0;
    right: 0;
    background: red;
    color: white;
    border-radius: 50%;
    width: 18px;
    height: 18px;
    text-align: center;
    line-height: 18px;
    font-size: 12px;
    cursor: pointer;
    z-index: 10;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
    border: 1px solid white;
    transition: background 0.3s;
}

/* ✅ Titel für die Sektion */
.profile-picture-section h4 {
    grid-column: span 3; /* Titel über die volle Breite der Sektion */
    text-align: center;
    margin-bottom: 10px;
    margin-top: 0px;


}





/* ✅ Hover-Effekt für Profilbilder */
.profile-picture-option:hover {
    border-color: #007bff;
}

/* ✅ Profilbild-Bild */
.profile-picture-option img {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    display: block;
}

/* ✅ Gelockte (nicht freigegebene) Profilbilder */
.profilePicturelocked {
    opacity: 0.5;
    cursor: not-allowed;

}



/* ✅ Hover-Effekt für Löschen-Button */
.profile-picture-wrapper .delete-icon:hover {
    background: darkred;
}



/* ✅ Responsives Design für kleinere Bildschirme */

    .profile-picture-section {
        grid-template-columns: repeat(2, 60px); /* Zwei Bilder pro Reihe auf kleinen Bildschirmen */
        gap: 8px;
        background-color: rgb(135 40 40);
        border-radius: 10px 10px 10px 10px;
        padding-bottom: 35px;
        padding-top: 20px;
        width: 100%;

    }

    .profile-picture-wrapper {
        width: 60px;
        height: 60px;
    }

    .profile-picture-option {
        border-width: 2px;
        height: 60px;
    }

    .profile-picture-wrapper .delete-icon {
        width: 16px;
        height: 16px;
        font-size: 10px;
        line-height: 16px;
    }





/* ✅ Benutzerdefinierter Upload-Button */
#customUploadButton {
    background-color: rgb(255, 64, 64);
    padding: 10px;
    font-style: normal;
    border-radius: 5px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    color: white;
    font-family: 'gymtimer', sans-serif;
    font-size: 15px;
    cursor: pointer;
    border: none;
    height: 45px;
    width: 180px;
    margin-bottom: 10px;
    margin-top: 20px;
}

.customUploadButtonGymwars {
    background-color: rgb(255, 64, 64);
    padding: 10px;
    font-style: normal;
    border-radius: 5px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    color: white;
    font-family: 'gymtimer', sans-serif;
    font-size: 15px;
    cursor: pointer;
    border: none;
    width: 180px;
}





.popupBlackBackground {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5); /* Halbtransparenter schwarzer Hintergrund */
    z-index: 2;
}

.popupBlackBackground2 {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5); /* Halbtransparenter schwarzer Hintergrund */
    z-index: 2;
}

.friend-invite {

    width: 220px;
    height: 220px;
    animation: pump 0.3s ease;
}

#inviteFriendsSection {
    position: fixed;               /* Fixiert den Container relativ zum Viewport */
    left: 50%;                     /* Positioniert den Container 50% von links */
    transform: translateX(-50%);

    flex-direction: column;        /* Ordnet die Kinder untereinander an */
    align-items: center;           /* Zentriert die Kinder horizontal */
    justify-content: flex-start;
    text-align: center;            /* Zentriert den Textinhalt */
    max-height: calc(100vh - 220px);
    overflow-y: auto;
    padding-bottom: 20px;
    padding-top: 0px !important;
}


/* LEVEL POPUP */

.popupLevelUp {
    display: none;
    position: fixed;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background-color: rgba(0, 0, 0, 0.7);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999;
  }

  /* Popup-Box (falls du sie stylen willst) */
  .popup-content-levelUp {
    padding: 20px 40px;
    border-radius: 8px;
    background: transparent; /* oder eine Farbe, wenn du magst */
  }

  /* Jede einzelne Zeile */
  #levelUpAnim .line {
    font-size: 70px;
    color: yellow;
    opacity: 0;
    /* Animation defined below */
    animation: fadeUp 1.5s ease forwards;
  }

  /* Versetzte Starts per JS über inline style.animationDelay */

  /* Keyframes: fade in, kurz halten, fade out nach oben */
  @keyframes fadeUp {
    0%   { opacity: 0; transform: translateY(20px); }
    20%  { opacity: 1; transform: translateY(0);    }
    60%  { opacity: 1; transform: translateY(0);    }
    100% { opacity: 0; transform: translateY(-20px); }
  }

/* ANIMATION FLY IN VOUCHER */

/* Bild ist normal sichtbar und zoomt dann nach hinten weg */
.voucherFlyIn {
    width: 110px;
    height: 110px;
    border-radius: 15px;
    object-fit: cover;

    /* Start normal */
    transform: scale(1) translateZ(0);
    opacity: 1;

    animation: voucherImpactReverse 0.9s ease-out forwards;
}

/* Reverse: vor dem Display → zurückfliegen → shake → normal */
@keyframes voucherImpactReverse {
    0% {
        transform: scale(2) translateZ(200px); /* sehr nah am Gesicht */
        opacity: 0.2;
    }
    20% {
        transform: scale(1.2) translateZ(40px);
        opacity: 1;
    }
    50% {
        transform: scale(1) translateZ(0); /* Aufprallpunkt */
    }
    65% {
        transform: scale(1.05) rotate(0.7deg); /* Shake */
    }
    85% {
        transform: scale(0.98) rotate(-0.7deg);
    }
    100% {
        transform: scale(1) rotate(0deg); /* stabil stehen bleiben */
        opacity: 1;
    }
}



/* Animation */

@keyframes pump {
    0%   { transform: scale(1); }
    50%  { transform: scale(1.1); }
    100% { transform: scale(1); }
}

@keyframes pump50 {
    0%   { transform: translateX(-50%) scale(1); }
    50%  { transform: translateX(-50%) scale(1.1); }
    100% { transform: translateX(-50%) scale(1); }
}

@keyframes pump5050 {
    0%   { transform: translate(-50%, -50%) scale(1); }
    50%  { transform: translate(-50%, -50%) scale(1.1); }
    100% { transform: translate(-50%, -50%) scale(1); }
  }



  #energy-collect-container {
    position: relative;
    width: 50px;
    height: 50px;
    overflow: visible;
    z-index: 1;
    top: -4px;
    left: 90px;
  }

  #energy-collect-container img.coin {
    position: absolute;
    bottom: 0;
    left: calc(50% + var(--left-offset, 0px));
    width: 32px;
    height: 32px;
    animation: vibrate 0.3s linear 1 forwards;
    pointer-events: none;
  }

  @keyframes coin-anim {
    from {
      transform: translateY(0) scale(1);
      opacity: 1;
    }
    to {
      transform: translateY(-100px) scale(0.5);
      opacity: 0;
    }
  }

 @keyframes vibrate {
  0%   { transform: translateX(-50%) translateY(0); }
  20%  { transform: translateX(-50%) translate(-1px, 1px); }
  40%  { transform: translateX(-50%) translate(-1px, -1px); }
  60%  { transform: translateX(-50%) translate(1px, 1px); }
  80%  { transform: translateX(-50%) translate(1px, -1px); }
  100% { transform: translateX(-50%) translateY(0); }
}


  /* Heist Container */
  #heistContainer {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    max-width: 375px;
    width: 320px;
    max-width: 400px;
    max-height: 400px;
    height: 320px;
    background-image: url(https://dev.app.gymbattlz.com/appdata/img/events/heist/vault.webp);
    background-repeat: no-repeat;
    background-size: cover;
    border-radius: 8px;
    font-family: gymtimer, sans-serif;
    text-align: center;
    

  }



#shieldImage {
  position: absolute;
  top: 277px;    /* Dein gewünschter Abstand von oben */
  right: 30px;  /* Dein gewünschter Abstand von rechts */
  display: none;
 
}

#shieldImage img {
  width: 48px;  /* Beispielgröße */
  height: auto;
}

#heistLogo {
  position: absolute;
  top: -13px;    /* Dein gewünschter Abstand von oben */
  right: 70px;  /* Dein gewünschter Abstand von rechts */
  z-index: 100; /* Damit es immer oben liegt */
}

#heistLogo img {
  width: 180px;  /* Beispielgröße */
  height: auto;
}

  /* Mega-Heist: */
#heistContainer.mega {
  background-image: url('https://dev.app.gymbattlz.com/appdata/img/events/heist/vaultmegaopen.webp');
}

#heistContainer.normal {
  background-image: url('https://dev.app.gymbattlz.com/appdata/img/events/heist/vaultnormalopen.webp');
}

#heistContainer.closed {
  background-image: url('https://dev.app.gymbattlz.com/appdata/img/events/heist/vault.webp');
}

.heist-result-header {
  position: fixed;
  top: -15px;
  font-size: 33px;
  text-align: center;
  left: 0;
  right: 0;
  margin: auto;
  width: 180px;



}

.heistenergy-icon {
  width: 28px;
  height: 28px;
  vertical-align: sub;
 
}

/* Die normalen Zeilen darunter */
.heist-result-lineLocker {
  font-size: 10px;
  text-align: center;
  position: fixed;
  left: 0;
  right: 0;
  background: #00000091;
  width: 149px;
  padding: 4px;
  margin-left: 85px;
  border-radius: 4px;
  color: white;
}

.heist-result-lineCorrect {
  font-size: 0.8rem;
  text-align: center;
  position: fixed;
  
  width: 25%;
  padding: 4px;
  color: yellow;
  border-radius: 4px;
  top: 185px;
  background-color: #00000091;


}

.heist-result-lineStolen {
  font-size: 25px;
  text-align: center;
  position: fixed;
  left: 0;
  right: 0;
  color: #00A4FF;
  background: #00000091;
  max-width: 100%;
  border-radius: 6px;
  margin: auto;
  margin-left: 84px;
  margin-right: 77px;
  padding: 4px;
  top: 135px;


}

  /* Input-Felder */
  #heistInputs {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-bottom: 12px;
    font-family: gymtimer, sans-serif;
  }
  #heistInputs input {
    width: 20px;
    padding: 8px;
    font-size: 18px;
    text-align: center;
    border: 2px solid #ff4040;
    border-radius: 5px;
    background-color: #fff5f5;
    font-family: gymtimer, sans-serif;
  }

  /* Heist-Button */
  #heistBtn {
    position: fixed;
    top: 120px;
    left: 0;
    right: 0;
    margin: auto;
    padding: 8px;
    background-color: #00A4FF;
    color: white;
    font-size: 16px;
    border: solid 2px black;
    border-radius: 5px;
    cursor: pointer;
    transition: transform 0.2s ease, opacity 0.2s ease;
    font-family: gymtimer, sans-serif;
    width: 130px;
    line-height: 0.9;
    box-shadow: 0 3px 0 0px #004368;
  }
  #heistBtn:hover:not(.heistBtnDisabled) {
    transform: scale(1.05);
  }
  #heistBtnDisabled {
    opacity: 0.6;
    cursor: not-allowed;
    background-color: grey;
  }

   #confirmBtn {
    padding: 10px 20px;
    background-color: #ff4040;
    color: white;
    font-size: 16px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    transition: transform 0.2s ease, opacity 0.2s ease;
    font-family: gymtimer, sans-serif;
  }
  #confirmBtn:hover:not(.heistBtnDisabled) {
    transform: scale(1.05);
  }
  #confirmBtnDisabled {
    opacity: 0.6;
    cursor: not-allowed;
    background-color: grey;
  }

  #shieldBtn {
    position: fixed;
    top: 180px;
    right: 0;
    left: 0;
    margin: auto;
    padding: 8px;
    background-color: #00A4FF;
    color: white;
    font-size: 16px;
    width: 130px;
    border-radius: 5px;
    cursor: pointer;
    transition: transform 0.2s ease, opacity 0.2s ease;
    font-family: gymtimer, sans-serif;
    border: solid 2px black;
    line-height: 0.9;
    box-shadow: 0 3px 0 0px #004368;
  }
  #shieldBtn:hover:not(.heistBtnDisabled) {
    transform: scale(1.05);
  }
  #shieldBtnDisabled {
    opacity: 0.6;
    cursor: not-allowed;
    background-color: grey;
    box-shadow: 0 3px 0 3px #4e4e4e;
  }

.code-display {
  position: fixed;
  background: #B5C5AD;
  border-radius: 5px;
  left: 90px;
  top: 55px;
  width: 137px;
  font-size: 2rem;
  letter-spacing: 0.5rem;
  margin: 1rem 0;
  min-height: 2.5rem;
  display: none;
  padding: 3px;
  color: black;
  border: solid black 2px;
}

.numpad {
  position: fixed;
  left: 88px;
  bottom: 80px;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.5rem;
  max-width: 150px;
  margin: 0 auto 1rem;
}

.numpad button {
  font-size: 1.5rem;
  padding: 0.5rem;
  cursor: pointer;
  border: solid 2px black;
  background: lightslategray;
  font-family: 'gymtimer';
  line-height: 1.2;
}

  /* Ergebnis-Anzeige */
  .heistDisplay {
    position: fixed;
    top: 100px;
    left: 85px;
    width: 280px;
    margin-top: 12px;
    min-height: 60px;
   
    font-size: 15px;
    color: #333;

  }

  /* Animation für richtige/wrong Eingaben */
  @keyframes flashCorrect {
    from { background-color: #d4edda; }
    to   { background-color: transparent; }
  }
  @keyframes flashWrong {
    from { background-color: #f8d7da; }
    to   { background-color: transparent; }
  }

  .heist-correct {
    animation: flashCorrect 0.8s ease-out forwards;
  }
  .heist-wrong {
    animation: flashWrong 0.8s ease-out forwards;
  }

  /* GymEnergy-Anzeige */
  #energyDisplay {

    color: #000000;
    position: fixed;
    top: 283px;
    right: 0;
    left: 0;
    margin: auto;
    width: 200px;
    background-color: #00A4FF;
    border-radius: 5px;
    padding: 5px 5px 0px 5px;
    border: solid black 2px;
    font-size: 20px;

  }

  @keyframes smash {
  0% {
    transform: scale(1) rotate(0deg);
  }
  20% {
    transform: scale(1.05) rotate(2deg);
  }
  40% {
    transform: scale(0.95) rotate(-2deg);
  }
  60% {
    transform: scale(1.02) rotate(1deg);
  }
  80% {
    transform: scale(0.98) rotate(-1deg);
  }
  100% {
    transform: scale(1) rotate(0deg);
  }
}

@keyframes smash5050 {
  0% {
    transform: translate(-50%, -50%) scale(1)   rotate(0deg);
  }
  10% {
    transform: translate(-50%, -50%) scale(1.05) rotate(2deg);
  }
  20% {
    transform: translate(-50%, -50%) scale(0.95) rotate(-2deg);
  }
  30% {
    transform: translate(-50%, -50%) scale(1.02) rotate(1deg);
  }
  40% {
    transform: translate(-50%, -50%) scale(0.98) rotate(-1deg);
  }
  50% {
    transform: translate(-50%, -50%) scale(1)   rotate(0deg);
  }
  60% {
    transform: translate(-50%, -50%) scale(1.05) rotate(2deg);
  }
  70% {
    transform: translate(-50%, -50%) scale(0.95) rotate(-2deg);
  }
  80% {
    transform: translate(-50%, -50%) scale(1.02) rotate(1deg);
  }
  90% {
    transform: translate(-50%, -50%) scale(0.98) rotate(-1deg);
  }
  100% {
    transform: translate(-50%, -50%) scale(5)   rotate(0deg);
  }


}

.smash5050 {
  animation: smash5050 7s infinite ease-in-out;
  transform-origin: center center;
}

  .heist-intro {
    position: fixed;
    top: 120px;
    left: 85px;
    width: 150px;
    margin-top: 12px;
    min-height: 60px;
    white-space: pre-line; /* Zeilenumbrüche anzeigen */
    font-size: 20px;
    color: #000;
    animation: smash 3s ease-in-out infinite both;
  }

  .fade-up {
    opacity: 0;
    display: block;
    animation: fadeUp 3s ease-in-out forwards;
  }

  @keyframes fadeInUp {
    0%   { opacity: 0; transform: translateY(20px); }
    100% { opacity: 1; transform: translateY(0); }
  }

  .fade-in-up {
    opacity: 0;
    animation: fadeInUp 1s ease-out forwards;
  }

  .heist-cooldown {
    font-size: 1.2em;

    color: darkslategrey;
    margin-top: 10px;
  }


  /* ACITVITYS */

 .calendar-container {
  background: rgb(22 22 22);
  border-radius: 12px;
  padding: 14px;
  margin-bottom: 10px;
  margin-left: 20px;
  margin-right: 20px;
}

.calendar-nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 4px;
  font-size: 18px;
}

.calendar-table {
  width: 100%;
  font-size: 16px;
  table-layout: fixed;
}

/* Header */
.calendar-table th {
  text-align: center;
  height: 24px;
  font-weight: 800;
  color: #fff;
  opacity: 0.85;
}

/* Day cells */
.calendar-table td {
  position: relative;
  width: 24px;
  height: 24px;
  border-radius: 5px;
  cursor: pointer;

  /* Inhalte manuell positionieren */
  text-align: left;
  vertical-align: top;

  /* etwas Luft für Tag + Icon */
  padding: 3px 4px;

  /* Zahl im TD nicht direkt anzeigen (wir nutzen data-day) */
  color: transparent;
  font-weight: 800;
}

/* 📅 Tag links oben */
.calendar-table td::before {
  content: attr(data-day);
  position: absolute;
  top: 3px;
  left: 5px;
  font-size: 13px;
  font-weight: 900;
  color: #fff;
}

/* ✅ Eintrag vorhanden (gelber Rand) */
.calendar-table .has-entry {
  border: 2px solid #FFD23F;
}

/* ⭐ Selected */
.calendar-table .selected {
  background: #FFD23F;
}

/* ✅ Workout gemacht: Haken rechts unten */
.calendar-table td.did-workout::after {
  content: "💪";
  position: absolute;
  bottom: 3px;
  right: 1px;
  font-size: 14px;
  font-weight: 900;
  color: rgb(60, 204, 60);
  text-shadow: 0 1px 2px rgba(0,0,0,0.6);
}

/* ❌ Kein Workout: rot + X rechts unten */
.calendar-table td.no-workout {
  background: rgba(255, 64, 64, 0.35);
}

.calendar-table td.no-workout::after {
  content: "❌";
  position: absolute;
  bottom: 3px;
  right: 1px;
  font-size: 14px;
  font-weight: 900;
  color: rgb(255, 64, 64);
  text-shadow: 0 1px 2px rgba(0,0,0,0.6);
}

/* ✅ Selected gewinnt: Datum + Icon werden weiß */
.calendar-table td.selected::before,
.calendar-table td.selected::after {
  color: #fff;
}

/* --- Stats UI bleibt wie gehabt --- */

#dayStatsContainer, #weeklyStatsContainer, #monthStatsContainer, #daySessionsContainer {

  font-size: 16px;

  margin: 20px;
}

#stepsHeader {
  flex-direction: column;
  align-items: stretch;
  gap: 12px;
}

#stepsHeader .steps-header-main {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

#stepsModeSelector {
  display: none;
  flex-direction: column;
  gap: 8px;
  width: 100%;
  
  
 
}

#stepsModeSelector.is-visible {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;

}

#stepsModeLabel {
  color: rgba(255, 255, 255, 0.88);
  font-size: 14px;
  letter-spacing: 1px;
}

.steps-mode-toggle {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.steps-mode-option {
  border: 2px solid #000;
  border-radius: 10px;
  background: rgba(0, 0, 0, 0.35);
  color: rgba(255, 255, 255, 0.82);
  font-family: 'gymtimer', sans-serif;
  font-size: 16px;
  letter-spacing: 0.6px;
  padding: 10px 12px;
  cursor: pointer;
  transition: transform 0.16s ease, background-color 0.16s ease, color 0.16s ease, opacity 0.16s ease;
}

.steps-mode-option.is-active {
  background: rgb(255, 64, 64);
  color: #fff;
  transform: translateY(-1px);
}

.steps-mode-option:disabled {
  opacity: 0.55;
  cursor: default;
  transform: none;
}

#userStepsMeta {
  width: 100%;
  height: 16px;
  margin-bottom: 12px;
  position: relative;
}

#userStepsDistanceLabel {
  color: black;
  font-size: 13px;
  position: absolute;
  left: 20px;
  top: 0;
}

#userStepsDistance {
  color: black;
  font-size: 13px;
  position: absolute;
  left: 41px;
  top: 0;
  width: 52px;
  text-align: right;
  white-space: nowrap;
}

#userStepsPaceLabel {
  color: black;
  font-size: 13px;
  position: absolute;
  right: 66px;
  top: 0;
}

#userStepsPace {
  color: black;
  font-size: 13px;
  position: absolute;
  right: 19px;
  top: 0;
  width: 52px;
  text-align: right;
  white-space: nowrap;
}

#userStepsWidget {
  width: 230px;
  height: 230px;
  background-image: url("img/timer/gymtimer.webp");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  background-color: transparent;
}

#stepsBadgeFoundOverlay {
  display: none;
  position: fixed;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 6;
  min-width: 190px;
  max-width: 260px;
  padding: 16px 18px;
  border-radius: 16px;
  background: rgba(0, 0, 0, 0.82);
  border: 1px solid rgba(255, 210, 63, 0.35);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.35);
  text-align: center;
  pointer-events: none;
}

#stepsBadgeFoundOverlayImage {
  width: 56px;
  height: 56px;
  object-fit: contain;
  margin: 0 auto 8px;
}

#stepsBadgeFoundOverlayTitle {
  color: #FFD23F;
  font-family: gymtimer, sans-serif;
  font-size: 24px;
  line-height: 1;
}

#stepsBadgeFoundOverlayName {
  margin-top: 8px;
  color: #fff;
  font-size: 12px;
  line-height: 1.25;
}

#userStepsTimer {
  font-size: 18px;
  color: black;
  margin-left: 0;
  margin-bottom: 3px;
}

@media (min-width: 748px) and (min-height: 600px) {
  #userStepsWidget {
    width: 350px !important;
    height: 350px !important;
  }

  #userStepsMeta {
    margin-bottom: 18px;
  }

  #userStepsTimer {
    font-size: 28px;
  }

  #userStepsLabel {
    font-size: 80px !important;
  }

  #stepsModeSelector {
    padding: 12px 16px;
  }

  #stepsModeLabel {
    font-size: 16px;
  }

  .steps-mode-option {
    font-size: 18px;
    padding: 12px 14px;
  }

  #userStepsDistanceLabel {
    font-size: 25px;
    left: 34px;
    top: -10px;
  }

  #userStepsDistance {
    font-size: 25px;
    left: 80px;
    top: -10px;
    width: 72px;
  }

  #userStepsPaceLabel {
    font-size: 25px;
    right: 100px;
    top: -10px;
  }

  #userStepsPace {
    font-size: 25px;
    right: 34px;
    top: -10px;
    width: 72px;
  }
}

#prevMonth, #nextMonth, #prevWeek, #nextWeek, #prevMonth2, #nextMonth2 {
  background-color: rgb(255, 64, 64);
}

.stats-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-bottom: 12px;
}

.stat-card {
  background: rgb(22 22 22);
  border-radius: 10px;
  padding: 14px 12px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  color: #fff;
}

.stat-title {
  font-size: 13px;
  margin-bottom: 4px;
}

.stat-value {
  font-size: 21px;
  color: #FFD23F;
}

.stat-date {
  font-size: 13px;
  margin-top: 6px;
  color: #888;
  text-align: right;
}


/* ACTIVITY PROFILES */

.activity-session-filters {
  position: fixed;
  top: 60px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: end;
  gap: 10px;
  width: calc(100% - 40px);
  max-width: 360px;
  height: 150px;
  box-sizing: border-box;
  margin: 0;
  padding: 12px;
  border-radius: 14px;
  background: rgb(22 22 22);
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.24);
}

.activity-session-filter-field {
  display: grid;
  gap: 6px;
  min-width: 0;
  color: rgba(255, 255, 255, 0.7);
  font-size: 11px;
}

.activity-session-filter-field input,
.activity-session-filter-field select {
  width: 100%;
  min-width: 0;
  height: 42px;
  box-sizing: border-box;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 9px;
  background-color: rgb(41 41 41);
  color: #fff;
  padding: 0 10px;
  font: inherit;
  font-size: 13px;
  color-scheme: dark;
  outline: none;
}

.activity-session-filter-field input:focus,
.activity-session-filter-field select:focus {
  border-color: rgb(255, 64, 64);
  box-shadow: 0 0 0 1px rgba(255, 64, 64, 0.25);
}

.session-list {
  display: grid;
  gap: 10px;
  margin-top: 10px;
}

/* GRID-AREAS */
.session-card {
  background: rgb(22 22 22);
  border-radius: 12px;
  padding: 12px;
  border: 2px solid rgba(255, 255, 255, 0.06);
  position: relative;

  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-areas:
    "workout total"
    "details details"
    "delete delete";
  gap: 8px 10px;

  cursor: pointer;
}

.session-favorite-btn {
  position: absolute;
  top: 13px;
  left: 10px;
  z-index: 1;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 0;
  background: transparent;
  padding: 0;
  cursor: pointer;
  line-height: 1;
}

.session-favorite-btn i {
  padding: 6px 8px;
  margin-left: 10px;
  border-radius: 8px;
  background: rgb(255, 64, 64);
  color: rgba(255, 255, 255, 0.55);
  font-size: 14px;
}

.session-favorite-btn.active i {
  color: #ffcc00;
}

.session-favorite-btn.pending {
  pointer-events: none;
  opacity: 0.55;
}

/* ---------- HEADER ---------- */

.session-workout {
  grid-area: workout;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  padding-left: 40px;
}

.session-workout-main {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  min-width: 0;
  flex: 1 1 auto;
}

.session-workout-label {
  display: none;
}

/* ---------- DATES ---------- */

.session-dates {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  grid-template-areas: "icon date" ". time";
  gap: 2px 6px;
  font-size: 12px;
  align-content: start;
  justify-items: start;
  text-align: left;
  min-width: 0;
}

.session-date-heading {
  display: contents;
}

.session-date-icon {
  grid-area: icon;
  align-self: start;
  font-size: 20px;
  line-height: 1;
  color: #fff;
}

.session-date-primary {
  grid-area: date;
  font-size: 18px;
  color: #fff;
  opacity: 0.95;
  line-height: 1.1;
}

.session-date-secondary {
  grid-area: time;
  font-size: 14px;
  opacity: 0.72;
}

/* ---------- TOTAL + CHEVRON ---------- */

.session-total {
  grid-area: total;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: flex-start;
  gap: 6px;
  justify-self: end;
  align-self: start;
}

.session-total .tv {
  font-size: 14px;
  color: #FFD23F;
  border: 1px solid rgba(255, 210, 63, 0.20);
  padding: 8px 10px;
  border-radius: 6px;
  white-space: nowrap;
}

/* Chevron unten rechts */
.session-chevron {
  font-size: 14px;
  opacity: 0.6;
  transition: transform 200ms ease, opacity 200ms ease;
  position: absolute;
  right: 12px;
  bottom: 12px;
}

.session-card.open .session-chevron {
  opacity: 1;
}

/* ---------- DETAILS (SLIDE) ---------- */

.session-details {
  grid-area: details;
  overflow: hidden;
  max-height: 0;
  opacity: 0;
  transform: translateY(-4px);
  transition: max-height 260ms ease, opacity 220ms ease, transform 220ms ease;
}

.session-details.open {
  max-height: 600px;
  opacity: 1;
  transform: translateY(0);
}

/* Hybrid has no fixed round count; keep every round and the note reachable. */
.session-hybrid .session-details.open {
  max-height: none;
}

/* Profil */
.session-profile {
  font-size: 12px;
  opacity: 0.75;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  padding-top: 10px;
  text-align: left;
}

.session-profile span {
  color: #FFD23F;
  opacity: 1;
}

/* Lines */
.session-lines {
  display: grid;
  gap: 6px;
  margin-top: 8px;
}

.session-line {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  font-size: 13px;
  background: rgba(255, 255, 255, 0.04);
  border-radius: 10px;
  padding: 8px 10px;
}

.session-line .k {
  opacity: 0.7;
}

.session-line .v {
  color: #FFD23F;
}

/* Farben */
.session-line .v.work {
  color: rgb(60, 204, 60);
}
.session-line .v.break {
  color: rgb(255, 64, 64);
}

.session-note-block {
  display: grid;
  gap: 8px;
  margin-top: 10px;
}

.session-note-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  opacity: 0.78;
}

.session-note-input {
  min-height: 78px;
  resize: vertical;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  color: #fff;
  padding: 10px 12px;
  font-size: 12px;
  line-height: 1.45;
  outline: none;
}

.session-note-input::placeholder {
  color: rgba(255,255,255,0.42);
}

.session-note-input:focus {
  border-color: rgba(255, 210, 63, 0.35);
  box-shadow: 0 0 0 1px rgba(255, 210, 63, 0.18);
}

.session-note-trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 10px;
  background: rgba(255,255,255,0.04);
  color: #fff;
  padding: 10px 12px;
  font-size: 12px;
  cursor: pointer;
  text-align: left;
}

.session-note-trigger:hover {
  border-color: rgba(255, 210, 63, 0.24);
}

.session-note-preview {
  color: #fff;
  line-height: 1.45;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.session-note-preview-empty {
  color: rgba(255,255,255,0.42);
}

.session-note-trigger-action {
  color: #FFD23F;
  letter-spacing: 0.04em;
  flex-shrink: 0;
}

.session-note-modal-textarea {
  min-height: 140px;
  margin-top: 10px;
  resize: vertical;
}

/* ---------- TYPE COLORS ---------- */

.session-stopwatch,
.session-steps,
.session-interval {
  overflow: hidden;
  isolation: isolate;
}

.session-stopwatch > .session-workout,
.session-stopwatch > .session-details,
.session-steps > .session-workout,
.session-steps > .session-details,
.session-interval > .session-workout,
.session-interval > .session-details {
  position: relative;
  z-index: 1;
}

.session-stopwatch > .session-total,
.session-steps > .session-total,
.session-interval > .session-total {
  z-index: 1;
}

.session-stopwatch > .session-favorite-btn,
.session-stopwatch > .session-delete-btn,
.session-steps > .session-favorite-btn,
.session-steps > .session-delete-btn,
.session-interval > .session-favorite-btn,
.session-interval > .session-delete-btn {
  z-index: 2;
}

.session-empty {
  margin-top: 10px;
  opacity: 0.8;
  font-size: 13px;
}


#daySessionsContainer {
  margin: 0 20px 20px;
  padding-top: 100px;
}

#activityFavoritesContainer {
  margin: 20px;
  padding-bottom: 80px;
}

#activityspage .closebottomRanking .badge-menu {
  width: 100%;
  height: auto;
  align-items: center;
  gap: 8px;
}

#activityspage .closebottomRanking .menu-btn {
  flex: 1 1 0;
  min-width: 0;
  width: auto;
  margin: 1px;
  padding: 8px 2px;
  white-space: nowrap;
  font-size: clamp(9px, 2.7vw, 13px);
}

#activityspage .page-menu-items {
  gap: 2px;
}

/* Wrapper für Stats & Sessions */
.day-block {
  background: rgb(135 40 40);
  border-radius: 10px;
  padding: 14px;
  margin-bottom: 14px;
}

.day-block-title {
  font-size: 14px;
  font-weight: 900;
  letter-spacing: 1px;
  color: #FFD23F;
  margin-bottom: 10px;
}

/* Sessions optisch leicht absetzen */
.day-block-sessions {
  background: rgb(95 30 30);
}

.session-delete-btn {
  grid-area: delete;
  justify-self: start;
  align-self: end;
  background: rgb(255, 64, 64);
  border: none;
  padding: 6px 8px;
  border-radius: 8px;
  cursor: pointer;
  color: white;
  height: 26px;
  margin-top: 4px;
}

.session-delete-btn:hover {
  background: rgba(255, 64, 64, 0.18);
  color: rgb(255, 64, 64);
}







.disabledButtonStyle {
    background-color: grey !important;
    cursor: not-allowed !important;
    opacity: 0.5;
}


.modalNotification ul {
  max-height: 60vh;
  overflow-y: auto;
  padding: 0;
  margin: 0;
  list-style: none;
  background-color: rgb(135 40 40);
  border-radius: 5px;
  font-family: roboto;
  font-weight: bold;
}

.notification {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px;
  border-bottom: 1px solid #ff4040;
  cursor: pointer;
}

.notification.unread {
  background-color: #00000047;
}

.notif-avatar {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  object-fit: cover;
}

.notif-message {
  width: 250px;
  font-size: 10px;
  text-align: left;
}

.notif-time {
  font-size: 8px;
  color: #ababab;
}



/* TELEGRAM */



#telegram-direct-login:hover {
  background-color: #1c8cc7;
}

#telegram-direct-login:active {
  transform: scale(0.98);
}

#telegram-direct-login svg {
  flex-shrink: 0;
}



/* ==== Onboarding / Tutorial (Card only, no spotlight) ==== */
.gb-onb.hidden { display: none; }
.gb-onb {
  position: fixed; inset: 0;
  z-index: 8999;
  display: flex; align-items: center; justify-content: center;
  font-family: gymtimer, sans-serif;
}

.gb-onb-backdrop {
  position: absolute; inset: 0;
  background: rgba(0,0,0,0.55);
  backdrop-filter: blur(2px);
}

.gb-onb-card {
  position: relative; z-index: 1;
  width: min(300px, 92vw);  /* max width 300px */
  background: rgb(0 0 0 / 78%);
  color: #fff;
  box-shadow: 0 10px 30px rgba(0,0,0,0.35);
  display: flex; flex-direction: column;
  padding: 16px;
  text-align: center;
  width: 100%;
  height: 100%;
  margin: auto;
  align-items: center;
  justify-content: center;
  gap: 16px;
  overflow: hidden;
}

.gb-onb-content {
  position: relative;
  inset: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 0;
  pointer-events: none;
}

.gb-onb-media {
  width: 100%;
  height: auto;
  display: flex;
  align-items: center;
  justify-content: center;
}

.gb-onb-footer {
  position: relative;
  z-index: 1;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0;
  text-align: center;
}

.gb-onb-progress { display:flex; gap:10px; padding:0; justify-content:center; flex-shrink:0; }
.gb-onb-progress .dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: #333; opacity: 0.7;
  transition: transform .2s, background .2s, opacity .2s;
}
.gb-onb-progress .dot.active { background:#ff4040; opacity:1; transform:scale(1.2); }

.gb-onb-title { font-size:20px; margin:0; color:yellow; text-align:center; }
.gb-onb-text {
  width: 250px;
  height: 100px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 14px;
  line-height: 1.4;
  opacity: .95;
}
.gb-onb-media img { max-width:300px; max-height: min(46vh, 360px); object-fit: contain; }

.gb-onb-actions { display:flex; gap:8px; align-items:center; justify-content:center; flex-shrink:0; margin-bottom:0; width:100%; }
.gb-onb-btn { cursor:pointer; border:0; border-radius:8px; padding:8px 12px; font-size:14px; font-family: gymtimer, sans-serif; }
.gb-onb-btn-primary { background:#ff4040; color:#fff; }
.gb-onb-btn-secondary { background:#2a2a2a; color:#fff; }

/* LANDSCAPE */



@media (max-height: 589px) {
  .levelArea {
    bottom: 80px;
    right: 60px; /* enger an den unteren Rand */
  }
}


@media (max-height: 589px) {
  #gymWarsButtonArea2{
    display: none;
  }
}


@media (max-height: 589px) {
  #tournamentButtonArea2Sprint {
    top: 105px;
    right: 70px;
  }
}



@media (max-height: 589px) {
  #tournamentButtonArea2 {
    top: 105px;
    right: 140px;

  }
}

@media (max-height: 589px) {
  #battlepassButtonArea, #battlepassButtonArea2 {
    top: 165px;
    right: 140px;

  }
}

@media (max-height: 589px) {
  #dailysArea {
    top: 105px;


  }
}



@media (max-height: 589px) {
  #profileButtonArea {

    flex-direction: row;
    bottom: 85px;
    top: unset;
  }
}




@media (max-height: 589px) {
  #active-game-container {

    display: none;

  }
}



@media (max-height: 589px) {
  #currentBuddy {

    display: none;

  }
}



@media (max-height: 589px) {
  #rankingButtonArea2 {
    top: 105px;
    left: 140px;

  }
}






@media (max-height: 589px) {
  #newsButtonArea {
    top: 105px;
    right: 10px;

  }
}




@media (max-height: 589px) {
  .active-multiplier {
    top: 160px;
    right: 10px;

  }
}



@media (max-height: 589px) {
  #pvpButtonArea {
   display: none !important;

  }
}



.indicator {
    position: absolute;
    top: 2px;
    right: 2px;
    background-color: red;
    color: white;
    font-size: 10px;
    font-weight: bold;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    display: none;
    justify-content: center;
    align-items: center;
    box-shadow: 0 0 3px rgba(0,0,0,0.4);
    border: solid 1px black;
  }




/* PVP */


#pvpButtonArea {
    position: fixed;
    top: 220px;        /* passe an, wo du es willst */
    right: 77px;
    width: 55px;
    height: 55px;
    background-image: url('img/pvp_icon.webp'); /* eigenes Icon */
    background-size: contain;
    background-repeat: no-repeat;
    z-index: 0;
    cursor: pointer;
}
#pvpButtonArea2 {
    width: 100%;
    height: 100%;
}


.modalPVP {
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0,0,0,0.6);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
}
.modalPVP-content {
    background: rgb(191 57 57);
    color: #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    animation: pump5050 0.3s ease;
    border-radius: 10px;
    padding: 20px;
    max-width: 300px;
    text-align: center;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.7);
}

.modalPVP-content.pvp-stats-modal-content {
    padding: 10px;
}

.modalPVP-content.pvp-main-menu-modal-content {
    padding: 20px;
}

.modalPVP-content.pvp-battle-intro-transparent {
    background: transparent;
    box-shadow: none;
}

.modalPVP-close {
    background: rgb(255, 64, 64);
    height: 70px;
    margin-left: 0;
    margin-right: 0;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    color: black;
    padding: 8px;
    box-shadow: 0 -6px 6px -6px rgba(0, 0, 0, 0.4);
    border-radius: 0px;
    padding-bottom: 70px;
    z-index: -1;


}





.modal-PVP-star {
  position: absolute;
  top: 20%;
  left: 50%;
  width: 200px;
  height: 200px;
  transform: translate(-50%, -50%);
  opacity: 0.25;            /* leicht transparent */
  pointer-events: none;      /* keine Klicks abfangen */
  animation: claim-rotate 8s linear infinite;
  filter: drop-shadow(0 0 20px rgba(255,255,255,0.15));
}


.shopButton, #viewPVPHistoryButton, #viewPVPStatsButton, #startPVPButton {
    background-color: rgb(255, 64, 64);

    font-style: normal;
    border-radius: 5px 5px 5px 5px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    margin: 0 auto;
    width: 120px;
    text-decoration: none;
    color: white;
    font-family: gymtimer, sans-serif;
    font-size: 15px;
    box-shadow: 0 3px rgb(135 40 40);
}

.shopButton.pvpResultClaimButton {
    background-color: #00a94f;
    box-shadow: 0 3px #006f35;
}

.pvpStatsView {
    width: 300px;
    max-width: 100%;
    max-height: calc(100dvh - 110px);
    padding-bottom: 3px;
    box-sizing: border-box;
    overflow-x: hidden;
    overflow-y: auto;
    scrollbar-width: none;
    text-align: center;
}

.pvpStatsView::-webkit-scrollbar {
    display: none;
}

.pvpStatsCards {
    width: 100%;
    padding: 0 10px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    margin-bottom: 20px;
}

.pvpStatsCard {
    width: 100%;
    box-sizing: border-box;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 12px;
    padding: 8px;
}

.pvpStatsProfileCard {
    min-height: 98px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 15px;
    padding: 9px 12px;
    text-align: left;
}

.pvpStatsProfileAvatar {
    width: 78px;
    height: 78px;
    flex: 0 0 78px;
    border-radius: 50%;
    object-fit: cover;
}

.pvpStatsProfileIdentity {
    min-width: 0;
    min-height: 78px;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;
}

.pvpStatsProfileHeader {
    width: 100%;
    min-width: 0;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 6px;
}

.pvpStatsProfileHeading {
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
}

.pvpStatsProfileName {
    max-width: 104px;
    overflow: hidden;
    color: #fff;
    font-size: 18px;
    line-height: 1.1;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pvpStatsProfileScore {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    color: #fff;
    font-size: 11px;
    line-height: 1;
    white-space: nowrap;
}

.pvpStatsProfileScore img {
    width: 16px;
    height: 16px;
    object-fit: contain;
}

.pvpStatsProfileScore strong {
    color: #ffd740;
    font-size: 13px;
}

.pvpStatsProfileRankBadge {
    position: relative;
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    margin-top: -3px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}

.pvpStatsProfileRankBadge span {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    color: #fff;
    font-family: gymtimer, sans-serif;
    font-size: 14px;
    line-height: 1;
    text-shadow: 0 2px 2px #000, 0 0 5px #000;
}

.pvpStatsProfileAttributes {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 5px;
}

.pvpStatsProfileAttribute {
    min-width: 0;
    display: inline-flex;
    align-items: center;
    gap: 3px;
    color: #fff;
    font-family: gymtimer, sans-serif;
    font-size: 13px;
    line-height: 1;
}

.pvpStatsProfileAttribute img {
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    object-fit: contain;
}

.pvpStatsWinRateCard {
    min-height: 98px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    padding: 9px 12px;
}

.pvpStatsWinRateRing {
    position: relative;
    width: 78px;
    height: 78px;
    flex: 0 0 78px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: conic-gradient(#00e676 var(--pvp-winrate-angle, 0deg), rgba(255, 255, 255, 0.12) 0);
    box-shadow: 0 0 16px rgba(0, 230, 118, 0.12);
}

.pvpStatsWinRateRing::before {
    content: '';
    position: absolute;
    inset: 7px;
    border-radius: 50%;
    background: rgb(22, 22, 22);
}

.pvpStatsWinRateValue {
    position: relative;
    z-index: 1;
    color: #fff;
    font-family: gymtimer, sans-serif;
    font-size: 20px;
    line-height: 1;
}

.pvpStatsRecord {
    min-width: 108px;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 6px;
}

.pvpStatsRecordRow {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    color: rgba(255, 255, 255, 0.78);
    font-size: 11px;
    line-height: 1;
}

.pvpStatsRecordRow strong {
    color: #fff;
    font-size: 14px;
}

.pvpStatsRecordRow.is-win strong {
    color: #00e676;
}

.pvpStatsRecordRow.is-loss strong {
    color: #ff6060;
}

.pvpStatsRecordRow.is-draw strong {
    color: #00d4fd;
}

.pvpStatsAttributeCard {
    display: flex;
    align-items: center;
}

.pvpStatsUpgradeGroup {
    width: 100%;
    padding: 10px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: 8px;
    background: rgba(0, 0, 0, 0.2);
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 12px;
}

.pvpStatsUpgradeTitle {
    color: #fff;
    font-family: gymtimer, sans-serif;
    font-size: 18px;
    line-height: 1;
    text-align: left;
}

.pvpStatsAttributeLabel {
    font-size: 14px;
}

.pvpStatsAttributeValue {
    font-size: 20px;
    line-height: 1;
}

.pvpStatsUpgradeButton {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

.pvpStatsUpgradeButton span,
.pvpStatsUpgradeButton img {
    display: block;
}

.pvpStatsUpgradeButton img {
    width: 24px;
    height: 24px;
    object-fit: contain;
    vertical-align: middle;
}

.pvpBattleCost {
    width: 100%;
    margin-top: 10px;
    padding: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    box-sizing: border-box;
    background: rgba(0, 0, 0, 0.35);
    border-radius: 4px;
    color: #fff;
    font-family: gymtimer, sans-serif;
    font-size: 13px;
    text-align: center;
}

.pvpBattleCost img {
    width: 16px;
    height: 16px;
    object-fit: contain;
}

.pvpMainMenu {
    position: relative;
    isolation: isolate;
    width: calc(100% + 40px);
    margin: 0 -20px;
    padding: 0px 20px 0px;
    box-sizing: border-box;
    overflow: hidden;
    border-radius: 10px;
}

.pvpMainMenu::before,
.pvpMainMenu::after {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.pvpMainMenu::before {
    z-index: -2;
    background-image: url('img/pvp_banner.webp');
    background-position: center 30px;
    background-repeat: no-repeat;
    background-size: 210px auto;
    transform-origin: center top;
    animation: pvpBannerPulse 4s ease-in-out infinite;
}

.pvpMainMenu::after {
    z-index: -1;
    background-image: linear-gradient(180deg, rgba(191, 57, 57, 0.02) 18%, rgba(191, 57, 57, 0.45) 45%, rgb(191, 57, 57) 60%);
}

@keyframes pvpBannerPulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.04); }
}

@media (prefers-reduced-motion: reduce) {
    .pvpMainMenu::before {
        animation: none;
    }
}

.pvpMainMenuTitle {
    margin: 0;
    color: #fff;
    font-family: gymtimer, sans-serif;
    font-size: 24px;
    line-height: 1;
    text-shadow: 0 2px 5px rgba(0, 0, 0, 0.8);
}

.pvpModeButtons {
    display: flex;
    align-items: stretch;
    justify-content: center;
    gap: 6px;
    margin: 218px 0 5px;
}

.pvpMainMenu .pvpModeButton,
.pvpMainMenu #startPVPButton {
    width: 92px;
    min-width: 0;
    height: 60px;
    margin: 0;
    padding: 8px 4px 7px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    border: 0;
    color: #fff;
    cursor: pointer;
}

.pvpMainMenu #startPVPButton {
    background-color: #DA6600;
    box-shadow: 0 5px rgb(135, 40, 40);
}

.pvpMainMenu #startNearbyPVPButton {
    background-color: #0B688B;
    box-shadow: 0 5px #06435a;
}

.pvpMainMenu #viewPVPBattleArenaButton {
    background-color: rgb(255, 64, 64);
    box-shadow: 0 5px rgb(135, 40, 40);
}

.pvpModeButtonIcon {
    width: 54px;
    height: 54px;
    margin-bottom: 5px;
    object-fit: contain;
    flex: 0 0 auto;
}

.pvpModeButtonTitle {
    display: block;
    font-size: 20px;
    line-height: 1;
}

.pvpModeButtonSubtitle {
    display: flex;
    min-height: 24px;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, 0.9);
    font-size: 10px;
    line-height: 1.15;
}

.pvpMainMenu .pvpBattleCost {
    margin-top: 11px;
}

.pvpSecondaryActions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 10px;
    padding-bottom: 3px;
}

.pvpSecondaryActions #viewPVPStatsButton,
.pvpSecondaryActions #viewPVPHistoryButton {
    width: 128px;
    margin: 0;
    padding: 7px 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    border: 0;
    box-sizing: border-box;
}

.pvpSecondaryAction i {
    font-size: 18px;
    line-height: 1;
}


.replayButton {
    background-color: rgb(255, 64, 64);

    font-style: normal;
    border-radius: 5px 5px 5px 5px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    margin: 0 auto;

    text-decoration: none;
    color: white;
    font-family: gymtimer, sans-serif;
    font-size: 15px;
    box-shadow: 0 3px rgb(135 40 40);
}

#pvpSearchStatus {
    display: none;
    position: fixed;
    bottom: 200px;
    left: 50%;
    transform: translateX(-50%);
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: rgba(0,0,0,0.7);
    color: #fff;
    font-size: 10px;
    padding: 4px;
    border-radius: 5px;
    text-align: center;
    line-height: 1.2;
}

.pvpSearchStatusLine {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    line-height: 12px;
}

.pvpSearchStatusLine > span {
    display: inline-flex;
    min-height: 12px;
    align-items: center;
    line-height: 12px;
}

#loading-logoPVP {
    display: block;
    width: 10px;
    height: 10px;
    margin: 0;
    flex: 0 0 10px;
    object-fit: contain;
    animation: spin 4s linear infinite;
}

#pvpCancelBtn {
    display: inline-flex;
    min-height: 12px;
    align-items: center;
    margin: 0 0 0 2px;
    color: rgb(255, 64, 64);
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    line-height: 12px;
}

/* RANKING TOGGLE */


.rankingToggle {


    display: flex;
    background: rgba(0,0,0,0.45);
    border-radius: 20px;
    padding: 3px;
    z-index: 10;
    height: 46px;
    width: 100px;
}

.rankingToggle .toggle-btn {
    border: none;
    background: transparent;
    padding: 4px 8px;
    border-radius: 16px;
    cursor: pointer;
    display: flex;
    align-items: center;
}

.rankingToggle .toggle-btn img {
    width: 20px;
    height: 20px;
}

.rankingToggle .toggle-btn.active {
    background: #ffffff;
}

.disabled {
  opacity: 0.4;
  pointer-events: none;
}



/* COLLECT BUTTON */

.collect-reward-icon {
width: 32px;
height: 32px;
object-fit: contain;
pointer-events: none;
}


/* Template-Icons im DOM verstecken */
#collect-gymenergyIcon,
#collect-pointsIcon,
#collect-ticketsIcon {
display: none;
}


.collect-floating-icon {
position: fixed;
z-index: 10001;
pointer-events: none;
font-size: 26px;
animation: collect-sprayFromButton 0.9s ease-out forwards;
}


/*
Icons sprühen von einem Startpunkt (hier: Bildschirmmitte),
fliegen kurz weg, werden größer,
schrumpfen wieder und verschwinden.
*/
@keyframes collect-sprayFromButton {
0% {
transform: translate(0, 0) scale(0.0);
opacity: 0;
}
35% {
transform: translate(var(--dx), var(--dy)) scale(1.6);
opacity: 1;
}
100% {
transform: translate(calc(var(--dx) * 1.4), calc(var(--dy) * 1.4)) scale(0.0);
opacity: 0;
}
}


/* BATTLEPASS */

/* =========================
   BATTLEPASS (GYMBATTLE STYLE)
   ========================= */
.bp-top{
  margin-top: 110px; /* wegen siteTitle fixed */
  display:flex;
  gap:12px;
  justify-content:center;
  align-items:center;
  padding: 10px 12px;
  flex-direction: column;
}

.bp-avatar{
  width:315px;

  border-radius:14px;

  display:flex;
  justify-content:center;
  align-items:center;

  overflow:hidden;
  border: solid 2px black;
}
.bp-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.bp-progress{
  width: 100%;
  max-width: 300px;
  background: rgb(22 22 22);
  border-radius:14px;
  padding:10px;
  box-shadow: 0 6px 6px -6px rgba(0,0,0,.4);
}

.bp-progress-row{
  display:flex;
  align-items:center;
  gap:8px;
}

.bp-badge{
  background: rgb(255, 64, 64);
  color: #000;
  font-weight:900;
  border-radius:10px;
  padding:6px 8px;
  font-size:12px;
  box-shadow: 0 3px rgb(135 40 40);
}

.bp-level{
  background: yellow;
  color:#000;
  border-radius:10px;
  padding:6px 8px;
  font-size:12px;
  font-weight:900;
  min-width: 52px;
  text-align:center;
}

.bp-bar{
  position:relative;
  flex:1;
  height: 22px;
  border-radius: 12px;
  background: rgba(255,255,255,.12);
  overflow:hidden;
  border: 1px solid rgba(255,255,0,.25);
}
.bp-bar-fill{
  height:100%;
  width:0%;
  background: linear-gradient(90deg, rgb(255, 64, 64), yellow);
}
.bp-bar-text{
  position:absolute;
  inset:0;
  display:flex;
  justify-content:center;
  align-items:center;
  font-size:12px;
  font-weight:900;
  color:#fff;
  text-shadow: 0 2px 4px rgba(0,0,0,.7);
}

.bp-timer{
  margin-top:6px;
  font-size:12px;
  opacity:.9;
  display:flex;
  justify-content:center;
  gap:6px;
}

.bp-actions{
  margin-top:8px;
  display:flex;
  gap:8px;
  justify-content:center;
}

.bp-grid{
  max-width: 320px;
  margin: 10px auto 90px auto; /* bottom menubar */
  padding: 0 12px;
}

.bp-header{
  margin-top:10px;
  border-radius: 12px;
  overflow:hidden;
}

.bp-row{
  display:grid;
  grid-template-columns: 1fr 52px 1fr;
  align-items:center;
  gap:10px;
  padding: 8px 10px;
}

.bp-row.bp-header{
  background: rgb(135 40 40);
  color:#fff;

}

.bp-mid{
  display:flex;
  justify-content:center;
  align-items:center;

  color:#fff;
}

.bp-tiers{
  margin-top:10px;
  display:flex;
  flex-direction:column;
  gap:10px;
}

.bp-tier{
  background: rgba(0,0,0,.25);
  border-radius: 14px;
  padding: 10px;
  border: 1px solid rgba(255,255,255,.08);
}

.bp-tier-inner{
  display:grid;
  grid-template-columns: 1fr 52px 1fr;
  align-items:center;
  gap:10px;
}

.bp-tier-num{
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: rgba(255,255,255,.12);
  display:flex;
  justify-content:center;
  align-items:center;
  font-weight:900;
  border: 1px solid rgba(255,255,0,.18);
}

.bp-reward{
  border-radius: 14px;
  padding: 10px;
  min-height: 120px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  box-shadow: 0 6px 6px -6px rgba(0,0,0,.4);
  flex-direction: column;
}

.bp-reward.free{
  background: rgba(80, 160, 255, .20);
  border: 1px solid rgba(80,160,255,.45);
}

.bp-reward.premium{
  background: rgba(255, 120, 220, .20);
  border: 1px solid yellow;
}

.bp-reward-left{
  display:flex;
  align-items:center;
  gap:10px;
  flex-direction: column;
}

.bp-reward img{
  width: 38px;
  height: 38px;
  object-fit:contain;
}

.bp-lock{
  opacity:.7;
  font-size:12px;
  background: rgba(0,0,0,.35);
  padding: 4px 8px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,.12);
}

.bp-claim{
  background: green;
  color: white;
  border: none;
  border-radius: 12px;
  padding: 8px 10px;
  font-family: gymtimer, sans-serif;
  box-shadow: 0 3px rgb(135 40 40);
  cursor:pointer;
  font-size: 12px;
  height: 30px;
}

.bp-claim[disabled]{
  opacity:.45;
  cursor:not-allowed;
}

.bp-claimed{
  opacity:.8;
  font-size:12px;
  background: rgba(0,0,0,.35);
  padding: 6px 8px;
  border-radius: 10px;
}


.bp-premium-disabled {
  opacity: 0.45;
  filter: grayscale(1);
  pointer-events: none; /* <- macht ALLES in der Premium-Box unclickable */
}

.bp-premium-note {
  margin-top: 4px;
  font-size: 11px;
  opacity: 0.9;
}


/* NEU */

#setsDisplay {
  background-color: none;
  font-size: 12px;
  color: rgb(0,0,0);
  padding-top: 83px;
  padding-left: 0px; /* gegenüber roundsDisplay spiegeln */
  position: absolute;
  left: 0;
  right: 0;
}

@media (min-width: 748px) and (min-height: 600px) {
  #setsDisplay {
    font-size: 16px;
    padding-top: 130px;
    padding-left: 0px;
  }
}

/* optional: die neuen Blocks wie Work/Break/Rounds stylen */
#sets1, #pauseAfterSet1 {
  background-color: rgb(41 41 41);
  border-radius: 10px;
  padding: 15px 25px;
  text-align: left;
  margin-bottom: 10px;
}

#setsPauseContent {
  transition: none;
}

/* AUTH */


#login-popup.login-popup {
  position: fixed;
  inset: 0;
  z-index: 999999;
  display: none;
  align-items: center;
  justify-content: center;
}

#login-popup .gb-auth-backdrop {
  position: absolute;
  inset: 0;

}

#login-popup .login-content {
  position: relative;
  width: 250px;

  /* ❌ feste Höhe entfernen */
  height: auto;

  /* ✅ Inhalt bestimmt die Höhe */
  max-height: 90vh;        /* nie höher als Viewport */
  overflow-y: auto;        /* nur scrollen wenn nötig */

  border-radius: 10px;
  padding: 20px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.7);
  transition: max-height 0.25s ease, padding 0.2s ease;
}


.gb-auth-tabs {
  display: flex;
  gap: 10px;
  justify-content: center;
  margin: 10px 0 14px;
}

#login-popup .gb-auth-footer {
  margin-top: 14px;
  color: #fff;
  font-size: 12px;
  line-height: 1.5;
  text-align: center;
}

#login-popup .gb-auth-legal {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 4px 14px;
  margin-top: 5px;
}

#login-popup .gb-auth-legal a {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  color: #fff;
  font-size: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}

#login-popup .gb-auth-legal a:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 3px;
}


/* POWER */
/* =========================
   POWER MINI STATUS BAR
   ========================= */

#powerMiniBarContainer {
  position: fixed;
  top: 152px;
  width: 100px;
  border: solid 2px black;
  height: 16px;
  margin: 6px auto 10px auto;
  background: rgb(22 22 22);

  border-radius: 10px;
  overflow: hidden;
  cursor: pointer;


}

#powerMiniBarContainer:focus-visible,
#powerMiniBarIcon:focus-visible {
  outline: 2px solid #00b7ff;
  outline-offset: 2px;
}

#powerMiniBarIcon {
  cursor: pointer;
}

#powerMiniBarFill {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 0%;

  background-color: green; /* kräftiges Power-Gelb */
    border-radius: 20px;

  transition: width 0.4s ease;
}


#powerMiniBarText {
  position: relative;
  z-index: 2;

  font-size: 11px;

  text-align: center;
  line-height: 16px;

  color: white;

  pointer-events: none;
}

.power-status-modal-shell {
  text-align: left;
}

.power-status-modal-title {
  display: flex;
  align-items: center;
  gap: 10px;
  justify-content: center;
  margin-bottom: 14px;
  font-size: 22px;
  color: #fff;
}

.power-status-modal-meter {
  position: relative;
  width: 100%;
  height: 14px;
  margin-bottom: 8px;
  background: rgb(22 22 22);
  border: 2px solid #000;
  border-radius: 999px;
  overflow: hidden;
}

.power-status-modal-meter-fill {
  height: 100%;
  border-radius: 999px;
  background: green;
}

.power-status-modal-meter-text {
  margin-bottom: 14px;
  font-size: 12px;
  letter-spacing: 0.04em;
  text-align: center;
  color: rgba(255, 255, 255, 0.78);
}

.power-status-modal-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 14px;
}

.power-status-modal-card {
  padding: 12px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  background: rgb(22 22 22);
}

.power-status-modal-label {
  margin-bottom: 6px;
  font-size: 11px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.68);
}

.power-status-modal-value {
  font-size: 26px;
  line-height: 1.15;
  color: #fff;
}

.power-status-modal-value--small {
  font-size: 16px;
}

.power-status-modal-note {
  margin-top: 10px;
  font-size: 12px;
  line-height: 1.5;
  color: #fff;
}



/* STOPWATCH HEADER (GENERIC) */
.stopwatch-header{
  background: rgb(22,22,22);
  border-radius: 10px;
  padding: 20px;
  margin: 18px 20px 10px 20px;
  position: relative;
  overflow: visible;

  display:flex;
  align-items:center;
  justify-content:space-between;

  user-select:none;
}

.settings-energy-badge{
  position:absolute;
  top:-10px;
  right:6px;
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:5px 10px;
  border-radius:999px;
  background:#009ae5;
  color:#fff;
  font-size:11px;
  font-weight:700;
  line-height:1;
  white-space:nowrap;
  box-shadow:0 4px 12px rgba(0, 0, 0, 0.35);
  z-index:0;
}

.settings-energy-badge img{
  width:14px;
  height:14px;
  display:block;
}

/* LEFT */
.stopwatch-header .stopwatch-left{
  display:flex;
  align-items:center;
  gap:10px;
}
.stopwatch-header .stopwatch-left i{
  color:#fff;
  font-size:18px;
}
.stopwatch-header .stopwatch-title{
  color:#fff;
  font-size:16px;
  opacity:0.9;
  text-align:left;
}

/* RIGHT SWITCH WRAP */
.stopwatch-header .stopwatch-switch{
  display:flex;
  align-items:center;
  gap:10px;
}

/* texts */
.stopwatch-header .stopwatch-switch-text{
  color:#fff;
  font-size:12px;
  opacity:0.7;
}

/* label wrapper */
.stopwatch-header .stopwatch-switch-wrap{
  display:inline-flex;
  align-items:center;
  cursor:pointer;
}

/* ✅ Neutralize any global input styles */
.stopwatch-header .stopwatch-switch-wrap input{
  all: unset;
  display:none !important;
}

/* Custom UI (the visible toggle) */
.stopwatch-header .stopwatch-switch-ui{
  width:44px;
  height:22px;
  border-radius:999px;
  background:#444;
  position:relative;
  display:inline-block;
  transition: background 0.2s ease;
}

/* knob */
.stopwatch-header .stopwatch-switch-ui::after{
  content:"";
  width:18px;
  height:18px;
  border-radius:50%;
  background:#fff;
  position:absolute;
  top:2px;
  left:2px;
  transition: transform 0.2s ease;
}

/* ✅ checked state – works for ANY toggle input */
.stopwatch-header .stopwatch-switch-wrap input:checked + .stopwatch-switch-ui{
  background:#2f8f2f;
}
.stopwatch-header .stopwatch-switch-wrap input:checked + .stopwatch-switch-ui::after{
  transform: translateX(22px);
}

/* ON/OFF text highlight (generic, no IDs needed) */
.stopwatch-header .stopwatch-switch:has(input:checked) .on{
  opacity:1;
  color:#3ccc3c;
}
.stopwatch-header .stopwatch-switch:has(input:checked) .off{
  opacity:0.35;
}

/* Text-Stack (Title + Subtitle) */
.stopwatch-text {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

/* Subtitle unter dem Titel */
.stopwatch-subtitle {
  font-size: 13px;
  color: #ababab;
  line-height: 1.3;
  max-width: 240px;
}


/* =========================
   STEPS MODE (BeastToggle ON)
   ========================= */

/* Beispiel: alles im Timer-Bereich ausblenden */
body.steps-mode #timerContainer,
body.steps-mode #timerContainer2,
body.steps-mode #timeround,
body.steps-mode #stopwatchHeader {
  display: none !important;
}

/* Beispiel: andere UI-Boxen ausblenden/faden – passe an */
body.steps-mode .timer-settings,
body.steps-mode #setsPauseHeader,
body.steps-mode #setsPauseContent {
  display: none !important;
}

/* Wenn du lieber "faden" willst statt hide:
body.steps-mode #someBox { opacity: 0.35; pointer-events: none; }
*/



/* NICKNAME PUPLIC PROFILE DASHBOARD */

.publicProfileBox{
  background: rgba(0,0,0,.18);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 8px;
  padding: 12px;
  color: #fff;
  text-align: left;
  margin-bottom: 20px;
}

.publicProfileRow{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.publicProfileTitle{

  font-size:14px;

}

.publicProfileSub{
  font-size:12px;
  opacity:.85;
  margin-top:4px;
}

.publicProfileLinkText{
  color: #ffef7a;
  font-size: 11px;
  font-family: fantasy;
  text-decoration:none;
  max-width: 75%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.copyLinkBtn{
  border:none;
  border-radius: 9px;
  padding: 10px;
  font-family: gymtimer, sans-serif;
  cursor:pointer;
  background: rgb(255, 64, 64);
  color:#fff;
  font-size: 12px;
  height: 38px;
}
.copyLinkBtn:active{ transform: translateY(1px); }



/* ✅ Toggle Switch */
.switch{
  position:relative;
  display:inline-block;
  width:52px;
  height:30px;
}
.switch input{ display:none; }
.slider{
  position:absolute;
  cursor:pointer;
  top:0; left:0; right:0; bottom:0;
  background: rgba(255,255,255,.18);
  border: 1px solid rgba(255,255,255,.18);
  transition:.2s;
  border-radius: 999px;
}
.slider:before{
  position:absolute;
  content:"";
  height:24px;
  width:24px;
  left:3px;
  top:50%;
  transform: translateY(-50%);
  background: #fff;
  transition:.2s;
  border-radius:999px;
}
.switch input:checked + .slider{
  background: #ff4040;
}
.switch input:checked + .slider:before{
  transform: translate(22px, -50%);
}







/* Hauptcontainer für das gesamte Widget */
.gb-wheel-frame {
    position: relative;
    width: 320px;
    height: 100%;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;    /* Horizontale Zentrierung */
    justify-content: center; /* Vertikale Zentrierung */
}

/* Der rotierende Teil */
.gb-wheel-stage {
    position: relative;
    width: 280px;
    height: 280px;
    margin-top: 10px;
}

.gb-wheel-inner {
    width: 100%;
    height: 100%;
    position: absolute;
    transition: transform 4s cubic-bezier(0.15, 0, 0.1, 1);
    will-change: transform;
}

.gb-wheel-img {
    width: 100%;
    height: 100%;
    display: block;
    transform: rotate(0deg);
    animation: pump 0.3s ease;
}

/* Die Preis-Labels */
.gb-wheel-label {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 90px; /* Radius des Rades */
    height: 30px;
    margin-top: -15px;
    transform-origin: left center;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    pointer-events: none;
    z-index: 5;

}

.gb-wheel-label span {
    color: #ffffff;
    text-shadow: 0px 0px 3px rgba(0,0,0,0.6);
   transform: rotate(90deg);

    font-size: 14px;


    white-space: nowrap;
}

/* Der statische Marker (oben) */
.gb-wheel-marker {
    position: absolute;
    top: -15px;
    left: 50%;
    transform: translateX(-50%);
    width: 44px;
    z-index: 10;
}

.gb-wheel-marker.animated {
  animation: markerSwing 0.25s infinite ease-in-out;
}

/* Der Button */
.gb-wheel-btn {
    z-index: 1;
    margin-top: 20px;
    padding: 12px 30px;
    background: rgb(255, 64, 64);
    color: white;
    border: none;
    border-radius: 5px;
    font-family: gymtimer, sans-serif;
    cursor: pointer;
    box-shadow: 0 3px rgb(135 40 40);
    font-size: 15px;
}

.gb-wheel-btn:disabled {
    background: #666;
    box-shadow: none;
    cursor: not-allowed;
}

.pvpPerkSelection {
    font-family: gymtimer, sans-serif;
    color: #fff;
    width: min(340px, 100%);
    margin: 0 auto;
    text-align: center;
}
.modalPVP-content:has(.pvpPerkSelection) {
    width: min(340px, calc(100vw - 40px));
    max-width: 340px;
    max-height: calc(100dvh - 48px);
    box-sizing: border-box;
    overflow-y: auto;
}
.pvpPerkEyebrow { color: #ffdf00; font-size: 14px; }
.pvpPerkSelection h2 { font-size: 25px; margin: 6px 0; }
.pvpPerkCountdown {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    margin: 10px auto 14px;
    font-size: 30px;
    color: #ffdf00;
}
.pvpPerkOptions { display: flex; flex-direction: column; gap: 10px; }
.pvpPerkOption {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) auto;
    gap: 4px 8px;
    width: 100%;
    height: auto;
    min-height: 76px;
    max-height: none;
    box-sizing: border-box;
    margin: 0;
    line-height: 1.2;
    padding: 12px;
    border: 2px solid transparent;
    border-radius: 10px;
    background: rgb(22, 22, 22);
    color: #fff;
    font-family: gymtimer, sans-serif;
    text-align: left;
    box-shadow: 0 3px rgb(135, 40, 40);
    cursor: pointer;
}
.pvpPerkOption:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.pvpPerkOption.selected { border-color: #ffdf00; background: rgb(135, 40, 40); }
.pvpPerkOption:disabled:not(.selected) { opacity: .5; cursor: default; }
.pvpPerkOption .pvpPerkChoiceIcon { grid-column: 1; grid-row: 1 / span 2; align-self: center; width: 44px; height: 44px; object-fit: contain; border: 0; border-radius: 0; background: none; box-shadow: none; }
.pvpPerkName { grid-column: 2; font-size: 20px; }
.pvpPerkAmount { grid-column: 3; font: 700 16px sans-serif; color: #00d4fd; align-self: center; }
.pvpPerkDescription { grid-column: 2 / -1; font-size: 12px; line-height: 1.3; }
.pvpBattleAvatar { position: relative; isolation: isolate; display: inline-flex; flex-direction: column; align-items: center; vertical-align: top; }
.pvpBattleAvatar:has(.pvpBattlePerkIcon) { margin-bottom: 18px; }
.pvpBattleAvatar .pvpBattlePerkIcon { position: absolute; bottom: 0; left: 50%; transform: translate(-50%, 50%); z-index: 1; width: 36px; height: 36px; margin: 0; object-fit: contain; border: 0; border-radius: 0; background: none; box-shadow: none; }
.pvpPerkHint { font-size: 12px; line-height: 1.3; margin: 14px 0 0; min-height: 32px; }
.pvpRoundValueGroup { display: inline-flex; align-items: center; justify-content: center; gap: 4px; min-height: 25px; }
.pvpRoundPerkChanges { display: flex; flex-direction: column; font: 10px/1.2 sans-serif; text-align: left; }
.pvpRoundPerkChanges:empty { display: none; }
.pvpRoundPerkChanges .pvpPerkIncrease { color: #00e676; }
.pvpRoundPerkChanges .pvpPerkDecrease { color: #ffb3b3; }

/* Follow-back preference uses the same dark card as the timer settings. */
#friendRequestsSection .friendAutoFollowHeader {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    margin: 0 0 18px;
    padding: 16px;
    color: white;
    font-family: gymtimer, sans-serif;
}
.friendAutoFollowLabel {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    cursor: pointer;
}
#friendsAutoFollowToggle {
    appearance: auto;
    flex: 0 0 22px;
    width: 22px;
    height: 22px;
    min-height: 0;
    padding: 0;
    margin: 0;
    accent-color: #ff4040;
    cursor: pointer;
}
#friendsAutoFollowToggle:disabled { cursor: wait; opacity: 0.5; }
#friendsAutoFollowToggle:focus-visible { outline: 2px solid white; outline-offset: 4px; }
#friendsAutoFollowHelp, #friendsAutoFollowStatus {
    margin: 0;
    font-size: 12px;
    line-height: 1.4;
    text-align: left;
}
#friendsAutoFollowStatus:empty { display: none; }

.friendRelationshipStatus {
    margin: 12px 0;
    padding: 12px;
    text-align: center;
    color: white;
    font-size: 13px;
    line-height: 1.4;
}

#friendRequests .friendRequestButton {
    width: auto;
    height: 32px;
    padding: 5px 8px;
    white-space: nowrap;
}
#friendRequests .requestItem > div:first-child { flex-shrink: 0; }

/* Friends uses the Battleboard player rows and Activities-style utility cards. */
#friendpage .friend-section {
    position: absolute;
    top: 78px;
    bottom: calc(160px + env(safe-area-inset-bottom, 0px));
    left: 50%;
    transform: translateX(-50%);
    width: calc(100% - 40px);
    max-width: 400px;
    max-height: none;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    overflow-y: auto;
    scrollbar-width: none;
}
#friendpage > br, #friendpage .friend-section::-webkit-scrollbar { display: none; }
/* Begin behind the fixed title; keep the header controls at the panel bottom. */
#friendpage #friendsLeaderboardSection,
#friendpage #friendRequestsSection,
#friendpage #followedSection,
#friendpage #friendsSearchSection,
#friendpage #inviteFriendsSection {
    top: 30px;
}
#friendpage .friend-relationship-filters {
    position: sticky;
    top: 0;
    left: auto;
    transform: none;
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
    max-width: none;
    height: 150px;
    margin-bottom: 14px;
    text-align: left;
    font-family: gymtimer, sans-serif;
}
#friendpage #searchResults { max-height: none; }
#friendpage .friendsPanel {
    box-sizing: border-box;
    margin: 0 0 14px;
    padding: 12px;
    border-radius: 14px;
    background: rgb(22 22 22);
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.24);
    color: white;
    text-align: left;
    font-family: gymtimer, sans-serif;
}
#friendpage .friendsSearchPanel,
#friendpage .friendInviteIntro {
    position: sticky;
    top: 0;
    z-index: 1;
}
#friendpage .friendsSearchPanel {
    height: 150px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}
.friendsPanelTitle {
    display: block;
    margin: 0 0 10px;
    font-size: 16px;
    font-weight: normal;
    line-height: 1.2;
    color: white;
}
#friendpage .friendsPanel p {
    margin: 10px 0 0;
    font-size: 12px;
    line-height: 1.5;
}
#friendpage .friendsPanel .friends-input-button-container { gap: 8px; }
#friendpage .friendsPanel input[type="text"] { flex: 1; width: 100%; }
#friendpage .friendsPanel input[type="text"],
#socialMediaSettings #instagram,
#socialMediaSettings #twitter,
#socialMediaSettings #tiktok,
#profileNameInput,
#profileDescriptionInput,
#code,
#editProfileName,
#editProfileDescription,
#studioCreateForm .create-input,
#studioCreateForm .create-textarea,
input[id^="edit-name-"],
input[id^="edit-desc-"],
.session-note-trigger {
    min-width: 0;
    height: 42px;
    box-sizing: border-box;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 9px;
    background-color: rgb(41 41 41);
    color: white;
    padding: 0 10px;
    font-family: gymtimer, sans-serif;
    font-size: 13px;
    font-weight: normal;
    box-shadow: none;
    outline: none;
}
#friendpage .friendsPanel input[type="text"]:focus,
#socialMediaSettings #instagram:focus,
#socialMediaSettings #twitter:focus,
#socialMediaSettings #tiktok:focus,
#profileNameInput:focus,
#profileDescriptionInput:focus,
#code:focus,
#editProfileName:focus,
#editProfileDescription:focus,
#studioCreateForm .create-input:focus,
#studioCreateForm .create-textarea:focus,
input[id^="edit-name-"]:focus,
input[id^="edit-desc-"]:focus,
.session-note-trigger:focus-visible {
    border-color: rgb(255 64 64);
    box-shadow: 0 0 0 1px rgba(255, 64, 64, 0.25);
}
#friendpage .friendsPanel button {
    flex: 0 0 auto;
    width: auto;
    height: 42px;
    margin: 0;
    padding: 0 12px;
    border: none;
    border-radius: 9px;
    color: white;
    background-color: rgb(255 64 64);
    font-family: gymtimer, sans-serif;
    font-size: 13px;
}
#friendpage .friendInviteIntro {
    display: grid;
    height: 200px;
    grid-template-columns: minmax(0, 1fr);
    align-content: end;
    align-items: center;
    gap: 4px 8px;
    background-image: linear-gradient(90deg, rgb(22 22 22) 10%, rgba(22, 22, 22, 0.8) 50%, rgba(22, 22, 22, 0.35)), url('img/friend_invite.webp');
    background-position: center, right center;
    background-size: 100% 100%, auto 180px;
    background-repeat: no-repeat;
}
#friendpage .friendInviteIntro .friendsPanelTitle {
    grid-column: 1;
    grid-row: 1;
    margin: 0;
    font-size: 18px;
}
#friendpage .friendInviteIntro p {
    grid-column: 1;
    grid-row: 2;
    margin: 0;
    font-size: 11px;
    line-height: 14px;
}
#friendpage .friendInviteIntro .code-container {
    grid-column: 1 / -1;
    grid-row: 3;
    min-height: 32px;
}
#friendpage .friendInviteIntro #copyButton { height: 28px; }
.friendInviteCodeHeader {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 10px;
}
.friendInviteCodeHeader .friendsPanelTitle { margin: 0; }
#inviteCodeCountdown {
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
    text-align: right;
    color: #ffdd44;
    font-size: 11px;
    line-height: 1.3;
    font-variant-numeric: tabular-nums;
}
#inviteCodeCountdown[hidden] { display: none; }
#friendpage .friendInviteIntro #linkCodeDisplay {
    padding: 0;
    line-height: 22px;
}
#friendpage #linkCodeDisplay {
    min-width: 0;
    overflow-wrap: anywhere;
    font-size: 18px;
    color: white;
}
#inviteFriendsTotalSummary, #inviteBonusSummary { font-size: 12px; margin-bottom: 8px; }
#inviteEarningsList { margin-top: 12px; }
#friendpage .friendPlayerRow {
    display: flex;
    align-items: center;
    gap: 5px;
    box-sizing: border-box;
    min-height: 46px;
    height: auto;
    padding: 6px 8px;
    margin-bottom: 5px;
    border-radius: 10px;
    font-size: 12px;
    color: black;
    background: #d0d0d0;
    overflow: hidden;
}
.friendPlayerFollowers {
    margin-top: 3px;
    font-size: 12px;
    line-height: 1.2;
    color: inherit;
}

.friendPlayerAvatar {
    flex: 0 0 35px;
    width: 35px;
    height: 35px;
    object-fit: cover;
    border: 2px solid #ff4040;
    border-radius: 50%;
    cursor: pointer;
}
.friendPlayerBadge {
    flex: 0 0 35px;
    width: 35px;
    height: 35px;
    object-fit: contain;
    border: none;
    border-radius: 0;
    background: none;
    box-shadow: none;
}
.friendPlayerInfo {
    display: flex;
    flex: 1;
    min-width: 0;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
}
.friendPlayerName {
    display: block;
    max-width: 100%;
    font-size: 15px;
    line-height: 1;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.friendPlayerStudio {
    display: flex;
    align-items: center;
    min-width: 0;
    max-width: 100%;
    line-height: 1;
    overflow: hidden;
}
.friendPlayerStudio img {
    flex-shrink: 0;
    width: 14px;
    height: 14px;
    object-fit: cover;
    border: 2px solid black;
    border-radius: 6px;
}
.friendPlayerStudio span {
    margin-left: 3px;
    min-width: 0;
    font-size: 12px;
    opacity: 0.85;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.friendPlayerEnergy {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    gap: 3px;
    padding: 4px;
    border-radius: 5px;
    background: rgba(0, 0, 0, 0.2);
    font-size: 12px;
    white-space: nowrap;
}
.friendPlayerEnergy img { width: 18px; height: 18px; object-fit: contain; }
#friendpage .friendPlayerRow button {
    flex-shrink: 0;
    margin: 0;
    padding: 5px;
    height: 30px;
    min-height: 30px;
    border: none;
    border-radius: 5px;
    font-size: 11px;
    line-height: 1;
    color: white;
    background: #ff4040;
    cursor: pointer;
}
#friendpage .friendPlayerRow .addFriendButton,
#userProfilePopup .addFriendButton {
    background: #28a745;
    box-shadow: 0 3px #196c2d;
}
#friendpage .friendPlayerRow .removeFriendButton { box-shadow: 0 3px rgb(135 40 40); }
#friendpage .friendPlayerRow button:disabled { opacity: 0.65; cursor: wait; }
.friendPlayerAvatar:focus-visible { outline: 2px solid black; outline-offset: 2px; }

#friendpage .friendsPanel input[type="text"]::placeholder,
#socialMediaSettings #instagram::placeholder,
#socialMediaSettings #twitter::placeholder,
#socialMediaSettings #tiktok::placeholder,
#profileNameInput::placeholder,
#profileDescriptionInput::placeholder,
#code::placeholder,
#editProfileName::placeholder,
#editProfileDescription::placeholder,
#studioCreateForm .create-input::placeholder,
#studioCreateForm .create-textarea::placeholder,
input[id^="edit-name-"]::placeholder,
input[id^="edit-desc-"]::placeholder,
.session-note-preview-empty {
    color: rgba(255, 255, 255, 0.6);
    opacity: 1;
}
.profileDetailsTextInput {
    display: block;
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    text-align: left;
}
.profileDetailsDescriptionInput { margin-bottom: 10px; }
#studioCreateForm .create-input,
#studioCreateForm .create-textarea {
    max-width: 100%;
    text-align: left;
}
#studioCreateForm .create-textarea {
    height: auto;
    min-height: 100px;
    padding: 10px;
    line-height: 1.4;
}
#studioCreateForm input[type="file"]::file-selector-button {
    height: 28px;
    margin: 6px 8px 6px 0;
    padding: 0 8px;
    border: none;
    border-radius: 6px;
    background-color: rgb(255 64 64);
    color: white;
    font: inherit;
    cursor: pointer;
}
#redeemForm {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    min-width: 0;
}
#redeemForm #code {
    width: auto;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
}
.session-note-trigger:hover { border-color: rgba(255, 255, 255, 0.12); }
.session-note-trigger:focus-visible { border-color: rgb(255 64 64); }
.session-note-trigger-action { color: white; }

/* Paged Friends: the section scrolls, only visible player rows are mounted. */
#friendpage .friendPagedList { display: block; overflow: visible; max-height: none; overflow-anchor: none; }
#friendpage .friendVirtualList { position: relative; width: 100%; overflow-anchor: none; }
#friendpage .friendVirtualRow { position: absolute; left: 0; width: 100%; height: 51px; min-height: 51px; max-height: 51px; margin: 0; }
#friendpage .friendListMore, #friendpage .friendListRefresh { display: block; margin: 12px auto; padding: 8px 14px; border: 0; border-radius: 9px; font: 14px gymtimer, sans-serif; color: white; background: rgb(135 40 40); cursor: pointer; }
#friendpage .friendListRefresh { position: sticky; top: 150px; z-index: 1; background: #28a745; }
#friendpage .friendListMore:disabled { opacity: .5; cursor: wait; }
#friendpage .friendListMore[hidden], #friendpage .friendListRefresh[hidden] { display: none; }
