/* Prayer Center — interactive candlelight layer (Magic UI-style). Visual only: never changes how candles are recorded. */
.pc-progress{position:fixed;left:0;top:0;height:3px;width:100%;z-index:60;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,#9A6224,#D29A52,#F7D08A);pointer-events:none}

/* Intro: candlelit backdrop */
.prayer-intro{position:relative;overflow:hidden;isolation:isolate}
.prayer-intro::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:radial-gradient(rgba(210,154,82,.35) 1px,transparent 1.4px);background-size:22px 22px;
  -webkit-mask:radial-gradient(ellipse 60% 80% at 50% 40%,#000 20%,transparent 75%);mask:radial-gradient(ellipse 60% 80% at 50% 40%,#000 20%,transparent 75%)}
.pc-embers{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.pc-embers i{position:absolute;bottom:-10px;width:var(--s);height:var(--s);border-radius:50%;background:radial-gradient(circle,#FFE3A3,#E9A94C 60%,transparent 70%);box-shadow:0 0 8px rgba(242,180,90,.8);opacity:0;animation:pc-rise var(--d) linear infinite;animation-delay:var(--dl)}
@keyframes pc-rise{0%{transform:translate(0,0);opacity:0}15%{opacity:.9}100%{transform:translate(var(--x),-420px);opacity:0}}
.prayer-intro h1 em,.daily-copy h2 em,.prayer-calendar h2 em,.prayer-values h2 em{background:linear-gradient(100deg,currentColor 0%,currentColor 35%,#F2C77F 50%,currentColor 65%,currentColor 100%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:pc-shine 6s linear infinite}
@keyframes pc-shine{from{background-position:100% 0}to{background-position:-150% 0}}

/* Featured photo: halo + beam + tilt */
.featured-frame{position:relative;isolation:isolate;perspective:900px}
.featured-frame::before{content:"";position:absolute;inset:-70px;z-index:-1;border-radius:50%;background:radial-gradient(closest-side,rgba(247,200,115,.6),rgba(247,200,115,.25) 60%,transparent);animation:pc-halo 3.4s ease-in-out infinite;pointer-events:none}
@keyframes pc-halo{50%{transform:scale(1.05);opacity:.65}}
.pc-tilt{transition:transform .4s ease;transform-style:preserve-3d}
.pc-tilt.on{transition:transform .08s linear}
.pc-ring{position:absolute;inset:0;z-index:3;padding:3px;pointer-events:none;
  background:conic-gradient(from var(--pc-a,0deg),transparent 0 70%,#D29A52 82%,#F7D08A 90%,transparent 100%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:pc-beam 6s linear infinite}
@property --pc-a{syntax:"<angle>";inherits:false;initial-value:0deg}
@keyframes pc-beam{to{--pc-a:360deg}}

/* Guided prayer */
.pc-guide-btn{display:inline-flex;align-items:center;gap:.55em;margin-top:6px;padding:.8em 1.2em;border-radius:999px;border:1.5px solid currentColor;background:transparent;color:var(--teal,#1F3446);font:800 .72rem/1 var(--f-body);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:background .2s,color .2s,transform .2s}
.pc-guide-btn:hover{background:var(--teal,#1F3446);color:#fff;transform:translateY(-2px)}
.pc-guide{display:grid;justify-items:center;gap:14px;margin:14px 0 4px;padding:22px;border-radius:16px;background:rgba(255,250,240,.75);border:1px solid #e3d3b8;box-shadow:0 20px 40px -32px rgba(31,52,70,.7);text-align:center}
.pc-guide[hidden]{display:none}
.pc-breath{position:relative;width:110px;height:110px;display:grid;place-items:center}
.pc-breath::before{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle,rgba(247,208,138,.9),rgba(210,154,82,.25) 60%,transparent 72%);transform:scale(.55);transition:transform 4s ease-in-out}
.pc-breath.in::before{transform:scale(1)}
.pc-breath span{position:relative;font:600 1rem/1.2 var(--f-display);color:#7a4d1b}
.pc-guide .pc-line{font:italic 400 1.15rem/1.6 var(--f-display);color:var(--teal,#1F3446);max-width:46ch;min-height:3.2em;opacity:0;filter:blur(6px);transition:opacity .8s,filter .8s}
.pc-guide .pc-line.on{opacity:1;filter:none}
.pc-guide .pc-dots{display:flex;gap:6px}
.pc-guide .pc-dots i{width:7px;height:7px;border-radius:50%;background:#e1cfb0;transition:background .3s}
.pc-guide .pc-dots i.on{background:#9A6224}
.pc-guide .pc-row{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.pc-guide .pc-row button{padding:.65em 1.1em;border-radius:999px;border:1px solid #cdbb9c;background:#fff;color:var(--teal,#1F3446);font:700 .78rem/1 var(--f-body);cursor:pointer}
.pc-guide .pc-row button.primary{background:var(--teal,#1F3446);border-color:var(--teal,#1F3446);color:#fff}
.prayer-text.pc-dim{opacity:.35;transition:opacity .4s}

/* Candle button + count */
.candle-button{position:relative;overflow:hidden;isolation:isolate;transition:transform .2s,box-shadow .3s}
.candle-button:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 0 0 6px rgba(247,208,138,.35),0 14px 28px -16px rgba(154,98,36,.7)}
.candle-button::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 35%,rgba(247,208,138,.35) 50%,transparent 65%);transform:translateX(-130%);animation:pc-sweep 3.8s ease-in-out infinite}
@keyframes pc-sweep{55%,100%{transform:translateX(130%)}}
.candle-button[aria-pressed=true]::after{display:none}
@keyframes pc-flick{0%,100%{transform:scale(1) rotate(-2deg)}30%{transform:scale(.94,1.06) rotate(2deg)}60%{transform:scale(1.04,.96) rotate(-1deg)}}
.candle-button.pc-lit{animation:pc-glow 1.8s ease-out 2}
@keyframes pc-glow{0%{box-shadow:0 0 0 0 rgba(247,208,138,.9)}100%{box-shadow:0 0 0 26px rgba(247,208,138,0)}}
.pc-candles{display:flex;align-items:flex-end;flex-wrap:wrap;gap:7px;margin:8px 0 10px;min-height:38px}
.pc-c{position:relative;width:8px;height:22px;border-radius:2px;background:linear-gradient(90deg,#f5ecdc,#fffaf0 50%,#e8dcc6);box-shadow:0 2px 4px rgba(0,0,0,.08);opacity:0;transform:translateY(6px);transition:opacity .4s,transform .4s}
.pc-c.in{opacity:1;transform:none}
.pc-c::before{content:"";position:absolute;left:50%;bottom:100%;width:8px;height:13px;margin-left:-4px;border-radius:50% 50% 50% 50%/60% 60% 40% 40%;background:radial-gradient(ellipse at 50% 80%,#fff 0 18%,#FFD36B 35%,#F29A2E 70%,transparent 72%);filter:drop-shadow(0 0 6px rgba(255,190,90,.95));transform-origin:50% 90%;animation:pc-flick 1.6s ease-in-out infinite;animation-delay:var(--fd,0s)}
.pc-c.unlit::before{display:none}
.pc-c.yours{background:linear-gradient(90deg,#f7e2b5,#fff3d4 50%,#e9cf98)}
.pc-more{font:800 .8rem/1 var(--f-body);color:#9A6224;align-self:center}
.pc-spark{position:fixed;z-index:70;width:8px;height:8px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,#fff,#FFD36B 50%,transparent 70%);box-shadow:0 0 10px #FFC861;animation:pc-up 1.8s ease-out forwards}
@keyframes pc-up{to{transform:translate(var(--x),var(--y)) scale(.4);opacity:0}}

/* Mary card: soft beam border */
.marian-prayer{position:relative;isolation:isolate}
.marian-prayer::before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1.5px;pointer-events:none;z-index:1;
  background:conic-gradient(from var(--pc-a,0deg),transparent 0 75%,#D29A52 85%,#F7D08A 92%,transparent 100%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:pc-beam 8s linear infinite}
.mary-image{transition:transform .5s ease}
.marian-prayer:hover .mary-image{transform:translateY(-4px) scale(1.03)}

/* Calendar: spotlight + lift */
.calendar-day{position:relative;transition:background .2s,transform .2s,box-shadow .25s}
.calendar-day:hover{transform:translateY(-2px);box-shadow:0 12px 24px -18px rgba(31,52,70,.6);z-index:1}
.calendar-day[aria-current]{box-shadow:inset 0 0 0 2px #D29A52}
.calendar-day[aria-current]::after{content:"";position:absolute;top:8px;right:8px;width:8px;height:8px;border-radius:50%;background:#D29A52;box-shadow:0 0 0 0 rgba(210,154,82,.7);animation:pc-ping 2s ease-out infinite}
@keyframes pc-ping{70%,100%{box-shadow:0 0 0 9px rgba(210,154,82,0)}}
.calendar-day img{transition:transform .3s}
.calendar-day:hover img{transform:scale(1.06)}
.calendar-selected>*{animation:pc-fadein .5s ease}
@keyframes pc-fadein{from{opacity:0;filter:blur(5px);transform:translateY(6px)}to{opacity:1;filter:none;transform:none}}

/* Community wall */
#public-messages>*{animation:pc-fadein .6s ease both}
#public-messages>*:nth-child(2){animation-delay:.08s}#public-messages>*:nth-child(3){animation-delay:.16s}#public-messages>*:nth-child(4){animation-delay:.24s}#public-messages>*:nth-child(n+5){animation-delay:.32s}

/* Values: word reveal */
.prayer-values .pc-w{opacity:.2;transition:opacity .4s}
.prayer-values .pc-w.on{opacity:1}

@media (prefers-reduced-motion:reduce){
  .pc-embers{display:none}
  .prayer-intro h1 em,.daily-copy h2 em,.prayer-calendar h2 em,.prayer-values h2 em,.featured-frame::before,.pc-ring,.candle-button::after,.pc-c::before,.marian-prayer::before,.calendar-day[aria-current]::after{animation:none}
  .pc-breath::before{transition:none}
  .prayer-values .pc-w{opacity:1}
}
