/* 모비딕 d1 — 웹/모바일 분리 최적화
 * - 1101px+ : 데스크톱 전용 크롬 (상단 머니바 + 가로 메뉴 + 와이드 배너)
 * - 1100px- : 모바일 전용 셸 (로고바 + 머니/액션 + 하단 탭)
 */
@import url("shared/responsive.css");
@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,700;0,800;0,900;1,800;1,900&family=Noto+Sans+KR:wght@400;600;700;800;900&display=swap");

/* Near-black UI — 메인 컬러(라임)는 CTA/활성에만 스파스 사용 */
:root{
  --bg:#07070c;
  --bg-deep:#000000;
  --bg2:#0e0e16;
  --panel:#0e0e16;
  --panel2:#14141e;
  --panel-elev:#1a1a26;
  --line:rgba(255,255,255,.08);
  --line2:rgba(255,255,255,.14);
  --text:#ffffff;
  --muted:rgba(210,220,240,.55);
  --ink:#07070c;
  /* 메인 악센트: 필요한 곳만 (충전 CTA, 활성 1곳 등) */
  --lime:#c8ff00;
  --lime2:#b4e600;
  --cyan:#c8ff00;
  --cyan2:#b4e600;
  --primary:#c8ff00;
  --primary2:#d9ff4d;
  --accent:#c8ff00;
  --accent2:#b4e600;
  /* 서브: 환전 등 2차 CTA만 */
  --pink:#ff2bd6;
  --pink2:#ff5ae6;
  --pink-dim:rgba(255,43,214,.12);
  --pink-line:rgba(255,43,214,.3);
  --glow-pink:none;
  --red:#ff5c6c;
  --orange:#ff2bd6;
  /* 머니 수치는 골드 (라임 도배 금지) */
  --gold:#e8c56a;
  --glow:none;
  --max:1248px;
  /* 헤더/메뉴 콘텐츠 폭 — 카드 그리드(--max)보다 좌우로 넓혀 안정감 */
  --max-chrome:1424px;
  --header-h:54px;
  --menu-h:58px;
  --font:"Noto Sans KR","Malgun Gothic","Apple SD Gothic Neo",-apple-system,sans-serif;
  --font-display:"Montserrat","Noto Sans KR",sans-serif;
  --touch-min:44px;
  --bp-mobile:1100px;
  --radius:10px;
  /* 모달 공통: 가운데 + 화면을 다 먹지 않는 비율 (유저 모바일 m6) */
  --md-modal-w-sm: min(400px, 92vw);
  --md-modal-w-md: min(480px, 92vw);
  --md-modal-w-lg: min(680px, 94vw);
  --md-modal-h: min(72dvh, 640px);
  --md-modal-pad: 16px;
  /* 배너 타이틀 공통 음영 (PLINKO/MINES 스타일) */
  --shadow-banner:
    0 1px 0 #000,
    0 2px 0 rgba(0,0,0,.95),
    0 3px 2px rgba(0,0,0,.85),
    0 6px 12px rgba(0,0,0,.75),
    0 12px 28px rgba(0,0,0,.5);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:var(--font);
  background:var(--bg);
  color:var(--text);
  min-height:100vh;
  font-size:14px;
  line-height:1.45;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}
html.is-ios,
html.is-ios body{
  min-height:100dvh;
}
html.is-ios .m-bottom-nav{
  padding-bottom:max(8px, env(safe-area-inset-bottom, 0px));
}
html.is-android .m-bottom-nav{
  padding-bottom:max(6px, env(safe-area-inset-bottom, 0px));
}

/* 배너 캡션: 흰 볼드 + 검정 음영 */
.banner-display-text,
.hero-slot-caption,
.marketing_banner_text{
  font-family:var(--font-display);
  font-weight:900;
  font-style:normal;
  letter-spacing:.01em;
  color:#fff;
  text-transform:uppercase;
  text-shadow:var(--shadow-banner);
}
/* 게임명: 메인 라임 단색 (글로우 없음) */
.live-card .cap,
.home-slot-card.home-slot-official .slot-name,
.home-live-card.home-slot-official .slot-name,
.home-slot-card .slot-name,
.home-live-card .slot-name,
.live-item .item_title,
.game-item .item_title,
.slot-card .name,
.rec-card .name,
.game-lobby-list .item_title,
.minigame-page .item_title,
.minigame-card .name,
.thumb-placeholder span{
  font-family:var(--font-display), var(--font);
  font-weight:800;
  font-style:normal;
  letter-spacing:.01em;
  color:var(--lime, #c8ff00);
  text-transform:none;
  text-shadow:none;
  filter:none;
}
/* 게스트 로그인 도어: 홈이 그려지기 전 검정만 */
html.md-boot,
html.md-boot body{
  background:#07070c !important;
}
html.md-boot body > *{visibility:hidden !important}
html.md-boot iframe{display:none !important}

/* 레이아웃 모드 (JS body / html pre-* class) */
html.pre-desktop .m-orig-chrome,
html.pre-desktop .m-bottom-nav,
body.layout-desktop .m-orig-chrome,
body.layout-desktop .m-bottom-nav{display:none !important}
html.pre-mobile .top_header,
html.pre-mobile .main_menu_wrap:not(.game-play-bar),
html.pre-mobile .hero-banner,
body.layout-mobile .top_header,
body.layout-mobile .main_menu_wrap:not(.game-play-bar),
body.layout-mobile .hero-banner{display:none !important}
/* 게임 플레이 로고 바는 모바일에서도 표시 */
html.pre-mobile .main_menu_wrap.game-play-bar,
body.layout-mobile .main_menu_wrap.game-play-bar{display:block !important}
/* 데스크톱에서 모바일 전용 블록 숨김 */
.desktop-only{display:block}
@media (max-width:1100px){
  .desktop-only{display:none !important}
}
/* ═══ PC 홈: Game / Casino Game List / Slot Game List (모바일 홈과 분리) ═══ */
/* 기본: PC 로비 표시 · 모바일 로비 숨김 — 미디어쿼리로 강제 (body class 의존 최소화) */
.pc-home-lobby{
  display:block;
  max-width:var(--max);
  margin:0 auto;
  /* 헤더(--max-chrome)보다 안쪽 — 카드 양끝 < 로고/메뉴 양끝 */
  padding:8px 28px 48px;
  position:relative;
  z-index:1;
}
.home-mobile-lobby{display:none}

/* 메인(홈) 배경 — 모바일은 그라데이션만(1.2MB JPG 2장 미요청). PC만 사진 배경 */
body.page-home,
body:has(.pc-home-lobby){
  background-color:#05050a;
  background-image:
    linear-gradient(180deg,
      rgba(5,5,12,.42) 0%,
      rgba(5,5,12,.18) 22%,
      rgba(5,5,12,.28) 55%,
      rgba(5,5,12,.72) 100%),
    radial-gradient(ellipse 120% 70% at 50% 15%, rgba(255,43,214,.18), transparent 50%),
    radial-gradient(ellipse 80% 50% at 80% 80%, rgba(200,255,0,.12), transparent 45%);
  background-size:auto, auto, auto;
  background-position:center top, center top, center bottom;
  background-repeat:no-repeat;
}
@media (min-width:1101px){
  body.page-home,
  body:has(.pc-home-lobby){
    background-image:
      linear-gradient(180deg,
        rgba(5,5,12,.42) 0%,
        rgba(5,5,12,.18) 22%,
        rgba(5,5,12,.28) 55%,
        rgba(5,5,12,.72) 100%),
      radial-gradient(ellipse 120% 70% at 50% 15%, rgba(255,43,214,.18), transparent 50%),
      radial-gradient(ellipse 80% 50% at 80% 80%, rgba(200,255,0,.12), transparent 45%),
      url("assets/home/home-bg-city.jpg?v=homebg2"),
      url("assets/home/home-bg-neon.jpg?v=homebg2");
    background-size:auto, auto, auto, cover, cover;
    background-position:center top, center top, center bottom, center 20%, center center;
    background-repeat:no-repeat;
    background-attachment:scroll, scroll, scroll, fixed, fixed;
  }
}
/* 고정 풀블리드 레이어 (스크롤 시 패럴랙스 느낌) */
body.page-home::before,
body:has(.pc-home-lobby)::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    linear-gradient(105deg, transparent 40%, rgba(200,255,0,.04) 50%, transparent 60%),
    radial-gradient(circle at 20% 70%, rgba(255,43,214,.14), transparent 35%);
  animation:homeBgPulse 12s ease-in-out infinite alternate;
}
@keyframes homeBgPulse{
  0%{opacity:.55; filter:saturate(1.05) brightness(1)}
  100%{opacity:.95; filter:saturate(1.25) brightness(1.08)}
}
/* 본문만 z-index 1 — 헤더/메뉴는 절대 덮이지 않게 제외 */
body.page-home > .page-body,
body.page-home > .hero-banner,
body.page-home > .footer,
body:has(.pc-home-lobby) > .page-body,
body:has(.pc-home-lobby) > .hero-banner,
body:has(.pc-home-lobby) > .footer{
  position:relative;
  z-index:1;
}
body.page-home > .drawer,
body:has(.pc-home-lobby) > .drawer{
  position:fixed !important;
  inset:0;
  z-index:800 !important;
}
/* 고정 헤더·메뉴: 스크롤 콘텐츠보다 항상 위 */
body.page-home > .top_header,
body.page-home > .main_menu_wrap,
body:has(.pc-home-lobby) > .top_header,
body:has(.pc-home-lobby) > .main_menu_wrap{
  z-index:500 !important;
  isolation:isolate;
}
/* 히어로·로비 영역 투명 톤으로 배경 비침 */
body.page-home .hero-banner.desktop-only,
body:has(.pc-home-lobby) .hero-banner.desktop-only{
  background:transparent;
}
body.page-home .page-body.pc-home-lobby,
body:has(.pc-home-lobby) .page-body.pc-home-lobby{
  background:transparent;
}
/* 홈 헤더/메뉴 — 불투명 글래스 (뒤 카드가 비쳐 올라오지 않게) */
body.page-home .top_header,
body:has(.pc-home-lobby) .top_header{
  background:rgba(8,8,14,.92) !important;
  backdrop-filter:blur(16px) saturate(1.2);
  -webkit-backdrop-filter:blur(16px) saturate(1.2);
  border-bottom:1px solid rgba(255,255,255,.1);
  box-shadow:0 8px 24px rgba(0,0,0,.35);
}
body.page-home .main_menu_wrap,
body:has(.pc-home-lobby) .main_menu_wrap{
  background:rgba(8,8,14,.9) !important;
  backdrop-filter:blur(16px) saturate(1.2);
  -webkit-backdrop-filter:blur(16px) saturate(1.2);
  border-bottom:1px solid rgba(200,255,0,.14);
  box-shadow:0 6px 18px rgba(0,0,0,.28);
}
/* 섹션 카드 살짝 떠 보이게 (리스트 카드 본체는 썸네일 쪽 그림자 사용) */
body.page-home .pc-hub-card{
  box-shadow:0 16px 48px rgba(0,0,0,.55), 0 0 0 1px rgba(255,255,255,.06);
}
body.page-home .pc-list-grid .home-slot-card{
  box-shadow:none;
}

/* PC에서 구 칩·신뢰바·인기섹션 절대 노출 금지 */
html.pre-desktop .home-mobile-lobby,
body.layout-desktop .home-mobile-lobby,
html.pre-desktop .home-provider-strip,
body.layout-desktop .home-provider-strip,
html.pre-desktop .home-trust-bar,
body.layout-desktop .home-trust-bar{
  display:none !important;
}

.pc-home-sec{margin:36px 0 44px}

/*
 * PC 섹션 타이틀 — 테슬라 톤
 * 다크 프리미엄 + 라임 악센트 · Montserrat · 좌우 라인+다이아
 */
.pc-sec-title{
  --sec-title-w: min(720px, 96%);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:0;
  width:var(--sec-title-w);
  max-width:720px;
  min-width:min(720px, 96%);
  margin:0 auto 30px;
  height:auto;
  min-height:52px;
  box-sizing:border-box;
  padding:10px 8px;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  position:relative;
}
.pc-sec-title-lg{
  --sec-title-w: min(760px, 96%);
  max-width:760px;
}
.pc-sec-label{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  position:relative;
  min-width:auto;
  margin:0 6px;
  padding:10px 22px 12px;
  font-family:var(--font-display), var(--font), system-ui, sans-serif;
  font-size:15px !important;
  font-weight:900 !important;
  letter-spacing:.18em;
  text-transform:uppercase;
  white-space:nowrap;
  line-height:1;
  color:var(--lime, #c8ff00) !important;
  background:linear-gradient(180deg, rgba(14,14,22,.72), rgba(7,7,12,.55));
  border:1px solid rgba(200,255,0,.28);
  border-radius:999px;
  box-shadow:
    0 0 0 1px rgba(0,0,0,.45),
    0 8px 24px rgba(0,0,0,.4),
    0 0 28px rgba(200,255,0,.08),
    inset 0 1px 0 rgba(255,255,255,.06);
  text-shadow:
    0 0 1px rgba(0,0,0,.9),
    0 1px 2px rgba(0,0,0,.85),
    0 0 18px rgba(200,255,0,.22);
}
/* 라벨 하단 얇은 라임 언더라인 */
.pc-sec-label::after{
  content:"";
  position:absolute;
  left:18%;
  right:18%;
  bottom:5px;
  height:1.5px;
  border-radius:1px;
  background:linear-gradient(90deg,
    transparent 0%,
    rgba(200,255,0,.15) 15%,
    rgba(200,255,0,.95) 50%,
    rgba(200,255,0,.15) 85%,
    transparent 100%);
  box-shadow:0 0 8px rgba(200,255,0,.35);
  pointer-events:none;
}
/* 좌·우 라인 + 다이아 (테슬라) */
.pc-sec-orn{
  display:block;
  flex:1 1 0;
  position:relative;
  height:2px;
  min-width:40px;
  max-width:220px;
  align-self:center;
  background:linear-gradient(90deg,
    transparent 0%,
    rgba(200,255,0,.18) 18%,
    rgba(200,255,0,.75) 50%,
    rgba(200,255,0,.18) 82%,
    transparent 100%);
  border-radius:1px;
  box-shadow:0 0 10px rgba(200,255,0,.22);
  opacity:.95;
}
.pc-sec-orn-l{
  background:linear-gradient(90deg,
    transparent 0%,
    rgba(200,255,0,.12) 20%,
    rgba(200,255,0,.7) 100%);
}
.pc-sec-orn-r{
  background:linear-gradient(90deg,
    rgba(200,255,0,.7) 0%,
    rgba(200,255,0,.12) 80%,
    transparent 100%);
}
.pc-sec-orn::before,
.pc-sec-orn::after{
  content:"";
  position:absolute;
  top:50%;
  width:7px;height:7px;
  margin-top:-3.5px;
  border:1.5px solid rgba(200,255,0,.9);
  transform:rotate(45deg);
  background:rgba(7,7,12,.95);
  box-shadow:0 0 10px rgba(200,255,0,.4);
}
.pc-sec-orn-l::before{right:2px; left:auto}
.pc-sec-orn-l::after{display:none}
.pc-sec-orn-r::after{left:2px; right:auto}
.pc-sec-orn-r::before{display:none}
/* 레거시 pill 호환 (혹시 남은 마크업) */
.pc-sec-pill{
  display:flex;
  justify-content:center;
  margin:0 0 20px;
}
.pc-sec-pill span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:180px;
  padding:9px 32px;
  border-radius:999px;
  font-size:15px;
  font-weight:800;
  letter-spacing:.05em;
  color:#fff;
  background:linear-gradient(180deg, rgba(22,26,40,.98), rgba(8,10,16,.99));
  border:1.5px solid rgba(200,255,0,.6);
  box-shadow:0 0 0 1px rgba(0,0,0,.45), 0 0 20px rgba(200,255,0,.14);
}
.pc-hub-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  max-width:960px;
  margin:0 auto;
}
.pc-hub-card{
  position:relative;
  display:block;
  border-radius:14px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  background:#0a0c12;
  box-shadow:0 12px 32px rgba(0,0,0,.4);
  transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;
  aspect-ratio:16/9;
}
.pc-hub-card:hover{
  transform:translateY(-3px);
  border-color:rgba(200,255,0,.45);
  box-shadow:0 16px 40px rgba(0,0,0,.5), 0 0 24px rgba(200,255,0,.1);
}
.pc-hub-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.pc-hub-label{
  position:absolute;
  left:0;right:0;bottom:0;
  padding:16px 12px 14px;
  text-align:center;
  font-size:16px;
  font-weight:900;
  letter-spacing:.08em;
  color:#fff;
  text-shadow:0 2px 8px rgba(0,0,0,.85);
  background:linear-gradient(180deg, transparent, rgba(0,0,0,.85));
}
.pc-list-grid{
  display:grid;
  grid-template-columns:repeat(6, minmax(0, 1fr));
  gap:18px 14px;
}
.pc-list-grid .home-slot-card{margin:0}
.pc-list-more{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:center;
  margin-top:22px;
}

