/* ════════════════════════════════════════════════════════════
   체스카지노 스킨 — 다크 네이비 / 실버 테마 (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:#f7f1e8;
  --bg-2:#faf6ef;
  --surface:#fffdf9;
  --surface-2:#f0e6d8;
  --surface-3:#e0d0bc;
  --line:#e5d5c0;
  --line-strong:#d9c3a8;
  --gold:#a8703f;
  --gold-2:#b07c52;
  --gold-bright:#5c4433;
  --gold-light:#8b7355;
  --gold-deep:#8a5a30;
  --gold-shine:#a8703f;
  --orange:#7fa0c8;
  --red:#dc4545;
  --red-2:#ee6262;
  --green:#5fb878;
  --text:#4a3528;
  --text-2:#6b5342;
  --text-3:#8b7355;
  --text-mute:#a3907c;
  --text-on-gold:#fffaf3;
  --shadow:0 4px 14px rgba(120,92,66,0.10);
  --shadow-lg:0 12px 36px rgba(120,92,66,0.14);
  --shadow-gold:0 0 20px rgba(198,150,106,0.25);
}

/* ── 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(198,150,106,0.14) 0%,transparent 55%),
    radial-gradient(ellipse 90% 50% at 80% 30%,rgba(198,150,106,0.10) 0%,transparent 55%),
    radial-gradient(ellipse 70% 40% at 50% 100%,rgba(198,150,106,0.08) 0%,transparent 60%),
    repeating-linear-gradient(135deg,
      transparent 0px,
      transparent 100px,
      rgba(198,150,106,0.012) 100px,
      rgba(198,150,106,0.012) 101px),
    linear-gradient(180deg,#f2ebdf 0%,#f7f1e8 25%,#f2ebdf 50%,#f7f1e8 75%,#f2ebdf 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(198,150,106,0.05) 0%,transparent 30%),
    radial-gradient(circle at 85% 70%,rgba(198,150,106,0.05) 0%,transparent 35%),
    radial-gradient(circle at 50% 50%,rgba(198,150,106,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(198,150,106,0.06) 0%,rgba(198,150,106,0) 100%),
    linear-gradient(180deg,#f7efe3 0%,#efe5d6 100%);
  border-top:1px solid var(--line-strong);
  border-bottom:1px solid var(--line-strong);
  box-shadow:
    0 4px 14px rgba(120,92,66,0.06),
    inset 0 1px 0 rgba(198,150,106,0.18),
    inset 0 -1px 0 rgba(120,92,66,0.07);
}

.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(198,150,106,0.25));
}
.nav-row .nav-item:hover{
  color:var(--gold-shine);
  text-shadow:0 0 10px rgba(198,150,106,0.4);
}
.nav-row .nav-item:hover i{
  color:var(--gold-shine);
  filter:drop-shadow(0 0 8px rgba(198,150,106,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(198,150,106,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,#c49468 0%,#a8703f 100%);
  color:var(--text-on-gold);border-color:#96602f;
  box-shadow:0 3px 10px rgba(198,150,106,0.3);
}
.btn-blue:hover,.join-link:hover{
  background:linear-gradient(180deg,#d3a87e 0%,#b8804c 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(255,252,246,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,#f2ebdf,#faf3e8,#f2ebdf);
  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(166,124,82,0.12) 0%,transparent 55%),
    radial-gradient(ellipse at 78% 50%,rgba(166,124,82,0.10) 0%,transparent 55%),
    linear-gradient(180deg,#f2ebdf 0%,#fffdf9 50%,#f2ebdf 100%);
}
.visual-section::before{
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(circle at 18% 70%,rgba(198,150,106,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(166,124,82,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,
    #8a6038 0%,
    #6b4a30 22%,
    #a8c0dc 45%,
    #c6966a 65%,
    #4a3528 85%,
    #3d2a1c 100%);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
  -webkit-text-stroke:1px rgba(74,53,40,0.6);
  filter:drop-shadow(0 0 24px rgba(198,150,106,0.4));
}
.banner-title span:last-child{margin-top:-12px}

/* 정보 박스: 럭셔리 카드 (코너 장식 + 다이아몬드 디바이더 + 내부 글로우) */
.banner-info{
  position:relative;
  background:linear-gradient(180deg,rgba(255,252,246,0.62) 0%,rgba(247,241,232,0.72) 100%);
  padding:14px 60px 16px;
  border-top:1px solid rgba(166,124,82,0.18);
  border-bottom:1px solid rgba(166,124,82,0.18);
  text-align:center;
  min-width:420px;max-width:480px;
  box-shadow:
    inset 0 0 80px rgba(198,150,106,0.06),
    inset 0 1px 0 rgba(198,150,106,0.12),
    inset 0 -1px 0 rgba(198,150,106,0.12),
    0 8px 28px rgba(120,92,66,0.06),
    0 0 40px rgba(198,150,106,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(226,196,166,1) 0%,rgba(198,150,106,0.85) 35%,rgba(198,150,106,0.4) 60%,transparent 90%),
    /* 우상 */
    radial-gradient(circle 4px at calc(100% - 14px) 14px,rgba(226,196,166,1) 0%,rgba(198,150,106,0.85) 35%,rgba(198,150,106,0.4) 60%,transparent 90%),
    /* 좌하 */
    radial-gradient(circle 4px at 14px calc(100% - 14px),rgba(226,196,166,1) 0%,rgba(198,150,106,0.85) 35%,rgba(198,150,106,0.4) 60%,transparent 90%),
    /* 우하 */
    radial-gradient(circle 4px at calc(100% - 14px) calc(100% - 14px),rgba(226,196,166,1) 0%,rgba(198,150,106,0.85) 35%,rgba(198,150,106,0.4) 60%,transparent 90%);
}

