*{touch-action:manipulation}.pet-loading-spinner{width:50px;height:50px;margin:0 auto;border:3px solid rgba(212,175,55,.2);border-top-color:#d4af37;border-radius:50%;animation:spin 1s linear infinite}#pet-loading.hidden{display:none}.temple-header{position:fixed;top:0;left:0;right:0;z-index:10000;background:linear-gradient(180deg,rgba(0,0,0,.3) 0%,transparent 100%);backdrop-filter:blur(10px);pointer-events:none}.header-container{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;max-width:1200px;margin:0 auto}.header-left,.header-center,.header-right{flex:1;display:flex;align-items:center}.header-left{justify-content:flex-start;pointer-events:auto}.header-center{justify-content:center;pointer-events:auto}.header-right{justify-content:flex-end}.return-link{pointer-events:auto}.header-logo{height:40px;width:auto;-o-object-fit:contain;object-fit:contain;filter:drop-shadow(0 2px 8px rgba(0,0,0,.3))}@media(max-width:768px){.header-container{padding:12px 16px}.header-logo{height:36px}.return-link{padding:5px 10px!important;gap:4px!important}.return-link span{font-size:12px!important;letter-spacing:.1em!important}.return-link i{width:16px!important;height:16px!important}}@media(max-width:480px){.header-container{padding:10px 12px}.header-logo{height:32px}.return-link{padding:4px 8px!important;gap:3px!important}.return-link span{font-size:11px!important;letter-spacing:.05em!important}.return-link i{width:14px!important;height:14px!important}}#initial-choice{animation:fadeIn .5s ease;pointer-events:auto}#initial-choice.hidden{display:none}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}#pet-selection.hidden,#no-login-hint.hidden{display:none}.login-btn{display:flex;align-items:center;justify-content:center;gap:8px;margin:0 auto;padding:14px 36px;background:linear-gradient(135deg,#d4af37,#b8941f);color:#2d1810;border:none;border-radius:25px;font-size:16px;font-weight:700;letter-spacing:2px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 20px #d4af3766,0 0 30px #d4af3733;font-family:Iansui,"Noto Serif TC",serif}.login-btn:hover{background:linear-gradient(135deg,#e0bb4a,#c9a430);transform:translateY(-2px);box-shadow:0 6px 20px #d4af3780}.login-btn:active{transform:translateY(1px);box-shadow:0 2px 10px #d4af3766}.pet-carousel{display:flex;align-items:center;justify-content:center;gap:16px;padding:0 16px}.pet-carousel-container{display:flex;justify-content:center;align-items:center;min-width:160px;min-height:200px}.pet-nav-btn{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#d4af3733,#b8941f26);border:2px solid rgba(212,175,55,.4);color:#d4af37;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;flex-shrink:0}.pet-nav-btn:hover{background:linear-gradient(135deg,#d4af3759,#b8941f4d);border-color:#d4af37b3;transform:scale(1.1)}.pet-nav-btn:active{transform:scale(.95)}.pet-nav-btn:disabled{opacity:.3;cursor:not-allowed;transform:none}.pet-nav-btn svg{width:24px;height:24px}.pet-nav-btn.hidden{visibility:hidden}.pet-dots{display:flex;justify-content:center;gap:10px;margin-top:20px}.pet-dot{width:10px;height:10px;border-radius:50%;background:#d4af374d;border:1px solid rgba(212,175,55,.4);cursor:pointer;transition:all .3s ease}.pet-dot:hover{background:#d4af3780}.pet-dot.active{background:#d4af37;transform:scale(1.2);box-shadow:0 0 10px #d4af3780}.pet-dots.hidden{display:none}.pet-card{display:flex;flex-direction:column;align-items:center;justify-content:center;width:170px;height:240px;padding:20px;background:linear-gradient(135deg,#1a0a05e6,#0a0503e6);border:3px solid #d4af37;border-radius:24px;backdrop-filter:blur(10px);box-shadow:0 0 30px #d4af3766,0 8px 32px #0000004d;animation:cardFadeIn .3s ease}@keyframes cardFadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.pet-avatar{width:110px;height:110px;border-radius:50%;background:linear-gradient(135deg,#d4af3733,#b8941f26);display:flex;align-items:center;justify-content:center;margin-bottom:14px;border:3px solid rgba(212,175,55,.6);overflow:hidden;flex-shrink:0;position:relative;box-shadow:0 4px 16px #d4af374d}.pet-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:50%;position:absolute;top:0;left:0;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}.pet-avatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#d4af37,#b8941f);color:#2d1810;font-size:28px;font-weight:700;border-radius:50%}.pet-name{color:#f5e6d3;font-size:18px;font-weight:700;letter-spacing:1px;text-align:center;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pet-birthday{color:#d4af37b3;font-size:14px;margin-top:5px;letter-spacing:.5px;white-space:nowrap}.start-fortune-btn{padding:16px 56px;background:linear-gradient(135deg,#d4af37,#b8941f);color:#2d1810;border:none;border-radius:30px;font-size:20px;font-weight:700;letter-spacing:3px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 20px #d4af3766,0 0 30px #d4af3733;font-family:Iansui,"Noto Serif TC",serif}.start-fortune-btn:hover{background:linear-gradient(135deg,#e0bb4a,#c9a430);transform:translateY(-3px);box-shadow:0 8px 30px #d4af3780,0 0 40px #d4af374d}.start-fortune-btn:active{transform:translateY(1px);box-shadow:0 2px 10px #d4af3766}@media(max-width:768px){.pet-carousel{gap:12px}.pet-nav-btn{width:40px;height:40px}.pet-nav-btn svg{width:20px;height:20px}.pet-card{width:155px;height:220px;padding:16px;border-radius:20px}.pet-avatar{width:95px;height:95px}.pet-avatar-placeholder{font-size:24px}.pet-name{font-size:16px;max-width:135px}.start-fortune-btn{padding:14px 48px;font-size:18px}}.result-board{position:absolute;top:80px;left:50%;transform:translate(-50%);opacity:0;text-align:center;pointer-events:none;transition:opacity .3s ease}.result-board.show{opacity:1}.result-name{font-size:72px;font-weight:900;display:block;margin-bottom:0;letter-spacing:8px;text-shadow:0 0 30px currentColor;font-family:Iansui,"Noto Serif TC",serif}.result-description{font-size:28px;font-weight:700;display:block;margin-top:8px;opacity:.8;color:#d4af37;letter-spacing:4px}.fortune-question{position:fixed;top:100px;left:50%;transform:translate(-50%);pointer-events:auto;z-index:100;display:flex;flex-direction:column;align-items:center;transition:all .3s ease}.fortune-question.hidden{display:none}.fortune-question span{font-size:28px;font-weight:700;color:#d4af37;letter-spacing:6px;text-shadow:0 2px 10px rgba(0,0,0,.6),0 0 30px rgba(212,175,55,.4);font-family:Iansui,"Noto Serif TC",serif;line-height:1.6;text-align:center;white-space:nowrap;padding:16px 32px;background:linear-gradient(135deg,#1a0a05d9,#0a0503e6);border-radius:16px;backdrop-filter:blur(10px)}@media(max-width:768px){.fortune-question{top:80px}.fortune-question span{font-size:22px;letter-spacing:4px;padding:12px 24px}}.pray-loading{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;background:#0a0503f2;backdrop-filter:blur(10px);pointer-events:auto}.pray-loading.hidden{display:none}.pray-loading-content{display:flex;flex-direction:column;align-items:center;text-align:center;padding:40px;animation:prayFadeInUp .5s ease-out}@keyframes prayFadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.pray-loading-icon{width:120px;height:120px;margin-bottom:32px;animation:prayPulse 1.5s ease-in-out infinite}@keyframes prayPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}.pray-loading-text{font-size:22px;font-weight:500;color:#d4af37;letter-spacing:4px;font-family:Iansui,"Noto Serif TC",serif;margin:8px 0;text-shadow:0 2px 10px rgba(0,0,0,.5)}.pray-ready-btn{margin-top:32px;padding:16px 48px;font-size:22px;font-weight:700;color:#1a0a05;background:linear-gradient(135deg,#d4af37,#f5d76e,#d4af37);border:none;border-radius:30px;font-family:Iansui,"Noto Serif TC",serif;letter-spacing:4px;cursor:pointer;box-shadow:0 4px 20px #d4af3766;transition:all .3s ease}.pray-ready-btn:hover{transform:scale(1.05);box-shadow:0 6px 30px #d4af3799}.pray-ready-btn:active{transform:scale(.98)}@media(max-width:768px){.pray-loading-icon{width:100px;height:100px;margin-bottom:24px}.pray-loading-text{font-size:18px;letter-spacing:3px}.pray-ready-btn{padding:14px 40px;font-size:18px;margin-top:24px}}.throw-button{position:fixed;bottom:30px;right:30px;width:90px;height:90px;background:linear-gradient(135deg,#d00,#800);color:#fceea7;border:3px solid #d4af37;border-radius:50%;font-size:28px;font-weight:700;cursor:pointer;box-shadow:0 4px 20px #dd000080,0 0 30px #d4af374d;transition:all .2s;letter-spacing:2px;display:none;align-items:center;justify-content:center;text-align:center;line-height:1.2;outline:none;font-family:Iansui,"Noto Serif TC",serif;pointer-events:auto;z-index:15}.throw-button:hover{background:linear-gradient(135deg,#e11,#900);transform:translateY(-4px);box-shadow:0 8px 30px #d009,0 0 40px #d4af3780}.throw-button:active{transform:translateY(2px);box-shadow:0 2px 10px #d006}.throw-button.disabled{opacity:.5;cursor:not-allowed}.hint{position:absolute;bottom:30px;color:#d4af3799;font-weight:700;letter-spacing:2px;font-size:13px}.custom-modal{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;pointer-events:none}.custom-modal.show{display:flex;pointer-events:auto}.modal-overlay{position:absolute;inset:0;background:#000000d9;backdrop-filter:blur(12px);animation:fadeIn .3s ease-out}.modal-content{position:relative;background:linear-gradient(135deg,#1a0a05bf,#0a0503bf);backdrop-filter:blur(30px);border:2px solid #d4af37;border-radius:40px;padding:50px 40px;max-width:450px;width:90%;box-shadow:0 20px 60px #0009,0 0 40px #d4af374d,inset 0 1px 1px #ffffff1a;animation:modalSlideIn .4s cubic-bezier(.68,-.55,.265,1.55);text-align:center}.modal-title{font-size:32px;color:#d4af37;font-weight:700;margin-bottom:20px;letter-spacing:4px;font-family:Iansui,"Noto Serif TC",serif;text-shadow:0 2px 8px rgba(212,175,55,.6),0 0 20px rgba(212,175,55,.3)}.modal-message{font-size:19px;color:#f5e6d3;line-height:2;margin-bottom:35px;font-family:Iansui,"Noto Serif TC",serif;letter-spacing:1.5px;white-space:pre-line;text-shadow:0 1px 2px rgba(0,0,0,.5)}.modal-button{background:linear-gradient(135deg,#d4af37,#b8941f);color:#2d1810;border:2px solid #d4af37;border-radius:20px;padding:14px 50px;font-size:18px;font-weight:700;cursor:pointer;font-family:Iansui,"Noto Serif TC",serif;letter-spacing:3px;box-shadow:0 4px 15px #d4af3766,0 0 20px #d4af3733,inset 0 1px 1px #ffffff4d;transition:all .3s ease;outline:none}.modal-button:hover{background:linear-gradient(135deg,#e0bb4a,#c9a430);transform:translateY(-3px);box-shadow:0 8px 25px #d4af3799,0 0 30px #d4af3766,inset 0 1px 1px #fff6}.modal-button:active{transform:translateY(-1px);box-shadow:0 4px 12px #d4af3780,0 0 15px #d4af374d}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.8) translateY(-30px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes iconPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@media(max-width:768px){.modal-content{padding:30px 20px;max-width:350px}.modal-title{font-size:24px;letter-spacing:2px}.modal-message{font-size:16px;margin-bottom:25px}.modal-button{padding:10px 35px;font-size:16px}}.credit-link{position:absolute;bottom:8px;left:8px}.credit-anchor{display:inline-block;text-decoration:none;color:#d4af3740;font-size:8px;font-weight:300;letter-spacing:.2px;transition:all .3s ease;padding:2px 6px;border-radius:4px;background:#0000001a;backdrop-filter:blur(2px);border:1px solid rgba(212,175,55,.08)}.credit-anchor:hover{color:#d4af3799;background:#d4af370d;border-color:#d4af3733;transform:translateY(-1px)}.credit-text{display:inline-block}@media(max-width:768px){.result-name{font-size:56px;letter-spacing:4px}.result-description{font-size:22px}.throw-button{width:75px;height:75px;font-size:22px;bottom:30px;right:20px}.hint{font-size:12px;bottom:30px;padding:0 20px;text-align:center}.credit-link{bottom:6px;left:6px}.credit-anchor{font-size:7px;padding:2px 4px}}.fortune-modal{position:fixed;inset:0;z-index:10001;opacity:0;pointer-events:none;transition:opacity .3s ease;display:flex;align-items:center;justify-content:center;padding:20px}.fortune-modal.show{opacity:1;pointer-events:auto}.fortune-content{position:relative;padding:40px 20px;max-width:400px;width:90%;animation:fortuneSlideIn .5s cubic-bezier(.68,-.55,.265,1.55);text-align:center}@keyframes fortuneSlideIn{0%{transform:scale(.7) translateY(50px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.fortune-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px}.fortune-loading.hidden{display:none}.fortune-container-img{width:150px;height:auto;animation:shakeContainer .5s ease-in-out infinite;filter:drop-shadow(0 8px 20px rgba(0,0,0,.4))}@keyframes shakeContainer{0%,to{transform:rotate(-8deg) translateY(0)}25%{transform:rotate(8deg) translateY(-5px)}50%{transform:rotate(-6deg) translateY(0)}75%{transform:rotate(6deg) translateY(-3px)}}.fortune-stick-loading-img{height:200px;width:auto;animation:stickFloat 1.5s ease-in-out infinite;filter:drop-shadow(4px 4px 12px rgba(0,0,0,.5));transform-origin:bottom center}@keyframes stickFloat{0%,to{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-15px) rotate(3deg)}}.fortune-loading-text{margin-top:20px;color:#d4af37;font-size:18px;font-weight:700;letter-spacing:3px;font-family:Iansui,"Noto Serif TC",serif;text-shadow:0 2px 8px rgba(212,175,55,.6);animation:textPulse 1s ease-in-out infinite;min-width:120px;text-align:center}@keyframes textPulse{0%,to{opacity:1}50%{opacity:.6}}.fortune-image-container.hidden{display:none}.fortune-interpret-btn{position:fixed;bottom:30px;right:30px;background:linear-gradient(135deg,#d4af37,#b8941f);color:#2d1810;border:2px solid #d4af37;border-radius:20px;padding:12px 24px;font-size:16px;font-weight:700;cursor:pointer;font-family:Iansui,"Noto Serif TC",serif;letter-spacing:2px;box-shadow:0 4px 15px #d4af3766,0 0 20px #d4af3733;transition:all .3s ease;z-index:10002}.fortune-interpret-btn:hover{background:linear-gradient(135deg,#e0bb4a,#c9a430);transform:translateY(-2px);box-shadow:0 6px 20px #d4af3780,0 0 25px #d4af374d}.fortune-interpret-btn:active{transform:translateY(0)}.fortune-interpret-btn.showing-interpretation{background:linear-gradient(135deg,#d00,#800);border-color:#d00;color:#fceea7;box-shadow:0 4px 15px #d006,0 0 20px #d003}.fortune-interpret-btn.showing-interpretation:hover{background:linear-gradient(135deg,#e11,#900);box-shadow:0 6px 20px #dd000080,0 0 25px #dd00004d}@media(max-width:480px){.fortune-interpret-btn{bottom:20px;right:20px;padding:10px 18px;font-size:14px}}.coupon-toggle-btn{position:fixed;top:50%;right:-2px;transform:translateY(-50%);padding:14px 10px 14px 16px;background:linear-gradient(145deg,#8b0000,#5c0000,#3d0000);border:2px solid rgba(212,175,55,.6);border-right:none;border-radius:20px 0 0 20px;color:#d4af37;display:flex;align-items:center;gap:6px;cursor:pointer;transition:all .4s cubic-bezier(.25,.8,.25,1);box-shadow:-3px 3px 12px #00000080,inset 0 1px #ffffff1a,0 0 15px #d4af3733;z-index:100;animation:giftPulse 3s ease-in-out infinite}.coupon-toggle-btn:before{content:"";position:absolute;inset:0;border-radius:20px 0 0 20px;background:linear-gradient(145deg,rgba(255,255,255,.1) 0%,transparent 50%);pointer-events:none}@keyframes giftPulse{0%,to{box-shadow:-3px 3px 12px #00000080,inset 0 1px #ffffff1a,0 0 15px #d4af3733}50%{box-shadow:-3px 3px 12px #00000080,inset 0 1px #ffffff1a,0 0 25px #d4af3780,0 0 40px #d4af3733}}.coupon-toggle-btn:hover{right:0;padding-right:14px;background:linear-gradient(145deg,#a50000,#6d0000,#4a0000);box-shadow:-5px 5px 20px #0009,inset 0 1px #ffffff26,0 0 30px #d4af3799;animation:none}.coupon-toggle-btn:active{transform:translateY(-50%) scale(.96)}.coupon-toggle-btn svg{width:24px;height:24px;filter:drop-shadow(0 2px 3px rgba(0,0,0,.3))}.coupon-toggle-btn .coupon-arrow{width:16px;height:16px;opacity:.8;animation:arrowBounce 1.5s ease-in-out infinite}@keyframes arrowBounce{0%,to{transform:translate(0);opacity:.8}50%{transform:translate(3px);opacity:1}}@media(max-width:768px){.coupon-toggle-btn{padding:12px 8px 12px 14px}.coupon-toggle-btn svg{width:22px;height:22px}.coupon-toggle-btn .coupon-arrow{width:14px;height:14px}}@media(max-width:480px){.coupon-toggle-btn{top:50%;transform:translateY(-50%);padding:10px 6px 10px 12px;border-radius:16px 0 0 16px}.coupon-toggle-btn svg{width:20px;height:20px}.coupon-toggle-btn:hover{padding-right:10px}.coupon-toggle-btn:active{transform:translateY(-50%) scale(.95)}}.coupon-overlay{position:fixed;inset:0;z-index:10001;background:#0009;opacity:0;visibility:hidden;transition:all .3s ease;pointer-events:none}.coupon-overlay.show{opacity:1;visibility:visible;pointer-events:auto}.coupon-panel{position:fixed;right:0;top:0;bottom:0;z-index:10002;width:360px;max-width:90vw;background:linear-gradient(135deg,#1a0a05fa,#0a0503fa);border-left:2px solid rgba(212,175,55,.5);transform:translate(100%);transition:transform .4s cubic-bezier(.4,0,.2,1);pointer-events:auto;overflow-y:auto}.coupon-panel.show{transform:translate(0)}.coupon-panel-content{padding:80px 24px 40px;display:flex;flex-direction:column;align-items:center}.coupon-close-btn{position:absolute;top:20px;left:20px;width:40px;height:40px;background:#d4af3726;border:2px solid rgba(212,175,55,.4);border-radius:50%;color:#d4af37;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease}.coupon-close-btn:hover{background:#d4af3740;border-color:#d4af37b3;transform:scale(1.1)}.coupon-close-btn:active{transform:scale(.95)}.coupon-close-btn svg{width:20px;height:20px}.coupon-panel-title{color:#d4af37;font-size:24px;font-weight:700;text-align:center;margin-bottom:8px;letter-spacing:3px;font-family:Iansui,"Noto Serif TC",serif}.coupon-panel-subtitle{color:#fceea7;font-size:14px;text-align:center;margin-bottom:30px;opacity:.8}.coupon-display{width:100%;display:flex;flex-direction:column;align-items:center;gap:20px}.coupon-image{width:80%;max-width:280px;border-radius:16px;box-shadow:0 8px 30px #00000080,0 0 20px #d4af3733}.coupon-copy-btn{margin-top:28px;display:flex;align-items:center;justify-content:center;gap:10px;padding:16px 40px;background:linear-gradient(135deg,#d00,#a00,#800);border:none;border-radius:50px;color:#fceea7;font-size:18px;font-weight:700;letter-spacing:4px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);font-family:Iansui,"Noto Serif TC",serif;box-shadow:0 4px 15px #d006,0 0 30px #d4af3733,inset 0 1px #fff3;position:relative;overflow:hidden}.coupon-copy-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.coupon-copy-btn:hover:before{left:100%}.coupon-copy-btn:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 8px 30px #dd000080,0 0 50px #d4af3766,inset 0 1px #ffffff4d;background:linear-gradient(135deg,#e11,#b00,#900)}.coupon-copy-btn:active{transform:translateY(-1px) scale(.98);box-shadow:0 2px 10px #d006,0 0 20px #d4af3733}.coupon-copy-btn svg{width:20px;height:20px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}.coupon-copy-btn.copied{background:linear-gradient(135deg,#5fb376,#4a9960,#3d8050);box-shadow:0 4px 15px #5fb37666,0 0 30px #5fb3764d}.coupon-copy-btn.copied:hover{background:linear-gradient(135deg,#6fc487,#5aaa70,#4d9060);box-shadow:0 8px 30px #5fb37680,0 0 50px #5fb37666}@media(max-width:480px){.coupon-panel-content{padding:70px 20px 30px}.coupon-panel-title{font-size:20px}}.fortune-name{font-size:24px;color:#d4af37;font-weight:700;letter-spacing:6px;font-family:Iansui,"Noto Serif TC",serif;text-shadow:0 2px 8px rgba(212,175,55,.6),0 0 20px rgba(212,175,55,.3);margin-bottom:20px;text-align:center}.fortune-image-container{display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative}.fortune-image{width:100%;max-width:220px;height:auto;border-radius:15px;box-shadow:0 8px 30px #00000080;border:2px solid rgba(212,175,55,.3);display:block}.fortune-poem-overlay{position:absolute;top:48%;left:50%;transform:translate(-50%,-50%);writing-mode:vertical-rl;text-orientation:upright;color:#2d1414;font-size:clamp(12px,5vw,18px);font-weight:700;letter-spacing:clamp(3px,1.2vw,6px);line-height:2;font-family:Iansui,"Noto Serif TC",serif;text-shadow:1px 1px 2px rgba(255,255,255,.9),-1px -1px 2px rgba(255,255,255,.9),1px -1px 2px rgba(255,255,255,.9),-1px 1px 2px rgba(255,255,255,.9);pointer-events:none;max-height:34%}.fortune-poem-overlay.hidden{display:none}.fortune-interpretation-overlay{position:absolute;top:24%;left:auto;right:27%;writing-mode:vertical-rl;text-orientation:upright;text-align:start;color:#2d1414;font-size:clamp(12px,4vw,18px);font-weight:700;letter-spacing:clamp(3px,1.2vw,6px);line-height:2;font-family:Iansui,"Noto Serif TC",serif;text-shadow:1px 1px 2px rgba(255,255,255,.9),-1px -1px 2px rgba(255,255,255,.9),1px -1px 2px rgba(255,255,255,.9),-1px 1px 2px rgba(255,255,255,.9);pointer-events:none;max-height:50%}.fortune-interpretation-overlay.hidden{display:none}.fortune-close-button{position:absolute;top:15px;right:15px;width:36px;height:36px;padding:0;background:#d4af3733;color:#d4af37;border:1.5px solid rgba(212,175,55,.4);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;z-index:10}.fortune-close-button:hover{background:#d4af374d;border-color:#d4af3799;transform:scale(1.1)}.fortune-close-button:active{transform:scale(.95)}.fortune-close-button svg{width:20px;height:20px;stroke-width:2.5px}@media(max-width:768px){.fortune-content{padding:30px 20px;max-width:350px}.fortune-name{font-size:20px;letter-spacing:4px;margin-bottom:15px}.fortune-image{max-width:220px;border-radius:12px}.fortune-close-button{top:12px;right:12px;width:32px;height:32px}.fortune-close-button svg{width:18px;height:18px}}@media(max-width:480px){.fortune-content{padding:25px 16px}.fortune-name{font-size:18px;letter-spacing:3px;margin-bottom:12px}.fortune-image{max-width:200px;border-radius:10px}.fortune-close-button{top:10px;right:10px;width:28px;height:28px}.fortune-close-button svg{width:16px;height:16px}.fortune-poem-overlay{max-height:34%}}.add-pet-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:16px 40px;background:linear-gradient(135deg,#d4af37,#b8941f);color:#2d1810;border:none;border-radius:30px;font-size:18px;font-weight:700;letter-spacing:3px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 20px #d4af3766,0 0 30px #d4af3733;font-family:Iansui,"Noto Serif TC",serif}.add-pet-btn:hover{background:linear-gradient(135deg,#e0bb4a,#c9a430);transform:translateY(-3px);box-shadow:0 8px 30px #d4af3780,0 0 40px #d4af374d}.add-pet-btn:active{transform:translateY(1px);box-shadow:0 2px 10px #d4af3766}.add-pet-btn svg{width:20px;height:20px}.add-pet-modal{position:fixed;inset:0;z-index:200;display:flex;align-items:flex-end;justify-content:center;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}.add-pet-modal.show{opacity:1;visibility:visible}.add-pet-modal-overlay{position:absolute;inset:0;background:#000000b3}.add-pet-modal-content{position:relative;width:100%;max-width:500px;max-height:90vh;background:linear-gradient(180deg,#1a0a0a,#0d0505);border-top-left-radius:30px;border-top-right-radius:30px;border:2px solid rgba(212,175,55,.3);border-bottom:none;padding:24px;overflow-y:auto;transform:translateY(100%);transition:transform .4s cubic-bezier(.32,.72,0,1)}.add-pet-modal.show .add-pet-modal-content{transform:translateY(0)}.add-pet-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.add-pet-modal-title{color:#d4af37;font-size:22px;font-weight:700;letter-spacing:3px;font-family:Iansui,"Noto Serif TC",serif}.add-pet-modal-close{width:36px;height:36px;border-radius:50%;background:#d4af371a;border:1px solid rgba(212,175,55,.3);color:#d4af37;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.add-pet-modal-close:hover{background:#d4af3733}.add-pet-modal-close svg{width:20px;height:20px}.add-pet-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-row{flex-direction:row;gap:12px}.form-col{flex:1;display:flex;flex-direction:column;gap:8px}.form-label{color:#d4af37cc;font-size:14px;letter-spacing:1px}.form-label .required{color:#ff6b6b}.form-input,.form-select{background:#0006;border:1px solid rgba(212,175,55,.3);border-radius:12px;padding:14px 16px;color:#fff;font-size:16px;transition:border-color .2s}.form-input:focus,.form-select:focus{outline:none;border-color:#d4af37}.form-input::-moz-placeholder{color:#ffffff4d}.form-input::placeholder{color:#ffffff4d}.form-select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23d4af37' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px;padding-right:40px}.form-select option{background:#1a0a0a;color:#fff}.avatar-upload{display:flex;justify-content:center}.avatar-preview{width:100px;height:100px;border-radius:50%;border:2px dashed rgba(212,175,55,.4);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;transition:all .2s;overflow:hidden;background:#0000004d}.avatar-preview:hover{border-color:#d4af37;background:#d4af371a}.avatar-preview svg{width:28px;height:28px;color:#d4af3799}.avatar-preview span{font-size:11px;color:#d4af3799}.avatar-preview img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.avatar-preview.has-image{border-style:solid;border-color:#d4af37}.category-buttons,.gender-buttons{display:flex;flex-wrap:wrap;gap:8px}.category-btn,.gender-btn{flex:1;min-width:calc(33.33% - 6px);padding:12px 8px;background:#0006;border:1px solid rgba(212,175,55,.3);border-radius:12px;color:#ffffffb3;font-size:14px;cursor:pointer;transition:all .2s}.gender-btn{min-width:calc(50% - 4px)}.category-btn:hover,.gender-btn:hover{border-color:#d4af3799;background:#d4af371a}.category-btn.selected,.gender-btn.selected{background:#d4af3733;border-color:#d4af37;color:#d4af37}.boolean-buttons{display:flex;gap:8px}.boolean-btn{flex:1;padding:12px 8px;background:#0006;border:1px solid rgba(212,175,55,.3);border-radius:12px;color:#ffffffb3;font-size:14px;cursor:pointer;transition:all .2s}.boolean-btn:hover{border-color:#d4af3799;background:#d4af371a}.boolean-btn.selected{background:#d4af3733;border-color:#d4af37;color:#d4af37}.personality-buttons{display:flex;flex-wrap:wrap;gap:8px}.personality-btn{padding:8px 14px;background:#0006;border:1px solid rgba(212,175,55,.3);border-radius:20px;color:#ffffffb3;font-size:13px;cursor:pointer;transition:all .2s}.personality-btn:hover{border-color:#d4af3799;background:#d4af371a}.personality-btn.selected{background:#d4af3740;border-color:#d4af37;color:#d4af37}.form-textarea{width:100%;background:#0006;border:1px solid rgba(212,175,55,.3);border-radius:12px;padding:14px 16px;color:#fff;font-size:14px;resize:vertical;min-height:60px;transition:border-color .2s}.form-textarea:focus{outline:none;border-color:#d4af37}.form-textarea::-moz-placeholder{color:#ffffff4d}.form-textarea::placeholder{color:#ffffff4d}.submit-pet-btn{width:100%;padding:16px;background:linear-gradient(135deg,#d4af37,#b8941f);border:none;border-radius:15px;color:#800;font-size:18px;font-weight:700;letter-spacing:3px;cursor:pointer;transition:all .3s;font-family:Iansui,"Noto Serif TC",serif;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:10px}.submit-pet-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 20px #d4af3780}.submit-pet-btn:disabled{opacity:.6;cursor:not-allowed}.submit-loading{display:flex;align-items:center;justify-content:center}.submit-loading.hidden{display:none}.submit-spinner{width:20px;height:20px;border:2px solid rgba(136,0,0,.3);border-top-color:#800;border-radius:50%;animation:spin .8s linear infinite}.pet-loading-spinner{width:30px;height:30px;border:2px solid rgba(212,175,55,.2);border-top:2px solid #d4af37;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto}@keyframes spin{to{transform:rotate(360deg)}}.info-btn{position:fixed;left:20px;bottom:30px;z-index:100;width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#d4af3740,#b8941f33);border:2px solid rgba(212,175,55,.6);color:#d4af37;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 20px #0000004d;backdrop-filter:blur(10px)}.info-btn:hover{background:linear-gradient(135deg,#d4af3759,#b8941f4d);border-color:#d4af37cc;transform:scale(1.1);box-shadow:0 8px 30px #d4af374d}.info-btn:active{transform:scale(.95)}.info-btn svg{width:24px;height:24px}.info-overlay{position:fixed;inset:0;z-index:10001;background:#00000080;opacity:0;visibility:hidden;transition:all .3s ease;pointer-events:none}.info-overlay.show{opacity:1;visibility:visible;pointer-events:auto}.info-panel{position:fixed;left:0;top:0;bottom:0;width:320px;max-width:85vw;z-index:10002;background:linear-gradient(180deg,#2d1810fa,#1e0f0afa);border-right:2px solid rgba(212,175,55,.4);transform:translate(-100%);transition:transform .3s ease;overflow-y:auto}.info-panel.show{transform:translate(0)}.info-panel-content{padding:80px 24px 40px}.info-close-btn{position:absolute;top:20px;right:20px;width:36px;height:36px;border-radius:50%;background:#d4af3726;border:1px solid rgba(212,175,55,.4);color:#d4af37;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease}.info-close-btn:hover{background:#d4af3740;border-color:#d4af37b3;transform:scale(1.1)}.info-close-btn:active{transform:scale(.95)}.info-close-btn svg{width:20px;height:20px}.info-panel-title{color:#d4af37;font-size:22px;font-weight:700;text-align:center;margin-bottom:24px;letter-spacing:2px;font-family:Iansui,"Noto Serif TC",serif}.info-panel-text{color:#fceea7;font-size:16px;line-height:2;font-family:Iansui,"Noto Serif TC",serif;letter-spacing:.1em}.info-panel-text p{margin-bottom:16px}@media(max-width:480px){.info-btn{width:44px;height:44px;left:16px;bottom:24px}.info-btn svg{width:20px;height:20px}.info-panel-content{padding:70px 20px 30px}.info-panel-title{font-size:20px}.info-panel-text{font-size:15px}}
