@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+Tibetan:wght@400;600&display=swap');
:root{--ink:#2f2a27;--muted:#817a74;--line:rgba(47,42,39,.13);--surface:#fbfaf5;--menu-surface:rgba(251,250,245,.96);--font-scale:1;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;background:var(--surface);color:var(--ink)}body{font-family:Georgia,"Times New Roman",serif;overflow:hidden}button,select{font:inherit;color:inherit}button:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid #725e53;outline-offset:3px}[hidden]{display:none!important}
.home{height:100dvh;overflow-y:auto;background:var(--surface);padding:calc(10px + var(--safe-top)) 16px calc(18px + var(--safe-bottom));scrollbar-width:none}.home::-webkit-scrollbar{display:none}.home-shell{width:min(100%,560px);margin:0 auto;min-height:100%;display:flex;flex-direction:column;justify-content:flex-start}.home-cover-wrap{height:clamp(300px,48dvh,470px);display:flex;align-items:center;justify-content:center;padding:4px 8px 12px;overflow:hidden;position:relative}.home-cover-wrap::before{content:"";position:absolute;inset:9% 10% 5%;background:rgba(110,92,78,.10);filter:blur(26px);border-radius:42%;pointer-events:none}.cover-art{position:relative;z-index:1;display:block;width:auto;max-width:100%;height:100%;max-height:100%;object-fit:contain;object-position:center;user-select:none;-webkit-user-drag:none;box-shadow:0 12px 34px rgba(59,48,41,.10)}.home-panel{width:100%;padding:2px 2px 0}.door-stack{display:grid;gap:10px}.cover-door{width:100%;display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:4px;border:1px solid var(--line);border-radius:18px;padding:15px 17px;background:rgba(255,255,255,.38);box-shadow:0 6px 18px rgba(51,43,38,.035);cursor:pointer}.cover-door:active{transform:translateY(1px)}.door-title{font-size:clamp(21px,6.3vw,28px);line-height:1.05;font-weight:600}.door-copy{font:600 11px/1.42 ui-sans-serif,system-ui,sans-serif;color:var(--muted)}.home-language{margin:12px 2px 0;padding:10px 2px 2px;display:flex;align-items:center;justify-content:center;gap:10px;border-top:1px solid var(--line);font:650 11px/1 ui-sans-serif,system-ui,sans-serif;color:var(--muted)}.home-language select{border:1px solid var(--line);border-radius:999px;background:transparent;padding:8px 30px 8px 12px;font:650 11px/1 ui-sans-serif,system-ui,sans-serif}
.opening{height:100dvh;overflow:auto;background:var(--surface);padding:calc(10px + var(--safe-top)) 18px calc(20px + var(--safe-bottom));display:flex;flex-direction:column;align-items:center}.opening-home{align-self:flex-start;min-height:38px;padding:0 13px;border:1px solid var(--line);border-radius:999px;background:transparent;font:650 12px/1 ui-sans-serif,system-ui,sans-serif}.opening-art-wrap{flex:1 1 auto;min-height:300px;width:min(100%,720px);display:flex;align-items:center;justify-content:center;overflow:hidden}.opening-art{display:block;width:100%;height:100%;max-height:61dvh;object-fit:contain;object-position:center}.opening-panel{width:min(100%,560px);padding:8px 4px 4px}.opening-copy{text-align:center;margin-bottom:12px}.eyebrow{font:700 10px/1.2 ui-sans-serif,system-ui,sans-serif;letter-spacing:.18em;color:var(--muted)}.opening h1{margin:5px 0 0;font-size:clamp(24px,7vw,35px);line-height:1.05;font-weight:600}.choice-row{min-height:46px;display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid var(--line)}.choice-label{font:600 13px/1.2 ui-sans-serif,system-ui,sans-serif}.choice-button{border:1px solid var(--line);border-radius:999px;background:transparent;padding:8px 30px 8px 13px;font:650 12px/1 ui-sans-serif,system-ui,sans-serif}.theme-choices{display:flex;align-items:center;gap:9px}.theme-dot{width:32px;height:32px;border-radius:50%;border:1px solid rgba(47,42,39,.18);position:relative;cursor:pointer}.theme-dot[data-theme="white"]{background:#fff}.theme-dot[data-theme="ivory"]{background:#fbfaf5}.theme-dot[data-theme="paper"]{background:#f7f1e5}.theme-dot[data-theme="gray"]{background:#f3f1ee}.theme-dot[aria-checked="true"]::after{content:"";position:absolute;inset:5px;border:1.5px solid #544840;border-radius:50%}.pilot-note{margin:8px 0 13px;font:11px/1.45 ui-sans-serif,system-ui,sans-serif;color:var(--muted)}.primary-open{width:100%;min-height:48px;border:0;border-radius:999px;background:var(--ink);color:#fff;font:700 14px/1 ui-sans-serif,system-ui,sans-serif;cursor:pointer}
.reader{height:100dvh;background:var(--surface);display:grid;grid-template-rows:clamp(255px,42dvh,430px) minmax(0,1fr) auto}.art-stage{min-height:0;display:flex;align-items:center;justify-content:center;padding:calc(8px + var(--safe-top)) 14px 6px;background:var(--surface);overflow:hidden}.current-art{display:block;max-width:min(100%,760px);width:auto;height:100%;max-height:100%;object-fit:contain;object-position:center;transition:opacity .12s ease;user-select:none;-webkit-user-drag:none}.current-art.is-changing{opacity:.3}.story-scroller{min-height:0;overflow-y:auto;background:var(--surface);overscroll-behavior-y:contain;scrollbar-width:none;scroll-behavior:auto}.story-scroller::-webkit-scrollbar{display:none}.story{width:min(100%,700px);margin:0 auto;padding:20px 26px 42px}.chapter-heading{min-height:1px;margin:4px 0 30px;scroll-margin-top:0}.chapter-number{margin:0 0 8px;text-align:center;font:700 10px/1.2 ui-sans-serif,system-ui,sans-serif;letter-spacing:.16em;color:var(--muted);text-transform:uppercase}.chapter-heading h2{margin:0;text-align:center;font-size:calc(28px * var(--font-scale));line-height:1.12;font-weight:600;text-transform:uppercase;letter-spacing:.015em}.story-paragraph{margin:0 0 1.08em;font-size:calc(21px * var(--font-scale));line-height:1.63;letter-spacing:.002em;scroll-margin-top:6px}.story-paragraph.verse{white-space:pre-line;line-height:1.48;margin-left:clamp(8px,5vw,34px)}.story-paragraph.audio-current{background:linear-gradient(90deg,rgba(105,83,69,.09),transparent);border-radius:8px}.reader-footer{min-height:54px;padding:7px 14px calc(7px + var(--safe-bottom));border-top:1px solid var(--line);background:var(--surface);display:grid;grid-template-columns:54px 1fr 72px;gap:8px;align-items:center}.footer-button{min-height:40px;border:1px solid var(--line);border-radius:999px;background:transparent;font:650 12px/1 ui-sans-serif,system-ui,sans-serif;cursor:pointer}.footer-position{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center;color:var(--muted);font:600 11px/1 ui-sans-serif,system-ui,sans-serif}
.original{height:100dvh;overflow-y:auto;background:var(--surface);padding:calc(10px + var(--safe-top)) 12px calc(24px + var(--safe-bottom));scrollbar-width:none}.original::-webkit-scrollbar{display:none}.original-head{position:sticky;top:0;z-index:3;display:flex;align-items:center;gap:14px;padding:5px 0 11px;background:linear-gradient(var(--surface) 82%,transparent)}.original-head h1{margin:2px 0 0;font-size:23px;line-height:1.08;font-weight:600}.original-home{min-width:62px;min-height:38px;border:1px solid var(--line);border-radius:999px;background:var(--surface);font:650 12px/1 ui-sans-serif,system-ui,sans-serif}.original-pages{width:min(100%,760px);margin:0 auto;display:grid;gap:18px}.original-page{margin:0}.original-page img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;border-radius:3px;background:#fff;box-shadow:0 7px 25px rgba(41,34,30,.08)}.original-page figcaption{text-align:center;margin-top:5px;color:var(--muted);font:600 10px/1.3 ui-sans-serif,system-ui,sans-serif}
.settings-dialog{width:min(92vw,420px);border:1px solid var(--line);border-radius:20px;padding:0;background:var(--surface);color:var(--ink);box-shadow:0 22px 80px rgba(40,32,28,.18)}.settings-dialog::backdrop{background:rgba(31,27,24,.2)}.settings-dialog form{padding:18px}.dialog-head{display:flex;align-items:center;gap:12px;margin-bottom:10px}.dialog-head h2{font-size:22px;margin:0 auto 0 0}.icon-close{width:40px;height:40px;border:1px solid var(--line);border-radius:50%;background:transparent;font-size:22px}.setting-block{padding:15px 0;border-top:1px solid var(--line)}.setting-title{display:block;margin-bottom:10px;font:650 12px/1 ui-sans-serif,system-ui,sans-serif;color:var(--muted)}.size-controls{display:grid;grid-template-columns:60px 1fr 60px;align-items:center;gap:8px}.size-controls button{height:42px;border:1px solid var(--line);border-radius:999px;background:transparent}#sizeValue{text-align:center;font:650 12px/1 ui-sans-serif,system-ui,sans-serif}.dialog-themes{justify-content:flex-start}.quiet-action{width:100%;min-height:44px;border:1px solid var(--line);border-radius:999px;background:transparent;font:650 12px/1 ui-sans-serif,system-ui,sans-serif}
.listen-stage{position:fixed;inset:0;z-index:30;background:var(--surface);display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;padding-top:var(--safe-top)}.listen-top{display:flex;align-items:center;gap:12px;padding:12px 16px 7px}.listen-kicker{color:var(--muted);font:700 10px/1 ui-sans-serif,system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase}.listen-chapter{margin-top:5px;font-size:18px;line-height:1.15;font-weight:600}.show-text{margin-left:auto;min-height:40px;padding:0 13px;border:1px solid var(--line);border-radius:999px;background:transparent;font:650 12px/1 ui-sans-serif,system-ui,sans-serif}.listen-visual{min-height:0;display:flex;align-items:center;justify-content:center;padding:8px 16px 4px}.listen-art{display:block;max-width:min(100%,820px);width:auto;height:100%;max-height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none}.listen-meta{padding:7px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font:600 10px/1 ui-sans-serif,system-ui,sans-serif}.listen-meta #audioRateButton{min-width:44px;min-height:36px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--ink);font:700 11px/1 ui-sans-serif,system-ui,sans-serif}.listen-controls{padding:8px 14px calc(12px + var(--safe-bottom));display:grid;grid-template-columns:48px 1fr 72px 48px;gap:8px;border-top:1px solid var(--line)}.listen-controls button{height:46px;border:1px solid var(--line);border-radius:999px;background:transparent;font:650 12px/1 ui-sans-serif,system-ui,sans-serif}.listen-controls .audio-primary{border-color:var(--ink);background:var(--ink);color:var(--surface)}.toast{position:fixed;left:16px;right:16px;bottom:calc(16px + var(--safe-bottom));z-index:80;max-width:520px;margin:auto;padding:12px 14px;border-radius:12px;background:var(--ink);color:var(--surface);font:12px/1.4 ui-sans-serif,system-ui,sans-serif}
body.theme-white{--surface:#fff;--menu-surface:rgba(255,255,255,.96)}body.theme-ivory{--surface:#fbfaf5;--menu-surface:rgba(251,250,245,.96)}body.theme-paper{--surface:#f7f1e5;--menu-surface:rgba(247,241,229,.96)}body.theme-gray{--surface:#f3f1ee;--menu-surface:rgba(243,241,238,.96)}body.theme-dark{--surface:#201e1c;--menu-surface:rgba(32,30,28,.96);--ink:#f4eee8;--muted:#c6bdb4;--line:rgba(255,255,255,.18);color-scheme:dark}
@media(prefers-color-scheme:dark){body.theme-auto{--surface:#201e1c;--menu-surface:rgba(32,30,28,.96);--ink:#f4eee8;--muted:#c6bdb4;--line:rgba(255,255,255,.18);color-scheme:dark}}
@media(max-height:700px){.home-cover-wrap{height:clamp(250px,43dvh,340px)}.cover-door{padding:12px 14px}.door-stack{gap:8px}.opening-art-wrap{min-height:270px}.opening-art{max-height:57dvh}.reader{grid-template-rows:clamp(210px,38dvh,300px) minmax(0,1fr) auto}}
@media(min-width:760px){.home{padding-left:28px;padding-right:28px}.home-shell{width:min(68vw,640px)}.home-cover-wrap{height:min(54dvh,520px)}.cover-door{padding:17px 19px}.reader{grid-template-rows:clamp(300px,45dvh,470px) minmax(0,1fr) auto}.art-stage{padding-left:36px;padding-right:36px}.story{padding:28px 42px 50px}.story-paragraph{font-size:calc(22px * var(--font-scale))}.chapter-heading h2{font-size:calc(34px * var(--font-scale))}.reader-footer{padding-left:max(20px,calc((100vw - 760px)/2));padding-right:max(20px,calc((100vw - 760px)/2))}.opening{padding-left:32px;padding-right:32px}.original{padding-left:28px;padding-right:28px}.original-pages{gap:28px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

