.board{font-family:var(--ks-font-body);color:var(--ks-text);font-size:1rem}.board a{color:var(--ks-primary-strong)}.board .board_list{border-top:2px solid var(--ks-text)}.board .ks-board-table{width:100%;border:0;border-collapse:collapse;table-layout:auto}.board .ks-board-table th,.board .ks-board-table td{padding:14px 10px;border:0;border-bottom:1px solid var(--ks-line);background:#fff}.board .ks-board-table th{color:#4d5c66;font-weight:700;background:#f7f9fa}.board .ks-board-table .title{text-align:left}.board .ks-board-table tbody tr:hover td{background:#fafcfd}.board .ks-board-table tr.notice td{background:#f5f8fa}.board .ks-board-table tr.notice .title a{font-weight:800}.board .btn,.board .btn_insert,.board button{border-radius:6px}.board .btn_insert{border:1px solid var(--ks-primary-strong);background:var(--ks-primary-strong);color:#fff}.board .btn_insert:hover,.board .btn_insert:focus-visible{filter:brightness(.92)}.board .iText,.board input[type=text],.board input[type=password],.board select,.board textarea{min-height:40px;border:1px solid #aeb9c1;border-radius:5px;background:#fff}.board .iText:focus,.board input:focus,.board select:focus,.board textarea:focus{border-color:#111;outline:3px solid #111;outline-offset:2px}.board .board_read .read_header{border-top:3px solid var(--ks-primary);background:#fff}.board .board_read .read_header h3{font-family:var(--ks-font-heading);font-size:clamp(1.55rem,3vw,2.15rem);line-height:1.4}.board .board_read .read_body{font-size:1.04rem;line-height:1.9}.board .cTab{border-bottom:1px solid var(--ks-line)}.board .cTab>li.on>a{color:var(--ks-primary-strong);border-bottom-color:var(--ks-primary)}.ks-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}@media(max-width:760px){.board .ks-board-table th:not(.title),.board .ks-board-table td:not(.title){display:none}.board .ks-board-table .title{display:table-cell}.board .board_list{overflow-x:auto}.board .write_header{display:grid;gap:8px}.board .write_header .iText{width:100%!important}}
.board .read_footer .fileList h4{margin:0 0 10px;font-size:1rem}.board .read_footer .fileList .files{display:block!important;margin:0;padding:0;list-style:none}.board .read_footer .fileList .files li+li{margin-top:6px}.board .read_footer .fileList .files a{display:block;padding:9px 11px;border:1px solid var(--ks-line);text-decoration:none}.board .read_footer .fileList .files a:hover,.board .read_footer .fileList .files a:focus-visible{text-decoration:underline}.board .read_header h3{margin:0;font-family:var(--ks-font-heading);font-size:clamp(1.55rem,3vw,2.15rem);line-height:1.4}.board .read_header h3 a{color:inherit;text-decoration:none}.board .read_header h3 a:hover,.board .read_header h3 a:focus-visible{text-decoration:underline}.board button,.board a.btn,.board .btn_insert{min-height:40px}.board input[type=checkbox],.board input[type=radio]{min-width:18px;min-height:18px}

/* KCMS 0.1.38: board read spacing and mobile overflow fixes. */
.board,
.board * {
  box-sizing: border-box;
}
.board {
  max-width: 100%;
  overflow-x: hidden;
  overflow-x: clip;
}
.board .board_read {
  max-width: 100%;
}
.board .board_read .read_header {
  margin-bottom: 0;
  padding: clamp(18px, 2vw, 28px) clamp(18px, 2.8vw, 36px) 16px;
  border-top: 3px solid var(--ks-primary);
  border-bottom: 1px solid var(--ks-line);
  background: #fff;
}
.board .read_header h3 {
  width: auto;
  max-width: 100%;
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
}
.board .read_header .meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 16px;
  margin-top: 8px;
  padding: 0;
  border-bottom: 0;
  white-space: normal;
}
.board .read_header .meta > span {
  margin-left: 0;
}
.board .board_read .read_body {
  padding: clamp(24px, 3vw, 42px) clamp(18px, 2.8vw, 36px);
  border-bottom: 1px solid var(--ks-line);
  overflow-wrap: anywhere;
}
.board .read_body .xe_content,
.board .read_body .rhymix_content {
  max-width: 920px;
  overflow-wrap: anywhere;
}
.board .read_body .xe_content > :first-child,
.board .read_body .rhymix_content > :first-child {
  margin-top: 0;
}
.board .read_body .xe_content > :last-child,
.board .read_body .rhymix_content > :last-child {
  margin-bottom: 0;
}
.board .read_body .xe_content table,
.board .read_body .rhymix_content table {
  max-width: 100%;
}
.board .board_read .read_footer {
  padding: 18px clamp(18px, 2.8vw, 36px) 8px;
}
.board .feedback {
  margin-top: 24px;
}
.board .feedback .fbHeader {
  height: auto;
  padding: 18px 0 12px 5px;
  border-top: 1px solid var(--ks-line);
}
.board .feedback .fbHeader h3 {
  line-height: 1.4;
}
.board .exForm input,
.board .exForm select,
.board .exForm textarea,
.board .exOut input,
.board .exOut select,
.board .exOut textarea {
  max-width: 100%;
}
@media (max-width: 760px) {
  .board {
    width: 100%;
    max-width: 100%;
  }
  .board .board_read .read_header {
    padding: 16px 12px 14px;
  }
  .board .read_header h3 {
    font-size: clamp(1.35rem, 7vw, 1.75rem);
    line-height: 1.35;
  }
  .board .read_header .meta {
    gap: 4px 12px;
    font-size: .9rem;
  }
  .board .board_read .read_body {
    padding: 20px 12px;
    font-size: 1rem;
    line-height: 1.85;
  }
  .board .read_body .xe_content,
  .board .read_body .rhymix_content {
    max-width: 100%;
  }
  .board .read_body .xe_content table,
  .board .read_body .rhymix_content table {
    display: block;
    width: 100% !important;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .board .board_read .read_footer {
    padding: 14px 0 4px;
    overflow: visible;
  }
  .board .read_footer .vote ul,
  .board .read_footer .sns ul {
    margin: 0;
    padding: 0;
  }
  .board .read_footer .fileList,
  .board .read_footer .tns {
    float: none;
    display: block;
    width: 100%;
    margin: 12px 0;
  }
  .board .read_footer .files a .fileSize,
  .board .feedback .files a .fileSize {
    position: static;
    visibility: visible;
    display: block;
    margin-top: 2px;
    padding: 0;
    border: 0;
    background: transparent;
    white-space: normal;
  }
  .board .read_footer .btnArea {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 6px;
  }
  .board .feedback .fbHeader {
    padding: 16px 0 10px;
  }
  .board #comment .fbHeader .wComment {
    position: static;
    display: inline-flex;
    margin: 6px 0 0;
  }
  .board .feedback .fbItem {
    padding: 16px 0;
  }
  .board .feedback .fbMeta {
    float: none;
    width: auto;
    min-height: 38px;
    padding: 0 0 10px;
  }
  .board .feedback .xe_content,
  .board #trackback .xe_content {
    margin-left: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
  }
  .board .feedback .fileList {
    float: none;
    display: block;
    margin-left: 0;
  }
  .board .feedback .action {
    float: none;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    padding: 8px 0 0;
    white-space: normal;
  }
  .board .feedback .indent,
  .board .feedback .indent1,
  .board .feedback .indent2,
  .board .feedback .indent3,
  .board .feedback .indent4,
  .board .feedback .indent5,
  .board .feedback .indent6,
  .board .feedback .indent7,
  .board .feedback .indent8,
  .board .feedback .indent9,
  .board .feedback .indent10,
  .board .feedback .indent11,
  .board .feedback .indent12 {
    padding-left: 14px !important;
    background-position: 0 16px;
  }
  .board .write_comment {
    margin: 12px 0 28px;
  }
  .board .write_comment textarea,
  .board .write_editor textarea {
    width: 100% !important;
    max-width: 100%;
    min-height: 96px;
  }
  .board .write_author {
    float: none;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    width: 100%;
    margin: 10px 0;
  }
  .board .write_author .item {
    display: block;
    flex: 1 1 130px;
    min-width: min(100%, 130px);
  }
  .board .write_author .iLabel {
    position: static;
    display: block;
    margin: 0 0 4px;
  }
  .board .write_author .iText,
  .board .write_comment .iText.userName,
  .board .write_comment .iText.userPw,
  .board .write_comment .iText.homePage {
    width: 100% !important;
    max-width: 100%;
  }
  .board .write_comment > div[style*="float:right"],
  .board .board_write .write_footer > div[style*="float:right"] {
    float: none !important;
    clear: both;
    text-align: right;
    margin-top: 12px;
  }
  .board .list_footer {
    display: flex;
    flex-direction: column;
    gap: 12px;
  }
  .board .list_footer .btnArea,
  .board .list_footer .board_search {
    float: none;
    width: 100%;
  }
  .board .list_footer .btnArea {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 6px;
  }
  .board .list_footer .board_search {
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 6px;
    margin: 0;
  }
  .board .list_footer .board_search .search_input {
    flex: 1 1 160px;
    min-width: 0;
  }
  .board .list_footer .board_search .iText,
  .board .list_footer .board_search .iText.active,
  .board .list_footer .board_search .iText:focus {
    width: 100% !important;
    padding-right: 10px;
  }
  .board .list_footer .board_search .btn {
    position: static;
    border-radius: 6px;
  }
  .board .write_header {
    display: grid;
    gap: 8px;
    padding: 0 0 12px;
  }
  .board .write_header select,
  .board .write_header .iText,
  .board .write_header select[name=is_notice] {
    width: 100% !important;
    max-width: 100%;
  }
  .board .write_option {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 12px;
  }
  .board .exForm table,
  .board .exOut table {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .board .pagination {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 4px;
  }
}


