@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;700&family=Oswald:wght@400;600;700&family=DM+Mono:wght@400;500&display=swap');
@import url('../../../nariya/css/ionicons/css/ionicons.min.css');
@import url('../../../nariya/css/g5.css');
@import url('../../../nariya/css/mask.css');

/* ============================================================
   TOTOZ Design System
   브랜드: 토토즈(TOTOZ) — 스포츠·파워볼·카지노 패턴 분석 커뮤니티
   테마: Dark Felt Dashboard — 딥그린 + 골드
   ============================================================ */

/* ── CSS Custom Properties ── */
:root {
  /* 브랜드 컬러 */
  --tz-primary:       #0A3F30;
  --tz-primary-dark:  #072B21;
  --tz-primary-mid:   #0D5240;
  --tz-primary-light: #145F4A;
  --tz-gold:          #D4A84F;
  --tz-gold-light:    #E8C474;
  --tz-gold-dark:     #B8883A;
  --tz-gold-glow:     rgba(212,168,79,.25);

  /* 배경 */
  --tz-bg:            #071A13;
  --tz-bg-card:       rgba(255,255,255,.04);
  --tz-bg-card-hover: rgba(255,255,255,.075);
  --tz-surface:       rgba(10,63,48,.45);
  --tz-surface-2:     rgba(10,63,48,.25);

  /* 테두리 */
  --tz-border:        rgba(212,168,79,.14);
  --tz-border-subtle: rgba(255,255,255,.07);
  --tz-border-active: rgba(212,168,79,.55);

  /* 텍스트 */
  --tz-text:          #F0F4F0;
  --tz-text-muted:    #A8BDB5;
  --tz-text-dim:      #6B8C7A;
  --tz-text-gold:     #D4A84F;

  /* 상태 컬러 */
  --tz-hot:           #E84057;
  --tz-new:           #22C55E;
  --tz-notice:        #3B82F6;
  --tz-warn:          #F59E0B;

  /* 차트 */
  --tz-chart-green:   #4ADE80;
  --tz-chart-gold:    #FBBF24;
  --tz-chart-blue:    #60A5FA;
  --tz-chart-red:     #F87171;
  --tz-chart-purple:  #A78BFA;

  /* 폰트 */
  --tz-font-main:    'Noto Sans KR', sans-serif;
  --tz-font-display: 'Oswald', sans-serif;
  --tz-font-mono:    'DM Mono', monospace;

  /* 반경 */
  --tz-radius:     12px;
  --tz-radius-sm:  6px;
  --tz-radius-lg:  20px;

  /* 그림자 */
  --tz-shadow:       0 4px 24px rgba(0,0,0,.45);
  --tz-shadow-gold:  0 0 20px rgba(212,168,79,.18);
  --tz-shadow-card:  0 2px 12px rgba(0,0,0,.35);
}

/* ================================================================
   BASE
   ================================================================ */
*, *::before, *::after { box-sizing: border-box; }

body {
  margin: 0;
  padding: 0;
  font-family: var(--tz-font-main);
  color: var(--tz-text);
  background:
    radial-gradient(ellipse 1400px 600px at 0% -5%,  rgba(10,63,48,.55) 0%, transparent 65%),
    radial-gradient(ellipse 900px 500px at 100% 10%, rgba(212,168,79,.06) 0%, transparent 60%),
    /* 펠트 노이즈 텍스처 오버레이 */
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.65' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='.04'/%3E%3C/svg%3E"),
    var(--tz-bg);
  background-attachment: fixed;
  background-size: cover, cover, 300px 300px, cover;
}

h1, h2, h3, h4, h5, h6 { font-family: var(--tz-font-main); color: var(--tz-text); }
.en, .tz-display { font-family: var(--tz-font-display); }
.tz-mono { font-family: var(--tz-font-mono); }

a { color: var(--tz-text-muted); text-decoration: none; transition: color .18s; }
a:hover { color: var(--tz-gold-light); text-decoration: none; }

/* ================================================================
   LAYOUT
   ================================================================ */
