@charset "utf-8";

/* --------------------------------------------------------
게시판 목록 스타일 - UXC LIST (테이블 형태)
----------------------------------------------------------*/
.boardListWrap {position:relative;}

/* 게시물 목록 */
[data-board="uxc_list"] {display:flex; flex-direction:column; border-top:3px solid var(--board-gray-200);}

/* 리스트 헤더 */
[data-board="uxc_list"] .listHeader {display:flex; align-items:center; padding:12px 0; background:var(--board-gray-50); border-bottom:1px solid var(--board-gray-300); font-size:14px; font-weight:600; color:var(--board-gray-800);}
[data-board="uxc_list"] .listHeader .col {text-align:center;}

/* cardBox를 테이블 행처럼 스타일링 */
[data-board="uxc_list"] .cardBox {display:flex; align-items:center; position:relative; width:100%; padding:12px 0; border-bottom:1px solid var(--board-gray-200); gap:0; transition:background-color 0.2s ease;}
[data-board="uxc_list"] .cardBox:hover {background:var(--board-gray-50);}
[data-board="uxc_list"] .cardBox.bo_notice {background:var(--board-gray-50);}
[data-board="uxc_list"] .cardBox.active {background:var(--board-gray-100);}

/* 컬럼 공통 스타일 */
[data-board="uxc_list"] .col {padding:0 8px; font-size:14px; color:var(--board-gray-700);}

/* 컬럼별 너비 및 정렬 */
[data-board="uxc_list"] .col-check {width:40px; min-width:40px; text-align:center;}
[data-board="uxc_list"] .col-num {width:60px; min-width:60px; text-align:center; font-size:13px; color:var(--board-gray-500);}
[data-board="uxc_list"] .col-subject {flex:1; text-align:left; padding-left:15px; padding-right:15px;}
[data-board="uxc_list"] .col-name {text-align:center; font-size:13px;}
[data-board="uxc_list"] .col-date {width:100px; min-width:100px; text-align:center; font-size:13px; color:var(--board-gray-500);}
[data-board="uxc_list"] .col-hit {width:60px; min-width:60px; text-align:center; font-size:13px; color:var(--board-gray-500);}

/* 제목 영역 스타일 */
[data-board="uxc_list"] .bo_tit {display:flex; align-items:center; gap:6px; flex-wrap:wrap;}
[data-board="uxc_list"] .bo_tit a {color:var(--board-gray-900); text-decoration:none; font-weight:500; transition:color 0.2s ease; font-size:15px;}
[data-board="uxc_list"] .bo_tit a:hover {color:var(--color-prime);}

/* 공지사항 및 현재글 표시 */
[data-board="uxc_list"] .bo_notice_label,
[data-board="uxc_list"] .bo_current {display:inline-block; padding:2px 8px; border-radius:12px; font-size:11px; font-weight:600;}
[data-board="uxc_list"] .bo_notice_label {background:var(--color-prime); color:var(--board-white-only);}
[data-board="uxc_list"] .bo_current {background:var(--color-prime); color:var(--board-white-only);}

/* 댓글 개수 표시 */
[data-board="uxc_list"] .comment_cnt {display:inline-flex; align-items:center; justify-content:center; min-width:20px; height:20px; padding:0 6px; margin-left:4px; background:var(--color-prime); color:var(--board-white-only); border-radius:10px; font-size:11px; font-weight:600;}

/* 카테고리 표시 */
[data-board="uxc_list"] .bo_cate_link {display:inline-block; padding:2px 8px; margin-left:6px; border:1px solid var(--board-gray-300); border-radius:4px; font-size:11px; color:var(--board-gray-600); background:var(--board-gray-50);}

