/* Purpose-specific element designs. Paper inherits template tokens; editor follows
   its preview palette. All rules are scoped to document content, never app chrome. */
.preview-body { --accent-color:var(--blue,#5aa2ef); --border-color:var(--border,#48505c); --code-bg:var(--preview-code-bg,#20232b); --muted-color:var(--text-dim,#9aa4b4); }
:is(.pdf-content,.block-edit-content,.document-style,.preview-body) [data-style] { --design-tint:color-mix(in srgb,var(--accent-color,#31556d) 7%,transparent); }
:is(.pdf-content,.block-edit-content,.document-style,.preview-body) :is([data-style="heading-chapter"],[data-style="heading-index"],[data-style="heading-tab"]) { text-align:left !important; border:0 !important; }
:is(.pdf-content,.block-edit-content,.document-style,.preview-body) [data-style="heading-chapter"] { border-top:1px solid var(--border-color) !important; padding-top:.55em !important; }
:is(.pdf-content,.block-edit-content,.document-style,.preview-body) [data-style="heading-chapter"]::before { content:attr(data-design-number); display:block; font:1.8em/1.2 Georgia,serif; color:var(--accent-color); margin-bottom:.25em; }
:is(.pdf-content,.block-edit-content,.document-style,.preview-body) [data-style="heading-index"] { display:flex; gap:.65em; align-items:baseline; }
:is(.pdf-content,.block-edit-content,.document-style,.preview-body) [data-style="heading-index"]::before { content:attr(data-design-number); color:var(--accent-color); flex-shrink:0; font-variant-numeric:tabular-nums; }
:is(.pdf-content,.block-edit-content,.document-style,.preview-body) [data-style="heading-tab"] { border:1px solid var(--border-color) !important; border-left:.45em solid var(--accent-color) !important; padding:.45em .65em !important; background:transparent !important; }
:is(.pdf-content,.block-edit-content,.document-style,.preview-body) :is([data-style="table-compare"],[data-style="table-numeric"],[data-style="table-fields"]) { width:100%; border-collapse:collapse; border:0 !important; }
:is(.pdf-content,.block-edit-content,.document-style,.preview-body) :is([data-style="table-compare"],[data-style="table-numeric"],[data-style="table-fields"]) :is(th,td) { border:0 !important; border-bottom:1px solid var(--border-color) !important; padding:.6em .75em !important; background:transparent !important; }
:is(.pdf-content,.block-edit-content,.document-style,.preview-body) [data-style="table-compare"] tbody th { background:var(--design-tint) !important; color:var(--accent-color) !important; }
:is(.pdf-content,.block-edit-content,.document-style,.preview-body) [data-style="table-compare"] thead th { border-top:2px solid var(--accent-color) !important; }
:is(.pdf-content,.block-edit-content,.document-style,.preview-body) [data-style="table-compare"] [data-design-highlight="true"] { background:var(--design-tint) !important; font-weight:600; }
:is(.pdf-content,.block-edit-content,.document-style,.preview-body) [data-style="table-numeric"] { border-top:2px solid currentColor !important; border-bottom:2px solid currentColor !important; }
:is(.pdf-content,.block-edit-content,.document-style,.preview-body) [data-style="table-numeric"] [data-design-numeric="true"] { text-align:right !important; font-variant-numeric:tabular-nums !important; }
:is(.pdf-content,.block-edit-content,.document-style,.preview-body) [data-style="table-numeric"] tfoot :is(th,td) { border-top:2px solid currentColor !important; font-weight:700; }
:is(.pdf-content,.block-edit-content,.document-style,.preview-body) [data-style="table-fields"] tr>:first-child { width:35%; background:var(--design-tint) !important; font-family:var(--code-font-family,monospace) !important; color:var(--accent-color) !important; }
:is(.pdf-content,.block-edit-content,.document-style,.preview-body) [data-style="list-steps"] { padding-left:0 !important; list-style:none !important; }
:is(.pdf-content,.block-edit-content,.document-style,.preview-body) [data-style="list-steps"]>li { position:relative; padding:0 0 1.1em 3em !important; margin:0 !important; }
:is(.pdf-content,.block-edit-content,.document-style,.preview-body) [data-style="list-steps"]>li::before { content:attr(data-design-step); position:absolute; left:0; top:0; width:1.9em; min-height:1.9em; border:1px solid var(--accent-color); border-radius:50%; display:grid; place-items:center; color:var(--accent-color); font-variant-numeric:tabular-nums; }
:is(.pdf-content,.block-edit-content,.document-style,.preview-body) [data-style="list-steps"]>li:not(:last-child)::after { content:""; position:absolute; left:.95em; top:2.2em; bottom:.2em; border-left:1px solid var(--border-color); }
:is(.pdf-content,.block-edit-content,.document-style,.preview-body) [data-style="list-check"] { padding-left:.2em !important; list-style:none !important; }
:is(.pdf-content,.block-edit-content,.document-style,.preview-body) [data-style="list-check"]>li { padding:.55em 0 !important; border-bottom:1px solid var(--border-color); }
:is(.pdf-content,.block-edit-content,.document-style,.preview-body) [data-style="list-check"] input { margin-right:.55em; accent-color:var(--accent-color); }
:is(.pdf-content,.block-edit-content,.document-style,.preview-body) [data-style="list-check"]>li[data-design-checked="true"] { color:var(--muted-color); text-decoration:line-through; }
:is(.pdf-content,.block-edit-content,.document-style,.preview-body) [data-style="list-outline"]>li { padding:.35em .7em !important; margin:.6em 0 !important; border-left:2px solid var(--accent-color); }
:is(.pdf-content,.block-edit-content,.document-style,.preview-body) [data-style="list-outline"]>li>strong { display:block; }
:is(.pdf-content,.block-edit-content,.document-style,.preview-body) :is([data-style="quote-note"],[data-style="quote-warning"],[data-style="quote-theorem"])::before { content:attr(data-design-display-label); display:block; color:var(--accent-color); font-size:.9em; font-weight:700; margin-bottom:.6em; }
:is(.pdf-content,.block-edit-content,.document-style,.preview-body) [data-style="quote-note"] { border:0 !important; border-left:3px solid var(--accent-color) !important; padding:1em 1.2em !important; background:var(--design-tint) !important; color:inherit !important; }
:is(.pdf-content,.block-edit-content,.document-style,.preview-body) [data-style="quote-warning"] { border:0 !important; border-top:3px solid var(--accent-color) !important; padding:1em 1.2em !important; background:var(--design-tint) !important; color:inherit !important; }
:is(.pdf-content,.block-edit-content,.document-style,.preview-body) [data-style="quote-pull"] { border:0 !important; padding:1.3em 1em .8em 1.8em !important; position:relative; font:1.2em/1.7 Georgia,"AppleMyungjo",serif !important; color:inherit !important; }
:is(.pdf-content,.block-edit-content,.document-style,.preview-body) [data-style="quote-pull"]::before { content:"“"; position:absolute; left:0; top:0; color:var(--accent-color); font:3.5em/1 Georgia,serif; }
:is(.pdf-content,.block-edit-content,.document-style,.preview-body) [data-style="quote-pull"][data-design-source]::after { content:attr(data-design-source); display:block; text-align:right; font: .8em/1.5 var(--font-family,sans-serif); color:var(--muted-color); margin-top:1em; }
:is(.pdf-content,.block-edit-content,.document-style,.preview-body) [data-style="quote-theorem"] { border:0 !important; border-block:1.5px solid currentColor !important; padding:1em 0 !important; font-family:Georgia,"AppleMyungjo",serif !important; color:inherit !important; }
:is(.pdf-content,.block-edit-content,.document-style,.preview-body) :is([data-style="text-abstract"],[data-style="text-conclusion"])::before { content:attr(data-design-display-label); display:block; font-size:.8em; font-weight:600; color:var(--accent-color); margin-bottom:.7em; }
:is(.pdf-content,.block-edit-content,.document-style,.preview-body) [data-style="text-abstract"] { font-size:1.05em !important; line-height:1.8 !important; border:0 !important; padding:0 !important; }
:is(.pdf-content,.block-edit-content,.document-style,.preview-body) [data-style="text-abstract"][data-design-keywords]::after { content:"키워드 · " attr(data-design-keywords); display:block; border-top:1px solid var(--border-color); padding-top:.6em; margin-top:1em; font-size:.8em; color:var(--muted-color); }
:is(.pdf-content,.block-edit-content,.document-style,.preview-body) [data-style="text-conclusion"] { border:0 !important; border-top:2px solid var(--accent-color) !important; padding-top:.8em !important; font-size:1.1em !important; }
:is(.pdf-content,.block-edit-content,.document-style,.preview-body) [data-style="text-dropcap"] { font-family:Georgia,"AppleMyungjo",serif !important; line-height:1.9 !important; }
:is(.pdf-content,.block-edit-content,.document-style,.preview-body) [data-style="text-dropcap"]:not([data-design-continuation="true"])::first-letter { float:left; font-size:3.3em; line-height:1.1; padding-right:.18em; color:var(--accent-color); }
:is(.pdf-content,.block-edit-content,.document-style,.preview-body) :is([data-style="figure-plate"],[data-style="figure-book"],[data-style="figure-side"]) { margin-inline:0 !important; break-inside:avoid; }
:is(.pdf-content,.block-edit-content,.document-style,.preview-body) [data-style="figure-plate"] { border:1px solid var(--border-color) !important; padding:.8em !important; }
:is(.pdf-content,.block-edit-content,.document-style,.preview-body) [data-style="figure-plate"]::before { content:attr(data-design-display-label); display:block; border-bottom:1px solid var(--border-color); padding-bottom:.6em; margin-bottom:.8em; font-size:.85em; font-weight:600; }
:is(.pdf-content,.block-edit-content,.document-style,.preview-body) [data-style="figure-book"]>figcaption { position:relative; border-top:1px solid var(--border-color); padding:.65em 0 .4em 5em !important; text-align:left !important; }
:is(.pdf-content,.block-edit-content,.document-style,.preview-body) [data-style="figure-book"]>figcaption::before { content:"그림 " attr(data-design-number); position:absolute; left:0; top:.65em; width:4.5em; font-weight:700; }
:is(.pdf-content,.block-edit-content,.document-style,.preview-body) :is([data-style="figure-plate"],[data-style="figure-book"],[data-style="figure-side"])>figcaption[data-design-source]::after { content:"출처: " attr(data-design-source); display:block; margin-top:.35em; color:var(--muted-color); font-size:.9em; }
:is(.pdf-content,.block-edit-content,.document-style,.preview-body) [data-style="figure-side"] { display:grid !important; grid-template-columns:minmax(0,2fr) minmax(0,1fr); gap:1.2em; align-items:center; }
:is(.pdf-content,.block-edit-content,.document-style,.preview-body) [data-style="figure-side"]>figcaption { border-left:2px solid var(--accent-color); padding:.4em 0 .4em .8em !important; text-align:left !important; }
:is(.pdf-content,.block-edit-content,.document-style,.preview-body) [data-style="figure-side"]>img { max-width:100%; min-width:0; }
:is(.pdf-content,.block-edit-content,.document-style,.preview-body) [data-design-narrow="true"][data-style="figure-side"] { grid-template-columns:1fr; }
:is(.pdf-content,.block-edit-content,.document-style,.preview-body) [data-style="details-faq"] { border:0 !important; border-bottom:1px solid var(--border-color) !important; padding:.6em 0 .8em 1.8em !important; }
:is(.pdf-content,.block-edit-content,.document-style,.preview-body) [data-style="details-faq"]>summary { position:relative; list-style:none; font-weight:700; }
:is(.pdf-content,.block-edit-content,.document-style,.preview-body) [data-style="details-faq"]>summary::before { content:"Q"; position:absolute; left:-1.8em; color:var(--accent-color); }
:is(.pdf-content,.block-edit-content,.document-style,.preview-body) [data-style="details-appendix"] { border:0 !important; border-left:2px solid var(--accent-color) !important; background:var(--design-tint) !important; padding:.8em 1em !important; }
:is(.pdf-content,.block-edit-content,.document-style,.preview-body) [data-style="details-appendix"]::before { content:attr(data-design-display-label); display:block; color:var(--accent-color); font-size:.8em; margin-bottom:.4em; }
:is(.pdf-content,.block-edit-content,.document-style,.preview-body) [data-style="definition-fields"] { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2fr); gap:.5em 1em; }
:is(.pdf-content,.block-edit-content,.document-style,.preview-body) [data-style="definition-fields"]>dt { font-family:var(--code-font-family,monospace); color:var(--accent-color); }
:is(.pdf-content,.block-edit-content,.document-style,.preview-body) [data-style="definition-fields"]>:is(dt,dd) { margin:0 !important; padding:.55em 0; border-bottom:1px solid var(--border-color); }
:is(.pdf-content,.block-edit-content,.document-style,.preview-body) [data-style="definition-glossary"]>dt { font-size:1.15em; color:var(--accent-color); margin-top:.8em !important; }
:is(.pdf-content,.block-edit-content,.document-style,.preview-body) [data-style="definition-glossary"]>dd { margin:.25em 0 .8em !important; }
:is(.pdf-content,.block-edit-content,.document-style,.preview-body) [data-style="rule-transition"] { position:relative; border:0 !important; height:1.3em; margin:1.5em 0 !important; background:linear-gradient(var(--border-color),var(--border-color)) left center/44% 1px no-repeat,linear-gradient(var(--border-color),var(--border-color)) right center/44% 1px no-repeat !important; }
:is(.pdf-content,.block-edit-content,.document-style,.preview-body) [data-style="rule-transition"]::after { content:"◇"; display:block; text-align:center; color:var(--accent-color); line-height:1.3; }
:is(.pdf-content,.block-edit-content,.document-style,.preview-body) [data-style="rule-ending"] { border:0 !important; height:1.5em; background:transparent !important; }
:is(.pdf-content,.block-edit-content,.document-style,.preview-body) [data-style="rule-ending"]::after { content:"•  •  •"; display:block; text-align:center; color:var(--muted-color); }
@media(max-width:520px) {
  .preview-body [data-style="figure-side"] { grid-template-columns:1fr; }
  .preview-body [data-style="definition-fields"] { grid-template-columns:1fr; }
}
@media print {
  :is(.pdf-content,.preview-body) [data-style] { print-color-adjust:exact; -webkit-print-color-adjust:exact; }
}
:is(.pdf-content,.block-edit-content,.document-style,.preview-body) [data-style="text-dropcap"] { display:flow-root; }
:is(.pdf-content,.block-edit-content,.document-style,.preview-body) :is([data-style="heading-chapter"],[data-style="heading-index"])[data-design-number=""]::before { display:none; }