/* KCMS 0.1.102: 사용자 다크모드 일반 게시판 전체 화면 보정 */
@media screen {
  html[data-ks-color-scheme="dark"] .board {
    color:var(--ks-text,#f1f4f6);
  }
  html[data-ks-color-scheme="dark"] .board .ks-board-table th,
  html[data-ks-color-scheme="dark"] .board .ks-board-table td,
  html[data-ks-color-scheme="dark"] .board .board_read .read_header,
  html[data-ks-color-scheme="dark"] .board .board_read .read_body,
  html[data-ks-color-scheme="dark"] .board .board_read .read_footer,
  html[data-ks-color-scheme="dark"] .board .feedback > ul > li,
  html[data-ks-color-scheme="dark"] .board .write_comment,
  html[data-ks-color-scheme="dark"] .board .write_editor,
  html[data-ks-color-scheme="dark"] .board .exForm,
  html[data-ks-color-scheme="dark"] .board .exOut {
    border-color:var(--ks-line,#46515b) !important;
    background:var(--ks-surface,#1d2329) !important;
    color:var(--ks-text,#f1f4f6) !important;
  }
  html[data-ks-color-scheme="dark"] .board .ks-board-table th,
  html[data-ks-color-scheme="dark"] .board .ks-board-table tr.notice td,
  html[data-ks-color-scheme="dark"] .board .ks-board-table tbody tr:hover td {
    background:var(--ks-surface-alt,#20272d) !important;
    color:var(--ks-text,#f1f4f6) !important;
  }
  html[data-ks-color-scheme="dark"] .board .read_header .meta,
  html[data-ks-color-scheme="dark"] .board .fbMeta,
  html[data-ks-color-scheme="dark"] .board .fileSize,
  html[data-ks-color-scheme="dark"] .board .help-block {
    color:var(--ks-muted,#b9c2ca) !important;
  }
  html[data-ks-color-scheme="dark"] .board input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]),
  html[data-ks-color-scheme="dark"] .board select,
  html[data-ks-color-scheme="dark"] .board textarea {
    border-color:var(--ks-control-border,#596671) !important;
    background:var(--ks-control-bg,#20272d) !important;
    color:var(--ks-text,#f1f4f6) !important;
  }
  html[data-ks-color-scheme="dark"] .board .btn,
  html[data-ks-color-scheme="dark"] .board button:not(.btn_insert) {
    border-color:var(--ks-control-border,#596671) !important;
    background:var(--ks-surface-raised,#262e35) !important;
    color:var(--ks-text,#f1f4f6) !important;
  }
  html[data-ks-color-scheme="dark"] .board .read_footer .fileList .files a,
  html[data-ks-color-scheme="dark"] .board .feedback .files a {
    border-color:var(--ks-line,#46515b) !important;
    background:var(--ks-surface-alt,#20272d) !important;
    color:var(--ks-text,#f1f4f6) !important;
  }
}