.wrapper { background: transparent; }
.nt-container,
.nt-container-wide { margin: 0 auto; }

@media (min-width: 992px) {
  .responsive .boxed-a.wrapper .nt-container.px-xl-0 { padding-left:1.5rem !important; padding-right:1.5rem !important; }
  .responsive .boxed-b.wrapper { padding-left:1.5rem !important; padding-right:1.5rem !important; }
}
.no-responsive .boxed-a.wrapper .nt-container.px-xl-0 { padding-left:1.5rem !important; padding-right:1.5rem !important; }
.no-responsive .boxed-b.wrapper { padding-left:1.5rem !important; padding-right:1.5rem !important; }
@media (max-width:1200px) {
  .no-responsive .wrapper.wided .nt-container.px-xl-0 { padding-left:1.5rem !important; padding-right:1.5rem !important; }
}

/* ================================================================
   PAGE LOADER
   ================================================================ */
#nt_loader {
  background: var(--tz-bg);
  left: 0; top: 0; width: 100%; height: 100%;
  display: block; position: fixed; z-index: 100000;
}
#nt_loader .loader {
  margin: -25px 0 0 -25px;
  left: 50%; top: 50%;
  width: 50px; height: 50px; line-height: 50px; font-size: 45px;
  position: absolute; z-index: 10001;
  color: var(--tz-gold);
  animation: tz-spin 1s linear infinite;
}
@keyframes tz-spin { to { transform: rotate(360deg); } }

/* ================================================================
   LNB — 상단 네비
   ================================================================ */
#nt_lnb {
  background: rgba(7,27,20,.80);
  border-bottom: 1px solid var(--tz-border-subtle);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.tz-lnb-inner { padding-top: .45rem; padding-bottom: .45rem; }
#nt_lnb ul { list-style: none; margin: 0; }
#nt_lnb ul > li { float: left; padding: 0 11px; }
#nt_lnb ul > li::after { font-family: dotum; font-weight: normal; float: right; color: rgba(212,168,79,.25); content: "|"; margin-right: -13px; }
#nt_lnb ul > li:first-child { padding-left: 0; }
#nt_lnb ul > li:last-child { padding-right: 0; }
#nt_lnb ul > li:last-child::after { content: ""; }
#nt_lnb ul > li > a { float: left; white-space: nowrap; color: var(--tz-text-muted); font-size: .8rem; }
#nt_lnb ul > li > a:hover { color: var(--tz-gold-light); }
#nt_lnb .dropdown-toggle::after { color: rgba(212,168,79,.3); }

.tz-lnb-left > li > a .fa { margin-right: .25rem; color: var(--tz-text-dim); }
.tz-date { cursor: default !important; }
.tz-online-dot { font-size: .55rem; color: var(--tz-chart-green); vertical-align: middle; margin-right: .25rem; animation: tz-pulse 2s ease infinite; }
@keyframes tz-pulse { 0%,100%{ opacity:1; } 50%{ opacity:.4; } }

/* ================================================================
   PC 헤더
   ================================================================ */
#header_pc {
  position: relative;
  overflow: visible;
}
#header_pc .nt-container {
  background: transparent !important;
}
.tz-pc-header {
  padding: 1.25rem 0;
  gap: 1rem;
}

/* 로고 */
.tz-logo-wrap { flex-shrink: 0; }
.tz-logo-link { display: inline-flex; align-items: center; gap: .6rem; text-decoration: none; }
.tz-logo-img { max-height: 54px; width: auto; object-fit: contain; }
.tz-logo-text-wrap { display: flex; flex-direction: column; line-height: 1; }
.tz-logo-main {
  font-family: var(--tz-font-display);
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: .05em;
  color: var(--tz-gold);
  text-shadow: 0 0 24px var(--tz-gold-glow);
}
.tz-logo-sub {
  font-size: .7rem;
  font-weight: 500;
  color: var(--tz-text-muted);
  letter-spacing: .12em;
  margin-top: -.1rem;
}

