:root{--color-primary: #1a3a5c;--color-primary-rgb: 26, 58, 92;--color-text: #1e293b;--color-text-muted: #64748b;--color-text-subtle: #94a3b8;--color-white: #ffffff;--color-white-rgb: 255, 255, 255;--color-bg: #f8fafc;--color-surface: #ffffff;--color-border: #e2e8f0;--color-border-strong: #cbd5e1;--color-nav-link: #cbd5e1;--color-hover-bg: #eef2ff;--color-hover-border: #a5b4fc;--color-progress: #818cf8;--font-body: "Poppins", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-heading: "Space Grotesk", system-ui, sans-serif;--font-reading: "Literata", Georgia, serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);line-height:1.6;color:var(--color-text);background-color:var(--color-bg);min-height:100vh}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:var(--color-text-subtle);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}html{scrollbar-width:thin;scrollbar-color:var(--color-text-subtle) var(--color-bg)}a{color:inherit;text-decoration:none}.header{background-color:var(--color-primary);color:var(--color-white);padding:0 2rem}.nav{display:flex;align-items:center;justify-content:space-between;max-width:960px;margin:0 auto;height:60px}.nav-brand{font-size:1.4rem;font-weight:700;color:var(--color-white);text-decoration:none;font-family:var(--font-heading)}.nav-links{display:flex;list-style:none;gap:1.5rem;margin:0;padding:0}.nav-links a{color:var(--color-nav-link);text-decoration:none;font-weight:500;transition:color .2s;display:flex;align-items:center;gap:.4rem}.nav-links a:hover,.nav-links a.active{color:var(--color-white)}.nav-overlay{display:none}.nav-toggle{display:none;background:none;border:none;color:var(--color-white);font-size:1.4rem;cursor:pointer;padding:.5rem;-webkit-tap-highlight-color:transparent}@media(max-width:640px){.nav-overlay{display:block;position:fixed;inset:0;z-index:10}.header{position:relative;z-index:20}.nav-toggle{display:block}.nav-links{display:flex;flex-direction:column;position:fixed;inset:60px 0 0;z-index:20;background-color:rgba(var(--color-primary-rgb),.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:1.5rem;gap:.75rem;opacity:0;pointer-events:none;transition:opacity .3s ease}.nav-links--open{opacity:1;pointer-events:auto}.nav-links li{list-style:none;opacity:0;transform:translateY(12px);transition:opacity .25s ease,transform .25s ease}.nav-links--open li{opacity:1;transform:translateY(0)}.nav-links--open li:nth-child(1){transition-delay:.1s}.nav-links--open li:nth-child(2){transition-delay:.17s}.nav-links--open li:nth-child(3){transition-delay:.24s}.nav-links--open li:nth-child(4){transition-delay:.31s}.nav-links--open li:nth-child(5){transition-delay:.38s}.nav-links a{padding:1rem 1.25rem;font-size:1.15rem;border:1px solid rgba(var(--color-white-rgb),.15);border-radius:10px;justify-content:center;transition:background-color .2s,border-color .2s,color .2s}.nav-links a:hover,.nav-links a.active{background-color:rgba(var(--color-white-rgb),.08);border-color:rgba(var(--color-white-rgb),.3)}.header{position:relative}}.main{max-width:960px;margin:0 auto;padding:2rem}.page h1{margin-top:0;font-family:var(--font-heading)}.page h2{font-family:var(--font-heading)}.prayer-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:.5rem;animation:content-fade-in .4s ease both}.prayer-item{width:100%;text-align:left;padding:1rem 1.25rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;font-size:1rem;cursor:pointer;transition:background-color .2s,border-color .2s}.prayer-item:hover{background-color:var(--color-hover-bg);border-color:var(--color-hover-border)}.prayer-text{white-space:pre-line;line-height:1.8;font-size:1.1rem;font-family:var(--font-reading);animation:content-fade-in .4s ease both}.back-button{background:none;border:none;color:var(--color-primary);font-size:1rem;cursor:pointer;padding:.5rem 0;margin-bottom:1rem;font-weight:500}.back-button:hover{text-decoration:underline}.scripture-notice{max-width:55ch;margin:2rem auto;padding:2rem 2.5rem;line-height:1.8;font-family:var(--font-reading);text-align:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px}.scripture-notice p{margin:0 0 1rem}.scripture-notice p:last-child{margin-bottom:0}.scripture-notice a{color:var(--color-primary);font-weight:600;text-decoration:underline}.scripture-reader{display:flex;flex-direction:column;align-items:center}.scripture-reader .back-button{align-self:flex-start}.scripture-header{text-align:center;margin-bottom:1.5rem}.scripture-book-label{display:block;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted);margin-bottom:.25rem}.scripture-copyright{font-size:.85rem;color:var(--color-text-muted);margin-bottom:1.5rem}.scripture-copyright a{color:var(--color-primary);text-decoration:underline}.scripture-meta{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.scripture-refresh{background:none;border:1px solid var(--color-border-strong);border-radius:6px;color:var(--color-text-muted);font-size:.85rem;padding:.35rem .75rem;cursor:pointer;white-space:nowrap;transition:color .2s,border-color .2s}.scripture-refresh:hover{color:var(--color-primary);border-color:var(--color-primary)}.scripture-refresh:disabled{opacity:.5;cursor:not-allowed}.testament-heading{margin-top:1.5rem;margin-bottom:.75rem;color:var(--color-primary)}.book-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem;animation:content-fade-in .4s ease both}.book-item{position:relative;overflow:hidden;width:100%;text-align:left;padding:.75rem 1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;font-size:1rem;cursor:pointer;transition:background-color .2s,border-color .2s}.book-item:hover{background-color:var(--color-hover-bg);border-color:var(--color-hover-border)}.chapter-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;animation:content-fade-in .4s ease both}.chapter-button{position:relative;overflow:hidden;padding:.75rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;font-size:1rem;cursor:pointer;text-align:center;transition:background-color .2s,border-color .2s}.chapter-progress{position:absolute;bottom:0;left:0;height:3px;background:var(--color-progress);opacity:.5;border-radius:0 0 0 8px;transition:width .3s ease}.chapter-progress--full{opacity:.6;border-radius:0 0 8px 8px}.chapter-button:hover{background-color:var(--color-hover-bg);border-color:var(--color-hover-border)}.verses{line-height:2;font-family:var(--font-reading);font-size:1.05rem;max-width:65ch;margin:0 auto;animation:content-fade-in .4s ease both}.verse{margin-bottom:.6rem}.verse-number{font-weight:600;color:var(--color-text-subtle);font-size:.7rem;margin-right:.15rem;vertical-align:super}.chapter-nav{display:flex;justify-content:space-between;width:100%;max-width:65ch;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--color-border)}.chapter-nav-button{background:none;border:none;color:var(--color-primary);font-size:.95rem;font-weight:500;cursor:pointer;padding:.5rem 0}.chapter-nav-button:hover{text-decoration:underline}.song-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:.5rem;animation:content-fade-in .4s ease both}.song-item{width:100%;text-align:left;padding:1rem 1.25rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;font-size:1rem;cursor:pointer;transition:background-color .2s,border-color .2s}.song-item:hover{background-color:var(--color-hover-bg);border-color:var(--color-hover-border)}.song-text{white-space:pre-line;line-height:1.8;font-size:1.1rem;font-family:var(--font-reading);animation:content-fade-in .4s ease both}.search-input{width:100%;padding:.75rem 1rem;font-size:1.1rem;border:1px solid var(--color-border-strong);border-radius:8px;outline:none;transition:border-color .2s}.search-input:focus{border-color:var(--color-primary)}.search-loading{color:var(--color-text-muted);margin-top:.75rem;font-style:italic}.search-count{color:var(--color-text-muted);margin-top:.75rem;margin-bottom:.5rem}.search-results{list-style:none;padding:0;display:flex;flex-direction:column;gap:.5rem}.search-result{padding:1rem 1.25rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px}.search-result-type{display:inline-block;font-size:.75rem;font-weight:600;text-transform:uppercase;color:var(--color-white);background-color:var(--color-primary);padding:.15rem .5rem;border-radius:4px;margin-bottom:.4rem}.search-result-title{display:block;font-size:1.05rem;margin-bottom:.25rem}.search-result-snippet{color:var(--color-text-muted);font-size:.9rem;margin:0}.hero{text-align:center;padding:4rem 0 2.5rem}.hero-title{font-family:var(--font-heading);font-size:2.5rem;font-weight:700;color:var(--color-primary);margin:0 0 .75rem;animation:hero-fade-in .6s ease both}.hero-subtitle{font-size:1.15rem;color:var(--color-text-muted);margin:0;animation:hero-fade-in .6s ease .15s both}@keyframes content-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes hero-fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.section-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:1.5rem}.section-tile{display:flex;flex-direction:column;align-items:center;text-align:center;padding:2rem 1.25rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;text-decoration:none;color:inherit;transition:border-color .2s,box-shadow .2s,translate .2s;animation:tile-fade-in .5s ease both}.section-tile:nth-child(1){animation-delay:.25s}.section-tile:nth-child(2){animation-delay:.35s}.section-tile:nth-child(3){animation-delay:.45s}@keyframes tile-fade-in{0%{opacity:0}to{opacity:1}}.section-tile:hover{border-color:var(--color-hover-border);box-shadow:0 4px 16px rgba(var(--color-primary-rgb),.08);translate:0 -3px}.section-tile-icon{font-size:2rem;color:var(--color-primary);margin-bottom:.75rem}.section-tile-title{font-family:var(--font-heading);font-size:1.2rem;font-weight:600;margin:0 0 .4rem;color:var(--color-primary)}.section-tile-desc{font-size:.9rem;color:var(--color-text-muted);margin:0}@media(max-width:640px){.main{padding:1.5rem 1rem}.hero{padding-top:2.5rem}.section-tiles{grid-template-columns:1fr}.hero-title{font-size:2rem}.scripture-meta{flex-direction:column;align-items:flex-start;gap:.75rem}.book-item{padding:.9rem 1rem;min-height:44px}.chapter-button{padding:.85rem;min-height:44px}.prayer-item,.song-item{min-height:44px}}.rosary-intro{color:var(--color-text-muted);margin-bottom:1rem}.rosary-sets{list-style:none;padding:0;display:flex;flex-direction:column;gap:.5rem;animation:content-fade-in .4s ease both}.rosary-set-button{width:100%;text-align:left;padding:1rem 1.25rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;font-size:1rem;cursor:pointer;transition:background-color .2s,border-color .2s}.rosary-set-button:hover{background-color:var(--color-hover-bg);border-color:var(--color-hover-border)}.rosary-progress{display:flex;align-items:center;gap:1rem;margin-bottom:2rem;font-size:.85rem;color:var(--color-text-muted)}.rosary-progress-bar{flex:1;height:4px;background:var(--color-border);border-radius:2px;overflow:hidden}.rosary-progress-fill{height:100%;background:var(--color-primary);border-radius:2px;transition:width .3s ease}.rosary-step{text-align:center;max-width:55ch;margin:0 auto 2rem;animation:content-fade-in .3s ease both}.rosary-mystery{font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);margin:0 0 .5rem}.rosary-label{font-family:var(--font-heading);font-size:1.5rem;margin:0 0 1.5rem;color:var(--color-primary)}.rosary-counter{font-weight:400;font-size:1rem;color:var(--color-text-muted)}.rosary-prayer{font-family:var(--font-reading);font-size:1.1rem;line-height:1.8;margin:0}.rosary-nav{display:flex;justify-content:space-between;max-width:55ch;margin:0 auto;padding-top:1.5rem;border-top:1px solid var(--color-border)}.rosary-nav-button{background:none;border:none;color:var(--color-primary);font-size:1rem;font-weight:500;cursor:pointer;padding:.5rem 0}.rosary-nav-button:hover{text-decoration:underline}.rosary-nav-button--next{font-weight:600}
