@font-face{font-family:ForestMyeongjo;src:url('../fonts/NanumMyeongjo-Regular.woff') format('woff');font-style:normal;font-weight:400 700;font-display:swap}
:root{color-scheme:light;--ink:#334537;--muted:#7b8070;--paper:#faf5e8;--canvas:#f2eee3;--line:#d9dbcd;--serif:ForestMyeongjo,'Nanum Myeongjo','Noto Serif KR','Batang',serif;--sans:system-ui,-apple-system,'Malgun Gothic',sans-serif}
*{box-sizing:border-box}body{margin:0;color:var(--ink);font-family:var(--sans);background:var(--canvas)}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.35;cursor:default}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid #bb8b3c;outline-offset:4px}[hidden]{display:none!important}.reader{min-height:100svh;overflow-x:hidden;background:radial-gradient(ellipse at 50% 45%,#fffdf2 0%,#f2eee3 60%,#e6e8dc 100%)}.reader:before{content:'';position:fixed;inset:0;pointer-events:none;opacity:.2;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.17' filter='url(%23n)'/%3E%3C/svg%3E")}.site-header{max-width:1440px;margin:auto;padding:26px 48px 18px;display:flex;align-items:center;justify-content:space-between;position:relative}.brand{display:flex;gap:11px;align-items:center;color:var(--ink);text-decoration:none;font-family:var(--serif);font-size:20px;letter-spacing:1px}.brand-mark{font-size:40px;color:#64785d;line-height:1}.brand small{display:block;font-family:var(--sans);font-size:8px;letter-spacing:2px;padding-top:5px;color:#7a826c}.header-note{font-size:11px;letter-spacing:.6px;color:#7a806f}.header-note span{margin-left:20px;font-size:20px;color:#a88b52}.book-heading{text-align:center;margin:13px 20px 25px;position:relative}.eyebrow{font-size:9px;font-weight:600;letter-spacing:3px;color:#8b906e;margin:0 0 13px}.book-heading h1{font-family:var(--serif);font-size:27px;font-weight:400;line-height:1.5;white-space:pre-line;margin:0 0 9px}.book-heading>p:last-child{font-size:11px;color:#828575;margin:0}.stage{--page-h:clamp(360px,56svh,610px);position:relative;min-height:var(--page-h);width:min(100% - 64px,1040px);margin:auto;display:grid;place-items:center;perspective:2100px}.book-shadow{position:absolute;bottom:-19px;left:12%;right:12%;height:45px;background:radial-gradient(ellipse,#46533b37,transparent 69%);filter:blur(7px);pointer-events:none}.cover-holder{height:var(--page-h);aspect-ratio:2/3;position:relative;z-index:3;perspective:1600px;transform:rotate(-2deg);transition:transform .3s}.cover-holder:hover{transform:rotate(-1deg) translateY(-3px)}.cover-holder:after{content:'';position:absolute;inset:7px -7px -6px 8px;background:repeating-linear-gradient(#e9e0c8 0 1px,#cfc4a8 1px 2px);border:1px solid #978c6c;border-radius:1px 7px 9px 2px;z-index:-1;box-shadow:9px 16px 28px #26332126}.cover-button{border:0;padding:0;display:block;width:100%;height:100%;background:transparent;text-align:initial;transform-origin:left center;transform-style:preserve-3d;backface-visibility:hidden;border-radius:3px 6px 6px 2px;box-shadow:0 4px 6px #24332120,0 20px 42px #35402a28}.cover-design{position:relative;width:100%;height:100%;overflow:hidden;border-radius:inherit;container-type:inline-size;font-family:var(--serif);background:#314736}.cover-design:after{content:'';position:absolute;inset:0;pointer-events:none;box-shadow:inset 2px 0 2px #ffedac80,inset 11px 0 14px #1f2d2360,inset 14px 0 1px #ffe2a738,inset -1px 0 3px #1f2d2380;border:1px solid #b79e5566;border-radius:inherit}.cover-design>.image-slot{position:absolute;inset:0}.cover-wording{position:absolute;inset:0;padding:9% 10% 18%;display:flex;flex-direction:column;overflow:auto}.cover-title-block{padding:12px 5px;border-radius:2px}.cover-kicker{font-family:var(--sans);letter-spacing:3px;font-size:8px;margin:0 0 15px}.cover-title{font-weight:400;line-height:1.4;margin:0;white-space:pre-wrap;overflow-wrap:anywhere;text-wrap:balance}.cover-subtitle{font-size:12px;letter-spacing:.9px;line-height:1.8;margin:13px 0 0;white-space:pre-wrap}.cover-author{position:absolute;bottom:5%;left:12%;right:10%;margin:0;text-align:center;font-family:var(--sans);font-size:9px;letter-spacing:2px;color:#fff5d7;text-shadow:0 1px 8px #18301b}.open-book{position:relative;width:min(100%,calc(var(--page-h)*1.42));height:var(--page-h);outline:0;isolation:isolate}.book-boards{position:absolute;inset:-6px -8px -13px;border-radius:5px;background:#4a5b40;box-shadow:0 19px 38px #33442f30}.book-boards:after{content:'';position:absolute;inset:6px 4px 4px;background:repeating-linear-gradient(#e9e3d3 0 1px,#c8bfa6 1px 2px);border-radius:3px 3px 7px 7px}.spread{position:relative;display:grid;grid-template-columns:1fr 1fr;height:100%;border-radius:3px;overflow:hidden}.paper{container-type:inline-size;position:relative;background:#faf5e8;min-width:0;min-height:0;width:100%;height:100%;overflow:hidden;isolation:isolate;font-family:var(--serif)}.paper:after{content:'';position:absolute;inset:0;pointer-events:none;z-index:2;opacity:.18;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.65' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23p)' opacity='.18'/%3E%3C/svg%3E")}.page-content{position:absolute;inset:0 0 28px;overflow:hidden;min-height:0}.image-slot{width:100%;height:100%;min-width:0;min-height:0;display:flex;overflow:hidden;position:relative}.page-image{display:block;max-width:100%;max-height:100%;flex:none;user-select:none}.image-error{margin:auto;max-width:90%;padding:20px;text-align:center;color:#716d5d;background:#f4eedccc;line-height:1.7;font-family:var(--sans);font-size:13px}.image-error>span{font-size:30px}.image-error p{margin:8px 0}.image-error small{font-size:11px}.text-frame{display:flex;flex-direction:column;min-width:0;min-height:0;height:100%;padding:var(--text-padding,34px);padding:min(var(--text-padding,34px),7cqw);overflow:hidden;color:var(--text-color,#3c4539);font-size:var(--text-size,23px);line-height:var(--text-leading,1.9)}.text-scroll{min-height:0;max-height:100%;width:100%;overflow:auto;overscroll-behavior:contain;white-space:pre-wrap;overflow-wrap:anywhere;word-break:keep-all;scrollbar-width:thin;scrollbar-color:#9caa8766 transparent;padding:2px 5px 2px 2px}.text-scroll:focus-visible{outline-offset:-2px}.layout-stack .page-content{display:grid;grid-template-rows:var(--image-ratio) minmax(0,1fr)}.layout-split .page-content{display:grid;grid-template-columns:var(--image-ratio) minmax(0,1fr)}.layout-overlay .page-content>.image-slot{position:absolute;inset:0}.layout-overlay .text-frame{position:absolute;inset:0}.text-veil{padding:16px;border-radius:3px}.folio{position:absolute;bottom:8px;left:0;right:0;text-align:center;font-family:var(--sans);font-size:9px;letter-spacing:2px;color:#918b71;z-index:3}.endpaper{display:flex;flex-direction:column;justify-content:center;align-items:center;color:#82916e;gap:20px}.endpaper-sprig{font-size:70px}.endpaper small{font-family:var(--sans);font-size:9px;letter-spacing:4px}.book-seam{position:absolute;z-index:5;left:calc(50% - 22px);top:0;width:44px;height:100%;pointer-events:none;background:linear-gradient(90deg,transparent,#7b705d15 25%,#6a64553a 48%,#9a8b642b 50%,#fff7db66 53%,transparent 100%)}.turn-layer{position:absolute;inset:0;perspective:1800px;z-index:6;pointer-events:none}.turn-leaf{position:absolute;top:0;width:50%;height:100%;transform-style:preserve-3d;will-change:transform;}.turn-leaf.forward{left:50%;transform-origin:left center}.turn-leaf.backward{left:0;transform-origin:right center}.leaf-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden}.leaf-back{transform:rotateY(180deg)}.leaf-face:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#57493621,transparent 15%,transparent 85%,#57493619);pointer-events:none}.stationary-page{position:absolute;top:0;width:50%;height:100%}.stationary-page.left{left:0}.stationary-page.right{right:0}.reader-controls{text-align:center;position:relative;min-height:116px;margin:26px auto 0;padding:0 20px}.primary{border:1px solid #42573e;border-radius:4px;background:#42573e;color:#fff8e6;padding:12px 25px;min-height:44px;font-size:12px;letter-spacing:.5px;box-shadow:0 4px 9px #31452c12}.primary:hover{background:#344b31}.primary span{margin-left:22px;font-size:16px}.quiet{font-size:10px;line-height:1.8;color:#7f8575;margin:10px 0 0}.pagination{display:flex;justify-content:center;align-items:center;gap:24px}.round{display:grid;place-items:center;border:1px solid #c5cbb8;background:#f9f6ed;width:38px;height:38px;border-radius:50%;font-size:20px;color:#516047}.round:hover:enabled{background:#e1e6d5}#page-status{font-family:var(--serif);font-size:14px;min-width:108px}.progress-track{height:2px;background:#dfe1d3;width:142px;margin:14px auto 10px}#progress-fill{display:block;height:100%;background:#879675;width:0;transition:width .3s}.book-actions{display:flex;justify-content:center;gap:13px;color:#adb39c;align-items:center}.text-button{border:0;background:none;color:#747d64;padding:7px;font-size:11px;min-height:32px}.text-button:hover{text-decoration:underline}.end-note{font-family:var(--serif);color:#7c876a;font-size:13px;margin:8px 0 14px}.site-footer{max-width:1440px;padding:18px 48px 22px;display:flex;justify-content:space-between;align-items:center;margin:auto;font-size:9px;letter-spacing:.6px;color:#8b907d;position:relative}.site-footer span:last-child{font-size:8px;letter-spacing:2px}.footer-ornament{font-size:20px;color:#a7af91}.skip-link{position:fixed;top:-100px;left:20px;background:white;padding:12px;z-index:100}.skip-link:focus{top:8px}.fatal-message{padding:25px;text-align:center}.single .spread{grid-template-columns:1fr}.single .book-seam{left:0;width:18px;background:linear-gradient(90deg,#7d735729,transparent)}.single .turn-leaf{width:100%;left:0}.single .stationary-page{display:none}.single.open-book{width:min(100%,calc(var(--page-h)*.69))}
@media(max-width:760px){.reader .layout-split .page-content{grid-template-columns:1fr;grid-template-rows:var(--image-ratio) minmax(0,1fr)}}
@media(max-width:760px){.site-header{padding:19px 23px}.brand{font-size:17px}.brand-mark{font-size:32px}.header-note{font-size:9px}.header-note span{display:none}.book-heading{margin:14px 16px 22px}.eyebrow{font-size:8px;letter-spacing:2px}.book-heading h1{font-size:23px}.book-heading>p:last-child{font-size:10px}.stage{width:calc(100% - 36px);--page-h:clamp(400px,59svh,620px)}.cover-holder{max-width:calc(100% - 12px)}.reader-controls{margin-top:25px;min-height:100px}.site-footer{padding:16px 22px 24px;gap:12px;font-size:8px}.site-footer span:last-child{font-size:7px;letter-spacing:1px}.footer-ornament{display:none}.book-shadow{left:0;right:0}.open-book.single{width:min(100%,calc(var(--page-h)*.71))}}
@media(max-height:550px) and (orientation:landscape){.site-header{padding-top:12px;padding-bottom:10px}.book-heading{margin:2px 0 15px}.book-heading .eyebrow,.book-heading>p:last-child{display:none}.book-heading h1{font-size:20px}.stage{--page-h:410px}.site-footer{padding-top:5px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.cover-holder:hover{transform:rotate(-2deg)}}

/* Keep cover and spread on the same stage during opening. */
.stage > .cover-holder,.stage > .open-book{grid-area:1 / 1}
.layout-overlay .text-scroll{ text-shadow:0 1px 5px #17291c55 }
