.app-shell{max-width:1180px;margin:0 auto;padding:56px 24px 80px}.eyebrow{font-family:var(--font-body);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint);margin:0 0 8px}.app-header{max-width:680px;margin-bottom:48px}.app-header h1{font-family:var(--font-display);font-weight:600;font-size:40px;line-height:1.15;margin:0 0 14px;background:var(--gradient-accent);-webkit-background-clip:text;background-clip:text;color:transparent}.subhead{color:var(--text-dim);font-size:16px;line-height:1.6;margin:0}.app-body{display:grid;grid-template-columns:280px 1fr;gap:24px;align-items:start}@media(max-width:860px){.app-body{grid-template-columns:1fr}}.library-panel{padding:20px;position:sticky;top:24px}.library-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.add-btn{background:none;border:1px solid var(--border-strong);color:var(--text);border-radius:8px;padding:5px 10px;font-size:13px}.add-btn:hover{background:var(--bg-panel-hover)}.upload-form{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--border)}.upload-form input,.upload-form select,.upload-form textarea{background:#ffffff0a;border:1px solid var(--border);border-radius:8px;color:var(--text);padding:8px 10px;font-size:13px;font-family:var(--font-body);resize:vertical}.upload-form button{background:var(--gradient-accent);border:none;border-radius:8px;color:#0a0b12;font-weight:600;padding:8px 10px;font-size:13px}.upload-form button:disabled{opacity:.6}.doc-list{display:flex;flex-direction:column;gap:4px;max-height:480px;overflow-y:auto}.doc-row{display:flex;justify-content:space-between;align-items:center;padding:8px 6px;border-radius:8px}.doc-row:hover{background:var(--bg-panel-hover)}.doc-title{font-size:13px;margin:0;color:var(--text)}.doc-meta{font-size:11px;margin:2px 0 0;color:var(--text-faint);text-transform:capitalize}.delete-btn{background:none;border:none;color:var(--text-faint);font-size:18px;line-height:1;padding:4px 8px}.delete-btn:hover{color:var(--pink)}.doc-title-btn{background:none;border:none;text-align:left;padding:0;flex:1;color:inherit}.doc-title-btn:hover .doc-title{color:var(--cyan)}.text-dim{color:var(--text-dim);font-size:13px}.error-text{color:var(--pink);font-size:12px}.viewer-panel{padding:26px 28px;display:flex;flex-direction:column}.viewer-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:4px}.viewer-header h3{font-family:var(--font-display);font-size:24px;margin:0;color:var(--text)}.back-btn{background:none;border:1px solid var(--border-strong);color:var(--text-dim);border-radius:8px;padding:7px 14px;font-size:13px;white-space:nowrap}.back-btn:hover{background:var(--bg-panel-hover);color:var(--text)}.viewer-stats{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--cyan);margin:12px 0 14px}.viewer-search-input{background:#ffffff0d;border:1px solid var(--border-strong);border-radius:10px;color:var(--text);padding:12px 16px;font-size:14px;font-family:var(--font-body);margin-bottom:12px}.viewer-search-input:focus{border-color:var(--indigo)}.viewer-hint{font-size:12px;color:var(--text-faint);margin:0 0 20px;line-height:1.5}.viewer-chunks{display:flex;flex-direction:column;gap:20px}.viewer-chunk{padding-bottom:20px;border-bottom:1px solid var(--border)}.viewer-chunk:last-child{border-bottom:none}.viewer-chunk-meta{display:flex;gap:12px;flex-wrap:wrap;font-size:11px;color:var(--text-faint);margin-bottom:8px;font-variant-numeric:tabular-nums}.viewer-chunk-content{font-size:15px;line-height:1.75;color:var(--text-dim);margin:0;white-space:pre-wrap;max-width:68ch}.search-panel{padding:24px;margin-bottom:24px}.search-row{display:flex;gap:10px}.topic-input{flex:1;background:#ffffff0d;border:1px solid var(--border-strong);border-radius:10px;color:var(--text);padding:13px 16px;font-size:15px;font-family:var(--font-body)}.topic-input:focus{border-color:var(--indigo)}.submit-btn{background:var(--gradient-accent);border:none;border-radius:10px;color:#0a0b12;font-weight:600;padding:0 22px;font-size:14px;white-space:nowrap}.submit-btn:disabled{opacity:.5;cursor:default}.search-options{display:flex;justify-content:space-between;align-items:center;margin-top:14px;flex-wrap:wrap;gap:10px}.type-filters{display:flex;gap:6px;flex-wrap:wrap}.type-chip{background:#ffffff0a;border:1px solid var(--border);border-radius:999px;color:var(--text-dim);padding:5px 12px;font-size:12px}.type-chip.active{border-color:var(--indigo);color:var(--text);background:#6366f129}.points-select{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-faint)}.points-select select{background:#ffffff0d;border:1px solid var(--border);color:var(--text);border-radius:6px;padding:3px 6px}.error-banner,.warning-banner{padding:14px 18px;color:var(--pink);font-size:13px;margin-bottom:16px}.warning-banner{color:var(--amber)}.warning-banner p{margin:0}.ai-label{font-size:12px;color:var(--text-faint);margin:0 0 16px;letter-spacing:.02em}.loading-state{padding:24px;color:var(--text-dim);font-size:14px}.empty-state{padding:32px;text-align:center}.empty-state p:last-child{color:var(--text-dim);margin-top:6px}.results-panel{display:flex;flex-direction:column;gap:18px}.point-card{padding:24px 26px}.point-header{display:flex;align-items:baseline;gap:14px;margin-bottom:12px}.point-number{font-family:var(--font-display);font-size:15px;color:var(--text-faint);font-variant-numeric:tabular-nums}.point-header h3{font-family:var(--font-display);font-weight:600;font-size:21px;margin:0;flex:1;color:var(--text)}.confidence{font-size:11px;padding:3px 9px;border-radius:999px;white-space:nowrap}.confidence-high{background:#22d3ee26;color:var(--cyan)}.confidence-medium{background:#f5b94226;color:var(--amber)}.confidence-low{background:#ec489926;color:var(--pink)}.point-explanation{color:var(--text-dim);line-height:1.65;font-size:14.5px;margin:0 0 16px}.scripture-block{border-left:2px solid var(--indigo);padding-left:14px;margin-bottom:16px;display:flex;flex-direction:column;gap:8px}.scripture-line{display:flex;flex-direction:column}.scripture-ref{font-family:var(--font-display);font-weight:600;font-size:14px;color:var(--cyan)}.scripture-connection{font-size:13px;color:var(--text-dim)}.margin-ledger{border-top:1px solid var(--border);padding-top:12px}.ledger-label{font-size:11px;color:var(--text-faint);text-transform:uppercase;letter-spacing:.08em;margin:0 0 8px}.ledger-tags{display:flex;gap:6px}.ledger-tag{width:24px;height:24px;border-radius:50%;border:1px solid var(--border-strong);background:#ffffff0a;color:var(--text-dim);font-size:11px;font-family:var(--font-display)}.ledger-tag.active{background:var(--gradient-accent);color:#0a0b12;border-color:transparent}.source-detail{margin-top:12px;padding:12px 14px;background:#ffffff08;border-radius:10px;border:1px solid var(--border)}.source-title{font-size:12px;font-weight:600;color:var(--amber);margin:0 0 6px}.source-detail p:last-child{font-size:13px;color:var(--text-dim);margin:0;line-height:1.55}:root{--bg: #0a0b12;--bg-panel: rgba(255, 255, 255, .045);--bg-panel-hover: rgba(255, 255, 255, .07);--border: rgba(255, 255, 255, .09);--border-strong: rgba(255, 255, 255, .16);--text: #eceef4;--text-dim: #9498ab;--text-faint: #62667a;--indigo: #6366f1;--pink: #ec4899;--cyan: #22d3ee;--amber: #f5b942;--gradient-accent: linear-gradient(120deg, var(--indigo), var(--pink) 55%, var(--cyan));--font-display: "Fraunces", Georgia, serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);background-image:radial-gradient(ellipse 900px 500px at 15% -10%,rgba(99,102,241,.14),transparent),radial-gradient(ellipse 700px 500px at 100% 10%,rgba(236,72,153,.09),transparent);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased}::selection{background:#6366f159}a{color:inherit}button{font-family:inherit;cursor:pointer}:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}.glass{background:var(--bg-panel);border:1px solid var(--border);border-radius:14px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
