:root{--bg: #f7f6f3;--surface: #ffffff;--surface-2: #f0eee9;--ink: #1f2937;--ink-soft: #5b6472;--line: #e3e0d8;--accent: #7c5b3f;--accent-ink: #ffffff;--highlight: #fff3bf;--select: #d8ecff;--select-line: #4a9eea;--danger: #dc2626;--nav-h: 60px;--safe-b: env(safe-area-inset-bottom, 0px);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--ink);overscroll-behavior-y:none}button{font:inherit;cursor:pointer}.app{min-height:100%;padding-bottom:calc(var(--nav-h) + var(--safe-b));max-width:760px;margin:0 auto}.topbar{position:sticky;top:0;z-index:20;background:var(--accent);color:var(--accent-ink);padding:12px 16px;display:flex;align-items:center;gap:10px;padding-top:calc(12px + env(safe-area-inset-top,0px))}.topbar h1{font-size:1.1rem;margin:0;font-weight:700;flex:1}.topbar .sub{font-size:.8rem;opacity:.85}.iconbtn{background:#ffffff29;color:inherit;border:none;border-radius:10px;min-width:40px;height:40px;padding:0 12px;font-weight:600}.iconbtn:active{background:#ffffff4d}.bottomnav{position:fixed;left:0;right:0;bottom:0;z-index:30;height:calc(var(--nav-h) + var(--safe-b));padding-bottom:var(--safe-b);display:flex;background:var(--surface);border-top:1px solid var(--line);max-width:760px;margin:0 auto}.bottomnav button{flex:1;border:none;background:none;color:var(--ink-soft);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:.72rem;font-weight:600}.bottomnav button .ico{font-size:1.35rem;line-height:1}.bottomnav button.active{color:var(--accent)}.content{padding:14px 16px 24px}.muted{color:var(--ink-soft)}.center{text-align:center;padding:40px 16px;color:var(--ink-soft)}.section-title{font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);margin:18px 2px 8px;font-weight:700}.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px;margin-bottom:10px}.row{display:flex;align-items:center;gap:10px}.grow{flex:1;min-width:0}.btn{background:var(--accent);color:var(--accent-ink);border:none;border-radius:12px;padding:12px 16px;font-weight:700;min-height:44px}.btn.ghost{background:var(--surface-2);color:var(--ink)}.btn.danger{background:var(--danger);color:#fff}.btn:disabled{opacity:.5}.btn.block{width:100%}input,textarea,select{font:inherit;width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink)}.filter-input{margin:10px 0 4px}label.field{display:block;margin-bottom:10px}label.field span{display:block;font-size:.8rem;color:var(--ink-soft);margin-bottom:4px;font-weight:600}.booklist{display:flex;flex-direction:column;gap:6px}.bookrow{display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 16px;min-height:52px;text-align:left;width:100%;color:var(--ink)}.bookrow:active{background:var(--surface-2)}.bookrow .cc{font-size:.8rem;color:var(--ink-soft)}.chapgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(54px,1fr));gap:8px}.chapcell{aspect-ratio:1;border-radius:12px;border:1px solid var(--line);background:var(--surface);font-weight:700;font-size:1.05rem;color:var(--ink);display:flex;align-items:center;justify-content:center}.chapcell:active{background:var(--accent);color:#fff}.reader-head{position:sticky;top:0;z-index:10;background:var(--bg);display:flex;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid var(--line)}.reader-head .title{flex:1;font-weight:800;font-size:1.05rem}.navbtn{background:var(--surface);border:1px solid var(--line);border-radius:10px;min-width:44px;height:40px;font-size:1.1rem}.verses{font-size:var(--read-size, 1.12rem);line-height:1.75;padding:12px 0 0}.verse{display:block;padding:3px 4px;border-radius:6px}.verse .vn{font-size:.72em;font-weight:800;color:var(--accent);vertical-align:super;margin-right:5px}.verse.hl{background:var(--highlight)}.verse.sel{background:var(--select);box-shadow:inset 0 0 0 2px var(--select-line)}.verse.tagged .vn{color:#16a34a}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{border:none;border-radius:999px;padding:7px 13px;font-size:.85rem;font-weight:700;color:#fff;min-height:36px}.chip.sm{padding:4px 10px;font-size:.78rem;min-height:0}.chip.outline{background:var(--surface);color:var(--ink);border:1px solid var(--line)}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:40;display:flex;align-items:flex-end;justify-content:center}.sheet{background:var(--surface);width:100%;max-width:760px;border-radius:18px 18px 0 0;padding:16px 16px calc(16px + var(--safe-b));max-height:80vh;overflow-y:auto;animation:rise .18s ease-out}@keyframes rise{0%{transform:translateY(100%)}to{transform:translateY(0)}}.sheet h3{margin:2px 0 12px;font-size:1rem}.sheet .grab{width:40px;height:4px;background:var(--line);border-radius:2px;margin:0 auto 12px}.actionbar{position:fixed;left:0;right:0;bottom:calc(var(--nav-h) + var(--safe-b));background:var(--surface);border-top:1px solid var(--line);padding:10px 12px;z-index:25;max-width:760px;margin:0 auto;box-shadow:0 -6px 18px #00000014}.actionbar .scroll{display:flex;gap:6px;overflow-x:auto;padding-bottom:6px}.progress{height:8px;background:var(--surface-2);border-radius:999px;overflow:hidden}.progress>div{height:100%;background:var(--accent)}.passage{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-bottom:8px;text-align:left;width:100%;color:var(--ink)}.passage .ref{font-weight:800;color:var(--accent);font-size:.85rem;margin-bottom:3px}.passage .txt{line-height:1.6}.pill{display:inline-block;background:var(--surface-2);border-radius:999px;padding:2px 9px;font-size:.75rem;font-weight:700;color:var(--ink-soft)}.toast{position:fixed;bottom:calc(var(--nav-h) + 16px + var(--safe-b));left:50%;transform:translate(-50%);background:#1f2937;color:#fff;padding:10px 16px;border-radius:999px;z-index:60;font-size:.88rem}.toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.spacer{flex:1}.credit{margin-top:26px;padding-top:14px;border-top:1px solid var(--line);text-align:center;font-size:.8rem;color:var(--ink-soft)}.credit a{color:var(--accent);font-weight:700}
