:root{--color-cream: #FDFBF7;--color-cream-warm: #F4EDE4;--color-cream-light: #FFFDF9;--color-cream-dark: #EAD9C8;--color-terracotta: #B84A13;--color-terracotta-dark: #96380D;--color-terracotta-light: #D4712F;--color-gold: #C8963E;--color-gold-light: #D4A84F;--color-gold-muted: #B28A42;--color-gold-text: #7A5520;--color-charcoal: #2D241F;--color-text: #332A25;--color-text-muted: #705E52;--color-text-soft: var(--color-text-muted);--color-text-pale: var(--color-text-muted);--color-text-faint: var(--color-text-muted);--color-text-light: var(--color-text-muted);--color-border: #E7DCD0;--color-border-soft: #EADFD4;--color-surface: #FFFDF9;--liturgical-verde: #5B8060;--liturgical-vermelho: #AE463D;--liturgical-roxo: #73537B;--liturgical-branco: #B28A42;--liturgical-rosa: #B95E78;--mystery-gozosos: #73B894;--mystery-dolorosos: #D27D7D;--mystery-luminosos: #D4B86A;--mystery-gloriosos: #8AA8D0;--focus-bg-gozosos: #E9F4EE;--focus-bg-dolorosos: #F8EBEB;--focus-bg-luminosos: #F7F3E8;--focus-bg-gloriosos: #ECF1F7;--font-serif: "Cormorant Garamond", "Georgia", serif;--font-sans: "Inter", "Segoe UI", system-ui, sans-serif;--text-xs: .72rem;--text-sm: .83rem;--text-base: 1rem;--text-md: 1.1rem;--text-lg: clamp(1.4rem, 4vw, 2rem);--text-xl: clamp(2.2rem, 5vw, 3.3rem);--text-display: clamp(2.6rem, 8vw, 5.8rem);--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--radius-sm: .75rem;--radius-md: .75rem;--radius-lg: 1.125rem;--radius-xl: 1.375rem;--radius-full: 999px;--control-height: 3rem;--shadow-sm: 0 2px 8px rgba(94, 59, 36, .04);--shadow-md: 0 6px 18px rgba(94, 59, 36, .06);--shadow-lg: 0 14px 25px rgba(94, 59, 36, .06);--shadow-xl: 0 9px 22px rgba(156, 70, 29, .17);--shadow-glow: 0 5px 20px rgba(113, 52, 21, .19);--ease-out: cubic-bezier(.33, 1, .68, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--duration-fast: .25s;--duration-mid: .35s;--duration-slow: .42s}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{font-family:var(--font-sans);font-size:var(--text-base);color:var(--color-text);background:var(--color-cream);min-width:320px;line-height:1.6;font-synthesis:none}button,input,textarea{font:inherit;color:inherit}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}ol,ul{list-style:none}h1,h2,h3,h4,.display,.section-title{font-family:var(--font-serif);color:var(--color-charcoal);line-height:1}.display{font-size:var(--text-display);font-weight:600;line-height:.88;margin:var(--space-sm) 0 var(--space-md)}.section-title{font-size:var(--text-xl);margin:.45rem 0 .75rem}.eyebrow{display:inline-block;color:var(--color-terracotta);font-size:var(--text-xs);font-weight:700;letter-spacing:.15em;text-transform:uppercase}.lead{color:var(--color-text-muted);font-size:var(--text-base);line-height:1.7;max-width:42rem}.app-shell{min-height:100vh;display:flex;flex-direction:column}.page{width:min(1120px,calc(100% - 2rem));margin:0 auto;padding:6.5rem 0 var(--space-3xl);animation:pageIn var(--duration-slow) var(--ease-out) both}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);border:0;border-radius:var(--radius-full);cursor:pointer;min-height:var(--control-height);padding:.7rem 1.5rem;background:var(--color-terracotta);color:#fffaf4;font-weight:700;font-size:.95rem;letter-spacing:.01em;transition:transform var(--duration-fast) var(--ease-out),background var(--duration-fast),box-shadow var(--duration-fast)}.btn:hover{background:var(--color-terracotta-dark);transform:translateY(-2px);box-shadow:var(--shadow-xl)}.btn:active{transform:translateY(0)}.btn-ghost{background:var(--color-cream-warm);color:#7e3717}.btn-ghost:hover{background:var(--color-cream-dark);transform:translateY(-2px);box-shadow:var(--shadow-md)}.site-header{position:fixed;z-index:50;top:0;left:0;right:0;background:#fdfbf7e0;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--color-border-soft)}.nav{width:min(1200px,calc(100% - 2rem));height:4.2rem;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.brand{display:flex;gap:.55rem;align-items:center;font-family:var(--font-serif);color:#6c2e15;font-size:1.4rem;font-weight:700}.brand-mark{display:grid;place-items:center;width:4rem;height:4rem;border-radius:50%;border-color:#2d241f}.desktop-nav{display:none;align-items:center;gap:1.5rem;font-size:.88rem;font-weight:500;color:var(--color-text-soft)}.desktop-nav a{position:relative;padding:.3rem 0;transition:color var(--duration-fast)}.desktop-nav a:after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:2px;background:var(--color-terracotta);border-radius:1px;transition:width var(--duration-mid) var(--ease-out)}.desktop-nav a:hover,.desktop-nav a.active{color:var(--color-terracotta)}.desktop-nav a.active:after,.desktop-nav a:hover:after{width:100%}.bottom-nav{position:fixed;z-index:50;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(5,1fr);align-items:end;padding:.35rem .25rem calc(.35rem + env(safe-area-inset-bottom));background:#fdfbf7f0;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--color-border-soft);box-shadow:0 -6px 20px #2d241f0f}.bottom-nav a{position:relative;display:flex;flex-direction:column;align-items:center;gap:.15rem;min-height:3.1rem;justify-content:flex-end;padding-bottom:.2rem;border-radius:var(--radius-md);color:var(--color-text-soft);font-size:.68rem;font-weight:600;transition:color var(--duration-fast)}.bottom-nav a:before{content:"";position:absolute;top:.15rem;width:2.6rem;height:1.9rem;border-radius:999px;background:var(--color-terracotta);opacity:0;transform:scale(.6);transition:opacity var(--duration-mid) var(--ease-out),transform var(--duration-mid) var(--ease-out)}.bottom-nav a svg{position:relative;margin-top:.2rem}.bottom-nav a.active{color:var(--color-terracotta)}.bottom-nav a.active:before{opacity:.13;transform:scale(1)}.bottom-nav a.bottom-nav-main:before{display:none}.bottom-nav-main-circle{display:grid;place-items:center;width:3.5rem;height:3.5rem;margin-top:-1.6rem;border-radius:50%;border:4px solid var(--color-cream);background:var(--color-terracotta);color:#fffaf4;box-shadow:0 8px 18px #9c461d52;transition:transform var(--duration-fast) var(--ease-out),background var(--duration-fast)}.bottom-nav a.bottom-nav-main svg{margin-top:0}.bottom-nav a.bottom-nav-main:active .bottom-nav-main-circle{transform:scale(.94)}.bottom-nav a.bottom-nav-main.active .bottom-nav-main-circle{background:var(--color-terracotta-dark)}:root[data-theme=dark] .bottom-nav-main-circle,:root[data-theme=dark] .bottom-nav a.bottom-nav-main.active .bottom-nav-main-circle{background:#b84a13;color:#fff7ef;box-shadow:0 8px 18px #00000073}@media(max-width:767px){.app-shell{padding-bottom:calc(4rem + env(safe-area-inset-bottom))}.app-shell .feedback{bottom:calc(4.6rem + env(safe-area-inset-bottom))}}.home-hero{display:grid;gap:2.5rem;align-items:center}.hero-copy{padding-top:var(--space-md)}.hero-copy .lead{margin-bottom:var(--space-lg)}.hero-image{position:relative;min-height:280px;border-radius:16px;overflow:hidden}.hero-image img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.86) sepia(.07);transition:transform .6s var(--ease-out)}.hero-image:hover img{transform:scale(1.03)}.hero-image{border-radius:var(--radius-xl);box-shadow:0 14px 30px #5e3b2424}.hero-image:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#2d241f00 30%,#2d241fd6);pointer-events:none}.hero-image-caption{position:absolute;z-index:1;left:1.1rem;right:1.1rem;bottom:1rem;display:flex;flex-direction:column;align-items:flex-start;gap:.15rem}.hero-image-kicker{color:#f1e3b8;font-size:var(--text-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.hero-image-caption strong{font-family:var(--font-serif);font-size:1.75rem;font-weight:600;line-height:1.1;color:#fffaf4;margin-bottom:.6rem}.btn.btn-on-photo,:root[data-theme=dark] .btn.btn-on-photo{background:#fffaf4;color:#96380d}.btn.btn-on-photo:hover,:root[data-theme=dark] .btn.btn-on-photo:hover{background:#fff}.home-today{margin-top:2rem}.home-today h2{margin:0 0 .6rem;font-family:var(--font-serif);font-size:1.5rem;font-weight:600}.home-today ul{list-style:none;margin:0;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);overflow:hidden}.home-today li+li{border-top:1px solid var(--color-border-soft)}.home-today a{display:flex;align-items:center;gap:.8rem;min-height:3.5rem;padding:.7rem .9rem;color:var(--color-text);transition:background var(--duration-fast)}.home-today a:hover{background:color-mix(in srgb,var(--color-gold) 8%,var(--color-surface))}.home-today a>svg{flex:none;color:var(--color-text-muted)}.home-today-check{flex:none;display:grid;place-items:center;width:1.65rem;height:1.65rem;border-radius:50%;border:2px solid var(--color-gold);color:#fffaf4}.home-today li.is-done .home-today-check{border-color:var(--color-terracotta);background:var(--color-terracotta)}.home-today-text{flex:1;display:flex;flex-direction:column;min-width:0}.home-today-text strong{font-size:.95rem;font-weight:600}.home-today-text small{font-size:.82rem;color:var(--color-text-muted)}.home-today li.is-done strong{color:var(--color-text-muted);text-decoration:line-through;text-decoration-color:var(--color-gold)}@media(min-width:768px){.home-today{max-width:36rem}}.reflection{margin-top:var(--space-3xl);padding:var(--space-xl) var(--space-lg);border-radius:var(--radius-lg);background:var(--color-cream-warm);position:relative}.reflection:before{content:"“";position:absolute;top:.8rem;left:1rem;font-family:var(--font-serif);font-size:5rem;line-height:1;color:var(--color-terracotta);opacity:.12;pointer-events:none}.reflection blockquote{margin:var(--space-lg) 0 .8rem;color:#43352d;font-family:var(--font-serif);font-size:var(--text-lg);line-height:1.4;font-style:italic}.reflection cite{color:var(--color-text-pale);font-style:normal;font-size:var(--text-sm)}.card-grid{display:grid;gap:var(--space-md);margin-top:2.2rem;grid-template-columns:1fr}@media(min-width:768px){.card-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.card-grid{grid-template-columns:repeat(4,1fr)}}.mystery-card{display:flex;flex-direction:column;background:var(--color-surface);border-radius:var(--radius-lg);border-top:4px solid var(--accent);box-shadow:var(--shadow-sm);transition:transform var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast);padding:1.5rem}.mystery-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.mystery-card-header{margin-bottom:var(--space-sm)}.mystery-card h2{color:var(--color-charcoal);font-size:1.8rem;margin-bottom:.2rem}.mystery-card .subtitle{display:flex;align-items:center;gap:.4rem;font-size:var(--text-sm);color:var(--color-text-muted);font-weight:500}.mystery-card .dot{width:6px;height:6px;border-radius:50%;background-color:var(--accent)}.mystery-card .tagline{font-size:.95rem;color:var(--color-text-soft);margin-bottom:var(--space-md);line-height:1.5}.mystery-prayer-box{background-color:var(--bg-soft);padding:1rem;border-radius:var(--radius-md);margin-bottom:var(--space-lg);flex-grow:1}.mystery-prayer-box p{font-size:.9rem;color:var(--color-text);line-height:1.6}.mystery-prayer-box strong{color:var(--accent);font-weight:600}.mystery-card .btn{width:100%;background:var(--color-cream-warm);color:var(--color-text);border:1px solid var(--color-border)}.mystery-card .btn:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.btn.btn-secondary,:root[data-theme=dark] .btn.btn-secondary{background:var(--color-surface);color:var(--color-text);border:1.5px solid var(--color-border)}.btn.btn-secondary:hover,:root[data-theme=dark] .btn.btn-secondary:hover{background:var(--color-surface);border-color:var(--color-terracotta);box-shadow:none}.tabs{display:flex;gap:var(--space-sm);overflow-x:auto;padding-bottom:var(--space-sm);margin:var(--space-xl) 0 var(--space-md);scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{white-space:nowrap;border:0;background:transparent;padding:.65rem 1rem;color:#78655a;cursor:pointer;border-radius:var(--radius-full);font-weight:500;font-size:.9rem;transition:color var(--duration-fast),background var(--duration-fast)}.tab:hover{background:#f4ede499}.tab.active{color:var(--liturgical-color, var(--color-terracotta));background:var(--color-cream-warm);font-weight:700}.reading-card{position:relative;padding:var(--space-lg) var(--space-lg) var(--space-xl);background:var(--color-surface);border-radius:var(--radius-lg);min-height:300px;overflow:hidden;animation:fadeUp .4s var(--ease-out) both}.reading-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--liturgical-color, var(--color-terracotta));border-radius:var(--radius-lg) var(--radius-lg) 0 0}.reading-card h2{font-size:2rem;margin:.2rem 0 var(--space-md)}.reading-text{white-space:pre-line;color:#514239;line-height:1.8;font-size:var(--text-base)}.reading-actions{display:flex;flex-direction:column;gap:var(--space-md)}.reading-actions .btn-ghost{align-self:flex-start;margin-top:var(--space-md)}.focus-overlay{position:fixed;z-index:60;top:0;right:0;bottom:0;left:0;overflow:auto;padding:5rem var(--space-lg) var(--space-xl);background:var(--color-cream);animation:fadeIn .3s var(--ease-out) both}.focus-overlay .focus-header{text-align:center;color:var(--color-text-faint);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.05em;font-weight:600;max-width:850px;margin:0 auto var(--space-md);display:flex;justify-content:space-between;align-items:center}.focus-overlay .reading-card{max-width:850px;margin:0 auto;font-size:var(--text-md)}.prayer-layout{display:grid;gap:2.5rem;margin-top:var(--space-xl)}.subnav{display:flex;gap:.35rem;background:var(--color-cream-warm);padding:.3rem;border-radius:var(--radius-full);width:fit-content}.subnav button{border:0;background:none;color:var(--color-text-muted);padding:.6rem 1.1rem;cursor:pointer;border-radius:var(--radius-full);font-weight:500;font-size:.88rem;transition:background var(--duration-fast),color var(--duration-fast),box-shadow var(--duration-fast)}.subnav button.active{background:var(--color-surface);color:var(--color-terracotta);font-weight:700;box-shadow:var(--shadow-sm)}.terco-guide-img{max-width:100%;align-self:center;margin-left:auto;margin-right:auto;border-radius:var(--radius-lg)}.accordion{border-bottom:1px solid var(--color-border)}.accordion-trigger{width:100%;display:flex;justify-content:space-between;align-items:center;text-align:left;background:none;border:0;padding:1.1rem 0;cursor:pointer;color:var(--color-charcoal);font-weight:700;font-size:var(--text-base);gap:var(--space-md)}.accordion-trigger:hover{color:var(--color-terracotta)}.accordion-icon{flex-shrink:0;transition:transform var(--duration-fast) var(--ease-out);color:var(--color-text-muted)}.accordion.open .accordion-icon{transform:rotate(180deg)}.accordion-content{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--duration-mid) var(--ease-out),opacity .3s;opacity:0}.accordion-content>div{overflow:hidden}.accordion-body{color:var(--color-text-soft);line-height:1.7;padding-bottom:var(--space-md)}.accordion.open .accordion-content{grid-template-rows:1fr;opacity:1}.prayer-badge{font-size:var(--text-xs);font-weight:600;color:var(--color-text-faint);letter-spacing:.05em}.search{width:100%;padding:.85rem 1rem .85rem 2.8rem;border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-md);font-size:.95rem;outline:none;transition:border-color var(--duration-fast),box-shadow var(--duration-fast)}.search:focus{border-color:var(--color-terracotta);box-shadow:0 0 0 3px #b84a1314}.search-wrapper{position:relative}.search-icon{position:absolute;left:.9rem;top:50%;transform:translateY(-50%);color:var(--color-text-faint);pointer-events:none}.oracoes-page{padding-top:6.5rem}.oracoes-block{margin:var(--space-xl) 0}.oracoes-block h2{font-size:1.8rem;color:var(--color-charcoal);margin-bottom:var(--space-xs);font-family:var(--font-serif)}.oracoes-block p{color:var(--color-text-muted);margin-bottom:var(--space-lg)}.divider{border:0;height:1px;background:var(--color-border);margin:var(--space-2xl) 0}.mini-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md)}.mini-card{background:var(--color-surface);border:1px solid var(--color-border);border-left:4px solid var(--accent);padding:1.2rem;border-radius:var(--radius-md);font-size:1.1rem;font-weight:600;color:var(--color-charcoal);text-align:left;cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-sm)}.mini-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--accent)}.library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-md)}.library-card{background:var(--color-cream-warm);padding:1.5rem;border-radius:var(--radius-md);display:flex;flex-direction:column}.library-badge{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-faint);font-weight:700;margin-bottom:.5rem}.library-card h3{font-size:1.2rem;color:var(--color-terracotta-dark);margin-bottom:.8rem;font-family:var(--font-sans)}.library-card p{color:var(--color-text-soft);font-size:.95rem;line-height:1.6;white-space:pre-wrap;margin-bottom:0}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;justify-content:center;align-items:flex-start;padding-top:5vh;padding-bottom:5vh}.modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#2d241f99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:0}.modal-content.nordic-modal{position:relative;z-index:101;width:90%;max-width:650px;max-height:90vh;background:var(--color-surface);border-radius:var(--radius-lg);overflow-y:auto;border-top:6px solid var(--accent);box-shadow:0 20px 40px #00000026;display:flex;flex-direction:column}.modal-close{position:absolute;top:1rem;right:1rem;background:transparent;border:none;color:var(--color-text-muted);cursor:pointer;padding:.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .2s}.modal-close:hover{background:#0000000d;color:var(--color-charcoal)}.nordic-header{padding:2rem 2rem 1.5rem;text-align:center;border-bottom:1px solid var(--color-border)}.nordic-header h2{font-size:1.3rem;color:var(--color-text-faint);text-transform:uppercase;letter-spacing:.05em;font-family:var(--font-sans);margin-bottom:.5rem}.nordic-header h3{font-size:2.2rem;color:var(--accent);margin-bottom:.2rem;font-family:var(--font-serif)}.nordic-subtitle{color:var(--color-text-muted);font-size:.95rem}.nordic-body{padding:2rem}.nordic-mystery-section{margin-bottom:3rem;padding-bottom:3rem;border-bottom:1px dashed var(--color-border)}.nordic-mystery-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.nordic-mystery-title{font-size:1.6rem;color:var(--color-charcoal);margin-bottom:.5rem;font-family:var(--font-serif)}.nordic-meditation{color:var(--color-text-soft);font-style:italic;margin-bottom:2rem}.nordic-prayer-block{background:var(--color-cream-warm);padding:1.5rem;border-radius:var(--radius-md)}.nordic-our-father,.nordic-glory{font-size:1rem;line-height:1.6;color:var(--color-text);margin-bottom:1.5rem}.nordic-ave-marias{display:flex;flex-direction:column;gap:1.2rem;margin-bottom:1.5rem}.nordic-ave-maria{font-size:1.05rem;line-height:1.6;color:var(--color-text);padding-left:1.5rem;position:relative}.nordic-bead-number{position:absolute;left:0;color:var(--color-text-faint);font-size:.85rem;font-weight:700}.nordic-clause{color:var(--accent);font-weight:600}.faq-categories{display:flex;gap:.5rem;flex-wrap:wrap;margin:var(--space-lg) 0}.category{border:0;border-radius:var(--radius-full);padding:.55rem .9rem;background:var(--color-cream-warm);color:#75523e;cursor:pointer;font-weight:500;font-size:var(--text-sm);transition:background var(--duration-fast),color var(--duration-fast),transform var(--duration-fast)}.category:hover{background:var(--color-cream-dark);transform:translateY(-1px)}.category.active{background:var(--color-terracotta);color:#fff}.faq-item{background:var(--color-surface);border-radius:var(--radius-lg);margin-bottom:.6rem;overflow:hidden;transition:box-shadow var(--duration-fast)}.faq-item:hover{box-shadow:var(--shadow-sm)}.faq-item .accordion-trigger{padding:var(--space-md) 1.2rem}.faq-item .accordion-body{padding:0 1.2rem var(--space-md)}.faq-item .accordion{border-bottom:none}.faq-category-label{display:block;font-size:var(--text-xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--color-terracotta);margin-bottom:.15rem}.feedback{position:fixed;z-index:30;right:var(--space-md);bottom:var(--space-md)}.feedback .btn{box-shadow:var(--shadow-glow);font-size:.85rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:grid;place-items:center;padding:var(--space-md);background:#2d241f73;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:fadeIn .25s var(--ease-out) both}.modal-box{width:min(100%,480px);border-radius:var(--radius-lg);padding:var(--space-lg);background:var(--color-cream);animation:scaleIn .3s var(--ease-spring) both}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-md)}.modal-box textarea{width:100%;min-height:130px;padding:.8rem;border:1px solid var(--color-border);border-radius:var(--radius-md);resize:vertical;background:var(--color-surface);outline:none;transition:border-color var(--duration-fast)}.modal-box textarea:focus{border-color:var(--color-terracotta)}.modal-actions{margin-top:var(--space-md)}.footer{margin-top:auto;padding:var(--space-3xl) var(--space-md) var(--space-xl);background:var(--color-cream-warm);border-top:1px solid var(--color-border)}.footer-inner{width:min(1120px,calc(100% - 2rem));margin:0 auto}.footer-grid{display:grid;grid-template-columns:1fr;gap:2rem;margin-bottom:var(--space-2xl)}@media(min-width:768px){.footer-grid{grid-template-columns:1.6fr 1fr 1.2fr;gap:3rem}}.footer-col{display:flex;flex-direction:column;gap:.8rem}.footer-brand-header{display:flex;align-items:center;gap:.6rem}.footer-brand-icon{width:28px;height:28px;object-fit:contain}.footer-brand-name{font-family:var(--font-serif);font-size:1.4rem;font-weight:700;color:#6c2e15}.footer-description{color:var(--color-text-muted);font-size:.88rem;line-height:1.6}.footer-col-title{font-family:var(--font-serif);font-size:1.1rem;font-weight:700;color:var(--color-charcoal);margin-bottom:.2rem}.footer-nav-list{display:flex;flex-direction:column;gap:.5rem}.footer-nav-list a{color:var(--color-text-muted);font-size:.88rem;transition:color var(--duration-fast)}.footer-nav-list a:hover{color:var(--color-terracotta)}.footer-info-text{color:var(--color-text-muted);font-size:.88rem;line-height:1.5}.footer-contact{margin-top:.4rem}.github-contact-btn{display:inline-flex;align-items:center;gap:.5rem;background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-charcoal);padding:.55rem .95rem;border-radius:var(--radius-full);font-size:.82rem;font-weight:600;text-decoration:none;transition:all var(--duration-fast);box-shadow:var(--shadow-sm)}.github-contact-btn:hover{background:var(--color-charcoal);color:#fff;border-color:var(--color-charcoal);box-shadow:var(--shadow-md)}.footer-bottom{border-top:1px solid var(--color-border-soft);padding-top:var(--space-lg);text-align:center}.footer-divider{display:flex;align-items:center;justify-content:center;margin-bottom:.8rem;color:var(--color-terracotta);opacity:.6}.footer-copy{color:var(--color-text-pale);font-size:var(--text-xs)}.skeleton{border-radius:var(--radius-sm);min-height:1rem;background:linear-gradient(90deg,#f1e7dc 25%,#fbf6ef,#f1e7dc 75%);background-size:200% 100%;animation:shimmer 1.4s infinite}.skeleton.large{height:280px;border-radius:var(--radius-lg)}@keyframes pageIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{to{background-position:-200% 0}}@media(min-width:768px){.page{width:min(1120px,calc(100% - 4rem));padding-top:8rem}.desktop-nav{display:flex}.bottom-nav{display:none}.home-hero{grid-template-columns:1.05fr .95fr;gap:var(--space-3xl)}.hero-image{height:460px}.reflection{padding:var(--space-2xl)}.card-grid{grid-template-columns:repeat(2,1fr)}.mystery-card{grid-template-columns:1.15fr .85fr}.mystery-image{display:block}.prayer-layout{grid-template-columns:1fr 1fr;gap:var(--space-3xl)}.reading-actions{flex-direction:row;justify-content:space-between;align-items:flex-start}.reading-actions .reading-card{flex:1}.nav{height:4.5rem}}@media(min-width:1024px){.page{width:min(1120px,calc(100% - 5rem));padding-top:9rem}.home-hero{gap:5rem}.hero-image{height:500px}}.verse-of-the-day-card{position:relative;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-xl);box-shadow:var(--shadow-md);margin-top:var(--space-xl);transition:border-color var(--duration-fast),box-shadow var(--duration-fast)}.verse-of-the-day-card:hover{border-color:var(--color-border-soft);box-shadow:var(--shadow-lg)}.verse-card-header{display:flex;flex-direction:column;gap:var(--space-md);margin-bottom:var(--space-lg)}@media(min-width:640px){.verse-card-header{flex-direction:row;align-items:center;justify-content:space-between}}.verse-badge-container{display:flex;align-items:center;gap:.5rem}.verse-eyebrow{display:inline-flex;align-items:center;gap:.35rem;color:var(--color-terracotta);font-weight:600;letter-spacing:.08em;text-transform:uppercase;font-size:var(--text-xs)}.sparkle-icon{color:var(--color-gold)}.verse-info-wrapper{position:relative;display:inline-flex;align-items:center;cursor:pointer;color:var(--color-text-pale);transition:color var(--duration-fast)}.verse-info-wrapper:hover{color:var(--color-terracotta)}.info-icon{width:16px;height:16px}.verse-tooltip{position:absolute;top:calc(100% + 8px);left:0;width:260px;padding:.75rem .9rem;background:var(--color-charcoal);color:#fff;font-size:.78rem;line-height:1.45;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:50;pointer-events:none}.verse-search-wrapper{position:relative;width:100%;max-width:320px}.verse-search-input-box{display:flex;align-items:center;gap:.5rem;background:var(--color-cream-warm);border:1px solid var(--color-border);border-radius:var(--radius-full);padding:.4rem .85rem;transition:border-color var(--duration-fast),background var(--duration-fast)}.verse-search-input-box:focus-within{border-color:var(--color-terracotta);background:#fff}.search-icon{color:var(--color-text-pale);flex-shrink:0}.verse-search-input{border:none;background:transparent;outline:none;font-size:.83rem;color:var(--color-text);width:100%;font-family:var(--font-sans)}.verse-search-dropdown{position:absolute;top:calc(100% + 6px);left:0;right:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);max-height:240px;overflow-y:auto;z-index:40;list-style:none;margin:0;padding:.4rem 0}.search-item{padding:.55rem .85rem;cursor:pointer;display:flex;flex-direction:column;gap:.15rem;transition:background var(--duration-fast);border-bottom:1px solid var(--color-border-soft)}.search-item:last-child{border-bottom:none}.search-item:hover{background:var(--color-cream-warm)}.search-item-ref{font-size:.83rem;color:var(--color-terracotta);font-weight:600}.search-item-text{font-size:.75rem;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-status{padding:.75rem;font-size:.8rem;color:var(--color-text-muted);text-align:center}.verse-api-notice{display:flex;align-items:center;gap:.5rem;background:#fff7ed;border:1px solid #FFEDD5;color:#c2410c;padding:.4rem .75rem;border-radius:var(--radius-sm);font-size:.78rem;margin-bottom:1rem}.btn-retry{border:none;background:transparent;color:#c2410c;cursor:pointer;display:inline-flex;align-items:center;padding:.2rem}.verse-reference{font-family:var(--font-serif);font-size:clamp(1.4rem,3.5vw,1.9rem);font-weight:600;color:var(--color-charcoal);margin-bottom:.75rem}.verse-text{font-family:var(--font-serif);font-size:clamp(1.1rem,2.5vw,1.35rem);font-style:italic;line-height:1.6;color:var(--color-text-soft);margin:0 0 1.5rem;padding-left:1rem;border-left:3px solid var(--color-gold)}.verse-actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.btn-verse-action{display:inline-flex;align-items:center;gap:.45rem;padding:.5rem 1rem;border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-cream);color:var(--color-text-soft);font-size:.83rem;font-weight:500;cursor:pointer;transition:all var(--duration-fast)}.btn-verse-action:hover{background:var(--color-cream-warm);border-color:var(--color-terracotta);color:var(--color-terracotta)}.btn-verse-action.copied{background:#ecfdf5;border-color:#10b981;color:#047857}.btn-reflection-toggle.active{background:var(--color-cream-warm);border-color:var(--color-terracotta);color:var(--color-terracotta)}.verse-reflection-box{overflow:hidden}.verse-reflection-content{background:var(--color-cream-warm);border:1px dashed var(--color-border);border-radius:var(--radius-md);padding:1.25rem}.verse-reflection-content h4{font-family:var(--font-serif);font-size:1.1rem;color:var(--color-terracotta-dark);margin-bottom:.5rem}.verse-reflection-content p{font-size:.92rem;line-height:1.6;color:var(--color-text);margin:0}.verse-skeleton-body{padding:1.5rem 0}.daily-reading-section{margin-top:var(--space-2xl)}.daily-reading-header{display:flex;flex-direction:column;gap:var(--space-md);margin-bottom:var(--space-xl)}@media(min-width:768px){.daily-reading-header{flex-direction:row;align-items:flex-end;justify-content:space-between}}.gospel-link-badge{display:inline-flex;align-items:center;gap:.35rem;font-size:.85rem;font-weight:600;color:var(--color-terracotta);text-decoration:none;background:var(--color-cream-warm);border:1px solid var(--color-border);padding:.5rem .9rem;border-radius:var(--radius-full);transition:all var(--duration-fast);align-self:flex-start}.gospel-link-badge:hover{background:#fff;border-color:var(--color-terracotta);box-shadow:var(--shadow-sm);transform:translate(3px)}.daily-reading-intro{max-width:46rem;margin:0 0 var(--space-xl);color:var(--color-text-muted);font-size:.96rem;line-height:1.7}.reading-blocks-grid{display:grid;grid-template-columns:1fr;gap:var(--space-lg)}@media(min-width:768px){.reading-blocks-grid{grid-template-columns:repeat(3,1fr)}}.reading-block-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-lg);display:flex;flex-direction:column;box-shadow:var(--shadow-md);transition:all var(--duration-fast);position:relative}.reading-block-card:hover{border-color:var(--color-terracotta-light);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.reading-block-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.85rem}.reading-category-pill{display:inline-flex;align-items:center;gap:.4rem;background:var(--color-cream-warm);color:var(--color-terracotta-dark);font-size:.75rem;font-weight:600;padding:.3rem .65rem;border-radius:var(--radius-full);border:1px solid var(--color-border-soft);text-transform:uppercase;letter-spacing:.04em}.category-icon{color:var(--color-gold)}.reading-time-badge{display:inline-flex;align-items:center;gap:.3rem;font-size:.75rem;color:var(--color-text-muted);background:var(--color-cream);padding:.25rem .55rem;border-radius:var(--radius-sm)}.reading-block-ref{font-family:var(--font-serif);font-size:1.35rem;font-weight:600;color:var(--color-charcoal);margin-bottom:.6rem}.reading-block-text{font-family:var(--font-serif);font-size:1.2rem;line-height:1.55;color:var(--color-text);margin:0 0 1.25rem;flex:1}.reading-block-count{flex:none;font-size:var(--text-xs);font-weight:600;color:var(--color-text-muted)}.reading-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;max-width:44rem;margin:0 auto 1rem}.reading-steps button{display:flex;flex-direction:column;gap:.4rem;min-height:2.75rem;padding:0;border:0;background:none;text-align:left;font:inherit;font-size:var(--text-xs);font-weight:600;color:var(--color-text-muted);line-height:1.25;cursor:pointer}.reading-steps button span{height:4px;border-radius:var(--radius-full);background:var(--color-border);transition:background var(--duration-mid)}.reading-steps button.is-seen span{background:var(--color-terracotta)}.reading-steps button.is-active{color:var(--color-terracotta-dark);font-weight:700}.reading-steps button:hover{color:var(--color-terracotta-dark)}.reading-blocks-grid.reading-blocks-single{display:block;max-width:44rem;margin:0 auto}.reading-blocks-single .reading-block-card:hover{transform:none}.reading-blocks-single .reading-block-actions{flex-wrap:wrap;margin-top:auto}.btn.reading-next-btn{margin-left:auto;min-height:2.75rem;padding:.55rem 1.2rem;font-size:.88rem}.reading-finished{flex:1 1 14rem;margin:0;font-size:.85rem;color:var(--color-text-muted);text-align:right}@media(max-width:479px){.btn.reading-next-btn{flex:1 1 100%;margin-left:0}.reading-finished{text-align:left}}.block-interpretation{margin:0 0 1.1rem;background:var(--color-cream-warm);border:0;border-radius:var(--radius-lg);color:var(--color-text)}.block-interpretation-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem;border:0;border-radius:inherit;background:transparent;color:var(--color-terracotta-dark);cursor:pointer;text-align:left}.block-interpretation-toggle:focus-visible{outline:2px solid var(--color-terracotta);outline-offset:-3px}.block-interpretation-toggle strong{color:var(--color-terracotta-dark);font-family:var(--font-serif);font-size:1rem}.block-interpretation-toggle svg{flex:0 0 auto;transition:transform var(--duration-fast)}.block-interpretation-toggle svg.is-expanded{transform:rotate(180deg)}.block-interpretation-content{max-height:0;opacity:0;overflow:hidden;transition:max-height .26s ease,opacity .18s ease}.block-interpretation.is-expanded .block-interpretation-content{max-height:20rem;opacity:1}.block-interpretation-content p{margin:-.1rem 0 0;padding:0 .85rem .85rem;font-size:.86rem;line-height:1.55}.reading-block-actions{display:flex;align-items:center;gap:.5rem}.btn-block-action{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .75rem;border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-cream);color:var(--color-text-soft);font-size:.78rem;font-weight:500;cursor:pointer;transition:all var(--duration-fast)}.btn-block-action:hover{background:var(--color-cream-warm);border-color:var(--color-terracotta);color:var(--color-terracotta)}.btn-block-action.copied{background:#ecfdf5;border-color:#10b981;color:#047857}.btn-block-action.active{background:var(--color-cream-warm);border-color:var(--color-terracotta);color:var(--color-terracotta)}.block-reflection-box{overflow:hidden}.block-reflection-inner{background:var(--color-cream-warm);border:1px dashed var(--color-border);border-radius:var(--radius-md);padding:.85rem;font-size:.85rem;line-height:1.5;color:var(--color-text)}.block-reflection-inner p{margin:0}.gospel-banner-footer{margin-top:var(--space-2xl);background:linear-gradient(135deg,var(--color-cream-warm) 0%,var(--color-cream-light) 100%);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-md);align-items:flex-start}@media(min-width:768px){.gospel-banner-footer{flex-direction:row;align-items:center;justify-content:space-between}}.gospel-banner-content{display:flex;align-items:center;gap:1rem}.gospel-banner-icon{color:var(--color-terracotta);flex-shrink:0}.gospel-banner-content strong{display:block;font-family:var(--font-serif);font-size:1.1rem;color:var(--color-charcoal);margin-bottom:.15rem}.gospel-banner-content p{font-size:.85rem;color:var(--color-text-muted);margin:0}.btn-gospel-banner{display:inline-flex;align-items:center;gap:.4rem;background:var(--color-terracotta);color:#fff;font-size:.85rem;padding:.6rem 1.1rem;border-radius:var(--radius-full);text-decoration:none;font-weight:500;transition:all var(--duration-fast);white-space:nowrap}.btn-gospel-banner:hover{background:var(--color-terracotta-dark);box-shadow:var(--shadow-glow)}.reading-card-skeleton{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-lg)}.btn-read-more-inline{background:transparent;border:none;color:var(--color-terracotta);font-weight:600;font-size:.85rem;font-family:var(--font-sans);cursor:pointer;padding:0 .2rem;transition:opacity var(--duration-fast)}.btn-read-more-inline:hover{text-decoration:underline;opacity:.85}.subnav-segmented{display:flex;background:var(--color-cream-warm);padding:.35rem;border-radius:var(--radius-full);gap:.25rem;margin:1.5rem auto 2.5rem;width:min(100%,540px);box-shadow:inset 0 1px 3px #0000000a}.subnav-segmented button{flex:1;border:none;background:transparent;padding:.7rem .6rem;border-radius:var(--radius-full);font-size:clamp(.8rem,2.5vw,.92rem);font-weight:500;color:var(--color-text-muted);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);text-align:center;white-space:nowrap}.subnav-segmented button.active{background:var(--color-surface);color:var(--color-terracotta);font-weight:700;box-shadow:0 2px 10px #5e3b2414}@media(max-width:560px){.subnav-segmented:has(>button:nth-child(4)){display:grid;grid-template-columns:repeat(2,1fr);border-radius:var(--radius-lg)}.subnav-segmented:has(>button:nth-child(4)) button{border-radius:var(--radius-md)}.subnav-segmented:has(>button:nth-child(5)){grid-template-columns:repeat(3,1fr)}}@media(max-width:380px){.subnav-segmented button{padding:.65rem .4rem;font-size:.8rem}}.rosary-guide-container{display:flex;flex-direction:column;gap:2rem}.rosary-header{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-xl);box-shadow:var(--shadow-sm);text-align:center}.rosary-title{font-family:var(--font-serif);font-size:clamp(1.6rem,4vw,2.2rem);color:var(--color-charcoal);margin-bottom:var(--space-sm)}.rosary-intro{color:var(--color-text-muted);max-width:680px;margin:0 auto;font-size:.95rem;line-height:1.6}.section-subtitle-wrapper{display:flex;align-items:center;gap:.5rem;color:var(--color-terracotta);margin-bottom:.3rem}.mysteries-heading,.timeline-heading{font-family:var(--font-serif);font-size:1.35rem;color:var(--color-charcoal)}.mysteries-subtext,.timeline-subtext{font-size:.88rem;color:var(--color-text-pale);margin-bottom:1.2rem}.rosary-mysteries-selector-section{display:flex;flex-direction:column;gap:1rem}.selector-top-info{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem}.today-badge{display:inline-flex;align-items:center;gap:.4rem;background:var(--color-cream-warm);color:var(--color-terracotta);font-size:.78rem;font-weight:600;padding:.3rem .7rem;border-radius:var(--radius-full);border:1px solid var(--color-border)}.mystery-buttons-pill{display:flex;gap:.4rem;overflow-x:auto;padding-bottom:.4rem;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.mystery-tab-btn{flex:1;min-width:140px;background:var(--color-surface);border:1px solid var(--color-border);padding:.65rem .8rem;border-radius:var(--radius-md);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.4rem;font-size:.85rem;font-weight:600;color:var(--color-text-muted);transition:all var(--duration-fast);white-space:nowrap}.mystery-tab-btn:hover{background:var(--bg, var(--color-cream-warm));color:var(--color-charcoal)}.mystery-tab-btn.active{background:var(--bg, var(--color-cream-warm));border-color:var(--accent, var(--color-terracotta));color:var(--color-charcoal);box-shadow:0 2px 8px #0000000d}.today-dot{width:6px;height:6px;border-radius:50%;background:var(--color-terracotta)}.active-mystery-banner{background:var(--bg-color, var(--color-surface));border:1px solid var(--color-border);border-left:4px solid var(--accent-color, var(--color-terracotta));border-radius:var(--radius-lg);padding:1.2rem;box-shadow:var(--shadow-sm)}.banner-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:.5rem;margin-bottom:.8rem;padding-bottom:.6rem;border-bottom:1px dashed var(--color-border)}.banner-title{font-family:var(--font-serif);font-size:1.2rem;color:var(--color-charcoal)}.banner-days{font-size:.8rem;color:var(--color-text-muted)}.btn-nordic-modal-trigger{background:var(--color-surface);border:1px solid var(--color-border);color:var(--accent-color, var(--color-terracotta));font-size:.78rem;font-weight:600;padding:.35rem .75rem;border-radius:var(--radius-full);cursor:pointer;display:flex;align-items:center;gap:.35rem;transition:all var(--duration-fast)}.btn-nordic-modal-trigger:hover{background:var(--accent-color, var(--color-terracotta));color:#fff}.banner-mysteries-list ol{display:flex;flex-direction:column;gap:.5rem;padding-left:1.2rem}.banner-mystery-item{font-size:.88rem;color:var(--color-text);line-height:1.5}.nordic-clause-highlight{margin-top:.2rem;font-size:.83rem;color:var(--color-text-muted);background:#fff9;padding:.25rem .5rem;border-radius:var(--radius-sm);display:inline-block}.clause-text{color:var(--color-terracotta)}.nordic-full-timeline{display:flex;flex-direction:column;gap:1.5rem}.nordic-mystery-block{background:var(--color-surface);border:1px solid var(--color-border);border-left:4px solid var(--accent, var(--color-terracotta));border-radius:var(--radius-lg);padding:1.4rem;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:1rem}.nordic-mystery-header{border-bottom:1px solid var(--color-border-soft);padding-bottom:.8rem}.mystery-badge-number{display:inline-block;background:var(--color-cream-warm);color:var(--color-terracotta);font-size:.75rem;font-weight:700;padding:.2rem .6rem;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.4rem}.nordic-mystery-title{font-family:var(--font-serif);font-size:1.25rem;color:var(--color-charcoal);margin-bottom:.2rem}.nordic-meditation-text{font-size:.9rem;color:var(--color-text-muted)}.nordic-step-sequence{display:flex;flex-direction:column;gap:1rem}.nordic-substep{background:var(--color-cream);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1rem;display:flex;flex-direction:column;gap:.4rem}.substep-label{font-size:.72rem;font-weight:700;color:var(--color-text-pale);text-transform:uppercase;letter-spacing:.03em}.substep-title{font-family:var(--font-serif);font-size:1.05rem;color:var(--color-charcoal)}.substep-text{font-size:.88rem;color:var(--color-text-muted);line-height:1.55}.nordic-ave-marias-list{display:flex;flex-direction:column;gap:.6rem;margin-top:.4rem}.nordic-ave-maria-item{display:flex;gap:.5rem;background:var(--color-surface);border:1px solid var(--color-border-soft);padding:.6rem .8rem;border-radius:var(--radius-sm);font-size:.86rem;line-height:1.5}.ave-num{font-weight:700;color:var(--color-terracotta);flex-shrink:0}.clause-highlight{color:var(--color-terracotta);background:var(--color-cream-warm);padding:.1rem .35rem;border-radius:3px;font-weight:700}.rosary-steps-timeline{display:flex;flex-direction:column;gap:1rem;position:relative}.rosary-step-card{display:flex;gap:1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.2rem;box-shadow:var(--shadow-sm);transition:border-color var(--duration-fast)}.rosary-step-card.is-open{border-color:var(--color-terracotta-light)}.step-bead-indicator{display:flex;flex-direction:column;align-items:center;flex-shrink:0}.bead-number{width:32px;height:32px;border-radius:50%;background:var(--color-cream-warm);color:var(--color-terracotta);font-weight:700;font-size:.88rem;display:flex;align-items:center;justify-content:center;border:1px solid var(--color-border)}.bead-line{width:2px;flex:1;background:var(--color-border);margin-top:.4rem;border-radius:2px}.step-main-content{flex:1;display:flex;flex-direction:column;gap:.3rem}.step-tags{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.bead-tag{background:var(--color-cream-warm);color:var(--color-charcoal);font-size:.72rem;font-weight:700;padding:.2rem .55rem;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.03em}.action-tag{background:var(--color-cream-light);color:var(--color-terracotta);border:1px solid var(--color-border);font-size:.72rem;font-weight:600;padding:.18rem .5rem;border-radius:var(--radius-sm)}.step-action-title{font-family:var(--font-serif);font-size:1.15rem;color:var(--color-charcoal);margin-top:.2rem}.step-summary{font-size:.88rem;color:var(--color-text-muted);line-height:1.5}.step-expand-wrapper{margin-top:.6rem}.step-expand-btn{background:transparent;border:none;color:var(--color-terracotta);font-size:.82rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.3rem;padding:.2rem 0}.step-expand-btn .arrow-icon{transition:transform var(--duration-fast)}.step-expand-btn .arrow-icon.rotated{transform:rotate(180deg)}.step-prayer-box{overflow:hidden;margin-top:.6rem}.prayer-full-text{background:var(--color-cream);border-left:3px solid var(--color-terracotta);padding:.8rem 1rem;border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-size:.88rem;color:var(--color-text);white-space:pre-wrap;line-height:1.6}.rosary-visual-guide{text-align:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:1.5rem;margin-top:1rem}.rosary-visual-guide h4{font-family:var(--font-serif);font-size:1.2rem;margin-bottom:1rem;color:var(--color-charcoal)}.prayers-accordion-list{display:flex;flex-direction:column;gap:.5rem;margin-top:1.5rem}.nav-actions{display:flex;align-items:center;gap:.25rem}.season-chip{--chip: var(--liturgical-verde);--chip-text: #3D5E42;display:inline-flex;align-items:center;gap:.4rem;min-height:2rem;padding:0 .7rem;margin-right:.25rem;border-radius:var(--radius-full);background:color-mix(in srgb,var(--chip) 14%,var(--color-surface));color:var(--chip-text);font-size:.75rem;font-weight:600;white-space:nowrap;transition:background var(--duration-fast)}.season-chip:hover{background:color-mix(in srgb,var(--chip) 24%,var(--color-surface))}.season-chip-dot{width:.5rem;height:.5rem;border-radius:50%;background:var(--chip)}.season-chip-roxo{--chip: var(--liturgical-roxo);--chip-text: #5A3F61}.season-chip-vermelho{--chip: var(--liturgical-vermelho);--chip-text: #8A3730}.season-chip-branco{--chip: var(--color-gold);--chip-text: var(--color-gold-text)}:root[data-theme=dark] .season-chip{--chip-text: #B9D3BC}:root[data-theme=dark] .season-chip-roxo{--chip-text: #D2BCD8}:root[data-theme=dark] .season-chip-vermelho{--chip-text: #EBB3AC}:root[data-theme=dark] .season-chip-branco{--chip-text: var(--color-gold-text)}.season-chip-short{display:none}@media(max-width:479px){.season-chip{padding:0 .6rem;margin-right:0}.season-chip-full{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.season-chip-short{display:inline}}@media(max-width:339px){.season-chip-short{display:none}}.header-icon-link{display:grid;place-items:center;width:2.75rem;height:2.75rem;border-radius:50%;color:var(--color-text-muted);transition:color var(--duration-fast),background var(--duration-fast)}.header-icon-link:hover,.header-icon-link.active{color:var(--color-terracotta);background:color-mix(in srgb,var(--color-terracotta) 10%,transparent)}@media(min-width:768px){.header-icon-link{display:none}}.theme-toggle{display:grid;place-items:center;width:2.4rem;height:2.4rem;border-radius:50%;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-terracotta);cursor:pointer;transition:background var(--duration-fast),transform var(--duration-fast)}.theme-toggle:hover{background:var(--color-cream-warm);transform:rotate(-12deg)}.theme-toggle{--toggle-light: #C8963E;--toggle-glow: #E8C46A;--toggle-cross: #B5862F;transition:background .4s ease,border-color .4s ease,transform var(--duration-fast)}.theme-icon{overflow:visible}.theme-icon line,.theme-icon path{fill:none;stroke-linecap:round}.theme-icon-rays line{stroke:var(--toggle-glow);stroke-width:1.3}.theme-icon-body{fill:var(--toggle-light);transition:fill .4s ease}.theme-icon-host-cross{stroke:color-mix(in srgb,var(--toggle-light) 55%,#fff);stroke-width:1.1}.theme-icon-cross{stroke:var(--toggle-cross);stroke-width:1.5}.theme-icon-star{stroke:var(--toggle-glow);stroke-width:.9}:root[data-theme=dark] .theme-toggle{--toggle-light: #E9D9AA;--toggle-glow: #F1E3B8;--toggle-cross: #D4A84F;background:#1b2440;border-color:#33406a}:root[data-theme=dark] .theme-toggle:hover{background:#232e52}@media(min-width:768px)and (max-width:1099px){.desktop-nav{gap:.9rem;font-size:.8rem}.brand-mark{width:3rem;height:3rem}}@media(min-width:768px){.nav-actions{margin-left:1rem}}.mystery-announcements{margin-top:.6rem;padding:.9rem 1rem;border-radius:var(--radius-md);border:1px solid var(--color-border);border-left:4px solid var(--accent, var(--color-terracotta));background:color-mix(in srgb,var(--accent, var(--color-terracotta)) 9%,var(--color-surface))}.mystery-announcements-title{font-size:.88rem;color:var(--color-text);margin-bottom:.6rem}.mystery-announcements ol{display:flex;flex-direction:column;gap:.45rem}.mystery-announcements li{display:flex;flex-direction:column;gap:.05rem;font-size:.88rem;line-height:1.5;color:var(--color-text-soft);font-style:italic}.announcement-number{font-style:normal;font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-pale)}.mystery-announcements-tip{margin-top:.7rem;padding-top:.6rem;border-top:1px dashed var(--color-border);font-size:.84rem;color:var(--color-text-soft)}.nordic-decades-toolbar{display:flex;justify-content:space-between;align-items:center;gap:.5rem;flex-wrap:wrap;font-size:.85rem;font-weight:600;color:var(--color-text-muted);padding:0 .2rem}.nordic-mystery-block{gap:0}.nordic-mystery-block.is-open .nordic-mystery-toggle{border-bottom:1px solid var(--color-border-soft);padding-bottom:.8rem;margin-bottom:1rem}.nordic-mystery-toggle{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;width:100%;text-align:left;background:none;border:none;padding:0;cursor:pointer;color:inherit}.nordic-mystery-toggle .arrow-icon{flex-shrink:0;margin-top:.3rem;color:var(--accent, var(--color-terracotta));transition:transform var(--duration-fast)}.arrow-icon.rotated{transform:rotate(180deg)}.nordic-mystery-header-text{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem}.nordic-mystery-header-text .nordic-mystery-title{display:block}.nordic-clause-preview{font-size:.8rem;font-style:italic;color:var(--accent, var(--color-terracotta));margin-top:.2rem}.closing-prayers{display:flex;flex-direction:column}.closing-prayers .section-subtitle-wrapper{margin-bottom:.2rem}.closing-prayers-list{display:flex;flex-direction:column;gap:.6rem}.closing-prayer-item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:border-color var(--duration-fast)}.closing-prayer-item.is-open{border-color:var(--color-terracotta-light)}.closing-prayer-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;background:none;border:none;cursor:pointer;text-align:left;color:var(--color-charcoal)}.closing-prayer-trigger>span{display:flex;flex-direction:column;gap:.15rem}.closing-prayer-trigger strong{font-family:var(--font-serif);font-size:1.1rem}.closing-prayer-trigger small{font-size:.8rem;color:var(--color-text-muted)}.closing-prayer-trigger .arrow-icon{flex-shrink:0;color:var(--color-terracotta);transition:transform var(--duration-fast)}.closing-prayer-text{margin:0 1.1rem 1.1rem}.sao-bento-card{background:var(--color-surface);border:1px solid var(--color-border);border-top:4px solid var(--color-gold);border-radius:var(--radius-xl);padding:var(--space-lg);box-shadow:var(--shadow-md);margin-bottom:var(--space-xl)}.sao-bento-header{display:flex;align-items:center;gap:.9rem;margin-bottom:.8rem}.sao-bento-icon{display:grid;place-items:center;flex-shrink:0}.sao-bento-medal{display:block;filter:drop-shadow(0 4px 8px rgba(60,36,12,.3));transition:transform .5s var(--ease-spring)}.sao-bento-card:hover .sao-bento-medal{transform:rotate(-8deg)}.sao-bento-title{font-size:clamp(1.6rem,4vw,2.1rem);margin-top:.2rem}.sao-bento-intro{color:var(--color-text-muted);line-height:1.7;font-size:.95rem;max-width:48rem}.sao-bento-toggle{display:inline-flex;gap:.25rem;margin:1.2rem 0 1rem;padding:.3rem;border-radius:var(--radius-full);background:var(--color-cream-warm)}.sao-bento-toggle button{border:none;background:transparent;border-radius:var(--radius-full);padding:.45rem .9rem;font-size:.82rem;font-weight:500;color:var(--color-text-muted);cursor:pointer}.sao-bento-toggle button.active{background:var(--color-surface);color:var(--color-terracotta);font-weight:700;box-shadow:var(--shadow-sm)}.sao-bento-prayer{display:flex;flex-direction:column;gap:.55rem;padding:1rem 1.1rem;background:var(--color-cream);border-left:3px solid var(--color-gold);border-radius:0 var(--radius-md) var(--radius-md) 0}.sao-bento-line{display:grid;grid-template-columns:6.2rem 1fr;align-items:baseline;gap:.2rem .8rem;font-family:var(--font-serif);font-size:1.15rem;line-height:1.45;color:var(--color-text)}.sao-bento-prayer.view-both .sao-bento-line{grid-template-columns:6.2rem 1fr 1fr}.sao-bento-latin{font-style:italic;color:var(--color-terracotta-dark)}.sao-bento-abbr{font-family:var(--font-sans);font-size:.72rem;font-weight:700;letter-spacing:.06em;color:var(--color-text-pale)}@media(max-width:639px){.sao-bento-line,.sao-bento-prayer.view-both .sao-bento-line{grid-template-columns:1fr}}.sao-bento-more{margin-top:1rem}.sao-bento-details{padding-top:.6rem}.sao-bento-details h3{font-size:1.25rem;margin:1rem 0 .4rem}.sao-bento-details p{color:var(--color-text-soft);font-size:.92rem;line-height:1.7}.sao-bento-inscriptions{display:flex;flex-direction:column;gap:.45rem;margin-bottom:.7rem;font-size:.9rem;color:var(--color-text-soft)}.sao-bento-inscriptions li{display:grid;grid-template-columns:5.5rem 1fr;gap:.6rem;align-items:baseline}.liturgy-dialogue{display:flex;flex-direction:column;gap:.7rem;margin-bottom:1.4rem;padding:.9rem 1rem;border-radius:var(--radius-md);background:var(--color-cream-warm);color:var(--color-text);line-height:1.6}.liturgy-label{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--liturgical-color, var(--color-terracotta))}.liturgy-acclamation{font-family:var(--font-serif);font-size:1.3rem;font-weight:600;font-style:italic;color:var(--color-charcoal)}.liturgy-response{margin-top:1.5rem}.psalm-text{display:flex;flex-direction:column;gap:.9rem}.psalm-stanza{display:flex;flex-direction:column;gap:.5rem}.psalm-refrain{font-weight:600;font-style:italic;color:var(--color-charcoal);line-height:1.6;padding-left:.8rem;border-left:3px solid var(--liturgical-color, var(--color-terracotta))}.psalm-r{font-style:normal;font-weight:800;color:var(--liturgical-color, var(--color-terracotta))}.liturgy-source{display:block;margin:2rem 0 1rem;text-align:center;font-size:.9rem;color:var(--color-text-muted)}.reading-day-nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.8rem;margin-bottom:1rem}.reading-day-controls,.reading-journey{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.reading-day-picker{position:relative;display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .9rem;border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-charcoal);font-size:.85rem;font-weight:600;cursor:pointer}.reading-day-label:first-letter{text-transform:uppercase}.reading-day-picker input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer;width:100%}.reading-day-picker:focus-within{border-color:var(--color-terracotta);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-terracotta) 15%,transparent)}.reading-journey-badge{font-size:.78rem;font-weight:700;color:var(--color-terracotta);background:var(--color-cream-warm);border:1px solid var(--color-border);padding:.3rem .7rem;border-radius:var(--radius-full)}.reading-journey-confirm{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.82rem;color:var(--color-text-soft)}.reading-journey-note{font-size:.82rem;color:var(--color-text-muted);margin-bottom:1rem}.reading-not-found{display:flex;flex-direction:column;align-items:flex-start;gap:.6rem;padding:1.5rem;border:1px dashed var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-muted)}.reading-blocks-grid{align-items:start}.reading-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:var(--space-md);background:#17120f8c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.reading-modal{display:flex;flex-direction:column;width:min(100%,680px);max-height:min(88vh,900px);background:var(--color-surface);border:1px solid var(--color-border);border-top:4px solid var(--color-gold);border-radius:var(--radius-xl);box-shadow:0 24px 60px #0000004d}.reading-modal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.3rem 1.4rem .8rem;border-bottom:1px solid var(--color-border-soft)}.reading-modal-title{font-size:clamp(1.5rem,4vw,2rem);margin-top:.3rem}.reading-modal-body{overflow-y:auto;padding:1.2rem 1.4rem}.reading-modal-text{white-space:pre-line;font-family:var(--font-serif);font-size:1.15rem;line-height:1.75;color:var(--color-text)}.reading-modal-interpretation{margin-top:1.4rem;padding:1rem 1.1rem;border-radius:var(--radius-md);border:1px dashed var(--color-border);background:var(--color-cream-warm)}.reading-modal-interpretation strong{display:block;font-family:var(--font-serif);font-size:1.05rem;color:var(--color-terracotta-dark);margin-bottom:.4rem}.reading-modal-interpretation p{font-size:.92rem;line-height:1.6;color:var(--color-text)}.reading-modal-footer{display:flex;justify-content:flex-end;gap:.5rem;padding:.9rem 1.4rem 1.2rem;border-top:1px solid var(--color-border-soft)}.block-interpretation-pending{margin:0 0 1.1rem;font-size:.82rem;font-style:italic;color:var(--color-text-muted)}.calendar-icon-btn{display:grid;place-items:center;width:2.2rem;height:2.2rem;border-radius:50%;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-soft);cursor:pointer;transition:background var(--duration-fast),color var(--duration-fast)}.calendar-icon-btn:hover:not(:disabled){background:var(--color-cream-warm);color:var(--color-terracotta)}.calendar-icon-btn:disabled{opacity:.4;cursor:not-allowed}.calendar-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-top:1.5rem}.calendar-year-nav{display:flex;align-items:center;gap:.6rem}.calendar-year{font-family:var(--font-serif);font-size:1.8rem;color:var(--color-charcoal);min-width:4.2rem;text-align:center}.calendar-search{flex:1;min-width:min(100%,260px)}.calendar-clear-search{position:absolute;right:.6rem;top:50%;transform:translateY(-50%);display:grid;place-items:center;border:none;background:none;color:var(--color-text-faint);cursor:pointer;padding:.2rem}.calendar-legend{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.2rem 0 1.5rem}.calendar-legend-item{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .85rem;border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);font-size:.82rem;font-weight:500;cursor:pointer;opacity:.55;transition:opacity var(--duration-fast),border-color var(--duration-fast),background var(--duration-fast)}.calendar-legend-item.active{opacity:1;color:var(--color-charcoal);border-color:var(--type-color);background:color-mix(in srgb,var(--type-color) 12%,var(--color-surface))}.calendar-legend-dot{width:.7rem;height:.7rem;border-radius:50%;background:var(--type-color)}.calendar-legend-reset{border:none;background:none;color:var(--color-terracotta);font-size:.82rem;font-weight:600;cursor:pointer;text-decoration:underline}.calendar-results,.calendar-day-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:1.2rem 1.3rem;box-shadow:var(--shadow-sm);margin-bottom:1.2rem}.calendar-day-panel-head{display:flex;align-items:center;gap:.5rem;color:var(--color-terracotta)}.calendar-panel-title{font-size:1.35rem;color:var(--color-charcoal)}.calendar-panel-title:first-letter{text-transform:uppercase}.calendar-season{font-size:.8rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-pale);margin:.3rem 0 .8rem}.calendar-empty{color:var(--color-text-muted);font-size:.9rem}.calendar-day-events{display:flex;flex-direction:column;gap:.8rem}.calendar-day-events li{display:flex;flex-direction:column;gap:.3rem}.calendar-day-events strong{font-family:var(--font-serif);font-size:1.15rem;color:var(--color-charcoal)}.calendar-day-events p{font-size:.85rem;color:var(--color-text-muted)}.calendar-type-badges{display:flex;flex-wrap:wrap;gap:.3rem}.calendar-type-badge{font-size:.68rem;font-weight:700;letter-spacing:.03em;padding:.15rem .5rem;border-radius:var(--radius-full);color:var(--color-charcoal);background:color-mix(in srgb,var(--type-color) 18%,var(--color-surface));border:1px solid color-mix(in srgb,var(--type-color) 45%,transparent)}.calendar-results-list{display:flex;flex-direction:column;gap:.4rem;margin-top:.8rem;max-height:320px;overflow-y:auto}.calendar-result{width:100%;display:grid;grid-template-columns:7.5rem 1fr;gap:.2rem .8rem;align-items:center;padding:.6rem .8rem;border-radius:var(--radius-md);border:1px solid transparent;background:var(--color-cream);text-align:left;cursor:pointer;color:var(--color-text)}.calendar-result:hover,.calendar-result.active{border-color:var(--color-terracotta-light)}.calendar-result-date{display:inline-block;font-size:.8rem;font-weight:700;color:var(--color-terracotta)}.calendar-result-date:first-letter{text-transform:uppercase}.calendar-result-name{font-weight:600}.calendar-result .calendar-type-badges{grid-column:2}@media(max-width:539px){.calendar-result{grid-template-columns:1fr}.calendar-result .calendar-type-badges{grid-column:1}}.calendar-grid{display:grid;grid-template-columns:1fr;gap:1rem}@media(min-width:560px){.calendar-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:900px){.calendar-grid{grid-template-columns:repeat(3,1fr)}}@media(min-width:1100px){.calendar-grid{grid-template-columns:repeat(4,1fr)}}.calendar-month{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:.9rem;box-shadow:var(--shadow-sm)}.calendar-month-title{font-size:1.25rem;margin-bottom:.6rem;color:var(--color-charcoal)}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.calendar-weekdays span{text-align:center;font-size:.68rem;font-weight:700;color:var(--color-text-pale);padding-bottom:.3rem}.calendar-day{position:relative;aspect-ratio:1;display:grid;place-items:center;border-radius:8px;border:1px solid transparent;background:none;font-size:.8rem;color:var(--color-text-soft);cursor:pointer;transition:background var(--duration-fast),opacity var(--duration-fast)}.calendar-day:hover{background:var(--color-cream-warm)}.calendar-day.is-marked{font-weight:700;color:var(--color-charcoal);background:color-mix(in srgb,var(--type-color) 22%,var(--color-surface));border-color:color-mix(in srgb,var(--type-color) 55%,transparent)}.calendar-day.is-precept{font-weight:700;color:var(--color-charcoal)}.calendar-day.is-precept .calendar-day-number{transform:translateY(3px)}.calendar-day-cross{position:absolute;top:1px;left:50%;transform:translate(-50%);font-size:.72rem;font-weight:700;line-height:1;color:var(--color-text-soft)}.calendar-day.is-today{box-shadow:0 0 0 2px var(--color-gold)}.calendar-day.is-selected{outline:2px solid var(--color-charcoal);outline-offset:1px}.calendar-day.is-dimmed{opacity:.3}.calendar-day-dots{position:absolute;bottom:1px;left:50%;transform:translate(-50%);display:flex;gap:2px}.calendar-day-dots span{width:4px;height:4px;border-radius:50%}.calendar-footnote{margin-top:1.5rem;font-size:.8rem;color:var(--color-text-muted);line-height:1.6}:root[data-theme=dark]{color-scheme:dark;--color-cream: #17120F;--color-cream-warm: #251D18;--color-cream-light: #1C1612;--color-cream-dark: #33281F;--color-terracotta: #E58A55;--color-terracotta-dark: #F2A473;--color-terracotta-light: #C96A35;--color-gold: #D9AE5C;--color-gold-light: #E3BD72;--color-gold-muted: #C9A15A;--color-gold-text: #E3BD72;--color-charcoal: #F3E9DE;--color-text: #E6DAD0;--color-text-muted: #BBA99A;--color-border: #3A2E26;--color-border-soft: #30261F;--color-surface: #201914;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .25);--shadow-md: 0 6px 18px rgba(0, 0, 0, .3);--shadow-lg: 0 14px 25px rgba(0, 0, 0, .35);--shadow-xl: 0 9px 22px rgba(0, 0, 0, .4);--shadow-glow: 0 5px 20px rgba(0, 0, 0, .45)}body{transition:background var(--duration-mid),color var(--duration-mid)}:root[data-theme=dark] .btn,:root[data-theme=dark] .category.active,:root[data-theme=dark] .btn-gospel-banner{background:#b84a13;color:#fff7ef}:root[data-theme=dark] .btn:hover,:root[data-theme=dark] .btn-gospel-banner:hover{background:#cf5e24}:root[data-theme=dark] .btn-ghost,:root[data-theme=dark] .mystery-card .btn{background:var(--color-cream-warm);color:var(--color-text)}:root[data-theme=dark] .site-header{background:#17120fe0}:root[data-theme=dark] .bottom-nav{background:#17120ff0}:root[data-theme=dark] .brand,:root[data-theme=dark] .footer-brand-name{color:var(--color-terracotta)}:root[data-theme=dark] .reflection blockquote,:root[data-theme=dark] .reading-text{color:var(--color-text)}:root[data-theme=dark] .tab{color:var(--color-text-muted)}:root[data-theme=dark] .tab:hover{background:#ffffff0d}:root[data-theme=dark] .category{color:var(--color-text-soft)}:root[data-theme=dark] .modal-close:hover{background:#ffffff0f}:root[data-theme=dark] .skeleton{background:linear-gradient(90deg,#241c17 25%,#2f251e,#241c17 75%);background-size:200% 100%}:root[data-theme=dark] .verse-api-notice{background:#2b1d12;border-color:#4a2e17;color:#f2a46b}:root[data-theme=dark] .btn-retry{color:#f2a46b}:root[data-theme=dark] .btn-verse-action.copied,:root[data-theme=dark] .btn-block-action.copied{background:#0f2a20;border-color:#10b981;color:#6ee7b7}:root[data-theme=dark] .gospel-link-badge:hover,:root[data-theme=dark] .verse-search-input-box:focus-within{background:var(--color-surface)}:root[data-theme=dark] .nordic-clause-highlight{background:#ffffff0f}:root[data-theme=dark] .github-contact-btn:hover,:root[data-theme=dark] .verse-tooltip{color:var(--color-cream)}:root[data-theme=dark] .mystery-tab-btn:hover,:root[data-theme=dark] .mystery-tab-btn.active{background:color-mix(in srgb,var(--accent) 18%,var(--color-surface))}:root[data-theme=dark] .mystery-card{--bg-soft: color-mix(in srgb, var(--accent) 14%, var(--color-surface))}.reading-card .reading-eyebrow{color:var(--liturgical-color)}:root[data-theme=dark] .reading-card .reading-eyebrow{color:color-mix(in srgb,var(--liturgical-color) 55%,#fff)}:root[data-theme=dark] .hero-image img,:root[data-theme=dark] .terco-guide-img{filter:saturate(.8) brightness(.88)}.mass-intro{max-width:46rem;margin-bottom:1.8rem}.mass-intro-title{font-size:clamp(1.6rem,4vw,2.2rem);margin-bottom:.6rem}.mass-intro p{color:var(--color-text-muted);line-height:1.7}.mass-gestures-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}@media(min-width:720px){.mass-gestures-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1080px){.mass-gestures-grid{grid-template-columns:repeat(3,1fr)}}.mass-gesture-card{display:flex;flex-direction:column;border-radius:var(--radius-xl);overflow:hidden;background:linear-gradient(180deg,#162a44,#0f1d31);border:1px solid rgba(212,163,69,.45);box-shadow:var(--shadow-lg);color:#ede6da}.mass-gesture-body{display:flex;flex-direction:column;flex:1;padding:1.3rem 1.2rem 1.4rem}.mass-gesture-body h3{font-size:1.7rem;color:#fff8ec}.mass-gesture-description{font-size:.88rem;color:#c9c1b4;margin-top:.35rem}.mass-gesture-when{margin:1rem 0 .6rem;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#e7be64}.mass-gesture-list{display:flex;flex-direction:column;gap:.75rem}.mass-gesture-list li{display:flex;align-items:center;gap:.85rem}.mass-gesture-list li.is-example{margin-top:.2rem;padding-top:.8rem;border-top:1px solid rgba(212,163,69,.35)}.mass-icon-badge{display:grid;place-items:center;flex-shrink:0;width:3.3rem;height:3.3rem;border-radius:14px;background:radial-gradient(circle at 50% 35%,#f2cd7a29,#f2cd7a08);border:1px solid rgba(212,163,69,.3)}.mass-icon{display:block;filter:drop-shadow(0 1px 2px rgba(0,0,0,.35))}.mass-gesture-text{font-size:.93rem;line-height:1.5;color:#ede6da}.mass-gesture-text strong{color:#f2cd7a;font-weight:700}.mass-who-tag{display:inline-block;margin-left:.4rem;padding:.05rem .45rem;border-radius:var(--radius-full);font-size:.66rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#0f1d31;background:#d4a345;vertical-align:middle}.mass-gesture-note{display:flex;gap:.5rem;margin-top:auto;padding-top:1.1rem;font-size:.82rem;line-height:1.5;color:#c9c1b4}.mass-gesture-note svg{flex-shrink:0;margin-top:.15rem;color:#e7be64}.mass-source{margin-top:1.5rem;font-size:.8rem;color:var(--color-text-muted)}.prayer-accordion-text{white-space:pre-wrap}.prayer-accordion-latin{margin-top:.8rem;font-style:italic;font-size:.92rem;color:var(--color-text-muted)}.prayer-accordion-latin strong{font-style:normal;color:var(--color-text-soft)}.prayer-accordion-note{margin-top:.8rem;font-size:.8rem;color:var(--color-text-pale)}.prayer-saint-link{display:inline-flex;align-items:center;gap:.2rem;margin-top:.7rem;font-size:.85rem;font-weight:600;color:var(--color-terracotta)}.prayer-saint-link:hover{text-decoration:underline}.sao-bento-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.6rem 1.2rem;margin-top:1rem}.sao-bento-actions .sao-bento-more,.sao-bento-actions .prayer-saint-link{margin-top:0}.saint-initial{display:grid;place-items:center;flex-shrink:0;border-radius:50%;font-family:var(--font-serif);font-weight:700;color:#fff8ec;background:radial-gradient(circle at 35% 30%,#e9c27a,#a87432);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-gold) 35%,transparent)}.intention-filter{margin:.4rem 0 1.4rem}.intention-filter-title{font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-pale);margin-bottom:.5rem}.intention-filter-list{display:flex;flex-wrap:wrap;gap:.45rem}.intention-chip{padding:.45rem .85rem;border-radius:var(--radius-full);border:1px dashed var(--color-border);background:transparent;color:var(--color-text-soft);font-size:.82rem;cursor:pointer;transition:background var(--duration-fast),border-color var(--duration-fast),color var(--duration-fast)}.intention-chip:hover{border-color:var(--color-gold)}.intention-chip.active{border-style:solid;border-color:var(--color-gold);background:color-mix(in srgb,var(--color-gold) 18%,var(--color-surface));color:var(--color-charcoal);font-weight:600}.intention-saints{margin:-.4rem 0 1.2rem;font-size:.88rem;color:var(--color-text-muted)}.intention-saints a{color:var(--color-terracotta);font-weight:600}.intention-saints a:hover{text-decoration:underline}.intention-tag{display:inline-block;padding:.1rem .5rem;border-radius:var(--radius-full);font-size:.7rem;font-weight:600;color:var(--color-text-soft);background:var(--color-cream-warm);border:1px solid var(--color-border-soft)}.saints-grid{display:grid;grid-template-columns:1fr;gap:.8rem}@media(min-width:720px){.saints-grid{grid-template-columns:repeat(2,1fr)}}.saint-card{display:flex;flex-direction:column;justify-content:space-between;gap:.9rem;height:100%;padding:1rem 1.1rem;border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-sm);transition:border-color var(--duration-fast),transform var(--duration-fast),box-shadow var(--duration-fast)}.saint-card:hover{border-color:var(--color-gold);transform:translateY(-2px);box-shadow:var(--shadow-md)}.saint-initial{width:3.2rem;height:3.2rem;font-size:1.6rem}.saint-initial.is-large{width:5rem;height:5rem;font-size:2.6rem}.saint-card-body{display:flex;flex-direction:column;gap:.15rem;flex:1;min-width:0}.saint-card-body strong{font-family:var(--font-serif);font-size:1.25rem;color:var(--color-charcoal)}.saint-card-title,.saint-card-patron{font-size:.82rem;color:var(--color-text-muted)}.saint-card-feast{display:inline-flex;align-items:center;gap:.3rem;font-size:.78rem;font-weight:600;color:var(--color-terracotta)}.saint-card-main{display:flex;align-items:center;gap:1rem}.saint-card-cta{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding-top:.7rem;border-top:1px solid var(--color-border);font-size:.85rem;font-weight:600;color:var(--color-terracotta)}.saint-card-cta svg{transition:transform var(--duration-fast)}.saint-card:hover .saint-card-cta svg{transform:translate(4px)}.feature-card-icon .halo,.feature-card-icon .figure{fill:none;stroke:var(--color-gold);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.feature-card-icon .halo{stroke-width:2}.saint-back-link{display:inline-flex;align-items:center;gap:.35rem;font-size:.85rem;font-weight:600;color:var(--color-text-muted);margin-bottom:1.2rem}.saint-back-link:hover{color:var(--color-terracotta)}.saint-hero{display:flex;align-items:center;gap:1.2rem;margin-bottom:1.5rem}.saint-hero .section-title{margin-bottom:.4rem}.saint-hero-meta{display:flex;flex-wrap:wrap;gap:.4rem 1rem;font-size:.88rem;color:var(--color-text-muted)}.saint-hero-meta span{display:inline-flex;align-items:center;gap:.35rem}.saint-section{margin-bottom:2rem}.saint-hero-note{margin-top:.35rem;font-size:.82rem;color:var(--color-text-muted)}.saint-paragraph+.saint-paragraph{margin-top:.9rem}.saint-quote{max-width:46rem;margin:1.4rem 0 0;padding:1rem 1.2rem;border-left:3px solid var(--color-gold);border-radius:0 var(--radius-md) var(--radius-md) 0;background:color-mix(in srgb,var(--color-gold) 8%,var(--color-surface))}.saint-quote p{font-family:var(--font-serif);font-size:1.25rem;font-style:italic;line-height:1.5;color:var(--color-text)}.saint-quote cite{display:block;margin-top:.4rem;font-size:.82rem;font-style:normal;color:var(--color-text-muted)}.saint-miracles{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:.9rem;max-width:52rem}.saint-miracle{padding:1.1rem 1.2rem;border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface)}.saint-miracle-label{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-pale)}.saint-miracle h3{margin:.25rem 0 .45rem;font-size:1.15rem}.saint-miracle p{font-size:.92rem;line-height:1.65;color:var(--color-text-soft)}.saint-canonization{margin-top:1rem;max-width:46rem;font-size:.92rem;color:var(--color-text-soft)}.saint-section-title{font-size:1.7rem;margin-bottom:.8rem}.saint-bio{max-width:46rem;font-size:1.02rem;line-height:1.8;color:var(--color-text)}.saint-patron{margin-top:1.2rem}.saint-patron h2{font-family:var(--font-sans);font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-pale);margin-bottom:.5rem}.saint-patron ul{display:flex;flex-wrap:wrap;gap:.45rem}.saint-patron li{padding:.35rem .8rem;border-radius:var(--radius-full);background:var(--color-cream-warm);border:1px solid var(--color-border);font-size:.85rem;color:var(--color-text-soft)}.saint-prayers{display:flex;flex-direction:column;gap:.7rem}.saint-prayer{border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-sm)}.saint-prayer.is-open{border-color:var(--color-gold)}.saint-prayer-trigger{width:100%;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.1rem;border:none;background:none;text-align:left;cursor:pointer;color:var(--color-charcoal)}.saint-prayer-trigger>span{display:flex;flex-direction:column;gap:.4rem}.saint-prayer-trigger strong{font-family:var(--font-serif);font-size:1.2rem}.saint-prayer-trigger .arrow-icon{flex-shrink:0;color:var(--color-terracotta);transition:transform var(--duration-fast)}.saint-prayer-tags{display:flex;flex-wrap:wrap;gap:.3rem}.saint-prayer-body{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;padding:0 1.1rem 1.1rem}.saint-prayer-body .prayer-full-text{align-self:stretch;font-size:.98rem;line-height:1.75}.saint-prayer-body .btn-block-action{margin-top:.8rem}.mass-intro-note{margin-top:.6rem;font-size:.88rem}.mass-intro-note a{color:var(--color-terracotta);font-weight:600}.mass-intro-note a:hover{text-decoration:underline}.symbols-grid{display:grid;grid-template-columns:1fr;gap:1rem}@media(min-width:640px){.symbols-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.symbols-grid{grid-template-columns:repeat(3,1fr)}}.symbol-card{display:flex;gap:1rem;height:100%;padding:1.1rem;border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-sm);transition:border-color var(--duration-fast),transform var(--duration-fast),box-shadow var(--duration-fast)}.symbol-card:hover{border-color:var(--color-gold);transform:translateY(-2px);box-shadow:var(--shadow-md)}.symbol-image{display:grid;place-items:center;flex-shrink:0;width:5.5rem;height:6.5rem;border-radius:var(--radius-md);background:radial-gradient(circle at 50% 40%,color-mix(in srgb,var(--color-gold) 16%,var(--color-surface)),var(--color-cream-warm))}.symbol-image img{max-width:82%;max-height:86%;object-fit:contain;filter:drop-shadow(0 3px 5px rgba(0,0,0,.18));transition:transform .4s var(--ease-spring)}.symbol-card:hover .symbol-image img{transform:scale(1.06)}.symbol-body{display:flex;flex-direction:column;gap:.35rem;min-width:0}.symbol-body h3{font-size:1.3rem;color:var(--color-charcoal)}.symbol-body p{font-size:.9rem;line-height:1.6;color:var(--color-text-soft)}.symbol-body .symbol-extra{font-size:.83rem;color:var(--color-text-muted)}.symbol-ref{margin-top:.2rem;padding-left:.7rem;border-left:2px solid var(--color-gold);font-family:var(--font-serif);font-style:italic;font-size:.98rem;line-height:1.5;color:var(--color-text)}.symbol-ref cite{font-family:var(--font-sans);font-style:normal;font-size:.75rem;font-weight:600;color:var(--color-terracotta)}.calendar-legend-cross{font-size:.85rem;line-height:1;color:var(--color-text-soft)}.calendar-legend-item.is-precept.active{border-color:var(--color-text-soft);background:var(--color-surface);font-weight:600}.calendar-legend-help{margin:-.6rem 0 1.4rem;max-width:52rem;font-size:.85rem;line-height:1.6;color:var(--color-text-muted)}.calendar-legend-help strong{color:var(--color-text-soft)}.privacy-page section{max-width:46rem;margin-top:2rem}.privacy-page h2{font-size:1.6rem;margin-bottom:.6rem}.privacy-page h3{font-family:var(--font-sans);font-size:1rem;font-weight:700;color:var(--color-charcoal);margin:1.1rem 0 .35rem}.privacy-page p,.privacy-page li{color:var(--color-text-soft);line-height:1.75}.privacy-page ul{list-style:disc;padding-left:1.3rem;margin:.5rem 0}.privacy-page a{color:var(--color-terracotta);font-weight:600;text-decoration:underline}.privacy-updated{margin-top:.6rem;font-size:.82rem;color:var(--color-text-muted)}.footer-privacy-link{text-decoration:underline}.footer-privacy-link:hover{color:var(--color-terracotta)}.feedback-privacy-note{margin-top:.6rem;font-size:.8rem;line-height:1.5;color:var(--color-text-muted)}.feedback-privacy-note a{color:var(--color-terracotta);font-weight:600;text-decoration:underline}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;opacity:0}.skip-link{position:fixed;top:.6rem;left:.6rem;z-index:100;padding:.6rem 1rem;border-radius:var(--radius-md);background:var(--color-charcoal);color:var(--color-cream);font-weight:700;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.content-anchor:focus{outline:none}:focus-visible{outline:3px solid var(--color-gold);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.brand-mark img,.terco-guide-img{width:100%;height:auto}.terco-guide-img{max-width:607px}.feedback-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:grid;place-items:center;padding:var(--space-md);background:#17120f8c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);overflow-y:auto}.feedback-modal{position:relative;width:min(100%,540px);max-height:calc(100dvh - 2rem);overflow-y:auto;padding:1.6rem 1.5rem 1.4rem;border-radius:var(--radius-xl);border:1px solid var(--color-border);border-top:4px solid var(--color-terracotta);background:var(--color-surface);box-shadow:0 24px 60px #00000047}.feedback-close{position:absolute;top:.8rem;right:.8rem;display:grid;place-items:center;width:2.2rem;height:2.2rem;border-radius:50%;border:none;background:transparent;color:var(--color-text-muted);cursor:pointer}.feedback-close:hover{background:var(--color-cream-warm);color:var(--color-charcoal)}.feedback-header{display:flex;align-items:flex-start;gap:.9rem;padding-right:2rem;margin-bottom:1.3rem}.feedback-header-icon{display:grid;place-items:center;flex-shrink:0;width:2.8rem;height:2.8rem;border-radius:50%;background:color-mix(in srgb,var(--color-terracotta) 14%,var(--color-surface));color:var(--color-terracotta)}.feedback-title{font-size:1.7rem;line-height:1.1}.feedback-subtitle{margin-top:.35rem;font-size:.9rem;line-height:1.55;color:var(--color-text-muted)}.feedback-label{display:block;margin-bottom:.4rem;font-size:.85rem;font-weight:700;color:var(--color-charcoal)}.feedback-optional{font-weight:400;color:var(--color-text-muted)}.feedback-types{border:none;padding:0;margin:0 0 1.2rem}.feedback-types-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.feedback-type{position:relative;display:flex;align-items:center;gap:.55rem;padding:.7rem .8rem;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-cream);color:var(--color-text-soft);font-size:.85rem;font-weight:600;cursor:pointer;transition:border-color var(--duration-fast),background var(--duration-fast),color var(--duration-fast)}.feedback-type:hover{border-color:var(--color-terracotta-light)}.feedback-type.is-active{border-color:var(--color-terracotta);background:color-mix(in srgb,var(--color-terracotta) 10%,var(--color-surface));color:var(--color-charcoal)}.feedback-type.is-active svg{color:var(--color-terracotta)}.feedback-type input{position:absolute;opacity:0;pointer-events:none}.feedback-type:has(input:focus-visible){outline:3px solid var(--color-gold);outline-offset:2px}.feedback-hint{margin:-.1rem 0 .5rem;font-size:.82rem;line-height:1.5;color:var(--color-text-muted)}.feedback-modal textarea,.feedback-input{width:100%;padding:.75rem .85rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-cream);color:var(--color-text);font-size:.92rem;transition:border-color var(--duration-fast),box-shadow var(--duration-fast)}.feedback-modal textarea{min-height:130px;resize:vertical;line-height:1.55}.feedback-modal textarea:focus,.feedback-input:focus{outline:none;border-color:var(--color-terracotta);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-terracotta) 18%,transparent)}.feedback-counter{margin:.25rem 0 .9rem;text-align:right;font-size:.75rem;color:var(--color-text-muted)}.feedback-error{margin-top:.8rem;padding:.6rem .8rem;border-radius:var(--radius-md);border:1px solid color-mix(in srgb,#C2362B 40%,transparent);background:color-mix(in srgb,#C2362B 10%,var(--color-surface));color:var(--color-charcoal);font-size:.85rem}.feedback-modal .feedback-privacy-note{margin-top:.9rem}.feedback-actions{display:flex;justify-content:flex-end;align-items:center;gap:.6rem;margin-top:1.1rem}.feedback-actions .btn:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}.feedback-spin{animation:feedback-spin .9s linear infinite}@keyframes feedback-spin{to{transform:rotate(360deg)}}.feedback-success{display:flex;flex-direction:column;align-items:center;gap:.7rem;padding:1rem .5rem .4rem;text-align:center}.feedback-success-icon{color:#2f8a5b}:root[data-theme=dark] .feedback-success-icon{color:#6ee7b7}.feedback-success .btn{margin-top:.6rem}@media(max-width:480px){.feedback-modal{padding:1.3rem 1.1rem 1.1rem}.feedback-types-grid{grid-template-columns:1fr}.feedback-actions{flex-direction:column-reverse;align-items:stretch}}.homily-source{display:flex;flex-direction:column;align-items:flex-start;gap:.8rem;margin-top:1.6rem;padding-top:1.2rem;border-top:1px dashed var(--color-border)}.homily-source p{font-size:.88rem;color:var(--color-text-muted)}.miracles-section{margin-top:1.4rem}.miracles-intro{max-width:46rem;margin-bottom:1.4rem}.miracles-intro p{color:var(--color-text-muted);line-height:1.7}.miracles-intro a{color:var(--color-terracotta);font-weight:600}.miracles-quote{margin-top:1rem;padding:.9rem 1.1rem;border-left:3px solid var(--color-gold);border-radius:0 var(--radius-md) var(--radius-md) 0;background:color-mix(in srgb,var(--color-gold) 8%,var(--color-surface));font-family:var(--font-serif);font-size:1.2rem;font-style:italic;color:var(--color-text)}.miracles-quote cite{display:block;margin-top:.3rem;font-family:var(--font-sans);font-size:.8rem;font-style:normal;color:var(--color-text-muted)}.miracles-filter{margin-bottom:.8rem}.miracles-filter-label{display:block;margin-bottom:.4rem;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-pale)}.miracles-filter-list{display:flex;flex-wrap:wrap;gap:.45rem}.miracles-count{margin:.4rem 0 .9rem;font-size:.85rem;color:var(--color-text-muted)}.miracles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(18rem,1fr));gap:1rem}.miracle-card{display:flex;flex-direction:column;padding:1.2rem;border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface);scroll-margin-top:6rem}.miracle-card.is-focused{border-color:var(--color-gold);animation:miracle-focus 2.6s var(--ease-out)}@keyframes miracle-focus{0%,40%{box-shadow:0 0 0 4px color-mix(in srgb,var(--color-gold) 45%,transparent),var(--shadow-md)}to{box-shadow:0 0 0 0 transparent}}.miracle-focus{display:grid;gap:.6rem;max-width:40rem;margin:0 auto 2rem;scroll-margin-top:6rem}.miracle-focus .miracle-card h3{font-size:1.6rem}.miracle-focus-more{justify-self:center;font-size:.9rem;font-weight:600;color:var(--color-terracotta)}.miracle-card-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.4rem;margin-bottom:.6rem}.miracle-year{font-family:var(--font-serif);font-size:1.05rem;font-weight:700;color:var(--color-terracotta)}.miracle-recognition{padding:.2rem .6rem;border-radius:var(--radius-full);border:1px solid var(--color-border);font-size:.7rem;font-weight:600;color:var(--color-text-soft);background:var(--color-cream-warm)}.miracle-recognition.is-culto{border-color:color-mix(in srgb,var(--color-gold) 55%,var(--color-border))}.miracle-card h3{font-size:1.35rem;line-height:1.2}.miracle-country{margin-bottom:.6rem;font-size:.8rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-pale)}.miracle-summary{flex:1;font-size:.92rem;line-height:1.65;color:var(--color-text-soft)}.miracle-where{display:flex;gap:.4rem;margin-top:.9rem;padding-top:.7rem;border-top:1px dashed var(--color-border);font-size:.82rem;line-height:1.5;color:var(--color-text-muted)}.miracle-where svg{flex-shrink:0;margin-top:.15rem;color:var(--color-terracotta)}.miracles-footer{max-width:46rem;margin-top:1.6rem;font-size:.88rem;line-height:1.65;color:var(--color-text-muted)}.miracles-external{display:inline-flex;align-items:center;gap:.35rem;margin-top:.8rem;font-weight:600;color:var(--color-terracotta)}@media(max-width:480px){.miracles-grid{grid-template-columns:1fr}}.feature-card{display:flex;align-items:center;gap:1rem;width:100%;margin-bottom:1.4rem;padding:1.1rem 1.3rem;border-radius:var(--radius-lg);border:1px solid color-mix(in srgb,var(--color-gold) 45%,var(--color-border));background:radial-gradient(circle at 12% 50%,color-mix(in srgb,var(--color-gold) 22%,transparent),transparent 60%),color-mix(in srgb,var(--color-gold) 9%,var(--color-surface));color:var(--color-text);text-align:left;cursor:pointer;transition:transform var(--duration-fast),box-shadow var(--duration-fast),border-color var(--duration-fast)}.feature-card:hover{transform:translateY(-2px);border-color:var(--color-gold);box-shadow:0 10px 28px -18px color-mix(in srgb,var(--color-gold) 80%,transparent)}.feature-card-icon{flex-shrink:0;width:3.4rem;height:3.4rem}.feature-card-icon line{stroke:var(--color-gold);stroke-width:1.6;stroke-linecap:round}.feature-card-icon .host{fill:color-mix(in srgb,var(--color-gold) 25%,var(--color-surface));stroke:var(--color-gold);stroke-width:1.6}.feature-card-icon .host-cross,.feature-card-icon .stand{fill:none;stroke:var(--color-gold);stroke-width:1.6;stroke-linecap:round}.feature-card-text{display:flex;flex-direction:column;gap:.15rem;flex:1;min-width:0}.feature-card-eyebrow{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-pale)}.feature-card strong{font-family:var(--font-serif);font-size:1.45rem;line-height:1.15}.feature-card-text>span:last-child{font-size:.88rem;color:var(--color-text-soft)}.feature-card-arrow{flex-shrink:0;color:var(--color-terracotta);transition:transform var(--duration-fast)}.feature-card:hover .feature-card-arrow{transform:translate(4px)}.miracles-back{display:inline-flex;align-items:center;gap:.4rem;margin-bottom:.6rem;padding:.3rem 0;border:none;background:none;font-size:.9rem;font-weight:600;color:var(--color-terracotta);cursor:pointer}@media(max-width:480px){.feature-card{padding:1rem;gap:.8rem}.feature-card-icon{width:2.8rem;height:2.8rem}.feature-card strong{font-size:1.25rem}}.load-more{display:flex;align-items:center;justify-content:center;gap:.5rem;margin:1.4rem auto 0;padding:.75rem 1.4rem;border-radius:var(--radius-full);border:1px solid color-mix(in srgb,var(--color-gold) 50%,var(--color-border));background:var(--color-surface);font-weight:600;color:var(--color-text);cursor:pointer;transition:border-color var(--duration-fast),background var(--duration-fast)}.load-more:hover{border-color:var(--color-gold);background:color-mix(in srgb,var(--color-gold) 8%,var(--color-surface))}.load-more-count{padding:.1rem .5rem;border-radius:var(--radius-full);background:color-mix(in srgb,var(--color-gold) 18%,var(--color-surface));font-size:.8rem}.feature-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(19rem,1fr));gap:.9rem;margin-bottom:1.4rem}.feature-cards .feature-card{margin-bottom:0}.marian-types{display:grid;gap:.45rem;max-width:46rem;margin:0 0 1.2rem;padding:0;list-style:none;font-size:.88rem;color:var(--color-text-muted)}.marian-types li{display:grid;grid-template-columns:7.5rem 1fr;align-items:start;gap:.6rem}.marian-types .marian-type-tag{justify-self:start}.marian-type-tag{padding:.18rem .6rem;border-radius:var(--radius-full);border:1px solid var(--color-border);font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-soft);background:var(--color-cream-warm);white-space:nowrap}.marian-type-tag.is-dogma{border-color:color-mix(in srgb,var(--color-gold) 60%,var(--color-border));background:color-mix(in srgb,var(--color-gold) 14%,var(--color-surface))}.marian-type-tag.is-aparicao{border-color:color-mix(in srgb,#4A6FA5 45%,var(--color-border));background:color-mix(in srgb,#4A6FA5 10%,var(--color-surface))}.marian-meta .miracle-where+.miracle-where{margin-top:.35rem;padding-top:0;border-top:none}.miracle-link{display:inline-flex;align-items:center;gap:.35rem;margin-top:.8rem;font-size:.85rem;font-weight:600;color:var(--color-terracotta)}.miracle-link:hover{text-decoration:underline}.saint-initial.has-image{overflow:hidden;background:var(--color-cream-warm)}.saint-initial.has-image img{width:100%;height:100%;object-fit:cover;object-position:50% 18%}.saint-initial.is-large.has-image{width:6.5rem;height:6.5rem}.image-credit{margin-top:.6rem;font-size:.72rem;line-height:1.5;color:var(--color-text-muted)}.image-credit a{color:inherit;text-decoration:underline;text-decoration-color:color-mix(in srgb,currentColor 40%,transparent)}.saint-image-credit{margin:-.6rem 0 1.4rem}.miracle-card.has-image{padding-top:0;overflow:hidden}.marian-card-image{display:block;width:calc(100% + 2.4rem);max-width:none;height:13rem;margin:0 -1.2rem 1rem;object-fit:cover;object-position:50% 20%;background:var(--color-cream-warm)}.credits-note{max-width:46rem;margin:.8rem 0 2rem;font-size:.88rem;color:var(--color-text-muted)}.credits-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(18rem,1fr));gap:.8rem;padding:0;list-style:none}.credits-item{display:flex;gap:.8rem;align-items:flex-start;padding:.8rem;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface)}.credits-item img{flex-shrink:0;width:3.4rem;height:3.4rem;border-radius:var(--radius-md);object-fit:cover;object-position:50% 18%}.credits-item a,.credits-item strong{font-weight:600;color:var(--color-text)}.credits-item .image-credit{margin-top:.2rem}.saint-card .saint-initial.has-image{width:4.4rem;height:4.4rem}.mysteries-all-link{display:inline-flex;align-items:center;gap:.4rem;margin-top:1rem;font-size:.9rem;font-weight:600;color:var(--color-terracotta)}.mysteries-all-link svg{transition:transform var(--duration-fast)}.mysteries-all-link:hover svg{transform:translate(4px)}.marian-feature{display:grid;grid-template-columns:minmax(7rem,11rem) 1fr;width:100%;margin-bottom:1.6rem;padding:0;overflow:hidden;border-radius:var(--radius-lg);border:1px solid color-mix(in srgb,var(--color-gold) 55%,var(--color-border));background:radial-gradient(circle at 85% 20%,color-mix(in srgb,#4A6FA5 16%,transparent),transparent 55%),color-mix(in srgb,var(--color-gold) 10%,var(--color-surface));color:var(--color-text);text-align:left;cursor:pointer;box-shadow:var(--shadow-sm);transition:transform var(--duration-fast),box-shadow var(--duration-fast),border-color var(--duration-fast)}.marian-feature:hover{transform:translateY(-3px);border-color:var(--color-gold);box-shadow:0 16px 36px -22px color-mix(in srgb,var(--color-gold) 90%,transparent)}.marian-feature img{width:100%;height:100%;min-height:12rem;object-fit:cover;object-position:50% 15%}.marian-feature-text{display:flex;flex-direction:column;justify-content:center;gap:.35rem;padding:1.3rem 1.4rem}.marian-feature strong{font-family:var(--font-serif);font-size:clamp(1.7rem,4.5vw,2.3rem);line-height:1.1}.marian-feature-text>span:nth-child(3){font-size:.92rem;line-height:1.55;color:var(--color-text-soft)}.marian-feature-cta{display:inline-flex;align-items:center;gap:.4rem;margin-top:.4rem;font-weight:700;color:var(--color-terracotta)}.marian-feature:hover .marian-feature-cta svg{transform:translate(4px)}.marian-feature-cta svg{transition:transform var(--duration-fast)}@media(max-width:480px){.marian-feature{grid-template-columns:6.5rem 1fr}.marian-feature img{min-height:10rem}.marian-feature-text{padding:1rem}}.calendar-day{transition:background var(--duration-fast),opacity var(--duration-fast),transform var(--duration-fast),box-shadow var(--duration-fast)}@media(hover:hover){.calendar-day:hover{z-index:2;transform:translateY(-2px) scale(1.12);border-color:var(--color-gold);box-shadow:0 6px 14px -6px #5e3b2459}.calendar-day[data-tip]:hover:after{content:attr(data-tip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);width:max-content;max-width:13rem;padding:.4rem .6rem;border-radius:var(--radius-md);background:var(--color-charcoal);color:var(--color-surface);font-size:.72rem;font-weight:600;line-height:1.35;white-space:normal;text-align:center;pointer-events:none;z-index:3}}.calendar-day-panel{scroll-margin-top:6rem}.filter-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:1rem 0 1.4rem}.filter-open{display:inline-flex;align-items:center;gap:.45rem;padding:.55rem 1rem;border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-size:.88rem;font-weight:600;cursor:pointer;transition:border-color var(--duration-fast),box-shadow var(--duration-fast)}.filter-open:hover{border-color:var(--color-gold);box-shadow:var(--shadow-sm)}.filter-open-count{display:grid;place-items:center;min-width:1.3rem;height:1.3rem;padding:0 .3rem;border-radius:var(--radius-full);background:var(--color-terracotta);color:#fff;font-size:.72rem}.filter-active-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.4rem .7rem;border-radius:var(--radius-full);border:1px solid var(--color-gold);background:color-mix(in srgb,var(--color-gold) 16%,var(--color-surface));color:var(--color-charcoal);font-size:.8rem;font-weight:600;cursor:pointer}.filter-active-chip:hover{background:color-mix(in srgb,var(--color-gold) 26%,var(--color-surface))}.filter-clear-link{border:0;background:none;color:var(--color-terracotta);font-size:.82rem;font-weight:600;text-decoration:underline;cursor:pointer}.filter-sheet{width:min(560px,calc(100% - 2rem));max-height:min(80vh,640px);margin:auto;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-cream);color:var(--color-text);box-shadow:0 24px 60px #2d241f40}.filter-sheet[open]{display:flex;flex-direction:column;animation:filter-sheet-in .28s var(--ease-out)}.filter-sheet::backdrop{background:#2d241f73;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}@keyframes filter-sheet-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}.filter-sheet-head{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--color-border)}.filter-sheet-head h2{margin:0;font-family:var(--font-serif);font-size:1.35rem}.filter-sheet-close{display:grid;place-items:center;width:2.4rem;height:2.4rem;border:0;border-radius:50%;background:transparent;color:var(--color-text-soft);cursor:pointer}.filter-sheet-close:hover{background:var(--color-border-soft)}.filter-sheet-body{flex:1;overflow-y:auto;padding:.5rem 1.25rem 1rem}.filter-group{margin:0;padding:.9rem 0;border:0;border-bottom:1px solid var(--color-border-soft)}.filter-group:last-child{border-bottom:0}.filter-group legend{padding:0;margin-bottom:.65rem;font-weight:700;font-size:.92rem;color:var(--color-charcoal)}.filter-group-options{display:flex;flex-wrap:wrap;gap:.45rem}.filter-sheet-foot{display:flex;gap:.75rem;justify-content:space-between;align-items:center;padding:.9rem 1.25rem;border-top:1px solid var(--color-border)}.filter-sheet-clear{border:0;background:none;color:var(--color-text-soft);font-weight:600;text-decoration:underline;cursor:pointer}.filter-sheet-apply{flex:1;max-width:260px;justify-content:center}@media(max-width:767px){.filter-sheet{width:100%;max-width:100%;max-height:85vh;margin:auto 0 0;border-radius:1.25rem 1.25rem 0 0;padding-bottom:env(safe-area-inset-bottom)}@keyframes filter-sheet-in{0%{transform:translateY(100%)}to{transform:none}}}.cycles{margin-top:2.5rem;padding:1.5rem;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--color-surface) 85%,transparent)}.cycles-head{display:flex;gap:.75rem;align-items:flex-start;color:var(--color-terracotta)}.cycles-head svg{flex:none;margin-top:.35rem}.cycles-head p{margin:.35rem 0 0;color:var(--color-text-soft);line-height:1.6}.cycles-grid{display:grid;gap:.85rem;margin:1.25rem 0}@media(min-width:768px){.cycles-grid{grid-template-columns:repeat(3,1fr)}}.cycle-card{display:flex;gap:.85rem;padding:1rem;border:1px solid var(--color-border-soft);border-radius:var(--radius-md);background:var(--color-surface)}.cycle-card.is-current{border-color:var(--color-gold);box-shadow:0 0 0 1px var(--color-gold),var(--shadow-sm)}.cycle-letter{flex:none;display:grid;place-items:center;width:2.6rem;height:2.6rem;border-radius:50%;background:color-mix(in srgb,var(--color-gold) 20%,var(--color-surface));color:var(--color-charcoal);font-family:var(--font-serif);font-size:1.35rem;font-weight:700}.cycle-card.is-current .cycle-letter{background:var(--color-terracotta);color:#fff}.cycle-card h3{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin:0 0 .35rem;font-size:1rem}.cycle-card p{margin:0 0 .4rem;font-size:.88rem;line-height:1.55;color:var(--color-text-soft)}.cycle-card small{font-size:.78rem;color:var(--color-text-muted)}.cycle-badge{padding:.12rem .5rem;border-radius:var(--radius-full);background:var(--color-terracotta);color:#fff;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.cycles-now{margin:0;line-height:1.65;color:var(--color-text)}.cycles-matthew{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--color-border-soft)}.cycles-matthew h3{margin:0 0 .5rem;font-family:var(--font-serif);font-size:1.2rem}.cycles-matthew p{margin:0 0 .75rem;color:var(--color-text-soft);line-height:1.6}.cycles-matthew ol{display:grid;gap:.5rem;margin:0;padding-left:1.3rem;line-height:1.55}.cycles-ref{color:var(--color-terracotta);font-weight:600}.confession-privacy{display:flex;gap:.6rem;align-items:flex-start;margin:1rem 0 2rem;padding:.85rem 1rem;border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-gold) 12%,var(--color-surface));border:1px solid color-mix(in srgb,var(--color-gold) 40%,transparent);font-size:.9rem;line-height:1.55}.confession-privacy svg{flex:none;margin-top:.15rem;color:var(--color-gold-muted)}.confession-steps ol{display:grid;gap:.7rem;margin:0 0 2.5rem;padding:0;list-style:none;counter-reset:step}.confession-steps li{position:relative;display:grid;gap:.15rem;padding:.8rem 1rem .8rem 3.2rem;border:1px solid var(--color-border-soft);border-radius:var(--radius-md);background:var(--color-surface);counter-increment:step;line-height:1.55}.confession-steps li:before{content:counter(step);position:absolute;left:.9rem;top:.8rem;display:grid;place-items:center;width:1.6rem;height:1.6rem;border-radius:50%;background:var(--color-terracotta);color:#fff;font-size:.8rem;font-weight:700}.confession-steps li span{color:var(--color-text-soft);font-size:.92rem}.confession-hint{color:var(--color-text-soft);line-height:1.6;margin:0 0 1.25rem}.exam-part{margin-bottom:1.5rem}.exam-part-title{margin:0 0 .6rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-terracotta)}.exam-group{margin-bottom:.6rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.exam-group summary{display:flex;align-items:center;gap:.6rem;padding:.9rem 1rem;cursor:pointer;list-style:none}.exam-group summary::-webkit-details-marker{display:none}.exam-group summary>span:first-child{flex:1;display:grid;gap:.1rem}.exam-group summary small{color:var(--color-text-muted);font-size:.82rem}.exam-chevron{flex:none;color:var(--color-text-muted);transition:transform var(--duration-fast)}details[open]>summary .exam-chevron{transform:rotate(180deg)}.exam-count{display:grid;place-items:center;min-width:1.5rem;height:1.5rem;padding:0 .35rem;border-radius:var(--radius-full);background:var(--color-terracotta);color:#fff;font-size:.75rem;font-weight:700}.exam-group ul{display:grid;gap:.15rem;margin:0;padding:0 .6rem .7rem;list-style:none}.exam-item{display:flex;gap:.7rem;align-items:flex-start;padding:.6rem .5rem;border-radius:var(--radius-md);line-height:1.45;cursor:pointer;transition:background var(--duration-fast)}.exam-item:hover{background:var(--color-border-soft)}.exam-item input{position:absolute;opacity:0;pointer-events:none}.exam-box{flex:none;display:grid;place-items:center;width:1.25rem;height:1.25rem;margin-top:.08rem;border:2px solid var(--color-border);border-radius:.35rem;color:transparent;transition:background var(--duration-fast),border-color var(--duration-fast)}.exam-item.is-checked .exam-box{background:var(--color-terracotta);border-color:var(--color-terracotta);color:#fff}.exam-item input:focus-visible+.exam-box{outline:2px solid var(--color-terracotta);outline-offset:2px}.exam-custom{display:grid;gap:.5rem;margin:1.5rem 0 1rem}.exam-custom label{font-weight:600}.exam-custom-row{display:flex;gap:.5rem}.exam-custom-row .search{flex:1;min-width:0;padding-left:1rem}.exam-custom-row .btn{flex:none}.exam-summary{margin-top:2.5rem;padding:1.25rem;border:1px solid var(--color-gold);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--color-gold) 8%,var(--color-surface))}.exam-summary-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem}.exam-summary-head .filter-clear-link{display:inline-flex;align-items:center;gap:.3rem}.exam-summary-list{display:grid;gap:.55rem;margin:.75rem 0 0;padding-left:1.4rem;line-height:1.5}.exam-summary-list small{display:block;color:var(--color-text-muted);font-size:.78rem}.exam-remove{margin-left:.4rem;padding:.15rem;border:0;border-radius:50%;background:transparent;color:var(--color-text-muted);vertical-align:middle;cursor:pointer}.exam-remove:hover{background:var(--color-border-soft)}.exam-contrition{margin-top:2.5rem}.confession-footer{margin-top:2rem;color:var(--color-text-soft);line-height:1.6}.confession-footer a{color:var(--color-terracotta);font-weight:600}.filter-option-count{font-weight:400;opacity:.75}.filter-group-options .intention-chip:disabled{opacity:.4;cursor:not-allowed}.cycles{margin:1.25rem 0 1.5rem;padding:1.1rem 1.25rem;border:1px solid var(--color-gold);background:radial-gradient(circle at 0% 0%,color-mix(in srgb,var(--color-gold) 22%,transparent),transparent 60%),color-mix(in srgb,var(--color-surface) 92%,transparent);box-shadow:var(--shadow-md)}.cycles-current{display:flex;flex-wrap:wrap;align-items:center;gap:.9rem 1.1rem}.cycle-letter.is-big{width:3.6rem;height:3.6rem;font-size:2rem;background:var(--color-terracotta);color:#fff;box-shadow:0 0 0 4px color-mix(in srgb,var(--color-gold) 35%,transparent)}.cycles-current-text{flex:1 1 14rem;min-width:0}.cycles-current-text .eyebrow{display:block;margin-bottom:.2rem}.cycles-current-text h2{margin:0 0 .25rem;font-family:var(--font-serif);font-size:clamp(1.25rem,3.6vw,1.6rem);line-height:1.2}.cycles-current-text p{margin:0;color:var(--color-text-soft);font-size:.9rem}.cycles-more{margin-left:auto}.cycles-more svg{transition:transform var(--duration-fast)}.cycles.is-open .cycles-more svg{transform:rotate(180deg)}.cycles-details{margin-top:1.1rem;padding-top:1.1rem;border-top:1px solid var(--color-border-soft);animation:fadeIn .3s var(--ease-out)}.cycles-details>p{margin:0 0 1rem;line-height:1.65;color:var(--color-text-soft)}.cycles-details .cycles-grid{margin:0 0 1rem}.cycle-badge.is-next{background:var(--color-gold-muted)}.exam-part-note{margin:-.2rem 0 .7rem;color:var(--color-text-soft);font-size:.88rem;line-height:1.5}.exam-export{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:1.1rem;padding-top:1rem;border-top:1px solid color-mix(in srgb,var(--color-gold) 35%,transparent)}.exam-export-status{font-size:.85rem;font-weight:600;color:var(--color-terracotta)}@media print{body.print-exam *{visibility:hidden}body.print-exam .exam-summary,body.print-exam .exam-summary *{visibility:visible}body.print-exam .exam-summary{position:absolute;inset:0 0 auto;border:0;background:#fff;color:#000}body.print-exam .exam-export,body.print-exam .exam-summary-head button,body.print-exam .exam-remove{display:none}}.scroll-rail{position:relative;margin:2rem 0}.scroll-rail-sticky{position:sticky;top:5rem}.scroll-rail-viewport{overflow:hidden;padding:.5rem .25rem .75rem;margin:-.5rem -.25rem 0}.scroll-rail-track{display:flex;gap:16px;width:max-content;will-change:transform}.scroll-rail.is-active .scroll-rail-track>*{flex:0 0 min(82vw,23rem);margin:0}.scroll-rail-progress{height:3px;margin-top:.4rem;border-radius:3px;background:var(--color-border-soft);overflow:hidden}.scroll-rail-progress span{display:block;height:100%;background:var(--color-terracotta);transform-origin:left}.scroll-rail.is-static .scroll-rail-track{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));width:auto}.confession-step{position:relative;display:grid;gap:.35rem;align-content:start;min-height:11rem;padding:1.1rem 1.1rem 1.1rem 3.6rem;border:1px solid var(--color-border-soft);border-radius:var(--radius-md);background:var(--color-surface);line-height:1.55}.confession-step-number{position:absolute;left:1rem;top:1.05rem;display:grid;place-items:center;width:1.8rem;height:1.8rem;border-radius:50%;background:var(--color-terracotta);color:#fff;font-size:.85rem;font-weight:700}.confession-step>span:last-child{color:var(--color-text-soft);font-size:.92rem}.confession-rail{margin:0 0 2.5rem}.confession-rail .confession-privacy{margin:0 0 1.25rem}.confession-rail .saint-section-title{margin-top:0}.confession-rail .rosary-header,.confession-rail .lead{margin-bottom:1rem}@media(max-width:767px){.confession-rail .confession-privacy{padding:.6rem .8rem;font-size:.8rem;line-height:1.45}.confession-rail .rosary-header,.confession-rail .lead{margin-bottom:.6rem}.confession-rail .page-title-row .section-title{font-size:2rem}}.journey-card{margin-bottom:1.5rem;padding:1.25rem;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--color-surface) 92%,transparent)}.journey-card-head h2{margin:0 0 .35rem;font-family:var(--font-serif);font-size:1.4rem}.journey-card-head p{margin:0 0 1.1rem;color:var(--color-text-soft);line-height:1.6}.diary-grid{display:grid;gap:.4rem;max-width:26rem}.diary-row{display:grid;grid-template-columns:repeat(7,1fr);gap:.4rem}.diary-head span{text-align:center;font-size:.72rem;font-weight:700;color:var(--color-text-muted)}.diary-day{display:grid;place-items:center;aspect-ratio:1;min-width:.9rem;border-radius:50%;border:1.5px solid var(--color-border);color:var(--color-gold-muted)}.diary-day.is-prayed{border-color:var(--color-gold);background:radial-gradient(circle at 40% 35%,#FFE8A3,var(--color-gold) 70%);box-shadow:0 0 10px color-mix(in srgb,var(--color-gold) 60%,transparent)}.diary-day.is-grace{border-style:dashed;border-color:var(--color-gold);background:color-mix(in srgb,var(--color-gold) 14%,transparent)}.diary-day.is-future{opacity:.35}.diary-day.is-today{outline:2px solid var(--color-terracotta);outline-offset:2px}.diary-legend{display:flex;flex-wrap:wrap;gap:1rem;margin:1rem 0;padding:0;list-style:none;font-size:.8rem;color:var(--color-text-soft)}.diary-legend li{display:flex;align-items:center;gap:.4rem}.diary-legend .diary-day{width:1rem}.journey-mark-row{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin:1.5rem 0}.journey-mark{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:var(--control-height);padding:.6rem 1.25rem;border-radius:var(--radius-full);border:1.5px solid var(--color-terracotta);background:var(--color-terracotta);color:#fffaf4;font-weight:700;cursor:pointer;transition:background var(--duration-fast),border-color var(--duration-fast),color var(--duration-fast)}.journey-mark:hover{background:var(--color-terracotta-dark);border-color:var(--color-terracotta-dark)}.journey-mark.is-done{border-color:var(--color-gold);background:color-mix(in srgb,var(--color-gold) 18%,var(--color-surface));color:var(--color-text)}.journey-mark.is-done svg{color:var(--color-gold-text)}.novena-day .journey-mark:not(.is-done),.intention-note .journey-mark:not(.is-done),.mission-card .journey-mark:not(.is-done){min-height:2.5rem;border-color:var(--color-border);background:var(--color-surface);color:var(--color-text)}.novena-day .journey-mark:not(.is-done):hover,.intention-note .journey-mark:not(.is-done):hover,.mission-card .journey-mark:not(.is-done):hover{border-color:var(--color-terracotta);color:var(--color-terracotta-dark)}:root[data-theme=dark] .journey-mark:not(.is-done){background:#b84a13;border-color:#b84a13;color:#fff7ef}:root[data-theme=dark] .journey-mark:not(.is-done):hover{background:#cf5e24;border-color:#cf5e24}:root[data-theme=dark] .novena-day .journey-mark:not(.is-done),:root[data-theme=dark] .intention-note .journey-mark:not(.is-done),:root[data-theme=dark] .mission-card .journey-mark:not(.is-done){background:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}.journey-mark-link{color:var(--color-terracotta);font-weight:600;font-size:.9rem}.novena-list{display:grid;gap:.75rem;margin-top:1.5rem}.novena-card{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);transition:border-color var(--duration-fast),box-shadow var(--duration-fast)}.novena-card:hover{border-color:var(--color-gold);box-shadow:var(--shadow-sm)}.novena-card-text{display:grid;gap:.2rem}.novena-card-text span{color:var(--color-text-soft);font-size:.85rem}.novena-beads{display:flex;gap:.35rem;margin:0;padding:0;list-style:none}.novena-bead{width:1.1rem;height:1.1rem;border-radius:50%;border:1.5px solid var(--color-gold);transition:background .4s,box-shadow .4s}.novena-beads.is-sm .novena-bead{width:.7rem;height:.7rem}.novena-bead.is-done{background:radial-gradient(circle at 40% 35%,#FFE8A3,var(--color-gold) 70%);box-shadow:0 0 8px color-mix(in srgb,var(--color-gold) 60%,transparent)}.novena-bead.is-today{outline:2px solid var(--color-terracotta);outline-offset:2px}.novena-when{color:var(--color-text-muted);font-size:.9rem}.novena-progress{display:grid;justify-items:start;gap:.6rem;margin:1.5rem 0;padding:1.1rem;border:1px solid var(--color-gold);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--color-gold) 8%,var(--color-surface))}.novena-progress p{margin:0}.novena-progress .filter-clear-link{display:inline-flex;align-items:center;gap:.3rem}.novena-prayer{margin-bottom:1.5rem}.novena-days{display:grid;gap:.75rem;margin:0;padding:0;list-style:none}.novena-day{padding:1rem 1.1rem;border:1px solid var(--color-border-soft);border-radius:var(--radius-md);background:var(--color-surface)}.novena-day.is-today{border-color:var(--color-terracotta)}.novena-day.is-done{border-color:var(--color-gold)}.novena-day-number{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-terracotta)}.novena-day h3{margin:.2rem 0 .3rem;font-size:1.05rem}.novena-day p{margin:0 0 .6rem;color:var(--color-text-soft);line-height:1.55}.novena-day .journey-mark{padding:.4rem .85rem;font-size:.85rem}.saint-collect,.miracle-visit{display:inline-flex;align-items:center;gap:.35rem;margin-top:.6rem;padding:.35rem .75rem;border-radius:var(--radius-full);border:1px dashed var(--color-gold);background:transparent;color:var(--color-text-soft);font-size:.8rem;font-weight:600;cursor:pointer}.saint-collect.is-done,.miracle-visit.is-done{border-style:solid;background:color-mix(in srgb,var(--color-gold) 16%,var(--color-surface));color:var(--color-text)}.collection-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(6.5rem,1fr));gap:.75rem;margin:0;padding:0;list-style:none}.bouquet-form{display:grid;gap:.9rem;max-width:34rem}.bouquet-form label{display:grid;gap:.35rem;font-weight:600;font-size:.9rem}.bouquet-form .search{padding-left:1rem}.bouquet-form textarea.search{resize:vertical;border-radius:var(--radius-md);padding-top:.7rem}.bouquet-form .btn{justify-self:start}.bouquet-items{display:grid;gap:.4rem;margin:0;padding:0;border:0}.bouquet-items legend{margin-bottom:.4rem;font-weight:600;font-size:.9rem}.bouquet-item{display:flex;justify-content:space-between;align-items:center;padding:.45rem .6rem .45rem .9rem;border-radius:var(--radius-md);border:1px solid var(--color-border-soft);background:var(--color-surface);font-size:.9rem}.bouquet-item.is-on{border-color:var(--color-gold)}.bouquet-stepper{display:inline-flex;align-items:center;gap:.5rem}.bouquet-stepper button{display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer}.bouquet-stepper button:disabled{opacity:.4;cursor:default}.bouquet-stepper output{min-width:1.5rem;text-align:center;font-weight:700}@media print{body.print-bouquet *{visibility:hidden}body.print-bouquet .bouquet-card.is-printing,body.print-bouquet .bouquet-card.is-printing *{visibility:visible}body.print-bouquet .bouquet-card.is-printing{position:absolute;inset:0 0 auto;background:#fff;color:#000}body.print-bouquet .bouquet-actions{display:none}}.year-bar{height:.5rem;border-radius:999px;background:var(--color-border-soft);overflow:hidden}.year-bar span{display:block;height:100%}.quiz{margin-top:2.5rem;padding:1.25rem;border:1px solid var(--color-gold);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--color-gold) 7%,var(--color-surface))}.quiz-title{margin:0 0 .4rem;font-family:var(--font-serif);font-size:1.35rem}.quiz-count{margin:0;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-terracotta)}.quiz-question{margin:.4rem 0 .9rem;font-size:1.05rem;font-weight:600}.quiz-options{display:grid;gap:.5rem}.quiz-option{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-size:.95rem;text-align:left;cursor:pointer}.quiz-option:not(:disabled):hover{border-color:var(--color-gold)}.quiz-option:disabled{cursor:default}.quiz-option.is-right{border-color:#5e8c63;background:color-mix(in srgb,#5E8C63 14%,var(--color-surface))}.quiz-option.is-wrong{border-color:#b23a2e;background:color-mix(in srgb,#B23A2E 10%,var(--color-surface))}.quiz-option.is-dim{opacity:.55}.quiz-why{margin-top:.9rem;line-height:1.6}.quiz-next{display:flex;margin-top:.8rem}.quiz-end{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.quiz-end p{margin:0}.novena-day.is-locked{opacity:.6}.trail-locked{display:flex;align-items:center;gap:.4rem}.trail-today{padding:.6rem .8rem;border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-gold) 10%,transparent)}.community-inline{font-size:.88rem;color:var(--color-text-soft);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--color-gold) 60%,transparent);text-underline-offset:3px}.community-inline.is-block{display:inline-block;margin:.4rem 0 1rem}.community-numbers{display:grid;gap:1rem;margin:1.5rem 0 2.5rem;padding:1.25rem;border:1px solid var(--color-gold);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--color-gold) 8%,var(--color-surface))}.community-counter{display:flex;align-items:center;gap:.75rem;color:var(--color-gold-muted)}.community-counter p{margin:0;color:var(--color-text);font-size:1.1rem}.community-goal{display:grid;gap:.4rem}.community-goal-head{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.community-goal small,.community-novenas{color:var(--color-text-soft);font-size:.85rem}.community-novenas{margin:0;padding-left:1.1rem;line-height:1.7}.community-novenas a{color:var(--color-terracotta);font-weight:600}.intention-form{display:grid;gap:.6rem;margin-bottom:1.75rem}.intention-form label{font-weight:600}.intention-form textarea.search{padding:.75rem 1rem;border-radius:var(--radius-md);resize:vertical}.intention-form-row{display:flex;flex-wrap:wrap;gap:.5rem}.intention-form-row .search{flex:1 1 12rem;padding-left:1rem}.intention-form-note{color:var(--color-text-muted);line-height:1.5}.intention-form-error{margin:0;color:#b23a2e;font-weight:600}.intention-wall{display:grid;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:.9rem;margin:0;padding:0;list-style:none}.intention-note{display:grid;gap:.6rem;align-content:space-between;padding:1rem 1.1rem;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface)}.intention-note p{margin:0;line-height:1.55;overflow-wrap:anywhere}.intention-note-foot{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.intention-note-foot small{flex:1;color:var(--color-text-muted)}.intention-note .journey-mark{padding:.35rem .75rem;font-size:.82rem}.intention-count{margin-left:.2rem;padding:0 .4rem;border-radius:var(--radius-full);background:color-mix(in srgb,var(--color-gold) 25%,transparent)}.intention-report{display:grid;place-items:center;width:1.9rem;height:1.9rem;border:0;border-radius:50%;background:transparent;color:var(--color-text-muted);cursor:pointer}.intention-report:hover{background:var(--color-border-soft)}.trail-sheet-text{line-height:1.65}.trail-sheet-done{display:inline-flex;align-items:center;gap:.4rem;font-weight:700;color:#5e8c63}.trail-finish{justify-items:start}.trail-restart{display:inline-flex;align-items:center;gap:.3rem}.novena-page .saint-back-link{display:flex;width:fit-content;margin-bottom:.9rem}.journey-today{margin:1.25rem 0 2rem;padding:1.1rem 1.25rem;border-radius:var(--radius-lg);border:1px solid var(--color-gold);background:radial-gradient(circle at 100% 0,color-mix(in srgb,var(--color-gold) 22%,transparent),transparent 55%),color-mix(in srgb,var(--color-surface) 92%,transparent)}.journey-today h2,.journey-games-title{margin:0 0 .75rem;font-family:var(--font-serif);font-size:1.35rem}.journey-today ol{display:grid;gap:.5rem;margin:0;padding:0;list-style:none;counter-reset:today}.journey-today li a{display:flex;align-items:center;gap:.8rem;padding:.75rem .9rem;border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-border-soft);color:var(--color-text);counter-increment:today;transition:border-color var(--duration-fast),transform var(--duration-fast)}.journey-today li a:before{content:counter(today);flex:none;display:grid;place-items:center;width:1.7rem;height:1.7rem;border-radius:50%;background:var(--color-terracotta);color:#fff;font-size:.85rem;font-weight:700}.journey-today li a:hover{border-color:var(--color-gold);transform:translate(3px)}.journey-today li a>span{flex:1;display:grid;gap:.1rem}.journey-today small{color:var(--color-text-soft)}.journey-today-done{display:flex;align-items:center;gap:.5rem;margin:0}.journey-games{display:grid;grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:.8rem;margin:0 0 1.5rem;padding:0;list-style:none}.journey-game{display:grid;justify-items:start;gap:.35rem;width:100%;height:100%;padding:1rem;border-radius:1.1rem;border:1px solid color-mix(in srgb,var(--game) 35%,var(--color-border));border-bottom-width:4px;background:radial-gradient(circle at 100% 0,color-mix(in srgb,var(--game) 20%,transparent),transparent 65%),var(--color-surface);color:var(--color-text);font:inherit;text-align:left;cursor:pointer;transition:transform .15s var(--ease-out),border-bottom-width .15s}.journey-game:hover{transform:translateY(-3px)}.journey-game:active{transform:translateY(1px);border-bottom-width:2px}.journey-game-icon{display:grid;place-items:center;width:3rem;height:3rem;border-radius:.9rem;background:var(--game);color:#fff;box-shadow:0 4px color-mix(in srgb,var(--game) 60%,#000);margin-bottom:.3rem}.journey-game strong{font-size:.98rem;line-height:1.25}.journey-game small{color:var(--color-text-soft);font-size:.8rem;line-height:1.35}.page-back-link{display:flex;width:fit-content;margin-bottom:.9rem}.journey-back{border:0;background:none;padding:0;font:inherit;cursor:pointer}.trail-title-accent{color:var(--color-gold-text)}.trail-card{position:relative;display:grid;justify-items:start;gap:.35rem;padding:1.25rem;border-radius:1.25rem;border:1px solid color-mix(in srgb,var(--trail) 40%,var(--color-border));background:radial-gradient(circle at 30% 20%,color-mix(in srgb,var(--trail) 22%,transparent),transparent 60%),var(--color-surface);color:var(--color-text);overflow:hidden;transition:transform .2s var(--ease-out),box-shadow .2s}.trail-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px color-mix(in srgb,var(--trail) 22%,transparent)}.trail-card>strong,.trail-card-body>strong{font-family:var(--font-serif);font-size:1.35rem}.trail-card-desc{color:var(--color-text-soft);font-size:.92rem}.trail-card-art{justify-self:center;width:min(100%,12rem);animation:island-float 4.6s ease-in-out infinite}.trail-card.is-featured{margin:1.5rem 0 1rem;padding:1.5rem}.trail-card.is-featured .trail-card-art{width:min(100%,15rem)}.trail-card-body{display:grid;gap:.45rem;width:100%}@media(min-width:720px){.trail-card.is-featured{grid-template-columns:1fr 1.1fr;align-items:center;gap:1.5rem}}.trail-chip{justify-self:start;padding:.2rem .65rem;border-radius:var(--radius-full);border:1px solid color-mix(in srgb,var(--trail) 60%,transparent);background:color-mix(in srgb,var(--trail) 14%,transparent);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.trail-card-progress{display:flex;align-items:center;gap:.6rem;width:100%;margin-top:.3rem}.trail-card-progress .year-bar{flex:1}.trail-card-progress small{font-weight:700;color:var(--color-text-muted)}.trail-card-cta{justify-content:center;margin-top:.5rem;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.trail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:1rem}.trail-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;border-radius:1.1rem;border:1px solid color-mix(in srgb,var(--trail) 35%,var(--color-border));background:var(--color-surface)}.trail-head h1{margin:.15rem 0 0;font-family:var(--font-serif);font-size:clamp(1.3rem,4vw,1.8rem);line-height:1.15}.trail-head .fx-small-btn{flex:none}.trail-hint{margin:1rem 0 0;color:var(--color-text-soft);font-size:.95rem}.trail-map{position:relative;width:min(100%,34rem);margin:.5rem auto 2rem}.trail-road{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible}.trail-road path{fill:none;stroke:color-mix(in srgb,var(--color-text-muted) 45%,transparent);stroke-width:2.5;stroke-dasharray:3 7;stroke-linecap:round}.trail-road path.is-lit{stroke:var(--trail);stroke-width:3}.trail-hero{position:absolute;left:50%;top:0;width:min(15rem,62%);transform:translate(-50%);filter:drop-shadow(0 0 24px color-mix(in srgb,var(--trail) 45%,transparent))}.trail-hero .trail-island-svg{animation:island-float 5s ease-in-out infinite}.trail-islands{margin:0;padding:0;list-style:none}.trail-stop{position:absolute;display:flex;align-items:center;gap:.6rem;width:62%;transform:translateY(-50%)}.trail-stop.is-left{left:30%;margin-left:-5.5rem}.trail-stop.is-right{right:30%;margin-right:-5.5rem;flex-direction:row-reverse;text-align:right}.trail-stop-island{position:relative;flex:none;width:11rem;padding:0;border:0;background:none;cursor:pointer;-webkit-tap-highlight-color:transparent}.trail-stop-island:disabled{cursor:default}.trail-stop-island:focus-visible{outline:3px solid var(--color-terracotta);outline-offset:4px;border-radius:50%}.trail-island-float{display:block;animation:island-float 4.2s ease-in-out calc(var(--i) * -.7s) infinite}@keyframes island-float{0%,to{transform:translateY(0)}50%{transform:translateY(-9px)}}.trail-island-svg{display:block;width:100%;height:auto;overflow:visible;transition:transform .25s var(--ease-out),filter .25s}.trail-stop-island:not(:disabled):hover .trail-island-svg{transform:scale(1.05)}.trail-stop.is-current .trail-island-svg{transform:scale(1.08);filter:drop-shadow(0 0 16px color-mix(in srgb,var(--trail, var(--color-gold)) 60%,transparent))}.trail-stop.is-new .trail-island-svg{animation:island-unlock 1.2s var(--ease-out)}@keyframes island-unlock{0%{transform:scale(.85);filter:grayscale(1)}60%{transform:scale(1.18);filter:drop-shadow(0 0 22px var(--color-gold))}to{transform:scale(1.08)}}.trail-stop-label{display:grid;gap:.15rem;min-width:0}.trail-stop-label small{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted)}.trail-stop-label strong{font-size:1.05rem;line-height:1.25}.trail-stop.is-current .trail-stop-label small{color:var(--trail, var(--color-terracotta))}.trail-stop.is-locked .trail-stop-label{opacity:.55}@media(max-width:560px){.trail-stop-island{width:8.5rem}.trail-stop.is-left{margin-left:-4.25rem}.trail-stop.is-right{margin-right:-4.25rem}.trail-stop{width:74%}.trail-stop-label strong{font-size:.95rem}}.ti-shadow{fill:#2d241f2e}.ti-earth{fill:#9a6b47}.ti-roots{fill:none;stroke:#7a5236;stroke-width:3;stroke-linecap:round}.ti-grass{fill:#5e8c63}.ti-grass-top{fill:#78a97d}.ti-fill{fill:#fffdf9;stroke:var(--island, #B28A42);stroke-width:2;stroke-linejoin:round}.ti-line{fill:none;stroke:var(--island, #B28A42);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.ti-glow{fill:color-mix(in srgb,var(--island, #F7E3A6) 35%,#FFF6D8);opacity:.6}.is-done .ti-fill{fill:#fff3cf}.is-done .ti-glow{opacity:.95}.is-locked .ti-earth,.is-locked .ti-roots,.is-locked .ti-grass,.is-locked .ti-grass-top,.is-locked .ti-icon{filter:grayscale(1);opacity:.45}:root[data-theme=dark] .ti-shadow{fill:#00000073}.trail-badge{position:absolute;top:.4rem;right:1.2rem;display:grid;place-items:center;width:1.7rem;height:1.7rem;border-radius:50%;color:#fff;box-shadow:var(--shadow-sm)}.trail-badge.is-done{background:#5e8c63}.trail-badge.is-locked{background:#8c7e6b}.trail-section-title{margin:2.5rem 0 .25rem;font-family:var(--font-serif);font-size:1.5rem}.trail-section-title+.trail-grid{margin-top:1rem}.trail-section-title+.trail-hint{margin:0 0 1rem}.quiz-invite{margin-top:2.5rem}@media(min-width:720px){.quiz-invite{grid-template-columns:10rem 1fr;align-items:center;gap:1.25rem}.quiz-invite .trail-card-art{width:10rem}}.quiz-page .trail-head{margin-bottom:1.25rem}.quiz-game,.quiz-result,.quiz-setup{display:grid;gap:1rem;max-width:40rem;margin:0 auto}.quiz-progress{display:flex;gap:.3rem}.quiz-progress span{flex:1;height:.45rem;border-radius:999px;background:var(--color-border-soft);transition:background .3s}.quiz-progress span.is-now{background:color-mix(in srgb,var(--trail) 45%,var(--color-border-soft))}.quiz-progress span.is-right{background:#5e8c63}.quiz-progress span.is-wrong{background:#b23a2e}.quiz-game .quiz-count{margin:0;color:var(--trail)}.quiz-game .quiz-question{margin:0;font-family:var(--font-serif);font-size:clamp(1.35rem,4.5vw,1.8rem);line-height:1.25}.quiz-game .quiz-options{gap:.65rem}.quiz-game .quiz-option{gap:.75rem;padding:.85rem 1rem;border-width:2px;border-bottom-width:4px;border-radius:.9rem;font-size:1rem;transition:transform .12s,border-color .15s,background .15s}.quiz-game .quiz-option:not(:disabled):hover{border-color:var(--trail);transform:translateY(-2px)}.quiz-game .quiz-option:not(:disabled):active{transform:translateY(1px);border-bottom-width:2px}.quiz-game .quiz-option>span:nth-child(2){flex:1}.quiz-letter{flex:none;display:grid;place-items:center;width:2rem;height:2rem;border-radius:.55rem;border:2px solid var(--color-border);font-weight:800;font-size:.85rem;color:var(--color-text-soft)}.quiz-option.is-right .quiz-letter{border-color:#5e8c63;background:#5e8c63;color:#fff}.quiz-option.is-wrong .quiz-letter{border-color:#b23a2e;background:#b23a2e;color:#fff}.quiz-game .quiz-why{margin:0;padding:1rem 1.1rem;border-radius:.9rem;border:1px solid}.quiz-why.is-right{border-color:#5e8c63;background:color-mix(in srgb,#5E8C63 12%,var(--color-surface))}.quiz-why.is-wrong{border-color:#b23a2e;background:color-mix(in srgb,#B23A2E 9%,var(--color-surface))}.quiz-why p{margin:.35rem 0 0;line-height:1.6}.quiz-game .quiz-next{display:inline-flex;margin-top:.85rem}.quiz-score{display:grid;justify-items:center;gap:.35rem;padding:1.75rem 1rem;border-radius:1.1rem;border:1px solid var(--trail);background:radial-gradient(circle at 50% 0,color-mix(in srgb,var(--trail) 22%,transparent),transparent 65%),var(--color-surface);text-align:center}.quiz-score strong{font-family:var(--font-serif);font-size:3rem;line-height:1}.quiz-score span{color:var(--color-text-soft);max-width:28rem}.quiz-review h2{margin:0 0 .6rem;font-family:var(--font-serif);font-size:1.25rem}.quiz-review ul{display:grid;gap:.6rem;margin:0;padding:0;list-style:none}.quiz-review li{display:grid;gap:.25rem;padding:.85rem 1rem;border-radius:var(--radius-md);border:1px solid var(--color-border-soft);background:var(--color-surface);line-height:1.5}.quiz-review li>span:last-child{color:var(--color-text-soft);font-size:.92rem}.quiz-review-answer{color:#5e8c63;font-weight:700}.quiz-result-actions{display:flex;flex-wrap:wrap;gap:.6rem}.quiz-setup .filter-group{border-bottom:0}.quiz-setup-note{display:block;margin-top:.5rem;color:var(--color-text-muted)}.quiz-start{justify-self:start}.game-intro{margin:1.25rem 0;padding:1.1rem 1.25rem;border-radius:1rem;border:1px dashed var(--color-gold);background:color-mix(in srgb,var(--color-gold) 8%,var(--color-surface))}.game-intro header{display:flex;justify-content:space-between;align-items:center}.game-intro header strong{display:inline-flex;align-items:center;gap:.45rem;font-size:1.05rem}.game-intro ol{display:grid;gap:.5rem;margin:.75rem 0;padding-left:1.3rem;line-height:1.55}.game-intro-note{margin:0 0 .75rem;color:var(--color-text-soft);font-size:.9rem}.game-intro-toggle{display:inline-flex;align-items:center;gap:.4rem;margin:1rem 0;padding:.4rem .85rem;border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-soft);font-size:.85rem;font-weight:600;cursor:pointer}.game-intro-toggle:hover{border-color:var(--color-gold);color:var(--color-text)}.map-sea{fill:#cfe0ea}.map-land{fill:#efe6d2;stroke:#b9a47e;stroke-width:.5}.map-borders{fill:none;stroke:#c9b795;stroke-width:.4;stroke-dasharray:1.5 1.5}:root[data-theme=dark] .map-sea{fill:#142231}:root[data-theme=dark] .map-land{fill:#2b241d;stroke:#5a4a36}:root[data-theme=dark] .map-borders{stroke:#4a3d2e}.map-pin{cursor:pointer;outline:none}.map-pin-hit{fill:transparent}.map-pin-ring{fill:none;stroke:var(--color-gold);stroke-width:0;opacity:0}.map-pin-drop{fill:#8c7e6b;stroke:#fff;stroke-width:.8;transform-box:fill-box;transform-origin:50% 100%;transition:transform .2s var(--ease-out)}.map-pin-dot{fill:#fff}.map-pin:hover .map-pin-drop,.map-pin:focus-visible .map-pin-drop,.map-pin.is-selected .map-pin-drop{transform:scale(1.3)}.map-pin.is-visited .map-pin-drop{fill:var(--color-gold);filter:drop-shadow(0 0 3px var(--color-gold))}.map-pin.is-visited .map-pin-ring{stroke-width:1.2;animation:pin-ring 2.4s ease-out infinite}.map-pin.is-selected .map-pin-drop{fill:var(--color-terracotta)}@keyframes pin-ring{0%{r:3;opacity:.9}to{r:12;opacity:0}}.map-hint{margin:0;color:var(--color-text-soft)}.map-credit{margin:.75rem 0 0;font-size:.75rem;color:var(--color-text-muted)}.trail-random-link{display:inline-flex;align-items:center;gap:.5rem;margin-top:1.75rem;padding:.65rem 1.1rem;border-radius:var(--radius-full);border:1px dashed var(--color-gold);color:var(--color-text);font-weight:600;font-size:.92rem}.trail-random-link:hover{background:color-mix(in srgb,var(--color-gold) 12%,transparent)}.diary-day{aspect-ratio:auto;border:0;border-radius:.5rem;padding:.15rem 0;background:color-mix(in srgb,var(--color-border-soft) 45%,transparent)}.diary-day.is-prayed,.diary-day.is-grace{background:color-mix(in srgb,var(--color-gold) 14%,transparent);box-shadow:none}.diary-candle{display:block;width:100%;height:auto;max-height:2.4rem}.diary-candle-body{fill:#ede3d2;stroke:#c9b795;stroke-width:.8}.diary-candle-wick{stroke:#6b5b4a;stroke-width:1;stroke-linecap:round}.diary-candle-flame{fill:#f2b544;transform-box:fill-box;transform-origin:50% 100%;animation:candle-flicker 1.4s ease-in-out infinite alternate}.diary-candle-halo{fill:#ffe8a3;opacity:.45}.diary-candle-star{fill:var(--color-gold)}.is-prayed .diary-candle-body,.diary-legend li:first-child .diary-candle-body{fill:#fff6e0}.is-empty .diary-candle-body,.is-future .diary-candle-body{fill:color-mix(in srgb,#EDE3D2 60%,transparent)}.diary-legend .diary-candle{width:.9rem}:root[data-theme=dark] .diary-candle-body{fill:#4a3f33;stroke:#6b5b4a}:root[data-theme=dark] .is-prayed .diary-candle-body{fill:#f3e7cf}.collection-filters{margin-bottom:1rem}.collection-grid{grid-template-columns:repeat(auto-fill,minmax(7.5rem,1fr))}.collection-card{display:grid;gap:.35rem;padding:0;border:0;background:none;perspective:600px}.collection-card-inner{position:relative;display:grid;width:100%;min-height:9.5rem;padding:0;border:0;background:none;cursor:pointer;transform-style:preserve-3d;transition:transform .5s var(--ease-out)}.collection-card.is-flipped .collection-card-inner{transform:rotateY(180deg)}.collection-face{grid-area:1 / 1;display:grid;justify-items:center;align-content:center;gap:.3rem;padding:.75rem .5rem;border-radius:.9rem;border:1px solid var(--color-border-soft);background:var(--color-surface);font-size:.75rem;line-height:1.3;text-align:center;color:var(--color-text-muted);backface-visibility:hidden}.collection-face strong{font-size:.8rem;color:var(--color-text)}.collection-face.is-back{transform:rotateY(180deg);border-color:var(--color-gold);background:color-mix(in srgb,var(--color-gold) 10%,var(--color-surface))}.collection-card.is-collected .collection-face.is-front{border-color:var(--color-gold);box-shadow:0 0 0 1px color-mix(in srgb,var(--color-gold) 40%,transparent),0 6px 14px #5e3b2414}.collection-card:not(.is-collected) .collection-face.is-front .saint-initial{filter:grayscale(1) brightness(.55) contrast(.8);opacity:.55}.collection-card-link{justify-self:center;font-size:.78rem;font-weight:700;color:var(--color-terracotta)}.bouquet-layout{display:grid;gap:1.25rem;align-items:start}@media(min-width:760px){.bouquet-layout{grid-template-columns:15rem 1fr}.bouquet-vase{position:sticky;top:6rem}}.bouquet-vase{margin:0;justify-self:center;width:min(100%,15rem);text-align:center}.bouquet-vase svg{display:block;width:100%;height:auto}.bouquet-vase figcaption{font-size:.85rem;color:var(--color-text-soft)}.bouquet-stem{fill:none;stroke:#5e8c63;stroke-width:2}.bouquet-flower{transform-box:fill-box;transform-origin:50% 100%;animation:flower-grow .45s var(--ease-out) both}.bouquet-flower-center{fill:#e3b55a}@keyframes flower-grow{0%{transform:scale(.3);opacity:0}}.bouquet-vase-body{fill:#b88a5a}.bouquet-vase-rim{fill:#9a6b47}.map-card{position:relative;display:block;width:100%;padding:0;border:1px solid var(--color-border);border-radius:1.1rem;overflow:hidden;background:none;cursor:zoom-in;box-shadow:var(--shadow-md)}.map-card svg{display:block;width:100%;height:auto}.map-card-cta{position:absolute;right:.9rem;bottom:.9rem;display:inline-flex;align-items:center;gap:.4rem;padding:.55rem 1rem;border-radius:var(--radius-full);background:var(--color-terracotta);color:#fff;font-weight:700;font-size:.9rem;box-shadow:var(--shadow-md);transition:transform .2s var(--ease-out)}.map-card:hover .map-card-cta{transform:translateY(-2px)}.map-viewer{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;padding:0;border:0;background:#cfe0ea;overflow:hidden}:root[data-theme=dark] .map-viewer{background:#142231}.map-viewer::backdrop{background:#0009}.map-viewer-canvas{position:absolute;top:0;right:0;bottom:0;left:0;touch-action:none;cursor:grab}.map-viewer-canvas:active{cursor:grabbing}.map-viewer-canvas svg{width:100%;height:100%}.map-viewer-controls{position:absolute;top:calc(.9rem + env(safe-area-inset-top));right:.9rem;display:grid;gap:.45rem}.map-viewer-controls button{display:grid;place-items:center;width:2.75rem;height:2.75rem;border-radius:.8rem;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-md);cursor:pointer}.map-viewer-controls button:last-child{margin-top:.4rem;background:var(--color-terracotta);border-color:var(--color-terracotta);color:#fff}.map-viewer-hint{position:absolute;top:calc(.9rem + env(safe-area-inset-top));left:.9rem;right:4.5rem;margin:0;padding:.45rem .8rem;width:fit-content;border-radius:var(--radius-full);background:color-mix(in srgb,var(--color-surface) 88%,transparent);font-size:.78rem;color:var(--color-text-soft);pointer-events:none}.map-tooltip{position:absolute;z-index:2;display:grid;gap:.1rem;padding:.45rem .75rem;border-radius:.7rem;border:1px solid var(--color-gold);background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-md);text-align:center;white-space:nowrap;pointer-events:none;transform:translate(-50%,calc(-100% - .5rem));animation:fadeIn .15s var(--ease-out)}.map-tooltip:after{content:"";position:absolute;left:50%;bottom:-.35rem;width:.6rem;height:.6rem;margin-left:-.3rem;border-right:1px solid var(--color-gold);border-bottom:1px solid var(--color-gold);background:var(--color-surface);transform:rotate(45deg)}.map-tooltip.is-below{transform:translate(-50%,.5rem)}.map-tooltip.is-below:after{top:-.35rem;bottom:auto;transform:rotate(225deg)}.map-tooltip strong{font-family:var(--font-serif);font-size:1.05rem}.map-tooltip small{font-size:.74rem;color:var(--color-text-muted)}.card-list{display:flex!important;flex-wrap:wrap;justify-content:center;gap:.9rem;margin:0;padding:0;list-style:none}.avatar-frame{position:relative;display:inline-block;flex:none;vertical-align:middle}.af-fx{position:absolute;left:-40%;top:-40%;width:180%;height:180%;overflow:visible;pointer-events:none}.af-avatar{position:absolute;top:8%;right:8%;bottom:8%;left:8%;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle at 35% 30%,color-mix(in srgb,var(--frame-accent) 55%,transparent),transparent 70%),var(--color-surface);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--frame) 45%,transparent);overflow:hidden}.af-initial{font-family:var(--font-serif);font-weight:700;line-height:1;color:var(--frame)}.af-dove{width:70%;fill:var(--frame);opacity:.85}.journey-profile{display:flex;align-items:center;gap:1rem;margin:1.25rem 0 0;padding:1rem 1.1rem;border-radius:1.1rem;border:1px solid var(--color-border);background:var(--color-surface)}.journey-profile-body{display:grid;gap:.55rem;min-width:0}.journey-profile-name{justify-self:start;padding:0;border:0;background:none;color:var(--color-text);font-family:var(--font-serif);font-size:1.35rem;font-weight:700;cursor:pointer}.journey-profile-name small{font-family:var(--font-sans);font-size:.72rem;font-weight:600;color:var(--color-terracotta);text-decoration:underline}.journey-profile .search{padding-left:1rem}.journey-frames{display:flex;flex-wrap:wrap;gap:.35rem}.journey-frame{padding:.15rem;border:2px solid transparent;border-radius:50%;background:none;cursor:pointer}.journey-frame:disabled{cursor:not-allowed;filter:grayscale(1);opacity:.35}.journey-frame.is-active{border-color:var(--color-terracotta)}.passport-pages{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;padding:1.25rem;border-radius:.9rem;background:repeating-linear-gradient(0deg,transparent 0 27px,color-mix(in srgb,var(--color-gold) 14%,transparent) 27px 28px),color-mix(in srgb,#F6EBD3 70%,var(--color-surface));border:1px solid color-mix(in srgb,var(--color-gold) 45%,var(--color-border))}:root[data-theme=dark] .passport-pages{background:repeating-linear-gradient(0deg,transparent 0 27px,rgba(200,150,62,.08) 27px 28px),#2a231c}.passport-slot{flex:0 1 10rem;color:inherit}.stamp{display:grid;justify-items:center;gap:.2rem;padding:.9rem .6rem;border-radius:50%/38%;border:2px dashed color-mix(in srgb,var(--color-text-muted) 45%,transparent);text-align:center;opacity:.6}.stamp-art{width:4.5rem;filter:grayscale(1);opacity:.5}.stamp strong{font-size:.85rem;line-height:1.2}.stamp small{font-size:.72rem;color:var(--color-text-muted)}.stamp.is-stamped{opacity:1;border:3px double var(--stamp);color:var(--stamp);transform:rotate(var(--tilt));background:color-mix(in srgb,var(--stamp) 6%,transparent);animation:stamp-in .5s var(--ease-out) both}.stamp.is-stamped .stamp-art{filter:none;opacity:1}.stamp.is-stamped strong{text-transform:uppercase;letter-spacing:.04em}.stamp.is-stamped small{color:var(--stamp)}@keyframes stamp-in{0%{transform:rotate(var(--tilt)) scale(1.6);opacity:0}}@media(max-width:560px){.passport-pages{gap:.7rem .5rem;padding:.9rem .6rem}.passport-slot{flex:0 1 calc(50% - .25rem);max-width:9rem}.stamp{padding:.6rem .35rem;gap:.1rem}.stamp-art{width:2.9rem}.stamp strong{font-size:.74rem}.stamp small{font-size:.64rem}}.reward-reveal{width:min(30rem,calc(100% - 2rem));margin:auto;padding:1.75rem 1.5rem;border:1px solid var(--trail);border-radius:1.25rem;background:var(--color-cream);color:var(--color-text);text-align:center;max-height:92dvh;overflow:hidden auto}.reward-reveal[open]{display:grid;justify-items:center;gap:.6rem;animation:filter-sheet-in .35s var(--ease-out)}.reward-reveal::backdrop{background:#140f0a99;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.reward-reveal h2{position:relative;margin:0;font-family:var(--font-serif);font-size:1.6rem}.reward-reveal p{position:relative;margin:0;color:var(--color-text-soft)}.reward-reveal .eyebrow{position:relative}.reward-rays-clip{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;border-radius:inherit;pointer-events:none}.reward-rays{position:absolute;left:50%;top:35%;width:40rem;height:40rem;margin:-20rem 0 0 -20rem;background:repeating-conic-gradient(color-mix(in srgb,var(--trail) 9%,transparent) 0 8deg,transparent 8deg 20deg);animation:rays-spin 40s linear infinite;pointer-events:none}.reward-items{position:relative;display:flex;flex-wrap:wrap;justify-content:center;gap:1.25rem;margin:.5rem 0}.reward-items figure{display:grid;justify-items:center;gap:.4rem;width:11rem;margin:0}.reward-items figcaption{font-size:.82rem;color:var(--color-text-soft)}.reward-actions{position:relative;display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem}.glass-piece{position:relative;width:7rem;height:7rem;margin:.5rem 0;clip-path:polygon(50% 0,100% 38%,82% 100%,18% 100%,0 38%);background:linear-gradient(135deg,rgba(255,255,255,.55),transparent 45%),var(--glass);box-shadow:inset 0 0 0 3px #3a2e26;animation:glass-glow 2.4s ease-in-out infinite}@keyframes glass-glow{50%{filter:brightness(1.25) drop-shadow(0 0 12px var(--glass))}}.rose-window{margin:0 auto 1.5rem;width:min(100%,20rem);text-align:center}.rose-window svg{display:block;width:100%;height:auto}.rose-window figcaption{font-size:.85rem;color:var(--color-text-soft)}.rose-frame{fill:#3a2e26}.rose-petal{cursor:pointer;outline:none}.rose-petal path{fill:color-mix(in srgb,#8C7E6B 55%,#2A231C);stroke:#3a2e26;stroke-width:2.5;transition:fill .4s}.rose-petal.is-lit path{fill:var(--glass);filter:drop-shadow(0 0 4px var(--glass))}.rose-petal:hover path,.rose-petal:focus-visible path{filter:brightness(1.25)}.rose-petal.is-now path{stroke:var(--color-gold)}.rose-jewel{fill:#ffffff2e}.rose-petal.is-lit .rose-jewel{fill:#ffffff8c}.rose-label{fill:#fff;font-size:9px;font-weight:700;text-anchor:middle;pointer-events:none}.rose-center{fill:#f2d58a;stroke:#3a2e26;stroke-width:3}.rose-cross{fill:none;stroke:#8c6a3f;stroke-width:4;stroke-linecap:round}.month-cards>li{flex:0 1 11.5rem}.month-card{display:grid;justify-items:start;gap:.55rem;width:100%;height:100%;padding:.95rem;border-radius:1rem;border:1px solid var(--color-border);border-top:4px solid color-mix(in srgb,var(--glass) 70%,transparent);background:var(--color-surface);color:var(--color-text);font:inherit;text-align:left;cursor:pointer;transition:transform .15s var(--ease-out),box-shadow .15s}.month-card:hover{transform:translateY(-3px);box-shadow:0 10px 22px color-mix(in srgb,var(--glass) 22%,transparent)}.month-card.is-now{border-color:var(--color-gold);box-shadow:0 0 0 1px var(--color-gold)}.month-card.is-lit{background:linear-gradient(135deg,color-mix(in srgb,var(--glass) 18%,transparent),transparent 70%),var(--color-surface)}.month-card-head{display:grid}.month-card-head small{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted)}.month-card.is-now .month-card-head small{color:var(--color-terracotta)}.month-card-head strong{font-family:var(--font-serif);font-size:1.3rem;text-transform:capitalize}.month-card-faces{display:flex;align-items:center}.month-card-faces>span{margin-right:-.55rem}.month-card-faces .saint-initial{width:2.1rem;height:2.1rem;font-size:.85rem;border:2px solid var(--color-surface)}.month-card-faces>span:not(.is-collected) .saint-initial{filter:grayscale(1) brightness(.6);opacity:.6}.month-card-more{display:grid;place-items:center;width:2.1rem;height:2.1rem;border-radius:50%;border:2px solid var(--color-surface);background:var(--color-border-soft);font-size:.72rem;font-weight:700}.month-card-status{font-size:.8rem;color:var(--color-text-soft)}.month-card.is-lit .month-card-status{color:var(--glass);font-weight:700}.month-sheet-hint{margin:0 0 1rem;color:var(--color-text-soft);line-height:1.55}.month-sheet .collection-grid>li{flex:0 1 8rem}@media(max-width:560px){.reward-reveal{padding:1.25rem 1rem}.reward-items{flex-wrap:nowrap;gap:.6rem}.reward-items figure{width:50%}.reward-items .stamp-art{width:3.2rem}.reward-items .avatar-frame{width:92px;height:92px}}@media(max-width:560px){.month-cards>li{flex-basis:9rem}.month-card{padding:.8rem}}.bouquet-list{display:flex;flex-wrap:wrap;justify-content:center}.bouquet-list>.bouquet-card{flex:0 1 21rem}.bouquet-card{position:relative;display:grid;justify-items:center;align-content:start;gap:.35rem;padding:1.6rem 1.4rem 1.2rem;border-radius:1.1rem;border:1px solid color-mix(in srgb,#C2486A 35%,var(--color-gold));outline:1px solid color-mix(in srgb,var(--color-gold) 55%,transparent);outline-offset:-8px;background:radial-gradient(circle at 50% 18%,color-mix(in srgb,#F7D6E0 70%,transparent),transparent 55%),radial-gradient(circle at 0% 100%,color-mix(in srgb,#E9C46A 22%,transparent),transparent 45%),radial-gradient(circle at 100% 100%,color-mix(in srgb,#9B7BC4 18%,transparent),transparent 45%),#fffbf4;color:#3a2a22;text-align:center;box-shadow:0 14px 30px #5e3b241f;overflow:hidden}.bouquet-card-corner{position:absolute;width:5rem;height:5rem;background:radial-gradient(circle at 30% 30%,#C2486A 0 4px,transparent 5px),radial-gradient(circle at 55% 18%,#E9C46A 0 3px,transparent 4px),radial-gradient(circle at 18% 58%,#9B7BC4 0 3px,transparent 4px),radial-gradient(ellipse at 40% 45%,#78A97D 0 7px,transparent 8px),radial-gradient(ellipse at 22% 32%,#5E8C63 0 5px,transparent 6px);opacity:.85}.bouquet-card-corner.is-tl{top:0;left:0}.bouquet-card-corner.is-br{right:0;bottom:0;transform:rotate(180deg)}.bouquet-card-kicker{font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#b84a13}.bouquet-card h3{margin:0;font-family:var(--font-serif);font-size:1.7rem;line-height:1.1;color:#3a2a22}.bouquet-card .bouquet-intention{margin:0;font-style:italic;color:#6b5a4e}.bouquet-card .bouquet-vase{width:11rem;margin:.2rem 0 -.4rem}.bouquet-card-offer{margin:.2rem 0 0;font-family:var(--font-serif);font-size:1.05rem;color:#6b5a4e}.bouquet-ribbons{display:flex;flex-wrap:wrap;justify-content:center;gap:.35rem;margin:.2rem 0 .4rem;padding:0;list-style:none}.bouquet-ribbons li{display:inline-flex;align-items:center;gap:.35rem;padding:.28rem .7rem;border-radius:var(--radius-full);border:1px solid color-mix(in srgb,var(--flower) 55%,#D9C9B4);background:color-mix(in srgb,var(--flower) 14%,#FFFBF4);font-size:.82rem;font-weight:600;color:#3a2a22}.bouquet-ribbon-dot{width:.6rem;height:.6rem;border-radius:50%;background:var(--flower);box-shadow:0 0 0 1px #0000001f}.bouquet-card .bouquet-message{margin:.3rem 0;padding:0 .5rem;font-family:var(--font-serif);font-size:1.1rem;font-style:italic;line-height:1.4;color:#3a2a22}.bouquet-card .bouquet-message:before{content:"“"}.bouquet-card .bouquet-message:after{content:"”"}.bouquet-card .bouquet-from{margin:0;font-weight:600;color:#6b5a4e}.bouquet-date{margin:0;font-size:.75rem;color:#8c7a6b}.bouquet-card .bouquet-actions{width:100%;margin-top:.6rem;padding-top:.75rem;border-top:1px dashed #D9C9B4}.bouquet-card .fx-small-btn{background:#fff;border-color:#d9c9b4;color:#3a2a22}.bouquet-card .filter-clear-link{color:#8c3a2a}.mission-group-title{margin:1.25rem 0 .75rem;font-family:var(--font-serif);font-size:1.2rem;text-align:center}.mission-cards>li{flex:0 1 16rem}.mission-card{display:grid;justify-items:start;align-content:start;gap:.45rem;padding:1rem;border-radius:1rem;border:1px solid color-mix(in srgb,var(--mission) 35%,var(--color-border));border-top:4px solid var(--mission);background:radial-gradient(circle at 100% 0,color-mix(in srgb,var(--mission) 14%,transparent),transparent 60%),var(--color-surface)}.mission-card-kicker{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--mission)}.mission-card>strong{font-family:var(--font-serif);font-size:1.15rem;line-height:1.2}.mission-beads{display:flex;flex-wrap:wrap;gap:.3rem;margin:.2rem 0}.mission-bead{width:.85rem;height:.85rem;border-radius:50%;border:1.5px solid color-mix(in srgb,var(--mission) 70%,transparent)}.mission-bead.is-quiz{border-radius:.2rem;transform:rotate(45deg) scale(.85)}.mission-bead.is-done{background:var(--mission);box-shadow:0 0 6px color-mix(in srgb,var(--mission) 60%,transparent)}.mission-bead.is-now{outline:2px solid var(--color-terracotta);outline-offset:2px}.mission-card-status{font-weight:700;font-size:.82rem}.mission-card-hint{color:var(--color-text-soft);font-size:.82rem;line-height:1.4}.mission-card-actions{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.3rem}.mission-card .journey-mark{padding:.4rem .75rem;font-size:.8rem}.library-grid,.saint-miracles,.miracles-grid,.feature-cards,.credits-list,.scroll-rail.is-static .scroll-rail-track,.collection-grid,.intention-wall,.trail-grid,.saints-grid,.symbols-grid{display:flex;flex-wrap:wrap;justify-content:center}.library-grid>*{flex:0 1 20rem}.saint-miracles>*{flex:0 1 20rem}.miracles-grid>*{flex:0 1 21rem}.feature-cards>*{flex:0 1 26rem}.credits-list>*{flex:0 1 21rem}.scroll-rail.is-static .scroll-rail-track>*{flex:0 1 20rem}.collection-grid>*{flex:0 1 7.5rem}.intention-wall>*{flex:0 1 19rem}.trail-grid>*{flex:0 1 18rem}.saints-grid>*{flex:1 1 100%}.symbols-grid>*{flex:1 1 100%}@media(min-width:640px){.symbols-grid>*{flex-basis:calc(50% - .5rem);max-width:calc(50% - .5rem)}}@media(min-width:720px){.saints-grid>*{flex-basis:calc(50% - .4rem);max-width:calc(50% - .4rem)}}@media(min-width:1024px){.symbols-grid>*{flex-basis:calc(33.333% - .67rem);max-width:calc(33.333% - .67rem)}}@media(max-width:480px){.miracles-grid>*{flex-basis:100%}}.journey-hub{display:grid;gap:1.1rem;margin-top:1.25rem;grid-template-areas:"side" "main" "shelves"}.journey-hub-side{grid-area:side;min-width:0}.journey-hub-main{grid-area:main;display:grid;gap:1.1rem;align-content:start;min-width:0}.journey-hub-shelves{grid-area:shelves;display:grid;gap:1.6rem;margin-top:.6rem;min-width:0}@media(min-width:960px){.journey-hub{grid-template-columns:minmax(0,1fr) 19rem;grid-template-areas:"main side" "shelves shelves";column-gap:1.4rem}.journey-hub-side .journey-profile{position:sticky;top:5.5rem}}.journey-profile{display:grid;gap:.9rem;margin:0;align-items:stretch}.journey-profile-top{display:flex;align-items:center;gap:.9rem}.journey-hello{color:var(--color-text-soft);font-size:.85rem}.journey-profile-body{gap:.1rem}.journey-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:.4rem;margin:0}.journey-stats>div{display:flex;flex-direction:column-reverse;align-items:center;justify-content:flex-end;gap:.1rem;padding:.55rem .25rem;border-radius:.8rem;background:color-mix(in srgb,var(--color-gold) 9%,transparent);text-align:center}.journey-stats dt{font-size:.68rem;line-height:1.2;color:var(--color-text-soft)}.journey-stats dd{margin:0;font-family:var(--font-serif);font-size:1.3rem;font-weight:700;color:var(--color-terracotta)}@media(min-width:960px){.journey-stats{grid-template-columns:repeat(2,1fr)}}.journey-frames-box{display:grid;gap:.35rem}.journey-frames-box>small{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-soft)}.journey-profile-community{display:inline-flex;align-items:center;gap:.3rem;justify-self:start;font-size:.85rem;font-weight:600;color:var(--color-terracotta)}.journey-continue{position:relative;display:flex;align-items:center;gap:1rem;padding:1.1rem 1.25rem;border-radius:1.3rem;border:1px solid color-mix(in srgb,var(--game) 45%,var(--color-border));border-bottom-width:5px;background:radial-gradient(circle at 12% 50%,color-mix(in srgb,var(--game) 26%,transparent),transparent 55%),linear-gradient(135deg,color-mix(in srgb,var(--game) 10%,var(--color-surface)),var(--color-surface));color:var(--color-text);overflow:hidden;transition:transform .15s var(--ease-out)}.journey-continue:hover{transform:translateY(-2px)}.journey-continue-art{flex:none;width:8.5rem}.journey-continue-art .trail-island-svg{animation:island-float 5s ease-in-out infinite}.journey-continue-body{display:grid;gap:.3rem;min-width:0}.journey-continue-body>strong{font-family:var(--font-serif);font-size:1.55rem;line-height:1.15}.journey-continue-body>small{color:var(--color-text-soft)}.journey-continue-progress{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;font-size:.8rem;font-weight:700}.journey-continue-cta{justify-self:start;display:inline-flex;align-items:center;gap:.35rem;margin-top:.3rem;padding:.55rem 1.1rem;border-radius:999px;background:var(--game);color:#fff;font-weight:700;box-shadow:0 3px color-mix(in srgb,var(--game) 60%,#000)}@media(max-width:560px){.journey-continue{padding:1rem;gap:.6rem}.journey-continue-art{width:5.6rem}.journey-continue-body>strong{font-size:1.25rem}}.mini-beads{display:inline-flex;flex-wrap:wrap;gap:.25rem}.mini-beads .mission-bead{width:.7rem;height:.7rem}.journey-today{margin:0}.journey-today>header{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;margin-bottom:.7rem}.journey-today>header h2{margin:0}.journey-today>header small{font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-soft)}.journey-today li a:before{content:none}.journey-today-check{flex:none;display:grid;place-items:center;width:1.5rem;height:1.5rem;border-radius:50%;border:2px solid var(--color-gold)}.journey-today li.is-done a{opacity:.75}.journey-today li.is-done .journey-today-check{background:#5e8c63;border-color:#5e8c63;color:#fff}.journey-today li.is-done strong{text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--color-text) 40%,transparent)}.journey-today-done{margin-top:.7rem;font-size:.88rem;color:var(--color-text-soft)}.game-shelf>header{display:flex;align-items:baseline;flex-wrap:wrap;gap:.2rem .7rem;margin-bottom:.75rem}.game-shelf>header h2{margin:0;font-family:var(--font-serif);font-size:1.4rem}.game-shelf>header small{color:var(--color-text-soft)}.game-shelf-grid{display:grid;gap:.8rem}.game-tile{position:relative;display:flex;flex-direction:column;gap:.75rem;width:100%;padding:1rem;border-radius:1.1rem;border:1px solid color-mix(in srgb,var(--game) 35%,var(--color-border));border-bottom-width:4px;background:radial-gradient(circle at 100% 0,color-mix(in srgb,var(--game) 16%,transparent),transparent 60%),var(--color-surface);color:var(--color-text);font:inherit;text-align:left;cursor:pointer;overflow:hidden;transition:transform .15s var(--ease-out),border-bottom-width .15s}.game-tile:hover{transform:translateY(-3px)}.game-tile:active{transform:translateY(1px);border-bottom-width:2px}.game-tile .journey-game-icon{flex:none;width:2.5rem;height:2.5rem;margin:0;border-radius:.8rem;background:var(--game);box-shadow:0 3px color-mix(in srgb,var(--game) 60%,#000)}.game-tile-head{display:flex;align-items:center;gap:.7rem}.game-tile-text{display:grid;gap:.1rem;min-width:0}.game-tile-text strong{font-size:1rem;line-height:1.2}.game-tile-text small{color:var(--color-text-soft);font-size:.8rem;line-height:1.3}.game-tile-preview{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;flex:1}.game-tile-cta{align-self:flex-start;display:inline-flex;align-items:center;gap:.3rem;font-size:.85rem;font-weight:700;color:var(--game)}.game-tile-count{font-size:.82rem;font-weight:600;color:var(--color-text-soft)}.game-shelf.is-rows .game-tile{flex-direction:row;align-items:center;justify-content:space-between}.game-shelf.is-rows .game-tile-head{flex:1;min-width:0}.game-shelf.is-rows .game-tile-preview{flex:none;align-items:flex-end}@media(min-width:900px){.game-shelf.is-rows .game-shelf-grid{grid-template-columns:repeat(3,1fr)}.game-shelf.is-rows .game-tile{flex-direction:column;align-items:stretch}.game-shelf.is-rows .game-tile-preview{align-items:center}}.mini-candles{display:grid;grid-template-columns:repeat(7,1.25rem);gap:.2rem}.mini-candles .diary-candle{max-height:1.7rem}@media(max-width:420px){.mini-candles{grid-template-columns:repeat(7,.95rem);gap:.12rem}}.game-tile-vase{display:block;width:4.2rem}.game-tile-vase .bouquet-vase{margin:0}@media(min-width:900px){.game-tile-vase{width:5.2rem}}@media(min-width:760px){.game-shelf.is-feature .game-shelf-grid{grid-template-columns:2fr 1fr}}.game-tile.is-big .game-tile-preview{align-items:stretch}.game-tile-islands{display:grid;grid-template-columns:repeat(6,1fr);gap:.3rem;padding:.6rem .4rem .2rem;border-radius:.9rem;background:radial-gradient(ellipse at 50% 120%,color-mix(in srgb,#4F7BB5 22%,transparent),transparent 70%),color-mix(in srgb,var(--game) 6%,transparent)}.game-tile-islands>span:nth-child(odd){transform:translateY(-6px)}@media(max-width:480px){.game-tile-islands{gap:.1rem;padding:.5rem .2rem .1rem}.game-tile-islands>span:nth-child(odd){transform:translateY(-3px)}}.game-tile.is-bolt{background:repeating-linear-gradient(135deg,transparent 0 14px,color-mix(in srgb,var(--game) 7%,transparent) 14px 28px),radial-gradient(circle at 100% 0,color-mix(in srgb,var(--game) 26%,transparent),transparent 60%),var(--color-surface)}.game-tile.is-bolt .game-tile-preview{align-items:flex-start;justify-content:flex-end}.game-tile-chips{display:flex;flex-wrap:wrap;gap:.35rem}.game-tile-chips span{padding:.25rem .6rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--game) 45%,transparent);font-size:.75rem;font-weight:700;color:var(--game)}.game-shelf.is-bento .game-shelf-grid{grid-template-columns:repeat(2,1fr)}.game-tile.is-wide{grid-column:1 / -1}@media(min-width:760px){.game-shelf.is-bento .game-shelf-grid{grid-template-columns:2fr 1fr 1fr}.game-tile.is-wide{grid-column:auto}}@media(max-width:420px){.game-shelf.is-bento .game-tile:not(.is-wide) .game-tile-head{flex-direction:column;align-items:flex-start}}.game-tile-map{display:block;width:100%;border-radius:.8rem;overflow:hidden;border:1px solid var(--color-border-soft)}.game-tile-map svg{display:block;width:100%;height:auto;max-height:11rem}.mini-rose{width:6.5rem;max-width:100%}.mini-rose-frame{fill:none;stroke:var(--color-gold);stroke-width:2}.mini-rose path{fill:color-mix(in srgb,var(--color-text-muted) 14%,transparent);stroke:color-mix(in srgb,var(--color-gold) 50%,transparent);stroke-width:.8}.mini-rose path.is-lit{fill:var(--glass);filter:drop-shadow(0 0 3px color-mix(in srgb,var(--glass) 70%,transparent))}.mini-rose-center{fill:var(--color-gold)}.mini-stamps{display:grid;grid-template-columns:repeat(3,1.9rem);gap:.45rem}.mini-stamps span{aspect-ratio:1;border-radius:50%;border:2px dashed color-mix(in srgb,var(--color-text-muted) 40%,transparent)}.mini-stamps span.is-stamped{border:3px double var(--stamp);background:color-mix(in srgb,var(--stamp) 22%,transparent);transform:rotate(var(--tilt))}.game-switcher{display:flex;gap:.4rem;margin:0 0 1rem;padding:.2rem 0 .5rem;overflow-x:auto;scrollbar-width:none}.game-switcher::-webkit-scrollbar{display:none}@media(min-width:900px){.game-switcher{flex-wrap:wrap;justify-content:center;overflow:visible}}.game-switcher>a,.game-switcher>button{flex:none;display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .8rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--game) 40%,var(--color-border));background:var(--color-surface);color:var(--color-text);font:inherit;font-size:.85rem;font-weight:600;cursor:pointer}.game-switcher svg{color:var(--game)}.game-switcher .is-active{background:var(--game);border-color:var(--game);color:#fff}.game-switcher .is-active svg{color:#fff}.journey-today li a>.journey-today-check{flex:none}.game-tile-count{max-width:6.5rem;text-align:right;line-height:1.3}@media(max-width:959px){.journey-profile{gap:.7rem;padding:.9rem}.journey-profile-top .avatar-frame{width:64px;height:64px}.journey-stats>div{padding:.4rem .2rem}.journey-stats dd{font-size:1.1rem}.journey-stats dt{font-size:.64rem}.journey-frames{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;gap:.2rem}.journey-frames::-webkit-scrollbar{display:none}.journey-frame{flex:none}.journey-frame .avatar-frame{width:32px;height:32px}}.journey-frames-box .journey-frames{gap:.15rem}.journey-frames-box .journey-frame .avatar-frame{width:32px;height:32px}@media(min-width:900px){.game-shelf.is-rows .game-tile-count{max-width:none;text-align:center}.game-shelf.is-rows .mini-candles{grid-template-columns:repeat(7,1.6rem)}.game-shelf.is-rows .mini-candles .diary-candle{max-height:2.1rem}}.journey-frames-box .journey-frames{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.journey-frames-box .journey-frame{flex:none;padding:.05rem}.bouquet-leaf{fill:#78a97d}.trail-study-intro{margin:0 0 1rem;line-height:1.6;color:var(--color-text-soft)}.trail-study{display:grid;gap:1.1rem;margin:0;padding:0;list-style:none}.trail-study>li{display:grid;grid-template-columns:2rem 1fr;gap:.75rem;padding-bottom:1.1rem;border-bottom:1px dashed var(--color-border)}.trail-study>li:last-child{padding-bottom:0;border-bottom:0}.trail-study-number{display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:color-mix(in srgb,var(--trail) 18%,transparent);border:1px solid var(--trail);font-family:var(--font-serif);font-weight:700;color:var(--color-text)}.trail-study h3{margin:.2rem 0 .4rem;font-family:var(--font-serif);font-size:1.25rem}.trail-study .trail-sheet-text{margin:0 0 .6rem}.trail-study .trail-today{margin:0}.hierarchy-ladder{display:grid;justify-items:center;gap:.7rem;margin:1.5rem 0 2rem;padding:0;list-style:none}.hierarchy-step{display:grid;grid-template-columns:4rem 1fr;gap:.9rem;align-items:start;width:min(100%,calc(30rem + var(--step) * 3rem));padding:1rem 1.1rem;border-radius:var(--radius-lg);border:1px solid var(--color-border);border-top:4px solid var(--rank);background:var(--color-surface);box-shadow:var(--shadow-sm, 0 2px 8px rgba(0, 0, 0, .06))}.rank-figure{width:4rem;height:4rem;border-radius:50%;background:color-mix(in srgb,var(--rank) 14%,var(--color-cream, #FFFBF4));border:1px solid color-mix(in srgb,var(--rank) 45%,var(--color-border))}.rank-face{fill:#e9c9a8}.rank-robe{stroke:#0000002e;stroke-width:.6}.rank-rays path{stroke:#e3b55a;stroke-width:2;stroke-linecap:round}.hierarchy-step-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.3rem .6rem}.hierarchy-step h3{margin:0;font-family:var(--font-serif);font-size:1.4rem}.hierarchy-order{padding:.12rem .55rem;border-radius:var(--radius-full);border:1px solid var(--color-gold);font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-gold-text)}.hierarchy-step-body>p{margin:.35rem 0 0;line-height:1.6;color:var(--color-text-soft)}.hierarchy-facts{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;margin:.6rem 0 0}.hierarchy-facts dt{font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-pale, var(--color-text-muted))}.hierarchy-facts dd{display:flex;align-items:center;gap:.35rem;margin:0;font-weight:600}.hierarchy-swatch{width:.8rem;height:.8rem;border-radius:50%;background:var(--rank);box-shadow:0 0 0 1px #0003}.hierarchy-step-body>.hierarchy-note{margin-top:.55rem;padding:.45rem .7rem;border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-gold) 10%,transparent);font-size:.88rem}.hierarchy-extra{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem}.hierarchy-box{flex:1 1 20rem;max-width:34rem;padding:1.1rem 1.25rem;border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface)}.hierarchy-box h3{margin:0 0 .8rem;font-family:var(--font-serif);font-size:1.35rem}.hierarchy-box.is-brazil{border-color:color-mix(in srgb,#2E8B57 45%,var(--color-border));background:linear-gradient(135deg,color-mix(in srgb,#2E8B57 9%,transparent),color-mix(in srgb,#F2C14E 9%,transparent)),var(--color-surface)}.hierarchy-levels{display:grid;gap:.4rem;margin:0;padding:0;list-style:none}.hierarchy-levels li{display:grid;padding:.45rem .7rem;border-left:3px solid var(--color-gold);border-radius:0 var(--radius-md) var(--radius-md) 0;background:color-mix(in srgb,var(--color-gold) 8%,transparent)}.hierarchy-levels li:nth-child(2){margin-left:.8rem}.hierarchy-levels li:nth-child(3){margin-left:1.6rem}.hierarchy-levels li:nth-child(4){margin-left:2.4rem}.hierarchy-levels li:nth-child(5){margin-left:3.2rem}.hierarchy-levels small{color:var(--color-text-muted)}.hierarchy-brazil{display:grid;gap:.7rem;margin:0}.hierarchy-brazil dt{font-weight:700}.hierarchy-brazil dd{margin:.1rem 0 0;line-height:1.55;color:var(--color-text-soft)}@media(max-width:560px){.hierarchy-step{grid-template-columns:3rem 1fr;gap:.7rem;padding:.9rem}.rank-figure{width:3rem;height:3rem}}.journey-photo{position:relative;flex:none;cursor:pointer;border-radius:50%}.journey-photo:focus-within{outline:2px solid var(--color-terracotta);outline-offset:4px}.journey-photo-badge{position:absolute;right:-2px;bottom:-2px;display:grid;place-items:center;width:1.5rem;height:1.5rem;border-radius:50%;border:2px solid var(--color-surface);background:var(--color-terracotta);color:#fff}.af-photo{width:100%;height:100%;object-fit:cover}.journey-photo-remove{justify-self:start;padding:0;border:0;background:none;font:inherit;font-size:.75rem;font-weight:600;color:var(--color-terracotta);text-decoration:underline;cursor:pointer}.journey-photo-hint{font-size:.72rem;color:var(--color-text-muted)}.home-hero{position:relative}.dove-flight{position:absolute;top:-.5rem;left:0;width:100%;height:7rem;overflow:hidden;pointer-events:none;z-index:1}.dove-flight svg{position:absolute;left:-70px;top:2rem;animation:dove-fly 18s linear infinite;animation-delay:3s;overflow:visible}@keyframes dove-fly{0%{transform:translate(0);opacity:0}2%{opacity:1}12%{transform:translate(28vw,-14px)}24%{transform:translate(56vw,6px)}36%{transform:translate(84vw,-10px)}44%{transform:translate(110vw,-24px);opacity:1}45%,to{transform:translate(110vw,-24px);opacity:0}}.dove-body,.dove-wing{fill:#fffdf8;stroke:#c9b79c;stroke-width:.8;stroke-linejoin:round}.dove-wing-back{fill:#efe6d8}.dove-eye{fill:#2d241f}.dove-beak{fill:#d99a4e}.dove-wing{transform-box:fill-box;transform-origin:80% 100%;animation:dove-flap .45s ease-in-out infinite alternate}.dove-wing-back{animation-delay:.08s}@keyframes dove-flap{0%{transform:rotate(-18deg) scaleY(1)}to{transform:rotate(14deg) scaleY(.55)}}:root[data-theme=dark] .dove-body,:root[data-theme=dark] .dove-wing{stroke:#8e7b62}.candle{display:inline-block;padding:0;border:none;background:none;cursor:pointer;line-height:0}.candle svg{overflow:visible}.candle-body{fill:#f7eedc;stroke:#e2d2b4;stroke-width:.8}.candle-drip{fill:#fff8ea}.candle-base{fill:#c8963e}.candle-wick{stroke:#3e2a1c;stroke-width:1.6;stroke-linecap:round}.candle-flame-core{fill:#fffdf2;opacity:.85}.candle-glow{fill:#ffc94d;opacity:.18}.candle-flame{transform-box:fill-box;transform-origin:50% 90%;animation:candle-flicker 1.6s ease-in-out infinite;transition:opacity .3s,transform .3s}@keyframes candle-flicker{0%,to{transform:scale(1) skew(0)}25%{transform:scale(.94,1.06) skew(2deg)}50%{transform:scale(1.04,.96) skew(-2deg)}75%{transform:scale(.97,1.04) skew(1deg)}}.candle-glow{transform-box:fill-box;transform-origin:center;animation:candle-glow 2.4s ease-in-out infinite;transition:opacity .3s}@keyframes candle-glow{0%,to{transform:scale(1);opacity:.16}50%{transform:scale(1.12);opacity:.26}}.candle-smoke path{fill:none;stroke:#a99b8a;stroke-width:1.4;stroke-linecap:round;opacity:0}.candle.is-out .candle-flame{opacity:0;transform:scale(.3);animation:none}.candle.is-out .candle-glow{opacity:0;animation:none}.candle.is-out .candle-smoke path{animation:candle-smoke 2.2s ease-out 1 forwards}@keyframes candle-smoke{0%{opacity:.7;transform:translateY(0)}to{opacity:0;transform:translateY(-14px)}}.candle:focus-visible{outline-offset:4px}.rosary-beads-hint{margin:-.8rem 0 1.2rem;font-size:.8rem;color:var(--color-text-muted)}.page-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem}.page-title-row .candle{flex-shrink:0;margin-bottom:.4rem}.bell{display:inline-block;padding:0;border:none;background:none;cursor:pointer;line-height:0}.bell svg{overflow:visible}.bell-body{fill:#d9a548;stroke:#a87432;stroke-width:1}.bell-rim{fill:#b8862f}.bell-ring{fill:none;stroke:#a87432;stroke-width:2}.bell-hanger{stroke:#8a6a3a;stroke-width:2;stroke-linecap:round}.bell-clapper{fill:#8a5a24}.bell-shine{fill:none;stroke:#fff2c8;stroke-width:2;stroke-linecap:round;opacity:.7}.bell-waves path{fill:none;stroke:var(--color-gold);stroke-width:2;stroke-linecap:round;opacity:0}.bell-swing{transform-box:view-box;transform-origin:32px 6px;animation:bell-idle 7s ease-in-out infinite}@keyframes bell-idle{0%,82%,to{transform:rotate(0)}85%{transform:rotate(12deg)}89%{transform:rotate(-10deg)}93%{transform:rotate(6deg)}97%{transform:rotate(-3deg)}}.bell.is-ringing .bell-swing{animation:bell-ring .8s ease-in-out 2}.bell.is-ringing .bell-waves path{animation:bell-wave .8s ease-out 2}.bell.is-ringing .bell-waves path:nth-child(2n){animation-delay:.15s}@keyframes bell-ring{0%,to{transform:rotate(0)}25%{transform:rotate(22deg)}75%{transform:rotate(-22deg)}}@keyframes bell-wave{0%{opacity:.9}to{opacity:0}}.bible{display:inline-block;padding:0;border:none;background:none;cursor:pointer;line-height:0}.bible svg{overflow:visible}.bible-cover{fill:#7a2e2a;rx:4}.bible-page{fill:#fbf5e8;stroke:#d8c6a4;stroke-width:.8}.bible-lines path{fill:none;stroke:#c9b48c;stroke-width:.9;stroke-linecap:round}.bible-ribbon{fill:#b23a2e}.bible-cross{stroke:var(--color-gold);stroke-width:2;stroke-linecap:round;animation:bible-cross-glow 3s ease-in-out infinite}@keyframes bible-cross-glow{0%,to{opacity:.5}50%{opacity:1}}.bible-turning{fill:#fffbf1;stroke:#d8c6a4;stroke-width:.8;transform-box:view-box;transform-origin:48px 36px;animation:bible-turn 6s ease-in-out infinite}.bible-turning.is-manual{animation:bible-turn-once .9s ease-in-out 1 forwards}@keyframes bible-turn{0%,70%{transform:scaleX(1);opacity:0}71%{opacity:1}85%{transform:scaleX(.05) skewY(-4deg)}99%{transform:scaleX(-1);opacity:1}to{transform:scaleX(-1);opacity:0}}@keyframes bible-turn-once{0%{transform:scaleX(1);opacity:1}50%{transform:scaleX(.05) skewY(-4deg)}95%{transform:scaleX(-1);opacity:1}to{transform:scaleX(-1);opacity:0}}.angel{display:inline-block;padding:0;border:none;background:none;cursor:pointer;line-height:0}.angel svg{overflow:visible}.angel svg.is-spinning{animation:angel-spin .8s ease-in-out 1}@keyframes angel-spin{0%{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(1.15)}to{transform:rotate(360deg) scale(1)}}.angel-float{animation:angel-float 3.2s ease-in-out infinite}@keyframes angel-float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.angel-halo{fill:none;stroke:#e8c46a;stroke-width:2.4;animation:angel-halo 2.4s ease-in-out infinite}@keyframes angel-halo{0%,to{opacity:.6}50%{opacity:1}}.angel-wing{fill:#fff;stroke:#d8cbb6;stroke-width:1;transform-box:fill-box}.angel-wing-left{transform-origin:100% 60%;animation:angel-wing-l .9s ease-in-out infinite alternate}.angel-wing-right{transform-origin:0% 60%;animation:angel-wing-r .9s ease-in-out infinite alternate}@keyframes angel-wing-l{0%{transform:rotate(8deg)}to{transform:rotate(-14deg)}}@keyframes angel-wing-r{0%{transform:rotate(-8deg)}to{transform:rotate(14deg)}}.angel-robe{fill:#eaf1fb;stroke:#b9c9e2;stroke-width:1}.angel-face{fill:#f6d3ae}.angel-hair{fill:#e2b04f}.angel-eyes ellipse{fill:#2d241f}.angel-cheek{fill:#f2a99a;opacity:.7}.angel-smile{fill:none;stroke:#9a5a3a;stroke-width:1;stroke-linecap:round}.angel-eyes{transform-box:fill-box;transform-origin:center;animation:angel-blink 3.8s infinite}@keyframes angel-blink{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.1)}}.twinkles{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;z-index:0}.twinkles svg{position:absolute;opacity:0;animation:twinkle 3.8s ease-in-out infinite}.twinkles path{fill:none;stroke:var(--color-gold);stroke-width:1.4;stroke-linecap:round}@keyframes twinkle{0%,to{opacity:0;transform:scale(.4) rotate(0)}50%{opacity:.85;transform:scale(1) rotate(45deg)}}.home-hero>.hero-copy,.home-hero>.hero-image{position:relative;z-index:1}.dove-flight.is-second svg{top:.4rem;animation-delay:11s;animation-duration:22s;transform-origin:center}.saint-initial.is-large{animation:halo-pulse 3s ease-in-out infinite}@keyframes halo-pulse{0%,to{box-shadow:0 0 0 3px color-mix(in srgb,var(--color-gold) 45%,transparent),0 0 12px 2px #e8c46a40}50%{box-shadow:0 0 0 4px color-mix(in srgb,var(--color-gold) 75%,transparent),0 0 28px 8px #e8c46a73}}.saint-card:hover .saint-initial{animation:halo-pulse 1.6s ease-in-out infinite}.fx-small-btn{display:inline-flex;align-items:center;gap:.3rem;padding:.45rem .9rem;border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-cream-warm);color:var(--color-text);font-size:.82rem;font-weight:600;cursor:pointer}.fx-draw{fill:none;stroke:var(--color-gold);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;animation:fx-draw var(--t, 1s) cubic-bezier(.65,0,.35,1) var(--d, 0s) forwards}.fx-draw.fx-thin{stroke-width:1.4;stroke:color-mix(in srgb,var(--color-gold) 70%,var(--color-text-pale))}@keyframes fx-draw{to{stroke-dashoffset:0}}.fx-pop{opacity:0;transform-box:fill-box;transform-origin:center;animation:fx-pop .35s cubic-bezier(.34,1.6,.64,1) var(--d, 0s) forwards}@keyframes fx-pop{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.fx-logo text{font-family:var(--font-serif);font-size:34px;font-weight:700;fill:var(--color-text);opacity:0;letter-spacing:.4em;animation:fx-logo-name .9s ease-out 2.4s forwards}@keyframes fx-logo-name{to{opacity:1;letter-spacing:.05em}}.fx-hand-line{font-family:var(--font-serif);font-size:60px;font-weight:600;fill:var(--color-text);fill-opacity:0;stroke:var(--color-gold);stroke-width:1;stroke-dasharray:1400;stroke-dashoffset:1400;animation:fx-hand-stroke 2.2s ease-in-out var(--d) forwards,fx-hand-fill .8s ease-out calc(var(--d) + 1.6s) forwards}@keyframes fx-hand-stroke{to{stroke-dashoffset:0}}@keyframes fx-hand-fill{to{fill-opacity:1;stroke-width:0}}.fx-bead{fill:#b88a3e;stroke:#7a5a24;stroke-width:.6}.fx-medal{fill:#d9b66a;stroke:#8a6224;stroke-width:1}.fx-cross{fill:none;stroke:#8a6224;stroke-width:3;stroke-linecap:round}.fx-ring-wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:1rem}.fx-ring-seg{fill:none;stroke-width:18;animation:fx-ring-grow .6s ease-out var(--d) both}@keyframes fx-ring-grow{0%{stroke-dasharray:0 600}}.fx-ring-today{fill:var(--color-surface);stroke:var(--color-terracotta);stroke-width:3;transform-box:fill-box;transform-origin:center;opacity:0;animation:fx-pop .4s ease-out 1.6s forwards,fx-pulse 1.8s ease-in-out 2s infinite}@keyframes fx-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.3)}}.fx-ring-label{font-family:var(--font-serif);font-size:19px;font-weight:700;fill:var(--color-text)}.fx-ring-sub{font-size:12px;fill:var(--color-text-muted)}.fx-ring-legend{display:grid;gap:.3rem;padding:0;list-style:none;font-size:.8rem;color:var(--color-text-soft)}.fx-ring-legend li{display:flex;align-items:center;gap:.4rem}.fx-ring-legend span{width:.8rem;height:.8rem;border-radius:3px}.fx-coin-scene{position:relative;perspective:700px;padding-bottom:1.2rem}.fx-coin{position:relative;display:block;width:var(--coin, 170px);height:calc(var(--coin, 170px) * 1.135);padding:0;border:none;background:none;cursor:pointer;transform-style:preserve-3d;animation:fx-coin-sway 6s ease-in-out infinite;transition:transform .9s cubic-bezier(.4,.2,.2,1)}.fx-coin.is-flipped{animation:none;transform:rotateY(180deg)}@keyframes fx-coin-sway{0%,to{transform:rotateY(-28deg) rotateX(6deg)}50%{transform:rotateY(28deg) rotateX(-4deg)}}.fx-coin-face{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;backface-visibility:hidden;overflow:hidden;border-radius:50%}.fx-coin-face svg{width:var(--coin, 170px)!important;height:auto!important}.fx-coin-face:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(110deg,transparent 35%,rgba(255,245,210,.55) 50%,transparent 65%);transform:translate(-120%);animation:fx-shine 3.5s ease-in-out infinite;pointer-events:none}@keyframes fx-shine{0%,60%{transform:translate(-120%)}to{transform:translate(120%)}}.fx-coin-back{transform:rotateY(180deg)}.fx-coin-shadow{position:absolute;left:50%;bottom:0;width:calc(var(--coin, 170px) * .7);height:14px;border-radius:50%;background:radial-gradient(ellipse,rgba(0,0,0,.3),transparent 70%);transform:translate(-50%);animation:fx-shadow 6s ease-in-out infinite}@keyframes fx-shadow{0%,to{transform:translate(-50%) scaleX(.8)}50%{transform:translate(-50%) scaleX(1)}}.fx-flip{display:block;width:100%;height:100%;text-align:inherit;padding:0;border:none;background:none;perspective:900px;cursor:pointer}.fx-flip-inner{position:relative;display:grid;width:100%;height:100%;transform-style:preserve-3d;transition:transform .8s cubic-bezier(.4,.2,.2,1)}.fx-flip.is-flipped .fx-flip-inner{transform:rotateY(180deg)}@media(hover:hover){.fx-flip:hover .fx-flip-inner{transform:rotateY(180deg)}.fx-flip.is-flipped:hover .fx-flip-inner{transform:rotateY(0)}}.fx-flip-face{position:relative;grid-area:1 / 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:1rem;border-radius:var(--radius-lg);border:1px solid color-mix(in srgb,var(--color-gold) 50%,var(--color-border));background:var(--color-surface);box-shadow:0 12px 30px -18px #00000080;backface-visibility:hidden;color:var(--color-text);text-align:center}.fx-flip-front img{width:140px;height:140px;object-fit:contain}.fx-flip-face strong{font-family:var(--font-serif);font-size:1.3rem}.fx-flip-face small{font-size:.75rem;color:var(--color-text-muted)}.fx-flip-back{transform:rotateY(180deg);background:color-mix(in srgb,var(--color-gold) 10%,var(--color-surface));font-size:.88rem;line-height:1.5}.fx-assembly{display:flex;flex-direction:column;align-items:center;gap:.6rem;width:100%}.fx-assembly .fx-string{fill:none;stroke:color-mix(in srgb,var(--color-gold) 60%,var(--color-text-pale));stroke-width:1.2;transition:opacity .4s}.fx-part{transition:transform .7s cubic-bezier(.34,1.3,.64,1),opacity .5s;transition-delay:calc(var(--i) * .12s)}.fx-assembly.is-exploded .fx-part{transform:translate(var(--dx),var(--dy));opacity:.55}.fx-assembly.is-exploded>svg>.fx-string{opacity:.2}.fx-label path{fill:none;stroke:var(--color-text-pale);stroke-width:.8;stroke-dasharray:2 2}.fx-label text{font-size:11px;fill:var(--color-text-soft)}.fx-label{opacity:1;transition:opacity .4s;transition-delay:calc(.8s + var(--i) * .1s)}.fx-assembly.is-exploded .fx-label{opacity:0;transition-delay:0s}.fx-loader{display:flex;flex-direction:column;align-items:center;gap:.6rem;font-size:.9rem;color:var(--color-text-muted)}.fx-loader-string{fill:none;stroke:var(--color-text-pale);stroke-width:1;opacity:.6}.fx-loader-cross{fill:none;stroke:#8a6224;stroke-width:2.4;stroke-linecap:round}.fx-loader-medal{fill:#d9b66a}.fx-loader-bead{fill:color-mix(in srgb,var(--color-gold) 25%,var(--color-surface));stroke:color-mix(in srgb,var(--color-gold) 60%,var(--color-border));stroke-width:1;animation:fx-loader-bead 1.5s ease-in-out infinite;animation-delay:calc(var(--i) * .15s)}@keyframes fx-loader-bead{0%,40%,to{fill:color-mix(in srgb,var(--color-gold) 25%,var(--color-surface))}15%{fill:#f1c75a}}.fx-copycheck{overflow:visible}.fx-copycheck rect,.fx-copycheck path{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.fx-copycheck-copy{transform-box:fill-box;transform-origin:center;transition:opacity .2s,transform .2s}.fx-copycheck-check{stroke:#3f8f55!important;stroke-width:2.6!important;stroke-dasharray:1;stroke-dashoffset:1}.fx-copycheck.is-done .fx-copycheck-copy{opacity:0;transform:scale(.5)}.fx-copycheck.is-done .fx-copycheck-check{animation:fx-draw .4s ease-out .1s forwards}.fx-dove-icon{overflow:visible}.fx-dove-icon path{fill:var(--color-surface);stroke:currentColor;stroke-width:1.4;stroke-linejoin:round}.fx-dove-icon.is-flying{animation:fx-dove-away 1.6s ease-in-out}@keyframes fx-dove-away{0%{transform:translate(0) rotate(0);opacity:1}40%{transform:translate(60px,-40px) rotate(-12deg);opacity:0}41%{transform:translate(-30px,10px);opacity:0}to{transform:translate(0);opacity:1}}.fx-amen{position:relative;display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .95rem;border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-size:.85rem;font-weight:700;cursor:pointer;transition:border-color .2s,background .2s}.fx-amen.is-on{border-color:var(--color-gold);background:color-mix(in srgb,var(--color-gold) 12%,var(--color-surface))}.fx-amen-heart path{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round;transition:fill .2s,stroke .2s}.fx-amen.is-on .fx-amen-heart{animation:fx-heart .5s ease-out}.fx-amen.is-on .fx-amen-heart path{fill:#c8463d;stroke:#c8463d}@keyframes fx-heart{0%{transform:scale(1)}40%{transform:scale(1.35)}to{transform:scale(1)}}.fx-amen-burst{position:absolute;left:1.1rem;top:.3rem;pointer-events:none}.fx-amen-burst svg{position:absolute;opacity:0}.fx-amen-burst path{fill:none;stroke:var(--color-gold);stroke-width:1.6;stroke-linecap:round}.fx-amen.is-on .fx-amen-burst svg{animation:fx-burst 1s ease-out forwards;animation-delay:calc(var(--i) * .06s)}@keyframes fx-burst{0%{opacity:1;transform:translate(0) scale(.6)}to{opacity:0;transform:translate(calc((var(--i) - 2) * 14px),-34px) scale(1.2)}}.site-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;overflow:hidden;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='26' height='26'%3E%3Cpath d='M13 11v4M11 13h4' stroke='%23B28A42' stroke-opacity='0.22' stroke-width='1' stroke-linecap='round'/%3E%3C/svg%3E")}:root[data-theme=dark] .site-bg{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='26' height='26'%3E%3Cpath d='M13 11v4M11 13h4' stroke='%23C8963E' stroke-opacity='0.2' stroke-width='1' stroke-linecap='round'/%3E%3C/svg%3E")}.site-bg-glow{position:absolute;width:34rem;height:34rem;border-radius:50%;filter:blur(90px);opacity:.16}:root[data-theme=dark] .site-bg-glow{opacity:.22}.site-bg-glow-gold{background:#e3b55a;left:-10rem;top:-8rem;animation:site-glow-a 28s ease-in-out infinite alternate}.site-bg-glow-blue{background:#6e8fd6;right:-12rem;top:30vh;animation:site-glow-b 34s ease-in-out infinite alternate}.site-bg-glow-rose{background:#c77d9a;left:30vw;bottom:-14rem;width:26rem;height:26rem;animation:site-glow-c 40s ease-in-out infinite alternate}@keyframes site-glow-a{to{transform:translate(18vw,14vh) scale(1.15)}}@keyframes site-glow-b{to{transform:translate(-22vw,-10vh) scale(.9)}}@keyframes site-glow-c{to{transform:translate(-12vw,-18vh) scale(1.25)}}.hero-mark{display:flex;align-items:center;gap:.7rem;margin-bottom:.4rem}.hero-mark .fx-logo{flex-shrink:0}.hero-title-hand{line-height:1}.hero-title-hand .fx-hand{display:block;width:min(100%,30rem);height:auto;overflow:visible}.symbol-flip .fx-flip-face{min-height:19rem;justify-content:center}.symbol-flip .fx-flip-front img{width:100%;max-width:9rem;height:9rem;border-radius:var(--radius-md);object-fit:contain}.symbol-flip .fx-flip-back{justify-content:flex-start;text-align:left;align-items:flex-start}.symbol-flip-text{font-size:.9rem;line-height:1.6;color:var(--color-text-soft)}.symbol-flip .symbol-extra,.symbol-flip .symbol-ref{display:block;font-size:.82rem;line-height:1.5}.calendar-year-ring{margin:.5rem 0 1.5rem;padding:1rem;border-radius:var(--radius-lg);border:1px solid var(--color-border);background:color-mix(in srgb,var(--color-surface) 85%,transparent)}.calendar-year-ring svg{width:min(100%,13rem);height:auto}.page-loading{display:grid;place-items:center;min-height:60vh}.accordion-body .fx-amen,.saint-prayer-body .fx-amen{margin-top:.8rem}.saint-prayer-body .fx-amen{margin-left:.5rem}.feedback-success-dove{position:relative;display:inline-flex}.feedback-success-dove .fx-dove-icon{position:absolute;right:-1.6rem;top:-.6rem;color:var(--color-gold)}.rosary-x{display:grid;grid-template-columns:1fr;gap:1.2rem;align-items:center;margin:.4rem 0 1.6rem;padding:1.2rem;border-radius:var(--radius-lg);border:1px solid color-mix(in srgb,var(--color-gold) 40%,var(--color-border));background:color-mix(in srgb,var(--color-gold) 6%,var(--color-surface))}@media(min-width:720px){.rosary-x{grid-template-columns:15rem 1fr;gap:2rem;padding:1.5rem 2rem}}.rosary-x-figure svg{display:block;width:100%;max-width:15rem;height:auto;margin:0 auto;overflow:visible}@media(max-width:719px){.rosary-x-figure svg{max-width:12rem}}.rosary-x-string{fill:none;stroke:color-mix(in srgb,var(--color-gold) 55%,var(--color-text-pale));stroke-width:1.4;pointer-events:none}.rosary-x-hit{fill:transparent}.rosary-x-hit-stroke{fill:none;stroke:transparent;stroke-width:26;pointer-events:stroke}.rosary-x-part{cursor:pointer}.rosary-x-bead,.rosary-x-medal{fill:color-mix(in srgb,var(--color-gold) 18%,var(--color-surface));stroke:color-mix(in srgb,var(--color-gold) 65%,var(--color-border));stroke-width:1.1;pointer-events:none;transition:fill .35s}.rosary-x-mark,.rosary-x-cross{fill:none;stroke:color-mix(in srgb,var(--color-gold) 70%,var(--color-text-pale));stroke-width:1.6;stroke-linecap:round;pointer-events:none;transition:stroke .35s}.rosary-x-cross{stroke-width:3.2}.rosary-x-part.is-done .rosary-x-bead,.rosary-x-part.is-done .rosary-x-medal{fill:#d9a548}.rosary-x-part.is-done .rosary-x-cross{stroke:#b8862f}.rosary-x-part.is-current{animation:rosary-x-glow 1.6s ease-in-out infinite}@keyframes rosary-x-glow{0%,to{filter:drop-shadow(0 0 2px rgba(255,205,100,.6))}50%{filter:drop-shadow(0 0 8px rgba(255,205,100,1))}}@media(hover:hover){.rosary-x-part:hover .rosary-x-bead,.rosary-x-part:hover .rosary-x-medal{stroke:var(--color-gold);stroke-width:2}.rosary-x-part:hover .rosary-x-cross{stroke:var(--color-gold)}}.rosary-x-info h4{margin:.4rem 0 .3rem;font-family:var(--font-serif);font-size:1.5rem;line-height:1.2}.rosary-x-info>p{color:var(--color-text-soft);line-height:1.6}.rosary-x-count{display:block;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-pale)}.rosary-x-tags{display:inline-flex;gap:.4rem;margin-top:.4rem}.rosary-x-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.rosary-x-actions .fx-small-btn:disabled{opacity:.45;cursor:default}.rosary-x-open{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .95rem;border-radius:var(--radius-full);border:none;background:var(--color-terracotta);color:#fff;font-size:.82rem;font-weight:700;cursor:pointer}.rosary-x-hint{margin-top:.8rem;font-size:.8rem;color:var(--color-text-muted)}.rosary-x{--accent-text: color-mix(in srgb, var(--accent, var(--color-gold)) 38%, var(--color-charcoal))}.rosary-x-bead.is-this-decade{stroke:var(--accent-text);stroke-width:1.4;filter:drop-shadow(0 0 3px color-mix(in srgb,var(--accent, #D9A548) 70%,transparent))}.rosary-x-bead.is-lit{fill:var(--accent-text);stroke:var(--accent-text)}.rosary-x-decade{display:flex;flex-direction:column;gap:.35rem;margin-top:.5rem}.rosary-x-decades{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.35rem;margin-bottom:.4rem}.rosary-x-decades span{height:4px;border-radius:var(--radius-full);background:color-mix(in srgb,var(--accent-text) 18%,var(--color-surface))}.rosary-x-decades span.done,.rosary-x-decades span.current{background:var(--accent-text)}.rosary-x-kicker{color:var(--accent-text);font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.rosary-x-decade h4{margin:0;font-family:var(--font-serif);font-size:1.75rem;line-height:1.1}.rosary-x-meditation{font-family:var(--font-serif);font-style:italic;font-size:1.1rem;color:var(--color-text)}.rosary-x-prayer{margin:.4rem 0 0;padding:.9rem 1rem;border-radius:var(--radius-md);background:color-mix(in srgb,var(--accent-text) 8%,var(--color-surface));font-family:var(--font-serif);font-size:1.08rem;line-height:1.55;color:var(--color-text)}.rosary-x-clause{display:block;margin:.35rem 0;font-style:italic;font-weight:600;color:var(--accent-text)}.rosary-x-counter{display:flex;align-items:baseline;gap:.5rem;margin-top:.5rem}.rosary-x-counter strong{font-family:var(--font-serif);font-size:2.4rem;line-height:1;color:var(--color-charcoal)}.rosary-x-counter span{font-size:.85rem;font-weight:600;color:var(--color-text-muted)}.rosary-x-decade .rosary-x-actions{margin-top:.4rem}.rosary-x-open.rosary-x-next{flex:1;justify-content:center;min-height:var(--control-height, 3rem);font-size:.92rem}.rosary-x-link{display:inline-flex;align-items:center;gap:.4rem;align-self:flex-start;margin-top:.4rem;padding:.4rem 0;border:0;background:none;color:var(--color-terracotta);font-size:.85rem;font-weight:600;cursor:pointer}.prayer-now{max-width:46rem;margin:1rem auto 3.5rem}.prayer-now-head{text-align:center;margin-bottom:1rem}.prayer-now-title{font-size:clamp(1.6rem,4vw,2.1rem)}.prayer-paper{position:relative;padding:2rem 2.2rem 2.2rem 3rem;border-radius:6px;color:#3a2a1e;background:linear-gradient(90deg,transparent 2.1rem,rgba(178,58,46,.35) 2.1rem,rgba(178,58,46,.35) calc(2.1rem + 1px),transparent calc(2.1rem + 1px)),repeating-linear-gradient(180deg,transparent 0,transparent calc(2rem - 1px),rgba(120,90,50,.16) calc(2rem - 1px),rgba(120,90,50,.16) 2rem),radial-gradient(ellipse at 20% 0%,#fbf4e2,#f1e3c4 70%,#e8d5ae);background-position:0 0,0 1.55rem,0 0;box-shadow:0 18px 40px -24px #3c240c99,inset 0 0 40px #a0783c2e;transform:rotate(-.4deg)}.prayer-paper-text{min-height:8rem;font-family:var(--font-serif);font-size:1.3rem;font-style:italic;line-height:2rem;white-space:pre-line}.prayer-quill{display:inline-block;width:0;height:0;vertical-align:baseline}.prayer-quill svg{position:relative;left:-2px;top:-26px;overflow:visible;transform-origin:10% 90%;animation:quill-write .35s ease-in-out infinite alternate}@keyframes quill-write{0%{transform:rotate(-6deg) translateY(0)}to{transform:rotate(4deg) translateY(-2px)}}.prayer-quill-feather{fill:#fffdf6;stroke:#8a6a3a;stroke-width:1;stroke-linejoin:round}.prayer-quill-rib{fill:none;stroke:#8a6a3a;stroke-width:1}.prayer-quill-tip{stroke:#2d241f;stroke-width:2;stroke-linecap:round}.prayer-now-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.8rem;margin-top:1.2rem}.prayer-now-actions .fx-small-btn:disabled{opacity:.45;cursor:default}.prayer-now-link{display:inline-flex;align-items:center;gap:.35rem;font-weight:700;color:var(--color-terracotta)}@media(max-width:520px){.prayer-paper{padding:1.5rem 1.2rem 1.6rem 2.4rem}.prayer-paper-text{font-size:1.12rem}}.fx-ring-seg{transition:stroke-width .2s ease-out,opacity .2s}.fx-ring-seg[data-active]{stroke-width:24}.fx-ring-hit{fill:none;stroke:transparent;stroke-width:34;cursor:pointer;outline:none}.fx-ring-label.is-small{font-size:16px}.fx-ring-range{font-size:15px;font-weight:700;fill:var(--color-terracotta)}@media(max-width:560px){.calendar-year-ring .fx-ring-wrap{flex-wrap:nowrap;gap:.75rem}.calendar-year-ring svg{flex:0 1 11rem;min-width:0}.calendar-year-ring .fx-ring-legend{flex:none;font-size:.74rem}}:root{--season: transparent;--season-glow-a: #E3B55A;--season-glow-b: #6E8FD6;--season-glow-c: #C77D9A}:root[data-season=advento]{--season: #7A5A9E;--season-glow-a: #8E6BBF;--season-glow-b: #D98BA8;--season-glow-c: #6B4C9A}:root[data-season=natal]{--season: #C8963E;--season-glow-a: #F1D27A;--season-glow-b: #FFF4D6;--season-glow-c: #E3B55A}:root[data-season=quaresma]{--season: #6B4C7A;--season-glow-a: #7D6A86;--season-glow-b: #9A8C9F;--season-glow-c: #5C4466}:root[data-season=triduo]{--season: #9E2F2F;--season-glow-a: #8A2B2B;--season-glow-b: #4A3B3B;--season-glow-c: #6E2222}:root[data-season=pascoa]{--season: #D4A84F;--season-glow-a: #FFE8A3;--season-glow-b: #F7F2E6;--season-glow-c: #E9C46A}:root[data-season=pentecostes]{--season: #C8402A;--season-glow-a: #E8643C;--season-glow-b: #F2A33A;--season-glow-c: #C8402A}.site-bg-glow-gold{background:var(--season-glow-a)}.site-bg-glow-blue{background:var(--season-glow-b)}.site-bg-glow-rose{background:var(--season-glow-c)}.site-header{box-shadow:inset 0 -2px 0 var(--season)}:root[data-season=quaresma] .site-bg-glow,:root[data-season=triduo] .site-bg-glow{opacity:.18;animation-duration:90s}.site-bg-particle{display:none;position:absolute;left:calc(var(--i) * 7.3% + 2%);width:6px;height:6px;border-radius:50%}:root[data-season=natal] .site-bg-particle{display:block;top:-2rem;background:#f1d27a;box-shadow:0 0 8px #f1d27a;clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);width:10px;height:10px;border-radius:0;animation:season-fall calc(14s + var(--i) * 1.3s) linear calc(var(--i) * -2.1s) infinite}:root[data-season=pascoa] .site-bg-particle,:root[data-season=pentecostes] .site-bg-particle{display:block;bottom:-2rem;animation:season-rise calc(12s + var(--i) * 1.1s) ease-in calc(var(--i) * -1.7s) infinite}:root[data-season=pascoa] .site-bg-particle{background:#ffe8a3;box-shadow:0 0 10px #ffe8a3}:root[data-season=pentecostes] .site-bg-particle{width:7px;height:11px;border-radius:50%/70% 70% 30% 30%;background:#f2a33a;box-shadow:0 0 10px #e8643c}@keyframes season-fall{0%{transform:translateY(0) rotate(0);opacity:0}10%{opacity:.8}90%{opacity:.8}to{transform:translateY(110vh) rotate(180deg);opacity:0}}@keyframes season-rise{0%{transform:translateY(0) scale(.8);opacity:0}15%{opacity:.7}to{transform:translateY(-110vh) scale(1.1);opacity:0}}.season-banner{display:flex;align-items:center;gap:.8rem;margin:.2rem 0 1rem;padding:.5rem .9rem .5rem .5rem;border:1px solid color-mix(in srgb,var(--season) 55%,transparent);border-radius:var(--radius-full);background:color-mix(in srgb,var(--season) 10%,var(--color-surface));width:fit-content;max-width:100%;animation:fadeIn .6s var(--ease-out)}.season-art{flex:none;width:4.2rem;height:3.5rem}.season-svg{width:100%;height:100%;overflow:visible}.season-text{display:grid;line-height:1.3}.season-text strong{font-family:var(--font-serif);font-size:1.05rem;color:var(--season)}:root[data-season=pascoa] .season-text strong,:root[data-season=natal] .season-text strong{color:var(--color-gold-muted)}.season-text span{font-size:.82rem;color:var(--color-text-soft)}.season-advento .wreath{fill:#3f6b45}.season-advento .leaf{fill:#5e8c63}.season-advento .flame{fill:#f2b544;transform-box:fill-box;transform-origin:50% 100%;animation:candle-flicker 1.2s ease-in-out calc(var(--i) * .3s) infinite alternate}@keyframes candle-flicker{0%{transform:scale(1) rotate(-2deg)}to{transform:scale(.9,1.1) rotate(2deg)}}.season-natal .star{fill:#e3b55a;filter:drop-shadow(0 0 4px #F1D27A);animation:star-twinkle 2.4s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.season-natal .star-rays{stroke:#f1d27a;stroke-width:1.4;opacity:.6;transform-origin:60px 40px;animation:rays-spin 40s linear infinite}.season-natal .tail{fill:none;stroke:#e3b55a;stroke-width:2;stroke-linecap:round;opacity:.6}@keyframes star-twinkle{50%{transform:scale(1.12)}}@keyframes rays-spin{to{transform:rotate(360deg)}}.season-quaresma .cross,.season-quaresma .thorns{fill:none;stroke:#6b4c7a;stroke-width:4;stroke-linecap:round}.season-quaresma .thorns{stroke:#7d5a3c;stroke-width:2.4}.season-quaresma .draw{stroke-dasharray:1;stroke-dashoffset:1;animation:season-draw 2.4s ease-out forwards}@keyframes season-draw{to{stroke-dashoffset:0}}.season-triduo .hill{fill:#4a3b3b}.season-triduo .cross{fill:none;stroke:#9e2f2f;stroke-width:5;stroke-linecap:round}.season-pascoa .sun{fill:#f2c14e;animation:sun-rise 2.6s ease-out both}.season-pascoa .sun-rays{stroke:#f2c14e;stroke-width:2;stroke-linecap:round;opacity:.7;transform-origin:60px 70px;animation:rays-pulse 3s ease-in-out infinite}.season-pascoa .tomb{fill:#a89a86}.season-pascoa .tomb-door{fill:#2d241f}.season-pascoa .stone{fill:#8c7e6b}.season-pascoa .lily{fill:#fffdf9;stroke:#5e8c63;stroke-width:1.6}@keyframes sun-rise{0%{transform:translateY(14px);opacity:.4}}@keyframes rays-pulse{50%{transform:scale(1.08);opacity:1}}.season-pentecostes .dove,.season-pentecostes .dove-wing{fill:#fffdf9;stroke:#c8402a;stroke-width:1.4}.season-pentecostes .tongue{fill:#e8643c;transform-box:fill-box;transform-origin:50% 100%;animation:candle-flicker .9s ease-in-out calc(var(--i) * .2s) infinite alternate}:root[data-theme=dark] .season-pascoa .tomb-door{fill:#0f0b09}:root[data-season=advento] .site-bg-glow,:root[data-season=natal] .site-bg-glow,:root[data-season=pascoa] .site-bg-glow,:root[data-season=pentecostes] .site-bg-glow{opacity:.26}
