:root{--bg-primary: #1a1a1a;--bg-secondary: #242424;--bg-tertiary: #2d2d2d;--text-primary: #e8e8e8;--text-secondary: #a0a0a0;--text-muted: #666;--accent: #c9a227;--accent-dim: #8b7019;--border: #333;--verse-num: #c9a227;--font-main: "Avenir Next Pro Condensed", "Avenir Next Condensed", "Avenir Next", system-ui, -apple-system, sans-serif;--font-japanese: "Hiragino Mincho ProN", "Yu Mincho", "MS Mincho", serif;--font-size-base: 14px;--font-size-ja: 15px;--line-height-ja: 2}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-main);font-size:var(--font-size-base);line-height:1.5;-webkit-font-smoothing:antialiased}.size-small{--font-size-base: 12px;--font-size-ja: 13px;--line-height-ja: 1.8}.size-normal{--font-size-base: 14px;--font-size-ja: 15px;--line-height-ja: 2}.size-large{--font-size-base: 17px;--font-size-ja: 18px;--line-height-ja: 2.2}#app{height:100%;display:flex;flex-direction:column}.header{display:flex;align-items:baseline;gap:8px;padding:4px 8px;background:var(--bg-secondary);border-bottom:1px solid var(--border);flex-shrink:0;user-select:none;-webkit-user-select:none;cursor:pointer}.header h1{font-size:14px;font-weight:600;color:var(--accent);letter-spacing:.5px}.header-url{font-size:11px;color:var(--text-secondary);letter-spacing:.3px;margin-left:auto;text-decoration:none;user-select:text;-webkit-user-select:text}.nav{display:flex;gap:2px;padding:4px 8px;background:var(--bg-tertiary);border-bottom:1px solid var(--border);flex-shrink:0;flex-wrap:wrap}.nav select,.nav button{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border);padding:2px 6px;font-size:12px;font-family:inherit;cursor:pointer}@media(hover:hover){.nav select:hover,.nav button:hover{background:var(--bg-primary)}}.nav select:focus,.nav button:focus{outline:1px solid var(--accent-dim)}.font-size-btns{display:flex;gap:0}.font-size-btns button{min-width:24px;border-radius:0;margin:0}.font-size-btns button:first-child{border-radius:2px 0 0 2px}.font-size-btns button:last-child{border-radius:0 2px 2px 0}.font-size-btns button:not(:first-child){border-left:none}.font-size-btns button.active{background:var(--accent-dim);color:var(--bg-primary)}.font-size-select{display:none}.content{flex:1;overflow-y:auto;padding:8px 12px;font-size:var(--font-size-base);overscroll-behavior-y:contain}.display-verse .verse{margin-bottom:4px;padding:2px 0;display:block}.display-paragraph .verse{display:inline}.display-paragraph .verse:after{content:" "}.verse-num{color:var(--verse-num);font-size:11px;font-weight:600;margin-right:4px;vertical-align:super}.verse-text{color:var(--text-primary)}.verse.clickable{cursor:pointer;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}@media(hover:hover){.verse.clickable:hover{background:var(--bg-tertiary)}}.verse.highlighted{background:var(--bg-tertiary);border-radius:2px}.verse.highlighted .verse-num{color:var(--accent)}.parallel{display:grid;grid-template-columns:1fr 1fr;gap:16px}.parallel-col{border-left:2px solid var(--border);padding-left:8px}.parallel-col:first-child{border-left:none;padding-left:0}.parallel-col h3{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:8px;padding-bottom:4px;border-bottom:1px solid var(--border)}.ja-text{font-family:var(--font-japanese);font-size:var(--font-size-ja);line-height:var(--line-height-ja)}.ja-text ruby{ruby-align:center}.ja-text rt{font-size:9px;color:var(--text-secondary);font-weight:400}.chapter-title{font-size:1.1em;font-weight:600;color:var(--accent);margin:0 0 8px;padding-bottom:4px;border-bottom:1px solid var(--border);display:flex;align-items:baseline;justify-content:space-between;gap:8px}.listen-toggle-link{background:none;border:none;color:var(--text-muted);font-size:11px;font-family:inherit;cursor:pointer;padding:2px 6px;flex-shrink:0}@media(hover:hover){.listen-toggle-link:hover{color:var(--accent)}}.section-heading{display:block;font-size:.9em;font-weight:600;color:var(--text-secondary);margin:12px 0 4px;font-style:italic}.paragraph{margin-bottom:12px;text-align:justify}.paragraph .verse.inline{display:inline}.paragraph .verse.inline:after{content:" "}.footnote-ref{color:var(--accent-dim);font-size:10px;cursor:pointer;vertical-align:super}@media(hover:hover){.footnote-ref:hover{color:var(--accent)}}.loading{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted)}.chapter-footer{margin-top:24px;padding:16px 0;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.info-btn{background:none;border:none;color:var(--text-muted);font-size:12px;font-family:inherit;cursor:pointer;padding:4px 8px}@media(hover:hover){.info-btn:hover{color:var(--text-secondary)}}.next-chapter-btn{background:var(--bg-secondary);color:var(--accent);border:1px solid var(--accent-dim);padding:8px 16px;font-size:var(--font-size-base);font-family:inherit;cursor:pointer;border-radius:4px;margin-left:auto}@media(hover:hover){.next-chapter-btn:hover{background:var(--accent-dim);color:var(--bg-primary)}}.info-overlay{position:fixed;inset:0;background:#00000080;z-index:200}.info-panel{position:fixed;bottom:0;left:0;right:0;max-height:70vh;background:var(--bg-secondary);border-top:1px solid var(--border);border-radius:12px 12px 0 0;z-index:201;overflow-y:auto;animation:slide-up .2s ease-out}@keyframes slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.info-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--bg-secondary)}.info-header h3{font-size:14px;font-weight:600;color:var(--text-primary);margin:0}.info-close{background:none;border:none;color:var(--text-secondary);font-size:20px;cursor:pointer;padding:4px 8px;line-height:1}.info-content{padding:16px;font-size:13px;line-height:1.6;color:var(--text-primary)}.info-content h4{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin:16px 0 8px}.info-content h4:first-child{margin-top:0}.info-content p{margin:0 0 12px}.info-content a{color:var(--accent);text-decoration:none}@media(hover:hover){.info-content a:hover{text-decoration:underline}}.listen-control{position:fixed;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:12px;padding:8px 50px 8px 12px;background:var(--bg-secondary);border-top:1px solid var(--border);z-index:100}.listen-btn{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border);padding:6px 16px;font-size:13px;font-family:inherit;cursor:pointer;border-radius:4px}@media(hover:hover){.listen-btn:hover{background:var(--bg-primary)}}.listen-btn.play-btn{background:var(--accent-dim);color:var(--bg-primary);border-color:var(--accent);min-width:70px}@media(hover:hover){.listen-btn.play-btn:hover{background:var(--accent)}}.listen-progress{color:var(--text-secondary);font-size:12px;min-width:60px;text-align:center}.listen-lang{color:var(--accent);font-weight:600;margin-right:4px}.listen-btn.close-btn{position:absolute;right:8px;padding:6px 10px;font-size:16px;line-height:1}.content.has-listen-control{padding-bottom:60px}@media(max-width:600px){.parallel{grid-template-columns:1fr;gap:4px}.parallel-col{border-left:none;padding-left:0}.parallel-col:first-child{border-top:none;padding-top:0}.parallel{border-left:2px solid var(--border);margin-left:-8px;padding-left:6px;margin-top:12px}.display-verse .parallel.verse-pair{margin-top:8px}.section-heading{margin-top:20px}.font-size-btns{display:none}.font-size-select{display:block}}
