html {
  scroll-behavior: smooth;
}
#cusdis_thread iframe {
	overflow: hidden !important;
	scrollbar-width: none !important; /* Firefox */
}

#cusdis_thread iframe::-webkit-scrollbar {
	display: none !important; /* Chrome, Safari */
}
#cusdis_thread iframe {
	width: 95%;
	height: 100% !important;
	min-height: 400px !important;
}
.fade-in-iframe {
  opacity: 0;
  transition: opacity 0.5s ease-in-out;
}

.fade-in-iframe.loaded {
  opacity: 1;
}
.server-btn, #u18Btn, #sv1Btn {
	min-width: 90px;
	max-width:120px;
	flex:0 0 calc(33.333% - 10px);
	min-height:40px;
	white-space: nowrap;
}

.play-icon {
  width: 0;
  height: 0;
  border-left: clamp(14px, 2.6vw, 20px) solid white;
  border-top: clamp(9px, 1.8vw, 13px) solid transparent;
  border-bottom: clamp(9px, 1.8vw, 13px) solid transparent;
  margin-left: 4px;
}
.play-loader {
--bg: #262e36;
--green-1: #e7fff0;
--green-2: #8ef0b1;
--green-3: #2fd56f;
--green-4: #1ca757;
--green-5: #163d29;
--spinner-size: clamp(52px, 8vw, 68px);
--ring: clamp(6px, 1.2vw, 7px);
--glow: rgba(47, 213, 111, 0.24);
--text: rgba(241, 255, 246, 0.96);
--text-soft: rgba(210, 232, 220, 0.72);

width: min(78vw, 180px);
display: grid;
justify-items: center;
gap: 12px;
text-align: center;
user-select: none;
background: transparent;
color: var(--text);
font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.player-loading-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
  .play-loader .spinner-wrap {
    position: relative;
    width: var(--spinner-size);
    aspect-ratio: 1;
    display: grid;
    place-items: center;
    filter: drop-shadow(0 8px 16px var(--glow));
  }

  .play-loader .spinner-wrap::before,
  .play-loader .spinner-wrap::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 50%;
  }

  .play-loader .spinner-wrap::before {
    background:
      radial-gradient(circle at center, rgba(255,255,255,0) 51%, rgba(255,255,255,0.42) 52%, rgba(255,255,255,0) 58%),
      conic-gradient(from 0deg, rgba(47,213,111,0.06), rgba(47,213,111,0.16), rgba(47,213,111,0.82), rgba(28,167,87,1), rgba(47,213,111,0.06));
    -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - var(--ring)), #000 calc(100% - var(--ring) + 1px));
    mask: radial-gradient(farthest-side, transparent calc(100% - var(--ring)), #000 calc(100% - var(--ring) + 1px));
    animation: play-loader-spin 1s linear infinite;
  }

  .play-loader .spinner-wrap::after {
    inset: calc(var(--ring) * 1.4);
    background: radial-gradient(circle, rgba(142,240,177,0.28) 0%, rgba(47,213,111,0.13) 48%, rgba(255,255,255,0) 74%);
    animation: play-loader-pulse 1.9s ease-in-out infinite;
  }

  .play-loader .spinner-core {
    width: 42%;
    aspect-ratio: 1;
    border-radius: 50%;
    background: radial-gradient(circle at 34% 30%, rgba(255,255,255,0.96) 0 10%, var(--green-1) 14%, var(--green-2) 58%, var(--green-3) 100%);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.7),
      0 0 0 6px rgba(231,255,240,0.08),
      0 8px 18px rgba(15, 23, 32, 0.18);
    animation: play-loader-breathe 1.9s ease-in-out infinite;
  }

  .play-loader .label {
    font-size: clamp(12px, 2vw, 14px);
    font-weight: 700;
    letter-spacing: 0.025em;
    color: var(--text);
    display: inline-flex;
    align-items: center;
    text-shadow: 0 1px 1px rgba(0,0,0,.12);
  }

  .play-loader .dots {
    display: inline-block;
    width: 12px;
    overflow: hidden;
    text-align: left;
    animation: play-loader-dots 1.2s steps(4, end) infinite;
  }

.btn-shine {
	position: relative;
	overflow: hidden;
}

.btn-shine::before {
	content: "";
	position: absolute;
	top: 0;
	left: -80%;
	width: 50%;
	height: 100%;

	background: linear-gradient(
		120deg,
		transparent,
		rgba(255,255,255,.65),
		transparent
	);

	transform: skewX(-25deg);
}

.btn-shine:hover::before {
	animation: shine .8s linear infinite;
}

.fancy-wrap {
    padding: 14px !important;
    border-radius: 18px;
    background:
        radial-gradient(circle at top left, rgba(255, 193, 7, 0.08), transparent 35%),
        linear-gradient(145deg, #2a2f35, #1e2226);
    border: 1px solid rgba(255, 193, 7, 0.15);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.04),
        0 10px 24px rgba(0,0,0,0.30);
}

.button-group-title {
    color: rgba(255, 231, 170, 0.92);
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.4px;
    text-transform: uppercase;
    margin-bottom: 12px;
    padding-left: 2px;
}
    .button-group-title {
    color: #ffe7aa;
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.4px;
    text-transform: uppercase;
    margin-bottom: 12px;
}

	@keyframes shine {
		from {
			left: -80%;
		}
		to {
			left: 140%;
		}
	}
  @keyframes play-loader-spin {
    to { transform: rotate(360deg); }
  }

  @keyframes play-loader-pulse {
    0%, 100% { transform: scale(0.94); opacity: 0.72; }
    50% { transform: scale(1.06); opacity: 1; }
  }

  @keyframes play-loader-breathe {
    0%, 100% { transform: scale(0.97); }
    50% { transform: scale(1.03); }
  }

  @keyframes play-loader-dots {
    0% { width: 0; }
    25% { width: 4px; }
    50% { width: 8px; }
    75%, 100% { width: 12px; }
  }

  @media (prefers-reduced-motion: reduce) {
    .play-loader .spinner-wrap::before,
    .play-loader .spinner-wrap::after,
    .play-loader .spinner-core,
    .play-loader .dots {
      animation: none;
    }
  }