.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: #0a0806;--bg-secondary: #12100c;--bg-elevated: #1a1610;--bg-glass: rgba(18, 16, 12, .92);--amber: #ffb000;--amber-dim: #b87a00;--amber-bright: #ffc840;--amber-glow: rgba(255, 176, 0, .08);--gold: #d4a84c;--gold-dim: #8b6f2e;--crimson: #8b1e26;--crimson-dim: #4d1015;--text-primary: #ffb000;--text-secondary: #cc8800;--text-dim: #805500;--font-terminal: "IBM Plex Mono", "Courier New", monospace;--font-display: "IBM Plex Mono", monospace;--font-body: "IBM Plex Mono", monospace;--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-terminal);font-size:16px;line-height:1.6;overflow-x:hidden}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9999;background:repeating-linear-gradient(0deg,rgba(0,0,0,.15) 0px,rgba(0,0,0,.15) 1px,transparent 1px,transparent 2px)}body:after{content:"";position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9998;background:radial-gradient(ellipse at center,transparent 0%,rgba(0,0,0,.3) 100%);animation:crtFlicker .1s infinite}@keyframes crtFlicker{0%{opacity:.97}50%{opacity:1}to{opacity:.98}}#root{min-height:100%;display:flex;flex-direction:column;text-shadow:0 0 10px rgba(255,176,0,.5)}h1,h2,h3,h4{font-family:var(--font-terminal);font-weight:400;color:var(--amber);letter-spacing:.1em;text-transform:uppercase;text-shadow:0 0 20px rgba(255,176,0,.6)}h1{font-size:2.2rem;line-height:1.2}h2{font-size:1.4rem;line-height:1.3}h3{font-size:1rem}p{max-width:60ch}a{color:var(--amber);text-decoration:none;transition:color .3s ease}a:hover{color:var(--amber-bright);text-shadow:0 0 15px rgba(255,176,0,.8)}.ascii-box{position:relative;border:1px solid var(--amber-dim);padding:var(--space-md)}.ascii-box:before{content:"┌" attr(data-title) "┐";position:absolute;top:-.7em;left:1em;background:var(--bg-primary);padding:0 .5em;color:var(--amber);font-size:.8em}button{font-family:var(--font-terminal);font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;padding:var(--space-sm) var(--space-lg);border:1px solid var(--amber-dim);background:transparent;color:var(--amber);cursor:pointer;transition:all .2s ease;position:relative;text-shadow:0 0 10px rgba(255,176,0,.5)}button:before{content:"[ ";color:var(--amber-dim)}button:after{content:" ]";color:var(--amber-dim)}button:hover{border-color:var(--amber);color:var(--amber-bright);background:#ffb0000d;box-shadow:0 0 20px #ffb00033,inset 0 0 20px #ffb0000d;text-shadow:0 0 15px rgba(255,176,0,.8)}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(--amber-dim)}input,textarea,select{font-family:var(--font-terminal);font-size:1rem;padding:var(--space-sm) var(--space-md);background:var(--bg-secondary);border:1px solid var(--amber-dim);color:var(--text-primary);outline:none;transition:all .3s ease;text-shadow:0 0 10px rgba(255,176,0,.3)}input:focus,textarea:focus,select:focus{border-color:var(--amber);box-shadow:0 0 15px #ffb00033}input::placeholder,textarea::placeholder{color:var(--text-dim)}.video-container{position:relative;background:var(--bg-secondary);border:1px solid var(--amber-dim);overflow:hidden}.video-container video{width:100%;height:100%;object-fit:cover;filter:sepia(20%) saturate(80%)}.video-container.local{position:absolute;bottom:var(--space-md);right:var(--space-md);width:180px;height:135px;z-index:10;border-color:var(--amber)}.divider{display:flex;align-items:center;gap:var(--space-md);margin:var(--space-lg) 0;color:var(--amber-dim);font-family:var(--font-terminal)}.divider:before,.divider:after{content:"════════════════";color:var(--amber-dim);letter-spacing:-.2em}.cross{font-size:1rem;color:var(--amber)}.prompt:before{content:"> ";color:var(--amber-dim)}.prompt{color:var(--amber)}@keyframes typing{0%{width:0}to{width:100%}}@keyframes blink-caret{0%,to{border-color:transparent}50%{border-color:var(--amber)}}.typing{overflow:hidden;white-space:nowrap;border-right:2px solid var(--amber);animation:typing 2s steps(40,end),blink-caret .75s step-end infinite}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.page-enter{animation:fadeIn .5s ease forwards}@keyframes terminalFlicker{0%,to{opacity:1}92%{opacity:1}93%{opacity:.8}94%{opacity:1}97%{opacity:.9}}.flicker{animation:terminalFlicker 4s ease-in-out infinite}.gothic-border{border:1px solid var(--amber-dim);position:relative}.gothic-border:before{content:"╔══════════════════════════════════╗";position:absolute;top:-1em;left:50%;transform:translate(-50%);color:var(--amber-dim);font-size:.6rem;white-space:nowrap}.gothic-border:after{content:"╚══════════════════════════════════╝";position:absolute;bottom:-1em;left:50%;transform:translate(-50%);color:var(--amber-dim);font-size:.6rem;white-space:nowrap}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-primary);border-left:1px solid var(--amber-dim)}::-webkit-scrollbar-thumb{background:var(--amber-dim)}::-webkit-scrollbar-thumb:hover{background:var(--amber)}.text-center{text-align:center}.text-dim{color:var(--text-dim)}.text-amber{color:var(--amber)}.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)}@keyframes bootLine{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.boot-line{animation:bootLine .3s ease forwards;opacity:0}@keyframes cursorBlink{0%,50%{opacity:1}51%,to{opacity:0}}.cursor{display:inline-block;width:.6em;height:1.1em;background:var(--amber);animation:cursorBlink 1s step-end infinite;vertical-align:text-bottom}
