/* 독서 화면 — 본문에 집중. 선택·인쇄 억제는 보조 수단 */
body.reader { --rbg: #FFFFFF; --rink: #1E2025; --rmute: #6B7280; --rline: rgba(127,127,127,.22); background: var(--rbg); color: var(--rink); padding-bottom: 0; }
body.reader.theme-sepia { --rbg: #F6EFE1; --rink: #3A3127; --rmute: #7A6C59; }
body.reader.theme-dark { --rbg: #16171A; --rink: #D8D5CE; --rmute: #9A968E; }
body.reader a { color: inherit; }
.rprog { position: fixed; top: 0; left: 0; right: 0; height: 3px; z-index: 30; }
.rprog span { display: block; height: 100%; width: 0; background: var(--c-seal); }
.rbar { position: sticky; top: 0; z-index: 20; background: var(--rbg); border-bottom: 1px solid var(--rline); }
.rbar .in { max-width: 760px; margin: 0 auto; padding: 0 var(--gutter); height: 52px; display: flex; align-items: center; gap: var(--s-2); }
.rbar .in > a { text-decoration: none; font-size: 20px; padding: 6px 8px 6px 0; }
.rbar .ttl { flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: var(--fs-sm); }
.rbar button { background: none; border: 1px solid var(--rline); color: inherit; border-radius: var(--r-ctl); min-height: 36px; padding: 0 10px; font: 600 13px/1 var(--f-sans); cursor: pointer; }
.rbar button[aria-expanded="true"] { background: var(--rink); color: var(--rbg); }
.rset { max-width: 760px; margin: 0 auto; padding: var(--s-2) var(--gutter) var(--s-3); display: none; gap: var(--s-3); flex-wrap: wrap; font-size: 13px; align-items: center; }
.rset.open { display: flex; }
.rset label { display: flex; gap: 6px; align-items: center; margin: 0; font-weight: 500; color: inherit; }
.rset select { min-height: 34px; width: auto; padding: 2px 8px; background: var(--rbg); color: var(--rink); border-color: var(--rline); }
.rlist { max-width: 760px; margin: 0 auto; padding: 0 var(--gutter) var(--s-3); max-height: 50vh; overflow-y: auto; }
.rlist ol { list-style: none; margin: 0; padding: 0; }
.rlist a { display: block; padding: 10px 4px; border-top: 1px solid var(--rline); text-decoration: none; font-size: var(--fs-sm); }
.rlist a span { color: var(--rmute); display: inline-block; min-width: 42px; }
.rlist a em { font-style: normal; font-size: 12px; color: var(--c-ok); }
.rlist a[aria-current="page"] { font-weight: 700; box-shadow: inset 3px 0 0 var(--c-seal); padding-left: 10px; }
.protect { -webkit-user-select: none; user-select: none; -webkit-touch-callout: none; position: relative; }
.protect img { -webkit-user-drag: none; pointer-events: none; }
.wm-layer { position: absolute; inset: 0; pointer-events: none; background-repeat: repeat; z-index: 3; }
.doc { max-width: var(--w-read); margin: 0 auto; padding: var(--s-6) 20px var(--s-6); font-family: var(--f-serif); }
.doc-kicker { font: 500 13px/1.4 var(--f-sans); color: var(--rmute); margin-bottom: var(--s-2); }
.doc h1 { font: 700 24px/1.35 var(--f-serif); margin-bottom: 1.8em; color: inherit; }
.doc .body p { margin: 0 0 1.15em; word-break: keep-all; }
.doc.f-sans { font-family: var(--f-sans); }
.doc.s1 { font-size: 15px; } .doc.s2 { font-size: 16.5px; } .doc.s3 { font-size: 18px; } .doc.s4 { font-size: 20px; } .doc.s5 { font-size: 22px; }
.doc.l1 { line-height: 1.7; } .doc.l2 { line-height: 1.95; } .doc.l3 { line-height: 2.25; }
.wm-mark { font: 10px/1.4 var(--f-sans) !important; color: var(--rmute); text-align: right; opacity: .55; }
.ai-mark { color: var(--c-ai); font-weight: 600; }
body.reader.theme-dark .ai-mark { color: #B9A6F0; }
.rpos { font: 12.5px/1.4 var(--f-sans); color: var(--rmute); text-align: center; margin-top: var(--s-5); }
.toon { max-width: 760px; margin: 0 auto; background: #000; }
.toon img { width: 100%; height: auto; display: block; }
.toon .ph { background: #2A2B2F; }
.toon .fail { display: grid; place-items: center; background: #2A2B2F; color: #ddd; font: 14px/1.5 var(--f-sans); padding: 40px 16px; text-align: center; }
.toon .fail button { margin-top: 8px; }
.loading { text-align: center; color: var(--rmute); padding: var(--s-6) 0; font: 14px/1.5 var(--f-sans); }
.rnotice { max-width: var(--w-read); margin: 0 auto var(--s-4); padding: 0 20px; font: 12.5px/1.5 var(--f-sans); color: var(--rmute); text-align: center; }
.rnav { max-width: var(--w-read); margin: 0 auto; padding: 0 20px var(--s-6); display: grid; grid-template-columns: 1fr auto 1fr; gap: var(--s-2); }
.rnav > :last-child { justify-self: end; } .rnav > :first-child { justify-self: start; }
body.reader.theme-dark .btn { background: transparent; color: var(--rink); border-color: var(--rline); }
body.reader.theme-dark .btn.primary { background: var(--rink); color: var(--rbg); }
.comments { max-width: var(--w-read); margin: 0 auto; padding: var(--s-5) 20px var(--s-8); border-top: 1px solid var(--rline); font-family: var(--f-sans); }
.comments h2 { color: inherit; }
.comments .cm { border-top: 1px solid var(--rline); padding: var(--s-3) 0; }
.comments .cm p { margin: 4px 0; }
@media print { body.reader * { display: none !important; } body.reader::after { content: "이 화면은 인쇄할 수 없습니다."; display: block; } }
.rmt { max-width: var(--w-read); margin: 12px auto 0; width: calc(100% - 32px); }