/* ── PC 홈 리스트: 원본 패리티 — 카드 이미지 · 로고 · 하단 타이틀 · 호버 시안네온+게임시작 ── */
#pc-game{display:none !important}
.pc-list-grid{
  gap:22px 14px !important;
}
.pc-list-grid .pc-list-card.home-slot-card,
.pc-list-grid .pc-list-card.home-live-card{
  display:flex !important;
  flex-direction:column;
  align-items:stretch;
  gap:10px;
  overflow:visible !important;
  /* 카드 본체 배경/테두리는 썸네일 박스에만 — 타이틀은 밖 */
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  transition:transform .18s ease;
}
.pc-list-grid .pc-list-card:hover,
.pc-list-grid .pc-list-card:focus-visible{
  transform:translateY(-3px);
  z-index:3;
}
/* 썸네일 박스 = 실제 카드 면 */
.pc-list-grid .pc-list-card .home-slot-thumb{
  position:relative;
  width:100%;
  border-radius:12px;
  overflow:hidden;
  background:#0a0c12;
  border:1.5px solid rgba(120,160,200,.22);
  box-shadow:
    0 12px 32px rgba(0,0,0,.55),
    0 0 0 1px rgba(0,0,0,.35);
  transition:border-color .2s ease, box-shadow .22s ease;
}
/* 카지노(딜러): 세로형 풀블리드 (원본 3:4) */
.pc-list-grid .pc-list-card.home-live-card .home-slot-thumb{
  aspect-ratio:3 / 4 !important;
}
/* 슬롯: 원본처럼 거의 정사각 카드 + 이미지 cover */
.pc-list-grid .pc-list-card:not(.home-live-card) .home-slot-thumb{
  aspect-ratio:1 / 1 !important;
}
/* 호버: 시안 네온 테두리 (원본 Casino/Slot Game List) */
.pc-list-grid .pc-list-card:hover .home-slot-thumb,
.pc-list-grid .pc-list-card:focus-visible .home-slot-thumb{
  border-color:rgba(0, 230, 255, .98);
  box-shadow:
    0 0 0 2px rgba(0, 220, 255, .85),
    0 0 18px 3px rgba(0, 200, 255, .55),
    0 0 42px 8px rgba(0, 160, 255, .28),
    0 16px 40px rgba(0,0,0,.7);
}
/* 단일 이미지 꽉 채움 — 늘리기(stretch) 금지, cover 만 */
.pc-list-grid .pc-list-card .slot-official-thumb{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  min-width:100% !important;
  min-height:100% !important;
  aspect-ratio:auto !important;
  object-fit:cover !important;
  object-position:center center !important;
  transform:none !important;
  padding:0 !important;
  margin:0 !important;
  background:transparent !important;
  display:block;
  z-index:0;
  transition:transform .28s ease, filter .22s ease;
}
/* 카지노 딜러: 상단(얼굴) 쪽 우선 */
.pc-list-grid .pc-list-card.home-live-card .slot-official-thumb{
  object-position:center 18% !important;
}
.pc-list-grid .pc-list-card:hover .slot-official-thumb,
.pc-list-grid .pc-list-card:focus-visible .slot-official-thumb{
  transform:scale(1.04) !important;
  filter:brightness(.72);
}
/* 공급사 로고 — 하단 중앙 (카지노 원본 오버레이, 오버레이 아래) */
.pc-list-grid .pc-thumb-logo{
  position:absolute !important;
  left:50% !important;
  right:auto !important;
  top:auto !important;
  bottom:14% !important;
  transform:translateX(-50%) !important;
  z-index:2;
  width:auto !important;
  max-width:58% !important;
  height:auto !important;
  max-height:22% !important;
  min-height:0 !important;
  object-fit:contain !important;
  object-position:center bottom !important;
  pointer-events:none;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  padding:0 !important;
  margin:0 !important;
  box-shadow:none !important;
  filter:
    drop-shadow(0 1px 2px rgba(0,0,0,.9))
    drop-shadow(0 3px 10px rgba(0,0,0,.55));
  transition:opacity .18s ease;
}
/* 비네팅 + 하단 시안 악센트 라인 (원본 카드 하단 라인) */
.pc-list-grid .pc-list-card .home-slot-thumb::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:4;
  pointer-events:none;
  background:
    linear-gradient(180deg, transparent 52%, rgba(0,0,0,.42) 100%),
    linear-gradient(90deg, transparent 0%, #00d4ff 50%, transparent 100%);
  background-size:100% 100%, 42% 2px;
  background-position:center, center calc(100% - 10%);
  background-repeat:no-repeat;
  transition:background .2s ease, opacity .2s ease;
}
/* 호버 시 어두운 오버레이 (버튼 가독) */
.pc-list-grid .pc-list-card:hover .home-slot-thumb::after,
.pc-list-grid .pc-list-card:focus-visible .home-slot-thumb::after{
  background:rgba(0, 8, 20, .48);
  background-size:auto;
}
/* 「게임시작」 버튼 — 호버 시에만 (원본 노란 pill) */
.pc-list-grid .pc-list-card .home-slot-thumb::before{
  content:"게임시작";
  position:absolute;
  left:50%;
  top:50%;
  z-index:6;
  transform:translate(-50%, -46%) scale(.88);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  padding:11px 26px;
  border-radius:999px;
  font-size:14px;
  font-weight:900;
  letter-spacing:.04em;
  line-height:1.1;
  white-space:nowrap;
  color:#2a1a00;
  background:linear-gradient(180deg, #ffe27a 0%, #ffc94a 38%, #f5a623 100%);
  border:1px solid rgba(255, 220, 120, .85);
  box-shadow:
    0 4px 14px rgba(0,0,0,.45),
    0 0 18px rgba(255, 180, 40, .35),
    inset 0 1px 0 rgba(255,255,255,.55);
  text-shadow:0 1px 0 rgba(255,255,255,.35);
  transition:opacity .18s ease, transform .2s ease, visibility .18s ease;
}
.pc-list-grid .pc-list-card:hover .home-slot-thumb::before,
.pc-list-grid .pc-list-card:focus-visible .home-slot-thumb::before{
  opacity:1;
  visibility:visible;
  transform:translate(-50%, -50%) scale(1);
}
/* 슬롯: 로고 오버레이 없음 (대표 이미지에 로고 포함) */
.pc-list-grid .pc-list-card:not(.home-live-card) .pc-thumb-logo{
  display:none !important;
}
/* 전체 보기 버튼 제거됨 (카지노/슬롯) */
.pc-list-more{display:none !important;}
/* 게임명 — 카드 밖 · 테슬라 라임 통일 · 배경 박스 없음 */
.pc-list-grid .pc-list-card > .slot-name,
.pc-list-grid a.pc-list-card > .slot-name,
.pc-list-grid .home-slot-card.pc-list-card .slot-name,
.pc-list-grid .home-live-card.pc-list-card .slot-name{
  position:static !important;
  display:block !important;
  width:100% !important;
  margin:10px 0 0 !important;
  padding:0 !important;
  text-align:center !important;
  font-family:var(--font-display), var(--font), system-ui, sans-serif !important;
  font-size:14px !important;
  font-weight:800 !important;
  letter-spacing:.03em !important;
  line-height:1.3 !important;
  color:var(--lime, #c8ff00) !important;
  background:none !important;
  background-color:transparent !important;
  background-image:none !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  outline:none !important;
  text-shadow:
    0 1px 2px rgba(0,0,0,.9),
    0 0 8px rgba(0,0,0,.45) !important;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  pointer-events:auto;
  filter:none !important;
}
/* 메타 오버레이(그라데이션 바) 완전 제거 */
.pc-list-grid .pc-list-card .home-slot-meta,
.pc-list-grid .pc-list-card .slot-prov{
  display:none !important;
  background:none !important;
  padding:0 !important;
  margin:0 !important;
  height:0 !important;
  overflow:hidden !important;
}
/* 프라그마틱 스케일/패딩 예외 전부 무력화 */
.pc-list-grid .pc-list-card[title="프라그마틱"] .home-slot-thumb,
.pc-list-grid .pc-list-card[data-play="프라그마틱"] .home-slot-thumb{
  background:#0a0c12 !important;
}
.pc-list-grid .pc-list-card[title="프라그마틱"] .slot-official-thumb,
.pc-list-grid .pc-list-card[data-play="프라그마틱"] .slot-official-thumb{
  transform:none !important;
  object-fit:cover !important;
  object-position:center center !important;
  padding:0 !important;
  margin:0 !important;
  width:100% !important;
  height:100% !important;
  min-width:100% !important;
  min-height:100% !important;
}
@media (min-width:1101px){
  .pc-home-lobby{display:block !important}
  .home-mobile-lobby{display:none !important}
  .home-provider-strip,
  .home-trust-bar{display:none !important}
}
@media (max-width:1200px){
  .pc-list-grid{grid-template-columns:repeat(4, minmax(0, 1fr))}
}
@media (max-width:1100px){
  /* 모바일: PC 로비 숨김 · ACE형 홈(Game / CASINO GAME / SLOT GAME / Casino Game List) */
  .pc-home-lobby,
  .pc-home-lobby.desktop-only{display:none !important}
  .home-mobile-lobby{display:block !important}
}

/* 모바일 홈 — 원본 ACE: 햄버거·로고·가입/로그인 + Game / 허브 / Casino Game List */
.m-home-ace-bar{display:none}
@media (max-width:1100px){
  .page-body.home-mobile-lobby{
    padding:0 0 calc(16px + env(safe-area-inset-bottom, 0px)) !important;
    width:100%;
    max-width:100% !important;
    background:transparent;
  }
  .m-home-ace-bar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    padding:8px 12px;
    padding-top:max(8px, env(safe-area-inset-top));
    min-height:48px;
    background:#07070c;
    position:sticky;
    top:0;
    z-index:70;
    border-bottom:1px solid rgba(255,255,255,.06);
  }
  .m-home-bar-left{
    display:flex;align-items:center;gap:4px;flex:1 1 0;min-width:72px;z-index:2;
  }
  .m-home-burger,
  .m-home-mail{
    flex:0 0 auto;
    width:40px;height:44px;
    margin:0;padding:0;
    border:0;background:transparent;
    color:#fff;font-size:22px;line-height:1;
    cursor:pointer;
    display:inline-flex;align-items:center;justify-content:center;
    text-decoration:none;
  }
  .m-home-ace-bar .m-logo{
    position:absolute;left:50%;transform:translateX(-50%);
    display:flex;justify-content:center;align-items:center;
    z-index:1;max-width:34%;
  }
  .m-home-ace-bar .m-logo img{
    height:32px;width:auto;max-width:100%;object-fit:contain;
  }
  .m-home-auth{
    flex:1 1 0;
    min-width:0;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
    z-index:2;
  }
  .m-home-ace-bar .auth-logout{display:none !important}
  .m-home-auth a:not(.m-home-partner),
  .m-home-auth a.hbtn:not(.m-home-partner){
    background:none !important;
    border:0 !important;
    box-shadow:none !important;
    color:#fff !important;
    padding:6px 2px !important;
    min-height:0 !important;
    min-width:0 !important;
    font-size:13px !important;
    font-weight:700 !important;
    line-height:1.2 !important;
    white-space:nowrap;
  }
  /* 비로그인 display:none 을 !important 로 덮지 않음 — 게스트에 파트너 버튼 금지 */
  .m-home-partner{
    display:none;
    align-items:center;justify-content:center;
    height:26px;min-height:26px;padding:0 10px;
    border-radius:6px;border:0;
    background:#4d8dff;color:#fff;
    font-size:12px;font-weight:700;
    text-decoration:none;line-height:1;white-space:nowrap;
  }
  .m-home-partner.is-on:not([hidden]){
    display:inline-flex !important;
  }
  .m-home-ace-inner{padding:10px 12px 8px}
  .m-home-casinolist-block{display:none !important}
  .m-home-pill{
    display:flex;
    justify-content:center;
    margin:12px 0 14px;
  }
  .m-home-pill span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:148px;
    padding:8px 28px;
    border-radius:999px;
    font-family:var(--font-display), var(--font), sans-serif;
    font-size:15px;
    font-weight:800;
    letter-spacing:.04em;
    color:#fff;
    background:
      linear-gradient(#101018,#101018) padding-box,
      linear-gradient(90deg,#00e5ff,#7a5cff 55%,#c77dff) border-box;
    border:1.5px solid transparent;
  }
  .m-home-hubs{
    display:flex;
    flex-direction:column;
    gap:12px;
    margin:0 0 8px;
  }
  .m-home-hub{
    position:relative;
    display:block;
    border-radius:16px;
    overflow:hidden;
    aspect-ratio:16/9;
    background:#0a0c12;
    border:1px solid rgba(255,255,255,.1);
  }
  .m-home-hub img{
    width:100%;height:100%;object-fit:cover;display:block;
  }
  .m-home-hub-label{
    position:absolute;
    left:0;right:0;
    bottom:16%;
    text-align:center;
    font-family:var(--font-display), var(--font), sans-serif;
    font-size:18px;
    font-weight:900;
    letter-spacing:.14em;
    color:#fff;
    text-shadow:0 2px 10px rgba(0,0,0,.85);
    pointer-events:none;
  }
  .home-mobile-lobby .m-home-casino-grid,
  .home-mobile-lobby .pc-list-grid.m-home-casino-grid{
    display:grid !important;
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    gap:10px !important;
    margin:0 0 8px;
  }
  .home-mobile-lobby .slot-name{
    display:block;
    text-align:center;
    font-size:12px;
    font-weight:700;
    margin-top:2px;
  }
}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
img{max-width:100%;display:block}
.container{max-width:var(--max);margin:0 auto;padding:0 16px}

/* ===== TOP HEADER ===== */
.top_header{
  background:var(--panel);
  border-bottom:1px solid var(--line);
}
.top_header .inner{
  max-width:var(--max-chrome, 1424px);margin:0 auto;padding:10px 28px;
  display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
}
/* 헤더 칩 공통 높이 (머니/포인트/쪽지 정렬) */
.user-area{
  --header-chip-h: 40px;
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.user-area .user-mypage{position:relative;z-index:200;display:inline-flex;align-items:center;height:var(--header-chip-h)}
/* 쪽지함 아이콘 — 머니 칩과 동일 높이 + 아이콘 정중앙 */
.header-icon-btn{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  align-self:center;
  width:var(--header-chip-h);
  height:var(--header-chip-h);
  min-width:var(--header-chip-h);
  min-height:var(--header-chip-h);
  margin:0;
  padding:0;
  border-radius:10px;
  border:1px solid var(--line);
  background:var(--panel2);
  color:#e8eef8;
  text-decoration:none;
  flex:0 0 auto;
  line-height:0;
  box-sizing:border-box;
  overflow:visible;
  transition:background .15s, border-color .15s, color .15s;
}
.header-icon-btn:hover{
  background:rgba(200,255,0,.1);
  border-color:rgba(200,255,0,.35);
  color:var(--lime);
}
/* 아이콘 정중앙 (이모지 베이스라인 무시) */
.header-icon-btn .hi-mail{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%, -50%);
  display:block;
  font-size:19px;
  line-height:1;
  width:1.1em;
  height:1.1em;
  margin:0;
  padding:0;
  text-align:center;
  pointer-events:none;
}
.header-icon-btn .hi-badge,
.header-icon-btn [data-note-badge]{
  position:absolute;top:-4px;right:-5px;
  min-width:16px;height:16px;padding:0 4px;
  border-radius:999px;
  background:#ef4444;color:#fff;
  font-size:10px;font-weight:800;
  display:inline-flex;align-items:center;justify-content:center;
  line-height:1;
  box-shadow:0 0 0 2px var(--bg, #07070c);
  z-index:2;
}
.header-icon-btn [data-note-badge][hidden]{display:none !important}

/* ═══════ 쪽지함 모달 (원본 형식) ═══════ */
.nm-root{
  position:fixed;inset:0;z-index:12000;
  display:none;align-items:center;justify-content:center;
  padding:var(--md-modal-pad,16px);
  box-sizing:border-box;
}
.nm-root.is-open{display:flex}
.nm-backdrop{
  position:absolute;inset:0;
  background:rgba(0,0,0,.72);
  backdrop-filter:blur(2px);
}
.nm-dialog{
  position:relative;z-index:1;
  width:var(--md-modal-w-lg);
  max-width:var(--md-modal-w-lg);
  max-height:var(--md-modal-h);
  display:flex;flex-direction:column;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.1);
  background:linear-gradient(180deg,#121a28 0%,#0b111c 100%);
  box-shadow:0 24px 64px rgba(0,0,0,.55);
  overflow:hidden;
  color:#dce4ee;
}
.nm-head{
  display:flex;align-items:center;justify-content:center;
  position:relative;
  min-height:48px;
  padding:12px 48px;
  border-bottom:1px solid rgba(255,255,255,.08);
  background:rgba(0,0,0,.22);
}
.nm-title{
  margin:0;font-size:16px;font-weight:900;color:#fff;letter-spacing:.02em;
}
.nm-close{
  position:absolute;right:10px;top:50%;transform:translateY(-50%);
  width:34px;height:34px;border:0;border-radius:8px;
  background:transparent;color:#9aa8b8;cursor:pointer;
  font-size:20px;line-height:1;font-weight:400;
}
.nm-close:hover{color:#fff;background:rgba(255,255,255,.06)}
.nm-tabs{
  display:flex;align-items:stretch;
  border-bottom:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.02);
}
.nm-tab{
  flex:1;border:0;background:transparent;color:#8a96a8;
  font-size:13px;font-weight:800;padding:12px 10px;cursor:pointer;
  position:relative;
}
.nm-tab:hover{color:#d5dee8}
.nm-tab.active{color:#f5d76e}
.nm-tab.active::after{
  content:"";position:absolute;left:12%;right:12%;bottom:0;height:2px;
  background:#e8c56a;border-radius:2px 2px 0 0;
}
.nm-must-banner{
  padding:12px 16px 6px;
  text-align:center;
  color:#ff4d4d;
  font-size:13px;font-weight:800;line-height:1.55;
}
.nm-must-alert{
  position:absolute;inset:0;z-index:5;
  display:flex;align-items:center;justify-content:center;
  background:rgba(0,0,0,.25);
}
.nm-must-alert[hidden]{display:none !important}
.nm-must-alert-card{
  width:min(420px,92%);
  background:#fff;color:#222;
  border-radius:6px;
  padding:28px 24px 22px;
  text-align:center;
  box-shadow:0 16px 40px rgba(0,0,0,.35);
}
.nm-must-alert-card p{margin:0 0 18px;font-size:15px;font-weight:600}
.nm-must-alert-card button{
  min-width:88px;min-height:36px;border:0;border-radius:6px;cursor:pointer;
  background:#7c6cff;color:#fff;font-weight:800;font-size:14px;
}
.nm-toolbar{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:10px 14px 8px;
  font-size:12px;color:#9aa8b8;font-weight:700;
}
.nm-del-sel{
  flex:0 0 auto;
  height:28px;padding:0 10px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:4px;
  background:transparent;color:#dce4ee;
  font-size:12px;font-weight:800;cursor:pointer;
}
.nm-del-sel:hover{border-color:#e8c56a;color:#fff}
.nm-del-sel[hidden]{display:none !important}
.nm-toolbar label{
  display:inline-flex;align-items:center;gap:8px;cursor:pointer;user-select:none;
}
.nm-toolbar input[type=checkbox]{
  width:15px;height:15px;accent-color:#e8c56a;cursor:pointer;
}
.nm-table-wrap{flex:1;overflow:auto;min-height:180px}
.nm-table{width:100%;border-collapse:collapse;font-size:13px}
.nm-table thead th{
  position:sticky;top:0;z-index:1;
  background:#0e1622;
  color:#8a96a8;font-weight:800;font-size:12px;
  padding:10px 12px;text-align:left;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.nm-table thead th.nm-col-check,
.nm-table td.nm-col-check{width:42px;text-align:center}
.nm-table thead th.nm-col-date,
.nm-table td.nm-col-date{width:140px;text-align:right;white-space:nowrap;color:#8a96a8;font-size:12px}
.nm-row{cursor:pointer}
.nm-row:hover td{background:rgba(255,255,255,.03)}
.nm-row.is-open td{background:rgba(232,197,106,.06)}
.nm-row td{
  padding:11px 12px;
  border-bottom:1px solid rgba(255,255,255,.05);
  vertical-align:middle;
}
.nm-row.unread .nm-subject{color:#fff;font-weight:800}
.nm-row.read .nm-subject{color:#b8c2d0;font-weight:600}
.nm-subject-cell{
  display:flex;align-items:center;gap:10px;min-width:0;
}
.nm-badge{
  flex:0 0 auto;
  display:inline-flex;align-items:center;justify-content:center;
  min-width:40px;height:22px;padding:0 8px;
  border-radius:999px;font-size:11px;font-weight:800;
  line-height:1;
}
.nm-badge.unread{
  background:#ef4444;color:#fff;
}
.nm-badge.read{
  background:#ff4d7a;color:#fff;
}
.nm-subject{
  min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.nm-detail-tr td{
  padding:0 !important;
  border-bottom:1px solid rgba(255,255,255,.08);
  background:rgba(0,0,0,.28);
}
.nm-detail-box{
  padding:18px 20px 22px 64px;
  white-space:normal;
  line-height:1.75;
  font-size:13px;
  color:#c9d4e2;
  min-height:80px;
  word-break:keep-all;
}
.nm-detail-box p{margin:0 0 .55em}
.nm-detail-box p:empty{display:none}
.nm-detail-box p:last-child{margin-bottom:0}
.nm-detail-box br{display:block;content:''}
.nm-empty-body{color:#7b8796}
.nm-empty{
  padding:48px 16px;text-align:center;color:#7b8796;font-size:13px;
}
.nm-foot{
  display:flex;align-items:center;justify-content:center;gap:6px;
  padding:12px 14px 14px;
  border-top:1px solid rgba(255,255,255,.06);
}
.nm-page-btn{
  min-width:28px;height:28px;padding:0 8px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:4px;
  background:#141c28;color:#c5d0dc;
  font-size:12px;font-weight:800;cursor:pointer;
}
.nm-page-btn:hover{border-color:rgba(232,197,106,.4);color:#fff}
.nm-page-btn.active{
  background:#e8c56a;color:#0a0a0a;border-color:transparent;
}
.nm-page-btn:disabled{opacity:.35;cursor:default}
@media (max-width:1100px){
  .nm-root{padding:0;align-items:stretch;justify-content:stretch}
  .nm-backdrop{background:#0b1220}
  .nm-dialog{
    width:100%;max-width:none;max-height:none;height:100%;
    border-radius:0;border:0;box-shadow:none;
    background:#0b1220;
  }
  .nm-head{background:transparent;border-bottom:0;min-height:52px}
  .nm-title{font-size:17px;font-weight:800}
  .nm-close{font-size:22px;color:#c5cddd;background:transparent}
  .nm-tabs{background:#151c2a;border-bottom:0}
  .nm-tab{color:#8a96a8;padding:14px 10px}
  .nm-tab.active{color:#e8c56a}
  .nm-tab.active::after{left:0;right:0;height:3px;background:#e8c56a;border-radius:0}
  .nm-toolbar{padding:12px 16px;color:#dce4ee;font-size:14px}
  .nm-del-sel{
    height:30px;padding:0 12px;font-size:13px;
    border-color:rgba(220,228,238,.35);color:#e8eef6;
  }
  .nm-table thead{display:none}
  .nm-table-wrap{min-height:0}
  .nm-foot{border-top:0;padding:18px 14px;gap:8px}
  .nm-page-btn{
    min-width:36px;height:30px;background:#1a2233;border:0;color:#c5cddd;
  }
  .nm-page-num{display:none}
  .nm-detail-box{padding:14px 14px 16px 14px}
  .nm-badge{min-width:36px;font-size:10px}
}

.user-btn{
  display:inline-flex;align-items:center;gap:8px;
  background:transparent;border:0;color:var(--text);cursor:pointer;padding:4px 8px;
  border-radius:8px;
}
.user-btn:hover,.user-btn.is-open{background:rgba(255,255,255,.06)}
.user-btn img{width:32px;height:32px;border-radius:50%}
.user-btn .nick{font-weight:700;font-size:14px;color:#fff}
/* 헤더 닉네임 = 마이페이지 드롭다운 */
.mypage-menu{
  display:none;position:absolute;top:calc(100% + 6px);left:0;min-width:180px;
  background:#141820;border:1px solid rgba(255,255,255,.12);border-radius:10px;
  box-shadow:0 12px 32px rgba(0,0,0,.45);padding:6px;z-index:300;
  pointer-events:auto;
}
.user-mypage.is-open .mypage-menu{display:block}
.mypage-menu a{
  display:flex;align-items:center;gap:8px;
  padding:10px 12px;border-radius:8px;font-size:13px;font-weight:700;
  color:#e8eef6;text-decoration:none;white-space:nowrap;
  cursor:pointer;pointer-events:auto;
}
.mypage-menu a:hover{background:rgba(255,255,255,.07);color:#fff}
.mypage-menu .mp-title{
  padding:6px 12px 4px;font-size:11px;font-weight:700;color:#8a96a8;letter-spacing:.02em;
}
.mypage-menu .mp-sep{height:1px;background:rgba(255,255,255,.08);margin:4px 6px}
.money-box{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  background:var(--panel2);border:1px solid var(--line);
  border-radius:999px;
  height:var(--header-chip-h, 40px);
  min-height:var(--header-chip-h, 40px);
  padding:0 14px;
  font-size:13px;
  line-height:1;
  color:var(--muted);
  box-sizing:border-box;
  align-self:center;
}
.money-box b{color:var(--gold);font-weight:800;line-height:1;font-size:13px}
.money-box.is-point{padding-right:8px;gap:8px}
.hdr-pt-convert{
  display:inline-flex;align-items:center;justify-content:center;
  height:22px;padding:0 10px;border:0;border-radius:999px;
  background:var(--lime,#c8ff00);color:#111;
  font-size:11px;font-weight:800;letter-spacing:.02em;line-height:1;
  cursor:pointer;font-family:inherit;flex-shrink:0;
}
.hdr-pt-convert:hover{filter:brightness(1.08)}
.hdr-pt-convert:active{transform:translateY(1px)}

/* 포인트 전환 — 원본 ACE */
.pt-ace{max-width:720px;margin:0 auto;padding:8px 4px 24px}
.pt-ace-cols{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px}
.pt-ace-col h2{margin:0 0 10px;text-align:center;font-size:18px;font-weight:800;color:#fff}
.pt-ace-card{
  background:#1a2233;border:1px solid rgba(255,255,255,.08);border-radius:10px;
  padding:12px 12px 8px;
}
.pt-ace-card label{display:block;font-size:13px;color:#c5cddd;margin:4px 0 6px}
.pt-ace-box{
  background:#0c111c;border-radius:6px;padding:12px 14px;margin-bottom:10px;
  text-align:right;font-size:16px;font-weight:800;color:#fff;
}
.pt-ace-lab{font-size:13px;color:#8b93a7;margin:4px 2px 8px}
.pt-ace-input-row{display:flex;gap:8px;align-items:stretch;margin-bottom:10px}
.pt-ace-input-row input{
  flex:1;min-width:0;height:46px;border:0;border-radius:8px;
  background:#2a3348;color:#fff;padding:0 14px;font-size:14px;
}
.pt-ace-input-row input::placeholder{color:#8b93a7}
.pt-ace-max{
  flex:0 0 88px;height:46px;border:1px solid rgba(255,255,255,.28);border-radius:8px;
  background:transparent;color:#fff;font-size:15px;font-weight:700;cursor:pointer;
}
.pt-ace-hint{margin:8px 0 16px;text-align:center;color:#ff3b3b;font-size:12px;font-weight:700}
.pt-ace-submit{
  display:block;width:100%;max-width:420px;margin:0 auto;
  height:48px;border:0;border-radius:8px;cursor:pointer;
  background:#3db8c5;color:#fff;font-size:16px;font-weight:800;
}
.pt-ace-total{margin:18px 4px 8px;text-align:right;font-size:13px;color:#d0d6e4}
.pt-ace-total b{font-weight:800;color:#fff}
.pt-ace-hist-title{margin:18px 0 28px;font-size:16px;font-weight:800;color:#fff}
.pt-ace-empty{text-align:center;color:#c5cddd;font-size:14px;padding:8px 8px 28px}
.pt-ace-pager{
  display:flex;justify-content:center;gap:16px;margin:8px 0 20px;color:#8b93a7;font-size:22px;
}
.pt-ace-pager span{
  width:36px;height:28px;display:inline-flex;align-items:center;justify-content:center;
  background:#1a2233;border-radius:4px;
}
.pt-ace-bar{display:none}
@media (max-width:1100px){
  .page-point .pt-pc-only,
  .page-point .pt-coupon-block{display:none !important}
  .page-point .page-body{padding:8px 12px 24px !important}
  .pt-ace{padding:4px 0 16px}
  body.page-point .m-orig-chrome,
  body:not(.page-home) .m-orig-chrome{display:none !important}
  .pt-ace-bar{
    display:flex;align-items:center;justify-content:space-between;
    position:sticky;top:0;z-index:70;
    min-height:48px;padding:6px 12px;
    padding-top:max(6px, env(safe-area-inset-top));
    background:#07070c;border-bottom:1px solid rgba(255,255,255,.06);
  }
  .pt-ace-bar-left{display:flex;align-items:center;gap:10px;z-index:1}
  .pt-ace-burger,.pt-ace-mail{
    width:40px;height:40px;margin:0;padding:0;border:0;background:transparent;
    color:#fff;display:inline-flex;align-items:center;justify-content:center;
    font-size:22px;line-height:1;cursor:pointer;text-decoration:none;
  }
  .pt-ace-bar-logo{
    position:absolute;left:50%;transform:translateX(-50%);
    display:flex;align-items:center;justify-content:center;
  }
  .pt-ace-bar-logo img{height:28px;width:auto;max-width:120px;object-fit:contain}
  .pt-ace-partner{
    z-index:1;display:none;align-items:center;justify-content:center;
    height:26px;padding:0 10px;border-radius:6px;
    background:#4d8dff;color:#fff;font-size:12px;font-weight:700;
    text-decoration:none;line-height:1;white-space:nowrap;
  }
  .pt-ace-partner.is-on:not([hidden]){
    display:inline-flex !important;
  }
}
.m-money-item.is-point,.drawer-user .row.is-point{
  display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;
}
.pt-conv-mask{
  position:fixed;inset:0;z-index:2147483000;background:rgba(0,0,0,.62);
  display:flex;align-items:center;justify-content:center;padding:16px;
}
.pt-conv-card{
  width:min(400px,94vw);background:#12141a;border:1px solid rgba(200,255,0,.28);
  border-radius:14px;padding:18px 18px 16px;color:#f2f4f8;
  box-shadow:0 18px 50px rgba(0,0,0,.45);
}
.pt-conv-card h3{margin:0 0 6px;font-size:16px;font-weight:800;color:#c8ff00}
.pt-conv-card p{margin:0 0 12px;font-size:12px;color:#9aa3b2}
.pt-conv-hold{display:flex;justify-content:space-between;gap:8px;margin-bottom:10px;font-size:13px}
.pt-conv-hold b{color:#e8c46a}
.pt-conv-card input[type="text"]{
  width:100%;box-sizing:border-box;height:42px;border-radius:10px;
  border:1px solid #333;background:#0b0c10;color:#fff;padding:0 12px;font-size:15px;font-weight:700;
}
.pt-conv-actions{display:flex;gap:8px;margin-top:12px}
.pt-conv-actions button{
  flex:1;height:40px;border-radius:10px;border:0;font-weight:800;cursor:pointer;font-family:inherit;
}
.pt-conv-cancel{background:#2a2d36;color:#ddd}
.pt-conv-ok{background:#c8ff00;color:#111}
/* 유저: 게임중머니 칸 숨김 — 총액은 머니 한 칸에만 */
.money-box.is-hidden-game-money,
.m-money-item.is-hidden-game-money,
.money-box[aria-hidden="true"].is-hidden-game-money{
  display:none !important;
}
.header-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.hbtn{
  border:1px solid var(--line2);background:var(--panel2);
  color:#fff;padding:9px 16px;border-radius:var(--radius);font-size:13px;
  font-weight:800;cursor:pointer;transition:.15s ease;min-height:40px;
  display:inline-flex;align-items:center;justify-content:center;
}
/* 헤더 CTA는 본문 버튼보다 살짝 크게 */
.header-actions .hbtn{
  min-height:40px;
  padding:9px 18px;
  font-size:13px;
  border-radius:11px;
}
.hbtn:hover{border-color:rgba(255,255,255,.28);color:#fff;box-shadow:none}
/* 메인 컬러: 충전 CTA 만 */
.hbtn.charge{
  background:var(--lime);
  border-color:transparent;color:var(--ink);
  box-shadow:none;
  transition:background .12s ease,color .12s ease,border-color .12s ease,filter .12s ease,transform .1s ease;
}
.hbtn.charge:hover{filter:brightness(1.06);color:var(--ink);box-shadow:none}
/* 2차: 환전만 핑크 */
.hbtn.orange{
  background:var(--pink);
  border-color:transparent;color:#fff;
  box-shadow:none;
  transition:background .12s ease,color .12s ease,border-color .12s ease,filter .12s ease,transform .1s ease;
}
.hbtn.orange:hover{filter:brightness(1.06);color:#fff;box-shadow:none}
/* 헤더 충전/환전: 기본 톤다운 → 현재 페이지·누르면 즉시 솔리드 */
.header-actions .hbtn.charge:not(.is-on):not(.is-press),
.m-orig-chrome .hbtn.charge:not(.is-on):not(.is-press),
.m-act.charge:not(.is-on):not(.is-press){
  background:rgba(200,255,0,.12);
  border-color:rgba(200,255,0,.38);
  color:var(--lime);
}
.header-actions .hbtn.orange:not(.is-on):not(.is-press),
.m-orig-chrome .hbtn.orange:not(.is-on):not(.is-press),
.m-act.orange:not(.is-on):not(.is-press){
  background:rgba(255,43,214,.12);
  border-color:rgba(255,43,214,.38);
  color:#ff7ae8;
}
.header-actions .hbtn.charge.is-on,
.header-actions .hbtn.charge.is-press,
.header-actions .hbtn.charge:active,
.m-orig-chrome .hbtn.charge.is-on,
.m-orig-chrome .hbtn.charge.is-press,
.m-act.charge.is-on,
.m-act.charge.is-press{
  background:var(--lime);
  border-color:transparent;
  color:var(--ink);
  filter:none;
}
.header-actions .hbtn.orange.is-on,
.header-actions .hbtn.orange.is-press,
.header-actions .hbtn.orange:active,
.m-orig-chrome .hbtn.orange.is-on,
.m-orig-chrome .hbtn.orange.is-press,
.m-act.orange.is-on,
.m-act.orange.is-press{
  background:var(--pink);
  border-color:transparent;
  color:#fff;
  filter:none;
}
/* 충환전내역(초록 계열 링크)도 현재 페이지면 솔리드 */
.header-actions a.hbtn.charge[href*="history"].is-on,
.header-actions a.hbtn.charge[href*="history"].is-press{
  background:var(--lime);
  border-color:transparent;
  color:var(--ink);
}
.hbtn.danger{border-color:rgba(255,92,108,.45);color:var(--red);background:transparent}
/* 비로그인 기본: 로그인·회원가입 강조 */
.hbtn.auth-login{
  border-color:rgba(56,189,248,.55);
  color:#e0f2fe;
  background:linear-gradient(180deg,rgba(14,165,233,.35),rgba(2,132,199,.2));
  font-weight:800;
}
.hbtn.auth-register{
  border-color:rgba(74,222,128,.5);
  color:#dcfce7;
  background:linear-gradient(180deg,rgba(34,197,94,.3),rgba(22,163,74,.18));
  font-weight:800;
}

/* ===== MAIN MENU ===== */
.main_menu_wrap{
  background:var(--panel);
  border-bottom:1px solid var(--line);
  position:sticky;top:0;z-index:40;
}
.main_menu_wrap .inner{
  max-width:var(--max-chrome, 1424px);margin:0 auto;padding:0 28px;
  display:flex;align-items:center;gap:14px;min-height:var(--menu-h, 58px);
}
.brand{display:flex;align-items:center;margin-right:16px;flex:0 0 auto;text-decoration:none;cursor:pointer}
.brand img{height:42px;width:auto;display:block;max-width:220px;object-fit:contain}
.brand img[src*="tesla-logo"]{height:44px;max-width:240px}
a.m-logo img{height:34px;width:auto;max-width:180px;object-fit:contain}
.brand:hover{opacity:.92}
/* 게임 플레이 등 메뉴 없는 페이지용 로고 바 */
.main_menu_wrap.game-play-bar .inner{min-height:48px;gap:12px}
.main_menu_wrap.game-play-bar .game-play-bar-title{
  flex:1;font-size:14px;font-weight:700;color:var(--muted);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.main_menu_wrap.game-play-bar .game-play-bar-actions{display:flex;gap:6px;flex-wrap:wrap}
.auth-card .logo a{display:inline-flex;line-height:0}
.auth-card .logo img{cursor:pointer}
/* top_header 안 미니 로고 (폴백) */
.top_header .brand-inline{
  display:inline-flex;align-items:center;margin-right:10px;flex:0 0 auto;
}
.top_header .brand-inline img{height:28px;width:auto;display:block;max-width:120px;object-fit:contain}
.main_menu{
  list-style:none;margin:0;padding:0;
  display:flex;align-items:center;gap:2px;flex:1;overflow-x:auto;
  scrollbar-width:none;
}
.main_menu::-webkit-scrollbar{display:none}
.main_menu > li{
  position:relative;
  flex:0 0 auto;
  list-style:none;
}
.main_menu a{
  display:block;padding:16px 16px;color:var(--muted);
  font-size:15px;font-weight:700;white-space:nowrap;
  border-bottom:2px solid transparent;
  transition:color .15s, border-color .15s;
}
.main_menu a:hover{
  color:var(--lime);
  border-bottom-color:rgba(200,255,0,.45);
  text-shadow:none;
}
/* 상단 메뉴 활성: 메인 형광 라임 (글로우/네온 블러 없음) */
.main_menu a.active{
  color:var(--lime);
  border-bottom-color:var(--lime);
  text-shadow:none;
  background:transparent;
  box-shadow:none;
  filter:none;
}
/* 데스크톱: 호버 시 아래로 서브메뉴 */
.main_menu .has-sub > a.menu-parent{
  padding-right:18px;
}
.main_menu .has-sub > a.menu-parent::after{
  content:'▾';
  display:inline-block;
  margin-left:4px;
  font-size:10px;
  opacity:.75;
  vertical-align:1px;
}
.main_menu .menu-sub{
  display:none;
  position:absolute;
  left:0;top:100%;
  min-width:168px;
  margin:0;padding:8px 0;
  list-style:none;
  background:linear-gradient(180deg,#141820 0%,#0c1016 100%);
  border:1px solid rgba(255,255,255,.1);
  border-radius:0 0 10px 10px;
  box-shadow:0 14px 32px rgba(0,0,0,.45);
  z-index:80;
}
/* 호버 끊김 방지 */
.main_menu .menu-sub::before{
  content:'';
  position:absolute;left:0;right:0;top:-10px;height:10px;
}
.main_menu .has-sub:hover > .menu-sub,
.main_menu .has-sub:focus-within > .menu-sub,
.main_menu .has-sub.is-open > .menu-sub{
  display:block;
}
.main_menu .menu-sub a{
  display:block;
  padding:10px 16px;
  font-size:13px;
  font-weight:600;
  color:#c5d0dc;
  border-bottom:0;
  white-space:nowrap;
}
.main_menu .menu-sub a:hover,
.main_menu .menu-sub a.active{
  color:var(--lime);
  background:rgba(200,255,0,.06);
  border-bottom-color:transparent;
}
@media (max-width:1100px){
  /* 모바일: 서브메뉴는 드로어에서 처리 — 상단 가로 메뉴 서브는 탭 토글 */
  .main_menu .has-sub.is-open > .menu-sub{
    display:block;
    position:static;
    box-shadow:none;
    border:0;
    border-radius:0;
    background:rgba(0,0,0,.25);
    min-width:0;
    padding:0 0 6px;
  }
  .main_menu .menu-sub a{padding:10px 18px 10px 22px;font-size:13px}
}
.menu-toggle{
  display:none;margin-left:auto;
  background:transparent;border:1px solid var(--line);color:var(--text);
  padding:8px 10px;border-radius:4px;cursor:pointer;
}

/* ===== DESKTOP 전용 보강 (1101px+) ===== */
@media (min-width:1101px){
  .menu-toggle{display:none !important}
  .drawer{display:none !important} /* 데스크톱은 가로 메뉴만 */
  /*
   * PC: 상단 머니바 + 카테고리 메뉴 고정 (메인 포함 전 페이지)
   * sticky 조상 overflow 이슈 회피 → fixed + body 패딩
   */
  .top_header{
    position:fixed !important;
    top:0;
    left:0;
    right:0;
    z-index:500 !important;
    background:var(--panel);
    border-bottom:1px solid var(--line);
    box-shadow:none;
  }
  .main_menu_wrap{
    position:fixed !important;
    top:var(--header-h, 52px);
    left:0;
    right:0;
    z-index:499 !important;
    background:var(--panel);
    border-bottom:1px solid var(--line);
  }
  body.layout-desktop,
  html.pre-desktop body{
    padding-top:calc(var(--header-h, 54px) + var(--menu-h, 58px)) !important;
  }
  /* 로그인/가입: 헤더·메뉴 없음 — 예약 패딩 제거, 카드 정중앙 */
  body.page-auth.layout-desktop,
  html.pre-desktop body.page-auth,
  body.page-auth{
    padding-top:0 !important;
    padding-bottom:0 !important;
  }
  /* fixed 헤더 아래 드롭다운·마이페이지 메뉴 가시성 */
  .top_header .mypage-menu{z-index:110;}
  .main_menu .menu-sub{z-index:105;}
  .main_menu{
    flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;
    gap:4px;
  }
  .main_menu a{
    padding:18px 17px;font-size:15px;font-weight:800;
  }
  .brand img{height:44px;max-width:230px}
  .brand img[src*="tesla-logo"]{height:46px;max-width:250px}
  .top_header .inner,
  .main_menu_wrap .inner{
    max-width:var(--max-chrome, 1424px);
    padding-left:32px;
    padding-right:32px;
  }
  .hero-banner img{
    max-height:none;height:auto;
    aspect-ratio:1920/460;object-fit:cover;
  }
  .page-body{padding:24px 20px 56px}
  .live-casino-list,
  .game-lobby-list{grid-template-columns:repeat(4, 1fr); gap:14px}
  .game-item .item_title,
  .live-item .item_title{font-size:1.05rem}
  /* 라이브: 1차 디자인 카드 조금 크게 */
  .page-body.live-lobby-page .live-casino-list,
  .game-lobby-page.live-page .live-casino-list{
    grid-template-columns:repeat(5, minmax(160px, 1fr));
    gap:16px;
  }
  .game-picker-panel,
  .game-picker-panel.game-picker-gallery{
    width:min(1200px, 96vw);
    max-height:none;
    height:auto;
  }
  /* 데스크톱: 호버 피드백 유지 */
  .game-item:hover .img_wrap,
  .live-item:hover .img_wrap{box-shadow:0 0 0 1px rgba(255,255,255,.18)}
}

/* ===== HERO BANNER — 화면 가로 풀폭 ===== */
.hero-banner{
  width:100%;
  max-width:none;
  background:var(--bg);
  border-bottom:0;
}
.hero-banner .inner{
  max-width:none;
  width:100%;
  margin:0;
}
.hero-banner img{width:100%;height:auto;max-height:none;object-fit:cover;display:block}
.hero-banner picture,
.hero-banner source{display:contents}

/* 슬롯 메인 히어로 — 풀블리드 + 업스케일 이미지 */
/* API로 공개 확정 전 · 공개 0개 — 폴백 그림/자리 금지 */
.hero-banner:not(.is-banner-ready),
.m-banner[data-m-home-banner]:not(.is-banner-ready),
.hero-banner.is-banner-empty,
.hero-banner[hidden],
section.hero-banner[hidden],
.m-banner.is-banner-empty,
.m-banner[hidden],
.m-banner-stage.is-banner-empty,
.m-banner-stage[hidden]{
  display:none !important;
  height:0 !important;
  min-height:0 !important;
  max-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  overflow:hidden !important;
}
.hero-slot-focus{background:var(--bg)}
.hero-slot-stage{
  position:relative;
  width:100%;
  max-width:none;
  margin:0;
  aspect-ratio:3/1;
  min-height:260px;
  max-height:min(36vw, 420px);
  overflow:hidden;
  border-bottom:1px solid rgba(140,180,255,.08);
}
.hero-slot-slide{
  position:absolute;inset:0;
  display:block;opacity:0;visibility:hidden;
  /* 1초 교체 — 페이드는 짧게 */
  transition:opacity .28s ease, visibility .28s ease;
  z-index:1;pointer-events:none;
}
.hero-slot-slide.is-active{opacity:1;visibility:visible;z-index:2;pointer-events:auto}
.hero-slot-slide img{
  width:100%;height:100%;object-fit:cover;object-position:center;
  max-height:none;
  image-rendering:auto;
  -webkit-backface-visibility:hidden;
  transform:translateZ(0);
}
.hero-slot-slide::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(7,7,12,.88) 0%,rgba(7,7,12,.18) 48%,rgba(7,7,12,.65) 100%),
    linear-gradient(0deg,rgba(7,7,12,.82),transparent 48%);
  pointer-events:none;
}
.hero-slot-caption,
.m-banner-caption.bn-ov{
  position:absolute;z-index:3;
  max-width:min(90%, 720px);
  line-height:1.1;
  font-style:normal;
  font-weight:900;
  letter-spacing:.01em;
  color:#fff;
  pointer-events:none;
  text-shadow:0 2px 16px rgba(0,0,0,.55);
}
/* 기본(레거시) 위치 */
.hero-slot-caption:not(.bn-ov){
  left:clamp(16px,4vw,48px);bottom:clamp(16px,3vw,36px);
  font-size:clamp(22px,2.8vw,40px);
  text-transform:uppercase;
}
.hero-slot-caption b,
.bn-ov .bn-ov-badge{
  display:inline-block;margin-right:10px;font-size:11px;letter-spacing:.12em;
  font-family:var(--font);font-weight:800;font-style:normal;
  padding:0;border-radius:0;vertical-align:baseline;
  background:transparent;
  color:inherit;opacity:.78;
  text-transform:uppercase;
  box-shadow:none;
}
.bn-ov .bn-ov-cap{display:inline}
.bn-ov .bn-ov-sub{display:block;margin-top:6px;font-weight:600;font-size:.42em;opacity:.9;text-transform:none}
/* 위치 */
.bn-ov-pos-bl{left:clamp(16px,4vw,48px);bottom:clamp(16px,3vw,36px);right:auto;top:auto;text-align:left}
.bn-ov-pos-bc{left:50%;bottom:clamp(16px,3vw,36px);right:auto;top:auto;transform:translateX(-50%);text-align:center}
.bn-ov-pos-br{right:clamp(16px,4vw,48px);bottom:clamp(16px,3vw,36px);left:auto;top:auto;text-align:right}
.bn-ov-pos-tl{left:clamp(16px,4vw,48px);top:clamp(16px,3vw,36px);right:auto;bottom:auto;text-align:left}
.bn-ov-pos-tc{left:50%;top:clamp(16px,3vw,36px);right:auto;bottom:auto;transform:translateX(-50%);text-align:center}
.bn-ov-pos-tr{right:clamp(16px,4vw,48px);top:clamp(16px,3vw,36px);left:auto;bottom:auto;text-align:right}
.bn-ov-pos-center{left:50%;top:50%;right:auto;bottom:auto;transform:translate(-50%,-50%);text-align:center}
/* 크기 */
.bn-ov-size-sm{font-size:clamp(16px,1.8vw,24px)}
.bn-ov-size-md{font-size:clamp(20px,2.4vw,34px)}
.bn-ov-size-lg{font-size:clamp(26px,3vw,44px)}
.bn-ov-size-xl{font-size:clamp(32px,3.6vw,56px)}
/* 배경 톤 */
.bn-ov-bg-dark{padding:10px 14px;border-radius:8px;background:rgba(0,0,0,.48)}
.bn-ov-bg-gradient{padding:4px 0}
.bn-ov-bg-none{text-shadow:0 2px 18px rgba(0,0,0,.7)}
/* 슬라이드 그라데이션 오버레이 — 문구 가독 */
.hero-slot-slide.bn-cap-bg-none::after{opacity:.35}
.hero-slot-slide:nth-child(even) .hero-slot-caption b{
  background:transparent;
  color:inherit;
  opacity:.78;
  box-shadow:none;
}
.hero-slot-dots{
  position:absolute;right:clamp(12px,3vw,28px);bottom:clamp(12px,2.5vw,24px);z-index:4;
  display:flex;gap:8px;
}
.hero-slot-dots button{
  width:8px;height:8px;border:0;border-radius:50%;padding:0;
  background:rgba(255,255,255,.3);cursor:pointer;
}
.hero-slot-dots button.is-active{background:#fff;transform:scale(1.15)}
@media (max-width:1100px){
  /* 모바일 홈: 2열 큰 썸네일 (터치·가독 우선, 90% 모바일) */
  .home-slot-grid:not(.home-slot-grid-dense){grid-template-columns:repeat(2,1fr)!important;gap:10px}
  .home-slot-grid-dense,
  .home-crypto-lobby .home-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px}
  .hero-slot-stage{aspect-ratio:16/9;max-height:none;min-height:200px}
  .hero-slot-caption{font-size:16px}
}
@media (min-width:480px) and (max-width:1100px){
  .home-slot-grid-dense,
  .home-crypto-lobby .home-slot-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:9px}
}

/* ===== SECTIONS ===== */
.page-body{max-width:var(--max);margin:0 auto;padding:20px 16px 48px}
.main_list{margin:28px 0}
.main_title{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:14px;padding-bottom:10px;
  border-bottom:1px solid var(--line);
}
.main_title h2{
  margin:0;font-size:18px;font-weight:800;letter-spacing:-.02em;
  display:flex;align-items:center;gap:8px;
}
.main_title h2::before{
  content:"";width:3px;height:16px;background:rgba(255,255,255,.35);border-radius:1px;
}
.main_title .more{
  color:var(--muted);font-size:13px;font-weight:600;
}
.main_title .more:hover{color:#fff}

/* 공지 3탭 — 공지사항 / 이벤트 / 이용규정 */
.cs-notice-tabs{
  display:grid;grid-template-columns:repeat(3,1fr);gap:0;
  margin:0 0 14px;border:1px solid var(--line);border-radius:6px;overflow:hidden;
  background:var(--panel2,#12141c);
}
.cs-notice-tabs .cs-ntab{
  appearance:none;border:0;background:transparent;color:var(--muted);
  font:inherit;font-size:14px;font-weight:700;padding:14px 10px;cursor:pointer;
  border-bottom:2px solid transparent;transition:color .12s,border-color .12s,background .12s;
}
.cs-notice-tabs .cs-ntab:hover{color:#fff;background:rgba(255,255,255,.03)}
.cs-notice-tabs .cs-ntab.active{
  color:var(--gold,#e8c56a);
  border-bottom-color:var(--gold,#e8c56a);
  background:rgba(232,197,106,.06);
}
@media (max-width:560px){
  .cs-notice-tabs .cs-ntab{font-size:13px;padding:12px 6px}
}
@media (max-width:1100px){
  .page-events .footer{display:none !important}
  .page-notice .page-head{display:none !important}
  .page-notice .notice-list{
    gap:10px;border:0;background:transparent;overflow:visible;border-radius:0;
  }
  .page-notice .notice-item{
    border:0;border-radius:10px;background:#151c2a;overflow:hidden;
  }
  .page-notice .notice-row{
    display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;
    grid-template-columns:none;gap:8px;padding:14px 16px;
  }
  .page-notice .notice-row .date{display:none}
  .page-notice .notice-row .title{
    white-space:normal;overflow:visible;text-overflow:clip;
    font-size:14px;font-weight:600;line-height:1.45;width:100%;
  }
  .page-notice .cate{
    border-radius:999px;padding:3px 10px;font-size:11px;font-weight:800;
  }
}

/* notices — 아코디언(같은 페이지 펼침, 한 개만 열림 · 재클릭 닫힘) */
.notice-list{display:flex;flex-direction:column;gap:0;border:1px solid var(--line);border-radius:4px;overflow:hidden;background:var(--panel)}
.notice-item{border-bottom:1px solid var(--line)}
.notice-item:last-child{border-bottom:0}
.notice-row{
  display:grid;grid-template-columns:88px 1fr 100px;gap:12px;align-items:center;
  width:100%; padding:12px 14px; border:0; background:transparent;
  color:inherit; font:inherit; text-align:left; cursor:pointer;
  font-size:13px;
}
.notice-row:hover{background:rgba(255,255,255,.03)}
.notice-item.is-open > .notice-row{background:rgba(255,255,255,.04)}
.cate{
  display:inline-block;text-align:center;font-size:11px;font-weight:800;
  padding:3px 8px;border-radius:2px;
}
.cate.notice{color:#fff;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12)}
.cate.event{color:var(--gold);background:rgba(232,197,106,.1);border:1px solid rgba(232,197,106,.25)}
.notice-row .title{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.notice-row .date{color:var(--muted);font-size:12px;text-align:right}
.notice-body{
  display:none;
  border-top:1px solid rgba(255,255,255,.06);
  background:rgba(0,0,0,.18);
}
.notice-item.is-open > .notice-body{
  display:block;
}
.notice-body[hidden]{display:none !important}
.notice-body-inner{
  padding:18px 20px 22px;
  line-height:1.85;
  font-size:14px;
  color:#d5dee8;
  white-space:normal;
  word-break:keep-all;
}
.notice-body-inner .muted{color:var(--muted);font-size:13px}
.notice-body-inner img{
  max-width:100%;height:auto;display:block;margin:10px 0;
  border-radius:6px;border:1px solid rgba(255,255,255,.08);
}
.notice-body-inner a{color:var(--cyan,#67c8de);text-decoration:underline}
.notice-item.is-open .notice-row .title{white-space:normal}

/* 공지 페이지네이션 — 15개 초과 시 (원본 하단 숫자 페이저) */
.notice-pager{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:6px;
  margin:18px 0 8px;
  flex-wrap:wrap;
}
.notice-pager[hidden]{display:none !important}
.notice-pager button{
  min-width:32px;
  height:32px;
  padding:0 8px;
  border:0;
  border-radius:4px;
  background:#1a2438;
  color:#c5d0e0;
  font-weight:700;
  font-size:13px;
  cursor:pointer;
}
.notice-pager button.on{
  background:#e8c547;
  color:#1a1400;
}
.notice-pager button:disabled{opacity:.4;cursor:default}
.notice-pager button:not(:disabled):hover{filter:brightness(1.08)}

@media (max-width:1100px){
  .page-cs .tabs{display:none}
  .page-cs .panel{background:transparent;border:0;padding:0;box-shadow:none}
  .page-cs .table-scroll{overflow:visible}
  .page-cs table.data,
  .page-cs table.data tbody{display:block;width:100%;border:0}
  .page-cs table.data thead{display:none}
  .page-cs table.data tr.qna-row{
    display:grid;grid-template-columns:auto 1fr;
    grid-template-areas:"st dt" "ti ti";
    gap:8px 10px;align-items:center;
    background:#151c2a;border-radius:10px;padding:14px 16px;margin-bottom:10px;border:0;
  }
  .page-cs table.data tr.qna-row td{border:0;padding:0;background:transparent}
  .page-cs table.data tr.qna-row td:nth-child(1),
  .page-cs table.data tr.qna-row td:nth-child(2){display:none}
  .page-cs table.data tr.qna-row td:nth-child(3){
    grid-area:ti;text-align:left !important;color:#fff;font-size:14px;font-weight:600;
  }
  .page-cs table.data tr.qna-row td:nth-child(4){grid-area:st}
  .page-cs table.data tr.qna-row td:nth-child(5){
    grid-area:dt;justify-self:start;text-align:left;color:#8a96a8;font-size:12px;
    white-space:nowrap;overflow:visible;
  }
  .page-cs .status-ok{
    display:inline-flex;padding:3px 10px;border-radius:999px;
    background:#2b6cff;color:#fff;font-size:11px;font-weight:800;
  }
  .page-cs .status-wait{
    display:inline-flex;padding:3px 10px;border-radius:999px;
    background:#3d4658;color:#dce4ee;font-size:11px;font-weight:800;
  }
  .page-cs #qna-body .qna-detail.is-open{display:block}
  .page-cs #qna-body .qna-detail td{display:block}
}

/* 고객센터 문의 내역 페이지네이션 (공지와 동일 · 15개 초과 시) */
.qna-pager.notice-pager{
  margin:16px 0 8px;
}

/* live casino carousel - 610x200 */
.live-track{
  display:grid;grid-auto-flow:column;grid-auto-columns:minmax(280px,1fr);
  gap:12px;overflow-x:auto;padding-bottom:6px;
  scroll-snap-type:x mandatory;scrollbar-width:thin;
}
.live-card{
  scroll-snap-align:start;position:relative;border-radius:6px;overflow:hidden;
  border:1px solid var(--line);background:#000;transition:.15s;
}
.live-card:hover{border-color:rgba(255,255,255,.18);transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.45)}
.live-card img{width:100%;aspect-ratio:610/200;object-fit:cover}
.live-card .cap{
  position:absolute;left:0;right:0;bottom:0;
  padding:10px 12px;background:linear-gradient(transparent,rgba(0,0,0,.85));
  font-weight:800;font-size:14px;
}

/* ===== 원본 유저 로비 (라이브/슬롯/릴/미니 공통 ImageList 4열) ===== */
.page-body.live-lobby-page,
.page-body.game-lobby-page{padding-top:12px;padding-bottom:40px}
.live-casino-orig,
.game-lobby-orig{max-width:var(--max);margin:0 auto}
.live-casino-heading,
.game-lobby-heading{
  margin:0 0 16px; font-size:1.35rem; font-weight:700; color:var(--text);
  letter-spacing:-.02em;
}
.game-lobby-heading.more-head{
  margin:28px 0 14px; font-size:1.1rem; font-weight:800;
  color:var(--muted); letter-spacing:.08em;
}
.live-casino-list,
.game-lobby-list{
  list-style:none; margin:0; padding:0;
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:12px;
}
.live-casino-list > li,
.game-lobby-list > li{min-width:0}
.live-item,
.game-item{
  display:block; color:inherit; text-decoration:none;
  border-radius:4px; overflow:hidden;
  transition:transform .12s, box-shadow .12s;
}
.live-item:hover,
.game-item:hover{transform:translateY(-2px); box-shadow:0 8px 22px rgba(0,0,0,.4)}
.live-item .img_wrap,
.game-item .img_wrap{
  position:relative; width:100%;
  background:var(--panel2);
  border:1px solid var(--line); border-radius:6px; overflow:hidden;
  /* 기본: 원본 슬롯형 네모 칸 (272×145) */
  aspect-ratio: 272 / 145;
  display:flex; align-items:center; justify-content:center;
}
/* 슬롯/호텔: 272×145 고정 */
.game-lobby-page.slot-page .game-item .img_wrap,
.game-lobby-page.hotel-page .game-item .img_wrap{
  aspect-ratio: 272 / 145;
}
/*
 * 라이브카지노: 사용자 제공 ACE 썸네일(≈642×342) — 균일 카드
 * 비율 272/145 ≈ 1.876, cover로 칸 채움
 */
.game-lobby-page.live-page .live-item .img_wrap,
.game-lobby-page.live-page .game-item .img_wrap,
.page-body.live-lobby-page .live-item .img_wrap,
.page-body.live-lobby-page .game-item .img_wrap{
  /* 1차 디자인 비율 (와이드 카드 + 딜러 풀샷) */
  aspect-ratio: 272 / 145;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 8px 22px rgba(0,0,0,.35);
  height: auto;
  min-height: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.game-lobby-page.live-page .live-item .img_wrap img,
.game-lobby-page.live-page .game-item .img_wrap img,
.page-body.live-lobby-page .live-item .img_wrap img,
.page-body.live-lobby-page .game-item .img_wrap img{
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center;
  display: block;
  transform: none;
}
/* 홈 라이브/바카라 — 동일 1차 디자인 */
.home-live-card .slot-official-thumb,
.home-popular-bac .slot-official-thumb,
a.home-live-card img.slot-official-thumb{
  object-fit: cover !important;
  object-position: center center !important;
}
.home-slot-card.home-live-card .slot-official-media,
.home-live-card .slot-official-media{
  aspect-ratio: 272 / 145;
  border-radius: 10px;
  overflow: hidden;
}
/* 미니/릴·기타: 배너형 cover */
.game-lobby-page.mini-page .game-item .img_wrap,
.live-item .img_wrap img,
.game-item .img_wrap img{
  width:100%; height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
}
/* 로고형(API/파트너): 잘리지 않게 contain + 여백 — 네모칸 안에 알맞게 */
.live-item .img_wrap img.thumb-logo,
.game-item .img_wrap img.thumb-logo{
  object-fit:contain;
  object-position:center;
  padding:10% 14%;
  box-sizing:border-box;
  background:var(--panel2);
}
.live-item .img_wrap.no-img,
.game-item .img_wrap.no-img{
  background:var(--panel);
}
.thumb-placeholder{
  display:flex; align-items:center; justify-content:center;
  width:100%; height:100%;
  color:rgba(255,255,255,.45); font-weight:900; font-size:1.4rem; letter-spacing:.04em;
  background:var(--panel2);
}
.live-item .border_line,
.game-item .border_line{
  pointer-events:none; position:absolute; inset:0;
  border:1px solid rgba(255,255,255,.08); border-radius:4px;
}
.live-item:hover .border_line,
.game-item:hover .border_line{border-color:rgba(255,255,255,.2)}
.live-item .item_title,
.game-item .item_title{
  margin-top:8px; text-align:center;
  font-size:1.05rem; font-weight:900;
  padding:0 4px 4px;
}
/* 로비 프로바이더 검색 제거 — 벤더 피커(.game-picker-q)만 사용 */
@media (max-width:1100px){
  .live-casino-list,
  .game-lobby-list{grid-template-columns:repeat(2, 1fr); gap:10px}
  .live-item .item_title,
  .game-item .item_title{font-size:.95rem}
}
@media (max-width:480px){
  .live-casino-list,
  .game-lobby-list{grid-template-columns:1fr 1fr; gap:8px}
  .live-casino-heading,
  .game-lobby-heading{font-size:1.15rem}
}

/* recommend square 300x300 */
.rec-grid{
  display:grid;grid-template-columns:repeat(5,1fr);gap:12px;
}
.rec-card{
  border:1px solid var(--line);border-radius:6px;overflow:hidden;background:var(--panel);
  transition:.15s;
}
.rec-card:hover{border-color:rgba(255,255,255,.2);transform:translateY(-2px)}
.rec-card img{width:100%;aspect-ratio:1;object-fit:cover}
.rec-card .name{padding:8px 10px;font-size:12px;font-weight:700;text-align:center}

/* 원본 홈 추천 게임: 5칸 이미지만 (텍스트 없음) */
.recommand_banner{
  display:grid;
  grid-template-columns:repeat(5, 1fr);
  gap:10px;
}
.recommand_banner a{
  display:block; border-radius:4px; overflow:hidden;
  border:1px solid var(--line); background:var(--bg-deep);
  transition:transform .12s, box-shadow .12s;
}
.recommand_banner a:hover{transform:translateY(-2px); box-shadow:0 8px 18px rgba(0,0,0,.35); border-color:rgba(255,255,255,.18)}
.recommand_banner img{width:100%; display:block; aspect-ratio:1; object-fit:cover}

/* 홈 라이브 카지노: 액션 배너 (천천히 페이드 로테이션) */
.home-live-slider{
  position:relative;
  width:100%;
  border-radius:12px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.08);
  background:var(--bg);
  aspect-ratio:16/9;
  max-height:360px;
}
.home-live-slider .home-live-slide{
  position:absolute;
  inset:0;
  display:block;
  opacity:0;
  visibility:hidden;
  transition:opacity 1.4s ease-in-out, visibility 1.4s ease-in-out;
  z-index:1;
  pointer-events:none;
}
.home-live-slider .home-live-slide.is-active{
  opacity:1;
  visibility:visible;
  z-index:2;
  pointer-events:auto;
}
.home-live-slide img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
/* 인디케이터 점 */
.home-live-dots{
  position:absolute;
  left:0; right:0; bottom:10px;
  z-index:3;
  display:flex;
  justify-content:center;
  gap:8px;
  pointer-events:auto;
}
.home-live-dots button{
  width:8px; height:8px;
  border-radius:50%;
  border:0;
  padding:0;
  background:rgba(255,255,255,.35);
  cursor:pointer;
  transition:background .3s, transform .3s;
}
.home-live-dots button.is-active{
  background:#fff;
  transform:scale(1.15);
}
.home-live-dots button:hover{background:rgba(255,255,255,.7)}
@media (max-width:1100px){
  .recommand_banner{grid-template-columns:repeat(3, 1fr); gap:8px}
  .home-live-slider{max-height:220px}
}
@media (max-width:480px){
  .recommand_banner{grid-template-columns:repeat(2, 1fr)}
  .home-live-slider{max-height:180px; aspect-ratio:16/9}
}

/* slot providers 272x145 */
.slot-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:12px;
}
.slot-card{
  border:1px solid var(--line);border-radius:6px;overflow:hidden;background:var(--bg-deep);
  transition:.15s;text-align:center;
}
.slot-card:hover{border-color:rgba(255,255,255,.2);box-shadow:none}
.slot-card img{width:100%;aspect-ratio:16/9;object-fit:cover}
.slot-card .name{
  padding:8px;font-size:12px;font-weight:800;color:#fff;
  background:var(--panel2);
}

/* ===== 홈 로비 — CryptoCasino 스타일 (밀집·고급) + 공식 공급사 썸네일 ===== */
.home-crypto-lobby{
  max-width:min(1400px, 100%);
  padding-top:12px;
}
.home-crypto-lobby .main_list{margin:18px 0 24px}
.home-sec-title{
  border-bottom:0;
  padding-bottom:0;
  margin-bottom:10px;
}
.home-sec-title h2{
  font-size:clamp(17px,1.5vw,20px);
  font-weight:800;
  letter-spacing:-.02em;
  gap:10px;
}
.home-sec-title h2::before{display:none} /* 섹션 아이콘 사용 */
.home-sec-title .sec-ico{
  display:inline-flex;align-items:center;justify-content:center;
  width:22px;height:22px;border-radius:6px;
  background:rgba(255,255,255,.08);
  color:#fff;font-size:12px;line-height:1;
  box-shadow:none;
}
.home-sec-title .more{
  font-size:13px;font-weight:700;color:var(--muted);
  padding:6px 12px;border-radius:999px;
  border:1px solid var(--line);
  background:transparent;
  transition:.15s ease;
}
.home-sec-title .more:hover{
  color:#fff;background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.16);
}

/* 신뢰/마케팅 바 — 흰 텍스트, 메인컬러 도배 금지 */
.home-trust-bar{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:center;
  gap:6px 10px;
  margin:0 0 12px;padding:10px 12px;
  border-radius:12px;
  background:var(--panel);
  border:1px solid var(--line);
  font-size:12px;color:var(--muted);font-weight:600;
}
.home-trust-bar .trust-item b{color:#fff;font-weight:800;margin-right:4px}
.home-trust-bar .trust-dot{opacity:.35}
.home-slot-lead{
  margin:-2px 0 12px;color:var(--muted);font-size:12px;line-height:1.4;
}
.home-slot-lead b{color:#fff;font-weight:700}

/* 프로바이더 칩 — 활성은 흰 보더/텍스트, 라임 필 금지 */
.home-provider-strip{
  display:flex;align-items:center;gap:8px;
  overflow-x:auto;-webkit-overflow-scrolling:touch;
  padding:4px 2px 14px;margin:0 0 6px;
  scrollbar-width:none;
  mask-image:linear-gradient(90deg,#000 92%,transparent);
}
.home-provider-strip::-webkit-scrollbar{display:none}
.home-provider-chip{
  flex:0 0 auto;
  display:inline-flex;align-items:center;gap:6px;
  padding:9px 16px;min-height:38px;
  border-radius:999px;
  border:1px solid var(--line);
  background:var(--panel);
  color:var(--muted);
  font-size:12px;font-weight:800;white-space:nowrap;
  transition:border-color .15s, color .15s, background .15s;
}
.home-provider-chip .ico{color:rgba(255,255,255,.45);font-size:10px}
.home-provider-chip:hover{
  color:#fff;border-color:rgba(255,255,255,.22);
  box-shadow:none;
}
.home-provider-chip.is-active{
  background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.35);
  box-shadow:none;filter:none;text-shadow:none;
}
.home-provider-chip.is-active .ico{color:#fff}

/* 슬롯 밀집 그리드 — 데스크 6~7열, 모바일 3열 */
.marketing_banner,
.home-slot-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:12px;
}
.home-slot-grid-dense,
.home-crypto-lobby .home-slot-grid{
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:10px;
}
@media (min-width:700px){
  .home-slot-grid-dense,
  .home-crypto-lobby .home-slot-grid{grid-template-columns:repeat(4, minmax(0, 1fr)); gap:12px}
}
@media (min-width:1000px){
  .home-slot-grid-dense,
  .home-crypto-lobby .home-slot-grid{grid-template-columns:repeat(6, minmax(0, 1fr)); gap:12px}
}
@media (min-width:1280px){
  .home-slot-grid-dense,
  .home-crypto-lobby .home-slot-grid{grid-template-columns:repeat(7, minmax(0, 1fr)); gap:14px}
}
.marketing_banner_item,
.home-slot-card{
  display:block; text-align:center; color:inherit; text-decoration:none;
  border-radius:12px; overflow:hidden;
  position:relative;
  background:var(--panel);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 6px 18px rgba(0,0,0,.35);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
/* 참고 썸네일: 슬롯·라이브·호텔 동일 (풀블리드 + HOT + 하단 타이틀) */
.home-slot-card.home-slot-official,
.home-live-card.home-slot-official{
  display:block;
  text-align:left;
  background:#0a0a10;
  position:relative;
  overflow:hidden;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 6px 18px rgba(0,0,0,.35);
  text-decoration:none;color:inherit;
  cursor:pointer;
}
.home-slot-thumb{
  position:relative;
  width:100%;
  background:var(--bg-deep);
  overflow:hidden;
  aspect-ratio:272/145;
}
.home-slot-card.home-slot-official > .slot-badge,
.home-live-card.home-slot-official > .slot-badge{
  position:absolute;z-index:3;
}
.home-slot-card.home-slot-official .slot-official-thumb,
.home-live-card.home-slot-official .slot-official-thumb{
  width:100%;height:100%;display:block;
  aspect-ratio:272/145;
  object-fit:cover;
  object-position:center;
  background:var(--bg-deep);
}
/* 프라그마틱 등 로고형: 글자 잘림 방지 */
/* 프라그마틱 등: 카드 풀블리드 (검정 여백/테두리 없음) */
.home-slot-card.home-slot-official .slot-official-thumb.thumb-logo-safe,
.home-live-card.home-slot-official .slot-official-thumb.thumb-logo-safe,
img.slot-official-thumb.thumb-logo-safe{
  object-fit:cover !important;
  object-position:center center !important;
  background:transparent !important;
  padding:0 !important;
  box-sizing:border-box;
  width:100% !important;
  height:100% !important;
}
/* 프라그마틱: 카드 영역 완전 풀블리드 (검정 여백 제거) */
.home-slot-card[title="프라그마틱"] .home-slot-thumb,
.home-live-card[title="프라그마틱"] .home-slot-thumb,
.home-slot-card[data-play="프라그마틱"] .home-slot-thumb,
.home-live-card[data-play="프라그마틱"] .home-slot-thumb{
  background:#1a0a08 !important; /* 이미지 가장자리와 자연스럽게 */
}
.home-slot-card[title="프라그마틱"] .slot-official-thumb,
.home-live-card[title="프라그마틱"] .slot-official-thumb,
.home-slot-card[data-play="프라그마틱"] .slot-official-thumb,
.home-live-card[data-play="프라그마틱"] .slot-official-thumb{
  object-fit:cover !important;
  object-position:center center !important;
  padding:0 !important;
  margin:0 !important;
  background:transparent !important;
  width:100% !important;
  height:100% !important;
  min-width:100%;
  min-height:100%;
  /* 살짝 확대해 가장자리 빈틈/검정 프레임 제거 */
  transform:scale(1.14);
  transform-origin:center center;
}
/* 타이틀 오버레이 — 슬롯/라이브 동일 */
.home-slot-meta{
  position:absolute;left:0;right:0;bottom:0;z-index:2;
  padding:28px 10px 10px;
  background:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.55) 42%,rgba(0,0,0,.92) 100%);
  border-top:0;
  pointer-events:none;
}
.home-slot-card.home-slot-official .slot-name,
.home-live-card.home-slot-official .slot-name{
  position:static;
  padding:0;margin:0;
  font-size:clamp(12px,1.1vw,15px);
  line-height:1.15;
  letter-spacing:.02em;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  color:var(--lime, #c8ff00);font-weight:800;
  text-shadow:0 1px 4px rgba(0,0,0,.75);
}
.home-slot-card .slot-prov,
.home-live-card .slot-prov{
  margin-top:3px;
  font-size:9px;font-weight:700;
  color:rgba(255,255,255,.65);
  letter-spacing:.06em;
  text-transform:uppercase;
  text-shadow:0 1px 4px rgba(0,0,0,.8);
}
.marketing_banner_item:hover,
.home-slot-card:hover,
.home-live-card:hover{
  transform:translateY(-2px);
  border-color:rgba(255,255,255,.16);
  box-shadow:0 12px 28px rgba(0,0,0,.4);
  z-index:2;
}
.marketing_banner_item img{
  width:100%; display:block; aspect-ratio:272/145; object-fit:cover;
  background:var(--bg-deep);
}
.marketing_banner_text{
  position:absolute;left:0;right:0;bottom:0;z-index:2;
  margin:0; padding:22px 8px 10px;
  font-size:clamp(11px,1.05vw,14px);
  text-transform:uppercase;
  line-height:1.1;
  background:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.55) 40%,rgba(0,0,0,.92) 100%);
  pointer-events:none;
}
/* 뱃지: 슬롯·라이브·호텔 동일. HOT = 라임 */
.home-slot-card .slot-badge,
.home-live-card .slot-badge{
  position:absolute; top:6px; left:6px; z-index:3;
  font-size:9px; font-weight:900; letter-spacing:.04em;
  padding:3px 7px; border-radius:999px;
  background:rgba(0,0,0,.55); color:#fff;
  border:1px solid rgba(255,255,255,.14);
  box-shadow:none;
}
.home-slot-card .slot-badge.hot,
.home-live-card .slot-badge.hot{
  background:var(--lime); color:var(--ink);
  border-color:transparent;
}
.home-slot-card .slot-badge.top,
.home-live-card .slot-badge.top{
  background:rgba(0,0,0,.55); color:#fff;
  border:1px solid rgba(255,255,255,.14);
}
.home-slot-section .main_title h2{color:#fff}

/* 홈 라이브/인기바카라: 슬롯 dense 와 동일 열수 */
.home-live-grid,
.home-live-row,
.home-popular-bac{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
  padding:0;
  overflow:visible;
}
@media (min-width:700px){
  .home-live-grid,
  .home-live-row,
  .home-popular-bac{grid-template-columns:repeat(4, minmax(0, 1fr)); gap:12px}
}
@media (min-width:1000px){
  .home-live-grid,
  .home-live-row,
  .home-popular-bac{grid-template-columns:repeat(6, minmax(0, 1fr)); gap:12px}
}
@media (min-width:1280px){
  .home-live-grid,
  .home-live-row,
  .home-popular-bac{grid-template-columns:repeat(7, minmax(0, 1fr)); gap:14px}
}
.home-live-card{
  position:relative;display:block;overflow:hidden;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.08);
  background:#0a0a10;
  box-shadow:0 6px 18px rgba(0,0,0,.35);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  text-decoration:none;color:inherit;
  cursor:pointer;
}
.home-slot-card{cursor:pointer}
.home-provider-logos-section .partner-strip{
  margin-top:0;
}
/* 출석/이벤트 배너 (원본 attendance) */
.home-event-banner{
  margin:28px 0 20px;
}
.home-event-banner a{display:block}
.home-event-banner img{
  width:100%; display:block; border-radius:12px;
  border:1px solid rgba(140,180,255,.1);
  box-shadow:0 10px 32px rgba(0,0,0,.35);
  object-fit:cover;
  aspect-ratio:1600/360;
}
/* 홈 중간 파트너 로고는 제거(푸터와 중복) — 클래스 잔존 시 숨김 */
.home-partner-logos{display:none !important}
@media (max-width:1100px){
  .marketing_banner{grid-template-columns:repeat(2, 1fr); gap:10px}
  .marketing_banner_text{font-size:13px}
  .home-crypto-lobby{
    padding:6px 0 0;
    max-width:100%;
  }
  .home-crypto-lobby .main_list{margin:12px 0 16px}
  /* m-cats 와 중복 → 홈 프로바이더 칩은 모바일에서 숨김 */
  .home-provider-strip{display:none}
  .home-trust-bar{
    justify-content:flex-start;
    overflow-x:auto;flex-wrap:nowrap;
    -webkit-overflow-scrolling:touch;
    font-size:11px;padding:9px 10px;margin-bottom:10px;
    scrollbar-width:none;
  }
  .home-trust-bar::-webkit-scrollbar{display:none}
  .home-trust-bar .trust-item{flex:0 0 auto;white-space:nowrap}
  .home-sec-title{margin-bottom:8px}
  .home-sec-title h2{font-size:16px}
  .home-sec-title .more{padding:8px 12px;min-height:40px;display:inline-flex;align-items:center}
  .home-slot-lead{font-size:11px;margin:0 0 10px}
  .home-slot-card,
  .home-live-card{
    border-radius:10px;
    transform:none;
  }
  .home-slot-card:hover,
  .home-live-card:hover{transform:none}
  .home-slot-card:active,
  .home-live-card:active{
    border-color:rgba(255,255,255,.2);
    box-shadow:0 8px 20px rgba(0,0,0,.4);
  }
  .home-slot-meta{padding:22px 8px 8px}
  .home-slot-card.home-slot-official .slot-name,
  .home-live-card.home-slot-official .slot-name{font-size:12px}
  .home-slot-card .slot-prov,
  .home-live-card .slot-prov{font-size:8px}
  .home-live-grid,
  .home-live-row{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:8px;
    margin:0;
    padding:0;
  }
  .home-event-banner{margin:14px 0 8px}
  .home-event-banner img{border-radius:10px}
  .home-provider-logos{margin-top:0}
}
@media (max-width:480px){
  .marketing_banner{gap:8px}
  .marketing_banner_text{font-size:12px}
  .home-slot-card .slot-badge,
  .home-live-card .slot-badge{top:5px;left:5px;font-size:8px;padding:2px 6px}
}

/* 레거시 파트너 스트립 — 비표시 (홈 로고월은 .home-logo-wall 사용) */
.partner-strip,
.footer .partner-strip,
.home-provider-logos-section .partner-strip,
.footer .partner-logos,
.footer-logos,
.game-provider-logos{
  display:none !important;
  visibility:hidden !important;
  height:0 !important;
  max-height:0 !important;
  overflow:hidden !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
}
.partner-strip img,
.footer .partner-strip img{
  display:none !important;
}

/* ═══ 홈 하단 공급사 로고 월 (배경 제거 PNG) ═══ */
.home-logo-wall{
  display:block;
  width:100%;
  margin:48px auto 8px;
  padding:28px 12px 20px;
  box-sizing:border-box;
  position:relative;
  z-index:1;
  background:transparent;
  border:0;
}
.home-logo-wall::before{
  content:"";
  display:block;
  width:min(280px, 40%);
  height:1px;
  margin:0 auto 22px;
  background:linear-gradient(90deg, transparent, rgba(200,255,0,.45), transparent);
  box-shadow:0 0 10px rgba(200,255,0,.2);
}
.home-logo-wall-inner{
  max-width:var(--max-chrome, 1424px);
  margin:0 auto;
  padding:0 16px;
  box-sizing:border-box;
  overflow:hidden;
}
.home-logo-wall-img{
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  margin:0 auto;
  object-fit:contain;
  object-position:center;
  /* 투명 PNG 로고가 어두운 홈 배경 위에 선명히 */
  filter:
    drop-shadow(0 1px 2px rgba(0,0,0,.55))
    drop-shadow(0 0 12px rgba(255,255,255,.06));
  opacity:.92;
  pointer-events:none;
  user-select:none;
}
/* PC 로비 안 로고월: 카드 폭보다 살짝 넓게 안정감 */
.pc-home-lobby .home-logo-wall{
  margin-top:52px;
  margin-bottom:12px;
  max-width:none;
  padding-left:0;
  padding-right:0;
}
.pc-home-lobby .home-logo-wall-inner{
  max-width:var(--max-chrome, 1424px);
  padding:0 20px;
}
/* 모바일 홈 로고월 */
.home-mobile-lobby .home-logo-wall{
  margin-top:28px;
  margin-bottom:12px;
  padding:18px 0 12px;
}
.home-mobile-lobby .home-logo-wall-img{
  min-height:56px;
}
@media (max-width:1100px){
  .pc-home-lobby .home-logo-wall{display:none !important}
  .home-mobile-lobby .home-logo-wall{display:block !important}
}
@media (min-width:1101px){
  .home-mobile-lobby .home-logo-wall{display:none !important}
  .pc-home-lobby .home-logo-wall{display:block !important}
}

/* page title */
.page-head{
  display:flex;align-items:flex-end;justify-content:space-between;gap:12px;
  margin:8px 0 18px;padding-bottom:12px;border-bottom:1px solid var(--line);
}
.page-head h1{margin:0;font-size:22px;font-weight:900}
.page-head p{margin:4px 0 0;color:var(--muted);font-size:13px}

/* panels / forms */
.panel{
  background:var(--panel);border:1px solid var(--line);border-radius:6px;
  padding:18px;margin-bottom:14px;
}
.panel h3{margin:0 0 12px;font-size:15px;color:#fff}
.field{display:grid;gap:6px;margin-bottom:12px}
/* author .field{display:grid} 가 UA [hidden]{display:none} 을 덮어쓰는 문제 방지 */
.field[hidden],[hidden]{display:none !important}
.field label{font-size:12px;color:var(--muted);font-weight:600}
.field input,.field select,.field textarea{
  width:100%;background:var(--bg-deep);border:1px solid var(--line);border-radius:4px;
  padding:10px 12px;outline:none;
}
.field input:focus,.field select:focus,.field textarea:focus{border-color:rgba(255,255,255,.28)}
.inq-file-line{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.inq-file-btn{
  appearance:none;border:0;cursor:pointer;font-weight:700;font-size:13px;
  padding:8px 14px;border-radius:4px;color:#071318;
  background:#2ec4c8;
}
.inq-file-btn:hover{filter:brightness(1.08)}
.inq-file-names{font-size:12px;color:var(--muted);word-break:break-all}
.inq-write-head{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;
  padding-bottom:12px;margin-bottom:18px;
  border-bottom:2px solid var(--gold,#e8c56a);
}
.inq-write-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;min-width:0;flex:1}
.inq-write-title h1{margin:0;font-size:22px;font-weight:800}
.inq-write-lead{margin:0;color:var(--muted,#9aa8b8);font-size:15px;font-weight:500}
.inq-list-btn{flex-shrink:0}
.inq-ace{padding:22px 22px 28px}
.inq-form-table{width:100%;border-collapse:collapse}
.inq-form-table th{
  width:15%;min-width:88px;padding:14px 12px;text-align:left;vertical-align:middle;
  color:var(--text);font-weight:700;font-size:14px;background:rgba(255,255,255,.03);
  border-bottom:1px solid var(--line);
}
.inq-form-table td{
  padding:10px 12px;vertical-align:middle;border-bottom:1px solid var(--line);
}
.inq-form-table .form_control{
  width:100%;max-width:100%;box-sizing:border-box;
  background:rgba(8,12,22,.72);color:#fff;border:1px solid var(--line2);
  border-radius:4px;padding:10px 12px;font-size:14px;
}
.inq-form-table textarea.form_control{min-height:140px;resize:vertical}
.inq-actions{
  display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:22px;
}
.inq-actions .inq-cancel,
.inq-actions .inq-submit-btn{
  flex:1 1 160px;max-width:280px;text-align:center;text-decoration:none;
  border:0;border-radius:4px;padding:12px 18px;font-weight:800;font-size:15px;cursor:pointer;
}
.inq-actions .inq-cancel{background:#4b5568;color:#fff}
.inq-actions .inq-cancel:hover{filter:brightness(1.08);color:#fff}
.inq-actions .inq-submit-btn{background:var(--lime,#c8ff00);color:var(--ink,#07070c)}
.inq-actions .inq-submit-btn:hover{filter:brightness(1.06)}
@media (max-width:700px){
  .inq-ace{padding:14px}
  .inq-form-table,.inq-form-table tbody,.inq-form-table tr,.inq-form-table th,.inq-form-table td{
    display:block;width:100%;
  }
  .inq-form-table th{border-bottom:0;padding-bottom:4px}
  .inq-form-table td{padding-top:0}
}
.tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}
.tabs a,.tabs button{
  padding:8px 12px;border:1px solid var(--line);background:transparent;
  color:var(--muted);border-radius:3px;font-size:13px;font-weight:700;cursor:pointer;
}
.tabs a.active,.tabs button.active{color:#fff;border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.06)}
table.data{width:100%;border-collapse:collapse;font-size:13px}
table.data th,table.data td{padding:10px 8px;border-bottom:1px solid var(--line);text-align:left}
table.data th{color:var(--muted);font-size:12px}
table.data td.qna-date{white-space:nowrap;font-variant-numeric:tabular-nums}
.status-ok{color:#3ddc8a;font-weight:700}
.status-wait{color:var(--gold);font-weight:700}
.status-no{color:#ff6b6b;font-weight:700}

/* sports — 좌: 경기 스크롤 · 우: 배팅슬립 고정(뷰포트 중간) */
.sports-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 300px;
  gap:14px;
  align-items:start;
  max-width:var(--max);
  margin:0 auto;
  position:relative;
}
.sports-main{min-width:0}
/* 그리드 자리 유지용 래퍼 (슬립이 fixed 여도 레이아웃 안 무너짐) */
.sports-cart-col{
  width:300px;
  min-width:300px;
  min-height:120px;
  position:relative;
}
:root{
  --betslip-sticky-top: calc(var(--header-h, 48px) + var(--menu-h, 52px) + 12px);
  --betslip-max-h: calc(100vh - var(--header-h, 48px) - var(--menu-h, 52px) - 24px);
  --betslip-max-h-dvh: calc(100dvh - var(--header-h, 48px) - var(--menu-h, 52px) - 24px);
  --betslip-w: 300px;
}
.sports-tabs{
  display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px;
}
.sports-tabs button{
  display:inline-flex;align-items:center;gap:5px;
  padding:8px 12px;border-radius:6px;border:1px solid var(--line);
  background:var(--panel2);color:var(--muted);cursor:pointer;font-size:13px;font-weight:600;
}
.sports-tabs button.active,.sports-tabs button:hover{
  border-color:rgba(255,255,255,.28);color:#fff;background:rgba(255,255,255,.06);
}
.sports-tabs .ico{font-size:14px;line-height:1}
.match{
  border:1px solid var(--line);border-radius:6px;padding:12px;margin-bottom:10px;background:var(--panel)
}
.match .meta{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;margin-bottom:6px}
.match .teams{font-weight:800;font-size:15px;margin-bottom:10px}
.odds{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
/* 배당판: 기본 밝은 카드 → hover 라임 → 클릭(.on) 확정 라임
 * 주의: @media (hover:hover) 로 감싸면 터치/하이브리드 PC에서 hover 자체가 무력화됨 */
.odd{
  border:1px solid rgba(0,0,0,.12);
  background:linear-gradient(180deg,#f7f8fa 0%,#eef0f4 100%);
  border-radius:8px;
  padding:12px 10px 11px;
  text-align:center;
  cursor:pointer;
  transition:border-color .12s ease, background .12s ease, box-shadow .12s ease, transform .1s ease, color .1s ease;
  box-shadow:0 1px 2px rgba(0,0,0,.12);
  min-height:58px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  -webkit-tap-highlight-color:transparent;
  user-select:none;
}
.odd:hover:not(.on):not(.disabled):not([data-odd="—"]),
.odd.is-hover:not(.on):not(.disabled):not([data-odd="—"]){
  border-color:var(--lime,#c8ff00) !important;
  background:linear-gradient(180deg,#f8ffcc 0%,#e6ff70 100%) !important;
  box-shadow:0 0 0 2px rgba(200,255,0,.45),0 4px 14px rgba(200,255,0,.3) !important;
  transform:translateY(-1px);
}
.odd:hover:not(.on):not(.disabled):not([data-odd="—"]) small,
.odd.is-hover:not(.on):not(.disabled):not([data-odd="—"]) small{color:#1f2937 !important}
.odd:hover:not(.on):not(.disabled):not([data-odd="—"]) b,
.odd.is-hover:not(.on):not(.disabled):not([data-odd="—"]) b{color:#0a0a0a !important}
.odd:active:not(.disabled):not([data-odd="—"]){
  border-color:var(--lime,#c8ff00);
  background:linear-gradient(180deg,#f0ffb0 0%,#d9ff4d 100%);
  box-shadow:0 0 0 2px rgba(200,255,0,.5),0 2px 8px rgba(200,255,0,.3);
  transform:scale(.98);
}
.odd.on{
  border-color:var(--lime,#c8ff00) !important;
  background:linear-gradient(180deg,#f4ffc2 0%,#e8ff66 100%) !important;
  box-shadow:0 0 0 2px rgba(200,255,0,.4),0 2px 10px rgba(200,255,0,.28) !important;
  transform:none;
}
.odd.disabled,.odd[data-odd="—"]{opacity:.45;cursor:default;pointer-events:none}
.odd small{
  display:block;
  color:#4b5563;
  font-size:12px;
  font-weight:700;
  letter-spacing:.02em;
  transition:color .1s ease;
}
.odd b{
  font-size:22px;
  font-weight:800;
  color:#111827;
  line-height:1.15;
  font-variant-numeric:tabular-nums;
  letter-spacing:-.02em;
  transition:color .1s ease;
}
.odd.on small{color:#1f2937 !important}
.odd.on b{color:#0a0a0a !important}

@media (max-width:768px){
  .odd{min-height:52px;padding:10px 8px}
  .odd small{font-size:11px}
  .odd b{font-size:20px}
}


/* footer — 유저 요청: 하단 네모칸(언어/카피 영역) 제거 */
.footer,
footer.footer{
  display:none !important;
  visibility:hidden !important;
  height:0 !important;
  max-height:0 !important;
  overflow:hidden !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
}
.footer .inner,
.footer .langs,
.footer .copy{display:none !important}

/* popup — 뷰포트 안에 항상 전체 노출 (잘림 없이 축소) */
.popup-mask,
#popup{
  position:fixed;inset:0;z-index:9990;
  display:flex;align-items:center;justify-content:center;
  padding:max(8px, env(safe-area-inset-top, 0px)) max(10px, env(safe-area-inset-right, 0px)) max(8px, env(safe-area-inset-bottom, 0px)) max(10px, env(safe-area-inset-left, 0px));
  box-sizing:border-box;
  background:rgba(0,0,0,.72);
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
  overflow:auto;
  -webkit-overflow-scrolling:touch;
}
.popup-mask.hide{display:none !important}
body.popup-open{overflow:hidden}
.popup-stack{
  position:relative;
  display:flex;align-items:center;justify-content:center;
  width:min(96vw, 560px);
  max-height:min(94dvh, 100%);
  min-height:0;
  pointer-events:none; /* 시트만 클릭 */
}
.popup,
.popup-sheet{
  width:min(400px,100%);
  /* 뷰포트 높이 안에 헤더·이미지·버튼 전부 들어가게 상한 */
  max-height:min(92dvh, 100%);
  height:auto;
  background:var(--panel, #0e0e16);
  border:1px solid rgba(255,255,255,.1);
  border-radius:14px;
  overflow:hidden;
  display:flex;flex-direction:column;
  box-shadow:0 24px 64px rgba(0,0,0,.6);
  pointer-events:auto;
  position:relative;
  box-sizing:border-box;
}
.popup-mask-multi .popup-stack{
  width:min(96vw, 640px);
  max-height:min(94dvh, 100%);
  height:auto;
  position:relative;
  pointer-events:none;
}
.popup-mask-multi .popup-stack .popup-sheet{
  position:absolute;
  left:50%;
  top:50%;
  /* --ox/--oy 인라인 오프셋으로 여러 장 겹침 */
  transform: translate(calc(-50% + var(--ox, 0px)), calc(-50% + var(--oy, 0px)));
  pointer-events:auto;
  max-height:min(90dvh, 100%);
}
/* 나란히 (row) — 가로 1줄 + 화면 정중앙, 세로는 뷰포트 맞춤 */
.popup-mask-multi.popup-layout-row{
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:auto;
}
.popup-mask-multi .popup-row{
  display:flex;
  flex-wrap:nowrap;
  flex-direction:row;
  align-items:stretch;
  justify-content:center;
  gap:12px;
  width:max-content;
  max-width:min(98vw, 1400px);
  max-height:min(94dvh, 100%);
  margin:0 auto;
  padding:10px 8px;
  pointer-events:none;
  box-sizing:border-box;
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
}
.popup-mask-multi .popup-row .popup-sheet{
  position:relative;
  left:auto;top:auto;
  transform:none;
  flex:0 0 auto;
  width:min(320px, 22vw, 90vw) !important;
  max-width:min(320px, 22vw, 90vw) !important;
  max-height:min(90dvh, 100%);
  height:auto;
  pointer-events:auto;
  margin:0;
}
/* 1~2장일 때 조금 더 크게 */
.popup-mask-multi .popup-row .popup-sheet:only-child,
.popup-mask-multi .popup-row .popup-sheet:first-child:nth-last-child(2),
.popup-mask-multi .popup-row .popup-sheet:first-child:nth-last-child(2) ~ .popup-sheet{
  width:min(360px, 42vw, 90vw) !important;
  max-width:min(360px, 42vw, 90vw) !important;
}
.popup-mask-multi .popup-row .popup-sheet:only-child{
  width:min(400px, 92vw) !important;
  max-width:min(400px, 92vw) !important;
}
/* 모바일: 팝업 1열 · 한 장씩 — 잘림·잘린 글자 금지 (PC row 유지, 유저 모바일 m6) */
@media (max-width:1100px){
  .popup-mask,
  #popup{
    align-items:center;
    justify-content:center;
    padding:max(12px, env(safe-area-inset-top, 0px)) 12px max(12px, env(safe-area-inset-bottom, 0px));
  }
  .popup-mask-multi.popup-layout-row{
    align-items:center;
    justify-content:center;
  }
  .popup-mask-multi .popup-row{
    flex-direction:column;
    flex-wrap:nowrap;
    align-items:stretch;
    justify-content:center;
    width:var(--md-modal-w-md);
    max-width:var(--md-modal-w-md);
    max-height:var(--md-modal-h);
    overflow:hidden;
    gap:0;
    padding:0;
  }
  .popup-mask-multi .popup-row .popup-sheet:not(:first-child){display:none !important}
  .popup-mask-multi .popup-row .popup-sheet,
  .popup-mask-multi .popup-row .popup-sheet:only-child,
  .popup-mask-multi .popup-row .popup-sheet:first-child:nth-last-child(2),
  .popup-mask-multi .popup-row .popup-sheet:first-child:nth-last-child(2) ~ .popup-sheet{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    max-height:var(--md-modal-h) !important;
  }
  .popup-title{
    font-size:15px;
    white-space:normal;
    overflow:visible;
    text-align:center;
    padding:8px 12px;
  }
  .popup-bar,
  .popup .bar,
  .popup-sheet-tesla .popup-bar{
    grid-template-columns:1fr;
    gap:8px;
  }
  .popup-btn,
  .popup .bar button{
    width:100%;
    white-space:normal;
    line-height:1.3;
    padding:10px 12px;
    font-size:14px;
  }
}
.popup-idx{
  position:absolute;top:8px;right:10px;z-index:2;
  font-size:11px;font-weight:700;color:rgba(255,255,255,.75);
  background:rgba(0,0,0,.45);padding:2px 8px;border-radius:999px;
}
/* 상단 브랜드·제목·하단 버튼은 고정, 가운데만 축소 */
.popup-brand,
.popup-title,
.popup-bar,
.popup .bar,
.popup-head{
  flex-shrink:0;
}
.popup-title{
  padding:8px 14px 6px;
  font-size:clamp(13px, 2.6vw, 16px);font-weight:800;color:#fff;
  letter-spacing:-.02em;text-align:center;
  line-height:1.25;
}
/* 이미지 영역: 남는 높이만 사용 → 하단 잘림 방지 */
.popup-media{
  display:flex;
  align-items:center;
  justify-content:center;
  flex:1 1 auto;
  min-height:0;
  /* 브랜드(~70) + 제목(~40) + 버튼(~64) + 여백 ≈ 180 */
  max-height:calc(92dvh - 180px);
  line-height:0;
  background:var(--bg-deep, #07070c);
  overflow:hidden;
}
.popup-media img,
.popup img,
.popup-body img{
  width:100%;
  max-width:100%;
  height:auto;
  max-height:calc(92dvh - 180px);
  object-fit:contain;
  object-position:center;
  display:block;
  margin:0 auto;
  vertical-align:top;
}
.popup-mask-multi .popup-row .popup-media{
  max-height:calc(90dvh - 170px);
}
.popup-mask-multi .popup-row .popup-media img{
  max-height:calc(90dvh - 170px);
}
/* 제목+본문 있을 때 이미지 더 줄임 */
.popup-sheet:has(.popup-text) .popup-media,
.popup-sheet:has(.popup-text) .popup-media img{
  max-height:calc(92dvh - 260px);
}
.popup-text{
  flex:0 1 auto;
  min-height:0;
  max-height:min(28dvh, 180px);
  overflow:auto;
  -webkit-overflow-scrolling:touch;
  padding:8px 14px;
  font-size:clamp(12px, 2.4vw, 13px);
  line-height:1.5;
  color:rgba(255,255,255,.78);
  white-space:pre-wrap;
}
.popup-head{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:10px 12px;
  background:var(--panel2);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.popup-head b{
  font-size:15px;font-weight:800;color:#fff;
  letter-spacing:-.02em;
}
.popup-x{
  width:40px;height:40px;border:0;border-radius:10px;
  background:rgba(255,255,255,.06);color:#fff;
  font-size:22px;line-height:1;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;
}
.popup-x:active{background:rgba(255,255,255,.1);color:#fff}
.popup-body{
  flex:1 1 auto;min-height:0;overflow:hidden;
  display:flex;flex-direction:column;
  background:var(--bg-deep);
}
.popup-bar,
.popup .bar{
  display:grid;grid-template-columns:1fr 1fr;gap:8px;
  padding:10px 12px calc(10px + env(safe-area-inset-bottom, 0px));
  border-top:1px solid rgba(140,180,255,.1);
  background:var(--panel);
  flex-shrink:0;
}
.popup-btn,
.popup .bar button{
  min-height:44px;border-radius:10px;font-size:13px;font-weight:800;
  cursor:pointer;border:1px solid transparent;
  -webkit-tap-highlight-color:transparent;
}
.popup-btn.ghost,
.popup .bar button[data-pop="today"]{
  background:transparent;border-color:rgba(255,255,255,.18);color:rgba(255,255,255,.72);
}
.popup-btn.ghost:active,
.popup .bar button[data-pop="today"]:active{color:#fff;border-color:rgba(255,255,255,.35)}
.popup-btn.primary,
.popup .bar button[data-pop="close"]{
  background:var(--lime, #c8ff00);color:var(--ink, #07070c);border-color:transparent;
  text-shadow:none;box-shadow:none;
  box-shadow:none;
}
.popup-btn.primary:active,
.popup .bar button[data-pop="close"]:active{filter:brightness(1.06)}

/* ═══════════════════════════════════════════════════════════
   Tesla 팝업 스킨 (기본 고정: tesla · 사자/LION 양식 배제)
   tesla | core | glass | frame | pink
   ═══════════════════════════════════════════════════════════ */

/* 공통 브랜드 헤더 — 심볼=테슬라 T 또는 업체 logo_mark · 높이 절약(반응형) */
.popup-brand{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  padding:10px 12px 8px;
  flex-shrink:0;
  background:linear-gradient(180deg, rgba(14,14,22,.98), rgba(10,10,16,.96));
  border-bottom:1px solid rgba(200,255,0,.14);
}
/* 정사각 슬롯: 어떤 업체 마크든 contain + 소프트 프레임으로 톤 맞춤 */
.popup-brand-mark{
  display:block;
  width:clamp(36px, 8vw, 48px);
  height:clamp(36px, 8vw, 48px);
  object-fit:contain;
  object-position:center;
  margin:0 auto;
  padding:4px;
  border-radius:12px;
  background:
    radial-gradient(circle at 50% 40%, rgba(200,255,0,.08), transparent 70%),
    rgba(0,0,0,.32);
  box-shadow:
    0 0 0 1px rgba(200,255,0,.22),
    0 0 16px rgba(200,255,0,.1),
    inset 0 1px 0 rgba(255,255,255,.06);
}
.popup-brand-logo{
  display:block;
  height:28px;
  width:auto;
  max-width:min(160px, 70%);
  object-fit:contain;
  margin:0 auto;
  filter:drop-shadow(0 0 10px rgba(200,255,0,.12));
}
.popup-brand-name{
  font-size:11px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(245,242,250,.92);
  line-height:1.2;
}
.popup-brand-line{
  display:block;
  width:min(120px, 40%);
  height:1.5px;
  border-radius:1px;
  background:linear-gradient(90deg, transparent, rgba(200,255,0,.85), #ff2bd6, transparent);
  box-shadow:0 0 8px rgba(200,255,0,.25);
}
.popup-sheet-tesla .popup-title{
  padding:6px 14px 4px;
  font-family:var(--font-display), var(--font);
  font-size:clamp(13px, 2.6vw, 15px);
  font-weight:800;
  letter-spacing:.02em;
  color:#fff;
  flex-shrink:0;
}
.popup-sheet-tesla .popup-media{
  flex:1 1 auto;
  min-height:0;
}
.popup-sheet-tesla .popup-text{
  color:rgba(232,238,248,.88);
}
.popup-sheet-tesla .popup-media{
  background:#07070c;
  border-top:1px solid rgba(255,255,255,.04);
  border-bottom:1px solid rgba(200,255,0,.08);
}
.popup-sheet-tesla .popup-bar{
  gap:10px;
  padding:12px 12px calc(12px + env(safe-area-inset-bottom));
  border-top:1px solid rgba(200,255,0,.12);
  background:linear-gradient(180deg, #0e0e16, #0a0a10);
}
.popup-sheet-tesla .popup-btn.primary{
  background:var(--lime, #c8ff00);
  color:var(--ink, #07070c);
  border-radius:11px;
  font-weight:900;
  letter-spacing:.02em;
  box-shadow:0 0 16px rgba(200,255,0,.18);
}
.popup-sheet-tesla .popup-btn.ghost{
  border-color:rgba(200,255,0,.28);
  color:rgba(232,238,248,.85);
  border-radius:11px;
  background:rgba(200,255,0,.04);
}
.popup-sheet-tesla .popup-btn.ghost:hover,
.popup-sheet-tesla .popup-btn.ghost:active{
  border-color:rgba(200,255,0,.5);
  color:#fff;
  background:rgba(200,255,0,.08);
}
.popup-sheet-tesla .popup-idx{
  top:10px;right:10px;
  background:rgba(0,0,0,.55);
  color:var(--lime);
  border:1px solid rgba(200,255,0,.3);
  font-weight:800;
}

/* T · Tesla — 기본 스킨 (다크 + 라임 프레임) */
.popup-skin-tesla.popup-mask,
.popup-mask.popup-skin-tesla{
  background:rgba(0,0,0,.78);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.popup-skin-tesla .popup-sheet,
.popup-sheet-tesla{
  background:linear-gradient(180deg, #12121c 0%, #0a0a12 100%);
  border:1px solid rgba(200,255,0,.28);
  border-radius:14px;
  box-shadow:
    0 0 0 1px rgba(0,0,0,.6),
    0 24px 64px rgba(0,0,0,.7),
    0 0 40px rgba(200,255,0,.07);
}
.popup-skin-tesla .popup-bar{
  background:linear-gradient(180deg, #0e0e16, #0a0a10);
  border-top:1px solid rgba(200,255,0,.14);
}
.popup-skin-tesla .popup-btn.primary{
  background:var(--lime);color:var(--ink);border-radius:11px;font-weight:900;
}
.popup-skin-tesla .popup-btn.ghost{
  border-color:rgba(200,255,0,.28);color:rgba(232,238,248,.85);
  border-radius:11px;background:rgba(200,255,0,.04);
}
.popup-skin-tesla .popup-idx{
  background:rgba(0,0,0,.55);color:var(--lime);border:1px solid rgba(200,255,0,.28);
}

/* A · Core — 테슬라 톤으로 정렬 (레거시 호환) */
.popup-skin-core .popup-sheet{
  background:linear-gradient(180deg, #14141e 0%, #0e0e16 100%);
  border:1px solid rgba(200,255,0,.22);
  border-radius:14px;
  box-shadow:0 20px 56px rgba(0,0,0,.65), 0 0 28px rgba(200,255,0,.05);
}
.popup-skin-core .popup-bar{
  background:#0e0e16;
  border-top:1px solid rgba(200,255,0,.1);
}
.popup-skin-core .popup-btn.primary{
  background:var(--lime);color:var(--ink);border-radius:11px;
}
.popup-skin-core .popup-btn.ghost{
  border-color:rgba(200,255,0,.25);color:rgba(255,255,255,.78);
}
.popup-skin-core .popup-idx{
  background:rgba(0,0,0,.55);color:var(--lime);border:1px solid rgba(200,255,0,.25);
}

/* B · Glass — 글래스 모피즘 + 라임 헤어라인 */
.popup-skin-glass .popup-mask,
.popup-skin-glass.popup-mask{
  background:rgba(0,0,0,.55);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.popup-skin-glass .popup-sheet{
  background:rgba(18,18,28,.72);
  border:1px solid rgba(200,255,0,.22);
  border-radius:16px;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.04) inset,
    0 24px 64px rgba(0,0,0,.55),
    0 0 40px rgba(200,255,0,.06);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
.popup-skin-glass .popup-bar{
  background:rgba(10,10,16,.55);
  border-top:1px solid rgba(200,255,0,.12);
}
.popup-skin-glass .popup-btn.primary{
  background:linear-gradient(180deg, #d9ff4d, var(--lime));
  color:var(--ink);
  border-radius:999px;
  font-weight:900;
}
.popup-skin-glass .popup-btn.ghost{
  border-radius:999px;
  border-color:rgba(255,255,255,.22);
  color:#e8eef8;
}
.popup-skin-glass .popup-idx{
  background:rgba(200,255,0,.12);color:var(--lime);border:1px solid rgba(200,255,0,.3);
}

/* C · Frame — 라임 프레임 + 디스플레이 타이포 뱃지 */
.popup-skin-frame .popup-sheet{
  background:#0a0a10;
  border:2px solid var(--lime);
  border-radius:8px;
  box-shadow:
    0 0 0 4px rgba(0,0,0,.9),
    0 0 0 5px rgba(200,255,0,.35),
    0 28px 60px rgba(0,0,0,.7);
}
.popup-skin-frame .popup-bar{
  background:#07070c;
  border-top:1px solid rgba(200,255,0,.2);
  gap:10px;
}
.popup-skin-frame .popup-btn.primary{
  background:var(--lime);color:var(--ink);
  border-radius:6px;
  letter-spacing:.02em;
  text-transform:uppercase;
  font-family:var(--font-display), var(--font);
  font-size:12px;
}
.popup-skin-frame .popup-btn.ghost{
  border:1px solid rgba(200,255,0,.35);
  color:var(--lime);
  border-radius:6px;
  font-family:var(--font-display), var(--font);
  font-size:11px;
  text-transform:uppercase;
}
.popup-skin-frame .popup-idx{
  top:0;right:0;border-radius:0 0 0 8px;
  background:var(--lime);color:var(--ink);
  font-family:var(--font-display), var(--font);
  font-weight:900;font-size:10px;letter-spacing:.04em;
}
.popup-skin-frame .popup-media{
  border-bottom:1px solid rgba(200,255,0,.15);
}

/* D · Pink — 라임 닫기 + 핑크 보조 (환전/포인트 톤과 조화) */
.popup-skin-pink .popup-sheet{
  background:linear-gradient(165deg, #16101a 0%, #0e0e16 48%, #0c0c14 100%);
  border:1px solid rgba(255,43,214,.28);
  border-radius:14px;
  box-shadow:
    0 24px 64px rgba(0,0,0,.6),
    0 0 32px rgba(255,43,214,.08);
}
.popup-skin-pink .popup-bar{
  background:rgba(14,14,22,.95);
  border-top:1px solid rgba(255,43,214,.15);
}
.popup-skin-pink .popup-btn.primary{
  background:var(--lime);color:var(--ink);border-radius:10px;
}
.popup-skin-pink .popup-btn.ghost{
  border-color:rgba(255,43,214,.4);
  color:#ff8aef;
  background:rgba(255,43,214,.08);
  border-radius:10px;
}
.popup-skin-pink .popup-btn.ghost:active{
  color:#fff;border-color:var(--pink);
}
.popup-skin-pink .popup-idx{
  background:rgba(255,43,214,.2);color:#ffb0f0;border:1px solid rgba(255,43,214,.35);
}

/* toast — 기본은 JS(placeToastHost)가 위치 제어. CSS 는 폴백·모양만 */
.toast-host{
  position:fixed;
  left:50%;
  top:calc(var(--header-h, 52px) + var(--menu-h, 52px) + 12px);
  transform:translateX(-50%);
  z-index:2147483646;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
  pointer-events:none;
  max-width:min(520px, 94vw);
  width:max-content;
}
.toast{
  background:#027a48;
  color:#fff;
  border:1px solid rgba(255,255,255,.12);
  padding:14px 18px;
  border-radius:12px;
  min-width:min(280px,92vw);
  font-size:15px;
  font-weight:700;
  box-shadow:0 14px 36px rgba(0,0,0,.42);
  pointer-events:auto;
}
.toast.toast-error{background:#b42318}
.toast.toast-info{background:#175cd3}
.toast.toast-success{background:#027a48}

/* slot game picker — 첨부 원본: 중앙 공급사명 · 우측 검색 · 6열 썸네일
 * z-index 반드시 PC 고정 헤더(500)·메뉴(499) 위. 이하면 검색창이 메뉴 아래에 가려짐. */
.game-picker{
  display:none;
  position:fixed; inset:0; z-index:9600;
  background:#0a0f18;
  padding:0;
  align-items:stretch;
  justify-content:center;
  overflow-x:hidden;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  scrollbar-width:none;
  -ms-overflow-style:none;
}
.game-picker::-webkit-scrollbar{display:none;width:0;height:0}
.game-picker.show{display:flex}
.game-picker-panel,
.game-picker-panel.game-picker-gallery{
  width:100%;
  max-width:100%;
  max-height:none;
  height:auto;
  min-height:100%;
  flex:1 0 auto;
  margin:0 auto;
  background:#0a0f18;
  border:0;
  border-radius:0;
  padding:20px 28px 32px;
  display:flex; flex-direction:column;
  gap:0;
  box-shadow:none;
  box-sizing:border-box;
  overflow:visible !important;
}
/* ① 상단 중앙 공급사명  ② 구분선  ③ 우측 게임명 검색 */
.game-picker-head{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:0;
  flex-shrink:0;
  padding:8px 0 0;
  position:sticky;
  top:0;
  z-index:10;
  min-height:0;
  border-bottom:0;
  max-width:1400px;
  width:100%;
  margin:0 auto;
  background:#0a0f18;
}
.game-picker-head-row{
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  min-height:48px;
  width:100%;
  padding:8px 48px 14px;
  box-sizing:border-box;
  border-bottom:1px solid rgba(255,255,255,.12);
}
.game-picker-head b,
.game-picker-head #game-picker-title{
  color:#f0f2f6 !important;
  font-size:18px;
  font-weight:700;
  letter-spacing:.02em;
  text-align:center;
  display:block;
  margin:0 auto;
  max-width:70%;
  line-height:1.3;
}
.game-picker-head-right{
  position:absolute;
  right:0;
  top:50%;
  transform:translateY(-50%);
  display:flex !important;
  align-items:center;
  gap:6px;
  z-index:2;
}
/* 검색: 제목 아래 줄 · 우측 (첨부 이미지) — 항상 표시 */
.game-picker-search-row{
  display:flex !important;
  align-items:center;
  justify-content:flex-end !important;
  width:100% !important;
  min-height:52px !important;
  gap:8px;
  margin:0 !important;
  padding:14px 0 16px !important;
  box-sizing:border-box;
  border-bottom:0;
  visibility:visible !important;
  opacity:1 !important;
  position:relative !important;
  z-index:5 !important;
  pointer-events:auto !important;
}
.game-picker-x{
  position:absolute;
  right:0;
  top:50%;
  transform:translateY(-50%);
  flex:0 0 auto;
  width:36px; height:36px;
  border:0; border-radius:8px;
  background:transparent;
  color:#fff !important;
  font-size:24px; line-height:1; cursor:pointer;
  opacity:.85;
  z-index:3;
}
.game-picker-x:hover{opacity:1; background:rgba(255,255,255,.08)}
.game-picker-grid{
  overflow:visible !important;
  display:grid;
  /* 첨부 원본: 6열 */
  grid-template-columns:repeat(6, minmax(0, 1fr));
  gap:20px 16px;
  padding:8px 0 20px;
  flex:0 0 auto;
  min-height:auto;
  height:auto;
  max-height:none;
  align-content:start;
  align-items:stretch;
  scrollbar-width:none;
  max-width:1400px;
  width:100%;
  margin:0 auto;
  box-sizing:border-box;
}
.game-picker-grid::-webkit-scrollbar{display:none;width:0;height:0}
.game-picker-search-top{display:none !important}
.game-picker-foot,
.game-picker-foot-scroll{
  flex:0 0 auto;
  display:flex; flex-direction:column; gap:4px;
  padding:8px 4px 2px;
  margin:0;
  background:transparent;
  border-top:1px solid rgba(255,255,255,.08);
  z-index:3;
}
.game-picker-pager{display:none !important}
.game-pick-pg,
.game-pick-pg-info{display:none !important}
.game-picker-search-label{display:none !important}
.game-picker-q,
#game-picker-q,
input.game-picker-q[type="search"]{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  /* 우측 배치용 고정 폭 (전체 폭 아님) */
  width:min(280px, 42vw) !important;
  min-width:180px !important;
  max-width:320px !important;
  flex:0 0 auto;
  box-sizing:border-box;
  color-scheme: light !important;
  background:#ffffff !important;
  background-color:#ffffff !important;
  border:1px solid #d0d4dc !important;
  border-radius:8px;
  padding:10px 14px;
  color:#111111 !important;
  -webkit-text-fill-color:#111111 !important;
  caret-color:#111111 !important;
  font-size:14px;
  font-weight:500;
  -webkit-appearance:none;
  appearance:none;
  height:auto !important;
  min-height:40px;
  box-shadow:0 2px 10px rgba(0,0,0,.22);
}
.game-picker-q::placeholder,
#game-picker-q::placeholder{
  color:#666666 !important;
  -webkit-text-fill-color:#666666 !important;
  opacity:1 !important;
}
.game-picker-q:focus,
#game-picker-q:focus{
  outline:none;
  border-color:#c8ff00 !important;
  box-shadow:0 0 0 2px rgba(200,255,0,.3);
  background:#ffffff !important;
  color:#111111 !important;
  -webkit-text-fill-color:#111111 !important;
}
.game-picker-q:-webkit-autofill,
#game-picker-q:-webkit-autofill{
  -webkit-box-shadow:0 0 0 1000px #fff inset !important;
  -webkit-text-fill-color:#111 !important;
}
.game-pick-count{
  margin:0;
  padding:2px;
  text-align:center;
  font-size:12px;
  font-weight:700;
  letter-spacing:.02em;
  color:rgba(255,255,255,.72) !important;
}
.game-pick-empty{
  grid-column:1 / -1;
  text-align:center;
  color:rgba(255,255,255,.65) !important;
  padding:28px 8px;
  margin:0;
  font-size:14px;
  font-weight:700;
}
/* 카드: 첨부 원본 — 둥근 썸네일 + 아래 게임명 */
.game-picker-grid button.game-pick-card,
.game-picker-grid .game-pick-card{
  display:flex;
  flex-direction:column;
  gap:8px;
  width:100%;
  min-width:0;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  overflow:visible;
  background:transparent;
  box-shadow:none;
  cursor:pointer;
  text-align:center;
  color:#fff;
  font:inherit;
  -webkit-tap-highlight-color:transparent;
  align-self:stretch;
  transform:none;
}
.game-picker-grid .game-pick-card:hover .game-pick-thumb,
.game-picker-grid .game-pick-card:active .game-pick-thumb{
  outline:1px solid rgba(255,255,255,.22);
  transform:translateY(-2px);
  box-shadow:0 10px 24px rgba(0,0,0,.4);
}
.game-picker-grid .game-pick-thumb{
  position:relative;
  width:100%;
  /* 첨부 원본: 가로형 카드 썸네일 */
  aspect-ratio: 16 / 11;
  border-radius:12px;
  overflow:hidden;
  background:#121820;
  flex:0 0 auto;
  transition:transform .15s ease, box-shadow .15s ease;
  box-sizing:border-box;
}
/* 칸 안 채움 — 중앙 배치 (첨부 이미지 밀도) */
.game-picker-grid .game-pick-thumb-img,
.game-picker-grid .game-pick-thumb img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover !important;
  object-position:center center !important;
  pointer-events:none;
  filter:none !important;
  transform:none !important;
  background:#121820;
}
.game-picker-grid .game-pick-name{
  color:rgba(230,234,240,.92) !important;
  font-weight:600 !important;
  font-size:12px !important;
  line-height:1.35;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  margin:0;
  padding:0 2px;
  text-shadow:none;
}
.game-pick-fallback{
  width:100%;
  height:100%;
  min-height:100%;
  aspect-ratio:auto;
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(145deg,#1a2230,#0d121a);
  color:#fff; font-size:1.35rem; font-weight:800;
}
@media (max-width:1200px){
  .game-picker-grid{grid-template-columns:repeat(5, minmax(0, 1fr)); gap:16px 12px}
  .game-picker-panel, .game-picker-panel.game-picker-gallery{padding:16px 18px 24px}
}
@media (max-width:1000px){
  .game-picker-grid{grid-template-columns:repeat(4, minmax(0, 1fr)); gap:14px 12px}
}
@media (max-width:1100px){
  .game-picker-grid{grid-template-columns:repeat(3, minmax(0, 1fr)); gap:12px 10px}
  .game-picker-panel, .game-picker-panel.game-picker-gallery{padding:12px 14px 20px}
}
@media (max-width:560px){
  .game-picker-grid{grid-template-columns:repeat(3, minmax(0, 1fr)); gap:10px 8px}
  .game-picker-head b, .game-picker-head #game-picker-title{font-size:15px}
  .game-picker-grid .game-pick-name{font-size:11px !important}
  .game-picker-q{
    width:min(220px, 70vw) !important;
    font-size:13px; min-height:38px; padding:8px 12px;
  }
}
.hotel-fallback{
  display:flex;align-items:center;justify-content:center;
  aspect-ratio:16/10; border-radius:6px;
  background:var(--panel);
  color:rgba(255,255,255,.55); font-weight:800; font-size:28px; letter-spacing:.04em;
}

/* auth */
.auth-page{
  min-height:100vh;display:grid;place-items:center;padding:24px;
  background:var(--bg);
}
/* 로그인/가입: 유저 헤더·모바일 셸 숨김 + 뷰포트 정중앙 */
body.page-auth{
  padding:0 !important;
  margin:0 !important;
  min-height:100vh;
  min-height:100dvh;
  overflow:hidden !important;
  background:#07070c !important;
}
html.page-auth{
  overflow:hidden !important;
  background:#07070c !important;
}
body.page-auth .top_header,
body.page-auth .main_menu_wrap,
body.page-auth .m-orig-chrome,
body.page-auth .m-bottom-nav,
body.page-auth .drawer{
  display:none !important;
}
body.page-auth .auth-page{
  position:fixed !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  margin:0 !important;
  display:flex !important;
  align-items:center;
  align-items:safe center;
  justify-content:center;
  box-sizing:border-box;
  padding:24px 16px;
  overflow:auto !important;
  background:#07070c !important;
}
/* 회원가입: 긴 폼 — 문서 스크롤, 위부터 표시 (로그인 정중앙 잠금 제외) */
html.page-register,
html.page-register body,
body.page-register{
  height:auto !important;
  min-height:100dvh !important;
  overflow-x:hidden !important;
  overflow-y:auto !important;
}
body.page-register .auth-page{
  position:static !important;
  inset:auto !important;
  height:auto !important;
  min-height:100dvh !important;
  overflow:visible !important;
  align-items:flex-start !important;
  justify-content:center !important;
}
.auth-card{
  width:min(400px,100%);background:var(--panel);border:1px solid var(--line);
  border-radius:8px;padding:28px 24px;
}
.auth-card .logo{text-align:center;margin-bottom:16px}
.auth-card .logo img{height:44px;margin:0 auto}
.auth-card h1{text-align:center;margin:0 0 6px;font-size:20px}
.auth-card .sub{text-align:center;color:var(--muted);font-size:13px;margin-bottom:18px}
.auth-card .hbtn{width:100%;padding:11px;margin-top:8px}
.demo-note{margin-top:14px;padding:10px;border:1px solid var(--line);border-radius:4px;font-size:12px;color:var(--muted)}

.sample-tag{color:var(--ink);background:var(--lime);padding:1px 6px;border-radius:3px;font-weight:800}
.note{
  margin:12px 0;padding:10px 12px;border:1px dashed rgba(255,255,255,.14);
  background:rgba(255,255,255,.04);color:var(--muted);font-size:12px;border-radius:4px;
}

/* ========== drawer ========== */
.drawer{display:none;position:fixed;inset:0;z-index:90}
.drawer.open{display:block}
.drawer .mask{position:absolute;inset:0;background:rgba(0,0,0,.55)}
.drawer .panel-d{
  position:absolute;top:0;right:0;width:min(320px,90vw);height:100%;
  background:var(--panel);border-left:1px solid var(--line);
  padding:14px 14px calc(20px + env(safe-area-inset-bottom));
  display:flex;flex-direction:column;gap:6px;
  overflow-y:auto;-webkit-overflow-scrolling:touch;
}
.drawer .panel-d .drawer-head{
  display:flex;justify-content:space-between;align-items:center;
  margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid var(--line);
}
.drawer .panel-d .drawer-user{
  display:grid;gap:6px;padding:10px;margin-bottom:8px;
  border:1px solid var(--line);border-radius:6px;background:rgba(255,255,255,.03);
}
.drawer .panel-d .drawer-user .row{display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}
.drawer .panel-d .drawer-user .row b{color:var(--gold)}
.drawer .panel-d .drawer-user .nick{font-weight:800;color:var(--text);font-size:14px}
.drawer a{
  padding:12px;border:1px solid var(--line);border-radius:6px;
  font-size:14px;font-weight:700;background:transparent;color:var(--text);
  min-height:44px;display:flex;align-items:center;
}
.drawer a.active{border-color:rgba(255,255,255,.22);color:#fff;background:rgba(255,255,255,.06)}
.drawer .drawer-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:6px 0 10px}
.drawer .drawer-actions a{justify-content:center;text-align:center;font-size:13px;padding:10px 8px}
.drawer .drawer-actions a.charge{
  background:rgba(200,255,0,.12);border-color:rgba(200,255,0,.4);color:var(--lime);
  transition:background .1s ease,color .1s ease,border-color .1s ease;
}
.drawer .drawer-actions a.orange{
  background:rgba(255,43,214,.12);border-color:rgba(255,43,214,.4);color:#ff7ae8;
  transition:background .1s ease,color .1s ease,border-color .1s ease;
}
.drawer .drawer-actions a.charge.is-on,
.drawer .drawer-actions a.charge.is-press,
.drawer .drawer-actions a.charge:active{
  background:var(--lime);border-color:transparent;color:var(--ink);
}
.drawer .drawer-actions a.orange.is-on,
.drawer .drawer-actions a.orange.is-press,
.drawer .drawer-actions a.orange:active{
  background:var(--pink);border-color:transparent;color:#fff;
}

/* desktop: hide original-mobile chrome */
.m-orig-chrome{display:none}
.m-bottom-nav{display:none}
/* 공급사 영문/일본 로고 월 — 유저 화면에 사명 노출 금지 */
.home-logo-wall{display:none !important}

/* sports BETTING CART — PC: 뷰포트 fixed (경기만 스크롤) */
.betting_cart{
  width:100%;
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  background:var(--panel); border:1px solid var(--line2); border-radius:8px;
  padding:0; box-shadow:0 12px 40px rgba(0,0,0,.35);
  overflow:hidden;
  z-index:40;
}
/* PC: JS 가 top/left/max-height 지정 · 스크롤해도 자리 유지 */
@media (min-width:981px){
  .betting_cart,
  .betting_cart.is-pinned{
    position:fixed !important;
    width:var(--betslip-w, 300px) !important;
    max-width:min(300px, 32vw);
    /* 세로: 헤더 아래 ~ 화면 중간 영역 고정 */
    top:var(--betslip-sticky-top, 112px);
    max-height:var(--betslip-max-h-dvh, calc(100dvh - 120px));
    max-height:var(--betslip-max-h, calc(100vh - 120px));
    will-change:top, left;
  }
}
.betting_cart .cart-top{
  flex:0 0 auto;
  display:flex;align-items:center;justify-content:space-between;
  padding:12px 14px;border-bottom:1px solid var(--line);
  background:var(--panel2);
}
.betting_cart .cart-top .fold{
  display:inline-flex;align-items:center;gap:6px;font-weight:900;color:var(--text);font-size:15px;
}
.betting_cart .cart-top .fold .badge{
  min-width:20px;height:20px;padding:0 6px;border-radius:10px;
  background:rgba(255,255,255,.14);color:#fff;font-size:12px;font-weight:900;
  display:inline-flex;align-items:center;justify-content:center;
}
.betting_cart .cart-top .clear{
  background:transparent;border:0;color:var(--muted);cursor:pointer;font-size:13px;font-weight:700;padding:4px 6px;
}
.betting_cart .cart-top .clear:hover{color:#ff8a80}
/* 폴드 목록: 남은 높이만 차지 · 많으면 내부 스크롤 */
.cart_list{
  flex:1 1 auto;
  min-height:72px;
  max-height:none;
  overflow:auto;
  padding:10px 12px;
  -webkit-overflow-scrolling:touch;
}
.cart_list .no_list{
  list-style:none;color:var(--muted);font-size:14px;text-align:center;padding:24px 8px;line-height:1.45;
}
.cart_list .cart-item{
  border:1px solid var(--line);border-radius:6px;padding:10px 12px;margin-bottom:8px;
  background:var(--bg-deep);position:relative;
}
.cart_list .cart-item .ci-league{font-size:12px;color:var(--muted);margin-bottom:3px}
.cart_list .cart-item .ci-game{font-size:14px;font-weight:800;margin-bottom:5px;padding-right:22px}
.cart_list .cart-item .ci-pick{font-size:14px;font-weight:700;color:#fff}
.cart_list .cart-item .ci-odd{font-weight:900;float:right;color:#fff;font-size:16px}
.cart_list .cart-item .ci-del{
  position:absolute;top:6px;right:6px;border:0;background:transparent;
  color:var(--muted);cursor:pointer;font-size:16px;line-height:1;padding:2px 4px;
}
.cart_list .cart-item .ci-del:hover{color:#ff8a80}
.cart-summary{
  flex:0 0 auto;
  padding:12px 14px;border-top:1px solid var(--line);font-size:14px;
  display:grid;gap:8px;
}
.cart-summary p{display:flex;justify-content:space-between;align-items:center;margin:0;color:var(--muted);font-size:14px}
.cart-summary .total.highlight,.cart-summary .dividends,.cart-summary .my_money{
  color:var(--text);font-weight:900;font-size:17px;letter-spacing:-0.02em;
}
.cart-summary .dividends{color:var(--gold)}
/* 배팅금액 칩 — 기본 다크+라임테두리 → hover 라임채움(베팅하기 색) → click 확정 */
.cart-amounts{
  flex:0 0 auto;
  padding:0 14px 12px;
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:8px;
}
.cart-amounts button{
  box-sizing:border-box;
  min-height:44px;
  padding:11px 6px;
  border:2px solid var(--lime,#c8ff00);
  border-radius:8px;
  background:rgba(200,255,0,.08);
  color:var(--lime,#c8ff00);
  font-size:14px;
  font-weight:900;
  letter-spacing:-0.02em;
  cursor:pointer;
  transition:background .12s ease, color .12s ease, border-color .12s ease, box-shadow .12s ease, transform .1s ease, filter .1s ease;
  box-shadow:none;
  -webkit-tap-highlight-color:transparent;
  user-select:none;
}
/* hover: 확실히 다른 색(베팅하기와 동일 솔리드 라임) — 미디어쿼리 없이 항상 적용 */
.cart-amounts button:hover,
.cart-amounts button.is-hover{
  background:var(--lime,#c8ff00) !important;
  color:var(--ink,#07070c) !important;
  border-color:var(--lime,#c8ff00) !important;
  box-shadow:0 2px 12px rgba(200,255,0,.4) !important;
  transform:translateY(-1px);
  filter:none;
}
.cart-amounts button:active{
  background:#d9ff4d !important;
  color:var(--ink,#07070c) !important;
  transform:scale(.97);
  box-shadow:inset 0 1px 3px rgba(0,0,0,.18) !important;
}
.cart-amounts button.is-press,
.cart-amounts button.is-active{
  background:var(--lime,#c8ff00) !important;
  color:var(--ink,#07070c) !important;
  border-color:rgba(7,7,12,.35) !important;
  box-shadow:0 0 0 2px rgba(200,255,0,.35), inset 0 1px 2px rgba(0,0,0,.12) !important;
  transform:none;
}
@media (max-width:480px){
  .cart-amounts{grid-template-columns:repeat(3, minmax(0, 1fr));gap:7px}
  .cart-amounts button{min-height:42px;padding:10px 4px;font-size:13px}
}
.betting_input{flex:0 0 auto;padding:0 14px 12px}
.betting_input label{display:block;font-size:13px;font-weight:700;color:var(--muted);margin-bottom:6px}
.betting_input input{
  width:100%;box-sizing:border-box;padding:12px 14px;border-radius:8px;min-height:46px;
  border:1px solid var(--line);background:var(--bg-deep);color:var(--text);font-weight:900;font-size:18px;
  letter-spacing:-0.02em;
}
.cart-submit{
  flex:0 0 auto;
  margin:0 14px 14px;width:calc(100% - 28px);box-sizing:border-box;
  display:flex;align-items:center;justify-content:center;gap:6px;
  padding:14px;border:0;border-radius:8px;cursor:pointer;min-height:50px;
  background:var(--lime);color:var(--ink);font-weight:900;font-size:17px;
  transition:filter .12s ease, transform .1s ease;
}
.cart-submit:disabled{opacity:.45;cursor:not-allowed}
.cart-submit:not(:disabled):hover{filter:brightness(1.06)}
.cart-submit:not(:disabled):active{filter:brightness(.95);transform:scale(.99)}
.sport-board{display:grid;gap:12px;margin-top:4px;padding-bottom:12px}
.sports-note{color:var(--muted);font-size:12px;margin:8px 0 0}
.league-block{margin-bottom:4px}
.league-head{
  display:flex;align-items:center;gap:8px;padding:8px 10px;margin-bottom:8px;
  border-radius:6px;background:var(--panel2);
  border:1px solid var(--line);font-size:13px;font-weight:700;
}
.league-head .league-sport{color:var(--muted)}
.league-head .league-name{color:var(--text)}
.league-head .league-n{
  margin-left:auto;font-size:11px;color:var(--muted);font-weight:600;
  background:rgba(255,255,255,.04);padding:2px 8px;border-radius:10px;
}
.match .teams{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}
.match .teams .vs{color:var(--muted);font-weight:600;font-size:12px}
.match-score{
  font-weight:900;font-size:1.15rem;color:#fff;min-width:52px;text-align:center;
  padding:2px 8px;border-radius:4px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);
}
.match-period{color:#ffb74d;font-weight:700;font-size:12px}
.lobby-badge{
  position:absolute;right:8px;bottom:8px;z-index:2;
  background:rgba(0,0,0,.65);color:#fff;font-size:11px;font-weight:800;
  padding:2px 7px;border-radius:4px;border:1px solid rgba(255,255,255,.2);
}
.game-item .img_wrap{position:relative}
@media (max-width:980px){
  .sports-layout{grid-template-columns:1fr;gap:10px}
  .sports-cart-col{width:100%;min-width:0;min-height:0}
  /* 좁은 화면: 하단 탭 위 슬립. 빈 슬립은 접어 배당판을 가리지 않음 */
  .betting_cart,
  .betting_cart.is-pinned{
    position:fixed !important;
    left:10px !important;
    right:10px !important;
    width:auto !important;
    max-width:none !important;
    top:auto !important;
    bottom:calc(72px + env(safe-area-inset-bottom, 0px)) !important;
    z-index:70;
    max-height:380px !important;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    box-shadow:0 -8px 32px rgba(0,0,0,.55);
    transform:none !important;
  }
  .betting_cart.is-collapsed{
    max-height:48px !important;
  }
  .betting_cart.is-collapsed .cart_list,
  .betting_cart.is-collapsed .cart-summary,
  .betting_cart.is-collapsed .cart-amounts,
  .betting_cart.is-collapsed .betting_input,
  .betting_cart.is-collapsed .cart-submit{
    display:none !important;
  }
  .betting_cart .cart-top,
  .betting_cart .cart-summary,
  .betting_cart .cart-amounts,
  .betting_cart .betting_input,
  .betting_cart .cart-submit{
    flex:0 0 auto;
  }
  .betting_cart .cart-top .fold{cursor:pointer}
  .page-body:has(.sport-board){padding-bottom:470px}
  .page-body:has(.sport-board):has(.betting_cart.is-collapsed){padding-bottom:130px}
  .cart_list{flex:1 1 auto;min-height:0;max-height:48px;overflow:auto}
  .betting_cart .cart-summary{padding:8px 12px;gap:4px}
  .betting_cart .cart-summary .total.highlight,
  .betting_cart .cart-summary .dividends,
  .betting_cart .cart-summary .my_money{font-size:14px}
  .betting_cart .cart-amounts{gap:6px;padding:0 12px 8px}
  .betting_cart .cart-amounts button{padding:8px 6px;font-size:12px;min-height:36px}
  .betting_cart .betting_input{padding:6px 12px}
  .betting_cart .cart-submit{margin:0 12px 8px;min-height:44px;padding:10px}
  .home-logo-wall{display:none !important}
}

/* table scroll */
.table-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}

@media (max-width:1100px){
  .rec-grid{grid-template-columns:repeat(3,1fr)}
  .slot-grid{grid-template-columns:repeat(3,1fr)}
}

/* ========== MOBILE 전용 (≤1100px) — 터치·세로 스크롤 최적화 ========== */
@media (max-width:1100px){
  html,body{overflow-x:clip;overflow-y:auto;max-width:100vw;background:var(--bg);height:auto}

  /* hide desktop chrome (CSS fallback if JS class 지연) */
  .top_header,
  .main_menu_wrap:not(.game-play-bar),
  .hero-banner{display:none !important}
  .menu-toggle{display:none !important}
  /* 게임 플레이 로고 바는 모바일에서도 표시 (홈 이동) */
  .main_menu_wrap.game-play-bar{
    display:block !important;
    position:sticky;top:0;z-index:75;
    background:var(--panel);
  }
  .main_menu_wrap.game-play-bar .inner{padding:8px 12px;min-height:44px}
  .main_menu_wrap.game-play-bar .brand img{height:28px}
  .main_menu_wrap.game-play-bar .main_menu{display:none !important}

  /* ----- top logo + language (sticky) ----- */
  .m-orig-chrome{display:block;background:var(--bg)}
  /* 홈은 원본 ACE 크롬(햄버거·로고·가입/로그인)을 HTML에 두고 tesla 셸은 숨김 */
  body.page-home .m-orig-chrome{display:none !important}
  .m-topbar{
    display:flex;align-items:center;justify-content:space-between;
    padding:8px 12px;min-height:48px;
    padding-top:max(8px, env(safe-area-inset-top));
    background:var(--panel);
    border-bottom:1px solid rgba(255,255,255,.06);
    position:sticky;top:0;z-index:70;
  }
  .m-logo{display:inline-flex;align-items:center;line-height:0;text-decoration:none}
  .m-logo img{height:28px;width:auto;display:block;max-width:140px;object-fit:contain}
  .m-lang{
    display:inline-flex;align-items:center;gap:5px;
    background:transparent;border:1px solid rgba(255,255,255,.12);
    color:#cfe3ef;font-size:12px;font-weight:600;
    padding:8px 12px;border-radius:4px;cursor:pointer;
    min-height:var(--touch-min);
  }
  .m-lang-ico{font-size:13px}
  .m-lang-caret{opacity:.7;font-size:10px}

  /* ----- banner: 모바일 홈 슬라이더 (데스크톱과 동일 1초 교체) ----- */
  .m-banner{width:100%;line-height:0;background:#000;position:relative}
  .m-banner > img{
    width:100%;height:auto;display:block;
    aspect-ratio:720/440;object-fit:cover;max-height:none;
  }
  .m-banner-compact{display:none} /* 홈 외: 배너 숨김으로 본문 공간 확보 */
  .m-banner-stage{
    position:relative;
    width:100%;
    aspect-ratio:16/9;
    min-height:160px;
    max-height:42vw;
    overflow:hidden;
    background:#000;
  }
  .m-banner-slide{
    position:absolute;inset:0;
    display:block;opacity:0;visibility:hidden;
    transition:opacity .28s ease, visibility .28s ease;
    z-index:1;pointer-events:none;
  }
  .m-banner-slide.is-active{opacity:1;visibility:visible;z-index:2;pointer-events:auto}
  .m-banner-slide img{
    width:100%;height:100%;display:block;
    object-fit:cover;object-position:center;
  }
  .m-banner-slide::after{
    content:"";position:absolute;inset:0;
    background:linear-gradient(0deg,rgba(7,7,12,.75) 0%,transparent 48%);
    pointer-events:none;
  }
  .m-banner-caption{
    position:absolute;left:12px;bottom:12px;z-index:3;
    font-size:15px;font-weight:900;color:#fff;
    text-shadow:0 2px 10px rgba(0,0,0,.7);
    letter-spacing:.02em;
  }
  .m-banner-caption b{
    display:inline-block;margin-right:6px;
    font-size:10px;letter-spacing:.1em;
    color:rgba(255,255,255,.75);font-weight:800;
  }
  .m-banner-dots{
    position:absolute;right:10px;bottom:10px;z-index:4;
    display:flex;gap:6px;
  }
  .m-banner-dots button{
    width:7px;height:7px;border:0;border-radius:50%;padding:0;
    background:rgba(255,255,255,.35);cursor:pointer;
  }
  .m-banner-dots button.is-active{background:#fff;transform:scale(1.15)}

  /* ----- money row ----- */
  .m-moneybar{
    display:grid;grid-template-columns:1fr 1fr 1fr;
    background:var(--panel);border-bottom:1px solid rgba(140,180,255,.08);
    padding:10px 4px;
  }
  .m-money-item{
    display:flex;align-items:center;justify-content:center;gap:4px;
    font-size:12px;color:var(--muted);padding:6px 2px;position:relative;
  }
  .m-money-item + .m-money-item{border-left:1px solid rgba(140,180,255,.08)}
  .m-money-item .lab{font-weight:600}
  .m-money-item .val{color:var(--gold);font-weight:800;font-size:13px}
  .m-refresh{
    border:0;background:transparent;color:var(--muted);
    font-size:16px;padding:6px 8px;cursor:pointer;line-height:1;
    min-width:var(--touch-min);min-height:var(--touch-min);
  }

  /* ----- action buttons 3x2 (터치 최적화) ----- */
  .m-actions{
    display:grid;grid-template-columns:repeat(3,1fr);gap:8px;
    padding:10px 10px 8px;background:var(--bg);
  }
  .m-actions a,
  .m-actions .m-act{
    display:flex;align-items:center;justify-content:center;
    min-height:var(--touch-min);padding:10px 4px;
    border:1px solid var(--line);border-radius:10px;
    color:#fff;font-size:13px;font-weight:800;
    background:var(--panel);
    -webkit-tap-highlight-color:transparent;
  }
  .m-actions a:active,
  .m-actions .m-act:active{background:var(--panel2)}
  /* 충전/환전: 기본 톤다운 → is-on / 누르면 즉시 솔리드 */
  .m-actions a.charge,
  .m-actions .m-act.charge{
    background:rgba(200,255,0,.12);border-color:rgba(200,255,0,.4);color:var(--lime);
    box-shadow:none;
    transition:background .1s ease,color .1s ease,border-color .1s ease;
  }
  .m-actions a.orange,
  .m-actions .m-act.orange{
    background:rgba(255,43,214,.12);border-color:rgba(255,43,214,.4);color:#ff7ae8;
    box-shadow:none;
    transition:background .1s ease,color .1s ease,border-color .1s ease;
  }
  .m-actions a.charge.is-on,
  .m-actions a.charge.is-press,
  .m-actions a.charge:active,
  .m-actions .m-act.charge.is-on,
  .m-actions .m-act.charge.is-press,
  .m-actions .m-act.charge:active{
    background:var(--lime);border-color:transparent;color:var(--ink);
  }
  .m-actions a.orange.is-on,
  .m-actions a.orange.is-press,
  .m-actions a.orange:active,
  .m-actions .m-act.orange.is-on,
  .m-actions .m-act.orange.is-press,
  .m-actions .m-act.orange:active{
    background:var(--pink);border-color:transparent;color:#fff;
  }

  /* ----- category chips (중간 메뉴): 전부 라임 ----- */
  .m-cats{
    display:flex;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;
    padding:6px 10px 12px;background:var(--bg);
    scrollbar-width:none;overscroll-behavior-x:contain;
  }
  .m-cats::-webkit-scrollbar{display:none}
  .m-cats a{
    flex:0 0 auto;padding:10px 16px;border-radius:999px;
    border:1px solid rgba(200,255,0,.28);
    color:var(--lime) !important;
    font-size:13px;font-weight:800;background:var(--panel);
    white-space:nowrap;min-height:var(--touch-min);
    display:inline-flex;align-items:center;
    text-shadow:none;filter:none;
  }
  .m-cats a.active{
    background:rgba(200,255,0,.12);
    border-color:var(--lime);
    color:var(--lime) !important;
    box-shadow:none;filter:none;text-shadow:none;
  }
  .m-cats a:active{opacity:.9}

  /* ----- page content (하단 탭 여백) ----- */
  .page-body{
    padding:10px 10px calc(92px + env(safe-area-inset-bottom));
    max-width:100%;
  }
  .page-body.game-lobby-page{padding-top:10px}
  .page-head{flex-direction:column;align-items:flex-start;gap:8px;margin:4px 0 12px}
  .page-head h1{font-size:18px}
  .main_list{margin:16px 0}
  .main_title{margin-bottom:10px;padding-bottom:8px}
  .main_title h2{font-size:16px}
  .main_title .more{font-size:12px;color:var(--muted);min-height:var(--touch-min);display:inline-flex;align-items:center}

  /* 로비: 모바일 2열 + 터치 카드 */
  .live-casino-list,
  .game-lobby-list{grid-template-columns:repeat(2, 1fr); gap:10px}
  .live-item .item_title,
  .game-item .item_title{font-size:.92rem;margin-top:6px}
  .live-item .img_wrap,
  .game-item .img_wrap{border-radius:8px}
  .game-lobby-heading,
  .live-casino-heading{font-size:1.2rem;margin-bottom:12px}

  .rec-grid{grid-template-columns:repeat(2,1fr);gap:8px}
  .slot-grid{grid-template-columns:repeat(2,1fr);gap:8px}
  .live-track{grid-auto-columns:minmax(80%,1fr);gap:8px}
  .live-card .cap{font-size:13px;padding:8px 10px}
  .notice-row{grid-template-columns:64px 1fr;gap:8px;padding:12px;min-height:var(--touch-min)}
  .notice-row .date{display:none}
  .notice-row .title{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

  .tabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px;gap:6px}
  .tabs a,.tabs button{flex:0 0 auto;min-height:var(--touch-min)}
  .panel{padding:14px 12px}
  .field input,.field select,.field textarea{font-size:16px;min-height:var(--touch-min)} /* iOS zoom 방지 */
  .hbtn{min-height:var(--touch-min);padding:10px 14px}
  .table-scroll{
    margin:0 -2px;
    max-width:100%;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }
  table.data{width:100%;max-width:100%;font-size:12px}
  .table-scroll table.data{width:max(100%,520px);max-width:none}
  .table-scroll table.data th,
  .table-scroll table.data td{padding:10px 6px;white-space:nowrap}
  .odds{grid-template-columns:1fr}
  .partner-strip,
  .footer .partner-strip{
    display:none !important;
  }
  .partner-strip img{display:none !important}
  .popup-mask,
  #popup{
    padding:12px;
    align-items:flex-end;
  }
  .popup,
  .popup-sheet{
    width:100%;
    max-width:100%;
    border-radius:14px 14px 10px 10px;
  }
  .toast-host{
    left:12px !important;right:12px !important;
    bottom:calc(76px + env(safe-area-inset-bottom,0px)) !important;
    top:auto !important;transform:none !important;
  }
  .toast{min-width:0;width:100%}
  .footer,
  footer.footer{display:none !important; height:0 !important; padding:0 !important; border:0 !important}
  .footer .langs{display:none !important}

  /* 홈 섹션 모바일 */
  .recommand_banner{grid-template-columns:repeat(2, 1fr); gap:8px}
  .marketing_banner{grid-template-columns:repeat(2, 1fr); gap:10px}
  .home-live-slider{max-height:200px}
  .home-event-banner{margin:12px 0}
  .home-partner-logos{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding-bottom:8px}

  /* 게임 피커: 모바일도 내부 스크롤바 없이 오버레이 스크롤 */
  .game-picker{
    padding:0;
    align-items:flex-start;
    overflow-x:hidden;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .game-picker::-webkit-scrollbar{display:none;width:0;height:0}
  .game-picker-panel,
  .game-picker-panel.game-picker-gallery{
    width:100%;max-width:100%;
    height:auto;
    max-height:none;
    min-height:min(100%, var(--gp-vh, 100dvh));
    border-radius:0;border:0;
    display:flex;flex-direction:column;
    padding:12px 12px calc(20px + env(safe-area-inset-bottom));
    gap:12px;
    box-sizing:border-box;
    background:var(--bg, #07070c);
    flex:0 0 auto;
    overflow:visible !important;
  }
  .game-picker-head b,
  .game-picker-head #game-picker-title{font-size:15px; color:#fff !important}
  .game-picker-search-row{display:flex !important}
  .game-picker-q{display:block !important}
  .game-picker-grid{
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    gap:12px 10px !important;
    flex:0 0 auto !important;
    min-height:auto !important;
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
    padding:4px 2px 16px;
    align-content:start;
    align-items:stretch;
  }
  .game-picker-grid .game-pick-name{
    color:#fff !important;
    font-size:11px !important;
    font-weight:700 !important;
  }
  .game-picker-foot{
    flex:0 0 auto;
    padding:12px 4px 8px;
    gap:12px;
    background:var(--bg, #07070c);
    border-top:1px solid rgba(255,255,255,.08);
  }
  .game-picker-search-label{
    color:var(--lime, #c8ff00) !important;
    font-size:13px !important;
    font-weight:800 !important;
  }
  /* 모바일에서도 게임명 검색 = 밝은 입력란 (가독) — 다크 강제 금지 */
  .game-picker-q,
  #game-picker-q,
  input.game-picker-q[type="search"]{
    display:block !important;
    font-size:15px !important;
    padding:10px 12px !important;
    min-height:42px !important;
    width:min(240px, 72vw) !important;
    min-width:160px !important;
    max-width:100% !important;
    color:#111111 !important;
    -webkit-text-fill-color:#111111 !important;
    background:#ffffff !important;
    background-color:#ffffff !important;
    border:1px solid #d0d4dc !important;
    color-scheme: light !important;
  }
  .game-picker-q::placeholder,
  #game-picker-q::placeholder{
    color:#666666 !important;
    -webkit-text-fill-color:#666666 !important;
  }
  .game-picker-search-row{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    width:100% !important;
    justify-content:flex-end !important;
  }
  .game-picker-head b,
  .game-picker-head #game-picker-title{
    font-size:17px !important;
  }
  .game-pick-count{
    color:var(--lime, #c8ff00) !important;
    font-size:13px !important;
    font-weight:800 !important;
  }
  .game-picker-grid .game-pick-card .slot-name{font-size:13px !important}
  .game-pick-pg-info{color:#fff !important}

  /* 하단 탭 제거 (27-1) */
  .m-bottom-nav{display:none !important}
  /* 하단 툴바: 아이콘·텍스트 전부 라임 */
  .m-bottom-nav a,.m-bottom-nav button{
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
    min-height:56px;padding:6px 1px;border:0;background:transparent;
    color:var(--lime) !important;font-size:10px;font-weight:800;cursor:pointer;text-decoration:none;
    -webkit-tap-highlight-color:transparent;
    text-shadow:none;filter:none;
  }
  .m-bottom-nav .ico{display:flex;line-height:1;color:var(--lime) !important}
  .m-bottom-nav .ico svg{display:block;fill:currentColor;color:inherit}
  .m-bottom-nav a span,
  .m-bottom-nav button span{color:var(--lime) !important}
  .m-bottom-nav a.active,
  .m-bottom-nav a:active,
  .m-bottom-nav button,
  .m-bottom-nav button.active,
  .m-bottom-nav button:active{
    color:var(--lime) !important;
    opacity:1;
  }
  .m-bottom-nav a.active .ico,
  .m-bottom-nav button.active .ico{color:var(--lime) !important;opacity:1}

  /* drawer: 원본 ACE 왼쪽 사이드 */
  .drawer.drawer-ace .panel-d,
  .drawer .panel-d{
    left:0;right:auto;
    width:min(78vw, 300px);
    height:100%;
    padding:0;
    padding-top:env(safe-area-inset-top, 0px);
    padding-bottom:env(safe-area-inset-bottom, 0px);
    background:#151a24;
    border:0;
    border-right:1px solid rgba(255,255,255,.06);
    gap:0;
    box-shadow:8px 0 28px rgba(0,0,0,.45);
  }
  .drawer .mask{background:rgba(0,0,0,.45)}
  .drawer.drawer-ace .ace-d-user{
    padding:16px 16px 10px;
    background:#1a2030;
  }
  .drawer.drawer-ace .ace-d-who{
    display:flex;align-items:center;gap:10px;
    margin-bottom:12px;
  }
  .drawer.drawer-ace .ace-d-lv{
    width:36px;height:36px;border-radius:8px;
    background:#2a3144;color:#cfd6e4;
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    line-height:1;flex-shrink:0;
  }
  .drawer.drawer-ace .ace-d-lv b{font-size:13px;font-weight:800;color:#fff}
  .drawer.drawer-ace .ace-d-lv small{font-size:8px;letter-spacing:.04em;margin-top:1px}
  .drawer.drawer-ace .ace-d-nick{font-size:15px;font-weight:800;color:#fff}
  .drawer.drawer-ace a.ace-d-stat,
  .drawer.drawer-ace .ace-d-stat{
    display:flex;align-items:center;justify-content:space-between;
    padding:8px 0;color:#c5cddd;font-size:13px;font-weight:600;
    text-decoration:none;border:0;background:transparent;min-height:0;
    border-radius:0;
  }
  .drawer.drawer-ace .ace-d-stat-static{
    cursor:default;
    pointer-events:none;
  }
  .drawer.drawer-ace .ace-d-stat-r{display:flex;align-items:center;gap:4px;color:#fff;font-weight:700}
  .drawer.drawer-ace .ace-d-stat-r b{font-weight:800;color:#fff}
  .drawer.drawer-ace a.ace-d-logout{
    display:flex;align-items:center;justify-content:space-between;
    margin-top:8px;padding:10px 0 4px;
    border:0;border-top:1px solid rgba(255,255,255,.08);border-radius:0;
    background:transparent;color:#c5cddd;font-size:13px;font-weight:700;
    min-height:0;text-decoration:none;
  }
  .drawer.drawer-ace .ace-d-out{opacity:.7;font-size:14px}
  .drawer.drawer-ace .ace-d-cat{
    padding:8px 16px;font-size:12px;font-weight:700;color:#9aa3b5;
    background:#121722;
  }
  .drawer.drawer-ace .ace-d-nav{display:flex;flex-direction:column}
  .drawer.drawer-ace .ace-d-nav a,
  .drawer.drawer-ace .ace-d-nav .ace-d-acc{
    display:flex;align-items:center;justify-content:space-between;
    padding:13px 16px;min-height:46px;
    border:0;border-bottom:1px solid rgba(255,255,255,.06);border-radius:0;
    background:transparent;color:#e8eef8;font-size:14px;font-weight:600;
    text-align:left;text-decoration:none;cursor:pointer;
  }
  .drawer.drawer-ace .ace-d-nav a.active{background:rgba(255,255,255,.04);color:#fff}
  .drawer.drawer-ace .ace-d-acc span{opacity:.55;font-size:12px}
  .drawer.drawer-ace .ace-d-acc.is-open span{transform:rotate(180deg)}
  .drawer.drawer-ace .ace-d-sub{background:#10151f}
  .drawer.drawer-ace .ace-d-sub a{padding-left:28px;font-size:13px;color:#c5cddd}

  /* auth */
  .auth-page{
    padding:16px 12px;align-items:flex-start;
    padding-top:max(24px,env(safe-area-inset-top));
    min-height:100dvh;
  }
  body.page-auth .auth-page{
    align-items:center !important;
    align-items:safe center !important;
    justify-content:center !important;
    padding:max(16px, env(safe-area-inset-top)) 12px max(16px, env(safe-area-inset-bottom));
    min-height:100dvh;
  }
  body.page-register .auth-page{
    align-items:flex-start !important;
    justify-content:center !important;
    min-height:100dvh;
  }
  .auth-card{padding:20px 16px;width:100%;max-width:100%}
  .auth-card .field input,.auth-card .field select{font-size:16px;min-height:var(--touch-min)}
}

@media (max-width:520px){
  .m-actions{grid-template-columns:repeat(3,1fr);gap:6px;padding:8px}
  .m-actions a{min-height:42px;font-size:12px}
  .m-cats a{padding:8px 12px;font-size:12px}
  .slot-grid,.rec-grid{gap:6px}
  .live-track{grid-auto-columns:minmax(86%,1fr)}
  .page-body{padding:10px 10px calc(88px + env(safe-area-inset-bottom))}
  .live-casino-list,
  .game-lobby-list{gap:8px}
  .game-item .item_title,
  .live-item .item_title{font-size:.85rem}
}

/* 터치 기기: 호버 들뜸 제거 */
@media (hover:none){
  .live-card:hover,.rec-card:hover,
  .game-item:hover,.live-item:hover,
  .recommand_banner a:hover,
  .marketing_banner_item:hover{transform:none;box-shadow:none}
  .m-actions a:active,.m-cats a:active{opacity:.9}
}

html,body{max-width:100vw;overflow-y:auto}
img,video,iframe{max-width:100%}

/* ========== MOBILE POLISH v20260729 ========== */
/* 모바일 전용 반응형 — 홈/로비/터치 UX 일괄 정리 */

/* 전역: 가로만 막고 세로는 반드시 스크롤 가능
 * overflow-x:hidden 단독 사용 시 일부 브라우저에서 y 스크롤이 잠기는 버그 방지 */
html{
  -webkit-text-size-adjust:100%;
  overflow-x:clip;
  overflow-y:auto;
  height:auto;
  min-height:100%;
}
body{
  overflow-x:clip;
  overflow-y:auto;
  overscroll-behavior-y:auto;
  height:auto;
  min-height:100%;
  position:relative;
}
/* 스크롤 잠금은 팝업/드로어 열릴 때만 */
body.popup-open,
body.drawer-open{
  overflow:hidden !important;
}
img,video,svg{max-width:100%;height:auto}

/* 스플래시가 숨김 상태면 절대 터치 가로채지 않음 */
#md-splash.md-splash-hide{
  pointer-events:none !important;
  display:none !important;
}

/* ≤900: 홈 그리드 충돌 해결 (min-width:700 4열 규칙 무력화) */
@media (max-width:1100px){
  /* 슬롯·라이브·인기바카라 전부 2열 (터치 큰 카드) */
  .home-slot-grid,
  .home-slot-grid-dense,
  .home-crypto-lobby .home-slot-grid,
  .home-live-grid,
  .home-live-row,
  .home-popular-bac,
  .home-popular-slot,
  #home-slot-grid,
  #home-live-grid,
  #home-popular-bac,
  #home-popular-slot{
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:8px !important;
    margin:0 !important;
    padding:0 !important;
    width:100% !important;
    max-width:100% !important;
  }

  /* 카드 터치 최적화 */
  .home-slot-card,
  .home-live-card,
  .home-slot-card.home-slot-official,
  .home-live-card.home-slot-official{
    border-radius:10px;
    -webkit-tap-highlight-color:transparent;
    touch-action:manipulation;
  }
  .home-slot-thumb{
    aspect-ratio:272/145;
    min-height:0;
  }
  .home-slot-card.home-slot-official .slot-official-thumb,
  .home-live-card.home-slot-official .slot-official-thumb{
    width:100%;
    height:100%;
    aspect-ratio:272/145;
  }
  /* 프라그마틱 로고: 모바일에서도 잘림 최소화 */
  .slot-official-thumb.thumb-logo-safe{
    padding:0 !important;
    object-fit:cover !important;
  }
  .home-slot-meta{
    padding:20px 8px 8px;
  }
  .home-slot-card.home-slot-official .slot-name,
  .home-live-card.home-slot-official .slot-name{
    font-size:12px !important;
    line-height:1.2;
  }
  .home-slot-card .slot-prov,
  .home-live-card .slot-prov{
    font-size:8px !important;
    letter-spacing:.04em;
  }
  .home-slot-card .slot-badge,
  .home-live-card .slot-badge{
    top:5px;left:5px;
    font-size:8px;padding:2px 6px;
  }

  /* 섹션 헤더 */
  .home-sec-title{
    margin-bottom:8px;
    gap:8px;
    flex-wrap:wrap;
  }
  .home-sec-title h2{
    font-size:15px !important;
    gap:6px;
  }
  .home-sec-title .more{
    font-size:12px;
    padding:8px 12px;
    min-height:40px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:999px;
    background:rgba(255,255,255,.04);
  }
  .home-slot-lead{
    font-size:11px !important;
    line-height:1.4;
    margin:0 0 10px !important;
    color:rgba(210,220,240,.6);
  }

  /* 페이지 본문 여백 + 하단탭 공간 */
  .page-body{
    padding:8px 10px calc(96px + env(safe-area-inset-bottom, 0px)) !important;
    width:100%;
    max-width:100% !important;
    box-sizing:border-box;
  }
  .page-body.home-crypto-lobby,
  .page-body.home-slot-first{
    padding-top:6px !important;
  }
  .main_list{margin:14px 0 18px !important}

  /* 신뢰 바: 가로 스와이프 */
  .home-trust-bar{
    display:flex !important;
    flex-wrap:nowrap !important;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    gap:6px;
    margin:0 0 10px;
    padding:8px 10px;
    border-radius:10px;
    scrollbar-width:none;
  }
  .home-trust-bar::-webkit-scrollbar{display:none}
  .home-trust-bar .trust-item{flex:0 0 auto;white-space:nowrap;font-size:11px}
  .home-trust-bar .trust-dot{flex:0 0 auto}

  /* 이벤트 배너 */
  .home-event-banner{margin:12px 0 8px}
  .home-event-banner img{
    border-radius:10px;
    aspect-ratio:16/5;
    max-height:120px;
    width:100%;
    object-fit:cover;
  }

  /* 로비 리스트 (라이브/호텔/슬롯 페이지) */
  .live-casino-list,
  .game-lobby-list,
  .game-lobby-page .game-lobby-list{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:10px !important;
  }
  .live-item .img_wrap,
  .game-item .img_wrap{
    border-radius:10px;
    overflow:hidden;
  }
  .live-item .item_title,
  .game-item .item_title{
    font-size:13px !important;
    margin-top:6px;
    line-height:1.25;
  }
  .game-lobby-heading,
  .live-casino-heading{
    font-size:1.15rem !important;
    margin:4px 0 12px;
  }

  /* 모바일 크롬 */
  .m-topbar{
    padding-left:max(12px, env(safe-area-inset-left));
    padding-right:max(12px, env(safe-area-inset-right));
  }
  .m-moneybar{
    padding-left:max(4px, env(safe-area-inset-left));
    padding-right:max(4px, env(safe-area-inset-right));
  }
  .m-actions{
    padding-left:max(10px, env(safe-area-inset-left));
    padding-right:max(10px, env(safe-area-inset-right));
  }
  .m-cats{
    padding-left:max(10px, env(safe-area-inset-left));
    padding-right:max(10px, env(safe-area-inset-right));
  }
  .m-banner img{
    aspect-ratio:16/9;
    max-height:42vw;
    min-height:140px;
    object-fit:cover;
  }

  /* 하단 탭: 가독 + safe area */
  .m-bottom-nav{
    padding-bottom:calc(4px + env(safe-area-inset-bottom, 0px));
    padding-left:env(safe-area-inset-left, 0px);
    padding-right:env(safe-area-inset-right, 0px);
  }
  .m-bottom-nav a,
  .m-bottom-nav button{
    min-height:54px;
    font-size:10px;
    gap:3px;
    color:var(--lime) !important;
  }
  .m-bottom-nav .ico svg{width:20px;height:20px}

  /* 폰 OS: iOS 입력 자동확대 방지 · 홈 인디케이터, Android 터치 하이라이트 */
  html.ua-ios input,
  html.ua-ios select,
  html.ua-ios textarea,
  html.is-ios input,
  html.is-ios select,
  html.is-ios textarea{
    font-size:16px !important;
  }
  html.ua-ios .m-bottom-nav,
  html.is-ios .m-bottom-nav{
    padding-bottom:max(8px, env(safe-area-inset-bottom, 0px));
  }
  html.ua-android .m-bottom-nav a,
  html.ua-android .m-bottom-nav button,
  html.is-android .m-bottom-nav a,
  html.is-android .m-bottom-nav button{
    -webkit-tap-highlight-color:transparent;
  }

  /* 푸터 전체 숨김 (네모칸 제거) */
  .footer,
  footer.footer{
    display:none !important;
    height:0 !important;
    padding:0 !important;
    margin:0 !important;
    border:0 !important;
  }
  .footer .partner-strip,
  .partner-strip{
    display:none !important;
  }
  .footer .partner-strip img,
  .partner-strip img{
    display:none !important;
  }

  /* 폼/버튼 터치 */
  input,select,textarea,button,.hbtn{
    touch-action:manipulation;
  }
  .field input,
  .field select,
  .field textarea,
  .auth-card input,
  .auth-card select{
    font-size:16px !important; /* iOS 줌 방지 */
    min-height:44px;
  }

  /* 토스트: 모바일 하단탭 위 (JS placeToastHost 와 동일 폴백) */
  .toast-host{
    left:12px !important;
    right:12px !important;
    bottom:calc(76px + env(safe-area-inset-bottom, 0px)) !important;
    top:auto !important;
    transform:none !important;
    width:auto !important;
    align-items:stretch !important;
  }

  /* 공지/테이블 */
  .notice-row{
    grid-template-columns:56px 1fr !important;
    padding:12px 10px;
    min-height:48px;
  }
  .notice-row .date{display:none}
  .table-scroll{
    margin:0 -4px;
    border-radius:8px;
  }

  /* 스플래시 */
  #md-splash .md-splash-logo{width:min(180px,62vw)}
  #md-splash .md-splash-mark{width:56px;height:56px}
  #md-splash .md-splash-name{font-size:18px}
}

/* 좁은 폰 (≤480) */
@media (max-width:480px){
  .home-slot-grid,
  .home-slot-grid-dense,
  .home-live-grid,
  .home-live-row,
  .home-popular-bac,
  .home-popular-slot,
  #home-slot-grid,
  #home-live-grid,
  #home-popular-bac,
  #home-popular-slot{
    gap:6px !important;
  }
  .home-slot-card.home-slot-official .slot-name,
  .home-live-card.home-slot-official .slot-name{
    font-size:11px !important;
  }
  .home-slot-meta{padding:16px 6px 6px}
  .home-sec-title h2{font-size:14px !important}
  .home-slot-lead{font-size:10px !important}
  .m-actions{gap:6px;padding:8px}
  .m-actions a,.m-actions .m-act{
    min-height:42px;
    font-size:12px;
    border-radius:8px;
  }
  .m-money-item{font-size:11px;padding:4px 2px}
  .m-money-item .val{font-size:12px}
  .m-cats a{padding:8px 12px;font-size:12px;min-height:40px}
  .page-body{
    padding:6px 8px calc(16px + env(safe-area-inset-bottom, 0px)) !important;
  }
  .m-bottom-nav a span:not(.ico),
  .m-bottom-nav button span:not(.ico){
    font-size:9px;
  }
  /* 프로브 텍스트 줄임 — 카드 높이 확보 */
  .home-slot-card .slot-prov,
  .home-live-card .slot-prov{
    display:-webkit-box;
    -webkit-line-clamp:1;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  .slot-official-thumb.thumb-logo-safe{
    padding:0 !important;
    object-fit:cover !important;
  }
}

/* 가로 모드 폰 */
@media (max-width:1100px) and (orientation:landscape){
  .m-banner img{max-height:28vh;min-height:100px}
  .home-slot-grid-dense,
  .home-live-grid,
  .home-popular-bac,
  #home-slot-grid,
  #home-live-grid{
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  }
  .page-body{
    padding-bottom:calc(16px + env(safe-area-inset-bottom, 0px)) !important;
  }
}

/* 큰 모바일/작은 태블릿 세로 (481–900): 선택적 3열 */
@media (min-width:481px) and (max-width:1100px) and (orientation:portrait){
  .home-slot-grid-dense,
  .home-live-grid,
  .home-popular-bac,
  .home-popular-slot,
  #home-slot-grid,
  #home-live-grid,
  #home-popular-bac{
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    gap:9px !important;
  }
  .live-casino-list,
  .game-lobby-list{
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  }
}

/* 터치 디바이스: 호버 들뜸 제거 (카드) */
@media (hover:none) and (pointer:coarse){
  .home-slot-card:hover,
  .home-live-card:hover,
  .marketing_banner_item:hover,
  .live-item:hover,
  .game-item:hover{
    transform:none !important;
  }
  .home-slot-card:active,
  .home-live-card:active{
    transform:scale(.98);
    opacity:.96;
  }
}

/* MOBILE FONT +10% */
@media (max-width:1100px){
  html{font-size:110%} /* rem 기준 전체 +10% */
  body{font-size:15.4px} /* 14 * 1.1 */
  .main_menu a{font-size:15px}
  .m-cats a{font-size:14px}
  .m-actions a,.m-actions .m-act{font-size:14px}
  .m-money-item{font-size:13px}
  .m-money-item .val{font-size:14px}
  .m-bottom-nav a,.m-bottom-nav button{font-size:11px}
  .home-sec-title h2,.main_title h2{font-size:17px !important}
  .home-slot-lead{font-size:12px !important}
  .home-slot-card.home-slot-official .slot-name,
  .home-live-card.home-slot-official .slot-name{font-size:13px !important}
  .home-slot-card .slot-prov,
  .home-live-card .slot-prov{font-size:9px !important}
  .live-item .item_title,
  .game-item .item_title{font-size:1rem !important}
  .page-head h1{font-size:20px}
  .auth-card h1{font-size:22px}
  .auth-card .field label{font-size:14px}
  .auth-card .field input,.auth-card .field select{font-size:16px} /* iOS 줌 방지 유지 */
  .hbtn{font-size:14px}
  .notice-row{font-size:14px}
  .toast{font-size:14px}
}
@media (max-width:480px){
  html{font-size:110%}
  .home-slot-card.home-slot-official .slot-name,
  .home-live-card.home-slot-official .slot-name{font-size:12px !important}
  .m-bottom-nav a span:not(.ico),
  .m-bottom-nav button span:not(.ico){font-size:10px}
}

/* 파트너 페이지 진입 (헤더 P 배지) — hidden 이면 게스트에 표시 금지 */
.partner-entry{
  display:inline-flex;
  align-items:center;
  gap:6px;
  border-color:rgba(59,130,246,.55) !important;
  color:#93c5fd !important;
}
.partner-entry[hidden],
[data-partner-entry][hidden],
.m-home-partner[hidden],
.pt-ace-partner[hidden]{
  display:none !important;
}
.partner-p-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:20px;height:20px;
  border-radius:4px;
  background:#2563eb;
  color:#fff;
  font-size:12px;
  font-weight:800;
  line-height:1;
}
.partner-p-text{font-size:12px;font-weight:700}
@media (max-width:720px){
  .partner-p-text{display:none}
}


/* ── Swan provider lobby cards: FULL-BLEED cover only ── */
.game-lobby-list .img_wrap,
.live-casino-list .img_wrap {
  position: relative;
  overflow: hidden;
  border-radius: 10px;
  aspect-ratio: 272 / 145;
  background: #0c0c14;
  box-shadow: 0 6px 18px rgba(0,0,0,.35);
  transition: transform .15s ease, box-shadow .15s ease;
}
.game-lobby-list a:hover .img_wrap,
.live-casino-list a:hover .img_wrap {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(0,0,0,.45), 0 0 0 1px rgba(200,255,0,.2);
}
/* 이미지가 칸을 100% 채움 — contain/패딩 금지 */
.game-lobby-list .img_wrap img,
.live-casino-list .img_wrap img,
.game-lobby-list .img_wrap img.thumb-logo,
.live-casino-list .img_wrap img.thumb-logo {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  padding: 0 !important;
  display: block !important;
  background: transparent !important;
}
.game-lobby-list .item_title,
.live-casino-list .item_title {
  margin-top: 8px;
  font-weight: 700;
  letter-spacing: .02em;
  color: #f3e6c0;
  text-align: center;
  font-size: 13px;
}
.game-lobby-heading,
.live-casino-heading {
  font-weight: 800;
  letter-spacing: .04em;
}
.home-slot-thumb {
  border-radius: 10px;
  overflow: hidden;
  aspect-ratio: 272 / 145;
  box-shadow: 0 6px 18px rgba(0,0,0,.3);
}
.home-slot-thumb img,
.home-slot-thumb img.slot-official-thumb {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  padding: 0 !important;
  display: block !important;
}


/* ── 금액 빠른선택 칩 (충전/환전) ── */
.amt-chips,
.xfer-chips,
.wd-amt-row{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin-top:10px;
  max-width:100%;
}
.bank-form-panel{ max-width:720px; }
.bank-form-panel .field{margin-bottom:10px;gap:5px}
.bank-form-panel .field input,
.bank-form-panel .field select,
.bank-form-panel .field textarea{max-width:100%}
.amt-chip{
  appearance:none;
  -webkit-appearance:none;
  border:1px solid rgba(103,200,222,.35);
  background:rgba(12,28,40,.75);
  color:#c9eef8;
  font-family:var(--font);
  font-weight:800;
  font-size:13px;
  letter-spacing:.01em;
  min-height:38px;
  min-width:72px;
  flex:0 0 auto;
  padding:8px 14px;
  border-radius:6px;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:2px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
  transition: transform .08s ease, border-color .1s ease, background .1s ease, color .1s ease, box-shadow .1s ease;
  user-select:none;
}
.amt-chip .amt-plus{
  color:var(--gold);
  font-weight:900;
  margin-right:1px;
  opacity:.9;
}
.amt-chip:hover{
  border-color:rgba(103,200,222,.65);
  color:#fff;
  background:rgba(20,48,64,.9);
}
.amt-chip:active{
  transform:scale(.97);
}
/* 누르면 즉시 솔리드 틸/라임 */
.amt-chip.is-active,
.amt-chip.is-press,
.amt-chip:focus-visible{
  outline:none;
  border-color:transparent;
  color:var(--ink);
  background:linear-gradient(180deg, #7ad4ea 0%, #3db8d4 100%);
  box-shadow:0 4px 14px rgba(61,184,212,.28);
}
.amt-chip-max{
  border-color:rgba(200,255,0,.4);
  color:var(--ink);
  background:linear-gradient(180deg, #d9ff4d 0%, #c8ff00 55%, #a8d600 100%);
  text-shadow:none;
}
.amt-chip-max:hover,
.amt-chip-max.is-active,
.amt-chip-max.is-press{
  border-color:transparent;
  color:var(--ink);
  filter:brightness(1.04);
  background:linear-gradient(180deg, #d9ff4d 0%, #c8ff00 55%, #a8d600 100%);
}
.amt-chip-clear{
  border-color:rgba(255,255,255,.16);
  color:rgba(220,230,250,.78);
  background:rgba(255,255,255,.04);
  box-shadow:none;
}
.amt-chip-clear:hover,
.amt-chip-clear.is-active,
.amt-chip-clear.is-press{
  border-color:rgba(255,92,108,.45);
  color:#ffb4bc;
  background:rgba(255,92,108,.1);
  box-shadow:none;
}
@media (max-width:519px){
  .amt-chip{ font-size:12px; min-height:36px; padding:7px 12px; border-radius:6px; min-width:64px; }
  .amt-chips,.xfer-chips,.wd-amt-row{ gap:6px; }
}

/* ── 충전/환전 (샘플 레이아웃 + 테슬라 톤) ── */
.xfer-page{
  max-width:920px;
  margin:0 auto;
  padding:18px 8px 40px;
}
.xfer-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:0;
  padding:4px 4px 16px;
  border-bottom:2px solid var(--gold, #e8c56a);
}
.xfer-head h1{
  margin:0;
  font-size:22px;
  font-weight:800;
  letter-spacing:-.02em;
  color:#e8eef6;
}
.xfer-head-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
}
.xfer-head .btn-bank-q,
.xfer-head .btn-coin-q{
  appearance:none;
  -webkit-appearance:none;
  border:0;
  background:var(--lime, #c8ff00);
  color:var(--ink, #07070c);
  font-family:var(--font);
  font-weight:800;
  font-size:13px;
  padding:10px 18px;
  border-radius:6px;
  cursor:pointer;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  transition:filter .12s ease, transform .08s ease, background .12s ease;
  white-space:nowrap;
}
.xfer-head .btn-coin-q{
  background:transparent;
  border:1px solid rgba(200,255,0,.4);
  color:var(--lime, #c8ff00);
}
.xfer-head .btn-bank-q:hover,
.xfer-head .btn-coin-q:hover{ filter:brightness(1.06); }
.xfer-head .btn-bank-q:active,
.xfer-head .btn-bank-q.is-press,
.xfer-head .btn-coin-q:active,
.xfer-head .btn-coin-q.is-press{
  transform:scale(.98);
  filter:brightness(.96);
}

/* 탭 바: 샘플형 3열 + 골드 언더라인 / 활성 골드 텍스트 */
.xfer-tabs{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:0;
  margin:0 0 28px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.06);
  border-top:0;
  border-radius:0 0 4px 4px;
  position:relative;
  overflow:hidden;
}
.xfer-tabs.xfer-tabs-3{ grid-template-columns:repeat(3, minmax(0, 1fr)); }
.xfer-tabs.xfer-tabs-4{ grid-template-columns:repeat(4, minmax(0, 1fr)); }
.xfer-tabs.xfer-tabs-5{ grid-template-columns:repeat(5, minmax(0, 1fr)); }
.xfer-tabs.xfer-tabs-5 a{ font-size:14px; padding:14px 6px; }
.xfer-tabs a{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  padding:14px 10px;
  font-size:15px;
  font-weight:700;
  color:rgba(180,192,210,.72);
  text-decoration:none;
  border:0;
  background:transparent;
  cursor:pointer;
  transition:color .12s ease, background .12s ease;
  user-select:none;
}
.xfer-tabs a:hover{ color:#e8eef8; background:rgba(255,255,255,.03); }
.xfer-tabs a.active,
.xfer-tabs a.is-on,
.xfer-tabs a.is-press{
  color:var(--gold, #e8c56a);
  font-weight:800;
}
/* 27-19: 모바일은 제목「충전/환전」대신 원본 ACE 5탭 (충전|환전|테더 충전|테더 환전|충/환전내역) */
@media (max-width:1100px){
  body.xfer-page .page-body{
    padding-left:0 !important;
    padding-right:0 !important;
    padding-top:0 !important;
  }
  body.xfer-page .page-body > .xfer-page{
    display:flex;
    flex-direction:column;
    padding:0 0 40px;
    max-width:none;
  }
  .xfer-head{
    order:2;
    flex-wrap:nowrap;
    justify-content:flex-end;
    gap:8px;
    margin:0;
    padding:10px 12px 6px;
    border-bottom:0;
  }
  .xfer-head h1{ display:none !important; }
  .xfer-head-actions{ width:auto !important; }
  .xfer-head .btn-bank-q,
  .xfer-head .btn-coin-q{
    flex:0 0 auto !important;
    min-height:36px;
    padding:8px 14px;
    font-size:13px;
  }
  .xfer-tabs{
    display:grid !important;
    order:1;
    width:100%;
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    margin:0 0 4px;
    background:rgba(255,255,255,.04);
    border:0;
    border-bottom:1px solid rgba(255,255,255,.08);
    border-radius:0;
    overflow:hidden;
  }
  .xfer-tabs.xfer-tabs-3{ grid-template-columns:repeat(3, minmax(0, 1fr)) !important; }
  .xfer-tabs.xfer-tabs-4{ grid-template-columns:repeat(4, minmax(0, 1fr)) !important; }
  .xfer-tabs.xfer-tabs-5{ grid-template-columns:repeat(5, minmax(0, 1fr)) !important; }
  .xfer-tabs a,
  .xfer-tabs.xfer-tabs-5 a{
    min-width:0;
    min-height:42px;
    font-size:clamp(10px, 2.8vw, 12px);
    font-weight:700;
    padding:10px 0;
    white-space:nowrap;
    letter-spacing:-.06em;
    overflow:hidden;
    text-overflow:clip;
  }
  .xfer-panel,
  .hist-wrap{
    order:3;
    padding-left:12px;
    padding-right:12px;
  }
  /* 27-21·27-22: 입금계좌 문의는 일반 충전만. 환전·테더·내역 숨김 */
  .xfer-page:has([data-xfer-tab="withdraw"].active) .xfer-head,
  .xfer-page:has([data-xfer-tab="otc"].active) .xfer-head,
  .xfer-page:has([data-xfer-tab="otc-wd"].active) .xfer-head,
  .xfer-page:has([data-xfer-tab="history"].active) .xfer-head{
    display:none !important;
  }
}
.xfer-tabs a.active::after,
.xfer-tabs a.is-on::after,
.xfer-tabs a.is-press::after{
  content:'';
  position:absolute;
  left:12%;
  right:12%;
  bottom:0;
  height:3px;
  border-radius:2px 2px 0 0;
  background:var(--gold, #e8c56a);
  box-shadow:0 0 12px rgba(232,197,106,.35);
}

/* 폼: 샘플처럼 패널 테두리 약하게 */
.xfer-panel{
  background:transparent;
  border:0;
  border-radius:0;
  padding:8px 8px 12px;
  margin-bottom:8px;
}
.xfer-row{
  display:grid;
  grid-template-columns:minmax(120px, 20%) minmax(0, 1fr);
  gap:14px 20px;
  align-items:start;
  margin-bottom:18px;
  max-width:720px;
  margin-left:auto;
  margin-right:auto;
}
.xfer-row:last-child{ margin-bottom:0; }
.xfer-label{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  min-height:48px;
  font-size:14px;
  font-weight:600;
  color:rgba(210,220,235,.88);
  padding-top:0;
  text-align:right;
}
.xfer-label .req{ color:#ff5c6c; margin-left:3px; }
.xfer-ctrl{ min-width:0; }
.xfer-ctrl input[type="text"],
.xfer-ctrl input[type="password"],
.xfer-ctrl input[type="number"],
.xfer-ctrl input:not([type]),
.xfer-ctrl select,
.xfer-ctrl textarea{
  width:100%;
  background:rgba(12,18,30,.72);
  border:1px solid rgba(255,255,255,.1);
  border-radius:8px;
  padding:12px 16px;
  outline:none;
  color:#fff;
  font-size:15px;
  font-weight:600;
  font-family:var(--font);
  min-height:48px;
  text-align:right;
  transition:border-color .12s ease, box-shadow .12s ease;
}
.xfer-ctrl input:focus,
.xfer-ctrl select:focus,
.xfer-ctrl textarea:focus{
  border-color:rgba(200,255,0,.45);
  box-shadow:0 0 0 2px rgba(200,255,0,.1);
}
.xfer-ctrl textarea{
  text-align:left;
  min-height:56px;
  resize:vertical;
  font-weight:600;
}
.xfer-ctrl input::placeholder{ color:rgba(160,175,195,.5); font-weight:500; }
.xfer-ro{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  min-height:48px;
  padding:12px 16px;
  border-radius:8px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(12,18,30,.72);
  color:#e8eef8;
  font-weight:800;
  font-size:14px;
}
.xfer-warn{
  margin:0 0 16px;
  padding:12px 14px;
  border:1px solid rgba(255,92,108,.4);
  border-radius:8px;
  background:rgba(255,92,108,.1);
  color:#ffb4bc;
  font-size:13px;
  font-weight:700;
  line-height:1.45;
  text-align:center;
}
.xfer-unit-hint{
  margin:10px 0 0;
  text-align:center;
  color:#ff5c6c;
  font-size:12px;
  font-weight:600;
  line-height:1.45;
}
/* 금액 칩 — 테슬라 라임 톤 (샘플 칩 배치) */
.xfer-chips.amt-chips,
.xfer-chips.wd-amt-row{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:8px;
  margin-top:12px;
  max-width:100%;
}
.xfer-chips .amt-chip{
  min-width:0;
  width:100%;
  min-height:40px;
  border-radius:6px;
  border:1px solid var(--lime, #c8ff00);
  background:transparent;
  color:var(--lime, #c8ff00);
  font-weight:800;
  font-size:13px;
  box-shadow:none;
}
.xfer-chips .amt-chip:hover{
  border-color:var(--lime, #c8ff00);
  color:var(--lime, #c8ff00);
  background:rgba(200,255,0,.08);
  transform:none;
  filter:none;
}
.xfer-chips .amt-chip.is-active,
.xfer-chips .amt-chip.is-press,
.xfer-chips .amt-chip:focus-visible{
  outline:none;
  border-color:transparent;
  color:var(--ink, #07070c);
  background:linear-gradient(180deg, #e0ff66 0%, #c8ff00 55%, #a8d600 100%);
  box-shadow:0 0 0 2px rgba(200,255,0,.4), 0 4px 16px rgba(200,255,0,.35);
  filter:none;
}
.xfer-chips .amt-chip-clear{
  background:rgba(255,255,255,.08);
  color:rgba(220,230,250,.85);
  box-shadow:none;
  border:1px solid rgba(255,255,255,.12);
}
.xfer-chips .amt-chip-clear:hover,
.xfer-chips .amt-chip-clear.is-active,
.xfer-chips .amt-chip-clear.is-press{
  background:rgba(255,92,108,.12);
  color:#ffb4bc;
  border-color:rgba(255,92,108,.4);
  box-shadow:none;
  filter:none;
}
.xfer-actions{
  display:grid;
  grid-template-columns:minmax(120px, 20%) minmax(0, 1fr);
  gap:14px 20px;
  align-items:start;
  margin-top:28px;
  max-width:720px;
  margin-left:auto;
  margin-right:auto;
  justify-content:stretch;
}
.xfer-actions .hbtn,
.xfer-submit{
  grid-column:2;
  width:50%;
  min-width:0;
  max-width:50%;
  justify-self:start;
  justify-content:center;
  padding:12px 16px;
  font-size:15px;
  font-weight:900;
  border-radius:8px;
  min-height:48px;
}
.xfer-actions .xfer-submit[data-deposit-submit],
.xfer-actions .xfer-submit[data-withdraw-submit],
.xfer-actions #wd-submit,
.xfer-actions #wd-gate-confirm{
  width:100%;
  max-width:100%;
}
.xfer-actions.ted-actions .xfer-submit{
  width:auto;
  min-width:160px;
  max-width:240px;
  justify-self:center;
  grid-column:2;
}
.ted-need-btn{
  display:block;
  width:100%;
  border:0;
  background:transparent;
  color:#ff5c6c;
  font-weight:800;
  font-size:14px;
  text-align:right;
  padding:12px 4px;
  cursor:pointer;
  font-family:inherit;
}
.ted-wallet-edit{
  display:none;
  margin-top:8px;
  gap:8px;
}
.ted-wallet-edit.is-on{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
}
.ted-wallet-edit input{ flex:1 1 220px; }
.ted-result{ max-width:920px; margin:0 auto 28px; padding:0 8px; }
.ted-result-guide{
  color:#ff4d4f;
  font-size:14px;
  font-weight:700;
  margin:4px 0 12px;
}
.ted-result-card{
  border:1px solid rgba(255,255,255,.16);
  border-radius:8px;
  padding:16px 18px;
  background:rgba(0,0,0,.22);
}
.ted-result-row{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:8px 16px;
  padding:6px 0;
  font-size:14px;
  color:rgba(230,236,244,.92);
}
.ted-result-v{
  display:flex;
  align-items:center;
  gap:8px;
  text-align:right;
  word-break:break-all;
}
.ted-copy{
  flex:0 0 auto;
  width:28px;
  height:28px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:4px;
  background:rgba(255,255,255,.06);
  color:#dfe7f2;
  cursor:pointer;
  line-height:1;
}
.ted-copy:hover{ background:rgba(255,255,255,.14); }
@media (max-width:640px){
  .ted-result-row{ flex-direction:column; align-items:flex-start; }
  .ted-result-v{ width:100%; justify-content:flex-end; }
}
.xfer-actions .hbtn.charge,
.xfer-submit.hbtn.charge{
  background:transparent;
  border:1px solid var(--lime, #c8ff00);
  color:var(--lime, #c8ff00);
  box-shadow:none;
  filter:none;
}
.xfer-actions .hbtn.charge.is-lit,
.xfer-submit.hbtn.charge.is-lit,
.xfer-actions .hbtn.charge:hover,
.xfer-submit.hbtn.charge:hover{
  background:var(--lime, #c8ff00);
  border-color:var(--lime, #c8ff00);
  color:var(--ink, #07070c);
  box-shadow:0 0 0 2px rgba(200,255,0,.28), 0 6px 18px rgba(200,255,0,.35);
  filter:none;
}
.xfer-actions .hbtn.charge:active,
.xfer-submit.hbtn.charge:active,
.xfer-actions .hbtn.charge.is-press,
.xfer-submit.hbtn.charge.is-press{
  filter:brightness(.96);
  transform:scale(.99);
  color:var(--ink, #07070c);
}
.xfer-note{
  margin:16px 0 0;
  font-size:12px;
  color:var(--muted);
  line-height:1.5;
  text-align:center;
}
.xfer-gate-note{
  margin:10px 0 0;
  padding:14px 16px;
  border:1px solid rgba(255,92,108,.28);
  border-radius:8px;
  background:rgba(0,0,0,.4);
  color:#ff5c6c;
  font-size:13px;
  line-height:1.5;
  text-align:left;
}
#env-deposit-guide,
#env-withdraw-guide{
  margin:16px auto 0;
  max-width:720px;
  padding:12px 14px;
  border-radius:8px;
  background:rgba(0,0,0,.28);
  border:1px solid rgba(255,255,255,.06);
  white-space:pre-wrap;
  font-size:12px;
  color:var(--muted);
  line-height:1.55;
}
/* 내역 테이블 — 샘플형 다크 */
.xfer-page .hist-table-wrap{
  border:1px solid rgba(255,255,255,.08);
  border-radius:8px;
  background:rgba(8,12,20,.55);
  overflow-x:auto;
}
.xfer-page table.hist-table thead th{
  background:rgba(12,18,30,.95);
  color:rgba(200,210,225,.9);
  font-weight:700;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.xfer-page table.hist-table tbody td{
  color:#d8e0ec;
  border-bottom:1px solid rgba(255,255,255,.05);
}
.xfer-page .hist-empty{
  color:rgba(180,192,210,.75);
  padding:48px 16px;
}
@media (max-width:640px){
  .xfer-head{ flex-wrap:nowrap; gap:8px; padding:10px 12px 6px; }
  .xfer-head h1{ display:none !important; }
  .xfer-head-actions{ width:auto; }
  .xfer-head .btn-bank-q,
  .xfer-head .btn-coin-q{ flex:0 0 auto; }
  .xfer-tabs,
  .xfer-tabs.xfer-tabs-3{ grid-template-columns:repeat(3, minmax(0, 1fr)) !important; }
  .xfer-tabs.xfer-tabs-4{ grid-template-columns:repeat(4, minmax(0, 1fr)) !important; }
  .xfer-tabs.xfer-tabs-5{ grid-template-columns:repeat(5, minmax(0, 1fr)) !important; }
  .xfer-tabs.xfer-tabs-5 a,
  .xfer-tabs a{ min-width:0; min-height:42px; font-size:clamp(10px, 2.8vw, 12px); padding:10px 0; }
  .xfer-panel{ padding:8px 0; }
  .xfer-row{
    grid-template-columns:1fr;
    gap:6px;
    margin-bottom:14px;
  }
  .xfer-label{
    min-height:auto;
    justify-content:flex-start;
    text-align:left;
    font-size:13px;
  }
  .xfer-ctrl input,
  .xfer-ctrl select,
  .xfer-ctrl textarea{ text-align:left; font-size:16px; }
  .xfer-ro{ justify-content:flex-start; }
  .xfer-unit-hint{ text-align:left; }
  .xfer-chips.amt-chips,
  .xfer-chips.wd-amt-row{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .xfer-actions{
    grid-template-columns:1fr;
    gap:0;
  }
  .xfer-actions .hbtn,
  .xfer-submit{
    grid-column:1;
    width:50%;
    max-width:50%;
  }
  .xfer-actions .xfer-submit[data-deposit-submit],
  .xfer-actions .xfer-submit[data-withdraw-submit],
  .xfer-actions #wd-submit,
  .xfer-actions #wd-gate-confirm{
    width:100%;
    max-width:100%;
  }
  .xfer-actions.ted-actions .xfer-submit{
    grid-column:1;
    width:auto;
    min-width:160px;
    max-width:100%;
  }
}

/* force cover lobby */
.game-lobby-page .img_wrap img.thumb-logo,
.live-lobby-page .img_wrap img.thumb-logo,
.slot-page .img_wrap img.thumb-logo,
.hotel-page .img_wrap img.thumb-logo,
.minigame-page .img_wrap img.thumb-logo{
  object-fit:cover !important;
  padding:0 !important;
  background:transparent !important;
}

/* 사이트 점검: 밖=테슬라 로그인 전 레이아웃, 안=원본 「지금은 점검중입니다.」 */
.md-mnt{
  position:fixed; inset:0; z-index:99999;
  color:#fff; overflow:hidden;
}
.md-mnt-bg{
  position:fixed; inset:-6%; z-index:0;
  background-color:#05050a;
  background-image:
    linear-gradient(180deg, rgba(5,5,12,.38) 0%, rgba(5,5,12,.2) 30%, rgba(5,5,12,.7) 100%),
    radial-gradient(ellipse 120% 70% at 50% 12%, rgba(255,43,214,.2), transparent 52%),
    radial-gradient(ellipse 80% 50% at 82% 88%, rgba(200,255,0,.14), transparent 46%),
    url("/assets/home/home-bg-city.jpg?v=homebg2"),
    url("/assets/home/home-bg-neon.jpg?v=homebg2");
  background-size:auto, auto, auto, cover, cover;
  background-position:center top, center top, center bottom, center 18%, center center;
  transform-origin:50% 40%;
  animation:mdMntKen 22s ease-in-out infinite alternate;
}
.md-mnt-orb{
  position:fixed; z-index:1; pointer-events:none; border-radius:50%; filter:blur(40px);
}
.md-mnt-orb.a{
  width:280px; height:280px; left:8%; bottom:6%; background:rgba(200,255,0,.18);
  animation:mdMntOrbA 9s ease-in-out infinite alternate;
}
.md-mnt-orb.b{
  width:340px; height:340px; right:4%; top:4%; background:rgba(255,43,214,.16);
  animation:mdMntOrbB 11s ease-in-out infinite alternate;
}
.md-mnt-glow{
  position:fixed; inset:0; z-index:1; pointer-events:none;
  background:
    linear-gradient(105deg, transparent 38%, rgba(200,255,0,.06) 50%, transparent 62%),
    radial-gradient(circle at 22% 72%, rgba(255,43,214,.16), transparent 36%);
  animation:mdMntPulse 10s ease-in-out infinite alternate;
}
.md-mnt-stage{
  position:relative; z-index:2;
  min-height:100dvh; min-height:100vh;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  padding:28px 16px 36px; box-sizing:border-box; gap:22px;
}
.md-mnt-logo img{
  height:46px; width:auto; max-width:min(220px,72vw); object-fit:contain;
  filter:drop-shadow(0 0 12px rgba(200,255,0,.35));
}
.md-mnt-orig{
  width:min(920px, 92vw);
  min-height:min(48vh, 320px);
  background:#0a1424;
  color:#fff;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center;
  padding:48px 24px;
  box-sizing:border-box;
}
.md-mnt-title{
  font-size:2rem; font-weight:700; letter-spacing:.02em; line-height:1.4; margin:0 0 28px;
}
.md-mnt-notice{
  font-size:16px; line-height:1.7; white-space:pre-wrap; color:#d1d5db; max-width:720px;
}
@keyframes mdMntKen{
  from{ transform:scale(1.04) translate3d(0,0,0); }
  to{ transform:scale(1.12) translate3d(-1.6%, 1.2%, 0); }
}
@keyframes mdMntPulse{ 0%{opacity:.55} 100%{opacity:1} }
@keyframes mdMntOrbA{
  from{ transform:translate3d(0,0,0) scale(1); }
  to{ transform:translate3d(30px,-24px,0) scale(1.12); }
}
@keyframes mdMntOrbB{
  from{ transform:translate3d(0,0,0) scale(1); }
  to{ transform:translate3d(-36px,20px,0) scale(1.08); }
}
@media (prefers-reduced-motion: reduce){
  .md-mnt-bg, .md-mnt-glow, .md-mnt-orb{ animation:none !important; }
}
