:root{--font-display:"Fraunces", Georgia, "Times New Roman", serif;--font-read:"Lora", Georgia, serif;--font-ui:"Hanken Grotesk", system-ui, -apple-system, sans-serif;--bg:#f4eee2;--bg-tint:#efe7d7;--raised:#fcf8f0;--raised-2:#f7f1e6;--ink:#211b12;--ink-soft:#5b5141;--ink-faint:#6f6453;--line:#e3d9c5;--line-strong:#d6c9b0;--accent:#8a5e16;--accent-soft:#b08a3e;--accent-bg:#efe2c6;--rubric:#9c382b;--shadow:28px 40px 80px -48px #3c2c1273;--shadow-sm:0 2px 10px -4px #3c2c124d;--grain-opacity:.5;--read-scale:1;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark]{--bg:#16130d;--bg-tint:#1b1710;--raised:#211c14;--raised-2:#272117;--ink:#ece2cf;--ink-soft:#b6a98f;--ink-faint:#837762;--line:#2e2719;--line-strong:#3b3220;--accent:#d4a657;--accent-soft:#c2974b;--accent-bg:#2f2614;--rubric:#d9826a;--shadow:28px 44px 90px -50px #000c;--shadow-sm:0 2px 12px -5px #0009;--grain-opacity:.35;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-ui);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;min-height:100dvh;font-size:16px;line-height:1.6;overflow-x:hidden}body:before{content:"";z-index:-2;background:radial-gradient(120% 80% at 12% -8%, var(--accent-bg) 0%, transparent 55%), radial-gradient(120% 90% at 100% 0%, var(--bg-tint) 0%, transparent 60%);opacity:.7;pointer-events:none;position:fixed;inset:0}body:after{content:"";z-index:-1;pointer-events:none;opacity:var(--grain-opacity);mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.4'/%3E%3C/svg%3E");position:fixed;inset:0}::selection{background:var(--accent-bg);color:var(--ink)}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}input{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent-soft);outline-offset:2px}.app{flex-direction:column;min-height:100dvh;display:flex}.topbar{z-index:40;background:color-mix(in oklab, var(--bg) 82%, transparent);-webkit-backdrop-filter:blur(14px)saturate(1.2);backdrop-filter:blur(14px)saturate(1.2);border-bottom:1px solid var(--line);align-items:center;gap:18px;padding:14px clamp(18px,5vw,56px);display:flex;position:sticky;top:0}.brand{font-family:var(--font-display);letter-spacing:-.01em;align-items:baseline;gap:2px;font-size:23px;font-weight:500;display:inline-flex}.brand b{color:var(--accent);font-style:italic;font-weight:600}.brand .dot{color:var(--rubric);font-style:italic}.nav{gap:4px;margin-left:8px;display:flex}.nav a{color:var(--ink-soft);border-radius:9px;padding:7px 13px;font-size:14.5px;font-weight:500;transition:color .18s,background .18s}.nav a:hover{color:var(--ink);background:var(--raised-2)}.nav a.on{color:var(--accent);background:var(--accent-bg)}.spacer{flex:1}.actions{align-items:center;gap:6px;display:flex}.nav-fallback{display:none}.icon-btn{width:38px;height:38px;color:var(--ink-soft);border-radius:10px;place-items:center;transition:color .18s,background .18s,transform .18s;display:grid}.icon-btn:hover{color:var(--ink);background:var(--raised-2)}.icon-btn:active{transform:scale(.92)}.icon-btn svg{width:20px;height:20px}.main{flex:1;width:100%;max-width:1080px;margin:0 auto;padding:clamp(28px,6vw,64px) clamp(18px,5vw,56px) 120px}.btn{font-family:var(--font-ui);border:1px solid var(--line-strong);background:var(--raised);color:var(--ink);border-radius:11px;align-items:center;gap:8px;padding:9px 16px;font-size:14px;font-weight:600;transition:border-color .18s,background .18s,transform .1s;display:inline-flex}.btn:hover{border-color:var(--accent-soft);background:var(--raised-2)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.4;cursor:default;transform:none}.btn.ghost{color:var(--ink-soft);background:0 0;border-color:#0000}.btn.ghost:hover{color:var(--ink);background:var(--raised-2)}.btn svg{width:17px;height:17px}.chip{letter-spacing:.02em;background:var(--accent-bg);color:var(--accent);border:1px solid color-mix(in oklab, var(--accent) 22%, transparent);border-radius:999px;align-items:center;gap:6px;padding:6px 11px;font-size:12.5px;font-weight:600;transition:background .18s;display:inline-flex}button.chip:hover{background:color-mix(in oklab, var(--accent-bg) 70%, var(--accent) 12%)}.rubric{font-family:var(--font-ui);letter-spacing:.18em;text-transform:uppercase;color:var(--rubric);font-size:11.5px;font-weight:700}.home{flex-direction:column;gap:clamp(26px,5vw,44px);display:flex}.votd{background:linear-gradient(168deg, var(--raised) 0%, var(--raised-2) 100%);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:24px;padding:clamp(30px,5vw,56px);position:relative;overflow:hidden}.votd:before{content:"“";font-family:var(--font-display);color:var(--accent);opacity:.1;pointer-events:none;font-size:clamp(140px,22vw,230px);line-height:1;position:absolute;top:clamp(-26px,-2vw,-10px);right:22px}.votd-text{font-family:var(--font-display);letter-spacing:-.012em;max-width:22ch;font-size:clamp(26px,4.4vw,44px);font-weight:400;line-height:1.22;position:relative}.votd-foot{flex-wrap:wrap;align-items:center;gap:16px;margin-top:26px;display:flex}.votd-ref{font-family:var(--font-display);color:var(--rubric);font-size:19px;font-style:italic}.votd-ref:hover{text-underline-offset:4px;text-decoration:underline}.section-head{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:16px;display:flex}.section-head h2{font-family:var(--font-display);letter-spacing:-.01em;font-size:clamp(20px,3vw,26px);font-weight:500}.section-head a,.section-head button{color:var(--accent);font-size:13.5px;font-weight:600}.section-head a:hover,.section-head button:hover{text-underline-offset:3px;text-decoration:underline}.tile-row{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;display:grid}.tile{text-align:left;background:var(--raised);border:1px solid var(--line);border-radius:16px;flex-direction:column;gap:5px;padding:18px 20px;transition:border-color .18s,transform .18s,box-shadow .18s;display:flex}.tile:hover{border-color:var(--accent-soft);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.tile .t-name{font-family:var(--font-display);font-size:19px;font-weight:500}.tile .t-sub{color:var(--ink-faint);font-size:12.5px}.seg{background:var(--raised-2);border:1px solid var(--line);border-radius:12px;gap:3px;padding:4px;display:inline-flex}.seg button{color:var(--ink-soft);border-radius:9px;padding:7px 18px;font-size:13.5px;font-weight:600;transition:color .18s,background .18s}.seg button.on{color:var(--ink);background:var(--raised);box-shadow:var(--shadow-sm)}.book-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-top:22px;display:grid}.book{text-align:left;background:var(--raised);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:3px;padding:15px 17px;transition:border-color .18s,transform .18s,box-shadow .18s;display:flex}.book:hover{border-color:var(--accent-soft);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.book .b-name{font-family:var(--font-display);font-size:17.5px;font-weight:500;line-height:1.15}.book .b-sub{color:var(--ink-faint);font-size:11.5px}.ch-grid{grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:8px;display:grid}.ch{aspect-ratio:1;font-family:var(--font-display);background:var(--raised-2);border:1px solid var(--line);border-radius:11px;place-items:center;font-size:17px;transition:color .15s,background .15s,border-color .15s,transform .15s;display:grid}.ch:hover{color:var(--accent);border-color:var(--accent-soft);transform:scale(1.06)}.ch.on{background:var(--accent);color:#fff;border-color:var(--accent)}.reader{max-width:40rem;margin:0 auto}.reader-head{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:8px;display:flex}.reader-title{font-family:var(--font-display);letter-spacing:-.015em;font-weight:500;line-height:1}.reader-title .bk{font-size:clamp(30px,6vw,44px)}.reader-title .cn{color:var(--rubric);font-size:clamp(30px,6vw,44px);font-style:italic}.reader-sub{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:30px;display:flex}.chapter{font-family:var(--font-read);font-size:calc(1.18rem * var(--read-scale));color:var(--ink);line-height:1.85}.verse{border-radius:8px;grid-template-columns:1.9em 1fr;gap:2px .5em;padding:3px 0;scroll-margin-top:90px;transition:background .5s;display:grid}.verse .vn{font-family:var(--font-ui);color:var(--rubric);text-align:right;-webkit-user-select:none;user-select:none;padding-top:.5em;padding-right:.7em;font-size:.66em;font-weight:700}.verse .vt{grid-column:2}.verse .vmark{width:30px;height:30px;color:var(--ink-faint);opacity:0;border-radius:8px;grid-area:1/1/auto/-1;place-self:start end;place-items:center;margin-top:2px;transition:opacity .18s,color .18s,background .18s;display:grid}.verse:hover .vmark{opacity:1}.verse .vmark:hover{color:var(--rubric);background:var(--raised-2)}.verse .vmark.on{opacity:1;color:var(--rubric)}.verse.flash{background:var(--accent-bg)}.chapter .verse:first-of-type .vt:first-letter{font-family:var(--font-display);float:left;color:var(--accent);padding:.06em .1em 0 0;font-size:3.1em;font-weight:500;line-height:.82}.reader-nav{border-top:1px solid var(--line);justify-content:space-between;gap:12px;margin-top:48px;padding-top:24px;display:flex}.search-wrap{max-width:44rem;margin:0 auto}.search-field{background:var(--raised);border:1px solid var(--line-strong);box-shadow:var(--shadow-sm);border-radius:16px;align-items:center;gap:12px;padding:16px 20px;transition:border-color .18s;display:flex}.search-field:focus-within{border-color:var(--accent-soft)}.search-field svg{width:21px;height:21px;color:var(--ink-faint);flex:none}.search-field input{font-size:18px;font-family:var(--font-display);background:0 0;border:none;outline:none;flex:1}.search-field input::placeholder{color:var(--ink-faint);font-style:italic}.goto{background:linear-gradient(110deg, var(--accent-bg), var(--raised-2));border:1px solid color-mix(in oklab, var(--accent) 28%, transparent);border-radius:14px;justify-content:space-between;align-items:center;gap:14px;margin-top:18px;padding:18px 22px;transition:transform .18s;display:flex}.goto:hover{transform:translateY(-2px)}.goto .g-ref{font-family:var(--font-display);font-size:21px;font-weight:500}.hits{flex-direction:column;gap:2px;margin-top:22px;display:flex}.hit{text-align:left;border-radius:13px;width:100%;padding:16px 18px;transition:background .16s;display:block}.hit:hover{background:var(--raised)}.hit .h-ref{font-family:var(--font-ui);letter-spacing:.04em;color:var(--rubric);font-size:12.5px;font-weight:700}.hit .h-text{font-family:var(--font-read);color:var(--ink-soft);margin-top:4px;font-size:16.5px;line-height:1.55}.hit mark{background:var(--accent-bg);color:var(--ink);border-radius:2px;padding:0 1px}.scrim{z-index:60;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#140e046b;animation:.2s fade;position:fixed;inset:0}[data-theme=dark] .scrim{background:#0000008c}.sheet{z-index:61;background:var(--bg);border-left:1px solid var(--line);width:min(440px,100vw);box-shadow:var(--shadow);flex-direction:column;animation:.28s cubic-bezier(.22,1,.36,1) slide;display:flex;position:fixed;top:0;bottom:0;right:0}.sheet-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:20px 22px 14px;display:flex}.sheet-head h3{font-family:var(--font-display);font-size:22px;font-weight:500}.sheet-body{flex:1;padding:16px 22px 32px;overflow-y:auto}.row{text-align:left;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:12px 6px;transition:background .15s;display:flex}.row:hover{background:var(--raised-2)}.row .r-main{flex-direction:column;min-width:0;display:flex}.row .r-name{font-size:15.5px;font-weight:500}.row .r-sub{color:var(--ink-faint);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.row .check{color:var(--accent);flex:none}.row.on .r-name{color:var(--accent)}.lang-head{font-family:var(--font-ui);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);padding:18px 6px 4px;font-size:11px;font-weight:700}.field-search{background:var(--raised-2);border:1px solid var(--line);border-radius:11px;align-items:center;gap:9px;margin-bottom:6px;padding:10px 13px;display:flex}.field-search:focus-within{border-color:var(--accent-soft)}.field-search input{background:0 0;border:none;outline:none;flex:1;font-size:14.5px}.field-search svg{width:17px;height:17px;color:var(--ink-faint)}.set-block{border-bottom:1px solid var(--line);padding:16px 0}.set-block:last-child{border-bottom:none}.set-label{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:12px;font-size:12px;font-weight:700}.stepper{align-items:center;gap:14px;display:flex}.stepper button{border:1px solid var(--line-strong);background:var(--raised);border-radius:11px;place-items:center;width:40px;height:40px;transition:border-color .15s;display:grid}.stepper button:hover{border-color:var(--accent-soft)}.stepper button:disabled{opacity:.4}.stepper .preview{font-family:var(--font-read);color:var(--ink-soft);text-align:center;flex:1}.center{place-items:center;min-height:50vh;display:grid}.spinner{border:2.5px solid var(--line-strong);border-top-color:var(--accent);border-radius:50%;width:30px;height:30px;animation:.7s linear infinite spin}.empty{text-align:center;color:var(--ink-faint);padding:56px 20px}.empty .ico{width:34px;height:34px;color:var(--ink-faint);opacity:.7;margin:0 auto 14px}.empty p{max-width:30ch;margin:0 auto;font-size:15px}.errbar{background:color-mix(in oklab, var(--rubric) 12%, var(--raised));border:1px solid color-mix(in oklab, var(--rubric) 30%, transparent);color:var(--rubric);border-radius:12px;padding:14px 18px;font-size:14px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade{0%{opacity:0}}@keyframes slide{0%{transform:translate(100%)}}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.rise{opacity:0;animation:.6s cubic-bezier(.22,1,.36,1) forwards rise}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important}.rise{opacity:1}}@media (width<=640px){.nav{display:none}.nav-fallback{display:grid}.votd-text{font-size:clamp(24px,7vw,32px)}}
