/* ======================================================
   CHARTS BOX – IDENTISCH ZU ALLEN BOXEN
====================================================== */

#charts-box {
  position: relative;
  width: 100%;

  background: var(--bg-glass);
  border-radius: var(--box-radius);
  backdrop-filter: blur(14px) saturate(1.3);

  font-family: var(--font-family);
  color: var(--foreground);

  display: flex;
  flex-direction: column;
  gap: 14px;

  padding: 18px 18px 20px;

  overflow: hidden;
  box-shadow:
    0 10px 40px rgba(0,0,0,.55),
    0 0 0 1px rgba(201,241,255,.12) inset;
}

/* ======================================================
   NEON RAHMEN – GLEICH WIE SHOUTBOX / NEWS / WELCOME
====================================================== */

#charts-box::before,
#charts-box::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
}

#charts-box::before {
  border: 2px solid transparent;
  background:
    linear-gradient(
      90deg,
      var(--primary),
      var(--accent),
      var(--primary-light)
    ) border-box;

  -webkit-mask:
    linear-gradient(#000 0 0) padding-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;

  animation: neo-border 6s linear infinite;
}

#charts-box::after {
  inset: 6px;
  border-radius: calc(var(--box-radius) - 6px);
  background: radial-gradient(
    circle at top,
    rgba(0,255,136,.18),
    transparent 70%
  );
  opacity: .6;
}

@keyframes neo-border {
  from { filter: hue-rotate(0deg); }
  to   { filter: hue-rotate(360deg); }
}

/* ======================================================
   HEADER
====================================================== */

#charts-box .box-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  text-align: center;
}

#charts-box .box-header h2 {
  margin: 0;
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--primary-light);
  text-shadow: 0 0 6px rgba(201,241,255,.5);
}

/* RSS BUTTON */
#charts-box .rss-button {
  display: inline-flex;
  align-items: center;
  gap: 6px;

  font-size: .85rem;
  font-weight: 700;

  padding: 6px 14px;
  border-radius: 8px;

  background: var(--primary);
  color: var(--primary-light);
  text-decoration: none;
}

#charts-box .rss-button:hover {
  background: var(--accent);
  color: #000;
}

/* ======================================================
   COUNTDOWN
====================================================== */

#charts-box > div {
  text-align: center;
  font-size: .9rem;
  color: var(--accent);
}

/* ======================================================
   CHARTS LIST (SCROLL BLEIBT!)
====================================================== */

#charts-list {
  list-style: none;
  margin: 0;
  padding: 0 4px 0 0;

  max-height: 260px;
  overflow-y: auto;

  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* Scrollbar */
#charts-list::-webkit-scrollbar {
  width: 6px;
}

#charts-list::-webkit-scrollbar-thumb {
  background: rgba(0,255,136,.45);
  border-radius: 6px;
}

/* ======================================================
   LIST ITEMS (GLEICH WIE SHOUTBOX BUBBLES)
====================================================== */

#charts-list li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;

  padding: 10px 14px;

  background: rgba(255,77,77,.14);
  border-radius: 12px;

  box-shadow:
    0 4px 14px rgba(0,0,0,.25),
    inset 0 0 0 1px rgba(201,241,255,.08);

  font-size: .95rem;
}

/* ======================================================
   VOTE BUTTON
====================================================== */

.vote-btn {
  background: var(--primary);
  border: none;
  border-radius: 8px;

  padding: 6px 16px;
  font-weight: 700;
  cursor: pointer;
}

.vote-btn:hover {
  background: var(--accent);
  color: #000;
}

/* ======================================================
   COMMENTS
====================================================== */

.comments-section h3 {
  margin: 8px 0 4px;
  font-size: 1rem;
  color: var(--primary-light);
}

.comments-section ul {
  list-style: none;
  margin: 0;
  padding: 0;

  max-height: 160px;
  overflow-y: auto;

  display: flex;
  flex-direction: column;
  gap: 8px;
}

.comments-section li {
  background: rgba(0,0,0,.35);
  border-radius: 10px;
  padding: 8px 12px;
  font-size: .85rem;
}

/* ======================================================
   FORMS
====================================================== */

#charts-box textarea,
#charts-box select {
  width: 100%;
  background: rgba(0,0,0,.35);

  border: 1.5px solid var(--primary);
  border-radius: 10px;

  padding: 8px 12px;
  color: var(--foreground);
}

#charts-box textarea:focus,
#charts-box select:focus {
  border-color: var(--accent);
  outline: none;
}

/* ======================================================
   RESPONSIVE
====================================================== */

@media (max-width: 700px) {
  #charts-list li {
    flex-direction: column;
    align-items: flex-start;
  }
}
