@import url('https://fonts.googleapis.com/css2?family=Gowun+Batang:wght@400;700&family=Noto+Sans+KR:wght@400;500;600;700;800&display=swap');
:root{--ink:#263b3b;--navy:#173d3e;--paper:#f7f5ef;--muted:#61716b;--line:#dce1d8;--accent:#cc6c32;font-family:'Noto Sans KR',sans-serif;color:var(--ink);background:var(--paper);font-size:16px}*{box-sizing:border-box}body{margin:0}button,select,input{font:inherit}a{color:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer;color:inherit;background:white;border:1px solid var(--line);border-radius:10px;min-height:44px;padding:9px 16px}button:disabled{opacity:.35;cursor:default}button:hover:not(:disabled){border-color:var(--accent)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #d8793b;outline-offset:4px}[hidden]{display:none!important}h1,h2,h3,p{word-break:keep-all;overflow-wrap:anywhere}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip{position:fixed;top:-100px;left:15px;padding:15px;background:white;z-index:99}.skip:focus{top:10px}.site-header{height:68px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:700;font-size:.85rem}.brand-mark{background:var(--navy);color:#f8d18b;border-radius:50%;width:34px;height:34px;display:grid;place-items:center;font-family:serif;font-size:1.3rem}.brand-sub{display:block;font-size:.65rem;font-weight:400;margin-top:2px}.site-header>a:last-child{font-size:.75rem;text-decoration:none}.site-footer{padding:22px 5vw;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:.7rem;color:var(--muted);line-height:1.8}.eyebrow{text-transform:uppercase;font-size:.75rem;letter-spacing:.08em;color:#8c5429;font-weight:700}.shelf{max-width:1240px;margin:auto;padding:45px 5vw 40px}.shelf-heading{margin-bottom:30px}.shelf-heading h1{font-family:'Gowun Batang',serif;font-size:clamp(2rem,3.2vw,3.3rem);line-height:1.4;margin:14px 0}.shelf-heading h1 br{display:none}.shelf-heading p{color:var(--muted);font-size:.95rem;margin:0}.books{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.book{background:white;border:1px solid var(--line);border-radius:18px;overflow:hidden}.cover-button{width:100%;padding:0;border:0;border-radius:0;position:relative;display:block;overflow:hidden}.cover-button img{width:100%;height:auto;aspect-ratio:1.5;object-fit:cover;display:block;transition:transform .5s}.cover-button:hover img{transform:scale(1.035)}.cover-play{position:absolute;bottom:15px;right:15px;width:42px;height:42px;border-radius:50%;background:#ffffffed;display:grid;place-items:center;font-size:.85rem}.book-body{padding:24px}.book-tag{font-size:.75rem;color:#62746b}.book h2{font-family:'Gowun Batang',serif;font-size:1.6rem;line-height:1.5;margin:10px 0 16px;min-height:2.8em}.book p{font-size:.8rem;line-height:1.8;color:var(--muted)}.book p span{white-space:nowrap}.book-start{display:flex;justify-content:space-between;align-items:center;width:100%;background:var(--navy);color:white;border-color:var(--navy);margin-top:20px;font-size:.85rem}.shelf-note{font-family:'Gowun Batang',serif;text-align:center;font-size:1.05rem;color:var(--muted);margin:34px 0 0}.cinema{width:min(1060px,92vw);margin:18px auto 42px}.story-header{display:flex;align-items:center;gap:18px;font-size:.75rem;min-height:36px;color:var(--muted)}.back-link{text-decoration:none;color:var(--ink)}.story-header .quiet{margin-left:auto;background:transparent;border-color:transparent;font-size:.75rem;min-height:36px;padding:6px}.story-title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:9px 0 16px}.story-title h1{font-family:'Gowun Batang',serif;font-size:1.75rem;line-height:1.4;margin:0}.story-title>span{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.8rem;color:var(--muted)}.screen{overflow:hidden;border-radius:15px;background:#172b2c;box-shadow:0 10px 40px #193c3b12}.image-shell{position:relative;overflow:hidden;aspect-ratio:16/8.6;background:#e6dfcc;max-height:52vh}.image-shell>img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.015)}.image-shell.is-playing>img{animation:gentle-pan 32s ease-in-out forwards}.scene-label{position:absolute;top:15px;left:18px;padding:7px 11px;background:#fffaf0ed;color:#37453e;border-radius:7px;font-size:.75rem;backdrop-filter:blur(8px)}.picture-note{position:absolute;bottom:16px;left:20px;max-width:calc(100% - 40px);padding:9px 14px;background:#fffaf2f0;border-radius:8px;color:#39473e;font-size:.9rem;font-weight:600;line-height:1.6;box-shadow:0 2px 14px #00000010}.picture-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:70px;height:70px;min-height:70px;border-radius:50%;background:#fffdf2e6;color:var(--navy);border:1px solid #ffffff77;font-size:1.5rem;padding:0 0 0 5px;box-shadow:0 5px 25px #0002}.caption-panel{min-height:104px;padding:17px 7%;display:flex;align-items:center;justify-content:center;text-align:center;color:#fffef8;background:#172b2c}.caption-panel p{font-size:1.3rem;line-height:1.65;margin:0;max-width:820px;letter-spacing:-.015em}.track-line{height:10px;position:relative;display:flex;align-items:center;background:#172b2c}.track-line input{width:100%;margin:0;height:8px;accent-color:#eba269;cursor:pointer}.controls{padding:15px 5px 8px}.transport{display:flex;align-items:center;justify-content:center;gap:12px}.transport button{border:0;background:transparent;font-size:.85rem;padding:10px 17px}.transport .main-play{min-width:132px;border-radius:24px;background:var(--navy);color:white;font-weight:600;display:flex;align-items:center;justify-content:center;gap:12px;font-size:1rem;min-height:48px}.transport #rewind{font-size:.8rem}.play-info{display:flex;justify-content:space-between;gap:15px;font-size:.7rem;color:var(--muted);margin:12px 0 16px;min-height:18px}.preferences{border-top:1px solid var(--line);padding-top:13px;display:flex;gap:22px;align-items:center;flex-wrap:wrap;font-size:.75rem}.preferences label{display:flex;align-items:center;gap:8px}.preferences select{border:1px solid #d2d9d1;background:transparent;padding:7px;border-radius:6px;font-size:.75rem;color:var(--ink);min-height:36px}.preferences button{font-size:.75rem;min-height:36px;padding:6px 11px;background:transparent}.narrator-label{margin-left:auto;color:var(--muted);font-size:.7rem}.chapters{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-top:24px}.chapters button{font-size:.7rem;text-align:left;padding:12px 10px;line-height:1.7;background:transparent;word-break:keep-all}.chapters button span{display:block;font-size:.65rem;color:#7e8d82;margin-bottom:4px}.chapters button[aria-current]{background:#e8ece1;border-color:#879b81;font-weight:600}.lesson-details{margin-top:25px}.lesson-details details{border-bottom:1px solid var(--line);padding:18px 0;line-height:1.9;font-size:.9rem}.lesson-details summary{cursor:pointer;min-height:32px;font-size:.85rem}.lesson-details details section{max-width:740px;margin:24px auto}.lesson-details li{margin:10px 0}.lesson-details .text-control{background:transparent;border-color:transparent;font-size:.8rem;padding-left:0}.quiz-panel{background:white;border:1px solid var(--line);padding:28px;border-radius:16px;margin-top:22px}.quiz-panel h2{font-size:1.15rem;line-height:1.7}.choices{display:grid;grid-template-columns:1fr 1fr;gap:12px}.choices button{display:flex;align-items:flex-start;text-align:left;gap:12px;line-height:1.8;font-size:.9rem}.choices button>span{background:#edf1e7;border-radius:50%;padding:0 8px}.choices button[aria-pressed=true]{background:#eef4e9;border-color:#6a8d5e}.answer{background:#fff2dc;padding:18px;border-radius:10px;margin-top:18px;font-size:.9rem;line-height:1.9}.answer.correct{background:#edf4e7}.answer p{margin-bottom:0}.urgent{font-size:.75rem;line-height:1.8;background:#fff0db;border-left:3px solid #b97338;padding:8px 12px;margin:0 0 12px}.ending{max-width:780px;width:92vw;margin:35px auto 50px;text-align:center}.ending>img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:18px;margin:22px 0}.ending h1{font-family:'Gowun Batang',serif;font-size:2rem}.ending p{line-height:1.9;font-size:1.1rem}.ending>div{display:flex;justify-content:center;gap:15px;flex-wrap:wrap;margin-top:25px}.primary-link{display:inline-flex;align-items:center;text-decoration:none;background:var(--navy);color:white;border-radius:10px;padding:12px 20px}.ending details{padding:25px 0;line-height:2}.ending summary{cursor:pointer}.ending details button{display:block;margin:12px auto}.large-captions .caption-panel p{font-size:1.65rem}.large-captions .caption-panel{min-height:130px}@keyframes gentle-pan{from{transform:scale(1.015)}to{transform:scale(1.055)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:850px){.books{gap:15px}.book-body{padding:18px}.book h2{font-size:1.35rem}.book p span{display:block}.cinema{width:94vw}.chapters{grid-template-columns:repeat(3,1fr)}.image-shell{max-height:48vh}.preferences{gap:15px}.shelf-heading h1 br{display:block}}
@media(max-width:560px){.site-header{height:55px;padding:0 5vw}.brand-sub{display:none}.brand-mark{width:28px;height:28px;font-size:1.1rem}.site-header>a:last-child{font-size:.65rem}.shelf{padding:28px 5vw}.shelf-heading h1{font-size:2rem}.books{grid-template-columns:1fr;gap:22px}.book h2{font-size:1.6rem;min-height:0}.book-body{padding:20px}.book p span{display:inline}.book-start{margin-top:16px}.book-tag{font-size:.75rem}.cover-button img{aspect-ratio:1.7}.site-footer{display:block;font-size:.65rem}.site-footer span{display:block;margin:3px 0}.cinema{width:94vw;margin-top:10px}.story-header{gap:10px;font-size:.65rem}.story-header>span{max-width:130px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.story-title{margin:8px 2px 12px;gap:12px}.story-title h1{font-size:1.25rem}.story-title>span{font-size:.7rem}.screen{border-radius:10px}.image-shell{aspect-ratio:16/10;max-height:none}.scene-label{top:10px;left:10px;font-size:.65rem;padding:5px 8px}.picture-note{bottom:10px;left:10px;max-width:calc(100% - 20px);font-size:.7rem;padding:6px 9px}.picture-play{width:54px;height:54px;min-height:54px;font-size:1.1rem}.caption-panel{min-height:128px;padding:13px 17px}.caption-panel p{font-size:1.03rem;line-height:1.8}.large-captions .caption-panel p{font-size:1.3rem}.large-captions .caption-panel{min-height:158px}.controls{padding:11px 3px 5px}.transport{gap:6px}.transport button{padding:8px 12px;font-size:.75rem}.transport .main-play{min-width:114px;min-height:44px;font-size:.9rem}.transport #rewind{font-size:.7rem}.play-info{font-size:.65rem;gap:10px;margin:10px 0 12px}.play-info #clock{white-space:nowrap}.preferences{gap:10px}.preferences label{gap:5px}.preferences select{font-size:.7rem;max-width:138px;padding:5px}.preferences button{font-size:.7rem;padding:5px 8px}.narrator-label{font-size:.6rem}.chapters{gap:6px;margin-top:18px}.chapters button{font-size:.65rem;padding:9px}.quiz-panel{padding:18px}.choices{grid-template-columns:1fr}.urgent{font-size:.65rem;padding:7px 10px}.lesson-details{margin-top:18px}.ending h1{font-size:1.6rem}.ending p{font-size:1rem}}

/* Readable controls and essential guidance on narrow screens. */
.site-header>a:last-child,.eyebrow,.book-tag,.book-body p,.scene-label,.picture-note,.play-info,.preferences label,.preferences select,.preferences button,.chapters button,.urgent{font-size:max(.875rem,14px)}
.brand-sub,.narrator-label,.site-footer{font-size:max(.75rem,12px)}
.preferences{flex-wrap:wrap}.preferences select,.preferences button{min-height:44px}.play-info{flex-wrap:wrap}.scene-label,.picture-note{line-height:1.5}.urgent{line-height:1.7}
@media(max-width:640px){.transport{flex-wrap:wrap}.transport button,.transport #rewind{font-size:.875rem}.preferences select{max-width:100%}.chapters{grid-template-columns:repeat(2,minmax(0,1fr))}.site-header{height:auto;min-height:68px;padding-top:10px;padding-bottom:10px;flex-wrap:wrap}.site-footer{flex-wrap:wrap}.picture-note{font-size:.875rem}.caption-panel p{font-size:1.125rem}}
.library-tools{display:flex;gap:20px;align-items:end;flex-wrap:wrap;margin:28px 0 12px}.library-tools label{display:flex;flex-direction:column;gap:9px;font-size:.8rem;color:var(--muted);flex:1;min-width:180px}.library-tools select,.library-tools input{color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 14px;min-height:48px;width:100%;font-size:.9rem}.result-count{font-size:.8rem;color:var(--muted);margin:17px 0}.empty-stories{grid-column:1/-1;padding:40px 10px;text-align:center}.cover-button img{aspect-ratio:16/9}.chapters{grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}@media(max-width:600px){.chapters{grid-template-columns:repeat(2,minmax(0,1fr))}.library-tools{gap:14px}.library-tools label{min-width:100%}}

/* Homepage brand and completion navigation */
.brand-logo{display:block;width:240px;height:auto;max-width:100%}.ending-actions{display:flex;justify-content:center;align-items:stretch;gap:12px;flex-wrap:wrap;margin:24px 0}.ending-actions .primary-link{justify-content:center;min-height:48px;font-weight:700}.ending-actions button{min-height:48px}.ending h1{margin:14px 0}.ending>img{margin-top:28px}@media(max-width:560px){.site-header{height:auto;min-height:64px;gap:12px;padding:12px 4vw}.brand-logo{width:190px}.brand{min-width:0}.site-header>a:last-child{max-width:95px;font-size:12px;line-height:1.5;flex-shrink:0}.ending-actions{flex-direction:column}.ending-actions>*{width:100%}.ending{margin-top:24px}}

.library-tools{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:1rem}.picture-note{max-width:calc(100% - 2rem);white-space:normal;overflow-wrap:anywhere;line-height:1.45}.lesson-details li p{font-size:.9rem;line-height:1.6;color:#435266;margin:.35rem 0}.lesson-details a{overflow-wrap:anywhere}@media(max-width:700px){.library-tools{grid-template-columns:1fr 1fr}.library-tools label:last-child{grid-column:1/-1}.picture-note{font-size:.9rem}}@media(max-width:380px){.library-tools{grid-template-columns:1fr}.library-tools label:last-child{grid-column:auto}}

.site-header>a:last-child{white-space:nowrap}@media(max-width:560px){.site-header>a:last-child{max-width:none}}

/* Fit complete artwork into a viewport-height constrained stage. */
.image-shell{width:100%;background:#eee8dc}.image-shell>img{object-fit:contain;transform:none}.image-shell.is-playing>img{animation:none}@media(max-width:560px){.image-shell{aspect-ratio:16/9}}

.volume-controls{display:flex;align-items:center;flex-wrap:wrap;gap:10px;width:100%;padding:12px 0;border-top:1px solid var(--line)}.volume-controls label{font-size:.85rem}.volume-controls input{width:clamp(100px,25vw,240px);min-width:0;min-height:44px;accent-color:var(--navy);flex:1 1 100px;max-width:240px}.volume-controls output{min-width:4em;font-size:.85rem;font-variant-numeric:tabular-nums}.volume-controls small{flex-basis:100%;font-size:.75rem;color:var(--muted);line-height:1.6}.volume-controls button{min-width:88px}@media(max-width:380px){.volume-controls{gap:8px}.volume-controls button{padding-inline:10px;min-width:80px}.volume-controls output{min-width:3.5em}}
