:root{font-family:'Malgun Gothic','Apple SD Gothic Neo',sans-serif;color:#173f43;background:#f6c649;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at top,#ffdf79,transparent 65%);min-height:100vh}button,a,input{font:inherit}button{cursor:pointer;border:0;background:#fff9e9;color:#164c50;padding:.8rem 1.1rem;border-radius:2rem;font-weight:700;min-height:46px}button:hover{background:#ffefb9}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #006c77;outline-offset:4px}button:disabled{opacity:.4;cursor:default}header{max-width:1280px;margin:auto;display:flex;justify-content:space-between;align-items:center;padding:1.2rem 2rem;gap:1rem}.brand{color:#164c50;text-decoration:none;font-weight:900;font-size:1.1rem}main{max-width:1200px;margin:auto;padding:0 2rem 2rem}.book-heading{display:flex;justify-content:space-between;font-size:.9rem;margin:.4rem .3rem .8rem;gap:1rem}#book{position:relative;background:#fffbed;overflow:hidden;border-radius:12px;box-shadow:0 18px 45px #754b2433;border:6px solid #fffbed}#art{display:block;width:100%;aspect-ratio:2/1;object-fit:cover}#book.cover #art{aspect-ratio:2/1;object-fit:contain;background:#ffd45c}#copy{display:grid;grid-template-columns:1fr 1fr;background:#fffbed;position:relative}#copy:after{content:'';position:absolute;left:50%;top:0;bottom:0;width:1px;background:#dfd7bb}.page-text{font-size:clamp(1rem,1.5vw,1.24rem);line-height:1.85;white-space:pre-line;padding:1.25rem 2rem;min-height:9rem;margin:0;transition:background .3s}.page-text.active{background:#fff0b9}.page-text small{display:block;font-size:.85rem;color:#7b8173;margin-top:.6rem}.cover #copy{display:block;text-align:center}.cover #copy:after{display:none}.cover .page-text{font-size:clamp(1.7rem,4vw,2.8rem);font-weight:900;line-height:1.4;min-height:0;padding:1rem}.controls{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:1.4rem}.controls>button:not(.primary){font-size:2rem;width:54px;height:54px;line-height:1;padding:0}.primary{background:#07696c;color:white;min-width:210px;font-size:1.15rem;box-shadow:0 5px 0 #034b4e;padding:1rem 2rem}.primary:hover{background:#08585b}#status{text-align:center;min-height:1.5em;font-size:.92rem;line-height:1.5}#dots{display:flex;gap:.55rem;justify-content:center;flex-wrap:wrap}#dots button{min-height:32px;width:32px;padding:0;font-size:.85rem;background:#ffffff66}#dots button[aria-current=true]{background:#164c50;color:#fff}dialog{border:0;border-radius:18px;padding:1.6rem;max-width:780px;width:calc(100% - 2rem);max-height:90vh;color:#173f43;background:#fffdf5}dialog::backdrop{background:#092d3cb3}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}h1{font-size:1.5rem}dialog p{line-height:1.7}.subtle{font-size:.88rem;color:#586a69}dialog a{color:#00666c;font-weight:700}details{margin:1.5rem 0;padding:1rem;background:#f4efdb;border-radius:12px}summary{cursor:pointer;font-weight:700}.record-row{padding:1.1rem 0;border-bottom:1px solid #dedfcb}.record-row h2{font-size:1rem;margin:.2rem 0 .5rem}.record-row p{white-space:pre-line;font-size:.95rem;margin:.5rem 0}.record-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}.record-actions input{max-width:100%;font-size:.9rem}.record-actions button{background:#e7f0e8;font-size:.9rem}.record-actions .recording{background:#c6363e;color:white}audio{width:100%;margin-top:.6rem}.timing{display:flex;align-items:center;gap:.5rem;margin:.6rem 0;font-size:.9rem}.timing label{flex:1}.timing input{width:90px;padding:.5rem;border:1px solid #c6c7b8;border-radius:6px}#saveTimings{background:#07696c;color:white;margin-top:1rem}@media(max-width:650px){header{padding:1rem}.brand{font-size:.95rem}header button{font-size:.85rem}main{padding:0 .65rem 1.5rem}.book-heading{font-size:.8rem}#book{border-width:3px}#art{aspect-ratio:1.55/1;object-fit:contain;background:#fffbed}#copy{grid-template-columns:1fr}.page-text{padding:.8rem 1rem;min-height:0;font-size:1rem;line-height:1.7}#copy:after{display:none}.page-text+.page-text{border-top:1px solid #e4dcc7}.page-text small{margin-top:.2rem}.controls{margin-top:1rem;gap:.8rem}.primary{min-width:190px;padding:.9rem 1rem}dialog{padding:1rem}.dialog-head h1{font-size:1.2rem}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.header-actions{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}
#fullscreenExit{position:fixed;top:max(16px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right));z-index:10000;background:#173f43df;color:#fff;border:1px solid #ffffff70;box-shadow:0 2px 12px #0003;font-size:.9rem;backdrop-filter:blur(8px)}
#fullscreenExit[hidden]{display:none}
#fullscreenExit:hover{background:#173f43}
#copy>.page-text:only-child{grid-column:1/-1}
#copy:has(>.page-text:only-child)::after{display:none}
:fullscreen body,.reading-fullscreen{background:#000;overflow:hidden}
:fullscreen header,.reading-fullscreen header,
:fullscreen .book-heading,.reading-fullscreen .book-heading,
:fullscreen #copy,.reading-fullscreen #copy,
:fullscreen .controls,.reading-fullscreen .controls,
:fullscreen #status,.reading-fullscreen #status,
:fullscreen #dots,.reading-fullscreen #dots{display:none}
:fullscreen main,.reading-fullscreen main{margin:0;padding:0;max-width:none}
:fullscreen #book,.reading-fullscreen #book{position:fixed;inset:0;width:100vw;height:100dvh;border:0;border-radius:0;box-shadow:none;background:#000}
.header-actions{align-items:center}
#motion{display:block;width:100%;aspect-ratio:2/1;object-fit:contain;background:#fffbed}
#motion[hidden],#art[hidden]{display:none}
@media(max-width:650px){#motion{aspect-ratio:1.55/1}}
:fullscreen #book #art,:fullscreen #book #motion,
.reading-fullscreen #book #art,.reading-fullscreen #book #motion{width:100%;height:100%;max-height:none;aspect-ratio:auto;object-fit:cover;object-position:center;background:#000}

.voice-controls{display:flex;align-items:center;justify-content:center;gap:.7rem;flex-wrap:wrap;margin-top:1rem}.voice-controls select{font:inherit;max-width:100%;padding:.6rem 1rem;border-radius:12px;border:1px solid #a9bdb5;background:#fffbed;color:#173f43}.voice-controls small{flex-basis:100%;text-align:center;color:#586a69}.reading-fullscreen .voice-controls,:fullscreen .voice-controls{display:none}
