@charset "utf-8";

:root {
  --co-bg-deep: #0d0d0dc0;
  --co-bg-base: #1d1d1dc0;
  --co-bg-surface: #2C2C2C;
  --co-bg-surface-hover: #3a3a3a;
  --co-text: #F0F0F0;
  --co-text-muted: #B8B8B8;
  --co-text-dim: #888;
  --co-text-placeholder: rgba(240, 240, 240, 0.4);
  --co-accent: #dcd394;
  --co-primary: #4d1d00;
  --co-primary-hover: #7c3000;
  --co-primary-border: #634d10;
  --co-primary-border-hover: #6d530b;
  --co-primary-overlay: rgba(77, 29, 0, 0.7);
  --co-primary-subtle: rgba(77, 29, 0, 0.15);
  --co-border: #404040;
  --co-border-hover: #505050;
  --co-radius: 4px;
  --co-font-base: 'S-CoreDream-3Light', sans-serif;
  --co-font-title: 'GyeongbokgungSumunjangTitle', sans-serif;
}

.fix-layout {
  max-width: 1440px;
}

@media all and (max-width: 1160px) {
  .fix-layout {
    max-width: 100%;
  }

  #body>.fix-layout>.mid-layout {
    padding-left: 20px;
    padding-right: 20px;
  }
}

* {
  font-family: var(--co-font-base);
}

body {
  color: var(--co-text);
  font-size: 13px;
  font-family: var(--co-font-base);
}

.txt-default {
  color: var(--co-text);
}

a,
.txt-point,
.sch_word {
  color: var(--co-accent);
}

.txt-menu-font {
  font-family: var(--co-font-title);
}

.enterWrapper {
  background-color: var(--co-bg-deep);
}

.enterWrapper .guide {
  color: var(--co-text-muted);
  font-size: 17px;
  font-family: var(--co-font-title);
}

@media all and (min-width: 1025px) {
  .admin-preview-box,
  html.single:before {
    background-color: var(--co-bg-base);
  }
}

@media all and (max-width: 1024px) {
  .admin-preview-box,
  html.single:before {
    background-color: var(--co-bg-base);
  }
}

.admin-preview-box .gnbWrap {
  font-size: 15px;
}

.admin-preview-box .gnbWrap .tooltips {
  font-family: var(--co-font-title);
}

#topCont a .icons,
.icons-link-box .icons,
.admin-preview-box .gnbWrap .icons {
  color: var(--co-accent);
  width: 3.3em;
}

#topCont a .icons:before,
.icons-link-box a .icons:before,
.admin-preview-box .gnbWrap .icons:before {
  top: 50%;
  left: 50%;
  right: auto;
  bottom: auto;
  width: 2.1em;
  height: 2.1em;
  margin: -1.05em 0 0 -1.05em;
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  background-color: rgba(0, 0, 0, 0.4);
  background: linear-gradient(0deg, var(--co-bg-deep) 0%, var(--co-bg-base) 100%);
  border-color: var(--co-border);
  border-style: solid;
  border-width: 1px;
}

.admin-preview-box .gnbWrap .tooltips {
  background-color: var(--co-primary-overlay);
  color: var(--co-text);
  font-size: 12px;
  border-radius: var(--co-radius);
}

#header .gnbWrap,
#mo_header .gnbWrap {
  font-size: 15px;
}

#header .gnbWrap .tooltips,
#mo_header .gnbWrap .tooltips {
  font-family: var(--co-font-title);
}

@media all and (min-width: 1025px) {
  #header .gnbWrap .icons {
    color: var(--co-accent);
    height: 3.3em;
  }

  #header .gnbWrap .icons:before {
    top: 50%;
    left: 50%;
    right: auto;
    bottom: auto;
    width: 2.1em;
    height: 2.1em;
    margin: -1.05em 0 0 -1.05em;
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    background-color: rgba(0, 0, 0, 0.4);
    background: linear-gradient(0deg, var(--co-bg-deep) 0%, var(--co-bg-base) 100%);
    border-color: var(--co-border);
    border-style: solid;
    border-width: 1px;
  }

  #header .gnbWrap .tooltips {
    background-color: var(--co-primary-overlay);
    color: var(--co-text);
    font-size: 12px;
    border-radius: var(--co-radius);
  }
}

@media all and (max-width: 1024px) {
  #mo_header {
    background-color: var(--co-primary-overlay);
    color: var(--co-text);
  }

  #mo_header .gnbWrap a {
    color: var(--co-text);
  }

  #mo_header .gnbWrap li.line {
    background-color: var(--co-border);
  }

  body.open-gnb .control-mobile-menu {
    color: var(--co-text);
  }
}

