/* HTL Clicker - improved layout: right sidebar with upgrade items, dark, clean, Poppins, no border-radius */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap');

:root{
    --bg-0: #000000;
    --bg-1: #0a0a0a;
    --bg-2: #141414;
    --panel: #0f0f0f;
    --muted: #9a9a9a;
    --accent: #e8f837;
    --accent-2: #e8f837;
    --accent-3: #e8f837;
    --text: #e6e6e6;
    --glass: rgba(255,255,255,0.025);
    --border: rgba(255,255,255,0.04);
}

*{ box-sizing: border-box; margin:0; padding:0; font-family: 'Poppins', sans-serif; color:var(--text); -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }

/* Custom Scrollbar */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-track {
    background: rgba(0,0,0,0.3);
}

::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, rgba(232,248,55,0.5), rgba(232,248,55,0.3));
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(180deg, rgba(232,248,55,0.7), rgba(232,248,55,0.5));
}

html,body{ height:100%; background: linear-gradient(160deg,var(--bg-0) 0%, var(--bg-1) 100%); }

/* MAIN WRAPPER: ALLES NEBENEINANDER */
.klicker-container{
    width:100%;
    background: linear-gradient(180deg, rgba(255,255,255,0.01), var(--panel));
    border:1px solid var(--border);
    box-shadow: 0 18px 40px rgba(0,0,0,0.65);
    padding:28px;
    display:flex;               /* <-- WICHTIG */
    flex-direction:row;
    gap:20px;
    align-items:flex-start;
    flex-wrap:nowrap;           /* kein Umbruch */
}

.back-button{
  background-color: #e8f837;
  color: #000000;
}

/* LINKER BEREICH */
.klick-area{
    background: linear-gradient(180deg, #111, #0c0c0c);
    border:1px solid rgba(255,255,255,0.02);
    min-height: 700px;
    padding:28px;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:18px;
    max-width: 500px;
    flex:0 0 500px;             /* feste Breite */
}

.klick-area h1{
    font-size:1.1rem;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:1px;
    color:var(--accent);
    align-self:flex-start;
}

.counter-row{
    display:flex;
    align-items:center;
    gap:18px;
    width:100%;
    justify-content:center;
}

.inhalt-klick-area{
    font-size:larger;
    font-weight:700;
    color:var(--accent);
    padding:12px 18px;
    border:1px solid rgba(232,248,55,0.3);
    background: linear-gradient(135deg, rgba(232,248,55,0.08), rgba(232,248,55,0.03));
    text-align: center;
    box-shadow: 0 0 20px rgba(232,248,55,0.15);
    transition: all 0.3s ease;
}

.inhalt-klick-area:hover {
    box-shadow: 0 0 30px rgba(232,248,55,0.3);
    border-color: rgba(232,248,55,0.5);
}

.mahnungen-cps{
  text-align: center;
  font-size: smaller;
}

/* CLICK-BUTTON */
#klicker-button{
    border:none;
    font-size:1.2rem;
    font-weight:700;
    cursor:pointer;
    transition: transform .08s ease, box-shadow .15s ease, filter .12s ease;
    box-shadow: 0 12px 32px rgba(232,248,55,0.4), 0 0 40px rgba(232,248,55,0.2);
    filter: drop-shadow(0 0 10px rgba(232,248,55,0.3));
}

#klicker-button:hover{
    transform: scale(1.02);
    box-shadow: 0 14px 40px rgba(232,248,55,0.5), 0 0 50px rgba(232,248,55,0.3);
    filter: drop-shadow(0 0 15px rgba(232,248,55,0.5)) brightness(1.05);
}

#klicker-button:active{
    transform: translateY(3px) scale(0.98);
    box-shadow: 0 6px 16px rgba(232,248,55,0.4), 0 0 20px rgba(232,248,55,0.2);
    filter: drop-shadow(0 0 8px rgba(232,248,55,0.3)) brightness(0.95);
}

.klick-hint{
    color:var(--muted);
    font-size:0.88rem;
    text-align:center;
    max-width:780px;
    padding: 12px;
    background: rgba(255,255,255,0.02);
    border: 1px solid rgba(255,255,255,0.04);
    font-style: italic;
    letter-spacing: 0.3px;
}




















