.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 #dbeaf8;
  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 #d8e8f8;
  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 #dbeaf8;
  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 #dbeaf8;
  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: #edf6ff;
  color: #2f88e6;
}

.board-v4-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  border: 1px solid #dbeaf8;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(125,177,229,.08);
}

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

.board-v4-table .board-v4-col-check,
.board-v4-table .board-v4-col-author,
.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-author {
  width: 80px;
  font-size: 12px !important;
  color: #607b97;
  text-align: center;
}

.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: #edf6ff;
  border: 1px solid #d4e6f8;
  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, #fff4ef 0%, #ffe8df 100%);
  border-color: #f2d5ca;
  color: #b55c48;
}

.board-v4-category-pill.board-v4-category-tone-pastel-2,
.board-v4-category-pill.board-v4-category-tone-random-2 {
  background: linear-gradient(135deg, #fffaf0 0%, #f9efd8 100%);
  border-color: #eadab8;
  color: #a06f1d;
}

.board-v4-category-pill.board-v4-category-tone-pastel-3,
.board-v4-category-pill.board-v4-category-tone-random-3 {
  background: linear-gradient(135deg, #f6fdf0 0%, #eaf7db 100%);
  border-color: #d6e8bc;
  color: #5d8530;
}

.board-v4-category-pill.board-v4-category-tone-pastel-4,
.board-v4-category-pill.board-v4-category-tone-random-4 {
  background: linear-gradient(135deg, #f2fdfb 0%, #e2f5ef 100%);
  border-color: #d1e8df;
  color: #2f7b71;
}

.board-v4-category-pill.board-v4-category-tone-pastel-5,
.board-v4-category-pill.board-v4-category-tone-random-5 {
  background: linear-gradient(135deg, #f3f7ff 0%, #e7effc 100%);
  border-color: #d2ddf3;
  color: #4d68af;
}

.board-v4-category-pill.board-v4-category-tone-pastel-6,
.board-v4-category-pill.board-v4-category-tone-random-6 {
  background: linear-gradient(135deg, #faf4ff 0%, #efe4f7 100%);
  border-color: #e3d2ea;
  color: #83539d;
}

.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 #d7eadb;
  border-radius: 6px;
  background: #fff;
  color: #4e745b;
  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: #f0f7f4;
  border-color: #b8d9c2;
  color: #2e7d46;
}
.board-v4-pagination li.active a {
  background: #2e7d46;
  color: #fff;
  border-color: #2e7d46;
}

.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 #d7eadb;
  border-radius: 8px;
  background: #fff;
  color: #4e745b;
  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: #2e7d46;
  color: #fff;
  border-color: #2e7d46;
}

.board-v4-footer-actions > a:hover .board-v4-footer-btn {
  background: #f7fcf8;
  border-color: #b8d9c2;
}
.board-v4-footer-actions > a:hover .board-v4-footer-btn-write {
  background: #256b3a;
  border-color: #256b3a;
  color: #fff;
}

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

.board-v4-write-hero,
.board-v4-write-card {
  border: 1px solid #dbeaf8;
  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: #93b8a0;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}

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

.board-v4-write-summary {
  margin: 0;
  color: var(--chch-text-soft);
  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: var(--chch-card-heading);
  font-size: 22px;
  line-height: 1.2;
}

.board-v4-write-card-head p {
  margin: 0;
  color: #7b9384;
  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: #5e7c69;
  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 #d6e8da;
  border-radius: 14px;
  background: #fff;
  color: #355243;
  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: #2c3a32;
  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: #5c7c66;
  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: #5d7b69;
  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: var(--chch-surface-soft);
  color: var(--chch-link);
  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: #728d7b;
  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 #d4e6d8;
  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, #47a667 0%, #88c99b 100%);
  color: #fff;
  box-shadow: 0 14px 28px rgba(71, 166, 103, .22);
}

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

@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 #dbeaf8 !important;
  border-radius: 18px !important;
  background: #fbfdff !important;
}

.board-v4-search-select select,
.board-v4-search-input input[type="search"] {
  min-height: 38px;
  border: 1px solid #d8e8f8;
  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 #dbeaf8;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(125,177,229,.08);
  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: #edf6ff;
  border: 1px solid #d4e6f8;
  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: #f9fcff;
  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 #dbeaf8;
  border-radius: 14px;
  background: #fbfdff;
  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-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: #edf6ff;
  border: 1px solid #d4e6f8;
  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 #dbeaf8;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(125,177,229,.08);
  text-align: left;
}

.board-v4-gallery-thumb {
  background: #f4f9ff;
}

.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 #dbeaf8;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(125,177,229,.08);
  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-card);
}

.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, #2b7a4b 0%, #1f6b3e 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, #1f6b3e 0%, #185c33 100%);
}
.board-v4-focus-badge-done {
  background: linear-gradient(135deg, #9bb8a5 0%, #88a594 100%);
  cursor: default;
  opacity: .7;
}
.board-v4-focus-badge-done:hover {
  background: linear-gradient(135deg, #9bb8a5 0%, #88a594 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: #5b7f68;
  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: #89d0a2;
  background: linear-gradient(135deg, #3e9b63 0%, #63b985 55%, #9bddb2 100%);
  color: #ffffff;
  font-size: 14px;
  font-weight: 700;
  text-shadow: 0 1px 1px rgba(34, 82, 49, .18);
  box-shadow: 0 14px 28px rgba(92, 139, 108, .24);
}

.board-v4-share-toggle:hover {
  background: linear-gradient(135deg, #338653 0%, #55ab74 55%, #87cf9f 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);
  box-shadow: var(--chch-shadow);
}

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

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

.board-v4-post-source-row {
  color: var(--chch-text);
  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-thumb-bg);
  border: 1px solid var(--chch-border);
  color: #4c7a5b;
  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 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: var(--chch-text);
  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: #6c8f77;
  font-size: 12px;
  font-weight: 700;
}

.board-v4-post-trackback-copy {
  min-height: 36px;
  padding: 0 12px;
  border-radius: 12px;
  color: #4e745b;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
  text-align: left;
  word-break: break-all;
}
.board-v4-post-trackback-copy:hover {
  color: #2b7a4b;
  border-color: #b0d4bb;
  background: #f3faf5;
}

@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: 10px 14px;
    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: #4e745b;
  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(247, 252, 248, .92);
  color: #4f735b;
  font-size: 11px;
  font-weight: 600;
  line-height: 1;
}

.board-v4-comment-btn:hover,
.board-v4-comment-btn:focus {
  border-color: #b5d8c0;
  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 #d7e5f3;
  border-radius: 999px;
  background: rgba(248, 251, 255, .92);
  color: #2f88e6;
  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: var(--chch-text);
  font-size: 12px;
  line-height: 1.6;
  text-align: right;
}

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

.board-v4-comment-editor {
  margin-top: 14px;
  padding: 16px;
  border: 1px solid var(--chch-border);
  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: var(--chch-text);
  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: var(--chch-text);
  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 #89d0a2;
  background: linear-gradient(135deg, #3e9b63 0%, #63b985 55%, #9bddb2 100%);
  color: #fff;
  text-shadow: 0 1px 1px rgba(34, 84, 52, .16);
  box-shadow: 0 12px 24px rgba(82, 154, 110, .22), inset 0 1px 0 rgba(255, 255, 255, .2);
}

.board-v4-comment-submit-btn:hover,
.board-v4-comment-submit-btn:focus {
  background: linear-gradient(135deg, #2f8650 0%, #56ad76 55%, #86d3a1 100%);
  color: #fff;
}

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

@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 {
    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;
}

.board-v4-toolbar-sort select,
.board-v4-toolbar-sort .selbox,
.board-v4-search-select select,
.board-v4-search-input input[type="search"] {
  border-color: var(--chch-button-border);
}

.board-v4-view-switch a {
  border-color: var(--chch-button-border);
  background: var(--chch-surface-soft);
}

.board-v4-view-switch a:hover,
.board-v4-view-switch a.onms {
  border-color: #8fc6a1;
  background: var(--chch-surface-hover);
}

.board-v4-table thead th {
  background: var(--chch-stat-bg);
  color: #487159;
}

.board-v4-row td {
  border-bottom-color: #e3f0e7;
}

.board-v4-category-pill {
  background: var(--chch-chip-bg);
  color: var(--chch-chip-text);
}

.board-v4-category-pill-notice {
  background: #dff0e5;
  color: #25643f;
}

.board-v4-pagination .active a,
.board-v4-pagination .active span {
  background: #5ba472;
  border-color: #5ba472;
}

.board-v4-book-card,
.board-v4-gallery-card,
.board-v4-magazine-card {
  border-color: var(--chch-border);
  box-shadow: var(--chch-shadow-card);
}

.board-v4-toolbar {
  border-color: var(--chch-border);
  background: linear-gradient(180deg, #ffffff 0%, var(--chch-surface-soft) 100%);
}

.board-v4-toolbar-sort select,
.board-v4-toolbar-sort .selbox {
  color: #698876;
  background: rgba(255, 255, 255, .92);
}

.board-v4-view-switch a img {
  filter: hue-rotate(45deg) saturate(0.55);
}

.board-v4-view-chip.is-active,
.board-v4-view-switch a.is-active,
.board-v4-view-switch a:hover {
  color: var(--chch-link);
}

.board-v4-table {
  border-color: var(--chch-border);
  box-shadow: var(--chch-shadow-card);
}

.board-v4-row td {
  color: #667f70;
}

.board-v4-col-date,
.board-v4-col-hit,
.board-v4-magazine-date,
.board-v4-magazine-stat,
.board-v4-book-date,
.board-v4-book-stat,
.board-v4-gallery-date {
  color: #8aa293;
}

.board-v4-subject,
.board-v4-book-title,
.board-v4-gallery-title,
.board-v4-magazine-title {
  color: #2f3a32;
}

.board-v4-magazine-excerpt,
.board-v4-book-file-meta {
  color: var(--chch-text-soft);
}

/* Cafe board final override */
.board-v4-toolbar,
.board-v4-search-form,
.board-v4-book-card,
.board-v4-gallery-card,
.board-v4-magazine-card,
.board-v4-table {
  border-color: var(--chch-border) !important;
  box-shadow: var(--chch-shadow-card) !important;
}

.board-v4-toolbar,
.board-v4-search-form {
  background: linear-gradient(180deg, #ffffff 0%, var(--chch-surface-soft) 100%) !important;
}

.board-v4-table,
.board-v4-book-card,
.board-v4-gallery-card,
.board-v4-magazine-card {
  background: #fbfdfb !important;
}

.board-v4-table thead th {
  background: var(--chch-stat-bg) !important;
  border-bottom-color: var(--chch-border) !important;
  color: #487159 !important;
}

.board-v4-row td,
.board-v4-book-source,
.board-v4-book-gallery-caption,
.board-v4-magazine-excerpt {
  color: var(--chch-text-soft) !important;
}

.board-v4-row td {
  border-bottom-color: var(--chch-border) !important;
  background: #ffffff !important;
}

.board-v4-row-notice td,
.board-v4-book-card-notice,
.board-v4-magazine-card-notice {
  background: var(--chch-surface-soft) !important;
}

.board-v4-toolbar-sort select,
.board-v4-toolbar-sort .selbox,
.board-v4-search-select select,
.board-v4-search-input input[type="search"],
.board-v4-book-accordion-toggle {
  border-color: var(--chch-button-border) !important;
  background: var(--chch-surface-soft) !important;
  color: #4e6857 !important;
}

.board-v4-view-switch a,
.board-v4-book-permalink,
.board-v4-book-file-meta,
.board-v4-category-pill {
  border-color: var(--chch-border-strong) !important;
  background: var(--chch-thumb-bg) !important;
  color: var(--chch-link) !important;
}

.board-v4-category-pill-notice {
  background: #dff0e5 !important;
  border-color: #c5e4cf !important;
  color: #25643f !important;
}

.board-v4-category-pill.board-v4-category-tone-pastel-1,
.board-v4-category-pill.board-v4-category-tone-random-1 {
  background: linear-gradient(135deg, #fff4ef 0%, #ffe8df 100%) !important;
  border-color: #f2d5ca !important;
  color: #b55c48 !important;
}

.board-v4-category-pill.board-v4-category-tone-pastel-2,
.board-v4-category-pill.board-v4-category-tone-random-2 {
  background: linear-gradient(135deg, #fffaf0 0%, #f9efd8 100%) !important;
  border-color: #eadab8 !important;
  color: #a06f1d !important;
}

.board-v4-category-pill.board-v4-category-tone-pastel-3,
.board-v4-category-pill.board-v4-category-tone-random-3 {
  background: linear-gradient(135deg, #f6fdf0 0%, #eaf7db 100%) !important;
  border-color: #d6e8bc !important;
  color: #5d8530 !important;
}

.board-v4-category-pill.board-v4-category-tone-pastel-4,
.board-v4-category-pill.board-v4-category-tone-random-4 {
  background: linear-gradient(135deg, #f2fdfb 0%, #e2f5ef 100%) !important;
  border-color: #d1e8df !important;
  color: #2f7b71 !important;
}

.board-v4-category-pill.board-v4-category-tone-pastel-5,
.board-v4-category-pill.board-v4-category-tone-random-5 {
  background: linear-gradient(135deg, #f3f7ff 0%, #e7effc 100%) !important;
  border-color: #d2ddf3 !important;
  color: #4d68af !important;
}

.board-v4-category-pill.board-v4-category-tone-pastel-6,
.board-v4-category-pill.board-v4-category-tone-random-6 {
  background: linear-gradient(135deg, #faf4ff 0%, #efe4f7 100%) !important;
  border-color: #e3d2ea !important;
  color: #83539d !important;
}

.board-v4-gallery-thumb,
.board-v4-magazine-thumb,
.board-v4-book-gallery-item {
  background: #f3faf5 !important;
  border-color: #e4f1e8 !important;
}

.board-v4-subject,
.board-v4-book-title,
.board-v4-gallery-title,
.board-v4-magazine-title {
  color: #2f3a32 !important;
}

.board-v4-col-date,
.board-v4-col-hit,
.board-v4-book-date,
.board-v4-book-stat,
.board-v4-magazine-date,
.board-v4-magazine-stat,
.board-v4-gallery-date {
  color: #8aa293 !important;
}

.board-v4-pagination .active a,
.board-v4-pagination .active span {
  background: #49a46c !important;
  border-color: #49a46c !important;
}

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: #49a46c !important;
  background: #183624 !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: #355b45 !important;
  background: #183624 !important;
  color: #cdeed7 !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: #16304c;
  color: #e3f2ff !important;
}

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-source {
  border-color: #29445f !important;
  background: linear-gradient(180deg, #132a43 0%, #11253c 100%) !important;
}

html[data-theme="dark"] .board-v4-post-trackback {
  border-top: 1px solid #223954;
  padding-top: 12px;
}

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-content {
  padding: 18px 20px;
  border: 1px solid #223954;
  border-radius: 20px;
  background: linear-gradient(180deg, rgba(19, 37, 58, .92) 0%, rgba(15, 29, 49, .96) 100%);
  font-size: 17px;
  line-height: 2;
}

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: #9fe3b5 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
}

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-post-action-btn,
html[data-theme="dark"] .board-v4-post-trackback-copy {
  border-color: #33516f !important;
  background: #15314d !important;
  color: #eef5ff !important;
}

html[data-theme="dark"] .board-v4-post-action-btn:hover,
html[data-theme="dark"] .board-v4-post-trackback-copy:hover {
  border-color: #49a46c !important;
  background: #1a3b5d !important;
  color: #ffffff !important;
}

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: #49a46c !important;
  background: #49a46c !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:var(--chch-surface-hover);
  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:#2c4a36; font-size:14px; font-weight:700; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.bv4-flist-meta { color:#8aaa94; font-size:12px; }
.bv4-flist-desc input[type="text"] {
  width:100%; min-height:38px; padding:7px 12px;
  border:1px solid #d6e8da; border-radius:10px;
  background:#fff; color:#355243; 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,#47a667 0%,#88c99b 100%);
  color:#fff !important; font-size:13px; font-weight:700;
  text-decoration:none; white-space:nowrap;
  box-shadow:0 4px 10px rgba(71,166,103,.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 #dbeaf8;
  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 #d8e8f8 !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 #d8e8f8 !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 #dbeaf8;
  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;
}