/* 좌우 세로 황금 그라데이션 라인 (격자 느낌) */
.banner-info::after{
  content:'';position:absolute;inset:14px 8px;pointer-events:none;
  border-left:1px solid rgba(198,150,106,0.18);
  border-right:1px solid rgba(198,150,106,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,#8a6038 0%,#7a5334 18%,#6b4a30 45%,#5c4433 70%,#4f3a2a 90%,#4a3528 100%);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
  filter:
    drop-shadow(0 2px 6px rgba(120,92,66,0.20))
    drop-shadow(0 0 14px rgba(198,150,106,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(198,150,106,0.6) 100%);
  margin-right:14px;
}
.banner-info-divider::after{
  background:linear-gradient(90deg,rgba(198,150,106,0.6) 0%,transparent 100%);
  margin-left:14px;
}
.info-diamond{
  width:8px;height:8px;
  background:linear-gradient(135deg,#f3dcc2 0%,#c6966a 50%,#a8703f 100%);
  transform:rotate(45deg);
  box-shadow:
    0 0 10px rgba(198,150,106,0.8),
    0 0 20px rgba(198,150,106,0.5),
    inset 0 0 4px rgba(226,196,166,0.6);
  animation:diamondPulse 2.8s ease-in-out infinite;
}
@keyframes diamondPulse{
  0%,100%{
    box-shadow:
      0 0 8px rgba(198,150,106,0.5),
      0 0 16px rgba(198,150,106,0.3),
      inset 0 0 3px rgba(226,196,166,0.4);
    transform:rotate(45deg) scale(1);
  }
  50%{
    box-shadow:
      0 0 16px rgba(226,196,166,0.95),
      0 0 32px rgba(198,150,106,0.6),
      0 0 50px rgba(198,150,106,0.3),
      inset 0 0 5px rgba(226,196,166,0.8);
    transform:rotate(45deg) scale(1.25);
  }
}

/* 서브 텍스트 (다양한 이벤트 / 정식 라이센스) */
.banner-info-sub{
  position:relative;z-index:1;
  font-size:17px;font-weight:500;color:#5c4433;
  letter-spacing:0.14em;line-height:1.55;
  text-shadow:0 1px 4px rgba(120,92,66,0.18),0 0 10px rgba(198,150,106,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(226,196,166,0.9) 0%,rgba(198,150,106,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(198,150,106,0.025) 80px,
      rgba(198,150,106,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,#f2ebdf 0%,#faf3e8 50%,#f2ebdf 100%);
  border:1px solid var(--line-strong);border-radius:10px;
  box-shadow:inset 0 0 30px rgba(166,124,82,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(198,150,106,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,#7a5334 0%,#5c4433 50%,#4a3528 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  text-shadow:0 0 20px rgba(198,150,106,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) — 좌우 분할 패널
   배경 이미지는 사용자가 /user15/images/toggle_casino.png,
                            /user15/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,
    #efe6d8 0%,
    #e8dccb 4%,
    #d9c3a8 11%,
    #b07c52 20%,
    #c6966a 30%,
    #d9b38c 40%,
    #5c4433 47%,
    #8a6038 50%,
    #5c4433 53%,
    #d9b38c 60%,
    #c6966a 70%,
    #b07c52 80%,
    #d9c3a8 89%,
    #e8dccb 96%,
    #efe6d8 100%);
  transition:transform .45s cubic-bezier(.2,.8,.3,1),filter .45s;
  filter:
    drop-shadow(0 10px 30px rgba(120,92,66,0.16))
    drop-shadow(0 0 24px rgba(198,150,106,0.22))
    drop-shadow(0 0 1px rgba(214,178,140,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(198,150,106,0.18) 0%,transparent 18%),
    /* 중앙 강한 황금 앰비언트 (전체적으로 따뜻하게) */
    radial-gradient(ellipse 90% 100% at 50% 50%,rgba(198,150,106,0.28) 0%,rgba(198,150,106,0.10) 45%,transparent 85%),
    /* 부드러운 가장자리 비넷 (따뜻한 갈색) */
    radial-gradient(ellipse 110% 110% at center,transparent 55%,rgba(214,190,160,0.4) 100%),
    /* 미세한 사선 메탈 결 */
    repeating-linear-gradient(45deg,
      rgba(198,150,106,0.035) 0px,
      rgba(198,150,106,0.035) 1px,
      transparent 1px,
      transparent 5px),
    /* 베이스: 헤더와 같은 따뜻한 브라운 톤 (밝게 끌어올림) */
    linear-gradient(180deg,
      #e0d0bc 0%,
      #e8dccb 35%,
      #ece0d0 70%,
      #efe6d8 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(226,196,166,1) 0%,
      rgba(198,150,106,0.85) 35%,
      rgba(198,150,106,0.4) 60%,
      transparent 100%),
    /* 우상단 다이아몬드 */
    radial-gradient(circle 5px at calc(100% - 22px) 22px,
      rgba(226,196,166,1) 0%,
      rgba(198,150,106,0.85) 35%,
      rgba(198,150,106,0.4) 60%,
      transparent 100%),
    /* 좌하단 다이아몬드 */
    radial-gradient(circle 5px at 22px calc(100% - 22px),
      rgba(226,196,166,1) 0%,
      rgba(198,150,106,0.85) 35%,
      rgba(198,150,106,0.4) 60%,
      transparent 100%),
    /* 우하단 다이아몬드 */
    radial-gradient(circle 5px at calc(100% - 22px) calc(100% - 22px),
      rgba(226,196,166,1) 0%,
      rgba(198,150,106,0.85) 35%,
      rgba(198,150,106,0.4) 60%,
      transparent 100%);
}

/* 내부 황금 보조 라인 (이중 보더 효과) */
.toggle-frame::after{
  content:'';position:absolute;inset:10px;z-index:3;pointer-events:none;
  border-top:1px solid rgba(198,150,106,0.25);
  border-bottom:1px solid rgba(198,150,106,0.25);
  background:
    /* 좌측 세로 그라데이션 라인 */
    linear-gradient(180deg,transparent 0%,rgba(198,150,106,0.3) 30%,rgba(198,150,106,0.3) 70%,transparent 100%) left/1px 100% no-repeat,
    /* 우측 세로 그라데이션 라인 */
    linear-gradient(180deg,transparent 0%,rgba(198,150,106,0.3) 30%,rgba(198,150,106,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(120,92,66,0.16))
    drop-shadow(0 0 38px rgba(198,150,106,0.55))
    drop-shadow(0 0 2px rgba(214,178,140,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(120,92,66,0.07) 0%,rgba(120,92,66,0.05) 50%,rgba(120,92,66,0.07) 100%);
  transition:background .3s;
}
.toggle-btn:hover .toggle-overlay{
  background:linear-gradient(90deg,rgba(120,92,66,0.06) 0%,rgba(120,92,66,0.04) 50%,rgba(120,92,66,0.06) 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(198,150,106,0.3) 20%,
    rgba(214,178,140,0.85) 50%,
    rgba(198,150,106,0.3) 80%,
    transparent 100%);
}
.toggle-btn .kr-text{
  font-size:32px;font-weight:900;letter-spacing:0.06em;
  background:linear-gradient(180deg,
    #7a5334 0%,
    #6b4a30 22%,
    #5c4433 45%,
    #6b4a30 60%,
    #54402f 80%,
    #4a3528 100%);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;
  filter:
    drop-shadow(0 2px 4px rgba(120,92,66,0.20))
    drop-shadow(0 0 16px rgba(198,150,106,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(120,92,66,0.20),
    0 0 14px rgba(198,150,106,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,#faf3e8,#f2ebdf);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,#fffdf9 0%,#fffdf9 100%);
  border:1px solid var(--line);
  transition:all .25s;display:flex;flex-direction:column;
  box-shadow:0 3px 10px rgba(120,92,66,0.07);
}
.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,#f7efe3,#efe5d6);
  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(120,92,66,0.10),0 0 24px rgba(198,150,106,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(120,92,66,0.06);
  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(198,150,106,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,#faf3e8 0%,#fffdf9 100%);
  border:1px solid var(--line);border-radius:10px;overflow:hidden;
  display:flex;flex-direction:column;
  box-shadow:
    0 4px 16px rgba(120,92,66,0.07),
    inset 0 1px 0 rgba(198,150,106,0.08);
  transition:border-color .25s,box-shadow .25s;
}
.info-box:hover{
  border-color:var(--line-strong);
  box-shadow:0 6px 22px rgba(120,92,66,0.06),0 0 18px rgba(198,150,106,0.12);
}
.info-header{
  position:relative;display:flex;align-items:center;gap:8px;
  padding:14px 18px;
  background:linear-gradient(180deg,#f7efe3 0%,#fffdf9 100%);
  border-bottom:1px solid var(--line-strong);
  box-shadow:inset 0 1px 0 rgba(198,150,106,0.15);
}
.info-header-icon{
  color:var(--gold-bright);font-size:18px;
  filter:drop-shadow(0 0 6px rgba(198,150,106,0.4));
}
.info-header-title{
  font-size:15px;font-weight:800;letter-spacing:0.04em;
  background:linear-gradient(180deg,#6b4a30 0%,#54402f 60%,#4a3528 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(198,150,106,0.04) 0%,rgba(120,92,66,0.07) 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(255,252,246,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,#faf3e8,#fffdf9)!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(166,124,82,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,#c49468,#a8703f);color:var(--text-on-gold);border-color:#96602f;font-weight:800;
}

/* ════════════════════════════════════════════════════════════
   SIDEBAR (모바일 메뉴 — 기본 숨김)
   ════════════════════════════════════════════════════════════ */
.sidebar{
  position:fixed;left:0;top:0;height:100vh;width:280px;z-index:999;
  background:linear-gradient(180deg,#f2ebdf,#faf5ec);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(166,124,82,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(74,53,40,0.42);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,#fffdf9 0%,#faf5ec 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(255,252,246,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,#c49468,#a8703f);color:var(--text-on-gold);
  font-size:15px;font-weight:800;border:1px solid #96602f;
  box-shadow:0 3px 10px rgba(198,150,106,0.25);transition:all .2s;
}
.m-btn:hover{background:linear-gradient(180deg,#d3a87e,#b8804c);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(166,124,82,0.08);color:var(--gold-bright)}
.bank-opt-icon{color:var(--gold);font-size:13px}

/* ════════════════════════════════════════════════════════════
   입금/출금 모달 (.tw-*)
   ════════════════════════════════════════════════════════════ */
.tw-modal-container{
  background:linear-gradient(180deg,#fffdf9,#faf5ec);
  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(255,252,246,0.95);
  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(240,230,216,0.98);
  border-color:var(--gold-bright);
  transform:scale(1.1);
  box-shadow:0 0 12px rgba(198,150,106,0.4);
}
.tw-banner{
  position:relative;height:80px;
  background:linear-gradient(135deg,#faf3e8,#f2ebdf);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(198,150,106,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(198,150,106,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,#c49468,#a8703f);color:var(--text-on-gold);font-weight:800;border:1px solid #96602f}
.tw-btn-main.full{flex:1}
.tw-btn-main:hover{background:linear-gradient(180deg,#d3a87e,#b8804c)}
.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(198,150,106,0.3));
  }
  50%{
    filter:
      drop-shadow(0 0 42px rgba(198,150,106,0.7))
      drop-shadow(0 0 80px rgba(198,150,106,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(198,150,106,0.12) 25deg,
    rgba(214,178,140,0.16) 35deg,
    rgba(198,150,106,0.10) 45deg,
    transparent 65deg,
    rgba(214,178,140,0.14) 115deg,
    rgba(226,196,166,0.18) 125deg,
    rgba(214,178,140,0.10) 135deg,
    transparent 155deg,
    rgba(198,150,106,0.12) 215deg,
    rgba(214,178,140,0.16) 225deg,
    transparent 245deg,
    rgba(214,178,140,0.14) 305deg,
    rgba(226,196,166,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(226,196,166,0.22) 0%,
      rgba(198,150,106,0.14) 18%,
      rgba(198,150,106,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(214,178,140,0.12) 25%,
    rgba(198,150,106,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(214,178,140,0.8) 30%,transparent 60%),
    radial-gradient(circle 2px at 32% 65%,rgba(255,255,255,0.95) 0%,rgba(198,150,106,0.7) 30%,transparent 60%),
    radial-gradient(circle 4px at 52% 18%,rgba(255,255,255,1) 0%,rgba(214,178,140,0.85) 30%,transparent 70%),
    radial-gradient(circle 2px at 68% 75%,rgba(255,255,255,0.9) 0%,rgba(198,150,106,0.6) 30%,transparent 60%),
    radial-gradient(circle 3px at 82% 35%,rgba(255,255,255,1) 0%,rgba(214,178,140,0.8) 30%,transparent 65%),
    radial-gradient(circle 2px at 92% 60%,rgba(255,255,255,0.85) 0%,rgba(198,150,106,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(214,178,140,0.8) 30%,transparent 60%),
    radial-gradient(circle 3px at 25% 40%,rgba(255,255,255,0.95) 0%,rgba(198,150,106,0.7) 30%,transparent 65%),
    radial-gradient(circle 2px at 42% 80%,rgba(255,255,255,0.9) 0%,rgba(214,178,140,0.7) 30%,transparent 60%),
    radial-gradient(circle 4px at 60% 30%,rgba(255,255,255,1) 0%,rgba(214,178,140,0.85) 30%,transparent 70%),
    radial-gradient(circle 2px at 75% 55%,rgba(255,255,255,0.85) 0%,rgba(198,150,106,0.6) 30%,transparent 60%),
    radial-gradient(circle 3px at 88% 80%,rgba(255,255,255,1) 0%,rgba(214,178,140,0.8) 30%,transparent 65%);
  animation-delay:1.7s;
}

/* ─── 2-D. 비넷 펄스 (가장자리 빛이 호흡) ─── */
@keyframes vignettePulse{
  0%,100%{
    box-shadow:
      inset 0 0 80px 20px rgba(120,92,66,0.10),
      inset 0 0 120px 40px rgba(198,150,106,0.06);
  }
  50%{
    box-shadow:
      inset 0 0 100px 30px rgba(120,92,66,0.07),
      inset 0 0 180px 50px rgba(198,150,106,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(226,196,166,0.08) 30%,
    rgba(214,178,140,0.18) 50%,
    rgba(226,196,166,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(198,150,106,0.95) 0%,rgba(198,150,106,0.5) 50%,transparent 80%),
    radial-gradient(circle 3px at 28% 0%,rgba(214,178,140,0.9) 0%,rgba(198,150,106,0.5) 50%,transparent 80%),
    radial-gradient(circle 5px at 48% 0%,rgba(198,150,106,0.95) 0%,rgba(198,150,106,0.5) 50%,transparent 80%),
    radial-gradient(circle 3px at 65% 0%,rgba(214,178,140,0.9) 0%,rgba(198,150,106,0.5) 50%,transparent 80%),
    radial-gradient(circle 4px at 82% 0%,rgba(198,150,106,0.95) 0%,rgba(198,150,106,0.5) 50%,transparent 80%),
    radial-gradient(circle 3px at 95% 0%,rgba(214,178,140,0.9) 0%,rgba(198,150,106,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(198,150,106,0.5),0 0 40px rgba(198,150,106,0.3);
  }
  50%{
    background-position:100% 50%;
    box-shadow:0 0 32px rgba(198,150,106,0.7),0 0 64px rgba(198,150,106,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(198,150,106,0.4) 15%,
    rgba(198,150,106,1) 35%,
    rgba(226,196,166,1) 50%,
    rgba(198,150,106,1) 65%,
    rgba(198,150,106,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(198,150,106,0.22) 0%,rgba(198,150,106,0.10) 30%,transparent 70%),
    radial-gradient(circle 120px at 78% 60%,rgba(214,178,140,0.20) 0%,rgba(198,150,106,0.08) 35%,transparent 75%),
    radial-gradient(circle 70px at 50% 88%,rgba(198,150,106,0.18) 0%,rgba(198,150,106,0.05) 30%,transparent 65%),
    radial-gradient(circle 100px at 92% 22%,rgba(198,150,106,0.20) 0%,rgba(198,150,106,0.08) 35%,transparent 70%),
    radial-gradient(circle 80px at 28% 75%,rgba(226,196,166,0.18) 0%,rgba(198,150,106,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(214,178,140,0.18) 0%,transparent 70%),
    radial-gradient(circle 90px at 65% 80%,rgba(198,150,106,0.15) 0%,transparent 70%),
    radial-gradient(circle 80px at 8% 65%,rgba(214,178,140,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(214,178,140,0.0) 18%,
      rgba(214,178,140,0.10) 22%,
      rgba(226,196,166,0.18) 24%,
      rgba(214,178,140,0.10) 26%,
      transparent 30%,
      transparent 38%,
      rgba(198,150,106,0.12) 42%,
      rgba(214,178,140,0.20) 45%,
      rgba(198,150,106,0.12) 48%,
      transparent 52%,
      transparent 60%,
      rgba(198,150,106,0.10) 64%,
      rgba(214,178,140,0.16) 67%,
      rgba(198,150,106,0.10) 70%,
      transparent 74%,
      transparent 82%,
      rgba(198,150,106,0.08) 86%,
      rgba(214,178,140,0.14) 89%,
      rgba(198,150,106,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(198,150,106,0.8),
      inset 0 0 20px rgba(198,150,106,0.5);
  }
  100%{
    width:1400px;height:1400px;
    opacity:0;
    border-width:0px;
    box-shadow:
      0 0 0 rgba(198,150,106,0),
      inset 0 0 0 rgba(198,150,106,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(198,150,106,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(226,196,166,0.6) 5%,
      rgba(214,178,140,0.35) 12%,
      rgba(198,150,106,0.18) 25%,
      rgba(198,150,106,0.06) 45%,
      transparent 70%),
    /* 별모양 빛살 (4방향) */
    linear-gradient(0deg,transparent 47%,rgba(214,178,140,0.4) 50%,transparent 53%),
    linear-gradient(90deg,transparent 47%,rgba(214,178,140,0.4) 50%,transparent 53%),
    linear-gradient(45deg,transparent 48%,rgba(198,150,106,0.3) 50%,transparent 52%),
    linear-gradient(135deg,transparent 48%,rgba(198,150,106,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(226,196,166,0.85);
  border-radius:50%;
  transform:translate(-50%,-50%);
  box-shadow:
    0 0 60px rgba(198,150,106,1),
    inset 0 0 40px rgba(198,150,106,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(214,178,140,0.95) 0%,transparent 100%),
    radial-gradient(circle 1px at 22% 65%,rgba(198,150,106,0.85) 0%,transparent 100%),
    radial-gradient(circle 2px at 33% 20%,rgba(214,178,140,0.9) 0%,transparent 100%),
    radial-gradient(circle 1px at 45% 55%,rgba(198,150,106,0.8) 0%,transparent 100%),
    radial-gradient(circle 1.5px at 58% 35%,rgba(226,196,166,0.95) 0%,transparent 100%),
    radial-gradient(circle 1px at 68% 75%,rgba(198,150,106,0.7) 0%,transparent 100%),
    radial-gradient(circle 2px at 78% 45%,rgba(214,178,140,0.9) 0%,transparent 100%),
    radial-gradient(circle 1px at 88% 25%,rgba(198,150,106,0.8) 0%,transparent 100%),
    radial-gradient(circle 1.5px at 92% 70%,rgba(214,178,140,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(255,252,246,0.55) 0%,rgba(247,241,232,0.55) 100%) padding-box,
    linear-gradient(90deg,transparent 0%,rgba(198,150,106,0.7) 50%,transparent 100%) top/200% 1px no-repeat border-box,
    linear-gradient(90deg,transparent 0%,rgba(198,150,106,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(198,150,106,0.25))}
  50%{filter:drop-shadow(0 0 10px rgba(198,150,106,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(120,92,66,0.20)) drop-shadow(0 0 12px rgba(198,150,106,0.3))}
  50%{filter:drop-shadow(0 2px 4px rgba(120,92,66,0.20)) drop-shadow(0 0 24px rgba(198,150,106,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(198,150,106,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(198,150,106,0.3),0 0 0 0 rgba(198,150,106,0.5)}
  50%{box-shadow:0 3px 14px rgba(198,150,106,0.5),0 0 0 8px rgba(198,150,106,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(198,150,106,0.7) 0%,transparent 60%),
    radial-gradient(circle 2px at 11% 42%,rgba(214,178,140,0.6) 0%,transparent 60%),
    radial-gradient(circle 1px at 19% 73%,rgba(198,150,106,0.55) 0%,transparent 60%),
    radial-gradient(circle 2.5px at 27% 12%,rgba(226,196,166,0.65) 0%,transparent 65%),
    radial-gradient(circle 1.5px at 34% 56%,rgba(198,150,106,0.6) 0%,transparent 60%),
    radial-gradient(circle 2px at 42% 88%,rgba(214,178,140,0.55) 0%,transparent 60%),
    radial-gradient(circle 1px at 51% 25%,rgba(198,150,106,0.6) 0%,transparent 60%),
    radial-gradient(circle 2.5px at 58% 65%,rgba(226,196,166,0.7) 0%,transparent 65%),
    radial-gradient(circle 1.5px at 66% 38%,rgba(198,150,106,0.6) 0%,transparent 60%),
    radial-gradient(circle 2px at 74% 78%,rgba(214,178,140,0.55) 0%,transparent 60%),
    radial-gradient(circle 1px at 82% 15%,rgba(198,150,106,0.6) 0%,transparent 60%),
    radial-gradient(circle 2.5px at 89% 50%,rgba(226,196,166,0.7) 0%,transparent 65%),
    radial-gradient(circle 1.5px at 96% 82%,rgba(198,150,106,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(198,150,106,0.16) 0%,rgba(198,150,106,0.05) 30%,transparent 65%),
    radial-gradient(ellipse 30% 100% at 80% 50%,rgba(198,150,106,0.16) 0%,rgba(198,150,106,0.05) 30%,transparent 65%),
    radial-gradient(ellipse 40% 80% at 50% 50%,rgba(198,150,106,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(198,150,106,0.3) 15%,
    rgba(198,150,106,0.9) 40%,
    rgba(226,196,166,1) 50%,
    rgba(198,150,106,0.9) 60%,
    rgba(198,150,106,0.3) 85%,
    transparent 100%);
  background-size:200% 100%;
  box-shadow:0 0 18px rgba(198,150,106,0.5),0 0 36px rgba(198,150,106,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(198,150,106,0.12) 0%,transparent 60%),
    radial-gradient(ellipse 35% 80% at 85% 50%,rgba(198,150,106,0.12) 0%,transparent 60%),
    radial-gradient(ellipse 60% 100% at 50% 110%,rgba(198,150,106,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,#faf3e8 0%,#fffdf9 100%) padding-box,
    linear-gradient(90deg,
      rgba(198,150,106,0.2) 0%,
      rgba(198,150,106,0.5) 35%,
      rgba(226,196,166,0.85) 50%,
      rgba(198,150,106,0.5) 65%,
      rgba(198,150,106,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(120,92,66,0.12),
    0 0 30px rgba(198,150,106,0.35),
    0 0 60px rgba(198,150,106,0.15)!important;
}

/* 인포박스 코너 황금 다이아몬드 점 */
.info-box::after{
  content:'';position:absolute;inset:0;pointer-events:none;
  background-image:
    radial-gradient(circle 3px at 12px 12px,rgba(226,196,166,0.95) 0%,rgba(198,150,106,0.6) 40%,transparent 80%),
    radial-gradient(circle 3px at calc(100% - 12px) 12px,rgba(226,196,166,0.95) 0%,rgba(198,150,106,0.6) 40%,transparent 80%),
    radial-gradient(circle 3px at 12px calc(100% - 12px),rgba(226,196,166,0.95) 0%,rgba(198,150,106,0.6) 40%,transparent 80%),
    radial-gradient(circle 3px at calc(100% - 12px) calc(100% - 12px),rgba(226,196,166,0.95) 0%,rgba(198,150,106,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(247,241,232,0.86) 0%,rgba(247,241,232,0.94) 42%,rgba(247,241,232,0.97) 100%),
    url('/user15/images/chess-pagebg.png') center top / cover no-repeat,
    linear-gradient(180deg,#f7f1e8 0%,#f7f1e8 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(120,92,66,0.18));
}
.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(120,92,66,0.16));
}

/* 정보 카드 — 시안에는 테두리·배경이 없다 */
.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:#5c4433 !important; letter-spacing:.22em; font-weight:600;
  text-shadow:0 2px 8px rgba(120,92,66,0.18);
}

/* ── 배너 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(120,92,66,0.16)) !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(247,241,232,0.55) 0%,rgba(247,241,232,0.80) 38%,rgba(247,241,232,0.93) 100%),
    url('/user15/images/chess-pagebg.png') center top / 100% auto no-repeat,
    linear-gradient(180deg,#f7f1e8 0%,#f7f1e8 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(247,241,232,0.30) 0%,rgba(247,241,232,0.18) 45%,rgba(247,241,232,0.28) 100%),
    url('/user15/images/chess-hall.png') center center / cover no-repeat,
    linear-gradient(180deg,#f7f1e8 0%,#f7f1e8 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(247,241,232,0.20) 0%,rgba(247,241,232,0.10) 45%,rgba(247,241,232,0.22) 100%),
    url('/user15/images/chess-wall.png') center center / cover no-repeat,
    linear-gradient(180deg,#f7f1e8 0%,#efe6d8 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; } }


/* ══════════════════════════════════════════════════════════════
   아테나 카지노 마무리 (athena-light 2026-09-18)
   색 치환만으로는 안 되는 자리를 여기서 한 번에 정리한다.
   배경 그림·로고 크기를 또 바꿀 때는 이 블록만 고치면 된다.
   ══════════════════════════════════════════════════════════════ */

/* ① index.html 이 쓰는데 선언이 없던 변수 6개.
      여태 '무효'라 배경이 아예 안 칠해졌다. 아이보리에선 흰 위 흰이 되므로 켠다. */
:root{
  --bg-dark:#f7f1e8;
  --modal-bg:#fffdf9;
  --modal-dark:#faf6ef;
  --primary-color:#c6966a;
  --primary-light:#a8703f;
  --secondary-color:#b07c52;
}

/* ② 게임 썸네일 위 '입장' 가림막 — 옅게 만들면 막이 사라진다. 어둡게 유지 */
.enter-overlay{ background:rgba(74,53,40,0.55) !important; color:#fffaf3 !important; }

/* ③ 푸터(제휴 게임사) — 그라데이션 끝이 검정이라 여기만 시커멓게 남는다 */
.partners{
  background:linear-gradient(180deg,#faf5ec 0%,#efe4d4 100%) !important;
  border-top:1px solid #e5d5c0 !important;
}
/* 게임사 로고를 어두운 배경 기준으로 1.4배 밝히고 있었다 -> 아이보리에선 하얗게 날아간다 */
.p-logo-img img{ filter:grayscale(1) opacity(0.5) !important; }
.p-logo-img:hover img{ filter:none !important; opacity:1 !important; }

/* ④ 히어로 위 회전 광선·반짝이·비네트 — 시안에 없는 효과. 밝은 바탕에선 얼룩으로 보인다 */
.visual-section > #banner-slider::before,
.visual-section > #banner-slider::after,
.banner-fx-vignette{ display:none !important; }

/* ⑤ 하단 4개 카드 — 흐르는 은색 테두리 애니메이션이 살아 있어 여기서 덮는다 */
.info-box{
  background:#fffdf9 !important;
  border:1px solid #e5d5c0 !important;
  animation:none !important;
  box-shadow:0 6px 18px rgba(120,92,66,0.07) !important;
}
.info-box:hover{
  transform:translateY(-4px) !important;
  box-shadow:0 12px 28px rgba(120,92,66,0.11) !important;
}
.info-body::-webkit-scrollbar-thumb{ background:#c6966a !important; border-radius:3px; }

/* ⑥ 메뉴줄 — 아래 구분선이 그림자와 한 줄에 묶여 있어 따로 세운다 */
.header-section{
  background:linear-gradient(180deg,#f7efe3 0%,#efe5d6 100%) !important;
  border-top:1px solid #e5d5c0 !important;
  border-bottom:1px solid #d9c3a8 !important;
  box-shadow:0 2px 10px rgba(120,92,66,0.05),
             inset 0 1px 0 rgba(255,255,255,0.6),
             inset 0 -1px 0 rgba(197,166,130,0.35) !important;
}
.nav-row .nav-item i,
.info-header-icon{ color:#a8703f !important; filter:none !important; }
.nav-row .nav-item::after{
  background:linear-gradient(90deg,transparent,#c6966a,transparent) !important;
  box-shadow:none !important;
}

/* ⑦ 로그인 = 탁한 로즈 채움 / 회원가입 = 흰 바탕 + 갈색 글자 (시안 그대로) */
.btn-silver,.login-link{
  background:linear-gradient(180deg,#c49188 0%,#ac7469 100%) !important;
  color:#fffaf3 !important; border-color:#9c6659 !important;
  box-shadow:0 2px 8px rgba(120,92,66,0.16) !important;
}
.btn-silver:hover,.login-link:hover{ background:linear-gradient(180deg,#d1a099 0%,#ba8478 100%) !important; }
.btn-blue,.join-link{
  background:#fffdf9 !important; color:#4a3528 !important;
  border-color:#d9c3a8 !important;
  box-shadow:0 2px 6px rgba(120,92,66,0.08) !important;
}
.btn-blue:hover,.join-link:hover{ background:#f7efe3 !important; }

/* ⑧ 강조 테두리로 쓰이는 3곳 — 글자색(진한 갈색)이 되면 칙칙해진다 */
.live-card:hover{ border-color:#c6966a !important; }
.tw-modal-x:hover{ border-color:#a8703f !important; }
.tw-tab.active{ border-bottom-color:#a8703f !important; }

/* ⑨ 카드 금액 — 입금 초록 / 포인트 로즈골드 / 출금 빨강 */
.t-amount{ color:#4a3528 !important; }
.t-amount.green{ color:#2f7d4f !important; }
.t-amount.gold{ color:#a8703f !important; }
.t-amount.red{ color:#c0392b !important; }

/* ⑩ 히어로 아래 소제목 — 밝은 바탕에 검은 그림자는 지저분하다 */
.banner-info-sub{
  color:#5c4433 !important;
  text-shadow:0 1px 2px rgba(255,255,255,0.8) !important;
}
.jackpot-number{ text-shadow:none !important; }

/* ⑪ 배경 — 아이보리 벽지 (좌우 올리브 잎 장식이 화면 양옆에 오도록 세로로 늘린다)
      그림: chess-wall.png = 아테나 page-ivory-clean (1979x795)
      휴대폰은 가로가 좁아 잎이 눌려 보이므로 단색 아이보리만 쓴다 */
body{
  background:
    linear-gradient(180deg,rgba(247,241,232,0.30) 0%,rgba(247,241,232,0.18) 45%,rgba(247,241,232,0.38) 100%),
    url('/user15/images/chess-wall.png?v=athena1') center top no-repeat,
    linear-gradient(180deg,#f7f1e8 0%,#f2ebdf 100%) !important;
  background-attachment: fixed, fixed, fixed !important;
  background-size: auto, 100% 100%, auto !important;
}
@media(max-width:1200px){ body{ background-size: auto, 100% 100%, auto !important; } }
@media(max-width:900px){
  body{
    background:linear-gradient(180deg,#f7f1e8 0%,#f2ebdf 100%) !important;
    background-attachment: fixed !important;
  }
}

/* ⑫ 히어로·로고·명판 크기 — 아테나 그림의 실제 비율로 다시 맞춘다
      히어로 1920x500 (3.84:1) / 로고 1391x995 (1.398:1) / 명판 1736x295 (5.88:1)
      시안 실측: 로고 폭 20.3%, 명판 폭 14.4% */
#banner-slider{ aspect-ratio:1920/500 !important; }
.chess-logo-img{ width:min(20.3vw, 384px) !important; }
.chess-plaque-img{ width:min(14.4vw, 272px) !important; }
@media(max-width:900px){
  #banner-slider{ aspect-ratio:auto !important; }
  .chess-logo-img{ width:52vw !important; }
  .chess-plaque-img{ width:38vw !important; }
}


/* ══════════════════════════════════════════════════════════════
   아테나 2차 보정 (athena-fix2 2026-09-18)
   ══════════════════════════════════════════════════════════════ */

/* 푸터 게임사 로고 — 26개 중 16개가 흰색 그림이라 아이보리 위에서 사라졌다.
   (실측 밝기 0~255: 흰색계열 233~255 짜리가 6개)
   어둡게 눌러서 아이보리 위에 보이게 한다. */
.p-logo-img img{
  filter:grayscale(1) brightness(0.45) contrast(1.05) !important;
  opacity:0.8 !important;
}
.p-logo-img:hover img{
  filter:grayscale(0.15) brightness(0.72) contrast(1.05) !important;
  opacity:1 !important;
}

/* 히어로 밑 소제목 — 하늘 위라 얇게 보인다. 조금 더 또렷하게 */
.banner-info-sub{
  font-weight:700 !important;
  text-shadow:0 1px 3px rgba(255,255,255,0.95), 0 0 10px rgba(255,255,255,0.8) !important;
}


/* ══════════════════════════════════════════════════════════════
   아테나 3차 (athena-fix3 2026-09-18)
   ══════════════════════════════════════════════════════════════ */

/* ★ 배너를 반듯한 네모로.
   원본 디자인이 모서리를 46~49px 비스듬히 잘라낸다(style.css 475·476·506·509).
   체스 배너는 그림이 비스듬해서 맞아떨어졌지만 아테나 배너는 반듯한 네모라
   잘린 자리가 그대로 드러난다. 바깥 틀·안쪽 틀 둘 다 푼다. */
.toggle-casino,
.toggle-slot,
.toggle-casino .toggle-frame,
.toggle-slot .toggle-frame{ clip-path:none !important; }

/* ══════════════════════════════════════════════════════════════════════
   아테나 휴대폰 화면 (athena-mobile 2026-09-19)

   목업 순서대로 다시 배치한다.
     히어로 → [로그인][회원가입] → 메뉴 8칸 → 배너2 → 공지사항
     → 실시간당첨|입금현황(2칸) → 이벤트 → 게임카드 → 푸터

   ★ 전부 @media(max-width:900px) 안에 있다. 컴퓨터 화면(901px 이상)은 하나도 안 바뀐다.
   ★ 이 파일 앞쪽에 같은 것을 정하는 규칙이 여러 개 있고 대부분 !important 라서,
     여기서는 선택자를 길게 쓰고 !important 를 붙여 확실히 이기게 했다.
     (어떤 규칙을 이기려는 건지 각 항목에 적어 뒀다)
   ══════════════════════════════════════════════════════════════════════ */

@media(max-width:900px){

  /* ────────────────────────────────────────────────────────────────
     ① 순서 — 아무것도 안 건드린다 (2026-09-19)
        사장님 요청: "슬롯게임 버튼 밑으로 게임사들이 나왔으면 좋겠어"

        원하는 순서
          히어로 → [로그인][회원가입] → 메뉴8칸 → 배너2 → 게임사카드
          → 공지 → 실시간|입금 → 이벤트 → 푸터
        이게 index.html 에 적힌 순서와 똑같다. 그래서 순서를 바꾸는 CSS 가 아예 필요 없다.

        ※ 전에는 게임카드를 이벤트 아래로 내리려고 body 에 flex 를 걸고 order 를 줬는데,
          그럴 필요가 없어져서 통째로 걷어냈다. 규칙이 8개 줄어 그만큼 덜 위험하다.
          나중에 또 순서를 바꾸고 싶으면 여기에
            body{display:flex;flex-direction:column} + #home-area{display:contents}
          를 넣고 각 덩어리에 order 를 주면 된다.
     ──────────────────────────────────────────────────────────────── */


  /* ────────────────────────────────────────────────────────────────
     ② 히어로 — 휴대폰 전용 세로형 그림으로 바꾼다
        원래 그림(1920x500)은 가로로 너무 길어서, 세로로 키우면 좌우가 잘려
        여신도 투구도 안 보였다(실측: 높이 248px 에서 가로 41%만 보임).
        그래서 부품 PNG 들로 세로형(1200x880)을 새로 합성해 넣었다.
        ※ 이기려는 규칙: 1904줄 / 1914줄 / 1945줄 의 #banner-slider{height:...!important}
     ──────────────────────────────────────────────────────────────── */
  .visual-section #banner-slider{
    height:auto !important;
    aspect-ratio:1200 / 880 !important;
    max-height:none !important;
    background:url('/user15/images/athena-hero-mobile.jpg?v=athmob1') center center / cover no-repeat !important;
  }
  .visual-section #banner-track,
  .visual-section .banner-pc{
    height:100% !important;
    opacity:0 !important;          /* 옛 가로 그림은 안 보이게. 자리만 차지한다 */
  }

  /* 로고와 명판은 목업처럼 오른쪽 위에. (그림에 굽지 않았으므로 여기서 크기·위치를 정한다) */
  .visual-section .banner-content{
    left:65.5% !important;
    top:27% !important;
    transform:translate(-50%,-50%) !important;
    width:35% !important;
    max-width:none !important;
  }
  .visual-section .chess-logo-img{ width:100% !important; max-width:none !important; }
  .visual-section .chess-plaque-img{ width:64% !important; max-width:none !important; }
  /* '다양한 이벤트 / 정식 라이센스' — 목업엔 없다 */
  .visual-section .banner-info-sub{ display:none !important; }


  /* ────────────────────────────────────────────────────────────────
     ③ 헤더 띠 없애기 — 목업은 아이보리 바탕에 버튼/카드만 얹혀 있다
        ※ 이기려는 규칙: 2041~2047줄 .header-section{background/border/box-shadow ... !important}
     ──────────────────────────────────────────────────────────────── */
  body .header-section{
    background:transparent !important;
    border-top:0 !important;
    border-bottom:0 !important;
    box-shadow:none !important;
    padding:0 !important;
  }
  .header-section .header-main .container{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:12px !important;
    height:auto !important;
    padding:16px 14px 2px !important;
    max-width:none !important;
  }

  /* 햄버거 버튼은 숨긴다.
     index.html 84줄에 모양만 있고 누르는 동작이 아무 데도 없는 죽은 버튼이다
     (user15.js·user_common.js 어디에도 핸들러 없음). 목업에도 없다.
     ※ 이기려는 규칙: 1727줄 .header-main .left-menu-btn.mobile{display:flex!important} */
  .header-section .header-main .left-menu-btn.mobile{ display:none !important; }


  /* ────────────────────────────────────────────────────────────────
     ④ [로그인] [회원가입] — 가로 2칸 큰 버튼
        ※ 이기려는 규칙: 1730~1731줄 .bal-container .login-link{min-width:78px;height:36px;...}
     ──────────────────────────────────────────────────────────────── */
  .header-section .header-main #hdr-auth.bal-container{
    order:1 !important;
    flex:0 0 100% !important;
    width:100% !important;
    display:block !important;
  }
  #hdr-auth .before-login{ width:100% !important; display:block !important; }
  #hdr-auth .before-login .btn-grp{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:12px !important;
    width:100% !important;
  }
  #hdr-auth .before-login .btn-grp .login-link,
  #hdr-auth .before-login .btn-grp .join-link,
  #hdr-auth .before-login .btn-grp .btn-silver,
  #hdr-auth .before-login .btn-grp .btn-blue{
    width:100% !important;
    min-width:0 !important;
    height:54px !important;
    padding:0 !important;
    font-size:17px !important;
    font-weight:700 !important;
    border-radius:10px !important;
  }
  /* 버튼 위를 훑고 지나가는 반짝임과 회원가입 깜빡임 — 목업엔 없다 */
  #hdr-auth .login-link::before, #hdr-auth .join-link::before,
  #hdr-auth .btn-silver::before, #hdr-auth .btn-blue::before{ display:none !important; }
  #hdr-auth .join-link, #hdr-auth .btn-blue{ animation:none !important; }

  /* 로그인한 뒤 (user15.js 332~348줄이 인라인 style 로 그리므로 !important 필수) */
  /* flex 로 두면 줄바꿈이 제멋대로라 버튼 하나가 이름줄로 딸려 올라간다.
     6칸 grid 로 자리를 못 박는다.
        1줄  아이디님(1~3칸)  잔액(4~5칸)  새로고침(6칸)
        2줄  마이페이지(1~2)  충전(3~4)   환전(5~6)     ← 사장님이 정한 순서 */
  #hdr-auth .after-login{
    display:grid !important;
    grid-template-columns:repeat(6,1fr) !important;
    gap:10px !important;
    align-items:center !important;
    width:100% !important;
    padding:12px !important;
    background:#fffdf9 !important;
    border:1px solid #e5d5c0 !important;
    border-radius:12px !important;
    box-shadow:0 4px 14px rgba(120,92,66,0.07) !important;
  }
  #hdr-auth .after-login > span{ font-size:14px !important; white-space:nowrap !important; }
  #hdr-auth .after-login > span:nth-of-type(1){ grid-area:1 / 1 / 2 / 4 !important; justify-self:start !important; }
  #hdr-auth .after-login > span:nth-of-type(2){ grid-area:1 / 4 / 2 / 6 !important; justify-self:start !important; }
  /* 잔액 새로고침(↻) — 작은 글자 버튼이라 아래 버튼 규칙에서 빼 둔다 */
  #hdr-auth .after-login > #bal-refresh-btn{
    grid-area:1 / 6 / 2 / 7 !important; justify-self:end !important;
    width:auto !important; height:auto !important; font-size:18px !important;
  }
  /* 버튼 3개 — 순서를 HTML 순서(충전·환전·마이페이지)가 아니라 여기서 정한다 */
  #hdr-auth .after-login > [onclick*="openMypage"]{ grid-area:2 / 1 / 3 / 3 !important; }
  #hdr-auth .after-login > [onclick*="deposit"]{   grid-area:2 / 3 / 3 / 5 !important; }
  #hdr-auth .after-login > [onclick*="withdraw"]{  grid-area:2 / 5 / 3 / 7 !important; }
  #hdr-auth .after-login > button:not(#bal-refresh-btn){
    width:100% !important;
    min-width:0 !important;
    height:46px !important;
    padding:0 !important;
    font-size:14px !important;
    border-radius:10px !important;
  }


  /* ────────────────────────────────────────────────────────────────
     ⑤ 메뉴 8칸 카드 (4열 x 2행)
        HTML 에 이미 8개가 다 있다(index.html 85~130줄). 새로 만들지 않고 켜기만 한다.
        ※ 이기려는 규칙 두 개 — 둘 다 !important
           83줄   .desktop{display:none!important}                    (특이도 0-1-0)
           1726줄 .header-main .nav-row.desktop{display:none!important} (특이도 0-3-0)
           그래서 여기서는 0-4-0 짜리 선택자를 쓴다.
     ──────────────────────────────────────────────────────────────── */
  .header-section .header-main .nav-row.desktop{
    display:grid !important;
    grid-template-columns:repeat(4,1fr) !important;
    order:2 !important;
    flex:0 0 100% !important;
    width:100% !important;
    gap:0 !important;
    margin:0 !important;
    padding:0 !important;
    background:#fffdf9 !important;
    border:1px solid #e5d5c0 !important;
    border-radius:12px !important;
    overflow:hidden !important;
    box-shadow:0 4px 14px rgba(120,92,66,0.07) !important;
  }
  .header-section .header-main .nav-row.desktop > li{
    position:relative !important;
    list-style:none !important;
    border-right:1px solid #f2e9dc !important;
    border-bottom:1px solid #f2e9dc !important;
  }
  .header-section .header-main .nav-row.desktop > li:nth-child(4n){ border-right:0 !important; }
  .header-section .header-main .nav-row.desktop > li:nth-child(n+5){ border-bottom:0 !important; }

  .header-section .header-main .nav-row .nav-item{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:7px !important;
    height:auto !important;
    padding:15px 2px 13px !important;
    font-size:13.5px !important;
    font-weight:700 !important;
    color:#4a3528 !important;
    white-space:nowrap !important;
  }
  .header-section .header-main .nav-row .nav-item i{
    font-size:26px !important;
    color:#a8703f !important;
    filter:none !important;
  }
  /* 컴퓨터용 hover 밑줄·글로우는 휴대폰에서 필요 없다 */
  .header-section .header-main .nav-row .nav-item::after{ display:none !important; }
  .header-section .header-main .nav-row .nav-item .count{ display:none !important; }


  /* ────────────────────────────────────────────────────────────────
     ⑥ 배너 2개 — 이미 세로로 쌓여 있다. 여백만 목업에 맞춘다
     ──────────────────────────────────────────────────────────────── */
  .toggle-section{ padding:14px 0 6px !important; }
  .toggle-section .container{ gap:12px !important; padding:0 14px !important; }


  /* ────────────────────────────────────────────────────────────────
     ⑦ 아래 4개 카드 — 1행 공지(꽉) / 2행 실시간·입금(2칸) / 3행 이벤트(꽉)
        HTML 순서가 이미 공지·실시간·입금·이벤트라 순서를 바꿀 필요가 없다.
        1번과 4번만 가로로 늘리면 목업 모양이 그대로 나온다.
        ※ 이기려는 규칙: 1932줄 @media(max-width:520px){.chess-boards{1fr!important}}
           그 선택자는 0-1-0 이고 이건 0-3-0 이라 이긴다.
     ──────────────────────────────────────────────────────────────── */
  .realtime-section > .container > .chess-boards{
    grid-template-columns:repeat(2,1fr) !important;
    gap:10px !important;
  }
  .realtime-section .chess-boards > .info-box:nth-child(1),
  .realtime-section .chess-boards > .info-box:nth-child(4){
    grid-column:1 / -1 !important;
  }
  .realtime-section .container{ padding:0 14px !important; }

  /* 절반 폭(약 170px)에서 글자가 삐져나오지 않게
     ※ 원인: 729줄 .t-user{min-width:80px} + 733줄 .t-time{min-width:50px} 가
        줄어들지 못하게 막아 좁은 칸에 안 들어갔다 */
  .info-box .t-row{ gap:6px !important; font-size:12.5px !important; padding:9px 2px !important; }
  .info-box .t-user{ min-width:0 !important; flex:1 1 auto !important; overflow:hidden !important; }
  .info-box .t-user span{ overflow:hidden !important; text-overflow:ellipsis !important; }
  .info-box .t-amount{ min-width:0 !important; white-space:nowrap !important; font-size:12.5px !important; }
  /* 목업처럼 2칸 카드에서는 시각을 감춘다 (좁아서 금액과 부딪힌다) */
  .chess-boards > .info-box:nth-child(2) .t-time,
  .chess-boards > .info-box:nth-child(3) .t-time{ display:none !important; }

  /* 카드 제목과 MORE 가 겹치지 않게
     ※ 원인: 717줄 .info-header::after{content:'MORE';position:absolute;right:18px} */
  .info-box .info-header{ padding-right:62px !important; }
  .info-box .info-header::after{ right:12px !important; font-size:10px !important; }
  .info-box .info-header-title{ font-size:14.5px !important; white-space:nowrap !important; }
  /* 2칸 카드(실시간/입금)는 폭이 176px 뿐이라 MORE 자리를 더 줄인다.
     안 줄이면 '실시간 당첨' 이 두 줄로 깨진다(실측 67x44). */
  .chess-boards > .info-box:nth-child(2) .info-header,
  .chess-boards > .info-box:nth-child(3) .info-header{ padding-right:44px !important; }
  .chess-boards > .info-box:nth-child(2) .info-header-title,
  .chess-boards > .info-box:nth-child(3) .info-header-title{ font-size:13.5px !important; }
  .chess-boards > .info-box:nth-child(2) .info-header::after,
  .chess-boards > .info-box:nth-child(3) .info-header::after{
    font-size:9px !important; right:8px !important; letter-spacing:0.08em !important;
  }
  .info-box .info-body{ min-height:150px !important; max-height:210px !important; }

}


/* ══════════════════════════════════════════════════════════════
   게임사 카드 밑 흰 공백 없애기 (athena-cardgap 2026-09-19)

   왜 생겼나: 657줄 `.live-card img{height:auto}` 때문에 그림칸 높이가
   그림마다 달랐다(실측 160x167 vs 160x160). 카드는 한 줄에서 제일 큰 것에
   맞춰 늘어나므로, 그림이 짧은 카드는 밑이 비어 흰 바탕이 드러났다.

   ① 그림칸 비율을 221/230 으로 못 박아 모든 카드의 그림 높이를 같게
   ② 혹시 남는 자리가 있어도 이름칸이 늘어나 먹게 (흰 띠가 생길 수 없다)
   ══════════════════════════════════════════════════════════════ */

/* ① 그림칸 높이 통일. 그림칸 안의 '배경 그림'만 꽉 채우고,
      그 위에 절대위치로 얹힌 게임사 로고는 건드리지 않는다(first-child 로 한정). */
.live-card .live-thumb{
  aspect-ratio:221 / 230 !important;
  height:auto !important;
}
.live-card .live-thumb > img:first-child{
  width:100% !important;
  height:100% !important;
}

/* ② 이름칸 '상자' 만 남는 자리를 먹는다.
      ※ 658줄이 상자와 안쪽 글자(span) 둘 다에 padding:10px 12px 를 준다.
        상자만 flex 로 만들고 안쪽 span 은 여백 0 으로 돌려놔야 여백이 두 번 안 들어간다.
        (처음엔 span 에도 display:flex 를 걸었더니 카드가 209 -> 230px 로 커졌다) */
.live-card > div:last-child{
  flex:1 1 auto !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.live-card > div:last-child > .live-name,
.live-card > div:last-child > .card-name{
  padding:0 !important;
  background:none !important;
  border-top:0 !important;
}

/* ═══════════ ATHENA CASINO 로그인/회원가입 모달 테마 (2026-09-19) ═══════════ */
#modal-login .modal-box, #modal-register .modal-box{
  background:
    linear-gradient(158deg,rgba(255,253,247,.95),rgba(244,236,221,.93)),
    url('/user15/images/athena-marble.png?v=ath1') center/cover !important;
  border:1px solid #cbb488 !important; border-radius:20px !important;
  padding:36px 30px 26px !important;
  box-shadow:0 26px 70px rgba(45,30,15,.5), inset 0 2px 0 rgba(255,255,255,.5) !important;
  color:#6d4e34;
}
#modal-login .modal-box::before, #modal-register .modal-box::before{
  content:"";position:absolute;inset:7px;border-radius:14px;
  border:1px solid rgba(176,138,82,.42);pointer-events:none;z-index:1;
}
#modal-login .modal-close, #modal-register .modal-close{
  background:rgba(255,255,255,.6) !important;border:1px solid #d8c6a3 !important;color:#a98f68 !important;z-index:3;
}
#modal-login .modal-close:hover, #modal-register .modal-close:hover{color:#b56b63 !important;border-color:#c9a877 !important}
/* 로고 */
#modal-login .ath-logo, #modal-register .ath-logo{
  display:block;margin:2px auto 6px;height:88px;object-fit:contain;position:relative;z-index:2;
}
/* 라우렐 코너 */
.ath-laurel{position:absolute;width:92px;height:92px;pointer-events:none;opacity:.92;z-index:2;
  filter:drop-shadow(0 1px 1px rgba(120,80,30,.22));}
.ath-laurel.tl{top:4px;left:4px}
.ath-laurel.tr{top:4px;right:4px;transform:scaleX(-1)}
.ath-laurel.bl{bottom:4px;left:4px;transform:scaleY(-1)}
.ath-laurel.br{bottom:4px;right:4px;transform:scale(-1,-1)}
/* 타이틀 */
#modal-login .modal-title, #modal-register .modal-title{
  font-family:'Playfair Display',Georgia,'Times New Roman',serif !important;
  color:#6d4a2c !important;font-weight:800 !important;font-size:34px !important;
  letter-spacing:.05em !important;margin-bottom:3px !important;position:relative;z-index:2;
}
#modal-login .modal-sub, #modal-register .modal-sub{color:#a08a6f !important;font-size:13px !important;margin-bottom:20px !important;position:relative;z-index:2}
/* 인풋 */
#modal-login .m-input, #modal-register .m-input{
  background:#fffdf8 !important;border:1px solid #e3d6bd !important;border-radius:11px !important;
  color:#5b4632 !important;height:50px !important;font-size:14.5px !important;position:relative;z-index:2;
}
#modal-login .m-input::placeholder, #modal-register .m-input::placeholder{color:#b6a88f !important}
#modal-login .m-input:focus, #modal-register .m-input:focus{border-color:#b08a52 !important;box-shadow:0 0 0 3px rgba(176,138,82,.14) !important}
/* 로그인 아이콘 필드 */
#modal-login .ath-ico{position:relative;margin-bottom:12px;z-index:2}
#modal-login .ath-ico > i{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:#b08a52;font-size:15px;z-index:3}
#modal-login .ath-ico .m-input{padding-left:44px !important;margin-bottom:0 !important}
/* 체크박스/찾기 링크 */
#modal-login label{color:#8c775c !important;position:relative;z-index:2}
#modal-login input[type=checkbox], #modal-register input[type=checkbox]{accent-color:#b08a52 !important}
#modal-login span[style]{color:#b56b63 !important;font-weight:700 !important}
/* 버튼 */
#modal-login .m-btn, #modal-register .m-btn{
  background:linear-gradient(180deg,#c39a6b,#a9794f 55%,#956847) !important;
  color:#fff8ee !important;border:none !important;border-radius:12px !important;height:52px !important;
  box-shadow:0 8px 20px rgba(150,100,55,.35), inset 0 1px 0 rgba(255,255,255,.35) !important;
  text-shadow:0 1px 2px rgba(90,55,25,.4);font-weight:700 !important;position:relative;z-index:2;
}
#modal-login .m-btn:hover, #modal-register .m-btn:hover{filter:brightness(1.05)}
/* 구분선 + 전환 */
#modal-login .m-divider, #modal-register .m-divider{
  background:none !important;height:auto !important;margin:18px 0 12px !important;
  display:flex;align-items:center;justify-content:center;position:relative;z-index:2;
}
#modal-login .m-divider::before, #modal-register .m-divider::before{content:"\2756";color:#c9a877;font-size:12px;}
#modal-login .m-switch, #modal-register .m-switch{color:#8c775c !important;position:relative;z-index:2}
#modal-login .m-switch a, #modal-register .m-switch a{color:#b56b63 !important;font-weight:800 !important}
/* 회원가입 폼 */
#modal-register .reg-section-title{color:#96703c !important;border-bottom:none !important;position:relative;padding-bottom:9px !important;z-index:2}
#modal-register .reg-section-title::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:linear-gradient(90deg,rgba(176,138,82,.55),rgba(176,138,82,.05))}
#modal-register .reg-section-title i{color:#b08a52 !important}
#modal-register .reg-label{color:#6d4e34 !important;font-weight:700 !important}
#modal-register .reg-req{color:#d9534f !important}
#modal-register .ath-regcols{position:relative;z-index:2}
#modal-register .ath-regcols > div:first-child{border-right:1px solid rgba(176,138,82,.22);padding-right:28px}
#modal-register .reg-msg{color:#b39a7a !important}
#modal-register .ath-agree{color:#8c775c !important;position:relative;z-index:2}
/* 은행 드롭다운 */
#modal-register .bank-selected{background:#fffdf8 !important;border:1px solid #e3d6bd !important;border-radius:11px !important;color:#5b4632 !important;height:48px !important}
#modal-register .bank-selected-text{color:#b6a88f !important}
#modal-register .bank-arrow{color:#b08a52 !important}
#modal-register .bank-options{background:#fffdf8 !important;border:1px solid #e0d3ba !important}
#modal-register .bank-option{color:#5b4632 !important}
#modal-register .bank-option:hover{background:rgba(176,138,82,.10) !important;color:#96703c !important}
#modal-register .bank-opt-icon{color:#b08a52 !important}
#modal-register .bank-search{background:#fff !important;border:1px solid #e3d6bd !important;color:#5b4632 !important}
#modal-register .bank-search-icon{color:#b08a52 !important}


/* ══════════════════════════════════════════════════════════════
   공지/팝업 글 정렬 (ql-align-fix 2026-09-21)

   어드민 에디터(Quill)는 정렬을 클래스로만 저장한다.
     가운데정렬 -> <p class="ql-align-center">글</p>
   이건 이름표라서 여기 규칙이 없으면 화면에선 그냥 왼쪽으로 나온다.
   (파트너 페이지에는 원래 있었고 회원화면에만 빠져 있었다)

   컨테이너를 일부러 안 가린다 — 팝업/공지상세/그림장마다 감싸는 이름이 달라서
   ql-align-* 만 보고 맞춘다. 이 이름은 에디터가 만든 글에만 붙으므로 다른 곳에 영향이 없다.
   ══════════════════════════════════════════════════════════════ */
.ql-align-center  { text-align: center !important; }
.ql-align-right   { text-align: right !important; }
.ql-align-justify { text-align: justify !important; }
.ql-indent-1 { padding-left: 3em; }
.ql-indent-2 { padding-left: 6em; }
.ql-indent-3 { padding-left: 9em; }
