/* 109차 작품집: 2022 온라인 북 뷰어 (기존 홈페이지 전역 스타일과 독립) */
.book109{--b109-ink:#294b40;--b109-green:#36584b;--b109-quiet:#829184;--b109-cream:#f6f5ef;--b109-sage:#e8ede6;color:var(--b109-ink);background:#f9f8f5}
.book109 *{box-sizing:border-box}
.book109 button,.book109 select{font:inherit}
.book109 button{cursor:pointer}
.book109 button:disabled{cursor:default;opacity:.35}
.book109 a{text-decoration:none}
.book109-kicker{font-family:Arial,sans-serif;letter-spacing:.20em;color:#879889;font-weight:700;font-size:11px;line-height:1.5}
.book109-kicker-line{width:24px;height:1px;background:#9cb19f;vertical-align:middle;display:inline-block;margin:0 10px}
.book109-hero{background:linear-gradient(125deg,#f5f4ee 4%,#f9f9f6 46%,#e6ece4 100%);padding:44px 0 74px;overflow:hidden}
.book109-hero-grid{display:grid;grid-template-columns:1fr minmax(320px,.79fr);align-items:center;gap:50px;max-width:1120px}
.book109 .page-breadcrumb{margin:0 0 67px;color:#809183;font-size:12px;display:flex;gap:10px}
.book109 .page-breadcrumb a{color:inherit}
.book109-hero-copy{padding:0 0 14px}
.book109-vol{font-size:13px;color:#af8873;letter-spacing:-.025em;margin-top:23px}
.book109-hero h1{font-size:clamp(39px,4.6vw,65px);line-height:1.24;letter-spacing:-.07em;margin:14px 0 24px;font-weight:550;color:#1f4134}
.book109-hero h1 .book109-title-sub{display:block;color:#697c69}
.book109-hero-intro{font-size:15px;line-height:2.05;letter-spacing:-.04em;color:#738175;max-width:430px}
.book109-hero-tags{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0 34px}
.book109-hero-tags span{font-size:11px;padding:7px 12px;border:1px solid #d8dfd5;border-radius:24px;color:#788678}
.book109-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px}
.book109-primary{display:inline-flex;align-items:center;gap:34px;background:#2e5344;color:#fff!important;padding:15px 22px;border-radius:5px;font-size:13px;font-weight:700;transition:background .2s,transform .2s}
.book109-primary:hover{background:#214234;transform:translateY(-2px)}
.book109-subtle{font-size:12px;color:#657c6d!important;font-weight:600}
.book109-subtle span{margin-left:5px}
.book109-hero-book{position:relative;justify-self:center;width:min(100%,385px);padding:13px 31px 28px 0}
.book109-cover-mat{background:white;padding:9px;box-shadow:23px 25px 34px rgba(48,70,56,.11),0 4px 10px rgba(48,70,56,.07);transform:rotate(2deg)}
.book109-cover-mat img{width:100%;height:auto;aspect-ratio:1544/2048;object-fit:contain;display:block}
.book109-cover-side{display:block;position:absolute;right:0;bottom:9px;color:#869b8c;font-size:9px;letter-spacing:.16em;writing-mode:vertical-rl}
.book109-reader-section{padding:94px 0 115px;background:#f8f7f3}
.book109-section-heading{max-width:1100px;margin:0 auto 40px;display:flex;justify-content:space-between;align-items:flex-end;gap:40px}
.book109-section-heading h2{font-size:clamp(29px,3.3vw,44px);line-height:1.42;letter-spacing:-.06em;font-weight:550;margin:17px 0}
.book109-section-heading h2 span{color:#b88b73}
.book109-section-description{font-size:13px;line-height:1.9;color:#889389}
.book109-section-aside{display:flex;align-items:center;gap:12px;border-left:1px solid #d9e1d6;padding-left:25px;margin-bottom:8px;white-space:nowrap}
.book109-section-aside strong{font-family:Georgia,serif;font-weight:400;font-size:57px;color:#426450}
.book109-section-aside span{font-size:11px;color:#96a196;line-height:1.75}
.book109-section-aside b{font-size:11px;color:#6f8273;font-weight:600}
.book109-reader{max-width:1100px;margin:0 auto;border:1px solid #e1e6de;background:#fff;padding:26px 28px 24px;border-radius:4px;box-shadow:0 18px 44px rgba(37,63,46,.035)}
.book109-reader-top{display:flex;justify-content:space-between;align-items:center;padding:0 6px 18px;border-bottom:1px solid #edf0eb}
.book109-reader-wordmark{font:700 12px Arial,sans-serif;letter-spacing:.13em;color:#597b64}.book109-reader-wordmark em{color:#be977c;font-style:normal;margin:0 5px}.book109-reader-wordmark small{font-size:10px;color:#a5aea3;margin-left:6px}
.book109-reader-progress{display:flex;align-items:baseline;gap:8px;font:500 16px Georgia,serif;color:#839283;font-variant-numeric:tabular-nums}.book109-reader-progress #book109-counter{color:#305946;font-size:24px}.book109-reader-slash{color:#b8c6b9}
.book109-spread{display:grid;grid-template-columns:60px minmax(0,1fr) 60px;gap:12px;align-items:center;padding:26px 0 15px}
.book109-arrow{background:#eff2ed;border:1px solid #e1e7df;border-radius:100px;width:50px;height:50px;color:#38624e;display:grid;place-items:center;transition:background .15s,transform .15s}
.book109-arrow:hover:not(:disabled){background:#dfe9df;transform:scale(1.04)}
.book109-arrow svg{width:23px;height:23px}
.book109-arrow-left{justify-self:center}.book109-arrow-right{justify-self:center}
.book109-page-figure{margin:0;min-width:0;justify-self:center;max-width:670px;width:100%}
.book109-page-click{border:0;padding:0;background:#fff;display:block;position:relative;width:100%;max-width:500px;margin:0 auto;box-shadow:0 13px 24px rgba(32,46,33,.12),0 2px 5px rgba(32,46,33,.08);line-height:0}
.book109-page-click>img{width:100%;height:auto;aspect-ratio:1513/2048;max-height:650px;object-fit:contain;display:block;background:#f9faf8}
.book109-page-zoom-hint{display:flex;align-items:center;gap:5px;position:absolute;right:10px;bottom:10px;background:rgba(30,67,50,.90);color:#fff;font-size:11px;font-weight:600;line-height:1;padding:8px 10px;border-radius:4px;opacity:0;transition:opacity .15s}
.book109-page-zoom-hint svg{width:14px;height:14px}.book109-page-click:hover .book109-page-zoom-hint,.book109-page-click:focus-visible .book109-page-zoom-hint{opacity:1}
.book109-figcaption{display:flex;justify-content:center;gap:10px;align-items:center;padding:17px 5px 6px;line-height:1.5;color:#738574;font-size:12px;letter-spacing:-.02em;text-align:center;flex-wrap:wrap}
.book109-figcaption>span{font-size:10px;color:#94a396;border-right:1px solid #d4ded2;padding-right:10px}.book109-figcaption strong{font-weight:500;color:#425d4c}
.book109-reader-controls{display:flex;justify-content:center;align-items:center;gap:16px;padding:12px 0 24px}
.book109-jump{font-size:11px;font-weight:700;color:#778c7b;display:flex;gap:10px;align-items:center}.book109-jump select{appearance:auto;font-size:12px;color:#395947;background:#f5f7f3;border:1px solid #dfe5dd;border-radius:4px;padding:9px 22px 9px 10px;max-width:320px}
.book109-mobile-nav{display:none}
.book109-track-header{display:flex;align-items:baseline;justify-content:space-between;padding:18px 4px 12px;border-top:1px solid #edf0eb;color:#6c8675;font-size:12px;font-weight:700}
.book109-track-header small{font-size:11px;font-weight:400;color:#a0afa1}
.book109-thumbs{display:flex;overflow:auto;gap:10px;scrollbar-width:thin;scroll-snap-type:x proximity;padding:4px 4px 14px;overscroll-behavior-x:contain}
.book109-thumb{background:#fbfcfa;border:2px solid transparent;border-radius:4px;padding:6px 6px 5px;flex:none;width:82px;scroll-snap-align:start;display:flex;flex-direction:column;gap:7px;align-items:center;transition:border-color .2s,background .2s;}
.book109-thumb img{width:64px;height:86px;object-fit:cover;display:block;background:#f5f5f1;box-shadow:0 2px 6px rgba(0,0,0,.08)}
.book109-thumb span{font-size:10px;font-weight:700;color:#7c8e80;line-height:1.4;font-variant-numeric:tabular-nums}
.book109-thumb:hover{background:#f1f5ef}.book109-thumb[aria-pressed=true]{background:#eaf1e8;border-color:#71927c}
.book109-reader-bottom{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid #edf0eb;padding-top:15px;font-size:10px;color:#94a698}
.book109-reader-bottom>span{letter-spacing:.16em;color:#a7b5a5;font-size:10px}
.book109-outro{background:#eaf0e9;padding:70px 0 80px}
.book109-outro-row{display:flex;gap:30px;align-items:flex-end;justify-content:space-between}
.book109-outro h2{font-size:clamp(23px,2.6vw,35px);letter-spacing:-.055em;margin:15px 0 10px;font-weight:600}
.book109-outro p:not(.book109-kicker){font-size:13px;color:#7c8d7f;line-height:1.9}
.book109-outro-links{display:flex;gap:10px;flex-wrap:wrap}
.book109-outro-links a{color:#335946;font-size:12px;font-weight:700;border:1px solid #cfdbcd;background:#f9fbf7;padding:13px 15px;border-radius:4px;display:flex;gap:30px;align-items:center}
.book109-outro-links a:hover{background:#fff}
.book109-zoom-dialog{padding:0;border:0;position:fixed;inset:0;width:min(calc(100vw - 20px),1100px);max-height:calc(100dvh - 22px);height:calc(100dvh - 22px);background:#f7f8f5;border-radius:9px;box-shadow:0 20px 80px rgba(0,0,0,.3);overflow:hidden;color:#305443}
.book109-zoom-dialog::backdrop{background:rgba(16,32,24,.8)}
.book109-zoom-panel{height:100%;display:flex;flex-direction:column}
.book109-zoom-bar{flex:none;display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:white;border-bottom:1px solid #dfe7df;gap:10px;font-size:12px;font-weight:700}
.book109-zoom-bar-actions{display:flex;align-items:center;gap:6px}
.book109-zoom-bar-actions button{border:1px solid #dfe6dd;background:#f6f8f4;color:#3d5f4d;width:34px;height:34px;border-radius:4px;font-size:18px}
.book109-zoom-bar-actions button:hover{background:#eaf1e8}.book109-zoom-bar-actions>span{width:50px;text-align:center;font:600 11px Arial,sans-serif;color:#607767}
.book109-zoom-bar-actions .book109-zoom-close{margin-left:12px;background:#2d503e;color:#fff}
.book109-zoom-scroll{flex:1;min-height:0;overflow:auto;display:block;padding:25px 18px;scrollbar-width:thin;text-align:center}
.book109-zoom-scroll img{display:block;max-width:none;height:auto;width:calc(min(74vw,700px) * var(--book109-zoom,1));margin:0 auto;box-shadow:0 9px 26px rgba(24,44,29,.12)}
.book109-zoom-help{font-size:11px;text-align:center;color:#809384;padding:11px;background:#fff;border-top:1px solid #e1e8df}
.book109 :focus-visible{outline:3px solid #8aaf8b;outline-offset:3px}
@media(max-width:1000px){.book109-hero-grid{gap:38px;grid-template-columns:1fr .8fr}.book109 .page-breadcrumb{margin-bottom:42px}.book109-hero{padding:38px 0 64px}.book109-reader-section{padding:76px 0 90px}}
@media(max-width:700px){
 .book109-hero-grid{grid-template-columns:1fr;gap:22px}.book109-hero{padding:24px 0 64px}.book109 .page-breadcrumb{margin-bottom:30px}.book109-hero h1{font-size:39px}.book109-hero-intro{font-size:13px}.book109-hero-copy{padding:0}.book109-hero-book{width:min(78%,340px);padding-top:10px}.book109-hero-tags{margin-bottom:25px}
 .book109-reader-section{padding:61px 0 76px}.book109-section-heading{align-items:flex-start;gap:16px;margin-bottom:24px}.book109-section-heading h2{font-size:30px}.book109-section-description{font-size:12px}.book109-section-aside{display:none}
 .book109-reader{padding:16px 13px 18px;border-radius:3px}.book109-spread{display:block;padding:18px 2px 8px}.book109-arrow{display:none}.book109-page-click{max-width:500px}.book109-page-click>img{max-height:none}.book109-figcaption{font-size:11px}.book109-reader-controls{justify-content:space-between;gap:7px;padding:10px 0 18px}.book109-mobile-nav{display:block;background:#f3f6f0;border:1px solid #dae5d9;border-radius:4px;padding:10px 12px;font-size:12px;color:#3c624e;font-weight:700;flex:none}.book109-jump{gap:0}.book109-jump select{max-width:145px;font-size:11px;padding:9px 4px}.book109-jump{font-size:0}
 .book109-track-header small{display:none}.book109-thumb{width:72px}.book109-thumb img{width:57px;height:77px}.book109-reader-wordmark{font-size:10px}.book109-outro-row{flex-direction:column;align-items:flex-start;gap:22px}.book109-outro{padding:51px 0 58px}
 .book109-zoom-bar{padding:9px 10px}.book109-zoom-bar>span{font-size:10px;max-width:120px}.book109-zoom-scroll{padding:16px 10px}.book109-zoom-scroll img{width:calc(min(85vw,700px) * var(--book109-zoom,1))}
}
@media(prefers-reduced-motion:reduce){.book109 *{scroll-behavior:auto!important;transition:none!important}}
