:root{--color-background:#faf9f7;--color-surface:#fff;--color-surface-elevated:#fff;--color-foreground:#2d2a26;--color-foreground-muted:#6b6560;--color-accent:#8b7355;--color-accent-light:#a69076;--color-accent-dark:#6d5a44;--color-border:#e8e4df;--color-border-light:#f0ece7;--color-error:#c53030;--color-error-light:#fff5f5;--color-success:#2f855a;--color-success-light:#f0fff4;--shadow-sm:0 1px 2px rgba(0,0,0,.04);--shadow-md:0 4px 12px rgba(0,0,0,.06);--shadow-lg:0 8px 24px rgba(0,0,0,.08);--shadow-xl:0 16px 48px rgba(0,0,0,.1);--font-sans:var(--font-body),"Source Sans 3",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-serif:var(--font-heading),"Cormorant Garamond",Georgia,serif;--font-mono:"JetBrains Mono","Fira Code",monospace;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--transition-fast:150ms ease;--transition-base:250ms ease;--transition-slow:400ms ease}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);font-size:1rem;line-height:1.7;color:var(--color-foreground);background:var(--color-background);min-height:100vh}.container{max-width:720px;margin:0 auto;padding:var(--space-8) var(--space-6)}.header{text-align:center;margin-bottom:var(--space-8);padding-bottom:var(--space-6);border-bottom:1px solid var(--color-border-light)}.header-top{gap:var(--space-4);margin-bottom:var(--space-6)}.header-top,.logo{display:flex;align-items:center;justify-content:center}.logo{width:40px;height:40px;background:linear-gradient(135deg,var(--color-accent) 0,var(--color-accent-light) 100%);border-radius:var(--radius-md);color:#fff;font-size:1.25rem;box-shadow:var(--shadow-md)}.header h1{font-family:var(--font-serif);font-size:2rem;font-weight:700;color:var(--color-foreground);letter-spacing:-.02em}.header-date{display:inline-flex;align-items:center;gap:var(--space-2);font-size:.9rem;color:var(--color-foreground-muted);background:var(--color-surface);padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);box-shadow:var(--shadow-sm)}.header-date svg{width:16px;height:16px;opacity:.7}.nav{display:flex;justify-content:center}.nav,.nav-link{gap:var(--space-2)}.nav-link{display:inline-flex;align-items:center;padding:var(--space-2) var(--space-4);font-size:.875rem;font-weight:500;color:var(--color-foreground-muted);text-decoration:none;border-radius:var(--radius-full);transition:all var(--transition-fast);white-space:nowrap}.nav-link:hover{color:var(--color-foreground);background:var(--color-surface)}.nav-link.active{color:var(--color-accent);background:rgba(139,115,85,.1)}.devotional{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden;margin-bottom:var(--space-8);transition:box-shadow var(--transition-base)}.devotional:hover{box-shadow:var(--shadow-lg)}.devotional-header{padding:var(--space-8);border-bottom:1px solid var(--color-border-light)}.devotional-header h2{font-family:var(--font-serif);font-size:1.5rem;font-weight:700;color:var(--color-foreground);line-height:1.4;margin-bottom:var(--space-3)}.devotional-header .subtitle{font-size:1.1rem;color:var(--color-foreground-muted);font-style:italic;margin-bottom:var(--space-4);line-height:1.6}.devotional-meta{display:flex;align-items:center;gap:var(--space-4);font-size:.8rem;color:var(--color-accent);text-transform:uppercase;letter-spacing:.08em;font-weight:600}.devotional-meta-separator{width:4px;height:4px;background:var(--color-accent-light);border-radius:50%}.scripture-references{background:var(--color-background);padding:var(--space-6) var(--space-8);border-left:3px solid var(--color-accent);margin:0}.scripture-references h3{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--color-accent);margin-bottom:var(--space-3)}.scripture-references ul{list-style:none;display:flex;flex-wrap:wrap;gap:var(--space-3)}.scripture-references li{font-family:var(--font-serif);font-size:.9rem;font-style:italic;color:var(--color-foreground-muted);background:var(--color-surface);padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm)}.content{padding:var(--space-8);font-size:1.05rem;line-height:1.85}.content p{margin-bottom:var(--space-6)}.content p:last-child{margin-bottom:0}.content strong{font-weight:600;color:var(--color-accent-dark)}.prayer-points{background:linear-gradient(135deg,rgba(139,115,85,.03),rgba(139,115,85,.08));padding:var(--space-6) var(--space-8);border-left:3px solid var(--color-accent-light);margin-top:var(--space-4)}.prayer-points h3{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--color-accent);margin-bottom:var(--space-4)}.prayer-points div,.prayer-points p{font-size:.95rem;line-height:1.8;color:var(--color-foreground-muted)}.season-badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-3);font-size:.75rem;font-weight:500;color:var(--color-accent);background:rgba(139,115,85,.1);border-radius:var(--radius-full)}.tags{display:flex;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-6) var(--space-8);border-top:1px solid var(--color-border-light)}.tag{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-3);font-size:.75rem;font-weight:500;color:var(--color-accent);background:rgba(139,115,85,.08);border-radius:var(--radius-full);transition:all var(--transition-fast)}.tag:hover{background:rgba(139,115,85,.15)}.footer{text-align:center;padding:var(--space-8) 0;border-top:1px solid var(--color-border-light);margin-top:var(--space-8)}.footer-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-4)}.footer-links{display:flex;gap:var(--space-6)}.footer-link{font-size:.875rem;color:var(--color-foreground-muted);text-decoration:none;transition:color var(--transition-fast)}.footer-link:hover{color:var(--color-accent)}.footer-copyright{font-size:.8rem;opacity:.7}.cache-info,.footer-copyright{color:var(--color-foreground-muted)}.cache-info{display:inline-flex;align-items:center;gap:var(--space-2);font-size:.75rem;background:var(--color-background);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm)}.header-controls{display:flex;align-items:center;justify-content:center;gap:var(--space-4);margin-top:var(--space-6)}@media (max-width:640px){.header-controls{flex-direction:column;gap:var(--space-4)}}.mode-toggle-container{display:flex;align-items:center;justify-content:center;gap:var(--space-3)}.mode-label{font-size:.8rem;font-weight:500;color:var(--color-foreground-muted);text-transform:uppercase;letter-spacing:.05em}.mode-toggle{position:relative;display:flex;background:var(--color-border-light);border:2px solid var(--color-border);border-radius:var(--radius-full);padding:3px;cursor:pointer;min-width:-moz-fit-content;min-width:fit-content;height:36px;transition:all var(--transition-base)}.mode-toggle:hover{border-color:var(--color-accent-light);background:var(--color-surface)}.mode-toggle:focus-visible{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px rgba(139,115,85,.15)}.mode-toggle:disabled{opacity:.5;cursor:not-allowed}.toggle-option{flex:1 1;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:500;color:var(--color-foreground-muted);z-index:1;transition:color var(--transition-fast);padding:0 var(--space-3);white-space:nowrap}.toggle-option.active{color:var(--color-surface)}.toggle-slider{position:absolute;top:3px;left:3px;width:calc(50% - 3px);height:calc(100% - 6px);background:linear-gradient(135deg,var(--color-accent) 0,var(--color-accent-dark) 100%);border-radius:var(--radius-full);transition:transform .35s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-sm)}.mode-toggle.liturgical .toggle-slider{transform:translateX(100%)}.mode-toggle.random .toggle-slider{transform:translateX(0)}.subscription-container{background:linear-gradient(135deg,rgba(139,115,85,.03),rgba(139,115,85,.06));border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-8);margin-top:var(--space-8);text-align:center;position:relative;overflow:hidden}.subscription-container:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--color-accent) 0,var(--color-accent-light) 100%)}.subscription-header{margin-bottom:var(--space-6)}.subscription-header h3{font-family:var(--font-serif);font-size:1.25rem;font-weight:700;color:var(--color-foreground);margin-bottom:var(--space-2)}.subscription-header p{font-size:.95rem;color:var(--color-foreground-muted);max-width:400px;margin:0 auto}.subscription-form{max-width:450px;margin:0 auto var(--space-4)}.input-group{display:flex;gap:var(--space-2)}.input-group input{flex:1 1;padding:var(--space-3) var(--space-4);font-size:.95rem;font-family:var(--font-sans);color:var(--color-foreground);background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-md);transition:all var(--transition-fast)}.input-group input::placeholder{color:var(--color-foreground-muted);opacity:.7}.input-group input:hover{border-color:var(--color-accent-light)}.input-group input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px rgba(139,115,85,.1)}.input-group input[aria-invalid=true]{border-color:var(--color-error);background:var(--color-error-light)}.input-group input:disabled{background:var(--color-background);cursor:not-allowed}.subscription-button{padding:var(--space-3) var(--space-6);font-size:.95rem;font-weight:600;font-family:var(--font-sans);color:#fff;background:linear-gradient(135deg,var(--color-accent) 0,var(--color-accent-dark) 100%);border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-sm)}.subscription-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-md)}.subscription-button:active:not(:disabled){transform:translateY(0)}.subscription-button:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(139,115,85,.3)}.subscription-button:disabled{opacity:.7;cursor:not-allowed;transform:none}.subscription-button.secondary{background:transparent;color:var(--color-accent);border:2px solid var(--color-accent)}.subscription-button.secondary:hover:not(:disabled){background:rgba(139,115,85,.08)}.form-error{display:flex;align-items:center;gap:var(--space-2);color:var(--color-error);font-size:.85rem;margin-top:var(--space-3);text-align:left;padding:var(--space-2) var(--space-3);background:var(--color-error-light);border-radius:var(--radius-sm)}.subscription-note{font-size:.8rem;color:var(--color-foreground-muted);opacity:.8}.subscription-success{padding:var(--space-6);animation:fadeIn .4s ease}.success-icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;background:linear-gradient(135deg,var(--color-success) 0,#38a169 100%);color:#fff;border-radius:50%;font-size:1.5rem;margin-bottom:var(--space-4);box-shadow:var(--shadow-md)}.subscription-success h3{font-family:var(--font-serif);font-size:1.25rem;font-weight:700;color:var(--color-success);margin-bottom:var(--space-2)}.subscription-success p{color:var(--color-foreground-muted);margin-bottom:var(--space-6);max-width:350px;margin-left:auto;margin-right:auto}.error,.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-16) var(--space-6);text-align:center}.loading-spinner{width:40px;height:40px;border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:var(--space-4)}.loading-text{font-size:1rem;color:var(--color-foreground-muted)}.error,.error-icon{color:var(--color-error)}.error-icon{width:48px;height:48px;background:var(--color-error-light);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem}.error-icon,.error-message{margin-bottom:var(--space-4)}.error-message{font-size:1rem}.error-retry{padding:var(--space-2) var(--space-4);font-size:.9rem;font-weight:500;color:var(--color-error);background:transparent;border:1px solid var(--color-error);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.error-retry:hover{background:var(--color-error-light)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}@media (max-width:768px){.container{padding:var(--space-6) var(--space-4)}.header h1{font-size:1.75rem}.devotional-header{padding:var(--space-6)}.devotional-header h2{font-size:1.35rem}.content,.scripture-references,.tags{padding:var(--space-5) var(--space-6)}.mode-toggle-container{flex-direction:column;gap:var(--space-2)}.mode-toggle{min-width:160px;height:34px}.input-group{flex-direction:column}.subscription-button{width:100%}.nav{flex-wrap:wrap}.footer-links{flex-direction:column;gap:var(--space-3)}}.archive-grid{display:flex;flex-direction:column;gap:var(--space-8)}.archive-week{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-sm);border:1px solid var(--color-border-light);transition:box-shadow var(--transition-base)}.archive-week:hover{box-shadow:var(--shadow-md);border-color:var(--color-accent-light)}.archive-week-header{align-items:baseline}.archive-week-title{font-family:var(--font-serif);font-size:1.1rem;font-weight:700;color:var(--color-foreground)}.archive-week-meta{font-size:.8rem;font-weight:600;color:var(--color-accent);text-transform:uppercase;letter-spacing:.05em}.archive-days{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:var(--space-2);gap:var(--space-2)}.archive-day{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-2);background:var(--color-background);border-radius:var(--radius-md);text-decoration:none;transition:all var(--transition-fast);aspect-ratio:1}.archive-day:hover{background:var(--color-accent);color:#fff;transform:translateY(-2px)}.archive-day-number{font-size:.75rem;font-weight:600;margin-bottom:2px}.archive-day-dot{width:6px;height:6px;background-color:var(--color-accent-light);border-radius:50%;transition:background-color var(--transition-fast)}.archive-day:hover .archive-day-dot{background-color:#fff}.archive-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-8);padding-bottom:var(--space-6);border-bottom:1px solid var(--color-border-light)}.archive-intro h1{font-family:var(--font-serif);font-size:2rem;font-weight:700;margin-bottom:var(--space-2)}.archive-intro p{color:var(--color-foreground-muted)}.button-secondary{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:.9rem;font-weight:500;color:var(--color-foreground);text-decoration:none;transition:all var(--transition-fast)}.button-secondary:hover{background:var(--color-background);border-color:var(--color-accent);color:var(--color-accent)}.archive-controls{display:flex;gap:var(--space-3);flex-wrap:wrap}.archive-week-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.archive-week-info{display:flex;flex-direction:column}.week-label{font-size:.75rem;font-weight:600;color:var(--color-accent);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-1)}.week-theme{font-family:var(--font-serif);font-size:1.15rem;font-weight:700;margin:0}.week-theme a{color:var(--color-foreground);text-decoration:none;transition:color var(--transition-fast)}.view-week-link,.week-theme a:hover{color:var(--color-accent)}.view-week-link{font-size:.8rem;font-weight:600;text-decoration:none;padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);transition:background var(--transition-fast)}.view-week-link:hover{background:rgba(139,115,85,.1)}.archive-day.empty{opacity:.3;pointer-events:none;background:transparent;border:1px dashed var(--color-border)}@media (max-width:640px){.archive-header{flex-direction:column;align-items:flex-start;gap:var(--space-4)}.archive-controls{display:flex;flex-wrap:wrap;gap:var(--space-2);width:100%}.archive-controls .button-secondary{flex:1 1;min-width:-moz-fit-content;min-width:fit-content;justify-content:center}}.themes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));grid-gap:var(--space-6);gap:var(--space-6)}.theme-card{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:var(--space-6);transition:all var(--transition-base);display:flex;flex-direction:column;height:100%;text-decoration:none;color:var(--color-foreground)}.theme-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--color-accent-light)}.theme-card-week{font-size:.75rem;font-weight:600;color:var(--color-accent);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-2)}.theme-card-title{font-family:var(--font-serif);font-size:1.25rem;font-weight:700;margin-bottom:var(--space-3);line-height:1.3}.theme-card-dates{font-size:.85rem;color:var(--color-foreground-muted);margin-top:auto;padding-top:var(--space-4);border-top:1px solid var(--color-border-light);display:flex;align-items:center;gap:var(--space-2)}.theme-card-dates svg{opacity:.6}.week-detail-header{margin-bottom:var(--space-8);border-bottom:1px solid var(--color-border-light);padding-bottom:var(--space-6)}.week-detail-title{font-family:var(--font-serif);font-size:2rem;font-weight:700;margin-bottom:var(--space-2)}.week-detail-meta{display:flex;align-items:center;gap:var(--space-4);color:var(--color-foreground-muted);font-size:.9rem}.week-days-list{flex-direction:column}.week-day-card,.week-days-list{display:flex;gap:var(--space-4)}.week-day-card{align-items:flex-start;background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:var(--space-6);text-decoration:none;color:var(--color-foreground);transition:all var(--transition-base)}.week-day-card:hover{transform:translateX(4px);border-color:var(--color-accent-light);box-shadow:var(--shadow-md)}.week-day-card.current-day{border-color:var(--color-accent);box-shadow:0 0 0 2px rgba(139,115,85,.2)}.week-day-card.missing{background:rgba(139,115,85,.04);border-style:dashed}.day-badge{display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--color-background);color:var(--color-accent);border-radius:var(--radius-md);min-width:60px;height:60px;flex-shrink:0}.day-badge-label{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px}.day-badge-number{font-size:1.5rem;font-weight:700;line-height:1}.day-content{flex:1 1}.day-title{font-family:var(--font-serif);font-size:1.25rem;font-weight:700;margin-bottom:var(--space-2)}.day-scripture{font-size:.85rem;color:var(--color-foreground-muted);font-style:italic}.share-button{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-size:.875rem;font-weight:500;color:var(--color-accent);background:transparent;border:1px solid var(--color-accent);border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.share-button:hover{background:rgba(139,115,85,.08);color:var(--color-accent-dark)}.share-button:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(139,115,85,.2)}.share-overlay{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:rgba(45,42,38,.6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:shareFadeIn .2s ease}@keyframes shareFadeIn{0%{opacity:0}to{opacity:1}}.share-modal{position:relative;width:100%;max-width:440px;background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);padding:var(--space-6);animation:shareSlideUp .3s ease}@keyframes shareSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.share-modal-close{position:absolute;top:var(--space-3);right:var(--space-3);display:flex;align-items:center;justify-content:center;width:32px;height:32px;color:var(--color-foreground-muted);background:transparent;border:none;border-radius:50%;cursor:pointer;transition:all var(--transition-fast)}.share-modal-close:hover{color:var(--color-foreground);background:var(--color-background)}.share-modal-close:focus-visible{outline:none;box-shadow:0 0 0 2px var(--color-accent)}.share-modal-header{margin-bottom:var(--space-6);padding-right:var(--space-8)}.share-modal-title{font-family:var(--font-serif);font-size:1.25rem;font-weight:700;color:var(--color-foreground);margin-bottom:var(--space-1)}.share-modal-subtitle{font-size:.875rem;color:var(--color-foreground-muted);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.share-form{display:flex;flex-direction:column;gap:var(--space-4)}.share-form-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-4);gap:var(--space-4)}@media (max-width:480px){.share-form-row{grid-template-columns:1fr}}.share-form-group{display:flex;flex-direction:column}.share-label{font-size:.875rem;font-weight:500;color:var(--color-foreground);margin-bottom:var(--space-1)}.share-required{color:var(--color-error);margin-left:2px}.share-optional{font-weight:400;color:var(--color-foreground-muted)}.share-input{width:100%;padding:var(--space-2) var(--space-3);font-size:.875rem;font-family:var(--font-sans);color:var(--color-foreground);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:all var(--transition-fast)}.share-input::placeholder{color:var(--color-foreground-muted);opacity:.7}.share-input:hover{border-color:var(--color-accent-light)}.share-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px rgba(139,115,85,.1)}.share-input[aria-invalid=true]{border-color:var(--color-error)}.share-input:disabled{background:var(--color-background);cursor:not-allowed}.share-input-wrapper{position:relative}.share-input-icon{position:absolute;left:var(--space-3);top:50%;transform:translateY(-50%);color:var(--color-foreground-muted);pointer-events:none}.share-input-with-icon{padding-left:calc(var(--space-3) + 24px)}.share-textarea{resize:vertical;min-height:80px}.share-error{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-3);font-size:.875rem;color:var(--color-error);background:var(--color-error-light);border-radius:var(--radius-md)}.share-form-actions{display:flex;justify-content:flex-end;gap:var(--space-3);padding-top:var(--space-2)}.share-button-secondary{padding:var(--space-2) var(--space-4);font-size:.875rem;font-weight:500;font-family:var(--font-sans);color:var(--color-foreground);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.share-button-secondary:hover{background:var(--color-background);border-color:var(--color-accent-light)}.share-button-secondary:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(139,115,85,.2)}.share-button-primary{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-size:.875rem;font-weight:500;font-family:var(--font-sans);color:#fff;background:linear-gradient(135deg,var(--color-accent) 0,var(--color-accent-dark) 100%);border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.share-button-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-md)}.share-button-primary:active:not(:disabled){transform:translateY(0)}.share-button-primary:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(139,115,85,.3)}.share-button-primary:disabled{opacity:.7;cursor:not-allowed;transform:none}.share-spinner{animation:shareSpin 1s linear infinite}@keyframes shareSpin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.share-success{text-align:center;padding:var(--space-8) var(--space-4);animation:shareScaleIn .3s ease}@keyframes shareScaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.share-success-icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;background:var(--color-success-light);color:var(--color-success);border-radius:50%;margin-bottom:var(--space-4)}.share-success-title{font-family:var(--font-serif);font-size:1.25rem;font-weight:700;color:var(--color-success);margin-bottom:var(--space-2)}.share-success-message{font-size:.875rem;color:var(--color-foreground-muted);max-width:280px;margin:0 auto}.archive-week.past{opacity:.6;filter:grayscale(100%);transition:all var(--transition-base)}.archive-week.past:hover{opacity:1;filter:grayscale(0)}.archive-week.current{box-shadow:0 0 0 3px var(--color-accent-light),0 4px 20px rgba(139,115,85,.25);background:linear-gradient(135deg,rgba(139,115,85,.03),rgba(139,115,85,.08));transform:translateY(-2px)}.archive-week.current:before{right:var(--space-4);font-size:.65rem;font-weight:700;letter-spacing:.08em;background:linear-gradient(135deg,var(--color-accent) 0,var(--color-accent-dark) 100%);padding:var(--space-1) var(--space-2);box-shadow:var(--shadow-sm)}.availability-header{margin-bottom:var(--space-8);padding-bottom:var(--space-6);border-bottom:1px solid var(--color-border-light)}.availability-intro h1{font-family:var(--font-serif);font-size:2rem;font-weight:700;margin-bottom:var(--space-2)}.availability-intro p{color:var(--color-foreground-muted);max-width:600px}.availability-badge-row{margin-bottom:var(--space-3)}.availability-badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);font-size:.75rem;font-weight:600;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.05em}.availability-badge.crowdsourced{background:linear-gradient(135deg,rgba(139,115,85,.1),rgba(139,115,85,.2));color:var(--color-accent-dark)}.availability-badge.needs-coverage{background:rgba(237,137,54,.15);color:#c05621;font-size:.7rem}.coverage-stats{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-6);margin-bottom:var(--space-6);box-shadow:var(--shadow-sm);border:1px solid var(--color-border-light)}.coverage-progress{margin-bottom:var(--space-4)}.coverage-progress-bar{height:12px;background:var(--color-background);border-radius:var(--radius-full);overflow:hidden;display:flex;margin-bottom:var(--space-2)}.coverage-progress-fill{height:100%;transition:width var(--transition-slow)}.coverage-progress-fill.published{background:linear-gradient(90deg,var(--color-success) 0,#38a169 100%)}.coverage-progress-fill.pending{background:linear-gradient(90deg,#ed8936,#dd6b20)}.coverage-progress-label{display:flex;align-items:center;gap:var(--space-2);font-size:.875rem;font-weight:600;color:var(--color-foreground)}.coverage-legend{display:flex;gap:var(--space-6);flex-wrap:wrap}.coverage-stat{display:flex;align-items:center;gap:var(--space-2)}.coverage-stat-icon{display:flex;align-items:center;justify-content:center}.coverage-stat-icon.status-published{color:var(--color-success)}.coverage-stat-icon.status-pending{color:#ed8936}.coverage-stat-icon.status-available{color:var(--color-foreground-muted)}.coverage-stat-value{font-size:1.1rem;font-weight:700;color:var(--color-foreground)}.coverage-stat-label{font-size:.8rem;color:var(--color-foreground-muted)}.availability-legend-inline{display:flex;justify-content:center;gap:var(--space-6);margin-bottom:var(--space-6);padding:var(--space-3) var(--space-4);background:var(--color-surface);border-radius:var(--radius-full);border:1px solid var(--color-border-light)}.legend-item{display:flex;align-items:center;gap:var(--space-2);font-size:.8rem;color:var(--color-foreground-muted)}.legend-dot{width:10px;height:10px;border-radius:50%}.legend-dot.status-published{background:var(--color-success)}.legend-dot.status-pending{background:#ed8936}.legend-dot.status-available{background:var(--color-border);border:2px dashed var(--color-foreground-muted)}.availability-grid{display:flex;flex-direction:column;gap:var(--space-6)}.availability-week{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-sm);border:1px solid var(--color-border-light);transition:all var(--transition-base)}.availability-week:hover{box-shadow:var(--shadow-md);border-color:var(--color-accent-light)}.availability-week.past{opacity:.6}.availability-week.past:hover{opacity:1}.availability-week.current{border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent),var(--shadow-md)}.availability-week.needs-coverage{border-left:3px solid #ed8936}.availability-week-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-4);gap:var(--space-4)}.availability-week-info{flex:1 1}.availability-week-info .week-label{font-size:.7rem;font-weight:600;color:var(--color-accent);text-transform:uppercase;letter-spacing:.05em}.availability-week-info .week-theme{font-family:var(--font-serif);font-size:1rem;font-weight:700;margin:var(--space-1) 0;color:var(--color-foreground)}.week-scripture{font-size:.8rem;color:var(--color-foreground-muted);font-style:italic}.scripture-separator{margin:0 var(--space-2);opacity:.5}.availability-days{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:var(--space-2);gap:var(--space-2)}.availability-day{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-2);border-radius:var(--radius-md);aspect-ratio:1;transition:all var(--transition-fast);cursor:default}.availability-day-number{font-size:.7rem;font-weight:600;margin-bottom:2px}.availability-day-icon{display:flex;align-items:center;justify-content:center}.availability-day.status-published{background:var(--color-success-light);color:var(--color-success)}.availability-day.status-published .availability-day-number{color:var(--color-success)}.availability-day.status-pending{background:rgba(237,137,54,.1);color:#c05621}.availability-day.status-pending .availability-day-number{color:#c05621}.availability-day.status-available{background:var(--color-background);color:var(--color-foreground-muted);border:1px dashed var(--color-border)}.availability-day.status-available:hover{border-color:var(--color-accent);background:rgba(139,115,85,.05)}.availability-day.empty{opacity:.5}.contributor-cta{margin-top:var(--space-10);background:linear-gradient(135deg,rgba(139,115,85,.05),rgba(139,115,85,.1));border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-10);text-align:center;position:relative;overflow:hidden}.contributor-cta:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--color-accent) 0,var(--color-accent-light) 50%,var(--color-accent) 100%)}.contributor-cta-content{max-width:500px;margin:0 auto}.contributor-cta-icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;background:linear-gradient(135deg,var(--color-accent) 0,var(--color-accent-dark) 100%);color:#fff;border-radius:50%;margin-bottom:var(--space-4);box-shadow:var(--shadow-md)}.contributor-cta-title{font-family:var(--font-serif);font-size:1.5rem;font-weight:700;color:var(--color-foreground);margin-bottom:var(--space-3)}.contributor-cta-description{font-size:1rem;color:var(--color-foreground-muted);line-height:1.7;margin-bottom:var(--space-6)}.contributor-cta-actions{display:flex;justify-content:center;gap:var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-4)}.contributor-cta-button{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);font-size:.95rem;font-weight:600;border-radius:var(--radius-md);text-decoration:none;transition:all var(--transition-fast)}.contributor-cta-button.primary{background:linear-gradient(135deg,var(--color-accent) 0,var(--color-accent-dark) 100%);color:#fff;box-shadow:var(--shadow-sm)}.contributor-cta-button.primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.contributor-cta-button.secondary{background:var(--color-surface);color:var(--color-accent);border:2px solid var(--color-accent)}.contributor-cta-button.secondary:hover{background:rgba(139,115,85,.08)}.contributor-cta-note{font-size:.8rem;color:var(--color-foreground-muted)}.contributor-cta-note a{color:var(--color-accent);text-decoration:none}.contributor-cta-note a:hover{text-decoration:underline}@media (max-width:640px){.availability-header{text-align:center}.availability-intro p{margin:0 auto}.coverage-legend{justify-content:center}.availability-legend-inline{flex-direction:column;gap:var(--space-2);border-radius:var(--radius-md);padding:var(--space-3)}.availability-week-header{flex-direction:column;align-items:flex-start}.availability-days{grid-template-columns:repeat(7,1fr);gap:var(--space-1)}.availability-day{padding:var(--space-1);font-size:.65rem}.availability-day-number{font-size:.6rem}.contributor-cta{padding:var(--space-6)}.contributor-cta-actions{flex-direction:column}.contributor-cta-button{width:100%;justify-content:center}}.archive-seasons{display:flex;flex-direction:column;gap:var(--space-8)}.season-section{border-radius:var(--radius-lg);border:1px solid var(--color-border-light);overflow:hidden}.season-section,.season-section.has-current{background:var(--color-surface);box-shadow:var(--shadow-sm)}.season-section.has-current{border-color:var(--color-border)}.season-header{width:100%;display:flex;align-items:center;justify-content:space-between;padding:var(--space-5) var(--space-6);background:linear-gradient(135deg,rgba(139,115,85,.05),rgba(139,115,85,.1));border:none;cursor:pointer;text-align:left;transition:background var(--transition-fast)}.season-header:hover{background:linear-gradient(135deg,rgba(139,115,85,.08),rgba(139,115,85,.15))}.season-header-content{flex:1 1}.season-title{font-family:var(--font-serif);font-size:1.25rem;font-weight:700;color:var(--color-foreground);margin:0 0 var(--space-1) 0}.season-summary{font-size:.9rem;color:var(--color-foreground-muted);margin:0 0 var(--space-2) 0;line-height:1.5}.season-week-count{font-size:.8rem;color:var(--color-accent);font-weight:500}.season-toggle-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-accent);flex-shrink:0;margin-left:var(--space-4)}.season-weeks{padding:var(--space-4) var(--space-6) var(--space-6);display:flex;flex-direction:column;gap:var(--space-4)}.season-weeks .archive-week{margin:0;box-shadow:none;border:1px solid var(--color-border-light)}.week-summary{font-size:.85rem;color:var(--color-foreground-muted);margin-top:var(--space-1);line-height:1.5}.week-season-badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-2);font-size:.7rem;font-weight:600;color:var(--color-accent);background:rgba(139,115,85,.1);border-radius:var(--radius-full);margin-top:var(--space-2);text-transform:uppercase;letter-spacing:.03em}.week-season-indicator{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:linear-gradient(135deg,rgba(139,115,85,.08),rgba(139,115,85,.15));border-radius:var(--radius-md);margin-bottom:var(--space-4);font-size:.9rem;font-weight:500;color:var(--color-accent-dark)}.week-season-indicator svg{flex-shrink:0}.week-season-summary{font-weight:400;color:var(--color-foreground-muted);font-style:italic}.week-detail-summary{font-size:1rem;color:var(--color-foreground-muted);margin-bottom:var(--space-4);line-height:1.6}.themes-by-season{display:flex;flex-direction:column;gap:var(--space-10)}.theme-season-section{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border-light);overflow:hidden;box-shadow:var(--shadow-sm)}.theme-season-header{display:flex;align-items:flex-start;gap:var(--space-4);padding:var(--space-6);background:linear-gradient(135deg,rgba(139,115,85,.05),rgba(139,115,85,.1));border-bottom:1px solid var(--color-border-light)}.theme-season-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:linear-gradient(135deg,var(--color-accent) 0,var(--color-accent-dark) 100%);color:#fff;border-radius:var(--radius-md);flex-shrink:0}.theme-season-info{flex:1 1}.theme-season-title{font-family:var(--font-serif);font-size:1.35rem;font-weight:700;color:var(--color-foreground);margin:0 0 var(--space-2) 0}.theme-season-summary{font-size:.9rem;color:var(--color-foreground-muted);margin:0 0 var(--space-2) 0;line-height:1.5}.theme-season-weeks{font-size:.8rem;color:var(--color-accent);font-weight:500}.theme-season-section .themes-grid{padding:var(--space-6)}.theme-card-summary{font-size:.8rem;color:var(--color-foreground-muted);margin:var(--space-2) 0;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.theme-card-season{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-2);font-size:.65rem;font-weight:600;color:var(--color-accent);background:rgba(139,115,85,.1);border-radius:var(--radius-full);margin-top:var(--space-2);text-transform:uppercase;letter-spacing:.03em}.devotional-theme-section{margin:var(--space-4) 0;padding:var(--space-4);background:linear-gradient(135deg,rgba(139,115,85,.05),rgba(139,115,85,.12));border-radius:var(--radius-md);border-left:4px solid var(--color-accent)}.devotional-theme-section .theme-label{display:block;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--color-accent);margin-bottom:var(--space-2)}.devotional-theme-section .theme-name{font-family:var(--font-serif);font-size:1.15rem;font-weight:700;color:var(--color-foreground);margin:0 0 var(--space-2) 0;line-height:1.4}.devotional-theme-section .theme-summary{font-size:.9rem;color:var(--color-foreground-muted);margin:0;line-height:1.6;font-style:italic}.calendar-type-selector{display:flex;flex-direction:column;gap:var(--space-2)}.calendar-type-header{display:flex;align-items:center;gap:var(--space-2);font-size:.8rem;font-weight:600;color:var(--color-foreground-muted);text-transform:uppercase;letter-spacing:.05em}.calendar-type-options{display:flex;gap:var(--space-2);background:var(--color-background);padding:var(--space-1);border-radius:var(--radius-full);border:1px solid var(--color-border-light)}.calendar-type-option{flex:1 1;padding:var(--space-2) var(--space-3);background:transparent;border:none;border-radius:var(--radius-full);font-size:.85rem;font-weight:500;color:var(--color-foreground-muted);cursor:pointer;transition:all var(--transition-fast)}.calendar-type-option:hover{background:rgba(139,115,85,.1);color:var(--color-foreground)}.calendar-type-option.active{background:linear-gradient(135deg,var(--color-accent) 0,var(--color-accent-dark) 100%);color:#fff;box-shadow:var(--shadow-sm)}.settings-panel{margin-top:var(--space-6);padding:var(--space-6);background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.settings-panel-title{font-family:var(--font-serif);font-size:1.25rem;font-weight:700;color:var(--color-foreground);margin-bottom:var(--space-4);display:flex;align-items:center;gap:var(--space-2)}.settings-section{margin-bottom:var(--space-6)}.settings-section:last-child{margin-bottom:0}.settings-section-label{font-size:.9rem;font-weight:600;color:var(--color-foreground);margin-bottom:var(--space-2)}.settings-section-description{font-size:.8rem;color:var(--color-foreground-muted);margin-bottom:var(--space-3)}.settings-content{display:flex;flex-direction:column;gap:var(--space-6)}.settings-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--space-4);gap:var(--space-4)}.settings-section-label{display:block}.input-full{width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);font-family:var(--font-sans);font-size:.95rem;color:var(--color-foreground)}.input-full:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px rgba(139,115,85,.1)}.input-area{min-height:120px;resize:vertical;line-height:1.6}.flat-list{margin:0;padding-left:1.2rem;color:var(--color-foreground)}.flat-list li+li{margin-top:var(--space-2)}.actions-row,.success-message{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;margin-top:var(--space-4)}.success-message{padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-success-light);color:var(--color-success)}@media (max-width:640px){.season-header{padding:var(--space-4);flex-direction:column;align-items:flex-start;gap:var(--space-3)}.season-toggle-icon{margin-left:0;align-self:flex-end}.season-weeks{padding:var(--space-3);gap:var(--space-3)}.theme-season-header{flex-direction:column}.theme-season-header,.theme-season-section .themes-grid{padding:var(--space-4)}.week-season-indicator{flex-wrap:wrap;font-size:.85rem}.week-season-summary{display:block;width:100%;margin-top:var(--space-1)}.devotional-theme-section{padding:var(--space-3)}.devotional-theme-section .theme-name{font-size:1.05rem}.calendar-type-options{flex-direction:column;gap:var(--space-1);border-radius:var(--radius-md)}.calendar-type-option{text-align:center;border-radius:var(--radius-md)}.settings-panel{padding:var(--space-4)}.settings-panel-title{font-size:1.1rem}.settings-row{grid-template-columns:1fr}.archive-week.current:before{font-size:.6rem;padding:4px 8px}}.header-liturgical-info{display:flex;align-items:center;justify-content:center;gap:var(--space-3);margin-top:var(--space-2);font-size:.85rem}.header-liturgical-info .liturgical-season{font-weight:600;color:var(--color-accent);text-transform:uppercase;letter-spacing:.05em}.header-liturgical-info .liturgical-week-day{color:var(--color-foreground-muted)}.theme-name-link{text-decoration:none;color:inherit;display:block;transition:color var(--transition-fast)}.theme-name-link:hover .theme-name{color:var(--color-accent)}.theme-name-link .theme-name{transition:color var(--transition-fast)}.archive-liturgical-info{font-size:.9rem;color:var(--color-foreground-muted);margin-top:var(--space-2)}.archive-liturgical-info strong{color:var(--color-accent);font-weight:600}.archive-week.current{background:var(--color-surface);border:2px solid var(--color-accent);box-shadow:var(--shadow-md);position:relative}.archive-week.current:before{content:"Current Week";position:absolute;top:-10px;left:16px;background:var(--color-accent);color:#fff;font-size:.7rem;font-weight:600;padding:4px 10px;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.05em}.season-section{border-color:var(--color-border-light);box-shadow:none}.season-header{background:var(--color-surface);border-bottom:1px solid var(--color-border-light)}.season-header:hover{background:rgba(139,115,85,.03)}@media (max-width:640px){.header-liturgical-info{flex-direction:column;gap:var(--space-1);font-size:.8rem}.archive-liturgical-info{font-size:.85rem}}.devotional-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4)}.devotional-title{font-family:var(--font-serif);font-size:1.75rem;font-weight:700;color:var(--color-foreground);margin:0;line-height:1.3}.devotional-theme-card{margin:var(--space-5) 0;padding:var(--space-4) var(--space-5);background:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-border-light);border-left:3px solid var(--color-accent)}.devotional-theme-label{display:block;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-accent);margin-bottom:var(--space-2)}.devotional-theme-link{text-decoration:none;color:inherit;display:block;transition:color var(--transition-fast)}.devotional-theme-link:hover .devotional-theme-name{color:var(--color-accent)}.devotional-theme-name{font-family:var(--font-serif);font-size:1.1rem;font-weight:700;color:var(--color-foreground);margin:0 0 var(--space-2) 0;line-height:1.4;transition:color var(--transition-fast)}.devotional-theme-summary{font-size:.9rem;color:var(--color-foreground-muted);margin:0;line-height:1.6}.devotional-section{margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--color-border-light)}.devotional-section:first-of-type{border-top:none;padding-top:0}.section-title{font-family:var(--font-serif);font-size:1rem;font-weight:700;color:var(--color-foreground);margin:0 0 var(--space-3) 0;text-transform:uppercase;letter-spacing:.05em}.scripture-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-2)}.scripture-list li{font-size:.95rem;color:var(--color-foreground-muted);padding-left:var(--space-4);position:relative}.scripture-list li:before{content:"📖";position:absolute;left:0;font-size:.85rem}.devotional-content{font-size:1rem;line-height:1.8;color:var(--color-foreground)}.devotional-content p{margin:0 0 var(--space-4) 0}.devotional-content p:last-child{margin-bottom:0}.devotional-content ol,.devotional-content ul{margin:var(--space-4) 0;padding-left:var(--space-6)}.devotional-content li{margin-bottom:var(--space-2);line-height:1.7}.devotional-content strong{color:var(--color-foreground);font-weight:600}.devotional-content em{font-style:italic}.prayer-points-section{background:linear-gradient(135deg,rgba(139,115,85,.03),rgba(139,115,85,.08));border-radius:var(--radius-md);padding:var(--space-5);margin-top:var(--space-6);border-top:none}.prayer-points-content{font-size:.95rem;line-height:1.7;color:var(--color-foreground)}.prayer-points-content ul{list-style:none;padding:0;margin:0}.prayer-points-content li{position:relative;padding-left:var(--space-6);margin-bottom:var(--space-3)}.prayer-points-content li:before{content:"🙏";position:absolute;left:0;top:0}.prayer-points-content li:last-child{margin-bottom:0}.prayer-points-content p{margin:0 0 var(--space-3) 0}.prayer-points-content p:last-child{margin-bottom:0}.devotional-tags{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--color-border-light)}.devotional-tag{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-3);font-size:.8rem;font-weight:500;color:var(--color-accent);background:rgba(139,115,85,.08);border:1px solid rgba(139,115,85,.15);border-radius:var(--radius-full);text-decoration:none;transition:all var(--transition-fast);cursor:pointer}.devotional-tag:hover{background:rgba(139,115,85,.15);border-color:var(--color-accent);color:var(--color-accent-dark);transform:translateY(-1px)}.archive-tag-filter{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-3);font-size:.9rem;color:var(--color-foreground-muted)}.archive-tag-badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-3);font-size:.85rem;font-weight:600;color:var(--color-accent);background:rgba(139,115,85,.12);border-radius:var(--radius-full)}.archive-clear-filter{color:var(--color-accent);text-decoration:none;font-weight:500;margin-left:var(--space-2)}.archive-clear-filter:hover{text-decoration:underline}.archive-description{font-size:1rem;color:var(--color-foreground-muted);line-height:1.6}.search-container{margin-bottom:var(--space-8)}.search-input-wrapper{position:relative;flex:1 1}.search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--color-foreground-muted);opacity:.6;pointer-events:none}.search-input{padding-left:40px;width:100%}.search-clear-button{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--color-foreground-muted);display:flex;align-items:center;padding:0;transition:color var(--transition-fast)}.search-clear-button:hover{color:var(--color-foreground)}.no-results{text-align:center;padding:var(--space-12) var(--space-6);color:var(--color-foreground-muted);background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border-light)}.no-results p,.week-detail-nav{margin-bottom:var(--space-4)}.week-detail-nav{display:flex;gap:var(--space-3)}.week-detail-date-range{display:flex;align-items:center;gap:var(--space-2)}.back-button,.entry-header{margin-bottom:var(--space-4)}.back-button{display:inline-flex}@media (max-width:640px){.devotional-title-row{flex-direction:column;gap:var(--space-3)}.devotional-title{font-size:1.4rem}.devotional-theme-card{padding:var(--space-3) var(--space-4)}.devotional-theme-name{font-size:1rem}.devotional-theme-summary{font-size:.85rem}.prayer-points-section{padding:var(--space-4)}.devotional-tags{justify-content:flex-start}.archive-tag-filter{flex-wrap:wrap}.week-detail-nav{flex-direction:column;gap:var(--space-2)}.week-detail-date-range{justify-content:flex-start}.search-container{margin-bottom:var(--space-6)}}.reading-surface{max-width:860px;background:radial-gradient(circle at 8% 12%,rgba(139,115,85,.09),transparent 28%),radial-gradient(circle at 88% 10%,rgba(139,115,85,.06),transparent 26%),var(--color-background)}.reading-surface .header{border-bottom:none;margin-bottom:var(--space-10);padding-bottom:0}.reading-surface .header h1{font-family:var(--font-serif);letter-spacing:.01em;font-size:clamp(2.3rem,5vw,3.1rem)}.reading-surface .header-date{background:hsla(0,0%,100%,.7);border:1px solid var(--color-border)}.reading-surface .devotional{background:#fffdf9;border:1px solid var(--color-border);border-radius:24px;box-shadow:0 18px 52px rgba(45,42,38,.08);overflow:hidden}.reading-surface .devotional:hover{box-shadow:0 20px 56px rgba(45,42,38,.1)}.reading-surface .devotional-header{padding:var(--space-10);border-bottom:1px solid var(--color-border)}.reading-surface .devotional-title{font-size:clamp(1.9rem,4vw,2.5rem);line-height:1.18}.reading-surface .share-button{border-color:var(--color-border);color:var(--color-foreground-muted);font-size:.82rem;background:hsla(0,0%,100%,.9)}.reading-surface .share-button:hover{color:var(--color-foreground);border-color:var(--color-accent-light);background:#fff}.reading-surface .devotional-theme-card{margin:var(--space-6) 0;padding:var(--space-5) var(--space-6);background:linear-gradient(135deg,rgba(139,115,85,.07),rgba(139,115,85,.02));border:1px solid var(--color-border);border-left:3px solid var(--color-accent)}.reading-surface .devotional-meta{gap:var(--space-3);font-size:.78rem;letter-spacing:.08em}.reading-surface .devotional-section{padding:0 var(--space-10)}.reading-surface .devotional-section.scripture-references{padding-top:var(--space-7)}.reading-surface .devotional-section:last-of-type{margin-bottom:var(--space-8)}.reading-surface .section-title{font-size:.84rem;letter-spacing:.12em;color:var(--color-accent);margin-bottom:var(--space-4)}.reading-surface .scripture-list li{font-family:var(--font-serif);font-size:1.03rem;color:var(--color-foreground)}.reading-surface .scripture-list li:before{content:"•";color:var(--color-accent);font-size:1rem;top:.05rem}.reading-surface .devotional-content,.reading-surface .prayer-points-content{max-width:68ch;font-size:1.08rem;line-height:1.85}.reading-surface .devotional-content p+p,.reading-surface .prayer-points-content p+p{margin-top:var(--space-4)}.reading-surface .prayer-points-section{background:rgba(139,115,85,.06);border:1px solid var(--color-border)}.reading-surface .devotional-tags{margin:var(--space-8) var(--space-10) var(--space-10);padding-top:var(--space-5);border-top:1px solid var(--color-border)}.reading-surface .reading-secondary-block{margin-top:var(--space-8)}.reading-surface .subscription-container{background:#fffdf9}.reading-surface .footer{border-top:none;margin-top:var(--space-10);padding-top:var(--space-8)}@media (max-width:768px){.reading-surface .devotional-header,.reading-surface .devotional-section,.reading-surface .devotional-tags{padding-left:var(--space-6);padding-right:var(--space-6)}.reading-surface .devotional-title-row{align-items:flex-start}.reading-surface .devotional-title{font-size:1.7rem}}.reading-v2{max-width:860px;background:radial-gradient(circle at 8% 10%,rgba(111,91,63,.12),transparent 28%),radial-gradient(circle at 90% 14%,rgba(111,91,63,.08),transparent 28%),#f4f1ea;color:#3a342d}.reading-v2 .rv2-header{margin-bottom:var(--space-8)}.reading-v2 .rv2-brand{display:flex;align-items:center;justify-content:center;gap:var(--space-4);margin-bottom:var(--space-6)}.reading-v2 .rv2-logo{width:42px;height:42px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;color:#fff;background:linear-gradient(135deg,#8b7355,#6d5a44);box-shadow:var(--shadow-sm)}.reading-v2 .rv2-wordmark{margin:0;font-family:var(--font-serif);font-size:clamp(2rem,4.2vw,2.9rem);line-height:1}.reading-v2 .rv2-date{width:-moz-fit-content;width:fit-content;margin:0 auto var(--space-4);display:flex;align-items:center;gap:var(--space-2);font-size:1rem;color:#5f5649;background:hsla(0,0%,100%,.72);border:1px solid #d9d0c4;border-radius:999px;padding:var(--space-2) var(--space-5)}.reading-v2 .rv2-liturgical-line{margin:0 0 var(--space-5);text-align:center;color:#7a6648;display:flex;align-items:center;justify-content:center;gap:var(--space-3);letter-spacing:.04em;text-transform:uppercase;font-size:.82rem;font-weight:600}.reading-v2 .rv2-controls{display:grid;grid-template-columns:auto auto;align-items:center;justify-content:center;grid-gap:var(--space-4);gap:var(--space-4);padding-bottom:var(--space-6)}.reading-v2 .rv2-nav{display:flex;align-items:center;gap:var(--space-2);flex-wrap:nowrap;justify-content:center}.reading-v2 .rv2-nav-link{text-decoration:none;color:#574f44;border:1px solid transparent;border-radius:999px;padding:var(--space-2) var(--space-3);font-size:.95rem;white-space:nowrap}.reading-v2 .rv2-nav-link.active{background:rgba(111,91,63,.12);border-color:#d9d0c4;color:#6f5b3f}.reading-v2 .rv2-mode-toggle{border:0;background:transparent;display:inline-flex;align-items:center;gap:var(--space-2);padding:0}.reading-v2 .rv2-mode-label{text-transform:uppercase;letter-spacing:.06em;font-size:.83rem;color:#6f5b3f;font-weight:600}.reading-v2 .rv2-mode-option{border:1px solid #d9d0c4;background:hsla(0,0%,100%,.65);color:#5f5649;border-radius:999px;padding:var(--space-2) var(--space-3);font-size:.9rem;white-space:nowrap}.reading-v2 .rv2-mode-option.active{border-color:#8b7355;background:#8b7355;color:#fff}.reading-v2 .rv2-card{background:#fffdf9;border:1px solid #d9d0c4;border-radius:24px;box-shadow:0 6px 24px rgba(45,42,38,.06)}.reading-v2 .rv2-card-hero{padding:var(--space-10)}.reading-v2 .rv2-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4)}.reading-v2 .rv2-title{margin:0;font-family:var(--font-serif);font-size:clamp(1.8rem,3.3vw,2.35rem);line-height:1.1;color:#2f2a22}.reading-v2 .rv2-card .share-button{border:1px solid #d9d0c4;color:#685f52;background:hsla(0,0%,100%,.8)}.reading-v2 .rv2-theme{margin-top:var(--space-6);border:1px solid #d9d0c4;border-left:3px solid #8b7355;border-radius:12px;padding:var(--space-5);background:linear-gradient(135deg,rgba(111,91,63,.08),rgba(111,91,63,.02))}.reading-v2 .rv2-theme-kicker{display:block;text-transform:uppercase;letter-spacing:.1em;font-size:.76rem;color:#7a6648;font-weight:700;margin-bottom:var(--space-2)}.reading-v2 .rv2-theme-name{text-decoration:none;color:#2f2a22;font-family:var(--font-serif);font-size:1.05rem;font-weight:700;line-height:1.15;display:inline-block;margin-bottom:var(--space-2)}.reading-v2 .rv2-theme-summary{margin:0;color:#5f5649;font-size:.96rem}.reading-v2 .rv2-meta{margin-top:var(--space-5);display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);text-transform:uppercase;letter-spacing:.06em;font-size:.87rem;color:#7a6648;font-weight:600}.reading-v2 .rv2-season-pill{border:1px solid #d9d0c4;border-radius:999px;padding:var(--space-1) var(--space-3);background:rgba(111,91,63,.1)}.reading-v2 .rv2-meta-dot{width:4px;height:4px;border-radius:50%;background:#8b7355}.reading-v2 .rv2-section{border-top:1px solid #e6ddd1;padding:var(--space-6) var(--space-10)}.reading-v2 .rv2-section-title{margin:0 0 var(--space-4);text-transform:uppercase;letter-spacing:.12em;color:#7a6648;font-size:.8rem;font-weight:700}.reading-v2 .rv2-scripture-list{margin:0;padding-left:1.2rem;display:flex;flex-direction:column;gap:var(--space-3)}.reading-v2 .rv2-scripture-list li{font-family:var(--font-body);font-size:1.05rem;color:#3a342d;font-style:normal;line-height:1.6}.reading-v2 .rv2-scripture{border-left:0;background:rgba(111,91,63,.03)}.reading-v2 .rv2-prose{max-width:68ch;color:#3a342d;font-size:1.03rem;line-height:1.8}.reading-v2 .rv2-prose p{margin:0 0 var(--space-4)}.reading-v2 .rv2-prayer{background:rgba(111,91,63,.06)}.reading-v2 .rv2-tags{border-top:1px solid #e6ddd1;padding:var(--space-5) var(--space-10) var(--space-8);display:flex;flex-wrap:wrap;gap:var(--space-2)}.reading-v2 .rv2-tag{text-decoration:none;border-radius:999px;border:1px solid #d9d0c4;padding:var(--space-1) var(--space-3);color:#6f5b3f;background:rgba(111,91,63,.08)}.reading-v2 .reading-secondary-block{margin-top:var(--space-8)}.reading-v2 .subscription-container{background:#fffdf9}@media (max-width:860px){.reading-v2 .rv2-controls{grid-template-columns:1fr;gap:var(--space-4)}.reading-v2 .rv2-nav{flex-wrap:wrap}.reading-v2 .rv2-mode-toggle{justify-content:center}}@media (max-width:768px){.reading-v2 .rv2-wordmark{font-size:2.5rem}.reading-v2 .rv2-liturgical-line{flex-direction:column;gap:var(--space-1);font-size:.8rem}.reading-v2 .rv2-card-hero,.reading-v2 .rv2-section,.reading-v2 .rv2-tags{padding-left:var(--space-6);padding-right:var(--space-6)}.reading-v2 .rv2-title-row{flex-direction:column;align-items:flex-start}.reading-v2 .rv2-title{font-size:1.8rem}.reading-v2 .rv2-scripture-list li,.reading-v2 .rv2-theme-name{font-size:1rem}}@media (max-width:520px){.reading-v2 .rv2-nav{gap:var(--space-1)}.reading-v2 .rv2-nav-link{font-size:.9rem;padding:var(--space-2) var(--space-3)}.reading-v2 .rv2-mode-toggle{flex-wrap:wrap;justify-content:center}.reading-v2 .rv2-mode-label{width:100%;text-align:center}}.install-prompt{position:fixed;bottom:0;left:0;right:0;z-index:1000;padding:var(--space-4);animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.install-prompt-content{display:flex;align-items:center;gap:var(--space-4);max-width:720px;margin:0 auto;padding:var(--space-4) var(--space-5);background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);border:1px solid var(--color-border)}.install-prompt-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:linear-gradient(135deg,var(--color-accent) 0,var(--color-accent-dark) 100%);border-radius:var(--radius-md);color:#fff}.install-prompt-text{flex:1 1;min-width:0}.install-prompt-title{font-family:var(--font-serif);font-size:1rem;font-weight:700;color:var(--color-foreground);margin:0 0 var(--space-1) 0}.install-prompt-description{font-size:.85rem;color:var(--color-foreground-muted);margin:0;line-height:1.5}.install-inline-icon{display:inline-block;vertical-align:middle;margin:0 2px}.install-action{font-weight:500;color:var(--color-foreground)}.install-prompt-actions{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.install-prompt-button{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-2) var(--space-4);font-size:.875rem;font-weight:600;border:none;border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast)}.install-prompt-button-primary{background:linear-gradient(135deg,var(--color-accent) 0,var(--color-accent-dark) 100%);color:#fff}.install-prompt-button-primary:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.install-prompt-button-dismiss{background:transparent;color:var(--color-foreground-muted);padding:var(--space-2);min-width:auto}.install-prompt-button-dismiss:hover{background:rgba(0,0,0,.05);color:var(--color-foreground)}@media (max-width:640px){.install-prompt{padding:var(--space-3)}.install-prompt-content{flex-wrap:wrap;padding:var(--space-4);gap:var(--space-3)}.install-prompt-icon{width:40px;height:40px}.install-prompt-text{flex-basis:calc(100% - 52px - var(--space-3))}.install-prompt-title{font-size:.95rem}.install-prompt-description{font-size:.8rem}.install-prompt-actions{width:100%;justify-content:flex-end;gap:var(--space-3)}.install-prompt-button-primary{flex:1 1}}.install-fab{position:fixed;bottom:var(--space-6);right:var(--space-6);z-index:900;display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);font-size:.875rem;font-weight:600;background:linear-gradient(135deg,var(--color-accent) 0,var(--color-accent-dark) 100%);color:#fff;border:none;border-radius:var(--radius-full);cursor:pointer;box-shadow:var(--shadow-lg);transition:all var(--transition-fast);animation:slideUp .3s ease-out}.install-fab:hover{transform:translateY(-2px);box-shadow:var(--shadow-xl)}.install-fab:active{transform:translateY(0);box-shadow:var(--shadow-md)}.install-fab-label{white-space:nowrap}.install-instructions-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:rgba(0,0,0,.5);animation:fadeIn .2s ease-out}.install-instructions-modal{width:100%;max-width:400px;background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);overflow:hidden;animation:slideUp .3s ease-out}.install-instructions-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border-light)}.install-instructions-title{font-family:var(--font-serif);font-size:1.1rem;font-weight:700;color:var(--color-foreground);margin:0}.install-instructions-close{display:flex;align-items:center;justify-content:center;padding:var(--space-2);background:transparent;border:none;color:var(--color-foreground-muted);cursor:pointer;border-radius:var(--radius-full);transition:all var(--transition-fast)}.install-instructions-close:hover{background:rgba(0,0,0,.05);color:var(--color-foreground)}.install-instructions-body{padding:var(--space-5)}.install-instructions-text{font-size:.9rem;color:var(--color-foreground-muted);margin:0 0 var(--space-4) 0;line-height:1.5}.install-instructions-steps{margin:0;padding-left:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3)}.install-instructions-steps li{font-size:.9rem;color:var(--color-foreground);line-height:1.6}.install-instructions-done{display:block;width:calc(100% - 2 * var(--space-5));margin:0 var(--space-5) var(--space-5);padding:var(--space-3);font-size:.9rem;font-weight:600;background:linear-gradient(135deg,var(--color-accent) 0,var(--color-accent-dark) 100%);color:#fff;border:none;border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast)}.install-instructions-done:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}@media (max-width:640px){.install-fab{bottom:var(--space-4);right:var(--space-4);padding:var(--space-3) var(--space-4);font-size:.8rem}.install-instructions-modal{max-width:none;margin:0 var(--space-2)}}@media (hover:none) and (pointer:coarse){.install-fab:active{transform:scale(.97);transition:transform .1s ease}}.notification-permission-banner{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);background:linear-gradient(135deg,rgba(139,115,85,.05),rgba(139,115,85,.1));border:1px solid var(--color-border-light);border-radius:var(--radius-lg);margin-bottom:var(--space-6)}.notification-permission-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:linear-gradient(135deg,var(--color-accent) 0,var(--color-accent-dark) 100%);border-radius:var(--radius-md);color:#fff;flex-shrink:0}.notification-permission-content{flex:1 1;min-width:0}.notification-permission-title{font-family:var(--font-serif);font-size:1rem;font-weight:700;color:var(--color-foreground);margin:0 0 var(--space-1) 0}.notification-permission-description{font-size:.85rem;color:var(--color-foreground-muted);margin:0;line-height:1.5}.notification-permission-actions{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.notification-permission-button-primary{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-2) var(--space-4);font-size:.875rem;font-weight:600;background:linear-gradient(135deg,var(--color-accent) 0,var(--color-accent-dark) 100%);color:#fff;border:none;border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast)}.notification-permission-button-primary:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.notification-permission-button-primary:disabled{opacity:.6;cursor:not-allowed}.notification-permission-button-dismiss{background:transparent;border:none;color:var(--color-foreground-muted);padding:var(--space-2);cursor:pointer;display:flex;align-items:center;border-radius:var(--radius-full);transition:all var(--transition-fast)}.notification-permission-button-dismiss:hover{background:rgba(0,0,0,.05);color:var(--color-foreground)}.notification-permission-error{font-size:.8rem;color:var(--color-error);margin-top:var(--space-2)}.notification-permission-compact{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-md);gap:var(--space-3)}.notification-permission-compact-content{display:flex;align-items:center;gap:var(--space-2);color:var(--color-foreground);font-size:.9rem}.notification-permission-toggle{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);font-size:.8rem;font-weight:600;background:rgba(139,115,85,.1);color:var(--color-accent);border:1px solid var(--color-accent);border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast)}.notification-permission-toggle.enabled{background:var(--color-accent);color:#fff}.notification-permission-toggle:disabled{opacity:.6;cursor:not-allowed}.notification-permission-button{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-size:.875rem;font-weight:500;background:var(--color-surface);color:var(--color-foreground);border:1px solid var(--color-border);border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast)}.notification-permission-button:hover{background:var(--color-surface-elevated);border-color:var(--color-accent)}.notification-permission-spinner{width:14px;height:14px;border:2px solid hsla(0,0%,100%,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.notification-prefs-form{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:var(--space-6)}.notification-prefs-header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-6);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border-light)}.notification-prefs-header h2{font-family:var(--font-serif);font-size:1.25rem;font-weight:700;color:var(--color-foreground);margin:0}.notification-prefs-section{margin-bottom:var(--space-5)}.notification-prefs-section-title{display:block;font-size:.9rem;font-weight:600;color:var(--color-foreground);margin-bottom:var(--space-3)}.notification-prefs-field{display:flex;flex-direction:column;gap:var(--space-2)}.notification-prefs-field-header{display:flex;align-items:center;gap:var(--space-2);color:var(--color-foreground)}.notification-prefs-label{font-size:.9rem;font-weight:600;color:var(--color-foreground)}.notification-prefs-hint{font-size:.8rem;color:var(--color-foreground-muted)}.notification-prefs-input,.notification-prefs-select{padding:var(--space-2) var(--space-3);font-size:.9rem;background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-foreground);transition:border-color var(--transition-fast)}.notification-prefs-input:focus,.notification-prefs-select:focus{outline:none;border-color:var(--color-accent)}.notification-prefs-input:disabled,.notification-prefs-select:disabled{opacity:.6;cursor:not-allowed}.notification-prefs-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3);background:var(--color-background);border-radius:var(--radius-md)}.notification-prefs-toggle-info{display:flex;flex-direction:column;gap:var(--space-1)}.notification-prefs-toggle-button{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-size:.85rem;font-weight:600;background:rgba(139,115,85,.1);color:var(--color-accent);border:1px solid var(--color-accent);border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast)}.notification-prefs-toggle-button.enabled{background:var(--color-accent);color:#fff}.notification-prefs-toggle-button:disabled{opacity:.6;cursor:not-allowed}.notification-prefs-checkbox-row{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3);cursor:pointer;transition:background var(--transition-fast);border-radius:var(--radius-md)}.notification-prefs-checkbox-row:hover{background:var(--color-background)}.notification-prefs-checkbox{margin-top:2px;width:18px;height:18px;cursor:pointer;accent-color:var(--color-accent)}.notification-prefs-checkbox:disabled{cursor:not-allowed}.notification-prefs-checkbox-info{display:flex;flex-direction:column;gap:var(--space-1)}.notification-prefs-checkbox-label{font-size:.9rem;font-weight:500;color:var(--color-foreground)}.notification-prefs-checkbox-hint{font-size:.8rem;color:var(--color-foreground-muted)}.notification-prefs-message{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);font-size:.85rem;border-radius:var(--radius-md);margin-bottom:var(--space-4)}.notification-prefs-message.success{background:var(--color-success-light);color:var(--color-success)}.notification-prefs-message.error{background:var(--color-error-light);color:var(--color-error)}.notification-prefs-actions{display:flex;justify-content:flex-end;padding-top:var(--space-4);border-top:1px solid var(--color-border-light)}.notification-prefs-save-button{padding:var(--space-2) var(--space-5);font-size:.9rem;font-weight:600;background:linear-gradient(135deg,var(--color-accent) 0,var(--color-accent-dark) 100%);color:#fff;border:none;border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast)}.notification-prefs-save-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-md)}.notification-prefs-save-button:disabled{opacity:.6;cursor:not-allowed}.notification-prefs-denied,.notification-prefs-unsupported{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-6);background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);text-align:center;color:var(--color-foreground-muted)}.notification-prefs-denied h3,.notification-prefs-unsupported h3{font-family:var(--font-serif);font-size:1.1rem;color:var(--color-foreground);margin:0}.notification-prefs-spinner{width:16px;height:16px;border:2px solid rgba(139,115,85,.3);border-top:2px solid var(--color-accent);border-radius:50%;animation:spin .8s linear infinite}.offline-banner{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-4);animation:slideDown .3s ease-out}@keyframes slideDown{0%{transform:translateY(-10px);opacity:0}to{transform:translateY(0);opacity:1}}.offline-banner.offline{background:linear-gradient(135deg,rgba(197,48,48,.08),rgba(197,48,48,.12));border:1px solid rgba(197,48,48,.2)}.offline-banner.reconnected{background:linear-gradient(135deg,rgba(47,133,90,.08),rgba(47,133,90,.12));border:1px solid rgba(47,133,90,.2)}.offline-banner.online{background:linear-gradient(135deg,rgba(47,133,90,.05),rgba(47,133,90,.08));border:1px solid rgba(47,133,90,.15)}.offline-banner-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.offline-banner.offline .offline-banner-icon{color:var(--color-error)}.offline-banner.online .offline-banner-icon,.offline-banner.reconnected .offline-banner-icon{color:var(--color-success)}.offline-banner-content{flex:1 1;display:flex;flex-direction:column;gap:var(--space-1)}.offline-banner-title{font-size:.9rem;font-weight:600}.offline-banner.offline .offline-banner-title{color:var(--color-error)}.offline-banner.online .offline-banner-title,.offline-banner.reconnected .offline-banner-title{color:var(--color-success)}.offline-banner-message{font-size:.8rem;color:var(--color-foreground-muted)}.offline-banner-action{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);font-size:.8rem;font-weight:600;background:var(--color-success);color:#fff;border:none;border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast)}.offline-banner-action:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.offline-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);font-size:.75rem;font-weight:600;border-radius:var(--radius-full)}.offline-badge.offline{background:rgba(197,48,48,.1);color:var(--color-error)}.offline-badge.reconnected{background:rgba(47,133,90,.1);color:var(--color-success)}.offline-badge.online{background:rgba(47,133,90,.08);color:var(--color-success)}.offline-toast{position:fixed;bottom:var(--space-6);left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);z-index:1000;animation:slideUp .3s ease-out}.offline-toast.offline{border:1px solid rgba(197,48,48,.2)}.offline-toast.online{border:1px solid rgba(47,133,90,.2)}.offline-toast-icon{display:flex;align-items:center;justify-content:center}.offline-toast.offline .offline-toast-icon{color:var(--color-error)}.offline-toast.online .offline-toast-icon{color:var(--color-success)}.offline-toast-content{display:flex;flex-direction:column;gap:var(--space-1)}.offline-toast-title{font-size:.9rem;font-weight:600;color:var(--color-foreground)}.offline-toast-message{font-size:.8rem;color:var(--color-foreground-muted)}.offline-toast-action{display:flex;align-items:center;justify-content:center;padding:var(--space-2);background:transparent;border:none;color:var(--color-foreground-muted);cursor:pointer;border-radius:var(--radius-full);transition:all var(--transition-fast)}.offline-toast-action:hover{background:var(--color-background);color:var(--color-foreground)}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:640px){.notification-permission-banner{flex-direction:column;align-items:flex-start;gap:var(--space-3)}.notification-permission-actions{width:100%;justify-content:flex-end}.notification-prefs-form{padding:var(--space-4)}.notification-prefs-toggle-row{flex-direction:column;align-items:flex-start;gap:var(--space-3)}.notification-prefs-toggle-button{width:100%;justify-content:center}.offline-toast{left:var(--space-4);right:var(--space-4);transform:none}}.pull-to-refresh-container{position:relative;overflow:hidden;min-height:100vh}.pull-to-refresh-indicator{position:fixed;top:0;left:50%;transform:translateX(-50%) translateY(-60px);display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-5);background:var(--color-surface);border-radius:var(--radius-full);box-shadow:var(--shadow-lg);z-index:100;opacity:0;transition:opacity .2s ease;pointer-events:none}.pull-to-refresh-indicator.visible{opacity:1}.pull-to-refresh-spinner{display:flex;align-items:center;justify-content:center;color:var(--color-accent);transition:transform .1s linear}.pull-to-refresh-spinner.spinning{animation:spin 1s linear infinite}.pull-to-refresh-text{font-size:.85rem;font-weight:500;color:var(--color-foreground-muted);white-space:nowrap}.pull-to-refresh-content{will-change:transform}.page-transition{animation:pageEnter .3s ease-out}.page-transition-entering{animation:pageEnter .2s ease-out forwards}.page-transition-exiting{animation:pageExit .15s ease-in forwards}.page-transition-entered{opacity:1;transform:none}@keyframes pageEnter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pageExit{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}.content-animated{animation:contentFadeIn .4s ease-out}@keyframes contentFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animated-item{opacity:0;transition:opacity .4s ease,transform .4s ease}.animated-item.visible{opacity:1;transform:translateY(0) translateX(0)}.animated-item-up{transform:translateY(20px)}.animated-item-down{transform:translateY(-20px)}.animated-item-left{transform:translateX(20px)}.animated-item-right{transform:translateX(-20px)}.animated-item-none{transform:none}.skeleton{background:linear-gradient(90deg,var(--color-border-light) 0,var(--color-surface) 50%,var(--color-border-light) 100%);background-size:200% 100%;animation:skeletonShimmer 1.5s ease-in-out infinite}@keyframes skeletonShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.splash-screen{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-background) 0,#f5f3f0 100%);z-index:10000;opacity:0;transition:opacity .5s ease}.splash-screen-entering,.splash-screen-visible{opacity:1}.splash-screen-exiting{opacity:0}.splash-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-4)}.splash-logo{width:100px;height:100px;color:var(--color-accent)}.splash-logo-svg{width:100%;height:100%}.splash-cross-vertical{animation:crossSlideDown .6s ease-out forwards;opacity:0;transform:translateY(-20px)}.splash-cross-horizontal{animation:crossSlideRight .6s ease-out .2s forwards;opacity:0;transform:translateX(-20px)}.splash-glow{animation:glowPulse 1.5s ease-in-out infinite;opacity:0}@keyframes crossSlideDown{to{opacity:1;transform:translateY(0)}}@keyframes crossSlideRight{to{opacity:1;transform:translateX(0)}}@keyframes glowPulse{0%,to{opacity:.2;transform:scale(1)}50%{opacity:.4;transform:scale(1.05)}}.splash-title{font-family:var(--font-serif);font-size:2.5rem;font-weight:700;color:var(--color-foreground);letter-spacing:.15em;display:flex;gap:2px}.splash-title-char{opacity:0;transform:translateY(10px);animation:charReveal .4s ease-out forwards}@keyframes charReveal{to{opacity:1;transform:translateY(0)}}.splash-tagline{font-size:1rem;color:var(--color-foreground-muted);opacity:0;animation:fadeIn .5s ease-out .8s forwards}@keyframes fadeIn{to{opacity:1}}.splash-loader{display:flex;gap:var(--space-2);margin-top:var(--space-4)}.splash-loader-dot{width:8px;height:8px;background:var(--color-accent);border-radius:50%;animation:loaderBounce 1.2s ease-in-out infinite}@keyframes loaderBounce{0%,to{transform:translateY(0);opacity:.4}50%{transform:translateY(-10px);opacity:1}}.share-button-group{display:flex;gap:var(--space-2)}.share-button-copy{background:transparent;border:1px solid var(--color-border)}.share-button-copy:hover{background:var(--color-surface);border-color:var(--color-accent)}@media (hover:none) and (pointer:coarse){.error-retry:active,.install-prompt-button-primary:active,.nav-link:active,.notification-permission-button-primary:active,.share-button:active{transform:scale(.97);transition:transform .1s ease}}html{scroll-behavior:smooth}body{overscroll-behavior-y:contain}.container{padding-left:max(var(--space-6),env(safe-area-inset-left));padding-right:max(var(--space-6),env(safe-area-inset-right));padding-bottom:max(var(--space-8),env(safe-area-inset-bottom))}.page-content{animation:pageEnter .3s ease-out}*{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}