.community-site #nav-placeholder, .community-site #footer-placeholder { display: none; }
.community-page {
  --board-canvas: #faf8f5;
  --board-ink: #27251e;
  --board-muted: #64635d;
  --board-accent: #016a71;
  --board-border: #d1d1cd;
  --board-selected: #efede8;
  width: 100%;
  min-height: 70vh;
  margin: 0 auto 48px;
  padding: 0 0 12px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--board-ink);
  font: inherit;
  line-height: 1.6;
  overflow: hidden;
}
.community-page > section { width: min(920px, calc(100% - 64px)); margin: 0 auto; padding: 28px 0 40px; }
.community-page *, .community-page *::before, .community-page *::after { box-sizing: border-box; }
.community-page a { color: inherit; }
.community-page a:hover { text-underline-offset: 3px; }
.community-page button, .community-page input, .community-page textarea { font: inherit; color: inherit; }
.community-page button, .community-page a, .community-page input, .community-page textarea { touch-action: manipulation; }
.community-page button:focus-visible, .community-page a:focus-visible,
.community-page input:focus-visible, .community-page textarea:focus-visible {
  outline: 2px solid var(--board-accent);
  outline-offset: 3px;
}
.community-live-status { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.community-live-status.community-error { position: static; width: auto; height: auto; margin: 0 0 12px; padding: 0; clip: auto; color: #8b342c; text-align: left; white-space: normal; }
.community-page-footer { display: flex; align-items: center; justify-content: space-between; gap: 14px; width: min(920px, calc(100% - 64px)); margin: 0 auto; padding: 16px 0 18px; border-top: 1px solid var(--board-border); color: var(--board-muted); font-size: 11px; }
.community-page-footer a { text-decoration: none; white-space: nowrap; }
.community-page-footer a:hover { color: var(--board-accent); text-decoration: underline; }
.community-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 22px; }
.community-heading h1, .community-write-heading h1 { margin: 0 0 5px; font-size: 29px; line-height: 1.35; font-weight: 700; letter-spacing: -0.04em; }
.community-heading p, .community-write-heading p { color: var(--board-muted); font-size: 14px; }
.community-toolbar { display: flex; align-items: center; justify-content: space-between; min-height: 34px; color: var(--board-muted); font-size: 12px; }
.community-count { white-space: nowrap; }
.community-button {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  min-height: 42px; border: 1px solid var(--board-accent); border-radius: 5px;
  padding: 8px 16px; background: var(--board-accent); color: #fff !important;
  font-size: 14px; font-weight: 600; text-decoration: none; cursor: pointer; white-space: nowrap;
}
.community-button:hover { background: #00575e; }
.community-button.secondary { background: transparent; border-color: var(--board-border); color: var(--board-ink) !important; }
.community-button.secondary:hover { background: var(--board-selected); }
.community-button.danger { background: #8b342c; border-color: #8b342c; color: #fff !important; }
.community-list { min-height: 48px; }
.community-table-wrapper { width: 100%; border-top: 2px solid var(--board-ink); }
.community-table { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: 13px; }
.community-table caption, .community-visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.community-table th, .community-table td { padding: 12px 9px; border-bottom: 1px solid var(--board-border); vertical-align: middle; }
.community-table th { color: var(--board-muted); font-size: 12px; font-weight: 500; text-align: center; }
.community-table .community-number { width: 58px; text-align: center; color: var(--board-muted); font-variant-numeric: tabular-nums; }
.community-table .community-nickname { width: 106px; text-align: center; color: var(--board-muted); }
.community-table .community-time { width: 116px; text-align: center; color: var(--board-muted); white-space: nowrap; }
.community-table th:nth-last-child(-n + 2) { width: 56px; }
.community-title-cell { text-align: left; }
.community-title-link { display: inline-block; max-width: 100%; color: var(--board-ink); text-decoration: none; overflow-wrap: anywhere; }
.community-title-link:hover { color: var(--board-accent); text-decoration: underline; }
.community-pinned-row { background: var(--board-selected); }
.community-pinned-row .community-number { color: var(--board-accent); font-size: 12px; font-weight: 700; }
.community-pinned-row .community-title-link { font-weight: 650; }
.community-mobile-meta { display: none; }
.community-empty { padding: 30px 0 !important; color: var(--board-muted); text-align: left; }
.community-error { padding: 20px 0; color: #8b342c; text-align: left; }
.community-pagination { display: flex; justify-content: center; align-items: center; gap: 5px; padding: 22px 0 8px; }
.community-pagination:empty { display: none; }
.community-page-button { min-width: 40px; min-height: 40px; padding: 6px 10px; border: 1px solid transparent; border-radius: 5px; background: transparent; color: var(--board-ink); font-size: 13px; cursor: pointer; }
.community-page-button:hover:not(:disabled) { background: var(--board-selected); }
.community-page-button.current { border-color: var(--board-border); color: var(--board-accent); font-weight: 700; }
.community-page-button:disabled:not(.current) { opacity: .45; cursor: default; }
.community-breadcrumb { display: flex; align-items: center; gap: 5px; margin-bottom: 20px; color: var(--board-muted); font-size: 12px; }
.community-breadcrumb a { color: var(--board-accent); text-decoration: none; }
.community-detail-card { margin: 0; }
.community-detail-heading { padding: 16px; border-top: 2px solid var(--board-ink); border-bottom: 1px solid var(--board-border); background: var(--board-selected); }
.community-detail-heading h1 { margin: 0 0 8px; font-size: 23px; line-height: 1.5; font-weight: 700; letter-spacing: -0.025em; overflow-wrap: anywhere; }
.community-detail-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; color: var(--board-muted); font-size: 12px; }
.community-detail-meta strong { color: var(--board-ink); font-weight: 600; }
.community-detail-body { padding: 24px 14px 28px; border-bottom: 1px solid var(--board-border); font-size: calc(15px * var(--reading-prose-scale, 1)); line-height: 1.9; white-space: pre-wrap; overflow-wrap: anywhere; }
.community-detail-body a, .community-comment-body a { color: var(--board-accent); text-decoration: underline; text-underline-offset: 2px; }
.community-actions { display: flex; justify-content: flex-end; gap: 4px; padding: 10px 8px 14px; }
.community-text-button { min-width: 40px; min-height: 38px; padding: 6px 8px; border: 0; background: transparent; color: var(--board-muted); font-size: 12px; cursor: pointer; }
.community-text-button:hover { color: var(--board-ink); text-decoration: underline; text-underline-offset: 3px; }
.community-comments { margin-top: 12px; }
.community-comments-heading { display: flex; align-items: baseline; gap: 8px; margin: 0 0 10px; padding-top: 12px; font-size: 17px; font-weight: 700; }
.community-comments-heading strong { color: var(--board-accent); }
.community-comment { padding: 12px 14px; border-bottom: 1px solid var(--board-border); }
.community-comment:first-of-type { background: var(--board-selected); }
.community-comment-meta { display: flex; align-items: center; gap: 12px; color: var(--board-muted); font-size: 12px; }
.community-comment-meta strong { color: var(--board-ink); font-weight: 600; }
.community-comment-body { margin: 8px 0 0; font-size: calc(14px * var(--reading-prose-scale, 1)); line-height: 1.75; white-space: pre-wrap; overflow-wrap: anywhere; }
.community-comment .community-actions { padding: 4px 0 0; }
.community-form, .community-write-form { border: 1px solid var(--board-border); border-radius: 5px; background: transparent; }
.community-form { padding: 18px; margin: 18px 0 0; }
.community-form h3 { margin: 0 0 14px; font-size: 15px; }
.community-form-grid, .community-author-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.community-field { display: grid; gap: 6px; min-width: 0; margin: 0 0 12px; color: var(--board-ink); font-size: 12px; font-weight: 600; }
.community-field input, .community-field textarea { width: 100%; min-width: 0; min-height: 42px; padding: 9px 11px; border: 1px solid var(--board-border); border-radius: 5px; background: transparent; color: var(--board-ink); font-size: 14px; font-weight: 400; }
.community-field textarea { min-height: 94px; resize: vertical; line-height: 1.65; }
.community-field input:focus, .community-field textarea:focus { border-color: var(--board-accent); outline: 0; }
.community-field small { color: var(--board-muted); font-size: 11px; font-weight: 400; }
.community-form-error { min-height: 1.5em; margin: 4px 0 7px; color: #8b342c; font-size: 12px; }
.community-form-controls { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; }
.community-form-note, .community-password-note, .community-verification-note { color: var(--board-muted); font-size: 11px; }
.community-turnstile { min-height: 65px; margin: 6px 0 10px; }
.community-turnstile[hidden], [hidden] { display: none !important; }
.community-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.community-detail-footer-actions { display: flex; justify-content: space-between; gap: 12px; margin: 20px 0 0; }
.community-write-heading { margin: 0 0 22px; }
.community-write-form { padding: 24px 0 0; border-width: 0; border-top: 2px solid var(--board-ink); border-radius: 0; }
.community-author-fields { gap: 16px; }
.community-password-note { margin: -3px 0 18px; padding-bottom: 18px; border-bottom: 1px solid var(--board-border); }
.community-horizontal-field { grid-template-columns: 106px minmax(0, 1fr); align-items: center; gap: 14px; padding: 14px 0; border-bottom: 1px solid var(--board-border); }
.community-horizontal-field > span { align-self: start; padding-top: 10px; }
.community-horizontal-field small { grid-column: 2; margin-top: -8px; }
.community-body-field { align-items: start; }
.community-body-field textarea { min-height: 220px; }
.community-verification-group { padding: 16px 0 18px 120px; border-bottom: 1px solid var(--board-border); }
.community-policy-note { margin-top: 22px; color: var(--board-muted); font-size: 12px; }
.community-policy-note a { color: var(--board-accent); text-underline-offset: 3px; }
.community-write-actions { display: flex; justify-content: flex-end; gap: 10px; padding: 18px 0; border-bottom: 1px solid var(--board-border); }
.community-page dialog { width: min(420px, calc(100vw - 32px)); max-width: none; max-height: calc(100dvh - 32px); margin: auto; padding: 0; border: 0; border-radius: 8px; background: var(--board-canvas); color: var(--board-ink); box-shadow: 0 18px 70px #1b1a1633; }
.community-page dialog::backdrop { background: #201e19; opacity: .28; }
.community-dialog-content { position: relative; padding: 28px; }
.community-dialog-close { position: absolute; top: 12px; right: 14px; width: 36px; height: 36px; border: 0; background: transparent; color: var(--board-muted); font-size: 24px; cursor: pointer; }
.community-dialog-content h2 { margin: 0 32px 10px 0; font-size: 22px; line-height: 1.4; }
.community-dialog-description { margin: 0 0 20px; color: var(--board-muted); font-size: 13px; line-height: 1.7; }
.community-dialog-actions { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.community-dialog-form .community-field { margin-bottom: 0; }
@media (max-width: 640px) {
  .community-page { width: 100%; margin: 0 auto 28px; padding-bottom: 8px; }
  .community-page > section { width: calc(100% - 32px); padding: 22px 0 30px; }
  .community-page-footer { width: calc(100% - 32px); padding: 14px 0 15px; font-size: 10px; }
  .community-heading { align-items: flex-start; gap: 10px; margin-bottom: 16px; }
  .community-heading h1, .community-write-heading h1 { font-size: 26px; }
  .community-heading p, .community-write-heading p { font-size: 13px; }
  .community-heading .community-button { min-height: 42px; padding-inline: 13px; }
  .community-toolbar { min-height: 32px; }
  .community-table { table-layout: auto; font-size: 14px; }
  .community-table thead { display: none; }
  .community-table tbody tr:not(.community-empty-row) { display: block; padding: 12px 2px; border-bottom: 1px solid var(--board-border); }
  .community-table tbody tr:not(.community-empty-row) td { display: none; }
  .community-table tbody tr:not(.community-empty-row) .community-title-cell { display: block; width: auto; padding: 0; border: 0; text-align: left; }
  .community-title-link { display: block; line-height: 1.55; }
  .community-mobile-meta { display: block; margin-top: 4px; color: var(--board-muted); font-size: 11px; line-height: 1.5; }
  .community-pinned-row { padding: 12px 10px !important; border: 1px solid var(--board-border); }
  .community-pinned-row .community-title-link { font-weight: 700; }
  .community-empty-row { display: table-row; }
  .community-pagination { gap: 2px; padding-top: 18px; }
  .community-page-button { min-width: 38px; min-height: 38px; }
  .community-breadcrumb { margin-bottom: 16px; }
  .community-detail-heading { padding: 14px 12px; }
  .community-detail-heading h1 { font-size: 20px; }
  .community-detail-meta { gap: 8px 12px; font-size: 11px; }
  .community-detail-body { padding: 20px 3px 24px; font-size: calc(15px * var(--reading-prose-scale, 1.05)); }
  .community-actions { padding-right: 0; }
  .community-comments-heading { margin-top: 6px; font-size: 16px; }
  .community-comment { padding: 11px 10px; }
  .community-form { padding: 15px; margin-top: 15px; }
  .community-form-grid, .community-author-fields { grid-template-columns: 1fr; gap: 0; }
  .community-form-controls { align-items: flex-end; }
  .community-form-note { max-width: 58%; }
  .community-detail-footer-actions { margin-top: 16px; }
  .community-write-heading { margin-bottom: 18px; }
  .community-write-form { padding-top: 18px; }
  .community-password-note { margin-top: 0; padding-bottom: 15px; }
  .community-horizontal-field { grid-template-columns: 1fr; gap: 6px; padding: 13px 0; }
  .community-horizontal-field > span { padding-top: 0; }
  .community-horizontal-field small { grid-column: 1; margin-top: 0; }
  .community-body-field textarea { min-height: 205px; }
  .community-verification-group { padding: 14px 0; }
  .community-policy-note { margin-top: 16px; }
  .community-write-actions { padding: 14px 0; }
  .community-dialog-content { padding: 24px 20px; }
  .community-dialog-content h2 { font-size: 20px; }
}

/* iOS Safari는 16px보다 작은 입력칸에 초점이 가면 화면을 확대한다(2026-10-13 형 휴대폰에서 좌우 잘림). */
@media (pointer: coarse) {
  .community-page input, .community-page textarea, .community-page select { font-size: 16px; }
}

/* 두 판 셸: 탐색은 왼쪽, 안내·상세·양식은 오른쪽에 둡니다. */
.community-page, .community-navigation {
  --board-canvas:var(--hn-canvas); --board-ink:var(--hn-ink);
  --board-muted:var(--hn-muted); --board-accent:var(--hn-accent);
  --board-border:var(--hn-line); --board-selected:var(--hn-selected);
  font-size:var(--hn-body); overflow-wrap:anywhere;
}
.community-page {min-height:0;margin:0;padding:0;overflow:visible}
.community-page > section {width:100%;margin:0;padding:0}
.community-page :is(p,small,label,span,a,time,input,textarea,button) {font-size:max(15px,1em)}
.community-page :is(.community-detail-body,.community-comment-body) {font-size:17px}
.community-page :is(.community-detail-meta,.community-comment-meta,.community-form-note,.community-policy-note,.community-field small,.community-verification-note) {font-size:15px}
.community-page .community-detail-heading {padding:0 0 16px;background:transparent;border-top:0}
.community-page .community-detail-body {padding:24px 0}
.community-page .community-write-form {padding-top:16px}
.community-page :is(input,textarea) {min-width:0;max-width:100%;font-size:17px}
.community-page .community-form-controls {flex-wrap:wrap}
.community-page .community-form-note {max-width:100%}
.community-page .community-turnstile {max-width:100%;overflow-x:auto}
.community-navigation {min-width:0}
.community-navigation > .community-button {width:100%;margin:16px 0}
.community-navigation .community-toolbar {font-size:15px;margin-bottom:8px}
.community-navigation .community-table {table-layout:fixed;font-size:17px}
.community-navigation .community-table thead {display:none}
.community-navigation .community-table tbody tr:not(.community-empty-row) {display:block;padding:12px 0;border-bottom:1px solid var(--hn-line)}
.community-navigation .community-table tbody tr:not(.community-empty-row) td {display:none}
.community-navigation .community-table tbody tr:not(.community-empty-row) .community-title-cell {display:block;width:auto;padding:0;border:0;text-align:left}
.community-navigation .community-title-link {display:block;line-height:1.55;text-decoration:none;color:var(--hn-ink)}
.community-navigation .community-title-link[aria-current] {color:var(--hn-accent-deep);font-weight:700;background:var(--hn-selected)}
.community-navigation .community-mobile-meta {display:block;margin-top:4px;font-size:15px;line-height:1.6;color:var(--hn-muted)}
.community-navigation .community-pinned-row {padding:12px 8px!important;border:1px solid var(--hn-line)}
.community-navigation .community-pagination {gap:0;flex-wrap:wrap;padding-top:16px}
.community-navigation .community-page-button {min-width:32px;padding:6px 8px;font-size:15px}
#hn-main:has(.community-page) {scroll-margin-top:64px}
@media(max-width:900px) {#hn-main:has(.community-page) {scroll-margin-top:112px}}
@media(max-width:1100px) {
 .community-page .community-horizontal-field {grid-template-columns:1fr;gap:6px}
 .community-page .community-horizontal-field small {grid-column:1}
 .community-page .community-verification-group {padding-left:0}
}
.community-navigation :is(.community-table,.community-table tbody) {display:block;width:100%}
.community-navigation .community-table tbody tr {width:100%}
/* 셸의 기본 단추보다 게시판 주 동작의 채움색을 우선합니다. */
.hn-page .community-button {background:var(--hn-accent);border-color:var(--hn-accent);color:var(--hn-paper)!important}
.hn-page .community-button:hover {background:var(--hn-accent-deep)}
.hn-page .community-button.secondary {background:transparent;border-color:var(--hn-line);color:var(--hn-ink)!important}
.hn-page .community-button.secondary:hover {background:var(--hn-selected)}
.hn-page .community-button.danger {background:#8b342c;border-color:#8b342c}
.community-search {display:grid;gap:8px;margin:8px 0 16px;font-size:15px}
.community-search input {width:100%;min-width:0;min-height:44px;box-sizing:border-box;padding:8px 12px;border:1px solid var(--hn-line);border-radius:4px;background:var(--hn-paper);color:var(--hn-ink);font:17px/24px var(--hn-sans)}
.community-search-status {font-size:15px;color:var(--hn-muted);margin:0 0 12px}