/* 아이콘 표시 */
[data-board="uxc_list"] .iconBox {display:inline-flex; align-items:center; justify-content:center; padding:2px 6px; margin-left:4px; border-radius:10px; font-size:10px; font-weight:600;}
[data-board="uxc_list"] .hot_icon {display:inline-flex; align-items:center; justify-content:center; width:18px; height:18px; margin-left:4px; border-radius:50%; font-size:10px; font-weight:700;}
[data-board="uxc_list"] .hot_icon {background:var(--board-warning); color:var(--board-white-only);}
[data-board="uxc_list"] .file_icon,
[data-board="uxc_list"] .link_icon,
[data-board="uxc_list"] .secret_icon {margin-left:4px; font-size:14px;}
[data-board="uxc_list"] .file_icon {color:var(--board-gray-600);}
[data-board="uxc_list"] .link_icon {color:var(--board-gray-600);}
[data-board="uxc_list"] .secret_icon {color:var(--board-gray-500);}

/* 빈 목록 */
[data-board="uxc_list"] .cardBox.empty {justify-content:center; padding:60px 20px; color:var(--board-gray-500); font-size:16px; font-weight:500;}

/* 체크박스 스타일 */
[data-board="uxc_list"] .opt {display:flex; align-items:center; justify-content:center;}
[data-board="uxc_list"] .opt input[type="checkbox"] {margin:0;}

/* 모바일 메타 정보 기본 숨김 */
[data-board="uxc_list"] .mobile-meta {display:none;}

/* 페이지네이션 */
.listFooter {text-align:center;}
.listFooter .pagination {display:inline-flex; gap:8px; align-items:center;}

/* 추가 버튼 스타일 */
.boardListWrap .admBtn .buttonWrap button.warning {border-color:var(--board-danger); color:var(--board-danger);}
.boardListWrap .admBtn .buttonWrap button.warning:hover {background:var(--board-danger); color:var(--board-white);}
.boardListWrap .admBtn .buttonWrap button.prime {border-color:var(--color-prime); color:var(--color-prime);}
.boardListWrap .admBtn .buttonWrap button.prime:hover {background:var(--color-prime); color:var(--board-white);}

/* 공통 유틸리티 클래스 */
.bg-pr {background:var(--color-prime) !important;}
.color-wh {color:var(--board-white-only) !important;}
.round-s {border-radius:10px !important;}


/* --------------------------------------------------------
로또 게시판 전용 스타일
----------------------------------------------------------*/