*::-webkit-scrollbar {
  width: 5px;
  height: 5px;
}

*::-webkit-scrollbar-track {
  background-color: var(--co-bg-base);
}

*::-webkit-scrollbar-thumb {
  background-color: var(--co-primary);
  border-radius: var(--co-radius);
}

* {
  outline-color: var(--co-primary-border);
}

::selection {
  background: var(--co-primary);
  color: var(--co-accent);
}

::-moz-selection {
  background: var(--co-primary);
  color: var(--co-accent);
}

::-webkit-selection {
  background: var(--co-primary);
  color: var(--co-accent);
}

.ui-btn {
  height: 30px;
  font-size: 13px;
  border-radius: var(--co-radius);
  background-color: var(--co-primary);
  color: var(--co-text);
  border-color: var(--co-primary-border);
}

.ui-btn:hover {
  background-color: var(--co-primary-hover);
  color: var(--co-text);
  border-color: var(--co-primary-border-hover);
}

.ui-btn.point {
  border-radius: var(--co-radius);
  background-color: var(--co-primary);
  color: var(--co-accent);
  border-color: var(--co-primary-border);
}

.ui-btn.point:hover {
  background-color: var(--co-primary-hover);
  color: var(--co-accent);
  border-color: var(--co-primary-border-hover);
}

.ui-btn.etc {
  border-radius: var(--co-radius);
  background-color: var(--co-bg-surface);
  color: var(--co-text);
  border-color: var(--co-border);
}

.ui-btn.etc:hover {
  background-color: var(--co-bg-surface-hover);
  color: var(--co-text);
  border-color: var(--co-border-hover);
}

a.ui-btn {
  line-height: 28px;
}

.ui-btn.small {
  height: 20px;
}

a.ui-btn.small {
  line-height: 20px;
}

.ui-btn.big {
  font-size: 16px;
  height: 40px;
}

a.ui-btn.big {
  line-height: 38px;
}

#bo_sch {
  margin-top: 30px;
}

#bo_sch button {
  width: 30px;
  height: 30px;
  font-size: 15px;
}

#bo_list,
#bo_w,
#bo_v {
  padding: 1.5em;
  background-color: var(--co-bg-base);
  color: var(--co-text);
  border-color: var(--co-border);
  border-radius: var(--co-radius);
  backdrop-filter: blur(5px);
}

#bo_v .board-title,
#bo_v .board-info,
#bo_v #bo_vc,
#bo_v #bo_v_bot {
  border-color: var(--co-border);
}

#bo_v .board-title,
#bo_v .board-info {
  border-bottom-style: solid;
  border-bottom-width: 1px;
}

#bo_v #bo_vc,
#bo_v #bo_v_bot {
  border-top-style: solid;
  border-top-width: 1px;
}

#bo_v .board-title>* {
  color: var(--co-accent);
}

#bo_v #bo_vc .is-reply {
  border-color: var(--co-border);
}

.pg_wrap {
  font-size: 13px;
}

.pg_wrap .pg_page {
  color: var(--co-text-muted);
}

.pg_wrap .pg_page:hover {
  color: var(--co-accent);
}

.pg_wrap .pg_control {
  color: var(--co-primary);
}

.pg_wrap .pg_current {
  color: var(--co-accent);
}

hr.line {
  background: var(--co-border);
}

.form-input,
input[type="file"],
input[type="text"],
input[type="number"],
input[type="password"],
select {
  height: 30px;
}

.form-input,
input[type="file"],
input[type="text"],
input[type="number"],
input[type="password"],
textarea,
select {
  background-color: var(--co-bg-deep);
  border-color: var(--co-border);
  color: var(--co-text);
  font-size: 13px;
  border-radius: var(--co-radius);
}

*::placeholder {
  color: var(--co-text-placeholder);
}

.theme-box {
  background-color: var(--co-bg-surface);
  color: var(--co-text);
  border: none;
  border-radius: var(--co-radius);
}

.type-item {
  border: none;
}

.board-notice-box {
  background-color: var(--co-primary-subtle);
  color: var(--co-text);
  border-color: var(--co-border);
  border-radius: var(--co-radius);
  border-style: solid;
  border-width: 1px;
}

.theme-list thead th {
  background-color: var(--co-bg-surface);
  color: var(--co-text);
  border-color: var(--co-border);
  border-left-style: solid;
  border-left-width: 1px;
  border-right-style: solid;
  border-right-width: 1px;
}

