@charset "UTF-8";
/*
 * Danbee Editor Output / Base v0.1.0
 * Scoped to .db-editor-output so theme/global CSS has minimal influence.
 */

.db-editor-output,
.db-editor-output *,
.db-editor-output *::before,
.db-editor-output *::after { box-sizing:border-box; }

.db-editor-output {
    width:100%;
    max-width:100%;
    color:#26364a;
    font-family:Pretendard,"Noto Sans KR","Nanum Gothic","Malgun Gothic",Arial,sans-serif;
    font-size:16px;
    line-height:1.75;
    font-synthesis:weight style;
    word-break:keep-all;
    overflow-wrap:anywhere;
    overflow-x:auto;
}

.db-editor-output p { margin:0 0 1em; padding:0; }
.db-editor-output h2 {
    margin:1.8em 0 .7em;
    font-size:24px;
    line-height:1.45;
    font-weight:700;
    color:#17263a;
}
.db-editor-output h3 {
    margin:1.6em 0 .65em;
    font-size:19px;
    line-height:1.5;
    font-weight:700;
    color:#1f5e92;
}

/* Preserve explicit editor color; apply a default only when no inline color exists. */
.db-editor-output a:not([style*="color"]):not([style*="COLOR"]) { color:#1476b8; }
.db-editor-output a { text-decoration:underline; }

/* Inline formatting restore against aggressive theme resets. */
.db-editor-output b,
.db-editor-output strong { font-weight:700 !important; }
.db-editor-output [style*="font-weight: bold" i],
.db-editor-output [style*="font-weight:bold" i],
.db-editor-output [style*="font-weight: 600" i],
.db-editor-output [style*="font-weight:600" i],
.db-editor-output [style*="font-weight: 700" i],
.db-editor-output [style*="font-weight:700" i],
.db-editor-output [style*="font-weight: 800" i],
.db-editor-output [style*="font-weight:800" i],
.db-editor-output [style*="font-weight: 900" i],
.db-editor-output [style*="font-weight:900" i] { font-weight:700 !important; }

.db-editor-output i,
.db-editor-output em,
.db-editor-output [style*="font-style: italic" i],
.db-editor-output [style*="font-style:italic" i] { font-style:italic !important; }

.db-editor-output u,
.db-editor-output [style*="text-decoration: underline" i],
.db-editor-output [style*="text-decoration:underline" i] { text-decoration-line:underline !important; }

.db-editor-output s,
.db-editor-output strike,
.db-editor-output del,
.db-editor-output [style*="line-through" i] { text-decoration-line:line-through !important; }

.db-editor-output sub { vertical-align:sub !important; font-size:.75em !important; }
.db-editor-output sup { vertical-align:super !important; font-size:.75em !important; }

/* Ordered / bullet lists. Theme resets often remove markers. */
.db-editor-output ul,
.db-editor-output ol {
    display:block !important;
    margin:.8em 0 !important;
    padding-left:2.1em !important;
    list-style-position:outside !important;
}
.db-editor-output ul:not([style*="list-style"]) { list-style-type:disc !important; }
.db-editor-output ol:not([style*="list-style"]) { list-style-type:decimal !important; }
.db-editor-output ul ul:not([style*="list-style"]) { list-style-type:circle !important; }
.db-editor-output ul ul ul:not([style*="list-style"]) { list-style-type:square !important; }
.db-editor-output ol[type="1"] { list-style-type:decimal !important; }
.db-editor-output ol[type="a"] { list-style-type:lower-alpha !important; }
.db-editor-output ol[type="A"] { list-style-type:upper-alpha !important; }
.db-editor-output ol[type="i"] { list-style-type:lower-roman !important; }
.db-editor-output ol[type="I"] { list-style-type:upper-roman !important; }
.db-editor-output ul > li,
.db-editor-output ol > li {
    display:list-item !important;
    margin:.22em 0 !important;
    padding:0 !important;
    list-style-type:inherit !important;
    list-style-position:outside !important;
}
.db-editor-output ul > li::marker,
.db-editor-output ol > li::marker {
    content:normal !important;
    color:currentColor !important;
    font:inherit !important;
}

.db-editor-output hr {
    max-width:100%;
    margin:28px 0;
    border:0;
    border-top:1px solid #dfe7ef;
}

/* Images: preserve saved width/alignment, but never overflow the post. */
.db-editor-output img {
    max-width:100% !important;
    height:auto !important;
}

/* Tables: preserve SmartEditor inline cell styles and allow horizontal fallback. */
.db-editor-output table {
    max-width:100%;
    border-collapse:collapse;
}
.db-editor-output table td,
.db-editor-output table th {
    overflow-wrap:anywhere;
}

.db-editor-output iframe,
.db-editor-output video,
.db-editor-output embed,
.db-editor-output object { max-width:100%; }

/* Generic blockquote fallback for content not carrying a SmartEditor quote class. */
.db-editor-output blockquote:not([class*="se2_quote"]) {
    display:block;
    margin:20px 0;
    padding:14px 18px;
    border:0;
    border-left:4px solid #1476b8;
    background:#f7fbfe;
    color:#405467;
    line-height:1.75;
}

@media (max-width:640px) {
    .db-editor-output {
        font-size:15px;
        line-height:1.7;
        word-break:normal;
    }
    .db-editor-output h2 { font-size:21px; }
    .db-editor-output h3 { font-size:18px; }
    .db-editor-output ul,
    .db-editor-output ol { padding-left:1.7em !important; }
}


/* =========================================================
 * Danbee Editor Output v0.2.1 - aggressive theme reset guard
 *
 * Some board/theme skins use ID-scoped rules such as
 * #bo_v_con ul/ol/li/p/span and can outrank normal plugin CSS.
 * :is() intentionally contains a never-used ID to give this portable
 * selector ID-level specificity while still matching .db-editor-output.
 * Inline author styles are preserved because selectors below avoid
 * overriding explicit font/text-align values.
 * ========================================================= */
html body :is(#db-editor-output-scope, .db-editor-output.smarteditor_content) {
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    font-family:Pretendard,"Noto Sans KR","Nanum Gothic","Malgun Gothic",Arial,sans-serif !important;
    font-size:16px;
    line-height:1.75;
    text-align:left;
    word-break:keep-all;
    overflow-wrap:anywhere;
}

/* Theme-specific font/alignment resets must not shrink normal editor text.
   Explicit SmartEditor inline styles remain authoritative. */
html body :is(#db-editor-output-scope, .db-editor-output.smarteditor_content) p:not([style*="font-size" i]),
html body :is(#db-editor-output-scope, .db-editor-output.smarteditor_content) span:not([style*="font-size" i]),
html body :is(#db-editor-output-scope, .db-editor-output.smarteditor_content) li:not([style*="font-size" i]),
html body :is(#db-editor-output-scope, .db-editor-output.smarteditor_content) a:not([style*="font-size" i]),
html body :is(#db-editor-output-scope, .db-editor-output.smarteditor_content) td:not([style*="font-size" i]),
html body :is(#db-editor-output-scope, .db-editor-output.smarteditor_content) th:not([style*="font-size" i]) {
    font-size:inherit !important;
}
html body :is(#db-editor-output-scope, .db-editor-output.smarteditor_content) p:not([style*="font-family" i]),
html body :is(#db-editor-output-scope, .db-editor-output.smarteditor_content) span:not([style*="font-family" i]),
html body :is(#db-editor-output-scope, .db-editor-output.smarteditor_content) li:not([style*="font-family" i]),
html body :is(#db-editor-output-scope, .db-editor-output.smarteditor_content) a:not([style*="font-family" i]),
html body :is(#db-editor-output-scope, .db-editor-output.smarteditor_content) td:not([style*="font-family" i]),
html body :is(#db-editor-output-scope, .db-editor-output.smarteditor_content) th:not([style*="font-family" i]) {
    font-family:inherit !important;
}
html body :is(#db-editor-output-scope, .db-editor-output.smarteditor_content) p:not([style*="text-align" i]),
html body :is(#db-editor-output-scope, .db-editor-output.smarteditor_content) li:not([style*="text-align" i]) {
    text-align:inherit !important;
}

/* Strong list restore. SmartEditor2 creates semantic OL/UL/LI but many
   GNUboard themes intentionally remove every marker. */
html body :is(#db-editor-output-scope, .db-editor-output.smarteditor_content) ul,
html body :is(#db-editor-output-scope, .db-editor-output.smarteditor_content) ol {
    display:block !important;
    margin:.8em 0 !important;
    padding-left:2.1em !important;
    list-style-position:outside !important;
}
html body :is(#db-editor-output-scope, .db-editor-output.smarteditor_content) ul {
    list-style-type:disc !important;
}
html body :is(#db-editor-output-scope, .db-editor-output.smarteditor_content) ol {
    list-style-type:decimal !important;
}
html body :is(#db-editor-output-scope, .db-editor-output.smarteditor_content) ul ul {
    list-style-type:circle !important;
}
html body :is(#db-editor-output-scope, .db-editor-output.smarteditor_content) ul ul ul {
    list-style-type:square !important;
}
html body :is(#db-editor-output-scope, .db-editor-output.smarteditor_content) ol[type="a"] { list-style-type:lower-alpha !important; }
html body :is(#db-editor-output-scope, .db-editor-output.smarteditor_content) ol[type="A"] { list-style-type:upper-alpha !important; }
html body :is(#db-editor-output-scope, .db-editor-output.smarteditor_content) ol[type="i"] { list-style-type:lower-roman !important; }
html body :is(#db-editor-output-scope, .db-editor-output.smarteditor_content) ol[type="I"] { list-style-type:upper-roman !important; }
html body :is(#db-editor-output-scope, .db-editor-output.smarteditor_content) ul > li,
html body :is(#db-editor-output-scope, .db-editor-output.smarteditor_content) ol > li {
    display:list-item !important;
    float:none !important;
    width:auto !important;
    margin:.22em 0 !important;
    padding:0 !important;
    list-style-position:outside !important;
}
html body :is(#db-editor-output-scope, .db-editor-output.smarteditor_content) ul > li { list-style-type:inherit !important; }
html body :is(#db-editor-output-scope, .db-editor-output.smarteditor_content) ol > li { list-style-type:inherit !important; }
html body :is(#db-editor-output-scope, .db-editor-output.smarteditor_content) ul > li::marker,
html body :is(#db-editor-output-scope, .db-editor-output.smarteditor_content) ol > li::marker {
    content:normal !important;
    color:currentColor !important;
    font:inherit !important;
}

@media (max-width:640px) {
    html body :is(#db-editor-output-scope, .db-editor-output.smarteditor_content) {
        font-size:15px;
        line-height:1.7;
    }
    html body :is(#db-editor-output-scope, .db-editor-output.smarteditor_content) ul,
    html body :is(#db-editor-output-scope, .db-editor-output.smarteditor_content) ol {
        padding-left:1.7em !important;
    }
}

/* =========================================================
 * Danbee Editor Output v0.2.3 - alignment parity bridge
 * ========================================================= */

/* Explicit text alignment. */
html body :is(#db-editor-output-scope, .db-editor-output.smarteditor_content) [data-db-output-align-kind="text"][data-db-output-align="left"] { text-align:left !important; }
html body :is(#db-editor-output-scope, .db-editor-output.smarteditor_content) [data-db-output-align-kind="text"][data-db-output-align="center"] { text-align:center !important; }
html body :is(#db-editor-output-scope, .db-editor-output.smarteditor_content) [data-db-output-align-kind="text"][data-db-output-align="right"] { text-align:right !important; }
html body :is(#db-editor-output-scope, .db-editor-output.smarteditor_content) [data-db-output-align-kind="text"][data-db-output-align="justify"] { text-align:justify !important; }

/* Image alignment: direct metadata fallback works even if JS is delayed. */
html body :is(#db-editor-output-scope, .db-editor-output.smarteditor_content) img:is([data-mansup-modern-align="left"], [data-mansup-blog-align="left"], [data-db-output-align-kind="image"][data-db-output-align="left"]) {
    display:block !important; float:none !important; clear:none !important;
    margin-left:0 !important; margin-right:auto !important;
}
html body :is(#db-editor-output-scope, .db-editor-output.smarteditor_content) img:is([data-mansup-modern-align="center"], [data-mansup-blog-align="center"], [data-db-output-align-kind="image"][data-db-output-align="center"]) {
    display:block !important; float:none !important; clear:none !important;
    margin-left:auto !important; margin-right:auto !important;
}
html body :is(#db-editor-output-scope, .db-editor-output.smarteditor_content) img:is([data-mansup-modern-align="right"], [data-mansup-blog-align="right"], [data-db-output-align-kind="image"][data-db-output-align="right"]) {
    display:block !important; float:none !important; clear:none !important;
    margin-left:auto !important; margin-right:0 !important;
}

/* Dedicated image wrappers: move/align only when normalized as an image block. */
html body :is(#db-editor-output-scope, .db-editor-output.smarteditor_content) [data-db-output-align-kind="image-block"][data-db-output-align="left"] { text-align:left !important; }
html body :is(#db-editor-output-scope, .db-editor-output.smarteditor_content) [data-db-output-align-kind="image-block"][data-db-output-align="center"] { text-align:center !important; }
html body :is(#db-editor-output-scope, .db-editor-output.smarteditor_content) [data-db-output-align-kind="image-block"][data-db-output-align="right"] { text-align:right !important; }

/* Tables/figures move only with their own explicit block-position metadata.
   Nearby paragraph text-align must never reposition them. */
html body :is(#db-editor-output-scope, .db-editor-output.smarteditor_content) :is(table, figure)[data-db-output-align-kind="block"][data-db-output-align="left"],
html body :is(#db-editor-output-scope, .db-editor-output.smarteditor_content) table[data-mansup-table-align="left"] {
    float:none !important; margin-left:0 !important; margin-right:auto !important;
}
html body :is(#db-editor-output-scope, .db-editor-output.smarteditor_content) :is(table, figure)[data-db-output-align-kind="block"][data-db-output-align="center"],
html body :is(#db-editor-output-scope, .db-editor-output.smarteditor_content) table[data-mansup-table-align="center"] {
    float:none !important; margin-left:auto !important; margin-right:auto !important;
}
html body :is(#db-editor-output-scope, .db-editor-output.smarteditor_content) :is(table, figure)[data-db-output-align-kind="block"][data-db-output-align="right"],
html body :is(#db-editor-output-scope, .db-editor-output.smarteditor_content) table[data-mansup-table-align="right"] {
    float:none !important; margin-left:auto !important; margin-right:0 !important;
}
