:root{--rr-navy-950: #091522;--rr-navy-900: #0d1f30;--rr-navy-800: #173149;--rr-blue-600: #496b86;--rr-ink: #263844;--rr-ink-soft: #52636d;--rr-ivory: #f7f4ed;--rr-paper: #fffdf9;--rr-paper-muted: #f2eee5;--rr-gold: #b58a48;--rr-gold-dark: #785b2f;--rr-line: rgba(32, 52, 66, .12);--rr-shadow-sm: 0 8px 24px rgba(15, 31, 45, .08);--rr-shadow-md: 0 18px 48px rgba(15, 31, 45, .12);--rr-radius-sm: 12px;--rr-radius-md: 20px;--rr-radius-lg: 28px;--rr-content-width: 1180px}html{min-height:100%;scrollbar-gutter:stable;scroll-behavior:smooth}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden;background:var(--rr-navy-950);color:var(--rr-ink);font-family:Lora,Georgia,serif;font-size:16px;line-height:1.65;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}app-root{display:block;min-height:100vh}body:has(.mobile-menu.open),body:has(.modal[aria-modal=true]){overflow:hidden}button,input,textarea,select{font:inherit}button{-webkit-tap-highlight-color:transparent}:where(button:not(:disabled)):active{transform:scale(.98)}img{max-width:100%}a{color:inherit;text-underline-offset:.18em}::selection{background:#b58a4847;color:var(--rr-navy-950)}:focus-visible{outline:3px solid rgba(181,138,72,.48);outline-offset:3px}.cc-animate.cc-revoke.cc-bottom{transform:none!important;animation:none!important;transition:none!important}.cc-revoke{display:none!important}.mat-mdc-menu-panel{--mat-menu-container-color: rgba(13, 31, 48, .98);--mat-menu-item-label-text-color: #f4efe5;border:1px solid rgba(255,255,255,.1);border-radius:var(--rr-radius-sm)!important;box-shadow:0 18px 48px #0000004d!important}.mat-mdc-menu-item{border-radius:8px!important;font-family:Lora,Georgia,serif!important}app-rose-detail .description-content .full>*{margin:0 0 1em}app-rose-detail .description-content .full>:last-child{margin-bottom:0}@media (max-width: 600px){body{font-size:15px}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}:where(button:not(:disabled)):active{transform:none}}html.rr-pwa-dark{color-scheme:dark;--rr-navy-950: #050d14;--rr-navy-900: #091722;--rr-navy-800: #12293a;--rr-blue-600: #7894a8;--rr-ink: #eee5d7;--rr-ink-soft: #b9b3aa;--rr-ivory: #f7f4ed;--rr-paper: #fffdf9;--rr-paper-muted: #f2eee5;--rr-gold: #c39a59;--rr-gold-dark: #d0aa69;--rr-line: rgba(235, 223, 202, .12);--rr-shadow-sm: 0 8px 24px rgba(0, 0, 0, .2);--rr-shadow-md: 0 18px 48px rgba(0, 0, 0, .3)}html.rr-pwa-dark body{background:#050d14;color:var(--rr-ink)}html.rr-pwa-dark .page-content{background:#07131d}html.rr-pwa-dark .mat-mdc-card,html.rr-pwa-dark .mat-expansion-panel,html.rr-pwa-dark .mat-mdc-expansion-panel{color:var(--rr-ink)}html.rr-pwa-dark app-card-grid{background:linear-gradient(180deg,#07131d,#091722 58%,#050d14)}html.rr-pwa-dark app-card .rr-card{border-color:#dfc18e24;background:linear-gradient(145deg,#10212d,#0b1923);color:var(--rr-ink);box-shadow:var(--rr-shadow-md)}html.rr-pwa-dark app-card .rr-card-header{color:var(--rr-ink)}html.rr-pwa-dark app-mystery-detail .prayer-text{border-color:#c39a592e;background:#0d1b25}html.rr-pwa-dark app-mystery-detail .save-mystery button{border-color:#c39a59;background:#0b1923;color:#f7f4ed}html.rr-pwa-dark app-mystery-detail .save-mystery button:hover{background:#12293a}html.rr-pwa-dark app-rose-detail .description-toggle{border-color:#c39a596b;background:#10212d;color:#d0aa69}html.rr-pwa-dark app-rose-detail .description-toggle:hover{background:#162b39}html.rr-pwa-dark app-rose-detail .prayer-box{border-color:#c39a593d;border-left-color:#c39a59;background:#0d1b25}html.rr-pwa-dark app-button .base-button.external{border-color:#ebdfca24;background:#0d1b25;color:#eee5d7}html.rr-pwa-dark app-button .base-button.external:hover{border-color:#c39a59;background:#12293a}html.rr-pwa-dark app-button .base-button.internal{color:#f7f4ed}html.rr-pwa-dark app-saved-mystery .saved-mystery{color:#f7f4ed}html.rr-pwa-dark app-saved-mystery button,html.rr-pwa-dark app-saved-mystery .prayer-link{color:#f7f4ed}html.rr-pwa-dark app-saved-mystery .primary,html.rr-pwa-dark app-saved-mystery .prayer-link{color:#091522}html.rr-pwa-dark app-rosary-mysteries-list{--mat-expansion-container-background-color: #0d1b25;--mat-expansion-container-text-color: #eee5d7;--mat-expansion-header-text-color: #eee5d7;--mat-expansion-header-indicator-color: #d0aa69}html.rr-pwa-dark input,html.rr-pwa-dark textarea,html.rr-pwa-dark select{color-scheme:dark;border-color:#ebdfca2e;background:#0d1b25;color:#eee5d7}app-interactive-banner .hero.archangels-feast{min-height:350px}app-interactive-banner .hero.archangels-feast .hero-copy{padding-bottom:34px}app-interactive-banner .hero-archangels-art{position:absolute;z-index:3;top:20px;right:clamp(18px,4vw,52px);width:230px;height:170px;pointer-events:none;opacity:.9}app-interactive-banner .hero-archangels-art:after{content:"";position:absolute;z-index:4;inset:auto -8px -2px -8px;height:54px;background:linear-gradient(180deg,transparent,rgba(9,26,40,.74));pointer-events:none}app-interactive-banner .hero-archangel{position:absolute;width:92px;height:142px;border-radius:26px;object-fit:cover;object-position:center 18%;opacity:.66;filter:saturate(.78) contrast(.94) drop-shadow(0 14px 22px rgba(0,0,0,.36));-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 12%,#000 72%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0%,#000 12%,#000 72%,transparent 100%)}app-interactive-banner .hero-archangel-michael{top:28px;left:0;transform:rotate(-6deg)}app-interactive-banner .hero-archangel-gabriel{z-index:2;top:-10px;left:68px;width:100px;height:156px;opacity:.78}app-interactive-banner .hero-archangel-raphael{top:30px;right:0;transform:rotate(6deg)}app-interactive-banner .hero-archangels-prayer{position:relative;z-index:5;width:min(430px,100%);margin:18px 0 0;border:1px solid rgba(223,193,142,.26);border-radius:14px;background:#07172357;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}app-interactive-banner .hero-archangels-prayer summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:8px 12px;list-style:none;color:#f7f2e9e6;cursor:pointer;-webkit-tap-highlight-color:transparent}app-interactive-banner .hero-archangels-prayer summary::-webkit-details-marker{display:none}app-interactive-banner .hero-archangels-prayer summary>span:first-child{display:flex;flex-direction:column;min-width:0}app-interactive-banner .hero-archangels-prayer summary strong{font-family:Playfair Display,Georgia,serif;font-size:.86rem;font-weight:500;line-height:1.2}app-interactive-banner .hero-archangels-prayer summary small{margin-top:3px;color:#dfc18ec7;font-size:.62rem;letter-spacing:.03em;line-height:1.25}app-interactive-banner .hero-archangels-prayer p{margin:0 10px 10px;padding:10px 11px;border-top:1px solid rgba(223,193,142,.16);color:#f7f2e9bf;font-size:.72rem;line-height:1.55}app-interactive-banner .hero-archangels-prayer-action{flex:0 0 auto;color:#dfc18e;font-size:.7rem;white-space:nowrap}app-interactive-banner .hero-archangels-prayer-action span{margin-left:2px;font-family:Georgia,serif;font-size:1.15rem;line-height:.8}@media (max-width: 820px){app-interactive-banner .hero.archangels-feast{min-height:350px}app-interactive-banner .hero.archangels-feast .hero-copy{padding-right:24px}app-interactive-banner .hero.archangels-feast h1,app-interactive-banner .hero.archangels-feast .hero-location{max-width:72%}app-interactive-banner .hero-archangels-art{top:14px;right:8px;width:190px;height:154px}app-interactive-banner .hero-archangel{width:76px;height:124px}app-interactive-banner .hero-archangel-michael{top:28px}app-interactive-banner .hero-archangel-gabriel{left:57px;width:84px;height:138px}app-interactive-banner .hero-archangel-raphael{top:29px}app-interactive-banner .hero-archangels-prayer{width:min(390px,72%)}}@media (max-width: 600px){app-interactive-banner .hero.archangels-feast{min-height:336px}app-interactive-banner .hero.archangels-feast .hero-copy{padding:48px 20px 26px}app-interactive-banner .hero.archangels-feast h1{max-width:70%}app-interactive-banner .hero.archangels-feast .hero-location{max-width:70%}app-interactive-banner .hero-archangels-art{top:20px;right:-2px;width:154px;height:144px}app-interactive-banner .hero-archangels-art:after{height:46px}app-interactive-banner .hero-archangel{width:62px;height:108px;border-radius:20px;opacity:.62}app-interactive-banner .hero-archangel-michael{top:31px}app-interactive-banner .hero-archangel-gabriel{top:-4px;left:46px;width:69px;height:122px;opacity:.76}app-interactive-banner .hero-archangel-raphael{top:32px}app-interactive-banner .hero-archangels-prayer{width:calc(100% - 4px);margin-top:14px}app-interactive-banner .hero-archangels-prayer summary{min-height:44px;padding:7px 10px}app-interactive-banner .hero-archangels-prayer p{font-size:.69rem}app-interactive-banner .hero-archangels-prayer-action{font-size:.66rem}app-interactive-banner .hero.archangels-feast .hero-roses-launcher-mobile{margin-top:18px}app-interactive-banner .hero.archangels-feast .hero-favorites-launcher{right:36px;bottom:16px}}@media (max-width: 390px){app-interactive-banner .hero.archangels-feast h1,app-interactive-banner .hero.archangels-feast .hero-location{max-width:68%}app-interactive-banner .hero-archangels-art{right:-8px;width:145px}app-interactive-banner .hero-archangel{width:58px}app-interactive-banner .hero-archangel-gabriel{left:43px;width:65px}app-interactive-banner .hero.archangels-feast .hero-favorites-launcher{right:30px;bottom:14px}}app-interactive-banner .hero.faustina-feast{min-height:350px}app-interactive-banner .hero.faustina-feast .hero-copy{padding-bottom:34px}app-interactive-banner .hero-faustina-art{position:absolute;z-index:3;top:48px;right:clamp(22px,5vw,68px);width:220px;height:205px;pointer-events:none}app-interactive-banner .hero-faustina-art:before{content:"";position:absolute;z-index:0;top:6px;right:12px;width:168px;height:168px;border-radius:50%;background:radial-gradient(circle,rgba(223,193,142,.2),rgba(223,193,142,.06) 42%,transparent 72%);filter:blur(1px)}app-interactive-banner .hero-faustina-art:after{content:"";position:absolute;z-index:2;right:-8px;bottom:0;width:205px;height:66px;background:linear-gradient(180deg,transparent,rgba(9,26,40,.84));pointer-events:none}app-interactive-banner .hero-faustina-image{position:absolute;z-index:1;top:0;right:15px;width:152px;height:190px;border-radius:34px;object-fit:cover;object-position:center 18%;opacity:.76;filter:saturate(.76) contrast(.96) drop-shadow(0 15px 24px rgba(0,0,0,.38));-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 9%,#000 73%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0%,#000 9%,#000 73%,transparent 100%)}app-interactive-banner .hero-faustina-motto{position:absolute;z-index:3;right:12px;bottom:15px;color:#f0d69ae6;font-family:Playfair Display,Georgia,serif;font-size:.8rem;font-style:italic;letter-spacing:.02em;text-shadow:0 2px 8px rgba(0,0,0,.82);white-space:nowrap}app-interactive-banner .hero-faustina-prayer{width:min(430px,100%)}app-interactive-banner .hero-faustina-prayer small{color:#dfc18ed1}app-interactive-banner .hero-faustina-prayer-action{color:#f0d69a}@media (max-width: 820px){app-interactive-banner .hero.faustina-feast{min-height:350px}app-interactive-banner .hero.faustina-feast .hero-copy{padding-right:24px}app-interactive-banner .hero.faustina-feast h1,app-interactive-banner .hero.faustina-feast .hero-location{max-width:72%}app-interactive-banner .hero-faustina-art{top:50px;right:10px;width:180px;height:178px}app-interactive-banner .hero-faustina-art:before{right:5px;width:145px;height:145px}app-interactive-banner .hero-faustina-art:after{width:180px;height:60px}app-interactive-banner .hero-faustina-image{right:12px;width:120px;height:158px}app-interactive-banner .hero-faustina-motto{right:10px;bottom:8px;font-size:.68rem}app-interactive-banner .hero-faustina-prayer{width:min(390px,72%)}}@media (max-width: 600px){app-interactive-banner .hero.faustina-feast{min-height:336px}app-interactive-banner .hero.faustina-feast .hero-copy{padding:48px 20px 26px}app-interactive-banner .hero.faustina-feast h1,app-interactive-banner .hero.faustina-feast .hero-location{max-width:69%}app-interactive-banner .hero-faustina-art{top:54px;right:8px;width:132px;height:142px}app-interactive-banner .hero-faustina-art:before{top:8px;right:0;width:116px;height:116px}app-interactive-banner .hero-faustina-art:after{right:-4px;width:142px;height:52px}app-interactive-banner .hero-faustina-image{right:8px;width:92px;height:124px;border-radius:24px;opacity:.72}app-interactive-banner .hero-faustina-motto{right:7px;bottom:2px;font-size:.58rem}app-interactive-banner .hero-faustina-prayer{width:calc(100% - 4px);margin-top:14px}app-interactive-banner .hero.faustina-feast .hero-roses-launcher-mobile{margin-top:18px}app-interactive-banner .hero.faustina-feast .hero-favorites-launcher{right:36px;bottom:16px}}@media (max-width: 390px){app-interactive-banner .hero.faustina-feast h1,app-interactive-banner .hero.faustina-feast .hero-location{max-width:67%}app-interactive-banner .hero-faustina-art{right:6px;width:126px}app-interactive-banner .hero-faustina-image{width:88px}app-interactive-banner .hero-faustina-motto{right:6px;font-size:.56rem}app-interactive-banner .hero.faustina-feast .hero-favorites-launcher{right:30px;bottom:14px}}.rosary-pendant{position:absolute;z-index:2;top:calc(50% + 117px);left:50%;display:flex;flex-direction:column;align-items:center;transform:translate(-50%);pointer-events:none}.rosary-pendant-thread{display:block;width:6px;height:18px;flex:0 0 auto;background:radial-gradient(ellipse at center,transparent 35%,rgba(158,118,67,.82) 38% 51%,rgba(69,42,24,.92) 54% 63%,transparent 65%) center top/6px 6px repeat-y;filter:drop-shadow(0 1px 1px rgba(0,0,0,.5))}.rosary-pendant-thread-short{height:10px}.rosary-mary-medallion{position:relative;display:block;width:29px;height:35px;overflow:hidden;flex:0 0 auto;border:1.5px solid rgba(168,125,72,.88);border-radius:48% 48% 52% 52%/43% 43% 57% 57%;background:linear-gradient(135deg,#89613b,#4d3020);box-shadow:inset 0 0 0 1px #ffecc617,0 1px 1px #0000008f,1px 2px 4px #00000029}.rosary-mary-medallion img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 34%;transform:scale(1.05);filter:saturate(.88) contrast(1.03) brightness(.97) sepia(.04)}.rosary-pendant .devotional-cross-wrap{position:relative;width:37px;height:52px;margin-top:-3px}.rosary-pendant .devotional-cross-wrap:before{content:"";position:absolute;z-index:0;top:-7px;left:50%;width:6px;height:17px;background:radial-gradient(ellipse at center,transparent 35%,rgba(158,118,67,.82) 38% 51%,rgba(69,42,24,.92) 54% 63%,transparent 65%) center top/6px 6px repeat-y;filter:drop-shadow(0 1px 1px rgba(0,0,0,.5));transform:translate(-50%)}.rosary-pendant .devotional-cross{position:relative;z-index:1;width:100%;height:100%;transform:none}.rosary-ring .bead-socket:nth-child(6n) .rosary-wood-bead-image{transform:scale(1.13) rotate(-14deg)}.rosary-ring .bead-socket:nth-child(6n+2) .rosary-wood-bead-image{transform:scale(1.13) rotate(9deg)}.rosary-ring .bead-socket:nth-child(6n+4) .rosary-wood-bead-image{transform:scale(1.13) rotate(17deg)}a{color:inherit;text-decoration:none}a:hover,a:focus,a:active{text-decoration:underline;color:#c7a46a}
