/* DokuWiki 가 출력한 본문 마크업 스타일 */

.wiki-content { font-size: 16px; line-height: 1.75; }
.wiki-content > div.level1, .wiki-content > div.level2, .wiki-content > div.level3, .wiki-content > div.level4, .wiki-content > div.level5 { margin: 0; }

/* 제목 */
.wiki-content h1, .wiki-content h2, .wiki-content h3, .wiki-content h4, .wiki-content h5 { font-weight: 700; letter-spacing: -0.015em; line-height: 1.35; color: var(--c-text); scroll-margin-top: calc(var(--header-h) + 16px); }
.wiki-content h1 { font-size: 30px; margin: 0 0 20px; padding-bottom: 14px; border-bottom: 2px solid var(--c-text); }
.wiki-content h2 { font-size: 23px; margin: 44px 0 14px; padding-bottom: 8px; border-bottom: 1px solid var(--c-line-soft); }
.wiki-content h3 { font-size: 19px; margin: 32px 0 10px; }
.wiki-content h4 { font-size: 17px; margin: 24px 0 8px; }
.wiki-content h5 { font-size: 16px; margin: 20px 0 6px; color: var(--c-text-2); }
.wiki-content h1 + div.level1:empty { display: none; }

/* 문단·목록 */
.wiki-content p { margin: 0 0 14px; }
.wiki-content ul, .wiki-content ol { margin: 0 0 14px; padding-left: 26px; }
.wiki-content li { margin: 2px 0; }
.wiki-content li .li { display: inline; }
.wiki-content ul ul, .wiki-content ol ol, .wiki-content ul ol, .wiki-content ol ul { margin: 2px 0 2px; }
.wiki-content li.level1 { list-style-type: disc; }
.wiki-content li.level2 { list-style-type: circle; }
.wiki-content li.level3, .wiki-content li.level4, .wiki-content li.level5 { list-style-type: square; }
.wiki-content ol li.level1 { list-style-type: decimal; }
.wiki-content ol li.level2 { list-style-type: lower-alpha; }
.wiki-content ol li.level3, .wiki-content ol li.level4 { list-style-type: lower-roman; }
.wiki-content hr { border: 0; border-top: 1px solid var(--c-line-soft); margin: 28px 0; }
.wiki-content blockquote { margin: 0 0 14px; padding: 2px 0 2px 16px; border-left: 3px solid var(--c-line); color: var(--c-text-2); }
.wiki-content blockquote div.no { display: inline; }
.wiki-content .clearer { clear: both; }
.wiki-content .u { text-decoration: underline; }
.wiki-content em { font-style: italic; }
.wiki-content del { color: var(--c-text-3); }
.wiki-content abbr[title] { text-decoration: underline dotted; text-decoration-color: var(--c-line); text-underline-offset: 3px; cursor: help; }
.wiki-content sup, .wiki-content sub { line-height: 0; }

/* 링크 */
.wiki-content a.wikilink1 { color: var(--c-primary); }
.wiki-content a.wikilink1:hover { color: var(--c-primary-deep); }
.wiki-content span.wikilink2 { color: var(--c-text-3); border-bottom: 1px dashed var(--c-line); cursor: help; }
.wiki-content a.urlextern, .wiki-content a.interwiki, .wiki-content a.windows, .wiki-content a.mail { color: var(--c-primary); }
.wiki-content a.urlextern::after { content: "\2197"; font-size: 0.75em; margin-left: 2px; vertical-align: super; line-height: 0; color: var(--c-text-3); }
.wiki-content pre a[target="_blank"]::after { content: none; }
.wiki-content span.curid a, .wiki-content a[aria-current] { font-weight: 700; }
.wiki-content a.media { text-decoration: none; }

