.contents 
	{line-height:160%;  font-family:Dotum, Sans-serif; text-decoration: none; word-break:break-all;}
.contents  a:link
	{color:#0000CC;	text-decoration: underline; word-break:break-all;}
.contents  a:visited
	{color:#99209B; text-decoration: underline; word-break:break-all;}
.contents  a:active
	{text-decoration: none; word-break:break-all;}
.contents  a:hover
	{color:#0066FF; word-break:break-all;}

.editbox {color:black;border: 1px solid silver;padding: 2px;}
.editbox99 {width:98%;color:black;border: 1px solid silver;padding: 2px;}
.memobox {width:100%;color:black;height:300px;border:1px solid #cdcdcd;padding: 1px 0px 0px 4px;}  
.commentbox {line-height:160%;width:98%;color:black;height:152px;border: 1px solid silver; padding: 3px;}

.board-v4-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 14px;
  padding: 12px 14px;
  border: 1px solid var(--chch-border);
  border-radius: 18px;
  background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
}

.board-v4-toolbar-sort {
  min-width: 0;
}

.board-v4-toolbar-sort select,
.board-v4-toolbar-sort .selbox {
  min-height: 38px;
  padding: 0 12px;
  border: 1px solid var(--chch-button-border);
  border-radius: 12px;
  background: #fff;
  color: #5f7d99;
}

.board-v4-view-switch {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
  margin-left: auto;
}

.board-v4-view-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 0 12px;
  border: 1px solid var(--chch-border);
  border-radius: 999px;
  background: #ffffff;
  color: #6281a2;
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
}

.board-v4-view-switch a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  min-width: 40px;
  height: 40px;
  min-height: 40px;
  border: 1px solid var(--chch-border);
  border-radius: 999px;
  background: #ffffff;
  color: #6281a2;
  text-decoration: none;
  overflow: hidden;
}

.board-v4-view-switch a img {
  display: block;
  max-width: 18px;
  max-height: 18px;
}

.board-v4-view-switch a font,
.board-v4-view-switch a span {
  line-height: 1;
}

.board-v4-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

.board-v4-view-chip.is-active {
  border-color: #9fd0ff;
  background: var(--chch-chip-bg);
  color: var(--chch-link);
}

.board-v4-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  border: 1px solid var(--chch-border);
  border-radius: 20px;
  background: #fff;
  box-shadow: var(--chch-shadow-card);
}

.board-v4-table thead th {
  padding: 14px 12px;
  border-bottom: 1px solid #eaf2fb;
  background: var(--chch-surface-soft);
  color: #2d3138;
  font-size: 13px;
  font-weight: 700;
  text-align: left;
}

.board-v4-table .board-v4-col-check,
.board-v4-table .board-v4-col-date,
.board-v4-table .board-v4-col-hit {
  text-align: center;
}

.board-v4-row td {
  padding: 14px 12px;
  border-bottom: 1px solid #edf4fb;
  color: #607b97;
  font-size: 13px;
  line-height: 1.5;
  vertical-align: middle;
  background: #fff;
}

.board-v4-row:last-child td {
  border-bottom: 0;
}

.board-v4-row-notice td {
  background: #fcfdff;
}

.board-v4-col-check {
  width: 42px;
}

.board-v4-col-category {
  width: 92px;
}

.board-v4-col-date {
  width: 94px;
  font-size: 12px !important;
  color: #879ab0;
}

.board-v4-col-hit {
  width: 64px;
  font-size: 12px !important;
  color: #879ab0;
}

.board-v4-category-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 26px;
  padding: 0 10px;
  border-radius: 999px;
  background: var(--chch-chip-bg);
  border: 1px solid var(--chch-border-strong);
  color: #557ea8;
  font-size: 11px;
  font-weight: 700;
}

.board-v4-category-pill-notice {
  background: #fff2f2;
  border-color: #ffd9d9;
  color: #d65d5d;
}

