.prayer-page{--prayer-audio-level:0;min-height:100%;color:#e8fbff;background:#031d3b}
.prayer-sanctuary{position:relative;overflow:hidden;isolation:isolate}
.prayer-controls{position:relative;z-index:2;display:grid;justify-items:center}
.prayer-footer{display:flex;flex-direction:column;align-items:center;gap:1rem;text-align:center;background:#020f21}
.prayer-footer p{max-width:48rem;margin:0;color:#afc8d5;line-height:1.8}
.prayer-footer nav{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem}
.prayer-footer a{color:var(--secondary)}
.prayer-light{position:absolute;inset:0;z-index:-1;pointer-events:none}
.prayer-form{
    display:flex;
    gap:.7rem;
    width:100%;
    padding:.65rem;
    border:1px solid rgba(216,249,255,.26);
    border-radius:1rem;
    background:rgba(3,29,59,.38);
    box-shadow:0 12px 42px rgba(0,11,27,.24), 0 0 28px rgba(92,218,255,.06);
    backdrop-filter:blur(9px);
}

.prayer-form input{
    min-width:0;
    flex:1;
    border:1px solid rgba(216,249,255,.26);
    border-radius:.72rem;
    padding:.78rem .95rem;
    color:#eefcff;
    background:rgba(1,20,43,.62);
    font:inherit;
}

.prayer-form input::placeholder{ color:rgba(221,245,250,.56); }

.prayer-form button{
    appearance:none;
    flex:0 0 auto;
    border:1px solid rgba(216,249,255,.42);
    border-radius:.72rem;
    padding:.78rem 1.1rem;
    color:#eefcff;
    background:linear-gradient(135deg, rgba(31,116,164,.72), rgba(15,76,125,.72));
    box-shadow:0 0 20px rgba(92,218,255,.08);
    font:inherit;
    font-weight:700;
    cursor:pointer;
    transition:border-color .2s ease, background .2s ease;
}

.prayer-form input:focus-visible,
.prayer-form button:hover,
.prayer-form button:focus-visible{
    outline:none;
    border-color:rgba(216,249,255,.82);
}

.prayer-form input:focus-visible{ box-shadow:0 0 0 3px rgba(92,218,255,.14); }
.prayer-form button:hover,
.prayer-form button:focus-visible{ background:linear-gradient(135deg, rgba(40,139,191,.82), rgba(20,91,145,.82)); }

.prayer-audio-toggle{
    appearance:none;
    border:1px solid rgba(216,249,255,.38);
    border-radius:999px;
    padding:.68rem 1.25rem;
    color:#eefcff;
    background:rgba(3,29,59,.28);
    box-shadow:0 0 24px rgba(92,218,255,.08);
    font:inherit;
    cursor:pointer;
    backdrop-filter:blur(7px);
    transition:border-color .2s ease, background .2s ease;
}

.prayer-audio-toggle[aria-pressed="true"]{
    transform:scale(calc(1 + (var(--prayer-audio-level) * .012)));
    filter:brightness(calc(1 + (var(--prayer-audio-level) * .025)));
    box-shadow:0 0 calc(24px + (var(--prayer-audio-level) * 5px)) rgba(92,218,255,.12);
}

.prayer-audio-toggle[aria-pressed="false"]{
    transform:none;
    filter:none;
}

.prayer-audio-toggle:hover,
.prayer-audio-toggle:focus-visible{
    border-color:rgba(216,249,255,.78);
    background:rgba(20,79,116,.42);
}

.prayer-sanctuary{min-height:calc(100svh - 70px);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem 2rem;background:radial-gradient(ellipse at 50% 32%,#12567b88,transparent 50%),repeating-linear-gradient(90deg,transparent 0,transparent calc(20% - 1px),#80edff08 20%),linear-gradient(160deg,#020e23,#063b60 60%,#031a32)}
.prayer-altar{position:relative;z-index:1;text-align:center;width:min(100%,780px)}
.prayer-eyebrow{font-size:.7rem;letter-spacing:.32em;color:#83e4f3;margin:0 0 1rem}
.prayer-altar h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(2.1rem,5vw,3.6rem);line-height:1.13;margin:0;color:#edfbff;text-shadow:0 0 45px #66d9ff44}
.prayer-intro{font-size:.9rem;color:#b0cdda;line-height:1.7;margin:1rem 0}
.prayer-tally{display:grid;gap:.2rem;margin:1.2rem 0 .3rem}.prayer-tally strong{font-size:clamp(2.6rem,7vw,4rem);font-weight:400;font-variant-numeric:tabular-nums;color:#a5f5ff;text-shadow:0 0 28px #5de6ff66}.prayer-tally span{font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;color:#b0d8e8}
.prayer-sigil{display:grid;place-items:center;width:106px;height:106px;margin:1.5rem auto;border:1px solid #85ecff66;border-radius:50%;font-size:4rem;color:#c4faff;box-shadow:0 0 0 12px #82ecff06,0 0 0 13px #82ecff18,0 0 60px #3bdfff26,inset 0 0 40px #36dcff16}
.prayer-offer{min-height:58px;padding:1rem 2.4rem;border:1px solid #9cf5ff;border-radius:999px;background:linear-gradient(135deg,#a9f3ff,#49c6e6);color:#04273d;font:inherit;font-weight:700;cursor:pointer;box-shadow:0 0 35px #51dfff40,0 8px 28px #00112288;transition:transform .15s,box-shadow .15s}.prayer-offer span{margin-left:1.2rem}.prayer-offer:hover{transform:translateY(-2px);box-shadow:0 0 50px #51dfff70}.prayer-offer:active{transform:scale(.96)}.prayer-offer:focus-visible{outline:3px solid white;outline-offset:6px}
.prayer-verse{display:flex;gap:.7rem;align-items:center;justify-content:center;min-height:100px;max-width:560px;margin:.8rem auto 0;padding:0 1rem}.prayer-verse p{min-width:0;margin:0;font:italic clamp(1rem,2.5vw,1.2rem)/1.7 Georgia,serif;color:#d8f6ff;overflow-wrap:anywhere}.prayer-sync-status{font-size:.72rem;color:#aacada;min-height:2em;line-height:1.5;margin:0}
.prayer-controls{padding:.8rem 0 0;gap:.75rem;width:min(620px,100%)}.prayer-custom-label{font-size:.73rem;color:#a2c5d6;text-align:center;margin:0}.prayer-form{box-sizing:border-box}.prayer-footer{min-height:0;padding:2.5rem 1.5rem;font-size:.8rem}.prayer-footer nav{margin-top:0}.prayer-audio-toggle{font-size:.75rem;padding:.5rem 1rem}
.prayer-light{background:radial-gradient(circle at 20% 30%,#9ff5ff44 0 2px,transparent 3px),radial-gradient(circle at 80% 40%,#9ff5ff55 0 2px,transparent 3px),radial-gradient(circle at 35% 70%,#9ff5ff44 0 1px,transparent 2px),radial-gradient(circle at 65% 80%,#9ff5ff44 0 2px,transparent 3px)}
@media(max-width:640px){.prayer-sanctuary{padding:2rem .8rem 1.5rem}.prayer-intro{max-width:270px;margin:1rem auto}.prayer-controls{width:100%;padding:.5rem 0}.prayer-form{width:100%;display:grid}.prayer-form input,.prayer-form button{width:100%;min-height:44px;box-sizing:border-box}.prayer-verse{min-height:115px}.prayer-altar h1{font-size:2.2rem}}
@media(prefers-reduced-motion:reduce){.prayer-offer{transition:none}.prayer-offer:hover,.prayer-offer:active{transform:none}}

/* Viewport-wide positions; only transform and opacity animate. */
.prayer-messages{
    position:fixed;
    inset:1rem;
    z-index:0;
    overflow:visible;
    pointer-events:none;
    user-select:none;
}
.prayer-message{
    position:absolute;
    top:var(--prayer-y);
    left:var(--prayer-x);
    width:max-content;
    max-width:min(70vw,42rem);
    overflow-wrap:anywhere;
    color:#d9f8ff;
    font-size:var(--prayer-size);
    line-height:1.6;
    letter-spacing:.035em;
    opacity:0;
    text-shadow:0 0 14px #8aecff55;
    animation:prayer-drift var(--prayer-duration) linear forwards;
}
.prayer-footer{position:relative;z-index:1}
@keyframes prayer-drift{
    0%{transform:translate(var(--prayer-anchor-x),var(--prayer-anchor-y));opacity:0}
    10%{opacity:var(--prayer-opacity)}
    82.5%{opacity:var(--prayer-opacity)}
    100%{transform:translate(calc(var(--prayer-anchor-x) + var(--prayer-drift-x)),calc(var(--prayer-anchor-y) + var(--prayer-drift-y)));opacity:0}
}
.prayer-message--still{--prayer-drift-x:0px!important;--prayer-drift-y:0px!important}
@media(prefers-reduced-motion:reduce){
    .prayer-message{--prayer-drift-x:0px!important;--prayer-drift-y:0px!important}
}