/* MITTLERER BEREICH*/
.inhalt-animationen{
    flex:0 0 300px;
    background: linear-gradient(180deg, #111, #0c0c0c);
    min-width: 500px;
    max-height: 510px;
    border: 4px solid transparent;
    background-clip: padding-box;
    position: relative;
}

.inhalt-animationen::before {
    content: '';
    position: absolute;
    top: -4px;
    left: -4px;
    right: -4px;
    bottom: -4px;
    background: linear-gradient(135deg, var(--accent), rgba(232,248,55,0.5), var(--accent));
    z-index: -1;
    animation: borderPulse 3s ease-in-out infinite;
}

@keyframes borderPulse {
    0%, 100% { opacity: 0.6; }
    50% { opacity: 1; }
}

/* Canvas einstellungen */
.meinCanvas{
width: 480px;
height: 100px;
display: block;
border-bottom: 5px solid #e8f837;
}

/* scrollen für Canvas */
.canvas-2d {
  min-width: 500px;
  max-height: 500px;       /* ← feste Höhe damit NUR dieser Bereich scrollt */
  overflow-x: auto;        /* Scroll für diesen Bereich */
  overscroll-behavior: contain; /* verhindert Body-Scroll */
  display: flex;
  flex-direction: column;
}

















/* SIDEBAR-AREA */
.sidebars{
    display:flex;
    flex-direction:column;
    gap:16px;
    flex:0 0 360px;        /* leicht verbreitert */
}

/* SIDEBAR WRAPPER - für jede Sidebar */
.sidebar-wrapper {
    background: linear-gradient(180deg, #0f0f0f, #0a0a0a);
    border: 1px solid var(--border);
    transition: all 0.3s ease;
}

/* SIDEBAR TOGGLE - Klickbarer Header */
.sidebar-toggle {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 18px;
    cursor: pointer;
    background: linear-gradient(180deg, rgba(232,248,55,0.08), rgba(232,248,55,0.03));
    border-bottom: 1px solid var(--border);
    transition: all 0.2s ease;
    user-select: none;
}

.sidebar-toggle:hover {
    background: linear-gradient(180deg, rgba(232,248,55,0.12), rgba(232,248,55,0.06));
    border-bottom-color: rgba(232,248,55,0.2);
}

.sidebar-toggle h3 {
    color: var(--accent);
    font-size: 1rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    margin: 0;
}

.toggle-icon {
    color: var(--accent);
    font-size: 1.1rem;
    transition: transform 0.3s ease;
}

/* Rotiere Icon wenn eingeklappt */
.sidebar-wrapper.collapsed .toggle-icon {
    transform: rotate(-90deg);
}

/* Sidebar Content */
.klick-sidebar {
    background: linear-gradient(180deg, #0f0f0f, #0a0a0a);
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    max-height: 450px;
    overflow-y: auto;
    overscroll-behavior: contain;
    transition: max-height 0.3s ease, opacity 0.3s ease, padding 0.3s ease;
}

/* Eingeklappte Sidebar */
.sidebar-wrapper.collapsed .klick-sidebar {
    max-height: 0;
    opacity: 0;
    padding: 0 16px;
    overflow: hidden;
}

/* Sidebar Head - angepasst */
.sidebar-head {
    padding-bottom: 8px;
    border-bottom: 1px solid rgba(255,255,255,0.05);
}

.sidebar-subtitle {
    font-size: 0.82rem;
    color: var(--muted);
    font-weight: 400;
    text-align: center;
    margin: 0;
}

.upgrade-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}


/* Upgrade List - verbessert */


.text-starzacher{
  display: none;
}
  .upgrade:hover .text-starzacher {
      display: block;
  }

  .anzahl-starzacher{
    margin-left: 110px;
    margin-top: -23px;
  }
  
  /* Sidebar Stats für Automatisierung ausgeblendet */
  .sidebar-automatisierung .sidebar-stats {
      display: none;
  }
  
  /* Sidebar Stats nur für Upgrades und Abmeldeformular Shop anzeigen */
  .sidebar-upgrades .sidebar-stats,
  .sidebar-abmeldeformular .sidebar-stats {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      background: rgba(232,248,55,0.08);
      padding: 4px 10px;
      border-radius: 12px;
      border: 1px solid rgba(232,248,55,0.2);
  }
  
  .sidebar-upgrades .sidebar-stats .stat strong,
  .sidebar-abmeldeformular .sidebar-stats .stat strong {
      color: var(--accent);
      font-weight: 700;
      font-size: 0.95rem;
  }

.text-roscher{
  display: none;
}
  .upgrade:hover .text-roscher {
      display: block;
  }

  .anzahl-roscher{
    margin-left: 110px;
    margin-top: -23px;
  }



.text-devora{
  display: none;
}
  .upgrade:hover .text-devora {
      display: block;
  }

  .anzahl-devora{
    margin-left: 110px;
    margin-top: -23px;
  }


  .text-gallent{
  display: none;
}
  .upgrade:hover .text-gallent {
      display: block;
  }

  .anzahl-gallent{
    margin-left: 110px;
    margin-top: -23px;
  }

.text-gabriel{
  display: none;
}
  .upgrade:hover .text-gabriel {
      display: block;
  }

  .anzahl-gabriel{
    margin-left: 110px;
    margin-top: -23px;
  }



.text-kuschnigg{
  display: none;
}
  .upgrade:hover .text-kuschnigg {
      display: block;
  }

  .anzahl-kuschnigg{
    margin-left: 110px;
    margin-top: -23px;
  }

.text-miggitsch{
  display: none;
}
  .upgrade:hover .text-miggitsch {
      display: block;
  }

  .anzahl-miggitsch{
    margin-left: 110px;
    margin-top: -23px;
  }


.text-furjian{
  display: none;
}
  .upgrade:hover .text-furjian {
      display: block;
  }

  .anzahl-furjian{
    margin-left: 110px;
    margin-top: -23px;
  }


.text-steiner{
  display: none;
}
  .upgrade:hover .text-steiner {
      display: block;
  }

  .anzahl-steiner{
    margin-left: 110px;
    margin-top: -23px;
  }

.text-erwin-mikl{
  display: none;
}
  .upgrade:hover .text-erwin-mikl {
      display: block;
  }

  .anzahl-erwin-mikl{
    margin-left: 110px;
    margin-top: -23px;
  }




.text-schmidt{
  display: none;
}
  .upgrade:hover .text-schmidt {
      display: block;
  }

  .anzahl-schmidt{
    margin-left: 110px;
    margin-top: -23px;
  }


.text-mairer{
  display: none;
}
  .upgrade:hover .text-mairer {
      display: block;
  }

  .anzahl-mairer{
    margin-left: 110px;
    margin-top: -23px;
  }


.text-bischoff{
  display: none;
}
  .upgrade:hover .text-bischoff {
      display: block;
  }

  .anzahl-bischoff{
    margin-left: 110px;
    margin-top: -23px;
  }


.text-bina{
  display: none;
}
  .upgrade:hover .text-bina {
      display: block;
  }

  .anzahl-bina{
    margin-left: 110px;
    margin-top: -23px;
  }










.text-better-mouse-pointer{
    display: none;
}
.upgrade:hover .text-better-mouse-pointer {
    display: block;
}

.anzahl-klick-upgrade{
  margin-left: 170px;
  margin-top: -29px;
}


.upgrade{
    display:flex;
    justify-content:space-between;
    gap:12px;
    padding:14px;
    background: linear-gradient(135deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));
    border:1px solid rgba(255,255,255,0.06);
    border-left: 3px solid transparent;
    transition: all .2s ease;
    position: relative;
}
.upgrade:hover{
    transform: translateX(4px);
    background: linear-gradient(135deg, rgba(232,248,55,0.04), rgba(232,248,55,0.02));
    border-color: rgba(232,248,55,0.15);
    border-left-color: var(--accent);
    box-shadow: 0 4px 16px rgba(0,0,0,0.3);
}
.upgrade.disabled{
    opacity:0.4;
    filter: grayscale(80%);
}

.upgrade .info{
    display:flex;
    flex-direction:column;
    gap:6px;
    flex: 1;
}
.upgrade .title{
    font-weight:600;
    font-size: 0.95rem;
    color: var(--text);
}
.upgrade .desc{
    color:var(--muted);
    font-size:0.82rem;
    line-height: 1.4;
}
.upgrade .price {
    display: flex;
    align-items: center;
    gap: 6px;
    font-weight: 600;
    color: var(--accent);
    margin-top: 4px;
}
.upgrade .price img {
    width: 18px;
    height: 18px;
    opacity: 0.8;
}
.upgrade .meta{
    display:flex;
    flex-direction:column;
    gap:8px;
    align-items: flex-end;
}
.upgrade .buy-btn{
    background: linear-gradient(135deg, rgba(232,248,55,0.12), rgba(232,248,55,0.06));
    color:var(--accent);
    border:1px solid rgba(232,248,55,0.25);
    padding:10px 16px;
    cursor:pointer;
    font-weight: 600;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: all 0.2s ease;
    white-space: nowrap;
}
.upgrade .buy-btn:hover {
    background: linear-gradient(135deg, rgba(232,248,55,0.18), rgba(232,248,55,0.1));
    border-color: rgba(232,248,55,0.4);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(232,248,55,0.2);
}
.upgrade .buy-btn:active {
    transform: translateY(0);
}


/* MOBILE & RESPONSIVE */
@media (max-width:980px){
    .klicker-container{
        flex-direction:column;
        padding: 16px;
    }
    
    .klick-area {
        max-width: 100%;
        flex: 1;
    }
    
    .sidebars {
        flex: 1;
        width: 100%;
    }
    
    .inhalt-animationen {
        min-width: 100%;
        max-width: 100%;
    }
    
    .sidebar-wrapper {
        width: 100%;
    }
}

/* no rounded corners */
*{ border-radius: 0 !important; }

/* die sachen für die man nicht genug punkte hat werden grau */
.upgrade.disabled {
    opacity: 0.4;
    filter: grayscale(100%);
    pointer-events: none;
}

/* Smooth Animations */
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.upgrade {
    animation: fadeIn 0.3s ease forwards;
}

.upgrade:nth-child(1) { animation-delay: 0.05s; }
.upgrade:nth-child(2) { animation-delay: 0.1s; }
.upgrade:nth-child(3) { animation-delay: 0.15s; }
.upgrade:nth-child(4) { animation-delay: 0.2s; }
.upgrade:nth-child(5) { animation-delay: 0.25s; }

/* Pulse animation for important elements */
@keyframes pulse {
    0%, 100% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.02);
    }
}

