:root{color-scheme:dark;--gold:#eccb8c;--ink:#fbecd2;--line:#ac7b445e}*{box-sizing:border-box}body{margin:0;background:#180e0b;color:var(--ink);font:16px/1.65 Georgia,'Times New Roman',serif}button,input,textarea,select{font:inherit}button{cursor:pointer;border:1px solid #b38a53;background:linear-gradient(#522c1b,#301a13);color:var(--ink);border-radius:24px;padding:10px 18px}button:hover{background:#694128}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #ffe1a6;outline-offset:4px}.sanctuary{position:relative;max-width:1920px;margin:auto}.cover{display:block;width:100%;height:auto}.image-button{border:0;background:transparent;border-radius:50px;padding:0}.image-button:hover,.image-button:focus-visible{background:#ffe0a51c;outline:2px solid var(--gold);outline-offset:-3px}.music-hotspot{position:absolute;top:4%;right:4.2%;width:12.8%;height:6.3%}.image-nav{position:absolute;left:15.5%;top:73.8%;width:67.5%;height:11.7%;display:grid;grid-template-columns:24% 25% 25% 26%;gap:1%}.candle-total{position:absolute;top:86.55%;left:29.8%;width:38.8%;height:7.5%;border-radius:60px;border:1px solid #ce9e55;background:linear-gradient(90deg,#34180f,#4a2514,#34180f);display:flex;align-items:center;justify-content:center;gap:18px;font-size:clamp(9px,1.25vw,23px)}.candle-total strong{font-size:clamp(14px,2vw,35px);font-weight:400;color:#ffdf9d}.mobile-actions{display:none}.notice{text-align:center;min-height:26px;margin:14px 20px;color:var(--gold)}main{max-width:1040px;margin:auto;padding:8px 24px 50px}.section-heading{text-align:center;margin:35px auto 28px;max-width:720px}.eyebrow{font:12px/1.6 system-ui,sans-serif;letter-spacing:.18em;color:var(--gold)}h1{font-size:clamp(27px,4vw,42px);font-weight:400;line-height:1.25}h2{font-size:27px;font-weight:400;color:var(--gold);line-height:1.35}h3{font-size:23px;color:var(--gold)}.section-heading p,.muted{color:#c9b49b}.prayer-card{border:1px solid var(--line);border-radius:24px;padding:35px clamp(22px,5vw,70px);background:radial-gradient(ellipse at top,#56311c66,transparent 70%),#21140f;text-align:center;box-shadow:0 14px 60px #0003}.cross{font-size:38px;color:var(--gold)}.prayer-text{font-size:19px;line-height:1.9;white-space:pre-line}.prayer-card .prayer-text{text-align:left}.prayer-list{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:16px}.prayer-list li{padding:24px;border:1px solid var(--line);border-radius:16px;background:#29190f;overflow-wrap:anywhere;white-space:pre-wrap}.prayer-list time{display:block;color:#b9a080;font:12px system-ui;margin:5px 0 15px}.prayer-list .empty{grid-column:1/-1;text-align:center;color:#c9b49b}.mode{font:13px/1.6 system-ui}.section-heading button{margin:4px}footer{text-align:center;padding:25px 20px 45px;color:#b8a188;font-size:13px}a{color:#d3b88b}dialog{width:min(600px,calc(100% - 28px));max-height:88dvh;overflow:auto;border:1px solid #b88d54;border-radius:22px;background:linear-gradient(140deg,#382218,#20130f);color:var(--ink);padding:28px;box-shadow:0 25px 100px #0009}dialog::backdrop{background:#100906d9;backdrop-filter:blur(5px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:15px}.dialog-head h2{margin:0}.dialog-head button{font:26px system-ui;padding:0 12px;background:transparent;border:0}label{display:block;margin:14px 0 7px}input:not([type=range]),textarea,select{display:block;width:100%;background:#170e0a;color:var(--ink);border:1px solid #8e6943;border-radius:10px;padding:12px}textarea{resize:vertical}.row{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.row button{flex:1;white-space:nowrap;padding:10px 12px}.volume{display:flex;align-items:center;gap:14px}.volume input{flex:1;min-width:0;accent-color:var(--gold)}.muted{font-size:14px}.beads{display:flex;gap:8px;justify-content:center;margin:24px 0}.bead{width:16px;height:16px;border:1px solid #bb945b;border-radius:50%;background:#28170f}.bead.done{background:#9e7844}.bead.active{background:#ffe3ac;box-shadow:0 0 15px #ffbf68;outline:2px solid #e7bd73;outline-offset:3px}.text-button{display:block;margin-top:20px;border:0;background:transparent;text-decoration:underline;color:#cbb18f;font-size:14px}[hidden]{display:none!important}@media(max-width:650px){.image-nav,.music-hotspot{display:none}.mobile-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;padding:18px 12px 0}.mobile-actions button{font-size:14px;padding:9px 13px}.candle-total{gap:7px}.prayer-list{grid-template-columns:1fr}main{padding:0 16px 25px}.section-heading{margin-top:25px}.prayer-text{font-size:17px}dialog{padding:22px}h2{font-size:24px}}

/* Candle highlights follow the artwork coordinates at every screen size. */
.sanctuary{overflow:hidden}.image-nav,.music-hotspot,.candle-total{z-index:2}
#candleGlow{position:absolute;inset:0;pointer-events:none;z-index:1;opacity:0}
#candleGlow.lit{animation:candle-window 5s linear both}
.candle-light{position:absolute;left:var(--x);top:var(--y);width:3.8%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(ellipse,rgba(255,247,193,.88) 0,rgba(255,210,105,.55) 13%,rgba(255,162,45,.3) 35%,transparent 72%);opacity:.7}
.candle-light::after{content:"";position:absolute;left:45%;top:31%;width:10%;height:31%;border-radius:70% 35% 55% 45%;background:linear-gradient(#fffde9,#ffe9a3 65%,#ffa634);box-shadow:0 0 8px #ffe8a9;transform-origin:50% 100%}
#candleGlow.lit .candle-light{animation:candle-shimmer var(--speed) ease-in-out infinite;animation-delay:var(--phase)}
#candleGlow.lit .candle-light::after{animation:candle-flame var(--speed) ease-in-out infinite;animation-delay:var(--phase)}
@keyframes candle-window{0%{opacity:0}8%{opacity:1}85%{opacity:1}100%{opacity:0}}
@keyframes candle-shimmer{0%,100%{opacity:.42;transform:translate(-50%,-50%) scale(.9)}28%{opacity:.95;transform:translate(-50%,-50%) scale(1.13)}62%{opacity:.65;transform:translate(-50%,-50%) scale(1.02)}}
@keyframes candle-flame{0%,100%{transform:rotate(-4deg) scaleY(.95)}38%{transform:rotate(5deg) scaleY(1.14)}72%{transform:rotate(-2deg) scaleY(1.02)}}
@media(prefers-reduced-motion:reduce){#candleGlow.lit .candle-light,#candleGlow.lit .candle-light::after{animation:none}}