/* 로또 번호 공통 스타일 */
.lotto-ball {display:inline-flex; justify-content:center; align-items:center; width:36px; height:36px; margin:0 2px; border-radius:50%; border:1px solid var(--board-gray-300); color:var(--board-white-only); font-size:14px; font-weight:bold;}
.lotto-ball.yellow {background:var(--board-yellow); border-color:var(--board-yellow);}
.lotto-ball.blue {background:var(--board-blue); border-color:var(--board-blue);}
.lotto-ball.red {background:var(--board-red); border-color:var(--board-red);}
.lotto-ball.gray {background:var(--board-gray-600); border-color:var(--board-gray-600);}
.lotto-ball.green {background:var(--board-green); border-color:var(--board-green);}
.lotto-ball.bonus {background:var(--board-purple); border-color:var(--board-purple);}
.plus {display:inline-block; margin:0 8px; color:var(--board-gray-600); font-weight:bold;}
/* 로또 생성기 스타일 */
.lotto-tool-box {margin:20px 0; padding:20px; border:1px solid var(--board-gray-300); border-radius:var(--board-radius); background:var(--board-gray-50);}
.lotto-tool-header {margin-bottom:20px; padding-bottom:15px; border-bottom:1px solid var(--board-gray-300);}
.lotto-tool-header .title {margin-bottom:5px; color:var(--board-gray-900); font-size:18px; font-weight:600;}
.lotto-tool-header .desc {color:var(--board-gray-600); font-size:13px;}
.lotto-generate-options {display:flex; flex-wrap:wrap; justify-content:center; margin-bottom:24px; gap:12px;}
/* 수동 선택 패널 */
.manual-select-panel {margin:20px 0; padding:20px; border-radius:var(--board-radius-lg); background:var(--board-white); border:1px solid var(--board-gray-200);}
.manual-controls {display:flex; justify-content:space-between; align-items:center; margin-top:16px; padding:16px; border-radius:var(--board-radius); background:var(--board-gray-50);}
.button-group {display:flex; gap:8px;}
/* 번호 선택 그리드 */
.number-grid {display:grid; margin-bottom:15px; padding:20px; border-radius:var(--board-radius); background:var(--board-white); grid-template-columns:repeat(9, 1fr);gap:10px;}
.number-select-item {position:relative;}
.number-select-item .number-label {display:block; cursor:pointer;}
.number-select-item .number-text {display:flex; justify-content:center; align-items:center; width:42px; height:42px; border:2px solid var(--board-gray-300); border-radius:50%; background:var(--board-white); color:var(--board-gray-700); font-size:14px; font-weight:600; transition:all 0.2s ease;}
.number-select-item input[type="checkbox"]:checked + .number-label .number-text {border-color:var(--color-prime); background:var(--color-prime); color:var(--board-white-only); transform:scale(1.1);}
.number-select-item input[type="checkbox"]:hover + .number-label .number-text {border-color:var(--color-prime); background:var(--board-overlay-400);}
.manual-controls {display:flex; justify-content:space-between; align-items:center; padding:10px; border-radius:var(--board-radius); background:var(--board-white);}
.selected-count {color:var(--board-gray-600); font-size:14px;}
.selected-count strong {color:var(--color-prime); font-size:16px;}
/* 생성 설정 */
.generate-settings {display:flex; justify-content:center; align-items:center; margin-top:20px; padding-top:20px; border-top:2px solid var(--board-gray-200); gap:20px;}
.setting-item {display:flex; align-items:center;}
.setting-item .setting-label {display:flex; align-items:center; white-space:nowrap; gap:6px;}
/* opt 클래스 체크박스 스타일 (디자인 가이드) */
/* 생성된 번호 표시 영역 */
.generated-numbers-box {margin:20px 0; padding:20px; border:1px solid var(--board-gray-300); border-radius:var(--board-radius); background:var(--board-white);}
/* view 페이지에서의 로또 번호 표시 */
.generated-numbers-box.view-mode {margin:30px 0; background:var(--board-gray-50);}
.generated-date {color:var(--board-gray-600); font-size:13px;}
.generation-type {margin-top:20px; padding-top:15px; border-top:1px solid var(--board-gray-300); color:var(--board-gray-600); font-size:13px; text-align:center;}
.generated-header {display:flex; justify-content:space-between; align-items:center; margin-bottom:20px; padding-bottom:15px; border-bottom:1px solid var(--board-gray-300);}
.generated-title {margin:0; color:var(--board-gray-900); font-size:18px; font-weight:600;}
.generated-body {padding:8px 0;}
.number-set-item {margin-bottom:10px; padding:15px; border:1px solid var(--board-gray-200); border-radius:var(--board-radius); background:var(--board-white);}
.set-label {display:inline-block; margin-bottom:10px; color:var(--board-gray-700); font-size:14px; font-weight:600;}
.number-balls {display:flex; flex-wrap:wrap; align-items:center; gap:8px;}
.score-badge {display:inline-block; margin-left:auto; padding:4px 12px; border-radius:20px; background:var(--board-yellow); color:var(--board-gray-900); font-size:12px; font-weight:700;}
.eval-info {margin-top:16px; padding:12px; border-radius:var(--board-radius); background:var(--board-overlay-400); color:var(--board-gray-700); font-size:14px;}
/* 분석 페이지 스타일 */
.lotto-analysis-wrap {max-width:1200px; margin:0 auto; padding:20px;}
.analysis-header {margin-bottom:40px; padding:30px; border:1px solid var(--board-gray-300); border-radius:var(--board-radius); background:var(--board-gray-50); text-align:center;}
.analysis-header h2 {margin-bottom:10px; color:var(--board-gray-900); font-size:28px;}
.analysis-header p {color:var(--board-gray-600); font-size:14px;}
.analysis-controls {margin-top:20px;}
.analysis-controls select {padding:10px 20px; border:none; border-radius:var(--board-radius); background:var(--board-white); font-size:14px; cursor:pointer;}
/* 카드 스타일 */
.card {margin-bottom:24px; padding:24px; border-radius:var(--board-radius-lg); background:var(--board-white); border:1px solid var(--board-gray-200);}
.card h3 {display:flex; align-items:center; margin-bottom:20px; color:var(--board-gray-900); font-size:20px; gap:8px;}
/* 최신 당첨번호 */
.latest-winning {border:1px solid var(--board-gray-300); background:var(--board-gray-50);}
.latest-info {padding:20px; border-radius:var(--board-radius); background:var(--board-white);}
.round-info {display:flex; justify-content:space-between; align-items:center; margin-bottom:20px;}
.round-info strong {color:var(--board-gray-900); font-size:24px;}
.date {color:var(--board-gray-600); font-size:14px;}
.winning-numbers {display:flex; justify-content:center; align-items:center; margin:20px 0; gap:8px;}
.prize-info {display:grid; margin-top:20px; padding-top:20px; border-top:1px solid var(--board-gray-300); color:var(--board-gray-600); font-size:14px; grid-template-columns:1fr 1fr;gap:16px;}
/* 핫/콜드 번호 */
.hot-cold-grid {display:grid; grid-template-columns:1fr 1fr;gap:24px;}
.hot-numbers, .cold-numbers {padding:16px; border-radius:var(--board-radius); background:var(--board-gray-50);}
.hot-numbers h4 {margin-bottom:12px; color:var(--board-red);}
.cold-numbers h4 {margin-bottom:12px; color:var(--board-lightblue);}
.number-list {display:grid; grid-template-columns:repeat(auto-fill, minmax(60px, 1fr));gap:8px;}
.number-item {display:flex; align-items:center; flex-direction:column; padding:8px; border:1px solid var(--board-gray-300); border-radius:var(--board-radius); background:var(--board-white);}
.number-item .number {color:var(--board-gray-900); font-size:18px; font-weight:bold;}
.number-item .count {color:var(--board-gray-600); font-size:12px;}
/* 빈도 테이블 */
.frequency-table {max-height:400px; margin-top:20px; overflow-y:auto;}
.frequency-table table {width:100%; border-collapse:collapse;}
.frequency-table th {position:sticky; top:0; padding:12px; background:var(--board-gray-50); color:var(--board-gray-600); font-weight:600; text-align:left;}
.frequency-table td {padding:10px 12px; border-bottom:1px solid var(--board-gray-100);}
.bar-graph {width:100%; height:20px; overflow:hidden; border-radius:10px; background:var(--board-gray-100);}
.bar-graph .bar {height:100%; border-radius:10px; background:var(--color-prime); transition:width 0.3s ease;}
/* 패턴 분석 */
.pattern-grid {display:grid; grid-template-columns:repeat(auto-fit, minmax(150px, 1fr));gap:12px;}
.pattern-item {padding:12px; border-radius:var(--board-radius); background:var(--board-gray-50); text-align:center;}
.pattern-label {margin-bottom:4px; color:var(--board-gray-900); font-size:16px; font-weight:bold;}
.pattern-count {color:var(--board-gray-600); font-size:14px;}
.pattern-percent {margin:8px 0; color:var(--color-prime); font-size:18px; font-weight:bold;}
.pattern-bar {width:100%; height:4px; overflow:hidden; border-radius:2px; background:var(--board-gray-300);}
.pattern-bar .bar {height:100%; background:var(--color-prime);}
/* 통계 정보 */
.analysis-note {margin-top:16px; padding:12px; border-radius:var(--board-radius); background:var(--board-yellow); color:var(--board-gray-900); font-size:14px;}
/* 추천 번호 */
.recommendation-section {border:1px solid var(--board-gray-300); background:var(--board-gray-50);}
.recommendation-section h3 {color:var(--board-gray-900);}
.recommendation-desc {margin-bottom:20px; color:var(--board-gray-600); font-size:14px;}
.recommendations-grid {display:flex; flex-direction:column; gap:12px;}
.recommendation-set {display:flex; align-items:center; padding:12px; border:1px solid var(--board-gray-300); border-radius:var(--board-radius); background:var(--board-white);}
.generate-btn {width:100%; padding:16px; border:2px solid var(--color-prime); border-radius:var(--board-radius); background:var(--board-white); color:var(--color-prime); font-size:16px; font-weight:bold; cursor:pointer; transition:all 0.3s ease;}
.generate-btn:hover {background:var(--color-prime); color:var(--board-white-only);}
.badge {margin-left:8px; padding:2px 8px; border-radius:4px; background:var(--board-yellow); color:var(--board-gray-900); font-size:12px; font-weight:bold;}
/* 분석 페이지 하단 버튼 */
.analysis-footer {display:flex; justify-content:center; margin-top:40px; gap:12px;}
.btn {padding:12px 24px; border-radius:8px; font-weight:600; text-decoration:none; transition:all 0.3s ease;}
.btn-list {background:var(--board-gray-600); color:var(--board-white-only);}
.btn-list:hover {background:var(--board-gray-700);}
.btn-write {background:var(--color-prime); color:var(--board-white-only);}
.btn-write:hover {opacity:0.9;}
/* 로딩 애니메이션 */
.bx-spin {animation:spin 1s linear infinite;}
@keyframes spin {
    from {transform:rotate(0deg);}
    to {transform:rotate(360deg);}
}

