/* ST TYPE 10 — ORACLE 연동용 추가 스타일 (원본 css 는 건드리지 않고 여기서만 덮어쓴다) */

/* 로그인 상태별 노출 */
body.t10-logged-out .t10-member,
body.t10-logged-in .t10-guest {display: none !important;}
body.t10-off-join .top-join,
body.t10-off-join .btn-join {display: none !important;}
body.t10-off-casino a[href="casino.html"], body.t10-off-casino [onclick*="casino.html"],
body.t10-off-slot a[href="slot.html"], body.t10-off-slot [onclick*="slot.html"],
body.t10-off-mg a[href="mg.html"], body.t10-off-mg [onclick*="mg.html"] {display: none !important;}
body.t10-off-casino .menu-list li:has(> a[href="casino.html"]),
body.t10-off-slot .menu-list li:has(> a[href="slot.html"]),
body.t10-off-mg .menu-list li:has(> a[href="mg.html"]) {display: none !important;}

.tnb-cash .cash-btn {cursor: pointer;}
.t10-badge {display: inline-block; min-width: 16px; margin-left: 2px; padding: 0 5px; border-radius: 8px; background: #e0245e; color: #fff; font-size: 11px; line-height: 16px; text-align: center;}
.t10-badge:empty {display: none;}

/* 메인 게임 링크 — 스포츠 제거로 2개 */
ul.game-link > li {width: calc(100% / 3);}

/* 게임사 카드 */
.list-game .list-item {cursor: pointer;}
.list-item.t10-noart {aspect-ratio: 302 / 295; background: radial-gradient(circle at 50% 30%, #3a1466 0%, #140a24 70%); border: 1px solid rgba(140, 0, 246, 0.35); border-radius: 10px; overflow: hidden;}
.t10-card-blank {width: 100%; aspect-ratio: 302 / 295;}
.list-item.t10-noart .t10-card-blank {display: none;}
.t10-card-name {position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; padding: 16px; text-align: center;}
.t10-card-name img {max-width: 80%; max-height: 70px; object-fit: contain;}
.t10-card-name b {color: #fff; font-size: 16px; font-weight: 600;}
.t10-plogo {max-width: 80%; max-height: 60px; object-fit: contain;}
.t10-maint-badge {position: absolute; top: 10px; right: 10px; z-index: 5; padding: 3px 8px; border-radius: 4px; background: #e0245e; color: #fff; font-size: 12px; font-weight: 600;}
.t10-empty {grid-column: 1 / -1; width: 100%; padding: 50px 0; text-align: center; color: #8a8a9a; list-style: none;}

/* 슬롯 게임 선택 모달 */
.t10-modal {display: none; position: fixed; inset: 0; z-index: 10050; background: rgba(0, 0, 0, 0.8); padding: 40px 20px;}
.t10-modal.open {display: flex; align-items: flex-start; justify-content: center;}
.t10-modal-box {width: 100%; max-width: 1100px; max-height: calc(100vh - 80px); display: flex; flex-direction: column; background: #120a1e; border: 1px solid #8c00f6; border-radius: 12px; overflow: hidden;}
.t10-modal-hd {display: flex; align-items: center; justify-content: space-between; padding: 16px 20px; border-bottom: 1px solid rgba(140, 0, 246, 0.4);}
.t10-modal-hd h3 {margin: 0; color: #fff; font-size: 20px;}
.t10-modal-x {background: none; border: 0; color: #fff; font-size: 22px; cursor: pointer;}
.t10-modal-search {margin: 14px 20px 0; padding: 10px 14px; border: 1px solid #3c2a55; border-radius: 6px; background: #0b0612; color: #fff; font-size: 14px;}
/* 게임이 수백 개(프라그마틱 697)면 줄 높이가 0 으로 찌그러져 빈 창처럼 보였음 → 줄 높이는 내용 크기로 고정 */
.t10-game-grid {display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); grid-auto-rows: max-content; align-content: start; gap: 14px; padding: 16px 20px 20px; overflow-y: auto; flex: 1 1 auto; min-height: 0;}
.t10-game {cursor: pointer; border-radius: 8px; overflow: hidden; background: #1c1030; transition: transform 0.15s;}
.t10-game:hover {transform: translateY(-3px); box-shadow: 0 0 0 2px #8c00f6;}
.t10-game img, .t10-game .t10-card-blank {display: block; width: 100%; aspect-ratio: 1 / 1; object-fit: cover; background: #241640;}
.t10-game span {display: block; padding: 8px; color: #ddd; font-size: 13px; line-height: 1.3; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}

/* 입출금 / 게시판 */
.t10-amount {width: 100%; max-width: 320px; text-align: right;}
.money-btns a[data-v], .money-btns a.btn-all {white-space: nowrap;}
.t10-inline-input {padding: 8px 10px; min-width: 200px;}
.t10-account {display: inline-block; margin-top: 8px; color: #ffd36b; font-weight: 600;}
.t10-account:empty {display: none;}
.t10-btn-sm {padding: 4px 10px; border: 1px solid #8c00f6; border-radius: 4px; background: transparent; color: #d6b4ff; font-size: 12px; cursor: pointer;}
.t10-btn-sm:hover {background: #8c00f6; color: #fff;}
.t10-st {display: inline-block; padding: 2px 8px; border-radius: 4px; font-size: 12px; font-weight: 600; background: #333; color: #ccc;}
.t10-st-pending, .t10-st-hold {background: rgba(255, 184, 0, 0.15); color: #ffb800;}
.t10-st-approved {background: rgba(0, 200, 120, 0.15); color: #19d38a;}
.t10-st-rejected, .t10-st-cancelled, .t10-st-canceled {background: rgba(224, 36, 94, 0.15); color: #ff5d8f;}
.t10-new {color: #ff5d8f; font-size: 11px;}
.faq-list li.t10-unread > .question {color: #fff; font-weight: 600;}
.t10-reply {margin-top: 12px; padding: 12px; border-left: 3px solid #8c00f6; background: rgba(140, 0, 246, 0.08);}
.t10-reply pre {margin-top: 6px;}
.t10-notice-img {display: block; max-width: 100%; margin-bottom: 12px; border-radius: 6px;}
.notice-an pre {white-space: pre-wrap; word-break: break-word;}
.t10-need-login {padding: 80px 20px; text-align: center; color: #bbb;}
.t10-need-login i {font-size: 48px; color: #8c00f6;}
.t10-need-login p {margin: 14px 0 22px; font-size: 16px;}
.t10-need-login .btn-purple {min-width: 160px;}
.bo-subtit {margin: 40px 0 12px;}

/* 팝업 폼 */
.intro-form button[type="submit"] {cursor: pointer;}
.join-list input[type="password"] {width: 100%;}

/* 토스트 */
#t10-toast {position: fixed; left: 50%; bottom: 90px; z-index: 10100; transform: translate(-50%, 20px); max-width: calc(100% - 32px); padding: 12px 22px; border-radius: 8px; background: rgba(20, 10, 36, 0.96); border: 1px solid #8c00f6; color: #fff; font-size: 14px; opacity: 0; pointer-events: none; transition: all 0.25s;}
#t10-toast.show {opacity: 1; transform: translate(-50%, 0);}

/* 점검 */
.t10-maint {position: fixed; inset: 0; z-index: 10200; display: flex; align-items: center; justify-content: center; background: rgba(5, 2, 10, 0.96); text-align: center; color: #ddd; padding: 20px;}
.t10-maint h2 {color: #fff; font-size: 28px; margin-bottom: 12px;}

@media (max-width: 992px) {
    .t10-modal {padding: 0;}
    .t10-modal-box {max-height: 100vh; height: 100%; border-radius: 0;}
    .t10-game-grid {grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); gap: 10px;}
}
@media (max-width: 600px) {
    .list-table-2 th:nth-child(4), .list-table-2 td:nth-child(4) {display: none;}
    .t10-inline-input {min-width: 0; width: 100%;}
}

/* 메뉴의 MG 글자만 마이크로게이밍 네온 그린 (10/4 요청) */
.t10-mg {color: #4dff6a; font-weight: 900; text-shadow: 0 0 8px rgba(77,255,106,.55);}

/* 로고 = ORACLE (10/4 요청) — 정사각형 로고라 가로 160px 고정 대신 높이 기준. 분양사 로고(brand.js)도 같은 높이 */
.logo {top: 60px;}
.logo > img {width: auto; height: 80px; max-width: 220px; object-fit: contain;}
@media (max-width: 992px) {
    .logo {top: 2px;}
    .logo > img {width: auto; height: 46px; max-width: 140px; vertical-align: middle;}
}

/* 이벤트 (10/5) — 카드 2열, 누르면 내용 펼침 */
.t10-event-list {display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; align-items: start;}
.t10-event-card {background: rgba(255,255,255,0.03); border: 1px solid rgba(201,162,255,0.18); border-radius: 10px; overflow: hidden; transition: border-color .2s;}
.t10-event-card:hover, .t10-event-card.open {border-color: rgba(201,162,255,0.55);}
.t10-event-card.open {grid-column: 1 / -1;}
.t10-event-banner {position: relative; aspect-ratio: 16 / 7; background: #120a1c; cursor: pointer;}
.t10-event-banner img {width: 100%; height: 100%; object-fit: cover; display: block;}
.t10-event-blank {width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; padding: 16px; text-align: center;}
.t10-event-blank b {color: #fff; font-size: 20px; font-weight: 800; line-height: 1.4;}
.t10-event-blank.g0 {background: linear-gradient(135deg, #2b0f4c, #6b2fb3);}
.t10-event-blank.g1 {background: linear-gradient(135deg, #0f2b4c, #2f6bb3);}
.t10-event-blank.g2 {background: linear-gradient(135deg, #4c0f2b, #b32f6b);}
.t10-event-blank.g3 {background: linear-gradient(135deg, #0f4c2b, #2fb36b);}
.t10-event-tag {position: absolute; top: 12px; left: 12px; z-index: 2; padding: 3px 10px; border-radius: 4px; font-size: 12px; font-weight: 800; color: #fff; background: #7c3aed;}
.t10-event-tag.hot {background: #e11d48;}
.t10-event-info {display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 14px 16px; cursor: pointer;}
.t10-event-info b {color: #fff; font-size: 15px; font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
.t10-event-info span {flex-shrink: 0; color: #9a8aac; font-size: 12px;}
.t10-event-info em {font-style: normal; margin-left: 6px; padding: 2px 8px; border-radius: 10px; background: rgba(34,197,94,0.15); color: #4ade80; font-weight: 700;}
.t10-event-body {display: none; padding: 0 16px 18px;}
.t10-event-card.open .t10-event-body {display: block;}
.t10-event-card.open .t10-event-banner {display: none;}
.t10-event-body img {display: block; max-width: 100%; margin: 0 auto 14px; border-radius: 6px;}
.t10-event-body pre {white-space: pre-wrap; word-break: break-all; color: #d8cce6; font-size: 14px; line-height: 1.7; font-family: inherit; margin: 0;}
@media (max-width: 768px) {
    .t10-event-list {grid-template-columns: 1fr;}
}
body.t10-off-event a[href="event.html"], body.t10-off-event [onclick*="event.html"] {display: none !important;}

/* 게임사 이름 글자 (10/5) — 그림 아래 한 줄 (그림 속 로고를 가리지 않게) */
.list-item .t10-card-label {display: block; padding: 9px 6px 10px; font-size: 14px; font-weight: 700; color: #fff; text-align: center; background: rgba(20, 10, 36, 0.92); border-top: 1px solid rgba(140, 0, 246, 0.35); white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
@media (max-width: 600px) { .list-item .t10-card-label {font-size: 12px; padding: 7px 4px 8px;} }

/* 팝업 (10/5) — 메인 진입 시, 어드민에서 정한 크기 (화면보다 크면 줄임) */
.t10-popups {position: fixed; inset: 0; z-index: 9990; display: flex; align-items: center; justify-content: center; gap: 16px; padding: 16px; pointer-events: none;}
.t10-pop {pointer-events: auto; display: flex; flex-direction: column; max-height: calc(100vh - 32px); background: #140a24; border: 1px solid rgba(140, 0, 246, 0.55); border-radius: 10px; overflow: hidden; box-shadow: 0 20px 60px rgba(0, 0, 0, 0.7); color: #fff;}
.t10-pop-head {display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 12px 10px 16px; background: linear-gradient(90deg, rgba(122, 37, 255, 0.45), rgba(122, 37, 255, 0.15));}
.t10-pop-head b {font-size: 15px; font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
.t10-pop-head button {flex-shrink: 0; width: 30px; height: 30px; border: 0; border-radius: 6px; background: rgba(0, 0, 0, 0.3); color: #fff; font-size: 16px; cursor: pointer;}
.t10-pop-body {flex: 1; min-height: 0; overflow-y: auto;}
.t10-pop-body img {display: block; width: 100%; height: auto;}
.t10-pop-text {padding: 14px 16px; font-size: 14px; line-height: 1.7; white-space: pre-wrap; word-break: break-all; color: #e6dcf2;}
.t10-pop-foot {display: flex; border-top: 1px solid rgba(255, 255, 255, 0.1);}
.t10-pop-foot button {flex: 1; padding: 11px 6px; border: 0; background: #0d0718; color: #c9b8dd; font-size: 13px; cursor: pointer;}
.t10-pop-foot button + button {border-left: 1px solid rgba(255, 255, 255, 0.1); color: #fff; font-weight: 700;}
.t10-pop-foot button:hover {background: #24123d;}
@media (max-width: 600px) {
    .t10-popups {display: block; padding: 0;}
    .t10-pop {position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 92vw !important; max-width: 92vw !important; height: auto !important; max-height: 80vh;}
}

/* 메인 HOT GAMES (10/5) — 어드민에서 고른 게임 */
.t10-hot-vendor {display: inline-block; margin-bottom: 10px; padding: 4px 12px; border-radius: 14px; background: rgba(134, 1, 246, 0.2); border: 1px solid rgba(134, 1, 246, 0.5); color: #e2c9ff; font-size: 13px; font-weight: 700;}
.t10-hot-noimg {width: 100%; height: 100%; min-height: 220px; display: flex; align-items: center; justify-content: center; padding: 16px; text-align: center; background: linear-gradient(135deg, #2b0f4c, #6b2fb3); border-radius: 10px;}
.t10-hot-noimg b {color: #fff; font-size: 20px; font-weight: 800;}
.main-gameList .main-item > img {aspect-ratio: 1 / 1; object-fit: cover;}
/* HOT GAMES 오른쪽 목록 — 넘치면 그 안에서 세로 스크롤 (10/5) */
ul.news-menu.t10-hot-menu {max-height: 380px; overflow-y: auto; padding-right: 6px; scrollbar-width: thin; scrollbar-color: #8601f6 #1a1a1a;}
ul.news-menu.t10-hot-menu > li:first-child {margin-top: 0;}
ul.news-menu.t10-hot-menu::-webkit-scrollbar {width: 6px;}
ul.news-menu.t10-hot-menu::-webkit-scrollbar-track {background: #1a1a1a; border-radius: 3px;}
ul.news-menu.t10-hot-menu::-webkit-scrollbar-thumb {background: #8601f6; border-radius: 3px;}
@media (max-width: 1024px) { ul.news-menu.t10-hot-menu {max-height: 260px;} }

/* 출석체크 스킨은 /attendance-common.css 공용 (타입별 변수만 덮어쓰면 됨) */

/* ── 10/15 공용 엔진(oracle-user) 이후 추가 화면 ── */
.t10-range {display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin: 0 0 14px;}
.t10-range button, .t10-ntab button {padding: 6px 12px; border: 1px solid rgba(140, 0, 246, 0.35); border-radius: 4px; background: transparent; color: #ccc; font-size: 13px; cursor: pointer;}
.t10-range button.active, .t10-range button:hover, .t10-ntab button.active, .t10-ntab button:hover {background: #8c00f6; border-color: #8c00f6; color: #fff;}
.t10-range-in {display: inline-flex; gap: 6px; align-items: center; margin-left: auto; color: #999;}
.t10-range-in input {padding: 5px 8px; border: 1px solid #444; border-radius: 4px; background: #111; color: #ddd; color-scheme: dark;}
.t10-ntab {display: flex; gap: 6px; margin: 0 0 14px;}
.t10-ua {max-width: 360px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #888; font-size: 12px;}
.t10-roll {padding: 14px 16px; border: 1px solid rgba(140, 0, 246, 0.35); border-radius: 8px; margin-bottom: 10px;}
.t10-roll-bar {height: 10px; background: #222; border-radius: 5px; overflow: hidden;}
.t10-roll-bar i {display: block; height: 100%; background: #8c00f6;}
.t10-roll p {margin: 8px 0 0; color: #d6b4ff; font-size: 13px;}
.t10-phone {display: flex; gap: 6px;}
.t10-phone .t10-cc {flex: 0 0 120px; background: #111; color: #ddd; border: 1px solid #444; border-radius: 4px;}
.t10-phone input {flex: 1;}
.t10-pending-txt {text-align: center; color: #ccc; line-height: 1.7; margin: 10px 0 20px;}
.t10-cms-banner {position: relative; max-width: 1400px; margin: 16px auto 0; aspect-ratio: 1400 / 300; overflow: hidden; border-radius: 10px;}
.t10-cms-slide {position: absolute; inset: 0; opacity: 0; transition: opacity .6s;}
.t10-cms-slide.on {opacity: 1; z-index: 1;}
.t10-cms-slide img {width: 100%; height: 100%; object-fit: cover; display: block;}
li.t10-unread > .question {font-weight: 700;}
@media (max-width: 768px) {
  .t10-range-in {margin-left: 0; width: 100%;}
  .t10-cms-banner {aspect-ratio: 16 / 7; margin: 10px 12px 0;}
}
