:root{color:#1d211d;background:var(--background,#f1eee7);font-synthesis:none;text-rendering:optimizelegibility;--theme:#1d211d;--background:#f1eee7;--paper:#ffffff9e;--muted:#696e66;--line:#1d211d24;--accent:#c35d3b;--shadow:0 24px 70px #28241e21;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#app{min-width:320px;min-height:100%;margin:0}body{background:radial-gradient(circle at 13% 12%, #ffffffd9, transparent 29rem), linear-gradient(145deg, var(--background), color-mix(in srgb, var(--background), #d9d0c2 28%));min-height:100dvh}button,select,input{font:inherit}button,select,input[type=range]{touch-action:manipulation}button:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid color-mix(in srgb, var(--accent), white 20%);outline-offset:3px}.app-shell{min-height:100dvh;padding:max(20px, env(safe-area-inset-top)) 18px max(18px, env(safe-area-inset-bottom));grid-template-rows:minmax(0,1fr) auto;gap:16px;display:grid}.book-panel{text-align:center;grid-template-rows:minmax(110px,1fr) auto;gap:16px;min-height:0;display:grid}.cover-stage{place-items:center;min-height:0;display:grid;overflow:hidden}.book-cover{object-fit:contain;filter:drop-shadow(0 20px 26px #201a1533);width:auto;max-width:min(76vw,360px);height:auto;max-height:100%;display:block}.cover-placeholder{aspect-ratio:4/5.4;color:#ffffffe6;background:linear-gradient(160deg, #ffffff1f, transparent 38%), var(--theme);width:min(58vw,260px);box-shadow:var(--shadow);border:1px solid #ffffff8a;border-radius:8px;place-items:center;display:grid}.cover-placeholder span{font-family:Iowan Old Style,Baskerville,Times New Roman,serif;font-size:clamp(4rem,18vw,7rem)}.book-heading{min-width:0}.eyebrow,.chapter-number{color:var(--accent);letter-spacing:.14em;text-transform:uppercase;margin:0 0 5px;font-size:.72rem;font-weight:600}.book-heading h1,.chapter-heading h2,.empty-state h2,.status-screen h1,.chapters-panel h2{font-family:Iowan Old Style,Baskerville,Times New Roman,serif;font-weight:600}.book-heading h1{text-wrap:balance;margin:0;font-size:clamp(1.65rem,7.5vw,2.45rem);line-height:1}.book-subtitle{color:var(--text);text-wrap:balance;margin:8px 0 0;font-size:.88rem;line-height:1.35}.book-author{color:var(--muted);margin:6px 0 0;font-size:.9rem}.player-panel{background:var(--paper);min-width:0;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);border:1px solid #ffffffad;border-radius:26px;align-self:end;padding:18px}.chapter-heading{min-width:0;margin-bottom:16px}.chapter-heading h2{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1.28rem;line-height:1.15;overflow:hidden}.timeline input{appearance:none;cursor:pointer;background:0 0;width:100%;height:20px;margin:0}.timeline input::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--theme) 0 var(--progress), color-mix(in srgb, var(--theme), transparent 80%) var(--progress) 100%);border-radius:20px;height:4px}.timeline input::-moz-range-track{background:color-mix(in srgb, var(--theme), transparent 80%);border-radius:20px;height:4px}.timeline input::-moz-range-progress{background:var(--theme);border-radius:20px;height:4px}.timeline input::-webkit-slider-thumb{appearance:none;background:var(--theme);border:3px solid #fff;border-radius:50%;width:17px;height:17px;margin-top:-6.5px;box-shadow:0 2px 8px #0000002e}.timeline input::-moz-range-thumb{background:var(--theme);border:3px solid #fff;border-radius:50%;width:12px;height:12px}.time-row{color:var(--muted);font-variant-numeric:tabular-nums;justify-content:space-between;font-size:.72rem;display:flex}.primary-controls{grid-template-columns:1fr 76px 1fr;align-items:center;gap:8px;margin-top:12px;display:grid}.chapter-button,.speed-control select,.close-button{color:var(--theme);background:0 0;border:0}.chapter-button{cursor:pointer;align-items:center;gap:8px;min-height:48px;padding:8px 0;font-size:.8rem;font-weight:600;display:inline-flex}.chapter-button>span:first-child{font-size:1.1rem}.play-button{color:#fff;background:var(--theme);width:72px;height:72px;box-shadow:0 12px 28px color-mix(in srgb, var(--theme), transparent 70%);cursor:pointer;border:0;border-radius:50%;place-items:center;display:grid}.play-button span{margin-left:3px;font-size:1.6rem;line-height:1}.speed-control{justify-items:end;display:grid}.speed-control label{color:var(--muted);font-size:.66rem}.speed-control select{cursor:pointer;min-height:32px;padding:0 2px;font-size:.88rem;font-weight:600}.player-message{color:#8c2f22;text-align:center;margin:12px 0 0;font-size:.8rem}.empty-state{text-align:center;max-width:34rem;margin:auto;padding:10px 0}.empty-state h2{margin:0}.empty-state p:last-child{color:var(--muted);margin-bottom:0;line-height:1.5}.empty-state code{background:#1d211d12;border-radius:5px;padding:2px 5px}.menu-layer{z-index:10;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#13151261;justify-content:flex-end;display:flex;position:fixed;inset:0}.chapters-panel{width:min(91vw,430px);height:100%;padding:max(24px, env(safe-area-inset-top)) 20px max(20px, env(safe-area-inset-bottom));background:#f8f6f1;grid-template-rows:auto minmax(0,1fr);display:grid;box-shadow:-18px 0 50px #00000029}.chapters-panel header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:0 4px 18px;display:flex}.chapters-panel h2{margin:0;font-size:2rem}.close-button{cursor:pointer;background:#1d211d0f;border-radius:50%;place-items:center;width:48px;height:48px;font-size:1.8rem;display:grid}.chapters-list{margin:0;padding:12px 0 40px;list-style:none;overflow-y:auto}.chapters-list button{width:100%;min-height:62px;color:var(--theme);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:14px;grid-template-columns:2rem 1fr auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.chapters-list button:hover{background:#1d211d0e}.chapters-list button.is-current{background:var(--theme);color:#fff}.chapters-list button>span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.75rem}.chapters-list button.is-current>span{color:#ffffff9e}.chapters-list strong{font-size:.9rem;font-weight:500}.chapters-list small{letter-spacing:.06em;text-transform:uppercase;font-size:.65rem;font-weight:600}.status-screen{text-align:center;place-content:center;min-height:100dvh;padding:24px;display:grid}.status-screen h1{margin-bottom:6px}.status-screen p{color:var(--muted)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width>=760px){.app-shell{max-width:1160px;padding:max(38px, env(safe-area-inset-top)) 40px max(38px, env(safe-area-inset-bottom));grid-template-rows:1fr;grid-template-columns:minmax(280px,.9fr) minmax(400px,1.1fr);align-items:center;gap:clamp(40px,7vw,100px);margin:0 auto}.book-panel{height:min(78dvh,720px)}.book-cover{max-width:min(36vw,420px)}.cover-placeholder{width:min(30vw,330px)}.book-heading h1{font-size:clamp(2rem,4vw,3.25rem)}.player-panel{border-radius:32px;padding:28px}.chapter-heading h2{font-size:1.65rem}}@media (height<=670px) and (width<=759px){.app-shell{padding-top:max(12px, env(safe-area-inset-top));grid-template-rows:minmax(0,.72fr) auto;gap:10px}.book-panel{text-align:left;grid-template-rows:1fr;grid-template-columns:minmax(76px,.45fr) minmax(0,1fr);align-items:center;gap:14px}.book-cover{max-width:100%}.cover-placeholder{width:100%;max-height:185px}.book-heading h1{font-size:1.55rem}.player-panel{padding:14px 16px}.chapter-heading{margin-bottom:9px}.play-button{width:62px;height:62px}.primary-controls{grid-template-columns:1fr 66px 1fr;margin-top:6px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
