:root{color-scheme:dark;--gold:#e0c582;--glass:#171812d9}*{box-sizing:border-box}body{margin:0;background:#161611;color:#fff;font:18px/1.55 system-ui,Arial,sans-serif}button,a{touch-action:manipulation}button,input,select,textarea{font:inherit}button,a{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #e7cb81;outline-offset:4px}button{background:var(--glass);border:1px solid #e0c58299;border-radius:14px;color:#fff;padding:14px 20px;font-weight:700;min-height:50px}.primary{background:#e0c582;color:#251d0e;border-color:#f4dda2}.chapel-room{height:100dvh;min-height:540px;position:relative;isolation:isolate;overflow:hidden}.room-photo,.room-shade{position:absolute;inset:0;width:100%;height:100%;z-index:-2;object-fit:cover;object-position:center}.room-shade{z-index:-1;background:linear-gradient(#0007,transparent 32%,transparent 65%,#000b)}.room-header{position:absolute;top:0;left:0;right:0;padding:calc(18px + env(safe-area-inset-top)) 22px 20px;display:flex;gap:20px;align-items:flex-start}.room-header>a{background:#111b;color:#fff;text-decoration:none;padding:10px 15px;border:1px solid #fff5;border-radius:30px;font-size:16px}.room-header>div{margin-left:auto;text-align:right}h1,h2{font-family:Georgia,serif}h1{font-size:clamp(22px,4vw,36px);line-height:1.2;margin:5px 0 0}.room-header p{font-size:15px;color:#ecdfbd;margin:5px 0}.room-controls{position:absolute;bottom:calc(20px + env(safe-area-inset-bottom));left:20px;right:20px;text-align:center}.room-controls>div{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.room-controls p{font-size:16px;text-shadow:0 2px 5px #000;margin:0 0 14px}.candles{position:absolute;bottom:24%;left:5%;right:5%;display:flex;align-items:flex-end;justify-content:center;gap:clamp(5px,2vw,22px);height:190px}.candle{position:relative;width:clamp(42px,9vw,90px);height:150px;padding:0;border:0;background:none;filter:drop-shadow(0 8px 8px #0008);border-radius:0}.wax{position:absolute;bottom:16px;left:25%;width:50%;height:90px;background:url('/assets/chapel-wax-real-v2.webp') center/100% 100% no-repeat}.candle[data-color=blue] .wax{filter:sepia(1) saturate(2) hue-rotate(145deg)}.candle[data-color=red] .wax{filter:sepia(1) saturate(4) hue-rotate(315deg)}.candle[data-color=purple] .wax{filter:sepia(1) saturate(2) hue-rotate(220deg)}.candle[data-color=gold] .wax{filter:sepia(1) saturate(3)}.holder{position:absolute;bottom:0;left:0;width:100%;height:32px;object-fit:fill}.flame{position:absolute;bottom:107px;left:calc(50% - 6px);width:12px;height:37px;background:radial-gradient(ellipse at 50% 75%,#fff 4%,#fffcc3 30%,#ffc44a 58%,#ff922800 72%);border-radius:55% 45% 40% 40%;filter:drop-shadow(0 0 10px #ffc04d);transform-origin:50% 100%;animation:burn 2.7s ease-in-out infinite alternate}.candle:nth-child(even) .flame{animation-delay:-1.2s}.candle-label{position:absolute;left:50%;transform:translateX(-50%);top:154px;width:110px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:13px;background:#19140dd9;color:#fff1cd;padding:5px;border:1px solid #e0c58277;border-radius:5px}.quiet .room-header,.quiet .room-controls,.quiet .candle-label{display:none}.quiet .chapel-room{cursor:pointer}dialog{color-scheme:light;color:#232b26;background:#faf7ef;border:2px solid #bea36b;border-radius:24px;width:min(560px,calc(100vw - 28px));max-height:90dvh;padding:32px;overflow:auto}dialog::backdrop{background:#000b;backdrop-filter:blur(5px)}dialog h2{font-size:32px;line-height:1.2;margin:10px 30px 15px 0}dialog p{font-size:17px;margin:12px 0 22px}dialog button{background:#fff;color:#263b30;border-color:#ad9b74}dialog button.primary{background:#325848;color:#fff}.close{position:absolute;right:12px;top:12px;padding:0;border-radius:50%;height:38px;width:38px;min-height:38px;font-size:25px}.eyebrow{font-size:12px;letter-spacing:2px;color:#87713f;font-weight:800;text-transform:uppercase}label{display:block;font-size:18px;font-weight:700;margin-top:20px}input,select,textarea{width:100%;background:#fff;color:#222;border:2px solid #b8beb9;border-radius:12px;padding:13px;margin-top:9px}textarea{resize:vertical}.consent{display:flex;align-items:flex-start;gap:10px;font-size:15px;font-weight:400}.consent input{width:20px;height:20px;flex-shrink:0;margin:2px 0}form>button{width:100%;margin-top:10px}small{font-size:14px}#formStatus{color:#7a3025}#messages>button{display:block;width:100%;text-align:left;margin-top:12px;white-space:pre-wrap;overflow-wrap:anywhere}#messages>button strong{display:block;color:#8b6b22;font:700 22px Georgia,serif}#messages>button span{display:block;margin-top:6px;font:19px/1.6 Georgia,serif}.candle-message{font:22px/1.65 Georgia,serif!important;white-space:pre-wrap;overflow-wrap:anywhere}#deleteCandle{border-color:#a43b35;color:#8c2824}#candleName{overflow-wrap:anywhere}button[hidden]{display:none}@keyframes burn{0%{transform:scaleX(.9) rotate(-3deg)}100%{transform:scaleX(1.1) rotate(3deg)}}@media(prefers-reduced-motion:reduce){.flame{animation:none}}@media(max-width:600px){.room-header{padding:14px}.room-header a{padding:9px 12px}.room-header>div{max-width:65%}.room-controls{left:12px;right:12px;bottom:calc(14px + env(safe-area-inset-bottom))}.room-controls button{font-size:15px;padding:12px}.room-controls .primary{flex-basis:100%;max-width:360px}.candles{bottom:29%;left:3%;right:3%;gap:7px}.candle{height:130px;width:clamp(36px,10vw,65px)}.wax{height:75px}.flame{bottom:92px;height:30px}.candle-label{top:134px;width:68px;font-size:11px}dialog{padding:25px 20px}dialog h2{font-size:29px}}
/* Match the transparent photograph's actual wax width to the holder. */
.wax{background-size:310% 100%;background-position:50% 50%}

/* Candles stand on the foreground stone, including all future candles. */
.candles{bottom:12%;left:6%;right:6%;height:135px;justify-content:safe center;gap:12px;overflow-x:auto;overflow-y:hidden;padding:15px 10px 24px;scrollbar-width:thin;scrollbar-color:#e0c58288 transparent;overscroll-behavior-x:contain;touch-action:pan-x}
.candle{flex:0 0 58px;width:58px;height:94px;min-height:94px;filter:drop-shadow(0 4px 3px #0009)}
.wax{bottom:12px;height:58px}.holder{height:23px}.flame{bottom:69px;height:25px;width:10px;left:calc(50% - 5px)}
.candle-label{top:96px;width:64px;font-size:10px;padding:2px;line-height:1.3}
.room-controls p{margin-bottom:8px}.room-controls button{padding:10px 16px;min-height:44px}
@media(max-width:600px){.candles{bottom:15%;left:5%;right:5%;gap:9px}.room-controls{bottom:calc(8px + env(safe-area-inset-bottom))}.room-controls>div{gap:6px}.room-controls .primary{flex-basis:auto;max-width:none}.room-controls button{padding:8px 10px;font-size:14px;min-height:40px}.room-controls p{font-size:14px;margin-bottom:5px}}

/* Multi-row candle field follows the stone floor in the original photograph. */
.candles{bottom:88px;height:auto;left:5%;right:5%;display:grid;grid-auto-flow:column;grid-template-rows:repeat(var(--rows,1),78px);grid-auto-columns:56px;align-content:start;align-items:end;justify-content:start;gap:4px 8px;padding:0 8px 12px;overflow-x:auto;overflow-y:hidden}
.candle{width:52px;height:76px;min-height:76px;align-self:end;filter:drop-shadow(0 3px 3px #000a)}
.wax{height:var(--wax-height,56px);bottom:12px}.holder{height:22px}.flame{bottom:calc(11px + var(--wax-height,56px));height:23px;width:10px;left:calc(50% - 5px)}
.candle-label{top:auto;bottom:-9px;width:54px;font-size:9px;padding:1px;line-height:1.2}
.altar-candles{position:absolute;display:flex;justify-content:center;align-items:end;gap:8px;transform:translateX(-50%);height:79px;z-index:1}.altar-candles .candle{flex:0 1 46px;max-width:46px}.altar-candles .candle-label{display:none}
.cross-light{position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 120px 240px at var(--cross-x,50%) var(--cross-y,38%),#fff2c02b,transparent 75%);mix-blend-mode:screen}
.quiet .candles{bottom:18px}.room-controls{z-index:2;bottom:8px}.room-controls p{font-size:13px}.room-controls button{font-size:13px;padding:8px 10px;min-height:38px}
@media(max-width:600px){.candles{bottom:90px;left:4%;right:4%;gap:4px 5px}.room-controls{left:6px;right:6px;bottom:calc(6px + env(safe-area-inset-bottom))}.room-controls button{font-size:12px;padding:7px 8px}.room-controls p{font-size:12px}.room-header{padding:12px}}

.candles{left:0;right:0;display:block;overflow:visible;padding:0}.floor-row{position:absolute;height:88px;display:flex;align-items:flex-start;gap:8px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:#e0c58266 transparent;touch-action:pan-x;overscroll-behavior-x:contain;padding:0 4px 9px}.floor-row .candle{flex:0 0 52px;align-self:flex-start}@media(max-width:600px){.candles{left:0;right:0}.floor-row{gap:6px}}

/* Keep the whole flame inside each horizontal scroll viewport. */
.candle{height:100px;min-height:100px}.floor-row{height:112px}.altar-candles{height:103px}.altar-candles .candle{height:100px;min-height:100px}.flame{z-index:2;filter:drop-shadow(0 0 5px #ffc04d) drop-shadow(0 0 11px #ffb32a)}

.noscript-note{position:absolute;bottom:20%;left:8%;right:8%;padding:20px;background:#14140ee8;border:1px solid #e0c582;color:#fff}.noscript-note a{color:#e0c582}#retryLoad{border-color:#ffc86a;background:#5a3013}

/* A consistent five-button system: two at the top, three below. */
:root{--chapel-control-width:min(180px,calc((100vw - 32px)/3));--chapel-control-height:54px}.room-header{left:8px;right:8px;padding:calc(10px + env(safe-area-inset-top)) 0 0;display:flex;justify-content:space-between;align-items:center;gap:8px}.room-header>a,.room-header>button,.room-controls>div>button{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:6px;width:var(--chapel-control-width);height:var(--chapel-control-height);min-height:var(--chapel-control-height);padding:6px;font:700 clamp(12px,3.15vw,16px)/1.2 system-ui,Arial,sans-serif;border:1px solid #cfb777;border-radius:15px;text-decoration:none;text-align:center;background:#191b16de;color:#f2e8cc;white-space:normal;flex:0 0 var(--chapel-control-width)}.room-controls{left:8px;right:8px;bottom:calc(8px + env(safe-area-inset-bottom))}.room-controls>div{display:flex;flex-wrap:nowrap;justify-content:center;gap:8px}.room-controls .primary{flex-basis:var(--chapel-control-width);max-width:none;background:#dec37d;color:#211b0f;border-color:#f5dca0}.room-header .count-control{background:#263c32e8;border-color:#a9bca8;color:#eff9e9}.room-controls #amadeus{background:#59452ee8;border-color:#cbae77;color:#ffedc8}.room-controls #amadeus[aria-pressed=true]{background:#92713e;box-shadow:0 0 17px #e5b65c55;border-color:#f0d193}.room-controls #hideText{background:#26272ae6;border-color:#b9b7ac;color:#f3f2ea}.room-controls #retryLoad{margin:0 auto 8px;min-height:36px;font-size:13px}.music-credit{margin-top:22px;font-size:14px}.music-credit summary{cursor:pointer;color:#6a5425;font-weight:700}.music-credit a{color:#6a5425}.quiet .room-header,.quiet .room-controls{display:none}button[hidden]{display:none!important}