/* 무작위 번호 스타일 (흰색 배경, 검은색 텍스트) - analysis.css와 동일 */
.lotto-ball.random-ball {border:1px solid #ddd !important; background:#ffffff !important; color:#000000 !important; font-weight:700;}
/* --------------------------------------------------------
반응형 디자인
----------------------------------------------------------*/
@media (max-width:1024px) {
    .boardListWrap .admBtn {align-items:stretch; flex-direction:column; gap:16px;}
    .boardListWrap .admBtn .levelWrap {justify-content:center;}
  /* 태블릿에서 컬럼 너비 조정 */
    [data-board="uxc_list"] .col-name {width:80px; min-width:80px;}
    [data-board="uxc_list"] .col-date {width:80px; min-width:80px;}
    .number-grid {grid-template-columns:repeat(7, 1fr);}
    .hot-cold-grid {grid-template-columns:1fr;}
}
@media (max-width:768px) {
  /* 모바일에서 카드형으로 변경 */
    [data-board="uxc_list"] .listHeader {display:none;}
    [data-board="uxc_list"] .cardBox {align-items:stretch; flex-direction:column; padding:16px 0; gap:8px;}
  /* PC용 컬럼 숨기기 */
    [data-board="uxc_list"] .col-num,
    [data-board="uxc_list"] .col-name,
    [data-board="uxc_list"] .col-date,
    [data-board="uxc_list"] .col-hit {display:none !important;}
  /* 체크박스와 제목만 표시 */
    [data-board="uxc_list"] .col-check {display:none;}
    [data-board="uxc_list"] .col-subject {width:100% !important; padding:0 !important; order:1;}
    [data-board="uxc_list"] .col-subject .bo_tit a {font-size:16px; font-weight:600;}
  /* 모바일 메타 정보 표시 */
    [data-board="uxc_list"] .mobile-meta {display:flex; align-items:center; margin-top:8px; color:var(--board-gray-500); font-size:13px; order:2;gap:12px;}
    [data-board="uxc_list"] .mobile-meta span {position:relative;}
    [data-board="uxc_list"] .mobile-meta span:not(:last-child)::after {content:'•'; position:absolute; right:-7px; color:var(--board-gray-400);}
    .boardListWrap .toolBox .tools {flex-wrap:wrap; justify-content:center;}
    .boardListWrap .catagory ul {justify-content:center;}
    #searchPop .modalBox {width:95%; margin:20px;}
    #searchPop .searchForm {flex-direction:column; gap:12px;}
    #searchPop .searchForm select,
    #searchPop .searchForm input {width:100%;}
    #searchPop .buttonWrap {flex-direction:column;}
    #searchPop .buttonWrap button {width:100%;}
  /* 로또 관련 모바일 스타일 */
    .lotto-generate-options {flex-direction:column;}
    .lotto-btn {width:100%;}
    .number-grid {padding:10px; grid-template-columns:repeat(5, 1fr);gap:6px;}
    .lotto-ball {width:32px; height:32px; font-size:13px;}
    .analysis-header h2 {font-size:24px;}
    .pattern-grid {grid-template-columns:repeat(2, 1fr);}
    .analysis-footer {flex-direction:column;}
    .btn {width:100%;}
}
@media (max-width:480px) {
    .boardListWrap .admBtn {padding:12px;}
    .boardListWrap .toolBox {padding:12px;}
  /* 더 작은 화면에서 조정 */
    [data-board="uxc_list"] .col-subject .bo_tit a {font-size:15px;}
    [data-board="uxc_list"] .cardBox {padding:12px;}
    [data-board="uxc_list"] .mobile-meta {font-size:12px; gap:8px;}
    .number-grid {grid-template-columns:repeat(5, 1fr);}
    .lotto-ball {width:28px; height:28px; margin:0 1px; font-size:12px;}
}
/* ========================================
   점수 뱃지 스타일 (로또 전용)
======================================== */
.score-badge {display:inline-flex; align-items:center; margin-left:auto; padding:6px 12px; border-radius:20px; font-size:13px; font-weight:700; gap:4px;transition:all 0.3s ease;}
.score-badge .score-value {font-size:14px;}
.score-badge .score-grade {opacity:0.9; font-size:11px;}
/* 점수별 색상 */
.score-badge.excellent {border:1px solid var(--board-yellow); background:var(--board-yellow); color:var(--board-gray-900);}
.score-badge.good {border:1px solid var(--board-green); background:var(--board-green); color:var(--board-white-only);}
.score-badge.normal {border:1px solid var(--board-blue); background:var(--board-blue); color:var(--board-white-only);}
.score-badge.below {border:1px solid var(--board-gray-500); background:var(--board-gray-500); color:var(--board-white-only);}
.score-badge.poor {border:1px solid var(--board-red); background:var(--board-red); color:var(--board-white-only);}
/* 점수 설명 박스 */
.score-explanation {margin-top:20px; padding:20px; border:1px solid var(--board-gray-300); border-radius:var(--board-radius-lg); background:var(--board-gray-50);}
.score-explanation h4 {margin:0 0 15px 0; color:var(--board-gray-700); font-size:16px; font-weight:600;}
.score-explanation h4 i {margin-right:5px; color:var(--color-prime);}
.score-criteria {display:grid; gap:12px;}
.criteria-item {display:flex; align-items:flex-start; padding:10px; border:1px solid var(--board-gray-200); border-radius:8px; background:var(--board-white); gap:10px;}
.criteria-icon {display:flex; justify-content:center; align-items:center; flex-shrink:0; width:32px; height:32px; border-radius:50%; background:var(--color-prime); color:var(--board-white); font-size:16px;}
.criteria-content {flex:1;}
.criteria-title {margin:0 0 4px 0; color:var(--board-gray-700); font-size:14px; font-weight:600;}
.criteria-desc {margin:0; color:var(--board-gray-600); font-size:12px; line-height:1.5;}
.criteria-points {margin-left:auto; padding:2px 8px; border-radius:12px; background:var(--board-gray-100); color:var(--board-blue); font-size:11px; font-weight:600; white-space:nowrap;}

/* 접근성 고려 */
@media (prefers-reduced-motion:reduce) {
  [data-board="uxc_list"] .cardBox {opacity:1; animation:none;transform:none;}
  [data-board="uxc_list"] .cardBox:hover {transform:none;transition:box-shadow 0.2s ease;}
  .bx-spin {animation:none;}
}