:root{--font-display: "Cinzel", serif;--font-serif: "Newsreader", "Georgia", serif;--font-sans: "Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--bg-primary: #FDFCFB;--bg-secondary: #F7F4EE;--bg-card: #FFFFFF;--bg-header: rgba(253, 252, 251, .92);--text-primary: #1C1917;--text-secondary: #57534E;--text-muted: #78716C;--accent-color: #8C7851;--accent-hover: #73613F;--accent-light: #F4EFE6;--border-color: #E7E3DA;--border-focus: #8C7851;--shadow-sm: 0 1px 3px rgba(28, 25, 23, .04);--shadow-md: 0 4px 12px rgba(28, 25, 23, .06), 0 1px 3px rgba(28, 25, 23, .04);--shadow-lg: 0 12px 28px rgba(28, 25, 23, .08), 0 4px 10px rgba(28, 25, 23, .04);--hl-yellow: #FEF08A;--hl-green: #BBF7D0;--hl-blue: #BFDBFE;--hl-pink: #FBCFE8;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-full: 9999px}.dark-theme{--bg-primary: #141312;--bg-secondary: #1C1A18;--bg-card: #211F1D;--bg-header: rgba(20, 19, 18, .92);--text-primary: #F5F2EB;--text-secondary: #D6D1C7;--text-muted: #9E978C;--accent-color: #C5A059;--accent-hover: #D9B76E;--accent-light: rgba(197, 160, 89, .15);--border-color: #33302B;--border-focus: #C5A059;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 12px 28px rgba(0, 0, 0, .5);--hl-yellow: #713F12;--hl-green: #14532D;--hl-blue: #1E3A8A;--hl-pink: #831843}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;min-height:100vh;transition:background-color .3s ease,color .3s ease;display:flex;flex-direction:column;-webkit-font-smoothing:antialiased}.hidden{display:none!important}.app-header{position:sticky;top:0;z-index:100;background-color:var(--bg-header);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border-color);padding:14px 24px}.header-container{max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:space-between}.app-brand{display:flex;align-items:center;gap:12px;cursor:pointer;-webkit-user-select:none;user-select:none}.app-logo-icon{font-size:1.3rem;background:var(--accent-light);color:var(--accent-color);width:42px;height:42px;border-radius:var(--radius-md);border:1px solid var(--border-color);display:flex;align-items:center;justify-content:center;transition:transform .2s ease}.app-brand:hover .app-logo-icon{transform:scale(1.04)}.app-title{font-family:var(--font-display);font-size:1.25rem;font-weight:700;letter-spacing:1px;color:var(--text-primary)}.header-actions{display:flex;align-items:center;gap:8px}.icon-btn{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-primary);width:40px;height:40px;border-radius:var(--radius-md);display:inline-flex;align-items:center;justify-content:center;font-size:1.05rem;cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-sm)}.icon-btn:hover{background-color:var(--accent-light);border-color:var(--accent-color);color:var(--accent-color)}.breadcrumb-bar{background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);padding:10px 24px;max-width:1100px;margin:0 auto;width:100%;display:flex;align-items:center;gap:8px;font-size:.88rem;color:var(--text-secondary);overflow-x:auto;white-space:nowrap}.breadcrumb-item{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:.88rem;font-family:var(--font-sans);padding:4px 10px;border-radius:var(--radius-sm);transition:background .2s,color .2s}.breadcrumb-item:hover{background:var(--accent-light);color:var(--accent-color)}.breadcrumb-item.active{font-weight:600;color:var(--accent-color)}.breadcrumb-separator{color:var(--text-muted)}.app-main{flex:1;max-width:1100px;width:100%;margin:0 auto;padding:28px 24px 80px}.hero-section{text-align:center;padding:56px 28px;background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-color);box-shadow:var(--shadow-md);margin-bottom:32px;position:relative;overflow:hidden}.hero-section:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,transparent,var(--accent-color),transparent)}.hero-lamp-wrapper{display:flex;flex-direction:column;align-items:center;position:relative;margin-top:-12px;margin-bottom:2px}.hero-lamp-fixture{position:relative;z-index:3;filter:drop-shadow(0 6px 18px rgba(245,158,11,.6));animation:lamp-sway 4s ease-in-out infinite alternate;transform-origin:top center}@keyframes lamp-sway{0%{transform:rotate(-1.5deg)}to{transform:rotate(1.5deg)}}.light-beam-cone{width:320px;height:95px;clip-path:polygon(42% 0%,58% 0%,100% 100%,0% 100%);background:linear-gradient(180deg,rgba(253,224,71,.65) 0%,rgba(245,158,11,.38) 35%,rgba(245,158,11,.1) 80%,transparent 100%);margin-top:-18px;margin-bottom:-16px;pointer-events:none;z-index:1;animation:beam-glow-pulse 3s ease-in-out infinite alternate}@keyframes beam-glow-pulse{0%{opacity:.85;transform:scaleX(.97)}to{opacity:1;transform:scaleX(1.03)}}.hero-icon{font-size:3.2rem;margin-bottom:16px;display:inline-block}.hero-title{font-family:var(--font-display);font-size:2.5rem;font-weight:700;letter-spacing:2px;color:var(--text-primary);margin-bottom:12px;position:relative;z-index:2;text-shadow:0 0 25px rgba(245,158,11,.4),0 0 10px rgba(253,224,71,.25)}.hero-subtitle{font-family:var(--font-serif);font-size:1.2rem;font-style:italic;color:var(--text-secondary);margin-bottom:28px;max-width:600px;margin-left:auto;margin-right:auto}.btn-primary-large{background-color:var(--accent-color);color:#fff;border:none;padding:16px 40px;font-family:var(--font-sans);font-size:1.05rem;font-weight:700;letter-spacing:1px;border-radius:var(--radius-full);cursor:pointer;box-shadow:var(--shadow-md);transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease;display:inline-flex;align-items:center;gap:12px}.btn-primary-large:hover{background-color:var(--accent-hover);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.home-widgets-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:24px}.widget-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:22px;box-shadow:var(--shadow-sm);transition:border-color .2s ease}.widget-card:hover{border-color:var(--accent-color)}.widget-title{font-family:var(--font-sans);font-size:.95rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);margin-bottom:14px;display:flex;align-items:center;gap:8px}.section-header{margin-bottom:28px}.section-title{font-family:var(--font-display);font-size:1.8rem;font-weight:700;letter-spacing:1px;color:var(--text-primary);margin-bottom:18px}.filter-bar{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;margin-bottom:24px}.category-pills{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}.category-pill{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-secondary);padding:8px 18px;border-radius:var(--radius-full);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.category-pill.active,.category-pill:hover{background:var(--accent-color);color:#fff;border-color:var(--accent-color)}.search-box-input{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:10px 16px;color:var(--text-primary);font-family:var(--font-sans);font-size:.92rem;width:100%;max-width:300px;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.search-box-input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--accent-light)}.books-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px}.book-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:20px;display:flex;flex-direction:column;justify-content:space-between;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;cursor:pointer;box-shadow:var(--shadow-sm);position:relative}.book-card:hover{transform:translateY(-3px);border-color:var(--accent-color);box-shadow:var(--shadow-md)}.book-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.book-abbr{font-family:var(--font-display);font-weight:700;font-size:1.15rem;color:var(--accent-color);letter-spacing:.5px}.book-group-tag{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:3px 10px;border-radius:var(--radius-sm);background:var(--accent-light);color:var(--accent-color);border:1px solid rgba(140,120,81,.2)}.book-title{font-family:var(--font-display);font-size:1.2rem;font-weight:700;color:var(--text-primary);margin-bottom:4px}.book-chapters-count{font-size:.85rem;color:var(--text-muted);margin-bottom:16px}.btn-read-book{background:transparent;border:none;color:var(--accent-color);font-family:var(--font-sans);font-weight:700;font-size:.88rem;letter-spacing:.5px;text-align:left;cursor:pointer;padding:0;display:flex;align-items:center;gap:6px;transition:color .2s}.btn-read-book:hover{color:var(--accent-hover)}.book-chapter-header{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:28px;margin-bottom:28px;box-shadow:var(--shadow-sm)}.chapters-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:14px}.chapter-btn{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);aspect-ratio:1;font-family:var(--font-display);font-size:1.25rem;font-weight:700;color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;box-shadow:var(--shadow-sm)}.chapter-btn:hover{background:var(--accent-color);color:#fff;border-color:var(--accent-color);transform:scale(1.06);box-shadow:var(--shadow-md)}.reader-toolbar{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:14px 20px;display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;flex-wrap:wrap;gap:14px;box-shadow:var(--shadow-sm)}.reader-title-group h2{font-family:var(--font-display);font-size:1.45rem;font-weight:700;letter-spacing:.5px;color:var(--text-primary)}.toolbar-controls{display:flex;align-items:center;gap:8px}.btn-text-action{background:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-primary);padding:7px 14px;border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:.88rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-text-action:hover{background:var(--accent-light);border-color:var(--accent-color);color:var(--accent-color)}.verses-container{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:40px 36px;line-height:1.9;font-family:var(--font-serif);font-size:1.15rem;box-shadow:var(--shadow-md)}.verse-item{margin-bottom:18px;padding:10px 14px;border-radius:var(--radius-sm);cursor:pointer;transition:background-color .2s ease,border-color .2s ease;position:relative;border:1px solid transparent}.verse-item:hover{background-color:var(--accent-light);border-color:#8c785133}.verse-number{font-family:var(--font-display);font-weight:700;font-size:.9rem;color:var(--accent-color);margin-right:10px;vertical-align:super}.verse-text{font-family:var(--font-serif)}.verse-badges{display:inline-flex;gap:6px;margin-left:8px;font-size:.8rem}.highlight-yellow{background-color:var(--hl-yellow)!important;color:#1c1917!important}.highlight-green{background-color:var(--hl-green)!important;color:#1c1917!important}.highlight-blue{background-color:var(--hl-blue)!important;color:#1c1917!important}.highlight-pink{background-color:var(--hl-pink)!important;color:#1c1917!important}.json-info-banner{background:#8c785114;border:1px solid var(--accent-color);border-radius:var(--radius-md);padding:18px;margin-bottom:24px;font-family:var(--font-sans);font-size:.92rem;color:var(--text-primary)}.json-info-header{font-weight:700;color:var(--accent-color);margin-bottom:8px;display:flex;align-items:center;gap:8px}.json-path-tip{margin-top:8px;font-family:monospace;background:var(--bg-primary);padding:6px 10px;border-radius:4px;border:1px solid var(--border-color);display:inline-block}.audio-floating-bar{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:var(--bg-card);border:1px solid var(--border-color);box-shadow:var(--shadow-lg);border-radius:var(--radius-full);padding:12px 28px;display:flex;align-items:center;gap:16px;z-index:200;font-family:var(--font-sans);font-size:.95rem;font-weight:600}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1c191799;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:300;display:flex;align-items:center;justify-content:center;padding:20px}.modal-content{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-color);max-width:560px;width:100%;max-height:85vh;overflow-y:auto;box-shadow:var(--shadow-lg);display:flex;flex-direction:column}.modal-header{padding:20px 24px;border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between}.modal-title{font-family:var(--font-display);font-size:1.25rem;font-weight:700;color:var(--text-primary)}.modal-body{padding:24px;flex:1}.modal-footer{padding:16px 24px;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;gap:10px}.color-picker-group{display:flex;gap:12px;margin:16px 0}.color-picker-btn{width:36px;height:36px;border-radius:50%;border:2px solid var(--border-color);cursor:pointer;transition:transform .2s ease}.color-picker-btn:hover{transform:scale(1.1)}.color-picker-btn.yellow{background:#fef08a}.color-picker-btn.green{background:#bbf7d0}.color-picker-btn.blue{background:#bfdbfe}.color-picker-btn.pink{background:#fbcfe8}.color-picker-btn.none{background:transparent}.app-footer{text-align:center;padding:28px;font-family:var(--font-display);font-size:.88rem;letter-spacing:.5px;color:var(--text-muted);border-top:1px solid var(--border-color);margin-top:auto}.loading-spinner-container{text-align:center;padding:40px}.spinner{width:34px;height:34px;border:3px solid var(--border-color);border-top-color:var(--accent-color);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 14px}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:640px){.app-header{padding:12px 16px}.app-title{font-size:1.1rem}.hero-section{padding:40px 20px}.hero-title{font-size:1.8rem}.btn-primary-large{width:100%;justify-content:center}.filter-bar{flex-direction:column;align-items:stretch}.search-box-input{max-width:100%}.verses-container{padding:24px 20px}}