.theme-list tbody th,
.theme-list tbody td {
  background-color: var(--co-bg-base);
  color: var(--co-text);
  border-color: var(--co-border);
  border-top-style: solid;
  border-top-width: 1px;
  border-bottom-style: solid;
  border-bottom-width: 1px;
}

.theme-form tbody th {
  background-color: var(--co-bg-surface);
  color: var(--co-text);
  border-color: var(--co-border);
  border-top-style: solid;
  border-top-width: 1px;
  border-bottom-style: solid;
  border-bottom-width: 1px;
}

.theme-form tbody td {
  background-color: var(--co-bg-base);
  color: var(--co-text);
  border-color: var(--co-border);
  border-top-style: solid;
  border-top-width: 1px;
  border-bottom-style: solid;
  border-bottom-width: 1px;
  border-left-style: solid;
  border-left-width: 1px;
  border-right-style: solid;
  border-right-width: 1px;
}

#load_log_board {
  background-color: var(--co-bg-base);
}

#log_list {
  background-color: transparent;
  color: var(--co-text);
  border-color: var(--co-border);
}

#log_list .item {
  background-color: var(--co-bg-base);
  color: var(--co-text);
  border-color: var(--co-border);
  margin-bottom: 40px;
}

#log_list .item .item-inner .ui-pic {
  background-color: var(--co-bg-deep);
  color: var(--co-text);
  border-color: var(--co-border);
  border-top-style: solid;
  border-top-width: 4px;
  border-bottom-style: solid;
  border-bottom-width: 4px;
}

#log_list .item .item-inner .item-comment {
  background-color: rgba(44, 44, 44, 0.5);
  color: var(--co-text);
  border-color: var(--co-border);
  border-style: solid;
  border-width: 1px;
  margin-bottom: 10px;
}

#log_list .item .item-inner .ui-comment {
  background-color: transparent;
  color: var(--co-text);
  border-color: var(--co-border);
}

#log_list .item .item-inner .co-header p,
#log_list .item .item-inner .co-header p a {
  color: var(--co-accent);
  font-size: 14px;
}

#log_list .item .item-inner .co-header p.owner,
#log_list .item .item-inner .co-header p.owner a {
  color: var(--co-accent);
  font-size: 14px;
}

#log_list .item .item-inner .co-footer .date {
  color: var(--co-text-dim);
  font-size: 11px;
}

#log_list .item .item-inner .co-content .other-site-link {
  color: var(--co-accent);
}

#log_list .item .item-inner .co-content .link_hash_tag {
  color: var(--co-accent);
}

#log_list .item .item-inner .co-content .log_link_tag {
  color: var(--co-accent);
}

/* ============================================
   Board Skin Override
   ============================================ */

/* 게시판 공통 컨테이너 */
#bo_list,
#bo_w,
#bo_v {
  padding: 1em;
  background-color: var(--co-bg-base);
  color: var(--co-text);
  border: 1px solid var(--co-border);
  border-radius: var(--co-radius);
}

/* 게시판 목록 테이블 */
#bo_list .tbl_head01 {
  border-color: var(--co-border);
}

#bo_list .tbl_head01 thead th {
  background-color: var(--co-bg-surface);
  color: var(--co-text-muted);
  border-color: var(--co-border);
}

#bo_list .tbl_head01 tbody td {
  border-color: var(--co-border);
}

#bo_list .tbl_head01 tbody tr:hover {
  background-color: var(--co-bg-surface);
}

/* 게시판 목록 링크 */
#bo_list .bo_tit a {
  color: var(--co-text);
}

#bo_list .bo_tit a:hover {
  color: var(--co-accent);
}

#bo_list .bo_notice td {
  background-color: var(--co-primary-subtle);
}

#bo_list .bo_notice .bo_tit a {
  color: var(--co-accent);
}

/* 게시판 글쓴이 */
#bo_list .td_name .sv_member,
#bo_list .td_name .sv_guest,
#bo_list .td_name .member,
#bo_list .td_name .guest {
  color: var(--co-text);
}

/* 게시글 보기 */
#bo_v_title .bo_v_tit {
  color: var(--co-accent);
}

#bo_v_info {
  border-color: var(--co-border);
  color: var(--co-text-muted);
}

#bo_v_info .sv_member,
#bo_v_info .member {
  color: var(--co-text);
}

#bo_v_con {
  color: var(--co-text);
}

#bo_v_con a {
  color: var(--co-accent);
}

/* 첨부파일, 관련링크 */
#bo_v_file li,
#bo_v_link li {
  border-color: var(--co-border);
}

