.effects-overlay{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:50;overflow:hidden}@keyframes absolution-glow{0%{opacity:0;transform:scale(.5)}20%{opacity:1;transform:scale(1)}80%{opacity:1;transform:scale(1.1)}to{opacity:0;transform:scale(1.3)}}@keyframes dove-flight{0%{opacity:0;transform:translate(-50%,100%) scale(.5)}20%{opacity:1;transform:translate(-50%,50%) scale(1)}60%{opacity:1;transform:translate(-50%,-20%) scale(1.2)}to{opacity:0;transform:translate(-50%,-100%) scale(.8)}}.effect-absolution{position:absolute;top:0;left:0;right:0;bottom:0}.effect-absolution .glow{position:absolute;top:50%;left:50%;width:150vmax;height:150vmax;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(201,168,76,.4) 0%,rgba(201,168,76,.2) 30%,rgba(201,168,76,.05) 60%,transparent 80%);animation:absolution-glow 7s ease-out forwards}.effect-absolution .dove{position:absolute;bottom:0;left:50%;font-size:4rem;filter:drop-shadow(0 0 20px rgba(255,255,255,.8));animation:dove-flight 6s ease-out forwards}@keyframes stained-glass-in{0%{clip-path:circle(0% at 50% 50%);opacity:0}to{clip-path:circle(100% at 50% 50%);opacity:1}}@keyframes stained-glass-out{0%{clip-path:circle(100% at 50% 50%);opacity:1}to{clip-path:circle(0% at 50% 50%);opacity:0}}.effect-stained-glass{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#8b000026,#00640026,#00008b26,#ffd70026,#80008026);mix-blend-mode:overlay;animation:stained-glass-in 2s ease-out forwards}.effect-stained-glass.removing{animation:stained-glass-out 2s ease-in forwards}.effect-stained-glass:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:url(/assets/images/stained-glass-overlay.png);background-size:cover;background-position:center;opacity:.3;mix-blend-mode:multiply}@keyframes incense-rise{0%{opacity:0;transform:translateY(0) scale(1)}20%{opacity:.6}80%{opacity:.3}to{opacity:0;transform:translateY(-100vh) scale(2)}}@keyframes incense-sway{0%,to{transform:translate(0)}50%{transform:translate(20px)}}.effect-incense{position:absolute;bottom:0;left:0;right:0;height:100%}.effect-incense .smoke-particle{position:absolute;bottom:-20px;width:60px;height:60px;background:radial-gradient(circle,rgba(200,200,200,.4) 0%,rgba(200,200,200,.1) 50%,transparent 70%);border-radius:50%;animation:incense-rise 8s ease-out infinite,incense-sway 3s ease-in-out infinite;filter:blur(8px)}.effect-incense .smoke-particle:nth-child(1){left:10%;animation-delay:0s}.effect-incense .smoke-particle:nth-child(2){left:30%;animation-delay:1s}.effect-incense .smoke-particle:nth-child(3){left:50%;animation-delay:2s}.effect-incense .smoke-particle:nth-child(4){left:70%;animation-delay:1.5s}.effect-incense .smoke-particle:nth-child(5){left:90%;animation-delay:.5s}.effect-incense .smoke-particle:nth-child(6){left:20%;animation-delay:3s}.effect-incense .smoke-particle:nth-child(7){left:60%;animation-delay:2.5s}.effect-incense .smoke-particle:nth-child(8){left:80%;animation-delay:4s}@keyframes candlelight-pulse{0%,to{opacity:.4;filter:sepia(.3) brightness(1.1)}50%{opacity:.5;filter:sepia(.4) brightness(1.15)}}.effect-candlelight{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to bottom,#ffc8641a,#ffb45026);animation:candlelight-pulse 3s ease-in-out infinite}.effect-candlelight:after{content:"";position:absolute;bottom:10%;left:50%;transform:translate(-50%);width:200px;height:200px;background:radial-gradient(circle,rgba(255,200,100,.3) 0%,transparent 70%);filter:blur(30px);animation:flicker 2s ease-in-out infinite}@keyframes holy-water-ripple{0%{transform:translate(-50%,-50%) scale(0);opacity:.8;border-width:3px}to{transform:translate(-50%,-50%) scale(3);opacity:0;border-width:1px}}.effect-holy-water{position:absolute;top:0;left:0;right:0;bottom:0}.effect-holy-water .ripple{position:absolute;top:50%;left:50%;width:100px;height:100px;border:3px solid rgba(100,180,255,.8);border-radius:50%;animation:holy-water-ripple 1s ease-out forwards}.effect-holy-water .ripple:nth-child(1){animation-delay:0s}.effect-holy-water .ripple:nth-child(2){animation-delay:.2s}.effect-holy-water .ripple:nth-child(3){animation-delay:.4s}.effect-holy-water .droplet{position:absolute;top:50%;left:50%;font-size:2rem;transform:translate(-50%,-50%);filter:drop-shadow(0 0 10px rgba(100,180,255,.8));animation:fadeIn .3s ease-out}@keyframes excommunicate-flash{0%{background:transparent}10%{background:#6b1c23cc}30%{background:transparent}}@keyframes excommunicate-fade{0%{opacity:0}to{opacity:1}}@keyframes shatter-piece{0%{transform:translate(0) rotate(0);opacity:1}to{transform:translate(var(--tx),var(--ty)) rotate(var(--rot));opacity:0}}.effect-excommunicate{position:absolute;top:0;left:0;right:0;bottom:0;animation:excommunicate-flash .5s ease-out}.effect-excommunicate .fade-black{position:absolute;top:0;left:0;right:0;bottom:0;background:#0a0908;animation:excommunicate-fade 2s ease-in 1s forwards}.effect-excommunicate .shatter-container{position:absolute;top:0;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(5,1fr)}.effect-excommunicate .shatter-piece{background:linear-gradient(135deg,#6b1c234d,#3d10154d);border:1px solid rgba(107,28,35,.5);animation:shatter-piece 1.5s ease-out forwards;animation-delay:var(--delay)}.effect-excommunicate .message{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:var(--font-display);font-size:2rem;color:var(--crimson);text-transform:uppercase;letter-spacing:.3em;opacity:0;animation:fadeIn 1s ease-out 2s forwards;text-shadow:0 0 30px rgba(107,28,35,.8)}@keyframes silence-dim{0%{opacity:0}to{opacity:1}}@keyframes silence-candle{0%,to{opacity:.8;transform:translate(-50%) scale(1)}25%{opacity:.6;transform:translate(-48%) scale(.95)}75%{opacity:.9;transform:translate(-52%) scale(1.02)}}.effect-silence{position:absolute;top:0;left:0;right:0;bottom:0;background:#0a0908b3;animation:silence-dim 1s ease-out forwards}.effect-silence .candle{position:absolute;bottom:20%;left:50%;transform:translate(-50%);font-size:5rem;animation:silence-candle 2s ease-in-out infinite;filter:drop-shadow(0 0 30px rgba(245,222,179,.6))}.effect-silence .message{position:absolute;top:30%;left:50%;transform:translate(-50%);font-family:var(--font-display);font-size:1rem;color:var(--gold-dim);text-transform:uppercase;letter-spacing:.3em;opacity:.7}@keyframes penance-appear{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.penance-display{position:absolute;top:15%;left:50%;transform:translate(-50%);background:var(--bg-glass);border:1px solid var(--gold-dim);padding:2rem 3rem;text-align:center;animation:penance-appear .5s ease-out;z-index:60}.penance-display h3{margin-bottom:1rem;font-size:.9rem;letter-spacing:.2em}.penance-display .penance-text{font-family:var(--font-body);font-size:1.3rem;font-style:italic;color:var(--parchment)}.penance-display .penance-quantity{margin-top:.5rem;font-family:var(--font-display);font-size:.8rem;color:var(--text-secondary)}@keyframes scripture-appear{0%{opacity:0;transform:translate(50px)}to{opacity:1;transform:translate(0)}}.scripture-display{position:absolute;top:20%;right:2rem;max-width:400px;background:var(--bg-glass);border:1px solid var(--gold-dim);border-left:3px solid var(--gold);padding:1.5rem;animation:scripture-appear .5s ease-out;z-index:60}.scripture-display .verse-text{font-family:var(--font-body);font-size:1.1rem;font-style:italic;color:var(--parchment);line-height:1.6;margin-bottom:1rem}.scripture-display .verse-reference{font-family:var(--font-display);font-size:.75rem;color:var(--gold);letter-spacing:.1em;text-align:right}.book-of-life{position:absolute;bottom:6rem;left:1.5rem;width:280px;max-height:200px;background:linear-gradient(to bottom,#1c1815f2,#1c1815e6);border:1px solid var(--gold-dim);padding:1rem;overflow-y:auto;z-index:40}.book-of-life h4{font-size:.65rem;letter-spacing:.2em;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--text-dim)}.book-of-life .entry{font-family:var(--font-body);font-size:.85rem;font-style:italic;color:var(--text-secondary);margin-bottom:.5rem;padding-left:.5rem;border-left:2px solid var(--gold-dim)}.book-of-life .entry-time{font-size:.65rem;color:var(--text-dim);margin-top:.25rem}.priest-toolbar{position:absolute;top:50%;left:1rem;transform:translateY(-50%);width:200px;background:var(--bg-glass);border:1px solid var(--gold-dim);z-index:100;max-height:80vh;overflow-y:auto}.priest-toolbar .toolbar-section{padding:.75rem;border-bottom:1px solid var(--text-dim)}.priest-toolbar .toolbar-section:last-child{border-bottom:none}.priest-toolbar .section-title{font-family:var(--font-display);font-size:.55rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gold-dim);margin-bottom:.5rem}.priest-toolbar button{width:100%;font-size:.65rem;padding:.4rem .6rem;margin-bottom:.3rem;text-align:left;letter-spacing:.08em}.priest-toolbar button:last-child{margin-bottom:0}.priest-toolbar button.active{background:var(--gold-dim);color:var(--bg-primary)}.priest-toolbar button.danger{border-color:var(--crimson);color:var(--crimson)}.priest-toolbar button.danger:hover{background:var(--crimson-dim);border-color:var(--crimson)}.confirm-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#0a0908e6;display:flex;align-items:center;justify-content:center;z-index:200}.confirm-modal .modal-content{background:var(--bg-elevated);border:1px solid var(--crimson);padding:2rem;max-width:400px;text-align:center}.confirm-modal h3{color:var(--crimson);margin-bottom:1rem}.confirm-modal p{color:var(--text-secondary);font-style:italic;margin-bottom:1.5rem}.confirm-modal .modal-buttons{display:flex;gap:1rem;justify-content:center}.inscribe-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#0a0908e6;display:flex;align-items:center;justify-content:center;z-index:200}.inscribe-modal .modal-content{background:var(--bg-elevated);border:1px solid var(--gold-dim);padding:2rem;max-width:500px;width:90%}.inscribe-modal h3{margin-bottom:1rem;font-size:.9rem}.inscribe-modal textarea{width:100%;min-height:100px;resize:vertical;margin-bottom:1rem}.inscribe-modal .modal-buttons{display:flex;gap:1rem;justify-content:flex-end}.scripture-picker{position:fixed;top:0;left:0;right:0;bottom:0;background:#0a0908f2;display:flex;flex-direction:column;z-index:200;padding:2rem}.scripture-picker h3{text-align:center;margin-bottom:1.5rem}.scripture-picker .sin-tabs{display:flex;justify-content:center;gap:.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.scripture-picker .sin-tab{padding:.5rem 1rem;font-size:.7rem}.scripture-picker .sin-tab.active{background:var(--gold-dim);color:var(--bg-primary)}.scripture-picker .verses-list{flex:1;overflow-y:auto;max-width:800px;margin:0 auto;width:100%}.scripture-picker .verse-item{background:var(--bg-secondary);border:1px solid var(--text-dim);padding:1rem;margin-bottom:.75rem;cursor:pointer;transition:all .3s ease}.scripture-picker .verse-item:hover{border-color:var(--gold-dim);background:var(--bg-elevated)}.scripture-picker .verse-item .text{font-style:italic;margin-bottom:.5rem;line-height:1.5}.scripture-picker .verse-item .reference{font-family:var(--font-display);font-size:.7rem;color:var(--gold);letter-spacing:.1em}.scripture-picker .close-btn{position:absolute;top:1rem;right:1rem;font-size:.7rem;padding:.5rem 1rem}.penance-dropdown{position:relative}.penance-dropdown .dropdown-content{position:absolute;left:100%;top:0;margin-left:.5rem;background:var(--bg-elevated);border:1px solid var(--gold-dim);min-width:200px;z-index:110}.penance-dropdown .penance-option{padding:.5rem .75rem;font-family:var(--font-body);font-size:.8rem;color:var(--text-primary);cursor:pointer;transition:background .2s ease;border-bottom:1px solid var(--text-dim)}.penance-dropdown .penance-option:last-child{border-bottom:none}.penance-dropdown .penance-option:hover{background:var(--bg-glass)}.penance-dropdown .quantity-input{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-top:1px solid var(--gold-dim)}.penance-dropdown .quantity-input input{width:50px;padding:.25rem;text-align:center}.penance-dropdown .quantity-input button{padding:.25rem .5rem;font-size:.65rem}:root{--bg-primary: #0a0908;--bg-secondary: #151210;--bg-elevated: #1c1815;--bg-glass: rgba(28, 24, 21, .85);--gold: #c9a84c;--gold-dim: #8b6f2e;--gold-bright: #e6c55a;--candle: #f5deb3;--candle-glow: rgba(245, 222, 179, .08);--crimson: #6b1c23;--crimson-dim: #3d1015;--stone: #7a7168;--parchment: #d4c5a9;--text-primary: #d4c5a9;--text-secondary: #8a7e6e;--text-dim: #5a5249;--font-display: "Cinzel", serif;--font-body: "Crimson Text", serif;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 2rem;--space-xl: 4rem}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-body);font-size:18px;line-height:1.6;overflow-x:hidden}#root{min-height:100%;display:flex;flex-direction:column}h1,h2,h3,h4{font-family:var(--font-display);font-weight:400;color:var(--gold);letter-spacing:.08em;text-transform:uppercase}h1{font-size:2.8rem;line-height:1.2}h2{font-size:1.8rem;line-height:1.3}h3{font-size:1.2rem}p{max-width:60ch}a{color:var(--gold);text-decoration:none;transition:color .3s ease}a:hover{color:var(--gold-bright)}button{font-family:var(--font-display);font-size:.85rem;letter-spacing:.15em;text-transform:uppercase;padding:var(--space-sm) var(--space-lg);border:1px solid var(--gold-dim);background:transparent;color:var(--gold);cursor:pointer;transition:all .4s ease;position:relative;overflow:hidden}button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,var(--candle-glow),transparent);transition:left .6s ease}button:hover{border-color:var(--gold);color:var(--gold-bright);box-shadow:0 0 20px #c9a84c1a}button:hover:before{left:100%}button:disabled{opacity:.3;cursor:not-allowed}button.primary{background:var(--crimson-dim);border-color:var(--crimson)}button.primary:hover{background:var(--crimson);border-color:var(--gold-dim)}input,textarea,select{font-family:var(--font-body);font-size:1rem;padding:var(--space-sm) var(--space-md);background:var(--bg-secondary);border:1px solid var(--text-dim);color:var(--text-primary);outline:none;transition:border-color .3s ease}input:focus,textarea:focus,select:focus{border-color:var(--gold-dim)}.video-container{position:relative;background:var(--bg-secondary);border:1px solid var(--text-dim);overflow:hidden}.video-container video{width:100%;height:100%;object-fit:cover}.video-container.local{position:absolute;bottom:var(--space-md);right:var(--space-md);width:180px;height:135px;z-index:10;border-color:var(--gold-dim)}.divider{display:flex;align-items:center;gap:var(--space-md);margin:var(--space-lg) 0;color:var(--text-dim)}.divider:before,.divider:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--gold-dim),transparent)}.cross{font-size:1.2rem;color:var(--gold-dim)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.page-enter{animation:fadeIn .8s ease forwards}@keyframes flicker{0%,to{opacity:1}50%{opacity:.85}75%{opacity:.95}}.flicker{animation:flicker 3s ease-in-out infinite}.gothic-border{border:1px solid var(--gold-dim);position:relative}.gothic-border:before,.gothic-border:after{content:"✦";position:absolute;color:var(--gold-dim);font-size:.6rem}.gothic-border:before{top:-.4rem;left:var(--space-md)}.gothic-border:after{bottom:-.4rem;right:var(--space-md)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--gold-dim);border-radius:3px}.text-center{text-align:center}.text-dim{color:var(--text-dim)}.text-gold{color:var(--gold)}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.mt-xl{margin-top:var(--space-xl)}
