/* 커뮤니티 홈에만 적용해 공용 메뉴와 다른 화면의 배치를 보호한다. */
.kw-cm-wrap { --kw-cm-blue:#1761c5; --kw-cm-ink:#142338; --kw-cm-muted:#59697b; --kw-cm-line:#e2e7ed; color:var(--kw-cm-ink); font-size:var(--kw-fs-body); line-height:var(--kw-lh-body); background:#fff; padding-bottom:4rem; }
.kw-cm-wrap * { box-sizing:border-box; }
.kw-cm-wrap a { text-decoration:none; }
.kw-cm-wrap :is(a,button,input):focus-visible { outline:3px solid #f2b94b; outline-offset:4px; }
.kw-cm-container { width:min(1180px,calc(100% - 3rem)); margin-inline:auto; }
.kw-cm-wrap h1,.kw-cm-wrap h2,.kw-cm-wrap h3,.kw-cm-wrap p { margin:0; word-break:keep-all; overflow-wrap:anywhere; }
.kw-cm-kicker { font-size:var(--kw-fs-note); font-weight:800; letter-spacing:.12em; }
.kw-cm-masthead { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding-block:1rem; }
.kw-cm-masthead strong { font-size:var(--kw-fs-ui); }
.kw-cm-masthead span { color:var(--kw-cm-muted); font-size:var(--kw-fs-note); }
.kw-cm-hero { position:relative; isolation:isolate; background:#122a43; color:#fff; }
.kw-cm-hero-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; z-index:-2; }
.kw-cm-hero::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(8,22,41,.94),rgba(8,22,41,.7) 48%,rgba(8,22,41,.15)); z-index:-1; }
.kw-cm-hero-inner { padding-block:4rem 6rem; }
.kw-cm-hero .kw-cm-kicker { color:#b9d8ff; }
.kw-cm-hero h1 { font-size:var(--kw-fs-title); line-height:1.35; font-weight:850; max-width:600px; margin-top:1rem; letter-spacing:-.04em; }
.kw-cm-hero-lead { max-width:560px; margin-top:1.2rem!important; color:#e0e8f2; font-size:var(--kw-fs-body); }
.kw-cm-search { display:flex; gap:.5rem; margin-top:1.8rem; max-width:650px; flex-wrap:wrap; }
.kw-cm-search input { min-width:0; flex:1 1 230px; border:1px solid #ccd6e3; border-radius:5px; padding:.8rem 1rem; background:#fff; color:var(--kw-cm-ink); }
.kw-cm-btn { display:inline-flex; min-height:48px; align-items:center; justify-content:center; gap:.5rem; padding:.75rem 1.15rem; border:1px solid transparent; border-radius:5px; background:var(--kw-cm-blue); color:#fff; font-size:var(--kw-fs-ui); font-weight:750; cursor:pointer; }
.kw-cm-btn:hover { background:#104b9c; color:#fff; }
.kw-cm-btn-light { background:#fff; color:var(--kw-cm-ink); border-color:var(--kw-cm-line); }
.kw-cm-btn-light:hover { background:#eaf2fc; color:var(--kw-cm-blue); }
.kw-cm-shortcuts { position:relative; display:grid; grid-template-columns:1fr 1fr; width:min(720px,100%); margin:-2.5rem 0 0 auto; box-shadow:0 12px 35px #10213a12; border:1px solid var(--kw-cm-line); border-radius:8px; background:#fff; overflow:hidden; }
.kw-cm-shortcut { display:flex; align-items:center; gap:1rem; color:var(--kw-cm-ink); padding:1.4rem; }
.kw-cm-shortcut+ .kw-cm-shortcut { border-left:1px solid var(--kw-cm-line); }
.kw-cm-shortcut:hover { background:#f2f6fc; color:var(--kw-cm-blue); }
.kw-cm-shortcut:focus-visible { outline:3px solid var(--kw-cm-blue); outline-offset:-3px; }
#kw-cm-questions,#kw-cm-faq { scroll-margin-top:110px; }
.kw-cm-shortcut-icon { flex-shrink:0; display:grid; place-items:center; width:48px; height:48px; border-radius:50%; background:#edf4ff; color:var(--kw-cm-blue); font-size:var(--kw-fs-card); }
.kw-cm-shortcut strong { display:block; font-size:var(--kw-fs-ui); }
.kw-cm-shortcut-icon:has(img) { background:transparent; }
.kw-cm-shortcut-icon img { display:block; width:48px; height:48px; object-fit:contain; }
.kw-cm-shortcut-icon svg { display:block; }
.kw-cm-shortcut small { display:block; color:var(--kw-cm-muted); font-size:var(--kw-fs-note); }
.kw-cm-section { padding-top:3.5rem; }
.kw-cm-heading { display:flex; align-items:center; gap:1rem; margin-bottom:.5rem; }
.kw-cm-heading::after { content:""; height:2px; flex:1; background:var(--kw-cm-blue); opacity:.75; }
.kw-cm-heading h2 { font-size:var(--kw-fs-section); font-weight:800; letter-spacing:-.035em; }
.kw-cm-more { display:inline-flex; align-items:center; min-height:44px; color:var(--kw-cm-blue); font-size:var(--kw-fs-ui); font-weight:700; }
.kw-cm-lead { color:var(--kw-cm-muted); font-size:var(--kw-fs-body); margin-bottom:1.5rem!important; }
.kw-cm-cols { display:grid; grid-template-columns:minmax(0,1fr) 290px; gap:2.5rem; margin-top:1.7rem; align-items:start; }
.kw-cm-tabs { display:flex; align-items:center; flex-wrap:wrap; gap:.3rem 1.3rem; border-bottom:1px solid var(--kw-cm-line); padding-bottom:.6rem; }
.kw-cm-tabs button { background:none; border:0; padding:0; cursor:pointer; font-family:inherit; color:var(--kw-cm-muted); font-size:var(--kw-fs-ui); min-height:44px; display:inline-flex; align-items:center; gap:.5rem; }
.kw-cm-tabs button[aria-selected="true"] { color:var(--kw-cm-blue); font-weight:800; }
.kw-cm-tabs span { color:var(--kw-cm-blue); background:#eef4ff; border-radius:4px; padding:0 .4rem; font-size:var(--kw-fs-note); }
.kw-cm-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:1rem; align-items:center; padding:1.25rem 0; border-bottom:1px solid var(--kw-cm-line); color:var(--kw-cm-ink); }
.kw-cm-row:hover h3 { color:var(--kw-cm-blue); }
.kw-cm-row h3 { font-size:var(--kw-fs-card); line-height:1.5; font-weight:750; margin:.35rem 0; }
.kw-cm-row-meta { color:var(--kw-cm-muted); font-size:var(--kw-fs-note); }
.kw-cm-tag { display:inline-block; color:#28548c; background:#edf3fb; font-size:var(--kw-fs-note); padding:.1rem .5rem; border-radius:3px; }
.kw-cm-count { min-width:56px; text-align:center; color:var(--kw-cm-muted); font-size:var(--kw-fs-note); line-height:1.5; }
.kw-cm-count strong { display:block; font-size:var(--kw-fs-card); color:var(--kw-cm-blue); }
.kw-cm-subhead { font-size:var(--kw-fs-card); font-weight:800; margin:1.8rem 0 .25rem!important; }
.kw-cm-aside-title { font-size:var(--kw-fs-card); font-weight:800; margin-bottom:1rem!important; }
.kw-cm-topics { display:grid; gap:.5rem; }
.kw-cm-topic { min-height:50px; padding:.7rem 1rem; display:flex; justify-content:space-between; gap:1rem; align-items:center; font-size:var(--kw-fs-ui); font-weight:750; color:var(--kw-cm-ink); background:#f1f5fa; border-left:3px solid #acc9eb; }
.kw-cm-topic:hover { background:#e4eefc; color:var(--kw-cm-blue); }
.kw-cm-support { margin-top:1.7rem; padding:1.5rem; background:#102d50; border-radius:6px; color:#fff; }
.kw-cm-support h3 { font-size:var(--kw-fs-card); }
.kw-cm-support p { font-size:var(--kw-fs-body); color:#d6e3f3; margin:.8rem 0 1.2rem; }
.kw-cm-empty { padding:1.5rem; background:#f5f7fa; border:1px dashed #cbd5e1; color:var(--kw-cm-muted); font-size:var(--kw-fs-body); line-height:var(--kw-lh-body); }
.kw-cm-stories-band { margin-top:3.5rem; padding:3rem 0; background:#f4f6f8; }
.kw-cm-stories { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.25rem; margin-top:1.5rem; }
.kw-cm-story { min-width:0; display:flex; flex-direction:column; background:#fff; border-radius:6px; overflow:hidden; color:var(--kw-cm-ink); border:1px solid var(--kw-cm-line); }
.kw-cm-story:hover { color:var(--kw-cm-blue); border-color:#9dbbe0; }
.kw-cm-story-thumb { position:relative; display:block; aspect-ratio:4/3; background:#dce5ef; overflow:hidden; }
.kw-cm-story-thumb img { display:block; width:100%; height:100%; object-fit:cover; }
.kw-cm-story-placeholder { height:100%; display:grid; place-items:center; color:#53657d; font-size:var(--kw-fs-card); }
.kw-cm-story-count { position:absolute; right:.6rem; top:.6rem; padding:.15rem .5rem; border-radius:3px; background:#102338d9; color:white; font-size:var(--kw-fs-note); }
.kw-cm-story-body { padding:1rem; }
.kw-cm-story-caption { display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; font-size:var(--kw-fs-body); line-height:1.6; font-weight:700; margin-top:.6rem; }
.kw-cm-story-author { display:block; margin-top:1rem; font-size:var(--kw-fs-note); color:var(--kw-cm-muted); }
/* 참고 이미지처럼 공지와 행사에 각각 독립된 두 칸 편집형 배치를 쓴다. */
.kw-cm-news-section { margin-top:2rem; }
.kw-cm-column-heading { display:flex; align-items:center; gap:1rem; margin-bottom:1.3rem; }
.kw-cm-column-heading h3 { font-size:var(--kw-fs-section); font-weight:800; flex-shrink:0; }
.kw-cm-column-heading::after { content:""; flex:1; height:2px; background:var(--kw-cm-blue); }
.kw-cm-column-heading> :is(a,span) { order:1; }
.kw-cm-news-grid,.kw-cm-events-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:1.5rem; align-items:stretch; }
.kw-cm-news-grid h4,.kw-cm-events-grid h4,.kw-cm-faq-teaser h4 { margin:.7rem 0; font-size:var(--kw-fs-card); line-height:1.5; font-weight:800; word-break:keep-all; overflow-wrap:anywhere; }
.kw-cm-notice-feature { display:block; border-radius:6px; overflow:hidden; color:var(--kw-cm-ink); background:#fff; }
.kw-cm-notice-overlay { position:relative; display:flex; align-items:flex-end; min-height:370px; background:#102d50; isolation:isolate; color:#fff; }
.kw-cm-notice-art { position:absolute; inset:0; z-index:-2; }
.kw-cm-notice-art img { width:100%; height:100%; object-fit:cover; }
.kw-cm-notice-overlay::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(0deg,#06172bf5,#06172b99 55%,#06172b11); }
.kw-cm-notice-feature-body { padding:1.6rem; }
.kw-cm-notice-feature-body p { font-size:var(--kw-fs-body); color:var(--kw-cm-muted); }
.kw-cm-feature-link { display:block; margin-top:1.3rem; color:var(--kw-cm-blue); font-size:var(--kw-fs-ui); font-weight:750; }
.kw-cm-editorial-date { display:block; margin-top:.4rem; font-size:var(--kw-fs-note); color:var(--kw-cm-muted); }
.kw-cm-notice-overlay :is(p,.kw-cm-feature-link,.kw-cm-editorial-date) { color:#edf4ff; }
.kw-cm-notice-overlay:hover { color:#fff; box-shadow:0 0 0 3px #9dbbe0; }
.kw-cm-notice-overlay .kw-cm-tag { background:var(--kw-cm-blue); color:#fff; }
.kw-cm-bulletin-list { display:flex; flex-direction:column; justify-content:flex-start; min-width:0; }
[data-home-filter-group] [hidden], [data-home-search] [hidden] { display:none!important; }
.kw-cm-news-grid.kw-cm-filter-list-only { grid-template-columns:minmax(0,1fr); }
.kw-cm-filter-list-only>.kw-cm-bulletin-list { grid-column:1; grid-row:1; }
#kw-cm-next { scroll-margin-top:110px; }
.kw-cm-bulletin-scroll { height:420px; overflow-y:auto; overflow-x:hidden; scrollbar-width:thin; scrollbar-color:#a9b8ca #f1f5f9; scrollbar-gutter:stable; padding-right:.6rem; }
.kw-cm-bulletin-scroll .kw-cm-bulletin { flex:0 0 auto; min-height:140px; padding:1rem 0; box-sizing:border-box; align-items:center; }
.kw-cm-bulletin-scroll:focus-visible { outline:2px solid var(--kw-cm-blue); outline-offset:4px; }
@media(max-width:760px) { .kw-cm-bulletin-scroll { height:390px; } .kw-cm-bulletin-scroll .kw-cm-bulletin { min-height:130px; } }
.kw-cm-bulletin { display:grid; grid-template-columns:110px minmax(0,1fr); gap:1rem; padding:1.15rem 0; border-bottom:1px solid var(--kw-cm-line); color:var(--kw-cm-ink); }
.kw-cm-bulletin:first-child { padding-top:0; }
.kw-cm-bulletin:last-child { border-bottom:0; padding-bottom:0; }
.kw-cm-bulletin[href]:hover { color:var(--kw-cm-blue); }
.kw-cm-bulletin-thumb { width:110px; height:90px; object-fit:cover; border-radius:5px; }
.kw-cm-bulletin strong { font-size:var(--kw-fs-body); line-height:1.55; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; overflow-wrap:anywhere; margin-top:.4rem; }
.kw-cm-bulletin-copy { align-self:start; }
.kw-cm-bulletin-copy strong { margin:0 0 .5rem; }
.kw-cm-notice-waiting { display:flex; flex-direction:column; justify-content:center; align-items:flex-start; height:100%; padding:2rem; background:#f5f7fa; border-radius:6px; }
.kw-cm-notice-waiting .kw-cm-kicker { color:var(--kw-cm-blue); }
.kw-cm-notice-waiting p { color:var(--kw-cm-muted); font-size:var(--kw-fs-body); }
.kw-cm-events-band { margin-top:3rem; padding:2.5rem 0; background:#f4f6f8; }
.kw-cm-event-feature>img { width:100%; height:260px; object-fit:cover; display:block; }
.kw-cm-event-status { display:block; margin-top:1.2rem; font-size:var(--kw-fs-note); color:var(--kw-cm-muted); }
.kw-cm-event-details { display:flex; flex-wrap:wrap; gap:.5rem .8rem; align-items:center; margin-top:1rem; font-size:var(--kw-fs-note); }
.kw-cm-event-details .kw-cm-btn { width:100%; margin-top:.4rem; }
.kw-cm-event-stack { display:grid; grid-template-rows:1fr 1fr; gap:1.2rem; }
.kw-cm-events-single { grid-template-columns:1fr; }
.kw-cm-event-stack:has(>article:only-child) { grid-template-rows:1fr; }
.kw-cm-event-card { position:relative; display:flex; align-items:flex-end; min-height:230px; border-radius:6px; overflow:hidden; color:#fff; background:#102d50; isolation:isolate; }
.kw-cm-event-card>img { position:absolute; inset:0; height:100%; width:100%; object-fit:cover; z-index:-2; }
.kw-cm-event-card::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(0deg,rgba(5,17,32,.97),rgba(5,17,32,.75) 55%,rgba(5,17,32,.2)); }
.kw-cm-event-copy { width:100%; padding:1.4rem; }
.kw-cm-event-meta { display:flex; align-items:center; flex-wrap:wrap; gap:.6rem; font-size:var(--kw-fs-note); }
.kw-cm-event-label { display:inline-block; padding:.15rem .55rem; border-radius:3px; background:var(--kw-cm-blue); font-weight:750; }
.kw-cm-event-copy p { font-size:var(--kw-fs-body); line-height:1.65; color:#e5edf7; }
.kw-cm-faq-teaser { background:#edf3fb; border-left:3px solid #acc9eb; padding:1.3rem; margin-top:1.2rem; }
.kw-cm-faq-teaser .kw-cm-tag { background:#fff; }
.kw-cm-faq-teaser p { font-size:var(--kw-fs-body); color:var(--kw-cm-muted); }
@media(max-width:760px) { .kw-cm-news-grid,.kw-cm-events-grid { grid-template-columns:1fr; } .kw-cm-notice-overlay { min-height:330px; } .kw-cm-notice-waiting { min-height:190px; } }
@media(max-width:900px) { .kw-cm-cols { grid-template-columns:minmax(0,1fr) 245px; gap:1.5rem; } .kw-cm-stories { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:680px) {
  .kw-cm-container { width:calc(100% - 2rem); }
  .kw-cm-masthead { padding-block:.75rem; } .kw-cm-masthead span { display:none; }
  .kw-cm-hero-inner { padding-block:2.5rem 4.5rem; }
  .kw-cm-hero::before { background:rgba(8,22,41,.8); }
  .kw-cm-search input { flex-basis:100%; } .kw-cm-search .kw-cm-btn { flex:1; }
  .kw-cm-shortcuts { grid-template-columns:1fr; margin-top:-2rem; }
  .kw-cm-shortcut { padding:1rem; } .kw-cm-shortcut+ .kw-cm-shortcut { border-left:0; border-top:1px solid var(--kw-cm-line); }
  .kw-cm-cols { grid-template-columns:1fr; }
  .kw-cm-section { padding-top:2.5rem; }
  .kw-cm-topics { grid-template-columns:1fr 1fr; }
  .kw-cm-stories-band { padding-block:2.5rem; }
  .kw-cm-heading { flex-wrap:wrap; gap:.7rem; } .kw-cm-heading::after { min-width:1rem; }
  .kw-cm-stories { gap:.75rem; } .kw-cm-story-body { padding:.8rem; }
  .kw-cm-column-heading { flex-wrap:wrap; }
  .kw-cm-event-card { min-height:260px; }
}
@media(max-width:380px) { .kw-cm-stories { grid-template-columns:1fr; } }

.kw-cm-tabs button:focus-visible { outline:3px solid var(--kw-cm-blue); outline-offset:4px; }
.kw-cm-wrap [role="tabpanel"][hidden] { display:none; }

.kw-cm-question { padding:1.4rem 0; border-bottom:1px solid var(--kw-cm-line); }
.kw-cm-question h3 { font-size:var(--kw-fs-card); font-weight:800; line-height:1.5; margin:.6rem 0; overflow-wrap:anywhere; }
.kw-cm-question-excerpt { color:var(--kw-cm-muted); font-size:var(--kw-fs-body); line-height:var(--kw-lh-body); overflow-wrap:anywhere; }
.kw-cm-question-actions { display:flex; align-items:center; gap:.6rem; flex-wrap:wrap; margin-top:1rem; }
.kw-cm-question button { min-height:44px; padding:.55rem .85rem; border:1px solid var(--kw-cm-line); border-radius:5px; background:#fff; color:var(--kw-cm-blue); font:inherit; font-size:var(--kw-fs-ui); cursor:pointer; }
.kw-cm-question button:focus-visible,.kw-cm-question textarea:focus-visible { outline:3px solid var(--kw-cm-blue); outline-offset:3px; }
.kw-cm-question [data-write-answer],.kw-cm-question button[type="submit"] { background:#102d50; color:#fff; }
.kw-cm-question [data-write-answer] { margin-left:auto; }
.kw-cm-question-views { color:var(--kw-cm-muted); font-size:var(--kw-fs-ui); }
.kw-cm-inline { margin-top:1rem; padding:1rem; background:#f7faff; border:1px solid var(--kw-cm-line); border-radius:8px; }
.kw-cm-inline [hidden] { display:none!important; }
.kw-cm-inline-body,.kw-cm-inline-answer p { white-space:pre-wrap; overflow-wrap:anywhere; line-height:var(--kw-lh-body); }
.kw-cm-inline-answer { border-top:1px solid var(--kw-cm-line); padding:1rem 0; }
.kw-cm-inline-answer span { display:inline-block; margin-left:.5rem; font-size:var(--kw-fs-note); color:#1555a3; }
.kw-cm-inline form { margin:1rem 0; }
.kw-cm-inline label { display:block; font-weight:700; }
.kw-cm-inline textarea { display:block; width:100%; margin:.5rem 0; padding:.8rem; border:1px solid var(--kw-cm-line); border-radius:5px; font:inherit; font-size:16px; resize:vertical; }
.kw-cm-question button:disabled { opacity:.6; cursor:wait; }

/* 카드 전체를 클릭하거나 키보드로 열 수 있게 한다. */
.kw-cm-linked-event { position:relative; }
.kw-cm-event-open::after { content:""; position:absolute; inset:0; z-index:1; }
.kw-cm-linked-event:focus-within { outline:3px solid #1677ff; outline-offset:4px; }
.kw-cm-bulletin:focus-visible { outline:3px solid #1677ff; outline-offset:4px; }
.kw-cm-news-grid>*,.kw-cm-events-grid>*,.kw-cm-cols>* { min-width:0; }
.kw-cm-column-heading h3 { flex-shrink:1; overflow-wrap:anywhere; }
@media(max-width:480px) {
 .kw-cm-bulletin { grid-template-columns:80px minmax(0,1fr); gap:.75rem; }
 .kw-cm-bulletin-thumb { width:80px; height:75px; }
 .kw-cm-notice-feature-body,.kw-cm-event-copy { padding:1rem; }
 .kw-cm-column-heading { gap:.6rem; }
 .kw-cm-column-heading .kw-cm-more { min-height:44px; display:inline-flex; align-items:center; }
}

.kw-cm-events-notice-layout { background:#fff; }
@media(min-width:761px) {
  .kw-cm-events-notice-layout .kw-cm-news-grid { grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); }
  .kw-cm-events-notice-layout .kw-cm-news-grid>.kw-cm-notice-feature { grid-column:2; grid-row:1; }
  .kw-cm-events-notice-layout .kw-cm-news-grid>.kw-cm-bulletin-list { grid-column:1; grid-row:1; }
}
.kw-cm-column-heading.kw-cm-heading-right { flex-direction:row-reverse; flex-wrap:nowrap; }
.kw-cm-heading-right h3 { text-align:right; margin:0; }
.kw-cm-heading-right .kw-cm-more { flex-shrink:0; }
.kw-cm-heading-right::after { min-width:1rem; }

.kw-cm-hero-video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; opacity:0; pointer-events:none; }
.kw-cm-hero-video.is-playing { opacity:1; }
.kw-cm-video-toggle { float:right; position:relative; min-height:44px; padding:.6rem 1rem; background:#102d50; color:white; border:1px solid #fff; border-radius:6px; font:inherit; cursor:pointer; margin:0 0 1rem 1rem; }
.kw-cm-video-toggle:focus-visible { outline:3px solid #fff; outline-offset:3px; }
.kw-cm-question-scroll { max-height:min(68vh,680px); overflow-y:auto; overflow-x:hidden; scrollbar-gutter:stable; padding:0 1.25rem 1rem; scrollbar-width:thin; scrollbar-color:#a9b8ca #f1f5f9; }
.kw-cm-question-scroll:focus-visible { outline:2px solid var(--kw-cm-blue); outline-offset:3px; }
.kw-cm-question-scroll .kw-cm-load-more { display:block; margin:1rem auto; min-height:44px; }
.kw-cm-question-scroll .kw-cm-load-more[hidden] { display:none; }
.kw-cm-question-scroll [data-feed-status] { font-size:var(--kw-fs-note); color:var(--kw-cm-muted); }
/* 질문 목록과 주제 탐색을 묶고, 도움말은 별도 행에서 균형을 맞춘다. */
.kw-cm-question-layout { gap:1.5rem; }
.kw-cm-question-panel { border:1px solid var(--kw-cm-line); border-radius:12px; overflow:hidden; background:#fff; }
.kw-cm-question-panel .kw-cm-tabs { padding:.65rem 1.25rem; margin:0; background:#f8fafc; gap:.3rem 1.1rem; }
.kw-cm-question-panel .kw-cm-tabs button[aria-selected="true"] { box-shadow:inset 0 -2px var(--kw-cm-blue); }
.kw-cm-question-panel .kw-cm-question h3 a { color:var(--kw-cm-ink); }
.kw-cm-question-panel .kw-cm-question h3 a:hover { color:var(--kw-cm-blue); }
.kw-cm-question-panel .kw-cm-question-excerpt { margin:.6rem 0 1rem; line-height:var(--kw-lh-body); }
.kw-cm-question-panel .kw-cm-question:last-child { border-bottom:0; }
.kw-cm-question-panel [data-feed-status]:empty { display:none; }
.kw-cm-question-sidebar { padding:1.25rem; border:1px solid var(--kw-cm-line); border-radius:12px; background:#f8fafc; }
.kw-cm-question-sidebar .kw-cm-aside-title { line-height:1.4; }
.kw-cm-question-sidebar .kw-cm-topic { border-left:0; border-radius:6px; background:#fff; min-height:46px; padding:.65rem .8rem; }
.kw-cm-question-sidebar .kw-cm-topic:hover { background:#e4eefc; }
.kw-cm-question-sidebar .kw-cm-topic-inactive,.kw-cm-question-sidebar .kw-cm-topic-inactive:hover { cursor:default; background:#fff; color:var(--kw-cm-ink); transform:none; }
.kw-cm-question-help { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:1.5rem; margin-top:1.5rem; }
.kw-cm-question-help :is(.kw-cm-support,.kw-cm-faq-teaser) { margin:0; padding:1.5rem; border-radius:12px; }
.kw-cm-question-help :is(h3,h4) { margin:.4rem 0 .6rem; font-size:var(--kw-fs-card); line-height:1.45; }
.kw-cm-question-help p { margin:.5rem 0 1rem; line-height:1.65; }
.kw-cm-question-help .kw-cm-faq-teaser p { margin-bottom:0; }
@media(max-width:900px) { .kw-cm-question-layout { grid-template-columns:minmax(0,1fr) 230px; gap:1rem; } }
@media(max-width:680px) {
  .kw-cm-question-layout,.kw-cm-question-help { grid-template-columns:1fr; gap:1rem; }
  .kw-cm-question-scroll { max-height:65vh; padding:0 .9rem .75rem; }
  .kw-cm-question-panel .kw-cm-tabs { padding:.5rem .9rem; gap:.25rem .85rem; }
  .kw-cm-question-sidebar { padding:1rem; }
  .kw-cm-question-help :is(.kw-cm-support,.kw-cm-faq-teaser) { padding:1.2rem; }
}
.kw-cm-ask-bar { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:.75rem; padding:1rem 1.25rem; border-bottom:1px solid var(--kw-cm-line); font-size:var(--kw-fs-ui); }
.kw-cm-ask { padding:1.25rem; background:#f8fafc; border-bottom:1px solid var(--kw-cm-line); scroll-margin-top:100px; }
.kw-cm-ask[hidden] { display:none; }
.kw-cm-ask label { display:block; margin:.8rem 0 .35rem; font-weight:700; }
.kw-cm-ask :is(input,select,textarea) { width:100%; border:1px solid #bccbdd; border-radius:6px; padding:.75rem; font:inherit; font-size:16px; background:#fff; }
.kw-cm-ask textarea { resize:vertical; }
.kw-cm-ask p { font-size:var(--kw-fs-note); color:var(--kw-cm-muted); margin:.75rem 0; }
.kw-cm-ask-close { min-height:44px; margin-top:.75rem; background:transparent; color:var(--kw-cm-ink); border:1px solid #bccbdd; border-radius:6px; padding:.5rem 1rem; }
.kw-cm-ask-status:not(:empty) { padding:1rem 1.25rem; margin:0; color:#1555a3; }
.kw-cm-ask-status:empty { display:none; }
.kw-cm-ask :is(input,select,textarea,button):focus-visible { outline:3px solid var(--kw-cm-blue); outline-offset:2px; }
.kw-cm-question-help { grid-template-columns:minmax(0,1fr); }
.kw-cm-question-help .kw-cm-support { text-align:center; padding:2rem 1.5rem; }
.kw-cm-support-icon { display:block; width:80px; height:80px; object-fit:contain; margin:0 auto 1rem; }
.kw-cm-question-help .kw-cm-support p { max-width:44rem; margin:.75rem auto 1.25rem; }
.kw-cm-faq-band { padding:3.5rem 0; background:#f4f6f9; }
.kw-cm-faq { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); border:1px solid var(--kw-cm-line); border-radius:14px; overflow:hidden; background:#fff; }
.kw-cm-faq-questions,.kw-cm-faq-answers { padding:clamp(1.25rem,3vw,3rem); min-width:0; }
.kw-cm-faq-questions h2 { margin:.65rem 0; font-size:var(--kw-fs-section); line-height:1.3; }
.kw-cm-faq-icon { display:block; width:88px; height:88px; object-fit:contain; margin:0 auto 1rem; }
.kw-cm-faq-questions .kw-cm-lead { margin-bottom:1.5rem; }
.kw-cm-faq-question { display:flex; width:100%; align-items:center; justify-content:space-between; gap:1rem; min-height:56px; margin-top:.6rem; padding:1rem 1.1rem; border:1px solid transparent; border-radius:7px; background:#f0f4f9; color:var(--kw-cm-ink); text-align:left; font:inherit; font-size:var(--kw-fs-body); line-height:1.5; cursor:pointer; }
.kw-cm-faq-question:hover { border-color:#a9bfdc; }
.kw-cm-faq-question[aria-selected="true"] { background:#102d50; color:#fff; font-weight:700; }
.kw-cm-faq-answers { background:#102d50; color:#fff; }
.kw-cm-faq-label { margin:0 0 2rem; padding-bottom:1.25rem; border-bottom:1px solid #56718e; color:#d3e4fa; font-size:var(--kw-fs-ui); }
.kw-cm-faq-answers h3 { font-size:var(--kw-fs-card); line-height:1.5; color:#fff; margin:0 0 1.25rem; }
.kw-cm-faq-answers [role="tabpanel"] p { white-space:pre-line; overflow-wrap:anywhere; line-height:var(--kw-lh-body); color:#e2ebf6; margin:0; }
.kw-cm-faq [hidden] { display:none; }
.kw-cm-faq-question:focus-visible { outline:3px solid var(--kw-cm-blue); outline-offset:3px; }
.kw-cm-faq-answers [role="tabpanel"]:focus-visible { outline:2px solid #fff; outline-offset:8px; }
@media(max-width:760px) {
 .kw-cm-faq-band { padding:2rem 0; }
 .kw-cm-faq { grid-template-columns:minmax(0,1fr); }
 .kw-cm-faq-answers { min-height:260px; }
}
.kw-cm-search-page h1 { margin:1.25rem 0; font-size:var(--kw-fs-section); }
.kw-cm-search-page .kw-cm-search { margin:1.5rem 0; }
.kw-cm-search-results { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2rem; margin:2rem 0; }
.kw-cm-search-results h2 { font-size:var(--kw-fs-card); }
.kw-cm-search-result { padding:1.25rem 0; border-bottom:1px solid var(--kw-cm-line); overflow-wrap:anywhere; }
.kw-cm-search-result h3 { font-size:var(--kw-fs-body); line-height:1.6; }
.kw-cm-search-result p { color:var(--kw-cm-muted); line-height:var(--kw-lh-body); }
.kw-cm-search-pagination { display:flex; gap:1rem; }
@media(max-width:760px) { .kw-cm-search-results { grid-template-columns:1fr; } }

/* 공지 흐름 띠 — 공지 제목이 오른쪽에서 왼쪽으로 흐른다 (멈춤: 마우스·초점, 동작 줄이기 설정이면 흐르지 않음) */
.kw-cm-ticker { display:flex; align-items:stretch; min-height:48px; margin:.75rem 0 1.25rem; border:1px solid var(--kw-cm-line); border-radius:6px; background:#fff; overflow:hidden; }
.kw-cm-ticker-label { flex-shrink:0; display:flex; align-items:center; padding:0 1rem; background:#d92d20; color:#fff; font-size:var(--kw-fs-ui); font-weight:800; white-space:nowrap; }
.kw-cm-ticker-viewport { flex:1; min-width:0; display:flex; align-items:center; overflow:hidden; -webkit-mask-image:linear-gradient(90deg,transparent,#000 1.5rem,#000 calc(100% - 1.5rem),transparent); mask-image:linear-gradient(90deg,transparent,#000 1.5rem,#000 calc(100% - 1.5rem),transparent); }
.kw-cm-ticker-track { display:flex; width:max-content; animation:kw-cm-ticker var(--kw-ticker-dur,40s) linear infinite; }
.kw-cm-ticker:hover .kw-cm-ticker-track,.kw-cm-ticker:focus-within .kw-cm-ticker-track,.kw-cm-ticker.is-paused .kw-cm-ticker-track { animation-play-state:paused; }
.kw-cm-ticker-list { display:flex; margin:0; padding:0; list-style:none; }
.kw-cm-ticker-list li { display:flex; align-items:center; padding-left:1.5rem; white-space:nowrap; }
.kw-cm-ticker-list li::before { content:""; flex-shrink:0; width:7px; height:7px; margin-right:.6rem; border-radius:50%; background:#d92d20; }
.kw-cm-ticker-list a { color:var(--kw-cm-ink); font-size:var(--kw-fs-body); font-weight:600; }
.kw-cm-ticker-list a:hover { color:var(--kw-cm-blue); text-decoration:underline; }
/* 오른쪽 끝마감 — 사이트 바닥글과 같은 남색 */
.kw-cm-ticker-end { flex-shrink:0; width:48px; background:#0b1a33; }
@keyframes kw-cm-ticker { from { transform:translateX(0); } to { transform:translateX(-50%); } }
@media(max-width:680px) { .kw-cm-ticker-label { padding:0 .75rem; } }
@media (prefers-reduced-motion: reduce) {
  .kw-cm-ticker-track { animation:none; }
  .kw-cm-ticker-viewport { overflow-x:auto; -webkit-mask-image:none; mask-image:none; }
  .kw-cm-ticker-list[aria-hidden="true"] { display:none; }
}

/* 채택하기 · 삭제 — 글쓴이에게만 보인다. 크기는 다른 단추와 같다 (16px, 높이 44px) */
.kw-cm-answer-tools { display:flex; flex-wrap:wrap; gap:.5rem; margin-top:.6rem; }
.kw-cm-question .kw-cm-accept { background:var(--kw-cm-blue); border-color:var(--kw-cm-blue); color:#fff; font-weight:700; }
.kw-cm-question .kw-cm-accept:hover { background:#0f4fa8; }
/* ⋮ 더보기 메뉴 — 내 질문·내 답변의 삭제는 여기에 (바로 보이는 빨간 단추 대신) */
.kw-cm-question { position:relative; }
.kw-cm-question:has([data-more-toggle][aria-expanded="true"]) { z-index:5; }
.kw-cm-more-wrap { position:relative; }
.kw-cm-question-more { position:absolute; top:.65rem; right:.65rem; z-index:3; }
.kw-cm-question:has(> .kw-cm-question-more) > .kw-cm-tag { margin-right:3rem; }
.kw-cm-question:has(> .kw-cm-question-more) > h3 { padding-right:2.5rem; }
.kw-cm-inline-answer.has-more { position:relative; padding-right:3rem; }
.kw-cm-inline-answer > .kw-cm-more-wrap { position:absolute; top:.6rem; right:0; }
.kw-cm-question .kw-cm-more-btn { display:grid; place-items:center; width:40px; height:40px; min-height:40px; padding:0; border:1px solid transparent; border-radius:50%; background:transparent; color:var(--kw-cm-muted); }
.kw-cm-question .kw-cm-more-btn:hover { background:#eef2f7; color:var(--kw-cm-ink); }
.kw-cm-question .kw-cm-more-btn[aria-expanded="true"] { background:#e4ecf7; color:var(--kw-cm-ink); border-color:#d3dfef; }
.kw-cm-more-menu { position:absolute; top:calc(100% + 6px); right:0; min-width:170px; padding:.35rem; background:#fff; border:1px solid #dde5ef; border-radius:10px; box-shadow:0 12px 30px rgba(16,33,58,.16); z-index:30; }
.kw-cm-question .kw-cm-more-item { display:flex; align-items:center; gap:.6rem; width:100%; min-height:42px; padding:.5rem .75rem; border:0; border-radius:7px; background:none; color:var(--kw-cm-ink); text-align:left; font-size:var(--kw-fs-ui); }
.kw-cm-question .kw-cm-more-item b { font-weight:600; }
.kw-cm-question .kw-cm-more-item:hover,.kw-cm-question .kw-cm-more-item:focus-visible { background:#f3f6fa; outline:none; }
.kw-cm-question .kw-cm-more-danger { color:#b42318; }
.kw-cm-question .kw-cm-more-danger:hover,.kw-cm-question .kw-cm-more-danger:focus-visible { background:#fef3f2; }
.kw-cm-accept-note { margin-top:.75rem; }
.kw-cm-question-removed { margin:0; color:var(--kw-cm-muted); font-size:var(--kw-fs-body); }

/* kw-cm-qa-raised — 질문 목록 칸을 다른 칸과 구분되게: 떠 있는 패널, 탭은 알약 모양, 질문마다 흰 카드 */
.kw-cm-question-panel { border-color:#cfe0f7; border-top:4px solid var(--kw-cm-blue); box-shadow:0 1px 2px rgba(16,33,58,.06),0 14px 32px rgba(11,112,245,.12); }
.kw-cm-question-panel .kw-cm-ask-status:not(:empty) { background:#eef5ff; border-bottom:1px solid #d6e4f7; font-weight:600; }
.kw-cm-question-panel .kw-cm-tabs { background:linear-gradient(180deg,#eef5ff,#e4eefc); border-bottom:1px solid #d3e2f6; padding:.6rem 1rem; gap:.4rem; }
.kw-cm-question-panel .kw-cm-tabs button { padding:0 .9rem; border-radius:999px; color:#3b4f68; transition:background-color .15s,box-shadow .15s; }
.kw-cm-question-panel .kw-cm-tabs button:hover { background:rgba(255,255,255,.6); }
.kw-cm-question-panel .kw-cm-tabs button[aria-selected="true"] { background:#fff; color:var(--kw-cm-blue); box-shadow:0 1px 2px rgba(16,33,58,.08),0 4px 10px rgba(11,112,245,.16); }
.kw-cm-question-panel .kw-cm-tabs button[aria-selected="true"] span { background:var(--kw-cm-blue); color:#fff; }
.kw-cm-question-panel .kw-cm-question-scroll { background:#f3f7fd; padding:1rem 1.25rem 1.25rem; box-shadow:inset 0 6px 8px -6px rgba(16,33,58,.12); }
.kw-cm-question-panel .kw-cm-question,.kw-cm-question-panel .kw-cm-question:last-child { margin:0 0 .9rem; padding:1.1rem 1.25rem; background:#fff; border:1px solid #dde7f3; border-radius:10px; box-shadow:0 1px 0 rgba(16,33,58,.04),0 4px 12px rgba(16,33,58,.07); transition:transform .15s,box-shadow .15s; }
.kw-cm-question-panel .kw-cm-question:hover { transform:translateY(-2px); box-shadow:0 2px 4px rgba(16,33,58,.06),0 12px 26px rgba(11,112,245,.14); }
.kw-cm-question-panel .kw-cm-question:has(.kw-cm-question-removed) { background:#f8fafc; box-shadow:none; }
.kw-cm-question-panel .kw-cm-empty { border-radius:10px; background:#fff; }
@media(max-width:680px) { .kw-cm-question-panel .kw-cm-question-scroll { padding:.75rem .75rem 1rem; } .kw-cm-question-panel .kw-cm-question { padding:1rem; } }
@media (prefers-reduced-motion: reduce) { .kw-cm-question-panel .kw-cm-question,.kw-cm-question-panel .kw-cm-tabs button { transition:none; } .kw-cm-question-panel .kw-cm-question:hover { transform:none; } }

/* 상단 배경 영상이 있으면 사진은 숨겨 두고 남색 바탕에서 영상이 서서히 나타난다.
   영상을 틀 수 없을 때(동작 줄이기·데이터 절약·오류·10초 안에 시작 못 함)만 사진을 보인다 — kw-community-hero-video.js */
.kw-cm-hero--video .kw-cm-hero-image { opacity:0; transition:opacity .4s ease; }
.kw-cm-hero--video.is-fallback .kw-cm-hero-image { opacity:1; }
.kw-cm-hero-video { transition:opacity .6s ease; }
@media (prefers-reduced-motion: reduce) { .kw-cm-hero--video .kw-cm-hero-image,.kw-cm-hero-video { transition:none; } }

/* 답변 칸 안내 문구(등록했습니다 · 불러오는 중 등) — 비어 있으면 숨기고, 있으면 작은 알림처럼 */
.kw-cm-inline [data-inline-status]:empty { display:none; }
.kw-cm-inline [data-inline-status] { margin:0 0 .75rem; padding:.55rem .8rem; border-radius:6px; background:#eef5ff; border:1px solid #d6e4f7; color:#1555a3; font-size:var(--kw-fs-note); font-weight:600; }
.kw-cm-inline [data-inline-status]:focus { outline:none; }

/* kw-cm-btn-hover-states — 질문 카드 단추가 마우스에 반응하게 (눌러도 되는 단추라는 느낌) */
.kw-cm-question button:not(.kw-cm-more-btn):not(.kw-cm-more-item) { transition:background-color .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease; }
.kw-cm-question [data-write-answer]:hover,.kw-cm-question button[type="submit"]:hover { background:var(--kw-cm-blue); border-color:var(--kw-cm-blue); color:#fff; box-shadow:0 6px 14px rgba(23,97,197,.28); transform:translateY(-1px); }
.kw-cm-question [data-write-answer]:active,.kw-cm-question button[type="submit"]:active { background:#104b9c; box-shadow:0 2px 6px rgba(23,97,197,.25); transform:translateY(0); }
.kw-cm-question [data-show-answers]:hover,.kw-cm-question [data-close-answers]:hover,.kw-cm-answer-tools button:not(.kw-cm-accept):hover { background:#eef5ff; border-color:#b9d2f3; color:#104b9c; }
.kw-cm-question [data-show-answers]:active,.kw-cm-question [data-close-answers]:active,.kw-cm-answer-tools button:not(.kw-cm-accept):active { background:#e1edfd; }
.kw-cm-question .kw-cm-accept:hover { box-shadow:0 6px 14px rgba(23,97,197,.28); transform:translateY(-1px); }
.kw-cm-question button:disabled:hover { transform:none; box-shadow:none; }
@media (prefers-reduced-motion: reduce) { .kw-cm-question button:not(.kw-cm-more-btn):not(.kw-cm-more-item) { transition:none; } .kw-cm-question button:hover { transform:none !important; } }
