:root{--primary:#2563eb;--primary-light:#3b82f6;--primary-dark:#1d4ed8;--primary-surface:#eff6ff;--accent:#8b5cf6;--accent-light:#a78bfa;--accent-surface:#f5f3ff;--surface:#ffffff;--surface-dim:#f8fafc;--surface-container:#f1f5f9;--surface-container-high:#e2e8f0;--on-surface:#0f172a;--on-surface-variant:#475569;--on-surface-muted:#64748b;--outline:#e2e8f0;--outline-variant:#cbd5e1;--success:#059669;--success-surface:#ecfdf5;--warning:#d97706;--warning-surface:#fffbeb;--error:#dc2626;--error-surface:#fef2f2;--font-display:'Roboto Flex',system-ui,sans-serif;--font-body:'Roboto Flex',system-ui,sans-serif;--font-serif:'Roboto Serif',Georgia,serif;--font-mono:'Roboto Mono',monospace;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-2xl:32px;--radius-full:9999px;--shadow-xs:0 1px 2px rgba(0,0,0,0.04);--shadow-sm:0 2px 4px rgba(0,0,0,0.04),0 1px 2px rgba(0,0,0,0.06);--shadow-md:0 4px 8px rgba(0,0,0,0.04),0 2px 4px rgba(0,0,0,0.06);--shadow-lg:0 8px 16px rgba(0,0,0,0.06),0 4px 8px rgba(0,0,0,0.04);--shadow-xl:0 16px 32px rgba(0,0,0,0.08),0 8px 16px rgba(0,0,0,0.04);--shadow-glow:0 0 20px rgba(37, 99, 235, 0.15);--ease-out:cubic-bezier(0.16, 1, 0.3, 1);--ease-spring:cubic-bezier(0.34, 1.56, 0.64, 1);--ease-smooth:cubic-bezier(0.4, 0, 0.2, 1);--ease-bounce:cubic-bezier(0.68, -0.55, 0.265, 1.55);--ease-elastic:cubic-bezier(0.68, -0.6, 0.32, 1.6);--duration-fast:150ms;--duration-base:250ms;--duration-slow:400ms;--duration-slower:600ms;--container-max:640px;--header-height:64px}*,::after,::before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{font-family:var(--font-body);font-size:15px;line-height:1.6;color:var(--on-surface);background:var(--surface);min-height:100vh;min-height:100dvh;overscroll-behavior-y:contain;-webkit-tap-highlight-color:transparent;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}body::before{content:'';position:fixed;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 20%,var(--primary-surface) 0,transparent 50%),radial-gradient(circle at 80% 80%,var(--accent-surface) 0,transparent 50%);opacity:.5;pointer-events:none;z-index:-1}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-100%;left:50%;transform:translateX(-50%);background:var(--primary);color:#fff;padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);text-decoration:none;font-weight:500;z-index:10000}.skip-link:focus{top:var(--space-4)}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:0s!important;transition-duration:0s!important}}.app{display:flex;flex-direction:column;min-height:100vh}.container{width:100%;max-width:var(--container-max);margin:0 auto;padding:0 var(--space-6)}.main{flex:1;padding:var(--space-8) 0 var(--space-16)}.hidden{display:none!important}.header{position:fixed;top:0;right:0;padding:var(--space-4);z-index:100}.header .container{display:flex;justify-content:flex-end;max-width:none;padding:0}.header-spacer{display:none}.theme-toggle{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--radius-full);background:rgba(255,255,255,.8);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--outline);color:var(--on-surface-variant);cursor:pointer;transition:all var(--duration-base) var(--ease-spring);box-shadow:var(--shadow-md);position:relative;overflow:hidden}.theme-toggle::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at center,var(--primary-surface) 0,transparent 70%);opacity:0;transition:opacity var(--duration-base)}.theme-toggle:hover::before{opacity:1}.theme-toggle:hover{background:var(--surface);transform:scale(1.1) rotate(20deg);box-shadow:var(--shadow-lg),0 0 20px rgba(37,99,235,.2);color:var(--primary)}.theme-toggle:active{transform:scale(.9) rotate(-10deg);transition-duration:var(--duration-fast)}.theme-toggle svg{transition:transform var(--duration-slow) var(--ease-elastic)}.theme-toggle:hover svg{transform:rotate(360deg)}.theme-toggle .moon-icon{display:none}.hero{text-align:center;padding-top:var(--space-20);margin-bottom:var(--space-10);animation:hero-enter var(--duration-slower) var(--ease-out)}@keyframes hero-enter{from{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.logo-centered{display:flex;flex-direction:column;align-items:center;gap:var(--space-4)}.logo-icon{font-size:64px;line-height:1;animation:float 4s ease-in-out infinite,pulse-subtle 2s ease-in-out infinite alternate;filter:drop-shadow(0 4px 12px rgba(0, 0, 0, .1));cursor:pointer;transition:transform var(--duration-slow) var(--ease-elastic)}.logo-icon:hover{animation-play-state:paused;transform:scale(1.2) rotate(-5deg)}.logo-icon:active{transform:scale(.9)}@keyframes float{0%,100%{transform:translateY(0) rotate(0)}25%{transform:translateY(-6px) rotate(-2deg)}50%{transform:translateY(-10px) rotate(0)}75%{transform:translateY(-6px) rotate(2deg)}}@keyframes pulse-subtle{from{filter:drop-shadow(0 4px 12px rgba(0, 0, 0, .1))}to{filter:drop-shadow(0 8px 24px rgba(37, 99, 235, .2))}}.logo-title{font-family:var(--font-display);font-size:32px;font-weight:600;color:var(--on-surface);letter-spacing:-.02em;background:linear-gradient(135deg,var(--on-surface) 0,var(--primary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:title-shimmer 3s ease-in-out infinite;background-size:200% 100%}@keyframes title-shimmer{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}.search-section{margin-bottom:var(--space-8);animation:search-enter var(--duration-slower) var(--ease-out) .1s both}@keyframes search-enter{from{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.search-form{max-width:var(--container-max);margin:0 auto}.search-input-wrapper{display:flex;align-items:center;gap:var(--space-3);background:var(--surface);border:2px solid var(--outline);border-radius:var(--radius-full);padding:var(--space-4) var(--space-6);transition:all var(--duration-base) var(--ease-out);box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.search-input-wrapper::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,var(--primary-surface),transparent);transform:translateX(-100%);transition:none}.search-input-wrapper:focus-within::before{animation:search-shine 1.5s ease-out}@keyframes search-shine{from{transform:translateX(-100%)}to{transform:translateX(100%)}}.search-input-wrapper:hover{border-color:var(--outline-variant);box-shadow:var(--shadow-md);transform:translateY(-1px)}.search-input-wrapper:focus-within{border-color:var(--primary);box-shadow:var(--shadow-md),0 0 0 4px var(--primary-surface),0 0 30px rgba(37,99,235,.1);transform:scale(1.02)}.search-icon{flex-shrink:0;color:var(--on-surface-muted);transition:all var(--duration-base) var(--ease-spring)}.search-input-wrapper:focus-within .search-icon{color:var(--primary);transform:scale(1.1) rotate(-10deg)}.search-input{flex:1;font-family:var(--font-body);font-size:16px;color:var(--on-surface);background:0 0;border:none;outline:0;min-width:0}.search-input::placeholder{color:var(--on-surface-muted)}.search-btn{display:none}.search-extras{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--space-3);margin-top:var(--space-6);animation:chips-enter var(--duration-slower) var(--ease-out) .2s both}@keyframes chips-enter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.example-chip{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-body);font-size:14px;font-weight:500;color:var(--on-surface-variant);background:var(--surface);border:1.5px solid var(--outline);border-radius:var(--radius-full);padding:var(--space-2) var(--space-4);cursor:pointer;transition:all var(--duration-base) var(--ease-bounce);white-space:nowrap;position:relative;overflow:hidden}.example-chip::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at center,var(--primary-surface) 0,transparent 70%);opacity:0;transition:opacity var(--duration-fast)}.example-chip:hover::before{opacity:1}.example-chip:hover{background:var(--primary-surface);border-color:var(--primary-light);color:var(--primary);transform:translateY(-3px) scale(1.05);box-shadow:var(--shadow-md),0 8px 20px -8px var(--primary)}.example-chip:active{transform:translateY(0) scale(.95);transition-duration:var(--duration-micro)}@media (hover:none){.example-chip:hover{transform:none;box-shadow:none}.example-chip:active{background:var(--primary-surface);border-color:var(--primary-light);transform:scale(.96)}}.chip-icon{font-size:14px;opacity:.8}.random-chip{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-body);font-size:14px;font-weight:500;color:var(--accent);background:var(--accent-surface);border:1.5px solid transparent;border-radius:var(--radius-full);padding:var(--space-2) var(--space-4);cursor:pointer;transition:all var(--duration-base) var(--ease-bounce)}.random-chip:hover{background:var(--accent);color:#fff;transform:translateY(-3px) scale(1.05);box-shadow:var(--shadow-md),0 8px 20px -8px var(--accent)}.random-chip:active{transform:translateY(0) scale(.95);transition-duration:var(--duration-micro)}.random-chip svg{transition:transform var(--duration-slow) var(--ease-elastic)}.random-chip:hover svg{transform:rotate(360deg) scale(1.1)}.canon-toggle-wrapper{display:flex;align-items:center;justify-content:center;gap:var(--space-3);margin-top:var(--space-5);padding-top:var(--space-4);animation:chips-enter var(--duration-slower) var(--ease-out) .3s both}.canon-toggle{display:inline-flex;align-items:center;gap:var(--space-3);cursor:pointer;user-select:none;-webkit-user-select:none;position:relative}.canon-toggle input{position:absolute!important;opacity:0!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;white-space:nowrap;pointer-events:none;-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important;margin:-1px!important;padding:0!important;border:0!important}.toggle-track{display:inline-flex;align-items:center;justify-content:flex-start;position:relative;width:44px;height:24px;background:var(--surface-container-high);border-radius:9999px;transition:all var(--duration-base) var(--ease-spring);border:1.5px solid var(--outline);flex-shrink:0;cursor:pointer}.toggle-thumb{position:absolute;top:2px;left:2px;width:18px;height:18px;background:var(--on-surface-muted);border-radius:50%;transition:all var(--duration-base) var(--ease-spring);box-shadow:var(--shadow-sm);pointer-events:none}.canon-toggle input:checked+.toggle-track{background:var(--primary);border-color:var(--primary-dark)}.canon-toggle input:checked+.toggle-track .toggle-thumb{left:calc(100% - 20px);background:#fff}.canon-toggle input:focus-visible+.toggle-track{outline:2px solid var(--primary);outline-offset:2px}.canon-toggle:hover .toggle-track{border-color:var(--primary-light)}.canon-toggle:hover .toggle-thumb{transform:scale(1.1)}.canon-toggle:active .toggle-thumb{transform:scale(.95)}.toggle-label{font-size:13px;font-weight:500;color:var(--on-surface-variant);transition:color var(--duration-fast)}.canon-toggle input:checked~.toggle-label{color:var(--primary)}.toggle-hint{font-size:12px;color:var(--on-surface-muted);background:var(--surface-container);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-weight:500;transition:all var(--duration-base) var(--ease-out)}[data-canon-only=true] .toggle-hint{background:var(--primary-surface);color:var(--primary)}[data-canon-only=true] .verse-card[data-testament=APO],[data-canon-only=true] .verse-card[data-testament=EXTRA]{display:none}.results-section{min-height:200px}.ai-response{position:relative;background:linear-gradient(135deg,var(--primary-surface) 0,var(--accent-surface) 100%);border-radius:var(--radius-xl);padding:var(--space-6);margin-bottom:var(--space-6);overflow:hidden;animation:ai-response-appear var(--duration-slow) var(--ease-bounce);border:1px solid rgba(255,255,255,.5);transition:all var(--duration-base) var(--ease-out)}.ai-response:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.ai-response::before{content:'';position:absolute;top:0;left:0;right:0;height:100%;background:linear-gradient(135deg,rgba(255,255,255,.4) 0,rgba(255,255,255,.1) 100%);pointer-events:none}.ai-response::after{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:conic-gradient(from 0deg,transparent,rgba(255,255,255,.1),transparent 30%);animation:ai-shimmer 4s linear infinite;pointer-events:none}@keyframes ai-shimmer{from{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes ai-response-appear{from{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.ai-header{display:flex;align-items:center;gap:var(--space-2);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--primary);margin-bottom:var(--space-3);position:relative}.ai-header svg{width:16px;height:16px;animation:ai-icon-pulse 2s ease-in-out infinite}@keyframes ai-icon-pulse{0%,100%{opacity:1;filter:drop-shadow(0 0 4px var(--primary-light));transform:scale(1)}50%{opacity:.7;filter:drop-shadow(0 0 12px var(--primary));transform:scale(1.1)}}.ai-content{font-family:var(--font-serif);font-size:16px;line-height:1.8;color:var(--on-surface);position:relative}.ai-content p{margin-bottom:var(--space-3)}.ai-content p:last-child{margin-bottom:0}.ai-content strong{font-weight:600;color:var(--primary)}.ai-content ol,.ai-content ul{margin:var(--space-3) 0;padding-left:var(--space-5)}.ai-content li{margin-bottom:var(--space-2);line-height:1.6}.ai-content li ol,.ai-content li ul{margin:var(--space-2) 0 0 0}.ai-content h1,.ai-content h2,.ai-content h3{font-family:var(--font-sans);font-weight:600;margin:var(--space-4) 0 var(--space-2) 0;color:var(--on-surface)}.ai-content h1{font-size:1.25rem}.ai-content h2{font-size:1.125rem}.ai-content h3{font-size:1rem}.ai-content code{font-family:var(--font-mono);background:var(--surface-variant);padding:.125rem .375rem;border-radius:4px;font-size:.875em}.ai-content blockquote{border-left:3px solid var(--primary);padding-left:var(--space-3);margin:var(--space-3) 0;font-style:italic;opacity:.9}.ai-loading{display:flex;align-items:center;gap:var(--space-2)}.ai-loading .loading-text{animation:loading-text-pulse 1.5s ease-in-out infinite;background:linear-gradient(90deg,var(--on-surface),var(--primary),var(--on-surface));background-size:200% 100%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}@keyframes loading-text-pulse{0%{background-position:200% 0}100%{background-position:-200% 0}}.ai-unavailable{font-style:italic;opacity:.7}.verses-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.verses-header h3{font-family:var(--font-display);font-size:14px;font-weight:600;color:var(--on-surface-variant);text-transform:uppercase;letter-spacing:.05em}.verses-count{font-family:var(--font-mono);font-size:12px;font-weight:500;color:var(--on-surface-muted);background:var(--surface-container);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full)}.verses-list{display:flex;flex-direction:column;gap:var(--space-4)}.verse-card{position:relative;background:var(--surface);border:1px solid var(--outline);border-radius:var(--radius-lg);padding:var(--space-5);cursor:pointer;transition:all var(--duration-base) var(--ease-out);animation:verse-appear var(--duration-slow) var(--ease-out) both;transform-origin:center bottom}.verse-card:first-child{animation-delay:0s}.verse-card:nth-child(2){animation-delay:60ms}.verse-card:nth-child(3){animation-delay:120ms}.verse-card:nth-child(4){animation-delay:180ms}.verse-card:nth-child(5){animation-delay:240ms}@keyframes verse-appear{0%{opacity:0;transform:translateY(20px) scale(.95) rotateX(10deg)}100%{opacity:1;transform:translateY(0) scale(1) rotateX(0)}}.verse-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--primary) 0,var(--accent) 100%);border-radius:var(--radius-lg) 0 0 var(--radius-lg);opacity:0;transform:scaleY(0);transform-origin:bottom;transition:all var(--duration-base) var(--ease-bounce)}.verse-card:hover{border-color:var(--primary-light);transform:translateY(-6px) scale(1.01);box-shadow:var(--shadow-lg),0 20px 40px -20px rgba(37,99,235,.3)}.verse-card:hover::before{opacity:1;transform:scaleY(1)}.verse-card:active{transform:translateY(-2px) scale(.99);transition-duration:var(--duration-micro)}.verse-card::after{content:'Click to explore';position:absolute;bottom:var(--space-2);right:var(--space-4);font-size:11px;font-weight:500;color:var(--on-surface-muted);opacity:0;transform:translateY(8px);transition:all var(--duration-base) var(--ease-bounce)}.verse-card:hover::after{opacity:.7;transform:translateY(0)}.verse-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-2)}.verse-reference{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.verse-reference-text{font-family:var(--font-serif);font-size:15px;font-weight:600;color:var(--primary)}.verse-testament{font-family:var(--font-mono);font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.03em;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm)}.verse-testament.ot{background:var(--success-surface);color:var(--success)}.verse-testament.nt{background:var(--primary-surface);color:var(--primary)}.verse-testament.apo{background:var(--warning-surface);color:var(--warning)}.verse-testament.extra{background:var(--accent-surface);color:var(--accent)}.verse-text{font-family:var(--font-serif);font-size:15px;line-height:1.75;color:var(--on-surface)}.verse-score{margin-top:var(--space-2);font-family:var(--font-mono);font-size:11px;color:var(--on-surface-muted)}.verse-actions{display:flex;gap:var(--space-1);flex-shrink:0}.action-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:0 0;border:1px solid var(--outline);border-radius:var(--radius-md);color:var(--on-surface-muted);cursor:pointer;transition:all var(--duration-base) var(--ease-bounce);touch-action:manipulation;position:relative;overflow:hidden}.action-btn::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at center,var(--primary-surface) 0,transparent 70%);opacity:0;transform:scale(0);transition:all var(--duration-base) var(--ease-out)}.action-btn:hover::before{opacity:1;transform:scale(2)}.action-btn:hover{background:var(--surface-container);border-color:var(--primary-light);color:var(--primary);transform:scale(1.15) rotate(-5deg);box-shadow:0 4px 12px -4px var(--primary)}.action-btn:active{transform:scale(.9) rotate(0);transition-duration:var(--duration-micro)}.action-btn svg{position:relative;z-index:1;transition:transform var(--duration-fast) var(--ease-bounce)}.action-btn:hover svg{transform:scale(1.1)}.bookmark-btn.active{color:var(--accent);background:var(--accent-surface);border-color:var(--accent-light);animation:bookmark-pop .4s var(--ease-bounce)}@keyframes bookmark-pop{0%{transform:scale(1)}50%{transform:scale(1.3) rotate(-10deg)}100%{transform:scale(1)}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--space-4);opacity:0;visibility:hidden;transition:all var(--duration-base) var(--ease-out)}.modal-overlay.active{opacity:1;visibility:visible}.modal{background:var(--surface);border-radius:var(--radius-2xl);max-width:720px;width:100%;max-height:85vh;display:flex;flex-direction:column;box-shadow:var(--shadow-xl),0 40px 80px -30px rgba(0,0,0,.4);transform:translateY(40px) scale(.9) rotateX(8deg);transform-origin:center bottom;transition:transform var(--duration-slow) var(--ease-bounce);overflow:hidden;perspective:1000px}.modal-overlay.active .modal{transform:translateY(0) scale(1) rotateX(0)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--outline);flex-shrink:0}.modal-title{font-family:var(--font-serif);font-size:20px;font-weight:600;color:var(--primary);display:flex;align-items:center;gap:var(--space-3)}.modal-testament{font-family:var(--font-mono);font-size:10px;font-weight:500;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);text-transform:uppercase}.modal-testament.ot{background:var(--success-surface);color:var(--success)}.modal-testament.nt{background:var(--primary-surface);color:var(--primary)}.modal-testament.apo{background:var(--warning-surface);color:var(--warning)}.modal-testament.extra{background:var(--accent-surface);color:var(--accent)}.modal-close{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:0 0;border:none;border-radius:var(--radius-full);color:var(--on-surface-muted);cursor:pointer;transition:all var(--duration-base) var(--ease-bounce)}.modal-close:hover{background:var(--error-surface);color:var(--error);transform:rotate(90deg) scale(1.1)}.modal-close:active{transform:rotate(90deg) scale(.9)}.modal-body{flex:1;overflow-y:auto;padding:var(--space-6)}.modal-verse-text{font-family:var(--font-serif);font-size:18px;line-height:1.9;color:var(--on-surface);padding:var(--space-5);background:linear-gradient(135deg,var(--primary-surface) 0,var(--surface-dim) 100%);border-radius:var(--radius-lg);border-left:4px solid var(--primary);margin-bottom:var(--space-6);animation:verse-text-reveal .5s var(--ease-out) both}@keyframes verse-text-reveal{from{opacity:0;transform:translateX(-10px);border-left-width:0}to{opacity:1;transform:translateX(0);border-left-width:4px}}.modal-section{margin-bottom:var(--space-6)}.modal-section-title{display:flex;align-items:center;gap:var(--space-2);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--on-surface-variant);margin-bottom:var(--space-4)}.chapter-nav{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-5)}.chapter-nav-btn{display:flex;align-items:center;gap:var(--space-2);font-family:var(--font-body);font-size:13px;font-weight:500;color:var(--on-surface-variant);background:var(--surface);border:1px solid var(--outline);border-radius:var(--radius-full);padding:var(--space-2) var(--space-4);cursor:pointer;transition:all var(--duration-fast) var(--ease-out)}.chapter-nav-btn:hover:not(:disabled){background:var(--surface-container);border-color:var(--primary-light);color:var(--primary)}.chapter-nav-btn:disabled{opacity:.4;cursor:not-allowed}.chapter-indicator{font-family:var(--font-display);font-weight:600;color:var(--on-surface)}.chapter-verses{display:flex;flex-direction:column;gap:var(--space-2);max-height:360px;overflow-y:auto;padding-right:var(--space-2)}.chapter-verse{display:flex;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--surface-dim);border-radius:var(--radius-md);transition:all var(--duration-fast) var(--ease-out);border:2px solid transparent}.chapter-verse:hover{background:var(--surface-container)}.chapter-verse.highlighted{background:linear-gradient(135deg,var(--primary-surface) 0,rgba(139,92,246,.1) 100%);border-color:var(--primary);box-shadow:var(--shadow-sm)}.chapter-verse.highlighted .verse-num{color:var(--primary-dark);font-weight:700}.chapter-verse.highlighted .verse-text-inline{color:var(--on-surface);font-weight:500}.verse-num{font-family:var(--font-mono);font-size:12px;font-weight:600;color:var(--primary);min-width:24px;flex-shrink:0}.verse-text-inline{font-family:var(--font-serif);font-size:14px;line-height:1.7;color:var(--on-surface)}.no-content{text-align:center;color:var(--on-surface-muted);padding:var(--space-8)}.modal-loading{display:flex;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-8);color:var(--on-surface-muted)}.empty-state{text-align:center;padding:var(--space-16) var(--space-6);color:var(--on-surface-muted)}.empty-icon{font-size:48px;margin-bottom:var(--space-4);animation:float 3s ease-in-out infinite}.empty-state h3{font-family:var(--font-display);font-size:18px;font-weight:600;color:var(--on-surface);margin-bottom:var(--space-2)}.empty-state p{font-size:14px;max-width:320px;margin:0 auto}.error-state{text-align:center;padding:var(--space-10) var(--space-6);background:var(--error-surface);border:1px solid rgba(220,38,38,.2);border-radius:var(--radius-xl)}.error-icon{font-size:40px;margin-bottom:var(--space-3)}.error-state h3{font-size:16px;font-weight:600;color:var(--error);margin-bottom:var(--space-2)}.error-state p{font-size:14px;color:var(--on-surface-variant);margin-bottom:var(--space-4)}.retry-btn{font-family:var(--font-body);font-size:14px;font-weight:500;color:#fff;background:var(--error);border:none;border-radius:var(--radius-full);padding:var(--space-3) var(--space-6);cursor:pointer;transition:all var(--duration-fast) var(--ease-out)}.retry-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.bookmarks-section{margin-top:var(--space-12);padding-top:var(--space-8);border-top:1px solid var(--outline)}.bookmarks-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.bookmarks-header h3{font-family:var(--font-display);font-size:14px;font-weight:600;color:var(--on-surface-variant);text-transform:uppercase;letter-spacing:.05em}.bookmarks-clear{font-size:12px;font-weight:500;color:var(--error);background:0 0;border:none;cursor:pointer;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);transition:background var(--duration-fast)}.bookmarks-clear:hover{background:var(--error-surface)}.bookmarks-list{display:flex;flex-direction:column;gap:var(--space-3)}.bookmark-item{display:flex;align-items:flex-start;gap:var(--space-4);background:var(--surface-container);border-radius:var(--radius-md);padding:var(--space-4);transition:all var(--duration-fast) var(--ease-out)}.bookmark-item:hover{background:var(--surface-container-high);transform:translateX(4px)}.bookmark-content{flex:1;cursor:pointer}.bookmark-ref{font-family:var(--font-serif);font-size:14px;font-weight:600;color:var(--primary);margin-bottom:var(--space-1)}.bookmark-text{font-family:var(--font-serif);font-size:13px;color:var(--on-surface-variant);line-height:1.5;margin:0}.bookmark-remove{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:0 0;border:none;border-radius:var(--radius-full);color:var(--on-surface-muted);cursor:pointer;transition:all var(--duration-fast);flex-shrink:0}.bookmark-remove:hover{background:var(--error-surface);color:var(--error)}.footer{background:var(--surface-dim);border-top:1px solid var(--outline);padding:var(--space-6) 0;padding-bottom:calc(var(--space-6) + env(safe-area-inset-bottom));margin-top:auto}.footer .container{text-align:center}.footer-text{font-size:13px;color:var(--on-surface-variant)}.skeleton-container{display:flex;flex-direction:column;gap:var(--space-4)}.skeleton-card{background:var(--surface);border-radius:var(--radius-lg);padding:var(--space-5);border:1px solid var(--outline)}.skeleton{background:linear-gradient(90deg,var(--surface-container) 25%,var(--surface-dim) 50%,var(--surface-container) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s infinite;border-radius:var(--radius-sm)}.skeleton-header{height:18px;width:35%;margin-bottom:var(--space-4)}.skeleton-text{height:14px;width:100%;margin-bottom:var(--space-2)}.skeleton-text.short{width:60%}@keyframes skeleton-shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}.toast{position:fixed;bottom:var(--space-8);left:50%;transform:translateX(-50%) translateY(120px) scale(.8);background:var(--on-surface);color:var(--surface);padding:var(--space-3) var(--space-5);border-radius:var(--radius-full);box-shadow:var(--shadow-xl),0 20px 40px -20px rgba(0,0,0,.5);display:flex;align-items:center;gap:var(--space-2);z-index:10001;opacity:0;transition:all var(--duration-base) var(--ease-bounce)}.toast.show{transform:translateX(-50%) translateY(0) scale(1);opacity:1;animation:toast-bounce .5s var(--ease-bounce)}@keyframes toast-bounce{0%{transform:translateX(-50%) translateY(120px) scale(.8)}60%{transform:translateX(-50%) translateY(-10px) scale(1.05)}100%{transform:translateX(-50%) translateY(0) scale(1)}}.toast-success{background:var(--success);box-shadow:var(--shadow-xl),0 20px 40px -20px var(--success)}.toast-error{background:var(--error);box-shadow:var(--shadow-xl),0 20px 40px -20px var(--error)}.toast-icon{font-weight:700;animation:toast-icon-pop .3s var(--ease-bounce) .2s both}@keyframes toast-icon-pop{from{transform:scale(0)}to{transform:scale(1)}}.toast-message{font-size:14px;font-weight:500}.share-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:var(--space-4)}.share-modal{background:var(--surface);border-radius:var(--radius-xl);max-width:360px;width:100%;box-shadow:var(--shadow-xl);animation:modal-appear var(--duration-slow) var(--ease-spring)}@keyframes modal-appear{from{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.share-modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-5);border-bottom:1px solid var(--outline)}.share-modal-header h3{font-size:16px;font-weight:600;color:var(--on-surface)}.share-modal-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:0 0;border:none;color:var(--on-surface-muted);font-size:20px;cursor:pointer;border-radius:var(--radius-full);transition:all var(--duration-fast)}.share-modal-close:hover{background:var(--surface-container);color:var(--on-surface)}.share-modal-body{padding:var(--space-5)}.share-buttons{display:flex;gap:var(--space-4);justify-content:center}.share-btn-social{width:48px;height:48px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;color:#fff;text-decoration:none;border:none;cursor:pointer;transition:all var(--duration-fast) var(--ease-spring)}.share-btn-social:hover{transform:scale(1.15) rotate(5deg)}.share-btn-social:active{transform:scale(.95)}.share-btn-social.twitter{background:#000}.share-btn-social.facebook{background:#1877f2}.share-btn-social.copy-link{background:var(--primary)}.spinner{animation:spin 1s linear infinite}.spinner-track{stroke:rgba(0,0,0,0.1)}.spinner-head{stroke:var(--primary);stroke-linecap:round}@keyframes spin{to{transform:rotate(360deg)}}.search-history{margin-top:var(--space-5);padding:var(--space-4);background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--outline)}.history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3);font-size:12px;color:var(--on-surface-muted)}.history-clear{background:0 0;border:none;color:var(--on-surface-muted);font-size:11px;cursor:pointer;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);transition:all var(--duration-fast)}.history-clear:hover{background:var(--surface-container);color:var(--on-surface)}.history-items{display:flex;flex-wrap:wrap;gap:var(--space-2)}.history-item{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);font-size:12px;color:var(--on-surface-variant);background:var(--surface-container);border:1px solid transparent;border-radius:var(--radius-full);cursor:pointer;transition:all var(--duration-fast) var(--ease-out)}.history-item:hover{background:var(--primary-surface);border-color:var(--primary-light);color:var(--primary)}.history-item svg{opacity:.5}[data-theme=dark]{--primary:#60a5fa;--primary-light:#93c5fd;--primary-dark:#3b82f6;--primary-surface:rgba(96, 165, 250, 0.12);--accent:#a78bfa;--accent-light:#c4b5fd;--accent-surface:rgba(167, 139, 250, 0.12);--surface:#000000;--surface-dim:#0a0a0a;--surface-container:#121212;--surface-container-high:#1c1c1c;--on-surface:#f8fafc;--on-surface-variant:#a1a1aa;--on-surface-muted:#71717a;--outline:#27272a;--outline-variant:#3f3f46;--success:#4ade80;--success-surface:rgba(74, 222, 128, 0.12);--warning:#fbbf24;--warning-surface:rgba(251, 191, 36, 0.12);--error:#f87171;--error-surface:rgba(248, 113, 113, 0.12)}[data-theme=dark] body{background:#000}[data-theme=dark] body::before{background:radial-gradient(circle at 20% 20%,rgba(96,165,250,.03) 0,transparent 50%),radial-gradient(circle at 80% 80%,rgba(167,139,250,.03) 0,transparent 50%)}[data-theme=dark] .theme-toggle{background:rgba(18,18,18,.9);border-color:var(--outline)}[data-theme=dark] .theme-toggle:hover{background:var(--surface-container)}[data-theme=dark] .theme-toggle .sun-icon{display:none}[data-theme=dark] .theme-toggle .moon-icon{display:block}[data-theme=dark] .search-input-wrapper{background:var(--surface-dim);border-color:var(--outline)}[data-theme=dark] .search-input-wrapper:focus-within{border-color:var(--primary);box-shadow:var(--shadow-md),0 0 0 4px rgba(96,165,250,.15)}[data-theme=dark] .example-chip{background:var(--surface-dim);border-color:var(--outline)}[data-theme=dark] .example-chip:hover{background:var(--primary-surface);border-color:var(--primary-light)}[data-theme=dark] .random-chip{background:var(--accent-surface)}[data-theme=dark] .random-chip:hover{background:var(--accent)}[data-theme=dark] .toggle-track{background:var(--surface-container-high);border-color:var(--outline)}[data-theme=dark] .toggle-thumb{background:var(--on-surface-muted)}[data-theme=dark] .canon-toggle input:checked+.toggle-track{background:var(--primary);border-color:var(--primary)}[data-theme=dark] .toggle-hint{background:var(--surface-container)}[data-theme=dark] .ai-response{background:linear-gradient(135deg,rgba(96,165,250,.15) 0,rgba(167,139,250,.15) 100%);border-color:var(--outline)}[data-theme=dark] .verse-card{background:var(--surface-dim);border-color:var(--outline)}[data-theme=dark] .verse-card:hover{background:var(--surface-container);border-color:var(--primary-light)}[data-theme=dark] .modal{background:var(--surface-dim)}[data-theme=dark] .modal-header{border-color:var(--outline)}[data-theme=dark] .modal-verse-text{background:linear-gradient(135deg,var(--primary-surface) 0,var(--surface-container) 100%)}[data-theme=dark] .chapter-verse{background:var(--surface-container)}[data-theme=dark] .chapter-verse:hover{background:var(--surface-container-high)}[data-theme=dark] .chapter-verse.highlighted{background:linear-gradient(135deg,var(--primary-surface) 0,var(--accent-surface) 100%);border-color:var(--primary)}[data-theme=dark] .chapter-nav-btn{background:var(--surface-dim);border-color:var(--outline)}[data-theme=dark] .skeleton{background:linear-gradient(90deg,var(--surface-container) 25%,var(--surface-container-high) 50%,var(--surface-container) 75%)}[data-theme=dark] .bookmark-item{background:var(--surface-container)}[data-theme=dark] .bookmark-item:hover{background:var(--surface-container-high)}[data-theme=dark] .search-history{background:var(--surface-dim);border-color:var(--outline)}[data-theme=dark] .history-item{background:var(--surface-container)}[data-theme=dark] .footer{background:var(--surface-dim);border-color:var(--outline)}[data-theme=dark] .share-modal{background:var(--surface-dim)}[data-theme=dark] .share-modal-header{border-color:var(--outline)}[data-theme=dark] .toast{background:var(--surface-container-high);color:var(--on-surface)}[data-theme=dark] .action-btn{border-color:var(--outline)}[data-theme=dark] .action-btn:hover{background:var(--surface-container)}@media (max-width:640px){:root{--space-6:20px;--space-8:24px}.hero{padding-top:var(--space-12)}.logo-icon{font-size:56px}.logo-title{font-size:26px}.search-input-wrapper{padding:var(--space-3) var(--space-4)}.search-input{font-size:16px}.search-extras{gap:var(--space-2)}.example-chip,.random-chip{font-size:14px;padding:var(--space-2) var(--space-4);min-height:44px}.chip-icon{display:none}.verse-card{padding:var(--space-4)}.verse-card::after{display:none}.action-btn{width:44px;height:44px}.modal{max-height:100dvh;max-height:calc(100vh - env(safe-area-inset-top) - env(safe-area-inset-bottom));border-radius:var(--radius-xl) var(--radius-xl) 0 0;margin-top:auto}.modal-overlay{align-items:flex-end;padding:0}.modal-header{padding:var(--space-4);position:sticky;top:0;background:var(--surface);z-index:10}.modal-body{padding:var(--space-4);padding-bottom:calc(var(--space-4) + env(safe-area-inset-bottom))}.modal-title{font-size:17px}.modal-verse-text{font-size:16px;padding:var(--space-4)}.chapter-nav{flex-wrap:wrap;justify-content:center;position:sticky;top:0;background:var(--surface);padding:var(--space-2) 0;margin:calc(-1 * var(--space-2)) 0 var(--space-3) 0;z-index:5}.theme-toggle{width:44px;height:44px}.toast{bottom:calc(var(--space-8) + env(safe-area-inset-bottom));left:var(--space-4);right:var(--space-4);transform:translateY(100px)}.toast.show{transform:translateY(0)}}@media (max-width:400px){.search-extras{flex-direction:column;align-items:stretch}.example-chip,.random-chip{justify-content:center}}@media print{.ai-response,.footer,.header,.search-section,.verse-actions{display:none!important}.verse-card{break-inside:avoid;border:none;box-shadow:none;padding:var(--space-3) 0}.verse-card::after,.verse-card::before{display:none}}