#bo_v_file li:hover,
#bo_v_link li:hover {
  border-color: var(--co-primary-border);
  background-color: var(--co-bg-surface);
}

#bo_v_file a,
#bo_v_link a {
  color: var(--co-text);
}

#bo_v_file a:hover,
#bo_v_link a:hover {
  color: var(--co-accent);
}

/* 이전글/다음글 */
.bo_v_nb li {
  border-color: var(--co-border);
}

.bo_v_nb li:hover {
  background-color: var(--co-bg-surface);
}

.bo_v_nb li a {
  color: var(--co-text);
}

.bo_v_nb li a:hover {
  color: var(--co-accent);
}

/* 추천/비추천 버튼 */
#bo_v_act a {
  border-color: var(--co-border);
  color: var(--co-text-muted);
}

#bo_v_act a:hover {
  border-color: var(--co-primary-border);
  color: var(--co-accent);
  background-color: var(--co-primary-subtle);
}

/* 댓글 영역 */
#bo_vc article {
  border-color: var(--co-border);
}

#bo_vc .member,
#bo_vc .sv_member {
  color: var(--co-text);
}

#bo_vc .cmt_contents {
  color: var(--co-text);
}

.cmt_btn {
  border-color: var(--co-border);
  color: var(--co-text);
  background: transparent;
}

.cmt_btn span.total {
  color: var(--co-accent);
}

/* 댓글 작성 폼 */
.bo_vc_w textarea {
  background-color: var(--co-bg-deep);
  border-color: var(--co-border);
  color: var(--co-text);
}

.bo_vc_w textarea:focus {
  border-color: var(--co-primary-border);
}

.bo_vc_w .btn_submit {
  background-color: var(--co-primary);
  border-color: var(--co-primary-border);
  color: var(--co-text);
}

.bo_vc_w .btn_submit:hover {
  background-color: var(--co-primary-hover);
  border-color: var(--co-primary-border-hover);
}

/* 글쓰기 폼 */
#bo_w .frm_input,
#bo_w textarea,
#bo_w select {
  background-color: var(--co-bg-deep);
  border-color: var(--co-border);
  color: var(--co-text);
}

#bo_w .frm_input:focus,
#bo_w textarea:focus {
  border-color: var(--co-primary-border);
}

#bo_w .btn_submit {
  background-color: var(--co-primary);
  border-color: var(--co-primary-border);
  color: var(--co-text);
}

#bo_w .btn_submit:hover {
  background-color: var(--co-primary-hover);
  border-color: var(--co-primary-border-hover);
}

#bo_w .btn_cancel {
  background-color: var(--co-bg-surface);
  border-color: var(--co-border);
  color: var(--co-text-muted);
}

#bo_w .btn_cancel:hover {
  background-color: var(--co-bg-surface-hover);
  border-color: var(--co-border-hover);
  color: var(--co-text);
}

/* 검색 모달 */
.bo_sch {
  background-color: var(--co-bg-surface);
  border-color: var(--co-border);
}

.bo_sch h3 {
  border-color: var(--co-border);
  color: var(--co-text);
}

.bo_sch select,
.bo_sch .sch_input {
  background-color: var(--co-bg-deep);
  border-color: var(--co-border);
  color: var(--co-text);
}

.bo_sch .sch_bar {
  border-color: var(--co-border);
  background-color: var(--co-bg-deep);
}

/* 드롭다운 메뉴 */
.more_opt {
  background-color: var(--co-bg-surface);
  border-color: var(--co-border);
}

.more_opt li {
  border-color: var(--co-border);
}

.more_opt li a,
.more_opt li button {
  color: var(--co-text-muted);
}

.more_opt li a:hover,
.more_opt li button:hover {
  background-color: var(--co-primary);
  color: var(--co-accent);
}

/* 댓글 옵션 드롭다운 */
.bo_vc_act {
  background-color: var(--co-bg-surface);
  border-color: var(--co-border);
}

.bo_vc_act li {
  border-color: var(--co-border);
}

.bo_vc_act li a {
  color: var(--co-text-muted);
}

.bo_vc_act li a:hover {
  background-color: var(--co-primary);
  color: var(--co-accent);
}

/* 버튼 공통 */
.btn_bo_user .btn {
  background-color: var(--co-bg-surface);
  border-color: var(--co-border);
  color: var(--co-text-muted);
}

.btn_bo_user .btn:hover {
  background-color: var(--co-primary);
  border-color: var(--co-primary-border);
  color: var(--co-accent);
}

/* member/basic skin overrides */
#member_page {
  color: var(--co-text);
}

#member_page .member-title {
  color: var(--co-accent);
}

