/* ============================================================
   연구·비평 (research) — 영역 전용 스타일. 토큰은 site.css 의 :root 만 쓴다.
   ============================================================ */

/* ---- 연구 입구 ---- */
.rs-group{font:600 11px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin:34px 0 12px;padding-top:14px;border-top:1px solid var(--line)}
.rs-group:first-of-type{margin-top:6px}
.rs-book{min-height:230px}
.rs-meta{font:12px/1.6 var(--sans);color:var(--gold);letter-spacing:.06em;margin:0 0 12px}
.card .rs-meta{margin-top:auto;padding-top:8px}
.card .rs-meta + .go{margin-top:8px}

/* ---- 책 머리 (테마 100 · 명화 50 · 풍토) ---- */
.rs-stats{margin-top:0;align-self:flex-end}
.rs-stats b{color:var(--gold-2)}
.rs-partnav{margin:6px 0 30px}
.rs-partnav .chip b{font-family:var(--serif);font-weight:600;color:var(--gold-2)}
.rs-partnav .chip:hover{border-color:var(--gold-2);background:var(--gold-2);color:#fff}
.rs-partnav .chip:hover b,.rs-partnav .chip:hover .muted{color:#fff}
.rs-part{scroll-margin-top:96px}
.rs-part .era-h{margin-top:44px}
.rs-roman{display:inline-block;min-width:1.4em;margin-right:.35em;color:var(--gold);font-weight:600}
.rs-chlist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:0 36px}
.rs-chlist li{border-top:1px solid var(--line-2)}
.rs-chlist a{display:grid;grid-template-columns:44px 1fr;gap:14px;padding:12px 4px;transition:background .15s}
.rs-chlist a:hover{background:var(--paper)}
.rs-chlist .n{font:600 12px/1.9 var(--sans);letter-spacing:.14em;color:var(--gold)}
.rs-chlist .tx{display:flex;flex-direction:column;gap:3px;min-width:0}
.rs-chlist .t{font-size:17px;line-height:1.3;color:var(--ink)}
.rs-chlist .s{font:12.5px/1.5 var(--sans);color:var(--muted)}
.rs-chlist a:hover .t{color:var(--gold-2)}
@media (max-width:560px){.rs-chlist{grid-template-columns:1fr}}

/* ---- 읽기 레이아웃: 왼쪽 차례(고정) + 본문 ---- */
.essay{max-width:1120px;margin:auto;padding:32px var(--gap) 96px;display:grid;grid-template-columns:200px minmax(0,var(--read));gap:0 64px;justify-content:center;align-items:start}
.essay-head{grid-column:2;margin-bottom:26px}
.essay-side{grid-column:1;grid-row:1 / span 2;position:sticky;top:96px;max-height:calc(100vh - 120px);overflow:auto;padding-top:4px}
.essay-main{grid-column:2;min-width:0}
.essay-head h1{font-size:clamp(30px,3.6vw,50px);line-height:1.06;letter-spacing:-.035em;margin:6px 0 10px}
.essay-sub{font-size:clamp(18px,1.8vw,24px);margin:0 0 8px}
.essay-alt{font:italic 400 17px/1.4 Georgia,"Times New Roman",serif;color:var(--muted);margin:0 0 10px}
.essay .crumb .here{color:var(--ink-2)}
.essay [id]{scroll-margin-top:100px}
@media (max-width:1080px){
  .essay{display:block;max-width:calc(var(--read) + var(--gap) * 2)}
  .essay-side{position:static;max-height:none;overflow:visible;margin-bottom:28px}
}

/* 차례 */
.toc{font:13px/1.5 var(--sans);color:var(--ink-2)}
.toc-h{font:600 10px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin:0 0 12px}
.toc ol{list-style:none;margin:0;padding:0;border-left:1px solid var(--line)}
.toc li{margin:0}
.toc a{display:block;padding:5px 0 5px 14px;margin-left:-1px;border-left:1px solid transparent;color:var(--muted);transition:color .15s,border-color .15s}
.toc a:hover{color:var(--gold-2)}
.toc a[aria-current]{color:var(--ink);border-left-color:var(--gold-2)}
.toc-n{display:inline-block;min-width:2.1em;color:var(--gold);font-weight:600;letter-spacing:.08em}
@media (max-width:1080px){
  .toc{border:1px solid var(--line-2);border-radius:var(--r-s);background:var(--paper);padding:14px 18px 10px}
  .toc ol{border-left:0;columns:2;column-gap:28px}
  .toc a{border-left:0;padding-left:0;break-inside:avoid}
  .toc a[aria-current]{color:var(--gold-2)}
}
@media (max-width:600px){.toc ol{columns:1}}

/* 도판 */
.plates{display:grid;gap:18px;margin:0 0 30px}
.plates.n2{grid-template-columns:repeat(2,1fr)}
.plates.n3{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
@media (max-width:600px){.plates.n2,.plates.n3{grid-template-columns:1fr}}
.plate{margin:0;display:flex;flex-direction:column}
.plate img{width:100%;height:auto;border:1px solid var(--line);background:var(--paper-2)}
/* 도판이 둘 이상이면 같은 크기의 정사각 받침(作品 카드와 같은 규칙) 안에 담는다 */
.plates.n2 .plate img,.plates.n3 .plate img{aspect-ratio:1/1;height:auto;object-fit:contain;padding:10px}
.plates.n2 .plate .noimg,.plates.n3 .plate .noimg{aspect-ratio:1/1}
.plates.n1 .plate img{max-height:72vh;width:auto;max-width:100%;margin:0 auto}
.plate figcaption{font:12.5px/1.6 var(--sans);color:var(--muted);margin-top:9px}
.plate figcaption a:hover{color:var(--gold-2)}
.plate .fudo{display:inline-block;margin-left:8px;color:var(--gold);letter-spacing:.14em;font-size:10.5px;text-transform:uppercase}
.plate .noimg{aspect-ratio:4/3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:1px dashed var(--line);background:var(--paper);color:var(--muted);text-align:center;font:12px var(--sans);padding:14px}
.plate .noimg b{font:600 20px var(--serif);color:var(--gold)}
.rs-fig img{max-height:76vh;width:auto;max-width:100%;margin:0 auto}
.rs-fig{margin-bottom:28px}
.rs-fig .noimg,.plates.n1 .noimg{aspect-ratio:auto;padding:34px 20px}

/* 범위 주석 · 일러두기 · 제사 */
.rs-scope{margin:0 0 30px}
.rs-scope b{display:block;font:600 10px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:8px}
.rs-scope p{margin:0}
.rs-source{margin:36px 0 0}
.epigraph{margin:0 0 34px;padding:0 0 0 20px;font-size:18px;line-height:1.8;color:var(--ink-2)}
.epigraph p{margin:0}
.rs-caption{font:14px/1.7 var(--sans);color:var(--ink-2);margin:4px 0 0}

/* 작품 정보 (명화 50) */
.rs-info{font:13px/1.55 var(--sans);color:var(--ink-2)}
.rs-info dl{margin:0;border-top:1px solid var(--line)}
.rs-info dt{font:600 10px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin:12px 0 3px}
.rs-info dd{margin:0 0 2px}
.rs-info dd .muted{display:block;font-size:12px}

/* 본문 다듬기 */
.tema-body h2{font-size:clamp(20px,2vw,27px);margin:2.2em 0 .8em}
.tema-body h2:first-child{margin-top:.2em}
.tema-body p[data-pid]{margin-bottom:1.3em}
.masters-body p:first-child{font-size:1.06em;color:var(--ink-2)}
.fudo-body h4{font:600 12px/1.4 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin:2.6em 0 1.1em;text-align:left}
.fudo-body h4:first-child{margin-top:.4em}
.fudo-body p{margin:0 0 1.05em}
.topic-body h2{font-size:clamp(21px,2.1vw,28px);margin:2.4em 0 .8em}
.topic-sec:first-child h2{margin-top:.2em}
.topic-body h4{font-size:16px;margin:1.8em 0 .6em;color:var(--gold-2)}
.topic-body hr{margin:2em auto;width:60px;border-top:1px solid var(--gold)}
.topic-body table{font-size:14.5px;margin:1.6em 0}
.topic-body th:empty{display:none}
.topic-body thead tr:has(th:empty:only-child){display:none}
.topic-body blockquote{font-style:normal;background:var(--paper);border:1px solid var(--line-2);border-left:2px solid var(--gold);border-radius:0 var(--r-s) var(--r-s) 0;padding:14px 18px;font-size:16px}
.topic-body blockquote p{margin:0 0 .6em}
.topic-body blockquote p:last-child{margin:0}
.topic-body sup{font:11px var(--sans);color:var(--gold);vertical-align:super;line-height:0}
.essay-sub sup{font:11px var(--sans);color:var(--gold);vertical-align:super;line-height:0}
.topic-body ul{padding-left:1.2em}

/* 관련 작품 · 꼬리 */
.rs-related{margin-top:56px;padding-top:24px;border-top:1px solid var(--line)}
.rs-related h2{font:600 12px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin:0 0 18px}
.essay .pager a{max-width:48%}
.rs-backlink{margin:28px 0 0;font-size:13px}

/* 명화 50 머리·서문·격자 */
.rs-preface{display:grid;grid-template-columns:minmax(200px,300px) 1fr;gap:28px 48px;align-items:start;margin:10px 0 24px;padding:30px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.rs-preface h2{font-size:clamp(22px,2.4vw,32px);line-height:1.15;margin:4px 0 0}
.rs-preface-body{font-size:16.5px;line-height:1.85}
.rs-preface-body h3{font:600 12px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin:1.8em 0 .8em}
.rs-preface-body p{margin:0 0 1em}
@media (max-width:820px){.rs-preface{grid-template-columns:1fr;gap:12px}}
.rs-mgrid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}
.rs-mgrid .ph .noimg{color:var(--muted);text-align:center;font:12px var(--sans);padding:12px}
.rs-mgrid .ph .noimg b{display:block;font:600 22px var(--serif);color:var(--gold);margin-bottom:6px}

/* 풍토 — 책 차례 */
.kind-fudo-index .wrap{max-width:1040px}
.rs-bookside{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding-bottom:6px}
.toc-k{display:block;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:1px}
.toc a[aria-current="page"]{color:var(--ink);border-left-color:var(--gold-2)}
.rs-bookside .rs-meta{margin:0}
.rs-booktoc{max-width:860px;margin:8px 0 0;border-top:1px solid var(--line)}
.rs-booktoc ol{list-style:none;margin:0;padding:0}
.rs-tocrow{display:grid;grid-template-columns:120px 1fr auto;gap:16px;align-items:baseline;padding:13px 6px;border-bottom:1px solid var(--line-2);transition:background .15s}
.rs-tocrow:hover{background:var(--paper)}
.rs-tocrow:hover .t{color:var(--gold-2)}
.rs-tocrow .k{font:600 11.5px/1.8 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--gold);white-space:nowrap}
.rs-tocrow .t{font-size:18px;line-height:1.3;color:var(--ink)}
.rs-tocrow .c{font:11px/1.8 var(--sans);color:var(--muted-2);letter-spacing:.06em;white-space:nowrap}
.rs-tocrow.part{background:var(--paper);margin-top:10px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.rs-tocrow.part .t{font-size:22px;font-weight:600;letter-spacing:-.02em}
.rs-tocrow.single .t{font-weight:600}
.rs-tocpart ol .rs-tocrow{padding-left:22px}
.rs-booktoc.compact{max-width:none;border-top:0}
.rs-booktoc.compact .rs-tocrow{grid-template-columns:110px 1fr;padding:11px 4px}
.rs-booktoc.compact .rs-tocrow .t{font-size:17px}
.rs-colophon{margin-top:56px;padding-top:20px;border-top:1px solid var(--line);max-width:860px}
.rs-colophon-body{font-size:15px;line-height:1.9;color:var(--muted)}
.rs-colophon-body p{margin:0}
@media (max-width:640px){
  .rs-tocrow{grid-template-columns:1fr;gap:2px}
  .rs-tocrow .c{display:none}
}

@media print{.essay{display:block}.essay-side,.rs-backlink{display:none}}
