/* ════════════════════════════════════════════════════════════
   체스카지노 스킨 — 다크 네이비 / 실버 테마 (chess-navy 2026-09-18)
   원본: 가든카지노(다크 브라운/골드). 색만 치환했고 구조는 그대로다.
   ════════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@300;400;500;600;700;800;900&family=Montserrat:wght@400;600;700;800;900&family=Cinzel:wght@600;700;800;900&family=Cinzel+Decorative:wght@700;900&family=Playfair+Display:wght@700;800;900&family=Bodoni+Moda:wght@700;800;900&family=Italiana&display=swap');

:root{
  --bg:#080e18;
  --bg-2:#111a28;
  --surface:#131e30;
  --surface-2:#1a2940;
  --surface-3:#26374f;
  --line:rgba(180,200,225,0.28);
  --line-strong:rgba(168,192,220,0.5);
  --gold:#b4c8de;
  --gold-2:#bfd2e6;
  --gold-bright:#d6e4f5;
  --gold-light:#c8daec;
  --gold-deep:#6d87a8;
  --gold-shine:#eef4fc;
  --orange:#7fa0c8;
  --red:#dc4545;
  --red-2:#ee6262;
  --green:#5fb878;
  --text:#f0e0c0;
  --text-2:#c0cede;
  --text-3:#8496aa;
  --text-mute:#5a6b80;
  --text-on-gold:#111d33;
  --shadow:0 4px 14px rgba(0,0,0,0.45);
  --shadow-lg:0 8px 28px rgba(0,0,0,0.6);
  --shadow-gold:0 0 24px rgba(168,192,220,0.18);
}

/* ── reset ── */
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0;color:var(--text);font-family:'Noto Sans KR','Montserrat',-apple-system,BlinkMacSystemFont,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:-0.01em}
body{
  min-height:100vh;
  background:
    radial-gradient(ellipse 90% 50% at 20% 0%,rgba(168,192,220,0.14) 0%,transparent 55%),
    radial-gradient(ellipse 90% 50% at 80% 30%,rgba(150,180,215,0.10) 0%,transparent 55%),
    radial-gradient(ellipse 70% 40% at 50% 100%,rgba(168,192,220,0.08) 0%,transparent 60%),
    repeating-linear-gradient(135deg,
      transparent 0px,
      transparent 100px,
      rgba(168,192,220,0.012) 100px,
      rgba(168,192,220,0.012) 101px),
    linear-gradient(180deg,#101a2c 0%,#0a1220 25%,#08101c 50%,#0a1220 75%,#101a2c 100%);
  background-attachment:fixed;
}
body::before{
  content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(circle at 15% 20%,rgba(214,228,245,0.05) 0%,transparent 30%),
    radial-gradient(circle at 85% 70%,rgba(120,150,190,0.05) 0%,transparent 35%),
    radial-gradient(circle at 50% 50%,rgba(100,130,170,0.03) 0%,transparent 50%);
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:0;background:none;color:inherit}
input,textarea,select{font-family:inherit}
ul{list-style:none;margin:0;padding:0}
table{border-collapse:collapse}

/* ── flex utilities (index.html에서 사용중) ── */
.dflex-ac-jc{display:flex;align-items:center;justify-content:center}
.dflex-ac-js{display:flex;align-items:center;justify-content:flex-start}
.dflex-ac-je{display:flex;align-items:center;justify-content:flex-end}
.text-left{text-align:left}
.text-right{text-align:right}
.bs-ul-df{display:flex;list-style:none;margin:0;padding:0;gap:0}
.h-100{height:100%}
.w-100{width:100%}
.w-b{position:relative}
.container{max-width:1280px;margin:0 auto;padding:0 24px;width:100%}

/* ── desktop/mobile toggle ── */
.desktop{display:flex}
.mobile{display:none}
@media(max-width:900px){
  .desktop{display:none!important}
  .mobile{display:flex!important}
}

/* ════════════════════════════════════════════════════════════
   HEADER (단일 행 — 배너 아래에 위치)
   ════════════════════════════════════════════════════════════ */
.header-section{
  position:relative;z-index:50;
  background:
    linear-gradient(180deg,rgba(168,192,220,0.06) 0%,rgba(168,192,220,0) 100%),
    linear-gradient(180deg,#1e3050 0%,#122038 100%);
  border-top:1px solid var(--line-strong);
  border-bottom:1px solid var(--line-strong);
  box-shadow:
    0 4px 14px rgba(0,0,0,0.55),
    inset 0 1px 0 rgba(214,228,245,0.18),
    inset 0 -1px 0 rgba(0,0,0,0.4);
}

.header-main{padding:0}
.header-main .container{display:flex;align-items:center;justify-content:space-between;gap:24px;height:64px}

.nav-row{display:flex;gap:0;align-items:center;flex:1;justify-content:center}
.nav-row li{position:relative}
.nav-row .nav-item{
  display:flex;align-items:center;gap:8px;
  padding:0 18px;height:64px;
  color:var(--text);font-weight:700;font-size:14.5px;letter-spacing:0.02em;
  position:relative;transition:all .25s;cursor:pointer;
  white-space:nowrap;
}
.nav-row .nav-item span{white-space:nowrap;}
.nav-row .nav-item i{
  color:var(--gold-bright);font-size:18px;transition:all .25s;
  filter:drop-shadow(0 0 4px rgba(168,192,220,0.25));
}
.nav-row .nav-item:hover{
  color:var(--gold-shine);
  text-shadow:0 0 10px rgba(214,228,245,0.4);
}
.nav-row .nav-item:hover i{
  color:var(--gold-shine);
  filter:drop-shadow(0 0 8px rgba(214,228,245,0.6));
}
.nav-row .nav-item::after{
  content:'';position:absolute;left:50%;bottom:0;transform:translateX(-50%);
  width:0;height:2px;
  background:linear-gradient(90deg,transparent,var(--gold-bright),transparent);
  transition:width .3s;
  box-shadow:0 0 10px rgba(168,192,220,0.5);
}
.nav-row .nav-item:hover::after{width:80%}

/* 호환용 (드롭다운/카운트는 시각적으로 숨김) */
.sc-dropdown{display:none!important}
.text-gradient-b,.text-gradient-r{
  background:linear-gradient(135deg,var(--gold-bright),var(--gold));
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;
}

/* 로그인 / 회원가입 버튼 */
.bal-container{flex:0 0 auto}
.before-login{display:none}
.before-login.active{display:flex}
.btn-grp{display:flex;gap:8px}
.btn-silver,.btn-blue,.login-link,.join-link{
  height:38px;padding:0 22px;border-radius:6px;
  font-size:14px;font-weight:800;letter-spacing:0.02em;
  display:inline-flex;align-items:center;justify-content:center;
  cursor:pointer;transition:all .2s;border:1px solid transparent;
}
.btn-silver,.login-link{
  background:linear-gradient(180deg,#ee6262 0%,#d94545 100%);
  color:#fff;border-color:#d44a4a;
  box-shadow:0 3px 10px rgba(218,70,70,0.3);
}
.btn-silver:hover,.login-link:hover{
  background:linear-gradient(180deg,#f87878 0%,#e85555 100%);
  transform:translateY(-1px);
}
.btn-blue,.join-link{
  background:linear-gradient(180deg,#a8c0dc 0%,#9bb4d0 100%);
  color:var(--text-on-gold);border-color:#8aa3c0;
  box-shadow:0 3px 10px rgba(168,192,220,0.3);
}
.btn-blue:hover,.join-link:hover{
  background:linear-gradient(180deg,#d2e1f4 0%,#a8c0dc 100%);
  transform:translateY(-1px);
}

/* 모바일 햄버거 */
.left-menu-btn{
  display:none;flex-direction:column;justify-content:center;gap:5px;
  width:40px;height:40px;padding:8px;
  background:rgba(20,32,52,0.6);border:1px solid var(--line);border-radius:6px;
}
.left-menu-btn span{display:block;width:100%;height:2px;background:var(--gold);border-radius:1px}

/* 호환용 헤더 메뉴 (구버전) — 숨김 */
.header-menu{display:none!important}
.header-logo{display:none!important}

/* ════════════════════════════════════════════════════════════
   NOTICE LINE BAR (한줄공지)
   ════════════════════════════════════════════════════════════ */
#notice-line-bar{
  background:linear-gradient(90deg,#101a2c,#16243a,#101a2c);
  border-bottom:1px solid var(--line-strong);
  padding:8px 0;overflow:hidden;
}
#notice-line-text{white-space:nowrap;animation:noticeScroll 24s linear infinite;color:var(--gold-bright);font-size:13px;font-weight:600;padding-left:100%}
@keyframes noticeScroll{0%{transform:translateX(0)}100%{transform:translateX(-100%)}}

/* ════════════════════════════════════════════════════════════
   BANNER (사이트 최상단) — 다크 골드 카지노 룩
   ════════════════════════════════════════════════════════════ */
.visual-section{
  position:relative;width:100%;overflow:hidden;
  background:
    radial-gradient(ellipse at 25% 50%,rgba(140,165,195,0.12) 0%,transparent 55%),
    radial-gradient(ellipse at 78% 50%,rgba(140,165,195,0.10) 0%,transparent 55%),
    linear-gradient(180deg,#101a2c 0%,#070e18 50%,#101a2c 100%);
}
.visual-section::before{
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(circle at 18% 70%,rgba(168,192,220,0.18) 0%,transparent 25%),
    radial-gradient(circle at 82% 30%,rgba(220,69,69,0.15) 0%,transparent 25%),
    radial-gradient(circle at 50% 50%,rgba(140,165,195,0.08) 0%,transparent 55%);
  z-index:1;pointer-events:none;
}
#banner-slider{position:relative;width:100%;height:480px;overflow:hidden;z-index:2}
#banner-track{width:100%;height:100%;position:relative}
/* 단일 배너 이미지 — object-fit:cover로 모든 화면 크기 자동 대응 */
.banner-pc{
  width:100%;height:100%;object-fit:cover;object-position:center center;
  position:absolute;left:0;top:0;
  opacity:1;transition:opacity 1s ease;
}
#banner-dots{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:5}

/* SAMPLE CASINO 콘텐츠 (가로 중앙, 세로는 약간 아래) */
.banner-content{
  position:absolute;left:50%;top:62%;transform:translate(-50%,-50%);
  z-index:8;text-align:center;pointer-events:none;
  display:flex;flex-direction:column;align-items:center;gap:0;
}

/* 타이틀: Bodoni Moda 고대비 명품 세리프 (패션 매거진 럭셔리) */
.banner-title{
  font-family:'Bodoni Moda','Playfair Display','Cinzel','Noto Sans KR',serif;
  font-weight:900;letter-spacing:0.04em;line-height:0.92;
  display:flex;flex-direction:column;align-items:center;
  margin-bottom:22px;
  position:relative;
  font-style:italic;
}
.banner-title span{
  display:block;
  font-size:104px;
  position:relative;
  /* 깊이감 있는 6-stop 황금 메탈 그라데이션 */
  background:linear-gradient(180deg,
    #f2f7ff 0%,
    #e2ecf8 22%,
    #a8c0dc 45%,
    #8fa8c4 65%,
    #5f7794 85%,
    #33455e 100%);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
  -webkit-text-stroke:1px rgba(16,26,44,0.6);
  filter:drop-shadow(0 0 24px rgba(214,228,245,0.4));
}
.banner-title span:last-child{margin-top:-12px}

/* 정보 박스: 럭셔리 카드 (코너 장식 + 다이아몬드 디바이더 + 내부 글로우) */
.banner-info{
  position:relative;
  background:linear-gradient(180deg,rgba(20,32,52,0.62) 0%,rgba(8,14,26,0.72) 100%);
  padding:14px 60px 16px;
  border-top:1px solid rgba(140,165,195,0.18);
  border-bottom:1px solid rgba(140,165,195,0.18);
  text-align:center;
  min-width:420px;max-width:480px;
  box-shadow:
    inset 0 0 80px rgba(168,192,220,0.06),
    inset 0 1px 0 rgba(168,192,220,0.12),
    inset 0 -1px 0 rgba(168,192,220,0.12),
    0 8px 28px rgba(0,0,0,0.55),
    0 0 40px rgba(168,192,220,0.08);
  backdrop-filter:blur(2px);
}

/* 4 코너 다이아몬드 점 + 좌우 황금 라인 데코 */
.banner-info::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:
    /* 좌상 */
    radial-gradient(circle 4px at 14px 14px,rgba(245,250,255,1) 0%,rgba(214,228,245,0.85) 35%,rgba(168,192,220,0.4) 60%,transparent 90%),
    /* 우상 */
    radial-gradient(circle 4px at calc(100% - 14px) 14px,rgba(245,250,255,1) 0%,rgba(214,228,245,0.85) 35%,rgba(168,192,220,0.4) 60%,transparent 90%),
    /* 좌하 */
    radial-gradient(circle 4px at 14px calc(100% - 14px),rgba(245,250,255,1) 0%,rgba(214,228,245,0.85) 35%,rgba(168,192,220,0.4) 60%,transparent 90%),
    /* 우하 */
    radial-gradient(circle 4px at calc(100% - 14px) calc(100% - 14px),rgba(245,250,255,1) 0%,rgba(214,228,245,0.85) 35%,rgba(168,192,220,0.4) 60%,transparent 90%);
}

/* 좌우 세로 황금 그라데이션 라인 (격자 느낌) */
.banner-info::after{
  content:'';position:absolute;inset:14px 8px;pointer-events:none;
  border-left:1px solid rgba(168,192,220,0.18);
  border-right:1px solid rgba(168,192,220,0.18);
}

/* 메인 타이틀 (골드 카지노) */
.banner-info-main{
  position:relative;z-index:1;
  font-size:34px;font-weight:800;
  letter-spacing:0.16em;line-height:1;
  font-family:'Noto Sans KR',sans-serif;
  background:linear-gradient(180deg,#ffffff 0%,#f4f8ff 18%,#e2ecf8 45%,#a8c0dc 70%,#8098b4 90%,#54708e 100%);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
  filter:
    drop-shadow(0 2px 6px rgba(0,0,0,0.95))
    drop-shadow(0 0 14px rgba(168,192,220,0.4));
  background-size:100% 200%;
  animation:goldShineFlow 5s linear infinite;
}

/* 가운데 다이아몬드 디바이더 (양옆에 황금 라인) */
.banner-info-divider{
  position:relative;z-index:1;
  display:flex;align-items:center;justify-content:center;
  height:14px;margin:10px 0 10px;
}
.banner-info-divider::before,
.banner-info-divider::after{
  content:'';flex:1;max-width:80px;height:1px;
}
.banner-info-divider::before{
  background:linear-gradient(90deg,transparent 0%,rgba(214,228,245,0.6) 100%);
  margin-right:14px;
}
.banner-info-divider::after{
  background:linear-gradient(90deg,rgba(214,228,245,0.6) 0%,transparent 100%);
  margin-left:14px;
}
.info-diamond{
  width:8px;height:8px;
  background:linear-gradient(135deg,#f4f8ff 0%,#d6e4f5 50%,#5f7794 100%);
  transform:rotate(45deg);
  box-shadow:
    0 0 10px rgba(214,228,245,0.8),
    0 0 20px rgba(168,192,220,0.5),
    inset 0 0 4px rgba(245,250,255,0.6);
  animation:diamondPulse 2.8s ease-in-out infinite;
}
@keyframes diamondPulse{
  0%,100%{
    box-shadow:
      0 0 8px rgba(214,228,245,0.5),
      0 0 16px rgba(168,192,220,0.3),
      inset 0 0 3px rgba(245,250,255,0.4);
    transform:rotate(45deg) scale(1);
  }
  50%{
    box-shadow:
      0 0 16px rgba(245,250,255,0.95),
      0 0 32px rgba(168,192,220,0.6),
      0 0 50px rgba(168,192,220,0.3),
      inset 0 0 5px rgba(245,250,255,0.8);
    transform:rotate(45deg) scale(1.25);
  }
}

/* 서브 텍스트 (다양한 이벤트 / 정식 라이센스) */
.banner-info-sub{
  position:relative;z-index:1;
  font-size:17px;font-weight:500;color:#dae4f0;
  letter-spacing:0.14em;line-height:1.55;
  text-shadow:0 1px 4px rgba(0,0,0,0.9),0 0 10px rgba(168,192,220,0.25);
  font-family:'Noto Sans KR',sans-serif;
  display:flex;align-items:center;justify-content:center;gap:10px;
}
/* 양옆 작은 황금 점 데코 */
.banner-info-sub::before,
.banner-info-sub::after{
  content:'';
  width:4px;height:4px;border-radius:50%;
  background:radial-gradient(circle,rgba(245,250,255,0.9) 0%,rgba(214,228,245,0.5) 60%,transparent 100%);
  flex-shrink:0;
  opacity:0.7;
}

/* 배너 데코레이션 - 카지노 분위기 */
.visual-section::after{
  content:'';position:absolute;inset:0;z-index:2;pointer-events:none;
  background:
    repeating-linear-gradient(135deg,
      transparent 0px,
      transparent 80px,
      rgba(168,192,220,0.025) 80px,
      rgba(168,192,220,0.025) 81px);
}

@media(max-width:900px){
  #banner-slider{height:300px}
  /* 동일 이미지 사용 — object-fit:cover가 자동으로 가운데 영역 보여줌 */
  .banner-content{left:50%}
  .banner-title span{font-size:48px}
  .banner-title span:last-child{margin-top:-6px}
  .banner-info{padding:14px 48px;min-width:380px}
  .banner-info-main{font-size:24px;margin-bottom:8px}
  .banner-info-sub{font-size:16px}
}
@media(max-width:520px){
  .banner-title span{font-size:36px}
  .banner-info{padding:10px 28px;min-width:280px}
  .banner-info-main{font-size:19px;margin-bottom:6px}
  .banner-info-sub{font-size:13px}
}

/* ════════════════════════════════════════════════════════════
   JACKPOT BAR
   ════════════════════════════════════════════════════════════ */
.jackpot-custom{padding:18px 0;background:var(--bg)}
.jackpot-bar{max-width:1280px;margin:0 auto;padding:0 24px}
.jackpot-inner{
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:14px 28px;
  background:linear-gradient(90deg,#101a2c 0%,#16243a 50%,#101a2c 100%);
  border:1px solid var(--line-strong);border-radius:10px;
  box-shadow:inset 0 0 30px rgba(140,165,195,0.06),var(--shadow);
}
.jackpot-left{display:flex;align-items:center;gap:12px}
.jackpot-left i{color:var(--gold-bright);font-size:24px;filter:drop-shadow(0 0 8px rgba(168,192,220,0.5))}
.jackpot-title{color:var(--gold-light);font-size:15px;font-weight:700;letter-spacing:0.05em}
.jackpot-amount-wrap{display:flex;align-items:baseline;gap:8px}
.jackpot-number{
  font-size:30px;font-weight:900;
  background:linear-gradient(180deg,#e2ecf8 0%,#a8c0dc 50%,#8098b4 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  text-shadow:0 0 20px rgba(168,192,220,0.25);font-family:'Montserrat',sans-serif;
}
.jackpot-won{color:var(--gold);font-size:18px;font-weight:700}
.reel-digit{display:inline-block;width:0.62em;height:1.15em;overflow:hidden;position:relative;vertical-align:middle}
.reel-inner{display:flex;flex-direction:column;position:absolute;top:0;transition:transform 0.6s cubic-bezier(0.2,0.8,0.3,1)}
.reel-inner span{display:block;height:1.15em;line-height:1.15em;text-align:center}
.reel-comma{display:inline-block;width:0.32em;text-align:center;vertical-align:middle}

/* ════════════════════════════════════════════════════════════
   TOGGLE SECTION (LIVE CASINO / SLOT GAME) — 좌우 분할 패널
   배경 이미지는 사용자가 /user14/images/toggle_casino.png,
                            /user14/images/toggle_slot.png 로 추가
   ════════════════════════════════════════════════════════════ */
.toggle-section{padding:24px 0 24px;background:transparent}
.toggle-section .container{position:relative;display:flex;align-items:stretch;justify-content:space-between;gap:18px;height:130px;max-width:1280px;padding:0 24px}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   토글 프레임 — 예술 작품급 럭셔리 황금 디자인
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* 외곽: 13-stop 메탈릭 황금 그라데이션 (깊이감과 광택) */
.toggle-btn{
  flex:1;height:100%;position:relative;cursor:pointer;
  display:block;text-decoration:none;
  background:linear-gradient(178deg,
    #0d1830 0%,
    #1c2c48 4%,
    #42618c 11%,
    #8aa8c8 20%,
    #8fa8c4 30%,
    #aec6e0 40%,
    #d6e4f5 47%,
    #f2f7ff 50%,
    #d6e4f5 53%,
    #aec6e0 60%,
    #8fa8c4 70%,
    #8aa8c8 80%,
    #42618c 89%,
    #1c2c48 96%,
    #0d1830 100%);
  transition:transform .45s cubic-bezier(.2,.8,.3,1),filter .45s;
  filter:
    drop-shadow(0 10px 30px rgba(0,0,0,0.75))
    drop-shadow(0 0 24px rgba(168,192,220,0.22))
    drop-shadow(0 0 1px rgba(238,245,255,0.5));
}
/* 사다리꼴 클립 (좌측: 우하단 안쪽으로 / 우측: 좌하단 안쪽으로 — 같은 방향 기울임) */
.toggle-casino{clip-path:polygon(0 0, 100% 0, calc(100% - 46px) 100%, 0 100%)}
.toggle-slot{clip-path:polygon(46px 0, 100% 0, 100% 100%, 0 100%)}

/* (시머 애니메이션 제거됨 — 토글 위로 흐르는 빛 효과 없앰) */

/* 내부 콘텐츠 영역 (헤더 톤과 어우러지는 따뜻한 황금-브라운) */
.toggle-frame{
  position:absolute;inset:0;z-index:2;
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
  background:
    /* 상단 황금 빛 스트립 (광원 효과) */
    linear-gradient(180deg,rgba(214,228,245,0.18) 0%,transparent 18%),
    /* 중앙 강한 황금 앰비언트 (전체적으로 따뜻하게) */
    radial-gradient(ellipse 90% 100% at 50% 50%,rgba(214,228,245,0.28) 0%,rgba(168,192,220,0.10) 45%,transparent 85%),
    /* 부드러운 가장자리 비넷 (따뜻한 갈색) */
    radial-gradient(ellipse 110% 110% at center,transparent 55%,rgba(28,44,72,0.4) 100%),
    /* 미세한 사선 메탈 결 */
    repeating-linear-gradient(45deg,
      rgba(214,228,245,0.035) 0px,
      rgba(214,228,245,0.035) 1px,
      transparent 1px,
      transparent 5px),
    /* 베이스: 헤더와 같은 따뜻한 브라운 톤 (밝게 끌어올림) */
    linear-gradient(180deg,
      #2a4268 0%,
      #22334d 35%,
      #18283f 70%,
      #131f36 100%);
}
.toggle-casino .toggle-frame{
  clip-path:polygon(3px 3px,calc(100% - 3px) 3px,calc(100% - 49px) calc(100% - 3px),3px calc(100% - 3px));
}
.toggle-slot .toggle-frame{
  clip-path:polygon(49px 3px,calc(100% - 3px) 3px,calc(100% - 3px) calc(100% - 3px),3px calc(100% - 3px));
}

/* 내부 황금 인레이 라인 + 코너 다이아몬드 장식 */
.toggle-frame::before{
  content:'';position:absolute;inset:0;z-index:3;pointer-events:none;
  background:
    /* 좌상단 황금 다이아몬드 */
    radial-gradient(circle 5px at 22px 22px,
      rgba(245,250,255,1) 0%,
      rgba(214,228,245,0.85) 35%,
      rgba(168,192,220,0.4) 60%,
      transparent 100%),
    /* 우상단 다이아몬드 */
    radial-gradient(circle 5px at calc(100% - 22px) 22px,
      rgba(245,250,255,1) 0%,
      rgba(214,228,245,0.85) 35%,
      rgba(168,192,220,0.4) 60%,
      transparent 100%),
    /* 좌하단 다이아몬드 */
    radial-gradient(circle 5px at 22px calc(100% - 22px),
      rgba(245,250,255,1) 0%,
      rgba(214,228,245,0.85) 35%,
      rgba(168,192,220,0.4) 60%,
      transparent 100%),
    /* 우하단 다이아몬드 */
    radial-gradient(circle 5px at calc(100% - 22px) calc(100% - 22px),
      rgba(245,250,255,1) 0%,
      rgba(214,228,245,0.85) 35%,
      rgba(168,192,220,0.4) 60%,
      transparent 100%);
}

/* 내부 황금 보조 라인 (이중 보더 효과) */
.toggle-frame::after{
  content:'';position:absolute;inset:10px;z-index:3;pointer-events:none;
  border-top:1px solid rgba(214,228,245,0.25);
  border-bottom:1px solid rgba(214,228,245,0.25);
  background:
    /* 좌측 세로 그라데이션 라인 */
    linear-gradient(180deg,transparent 0%,rgba(214,228,245,0.3) 30%,rgba(214,228,245,0.3) 70%,transparent 100%) left/1px 100% no-repeat,
    /* 우측 세로 그라데이션 라인 */
    linear-gradient(180deg,transparent 0%,rgba(214,228,245,0.3) 30%,rgba(214,228,245,0.3) 70%,transparent 100%) right/1px 100% no-repeat;
}

.toggle-btn:hover{
  transform:translateY(-5px) scale(1.005);
  filter:
    drop-shadow(0 18px 42px rgba(0,0,0,0.85))
    drop-shadow(0 0 38px rgba(168,192,220,0.55))
    drop-shadow(0 0 2px rgba(238,245,255,0.8));
}

/* 배경 이미지 — 사용자가 나중에 toggle_casino.png / toggle_slot.png 추가 */
.toggle-img{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;z-index:0;display:block;
}

/* 텍스트 가독성을 위한 어두운 오버레이 */
.toggle-overlay{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(90deg,rgba(0,0,0,0.45) 0%,rgba(0,0,0,0.15) 50%,rgba(0,0,0,0.45) 100%);
  transition:background .3s;
}
.toggle-btn:hover .toggle-overlay{
  background:linear-gradient(90deg,rgba(0,0,0,0.35) 0%,rgba(0,0,0,0.05) 50%,rgba(0,0,0,0.35) 100%);
}

.toggle-btn .text-panel{
  position:relative;z-index:5;
  display:flex;flex-direction:column;gap:7px;
  line-height:1.2;align-items:center;text-align:center;
  padding:0 20px;
}
/* 텍스트 위/아래 우아한 황금 라인 장식 */
.toggle-btn .text-panel::before,
.toggle-btn .text-panel::after{
  content:'';display:block;width:80px;height:1px;
  background:linear-gradient(90deg,
    transparent 0%,
    rgba(214,228,245,0.3) 20%,
    rgba(238,245,255,0.85) 50%,
    rgba(214,228,245,0.3) 80%,
    transparent 100%);
}
.toggle-btn .kr-text{
  font-size:32px;font-weight:900;letter-spacing:0.06em;
  background:linear-gradient(180deg,
    #f4f8ff 0%,
    #e2ecf8 22%,
    #d6e4f5 45%,
    #aac4de 60%,
    #7e97b6 80%,
    #54708e 100%);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;
  filter:
    drop-shadow(0 2px 4px rgba(0,0,0,0.95))
    drop-shadow(0 0 16px rgba(168,192,220,0.4));
  font-family:'Cinzel','Noto Sans KR',serif;
}
.toggle-btn .en-text{
  color:var(--gold-light);font-size:13px;font-weight:600;
  letter-spacing:0.5em;
  font-family:'Cinzel','Montserrat',serif;
  text-shadow:
    0 2px 6px rgba(0,0,0,0.95),
    0 0 14px rgba(168,192,220,0.35);
  padding-left:0.5em;
}

/* 호환용 (구버전 g-size, g-img, g-hover, icon-panel은 숨김) */
.toggle-btn .g-size,.toggle-btn .g-img,.toggle-btn .g-hover,.toggle-btn > .icon-panel{display:none!important}
.toggle-divider{display:none!important}

.toggle-mobile{display:none;gap:8px;padding:12px 16px}
.toggle-mob-btn{
  flex:1;padding:14px 12px;border-radius:8px;
  background:var(--surface);border:1px solid var(--line);color:var(--text-2);
  font-size:14px;font-weight:700;
}
.toggle-mob-btn.active{background:linear-gradient(135deg,#16243a,#101a2c);border-color:var(--gold);color:var(--gold-bright)}

@media(max-width:900px){
  .toggle-pc{display:none}
  .toggle-mobile{display:flex}
}

/* ════════════════════════════════════════════════════════════
   GAME GRID (라이브 / 슬롯 / 호텔 / 미니게임)
   ════════════════════════════════════════════════════════════ */
#game-section-wrapper{padding:18px 0 30px;background:transparent}
.live-grid{
  display:grid;grid-template-columns:repeat(5,1fr);gap:14px;
  max-width:1280px;margin:0 auto;padding:0 24px;
}
@media(max-width:1100px){.live-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:800px){.live-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:520px){.live-grid{grid-template-columns:repeat(2,1fr);gap:10px}}

.live-card{
  position:relative;border-radius:10px;overflow:hidden;cursor:pointer;
  background:linear-gradient(180deg,#152340 0%,#0e1928 100%);
  border:1px solid var(--line);
  transition:all .25s;display:flex;flex-direction:column;
  box-shadow:0 3px 10px rgba(0,0,0,0.4);
}
.live-card img{width:100%;height:auto;display:block;border-radius:10px 10px 0 0;transition:transform .3s,opacity .3s,filter .3s}
.live-card .live-name,.live-card .card-name,.live-card > div:last-child{
  padding:10px 12px;background:linear-gradient(180deg,#1e3050,#122038);
  color:var(--text);font-size:13px;font-weight:700;text-align:center;
  border-top:1px solid var(--line-strong);
}
.live-card:hover{
  transform:translateY(-4px);
  border-color:var(--gold-bright);
  box-shadow:0 12px 32px rgba(0,0,0,0.6),0 0 24px rgba(168,192,220,0.28);
}
.live-card:hover img{transform:scale(0.96);opacity:0.55;filter:blur(1px)}
.live-card:hover .live-name,.live-card:hover .card-name{color:var(--gold-shine)}
.enter-overlay{
  position:absolute;inset:0;background:rgba(0,0,0,0.55);
  display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;
  opacity:0;transition:opacity .25s;border-radius:10px;
  color:var(--gold-bright);font-weight:800;font-size:14px;letter-spacing:0.1em;
}
.live-card:hover .enter-overlay{opacity:1}
.shine{position:absolute;top:-50%;left:-75%;width:50%;height:200%;z-index:3;background:linear-gradient(to right,transparent 0%,rgba(168,192,220,0.18) 50%,transparent 100%);transform:skewX(-20deg);pointer-events:none}

/* ════════════════════════════════════════════════════════════
   REALTIME INFO BOXES (공지/이벤트/출금현황/실시간당첨)
   ════════════════════════════════════════════════════════════ */
.realtime-section{padding:8px 0 30px;background:transparent}
.realtime-section .container{max-width:1280px;padding:0 24px}
.realtime-section > .container > div{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media(max-width:900px){.realtime-section > .container > div{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.realtime-section > .container > div{grid-template-columns:1fr}}

.info-box{
  background:linear-gradient(180deg,#16243a 0%,#0e1928 100%);
  border:1px solid var(--line);border-radius:10px;overflow:hidden;
  display:flex;flex-direction:column;
  box-shadow:
    0 4px 16px rgba(0,0,0,0.45),
    inset 0 1px 0 rgba(168,192,220,0.08);
  transition:border-color .25s,box-shadow .25s;
}
.info-box:hover{
  border-color:var(--line-strong);
  box-shadow:0 6px 22px rgba(0,0,0,0.55),0 0 18px rgba(168,192,220,0.12);
}
.info-header{
  position:relative;display:flex;align-items:center;gap:8px;
  padding:14px 18px;
  background:linear-gradient(180deg,#1e3050 0%,#152340 100%);
  border-bottom:1px solid var(--line-strong);
  box-shadow:inset 0 1px 0 rgba(168,192,220,0.15);
}
.info-header-icon{
  color:var(--gold-bright);font-size:18px;
  filter:drop-shadow(0 0 6px rgba(168,192,220,0.4));
}
.info-header-title{
  font-size:15px;font-weight:800;letter-spacing:0.04em;
  background:linear-gradient(180deg,#eef4fc 0%,#d6e4f5 60%,#b4c8de 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
.info-header::after{
  content:'MORE';position:absolute;right:18px;top:50%;transform:translateY(-50%);
  font-size:11px;color:var(--text-3);letter-spacing:0.18em;font-weight:700;cursor:pointer;transition:color .2s;
}
.info-header:hover::after{color:var(--gold-bright)}
.info-body{flex:1;padding:6px 14px;min-height:180px;max-height:230px;overflow-y:auto;background:transparent}
.info-body::-webkit-scrollbar{width:5px}
.info-body::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:3px}

/* 정보 박스 행 (당첨/입금/이벤트) */
.t-row{display:flex;align-items:center;justify-content:space-between;padding:10px 4px;border-bottom:1px solid var(--line);font-size:13px}
.t-row:last-child{border-bottom:0}
.t-user{display:flex;align-items:center;gap:6px;color:var(--text-2);min-width:80px}
.t-avatar{font-size:14px}
.t-amount{font-weight:800;text-align:right}
.t-amount.green,.t-amount.gold{color:var(--gold-bright)}
.t-time{color:var(--text-3);font-size:11px;min-width:50px;text-align:right}

/* 공지 / 이벤트 리스트 행 */
#notice-list > div,#event-info-list > div{
  display:flex;align-items:center;gap:10px;padding:10px 4px;
  border-bottom:1px solid var(--line);font-size:13px;color:var(--text);cursor:pointer;
}
#notice-list > div:last-child,#event-info-list > div:last-child{border-bottom:0}
#notice-list > div:hover,#event-info-list > div:hover{color:var(--gold-bright)}

/* ════════════════════════════════════════════════════════════
   PARTNERS / FOOTER
   ════════════════════════════════════════════════════════════ */
.partners{
  background:linear-gradient(180deg,rgba(168,192,220,0.04) 0%,rgba(0,0,0,0.4) 100%);
  border-top:1px solid var(--line);
  padding:30px 0 28px;
}
.partners > div{max-width:1280px;margin:0 auto;padding:0 24px}
.partners > div > div:first-child{text-align:center;margin-bottom:18px}
.partners > div > div:first-child span{
  font-size:11px;letter-spacing:0.3em;color:var(--gold);font-weight:700;
}
.partner-logo-grid{display:grid;grid-template-columns:repeat(13,1fr);gap:8px;max-width:1280px;margin:0 auto}
@media(max-width:1100px){.partner-logo-grid{grid-template-columns:repeat(6,1fr)}}
@media(max-width:520px){.partner-logo-grid{grid-template-columns:repeat(4,1fr)}}
.p-logo-img{
  height:46px;display:flex;align-items:center;justify-content:center;
  background:rgba(20,32,52,0.4);border:1px solid var(--line);border-radius:4px;
  padding:6px;transition:all .25s;
}
.p-logo-img:hover{border-color:var(--gold);background:var(--surface-2)}
.p-logo-img img{max-width:100%;max-height:100%;object-fit:contain;filter:grayscale(1) brightness(1.4) opacity(0.6);transition:filter .25s}
.p-logo-img:hover img{filter:none;opacity:1}

/* ════════════════════════════════════════════════════════════
   TAB SECTIONS (공지/이벤트/쪽지/고객센터)
   ════════════════════════════════════════════════════════════ */
#event-section,#notice-section,#message-section,#support-section,#sports-section{
  background:var(--bg)!important;min-height:500px;padding:20px 0 60px;
}
#event-section h2,#notice-section h2,#message-section h2,#support-section h2{
  max-width:1280px;margin:10px auto 18px;padding:0 24px;
  font-size:24px;font-weight:900;color:var(--gold-bright)!important;letter-spacing:0.05em;
}

/* 테이블 */
#event-section table,#notice-section table,#message-section table,#support-section table{
  width:100%;background:var(--surface);font-size:13.5px;
}
#event-section thead tr,#notice-section thead tr,#message-section thead tr,#support-section thead tr{
  background:linear-gradient(180deg,#16243a,#131e30)!important;
  border-bottom:1px solid var(--line-strong)!important;
}
#event-section th,#notice-section th,#message-section th,#support-section th{
  color:var(--gold)!important;font-weight:700!important;padding:14px 16px!important;
}
#event-section td,#notice-section td,#message-section td,#support-section td{
  color:var(--text)!important;padding:14px 16px;border-bottom:1px solid var(--line);
}
#event-section tbody tr:hover,#notice-section tbody tr:hover,
#message-section tbody tr:hover,#support-section tbody tr:hover{background:rgba(140,165,195,0.04)}

/* 페이지네이션 */
#msg-pagination,#notice-pagination,#cs-pagination{
  display:flex;justify-content:center;align-items:center;gap:6px;margin-top:18px;
}
#msg-pagination button,#notice-pagination button,#cs-pagination button{
  min-width:34px;height:34px;border-radius:6px;
  background:var(--surface);border:1px solid var(--line);color:var(--text-2);font-size:13px;
}
#msg-pagination button:hover,#notice-pagination button:hover,#cs-pagination button:hover{border-color:var(--gold);color:var(--gold-bright)}
#msg-pagination button.active,#notice-pagination button.active,#cs-pagination button.active{
  background:linear-gradient(180deg,#a8c0dc,#9bb4d0);color:var(--text-on-gold);border-color:#8aa3c0;font-weight:800;
}

/* ════════════════════════════════════════════════════════════
   SIDEBAR (모바일 메뉴 — 기본 숨김)
   ════════════════════════════════════════════════════════════ */
.sidebar{
  position:fixed;left:0;top:0;height:100vh;width:280px;z-index:999;
  background:linear-gradient(180deg,#101a2c,#090f1a);border-right:1px solid var(--line-strong);
  padding:20px;transform:translateX(-100%);transition:transform .3s;
}
.sidebar.open{transform:translateX(0)}
.sidebar-menu li{margin-bottom:6px}
.menu-item{
  display:flex;align-items:center;gap:10px;padding:14px 16px;border-radius:8px;
  color:var(--text);font-weight:700;cursor:pointer;transition:all .2s;
}
.menu-item:hover,.menu-item.active{background:rgba(140,165,195,0.08);color:var(--gold-bright)}
.menu-item i{color:var(--gold);font-size:18px}

/* ════════════════════════════════════════════════════════════
   MODALS (공통)
   ════════════════════════════════════════════════════════════ */
.modal-overlay,.modal-backdrop{
  display:none;position:fixed;inset:0;z-index:9999;
  background:rgba(0,0,0,0.78);backdrop-filter:blur(4px);
  align-items:center;justify-content:center;padding:20px;
}
.modal-overlay.active,.modal-backdrop.active{display:flex}
.modal-box{
  background:linear-gradient(180deg,#121c2c 0%,#090f1a 100%);
  border:1px solid var(--line-strong);border-radius:12px;
  width:420px;max-width:100%;max-height:90vh;overflow-y:auto;
  padding:32px 28px;box-shadow:var(--shadow-lg);position:relative;
}
.modal-close{
  position:absolute;right:16px;top:16px;width:32px;height:32px;
  display:flex;align-items:center;justify-content:center;
  border-radius:50%;color:var(--text-3);font-size:14px;
  background:rgba(20,32,52,0.6);border:1px solid var(--line);
}
.modal-close:hover{color:var(--red-2);border-color:var(--red-2)}
.modal-title{
  font-size:24px;font-weight:900;color:var(--gold-bright);
  text-align:center;margin-bottom:6px;letter-spacing:0.06em;font-family:'Montserrat',sans-serif;
}
.modal-sub{font-size:13px;color:var(--text-3);text-align:center;margin-bottom:22px}
.m-input{
  width:100%;height:42px;padding:0 14px;margin-bottom:10px;
  background:var(--bg-2);border:1px solid var(--line);border-radius:6px;
  color:var(--text);font-size:14px;outline:none;transition:border-color .2s;
}
.m-input:focus{border-color:var(--gold)}
.m-input::placeholder{color:var(--text-mute)}
.m-btn{
  width:100%;height:46px;border-radius:6px;
  background:linear-gradient(180deg,#a8c0dc,#9bb4d0);color:var(--text-on-gold);
  font-size:15px;font-weight:800;border:1px solid #8aa3c0;
  box-shadow:0 3px 10px rgba(168,192,220,0.25);transition:all .2s;
}
.m-btn:hover{background:linear-gradient(180deg,#d2e1f4,#a8c0dc);transform:translateY(-1px)}
.m-divider{height:1px;background:var(--line);margin:18px 0}
.m-switch{font-size:13px;color:var(--text-3);text-align:center}
.m-switch a{color:var(--gold-bright);cursor:pointer;font-weight:700}
.shine-wrap{position:relative;overflow:hidden}

/* 회원가입 폼 */
.reg-section-title{
  display:flex;align-items:center;gap:8px;margin:14px 0 12px;
  color:var(--gold-bright);font-size:14px;font-weight:800;
  padding-bottom:8px;border-bottom:1px solid var(--line);
}
.reg-section-title i{color:var(--gold)}
.reg-field{margin-bottom:12px}
.reg-label{display:block;color:var(--text-2);font-size:12px;margin-bottom:5px;font-weight:600}
.reg-req{color:var(--red-2)}
.reg-input-wrap{position:relative}
.reg-check{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:14px}
.reg-msg{font-size:11px;color:var(--text-mute);margin-top:4px;min-height:14px}

/* 은행 드롭다운 */
.bank-dropdown{position:relative}
.bank-selected{
  height:42px;padding:0 14px;display:flex;align-items:center;justify-content:space-between;
  background:var(--bg-2);border:1px solid var(--line);border-radius:6px;color:var(--text);font-size:14px;cursor:pointer;
}
.bank-selected-text{color:var(--text-mute)}
.bank-dropdown.open .bank-options{display:block}
.bank-arrow{transition:transform .2s;color:var(--text-3)}
.bank-dropdown.open .bank-arrow{transform:rotate(180deg)}
.bank-options{
  display:none;position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:10;
  background:var(--surface);border:1px solid var(--line-strong);border-radius:6px;
  max-height:280px;overflow:hidden;box-shadow:var(--shadow-lg);
}
.bank-search-wrap{position:relative;padding:8px}
.bank-search-icon{position:absolute;left:18px;top:50%;transform:translateY(-50%);color:var(--text-3);font-size:12px}
.bank-search{
  width:100%;height:34px;padding:0 12px 0 32px;border-radius:5px;
  background:var(--bg-2);border:1px solid var(--line);color:var(--text);font-size:13px;outline:none;
}
.bank-list{max-height:200px;overflow-y:auto}
.bank-option{padding:10px 14px;color:var(--text);font-size:13px;cursor:pointer;display:flex;align-items:center;gap:8px}
.bank-option:hover{background:rgba(140,165,195,0.08);color:var(--gold-bright)}
.bank-opt-icon{color:var(--gold);font-size:13px}

/* ════════════════════════════════════════════════════════════
   입금/출금 모달 (.tw-*)
   ════════════════════════════════════════════════════════════ */
.tw-modal-container{
  background:linear-gradient(180deg,#121c2c,#090f1a);
  border:1px solid var(--line-strong);border-radius:12px;
  width:680px;max-width:100%;max-height:90vh;overflow-y:auto;
  position:relative;box-shadow:var(--shadow-lg);
}
.tw-modal-x{
  position:absolute;right:14px;top:14px;width:36px;height:36px;border-radius:50%;
  background:rgba(10,16,28,0.85);
  border:1.5px solid var(--gold);
  color:var(--gold-bright);
  font-size:16px;font-weight:bold;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;z-index:10;
  transition:all .2s;
}
.tw-modal-x:hover{
  color:var(--gold-shine);
  background:rgba(22,34,54,0.95);
  border-color:var(--gold-bright);
  transform:scale(1.1);
  box-shadow:0 0 12px rgba(168,192,220,0.4);
}
.tw-banner{
  position:relative;height:80px;
  background:linear-gradient(135deg,#16243a,#101a2c);border-bottom:1px solid var(--line-strong);
  display:flex;align-items:center;justify-content:center;
}
.tw-banner-overlay{position:absolute;inset:0;background:radial-gradient(circle at center,rgba(168,192,220,0.08),transparent 60%)}
.tw-banner-title{color:var(--gold-bright);font-size:22px;font-weight:900;letter-spacing:0.06em;z-index:2}
.tw-tabs{display:flex;border-bottom:1px solid var(--line)}
.tw-tab{flex:1;padding:14px;color:var(--text-2);font-size:14px;font-weight:700;background:transparent;border-bottom:2px solid transparent}
.tw-tab.active{color:var(--gold-bright);border-bottom-color:var(--gold-bright);background:rgba(168,192,220,0.04)}
.tw-content{padding:20px 24px}
.tw-section-label{color:var(--gold);font-size:13px;font-weight:700;margin:14px 0 8px;letter-spacing:0.04em}
.tw-money-info{display:flex;flex-wrap:wrap;gap:18px;padding:12px 16px;background:var(--bg-2);border:1px solid var(--line);border-radius:6px}
.tw-money-item{display:flex;align-items:center;gap:8px;color:var(--text-2);font-size:13px}
.tw-money-item strong{color:var(--gold-bright);font-weight:800;margin-left:4px}
.tw-money-dot{width:6px;height:6px;border-radius:50%;background:var(--gold);box-shadow:0 0 6px var(--gold)}
.tw-notice{padding:10px 14px;background:rgba(220,69,69,0.08);border:1px solid rgba(220,69,69,0.25);border-radius:6px;color:var(--text-2);font-size:12.5px;margin-bottom:8px}
.tw-notice .highlight{color:var(--red-2);font-weight:700}
.tw-amount-btns{display:flex;gap:6px;margin-bottom:8px;flex-wrap:wrap}
.tw-amount-btns button{flex:1;min-width:80px;height:36px;border-radius:5px;background:var(--surface);border:1px solid var(--line);color:var(--text);font-size:12.5px;font-weight:700}
.tw-amount-btns button:hover{border-color:var(--gold);color:var(--gold-bright)}
.tw-amount-row{display:flex;gap:8px;margin-bottom:10px}
.tw-reset-btn{width:42px;height:42px;border-radius:6px;background:var(--surface);border:1px solid var(--line);color:var(--text-2)}
.tw-reset-btn:hover{color:var(--gold)}
.tw-amount-input{
  flex:1;height:42px;padding:0 14px;text-align:right;
  background:var(--bg-2);border:1px solid var(--line);border-radius:6px;
  color:var(--gold-bright);font-size:18px;font-weight:800;outline:none;
}
.tw-amount-input:focus{border-color:var(--gold)}
.tw-after-amount{padding:10px 14px;background:var(--bg-2);border:1px solid var(--line);border-radius:6px;color:var(--text-2);font-size:13px;margin-bottom:10px;display:flex;justify-content:space-between}
.tw-after-amount strong{color:var(--gold-bright)}
.tw-submit-row{display:flex;gap:8px;margin-top:8px;margin-bottom:18px}
.tw-btn-sub{flex:1;height:46px;border-radius:6px;background:var(--surface-2);border:1px solid var(--line-strong);color:var(--text);font-weight:700}
.tw-btn-sub:hover{border-color:var(--gold);color:var(--gold-bright)}
.tw-btn-main{flex:1.5;height:46px;border-radius:6px;background:linear-gradient(180deg,#a8c0dc,#9bb4d0);color:var(--text-on-gold);font-weight:800;border:1px solid #8aa3c0}
.tw-btn-main.full{flex:1}
.tw-btn-main:hover{background:linear-gradient(180deg,#d2e1f4,#a8c0dc)}
.tw-history-label{color:var(--gold);font-size:13px;font-weight:700;margin:18px 0 8px;letter-spacing:0.04em}
.tw-history-table{width:100%;font-size:12.5px;background:var(--bg-2);border:1px solid var(--line);border-radius:6px;overflow:hidden}
.tw-history-table thead{background:var(--surface-2)}
.tw-history-table th{padding:10px;color:var(--gold);font-weight:700;border-bottom:1px solid var(--line)}
.tw-history-table td{padding:10px;color:var(--text);text-align:center;border-bottom:1px solid var(--line)}
.tw-history-table tr.empty-row td{color:var(--text-mute);padding:30px 10px}
.tw-text-input{height:38px;padding:0 12px;background:var(--bg-2);border:1px solid var(--line);border-radius:5px;color:var(--text);font-size:13px;outline:none}

/* ════════════════════════════════════════════════════════════
   유틸리티 / 잡다한 보정
   ════════════════════════════════════════════════════════════ */
.font-bold{font-weight:800}
.font-light{font-weight:400}

/* 스크롤바 */
::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-track{background:var(--bg-2)}
::-webkit-scrollbar-thumb{background:var(--surface-2);border-radius:4px}
::-webkit-scrollbar-thumb:hover{background:var(--surface-3)}

/* ════════════════════════════════════════════════════════════
   ✨ 럭셔리 모션 & 이펙트 — 남들이 못 따라하는 살아있는 디자인
   ════════════════════════════════════════════════════════════ */

/* ─── 1. 텍스트 황금 쉐이드 흐름 (gradient position 애니메이션) ─── */
@keyframes goldShineFlow{
  0%{background-position:200% 50%}
  100%{background-position:-100% 50%}
}

.banner-title span{
  background-size:300% 100%!important;
  animation:goldShineFlow 7s linear infinite;
}
.banner-title span:last-child{animation-delay:0.7s}

/* GOLD CASINO 호흡하는 글로우 (브리딩 효과) */
@keyframes titleBreath{
  0%,100%{
    filter:drop-shadow(0 0 18px rgba(214,228,245,0.3));
  }
  50%{
    filter:
      drop-shadow(0 0 42px rgba(214,228,245,0.7))
      drop-shadow(0 0 80px rgba(214,228,245,0.4));
  }
}
.banner-content{animation:titleBreath 5s ease-in-out infinite}

/* ─── 2. 배너 회전하는 황금 광선 (강화: 더 진하고 빠르게) ─── */
@keyframes rotateRays{
  to{transform:translate(-50%,-50%) rotate(360deg)}
}
.visual-section{position:relative;isolation:isolate}
.visual-section > #banner-slider::before{
  content:'';position:absolute;
  width:220%;height:340%;
  left:50%;top:50%;
  transform:translate(-50%,-50%);
  z-index:2;pointer-events:none;
  background:conic-gradient(from 0deg at 50% 50%,
    transparent 0deg,
    rgba(214,228,245,0.12) 25deg,
    rgba(238,245,255,0.16) 35deg,
    rgba(214,228,245,0.10) 45deg,
    transparent 65deg,
    rgba(238,245,255,0.14) 115deg,
    rgba(245,250,255,0.18) 125deg,
    rgba(238,245,255,0.10) 135deg,
    transparent 155deg,
    rgba(214,228,245,0.12) 215deg,
    rgba(238,245,255,0.16) 225deg,
    transparent 245deg,
    rgba(238,245,255,0.14) 305deg,
    rgba(245,250,255,0.18) 315deg,
    transparent 335deg);
  animation:rotateRays 22s linear infinite;
  mix-blend-mode:screen;
  filter:blur(2px);
}

/* ─── 2-A. 중앙 황금 펄스 (강력한 brilliance 폭발) ─── */
@keyframes bannerPulse{
  0%,100%{
    opacity:0.5;
    transform:scale(0.85);
    filter:blur(0px);
  }
  50%{
    opacity:1;
    transform:scale(1.15);
    filter:blur(2px);
  }
}
.banner-fx-pulse{
  position:absolute;inset:0;pointer-events:none;z-index:2;
  background:
    radial-gradient(ellipse 60% 90% at 50% 50%,
      rgba(245,250,255,0.22) 0%,
      rgba(214,228,245,0.14) 18%,
      rgba(168,192,220,0.06) 45%,
      transparent 75%);
  animation:bannerPulse 4.5s ease-in-out infinite;
  mix-blend-mode:screen;
}

/* ─── 2-B. 가로 스포트라이트 스윕 (영화같은 빛 이동) ─── */
@keyframes spotlightMove{
  0%,8%{left:-35%;opacity:0}
  12%{opacity:1}
  88%{opacity:1}
  92%,100%{left:135%;opacity:0}
}
.banner-fx-spotlight{
  position:absolute;top:-20%;left:-35%;
  width:35%;height:140%;pointer-events:none;z-index:3;
  background:radial-gradient(ellipse at center,
    rgba(255,255,255,0.22) 0%,
    rgba(238,245,255,0.12) 25%,
    rgba(214,228,245,0.06) 50%,
    transparent 75%);
  filter:blur(30px);
  transform:rotate(-12deg);
  animation:spotlightMove 12s cubic-bezier(.4,0,.6,1) infinite;
  mix-blend-mode:screen;
}

/* ─── 2-C. 스파클 버스트 (랜덤 별빛 폭발) ─── */
@keyframes sparkleBurst{
  0%,100%{opacity:0;transform:scale(0)}
  10%{opacity:1;transform:scale(1.2)}
  20%{opacity:0;transform:scale(0.4)}
}
.banner-fx-sparkles{
  position:absolute;inset:0;pointer-events:none;z-index:4;overflow:hidden;
}
.banner-fx-sparkles::before,
.banner-fx-sparkles::after{
  content:'';position:absolute;width:100%;height:100%;top:0;left:0;
  background:
    radial-gradient(circle 3px at 18% 25%,rgba(255,255,255,1) 0%,rgba(238,245,255,0.8) 30%,transparent 60%),
    radial-gradient(circle 2px at 32% 65%,rgba(255,255,255,0.95) 0%,rgba(214,228,245,0.7) 30%,transparent 60%),
    radial-gradient(circle 4px at 52% 18%,rgba(255,255,255,1) 0%,rgba(238,245,255,0.85) 30%,transparent 70%),
    radial-gradient(circle 2px at 68% 75%,rgba(255,255,255,0.9) 0%,rgba(214,228,245,0.6) 30%,transparent 60%),
    radial-gradient(circle 3px at 82% 35%,rgba(255,255,255,1) 0%,rgba(238,245,255,0.8) 30%,transparent 65%),
    radial-gradient(circle 2px at 92% 60%,rgba(255,255,255,0.85) 0%,rgba(214,228,245,0.6) 30%,transparent 60%);
  animation:sparkleBurst 3.5s ease-in-out infinite;
}
.banner-fx-sparkles::after{
  background:
    radial-gradient(circle 2px at 8% 50%,rgba(255,255,255,1) 0%,rgba(238,245,255,0.8) 30%,transparent 60%),
    radial-gradient(circle 3px at 25% 40%,rgba(255,255,255,0.95) 0%,rgba(214,228,245,0.7) 30%,transparent 65%),
    radial-gradient(circle 2px at 42% 80%,rgba(255,255,255,0.9) 0%,rgba(238,245,255,0.7) 30%,transparent 60%),
    radial-gradient(circle 4px at 60% 30%,rgba(255,255,255,1) 0%,rgba(238,245,255,0.85) 30%,transparent 70%),
    radial-gradient(circle 2px at 75% 55%,rgba(255,255,255,0.85) 0%,rgba(214,228,245,0.6) 30%,transparent 60%),
    radial-gradient(circle 3px at 88% 80%,rgba(255,255,255,1) 0%,rgba(238,245,255,0.8) 30%,transparent 65%);
  animation-delay:1.7s;
}

/* ─── 2-D. 비넷 펄스 (가장자리 빛이 호흡) ─── */
@keyframes vignettePulse{
  0%,100%{
    box-shadow:
      inset 0 0 80px 20px rgba(0,0,0,0.5),
      inset 0 0 120px 40px rgba(168,192,220,0.06);
  }
  50%{
    box-shadow:
      inset 0 0 100px 30px rgba(0,0,0,0.4),
      inset 0 0 180px 50px rgba(168,192,220,0.18);
  }
}
.banner-fx-vignette{
  position:absolute;inset:0;pointer-events:none;z-index:5;
  animation:vignettePulse 6s ease-in-out infinite;
}

/* ─── 2-E. 시네마틱 광선 빔 (수직 강력 라이트 컬럼) ─── */
@keyframes lightColumn{
  0%,100%{opacity:0;transform:scaleY(0.3) translateX(-50%)}
  50%{opacity:1;transform:scaleY(1) translateX(-50%)}
}
.banner-fx-vignette::before{
  content:'';position:absolute;
  left:50%;top:0;width:30%;height:100%;
  pointer-events:none;
  background:linear-gradient(180deg,
    transparent 0%,
    rgba(245,250,255,0.08) 30%,
    rgba(238,245,255,0.18) 50%,
    rgba(245,250,255,0.08) 70%,
    transparent 100%);
  filter:blur(40px);
  transform-origin:center top;
  animation:lightColumn 7s ease-in-out infinite;
  mix-blend-mode:screen;
  transform:translateX(-50%);
}

/* ─── 2-F. 떨어지는 황금 코인 (느린 ember 낙하) ─── */
@keyframes coinFall1{
  0%{transform:translate(0,-20%) rotate(0deg);opacity:0}
  10%{opacity:1}
  90%{opacity:0.8}
  100%{transform:translate(15px,120%) rotate(360deg);opacity:0}
}
@keyframes coinFall2{
  0%{transform:translate(0,-20%) rotate(0deg);opacity:0}
  10%{opacity:1}
  90%{opacity:0.7}
  100%{transform:translate(-20px,120%) rotate(-360deg);opacity:0}
}
.banner-fx-vignette::after{
  content:'';position:absolute;inset:0;pointer-events:none;
  background-image:
    radial-gradient(circle 4px at 12% 0%,rgba(214,228,245,0.95) 0%,rgba(168,192,220,0.5) 50%,transparent 80%),
    radial-gradient(circle 3px at 28% 0%,rgba(238,245,255,0.9) 0%,rgba(214,228,245,0.5) 50%,transparent 80%),
    radial-gradient(circle 5px at 48% 0%,rgba(214,228,245,0.95) 0%,rgba(168,192,220,0.5) 50%,transparent 80%),
    radial-gradient(circle 3px at 65% 0%,rgba(238,245,255,0.9) 0%,rgba(214,228,245,0.5) 50%,transparent 80%),
    radial-gradient(circle 4px at 82% 0%,rgba(214,228,245,0.95) 0%,rgba(168,192,220,0.5) 50%,transparent 80%),
    radial-gradient(circle 3px at 95% 0%,rgba(238,245,255,0.9) 0%,rgba(214,228,245,0.5) 50%,transparent 80%);
  animation:coinFall1 8s linear infinite;
}
.banner-fx-sparkles::after{
  /* 두 번째 입자 그룹은 다른 낙하 패턴 */
  animation-delay:1.7s,4s;
}

/* ─── 2-G. 배너 하단 황금 불꽃 라인 (flame edge) ─── */
@keyframes flameFlow{
  0%,100%{
    background-position:0% 50%;
    box-shadow:0 0 20px rgba(168,192,220,0.5),0 0 40px rgba(168,192,220,0.3);
  }
  50%{
    background-position:100% 50%;
    box-shadow:0 0 32px rgba(214,228,245,0.7),0 0 64px rgba(168,192,220,0.4);
  }
}
.visual-section::before{
  content:'';position:absolute;left:0;right:0;bottom:0;
  height:3px;z-index:9;pointer-events:none;
  background:linear-gradient(90deg,
    transparent 0%,
    rgba(168,192,220,0.4) 15%,
    rgba(214,228,245,1) 35%,
    rgba(245,250,255,1) 50%,
    rgba(214,228,245,1) 65%,
    rgba(168,192,220,0.4) 85%,
    transparent 100%);
  background-size:200% 100%;
  animation:flameFlow 4s ease-in-out infinite;
}

/* ─── 2-H. 페이지 로드 시 웅장한 등장 애니메이션 ─── */
@keyframes bannerEntrance{
  0%{
    opacity:0;
    transform:translate(-50%,-50%) scale(0.6);
    filter:blur(20px) brightness(0.5);
  }
  60%{
    opacity:1;
    transform:translate(-50%,-50%) scale(1.05);
    filter:blur(0px) brightness(1.5);
  }
  100%{
    opacity:1;
    transform:translate(-50%,-50%) scale(1);
    filter:blur(0px) brightness(1);
  }
}
.banner-content{
  animation:titleBreath 5s ease-in-out infinite,
            bannerEntrance 1.8s cubic-bezier(.2,.8,.3,1) both;
}

/* 글자 등장 효과 (위에서 아래로 슬라이드) */
@keyframes letterDrop{
  0%{
    opacity:0;
    transform:translateY(-60px) rotateX(-90deg);
    filter:blur(15px);
  }
  60%{filter:blur(0)}
  100%{
    opacity:1;
    transform:translateY(0) rotateX(0);
    filter:blur(0);
  }
}
.banner-title span:first-child{
  animation:goldShineFlow 7s linear infinite,
            letterDrop 1.2s cubic-bezier(.2,.8,.3,1) 0.3s backwards;
  transform-origin:center top;
}
.banner-title span:last-child{
  animation:goldShineFlow 7s linear infinite 0.7s,
            letterDrop 1.2s cubic-bezier(.2,.8,.3,1) 0.7s backwards;
  transform-origin:center top;
}
.banner-info{
  animation:borderFlow 5s linear infinite,
            letterDrop 1s cubic-bezier(.2,.8,.3,1) 1.1s backwards;
  transform-origin:center top;
}

/* ═══════════════════════════════════════════════════════════
   ⚡ 더 웅장한 추가 이펙트 (5종)
   ═══════════════════════════════════════════════════════════ */

/* ─── 2-I. 보케 라이트 오브 (배경 깊이감 — 큰 빛구슬이 떠다님) ─── */
@keyframes bokehDrift1{
  0%,100%{transform:translate(0,0)}
  33%{transform:translate(60px,-40px)}
  66%{transform:translate(-40px,50px)}
}
@keyframes bokehDrift2{
  0%,100%{transform:translate(0,0) scale(1)}
  50%{transform:translate(-50px,30px) scale(1.15)}
}
.banner-fx-bokeh{
  position:absolute;inset:-10%;pointer-events:none;z-index:1;
  background:
    radial-gradient(circle 90px at 12% 28%,rgba(214,228,245,0.22) 0%,rgba(168,192,220,0.10) 30%,transparent 70%),
    radial-gradient(circle 120px at 78% 60%,rgba(238,245,255,0.20) 0%,rgba(214,228,245,0.08) 35%,transparent 75%),
    radial-gradient(circle 70px at 50% 88%,rgba(168,192,220,0.18) 0%,rgba(168,192,220,0.05) 30%,transparent 65%),
    radial-gradient(circle 100px at 92% 22%,rgba(214,228,245,0.20) 0%,rgba(214,228,245,0.08) 35%,transparent 70%),
    radial-gradient(circle 80px at 28% 75%,rgba(245,250,255,0.18) 0%,rgba(214,228,245,0.06) 30%,transparent 70%);
  filter:blur(15px);
  animation:bokehDrift1 22s ease-in-out infinite;
  mix-blend-mode:screen;
}
.banner-fx-bokeh::before{
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(circle 110px at 40% 15%,rgba(238,245,255,0.18) 0%,transparent 70%),
    radial-gradient(circle 90px at 65% 80%,rgba(214,228,245,0.15) 0%,transparent 70%),
    radial-gradient(circle 80px at 8% 65%,rgba(238,245,255,0.16) 0%,transparent 70%);
  filter:blur(20px);
  animation:bokehDrift2 18s ease-in-out infinite;
  mix-blend-mode:screen;
}

/* ─── 2-J. 신성한 갓레이 (위에서 쏟아지는 빛 줄기들) ─── */
@keyframes godraysShift{
  0%,100%{opacity:0.45;transform:translateX(-2%) skewX(-3deg)}
  50%{opacity:0.85;transform:translateX(2%) skewX(3deg)}
}
.banner-fx-godrays{
  position:absolute;inset:0;pointer-events:none;z-index:2;
  background:
    linear-gradient(95deg,
      transparent 0%,
      rgba(238,245,255,0.0) 18%,
      rgba(238,245,255,0.10) 22%,
      rgba(245,250,255,0.18) 24%,
      rgba(238,245,255,0.10) 26%,
      transparent 30%,
      transparent 38%,
      rgba(214,228,245,0.12) 42%,
      rgba(238,245,255,0.20) 45%,
      rgba(214,228,245,0.12) 48%,
      transparent 52%,
      transparent 60%,
      rgba(214,228,245,0.10) 64%,
      rgba(238,245,255,0.16) 67%,
      rgba(214,228,245,0.10) 70%,
      transparent 74%,
      transparent 82%,
      rgba(214,228,245,0.08) 86%,
      rgba(238,245,255,0.14) 89%,
      rgba(214,228,245,0.08) 92%,
      transparent 96%,
      transparent 100%);
  filter:blur(8px);
  animation:godraysShift 8s ease-in-out infinite;
  mix-blend-mode:screen;
  transform-origin:center top;
}

/* ─── 2-K. 에너지 링 확산 (중앙에서 퍼지는 동심원) ─── */
@keyframes ringExpand{
  0%{
    width:50px;height:50px;
    opacity:1;
    border-width:3px;
    box-shadow:
      0 0 30px rgba(214,228,245,0.8),
      inset 0 0 20px rgba(214,228,245,0.5);
  }
  100%{
    width:1400px;height:1400px;
    opacity:0;
    border-width:0px;
    box-shadow:
      0 0 0 rgba(214,228,245,0),
      inset 0 0 0 rgba(214,228,245,0);
  }
}
.banner-fx-rings{
  position:absolute;left:50%;top:62%;
  width:0;height:0;
  pointer-events:none;z-index:6;
}
.banner-fx-rings::before,
.banner-fx-rings::after{
  content:'';position:absolute;
  left:50%;top:50%;
  border:3px solid rgba(214,228,245,0.6);
  border-radius:50%;
  transform:translate(-50%,-50%);
  animation:ringExpand 6s ease-out infinite;
}
.banner-fx-rings::after{animation-delay:3s}

/* ─── 2-L. 렌즈 플레어 (우상단 시네마 플레어) ─── */
@keyframes flarePulse{
  0%,100%{
    opacity:0.5;
    transform:scale(0.9) rotate(0deg);
    filter:blur(8px);
  }
  50%{
    opacity:1;
    transform:scale(1.15) rotate(180deg);
    filter:blur(4px);
  }
}
.banner-fx-flare{
  position:absolute;top:-8%;right:6%;
  width:280px;height:280px;
  pointer-events:none;z-index:7;
  background:
    /* 중심 코어 */
    radial-gradient(circle at center,
      rgba(255,255,255,0.95) 0%,
      rgba(245,250,255,0.6) 5%,
      rgba(238,245,255,0.35) 12%,
      rgba(214,228,245,0.18) 25%,
      rgba(168,192,220,0.06) 45%,
      transparent 70%),
    /* 별모양 빛살 (4방향) */
    linear-gradient(0deg,transparent 47%,rgba(238,245,255,0.4) 50%,transparent 53%),
    linear-gradient(90deg,transparent 47%,rgba(238,245,255,0.4) 50%,transparent 53%),
    linear-gradient(45deg,transparent 48%,rgba(214,228,245,0.3) 50%,transparent 52%),
    linear-gradient(135deg,transparent 48%,rgba(214,228,245,0.3) 50%,transparent 52%);
  mix-blend-mode:screen;
  animation:flarePulse 5.5s ease-in-out infinite;
}

/* ─── 2-M. 거대 충격파 (등장 시 폭발 + 주기적 펄스) ─── */
@keyframes shockwaveBurst{
  0%{
    width:0;height:0;opacity:0;
    border-width:0;
  }
  10%{
    opacity:1;
    border-width:6px;
  }
  100%{
    width:2500px;height:2500px;
    opacity:0;
    border-width:0;
  }
}
.banner-fx-shockwave{
  position:absolute;left:50%;top:62%;
  width:0;height:0;
  pointer-events:none;z-index:6;
}
.banner-fx-shockwave::before{
  content:'';position:absolute;
  left:50%;top:50%;
  border:6px solid rgba(245,250,255,0.85);
  border-radius:50%;
  transform:translate(-50%,-50%);
  box-shadow:
    0 0 60px rgba(214,228,245,1),
    inset 0 0 40px rgba(214,228,245,0.6);
  animation:shockwaveBurst 2.5s cubic-bezier(.1,.5,.3,1) 1.4s backwards,
            shockwaveBurst 4s cubic-bezier(.1,.5,.3,1) 5s infinite;
}

/* ─── 3. 떠다니는 황금 입자 (banner) ─── */
@keyframes floatParticles{
  0%{transform:translate(0,0)}
  25%{transform:translate(-30px,-50px)}
  50%{transform:translate(20px,-90px)}
  75%{transform:translate(-15px,-60px)}
  100%{transform:translate(0,0)}
}
@keyframes twinkle{
  0%,100%{opacity:0.3}
  50%{opacity:1}
}
.visual-section > #banner-slider::after{
  content:'';position:absolute;inset:0;z-index:3;pointer-events:none;
  background-image:
    radial-gradient(circle 1.5px at 12% 30%,rgba(238,245,255,0.95) 0%,transparent 100%),
    radial-gradient(circle 1px at 22% 65%,rgba(214,228,245,0.85) 0%,transparent 100%),
    radial-gradient(circle 2px at 33% 20%,rgba(238,245,255,0.9) 0%,transparent 100%),
    radial-gradient(circle 1px at 45% 55%,rgba(214,228,245,0.8) 0%,transparent 100%),
    radial-gradient(circle 1.5px at 58% 35%,rgba(245,250,255,0.95) 0%,transparent 100%),
    radial-gradient(circle 1px at 68% 75%,rgba(214,228,245,0.7) 0%,transparent 100%),
    radial-gradient(circle 2px at 78% 45%,rgba(238,245,255,0.9) 0%,transparent 100%),
    radial-gradient(circle 1px at 88% 25%,rgba(214,228,245,0.8) 0%,transparent 100%),
    radial-gradient(circle 1.5px at 92% 70%,rgba(238,245,255,0.85) 0%,transparent 100%);
  animation:floatParticles 12s ease-in-out infinite,twinkle 3s ease-in-out infinite;
}

/* ─── 4. 정보 박스 보더에 황금 빛이 흐름 ─── */
@keyframes borderFlow{
  0%{background-position:-200% 0,200% 0}
  100%{background-position:200% 0,-200% 0}
}
.banner-info{
  position:relative;
  border-top:1px solid transparent!important;
  border-bottom:1px solid transparent!important;
  background:
    linear-gradient(180deg,rgba(20,32,52,0.55) 0%,rgba(8,14,26,0.55) 100%) padding-box,
    linear-gradient(90deg,transparent 0%,rgba(214,228,245,0.7) 50%,transparent 100%) top/200% 1px no-repeat border-box,
    linear-gradient(90deg,transparent 0%,rgba(214,228,245,0.7) 50%,transparent 100%) bottom/200% 1px no-repeat border-box;
  animation:borderFlow 5s linear infinite;
}

/* ─── 5. 로그인/회원가입 버튼 쉐이드 스윕 ─── */
@keyframes btnShine{
  0%{left:-100%}
  60%,100%{left:200%}
}
.login-link,.join-link,.btn-silver,.btn-blue{
  position:relative;overflow:hidden;
}
.login-link::before,.join-link::before,
.btn-silver::before,.btn-blue::before{
  content:'';position:absolute;top:0;left:-100%;
  width:60%;height:100%;
  background:linear-gradient(105deg,
    transparent 30%,
    rgba(255,255,255,0.35) 50%,
    transparent 70%);
  animation:btnShine 4s ease-in-out infinite;
  pointer-events:none;
}
.join-link::before{animation-delay:1s}

/* ─── 6. 헤더 메뉴 아이콘 미세 글로우 펄스 ─── */
@keyframes iconPulse{
  0%,100%{filter:drop-shadow(0 0 4px rgba(168,192,220,0.25))}
  50%{filter:drop-shadow(0 0 10px rgba(168,192,220,0.65))}
}
.nav-row .nav-item i{animation:iconPulse 3.5s ease-in-out infinite}
.nav-row .nav-item:nth-child(2) i{animation-delay:0.4s}
.nav-row .nav-item:nth-child(3) i{animation-delay:0.8s}
.nav-row .nav-item:nth-child(4) i{animation-delay:1.2s}
.nav-row .nav-item:nth-child(5) i{animation-delay:1.6s}
.nav-row .nav-item:nth-child(6) i{animation-delay:2s}
.nav-row .nav-item:nth-child(7) i{animation-delay:2.4s}
.nav-row .nav-item:nth-child(8) i{animation-delay:2.8s}

/* ─── 7. 게임카드 3D 호버 (퍼스펙티브) ─── */
.live-grid{perspective:1000px}
.live-card{
  transform-style:preserve-3d;
  transition:transform .4s cubic-bezier(.2,.8,.3,1),box-shadow .4s,border-color .4s!important;
}
.live-card:hover{
  transform:translateY(-6px) rotateX(4deg) rotateY(-2deg) scale(1.02)!important;
}

/* ─── 8. 토글 텍스트 미세 글로우 펄스 ─── */
@keyframes textGoldGlow{
  0%,100%{filter:drop-shadow(0 2px 4px rgba(0,0,0,0.95)) drop-shadow(0 0 12px rgba(168,192,220,0.3))}
  50%{filter:drop-shadow(0 2px 4px rgba(0,0,0,0.95)) drop-shadow(0 0 24px rgba(168,192,220,0.6))}
}
.toggle-btn .kr-text{animation:textGoldGlow 4s ease-in-out infinite}
.toggle-slot .kr-text{animation-delay:1s}

/* ─── 9. 잭팟 스타일 — 정보 박스 호버 시 코너에서 빛 번짐 ─── */
.info-box{position:relative;overflow:hidden}
.info-box::before{
  content:'';position:absolute;top:-50%;left:-50%;
  width:60%;height:60%;
  background:radial-gradient(circle,rgba(168,192,220,0.15) 0%,transparent 70%);
  opacity:0;transition:opacity .5s;
  pointer-events:none;z-index:0;
}
.info-box:hover::before{
  opacity:1;
  animation:cornerGlow 1.5s ease-in-out;
}
@keyframes cornerGlow{
  0%{transform:translate(0,0)}
  100%{transform:translate(80%,80%)}
}

/* ─── 10. 회원가입 버튼 — 더 강조된 황금 펄스 (CTA 강화) ─── */
@keyframes joinPulse{
  0%,100%{box-shadow:0 3px 10px rgba(168,192,220,0.3),0 0 0 0 rgba(168,192,220,0.5)}
  50%{box-shadow:0 3px 14px rgba(168,192,220,0.5),0 0 0 8px rgba(168,192,220,0)}
}
.join-link,.btn-blue{animation:joinPulse 2.5s ease-in-out infinite}

/* ════════════════════════════════════════════════════════════
   🌌 토글 & 인포박스 섹션 — 강력한 배경 이펙트 (5종)
   ════════════════════════════════════════════════════════════ */

/* ─── A. 페이지 전체 떠다니는 황금 입자 (fixed, 깊이감) ─── */
@keyframes globalDustFloat{
  0%,100%{transform:translate(0,0)}
  25%{transform:translate(-25px,-40px)}
  50%{transform:translate(15px,-60px)}
  75%{transform:translate(-10px,-30px)}
}
@keyframes globalDustTwinkle{
  0%,100%{opacity:0.5}
  50%{opacity:1}
}
body::after{
  content:'';position:fixed;inset:0;
  pointer-events:none;z-index:-1;
  background-image:
    radial-gradient(circle 1.5px at 4% 18%,rgba(214,228,245,0.7) 0%,transparent 60%),
    radial-gradient(circle 2px at 11% 42%,rgba(238,245,255,0.6) 0%,transparent 60%),
    radial-gradient(circle 1px at 19% 73%,rgba(214,228,245,0.55) 0%,transparent 60%),
    radial-gradient(circle 2.5px at 27% 12%,rgba(245,250,255,0.65) 0%,transparent 65%),
    radial-gradient(circle 1.5px at 34% 56%,rgba(214,228,245,0.6) 0%,transparent 60%),
    radial-gradient(circle 2px at 42% 88%,rgba(238,245,255,0.55) 0%,transparent 60%),
    radial-gradient(circle 1px at 51% 25%,rgba(214,228,245,0.6) 0%,transparent 60%),
    radial-gradient(circle 2.5px at 58% 65%,rgba(245,250,255,0.7) 0%,transparent 65%),
    radial-gradient(circle 1.5px at 66% 38%,rgba(214,228,245,0.6) 0%,transparent 60%),
    radial-gradient(circle 2px at 74% 78%,rgba(238,245,255,0.55) 0%,transparent 60%),
    radial-gradient(circle 1px at 82% 15%,rgba(214,228,245,0.6) 0%,transparent 60%),
    radial-gradient(circle 2.5px at 89% 50%,rgba(245,250,255,0.7) 0%,transparent 65%),
    radial-gradient(circle 1.5px at 96% 82%,rgba(214,228,245,0.6) 0%,transparent 60%);
  animation:globalDustFloat 16s ease-in-out infinite,
            globalDustTwinkle 4s ease-in-out infinite;
}

/* ─── B. 토글 섹션 양옆 황금 빛기둥 (ambient pillars) ─── */
@keyframes pillarPulse{
  0%,100%{opacity:0.6;transform:scaleY(0.95)}
  50%{opacity:1;transform:scaleY(1.05)}
}
.toggle-section{position:relative}
.toggle-section::before{
  content:'';position:absolute;inset:-30px 0;pointer-events:none;z-index:0;
  background:
    radial-gradient(ellipse 30% 100% at 20% 50%,rgba(168,192,220,0.16) 0%,rgba(168,192,220,0.05) 30%,transparent 65%),
    radial-gradient(ellipse 30% 100% at 80% 50%,rgba(168,192,220,0.16) 0%,rgba(168,192,220,0.05) 30%,transparent 65%),
    radial-gradient(ellipse 40% 80% at 50% 50%,rgba(214,228,245,0.08) 0%,transparent 70%);
  animation:pillarPulse 5s ease-in-out infinite;
  filter:blur(20px);
}
.toggle-section .container{position:relative;z-index:1}

/* ─── C. 토글-인포박스 사이 흐르는 황금 디바이더 라인 ─── */
@keyframes dividerFlow{
  0%,100%{background-position:0% 50%;opacity:0.7}
  50%{background-position:100% 50%;opacity:1}
}
.toggle-section::after{
  content:'';position:absolute;left:10%;right:10%;bottom:-12px;
  height:1px;pointer-events:none;z-index:2;
  background:linear-gradient(90deg,
    transparent 0%,
    rgba(168,192,220,0.3) 15%,
    rgba(214,228,245,0.9) 40%,
    rgba(245,250,255,1) 50%,
    rgba(214,228,245,0.9) 60%,
    rgba(168,192,220,0.3) 85%,
    transparent 100%);
  background-size:200% 100%;
  box-shadow:0 0 18px rgba(168,192,220,0.5),0 0 36px rgba(168,192,220,0.25);
  animation:dividerFlow 5s ease-in-out infinite;
}

/* ─── D. 인포박스 섹션 배경 글로우 (실시간 영역) ─── */
@keyframes ambientShift{
  0%,100%{
    background-position:0% 0%,100% 100%,50% 50%;
  }
  50%{
    background-position:100% 100%,0% 0%,50% 50%;
  }
}
.realtime-section{position:relative}
.realtime-section::before{
  content:'';position:absolute;inset:-40px 0 0;pointer-events:none;z-index:0;
  background:
    radial-gradient(ellipse 35% 80% at 15% 50%,rgba(168,192,220,0.12) 0%,transparent 60%),
    radial-gradient(ellipse 35% 80% at 85% 50%,rgba(168,192,220,0.12) 0%,transparent 60%),
    radial-gradient(ellipse 60% 100% at 50% 110%,rgba(214,228,245,0.10) 0%,transparent 70%);
  background-size:120% 120%,120% 120%,120% 120%;
  filter:blur(15px);
  animation:ambientShift 14s ease-in-out infinite;
}
.realtime-section .container{position:relative;z-index:1}

/* ─── E. 인포박스 — 흐르는 황금 보더 + 3D 호버 ─── */
@keyframes infoBoxBorderShine{
  0%{background-position:0 0,-200% 50%}
  100%{background-position:0 0,200% 50%}
}
.info-box{
  background:
    linear-gradient(180deg,#16243a 0%,#0e1928 100%) padding-box,
    linear-gradient(90deg,
      rgba(168,192,220,0.2) 0%,
      rgba(214,228,245,0.5) 35%,
      rgba(245,250,255,0.85) 50%,
      rgba(214,228,245,0.5) 65%,
      rgba(168,192,220,0.2) 100%) border-box;
  background-size:100% 100%,300% 100%;
  border:1px solid transparent!important;
  animation:infoBoxBorderShine 6s linear infinite;
  transform-style:preserve-3d;
  perspective:800px;
  transition:transform .4s cubic-bezier(.2,.8,.3,1),
             box-shadow .4s cubic-bezier(.2,.8,.3,1)!important;
}
.info-box:nth-child(2){animation-delay:1.5s}
.info-box:nth-child(3){animation-delay:3s}
.info-box:nth-child(4){animation-delay:4.5s}

.info-box:hover{
  transform:translateY(-6px) rotateX(2deg) scale(1.02)!important;
  box-shadow:
    0 16px 40px rgba(0,0,0,0.7),
    0 0 30px rgba(168,192,220,0.35),
    0 0 60px rgba(168,192,220,0.15)!important;
}

/* 인포박스 코너 황금 다이아몬드 점 */
.info-box::after{
  content:'';position:absolute;inset:0;pointer-events:none;
  background-image:
    radial-gradient(circle 3px at 12px 12px,rgba(245,250,255,0.95) 0%,rgba(214,228,245,0.6) 40%,transparent 80%),
    radial-gradient(circle 3px at calc(100% - 12px) 12px,rgba(245,250,255,0.95) 0%,rgba(214,228,245,0.6) 40%,transparent 80%),
    radial-gradient(circle 3px at 12px calc(100% - 12px),rgba(245,250,255,0.95) 0%,rgba(214,228,245,0.6) 40%,transparent 80%),
    radial-gradient(circle 3px at calc(100% - 12px) calc(100% - 12px),rgba(245,250,255,0.95) 0%,rgba(214,228,245,0.6) 40%,transparent 80%);
  z-index:1;
}

/* 모바일 헤더 */
@media(max-width:900px){
  .header-main .container{flex-wrap:wrap;gap:8px;height:auto;padding:8px 16px}
  .header-main .nav-row.desktop{display:none!important}
  .header-main .left-menu-btn.mobile{display:flex!important}
  .bal-container{flex:1;justify-content:flex-end;display:flex}
  .bal-container .btn-grp{gap:6px;width:100%;justify-content:flex-end}
  .bal-container .btn-silver,.bal-container .btn-blue,
  .bal-container .login-link,.bal-container .join-link{min-width:78px;padding:0 12px;height:36px;font-size:12.5px}
  .toggle-section .container{height:90px;padding:0 16px;gap:10px}
  .toggle-btn .kr-text{font-size:20px}
  .toggle-btn .en-text{font-size:11px;letter-spacing:0.22em}
}
.nc-detail .ql-size-huge { font-size: 2em; }

/* ★ 2026-05-11 slot-game-grid-6col-scale: 컬럼 6개 고정 + 카드 비례 확대 + 모바일 2컬럼 */
#slot-game-grid {
  display: grid !important;
  gap: clamp(8px, 0.6vw, 16px) !important;
  grid-template-columns: repeat(6, 1fr) !important;
}
#slot-game-grid img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 5/4 !important;
  object-fit: contain !important;
}
#slot-game-grid > div > div:last-child {
  font-size: clamp(0.75rem, 0.75vw, 1.2rem) !important;
  padding: clamp(4px, 0.4vw, 12px) clamp(5px, 0.5vw, 14px) !important;
}
@media (max-width: 600px) { #slot-game-grid { grid-template-columns: repeat(2, 1fr) !important; } }


/* ══════════════════════════════════════════════════════════
   체스카지노 마무리 (chess-look 2026-09-18)
   시안에 맞춰 히어로·배너·배경을 이미지로 바꾼다.
   원본 규칙은 지우지 않고 여기서 덮어쓴다.
   ══════════════════════════════════════════════════════════ */

/* ── 페이지 배경: 대리석 기둥 + 체스판 바닥 ── */
body{
  background:
    linear-gradient(180deg,rgba(8,14,26,0.86) 0%,rgba(8,14,26,0.94) 42%,rgba(8,14,26,0.97) 100%),
    url('/user14/images/chess-pagebg.png') center top / cover no-repeat,
    linear-gradient(180deg,#0d1728 0%,#080e18 100%) !important;
  background-attachment: fixed, fixed, fixed !important;
}
body::before{ display:none !important; }

/* ── 히어로: 시안 그림 비율(1791x422) 그대로 ── */
#banner-slider{ height:auto !important; aspect-ratio: 1791 / 422; max-height:520px; }
.banner-pc{ object-fit:cover; object-position:center center; }
.visual-section::before,
.visual-section::after{ display:none !important; }
.banner-fx-bokeh,.banner-fx-pulse,.banner-fx-spotlight,.banner-fx-godrays,
.banner-fx-sparkles,.banner-fx-rings,.banner-fx-flare,.banner-fx-shockwave{ display:none !important; }
.banner-fx-vignette{ opacity:.5 }

/* 히어로 가운데 내용 — 시안은 로고가 가운데 위쪽 */
.banner-content{ top:52% !important; gap:0 !important; }

/* 큰 로고 이미지 (글자 대신) */
.banner-title.chess-title{
  margin-bottom:10px !important;
  display:block !important;
  filter:drop-shadow(0 6px 22px rgba(0,0,0,.65));
}
.chess-logo-img{
  width:clamp(240px, 26vw, 470px);
  height:auto; display:block; margin:0 auto;
}

/* 명판 이미지 ("체스 카지노") */
.banner-info-main.chess-plaque{
  background:none !important; -webkit-text-fill-color:initial !important;
  filter:none !important; animation:none !important;
  margin:0 0 10px !important; font-size:0 !important; line-height:0 !important;
}
.chess-plaque-img{
  width:clamp(190px, 20vw, 360px);
  height:auto; display:block; margin:0 auto;
  filter:drop-shadow(0 4px 14px rgba(0,0,0,.6));
}

/* 정보 카드 — 시안에는 테두리·배경이 없다 */
.banner-info{
  background:none !important; border:0 !important; box-shadow:none !important;
  backdrop-filter:none !important; min-width:0 !important; max-width:none !important;
  padding:0 !important;
}
.banner-info::before,.banner-info::after{ display:none !important; }
.banner-info-divider{ display:none !important; }
.banner-info-sub{
  color:#b9c9de !important; letter-spacing:.22em; font-weight:600;
  text-shadow:0 2px 8px rgba(0,0,0,.8);
}

/* ── 배너 2개: 새 이미지가 이미 은색 액자 + 글씨를 갖고 있다 ── */
.toggle-section .container{ height:auto !important; gap:26px !important; max-width:1320px !important; }
.toggle-btn{
  background:none !important; clip-path:none !important;
  filter:drop-shadow(0 12px 26px rgba(0,0,0,.6)) !important;
  height:auto !important;
}
.toggle-btn:hover{ transform:translateY(-3px); }
.toggle-frame{
  position:static !important; background:none !important; overflow:visible !important;
  display:block !important;
}
.toggle-frame::before,.toggle-frame::after{ display:none !important; }
.toggle-overlay{ display:none !important; }
.toggle-img{
  display:block !important; width:100% !important; height:auto !important;
  object-fit:contain !important;
}
/* 이미지 안에 글씨가 그려져 있으므로 덧글씨는 숨긴다 */
.toggle-btn .text-panel{ display:none !important; }

/* ── 좁은 화면 ── */
@media(max-width:900px){
  #banner-slider{ max-height:340px; }
  .chess-logo-img{ width:min(58vw,320px); }
  .chess-plaque-img{ width:min(46vw,240px); }
  .toggle-section .container{ gap:14px !important; }
}
@media(max-width:520px){
  .chess-logo-img{ width:min(66vw,250px); }
  .chess-plaque-img{ width:min(52vw,190px); }
  .banner-info-sub{ font-size:12px !important; letter-spacing:.16em; }
}


/* ══════════════════════════════════════════════════════════
   체스카지노 보정 (chess-tune 2026-09-18) — 실측 후 조정
   ══════════════════════════════════════════════════════════ */

/* 히어로 내용 크기 — 시안 비율에 맞춤
   시안(1791x422): 로고 폭 20.1%, 명판 폭 14.8%, 내용 y 30~380 */
.chess-logo-img{ width:min(19vw, 360px) !important; }
.chess-plaque-img{ width:min(13.8vw, 262px) !important; }
.banner-title.chess-title{ margin-bottom:6px !important; }
.banner-info-main.chess-plaque{ margin:0 0 6px !important; }
.banner-content{ top:48% !important; }
.banner-info-sub{ font-size:14px !important; line-height:1.5 !important; }

/* 배경 대리석이 비치도록 덮개를 옅게 */
body{
  background:
    linear-gradient(180deg,rgba(8,14,26,0.55) 0%,rgba(8,14,26,0.80) 38%,rgba(8,14,26,0.93) 100%),
    url('/user14/images/chess-pagebg.png') center top / 100% auto no-repeat,
    linear-gradient(180deg,#0d1728 0%,#080e18 100%) !important;
}

/* 배너 이미지가 확실히 보이도록 (예전 onerror 로 숨겨지는 것 방지) */
.toggle-img{ display:block !important; visibility:visible !important; min-height:40px; }
.toggle-section .container{ align-items:center !important; }

/* ══════════════════════════════════════════════════════════
   배너 높이 0 고침 (chess-fixpos 2026-09-18)
   원인(실측): .toggle-img 가 position:absolute;inset:0;height:100% 라
   흐름에서 빠져 부모(.toggle-frame/.toggle-btn/.container) 높이가 전부 0 이 됐다.
   이미지 자체는 2170x490 로 정상 로드되어 있었다.
   ══════════════════════════════════════════════════════════ */
.toggle-img{
  position:static !important; inset:auto !important;
  width:100% !important; height:auto !important;
  object-fit:contain !important; z-index:auto !important;
}
.toggle-btn{ height:auto !important; }
.toggle-frame{ height:auto !important; }
.toggle-section .container{ height:auto !important; align-items:center !important; }
/* 금색 기둥빛 장식은 새 디자인과 안 어울린다 */
.toggle-section::before,.toggle-section::after{ display:none !important; }

/* ══════════════════════════════════════════════════════════
   모바일 히어로 보정 (chess-mobile 2026-09-18)
   실측: 430px 폭에서 히어로가 1791:422 비율 때문에 101px 로 납작해져
   로고·명판·소제목이 서로 겹쳤다. 좁은 화면은 높이를 따로 준다.
   ══════════════════════════════════════════════════════════ */
@media(max-width:900px){
  #banner-slider{ aspect-ratio:auto !important; height:250px !important; max-height:none !important; }
  .banner-pc{ object-fit:cover !important; object-position:center center !important; }
  .chess-logo-img{ width:min(50vw,230px) !important; }
  .chess-plaque-img{ width:min(35vw,160px) !important; }
  .banner-content{ top:50% !important; }
  .banner-info-sub{ font-size:12px !important; letter-spacing:.14em !important; }
  .toggle-section .container{ flex-direction:column !important; gap:10px !important; height:auto !important; }
  .toggle-btn{ width:100% !important; }
}
@media(max-width:520px){
  #banner-slider{ height:210px !important; }
  .chess-logo-img{ width:min(56vw,210px) !important; }
  .chess-plaque-img{ width:min(40vw,145px) !important; }
  .banner-info-sub{ font-size:11px !important; }
}


/* ══════════════════════════════════════════════════════════
   체스카지노 마무리 정리 (chess-final 2026-09-18)
   분석에서 드러난 남은 금색·모바일 문제를 정리한다.
   ══════════════════════════════════════════════════════════ */

/* 배경 위에 떠 있던 금색 먼지 입자 제거 */
body::after{ display:none !important; }

/* 하단 4개 판 — 인라인 grid 가 반응형을 눌러 휴대폰에서도 4칸이었다 */
.chess-boards{ grid-template-columns:repeat(4,1fr) !important; }
@media(max-width:900px){ .chess-boards{ grid-template-columns:repeat(2,1fr) !important; } }
@media(max-width:520px){ .chess-boards{ grid-template-columns:1fr !important; } }

/* 모바일에서도 같은 배너 이미지를 쓴다 (옛 아이콘 버튼 대신) */
@media(max-width:900px){
  .toggle-pc{ display:block !important; }
  .toggle-mobile{ display:none !important; }
  .toggle-section .container{ flex-direction:column !important; gap:10px !important; padding:0 14px !important; }
  .toggle-btn{ width:100% !important; flex:none !important; }
}

/* 좁은 화면 히어로 높이 보정 (chess-fit 2026-09-18)
   실측: 430px 폭에서 내용 224px 인데 히어로가 210px 이라 아래 두 줄이 메뉴에 가렸다 */
@media(max-width:520px){
  #banner-slider{ height:248px !important; }
  .chess-logo-img{ width:min(54vw,200px) !important; }
  .chess-plaque-img{ width:min(38vw,138px) !important; }
}

/* ══════════════════════════════════════════════════════════
   배경 교체 (chess-hall 2026-09-18)
   새 그림 chess-hall.png (1715x917) — 대리석 기둥·촛대·체스판 바닥.
   시안처럼 배경이 또렷하게 보여야 하므로 덮개를 거의 걷는다.
   cover + fixed 라 스크롤해도 홀 안에 사이트가 얹힌 느낌이 유지된다.
   ══════════════════════════════════════════════════════════ */
body{
  background:
    linear-gradient(180deg,rgba(9,16,29,0.30) 0%,rgba(9,16,29,0.18) 45%,rgba(9,16,29,0.28) 100%),
    url('/user14/images/chess-hall.png') center center / cover no-repeat,
    linear-gradient(180deg,#0d1728 0%,#080e18 100%) !important;
  background-attachment: fixed, fixed, fixed !important;
}
/* 배경이 밝아진 만큼 글 읽는 영역은 살짝 눌러 준다 */
.realtime-section .info-box{ backdrop-filter: blur(2px); }


/* ══════════════════════════════════════════════════════════
   배경 (chess-wall 2026-09-18) — 이 파일에서 배경을 정하는 유일한 곳
   그림: chess-wall.png (1672x941, 1.78:1) 남색 벽지 + 좌우 왕관·나이트 장식 띠.
   화면 비율(약 1.77:1)과 거의 같아 cover 로 깔아도 장식 띠가 양옆에 남는다.
   배경을 또 바꿀 때는 아래 url 과 덮개 진하기만 고치면 된다.
   ══════════════════════════════════════════════════════════ */
body{
  background:
    linear-gradient(180deg,rgba(9,16,29,0.20) 0%,rgba(9,16,29,0.10) 45%,rgba(9,16,29,0.22) 100%),
    url('/user14/images/chess-wall.png') center center / cover no-repeat,
    linear-gradient(180deg,#14233f 0%,#0d1830 100%) !important;
  background-attachment: fixed, fixed, fixed !important;
}

/* ══════════════════════════════════════════════════════════
   배경 문양 비키기 (chess-zoom 2026-09-18)
   문제(실측): 배경 그림의 장식 문양 띠가 좌우 19.3% 까지 차지하는데
   콘텐츠는 화면 279px(약 14.9%)부터 시작해 약 63px 이 겹쳤다.
   해결: 배경을 135% 로 확대해 문양을 화면 바깥으로 민다.
        문양 끝 = 화면폭 x (0.5 - 0.307 x 1.35) = 8.55% (약 161px) → 콘텐츠와 118px 여유.
   ══════════════════════════════════════════════════════════ */
body{ background-size: auto, 135% auto, auto !important; }
@media(max-width:1200px){ body{ background-size: auto, 165% auto, auto !important; } }
@media(max-width:900px){  body{ background-size: auto, 220% auto, auto !important; } }