.klicker-text {
    animation: pulse 2s ease-in-out infinite;
}

/* SPEICHER-BUTTON */
.save-section {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.save-btn {
    background: linear-gradient(135deg, rgba(34,197,94,0.15), rgba(22,163,74,0.1));
    color: #4ade80;
    border: 1px solid rgba(34,197,94,0.4);
    padding: 12px 18px;
    cursor: pointer;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    transition: all 0.25s ease;
    box-shadow: 0 4px 12px rgba(34,197,94,0.15);
    position: relative;
    overflow: hidden;
}

.save-btn::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    background: rgba(34,197,94,0.3);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    transition: width 0.6s, height 0.6s;
}

.save-btn:hover::before {
    width: 300px;
    height: 300px;
}

.save-btn:hover {
    background: linear-gradient(135deg, rgba(34,197,94,0.25), rgba(22,163,74,0.15));
    border-color: rgba(34,197,94,0.6);
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(34,197,94,0.3);
    color: #86efac;
}

.save-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}

.save-status {
    font-size: 0.9rem;
    font-weight: 600;
    text-align: center;
    min-height: 1.2em;
    padding: 6px;
    border-radius: 4px;
    transition: all 0.3s ease;
    text-shadow: 0 0 10px currentColor;
}

/* SPEICHERN LINKS UNTEN */
.save-section-bottom {
    position: absolute;
    bottom: 20px;
    left: 20px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    z-index: 1000;
}