.board-v4-category-pill.board-v4-category-tone-pastel-1,
.board-v4-category-pill.board-v4-category-tone-random-1 {
  background: linear-gradient(135deg, #f0f5ff 0%, #e2ebff 100%);
  border-color: #ccdafb;
  color: #4f6faf;
}

.board-v4-category-pill.board-v4-category-tone-pastel-2,
.board-v4-category-pill.board-v4-category-tone-random-2 {
  background: linear-gradient(135deg, #eef8ff 0%, #def0ff 100%);
  border-color: #cce4f8;
  color: #327fa7;
}

.board-v4-category-pill.board-v4-category-tone-pastel-3,
.board-v4-category-pill.board-v4-category-tone-random-3 {
  background: linear-gradient(135deg, #eefbff 0%, #def6fb 100%);
  border-color: #cfe9f1;
  color: #2d8a93;
}

.board-v4-category-pill.board-v4-category-tone-pastel-4,
.board-v4-category-pill.board-v4-category-tone-random-4 {
  background: linear-gradient(135deg, #f2f5ff 0%, #e7edff 100%);
  border-color: #d6def5;
  color: #6778a7;
}

.board-v4-category-pill.board-v4-category-tone-pastel-5,
.board-v4-category-pill.board-v4-category-tone-random-5 {
  background: linear-gradient(135deg, #f5f2ff 0%, #ece6ff 100%);
  border-color: #ddd6f6;
  color: #6a63aa;
}

.board-v4-category-pill.board-v4-category-tone-pastel-6,
.board-v4-category-pill.board-v4-category-tone-random-6 {
  background: linear-gradient(135deg, #faf3ff 0%, #f2e5fb 100%);
  border-color: #e7d8f2;
  color: #8c63a3;
}

.board-v4-subject {
  color: #2f3136;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: -.02em;
}

.board-v4-comment-icon {
  color: #ff9a1f;
}

.board-v4-list-footer {
  padding: 18px 0 4px;
}

.board-v4-pagination {
  margin: 0 0 14px;
  text-align: center;
}

.board-v4-pagination ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 4px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.board-v4-pagination li {
  display: block;
  margin: 0;
}

.board-v4-pagination li a,
.board-v4-pagination li.active a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  height: 30px;
  padding: 0 8px;
  border: 1px solid var(--chch-border);
  border-radius: 6px;
  background: #fff;
  color: #5b7692;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  text-shadow: none;
  box-shadow: none;
  background-image: none;
  filter: none;
  transition: background .15s;
}
.board-v4-pagination li a:hover {
  background: #f5faff;
  border-color: #aed0f0;
  color: #336699;
}
.board-v4-pagination li.active a {
  background: #336699;
  color: #fff;
  border-color: #336699;
}

.board-v4-footer-actions {
  margin: 0 0 14px;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
}

.board-v4-footer-actions > a {
  display: inline-flex;
}

.board-v4-footer-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 0 16px;
  border: 1px solid var(--chch-border);
  border-radius: 8px;
  background: #fff;
  color: #5b7692;
  font-size: 13px;
  font-weight: 600;
  text-shadow: none;
  box-shadow: none;
  background-image: none;
  filter: none;
  transition: background .15s;
}

.board-v4-footer-btn-write {
  background: #336699;
  color: #fff;
  border-color: #336699;
}

.board-v4-footer-actions > a:hover .board-v4-footer-btn {
  background: #f5faff;
  border-color: #aed0f0;
}
.board-v4-footer-actions > a:hover .board-v4-footer-btn-write {
  background: #2a5580;
  border-color: #2a5580;
  color: #fff;
}

.board-v4-write {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.board-v4-write-hero,
.board-v4-write-card {
  border: 1px solid var(--chch-border);
  border-radius: 24px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  box-shadow: 0 16px 36px rgba(123, 174, 230, .08);
}

.board-v4-write-hero {
  padding: 22px 24px;
}

.board-v4-write-kicker {
  color: #8bb3e4;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.board-v4-write-title {
  margin: 10px 0 8px;
  color: #2d7fe5;
  font-size: 32px;
  line-height: 1.15;
  font-weight: 800;
}

.board-v4-write-summary {
  margin: 0;
  color: #6d89a8;
  font-size: 15px;
  line-height: 1.7;
}

.board-v4-write-form {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.board-v4-write-card {
  padding: 22px 24px;
}

.board-v4-write-card-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
  margin-bottom: 16px;
}

.board-v4-write-card-head h2 {
  margin: 0;
  color: #326fb3;
  font-size: 22px;
  line-height: 1.2;
}

.board-v4-write-card-head p {
  margin: 0;
  color: #7c93ab;
  font-size: 14px;
  line-height: 1.7;
  max-width: 420px;
  text-align: right;
}

.board-v4-write-grid {
  display: grid;
  gap: 16px;
}

.board-v4-write-grid-meta {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.board-v4-write-field-wide {
  grid-column: 1 / -1;
}

.board-v4-write-field label,
.board-v4-write-survey-period label {
  display: block;
  margin-bottom: 8px;
  color: #5e7fa0;
  font-size: 13px;
  font-weight: 700;
}

.board-v4-write-inline-select select,
.board-v4-write-inline-select .selbox,
.board-v4-write-input,
.board-v4-write-table-field input[type="text"],
.board-v4-write-auth input[type="text"],
.board-v4-write-form .entry-content input[type="text"] {
  width: 100%;
  min-height: 46px;
  padding: 10px 14px;
  border: 1px solid var(--chch-button-border);
  border-radius: 14px;
  background: #fff;
  color: #35516f;
  font-size: 16px;
  box-sizing: border-box;
}

.board-v4-write-input-short {
  width: 92px !important;
}

.board-v4-hidden-input {
  display: none;
}

.board-v4-write-static strong {
  display: inline-flex;
  align-items: center;
  min-height: 46px;
  padding: 0 2px;
  color: #2c3a4b;
  font-size: 17px;
}

.board-v4-write-option-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
}

.board-v4-check {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #5c7c9c;
  font-size: 14px;
  font-weight: 700;
}

.board-v4-check input {
  width: 18px;
  height: 18px;
  color-scheme: light;
}
input[type="checkbox"] {
  color-scheme: light;
}

.board-v4-write-field-title {
  margin-bottom: 14px;
}

.board-v4-write-title-input {
  min-height: 54px;
  font-size: 20px;
  font-weight: 700;
}

.board-v4-write-editor {
  border: 1px solid var(--chch-border);
  border-radius: 18px;
  overflow: hidden;
  background: #fff;
}

.board-v4-write-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 12px;
}

.board-v4-write-table-label {
  width: 170px;
  padding-right: 16px;
  color: #5d7da0;
  font-size: 14px;
  font-weight: 700;
  vertical-align: top;
}

.board-v4-write-table-field {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.board-v4-write-survey-period,
.board-v4-write-survey-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin-bottom: 14px;
}

.board-v4-mini-link {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 0 14px;
  border: 1px solid var(--chch-button-border);
  border-radius: 999px;
  background: #f7fbff;
  color: #3b7fd4;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
}

.board-v4-write-submit-row {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
}

.board-v4-write-auth {
  flex: 1 1 auto;
  color: #6d89a7;
  font-size: 14px;
}

.board-v4-write-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

input[type="submit"].board-v4-submit-btn,
input[type="button"].board-v4-cancel-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  min-width: 128px;
  padding: 0 20px;
  border-radius: 999px;
  border: 1px solid var(--chch-border-strong);
  font-size: 16px;
  font-weight: 800;
  cursor: pointer;
  text-shadow: none;
  box-shadow: none;
  background-image: none;
  filter: none;
}

input[type="submit"].board-v4-submit-btn {
  border-color: transparent;
  background: linear-gradient(135deg, #4f95ee 0%, #86bdff 100%);
  color: #fff;
  box-shadow: 0 14px 28px rgba(79, 149, 238, .24);
}

input[type="button"].board-v4-cancel-btn {
  background: #fff;
  color: #5f7ea1;
}

@media (max-width: 767px) {
  .board-v4-write-hero,
  .board-v4-write-card {
    padding: 18px;
    border-radius: 20px;
  }

  .board-v4-write-title {
    font-size: 28px;
  }

  .board-v4-write-grid-meta {
    grid-template-columns: 1fr;
  }

  .board-v4-write-card-head {
    flex-direction: column;
  }

  .board-v4-write-card-head p {
    max-width: none;
    text-align: left;
    font-size: 15px;
  }

  .board-v4-write-inline-select select,
  .board-v4-write-inline-select .selbox,
  .board-v4-write-input,
  .board-v4-write-table-field input[type="text"],
  .board-v4-write-auth input[type="text"],
  .board-v4-write-form .entry-content input[type="text"] {
    min-height: 50px;
    font-size: 18px;
  }

  .board-v4-write-title-input {
    font-size: 22px;
  }

  .board-v4-write-table,
  .board-v4-write-table tbody,
  .board-v4-write-table tr,
  .board-v4-write-table td {
    display: block;
    width: 100%;
  }

  .board-v4-write-table-label {
    padding: 0 0 8px;
  }

  .board-v4-write-submit-row {
    flex-direction: row;
    justify-content: flex-end;
  }

  .board-v4-write-actions {
    width: auto;
  }

  input[type="submit"].board-v4-submit-btn,
  input[type="button"].board-v4-cancel-btn {
    flex: 0 0 auto;
    min-width: 0;
    padding: 0 20px;
  }
}

.board-v4-search-row {
  margin: 0;
}

.board-v4-search-form {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 10px 14px !important;
  border: 1px solid var(--chch-border) !important;
  border-radius: 18px !important;
  background: var(--chch-surface-soft) !important;
}

.board-v4-search-select select,
.board-v4-search-input input[type="search"] {
  min-height: 38px;
  border: 1px solid var(--chch-button-border);
  border-radius: 12px;
  background: #fff;
  color: #5f7d99;
  font-size: 12px;
  box-sizing: border-box;
}

.board-v4-search-select select {
  min-width: 140px;
  padding: 0 12px;
}

.board-v4-search-input input[type="search"] {
  min-width: 180px;
  padding: 0 12px;
}

@media (max-width: 767px) {
  .board-v4-toolbar,
  .board-v4-search-form {
    display: block;
    padding: 10px;
  }

  .board-v4-toolbar-sort,
  .board-v4-view-switch,
  .board-v4-search-select,
  .board-v4-search-input {
    width: 100%;
  }

  .board-v4-view-switch {
    justify-content: flex-end;
    margin-top: 8px;
  }

  .board-v4-view-chip {
    min-height: 34px;
    padding: 0 10px;
    font-size: 11px;
  }

  .board-v4-table thead th,
  .board-v4-row td {
    padding: 10px 8px;
  }

  .board-v4-col-date {
    width: 74px;
    font-size: 11px !important;
  }

  .board-v4-subject {
    font-size: 13px;
  }

  .board-v4-search-select select,
  .board-v4-search-input input[type="search"] {
    width: 100%;
    min-width: 0;
  }

  .board-v4-search-input {
    margin-top: 8px;
  }
}

.board-v4-book-list {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.board-v4-book-card {
  padding: 22px;
  border: 1px solid var(--chch-border);
  border-radius: 20px;
  background: #fff;
  box-shadow: var(--chch-shadow-card);
  text-align: left;
}

.board-v4-book-card-notice {
  background: #fcfdff;
}

.board-v4-book-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}

.board-v4-book-meta,
.board-v4-book-link {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.board-v4-book-title {
  margin: 0 0 16px;
  color: #2f3136;
  font-size: 28px;
  line-height: 1.35;
  letter-spacing: -.03em;
}

.board-v4-book-date,
.board-v4-book-stat {
  color: #879ab0;
  font-size: 12px;
  font-weight: 600;
}

.board-v4-book-permalink {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 10px;
  border-radius: 999px;
  background: var(--chch-chip-bg);
  border: 1px solid var(--chch-border-strong);
  color: #557ea8;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}

.board-v4-book-scrap {
  margin-bottom: 14px;
}

.board-v4-book-source {
  margin-bottom: 4px;
  color: #607b97;
  font-size: 12px;
}

.board-v4-book-gallery {
  margin-bottom: 14px;
}

.board-v4-book-gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.board-v4-book-gallery-item {
  display: flex;
  flex-direction: column;
  gap: 8px;
  overflow: hidden;
  border: 1px solid #e3eef9;
  border-radius: 16px;
  background: var(--chch-surface-soft);
  padding: 10px;
}

.board-v4-book-gallery-item-single {
  margin-bottom: 10px;
}

.board-v4-book-gallery-image {
  width: 100%;
  border-radius: 12px;
}

.board-v4-book-gallery-caption {
  color: #607b97;
  font-size: 12px;
  line-height: 1.4;
}

.board-v4-book-content {
  color: #2f3136;
  font-size: 16px;
  line-height: 1.8;
  width: 100%;
  box-sizing: border-box;
}
.board-v4-book-content p,
.board-v4-post-content p {
  margin: 0 0 1em;
}
.board-v4-book-content p:empty,
.board-v4-post-content p:empty {
  min-height: 1em;
}

.board-v4-book-accordion-toggle {
  display: block;
  padding: 12px 14px;
  border: 1px solid var(--chch-border);
  border-radius: 14px;
  background: var(--chch-surface-soft);
  color: #4f6f90;
  font-weight: 700;
  text-decoration: none;
}

.board-v4-book-files {
  padding: 14px;
  border: 1px solid #e8f0f8;
  border-top: 0;
  border-radius: 0 0 14px 14px;
  background: #fff;
}

.board-v4-book-region-nav {
  text-align: right;
}

.board-v4-book-region-nav img {
  vertical-align: middle;
}

.board-v4-book-file {
  margin-bottom: 8px;
  color: #607b97;
  font-size: 12px;
}

.board-v4-book-file:last-child {
  margin-bottom: 0;
}

.board-v4-book-file-name {
  font-size: 11px;
}

.board-v4-book-file-meta {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 8px;
  margin-left: 6px;
  border-radius: 999px;
  background: var(--chch-chip-bg);
  border: 1px solid var(--chch-border-strong);
  color: #557ea8;
  font-size: 11px;
  font-weight: 700;
}

.board-v4-book-tags {
  text-align: right;
}

.board-v4-book-check,
.board-v4-gallery-check {
  flex: 0 0 auto;
}

.board-v4-gallery-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.board-v4-gallery-card {
  overflow: hidden;
  border: 1px solid var(--chch-border);
  border-radius: 20px;
  background: #fff;
  box-shadow: var(--chch-shadow-card);
  text-align: left;
}

.board-v4-gallery-thumb {
  background: var(--chch-stat-bg);
}

.board-v4-gallery-thumb-notice {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 200px;
}

.board-v4-gallery-image {
  display: block;
  width: 100%;
  object-fit: cover;
}

.board-v4-gallery-body {
  padding: 14px 16px 16px;
}

.board-v4-gallery-title {
  margin: 10px 0 8px;
  color: #2f3136;
  font-size: 16px;
  line-height: 1.45;
  letter-spacing: -.02em;
}

.board-v4-gallery-date {
  color: #879ab0;
  font-size: 12px;
  font-weight: 600;
}

.board-v4-magazine-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.board-v4-magazine-card {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
  padding: 18px;
  border: 1px solid var(--chch-border);
  border-radius: 20px;
  background: #fff;
  box-shadow: var(--chch-shadow-card);
  text-align: left;
}

.board-v4-magazine-card.has-thumb,
.board-v4-magazine-card:has(.board-v4-magazine-thumb) {
  grid-template-columns: 220px minmax(0, 1fr);
}

.board-v4-magazine-card-notice {
  background: #fcfdff;
}

.board-v4-magazine-thumb {
  overflow: hidden;
  border-radius: 16px;
  background: #f5faff;
}

.board-v4-magazine-image {
  display: block;
  width: 100%;
  height: 180px;
  object-fit: cover;
}

.board-v4-magazine-body {
  min-width: 0;
}

.board-v4-magazine-title-row {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 12px;
}

.board-v4-magazine-check {
  flex: 0 0 auto;
  padding-top: 4px;
}

.board-v4-magazine-title {
  margin: 0;
  color: #2f3136;
  font-size: 22px;
  line-height: 1.4;
  letter-spacing: -.03em;
}

.board-v4-magazine-excerpt {
  margin: 0 0 14px;
  color: #607b97;
  font-size: 14px;
  line-height: 1.8;
}

.board-v4-magazine-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.board-v4-magazine-date,
.board-v4-magazine-stat {
  color: #879ab0;
  font-size: 12px;
  font-weight: 600;
}

@media (max-width: 979px) {
  .board-v4-book-gallery-grid,
  .board-v4-gallery-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .board-v4-magazine-card.has-thumb,
  .board-v4-magazine-card:has(.board-v4-magazine-thumb) {
    grid-template-columns: 180px minmax(0, 1fr);
  }
}

@media (max-width: 767px) {
  .board-v4-book-card {
    padding: 16px;
  }

  .board-v4-book-card-head {
    display: block;
  }

  .board-v4-book-link {
    margin-top: 10px;
  }

  .board-v4-book-title {
    font-size: 20px;
  }

  .board-v4-book-gallery-grid,
  .board-v4-gallery-list {
    grid-template-columns: 1fr;
  }

  .board-v4-gallery-title {
    font-size: 14px;
  }

  .board-v4-magazine-card,
  .board-v4-magazine-card.has-thumb,
  .board-v4-magazine-card:has(.board-v4-magazine-thumb) {
    grid-template-columns: 1fr;
    gap: 14px;
    padding: 14px;
  }

  /* 썸네일 위쪽 / 텍스트 아래쪽 세로 스택 — 모바일 가독성 */
  .board-v4-magazine-thumb {
    width: 100%;
    max-width: 100%;
  }

  .board-v4-magazine-image {
    width: 100%;
    height: 200px;
    object-fit: cover;
  }

  .board-v4-magazine-title {
    font-size: 18px;
  }

  .board-v4-magazine-excerpt {
    font-size: 13px;
    line-height: 1.7;
  }
}

.board-v4-post {
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding: 24px;
  border: 1px solid var(--chch-border);
  border-radius: 24px;
  background: #fff;
  box-shadow: var(--chch-shadow);
}

.board-v4-post-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.board-v4-post-head-copy {
  min-width: 0;
  flex: 1 1 auto;
}

.board-v4-post-category-link {
  text-decoration: none;
}

.board-v4-post-title-row {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-top: 12px;
}

.board-v4-post-title {
  margin: 0;
  color: #26313d;
  font-size: 28px;
  line-height: 1.35;
  letter-spacing: -.03em;
}

.board-v4-focus-icon {
  flex: 0 0 auto;
  margin-top: 8px;
}

.board-v4-focus-badge {
  display: inline-block;
  margin-left: 8px;
  padding: 2px 8px;
  border-radius: 6px;
  background: linear-gradient(135deg, #2f88e6 0%, #1a6fd4 100%);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .04em;
  line-height: 1.6;
  vertical-align: middle;
  cursor: pointer;
}
.board-v4-focus-badge:hover {
  background: linear-gradient(135deg, #1a6fd4 0%, #1360c0 100%);
}
.board-v4-focus-badge-done {
  background: linear-gradient(135deg, #a0b8cc 0%, #8da5b8 100%);
  cursor: default;
  opacity: .7;
}
.board-v4-focus-badge-done:hover {
  background: linear-gradient(135deg, #a0b8cc 0%, #8da5b8 100%);
}

.board-v4-post-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}

.board-v4-post-meta-item {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 10px;
  border-radius: 999px;
  background: var(--chch-stat-bg);
  border: 1px solid var(--chch-border);
  color: #6985a2;
  font-size: 12px;
  font-weight: 700;
}

.board-v4-share {
  position: relative;
  flex: 0 0 auto;
}

.board-v4-share-toggle,
.board-v4-share-menu-btn,
.board-v4-post-trackback-copy {
  appearance: none;
  border: 1px solid var(--chch-border);
  background: #ffffff;
  cursor: pointer;
  text-shadow: none;
  box-shadow: none;
  background-image: none;
  filter: none;
}

.board-v4-share-toggle {
  min-height: 42px;
  padding: 0 16px;
  border-radius: 14px;
  border-color: #82bfff;
  background: linear-gradient(135deg, #2f88e6 0%, #67aef0 55%, #9fd0ff 100%);
  color: #ffffff;
  font-size: 14px;
  font-weight: 700;
  text-shadow: 0 1px 1px rgba(22, 64, 111, .18);
  box-shadow: 0 14px 28px rgba(79,120,163,.24);
}

.board-v4-share-toggle:hover {
  background: linear-gradient(135deg, #247ad5 0%, #5ba4ea 55%, #8fc5fa 100%);
}

.board-v4-share.is-open .board-v4-share-menu {
  display: grid;
}

.board-v4-share-menu {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  z-index: 20;
  display: none;
  min-width: 176px;
  gap: 8px;
  padding: 10px;
  border: 1px solid var(--chch-border);
  border-radius: 18px;
  background: var(--chch-surface-strong);
  box-shadow: 0 20px 34px rgba(79,120,163,.18);
}

.board-v4-share-menu-btn {
  min-height: 40px;
  padding: 0 12px;
  border-radius: 12px;
  color: #456582;
  font-size: 13px;
  font-weight: 700;
}

.board-v4-post-source {
  display: grid;
  gap: 8px;
  padding: 14px 16px;
  border: 1px solid #e6eff8;
  border-radius: 18px;
  background: var(--chch-surface-soft);
}

.board-v4-post-source-row {
  color: #607b97;
  font-size: 13px;
  line-height: 1.6;
}

.board-v4-post-source-label {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 8px;
  margin-right: 8px;
  border-radius: 999px;
  background: var(--chch-chip-bg);
  border: 1px solid var(--chch-border-strong);
  color: #557ea8;
  font-size: 11px;
  font-weight: 700;
}

.board-v4-post-gallery {
  display: grid;
  gap: 14px;
}

.board-v4-post-content {
  padding: 8px 4px;
  color: #26313d;
  font-size: 16px;
  line-height: 1.95;
  overflow: auto;
  word-break: break-word;
}

.board-v4-post-content p,
.board-v4-post-content ul,
.board-v4-post-content ol,
.board-v4-post-content blockquote {
  margin: 0 0 1.05em;
}

.board-v4-post-content p:last-child,
.board-v4-post-content ul:last-child,
.board-v4-post-content ol:last-child,
.board-v4-post-content blockquote:last-child {
  margin-bottom: 0;
}

.board-v4-post-content p:empty {
  min-height: 1em;
}

.board-v4-post-content h1,
.board-v4-post-content h2,
.board-v4-post-content h3,
.board-v4-post-content h4,
.board-v4-post-content h5,
.board-v4-post-content h6 {
  margin: 1.5em 0 .65em;
  line-height: 1.45;
}

.board-v4-post-content h1:first-child,
.board-v4-post-content h2:first-child,
.board-v4-post-content h3:first-child,
.board-v4-post-content h4:first-child,
.board-v4-post-content h5:first-child,
.board-v4-post-content h6:first-child {
  margin-top: 0;
}

.board-v4-post-content li + li {
  margin-top: .35em;
}

.board-v4-post-content img,
.board-v4-post-content table,
.board-v4-post-content iframe,
.board-v4-post-content object,
.board-v4-post-content embed {
  max-width: 100%;
}

.board-v4-post-content img {
  display: block;
  margin: 0 auto 1em;
  border-radius: 16px;
  height: auto !important;
}

.board-v4-post-files {
  border: 1px solid var(--chch-border);
  border-radius: 18px;
  background: #fff;
}

.board-v4-post-files summary {
  list-style: none;
}

.board-v4-post-files summary::-webkit-details-marker {
  display: none;
}

.board-v4-post-tags {
  text-align: right;
  color: #607b97;
  font-size: 13px;
  line-height: 1.6;
}

.board-v4-post-trackback {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  padding-top: 4px;
}

.board-v4-post-trackback-label {
  color: #6985a2;
  font-size: 12px;
  font-weight: 700;
}

.board-v4-post-trackback-copy {
  min-height: 36px;
  padding: 0 12px;
  border-radius: 12px;
  color: #5a7692;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
  text-align: left;
  word-break: break-all;
}
.board-v4-post-trackback-copy:hover {
  color: var(--chch-link);
  border-color: #aed0f0;
  background: #f5faff;
}

@media (max-width: 767px) {
  .board-v4-post {
    gap: 16px;
    padding: 18px 16px;
    border-radius: 20px;
  }

  .board-v4-post-head {
    display: block;
  }

  .board-v4-post-title {
    font-size: 22px;
  }

  .board-v4-share {
    margin-top: 14px;
  }

  .board-v4-share-toggle {
    width: 100%;
    min-height: 46px;
    font-size: 16px;
  }

  .board-v4-share-menu {
    position: static;
    margin-top: 10px;
    min-width: 0;
  }

  .board-v4-share-menu-btn {
    min-height: 44px;
    font-size: 15px;
  }

  .board-v4-post-meta-item,
  .board-v4-post-source-row,
  .board-v4-post-tags {
    font-size: 14px;
  }

  .board-v4-post-content {
    padding: 4px 0;
    font-size: 19px;
    line-height: 2.05;
  }

  .board-v4-post-trackback {
    display: block;
  }

  .board-v4-post-trackback-copy {
    width: 100%;
    margin-top: 8px;
    padding: 10px 12px;
    font-size: 14px;
  }
}

.board-v4-post-actions {
  padding-top: 18px;
}

.board-v4-post-actions-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}

.board-v4-post-action-item {
  display: inline-flex;
  min-width: 0;
}

.board-v4-post-action-item > a,
.board-v4-post-action-item > span {
  display: inline-flex;
  min-width: 0;
}

.board-v4-post-action-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 14px;
  border: 1px solid var(--chch-border);
  border-radius: 14px;
  background: #ffffff;
  color: #5b7692;
  font-size: 13px;
  font-weight: 700;
  box-shadow: var(--chch-shadow-card);
}

.board-v4-post-action-btn i {
  margin-right: 6px;
}

.board-v4-comment {
  margin-top: 14px;
  padding: 18px;
  border: 1px solid var(--chch-border);
  border-radius: 20px;
  background: #fff;
  box-shadow: var(--chch-shadow-card);
}

.board-v4-comment.is-reply {
  background: #f5f9ff;
  border-left: 3px solid #bcd5ec;
  border-radius: 4px 20px 20px 4px;
}

.board-v4-comment-head {
  display: flex;
  align-items: center;
  gap: 12px;
}

.board-v4-comment-author {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  flex: 1 1 auto;
}

.board-v4-comment-author-name {
  display: block;
  min-width: 0;
  color: #2f3136;
  font-size: 14px;
  font-weight: 700;
}

.board-v4-comment-actions {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-left: auto;
  flex: 0 0 auto;
}

.board-v4-comment-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 24px;
  padding: 0 8px;
  border: 1px solid var(--chch-border-strong);
  border-radius: 999px;
  background: rgba(248, 251, 255, .92);
  color: #5d7690;
  font-size: 11px;
  font-weight: 600;
  line-height: 1;
}

.board-v4-comment-btn:hover,
.board-v4-comment-btn:focus {
  border-color: #bcd5ec;
  background: #ffffff;
  color: var(--chch-link);
}

/* 댓글 작성일자 */
.board-v4-comment-date {
  font-size: 12px;
  color: #8da4bd;
  font-weight: 400;
  flex-shrink: 0;
}

/* 대댓글 화살표 아이콘 */
.board-v4-comment-reply-arrow {
  display: inline-block;
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  position: relative;
  top: 1px;
}
.board-v4-comment-reply-arrow::before {
  content: '';
  display: block;
  width: 8px;
  height: 8px;
  border-left: 2px solid #bcd5ec;
  border-bottom: 2px solid #bcd5ec;
  border-radius: 0 0 0 3px;
  margin-top: 1px;
  margin-left: 2px;
}

/* 삭제 버튼 통일 — <a> 래퍼 초기화 */
.board-v4-comment-actions a {
  display: inline-flex;
  text-decoration: none;
}
span.board-v4-comment-btn-del {
  cursor: pointer;
  font-size: 11px;
  font-weight: 600;
  line-height: 1;
  min-height: 24px;
  padding: 0 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}
a .board-v4-comment-btn-del,
a .board-v4-comment-btn-del:link,
a .board-v4-comment-btn-del:visited {
  text-decoration: none;
  color: #5d7690;
}
a:hover .board-v4-comment-btn-del {
  border-color: #f0c0c0 !important;
  background: #fff5f5 !important;
  color: #d94848 !important;
  text-decoration: none !important;
}

.board-v4-comment-body {
  margin-top: 12px;
}

.board-v4-comment-copy {
  color: #2f3136;
  font-size: 15px;
  line-height: 1.9;
}

/* 긴 댓글 펼침/줄임 */
.board-v4-comment-copy.is-collapsed {
  max-height: 200px;
  overflow: hidden;
  position: relative;
}
.board-v4-comment-copy.is-collapsed::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 60px;
  background: linear-gradient(to bottom, rgba(255,255,255,0), #fff);
  pointer-events: none;
}
.is-reply .board-v4-comment-copy.is-collapsed::after {
  background: linear-gradient(to bottom, rgba(245,249,255,0), #f5f9ff);
}
.board-v4-comment-expand-btn {
  display: block;
  margin: 8px auto 0;
  padding: 4px 16px;
  border: 1px solid var(--chch-border-strong);
  border-radius: 999px;
  background: rgba(248, 251, 255, .92);
  color: var(--chch-link);
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
}
.board-v4-comment-expand-btn:hover {
  background: #fff;
  border-color: #bcd5ec;
}

.board-v4-comment-files {
  margin-top: 10px;
  display: grid;
  gap: 6px;
}

.board-v4-comment-file {
  color: #607b97;
  font-size: 12px;
  line-height: 1.6;
  text-align: right;
}

.board-v4-comment-file-meta {
  color: #7b93aa;
}

.board-v4-comment-editor {
  margin-top: 14px;
  padding: 16px;
  border: 1px solid #e4eef9;
  border-radius: 18px;
  background: var(--chch-surface-soft);
}

.board-v4-comment-form-meta {
  display: grid;
  gap: 10px;
}

.board-v4-comment-form-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  color: #607b97;
  font-size: 13px;
}

.board-v4-comment-input {
  min-height: 38px;
  padding: 0 12px;
  border: 1px solid var(--chch-border);
  border-radius: 12px;
  background: #fff;
  box-sizing: border-box;
}

.board-v4-comment-input-wide {
  width: min(100%, 420px);
}

.board-v4-comment-form-field {
  margin-top: 12px;
}

.board-v4-comment-textarea {
  width: 100%;
  min-height: 160px;
  padding: 14px 16px;
  border: 1px solid var(--chch-border);
  border-radius: 16px;
  background: #fff;
  box-sizing: border-box;
  color: #26313d;
  font-size: 16px;
  line-height: 1.9;
  resize: vertical;
}

.board-v4-comment-auth {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-top: 12px;
  color: #607b97;
  font-size: 12px;
}

.board-v4-comment-auth-image {
  border: 1px solid var(--chch-border);
}

.board-v4-comment-submit {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin-top: 16px;
}

button.board-v4-comment-submit-btn,
button.board-v4-comment-cancel-btn,
input[type="submit"].board-v4-comment-submit-btn,
input[type="button"].board-v4-comment-cancel-btn {
  min-height: 42px;
  padding: 0 16px;
  border-radius: 14px;
  font-size: 14px;
  font-weight: 700;
  text-shadow: none;
  background-image: none;
  filter: none;
}

.board-v4-comment-submit-btn {
  border: 1px solid #82bfff;
  background: linear-gradient(135deg, #2f88e6 0%, #67aef0 55%, #9fd0ff 100%);
  color: #fff;
  text-shadow: 0 1px 1px rgba(22, 64, 111, .18);
  box-shadow: 0 12px 24px rgba(72, 141, 224, .24), inset 0 1px 0 rgba(255, 255, 255, .22);
}

.board-v4-comment-submit-btn:hover,
.board-v4-comment-submit-btn:focus {
  background: linear-gradient(135deg, #2478d3 0%, #5da5eb 55%, #8fc8fb 100%);
  color: #fff;
}

.board-v4-comment-cancel-btn {
  border: 1px solid var(--chch-border);
  background: #fff;
  color: #5b7692;
}

@media (max-width: 767px) {
  .board-v4-post-content * {
    font-size: inherit !important;
    line-height: inherit !important;
  }

  .board-v4-post-content small,
  .board-v4-post-content sub,
  .board-v4-post-content sup {
    font-size: .8em !important;
  }

  .board-v4-pagination {
    margin-bottom: 16px;
  }

  .board-v4-pagination ul {
    gap: 6px;
  }

  .board-v4-pagination a,
  .board-v4-pagination span {
    min-width: 30px;
    min-height: 30px;
    padding: 0 8px;
    font-size: 12px;
  }

  .board-v4-footer-actions {
    justify-content: flex-end;
  }

  .board-v4-post-actions-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .board-v4-post-action-item {
    display: block;
    width: 100%;
  }

  .board-v4-post-action-item > a,
  .board-v4-post-action-item > span {
    display: flex;
    width: 100%;
  }

  .board-v4-post-action-btn {
    width: 100%;
    min-height: 46px;
    font-size: 15px;
  }

  .board-v4-comment {
    padding: 16px 14px;
  }

  .board-v4-comment-head {
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 8px;
  }

  .board-v4-comment-date {
    font-size: 11px;
  }

  .board-v4-comment-author {
    flex-wrap: wrap;
    gap: 4px 8px;
  }

  .board-v4-comment-copy {
    font-size: 17px;
    line-height: 1.95;
  }

  .board-v4-comment-textarea {
    min-height: 180px;
    font-size: 18px;
    line-height: 2;
  }

  .board-v4-comment-form-row,
  .board-v4-comment-auth {
    font-size: 14px;
  }

  .board-v4-comment-submit-btn,
  .board-v4-comment-cancel-btn,
  .board-v4-comment-btn {
    min-height: 24px;
    font-size: 11px;
  }
}

.board-v4-comment-write {
  margin-top: 18px;
}

html[data-theme="dark"] {
  color-scheme: dark;
}

html[data-theme="dark"] body {
  background: transparent;
}

html[data-theme="dark"] .bbs-container {
  color: #dbe7f7;
}

html[data-theme="dark"] .contents,
html[data-theme="dark"] .contents a:link,
html[data-theme="dark"] .contents a:visited,
html[data-theme="dark"] .contents a:active {
  color: #dbe7f7;
}

html[data-theme="dark"] .editbox,
html[data-theme="dark"] .editbox99,
html[data-theme="dark"] .memobox,
html[data-theme="dark"] .commentbox,
html[data-theme="dark"] .board-v4-write-input,
html[data-theme="dark"] .board-v4-write-table-field input[type="text"],
html[data-theme="dark"] .board-v4-write-auth input[type="text"],
html[data-theme="dark"] .board-v4-write-form .entry-content input[type="text"],
html[data-theme="dark"] .board-v4-comment-input,
html[data-theme="dark"] .board-v4-comment-textarea,
html[data-theme="dark"] .board-v4-search-input input[type="search"],
html[data-theme="dark"] .board-v4-toolbar-sort select,
html[data-theme="dark"] .board-v4-toolbar-sort .selbox,
html[data-theme="dark"] .board-v4-search-select select,
html[data-theme="dark"] .board-v4-book-accordion-toggle,
html[data-theme="dark"] .board-v4-post-trackback-copy,
html[data-theme="dark"] .board-v4-share-menu-btn,
html[data-theme="dark"] .board-v4-post-action-btn,
html[data-theme="dark"] .board-v4-comment-btn,
html[data-theme="dark"] .board-v4-comment-cancel-btn {
  border-color: #2b425d !important;
  background: #13253a !important;
  color: #dbe7f7 !important;
  box-shadow: none !important;
}

html[data-theme="dark"] .board-v4-toolbar,
html[data-theme="dark"] .board-v4-search-form,
html[data-theme="dark"] .board-v4-table,
html[data-theme="dark"] .board-v4-book-card,
html[data-theme="dark"] .board-v4-gallery-card,
html[data-theme="dark"] .board-v4-magazine-card,
html[data-theme="dark"] .board-v4-post,
html[data-theme="dark"] .board-v4-comment,
html[data-theme="dark"] .board-v4-comment-editor,
html[data-theme="dark"] .board-v4-post-files,
html[data-theme="dark"] .board-v4-post-source,
html[data-theme="dark"] .board-v4-write-hero,
html[data-theme="dark"] .board-v4-write-card,
html[data-theme="dark"] .board-v4-write-editor {
  border-color: #223954 !important;
  background: linear-gradient(180deg, #122338 0%, #0f1d31 100%) !important;
  box-shadow: 0 18px 36px rgba(2, 8, 18, .34) !important;
}

html[data-theme="dark"] .board-v4-table thead th {
  border-bottom-color: #223954 !important;
  background: #10253e !important;
  color: #f2f7ff !important;
}

html[data-theme="dark"] .board-v4-row td,
html[data-theme="dark"] .board-v4-row-notice td {
  border-bottom-color: #20344d !important;
  background: #0f1d31 !important;
  color: #c6d6ea !important;
}

html[data-theme="dark"] .board-v4-row:hover td,
html[data-theme="dark"] .board-v4-row:focus-within td {
  background: #13253a !important;
}

html[data-theme="dark"] .board-v4-comment.is-reply {
  background: #0d1a2c !important;
  border-left-color: #2b425d !important;
}
html[data-theme="dark"] .board-v4-comment-date {
  color: #5a7a9a;
}
html[data-theme="dark"] .board-v4-comment-reply-arrow::before {
  border-left-color: #2b425d;
  border-bottom-color: #2b425d;
}
html[data-theme="dark"] .board-v4-comment-copy.is-collapsed::after {
  background: linear-gradient(to bottom, rgba(18,35,56,0), #122338) !important;
}
html[data-theme="dark"] .is-reply .board-v4-comment-copy.is-collapsed::after {
  background: linear-gradient(to bottom, rgba(13,26,44,0), #0d1a2c) !important;
}
html[data-theme="dark"] .board-v4-comment-expand-btn {
  border-color: #2b425d;
  background: #13253a;
  color: #6ba3d6;
}
html[data-theme="dark"] .board-v4-comment-expand-btn:hover {
  background: #1a3350;
  border-color: #3a5a7a;
}
html[data-theme="dark"] a:hover .board-v4-comment-btn-del {
  border-color: #5a2020 !important;
  background: #2a1515 !important;
  color: #e66 !important;
}
html[data-theme="dark"] .board-v4-subject,
html[data-theme="dark"] .board-v4-book-title,
html[data-theme="dark"] .board-v4-gallery-title,
html[data-theme="dark"] .board-v4-magazine-title,
html[data-theme="dark"] .board-v4-post-title,
html[data-theme="dark"] .board-v4-comment-author-name,
html[data-theme="dark"] .board-v4-comment-copy,
html[data-theme="dark"] .board-v4-write-card-head h2,
html[data-theme="dark"] .board-v4-write-static strong {
  color: #f2f7ff !important;
}

html[data-theme="dark"] .board-v4-row td,
html[data-theme="dark"] .board-v4-book-source,
html[data-theme="dark"] .board-v4-book-gallery-caption,
html[data-theme="dark"] .board-v4-magazine-excerpt,
html[data-theme="dark"] .board-v4-post-meta-item,
html[data-theme="dark"] .board-v4-post-source-row,
html[data-theme="dark"] .board-v4-post-trackback-label,
html[data-theme="dark"] .board-v4-comment-file,
html[data-theme="dark"] .board-v4-comment-form-row,
html[data-theme="dark"] .board-v4-comment-auth,
html[data-theme="dark"] .board-v4-write-card-head p,
html[data-theme="dark"] .board-v4-write-summary,
html[data-theme="dark"] .board-v4-write-field label,
html[data-theme="dark"] .board-v4-write-survey-period label,
html[data-theme="dark"] .board-v4-write-table-label,
html[data-theme="dark"] .board-v4-check {
  color: #9db3cc !important;
}

html[data-theme="dark"] .board-v4-col-date,
html[data-theme="dark"] .board-v4-col-hit,
html[data-theme="dark"] .board-v4-col-author,
html[data-theme="dark"] .board-v4-book-date,
html[data-theme="dark"] .board-v4-book-stat,
html[data-theme="dark"] .board-v4-magazine-date,
html[data-theme="dark"] .board-v4-magazine-stat,
html[data-theme="dark"] .board-v4-gallery-date,
html[data-theme="dark"] .board-v4-comment-file-meta {
  color: #7f97b2 !important;
}

html[data-theme="dark"] .board-v4-category-pill,
html[data-theme="dark"] .board-v4-post-source-label,
html[data-theme="dark"] .board-v4-post-tags a:link,
html[data-theme="dark"] .board-v4-post-tags a:visited,
html[data-theme="dark"] .board-v4-view-switch a,
html[data-theme="dark"] .board-v4-book-permalink,
html[data-theme="dark"] .board-v4-book-file-meta {
  border-color: #2f88e6 !important;
  background: #173250 !important;
  color: #d6ebff !important;
}

html[data-theme="dark"] .board-v4-view-switch a img,
html[data-theme="dark"] .board-v4-book-region-nav img {
  filter: brightness(0) invert(1) opacity(.78);
}

html[data-theme="dark"] .board-v4-book-region-nav,
html[data-theme="dark"] .board-v4-book-region-nav a {
  color: #9db3cc !important;
}

html[data-theme="dark"] .board-v4-post-tags {
  border-top-color: #223954;
}

html[data-theme="dark"] .board-v4-category-pill-notice {
  border-color: #4f6154 !important;
  background: #22382a !important;
  color: #bad7bf !important;
}

html[data-theme="dark"] .board-v4-gallery-thumb,
html[data-theme="dark"] .board-v4-magazine-thumb,
html[data-theme="dark"] .board-v4-book-gallery-item {
  border-color: #223954 !important;
  background: #13253a !important;
}

html[data-theme="dark"] .board-v4-post-meta-item {
  border-color: #294863;
  background: #132a43;
}

html[data-theme="dark"] .board-v4-share-menu {
  border-color: #223954;
  background: rgba(15, 29, 49, .98);
  box-shadow: 0 22px 36px rgba(2, 8, 18, .46);
}

html[data-theme="dark"] .board-v4-post-content,
html[data-theme="dark"] .board-v4-post-content * {
  color: #eef5ff !important;
  text-shadow: none !important;
  opacity: 1 !important;
}

html[data-theme="dark"] .board-v4-post-head,
html[data-theme="dark"] .board-v4-post-actions {
  border-color: #223954 !important;
}

html[data-theme="dark"] .board-v4-post-content p,
html[data-theme="dark"] .board-v4-post-content div,
html[data-theme="dark"] .board-v4-post-content span,
html[data-theme="dark"] .board-v4-post-content li,
html[data-theme="dark"] .board-v4-post-content td,
html[data-theme="dark"] .board-v4-post-content th,
html[data-theme="dark"] .board-v4-post-content strong,
html[data-theme="dark"] .board-v4-post-content b,
html[data-theme="dark"] .board-v4-post-content em,
html[data-theme="dark"] .board-v4-post-content font {
  color: #eef5ff !important;
}

html[data-theme="dark"] .board-v4-post-content a,
html[data-theme="dark"] .board-v4-post-source-link a {
  color: #8fc7ff !important;
}

html[data-theme="dark"] .board-v4-post-content table td,
html[data-theme="dark"] .board-v4-post-content table th {
  border-color: #2b425d !important;
  background: #10253e !important;
}

html[data-theme="dark"] .board-v4-post-content blockquote,
html[data-theme="dark"] .board-v4-post-content blockquote.q1,
html[data-theme="dark"] .board-v4-post-content blockquote.q2,
html[data-theme="dark"] .board-v4-post-content blockquote.q3,
html[data-theme="dark"] .board-v4-post-content blockquote.q4,
html[data-theme="dark"] .board-v4-post-content blockquote.q5,
html[data-theme="dark"] .board-v4-post-content blockquote.q6,
html[data-theme="dark"] .board-v4-post-content blockquote.q7 {
  border-color: #35506d;
  background-color: #11263d;
}

html[data-theme="dark"] .board-v4-post-content img {
  background: #10253e;
}

html[data-theme="dark"] .board-v4-list-footer {
  padding: 18px 0 12px;
  background: #0f1d31;
}

html[data-theme="dark"] .board-v4-search-row {
  padding: 0 12px 8px;
  background: #0f1d31;
}

html[data-theme="dark"] .board-v4-pagination a,
html[data-theme="dark"] .board-v4-pagination span,
html[data-theme="dark"] .pagination a,
html[data-theme="dark"] .pagination span {
  border-color: #2b425d !important;
  background: #13253a !important;
  color: #cfe2f7 !important;
}

html[data-theme="dark"] .board-v4-pagination .active a,
html[data-theme="dark"] .board-v4-pagination .active span,
html[data-theme="dark"] .pagination .active a,
html[data-theme="dark"] .pagination .active span {
  border-color: #2f88e6 !important;
  background: #2f88e6 !important;
  color: #ffffff !important;
}

/* ── 업로드 파일 목록 ── */
.bv4-flist { display:flex; flex-direction:column; gap:10px; }
.bv4-flist-item {
  display:flex; align-items:flex-start; gap:14px;
  padding:12px 14px;
  border:1px solid var(--chch-border); border-radius:14px; background:var(--chch-surface-soft);
}
.bv4-flist-thumb {
  flex:0 0 44px; width:44px; height:44px;
  border-radius:10px; overflow:hidden;
  background:#edf2fa;
  display:flex; align-items:center; justify-content:center;
}
.bv4-flist-thumb img { width:44px; height:44px; object-fit:cover; border-radius:10px; border:none !important; }
.bv4-flist-body { flex:1 1 0; min-width:0; display:flex; flex-direction:column; gap:5px; }
.bv4-flist-fname { color:#1e3a5f; font-size:14px; font-weight:700; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.bv4-flist-meta { color:#7b9ab8; font-size:12px; }
.bv4-flist-desc input[type="text"] {
  width:100%; min-height:38px; padding:7px 12px;
  border:1px solid #d4e5f8; border-radius:10px;
  background:#fff; color:#1e3a5f; font-size:14px; box-sizing:border-box;
}
.bv4-flist-actions {
  flex:0 0 auto; display:flex; flex-direction:column;
  align-items:flex-end; gap:8px;
}
.bv4-flist-insert a {
  display:inline-flex; align-items:center;
  min-height:34px; padding:0 14px; border-radius:999px;
  background:linear-gradient(135deg,#4f95ee 0%,#86bdff 100%);
  color:#fff !important; font-size:13px; font-weight:700;
  text-decoration:none; white-space:nowrap;
  box-shadow:0 4px 10px rgba(79,149,238,.18);
}
.bv4-flist-insert a span { color:inherit !important; background:none !important; border:none !important; padding:0 !important; font-weight:inherit !important; }
@media (max-width:767px) {
  .bv4-flist-item { flex-wrap:wrap; }
  .bv4-flist-body { flex:1 1 calc(100% - 58px); }
  .bv4-flist-actions { flex-direction:row; align-items:center; width:100%; justify-content:flex-end; gap:12px; }
}

/* 좋아요 버튼 */
.board-v4-like-btn { border-color: #f0c0d4 !important; }
.board-v4-like-btn:hover { background: #fdf0f5 !important; border-color: #e74c8b !important; }
.board-v4-like-btn i { color: #ccc; transition: color .2s; }
.board-v4-like-btn .board-v4-like-heart-on { color: #e74c8b; }
.board-v4-like-btn .board-v4-like-num { color: #e74c8b; font-weight: 800; margin-left: 2px; }
.board-v4-like-btn:hover i { color: #e74c8b; }
.board-v4-like-count i { color: #e74c8b; }
html[data-theme="dark"] .board-v4-like-btn { border-color: #5c2040 !important; }
html[data-theme="dark"] .board-v4-like-btn:hover { background: #3a1228 !important; }
html[data-theme="dark"] .board-v4-like-btn i { color: #666; }
html[data-theme="dark"] .board-v4-like-btn .board-v4-like-heart-on { color: #f472b6; }
html[data-theme="dark"] .board-v4-like-btn .board-v4-like-num { color: #f472b6; }
html[data-theme="dark"] .board-v4-like-btn:hover i { color: #f472b6; }
html[data-theme="dark"] .board-v4-like-count i { color: #f472b6; }


/* ── 비회원 댓글 안내 ── */
.board-v4-comment-guest-notice {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 22px 24px;
  margin-top: 14px;
  text-align: center;
  font-size: 14px;
  font-weight: 600;
  color: #6985a2;
  background: linear-gradient(180deg, #f8fbff 0%, #f0f6ff 100%);
  border: 1px solid var(--chch-border);
  border-radius: 18px;
  box-shadow: 0 8px 20px rgba(113,163,214,.08);
}
.board-v4-comment-guest-notice i {
  font-size: 16px;
  color: #a0b8d0;
}
.board-v4-comment-login-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 18px;
  background: linear-gradient(135deg, #2f88e6 0%, #67aef0 100%);
  color: #fff !important;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none !important;
  box-shadow: 0 6px 16px rgba(47,136,230,.22);
  transition: background .15s;
}
.board-v4-comment-login-link:hover {
  background: linear-gradient(135deg, #247ad5 0%, #5ba4ea 100%);
}
html[data-theme="dark"] .board-v4-comment-guest-notice {
  background: linear-gradient(180deg, #122338 0%, #0f1d31 100%);
  border-color: #223954;
  color: #9db3cc;
  box-shadow: 0 8px 20px rgba(2,8,18,.20);
}
html[data-theme="dark"] .board-v4-comment-guest-notice i { color: #5a7a9a; }
html[data-theme="dark"] .board-v4-comment-login-link {
  background: linear-gradient(135deg, #2468b0 0%, #4e93d6 100%);
  box-shadow: 0 6px 16px rgba(36,104,176,.30);
}


/* ── 본문 내 표/이미지 자동 축소 (게시판 목록 테이블 제외) ── */
.board-v4-post-content table,
.contents table {
  max-width: 100% !important;
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  table-layout: fixed;
  word-break: break-word;
}
.board-v4-post-content img,
.contents img {
  max-width: 100% !important;
  height: auto !important;
}


/* ── 본문 내 표 세로선 복원 (게시판 목록 테이블 제외) ── */
.board-v4-post-content table td,
.board-v4-post-content table th,
.contents table td,
.contents table th {
  border: 1px solid #dfe7ef !important;
}
html[data-theme="dark"] .board-v4-post-content table td,
html[data-theme="dark"] .board-v4-post-content table th,
html[data-theme="dark"] .contents table td,
html[data-theme="dark"] .contents table th {
  border-color: #223954 !important;
}

/* ── 검색 폼 직접 클래스 (통일) ── */
.board-v4-search-select-el {
  display: inline-flex !important;
  align-items: center !important;
  height: 38px !important;
  min-height: 38px !important;
  max-height: 38px !important;
  width: auto !important;
  flex-shrink: 0 !important;
  padding: 0 10px !important;
  margin: 0 !important;
  line-height: 38px !important;
  border: 1px solid var(--chch-button-border) !important;
  border-radius: 12px !important;
  background: #fff !important;
  background-image: none !important;
  color: #5f7d99 !important;
  font-size: 12px !important;
  box-sizing: border-box !important;
  -webkit-appearance: menulist !important;
  appearance: menulist !important;
  box-shadow: none !important;
}
.board-v4-search-input-el {
  display: inline-flex !important;
  align-items: center !important;
  height: 38px !important;
  min-height: 38px !important;
  max-height: 38px !important;
  flex: 1 !important;
  min-width: 0 !important;
  width: auto !important;
  padding: 0 12px !important;
  margin: 0 !important;
  line-height: 38px !important;
  border: 1px solid var(--chch-button-border) !important;
  border-radius: 12px !important;
  background: #fff !important;
  color: #5f7d99 !important;
  font-size: 12px !important;
  box-sizing: border-box !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  box-shadow: none !important;
}
html[data-theme="dark"] .board-v4-search-select-el,
html[data-theme="dark"] .board-v4-search-input-el {
  border-color: #2b425d !important;
  background: #13253a !important;
  color: #dbe7f7 !important;
}

/* ── 좁은 영역 페이징+검색 대응 ── */
.board-v4-pagination ul { font-size: 0; }
.board-v4-pagination ul li { display: inline-block; }
.board-v4-pagination ul li a,
.board-v4-pagination ul li span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  height: 30px;
  padding: 0 6px;
  border-radius: 6px;
  border: 1px solid var(--chch-border);
  background: #fff;
  color: #5b7692;
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
  transition: background .15s;
}
.board-v4-pagination ul li a:hover {
  background: #f5faff;
  border-color: #aed0f0;
}
.board-v4-pagination ul li.active a,
.board-v4-pagination ul li.active span {
  background: #336699;
  color: #fff;
  border-color: #336699;
  font-weight: 700;
}
html[data-theme="dark"] .board-v4-pagination ul li a,
html[data-theme="dark"] .board-v4-pagination ul li span {
  border-color: rgba(123,158,196,.18);
  background: rgba(20,35,54,.98);
  color: #dbe7f7;
}
html[data-theme="dark"] .board-v4-pagination ul li.active a,
html[data-theme="dark"] .board-v4-pagination ul li.active span {
  background: #2a5580;
  border-color: #2a5580;
  color: #fff;
}