#member_page .member-title span {
  color: var(--co-text-muted);
  font-family: var(--co-font-title);
}

#member_page .member-contents section {
  border-bottom: 1px solid var(--co-border);
}

#member_page .member-contents section:last-of-type {
  border-bottom: 0;
}

#member_page .member-contents h2,
#member_page .member-form th {
  color: var(--co-text-muted);
}

#member_page .member-contents .theme-box {
  background-color: var(--co-bg-base);
  border: 1px solid var(--co-border);
}

#member_page .check-agree label {
  color: var(--co-text-muted);
  cursor: pointer;
}

#member_page .check-agree input+label:before {
  color: var(--co-accent);
}

#member_page .check-agree input:checked+label {
  color: var(--co-text);
}

#member_page .member-form td {
  background-color: var(--co-bg-base);
}

#member_page #msg_mb_id {
  color: var(--co-text-muted);
}

#password_box {
  color: var(--co-text);
}

#password_box {
  padding: 16px;
  border-radius: 8px;
}

#password_box h1 {
  box-sizing: border-box;
  background-color: var(--co-primary-overlay);
  color: var(--co-accent);
  border: 1px solid var(--co-border);
  border-radius: var(--co-radius);
}

#password_box .descript {
  padding: 8px;
}

#password_box fieldset {
  border: 0;
}

#password_box hr.line {
  border-top: 1px solid var(--co-border);
  opacity: 1;
}

#password_box .descript {
  background-color: var(--co-bg-base);
  border: 1px solid var(--co-border);
}

#password_box .descript p {
  color: var(--co-text-muted);
}

#password_box .descript strong {
  color: var(--co-text);
}

#password_box .pass-form .box-id .form-input,
#password_box .pass-form .box-pw input[type="password"] {
  width: 100%;
  box-sizing: border-box;
  background-color: var(--co-bg-deep);
  border: 1px solid var(--co-border);
  color: var(--co-text);
  border-radius: var(--co-radius);
  min-height: 30px;
}

#password_box .pass-form .box-btn .ui-btn {
  width: 100%;
}

#password_box .form-input {
  background-color: var(--co-bg-deep);
  border: 1px solid var(--co-border);
  color: var(--co-text);
}

#password_box .btn_confirm a.ui-btn {
  width: 100%;
}

.new_win.mbskin,
#point.new_win {
  background-color: var(--co-bg-base);
  color: var(--co-text);
}

.new_win.mbskin #win_title,
#point.new_win #win_title {
  background-color: var(--co-primary-overlay);
  color: var(--co-accent);
  border-bottom: 1px solid var(--co-border);
}

.new_win.mbskin .theme-form tbody th,
.new_win.mbskin .tbl_wrap tbody th,
#point.new_win .tbl_wrap tbody th {
  background-color: var(--co-bg-surface);
  color: var(--co-text);
  border-color: var(--co-border);
}

.new_win.mbskin .theme-form tbody td,
.new_win.mbskin .tbl_wrap tbody td,
#point.new_win .tbl_wrap tbody td {
  background-color: var(--co-bg-base);
  color: var(--co-text);
  border-color: var(--co-border);
}

.new_win.mbskin .win_desc,
.new_win.mbskin .frm_info {
  color: var(--co-text-muted);
}

#memo_write .theme-form {
  border: 1px solid var(--co-border);
  border-radius: var(--co-radius);
  overflow: hidden;
}

#memo_write #me_recv_mb_id,
#memo_write #me_memo {
  width: 100%;
  box-sizing: border-box;
}

#memo_write .win_btn {
  display: flex;
  gap: 8px;
  justify-content: center;
}

.new_win.mbskin .win_btn .ui-btn,
.new_win.mbskin .win_btn button.ui-btn {
  background-color: var(--co-bg-surface);
  border: 1px solid var(--co-border);
  color: var(--co-text);
  border-radius: var(--co-radius);
}

.new_win.mbskin .win_btn .ui-btn:hover,
.new_win.mbskin .win_btn button.ui-btn:hover {
  background-color: var(--co-bg-surface-hover);
  border-color: var(--co-border-hover);
}

.new_win.mbskin .btn_submit,
#point.new_win .win_btn button {
  background-color: var(--co-primary);
  border: 1px solid var(--co-primary-border);
  color: var(--co-text);
  border-radius: var(--co-radius);
}

.new_win.mbskin .btn_submit:hover,
#point.new_win .win_btn button:hover {
  background-color: var(--co-primary-hover);
  border-color: var(--co-primary-border-hover);
  color: var(--co-accent);
}
