button[data-portrait-reorder]{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}button[data-portrait-reorder] img{-webkit-user-drag:none}button[data-swap-source=true]{cursor:grabbing;opacity:.5}button[data-swap-target=true]{outline-offset:5px;outline:3px solid #e4c190;box-shadow:0 0 24px #e4c19088}.portrait-drag-preview{z-index:10000;pointer-events:none;color:#fff1d9;text-align:center;background:#302336;border:1px solid #e4c190;border-radius:5px;width:88px;padding:5px;position:fixed;box-shadow:0 8px 28px #0008}.portrait-drag-preview img{object-fit:cover;width:100%;height:100px}.portrait-drag-preview>span{place-items:center;height:100px;font-size:40px;display:grid}.portrait-drag-preview small{overflow-wrap:anywhere;display:block}
.offering-explanation-card{visibility:hidden;z-index:100;color:#eddaeb;text-align:left;pointer-events:auto;background:#211529fa;border:1px solid #b58bca66;border-radius:12px;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:8px 12px;width:min(280px,100vw - 24px);max-height:calc(100dvh - 24px);padding:16px;display:grid;position:fixed;overflow-y:auto;box-shadow:0 12px 36px #09061088}.offering-explanation-card h2{font-family:var(--font-story);margin:0;font-size:20px;font-weight:400;line-height:1.15}.offering-explanation-card p{margin:0;font-size:13px;line-height:1.5}.offering-explanation-card .offering-explanation-gloss{color:#e4c190;margin-top:4px;font-size:12px}.offering-explanation-meaning{grid-column:1/-1}.offering-hotspot:hover>img,.offering-hotspot:hover>svg,.offering-hotspot:focus-visible>img,.offering-hotspot:focus-visible>svg,.offering-hotspot[data-active=true]>img,.offering-hotspot[data-active=true]>svg{filter:drop-shadow(0 0 7px #efbd7366)}
.ofrenda-home{background:var(--ofrenda-night)}.ofrenda-home:before{display:none}.ofrenda-home .ofrenda-room{background:var(--ofrenda-night);box-shadow:none;padding:0;overflow:hidden}.ofrenda-home .ofrenda-room:before{display:none}.immersive-stage{isolation:isolate;background-color:#100b16;background-image:linear-gradient(107deg,#0000 54%,#a352ed29 66%,#0000 78%),linear-gradient(76deg,#0000 16%,#7139c724 30%,#0000 44%),linear-gradient(#0000 62%,#120d13b8 100%),repeating-linear-gradient(90deg,#100b16 0%,#1a101c 14%,#281827 30%,#3a2848 42%,#2a182e 54%,#321e3c 68%,#1c121e 84%,#100b16 100%);background-repeat:no-repeat,no-repeat,no-repeat,repeat-x;background-size:auto,auto,auto,19vh 100%;width:100%;height:100%;position:relative;overflow:hidden}.immersive-stage>canvas{opacity:0;width:100%;height:100%;transition:opacity 1.4s;position:absolute;inset:0}.immersive-stage[data-scene-status=ready]>canvas{opacity:1}.immersive-stage[data-scene-status=ready]{cursor:grab;touch-action:pan-y;-webkit-user-select:none;user-select:none}.immersive-stage:focus-visible{outline-offset:-4px;outline:2px solid #e4c190}.immersive-stage[data-dragging=true],.immersive-stage[data-dragging=true] *{cursor:grabbing}.spatial-offerings{z-index:3;pointer-events:none;opacity:0;transition:opacity 1s .3s;position:absolute;inset:0}.immersive-stage[data-scene-status=ready] .spatial-offerings{opacity:1}.immersive-stage:not([data-scene-status=ready]) .spatial-item{visibility:hidden}.spatial-item{pointer-events:auto;will-change:transform;transition:none;position:absolute;top:0;left:0}.spatial-portrait{z-index:3;transform-origin:0 0;container-type:inline-size}.spatial-keepsake{z-index:4}.spatial-hotspot{z-index:2}.spatial-item:hover{z-index:10}.spatial-item:has(:focus-visible){z-index:10}.spatial-portrait .portrait-invitation,.spatial-portrait .ofrenda-portrait{width:100%;min-width:0;max-width:none;height:100%;box-shadow:none;cursor:pointer;background:0 0;border:0;border-radius:0;outline:0;margin:0;padding:0;transform:none}.spatial-portrait button:before,.spatial-portrait button:after{content:"";inset:var(--frame-inset-y) var(--frame-inset-x);pointer-events:none;position:absolute}.spatial-portrait button:before{background:linear-gradient(135deg,#302336,#1c1523)}.spatial-portrait button:after{background:linear-gradient(120deg,#a26dd012,#0000 50%),linear-gradient(#0000 55%,#e8954820);box-shadow:inset 0 0 9px 2px #09061066}.spatial-portrait .ofrenda-portrait:after{mix-blend-mode:multiply;background:radial-gradient(120% 60% at 50% 108%,#ffc58a,#0000 70%),linear-gradient(170deg,#8466b4 0%,#a98bbd 45%,#c99a96 100%);box-shadow:inset 0 0 14px 4px #1a0f26b3}.spatial-portrait .ofrenda-portrait img{filter:saturate(.8)contrast(1.06)}.spatial-portrait .portrait-name{z-index:1}.spatial-portrait button:focus-visible{outline-offset:4px;outline:2px solid #e4c190}.spatial-portrait .portrait-invitation{padding:calc(var(--frame-inset-y) + 5%) calc(var(--frame-inset-x) + 2%);color:#dfc6df;text-shadow:0 1px #130b1c80;gap:6cqw;font-size:11cqw}.spatial-portrait .portrait-invitation>span{position:relative}.spatial-portrait .portrait-flower{color:#bc8cbe;font-size:22cqw}.spatial-portrait .portrait-plus{font-size:17cqw}.spatial-portrait .ofrenda-portrait{display:block}.spatial-portrait .ofrenda-portrait img,.spatial-portrait .portrait-initial{inset:var(--frame-inset-y) var(--frame-inset-x);width:calc(100% - var(--frame-inset-x) * 2);height:calc(100% - var(--frame-inset-y) * 2);object-fit:cover;position:absolute}.spatial-portrait .portrait-initial{color:#c4a18c;font-size:40cqw}.spatial-portrait .portrait-name{inset:auto var(--frame-inset-x) var(--frame-inset-y);color:#fff0d4;overflow-wrap:anywhere;background:linear-gradient(#0000,#1d180ecc);max-height:100%;padding:12cqw 3cqw 4cqw;font-size:16cqw;line-height:1.2;position:absolute;overflow:hidden}.spatial-keepsake .offering-object{background:0 0;width:100%;padding:0}.spatial-keepsake .offering-object>img{object-fit:contain;filter:drop-shadow(3px 7px 4px #15100b99);width:100%;height:auto;max-height:95px}.spatial-hotspot{pointer-events:none}.sculpted-offering{pointer-events:none;background:0 0;border:0;border-radius:6px;width:100%;height:100%;padding:0;display:block}.sculpted-offering:focus-visible{outline-offset:4px;outline:2px solid #e4c190}.immersive-stage[data-offering-hover=true]{cursor:pointer}.scene-vignette{z-index:1;pointer-events:none;background:linear-gradient(#0c071299,#0000 18% 80%,#0c071366),radial-gradient(at 38%,#0000 32%,#10081949 85%);position:absolute;inset:0}.scene-loading{color:#e6d4af;font-family:var(--font-story);font-size:16px;position:absolute;top:50%;left:32%;translate:-50% -50%}.scene-motes{z-index:2;pointer-events:none;position:absolute;inset:0;overflow:hidden}.scene-motes i{left:calc(8% + var(--mote-i) * 5.1%);top:calc(18% + mod(var(--mote-i) * 17, 65) * 1%);width:2px;height:2px;animation:ofrenda-mote calc(7s + var(--mote-i) * .7s) ease-in-out infinite alternate;animation-delay:calc(var(--mote-i) * -.9s);background:#edc47c;border-radius:50%;position:absolute;box-shadow:0 0 8px 1px #f4bf6570}@keyframes ofrenda-mote{0%{opacity:0;translate:0 12px}50%{opacity:.6}to{opacity:.1;translate:12px -25px}}.immersive-fallback{width:100%;height:100%;position:relative}.immersive-fallback .ofrenda-scene{filter:none;width:auto;max-width:100%;height:100%}.immersive-fallback .ofrenda-scene:before{background:radial-gradient(at 45%,#7c35bb30,#0000 68%)}.immersive-fallback .altar-plate{filter:grayscale()sepia(.9)saturate(1.3)hue-rotate(325deg)brightness(.28)drop-shadow(-3px 0 6px #a657d680)}.immersive-fallback .altar-botanical,.immersive-fallback .offering-hotspot>img,.immersive-fallback .offering-hotspot>svg{filter:grayscale()sepia()saturate(1.6)hue-rotate(225deg)brightness(.28)drop-shadow(-3px 0 5px #a657d64d)}.immersive-fallback .portrait-invitation,.immersive-fallback .ofrenda-portrait{aspect-ratio:4/5;color:#dfc6df;background:linear-gradient(135deg,#35263e,#211827) padding-box padding-box,repeating-conic-gradient(#514971 0% 25%,#312a4e 0% 50%) 0 0/7px 7px border-box;border:6px solid #0000;border-radius:0;outline:1px solid #ac7449;width:clamp(72px,12vw,130px);min-width:0;max-width:45%;height:auto;padding:8px;transform:none;box-shadow:inset 0 0 0 1px #ae754a,inset 0 0 0 4px #211827,3px 6px 8px #090610aa,-2px 0 6px #a457cc33}.immersive-fallback .portrait-invitation:after,.immersive-fallback .ofrenda-portrait:after{content:"";pointer-events:none;border:1px dashed #ad774d;position:absolute;inset:2px}.immersive-fallback .portrait-invitation{gap:clamp(2px,.4vw,6px);padding:5px 3px;font-size:clamp(8px,1vw,12px)}.immersive-fallback .portrait-flower{font-size:clamp(14px,2vw,22px)}.immersive-fallback .portrait-plus{font-size:12px}.immersive-fallback .portrait-invitation:focus-visible,.immersive-fallback .ofrenda-portrait:focus-visible{outline-offset:4px;outline:2px solid #e4c190}.immersive-fallback .ofrenda-portrait{display:flex}.immersive-fallback .ofrenda-portrait img,.immersive-fallback .portrait-initial{object-fit:cover;filter:none;align-self:stretch;width:100%;height:100%}.immersive-fallback .ofrenda-portrait .portrait-name{color:#fff0d4;background:#211529cc;position:absolute;inset:auto 8px 8px}.immersive-fallback .offering-object{width:clamp(44px,9vw,86px)}.immersive-fallback .offering-object>img{filter:drop-shadow(3px 7px 4px #11091699);width:100%;height:auto;max-height:90px}.immersive-fallback .altar-explore{color:#dfc6df;margin:0;font-size:10px;position:absolute;inset:auto 0 8px}.memory-bookmarks-clip{--bookmark-h:11rem;--bookmark-peek:7.4rem;--bookmark-rise:1.25rem;--bookmark-w:clamp(8rem, 10vw, 9.5rem);z-index:5;width:100%;height:calc(var(--bookmark-h) + 10px);margin:calc(-10px - var(--bookmark-h)) 0 0;pointer-events:none;position:relative;overflow:clip}.memory-bookmarks{width:100%;height:auto;padding:10px 40px calc(var(--bookmark-h) - var(--bookmark-peek) + 40px) 150px;scrollbar-width:none;pointer-events:none;justify-content:safe center;align-items:flex-end;gap:clamp(8px,1vw,14px);margin:0;list-style:none;display:flex;overflow:auto hidden;-webkit-mask:linear-gradient(90deg,#000 calc(100% - 40px),#0000);mask:linear-gradient(90deg,#000 calc(100% - 40px),#0000)}.memory-bookmarks::-webkit-scrollbar{display:none}.memory-bookmarks>li{pointer-events:auto;flex:none}.memory-bookmark{--paper:#292b50;--paper-deep:#1d1d3a;width:var(--bookmark-w);height:var(--bookmark-h);background:linear-gradient(120deg, #a26dd014, transparent 50%), linear-gradient(180deg, var(--paper), var(--paper-deep));box-shadow:inset 0 0 0 3px var(--paper), inset 0 0 0 4px #b8794340, 0 -6px 18px #a657d626, 0 -2px 6px #09061099;color:#eddaeb;text-align:left;cursor:pointer;translate:0 calc(var(--bookmark-h) - var(--bookmark-peek) + var(--sink,0px));rotate:var(--tilt,0deg);transform-origin:50% var(--bookmark-peek);border:1px solid #b8794399;border-bottom:0;border-radius:6px 6px 0 0;flex-direction:column;gap:5px;padding:22px 12px 12px;transition:translate .9s cubic-bezier(.22,.8,.3,1),rotate .9s cubic-bezier(.22,.8,.3,1),border-color .5s,box-shadow .5s;display:flex;position:relative;overflow:hidden}.memory-bookmark:before{content:"";background:repeating-conic-gradient(#514971 0% 25%,#312a4e 0% 50%) 0 0/6px 6px;height:12px;position:absolute;inset:4px 4px auto;box-shadow:inset 0 -1px #b8794366;-webkit-mask:radial-gradient(circle at 50% 100%,#0000 2.5px,#000 3px) 0 0/8px 100%;mask:radial-gradient(circle at 50% 100%,#0000 2.5px,#000 3px) 0 0/8px 100%}.memory-bookmarks>li:nth-child(3n+2) .memory-bookmark{--paper:#3a2140;--paper-deep:#261428}.memory-bookmarks>li:nth-child(3n) .memory-bookmark{--paper:#2a1d33;--paper-deep:#1a121f}.memory-bookmarks>li:hover{z-index:1}.memory-bookmarks>li:hover .memory-bookmark,.memory-bookmark:focus-visible,.memory-bookmark[aria-pressed=true]{z-index:1;translate:0 calc(var(--bookmark-h) - var(--bookmark-peek) + var(--sink,0px) - var(--bookmark-rise));box-shadow:inset 0 0 0 3px var(--paper), inset 0 0 0 4px #e4c19055, 0 -8px 24px #a657d64d, 0 -2px 6px #09061099;border-color:#e4c190cc;rotate:0deg}.memory-bookmark:focus-visible{outline-offset:2px;outline:2px solid #e4c190}.bookmark-name{color:#e4c190;font-family:var(--font-ui);letter-spacing:.12em;text-transform:uppercase;flex:none;font-size:10px}.bookmark-text{-webkit-line-clamp:5;font-family:var(--font-story);-webkit-box-orient:vertical;flex:none;font-size:13px;line-height:1.35;display:-webkit-box;overflow:hidden}.memory-bookmark:has(.bookmark-image) .bookmark-text{-webkit-line-clamp:2}.bookmark-image{object-fit:cover;border:1px solid #b8794366;border-radius:2px;flex:1;width:100%;min-height:0}.memory-bookmark-all{--bookmark-w:6.5rem;text-align:center;align-items:center}.memory-bookmarks>li .memory-bookmark-all{--paper:#211529;--paper-deep:#160d1c}.memory-bookmark-all .bookmark-text{color:#dfc6df;font-size:12px}.memory-bookmarks[data-open=true]>li{opacity:.35;transition:opacity .45s}.memory-bookmarks[data-open=true]>li:has(.is-open-source){opacity:0;transition:none}.memory-bookmark.is-open-source{visibility:hidden}.memory-scrim{z-index:40;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;pointer-events:none;background:#0c0505b3;transition:opacity .55s;position:fixed;inset:0}.memory-scrim[data-show=true]{opacity:1;pointer-events:auto}.memory-bookmark.memory-bookmark-fly{z-index:41;cursor:default;border-bottom:0 solid #b8794399;margin:0;transition:top .75s cubic-bezier(.22,.8,.3,1),left .75s cubic-bezier(.22,.8,.3,1),width .75s cubic-bezier(.22,.8,.3,1),height .75s cubic-bezier(.22,.8,.3,1),translate .75s cubic-bezier(.22,.8,.3,1),rotate .75s cubic-bezier(.22,.8,.3,1),border-radius .55s cubic-bezier(.22,.8,.3,1),border-bottom-width .55s cubic-bezier(.22,.8,.3,1),border-bottom-color .45s,padding .55s cubic-bezier(.22,.8,.3,1),gap .55s cubic-bezier(.22,.8,.3,1),border-color .45s,box-shadow .55s;position:fixed}.memory-bookmark-fly h2.bookmark-name{font-weight:inherit;margin:0}.memory-bookmark-fly .bookmark-text{min-width:0;max-width:100%;transition:font-size .55s cubic-bezier(.22,.8,.3,1) 80ms}.memory-bookmark.memory-bookmark-fly .bookmark-editor{resize:none;width:100%;color:inherit;font-family:inherit;font-size:inherit;line-height:inherit;letter-spacing:inherit;white-space:pre-wrap;field-sizing:content;-webkit-line-clamp:unset;background:0 0;border:0;min-height:4.5em;margin:0;padding:0;display:block;overflow:hidden}.bookmark-editor:focus-visible{outline:none;box-shadow:inset 0 -1px #e4c190aa}.memory-bookmark-fly[data-phase=center]{box-shadow:inset 0 0 0 3px var(--paper), inset 0 0 0 4px #e4c19055, 0 30px 80px #060202e6;border-color:#e4c190cc;border-bottom-width:1px;border-radius:10px;gap:12px;padding:56px 28px 24px;overflow:hidden}.memory-bookmark-fly[data-settled=true]{scrollbar-width:thin;scrollbar-color:#e4c19066 transparent;overscroll-behavior:contain;overflow:auto}.memory-bookmark-fly[data-phase=center] .bookmark-name{padding-right:40px}.memory-bookmark-fly[data-phase=center]:not(.memory-bookmark-all) .bookmark-text{white-space:pre-wrap;overflow-wrap:break-word;-webkit-line-clamp:unset;font-size:20px;line-height:1.45;display:block;overflow:visible}.memory-bookmark-fly[data-phase=center] .bookmark-image{flex:none;height:min(220px,32vh);transition:height .65s cubic-bezier(.22,.8,.3,1) .12s}.memory-bookmark-fly.memory-bookmark-all[data-phase=center]{text-align:left;align-items:stretch}.bookmark-close{z-index:2;color:#e4c190;cursor:pointer;opacity:0;pointer-events:none;background:0 0;border:0;border-radius:999px;flex:none;place-items:center;width:44px;height:44px;font-size:26px;line-height:1;transition:opacity .2s;display:grid;position:absolute;top:8px;right:8px}.bookmark-close:hover{background:#e4c19022}.bookmark-close:focus-visible{outline-offset:2px;outline:2px solid #e4c190}.memory-bookmark-fly[data-phase=center] .bookmark-close{opacity:1;pointer-events:auto;transition:opacity .4s .28s}.bookmark-extra{opacity:0;transition:opacity .2s,translate .2s;translate:0 8px}.memory-bookmark-fly[data-phase=center] .bookmark-extra{opacity:1;transition:opacity .45s .32s,translate .45s .32s;translate:0}.bookmark-actions{flex-wrap:wrap;gap:4px 16px;margin-top:4px;display:flex}.bookmark-action{color:#e4c190;min-height:44px;font-family:var(--font-ui);letter-spacing:.04em;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:10px 2px;font-size:13px;font-weight:600;text-decoration:underline}.bookmark-action:hover{color:#ffd877}.bookmark-action:focus-visible{outline-offset:3px;border-radius:4px;outline:2px solid #e4c190}.bookmark-action[data-emphasis=true]{color:#ffd877}.bookmark-action[data-quiet=true]{color:#dfc6df;font-weight:500}.bookmark-hint{color:#cbb6cb;font-family:var(--font-ui);margin:0;font-size:12px;line-height:1.45}.bookmark-all-list{opacity:0;margin:4px 0 0;padding:0;list-style:none;transition:opacity .2s}.memory-bookmark-fly[data-phase=center] .bookmark-all-list{opacity:1;transition:opacity .45s .28s}.bookmark-all-list li{border-top:1px solid #b879434d;padding:14px 0}.bookmark-all-list p{font-family:var(--font-story);white-space:pre-wrap;overflow-wrap:break-word;margin:0;font-size:18px;line-height:1.45}.memory-bookmark.memory-bookmark-fly.is-measuring{gap:12px!important;width:min(32rem,100vw - 32px)!important;height:auto!important;max-height:none!important;padding:56px 28px 24px!important;transition:none!important;overflow:visible!important;translate:0!important;rotate:0deg!important}.memory-bookmark-fly.is-measuring:not(.memory-bookmark-all) .bookmark-text{white-space:pre-wrap!important;font-size:20px!important;line-height:1.45!important}.memory-bookmark-fly.is-measuring .bookmark-image{flex:none!important;height:min(220px,32vh)!important}.memory-bookmark-fly.is-measuring.memory-bookmark-all{text-align:left!important;align-items:stretch!important}.memory-bookmark-fly.is-measuring .bookmark-name{padding-right:40px}@media (max-width:780px){.immersive-stage{background-size:auto,auto,auto,11vh 100%}.scene-loading{left:50%}.offering-indicator{width:15px;height:15px;font-size:10px}.memory-bookmarks-clip{--bookmark-h:9.5rem;--bookmark-peek:6.2rem;--bookmark-w:7.6rem}.memory-bookmarks{width:100%;padding-inline:16px 40px}.bookmark-text{font-size:12px}}@media (prefers-reduced-motion:reduce){.scene-motes i{opacity:.25;animation:none}.immersive-stage>canvas,.spatial-offerings,.offering-indicator,.sculpted-label,.memory-bookmark,.memory-scrim,.bookmark-extra,.bookmark-all-list,.bookmark-close,.memory-bookmark-fly .bookmark-text,.memory-bookmark-fly .bookmark-image{transition:none}}.scene-motes{transition:opacity 1.2s .6s}.immersive-stage[data-dark]:before{content:"";z-index:0;opacity:.58;pointer-events:none;background:#100b16;position:absolute;inset:0}.immersive-stage[data-dark] :is(.scene-motes,.scene-loading,.spatial-offerings){opacity:0;transition:none}
