@property --progress{syntax:"<percentage>";inherits:false;initial-value:0%;}
@font-face{font-family:Reading;src:url('/reading.ttf') format('truetype');font-display:swap;font-weight:400 700}
:root{--accent:#8b3158;--accent-dark:#712044;--tint:#f3e8ed;--paper:#faf8f6;--ink:#29252b;--muted:#766c76;--line:#e9e1e5;--main-size:29px;--secondary-size:17px;--line-height:1.7;color-scheme:light;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,select,input{-webkit-tap-highlight-color:transparent}button,.button{cursor:pointer;border:0;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:12px 18px;border-radius:15px;font-weight:600;color:inherit;background:none;transition:background .18s,transform .18s}button:active,.button:active{transform:scale(.985)}button:disabled{cursor:default;opacity:.48}a{color:var(--accent);text-underline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #ad7294;outline-offset:3px}[hidden]{display:none!important}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.primary{background:var(--accent);color:white;box-shadow:0 5px 14px #8b315812}.primary:hover{background:var(--accent-dark)}.secondary{background:var(--tint);color:var(--accent)}.quiet{color:var(--muted);font-size:13px;min-height:40px;padding:8px}.wide{width:100%}.micro{font-size:12px;line-height:1.65;color:var(--muted)}.muted{color:var(--muted);line-height:1.65}.eyebrow{font-size:12px;font-weight:550;line-height:1.6;color:var(--accent)}h1,h2,p{margin:0}h1,h2{font-weight:650;letter-spacing:-.4px;overflow-wrap:anywhere}.topbar{max-width:760px;margin:auto;height:78px;padding:12px 24px;display:flex;align-items:center;justify-content:space-between;gap:10px}.wordmark{font-family:Reading,serif;font-size:31px;font-weight:650;text-decoration:none;color:var(--ink)}.top-actions{display:flex;gap:8px;align-items:center}.icon-button{background:#ffffffb0;border:1px solid var(--line);width:42px;min-height:42px;height:42px;padding:5px;border-radius:50%;font-size:17px;flex-shrink:0}.language-pill select{max-width:135px;background:#fff;border:1px solid var(--line);border-radius:22px;min-height:42px;padding:6px 10px;color:var(--ink);font-size:13px}main{max-width:720px;margin:0 auto;padding:12px 24px 28px}.panel{background:#fff;border:1px solid #eee7ea;border-radius:26px;padding:24px;box-shadow:0 7px 32px #41273304}.invite-card{text-align:center;max-width:540px;margin:24px auto}.invite-card h1{font-family:Reading,serif;font-size:36px;line-height:1.35;margin-bottom:10px}.emblem{width:62px;height:62px;border:1px solid var(--line);border-radius:22px;display:grid;place-items:center;font-size:32px;color:var(--accent);background:var(--paper);margin:18px auto}.invite-progress{display:flex;align-items:center;justify-content:center;gap:18px;margin:26px 0;text-align:start}.invite-numbers{display:grid;gap:7px;font-size:14px}.ring{--progress:0%;width:72px;height:72px;border-radius:50%;background:conic-gradient(var(--accent) var(--progress),var(--tint) 0);position:relative;display:grid;place-items:center;flex-shrink:0;transition:--progress .6s}.ring:before{content:'';position:absolute;inset:5px;border-radius:50%;background:white}.ring strong{position:relative;font-size:16px;font-variant-numeric:tabular-nums}.ring.small{width:45px;height:45px}.ring.small:before{inset:3px;background:var(--paper)}.ring.small strong{font-size:11px}.app-link{display:block;padding:16px;font-size:14px}.dedication{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 2px 14px;border-bottom:1px solid var(--line)}.dedication-main{display:flex;align-items:center;gap:12px;min-width:0}.dedication h1{font-size:20px;line-height:1.4}.dedication img{width:48px;height:48px;border-radius:15px;object-fit:cover}.mini-progress{display:grid;justify-items:center;gap:4px;flex-shrink:0}.stats-line{padding:10px 2px;font-size:12px;color:var(--muted);min-height:34px;font-variant-numeric:tabular-nums}.story-box{font-size:13px;line-height:1.7;margin-bottom:16px;padding:10px 14px;border-radius:14px;background:var(--tint)}.story-box summary{cursor:pointer;color:var(--accent);padding:3px}.story-box p{padding:8px 2px 2px;white-space:pre-wrap;overflow-wrap:anywhere}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px}.section-heading h2{font-size:24px;margin-top:4px}.section-heading .icon-button{width:auto;font-size:12px;padding:6px 12px;border-radius:20px}.chooser-controls{display:flex;gap:10px;align-items:center;margin:18px 0 14px}.search{display:flex;align-items:center;gap:6px;background:var(--paper);border:1px solid var(--line);border-radius:13px;flex:1;min-width:0;padding:0 10px}.search span{font-size:23px;color:var(--muted)}.search input{min-width:0;width:100%;border:0;background:transparent;padding:12px 0;outline:none;font-size:13px}.toggle{display:flex;align-items:center;gap:6px;font-size:12px;cursor:pointer;flex-shrink:0}.toggle input{accent-color:var(--accent);width:17px;height:17px}.legend{display:flex;gap:16px;flex-wrap:wrap;color:var(--muted);font-size:11px;margin-bottom:12px}.legend>span{display:flex;align-items:center;gap:5px}.dot{width:6px;height:6px;border-radius:50%;display:inline-block}.dot.free{background:var(--accent)}.dot.occupied{background:#a98239}.dot.done{background:#a7a0a5}.chapter-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:9px;margin-top:12px}.chapter-card{display:flex;flex-direction:column;gap:5px;padding:12px 5px;min-height:84px;border-radius:16px;border:1px solid var(--line);background:#fff;box-shadow:0 2px 6px #00000002}.chapter-card .chapter-name{font-size:17px;font-weight:650;color:var(--accent)}.chapter-card .chapter-info{font-size:10px;color:var(--muted);font-weight:400}.chapter-card.free:hover{background:var(--tint);border-color:#d4b9c5}.chapter-card.reading{background:#faf6ec;border-color:#e9dfc9;opacity:.8}.chapter-card.completed{background:#f4f2f3;opacity:.6}.chapter-card.completed .chapter-name{color:var(--muted)}.chapter-card.mine{border-color:var(--accent);background:var(--tint)}.empty{color:var(--muted);padding:24px 0;line-height:1.7}.reader-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:25px 0 22px}.reader-heading h2{font-family:Reading,serif;font-size:36px;margin-top:5px}.insight-button{border:1px solid var(--line);background:white;color:var(--accent);font-size:12px;min-height:40px;padding:9px 13px;border-radius:22px;box-shadow:0 3px 10px #8b315808}.language-hint{display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted);padding-bottom:12px;margin-bottom:12px}.verses{user-select:none;-webkit-user-select:none}.verse{display:grid;grid-template-columns:20px minmax(0,1fr);gap:12px;margin-bottom:18px;align-items:baseline}.verse-label{font-size:11px;color:#9d9399;text-align:center}.main-text{font-size:var(--main-size);line-height:var(--line-height);color:#252126;overflow-wrap:anywhere;font-weight:450}.main-text[dir=rtl]{font-family:Reading,'Times New Roman',serif;font-weight:600}.main-text[dir=ltr]{font-family:Georgia,'Times New Roman',serif}.secondary-text{font-size:var(--secondary-size);line-height:1.5;color:#876a78;margin-top:7px;font-weight:400;overflow-wrap:anywhere}.secondary-text[dir=rtl]{font-family:Reading,serif}.reader-end{text-align:center;padding:20px 0 30px;color:var(--muted);font-size:13px}.reader-end span{display:block;color:var(--accent);font-size:24px;margin-bottom:8px}.reader-actions{position:sticky;bottom:0;display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:9px;padding:12px 0 max(12px,env(safe-area-inset-bottom));background:#faf8f6ed;backdrop-filter:blur(18px);border-top:1px solid var(--line);z-index:3}.reader-actions button{font-size:14px;padding:12px 8px;min-height:48px}.thanks{text-align:center;margin-top:16px}.success-mark{width:54px;height:54px;display:grid;place-items:center;border:1px solid #d4b9c5;border-radius:50%;font-size:26px;color:var(--accent);background:var(--tint);margin:0 auto 14px;animation:arrive .4s ease}.thanks h2{font-family:Reading,serif;font-size:32px;margin-bottom:8px}.thanks>p{color:var(--muted);font-size:14px;line-height:1.6}.completion-metrics{display:flex;justify-content:center;gap:50px;margin:22px 0}.completion-metrics>div{display:grid;gap:5px}.completion-metrics strong{font-size:27px;font-variant-numeric:tabular-nums}.completion-metrics span{font-size:12px;color:var(--muted)}.thanks>.wide{margin-bottom:9px}.thanks blockquote{background:var(--paper);border-inline-start:2px solid #ccadba;margin:16px 0;padding:14px;text-align:start;font-size:14px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}.app-offer{border-top:1px solid var(--line);padding-top:20px;margin-top:18px;display:grid;gap:12px}.app-offer b{font-size:16px}.app-offer p{font-size:12px;color:var(--muted);line-height:1.7;margin-top:5px}.store-links{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.store-links:empty{display:none}footer{text-align:center;margin:32px 0 0;color:var(--muted);font-size:11px;line-height:1.8}footer>div{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:4px}footer a{font-size:11px}.notice{padding:12px 15px;border:1px solid #e4d5d9;background:#fff8fa;color:#6f3f52;border-radius:14px;font-size:13px;line-height:1.6;margin-bottom:14px;overflow-wrap:anywhere}.sheet{padding:0;border:1px solid var(--line);border-radius:25px;width:min(540px,calc(100% - 28px));max-height:85dvh;box-shadow:0 25px 80px #29152225;color:var(--ink);background:var(--paper)}.sheet::backdrop{background:#31232c45;backdrop-filter:blur(5px)}.sheet[open]{display:flex;flex-direction:column}.sheet-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px;border-bottom:1px solid var(--line);flex-shrink:0}.sheet-head h2{font-size:20px}.sheet-body{padding:22px;overflow-y:auto;overscroll-behavior:contain;line-height:1.8}.sheet-body h2{font-family:Reading,serif;font-size:29px;line-height:1.4;margin-bottom:14px}.sheet-body p{margin-bottom:16px}.sheet-footer{padding:14px 22px;border-top:1px solid var(--line);flex-shrink:0}.intention-note{padding:15px;background:var(--tint);border-radius:16px;font-size:14px;margin-bottom:10px}.intention-note p{margin:7px 0 0}.settings-body label{display:grid;gap:10px;margin-bottom:24px;font-size:14px}.settings-body select{padding:12px;border:1px solid var(--line);border-radius:12px;background:white;color:var(--ink)}.settings-body input{width:100%;accent-color:var(--accent)}.settings-body output{float:inline-end;color:var(--accent)}
@keyframes arrive{from{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}
@media(max-width:520px){.topbar{height:68px;padding:10px 18px}main{padding:4px 18px 22px}.panel{padding:20px 16px;border-radius:22px}.invite-card{margin:16px auto}.invite-card h1{font-size:32px}.chapter-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.chooser-controls{flex-wrap:wrap}.search{flex-basis:100%}.reader-heading h2{font-size:32px}.verse{gap:8px;grid-template-columns:16px minmax(0,1fr)}.dedication h1{font-size:18px}.sheet{max-height:88dvh}.reader-actions{margin:0 -3px;padding-inline:3px}.completion-metrics{gap:40px}}
@media(min-width:900px){main{padding-top:18px}.invite-card{padding:36px;margin-top:35px}.verses{padding:0 12px}.reader-heading{padding-inline:12px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.app-pitch{border-top:1px solid var(--line);margin-top:18px;padding-top:20px;text-align:start}.app-pitch>b{font-size:18px;color:var(--accent)}.app-pitch>p{font-size:13px;line-height:1.7;margin:9px 0 14px;color:var(--muted)}.app-pitch .button{width:100%;margin-bottom:8px}.app-pitch{animation:arrive .35s ease-out}

.verification031{width:min(92vw,480px);max-height:90vh;padding:12px;border:0;border-radius:20px}.verification031 iframe{width:100%;height:65vh;border:0}.verification031::backdrop{background:rgb(0 0 0/.35)}

/* 031 accessibility: no information is conveyed by ring colour alone. */
:root{--muted:#665e66}.secondary-text{color:#705564}.verse-label{color:#71666d}
.icon-button{width:46px;min-height:46px;height:46px}.quiet{min-height:44px}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #245c91;outline-offset:3px}
.skip-link{position:absolute;inset-inline-start:12px;top:-100px;background:#fff;padding:12px;z-index:100}.skip-link:focus{top:12px}
@media(max-width:360px){.topbar{height:auto;flex-wrap:wrap}.reader-heading{flex-wrap:wrap}.reader-actions{grid-template-columns:1fr}.chapter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