/* ABMELDEFORMULARE ANZEIGE - UNTEN MITTIG */
.abmeldeformulare-display {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1000;
}

/* RESET BUTTON */
.reset-btn {
    background: linear-gradient(135deg, rgba(239,68,68,0.2), rgba(220,38,38,0.12));
    color: #fca5a5;
    border: 1px solid rgba(239,68,68,0.5);
    padding: 12px 18px;
    cursor: pointer;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    transition: all 0.25s ease;
    box-shadow: 0 4px 12px rgba(239,68,68,0.2);
    position: relative;
    overflow: hidden;
}

.reset-btn::after {
    content: '⚠️';
    position: absolute;
    right: -30px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1.2rem;
    opacity: 0;
    transition: all 0.3s ease;
}

.reset-btn:hover::after {
    right: 12px;
    opacity: 1;
}

.reset-btn:hover {
    background: linear-gradient(135deg, rgba(239,68,68,0.3), rgba(220,38,38,0.18));
    border-color: rgba(239,68,68,0.7);
    transform: translateY(-2px);
    box-shadow: 0 6px 24px rgba(239,68,68,0.4);
    color: #fecaca;
    padding-right: 45px;
}

.reset-btn:disabled {
    opacity: 0.4;
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
    filter: grayscale(70%);
}