/* 검색 */
.tz-search-wrap { max-width: 420px; }
.tz-search-form { border-radius: var(--tz-radius); overflow: hidden; }
.tz-search-form .input-group { border: 1.5px solid var(--tz-border-active); border-radius: var(--tz-radius); overflow: hidden; }
.tz-search-input {
  background: rgba(255,255,255,.04) !important;
  border: 0 !important;
  color: var(--tz-text) !important;
  font-size: .95rem !important;
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
}
.tz-search-input::placeholder { color: var(--tz-text-dim); }
.tz-search-input:focus { background: rgba(255,255,255,.07) !important; box-shadow: none !important; -webkit-box-shadow: none !important; }
.tz-search-btn {
  background: var(--tz-primary-light) !important;
  border: 0 !important;
  color: var(--tz-gold) !important;
  padding: 0 1.1rem;
  transition: background .18s;
}
.tz-search-btn:hover { background: var(--tz-primary-mid) !important; }

.tz-header-keyword { color: var(--tz-text-dim); font-size: .78rem; }
.tz-header-keyword a { color: var(--tz-text-dim); font-size: .78rem; }
.tz-header-keyword a:hover { color: var(--tz-gold-light); }

/* 헤더 칩 */
.tz-header-chips { gap: .5rem; flex-shrink: 0; }
.tz-chip {
  padding: .5rem .85rem;
  border: 1px solid var(--tz-border);
  background: linear-gradient(135deg, rgba(10,63,48,.55), rgba(7,27,20,.45));
  border-radius: var(--tz-radius);
  backdrop-filter: blur(8px);
  box-shadow: var(--tz-shadow-card);
  min-width: 130px;
}
.tz-chip-label {
  display: block;
  font-size: .7rem;
  color: var(--tz-text-dim);
  line-height: 1.2;
}
.tz-chip-val {
  display: block;
  font-size: .8rem;
  color: var(--tz-text);
  white-space: nowrap;
  margin-top: .15rem;
}
.tz-chip-notice {
  border-color: rgba(212,168,79,.3);
  background: linear-gradient(135deg, rgba(212,168,79,.1), rgba(7,27,20,.5));
}
.tz-chip-notice .tz-chip-val { color: var(--tz-gold-light); }
.tz-chip-notice .fa { color: var(--tz-gold); margin-right: .3rem; }

/* ================================================================
   모바일 헤더
   ================================================================ */
#header_mo { box-shadow: 0 6px 20px rgba(0,0,0,.4); }
.tz-mo-header { padding-top: .6rem; padding-bottom: .6rem; }
.tz-mo-icon { line-height: 1 !important; }
.tz-mo-logo {
  display: inline-flex;
  align-items: baseline;
  gap: .35rem;
  text-decoration: none;
}
.tz-mo-logo-main {
  font-family: var(--tz-font-display);
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--tz-gold) !important;
  letter-spacing: .06em;
  text-shadow: 0 0 16px var(--tz-gold-glow);
}
.tz-mo-logo-ko {
  font-size: .7rem;
  color: var(--tz-text-muted) !important;
  letter-spacing: .08em;
}
.tz-mo-search {
  background: rgba(7,27,20,.95);
  border-bottom: 1px solid var(--tz-border-subtle);
}
.tz-mo-search-input {
  background: rgba(255,255,255,.06) !important;
  border-color: var(--tz-border) !important;
  color: var(--tz-text) !important;
}
.tz-mo-search-input::placeholder { color: var(--tz-text-dim); }

/* ================================================================
   PC 주메뉴 (nav#nt_menu)
   ================================================================ */
#nt_menu {
  position: relative;
  z-index: 20;
  background: linear-gradient(90deg, var(--tz-primary-dark) 0%, var(--tz-primary) 50%, var(--tz-primary-dark) 100%) !important;
  border-top: 1px solid rgba(212,168,79,.12);
  border-bottom: 1px solid rgba(212,168,79,.08);
  box-shadow: 0 8px 28px rgba(0,0,0,.45);
}
#nt_menu::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--tz-gold-glow), transparent);
}