/* 첨부파일 링크: 파일 유형 태그 */
.wiki-content a.mediafile { display: inline-flex; align-items: center; gap: 6px; padding: 2px 8px 2px 4px; border: 1px solid var(--c-line); border-radius: var(--radius); background: var(--c-surface-2); color: var(--c-text); text-decoration: none; font-size: 0.95em; line-height: 1.5; margin: 1px 0; }
.wiki-content a.mediafile:hover { border-color: var(--c-primary); color: var(--c-primary-deep); }
.wiki-content a.mediafile::before { content: "파일"; display: inline-block; padding: 0 5px; border-radius: 3px; background: var(--c-text-3); color: #fff; font-size: 10px; font-weight: 700; line-height: 16px; letter-spacing: 0; }
.wiki-content a.mf_zip::before, .wiki-content a.mf_tar::before, .wiki-content a.mf_gz::before, .wiki-content a.mf_7z::before { content: "ZIP"; background: var(--c-primary-ink); }
.wiki-content a.mf_pdf::before { content: "PDF"; background: var(--c-danger); }
.wiki-content a.mf_xls::before, .wiki-content a.mf_xlsx::before { content: "XLS"; background: var(--c-success); }
.wiki-content a.mf_ppt::before, .wiki-content a.mf_pptx::before { content: "PPT"; background: #c78500; }
.wiki-content a.mf_doc::before, .wiki-content a.mf_docx::before, .wiki-content a.mf_hwp::before { content: "DOC"; background: var(--c-primary-deep); }
.wiki-content a.mf_xml::before, .wiki-content a.mf_txt::before, .wiki-content a.mf_java::before, .wiki-content a.mf_properties::before { content: "TXT"; }
.wiki-content a.mediafile[data-missing-media] { opacity: .6; text-decoration: line-through; }

/* 이미지 */
.wiki-content img.media, .wiki-content img.medialeft, .wiki-content img.mediacenter, .wiki-content img.mediaright { max-width: 100%; height: auto; border-radius: 2px; }
.wiki-content img.medialeft { float: left; margin: 4px 16px 8px 0; }
.wiki-content img.mediaright { float: right; margin: 4px 0 8px 16px; }
.wiki-content img.mediacenter { display: block; margin: 8px auto; }
.wiki-content img[data-missing-media] { min-width: 120px; min-height: 40px; background: var(--c-surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpath d='M3 3h14v14H3z' fill='none' stroke='%23b1b8be' stroke-width='1.5'/%3E%3Cpath d='M5 14l4-5 3 3 2-2 3 4' fill='none' stroke='%23b1b8be' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat center; border: 1px dashed var(--c-line); }
.wiki-content a.media.wikilink2 { pointer-events: none; }
.wiki-content .smiley { font-style: normal; }
.wiki-content img.icon { vertical-align: text-bottom; }

/* 표 */
.wiki-content div.table { overflow-x: auto; margin: 0 0 18px; max-width: 100%; }
.wiki-content table.inline { border-collapse: collapse; border-spacing: 0; font-size: 14.5px; line-height: 1.55; min-width: 50%; }
.wiki-content table.inline th, .wiki-content table.inline td { border: 1px solid var(--c-line); padding: 7px 10px; vertical-align: top; text-align: left; overflow-wrap: normal; word-break: keep-all; }
.wiki-content table.inline th { background: var(--c-surface); font-weight: 700; color: var(--c-text); }
.wiki-content table.inline tbody tr:nth-child(even) td { background: #fbfbfc; }
.wiki-content .leftalign { text-align: left !important; }
.wiki-content .centeralign { text-align: center !important; }
.wiki-content .rightalign { text-align: right !important; }
.wiki-content table.inline td p:last-child, .wiki-content table.inline th p:last-child { margin-bottom: 0; }
.wiki-content table.inline pre { margin: 4px 0; }

/* 인라인 코드 */
.wiki-content code { font-family: var(--font-mono); font-size: 0.88em; background: var(--c-surface); border: 1px solid var(--c-line-soft); border-radius: 3px; padding: 1px 5px; word-break: break-all; }
.wiki-content pre code { font-size: inherit; background: none; border: 0; padding: 0; }

/* 코드 블록 */
.code-block { position: relative; margin: 0 0 18px; }
.wiki-content pre.code, .wiki-content pre.file { margin: 0 0 18px; padding: 14px 16px; background: var(--c-surface-2); border: 1px solid var(--c-line-soft); border-radius: var(--radius); font-family: var(--font-mono); font-size: 13.5px; line-height: 1.6; overflow-x: auto; tab-size: 4; word-break: normal; overflow-wrap: normal; white-space: pre; color: var(--c-text); }
.code-block > pre { margin-bottom: 0; }
.wiki-content pre.file { border-left: 3px solid var(--c-line); }
.wiki-content dl.code, .wiki-content dl.file { margin: 0 0 18px; }
.wiki-content dl.code dt, .wiki-content dl.file dt { display: inline-block; padding: 3px 10px; font-family: var(--font-mono); font-size: 12px; background: var(--c-line-soft); border-radius: var(--radius) var(--radius) 0 0; color: var(--c-text-2); }
.wiki-content dl.code dd, .wiki-content dl.file dd { margin: 0; }
.wiki-content dl.code dd pre, .wiki-content dl.file dd pre { border-top-left-radius: 0; margin: 0; }
.copy-btn { position: absolute; top: 8px; right: 8px; padding: 3px 9px; font-size: 12px; line-height: 1.5; color: var(--c-text-2); background: var(--c-bg); border: 1px solid var(--c-line); border-radius: 3px; cursor: pointer; opacity: 0; transition: opacity .12s ease; }
.code-block:hover .copy-btn, .copy-btn:focus-visible, .copy-btn.done { opacity: 1; }
.copy-btn:hover { color: var(--c-primary-deep); border-color: var(--c-primary); }
.copy-btn.done { color: var(--c-success); border-color: var(--c-success); }
@media (hover: none) { .copy-btn { opacity: 1; } }

/* GeSHi 하이라이팅 */
.wiki-content pre.code .kw1, .wiki-content pre.code .kw2, .wiki-content pre.code .kw3, .wiki-content pre.code .kw4,
.wiki-content pre.code [class^="kw"] { color: #0b50d0; }
.wiki-content pre.code .kw2 { color: #083891; }
.wiki-content pre.code .kw3 { color: #6b2fb3; }
.wiki-content pre.code .kw4 { color: #1c589c; font-weight: 500; }
.wiki-content pre.code .co0, .wiki-content pre.code .co1, .wiki-content pre.code .co2, .wiki-content pre.code .co3, .wiki-content pre.code .co4, .wiki-content pre.code .coMULTI { color: #6d7882; font-style: italic; }
.wiki-content pre.code .st0, .wiki-content pre.code .st_h { color: #267337; }
.wiki-content pre.code .nu0 { color: #8a240f; }
.wiki-content pre.code .me1, .wiki-content pre.code .me2 { color: #1e2124; }
.wiki-content pre.code .re0 { color: #8a5c00; }
.wiki-content pre.code .re1, .wiki-content pre.code .re2 { color: #083891; }
.wiki-content pre.code .re3, .wiki-content pre.code .re4, .wiki-content pre.code .re5 { color: #0b78cb; }
.wiki-content pre.code .br0 { color: #58616a; }
.wiki-content pre.code .sy0, .wiki-content pre.code .sy1, .wiki-content pre.code .sy2 { color: #464c53; }
.wiki-content pre.code .sc-1, .wiki-content pre.code .sc0, .wiki-content pre.code .sc1, .wiki-content pre.code .sc2, .wiki-content pre.code .sc3 { color: inherit; }
.wiki-content pre.code .es0, .wiki-content pre.code .es1, .wiki-content pre.code .es_h { color: #ab2b36; }
.wiki-content pre.code .bchead, .wiki-content pre.code .bcsep { color: var(--c-text-3); }

/* 각주 */
.wiki-content a.fn_top { text-decoration: none; font-size: 0.8em; vertical-align: super; line-height: 0; margin-left: 1px; }
.wiki-content div.footnotes { margin-top: 32px; padding-top: 12px; border-top: 1px solid var(--c-line-soft); font-size: 13.5px; color: var(--c-text-2); }
.wiki-content div.footnotes div.fn { margin: 4px 0; }
.wiki-content div.footnotes .content { display: inline; }
.wiki-content a.fn_bot { text-decoration: none; margin-right: 4px; }

/* 플러그인 없는 코어 출력에서 드물게 나오는 요소 */
.wiki-content ul.rss { padding-left: 20px; }
.wiki-content div.noteclassic, .wiki-content div.notetip, .wiki-content div.noteimportant, .wiki-content div.notewarning { padding: 10px 14px; margin: 0 0 14px; border-left: 3px solid var(--c-primary); background: var(--c-primary-tint); }
.wiki-content .notewarning { border-left-color: var(--c-danger); background: #fdefec; }
.wiki-content .noteimportant { border-left-color: #c78500; background: var(--c-warn-bg); }

@media (max-width: 599px) {
  .wiki-content { font-size: 15.5px; }
  .wiki-content h1 { font-size: 25px; }
  .wiki-content h2 { font-size: 20px; margin-top: 36px; }
  .wiki-content h3 { font-size: 17.5px; }
  .wiki-content img.medialeft, .wiki-content img.mediaright { float: none; display: block; margin: 8px 0; }
  .wiki-content pre.code, .wiki-content pre.file { font-size: 12.5px; padding: 12px; }
}
