/* 개념서 미리보기 공통 모양. 앱 공개 페이지의 site.css 뒤에 붙는다. 색은 앱 값이 있으면 그것을, 없으면 공통 토큰 값을 쓴다. */
.pv-body { margin: 1rem 0; overflow-wrap: anywhere; }
.pv-body h2, .pv-body h3 { margin: 1.6rem 0 .3rem; }
.pv-body h3 { font-size: 1.02rem; border: 0; }
.pv-body p { margin: .6rem 0; }
.pv-body ul { padding-left: 1.2rem; }
.pv-body blockquote { margin: .8rem 0; padding: .1rem .9rem; border-left: 3px solid var(--rule, #cbd6d6); color: var(--ink-2, #4e5a61); }
.pv-body code, .pv-math { font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace; font-size: .92em; }
.pv-body pre { overflow-x: auto; padding: .6rem .8rem; border: 1px solid var(--rule, #cbd6d6); border-radius: 6px; }
.pv-table { overflow-x: auto; margin: .8rem 0; }
.pv-table table { border-collapse: collapse; font-size: .92rem; line-height: 1.5; }
.pv-table th, .pv-table td { border: 1px solid var(--rule, #cbd6d6); padding: .35rem .55rem; text-align: left; vertical-align: top; min-width: 3.5rem; }
.pv-table th { font-weight: 600; background: var(--rule-soft, #e2e9e5); }
mark.em-mark { background: linear-gradient(transparent 58%, color-mix(in srgb, #b37a22 32%, transparent) 58%); color: inherit; padding: 0 1px; border-radius: 2px; }
.em-u { text-decoration: underline; text-decoration-color: var(--accent, #1f5361); text-decoration-thickness: 2px; text-underline-offset: 4px; }
.pv-diagram { margin: 1rem 0; }
.pv-diagram figcaption { font-size: .85rem; color: var(--muted, #66737a); }
.pv-scene { margin: 1rem 0; padding: .7rem .9rem; border: 1px solid var(--rule, #cbd6d6); border-radius: 8px; background: var(--surface, #fff); }
.pv-scene-head { margin: 0 0 .4rem; font-size: .92rem; color: var(--ink-2, #4e5a61); }
.pv-scene-play { font: inherit; font-weight: 600; min-height: 44px; padding: .4rem 1rem; border-radius: 6px; cursor: pointer; border: 1px solid var(--accent, #1f5361); background: transparent; color: var(--accent, #1f5361); }
.pv-more { margin: 1.4rem 0; padding: .9rem 1.1rem; border: 1px solid var(--rule, #cbd6d6); border-radius: 8px; background: var(--surface, #fff); }
.pv-more p { margin: 0 0 .7rem; }
.pv-rest { list-style: none; padding: 0; margin: .5rem 0; color: var(--ink-2, #4e5a61); }
.pv-rest li { padding: .25rem 0; border-bottom: 1px solid var(--rule-soft, #e2e9e5); }
.pv-rest .pv-lv4, .pv-rest .pv-lv5, .pv-rest .pv-lv6 { padding-left: 1rem; font-size: .92rem; }
