/* Character-led reading: white pages, dark type, existing Cheongyeon artwork. */
.inyeon-story-page { background:#fff; color:#252321; padding-bottom:110px; }
.inyeon-story-page .global-back-button { display:none; } /* The visible reader bar provides the same home/back action. */
.inyeon-story-page .kakao-support { bottom:94px; }
.inyeon-story-shell { width:min(1080px,calc(100% - 48px)); margin:auto; }
.inyeon-cover { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:56px; padding:40px 0 36px; }
.inyeon-sample-label { display:inline-block; padding:8px 13px; border:1px solid #d6dedd; border-radius:6px; color:#244e49; font-size:14px; font-weight:800; }
.inyeon-byline { margin:32px 0 10px; color:#3c504d; font-size:16px; }
.inyeon-cover h1 { margin:14px 0 26px; font-size:clamp(34px,4.8vw,58px); line-height:1.45; letter-spacing:-.05em; word-break:keep-all; }
.inyeon-cover-intro { color:#333b38; font-size:18px; line-height:1.9; }
.inyeon-cover .btn { margin-top:12px; background:#28564f; box-shadow:none; }
.inyeon-cover-image { position:relative; margin:0; border-radius:140px 140px 12px 12px; overflow:hidden; }
.inyeon-cover-image img { display:block; width:100%; height:auto; }
.inyeon-cover-image figcaption { position:absolute; bottom:0; left:0; right:0; padding:75px 28px 28px; background:linear-gradient(transparent,rgba(18,35,31,.93)); color:#fff; font:700 23px/1.7 'Gowun Batang',serif; text-align:center; }
.inyeon-sample-notice { padding:20px 24px; border-left:3px solid #28564f; background:#f4f7f6; font-size:15px; }
.inyeon-sample-notice p { margin:6px 0 0; color:#393d3b; }
.inyeon-story-letter { max-width:740px; margin:78px auto 38px; }
.inyeon-story-letter > span { color:#28564f; font-size:14px; font-weight:800; }
.inyeon-story-letter h2 { margin:14px 0 24px; font-size:32px; line-height:1.5; }
.inyeon-story-letter blockquote { margin:0; padding:0 0 0 22px; border-left:2px solid #b7ccc7; color:#292522; font:700 20px/1.9 'Gowun Batang',serif; }
.inyeon-profile { margin:22px 0 0; color:#464a46; font-size:14px; line-height:1.8; }
.inyeon-chart,.inyeon-toc { max-width:740px; margin:22px auto; border-top:1px solid #dce2df; border-bottom:1px solid #dce2df; padding:0 4px; scroll-margin-top:28px; }
.inyeon-chart summary,.inyeon-toc summary,.inyeon-evidence summary { cursor:pointer; padding:18px 0; color:#28564f; font-size:16px; font-weight:800; }
.inyeon-chart > p { font-size:15px; color:#363b37; line-height:1.8; }
.inyeon-pillars { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin:22px 0; border:1px solid #d6dedd; border-radius:8px; overflow:hidden; }
.inyeon-pillars > div { padding:18px 8px; text-align:center; border-right:1px solid #d6dedd; }
.inyeon-pillars > div:last-child { border:0; }
.inyeon-pillars span,.inyeon-pillars small { display:block; font-size:14px; }
.inyeon-pillars strong { display:block; margin:10px 0; font-size:29px; color:#28564f; }
.inyeon-toc nav { display:grid; grid-template-columns:1fr 1fr; gap:4px 22px; padding-bottom:20px; }
.inyeon-toc button { display:flex; align-items:start; gap:12px; padding:12px 0; border:0; border-bottom:1px solid #ecefec; color:#252321; background:transparent; font-size:15px; text-align:left; }
.inyeon-toc button span { color:#28564f; font-weight:800; }
.inyeon-chapter { padding:70px 0; border-bottom:1px solid #dce2df; scroll-margin-top:28px; }
.inyeon-chapter-heading { max-width:740px; margin:0 auto 30px; }
.inyeon-chapter-heading > span { color:#28564f; font-size:14px; font-weight:800; letter-spacing:.1em; }
.inyeon-chapter h2 { margin:12px 0 0; font-size:32px; line-height:1.55; word-break:keep-all; overflow-wrap:break-word; }
.inyeon-chapter h2:focus-visible { outline:2px solid #28564f; outline-offset:6px; }
.inyeon-chapter-layout { max-width:740px; margin:auto; }
.inyeon-dialogue { margin:0 0 30px; }
.inyeon-dialogue figcaption > span { display:block; margin-bottom:10px; color:#28564f; font-size:14px; font-weight:800; }
.inyeon-dialogue blockquote { margin:0; color:#252321; font:700 20px/1.85 'Gowun Batang',serif; }
.inyeon-aside { display:grid; grid-template-columns:68px 1fr; align-items:start; gap:18px; }
.inyeon-aside img { width:68px; height:82px; object-fit:cover; object-position:50% 20%; border-radius:40px; }
.inyeon-aside figcaption { position:relative; padding:23px 26px; border:1px solid #c5d5cf; border-radius:2px 20px 20px 20px; background:#f7faf8; }
.inyeon-scene { overflow:hidden; border-radius:14px; border:1px solid #d6dedd; }
.inyeon-scene img { display:block; width:100%; height:420px; object-fit:cover; object-position:50% 26%; }
.inyeon-scene figcaption { padding:28px 32px; background:#f7faf8; }
.inyeon-prose > p { margin:0 0 25px; color:#252321; font-size:18px; font-weight:600; line-height:1.95; word-break:keep-all; overflow-wrap:break-word; }
.inyeon-action { margin:32px 0; padding:4px 0 4px 22px; border-left:3px solid #47756b; }
.inyeon-action h3 { margin:0 0 12px; color:#244e49; font-family:'Noto Sans KR',sans-serif; font-size:16px; font-weight:800; }
.inyeon-action p { margin:0; color:#252321; font-size:17px; line-height:1.9; }
.inyeon-message { margin:16px 0 0; padding:18px 22px; border-radius:18px 18px 2px 18px; background:#edf3f0; color:#202d27; font-size:17px; line-height:1.85; }
.inyeon-evidence { margin-top:28px; border-top:1px solid #e0e5e2; }
.inyeon-evidence summary { font-size:14px; }
.inyeon-evidence p { margin:0 0 12px; color:#353b37; font-size:16px; line-height:1.85; }
.inyeon-ending { max-width:740px; margin:70px auto 20px; text-align:center; }
.inyeon-ending > span { color:#28564f; font-size:14px; font-weight:800; }
.inyeon-ending h2 { margin:22px 0; font-size:34px; line-height:1.6; }
.inyeon-ending p { color:#353b37; font-size:16px; line-height:1.8; }
.inyeon-reader-nav { position:fixed; z-index:8400; bottom:12px; left:50%; transform:translateX(-50%); width:min(620px,calc(100% - 28px)); display:flex; justify-content:space-between; align-items:center; padding:6px; border:1px solid #c7d6d0; border-radius:14px; background:#fff; box-shadow:0 5px 24px #183e2e20; }
.inyeon-reader-nav button { min-height:44px; border:0; border-radius:9px; padding:10px 16px; background:#f0f5f2; color:#244e49; font-size:14px; font-weight:800; }
.inyeon-reader-nav > span { font-size:14px; color:#353b37; }
@media(min-width:960px) {
  .has-scene .inyeon-chapter-heading { max-width:none; }
  .has-scene .inyeon-chapter-layout { max-width:none; display:grid; grid-template-columns:360px 1fr; gap:46px; align-items:start; }
  .has-scene .inyeon-scene { position:sticky; top:28px; }
  .has-scene .inyeon-scene img { height:330px; }
  .has-scene .inyeon-scene figcaption { padding:24px; }
}
@media(max-width:650px) {
  .inyeon-story-shell { width:calc(100% - 40px); }
  .inyeon-cover { grid-template-columns:1fr; gap:26px; padding:32px 0 24px; }
  .inyeon-cover h1 { font-size:36px; }
  .inyeon-byline { margin-top:24px; }
  .inyeon-cover-intro { font-size:17px; font-weight:700; }
  .inyeon-cover-image { border-radius:110px 110px 10px 10px; }
  .inyeon-cover-image img { max-height:530px; object-fit:cover; object-position:50% 20%; }
  .inyeon-cover-image figcaption { font-size:21px; }
  .inyeon-sample-notice { padding:16px; }
  .inyeon-story-letter { margin-top:48px; }
  .inyeon-story-letter h2,.inyeon-chapter h2 { font-size:27px; }
  .inyeon-story-letter blockquote { font-size:19px; padding-left:16px; }
  .inyeon-toc nav { grid-template-columns:1fr; }
  .inyeon-chapter { padding:46px 0; }
  .inyeon-aside { grid-template-columns:46px 1fr; gap:10px; }
  .inyeon-aside img { width:46px; height:57px; }
  .inyeon-aside figcaption { padding:18px; }
  .inyeon-dialogue blockquote { font-size:19px; }
  .inyeon-scene img { height:340px; }
  .inyeon-scene figcaption { padding:24px 20px; }
  .inyeon-prose > p,.inyeon-action p,.inyeon-message { font-size:17px; font-weight:700; }
  .inyeon-action { padding-left:16px; }
  .inyeon-reader-nav > span { font-size:12px; }
  .inyeon-reader-nav button { padding:10px 12px; }
  .inyeon-ending h2 { font-size:28px; }
}
@media(prefers-reduced-motion:reduce) { .inyeon-story-page * { scroll-behavior:auto; } }