#nt_menu .nt-container,
#nt_menu .me-list .me-li,
#nt_menu .sub-1dul,
#nt_menu .sub-1dli { position: relative; }

#nt_menu .me-a {
  display: block;
  position: relative;
  text-align: center;
  font-weight: 600;
  color: rgba(240,244,240,.9);
  font-size: .875rem;
  letter-spacing: .02em;
  transition: all .2s ease;
  border-bottom: 2px solid transparent;
}
#nt_menu .me-a .fa,
#nt_menu .tz-menu-icon { margin-right: .3rem; opacity: .8; }

#nt_menu .me-li.on > a > .me-a,
#nt_menu .me-li:hover > a > .me-a {
  color: var(--tz-gold-light) !important;
  background: rgba(212,168,79,.06) !important;
  border-bottom-color: var(--tz-gold);
  text-shadow: 0 0 12px var(--tz-gold-glow);
}
.tz-menu-link { text-decoration: none !important; }
.tz-menu-icon-link .me-a { padding: 0 .8rem; }

/* 서브메뉴 */
#nt_menu .sub-slide { display: none; visibility: visible; }
#nt_menu .sub-icon::after { font-family: "FontAwesome"; float: right; position: relative; content: "\f105"; color: var(--tz-gold); }
#nt_menu .me-icon { width: 4.0rem; text-align: center; }

.nt-menu .sub-1div,
#nt_menu .sub-2div {
  position: absolute;
  left: 0;
  top: 100%;
  z-index: 21;
  background: rgba(5,18,13,.96);
  border: 1px solid var(--tz-border);
  border-top: 2px solid var(--tz-gold);
  border-radius: 0 0 var(--tz-radius) var(--tz-radius);
  box-shadow: 0 16px 40px rgba(0,0,0,.55), 0 0 0 1px rgba(212,168,79,.05);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  min-width: 180px;
  overflow: hidden;
}
#nt_menu .sub-2div { left: 100%; top: 0; border-radius: var(--tz-radius); }

.nt-menu .sub-1da,
#nt_menu .sub-2da {
  display: block;
  color: var(--tz-text-muted);
  border-bottom: 1px solid rgba(255,255,255,.05);
  transition: all .15s;
  font-size: .875rem;
}
.nt-menu .me-sh,
#nt_menu .me-sh { padding: .6rem 1.1rem; }

.nt-menu .sub-1dli:hover .sub-1da,
.nt-menu .sub-1dli.on .sub-1da,
#nt_menu .sub-2dli:hover .sub-2da,
#nt_menu .sub-2dli.on .sub-2da {
  color: var(--tz-gold-light);
  background: rgba(212,168,79,.08);
  border-color: rgba(212,168,79,.12);
  padding-left: 1.4rem;
}
.nt-menu .sub-1line,
#nt_menu .sub-2line {
  display: block;
  color: var(--tz-gold);
  font-weight: 700;
  font-size: .75rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  background: rgba(212,168,79,.06);
  border-bottom: 1px solid rgba(212,168,79,.15) !important;
}
.tz-submenu .sub-1line,
.tz-submenu-2 .sub-2line { padding: .5rem 1.1rem; }

/* 메뉴 상단 고정 */
#nt_sticky_wrap.me-sticky { position: fixed; width: 100%; z-index: 999; left: 0; top: 0; }
@media (min-width: 992px) {
  .wrapper.m-lg-auto #nt_sticky_wrap.me-sticky nav { margin: 0 auto !important; }
}

/* mobile bg-primary override */
#header_mo > .bg-primary,
#nt_menu.bg-primary {
  background: linear-gradient(90deg, var(--tz-primary-dark), var(--tz-primary)) !important;
}

/* ================================================================
   페이지 타이틀 & 브레드크럼
   ================================================================ */
