*{margin:0;padding:0;box-sizing:border-box}:root{--bg: #0f1117;--surface: #1a1d27;--border: #2a2d3a;--accent2: #10b981;--diverge: #f59e0b;--text: #e4e4e7;--text-muted: #8b8b9e;--accent: #6366f1;--accent-hover: #818cf8;--user-bubble: #2563eb;--assistant-bubble: #1e2030}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.landing{min-height:100dvh;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:3rem 1.5rem;background:var(--bg)}.landing-bg-video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;z-index:0}.landing-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0a0b12b8;z-index:1}.landing-inner{position:relative;z-index:2;max-width:540px;width:100%;display:flex;flex-direction:column;align-items:center;text-align:center;gap:2rem}.landing-wordmark{display:flex;flex-direction:column;align-items:center;gap:.3rem;font-size:2.6rem;font-weight:800;letter-spacing:-.04em;color:var(--text);line-height:1}.landing-wordmark-greek{font-size:1rem;font-weight:400;letter-spacing:.06em;color:var(--accent);opacity:.85}.landing-verse{border-left:3px solid var(--accent);padding-left:1.1rem;text-align:left;color:var(--text-muted);font-style:normal;width:100%}.landing-verse p{font-size:.95rem;line-height:1.7;margin-bottom:.4rem}.landing-verse em{color:var(--text);font-style:italic}.landing-verse cite{font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;color:var(--accent);font-style:normal}.landing-verse-gloss{display:block;font-size:.78rem;line-height:1.6;color:var(--text-muted);margin-top:.65rem;opacity:.8}.landing-mt-para{font-size:.9rem;line-height:1.8;color:var(--text-muted);text-align:center}.landing-cta{display:inline-flex;align-items:center;gap:.5rem;background:var(--accent);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;padding:.85rem 2rem;cursor:pointer;letter-spacing:-.01em;transition:background .15s,transform .1s}.landing-cta:hover{background:var(--accent-hover)}.landing-cta:active{transform:scale(.98)}.landing-cta-arrow{font-size:1.1rem;transition:transform .15s}.landing-cta:hover .landing-cta-arrow{transform:translate(3px)}.landing-attribution{font-size:.7rem;color:var(--text-muted);opacity:.55}.landing-attribution-link{color:inherit;text-decoration:underline;text-underline-offset:2px;transition:opacity .15s}.landing-attribution-link:hover{opacity:1}.header-brand{background:none;border:none;color:var(--text);font-size:1.5rem;font-weight:700;letter-spacing:-.02em;cursor:pointer;padding:0;line-height:1;transition:color .15s}.header-brand:hover{color:var(--accent)}.app{max-width:768px;margin:0 auto;height:100dvh;display:flex;flex-direction:column}.app-header{padding:.75rem 1rem 0}.app-header-row{display:flex;align-items:center;justify-content:space-between}.app-header h1{font-size:1.5rem;font-weight:700;letter-spacing:-.02em}.study-guide-btn{background:none;border:1px solid var(--border);color:var(--text-muted);font-size:.78rem;font-weight:500;padding:.3rem .75rem;border-radius:6px;cursor:pointer;transition:all .15s;letter-spacing:.01em}.study-guide-btn:hover,.study-guide-btn--active{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.study-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:200}.study-panel{position:fixed;top:0;left:0;height:100dvh;width:320px;max-width:90vw;background:var(--surface);border-right:1px solid var(--border);z-index:201;display:flex;flex-direction:column;transform:translate(-100%);transition:transform .25s ease}.study-panel--open{transform:translate(0)}.study-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:1rem 1rem .75rem;border-bottom:1px solid var(--border);flex-shrink:0}.study-panel-title{font-size:.95rem;font-weight:700;color:var(--text);letter-spacing:-.01em}.study-panel-sub{font-size:.72rem;color:var(--text-muted);line-height:1.45;margin-top:.2rem}.study-panel-close{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:.8rem;padding:.1rem;flex-shrink:0;opacity:.7;transition:opacity .15s}.study-panel-close:hover{opacity:1}.study-panel-body{flex:1;overflow-y:auto;padding:.5rem 0 1rem}.study-group{margin-bottom:.5rem}.study-group-label{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);padding:.75rem 1rem .35rem}.suggestion-card{display:flex;flex-direction:column;gap:.35rem;width:100%;text-align:left;background:none;border:none;border-bottom:1px solid var(--border);padding:.7rem 1rem;cursor:pointer;transition:background .12s}.suggestion-card:hover{background:color-mix(in srgb,var(--accent) 6%,var(--surface))}.suggestion-card:last-child{border-bottom:none}.suggestion-card-top{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.suggestion-badge{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:.15rem .45rem;border-radius:3px;flex-shrink:0}.badge-christological{background:color-mix(in srgb,var(--accent) 20%,transparent);color:var(--accent)}.badge-soteriological{background:color-mix(in srgb,var(--accent2) 20%,transparent);color:var(--accent2)}.badge-chronological{background:color-mix(in srgb,var(--diverge) 20%,transparent);color:var(--diverge)}.badge-addition{background:color-mix(in srgb,#a855f7 20%,transparent);color:#a855f7}.badge-judgment{background:color-mix(in srgb,#f87171 20%,transparent);color:#f87171}.suggestion-refs{display:flex;align-items:center;gap:.3rem;flex-wrap:wrap}.suggestion-ot-ref{font-size:.72rem;font-weight:600;color:var(--text)}.suggestion-nt-ref{font-size:.7rem;color:var(--text-muted)}.suggestion-title{font-size:.82rem;font-weight:600;color:var(--text);line-height:1.3}.suggestion-readings{display:flex;flex-direction:column;gap:.1rem;font-size:.72rem;color:var(--text-muted);font-style:italic}.suggestion-reading-lxx:before{content:"LXX: ";font-style:normal;font-weight:600;color:var(--accent2)}.suggestion-reading-mt:before{content:"MT: ";font-style:normal;font-weight:600;color:var(--diverge)}.suggestion-significance{font-size:.75rem;line-height:1.55;color:var(--text-muted)}.app-tabs{display:flex;gap:.25rem;margin-top:.5rem;border-bottom:1px solid var(--border);padding-bottom:0}.tab-btn{background:none;border:none;color:var(--text-muted);font-size:.85rem;font-weight:500;padding:.4rem 1rem;cursor:pointer;border-bottom:2px solid transparent;transition:all .15s}.tab-btn:hover{color:var(--text)}.tab-btn.active{color:var(--accent);border-bottom-color:var(--accent)}.reader-nav{display:flex;align-items:center;gap:.25rem;padding:.5rem .75rem;border-bottom:1px solid var(--border)}.reader-nav-arrow{background:none;border:1px solid var(--border);color:var(--text-muted);border-radius:6px;width:2.2rem;height:2.2rem;font-size:1.3rem;line-height:1;cursor:pointer;flex-shrink:0;transition:all .15s;display:flex;align-items:center;justify-content:center}.reader-nav-arrow:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.reader-nav-arrow:disabled{opacity:.25;cursor:not-allowed}.reader-nav-ref{flex:1;display:flex;align-items:center;justify-content:center;gap:.35rem;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:7px;padding:.4rem .75rem;font-size:.95rem;font-weight:600;cursor:pointer;transition:border-color .15s}.reader-nav-ref:hover:not(:disabled){border-color:var(--accent)}.reader-nav-ref:disabled{opacity:.5;cursor:not-allowed}.reader-nav-chevron{font-size:.65rem;color:var(--text-muted)}.passage-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:100;display:flex;align-items:flex-end;justify-content:center}.passage-modal{background:var(--surface);border:1px solid var(--border);border-bottom:none;border-radius:16px 16px 0 0;width:100%;max-width:768px;max-height:75dvh;display:flex;flex-direction:column;overflow:hidden}.passage-modal-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--border);flex-shrink:0}.passage-modal-title{font-size:.95rem;font-weight:600}.passage-nav-btn{background:none;border:none;color:var(--accent);font-size:.85rem;cursor:pointer;padding:.2rem .4rem;min-width:3rem}.passage-nav-btn:first-child{text-align:left}.passage-nav-btn:last-child{text-align:right}.passage-testament-tabs{display:flex;border-bottom:1px solid var(--border);flex-shrink:0}.pt-tab{flex:1;background:none;border:none;padding:.6rem 1rem;font-size:.85rem;font-weight:500;cursor:pointer;color:var(--text-muted);border-bottom:2px solid transparent;transition:all .15s}.pt-tab-active{color:var(--accent);border-bottom-color:var(--accent)}.pt-tab-disabled{opacity:.4;cursor:not-allowed}.pt-soon{font-size:.65rem;background:var(--border);border-radius:3px;padding:.1rem .3rem;margin-left:.3rem;vertical-align:middle;color:var(--text-muted)}.book-list{overflow-y:auto;flex:1;padding:.5rem 0}.book-item{display:block;width:100%;background:none;border:none;text-align:left;padding:.65rem 1.25rem;font-size:.95rem;color:var(--text);cursor:pointer;transition:background .1s}.book-item:hover{background:var(--bg)}.chapter-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.4rem;padding:.75rem 1rem;overflow-y:auto;flex:1}.chapter-cell{background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:.9rem;padding:.55rem 0;cursor:pointer;transition:all .12s;text-align:center}.chapter-cell:hover{border-color:var(--accent);color:var(--accent)}.chapter-cell-active{background:var(--accent);border-color:var(--accent);color:#fff}.parallel-reader{flex:1;display:flex;flex-direction:column;overflow:hidden}.reader-empty{margin:auto;text-align:center;color:var(--text-muted);padding:2rem;line-height:1.8}.reader-hint{font-size:.85rem;margin-top:.5rem}.link-btn{background:none;border:none;color:var(--accent);font-size:inherit;cursor:pointer;padding:0;text-decoration:underline}.reader-error{margin:1rem;padding:.75rem 1rem;background:#3b1212;border:1px solid #7f1d1d;border-radius:8px;color:#fca5a5;font-size:.9rem}.reader-ref{padding:.5rem 1rem;font-size:.8rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--border)}.reader-columns{flex:1;display:flex;overflow:hidden}.reader-col{flex:1;display:flex;flex-direction:column;overflow:hidden}.col-divider{width:1px;background:var(--border);flex-shrink:0}.col-header{padding:.6rem 1rem;border-bottom:1px solid var(--border);background:var(--surface)}.col-header-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.col-title{display:block;font-size:.8rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text)}.col-sub{display:block;font-size:.7rem;color:var(--text-muted);margin-top:.1rem}.render-btn{background:none;border:1px solid var(--border);color:var(--text-muted);border-radius:5px;padding:.25rem .6rem;font-size:.72rem;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:all .15s}.render-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.render-btn:disabled{opacity:.5;cursor:not-allowed}.col-verses{flex:1;position:relative;overflow:hidden}.col-view{position:absolute;top:0;right:0;bottom:0;left:0;overflow-y:auto;padding:.75rem 0;transition:opacity .25s ease}.col-view--hidden{opacity:0;pointer-events:none}.col-view-rendering{padding:.75rem 0}.rendering-prose-label{display:block;font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);padding:0 1rem .5rem}.rendered-verse{display:flex;gap:.5rem;padding:.6rem 1rem;border-bottom:1px solid var(--border);align-items:flex-start}.rendered-verse:last-child{border-bottom:none}.rendering-prose-text{font-size:.97rem;line-height:1.75;color:var(--text);margin:0}.psalms-banner{display:flex;align-items:flex-start;gap:.75rem;margin:.5rem .75rem .25rem;padding:.6rem .75rem;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--border));border-radius:6px;background:color-mix(in srgb,var(--accent) 8%,var(--surface));font-size:.78rem;line-height:1.5;color:var(--text-muted)}.psalms-banner strong{color:var(--text)}.psalms-banner-dismiss{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:.75rem;padding:0;flex-shrink:0;line-height:1;margin-top:.1rem;opacity:.6;transition:opacity .15s}.psalms-banner-dismiss:hover{opacity:1}.interlinear-verse{display:flex;gap:.5rem;padding:.6rem 1rem;border-bottom:1px solid var(--border);align-items:flex-start}.interlinear-verse:last-child{border-bottom:none}.verse-num{font-size:.7rem;font-weight:700;color:var(--accent);min-width:1.4rem;padding-top:.15rem;flex-shrink:0}.verse-text{font-size:1rem;line-height:1.7}.verse-text.hebrew{direction:rtl;font-family:SBL Hebrew,Ezra SIL,"Noto Serif Hebrew",serif;font-size:1.15rem;line-height:1.9}.verse-text.greek{font-family:SBL Greek,"Noto Serif",Gentium Plus,serif;font-size:1rem;line-height:1.8}.interlinear-words{display:flex;flex-wrap:wrap;gap:.5rem .75rem;flex:1}.interlinear-words.rtl{direction:rtl}.interlinear-words.ltr{direction:ltr}.word-unit{display:flex;flex-direction:column;align-items:center;gap:.15rem;cursor:default}.word-source{font-size:1.1rem;line-height:1.6;font-family:SBL Hebrew,Ezra SIL,"Noto Serif Hebrew",serif}.interlinear-words.ltr .word-source{font-family:SBL Greek,"Noto Serif",Gentium Plus,serif}.word-gloss{font-size:.65rem;color:var(--text-muted);text-align:center;direction:ltr;max-width:5rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.verse-absent{display:flex;gap:.5rem;padding:.6rem 1rem;border-bottom:1px solid var(--border);align-items:center}.absent-label{font-size:.8rem;color:var(--text-muted);font-style:italic}.chat-view{flex:1;display:flex;flex-direction:column;overflow:hidden}.chat-controls{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid var(--border);flex-wrap:wrap}.lens-selector{display:flex;align-items:center;gap:.5rem}.lens-selector label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.lens-selector select{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:.4rem .6rem;font-size:.85rem;cursor:pointer}.skill-bar{display:flex;gap:.5rem}.skill-btn{background:var(--surface);color:var(--text-muted);border:1px solid var(--border);border-radius:6px;padding:.35rem .7rem;font-size:.8rem;cursor:pointer;transition:all .15s}.skill-btn:hover{border-color:var(--accent);color:var(--text)}.skill-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.skill-icon{margin-right:.3rem}.message-list{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.75rem}.empty-state{margin:auto;text-align:center;color:var(--text-muted)}.empty-state .hint{font-size:.85rem;margin-top:.5rem;font-style:italic}.message{display:flex}.message-user{justify-content:flex-end}.message-bubble{max-width:80%;padding:.65rem 1rem;border-radius:12px;font-size:.95rem;line-height:1.5;white-space:pre-wrap}.message-user .message-bubble{background:var(--user-bubble);color:#fff;border-bottom-right-radius:4px}.message-assistant .message-bubble{background:var(--assistant-bubble);border-bottom-left-radius:4px}.loading-dots{color:var(--text-muted);animation:pulse 1.2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.message-input{display:flex;gap:.5rem;padding:.75rem 1rem;border-top:1px solid var(--border);background:var(--surface)}.message-input input{flex:1;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:.6rem 1rem;font-size:1rem;outline:none}.message-input input:focus{border-color:var(--accent)}.message-input button{background:var(--accent);color:#fff;border:none;border-radius:8px;padding:.6rem 1.2rem;font-size:.95rem;font-weight:600;cursor:pointer;transition:background .15s}.message-input button:hover:not(:disabled){background:var(--accent-hover)}.message-input button:disabled{opacity:.5;cursor:not-allowed}
