:root{color-scheme:light;--bg: #efe6d6;--bg-deep: #ddcfb7;--surface: rgba(250, 245, 235, .9);--surface-2: #ece2d0;--surface-3: #dfd2ba;--surface-4: rgba(229, 217, 198, .72);--text: #1d2a3f;--muted: #647089;--primary: #4f6796;--primary-strong: #2f446c;--border: rgba(83, 100, 129, .18);--shadow: 0 22px 48px rgba(31, 41, 60, .11);--sacred-gold: #c8aa67;--sacred-gold-strong: #9d7d40;--sacred-ivory: #fbf7ef;--rosary-aura: rgb(120 151 204 / 22%)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;font-family:Iowan Old Style,Palatino Linotype,Book Antiqua,Georgia,serif;background:radial-gradient(circle at 18% 10%,rgb(255 255 255 / 58%),transparent 22%),radial-gradient(circle at 80% 10%,rgb(84 114 166 / 18%),transparent 28%),radial-gradient(circle at 50% 100%,rgb(200 170 105 / 18%),transparent 34%),linear-gradient(180deg,#f6f0e4,#eadfc8);color:var(--text)}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(circle at 50% 38%,transparent 54%,rgb(26 37 57 / 10%) 100%),repeating-linear-gradient(115deg,rgb(255 255 255 / 3%) 0 1px,transparent 1px 8px);opacity:.4;mix-blend-mode:soft-light}button,select,input{font:inherit}button{border:1px solid var(--border);background:color-mix(in srgb,var(--surface) 76%,var(--surface-2) 24%);color:var(--text);border-radius:999px;min-height:46px;padding:.7rem 1rem;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,border-color .18s ease,opacity .18s ease}button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 24px #232e4417}button:focus-visible,input:focus-visible{outline:2px solid color-mix(in srgb,var(--sacred-gold) 55%,white 45%);outline-offset:2px}button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.app-shell{position:relative;isolation:isolate;min-height:100dvh;display:grid;grid-template-rows:auto 1fr auto}.app-shell:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:radial-gradient(circle at 50% 14%,rgb(255 250 240 / 58%),transparent 18%),radial-gradient(circle at 10% 88%,rgb(202 170 104 / 10%),transparent 32%),radial-gradient(circle at 90% 26%,rgb(79 103 150 / 12%),transparent 24%)}.top-bar{position:sticky;top:0;z-index:10;overflow:visible;background:linear-gradient(180deg,#f7f0e4eb,#f2eadbc7);border-bottom:1px solid color-mix(in srgb,var(--border) 72%,transparent);box-shadow:0 1px #fff9,0 8px 24px #1f293c0a;-webkit-backdrop-filter:blur(16px) saturate(120%);backdrop-filter:blur(16px) saturate(120%)}.top-bar-inner{width:min(100%,1240px);margin:0 auto;padding:.95rem 1rem .8rem;display:flex;justify-content:space-between;gap:.95rem;align-items:flex-start}.top-bar-copy{min-width:0}.top-bar h1{margin:0;font-size:1.02rem;line-height:1;letter-spacing:.18em;text-transform:uppercase;color:var(--primary-strong)}.top-bar p{margin:.3rem 0 0;color:var(--muted);font-size:.92rem}.top-bar-actions{display:flex;justify-content:flex-end;gap:.55rem;align-items:flex-start;flex-wrap:wrap}.header-popover-shell{position:relative}.header-popover-trigger,.header-popover-close{min-height:40px;padding:.48rem .92rem;border-radius:999px;background:linear-gradient(180deg,#f8f2e7f5,#e9dfcee0);color:var(--primary-strong);border-color:color-mix(in srgb,var(--border) 62%,var(--sacred-gold) 38%);box-shadow:0 8px 18px #1f293c0f;font-weight:700;flex-shrink:0}.header-popover-trigger{min-width:106px}.header-popover{position:absolute;top:calc(100% + .7rem);right:0;z-index:20;width:min(25rem,calc(100vw - 2rem));max-height:min(72vh,40rem);overflow:auto;display:grid;gap:.85rem;padding:1rem;background:radial-gradient(circle at top,rgb(255 255 255 / 78%),transparent 42%),linear-gradient(180deg,#faf6eefa,#f0e8dbf5);border:1px solid color-mix(in srgb,var(--border) 58%,transparent);border-radius:24px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.header-popover[hidden]{display:none}.header-popover-head{display:flex;justify-content:space-between;gap:.8rem;align-items:start}.header-popover-head h2{margin:.33rem 0 0;font-size:1.1rem;color:var(--primary-strong)}.header-popover-close{padding-inline:.8rem}.mystery-section-label{display:inline-flex;align-items:center;gap:.35rem;color:color-mix(in srgb,var(--muted) 84%,var(--sacred-gold-strong) 16%);font-size:.74rem;letter-spacing:.15em;text-transform:uppercase}.mystery-current{display:grid;gap:.7rem;padding:.95rem 1rem;border-radius:18px;background:radial-gradient(circle at 20% 20%,rgb(255 255 255 / 55%),transparent 28%),linear-gradient(180deg,#f1eaddf0,#e5d9c6db);border:1px solid color-mix(in srgb,var(--border) 56%,var(--sacred-gold) 44%)}.mystery-current-label{margin:.25rem 0 0;font-size:1rem;line-height:1.45;color:var(--primary-strong)}.mystery-today-button{width:fit-content;min-height:36px;padding:.46rem .84rem;border-radius:999px;background:linear-gradient(180deg,#fffaf0fa,#f1e5cef5);border-color:color-mix(in srgb,var(--sacred-gold) 48%,var(--border) 52%);color:var(--primary-strong);box-shadow:0 6px 14px #1f293c0d;font-weight:700}.mystery-today-button:hover:not(:disabled){transform:translateY(-1px)}.mystery-next{padding:.2rem .1rem 0}.mystery-next-copy,.intentions-help,.intentions-empty,.intentions-collapsed-copy{margin:.3rem 0 0;color:var(--muted);line-height:1.6;font-size:.93rem}.mystery-list{display:grid;gap:.55rem;margin:0}.mystery-option{width:100%;text-align:left;padding:.8rem .92rem;border-radius:16px;background:linear-gradient(180deg,#fbf7f0f5,#f0e8daeb);border:1px solid color-mix(in srgb,var(--border) 72%,transparent);box-shadow:inset 0 1px #ffffff6b;color:var(--text)}.mystery-option:hover:not(:disabled){transform:translateY(-1px)}.mystery-option.active{background:radial-gradient(circle at top left,rgb(255 255 255 / 45%),transparent 26%),linear-gradient(180deg,#e8dcc6fa,#dacbadeb);border-color:color-mix(in srgb,var(--sacred-gold) 50%,var(--border) 50%);box-shadow:0 10px 20px #1f293c14,0 0 0 1px #ffffff40 inset}.mystery-option-title{display:block;font-size:.98rem;line-height:1.45;color:var(--primary-strong)}.content{width:min(100%,1240px);margin:0 auto;padding:clamp(.95rem,2vw,1.4rem);display:grid;gap:1rem;align-items:start}.terco-layout{display:grid;grid-template-areas:"text" "rosary";gap:1rem}.terco-rosary,.terco-text{min-width:0}.terco-rosary{grid-area:rosary}.terco-text{grid-area:text}.rosary-section{position:relative;overflow:hidden;margin-bottom:0;padding:clamp(1rem,2vw,1.45rem);width:100%;max-width:620px;max-height:calc(100vh - 260px);background:radial-gradient(circle at 50% 66%,rgb(120 151 204 / 12%),transparent 64%),radial-gradient(circle at 82% 14%,rgb(255 255 255 / 18%),transparent 30%),linear-gradient(180deg,#faf6eef7,#ece3d4db);border:1px solid color-mix(in srgb,var(--border) 62%,transparent);border-radius:30px;box-shadow:var(--shadow)}.rosary-section:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:radial-gradient(circle at 50% 24%,rgb(255 255 255 / 32%),transparent 36%),radial-gradient(circle at 50% 86%,rgb(201 172 108 / 10%),transparent 36%),repeating-linear-gradient(120deg,rgb(118 96 70 / 3%) 0 1px,transparent 1px 10px),repeating-linear-gradient(0deg,rgb(255 255 255 / 2.4%) 0 1px,transparent 1px 11px);opacity:.9;mix-blend-mode:soft-light}.rosary-help{margin:0 0 .75rem;color:color-mix(in srgb,var(--muted) 84%,var(--sacred-gold-strong) 16%);font-size:.88rem}.rosary-svg{position:relative;z-index:1;width:min(100%,620px);height:auto;max-height:calc(100vh - 260px);display:block;overflow:visible;transform:translateY(1px) rotate(-.7deg);transform-origin:center}.rosary-chain-shadow,.rosary-chain,.rosary-pendant-chain-shadow,.rosary-pendant-chain{fill:none;stroke-linecap:round;stroke-linejoin:round}.rosary-chain-shadow{stroke:#262d3a24;stroke-width:3.4;filter:blur(.6px)}.rosary-chain{stroke:url(#chainMetal);stroke-width:1.95}.rosary-pendant-chain-shadow{stroke:#262d3a29;stroke-width:3.5;filter:blur(.65px)}.rosary-pendant-chain{stroke:color-mix(in srgb,#e8ddca 68%,var(--sacred-gold) 32%);stroke-width:2.05}.rosary-chain-texture,.rosary-pendant-chain-texture{fill:none;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;opacity:.2;stroke:#fff8ecad;stroke-width:.72;filter:blur(.14px)}.rosary-chain-texture{stroke-dasharray:1.2 7.4;stroke-dashoffset:.6}.rosary-pendant-chain-texture{stroke:#f9eeddb8;stroke-dasharray:.9 6.8;stroke-dashoffset:.2}.rosary-trail{stroke:color-mix(in srgb,var(--sacred-gold) 58%,#f3efe7 42%);stroke-width:2.8;stroke-linecap:round;filter:drop-shadow(0 0 4px color-mix(in srgb,var(--sacred-gold) 26%,transparent))}.rosary-node{transform-box:fill-box;transform-origin:center;transition:opacity .26s ease,filter .26s ease,transform .26s ease}.rosary-node.enabled{cursor:pointer}.rosary-node.future{filter:saturate(74%) brightness(.92) contrast(.98)}.rosary-node.past{filter:saturate(94%) brightness(1.01) contrast(1.01)}.rosary-node.transitioning{filter:saturate(104%) brightness(1.03)}.rosary-node.active{filter:saturate(112%) brightness(1.05)}.rosary-node-scale,.rosary-node-pulse{transform-box:fill-box;transform-origin:center}.rosary-node.active .rosary-node-pulse{animation:rosary-breathe 6.8s ease-in-out infinite}.rosary-node-glow{pointer-events:none}.rosary-node-highlight{fill:#fffaf1b8;pointer-events:none}.rosary-node.active .rosary-node-highlight{fill:#fff7e2db}.rosary-node.future .rosary-node-highlight{fill:#ffffff7a}.rosary-node.past .rosary-node-highlight{fill:#fffaf19e}.prayer-card{position:relative;overflow:hidden;width:100%;max-width:460px;padding:clamp(1.05rem,2vw,1.6rem);background:radial-gradient(circle at 22% 14%,rgb(255 255 255 / 58%),transparent 28%),linear-gradient(180deg,#faf5ecf5,#eee5d6eb);border:1px solid color-mix(in srgb,var(--border) 60%,transparent);border-radius:28px;box-shadow:var(--shadow);animation:prayer-reveal .76s cubic-bezier(.22,1,.36,1)}.prayer-card:before{content:"";position:absolute;top:1px;right:1px;bottom:1px;left:1px;border-radius:inherit;pointer-events:none;background:radial-gradient(circle at top right,rgb(201 170 104 / 14%),transparent 24%),radial-gradient(circle at bottom left,rgb(79 103 150 / 10%),transparent 24%)}.prayer-card-head{position:relative;z-index:1;display:grid;gap:.28rem}.prayer-card-head--contemplation{gap:.35rem}.prayer-kicker{margin:0;color:color-mix(in srgb,var(--muted) 78%,var(--sacred-gold-strong) 22%);font-size:.79rem;letter-spacing:.16em;text-transform:uppercase}.prayer-title{margin:0;font-size:clamp(1.35rem,2.4vw,1.78rem);line-height:1.2;color:var(--primary-strong)}.prayer-progress{position:relative;z-index:1;display:inline-flex;align-items:center;gap:.45rem;margin:.95rem 0 0;padding:.48rem .82rem;border-radius:999px;background:color-mix(in srgb,var(--surface) 60%,var(--sacred-gold) 18%);border:1px solid color-mix(in srgb,var(--border) 60%,var(--sacred-gold) 40%);color:var(--primary-strong);font-size:.92rem;box-shadow:inset 0 1px #ffffff7a}.prayer-progress--compact{margin-top:.72rem}.prayer-text,.prayer-meditation{position:relative;z-index:1;margin:1rem 0 0;font-size:1.05rem;line-height:1.82;color:var(--text);text-wrap:pretty}.prayer-text--intro{margin-top:.92rem}.prayer-meditation{margin-top:.15rem;font-size:1rem;line-height:1.78;color:color-mix(in srgb,var(--text) 86%,var(--muted) 14%)}.prayer-meditation--contemplation{font-size:1.04rem}.prayer-verse{position:relative;z-index:1;margin-top:1.05rem;padding-left:1rem;border-left:2px solid color-mix(in srgb,var(--sacred-gold) 42%,var(--primary) 58%)}.prayer-verse-quote{margin:0;font-size:1.05rem;line-height:1.8;color:var(--text);text-wrap:pretty}.prayer-verse-reference{margin:.28rem 0 0;color:color-mix(in srgb,var(--muted) 76%,var(--sacred-gold-strong) 24%);font-size:.76rem;letter-spacing:.18em;text-transform:uppercase}.prayer-divider{position:relative;z-index:1;width:min(100%,17rem);height:1px;margin:1rem 0 0;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--sacred-gold) 44%,var(--border) 56%),transparent)}.prayer-contemplation{position:relative;z-index:1;display:grid;gap:.2rem;margin-top:.95rem}.prayer-contemplation-label{margin:0;color:color-mix(in srgb,var(--muted) 80%,var(--sacred-gold-strong) 20%);font-size:.74rem;letter-spacing:.16em;text-transform:uppercase}.completion{position:relative;overflow:hidden;padding:1rem 1.05rem;margin-top:1rem;background:radial-gradient(circle at 24% 18%,rgb(255 255 255 / 56%),transparent 30%),linear-gradient(180deg,#f6efe3f5,#e8decde5);border:1px solid color-mix(in srgb,var(--border) 56%,var(--sacred-gold) 44%);border-radius:22px;box-shadow:var(--shadow)}.completion h3{margin:0;color:var(--primary-strong)}.completion p{margin:.35rem 0 0;color:var(--muted);line-height:1.7}.session-controls{position:sticky;bottom:0;z-index:8;width:100%;display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:.72rem;background:linear-gradient(180deg,#f6f0e4bd,#ece3d4eb);border:1px solid color-mix(in srgb,var(--border) 70%,transparent);border-radius:22px;padding:.78rem .82rem calc(.78rem + env(safe-area-inset-bottom));box-shadow:0 12px 28px #1f293c14;-webkit-backdrop-filter:blur(16px) saturate(120%);backdrop-filter:blur(16px) saturate(120%)}.session-controls.completed{grid-template-columns:1fr 1fr}.session-controls .secondary{background:linear-gradient(180deg,#f7f2e8f5,#e4d9c7db);color:var(--primary-strong)}.session-controls .primary{background:radial-gradient(circle at top,rgb(255 255 255 / 32%),transparent 36%),linear-gradient(180deg,var(--primary),var(--primary-strong));border-color:color-mix(in srgb,var(--sacred-gold) 34%,var(--primary-strong) 66%);color:var(--sacred-ivory);box-shadow:0 12px 24px #2f446c2e,0 0 0 1px #ffffff1a inset}.session-controls .primary:hover:not(:disabled){box-shadow:0 14px 28px #2f446c38,0 0 0 1px #ffffff1a inset}.intentions-shell,.mystery-shell{position:relative}.intentions-form{display:grid;gap:.45rem}.intentions-label{color:var(--muted);font-size:.88rem}.intentions-input{min-height:44px;padding:.7rem .9rem;border-radius:14px;border:1px solid color-mix(in srgb,var(--border) 72%,transparent);background:#ffffffbd;color:var(--text);box-shadow:inset 0 1px #ffffff9e}.intentions-list-shell{display:grid;gap:.7rem}.intentions-list-actions{display:flex;gap:.65rem;justify-content:space-between;align-items:center;flex-wrap:wrap}.intentions-count{color:var(--muted);font-size:.88rem}.intentions-clear,.intentions-remove{min-height:36px;padding:.45rem .75rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--border) 70%,transparent);background:#ffffffad;color:var(--primary-strong)}.intentions-clear{background:linear-gradient(180deg,#f7f2e8f5,#e6dbc9e0)}.intentions-remove{flex-shrink:0}.intentions-list{margin:0;padding:0;list-style:none;display:grid;gap:.55rem}.intentions-list-item{display:flex;align-items:center;gap:.65rem;justify-content:space-between;padding:.7rem .82rem;border-radius:16px;background:#ffffff8a;border:1px solid color-mix(in srgb,var(--border) 56%,transparent);color:var(--primary-strong)}.intentions-list-text{min-width:0;line-height:1.5;overflow-wrap:anywhere}.intentions-card{padding:1rem 1.05rem;background:radial-gradient(circle at 24% 14%,rgb(255 255 255 / 55%),transparent 30%),linear-gradient(180deg,#f8f2e8f0,#ece2d2e5);border:1px solid color-mix(in srgb,var(--border) 62%,transparent);border-radius:22px;box-shadow:var(--shadow)}.intentions-card-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.intentions-card h2{margin:.33rem 0 0;font-size:1.08rem;color:var(--primary-strong)}.intentions-toggle{min-height:40px;padding-inline:.88rem;background:linear-gradient(180deg,#f7f2e8f5,#e6dbc9e0);color:var(--primary-strong);border-color:color-mix(in srgb,var(--border) 68%,var(--sacred-gold) 32%)}.intentions-collapsed-copy{padding-top:.15rem}.bead-rail-section{margin:.9rem 0 1.2rem;padding:.9rem 1rem;background:var(--surface-2);border:1px solid var(--border);border-radius:16px}.bead-rail{display:flex;gap:.55rem;align-items:center;overflow-x:auto;padding-bottom:.15rem}.bead{border-radius:50%;flex-shrink:0;background:color-mix(in srgb,var(--muted) 30%,transparent);border:1px solid color-mix(in srgb,var(--muted) 45%,transparent);transition:transform .22s ease,background-color .22s ease,box-shadow .22s ease}.bead-large{width:20px;height:20px}.bead-small{width:14px;height:14px}.bead.active{background:linear-gradient(180deg,var(--sacred-gold),var(--sacred-gold-strong));border-color:color-mix(in srgb,var(--sacred-gold-strong) 84%,white 16%);transform:translateY(-2px) scale(1.12);box-shadow:0 0 0 5px color-mix(in srgb,var(--sacred-gold) 18%,transparent)}@keyframes rosary-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.035)}}@keyframes prayer-reveal{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(min-width:860px){.content{padding-top:1.35rem}.terco-layout{grid-template-columns:minmax(420px,620px) minmax(360px,460px);grid-template-areas:"rosary text";gap:clamp(1.75rem,4vw,3rem);align-items:start;justify-content:center}.terco-rosary{position:sticky;top:88px;display:flex;justify-content:center}.terco-text{display:grid;justify-items:end}.prayer-text,.prayer-meditation,.prayer-verse-quote{font-size:1.08rem;line-height:1.86}}@media(max-width:859px){.top-bar-inner{flex-wrap:wrap}.top-bar-actions{width:100%;justify-content:flex-start}.header-popover{left:0;right:auto;width:min(100%,calc(100vw - 2rem))}.session-controls{grid-template-columns:1fr 1fr 1.08fr}}@media(max-width:640px){.content{padding-inline:.85rem;padding-bottom:calc(8.5rem + env(safe-area-inset-bottom))}.terco-layout{grid-template-areas:"rosary" "text";gap:.85rem}.terco-rosary{width:100%}.rosary-section{max-width:none;border-radius:24px}.rosary-svg{width:100%;max-width:none}.header-popover{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100dvh;max-height:none;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:.85rem;padding:calc(1rem + env(safe-area-inset-top)) 1rem calc(1rem + env(safe-area-inset-bottom));border:0;border-radius:0;box-shadow:none;overflow:auto;overscroll-behavior:contain;z-index:40}.header-popover-head{position:sticky;top:0;z-index:1;padding:.2rem 0 .85rem;background:linear-gradient(180deg,#faf6eefa,#faf6eeeb)}.header-popover-head h2{font-size:1.02rem}.header-popover-trigger,.header-popover-close{min-height:44px}.mystery-current{gap:.55rem;padding:.9rem .92rem}.mystery-today-button{width:100%}.mystery-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.mystery-option{min-height:4.8rem;padding:.75rem .82rem}.session-controls{position:fixed;left:0;right:0;bottom:0;width:auto;margin:0;border-radius:22px 22px 0 0;gap:.56rem;padding:.78rem .82rem calc(.78rem + env(safe-area-inset-bottom));padding-inline:.7rem;z-index:30}.session-controls button{min-height:44px;padding-inline:.7rem}.prayer-title{font-size:1.22rem}.prayer-verse{margin-top:.9rem;padding-left:.85rem}.prayer-divider{margin-top:.9rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}}
