:root{--white: #ffffff;--off: #fafafa;--peach: #f5d5c0;--blush: #e8b4a2;--clay: #c4856b;--brown: #7a5040;--deep: #4a2c20;--sage: #a8b5a0;--gold: #d4a96a;--purple-deep: #1a0a2e;--purple-mid: #3d1c6e}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}@media (min-width: 768px){html{font-size:80%}}body{font-family:Zen Maru Gothic,"Noto Serif TC",serif;background:radial-gradient(circle at 50% -20%,#fff8f2 0%,var(--white) 60%,var(--white) 100%);color:var(--deep);overflow-x:hidden;overscroll-behavior:none}body[data-lang=en]{font-family:Quicksand,Cormorant Garamond,sans-serif}body[data-lang=en] h1,body[data-lang=en] h2,body[data-lang=en] h3,body[data-lang=en] .q-title,body[data-lang=en] .r-header h2{font-family:Quicksand,sans-serif;font-weight:700;letter-spacing:.02em}body[data-lang=en] .btn,body[data-lang=en] .btn-ghost,body[data-lang=en] .sub-btn{font-family:Quicksand,sans-serif;font-weight:600;letter-spacing:.03em}.paw-bg{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0;overflow:hidden}.paw-bg .p{position:absolute;opacity:.04;animation:fp 22s infinite linear}@keyframes fp{0%{transform:translateY(110vh) rotate(0)}to{transform:translateY(-10vh) rotate(360deg)}}.lang-toggle{position:fixed;top:1rem;right:1rem;z-index:100;display:flex;background:var(--off);border-radius:50px;box-shadow:0 2px 12px #0000000f;overflow:hidden;border:1px solid var(--peach)}.lang-btn{padding:.5rem 1.1rem;font-size:.82rem;font-weight:700;border:none;cursor:pointer;background:transparent;color:var(--brown);transition:all .3s;font-family:inherit;letter-spacing:.05em}.lang-btn.active{background:var(--clay);color:#fff}.no-scroll{overflow:hidden;height:100dvh;max-height:100dvh}.centered{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:1.5rem 1.2rem;position:relative;z-index:1}.centered.top-align{justify-content:flex-start;padding-top:4rem}.btn{display:inline-block;padding:.85rem 2rem;background:linear-gradient(135deg,var(--clay),var(--blush));color:#fff;font-family:"Noto Serif TC",serif;font-size:1rem;font-weight:700;letter-spacing:.1em;border:none;border-radius:50px;cursor:pointer;text-decoration:none;transition:all .4s ease;box-shadow:0 4px 20px #c4856b59}body[data-lang=en] .btn{font-family:Cormorant Garamond,serif;letter-spacing:.05em}.btn:active{transform:scale(.96);box-shadow:none}.btn:hover{transform:translateY(-3px);box-shadow:0 10px 35px #c4856b80}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none}.btn-sm{padding:1rem 2.2rem;font-size:1.05rem}.btn-lg{padding:1rem 2.2rem;font-size:1.05rem;width:100%}.btn-ghost{padding:.8rem 2rem;background:transparent;border:1.5px solid var(--peach);color:var(--clay);font-family:"Noto Serif TC",serif;font-size:.95rem;font-weight:700;border-radius:50px;cursor:pointer;transition:all .3s}.btn-ghost:active{transform:scale(.96)}.btn-ghost:hover{background:var(--peach);color:#fff}.t-icon{font-size:2.8rem;margin-bottom:.8rem;animation:bounce 3s ease-in-out infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.pet-paw-wrapper{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:100;display:flex;align-items:center;justify-content:center;opacity:0}.pet-paw-wrapper.animate{animation:spiritTap .8s cubic-bezier(.25,1,.5,1) forwards}@keyframes spiritTap{0%{opacity:0;transform:translate(-50%,-10%) scale(1.3)}40%{opacity:.9;transform:translate(-50%,-50%) scale(1)}60%{opacity:1;transform:translate(-50%,-50%) scale(.92)}to{opacity:0;transform:translate(-50%,-80%) scale(1.1)}}h1{font-family:"Noto Serif TC",serif;font-weight:900;font-size:clamp(1.9rem,5vw,2.8rem);letter-spacing:.08em;line-height:1.25;margin-bottom:.5rem}body[data-lang=en] h1{font-size:clamp(1.6rem,4vw,2.4rem);letter-spacing:.03em}h1 span{background:linear-gradient(135deg,var(--clay),var(--gold));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 2px 8px rgba(255,248,244,.9)) drop-shadow(0 1px 2px rgba(255,248,244,1))}.sub{font-size:clamp(.95rem,2.5vw,1.15rem);color:var(--brown);opacity:.6;letter-spacing:.2em}.desc{max-width:520px;font-size:clamp(.88rem,2vw,1rem);line-height:1.75;color:var(--brown);margin:1.2rem auto 1.8rem}.note{font-size:.85rem;color:var(--brown);opacity:.45;margin-top:1.2rem}.hero-enter-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;pointer-events:none;background:radial-gradient(ellipse at center,#fffefb,#fff8f0);animation:heroEnterExpand .9s ease-in forwards}@keyframes heroEnterExpand{0%{opacity:0}to{opacity:1}}.hero-fade-out{animation:heroContentFade .45s ease-in forwards;pointer-events:none}@keyframes heroContentFade{0%{opacity:1;filter:blur(0px);transform:scale(1)}to{opacity:0;filter:blur(4px);transform:scale(1.04)}}::view-transition-old(root){animation:.3s ease both fade-out}::view-transition-new(root){animation:.4s ease both fade-in}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.screen-enter{animation:screenFadeIn .7s ease-out forwards}@keyframes screenFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.hero-sky{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:linear-gradient(to bottom,#eeebf8,#f3eef8,#f6eff5,#f8f2f4,#fbf6f0 72%,#fefbf8)}.hero-cloud{position:fixed;z-index:1;pointer-events:none;border-radius:50%;background:#ffffff73;filter:blur(22px)}.hero-cloud:before,.hero-cloud:after{content:"";position:absolute;background:inherit;border-radius:50%}.hc-1{width:180px;height:60px;top:12%;left:5%}.hc-1:before{width:100px;height:85px;top:-35px;left:20px}.hc-1:after{width:80px;height:65px;top:-22px;left:90px}.hc-2{width:140px;height:48px;top:22%;right:8%;background:#f0e1ff66}.hc-2:before{width:80px;height:72px;top:-30px;left:15px}.hc-2:after{width:65px;height:55px;top:-18px;left:75px}.hc-3{width:110px;height:38px;top:8%;left:52%;background:#fff0fa59}.hc-3:before{width:65px;height:58px;top:-25px;left:12px}.hero-rainbow-bg{position:absolute;width:160vmax;height:160vmax;top:calc(70vh - 80vmax);left:50%;transform:translate(-50%);border-radius:50%;background:radial-gradient(circle at center,transparent 55%,rgba(220,185,250,.5) 56%,rgba(220,185,250,.5) 59%,transparent 60%,rgba(185,210,255,.45) 61%,rgba(185,210,255,.45) 64%,transparent 65%,rgba(175,240,210,.4) 66%,rgba(175,240,210,.4) 69%,transparent 70%,rgba(255,245,180,.4) 71%,rgba(255,245,180,.4) 74%,transparent 75%,rgba(255,215,175,.45) 76%,rgba(255,215,175,.45) 79%,transparent 80%,rgba(255,185,205,.5) 81%,rgba(255,185,205,.5) 84%,transparent 86%);filter:blur(48px);pointer-events:none;z-index:0;animation:rainbowBreath 8s ease-in-out infinite}@keyframes rainbowBreath{0%,to{opacity:.65}50%{opacity:.9}}.hero-proof{display:inline-flex;align-items:center;gap:.5rem;background:#c4856b14;border:1px solid rgba(196,133,107,.2);border-radius:50px;padding:.4rem 1.1rem;margin-bottom:1.8rem;font-size:.85rem;color:var(--brown)}.hero-proof .dot{width:7px;height:7px;border-radius:50%;background:#5cb85c;flex-shrink:0;box-shadow:0 0 6px #5cb85c80}.q-icon{font-size:2rem;margin-bottom:.8rem}.q-title{font-family:"Noto Serif TC",serif;font-size:clamp(1.2rem,3vw,1.6rem);font-weight:700;margin-bottom:.7rem;line-height:1.5}body[data-lang=en] .q-title{font-family:Cormorant Garamond,serif;font-size:clamp(1.3rem,3vw,1.8rem)}.q-sub{font-size:1rem;color:var(--brown);opacity:.6;margin-bottom:2.2rem;max-width:420px;line-height:1.8}.q-input,.q-textarea{width:100%;max-width:420px;padding:1.1rem 1.4rem;font-family:inherit;font-size:1.1rem;border:2px solid var(--peach);border-radius:16px;background:var(--off);color:var(--deep);outline:none;transition:border-color .3s,box-shadow .3s}.q-input{text-align:center}.q-textarea{min-height:130px;resize:none;text-align:left}.q-input:focus,.q-textarea:focus{border-color:var(--clay);box-shadow:0 0 0 4px #c4856b1f}.q-input::placeholder,.q-textarea::placeholder{color:var(--blush);opacity:.7}.portal-wrap{position:relative;width:180px;height:180px;margin:0 auto 1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.portal-ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:1.5px solid transparent;animation:portalSpin 8s linear infinite}.portal-ring-1{border-top-color:#ff8c32b3;border-right-color:#ff8c3233;animation-duration:7s}.portal-ring-2{top:10px;right:10px;bottom:10px;left:10px;border-bottom-color:#ff641e80;border-left-color:#ff641e26;animation-duration:11s;animation-direction:reverse}.portal-ring-3{top:20px;right:20px;bottom:20px;left:20px;border-top-color:#ffb45059;border-right-color:#ffb4501a;animation-duration:15s}@keyframes portalSpin{to{transform:rotate(360deg)}}.portal-inner{position:absolute;top:28px;right:28px;bottom:28px;left:28px;border-radius:50%;overflow:hidden;background:radial-gradient(circle at 40% 35%,#fff,#fff4e8);box-shadow:0 0 30px #ff8c3240,inset 0 0 16px #ffa05026;transition:box-shadow .4s}.portal-wrap:hover .portal-inner{box-shadow:0 0 50px #ff8c3273,inset 0 0 20px #ffa05033}.portal-wrap.has-photo .portal-inner{box-shadow:0 0 40px #ff8c3259}.portal-photo{width:100%;height:100%;object-fit:cover;opacity:.92}.portal-wrap.ripple:after{content:"";position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px;border-radius:50%;border:2px solid rgba(255,140,50,.7);animation:portalRipple .85s ease-out forwards}@keyframes portalRipple{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.4)}}.portal-placeholder{display:flex;flex-direction:column;align-items:center;gap:.5rem;color:#ffffffbf;font-size:.82rem;letter-spacing:.05em;text-align:center;padding:0 12px}.portal-orb{font-size:2rem;animation:orbPulse 2.5s ease-in-out infinite;color:#ffffffe6}@keyframes orbPulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.15)}}.portal-swap-hint{position:absolute;bottom:22px;left:50%;transform:translate(-50%);font-size:.7rem;color:#b48cff8c;letter-spacing:.08em;pointer-events:none;white-space:nowrap}.tarot-title{font-family:"Noto Serif TC",serif;font-size:clamp(1.2rem,3.5vw,1.7rem);font-weight:700;text-align:center;margin-bottom:.5rem;line-height:1.5}body[data-lang=en] .tarot-title{font-family:Cormorant Garamond,serif;font-size:clamp(1.3rem,3.5vw,1.8rem)}.tarot-hint{font-size:.92rem;color:var(--brown);opacity:.65;text-align:center;margin-bottom:2rem;transition:opacity .5s ease}.chosen-slots{display:flex;gap:clamp(.8rem,2.5vw,1.4rem);justify-content:center;margin-bottom:3.8rem}.slot{width:clamp(72px,17vw,100px);height:clamp(116px,26vw,158px);border:2px dashed var(--peach);border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;background:#fafafa80;transition:all .4s;overflow:visible}.slot.filled{border-style:solid;border-color:var(--blush);background:var(--off);box-shadow:0 8px 32px #c4856b73,0 0 0 2px #e8b4a24d;animation:slot-pop .55s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes slot-pop{0%{transform:scale(.82) translateY(6px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.slot-label{position:absolute;bottom:-2.9rem;font-size:clamp(.62rem,1.6vw,.76rem);color:var(--clay);font-weight:700;letter-spacing:.08em;white-space:nowrap}.slot .slot-ph{font-size:1.5rem;opacity:.25}.slot .slot-img{width:100%;height:100%;object-fit:cover;border-radius:10px}.slot .slot-name{position:absolute;bottom:-1.5rem;left:50%;transform:translate(-50%);white-space:nowrap;text-align:center;font-size:clamp(.52rem,1.4vw,.65rem);font-weight:700;color:var(--brown);background:none;padding:2px 0}.spread-container{width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;padding:1.2rem 0 2.5rem;cursor:grab;scrollbar-width:none;will-change:scroll-position;transform:translateZ(0)}.spread-container::-webkit-scrollbar{display:none}.spread-container.grabbing{cursor:grabbing}.spread-track{display:flex;gap:14px;padding:0 calc(50vw - 70px);width:max-content}.fade-in-staggered .tarot-card{opacity:0;transform:translateY(20px);animation:sereneFadeIn 1.2s cubic-bezier(.25,.46,.45,.94) forwards}@keyframes sereneFadeIn{to{opacity:1;transform:translateY(0)}}.tarot-card{flex-shrink:0;width:clamp(80px,18vw,108px);height:clamp(128px,29vw,173px);border-radius:10px;cursor:pointer;position:relative;transition:transform .35s ease,box-shadow .35s,opacity .55s ease;box-shadow:0 4px 16px #5b3a6b2e;user-select:none;-webkit-user-select:none;-webkit-perspective:1000px;perspective:1000px;will-change:transform,opacity;transform:translateZ(0)}.tarot-card:hover:not(.picked):not(.flipping){transform:translateY(-14px);box-shadow:0 14px 36px #5b3a6b59}.tarot-card.picked{opacity:.22;pointer-events:none;transform:scale(.88) translateY(-8px);filter:saturate(.3)}.tarot-card.dimmed{opacity:.2;pointer-events:none}.card-flipper{width:100%;height:100%;position:relative;transform-style:preserve-3d;transition:transform .65s ease;border-radius:10px;-webkit-transform-style:preserve-3d;-webkit-perspective:1000px;perspective:1000px}.tarot-card.flipping .card-flipper{transform:rotateY(180deg)}.card-face-back,.card-face-front{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;border-radius:10px;overflow:hidden;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}.card-face-back{background:linear-gradient(135deg,#5b3a6b,#7b5a8b,#5b3a6b);display:flex;align-items:center;justify-content:center;border:2px solid rgba(255,255,255,.15)}.card-back-deco{width:62%;height:62%;border:1.5px solid rgba(255,255,255,.25);border-radius:8px;display:flex;align-items:center;justify-content:center;position:relative}.card-back-deco:before{content:"✦";font-size:1.3rem;color:#ffffff59}.card-back-deco:after{content:"";position:absolute;top:10%;left:10%;width:80%;height:80%;border:1px solid rgba(255,255,255,.12);border-radius:50%}.card-face-back--pet{background:linear-gradient(150deg,#7a5c3a,#b08050 40%,#d4a86a 65%,#9a6840)}.card-face-back--pet .card-back-deco{border-color:#ffebb473}.card-face-back--pet .card-back-deco:before{content:"";display:block;width:44px;height:44px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='rgba(255,230,160,0.55)'%3E%3Cpath d='M12,2C10.34,2 8.94,3.34 8.94,5C8.94,6.66 10.34,8 12,8C13.66,8 15.06,6.66 15.06,5C15.06,3.34 13.66,2 12,2M7.22,4.8C5.56,4.8 4.22,6.14 4.22,7.8C4.22,9.46 5.56,10.8 7.22,10.8C8.88,10.8 10.22,9.46 10.22,7.8C10.22,6.14 8.88,4.8 7.22,4.8M16.78,4.8C15.12,4.8 13.78,6.14 13.78,7.8C13.78,9.46 15.12,10.8 16.78,10.8C18.44,10.8 19.78,9.46 19.78,7.8C19.78,6.14 18.44,4.8 16.78,4.8M5,12C3.34,12 2,13.34 2,15C2,16.66 3.34,18 5,18C6.66,18 8,16.66 8,15C8,13.34 6.66,12 5,12M19,12C17.34,12 16,13.34 16,15C16,16.66 17.34,18 19,18C20.66,18 22,16.66 22,15C22,13.34 20.66,12 19,12M12,10.34C10.74,10.34 9.53,10.66 8.44,11.23C7.57,11.68 6.83,12.33 6.27,13.11C5.69,13.91 5.34,14.86 5.34,15.89C5.34,18.16 7.18,20 9.45,20C10.39,20 11.25,19.64 11.9,19.06C12.56,18.47 13.44,18.47 14.1,19.06C14.75,19.64 15.61,20 16.55,20C18.82,20 20.66,18.16 20.66,15.89C20.66,14.86 20.31,13.91 19.73,13.11C19.17,12.33 18.43,11.68 17.56,11.23C16.47,10.66 15.26,10.34 12,10.34Z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:contain;filter:drop-shadow(0 0 6px rgba(255,210,100,.5))}.card-face-back--pet .card-back-deco:after{border-color:#ffdc9633}.card-face-front{transform:rotateY(180deg);border:2px solid var(--peach);background:var(--off)}.card-face-front img{width:100%;height:100%;object-fit:cover;object-position:center top;border-radius:8px}.guide-toggle{display:inline-flex;align-items:center;gap:.45rem;margin-bottom:1.2rem;padding:.42rem 1.1rem;background:transparent;border:1.5px solid rgba(196,133,107,.3);border-radius:50px;color:var(--brown);font-family:inherit;font-size:.82rem;font-weight:700;letter-spacing:.06em;cursor:pointer;transition:all .3s ease;opacity:.65}.guide-toggle:hover{opacity:1;border-color:var(--clay)}.guide-toggle.active{background:#c4856b1a;border-color:var(--clay);color:var(--clay);opacity:1}.guide-toggle-dot{width:6px;height:6px;border-radius:50%;background:var(--clay);opacity:.5;transition:all .3s}.guide-toggle.active .guide-toggle-dot{opacity:1;box-shadow:0 0 6px #c4856bb3;animation:dotPulse 2s ease-in-out infinite}.deck-stage-wrap{display:flex;justify-content:center;align-items:center;margin:1.2rem auto;height:170px}.deck-stage{position:relative;width:85px;height:145px;transform-origin:center bottom}.deck-half{position:absolute;width:85px;height:145px;top:0;left:0}.deck-card{position:absolute;width:78px;height:126px;border-radius:10px;background:linear-gradient(135deg,#5b3a6b,#7b5a8b,#5b3a6b);border:2px solid rgba(255,255,255,.15);box-shadow:0 4px 14px #5b3a6b4d;left:5px;top:5px;display:flex;align-items:center;justify-content:center}.deck-card-deco{width:58%;height:58%;border:1.5px solid rgba(255,255,255,.25);border-radius:6px;position:relative}.deck-card-deco:before{content:"✦";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:1.1rem;color:#ffffff59}.deck-card--pet{background:linear-gradient(150deg,#7a5c3a,#b08050 40%,#d4a86a 65%,#9a6840);border-color:#ffdc9633;box-shadow:0 4px 14px #7a5c3a59}.deck-card--pet .deck-card-deco{border-color:#ffebb466}.deck-card--pet .deck-card-deco:before{content:"";display:block;width:28px;height:28px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='rgba(255,230,160,0.55)'%3E%3Cpath d='M12,2C10.34,2 8.94,3.34 8.94,5C8.94,6.66 10.34,8 12,8C13.66,8 15.06,6.66 15.06,5C15.06,3.34 13.66,2 12,2M7.22,4.8C5.56,4.8 4.22,6.14 4.22,7.8C4.22,9.46 5.56,10.8 7.22,10.8C8.88,10.8 10.22,9.46 10.22,7.8C10.22,6.14 8.88,4.8 7.22,4.8M16.78,4.8C15.12,4.8 13.78,6.14 13.78,7.8C13.78,9.46 15.12,10.8 16.78,10.8C18.44,10.8 19.78,9.46 19.78,7.8C19.78,6.14 18.44,4.8 16.78,4.8M5,12C3.34,12 2,13.34 2,15C2,16.66 3.34,18 5,18C6.66,18 8,16.66 8,15C8,13.34 6.66,12 5,12M19,12C17.34,12 16,13.34 16,15C16,16.66 17.34,18 19,18C20.66,18 22,16.66 22,15C22,13.34 20.66,12 19,12M12,10.34C10.74,10.34 9.53,10.66 8.44,11.23C7.57,11.68 6.83,12.33 6.27,13.11C5.69,13.91 5.34,14.86 5.34,15.89C5.34,18.16 7.18,20 9.45,20C10.39,20 11.25,19.64 11.9,19.06C12.56,18.47 13.44,18.47 14.1,19.06C14.75,19.64 15.61,20 16.55,20C18.82,20 20.66,18.16 20.66,15.89C20.66,14.86 20.31,13.91 19.73,13.11C19.17,12.33 18.43,11.68 17.56,11.23C16.47,10.66 15.26,10.34 12,10.34Z'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat}.dc-0{transform:translateY(30px) rotate(.3deg);z-index:1}.dc-1{transform:translate(-2px,25px) rotate(-.5deg);z-index:2}.dc-2{transform:translate(2px,20px) rotate(.4deg);z-index:3}.dc-3{transform:translate(-1px,15px) rotate(-.3deg);z-index:4}.dc-4{transform:translate(1px,10px) rotate(.5deg);z-index:5}.dc-5{transform:translate(-2px,5px) rotate(-.4deg);z-index:6}.dc-6{transform:translate(1px) rotate(.2deg);z-index:7}.shuffling .dc-0{animation:scatter0 1.8s cubic-bezier(.25,.8,.25,1)}.shuffling .dc-1{animation:scatter1 1.8s cubic-bezier(.25,.8,.25,1)}.shuffling .dc-2{animation:scatter2 1.8s cubic-bezier(.25,.8,.25,1)}.shuffling .dc-3{animation:scatter3 1.8s cubic-bezier(.25,.8,.25,1)}.shuffling .dc-4{animation:scatter4 1.8s cubic-bezier(.25,.8,.25,1)}.shuffling .dc-5{animation:scatter5 1.8s cubic-bezier(.25,.8,.25,1)}.shuffling .dc-6{animation:scatter6 1.8s cubic-bezier(.25,.8,.25,1)}@keyframes scatter0{50%{transform:translate(-80px,20px) rotate(-25deg);opacity:.9;box-shadow:0 12px 30px #5b3a6b26}}@keyframes scatter1{50%{transform:translate(75px,15px) rotate(22deg);opacity:.85;box-shadow:0 12px 30px #5b3a6b26}}@keyframes scatter2{50%{transform:translate(-90px,35px) rotate(-18deg);opacity:.9;box-shadow:0 12px 30px #5b3a6b26}}@keyframes scatter3{50%{transform:translate(85px,50px) rotate(35deg);opacity:.8;box-shadow:0 12px 30px #5b3a6b26}}@keyframes scatter4{50%{transform:translate(-35px,25px) rotate(-40deg);opacity:.9;box-shadow:0 12px 30px #5b3a6b26}}@keyframes scatter5{50%{transform:translate(45px,90px) rotate(18deg);opacity:.85;box-shadow:0 12px 30px #5b3a6b26}}@keyframes scatter6{50%{transform:translate(15px,20px) rotate(48deg);opacity:.9;box-shadow:0 12px 30px #5b3a6b26}}@keyframes cutMoveTop{0%{transform:translate(0) translateY(0)}40%{transform:translate(80px) translateY(-38px)}60%{transform:translate(-80px) translateY(38px)}to{transform:translate(0) translateY(0)}}@keyframes cutMoveBot{0%{transform:translate(0) translateY(0)}40%{transform:translate(-80px) translateY(38px)}60%{transform:translate(80px) translateY(-38px)}to{transform:translate(0) translateY(0)}}.deck-half--top.cutting-top{animation:cutMoveTop 1.4s cubic-bezier(.4,0,.2,1) forwards}.deck-half--bot.cutting-bot{animation:cutMoveBot 1.4s cubic-bezier(.4,0,.2,1) forwards}.deck-actions{display:flex;gap:1rem;justify-content:center;margin-top:.5rem}.deck-btn{padding:.6rem 1.8rem;border-radius:50px;border:1.5px solid rgba(196,133,107,.35);background:transparent;color:var(--brown);font-family:inherit;font-size:.95rem;cursor:pointer;transition:all .3s ease;opacity:.75}.deck-btn:active:not(:disabled){transform:scale(.95)}.deck-btn:hover:not(:disabled){border-color:var(--clay);background:#c4856b14;opacity:1}.deck-btn:disabled,.deck-btn.muted{opacity:.28;cursor:not-allowed}.deck-btn.done{border-color:var(--clay);background:#c4856b1f;opacity:1}.deck-switcher{display:flex;gap:.5rem;justify-content:center;margin:.8rem auto 1.4rem;background:#c4856b14;border-radius:50px;padding:4px;width:fit-content}.deck-switch-btn{padding:.45rem 1.1rem;border-radius:50px;border:none;background:transparent;color:var(--brown);font-size:.82rem;font-family:inherit;cursor:pointer;opacity:.55;transition:all .22s ease;white-space:nowrap}.deck-switch-btn:hover{opacity:.8}.deck-switch-btn.active{background:var(--clay);color:#fff;opacity:1;box-shadow:0 2px 8px #c4856b59}.guided-banner{display:flex;align-items:flex-start;gap:.8rem;max-width:420px;background:linear-gradient(135deg,#f5d5c040,#e8b4a226);border:1px solid rgba(196,133,107,.2);border-radius:16px;padding:1.1rem 1.3rem;margin-bottom:1.2rem;text-align:left;animation:guidedIn .5s ease both}@keyframes guidedIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.guided-icon{font-size:1.1rem;flex-shrink:0;margin-top:.1rem;opacity:.7}.guided-banner p{font-size:.92rem;line-height:1.9;color:var(--brown);margin:0}.swipe-hint{text-align:center;font-size:.82rem;color:var(--clay);opacity:.5;margin-top:.6rem;letter-spacing:.05em}@media (min-width: 768px){.centered{padding:3.5rem 2rem}.t-icon{font-size:5rem;margin-bottom:2rem}h1{font-size:4.8rem;letter-spacing:.12em}.sub{font-size:1.4rem;letter-spacing:.3em}.desc{max-width:720px;font-size:1.45rem;line-height:2.4;margin:3rem auto 4rem}.q-icon{font-size:4.5rem}.q-title{font-size:2.8rem;margin-bottom:1.5rem;letter-spacing:.05em}.q-sub{font-size:1.35rem;max-width:650px;margin-bottom:3.5rem}.q-input{font-size:1.6rem;padding:1.4rem 2.8rem;width:460px}.tarot-title{font-size:2.4rem;margin-bottom:1.2rem;letter-spacing:.05em}.tarot-hint{font-size:1.35rem;margin-bottom:3.5rem}.guided-banner{max-width:700px;padding:1.8rem 2.5rem}.guided-banner p{font-size:1.25rem;line-height:2.1}.spread-track{gap:25px;padding:0 calc(50vw - 140px)}.tarot-card{width:100px;height:160px}.tarot-card:hover{transform:translateY(-12px)}.btn{padding:1.4rem 4rem;font-size:1.45rem}.btn-sm{padding:1.2rem 3.4rem;font-size:1.3rem}.deck-stage{width:110px;height:178px}.deck-actions{gap:1rem;margin-top:1.2rem}.deck-btn{padding:.7rem 2rem;font-size:1rem}}.result-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a061cbf;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:300;display:flex;align-items:center;justify-content:center;padding:1.5rem;animation:fadeIn .3s ease both}.result-modal{background:#fdf6e8;border-radius:20px;padding:2rem 1.5rem;max-width:320px;width:100%;display:flex;flex-direction:column;align-items:center;gap:.6rem;box-shadow:0 20px 60px #00000059;animation:fadeInUp .4s cubic-bezier(.22,1,.36,1) both}.result-modal-icon{font-size:2rem;margin-bottom:.3rem}.result-modal-title{font-family:"Noto Serif TC",serif;font-size:1.1rem;font-weight:700;color:var(--deep);text-align:center}.result-modal-sub{font-size:.85rem;color:var(--brown);opacity:.7;text-align:center;line-height:1.6;margin-bottom:.5rem}.result-modal-btn{width:100%;padding:.85rem;background:linear-gradient(135deg,var(--clay),var(--blush));color:#fff;border:none;border-radius:50px;font-family:inherit;font-size:1rem;font-weight:700;cursor:pointer;margin-top:.5rem;transition:opacity .18s,transform .15s}.result-modal-btn:hover{opacity:.88}.result-modal-btn:active{transform:scale(.96);opacity:1}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.reading-screen{min-height:100vh;padding:2rem 1.2rem 1.5rem;position:relative;z-index:1}.pet-reading{background:radial-gradient(ellipse at 50% 0%,rgba(212,168,106,.08) 0%,transparent 70%)}.pet-reading .r-header .icon{font-size:3rem;margin-bottom:1.2rem}.pet-reading .r-header h2{color:#6b3e20}.pet-reading .r-header p{color:#9a6840;opacity:.8;letter-spacing:.12em;font-size:.85rem;text-transform:uppercase}.pet-reading .r-card{flex-direction:column;align-items:center;text-align:center;background:linear-gradient(160deg,#fdf8f0,#fef4e4 60%,#fdf0d8);border:1px solid rgba(180,130,70,.22);box-shadow:0 8px 36px #8c5a1e1a,0 2px 8px #8c5a1e0f;padding:2.5rem 2rem 2rem;gap:1.8rem}.pet-reading .r-card-img{width:160px;height:256px;border-radius:16px;object-fit:contain;box-shadow:0 16px 48px #643c0a47,0 4px 16px #643c0a26;border:none}.pet-reading .r-card-body{max-width:440px}.pet-reading .r-card-body .label{color:#b08050;letter-spacing:.22em}.pet-reading .r-card-body .name{font-family:"Noto Serif TC",serif;color:#5a3010;font-size:1.25rem;margin:.4rem 0 1rem}.pet-reading .r-card-body .meaning{color:#5a3a1a;font-size:1.05rem;line-height:2.4;font-style:italic}.pet-card-divider{display:flex;align-items:center;justify-content:center;gap:.8rem;margin:1.8rem 0}.divider-line{flex:1;height:1px;background:linear-gradient(to right,transparent,rgba(196,133,107,.3),transparent)}.pet-reading .letter-wrapper{background:none;border:none}.pet-reading .letter-wrapper:before{border-color:#b0805040}.pet-reading .letter-paper{background:repeating-linear-gradient(to bottom,transparent,transparent 31px,rgba(176,128,80,.07) 31px,rgba(176,128,80,.07) 32px),linear-gradient(160deg,#fff,#fdf9f4 60%,#faf6ee);border:1px solid rgba(200,160,100,.25);box-shadow:0 2px #b0805026,0 8px 32px #78460a1a,inset 0 1px #ffffffe6}.pet-reading .wax-seal{background:radial-gradient(circle,#c88040,#8b4510);border:3px solid #e8a060}.pet-reading .letter-title{color:#6b3e20}.pet-reading .letter-text{color:#5a3a1a;line-height:2.4}.r-inner{max-width:640px;margin:0 auto}.r-header{text-align:center;margin-bottom:1.5rem}.r-header .icon{font-size:2rem;margin-bottom:.6rem}.r-header h2{font-family:"Noto Serif TC",serif;font-size:clamp(1.2rem,3.5vw,1.6rem);font-weight:700;line-height:1.5;margin-bottom:.4rem}body[data-lang=en] .r-header h2{font-family:Cormorant Garamond,serif}.r-header p{font-size:.95rem;color:var(--brown);opacity:.6}.r-card{background:var(--off);border-radius:16px;padding:1.2rem;margin-bottom:1rem;display:flex;gap:1rem;animation:cIn 1s ease both;border:1px solid rgba(228,180,162,.2);box-shadow:0 2px 20px #7a50400a}@keyframes cIn{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}.r-card-img{flex-shrink:0;width:70px;height:112px;border-radius:10px;object-fit:contain;box-shadow:0 4px 16px #5b3a6b24}.r-card-body .label{font-size:.72rem;color:var(--clay);letter-spacing:.18em;font-weight:700;text-transform:uppercase}.r-card-body .name{font-family:"Noto Serif TC",serif;font-size:1rem;font-weight:700;color:var(--deep);margin:.2rem 0 .5rem}.r-card-body .meaning{font-size:.88rem;line-height:1.8;color:var(--brown);letter-spacing:.01em}.channeling-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--off);z-index:200;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:1.6rem;transition:opacity .9s ease}.channeling-overlay.fade-out{opacity:0;pointer-events:none}.channeling-paw{font-size:4.8rem;animation:breathe 2s ease-in-out infinite;filter:drop-shadow(0 0 20px rgba(196,133,107,.4))}@keyframes breathe{0%,to{transform:scale(.88);opacity:.55}50%{transform:scale(1.08);opacity:1}}.channeling-text{font-family:"Noto Serif TC",serif;font-size:1.05rem;color:var(--brown);opacity:.65;letter-spacing:.12em;animation:fadeInSlow 1.2s ease both}body[data-lang=en] .channeling-text{font-family:Cormorant Garamond,serif;font-size:1.15rem}.channeling-dots{display:flex;gap:.55rem}.channeling-dots span{width:6px;height:6px;border-radius:50%;background:var(--clay);opacity:.4;animation:dotPulse 1.5s ease-in-out infinite}.channeling-dots span:nth-child(2){animation-delay:.3s}.channeling-dots span:nth-child(3){animation-delay:.6s}@keyframes dotPulse{0%,to{opacity:.2;transform:scale(.8)}50%{opacity:.9;transform:scale(1.2)}}@keyframes fadeInSlow{0%{opacity:0;transform:translateY(8px)}to{opacity:.65;transform:translateY(0)}}.letter-wrapper{position:relative;margin-top:1.8rem;margin-bottom:1.5rem;animation:cIn 1s ease .8s both}.letter-wrapper:before{content:“”;position:absolute;top:-16px;left:5%;width:90%;height:60px;background:#f0e2c8;clip-path:polygon(0% 100%,50% 0%,100% 100%);z-index:0}.wax-seal{position:absolute;top:-18px;left:50%;transform:translate(-50%);width:36px;height:36px;background:radial-gradient(circle,#c87840,#8b4510);border-radius:50%;z-index:2;box-shadow:inset 0 0 8px #50140066,0 3px 6px #00000026;display:flex;align-items:center;justify-content:center;border:2px solid #e09050}.wax-seal svg{width:16px;height:16px;stroke:#ffffffd9;stroke-width:1.5;fill:none}.letter-paper{position:relative;z-index:1;background:repeating-linear-gradient(to bottom,transparent,transparent 31px,rgba(180,160,130,.08) 31px,rgba(180,160,130,.08) 32px),#faf8f4;border-radius:0;padding:2rem;text-align:left;box-shadow:0 2px #b4a08226,0 8px 32px #6446141a,inset 0 1px #ffffffe6;border:1px solid rgba(200,180,140,.25);overflow:hidden}.letter-paper:before{content:“”;position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,#ff8a80,#ffb74d,#fff176,#a5d6a7,#80deea,#9fa8da,#ce93d8);border-radius:0;opacity:.3}.letter-paper:after{content:“☁ ✦ ☁”;position:absolute;top:10px;left:50%;transform:translate(-50%);font-size:.6rem;letter-spacing:.5em;color:#a078504d;pointer-events:none}.letter-title{font-family:“Noto Serif TC”,serif;font-size:.92rem;color:#a07040;opacity:.8;letter-spacing:.18em;text-transform:uppercase;margin-bottom:1rem;font-weight:400;text-align:center;padding-top:.4rem}body[data-lang=”en”] .letter-title{font-family:“Quicksand”,sans-serif}.letter-text{font-size:.98rem;line-height:2;color:#4a3520;white-space:pre-wrap;margin-bottom:1.2rem}.letter-footer{text-align:center;margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(160,100,40,.12)}.audio-play-btn{display:inline-flex;align-items:center;gap:.5rem;margin-top:1.4rem;padding:.55rem 1.3rem;background:transparent;border:1.5px solid rgba(196,133,107,.4);border-radius:50px;color:var(--clay);font-family:inherit;font-size:.88rem;font-weight:700;letter-spacing:.06em;cursor:pointer;transition:all .3s ease}.audio-play-btn:hover{background:#c4856b14;border-color:var(--clay)}.audio-play-btn .audio-icon{font-size:1rem}.audio-wave{display:inline-flex;align-items:center;gap:2px;height:14px;margin-left:2px}.audio-wave span{display:block;width:3px;border-radius:2px;background:var(--clay);animation:wavebar .8s ease-in-out infinite}.audio-wave span:nth-child(1){height:6px;animation-delay:0s}.audio-wave span:nth-child(2){height:12px;animation-delay:.15s}.audio-wave span:nth-child(3){height:8px;animation-delay:.3s}.audio-wave span:nth-child(4){height:4px;animation-delay:.45s}@keyframes wavebar{0%,to{transform:scaleY(.5);opacity:.5}50%{transform:scaleY(1.3);opacity:1}}.upgrade{margin-top:3.5rem;text-align:center;background:linear-gradient(180deg,var(--white) 0%,var(--off) 100%);border-radius:32px;padding:3rem 2rem;box-shadow:0 12px 60px #7a50400d;border:1px solid rgba(228,180,162,.15);animation:cIn .8s ease .6s both;overflow:hidden}.mockup-section{position:relative;margin:0 auto 2.5rem;padding:1rem 0}.mockup-glow{position:absolute;top:40%;left:50%;width:200px;height:200px;background:radial-gradient(circle,#e4b4a24d,#fff0 70%);transform:translate(-50%,-50%);z-index:0;border-radius:50%;animation:glowPulse 4s infinite ease-in-out}@keyframes glowPulse{0%,to{transform:translate(-50%,-50%) scale(1);opacity:.6}50%{transform:translate(-50%,-50%) scale(1.4);opacity:1}}.mockup-combo-stack{position:relative;width:280px;height:380px;margin:0 auto 1.5rem;z-index:1}.mockup-combo-card{position:absolute;width:150px;height:270px;border-radius:16px;overflow:hidden;box-shadow:0 12px 30px #4a2c2026;transition:transform .4s ease;background:var(--off);border:1px solid rgba(228,180,162,.4)}.mockup-combo-card img{width:100%;height:100%;object-fit:cover;opacity:.85}.mockup-combo-left{top:55px;left:0;transform:rotate(-10deg);z-index:1}.mockup-combo-right{top:55px;right:0;transform:rotate(10deg);z-index:2}.mockup-combo-stack:hover .mockup-combo-left{transform:rotate(-14deg) translate(-10px)}.mockup-combo-stack:hover .mockup-combo-right{transform:rotate(14deg) translate(10px)}.mockup-combo-center{position:absolute;width:175px;height:350px;top:0;left:50%;transform:translate(-50%);z-index:3;background:#111;border-radius:28px;padding:6px;box-shadow:0 24px 60px #4a2c2040,inset 0 0 10px #fff3;border:2px solid #ddd}.phone-notch{position:absolute;top:6px;left:50%;transform:translate(-50%);width:50px;height:16px;background:#111;border-radius:0 0 12px 12px;z-index:10}.phone-screen{width:100%;height:100%;background:var(--deep);border-radius:22px;overflow:hidden;position:relative}.phone-img-blur{position:absolute;top:-5%;left:-5%;width:110%;height:110%;object-fit:cover;filter:blur(12px);opacity:.8}.phone-img-main{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:contain;z-index:1;mask-image:linear-gradient(to bottom,#000 60%,#0000001a);-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,1) 60%,rgba(0,0,0,.1) 100%)}.phone-scan-line{position:absolute;top:0;left:0;width:100%;height:6px;background:linear-gradient(to bottom,#fff0,#ffffffb3,#fff0);z-index:4;animation:scanLine 3s linear infinite;opacity:.6}@keyframes scanLine{0%{top:-10%}to{top:110%}}.phone-magic-overlay{position:absolute;bottom:0;left:0;width:100%;height:50%;background:linear-gradient(to top,#4a2c20e6,#4a2c2000);z-index:4;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;padding-bottom:2rem;color:#fff}.pm-icon{font-size:1.4rem;animation:bounce 2s infinite ease-in-out}.pm-text{font-size:.8rem;font-weight:700;letter-spacing:.1em;margin-top:.3rem;opacity:.9;text-shadow:0 2px 4px rgba(0,0,0,.8)}.mockup-count-label{font-size:.85rem;color:var(--brown);opacity:.55;letter-spacing:.06em;text-align:center}.how-steps{display:flex;gap:0;margin:2rem 0;position:relative}.how-steps:before{content:"";position:absolute;top:22px;left:calc(50% / 3 + 16.5%);right:calc(50% / 3 + 16.5%);height:1px;background:linear-gradient(to right,var(--peach),var(--blush),var(--peach))}.how-step{flex:1;text-align:center;padding:0 .5rem}.how-step-num{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--clay),var(--blush));color:#fff;font-weight:700;font-size:1rem;display:flex;align-items:center;justify-content:center;margin:0 auto .7rem;box-shadow:0 4px 12px #c4856b4d}.how-step-text{font-size:.8rem;color:var(--brown);line-height:1.6}.section-label{font-size:.75rem;letter-spacing:.2em;color:var(--clay);opacity:.7;margin-bottom:1rem}.testimonials{display:grid;grid-template-columns:1fr;gap:.9rem;margin:0 0 2rem}.testimonial-card{background:var(--white);border-radius:16px;padding:1.3rem 1.4rem;text-align:left;border:1px solid rgba(228,180,162,.25);box-shadow:0 2px 12px #7a50400d}.testi-top{display:flex;align-items:center;gap:.7rem;margin-bottom:.8rem}.testi-avatar{font-size:1.6rem}.testi-meta .testi-name{font-size:.85rem;font-weight:700;color:var(--deep)}.testi-meta .testi-time{font-size:.72rem;color:var(--brown);opacity:.5}.testi-stars{color:#f5a623;font-size:.78rem;letter-spacing:.05em;margin-bottom:.5rem}.testi-text{font-size:.9rem;line-height:1.8;color:var(--brown)}.scarcity-wrap{background:#fff8f3;border-radius:14px;padding:1rem 1.2rem;margin:0 0 1.8rem;border:1px solid rgba(196,133,107,.15)}.scarcity-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:.6rem}.scarcity-label{font-size:.85rem;color:var(--deep);font-weight:700}.scarcity-label .icon{margin-right:.3rem}.scarcity-count{font-size:1.1rem;font-weight:900;color:#d44c4c;font-family:"Noto Serif TC",serif}.scarcity-track{height:8px;background:#eed8cc;border-radius:99px;overflow:hidden;margin-bottom:.5rem}.scarcity-fill{height:100%;background:linear-gradient(to right,var(--clay),#d44c4c);border-radius:99px;transition:width 1s ease}.scarcity-note{font-size:.74rem;color:var(--brown);opacity:.5}.price-block{margin:0 0 .8rem}.price-original{font-size:1rem;color:var(--brown);opacity:.4;text-decoration:line-through;margin-bottom:.2rem}.u-price{font-family:"Noto Serif TC",serif;font-size:3rem;font-weight:900;line-height:1;color:var(--deep);margin-bottom:.2rem}.u-price .c{font-size:1rem;vertical-align:super;margin-right:2px}.price-tag{display:inline-block;background:linear-gradient(135deg,#d44c4c,#e87070);color:#fff;font-size:.72rem;font-weight:700;padding:.2rem .7rem;border-radius:99px;letter-spacing:.08em;margin-bottom:.4rem}.u-pnote{font-size:.85rem;color:var(--brown);opacity:.5;margin-bottom:1.5rem}.guarantee{display:inline-flex;align-items:center;gap:.5rem;font-size:.82rem;color:var(--brown);opacity:.65;background:#a8b5a01a;border:1px solid rgba(168,181,160,.3);border-radius:50px;padding:.35rem 1rem;margin-bottom:1.8rem}.u-items{display:flex;flex-direction:column;gap:.75rem;margin-bottom:2rem;text-align:left;max-width:360px;margin-left:auto;margin-right:auto}.u-item{display:flex;align-items:center;gap:.75rem;font-size:.95rem;color:var(--brown)}.u-item .ck{color:var(--sage);font-weight:700;font-size:1.1rem;flex-shrink:0}.u-form{margin-top:2rem;text-align:left}.uf-g{margin-bottom:1.3rem}.uf-g label{display:block;font-size:.9rem;font-weight:700;color:var(--deep);margin-bottom:.5rem}.uf-g label .opt{font-weight:400;opacity:.5;font-size:.8rem}.uf-g input,.uf-g textarea{width:100%;padding:.9rem 1.2rem;font-family:inherit;font-size:1rem;border:1.5px solid var(--peach);border-radius:12px;background:var(--white);color:var(--deep);outline:none;transition:border-color .3s,box-shadow .3s}.uf-g input:focus,.uf-g textarea:focus{border-color:var(--clay);box-shadow:0 0 0 3px #c4856b1f}.uf-g textarea{min-height:90px;resize:none}.uf-hint{font-size:.78rem;color:var(--brown);opacity:.45;margin-top:.3rem}.sub-btn{width:100%;padding:1.1rem;background:linear-gradient(135deg,var(--clay),var(--blush));color:#fff;font-family:"Noto Serif TC",serif;font-size:1.1rem;font-weight:700;letter-spacing:.1em;border:none;border-radius:14px;cursor:pointer;transition:all .3s;box-shadow:0 6px 25px #c4856b59;margin-top:.5rem}.sub-btn:hover{transform:translateY(-2px);box-shadow:0 10px 35px #c4856b80}.uf-footer{text-align:center;margin-top:1rem;font-size:.78rem;color:var(--brown);opacity:.45;line-height:1.6}.o-done{text-align:center;padding:2.5rem 0}.o-done .bi{font-size:3.5rem;margin-bottom:1.2rem}.o-done h3{font-family:"Noto Serif TC",serif;font-size:1.4rem;font-weight:700;margin-bottom:1.2rem}.o-done p{font-size:1rem;line-height:2;color:var(--brown);opacity:.8}.reading-cta-wrap{margin-top:3rem;display:flex;flex-direction:column;align-items:center;gap:1rem;padding-bottom:3rem}.btn-cta-main{position:relative;overflow:hidden;width:100%;padding:1.1rem 1.6rem 1rem;border:none;border-radius:16px;background:linear-gradient(135deg,#c86828,#e07830);color:#fff;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:.28rem;box-shadow:0 4px 18px #b45a1447;transition:transform .2s ease,box-shadow .2s ease}.btn-cta-main:hover{transform:translateY(-2px);box-shadow:0 8px 28px #b45a1461}.btn-cta-main:active{transform:translateY(0);box-shadow:0 2px 10px #b45a1433}.btn-cta-shine{position:absolute;top:0;left:-80%;width:50%;height:100%;background:linear-gradient(120deg,transparent,rgba(255,255,255,.14),transparent);animation:ctaShine 3.5s ease 1.2s forwards;pointer-events:none}@keyframes ctaShine{0%{left:-80%}to{left:160%}}.btn-cta-text{font-family:"Noto Serif TC",serif;font-size:.95rem;font-weight:700;letter-spacing:.02em;line-height:1.5;position:relative}body[data-lang=en] .btn-cta-text{font-family:Quicksand,sans-serif;font-size:.9rem}.btn-cta-sub{font-size:.72rem;opacity:.78;letter-spacing:.05em;font-weight:400;position:relative}.btn-restart{background:none;border:none;color:var(--clay);opacity:.45;font-size:.82rem;letter-spacing:.1em;cursor:pointer;padding:.4rem 1rem;transition:opacity .2s;font-family:inherit}.btn-restart:hover{opacity:.75}.bot-actions{margin-top:2.5rem;display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.site-footer{position:relative;z-index:1;text-align:center;padding:3rem 1.5rem;background:var(--deep);color:var(--peach)}.site-footer .fn{font-family:"Noto Serif TC",serif;font-size:1.3rem;font-weight:700;letter-spacing:.1em;margin-bottom:.4rem}.site-footer p{font-size:.82rem;opacity:.5;line-height:1.8}.site-footer .fl{margin-top:1rem;display:flex;justify-content:center;gap:2rem}.site-footer .fl a{color:var(--peach);text-decoration:none;font-size:.85rem;opacity:.6;transition:opacity .3s}.site-footer .fl a:hover{opacity:1}@media (min-width: 560px){.testimonials{grid-template-columns:1fr 1fr 1fr}.how-steps:before{display:block}}@media (max-width: 559px){.r-card{flex-direction:column;align-items:center;text-align:center}.upgrade{padding:2.2rem 1.3rem}.q-title{font-size:1.05rem}.q-sub{font-size:.88rem}.q-input,.q-textarea{font-size:.95rem;padding:.9rem 1.1rem}.btn-sm{font-size:.95rem;padding:.8rem 1.8rem}.how-steps:before{display:none}}@media (min-width: 768px){.r-inner{max-width:640px}.r-header h2{font-size:1.8rem;margin-bottom:.8rem}.r-header p{font-size:.95rem}.r-card{padding:1.5rem;gap:1.5rem}.r-card-img{width:100px;height:160px}.pet-reading .r-card-img{width:130px;height:208px}.r-card-body .label{font-size:.8rem;margin-bottom:.5rem}.r-card-body .name{font-size:1.3rem;margin-bottom:.8rem}.r-card-body .meaning{font-size:.95rem;line-height:1.8}.letter-wrapper{margin-top:3rem}.letter-paper{padding:4rem 3rem 3rem}.letter-text{font-size:1.15rem;line-height:2.2}.upgrade{margin-top:4rem;padding:3.5rem 3rem}.upgrade .sp{font-size:4rem;margin-bottom:1rem}.upgrade h3{font-size:2.2rem;margin-bottom:2rem}.section-label{font-size:.9rem;margin-top:2.5rem;margin-bottom:1.5rem}.how-step{padding:0 1rem}.how-step-num{width:36px;height:36px;font-size:1.2rem;margin-bottom:1rem}.how-step-text{font-size:1.15rem;line-height:1.8}.mockup-combo-stack{transform:scale(1.2);margin:3rem auto 4rem}.mockup-count-label{font-size:1.1rem;margin-top:2rem}.u-item{font-size:1.25rem;line-height:1.8}.u-item .ck{font-size:1.2rem;margin-right:1.2rem}.price-block{margin:2rem 0 1.5rem}.price-original{font-size:1.6rem;margin-bottom:.5rem}.u-price{font-size:5.5rem;margin-bottom:1rem}.u-price .c{font-size:2rem}.price-tag{font-size:1rem;padding:.4rem 1rem;margin-bottom:1rem}.u-pnote{font-size:1.35rem}.testi-name{font-size:1.15rem}.testi-time{font-size:.9rem}.testi-text{font-size:1.05rem;line-height:1.8}.u-form{padding:2.5rem}.uf-g label{font-size:1.15rem;margin-bottom:.6rem}.uf-g input,.uf-g select{font-size:1.2rem;padding:1rem 1.2rem}.uf-g textarea{font-size:1.2rem;padding:1.2rem}.uf-hint{font-size:1rem}.bot-actions .btn-ghost{font-size:1.25rem}}.solana-payment{background:linear-gradient(135deg,#0f0824,#1a0a2e);border:1px solid rgba(161,100,255,.3);border-radius:20px;padding:2rem 1.5rem;color:#e8d5ff;text-align:center;margin-top:1.5rem}.sol-title{font-size:1.2rem;font-weight:700;color:#c9a7ff;margin-bottom:1.5rem;letter-spacing:.05em}.sol-banner{border-radius:10px;padding:.75rem 1.2rem;font-size:.92rem;font-weight:600;margin-bottom:1.2rem}.sol-expired{background:#d9534f33;color:#ff8080;border:1px solid rgba(217,83,79,.4)}.sol-confirming{background:#5cb85c26;color:#7fff7f;border:1px solid rgba(92,184,92,.3)}.sol-done{background:#5cb85c33;color:#7fff7f;border:1px solid rgba(92,184,92,.4)}.sol-failed{background:#d9534f33;color:#ff8080;border:1px solid rgba(217,83,79,.4)}.sol-label{font-size:.78rem;color:#c8aaff99;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.6rem}.sol-qr-wrap{margin-bottom:1.5rem}.sol-qr{display:inline-block;background:#fff;padding:12px;border-radius:12px;box-shadow:0 0 30px #a164ff40}.sol-copy-row{margin-bottom:1.5rem}.sol-copy-field{display:flex;align-items:center;gap:.5rem;background:#ffffff0d;border:1px solid rgba(161,100,255,.2);border-radius:10px;padding:.5rem .75rem;text-align:left}.sol-url{flex:1;font-size:.68rem;word-break:break-all;color:#c9a7ff;font-family:monospace;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.sol-copy-btn{flex-shrink:0;background:#a164ff40;border:1px solid rgba(161,100,255,.4);color:#c9a7ff;border-radius:6px;padding:.35rem .8rem;font-size:.78rem;font-weight:600;cursor:pointer;transition:background .2s}.sol-copy-btn:hover{background:#a164ff73}.sol-details{background:#ffffff0a;border:1px solid rgba(161,100,255,.15);border-radius:12px;padding:1rem;margin-bottom:1rem;text-align:left}.sol-detail-row{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem;padding:.4rem 0;font-size:.85rem;border-bottom:1px solid rgba(255,255,255,.05)}.sol-detail-row:last-child{border-bottom:none}.sol-detail-label{color:#c8aaff8c;flex-shrink:0}.sol-detail-value{color:#e8d5ff;text-align:right;word-break:break-all}.sol-wallet-addr{font-family:monospace;font-size:.72rem;display:flex;align-items:center;gap:.3rem;justify-content:flex-end}.sol-inline-copy{background:none;border:none;cursor:pointer;font-size:.9rem;padding:0;opacity:.6;flex-shrink:0}.sol-inline-copy:hover{opacity:1}.sol-wallet-hint{font-size:.75rem;color:#c8aaff73;margin-bottom:1rem}.sol-waiting{font-size:.85rem;color:#c8aaff99;display:flex;align-items:center;justify-content:center;gap:.5rem}.sol-spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(161,100,255,.3);border-top-color:#c9a7ff;border-radius:50%;animation:solSpin 1s linear infinite}@keyframes solSpin{to{transform:rotate(360deg)}}.memorial-done{display:flex;flex-direction:column;align-items:center;gap:1.2rem;padding:1rem 0 2rem}.memorial-done-icon{font-size:2.4rem;margin-bottom:.2rem}.memorial-done-header{text-align:center}.memorial-done-header h3{font-size:1.2rem;font-weight:700;color:var(--brown, #5a3820);margin:0 0 .5rem}.memorial-done-sub{font-size:.88rem;color:var(--brown, #5a3820);opacity:.65;line-height:1.6;margin:0}.memorial-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;width:100%}@media (max-width: 480px){.memorial-gallery{grid-template-columns:1fr;max-width:320px}}.memorial-gallery-item{display:flex;flex-direction:column;align-items:center;gap:6px}.memorial-gallery-item img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px;box-shadow:0 4px 16px #5a38202e}.memorial-dl-btn{font-size:.78rem;color:var(--clay, #c46020);text-decoration:none;opacity:.75;padding:2px 8px;border-radius:20px;border:1px solid var(--clay, #c46020);transition:opacity .2s}.memorial-dl-btn:hover{opacity:1}.memorial-share-btn{display:flex;align-items:center;gap:10px;background:linear-gradient(135deg,#e07820,#c45020);color:#fff;border:none;border-radius:28px;padding:14px 32px;font-size:1rem;font-weight:600;cursor:pointer;box-shadow:0 4px 20px #c450204d;transition:transform .15s,box-shadow .15s}.memorial-share-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 24px #c4502066}.memorial-share-btn:disabled{opacity:.6;cursor:default}.memorial-share-icon{display:flex;align-items:center}.memorial-share-status{font-size:.85rem;color:var(--clay, #c46020);margin:0}.share-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a061cd1;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:200;display:flex;align-items:center;justify-content:center;padding:1.5rem}.share-modal{background:#fdf6e8;border-radius:20px;padding:1.5rem 1.25rem 1.75rem;max-width:360px;width:100%;position:relative;display:flex;flex-direction:column;align-items:center;gap:1rem;box-shadow:0 20px 60px #0006}.share-modal-close{position:absolute;top:12px;right:14px;background:none;border:none;font-size:1rem;cursor:pointer;color:#5a382073;line-height:1;padding:4px}.share-modal-close:hover{color:#5a3820cc}.share-modal-close:active{transform:scale(.9)}.share-modal-title{font-size:.95rem;font-weight:600;color:var(--brown, #5a3820);margin:0}.share-modal-preview{width:100%;max-height:min(68vh,640px);object-fit:contain;border-radius:12px;background:linear-gradient(160deg,#fff,#fdf9f4 60%,#faf6ee);border:1px solid rgba(200,160,100,.22);box-shadow:0 4px 20px #5a382026}.share-modal-actions{display:flex;gap:10px;width:100%}.share-modal-btn{flex:1;padding:11px 0;border-radius:24px;font-size:.9rem;font-weight:600;cursor:pointer;text-align:center;text-decoration:none;border:none;transition:opacity .18s,transform .15s}.share-modal-btn:hover{opacity:.85;transform:translateY(-1px)}.share-modal-btn:active{transform:scale(.95);opacity:1}.share-modal-btn-dl{background:var(--clay, #c46020);color:#fff}.share-modal-btn-share{background:linear-gradient(135deg,#833ab4,#fd1d1d,#fcb045);color:#fff}.share-modal-hint{font-size:.76rem;color:var(--brown, #5a3820);opacity:.5;text-align:center;line-height:1.6;margin:0}.btn-share-ig{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px 20px;background:transparent;border:1px solid rgba(196,96,32,.35);border-radius:24px;color:var(--clay, #c46020);font-size:.88rem;font-weight:500;cursor:pointer;transition:background .18s,border-color .18s,transform .15s;letter-spacing:.02em}.btn-share-ig:hover:not(:disabled){background:#c460200f;border-color:#c4602099;transform:translateY(-1px)}.btn-share-ig:disabled{opacity:.5;cursor:default}.memorial-share-hint{font-size:.78rem;color:var(--brown, #5a3820);opacity:.5;text-align:center;line-height:1.6;margin:0;max-width:320px}