#nt_title {
  position: relative;
  overflow: hidden;
  color: var(--tz-text);
  background: rgba(10,63,48,.2);
  border-bottom: 1px solid var(--tz-border-subtle);
}
#nt_title::before {
  content: '';
  position: absolute;
  bottom: 0; left: 0;
  width: 100%; height: 2px;
  background: linear-gradient(90deg, var(--tz-gold), transparent);
  opacity: .5;
}
#nt_title .nt-container { position: relative; z-index: 2; height: 70px; }
#nt_title .page-title {
  font-size: 22px;
  letter-spacing: -.5px;
  line-height: 1.4;
  color: var(--tz-text);
  font-weight: 700;
}
#nt_title .breadcrumb { background: transparent !important; }
#nt_title .breadcrumb a { color: var(--tz-text-dim); }
#nt_title .breadcrumb a:hover { color: var(--tz-gold-light); }
#nt_title .breadcrumb-item + .breadcrumb-item::before { content: ">"; color: var(--tz-text-dim); font-size: .8em; }
#nt_title .breadcrumb-item.active a { color: var(--tz-text-muted); }

@media (max-width: 991px) { .responsive #nt_title .page-title { font-size: 20px; } }
@media (max-width: 767px) { .responsive #nt_title .page-title { font-size: 18px; } .responsive #nt_title .nt-container { height: 60px; } }
@media (max-width: 575px) { .responsive #nt_title .page-title { font-size: 16px; } .responsive #nt_title .nt-container { height: 50px; } }

/* ================================================================
   WING
   ================================================================ */
#nt_wing .nt-container { position: relative; overflow: visible !important; }
#nt_wing img { max-width: 100%; }
#nt_wing .wing-left, #nt_wing .wing-right { position: absolute; width: 160px; }
#nt_wing .wing-left { left: -180px; }
#nt_wing .wing-right { right: -180px; }

/* ================================================================
   위젯 / 카드 공통
   ================================================================ */
.widget-box, .card, .na-widget, .panel, .box {
  background: var(--tz-bg-card);
  border: 1px solid var(--tz-border-subtle);
  border-radius: var(--tz-radius);
  transition: border-color .2s, box-shadow .2s;
}
.widget-box:hover, .card:hover, .na-widget:hover {
  border-color: var(--tz-border);
  box-shadow: var(--tz-shadow-card);
}

/* 위젯 타이틀 */
h3.h3 { padding: 0; margin: 0; font-weight: 700; color: var(--tz-text); }
hr.hr::before { width: 100%; height: 1px; content: ""; position: absolute; left: 0; bottom: 1px; background-color: var(--tz-border-subtle); }
hr.hr { display: block; position: relative; height: 3px; border: none; line-height: 1px; padding: 0; margin: 0; }
hr.hr::after { width: 4.0rem; height: 3px; content: ""; position: absolute; left: 0; bottom: 0; background: var(--tz-gold); }

@media (max-width: 575px) {
  .responsive h3.h3 { padding-left: 1rem; padding-right: 1rem; }
  .responsive hr.hr::after { left: 1rem; }
}

/* ================================================================
   뱃지 / 레이블
   ================================================================ */
.tz-badge-hot { background: var(--tz-hot); color: #fff; border-radius: 4px; padding: .1rem .35rem; font-size: .7rem; font-weight: 700; }
.tz-badge-new { background: var(--tz-new); color: #fff; border-radius: 4px; padding: .1rem .35rem; font-size: .7rem; font-weight: 700; }
.tz-badge-notice { background: var(--tz-notice); color: #fff; border-radius: 4px; padding: .1rem .35rem; font-size: .7rem; font-weight: 700; }
.tz-badge-gold { background: var(--tz-gold); color: var(--tz-primary-dark); border-radius: 4px; padding: .1rem .35rem; font-size: .7rem; font-weight: 700; }

/* ================================================================
   FOOTER
   ================================================================ */
#nt_footer {
  background: rgba(5,14,10,.75);
  border-top: 1px solid var(--tz-border-subtle);
  margin-top: 2.5rem;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  position: relative;
}
#nt_footer::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(212,168,79,.3), transparent);
}
#nt_footer .nt-links { border-color: var(--tz-border-subtle) !important; }
#nt_footer .nt-links ul { list-style: none; margin: 0; padding: 0; }
#nt_footer .nt-links ul > li { float: left; padding: 0 11px; }
#nt_footer ul > li:first-child { padding-left: 0; }
#nt_footer ul > li:last-child { padding-right: 0; }
#nt_footer .nt-links ul > li::after { font-family: dotum; float: right; color: var(--tz-text-dim); content: "|"; margin-right: -13px; }
#nt_footer .nt-links ul > li:last-child::after { content: ""; }
#nt_footer .nt-links ul > li > a { color: var(--tz-text-muted); white-space: nowrap; font-size: .82rem; }
#nt_footer .nt-links ul > li > a:hover { color: var(--tz-gold-light); }
#nt_footer, #nt_footer a { color: var(--tz-text-muted); }
#nt_footer a:hover { color: var(--tz-gold-light); }

@media (max-width: 991px) {
  .responsive #nt_footer .nt-links ul > li { float: none; display: inline-block; }
}

.tz-footer-info { list-style: none; padding: 0; margin: 0; font-size: .8rem; color: var(--tz-text-dim); flex-wrap: wrap; }
.tz-footer-info > li { line-height: 2; }

.tz-footer-disclaimer {
  max-width: 960px;
  margin: 0 auto;
  padding: .75rem 1.25rem;
  border-radius: var(--tz-radius);
  border: 1px solid rgba(212,168,79,.1);
  background: rgba(10,63,48,.15);
  color: var(--tz-text-dim);
  font-size: .78rem;
  line-height: 1.6;
}
.tz-footer-disclaimer .fa { margin-right: .4rem; color: var(--tz-gold); opacity: .7; }
.tz-footer-disclaimer b { color: var(--tz-text-muted); }

.tz-footer-tags { padding: .5rem 0; display: flex; flex-wrap: wrap; gap: .35rem; justify-content: center; }
.tz-footer-tags > span {
  font-size: .72rem;
  color: var(--tz-text-dim);
  background: rgba(255,255,255,.04);
  border: 1px solid var(--tz-border-subtle);
  border-radius: 4px;
  padding: .15rem .55rem;
}

.tz-footer-copy { color: var(--tz-text-dim); font-size: .82rem; }
.tz-footer-logo-text {
  font-family: var(--tz-font-display);
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--tz-gold);
  margin-right: .5rem;
}
.tz-footer-copy-sub { display: block; margin-top: .25rem; font-size: .75rem; color: var(--tz-text-dim); }

/* ================================================================
   Bootstrap 4 overrides
   ================================================================ */
.tooltip .tooltip-inner { font-size: 1rem !important; }

/* 체크박스 */
.custom-checkbox .custom-control-label::before,
.custom-checkbox .custom-control-label::after,
.custom-radio .custom-control-label::before,
.custom-radio .custom-control-label::after { top: .15rem !important; width: 1.4rem !important; height: 1.4rem !important; }
.custom-checkbox .custom-control-label span,
.custom-radio .custom-control-label span { cursor: pointer; padding-left: .5rem !important; }
.custom-switch .custom-control-label::before,
.custom-switch .custom-control-label::after { margin-top: 2px; }

/* 버튼 */
.btn { transition: all .2s ease; }
.btn-primary,
.bg-primary {
  background: linear-gradient(135deg, var(--tz-primary-mid), var(--tz-primary)) !important;
  border-color: rgba(212,168,79,.2) !important;
  color: var(--tz-text) !important;
}
.btn-primary:hover {
  background: linear-gradient(135deg, var(--tz-primary-light), var(--tz-primary-mid)) !important;
  border-color: rgba(212,168,79,.35) !important;
  box-shadow: 0 0 16px rgba(212,168,79,.15);
}
.btn-lg { padding: 10px 16px; border-radius: var(--tz-radius-sm); line-height: 1.33; font-size: 18px; }
.btn-lg i { top: 3px; font-size: 24px; position: relative; }

/* 골드 강조 버튼 */
.btn-gold {
  background: linear-gradient(135deg, var(--tz-gold-light), var(--tz-gold)) !important;
  border-color: var(--tz-gold-dark) !important;
  color: var(--tz-primary-dark) !important;
  font-weight: 700;
}
.btn-gold:hover {
  background: linear-gradient(135deg, var(--tz-gold), var(--tz-gold-dark)) !important;
  box-shadow: var(--tz-shadow-gold);
}

/* Form */
.col-form-label { font-weight: 700; color: var(--tz-text-muted); }
.form-control, .custom-select, .input-group-text {
  border-radius: var(--tz-radius-sm);
  background: rgba(255,255,255,.04);
  border-color: var(--tz-border-subtle);
  color: var(--tz-text);
}
.form-control::placeholder { color: var(--tz-text-dim); }
.form-control:focus {
  background: rgba(255,255,255,.06);
  border-color: rgba(212,168,79,.4);
  box-shadow: 0 0 0 .2rem rgba(212,168,79,.12);
  color: var(--tz-text);
}
.input-group-text {
  background: rgba(10,63,48,.5);
  border-color: var(--tz-border-subtle);
  color: var(--tz-gold);
}

/* Pagination */
.page-link { background: var(--tz-bg-card); border-color: var(--tz-border-subtle); color: var(--tz-text-muted); }
.page-link:hover { background: rgba(212,168,79,.1); border-color: var(--tz-gold); color: var(--tz-gold-light); }
.page-item.active .page-link { background: var(--tz-primary-mid); border-color: var(--tz-gold); color: var(--tz-gold); }

/* Alerts */
.alert { border-radius: var(--tz-radius-sm); border: 0; }
.alert-primary { background: rgba(10,63,48,.4); color: var(--tz-text-muted); border-left: 3px solid var(--tz-primary-light) !important; }
.alert-warning { background: rgba(212,168,79,.1); color: var(--tz-gold-light); border-left: 3px solid var(--tz-gold) !important; }
.alert-danger  { background: rgba(232,64,87,.1);  color: #fca5a5;             border-left: 3px solid var(--tz-hot) !important; }
.alert-success { background: rgba(34,197,94,.1);  color: #86efac;             border-left: 3px solid var(--tz-chart-green) !important; }
.alert-info    { background: rgba(59,130,246,.1); color: #93c5fd;             border-left: 3px solid var(--tz-notice) !important; }

/* 라운드/사각 스타일 */
.na-round,
.view_image img,
.pretty-embed img { border-radius: var(--tz-radius-sm) !important; }
.is-square .na-round,
.is-square .view_image img,
.is-square .pretty-embed img,
.is-square .btn,
.is-square .alert,
.is-square .nav-link,
.is-square .form-control,
.is-square .input-group-prepend,
.is-square .input-group-append,
.is-square .input-group-text,
.is-square .custom-file-label,
.is-square .custom-file-label:after,
.is-square .custom-select,
.is-square .label,
.is-square .progress,
.is-square .pagination li a,
.is-square .list-group-item { border-radius: 0 !important; }

/* Tables */
.table { color: var(--tz-text-muted); }
.table thead th { background: rgba(10,63,48,.5); border-color: var(--tz-border-subtle); color: var(--tz-gold-light); font-size: .82rem; letter-spacing: .04em; font-weight: 600; }
.table td, .table th { border-color: var(--tz-border-subtle); }
.table-striped tbody tr:nth-of-type(odd) { background-color: rgba(255,255,255,.025); }
.table-hover tbody tr:hover { background-color: rgba(212,168,79,.05); color: var(--tz-text); }

/* ================================================================
   TOTOZ 패턴 분석 전용 컴포넌트
   ================================================================ */

/* 패턴 분석 결과 행 (짝/홀, 언더/오버 등) */
.tz-pattern-row { display: flex; gap: .3rem; flex-wrap: wrap; align-items: center; margin: .4rem 0; }
.tz-ball {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px; height: 30px;
  border-radius: 50%;
  font-family: var(--tz-font-mono);
  font-size: .78rem;
  font-weight: 700;
  line-height: 1;
  flex-shrink: 0;
  transition: transform .15s;
}
.tz-ball:hover { transform: scale(1.1); }
.tz-ball-odd  { background: linear-gradient(135deg, #1d6b4e, #0D5240); border: 1px solid rgba(77,222,128,.3); color: #4ade80; }
.tz-ball-even { background: linear-gradient(135deg, #3b3206, #6b5b10); border: 1px solid rgba(212,168,79,.3); color: var(--tz-gold-light); }
.tz-ball-over  { background: linear-gradient(135deg, #3d1515, #7a1d1d); border: 1px solid rgba(248,113,113,.3); color: #f87171; }
.tz-ball-under { background: linear-gradient(135deg, #1a2f4a, #1e3a5f); border: 1px solid rgba(96,165,250,.3); color: #60a5fa; }
.tz-ball-pb    { background: linear-gradient(135deg, var(--tz-primary-dark), var(--tz-primary)); border: 1px solid var(--tz-border-active); color: var(--tz-gold); }

/* 실시간 라이브 도트 */
.tz-live-badge {
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  background: rgba(232,64,87,.15);
  border: 1px solid rgba(232,64,87,.35);
  border-radius: 20px;
  padding: .2rem .7rem;
  font-size: .72rem;
  font-weight: 700;
  color: #f87171;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.tz-live-badge::before {
  content: '';
  width: 7px; height: 7px;
  background: #f87171;
  border-radius: 50%;
  animation: tz-pulse 1.2s ease infinite;
}

/* 통계 숫자 강조 */
.tz-stat-num {
  font-family: var(--tz-font-mono);
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--tz-gold);
  line-height: 1;
}
.tz-stat-label { font-size: .72rem; color: var(--tz-text-dim); margin-top: .2rem; }

/* 차트 범례 도트 */
.tz-dot-green  { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--tz-chart-green); margin-right: .3rem; }
.tz-dot-gold   { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--tz-chart-gold);  margin-right: .3rem; }
.tz-dot-blue   { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--tz-chart-blue);  margin-right: .3rem; }
.tz-dot-red    { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--tz-chart-red);   margin-right: .3rem; }

/* 섹션 구분선 (골드) */
.tz-divider {
  border: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--tz-border-active), transparent);
  margin: 1.5rem 0;
  opacity: .5;
}

/* 게임 카테고리 탭 */
.tz-category-tabs { display: flex; gap: .4rem; flex-wrap: wrap; padding: .5rem 0; }
.tz-cat-tab {
  padding: .35rem 1rem;
  border-radius: 20px;
  border: 1px solid var(--tz-border-subtle);
  background: var(--tz-bg-card);
  color: var(--tz-text-muted);
  font-size: .8rem;
  cursor: pointer;
  transition: all .18s;
}
.tz-cat-tab:hover,
.tz-cat-tab.active {
  background: rgba(212,168,79,.12);
  border-color: var(--tz-gold);
  color: var(--tz-gold-light);
}

/* ================================================================
   모바일 반응형 추가
   ================================================================ */
@media (max-width: 767.98px) {
  body { background-attachment: scroll; }
  #header_mo .bg-primary { border-bottom: 1px solid rgba(212,168,79,.1); }
  .tz-footer-tags { padding: .5rem 1rem; }
}

/* ================================================================
   스크롤바 (웹킷)
   ================================================================ */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: rgba(7,27,20,.5); }
::-webkit-scrollbar-thumb { background: rgba(212,168,79,.25); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: rgba(212,168,79,.45); }

/* ================================================================
   텍스트 유틸리티
   ================================================================ */
.tz-gold  { color: var(--tz-gold) !important; }
.tz-green { color: var(--tz-chart-green) !important; }
.tz-red   { color: var(--tz-chart-red) !important; }
.tz-blue  { color: var(--tz-chart-blue) !important; }
.tz-muted { color: var(--tz-text-muted) !important; }
.tz-dim   { color: var(--tz-text-dim) !important; }
