:root{font-family:Be Vietnam Pro,sans-serif;color:#fff8e8;background:#0f0907;font-synthesis:none;--gold: #e8b762;--gold-light: #ffda8f;--cream: #fff4dc}*{box-sizing:border-box}html,body{width:100%;min-height:100%;margin:0;overflow:hidden;background:radial-gradient(circle at 50% 28%,#3c2015 0,#170d09 32rem,#090604)}body{display:grid;min-height:100dvh;place-items:center}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}.phone-shell{position:relative;isolation:isolate;width:min(100vw,430px);height:min(100dvh,932px);min-height:620px;overflow:hidden;background:#2a110b;box-shadow:0 0 0 1px #eeb85e14,0 30px 80px #0009;user-select:none;-webkit-user-select:none;touch-action:none;--burner-bottom: 46%;--incense-height: 165px;--incense-sink: 10px;--swipe-preview: 0px}.scene{position:absolute;inset:0;z-index:-5;width:100%;height:100%;object-fit:cover;transform:scale(1.015);translate:var(--scene-x, 0px) 0;animation:scene-breathe 8s ease-in-out infinite alternate;transition:opacity .22s ease,translate .22s ease}.scene.is-switching{opacity:0}.scene.no-transition{transition:none}.scene-shade{position:absolute;inset:0;z-index:-4;background:linear-gradient(180deg,#06030261,#0f050200 36%,#0a030105 59%,#09030185),radial-gradient(circle at 50% 42%,transparent 14%,rgb(5 2 1 / 16%) 66%,rgb(4 2 1 / 45%) 100%)}.grain{position:absolute;inset:-60%;z-index:20;pointer-events:none;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E");animation:grain .25s steps(2) infinite}.topbar{position:absolute;top:max(20px,env(safe-area-inset-top));left:22px;right:22px;z-index:10;display:flex;align-items:center;gap:10px}.altar-dots{position:absolute;top:max(69px,calc(env(safe-area-inset-top) + 49px));left:50%;z-index:10;display:flex;align-items:center;gap:5px;pointer-events:none;transform:translate(-50%)}.altar-dots i{width:3px;height:3px;border-radius:50%;background:#ffe6ba4d;transition:width .25s,background .25s,box-shadow .25s}.altar-dots i.is-active{width:13px;border-radius:4px;background:#e9b963;box-shadow:0 0 6px #e8af4d73}.brand-mark{display:grid;width:36px;height:36px;place-items:center;border:1px solid rgb(239 191 108 / 45%);border-radius:50%;color:var(--gold-light);font-family:serif;font-size:17px;box-shadow:inset 0 0 14px #eca33d1f}.brand-copy{display:flex;flex-direction:column;gap:1px}.brand-copy span{color:#ffe7b9;font-size:10px;font-weight:600;letter-spacing:.22em}.brand-copy small{color:#ffefd082;font-size:8px;font-weight:300;letter-spacing:.1em}.altar-toggle{display:flex;min-width:72px;height:31px;margin-left:auto;padding:0 9px 0 11px;align-items:center;justify-content:center;gap:5px;border:1px solid rgb(244 210 151 / 20%);border-radius:999px;color:#f8dfb0;background:#1b0b0773;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:8px;font-weight:400;white-space:nowrap;cursor:pointer}.altar-toggle svg{width:11px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.4;transition:transform .25s}.picker-open .altar-toggle svg{transform:rotate(180deg)}.sound-toggle{display:grid;width:36px;height:36px;margin-left:0;padding:9px;place-items:center;border:1px solid rgb(244 210 151 / 23%);border-radius:50%;color:#f6deb1;background:#1b0b077a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer}.sound-toggle svg{position:absolute;width:17px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6}.sound-toggle .sound-on{display:none}.sound-toggle[aria-pressed=true] .sound-on{display:block}.sound-toggle[aria-pressed=true] .sound-off{display:none}.intro-copy{position:absolute;top:92px;left:28px;right:28px;z-index:3;text-align:center;pointer-events:none;transition:transform .6s ease,opacity .6s ease}.eyebrow{margin:0 0 9px;color:var(--gold);font-size:8px;font-weight:500;letter-spacing:.32em}h1{margin:0;color:var(--cream);font-family:Playfair Display,Georgia,serif;font-size:clamp(36px,10.5vw,46px);font-weight:400;line-height:.94;letter-spacing:-.035em;text-shadow:0 4px 28px rgb(0 0 0 / 38%)}h1 em{color:var(--gold-light);font-weight:400}h1.custom-wish-title{max-width:350px;margin-inline:auto;color:var(--gold-light);font-size:clamp(28px,8.2vw,36px);line-height:1.05;letter-spacing:-.025em;text-wrap:balance}h1.custom-wish-title.is-long-wish{font-size:clamp(22px,6.5vw,28px);line-height:1.12}h1.custom-wish-title.is-very-long-wish{font-size:clamp(19px,5.4vw,23px);line-height:1.16}.message{max-width:310px;margin:13px auto 0;color:#fff4dba6;font-size:10px;font-weight:300;line-height:1.6}.progress-orbit{position:absolute;top:256px;right:21px;z-index:8;display:grid;width:42px;height:42px;place-items:center;color:#ffdfa2;font-size:8px;opacity:.85;transition:opacity .4s,transform .4s}.progress-orbit svg{position:absolute;inset:0;transform:rotate(-90deg)}.progress-orbit circle{fill:none;stroke-width:1.25}.orbit-track{stroke:#ffeecb2e}.orbit-value{stroke:#f2bd65;stroke-linecap:round;stroke-dasharray:132;stroke-dashoffset:132;transition:stroke-dashoffset .12s linear;filter:drop-shadow(0 0 4px #e89534)}.hand-layer{position:absolute;top:23.5%;left:50%;z-index:6;width:78%;pointer-events:none;transform:translate3d(calc(-50% + var(--swipe-preview)),var(--hand-y, 0px),0) rotate(var(--hand-r, 0deg));transform-origin:50% 75%;will-change:transform,opacity;filter:drop-shadow(0 18px 25px rgb(0 0 0 / 28%));-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 88%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 88%,transparent 100%);transition:transform .3s cubic-bezier(.2,.8,.2,1),opacity .25s ease,filter .3s ease}.hand-layer img{display:block;width:100%;height:auto;pointer-events:none}.is-dragging .hand-layer{filter:drop-shadow(0 22px 28px rgb(0 0 0 / 34%));transition:none}.drag-surface{position:absolute;inset:0;z-index:11;cursor:grab}.is-dragging .drag-surface{cursor:grabbing}.is-swiping .drag-surface{cursor:ew-resize}.topbar,.reset-button{z-index:15}.planted-incense{position:absolute;bottom:calc(var(--burner-bottom) - var(--incense-sink));left:50%;z-index:5;width:110px;height:var(--incense-height);opacity:0;transform:translate(-50%,28px) scale(.96);transform-origin:bottom;transition:opacity .7s .3s,transform .8s .2s cubic-bezier(.2,.8,.2,1)}.planted-incense img{display:block;width:100%;height:100%;object-fit:contain;filter:brightness(.94) saturate(.92);animation:incense-glow 1.6s ease-in-out infinite alternate}.smoke-field{position:absolute;bottom:calc(var(--burner-bottom) + var(--incense-height) - var(--incense-sink));left:50%;z-index:4;width:190px;height:280px;opacity:0;transform:translate(-50%);transition:opacity 1.2s .45s;pointer-events:none;mix-blend-mode:screen}.smoke{position:absolute;bottom:-2px;left:50%;display:block;width:118px;height:auto;opacity:0;transform-origin:50% 100%;will-change:transform,opacity;filter:brightness(.9) sepia(.08)}.smoke-a{animation:smoke-photo-a 8.5s ease-in-out -1.2s infinite}.smoke-b{width:105px;animation:smoke-photo-b 9.7s ease-in-out -6.4s infinite}.smoke-c{width:96px;animation:smoke-photo-c 11.2s ease-in-out -8.1s infinite}.wish-button{position:absolute;bottom:calc(max(31px,env(safe-area-inset-bottom)) + 8px);left:50%;z-index:15;display:flex;height:38px;padding:0 15px;align-items:center;gap:8px;border:1px solid rgb(255 222 162 / 24%);border-radius:999px;color:#f5d9a8;background:#1e0b069e;box-shadow:0 10px 25px #00000038;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:9px;transform:translate(-50%);transition:opacity .3s,transform .3s,background .2s;cursor:pointer}.wish-button:hover{background:#49200eb3}.wish-button svg{width:14px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.35}.wish-button i{width:5px;height:5px;margin-left:1px;border-radius:50%;background:#ffe1ac38;transition:background .25s,box-shadow .25s}.wish-button.has-wish i{background:#f2bd64;box-shadow:0 0 7px #e9a947}[data-phase=done] .wish-button{opacity:0;pointer-events:none;transform:translate(-50%,10px)}.reset-button{position:absolute;right:0;bottom:calc(max(31px,env(safe-area-inset-bottom)) + 28px);left:0;display:flex;width:max-content;margin:auto;padding:11px 17px;align-items:center;gap:8px;border:1px solid rgb(255 222 162 / 28%);border-radius:999px;color:#ffe4b5;background:#230d07b0;box-shadow:0 12px 30px #00000040;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:9px;opacity:0;pointer-events:none;transform:translateY(12px);transition:opacity .4s 1s,transform .4s 1s,background .2s;cursor:pointer}.reset-button:hover{background:#532711c7}.reset-button svg{width:14px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5}.phone-shell:not([data-phase=done]) .reset-button{opacity:0!important;pointer-events:none!important;transform:translateY(12px)!important}.share-button{position:absolute;right:0;bottom:calc(max(31px,env(safe-area-inset-bottom)) + 74px);left:0;z-index:15;display:flex;width:max-content;margin:auto;padding:11px 18px;align-items:center;gap:8px;border:1px solid rgb(255 228 176 / 44%);border-radius:999px;color:#2a130a;background:linear-gradient(135deg,#f1cb80,#d89a40);box-shadow:0 12px 30px #81420e4d;font-size:9px;font-weight:600;opacity:0;pointer-events:none;transform:translateY(12px);transition:opacity .4s .72s,transform .4s .72s,filter .2s;cursor:pointer}.share-button:hover{filter:brightness(1.06)}.share-button:disabled{cursor:wait;filter:saturate(.65)}.share-button svg{width:14px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5}[data-phase=done] .share-button{opacity:1;pointer-events:auto;transform:translateY(0)}.phone-shell:not([data-phase=done]) .share-button{opacity:0!important;pointer-events:none!important;transform:translateY(12px)!important}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.footer-note{position:absolute;bottom:max(9px,env(safe-area-inset-bottom));left:0;z-index:10;width:100%;margin:0;color:#ffe9c357;font-size:7px;font-weight:300;letter-spacing:.12em;text-align:center;pointer-events:none}.guide-button{position:absolute;bottom:calc(max(23px,env(safe-area-inset-bottom)) + 4px);left:18px;z-index:15;display:grid;width:34px;height:34px;padding:8px;place-items:center;border:1px solid rgb(255 222 162 / 18%);border-radius:50%;color:#f8deb19e;background:#1e0b067a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer}.guide-button svg{width:17px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.45}.picker-backdrop{position:absolute;inset:0;z-index:28;opacity:0;background:#08030294;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);pointer-events:none;transition:opacity .3s ease}.wish-backdrop{position:absolute;inset:0;z-index:31;opacity:0;background:#0803029e;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:none;transition:opacity .3s ease}.guide-backdrop{position:absolute;inset:0;z-index:34;opacity:0;background:#080302a3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:none;transition:opacity .3s ease}.onboarding-backdrop{position:absolute;inset:0;z-index:40;opacity:0;background:#080302b8;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);pointer-events:none;transition:opacity .35s ease}.onboarding-card{position:absolute;right:18px;bottom:calc(18px + env(safe-area-inset-bottom));left:18px;z-index:41;padding:24px 20px 18px;border:1px solid rgb(255 224 168 / 20%);border-radius:24px;color:#fff3db;background:linear-gradient(155deg,#3a1b10fa,#170906fc);box-shadow:0 24px 70px #0000008c,inset 0 1px #ffffff0f;opacity:0;pointer-events:none;transform:translateY(24px) scale(.98);visibility:hidden;transition:opacity .35s ease,transform .4s cubic-bezier(.22,.8,.28,1),visibility 0s .4s}.onboarding-open .onboarding-backdrop{opacity:1;pointer-events:auto}.onboarding-open .onboarding-card{opacity:1;pointer-events:auto;transform:translateY(0) scale(1);visibility:visible;transition-delay:0s}.onboarding-open .drag-surface{pointer-events:none}.onboarding-gesture{position:relative;display:grid;width:66px;height:66px;margin:-2px auto 14px;place-items:center;border:1px solid rgb(235 181 93 / 24%);border-radius:50%;background:radial-gradient(circle,rgb(232 171 72 / 14%),transparent 68%)}.gesture-incense{display:flex;height:34px;align-items:flex-end;gap:3px;animation:onboarding-move 1.7s ease-in-out infinite}.gesture-incense i{display:block;width:2px;height:29px;border-radius:2px;background:linear-gradient(#f9d181 0 18%,#ae3423 20% 100%);box-shadow:0 -2px 6px #f5b44973}.gesture-arrow{position:absolute;right:8px;color:#e7b666;font-size:20px;font-weight:300;animation:onboarding-arrow 1.7s ease-in-out infinite}.onboarding-eyebrow{margin:0 0 5px;color:#dca958;font-size:7px;font-weight:500;letter-spacing:.25em;text-align:center}.onboarding-card h2{margin:0;font-family:Playfair Display,Georgia,serif;font-size:28px;font-weight:400;letter-spacing:-.02em;text-align:center}.onboarding-description{margin:5px 0 18px;color:#ffedcd7a;font-size:9px;font-weight:300;text-align:center}.onboarding-steps{display:grid;margin:0;padding:0;gap:9px;list-style:none}.onboarding-steps li{display:grid;grid-template-columns:27px 1fr;padding:9px 10px;align-items:center;gap:10px;border:1px solid rgb(255 227 178 / 9%);border-radius:13px;background:#ffffff08}.onboarding-steps li>span{display:grid;width:25px;height:25px;place-items:center;border:1px solid rgb(229 172 81 / 34%);border-radius:50%;color:#e9b766;font-family:Playfair Display,Georgia,serif;font-size:12px}.onboarding-steps p{margin:0;color:#ffefd39e;font-size:9px;font-weight:300;line-height:1.5}.onboarding-steps strong{color:#f9e6c3;font-weight:500}.onboarding-start{display:block;width:100%;margin-top:16px;padding:12px 16px;border:1px solid rgb(255 226 169 / 38%);border-radius:999px;color:#2b140a;background:linear-gradient(135deg,#f2cc80,#d99c43);box-shadow:0 8px 22px #be691933;font-size:10px;font-weight:600;cursor:pointer}.onboarding-note{margin:9px 0 0;color:#ffe6be45;font-size:7px;font-weight:300;text-align:center}.onboarding-start:focus-visible{outline:2px solid #f3cc82;outline-offset:3px}.altar-picker{position:absolute;right:0;bottom:0;left:0;z-index:30;display:flex;max-height:min(74dvh,690px);flex-direction:column;padding:9px 18px calc(20px + env(safe-area-inset-bottom));border-top:1px solid rgb(255 224 168 / 18%);border-radius:25px 25px 0 0;color:#fff3db;background:linear-gradient(180deg,#2b140cfa,#140805fc);box-shadow:0 -24px 60px #0006,inset 0 1px #ffffff0d;transform:translateY(105%);visibility:hidden;transition:transform .38s cubic-bezier(.22,.8,.28,1),visibility 0s .38s}.picker-open .picker-backdrop{opacity:1;pointer-events:auto}.picker-open .altar-picker{transform:translateY(0);visibility:visible;transition-delay:0s}.picker-open .drag-surface{pointer-events:none}.wish-sheet{position:absolute;top:calc(env(safe-area-inset-top,0px) + 56px);right:14px;left:14px;z-index:33;max-height:calc(var(--visual-viewport-height, 100dvh) - env(safe-area-inset-top,0px) - 72px);padding:16px 16px 14px;overflow-y:auto;overscroll-behavior:contain;border:1px solid rgb(255 224 168 / 20%);border-radius:22px;color:#fff3db;background:linear-gradient(180deg,#30150cfc,#140805fc);box-shadow:0 24px 60px #0000008c,inset 0 1px #ffffff0d;opacity:0;transform:translateY(-10px) scale(.97);visibility:hidden;pointer-events:none;user-select:text;-webkit-user-select:text;touch-action:auto;transition:opacity .24s ease,transform .3s cubic-bezier(.22,.8,.28,1),visibility 0s .3s}.wish-open .wish-backdrop{opacity:1;pointer-events:auto}.wish-open .wish-sheet{opacity:1;transform:none;visibility:visible;pointer-events:auto;transition-delay:0s}.wish-open .drag-surface{pointer-events:none}.wish-heading{margin-bottom:12px}.wish-heading h2{font-size:23px}.wish-chips{display:flex;margin-bottom:10px;gap:6px;flex-wrap:wrap}.wish-chips button{flex:0 0 auto;padding:7px 11px;border:1px solid rgb(236 181 92 / 20%);border-radius:999px;color:#ffe8c0c7;background:#c16f2012;font-size:11px;cursor:pointer}.wish-chips button:active{border-color:#eeb5548c;background:#be6c1c2e}.wish-input-wrap{position:relative;display:block}.wish-input-wrap textarea{display:block;width:100%;min-height:96px;padding:12px 14px 24px;resize:none;border:1px solid rgb(255 223 165 / 16%);border-radius:14px;outline:none;color:#fff0d3;background:#ffffff0a;caret-color:#e8b55f;font:inherit;font-size:16px;font-weight:300;line-height:1.5;user-select:text;-webkit-user-select:text;touch-action:auto}.wish-input-wrap textarea::placeholder{color:#ffebc74d}.wish-input-wrap textarea:focus{border-color:#e2a84d7a;box-shadow:0 0 0 3px #e2a84d12}.wish-input-wrap>span{position:absolute;right:11px;bottom:7px;color:#ffe5bb52;font-size:10px}.wish-input-wrap b{font-weight:400}.wish-actions{display:flex;margin-top:12px;align-items:center;justify-content:space-between;gap:10px}.wish-clear{padding:9px 4px;border:0;color:#ffe6be73;background:transparent;font-size:11px;cursor:pointer}.wish-save{display:flex;margin-left:auto;padding:10px 16px;align-items:center;gap:7px;border:1px solid rgb(251 216 150 / 35%);border-radius:999px;color:#2b140a;background:linear-gradient(135deg,#f0c779,#d79a3d);box-shadow:0 7px 18px #be69192e;font-size:12px;font-weight:500;cursor:pointer}.wish-save svg{width:14px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7}.wish-privacy{margin:10px 0 0;color:#ffe6be47;font-size:10px;font-weight:300;text-align:center}.guide-sheet{position:absolute;right:0;bottom:0;left:0;z-index:35;display:flex;max-height:min(82dvh,760px);flex-direction:column;padding:9px 18px calc(20px + env(safe-area-inset-bottom));border-top:1px solid rgb(255 224 168 / 18%);border-radius:25px 25px 0 0;color:#fff3db;background:linear-gradient(180deg,#30150cfc,#140805fc);box-shadow:0 -24px 60px #0000006b,inset 0 1px #ffffff0d;transform:translateY(105%);visibility:hidden;transition:transform .38s cubic-bezier(.22,.8,.28,1),visibility 0s .38s}.guide-open .guide-backdrop{opacity:1;pointer-events:auto}.guide-open .guide-sheet{transform:translateY(0);visibility:visible;transition-delay:0s}.guide-open .drag-surface{pointer-events:none}.guide-heading{flex:0 0 auto}.guide-content{min-height:0;padding:0 2px 4px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgb(226 168 77 / 30%) transparent}.guide-intro{margin:0 0 17px;color:#ffefd3b3;font-size:10px;font-weight:300;line-height:1.7}.guide-content h3{margin:0 0 9px;color:#edbd6d;font-family:Playfair Display,Georgia,serif;font-size:17px;font-weight:400}.guide-content ol{margin:0 0 19px;padding-left:19px;color:#ffefd3ad;font-size:9px;font-weight:300;line-height:1.65}.guide-content li+li{margin-top:4px}.faq-list{border-top:1px solid rgb(255 226 172 / 12%)}.faq-list details{border-bottom:1px solid rgb(255 226 172 / 12%)}.faq-list summary{position:relative;padding:13px 24px 13px 0;color:#f8e5c2;font-size:10px;list-style:none;cursor:pointer}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{position:absolute;top:50%;right:3px;content:"+";color:#dca959;font-size:16px;font-weight:300;transform:translateY(-50%)}.faq-list details[open] summary:after{content:"−"}.faq-list p{margin:-2px 18px 13px 0;color:#ffedcd8f;font-size:9px;font-weight:300;line-height:1.65}.guide-more{display:flex;align-items:center;justify-content:space-between;margin-top:15px;padding:11px 13px;border:1px solid rgb(226 168 77 / 22%);border-radius:10px;color:#edbd6d;background:#e2a84d0f;font-size:10px;text-decoration:none;transition:border-color .2s ease,background .2s ease}.guide-more:hover{border-color:#e2a84d6b;background:#e2a84d1a}.guide-more svg{width:16px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5}.picker-handle{width:34px;height:3px;margin:0 auto 15px;border-radius:3px;background:#ffe5b740}.picker-heading{display:flex;margin-bottom:13px;align-items:center;justify-content:space-between}.picker-heading p{margin:0 0 4px;color:#d7a653;font-size:7px;font-weight:500;letter-spacing:.22em}.picker-heading h2{margin:0;font-family:Playfair Display,Georgia,serif;font-size:25px;font-weight:400;letter-spacing:-.02em}.picker-close{display:grid;width:34px;height:34px;padding:0;place-items:center;border:1px solid rgb(255 226 172 / 16%);border-radius:50%;color:#edd5aa;background:#ffffff08;cursor:pointer}.picker-close svg{width:15px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:1.4}.picker-close:focus-visible,.altar-option:focus-visible,.altar-toggle:focus-visible,.wish-button:focus-visible,.wish-chips button:focus-visible,.wish-save:focus-visible,.guide-button:focus-visible,.share-button:focus-visible,.faq-list summary:focus-visible,.guide-more:focus-visible{outline:2px solid #dca959;outline-offset:2px}.altar-options{display:grid;min-height:0;padding-right:2px;gap:8px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}.altar-options::-webkit-scrollbar{display:none}.altar-option{position:relative;display:grid;grid-template-columns:58px 1fr 24px;min-height:64px;padding:5px 11px 5px 5px;align-items:center;gap:11px;border:1px solid rgb(255 227 178 / 10%);border-radius:15px;color:#f6e6c7;background:#ffffff08;text-align:left;cursor:pointer;transition:border-color .2s,background .2s,transform .2s}.altar-option:active{transform:scale(.985)}.altar-option.is-selected{border-color:#eab35861;background:linear-gradient(90deg,#b6691f24,#ffffff08)}.option-image{width:54px;height:54px;border-radius:11px;background-position:center;background-size:cover;box-shadow:inset 0 0 0 1px #ffffff14}.option-ancestor{background-image:url(/assets/altar-background-thumb.webp)}.option-maitreya{background-image:url(/assets/altar-di-lac-thumb.webp)}.option-guanyin{background-image:url(/assets/altar-quan-am-thumb.webp)}.option-amida{background-image:url(/assets/altar-amida-thumb.webp)}.option-wealth{background-image:url(/assets/altar-than-tai-thumb.webp)}.option-zen{background-image:url(/assets/altar-thien-sen-thumb.webp)}.option-copy{display:flex;flex-direction:column;gap:4px}.option-copy strong{color:#ffefd2;font-size:11px;font-weight:500}.option-copy small{color:#ffedcd78;font-size:8px;font-weight:300}.option-check{display:grid;width:20px;height:20px;place-items:center;border:1px solid rgb(255 229 181 / 15%);border-radius:50%;color:transparent;font-size:10px}.altar-option.is-selected .option-check{border-color:#d99c44;color:#2a130b;background:#e7b767}[data-phase=done] .hand-layer{opacity:0;transform:translate3d(-50%,180px,0) scale(.95);transition:opacity .55s,transform .8s cubic-bezier(.2,.8,.2,1)}[data-phase=done] .progress-orbit{opacity:0}[data-phase=done] .drag-surface{pointer-events:auto}[data-phase=done] .planted-incense{opacity:1;transform:translate(-50%) scale(1)}[data-phase=done] .smoke-field{opacity:1}[data-phase=done] .reset-button{opacity:1;pointer-events:auto;transform:translateY(0)}[data-phase=done] .intro-copy{top:112px}[data-phase=done] h1:not(.custom-wish-title){font-size:40px}.completion-flash{position:absolute;inset:0;z-index:14;pointer-events:none;background:radial-gradient(circle at 50% 51%,rgb(255 210 118 / 30%),transparent 35%);animation:flash 1.2s ease-out both}@keyframes incense-glow{to{filter:brightness(1.08) saturate(1.05)}}@keyframes onboarding-move{0%,to{transform:translateY(4px)}50%{transform:translateY(-5px)}}@keyframes onboarding-arrow{0%,to{opacity:.45;transform:translateY(3px)}50%{opacity:1;transform:translateY(-3px)}}@keyframes smoke-photo-a{0%{opacity:0;transform:translate3d(-50%,18px,0) scale(.72) rotate(-1deg)}15%{opacity:.34}50%{opacity:.27;transform:translate3d(-47%,-20px,0) scale(.88,1.02) rotate(2deg)}82%{opacity:.12}to{opacity:0;transform:translate3d(-54%,-57px,0) scale(1.02,1.13) rotate(-2deg)}}@keyframes smoke-photo-b{0%{opacity:0;transform:translate3d(-47%,13px,0) scale(.68) rotate(2deg)}18%{opacity:.29}52%{opacity:.22;transform:translate3d(-53%,-23px,0) scale(.85,1.03) rotate(-2deg)}to{opacity:0;transform:translate3d(-45%,-64px,0) scale(1.04,1.16) rotate(3deg)}}@keyframes smoke-photo-c{0%{opacity:0;transform:translate3d(-53%,17px,0) scale(.65) rotate(-3deg)}20%{opacity:.19}58%{opacity:.15;transform:translate3d(-45%,-26px,0) scale(.84,1.05) rotate(2deg)}to{opacity:0;transform:translate3d(-55%,-70px,0) scaleY(1.18) rotate(-3deg)}}@keyframes grain{0%{transform:translate(1%,-1%)}25%{transform:translate(-2%,1%)}50%{transform:translate(2%,2%)}75%{transform:translate(-1%,-2%)}to{transform:translate(0)}}@keyframes scene-breathe{to{transform:scale(1.035)}}@keyframes flash{0%{opacity:1}to{opacity:0}}@media(max-height:720px){.intro-copy{top:76px}h1{font-size:34px}.message{display:none}.progress-orbit{top:205px}.hand-layer{top:20%;width:70%}.footer-note{display:none}.guide-button{bottom:calc(max(10px,env(safe-area-inset-bottom)) + 2px)}.phone-shell{--incense-height: 135px}.planted-incense,.smoke-field{top:auto}[data-phase=done] .intro-copy{top:89px}.altar-picker{padding-bottom:calc(12px + env(safe-area-inset-bottom))}.picker-handle,.picker-heading{margin-bottom:8px}.altar-options{gap:5px}.altar-option{min-height:55px}.option-image{width:47px;height:47px}.guide-sheet{max-height:90dvh;padding-bottom:calc(12px + env(safe-area-inset-bottom))}.onboarding-card{right:14px;bottom:calc(10px + env(safe-area-inset-bottom));left:14px;padding:16px 16px 13px}.onboarding-gesture{width:50px;height:50px;margin-bottom:8px}.gesture-incense{height:28px}.gesture-incense i{height:24px}.onboarding-card h2{font-size:24px}.onboarding-description{margin-bottom:10px}.onboarding-steps{gap:6px}.onboarding-steps li{padding:6px 9px}.onboarding-start{margin-top:10px;padding-block:10px}.onboarding-note{margin-top:6px}}@media(min-width:431px){.phone-shell{border-radius:28px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}