.reset-status {
    font-size: 0.9rem;
    font-weight: 600;
    text-align: center;
    min-height: 1.2em;
    padding: 6px;
    border-radius: 4px;
    transition: all 0.3s ease;
    text-shadow: 0 0 10px currentColor;
}

/* RESET INFO (ABMELDEFORMULARE & RESETS) */
.reset-info {
    text-align: center;
    padding: 12px 16px;
    background: linear-gradient(135deg, rgba(232,248,55,0.08), rgba(232,248,55,0.04));
    border: 1px solid rgba(232,248,55,0.3);
    box-shadow: 0 4px 16px rgba(232,248,55,0.15);
    transition: all 0.3s ease;
    min-width: 180px;
}

.reset-info:hover {
    border-color: rgba(232,248,55,0.5);
    box-shadow: 0 6px 24px rgba(232,248,55,0.25);
    transform: translateY(-2px);
}

.reset-info p {
    font-size: 0.85rem;
    font-weight: 500;
    color: var(--accent);
    margin-bottom: 6px;
    text-transform: uppercase;
    letter-spacing: 0.8px;
}

#abmeldeformulare-count,
#resets-count {
    font-size: 1.8rem;
    font-weight: 700;
    color: var(--accent);
    text-shadow: 0 0 15px rgba(232,248,55,0.5);
    animation: numberGlow 2s ease-in-out infinite;
}

@keyframes numberGlow {
    0%, 100% { text-shadow: 0 0 15px rgba(167,139,250,0.5); }
    50% { text-shadow: 0 0 25px rgba(167,139,250,0.8), 0 0 35px rgba(167,139,250,0.4); }
}

/* ABMELDEFORMULAR SHOP */
.abmeldeformular-upgrade {
    background: linear-gradient(135deg, rgba(232,248,55,0.08), rgba(232,248,55,0.04));
    border: 1px solid rgba(232,248,55,0.2);
    border-left: 3px solid transparent;
    padding: 16px;
    margin-bottom: 12px;
    transition: all 0.25s ease;
    position: relative;
}

.abmeldeformular-upgrade::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, rgba(232,248,55,0.02), transparent);
    opacity: 0;
    transition: opacity 0.25s ease;
    pointer-events: none;
}

.abmeldeformular-upgrade:hover {
    border-color: rgba(232,248,55,0.35);
    border-left-color: var(--accent);
    background: linear-gradient(135deg, rgba(232,248,55,0.12), rgba(232,248,55,0.06));
    transform: translateX(4px);
    box-shadow: 0 6px 20px rgba(232,248,55,0.25);
}

.abmeldeformular-upgrade:hover::before {
    opacity: 1;
}

.abmeldeformular-upgrade .title {
    font-weight: 600;
    font-size: 1.02rem;
    color: var(--accent);
    margin-bottom: 8px;
    text-shadow: 0 0 8px rgba(232,248,55,0.3);
}

.abmeldeformular-upgrade .desc {
    font-size: 0.85rem;
    color: var(--muted);
    margin: 8px 0;
    line-height: 1.4;
}

.abmeldeformular-upgrade .price {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--accent);
    margin: 10px 0;
}

.abmeldeformular-price {
    color: var(--accent);
    font-weight: 700;
    font-size: 1.15rem;
}

.buy-abmeldeformular-btn {
    background: linear-gradient(135deg, rgba(232,248,55,0.2), rgba(232,248,55,0.15));
    color: var(--accent);
    border: 1px solid rgba(232,248,55,0.4);
    padding: 12px 16px;
    cursor: pointer;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    transition: all 0.2s ease;
    width: 100%;
    font-size: 0.85rem;
}

.buy-abmeldeformular-btn:hover {
    background: linear-gradient(135deg, rgba(232,248,55,0.3), rgba(232,248,55,0.2));
    border-color: rgba(232,248,55,0.6);
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(232,248,55,0.35);
    color: var(--text);
}

.buy-abmeldeformular-btn:active {
    transform: translateY(-1px);
}

.buy-abmeldeformular-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    transform: none;
    filter: grayscale(70%);
}

.bonus-status {
    font-size: 0.85rem;
    font-weight: 600;
    text-align: center;
    margin-top: 8px;
    min-height: 1.2em;
    padding: 4px 8px;
    border-radius: 4px;
    transition: all 0.3s ease;
    text-shadow: 0 0 8px currentColor;
}
