.popup-booking-overlay{position:fixed;inset:0;background-color:rgba(0,0,0,.7);z-index:1000;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease}.popup-booking-overlay.is-active{opacity:1}.popup-booking-overlay.is-active .popup-booking-container{transform:scale(1);opacity:1}.popup-booking-container{position:relative;transform:scale(0.9);opacity:0;transition:transform .3s ease,opacity .3s ease;display:flex;flex-direction:column}.popup-booking-container .popup-booking-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;z-index:-1}.popup-booking-desktop{width:min(1088px,90vw);height:calc(min(1088px,90vw)*.59);justify-content:space-between}@media(max-width: 768px){.popup-booking-desktop{display:none}}.popup-booking-mobile{display:none;width:100vw;max-height:100vh;overflow-y:scroll;position:relative}@media(max-width: 768px){.popup-booking-mobile{display:block;padding-top:4rem}}.popup-booking-mobile .popup-booking-bg{height:auto;object-fit:cover}.popup-booking-head{position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:20px;flex-shrink:0}@media(max-width: 768px){.popup-booking-head{padding:1rem}}.popup-booking-title{font-size:24px;font-weight:bold;color:#8b4513;text-align:center;margin-bottom:20px}.popup-booking-title-img{position:absolute;top:-40px;left:50%;transform:translateX(-50%);width:40%;height:auto}.popup-booking-title-img-mobile{padding-top:1rem;width:100%}.popup-booking-close{position:absolute;top:1rem;right:1rem;border:none;background:rgba(0,0,0,0);cursor:pointer;padding:0;z-index:10;transition:transform .2s ease}.popup-booking-close:hover{transform:scale(1.1)}.popup-booking-close img{display:block;width:40px;height:auto}@media(max-width: 768px){.popup-booking-close{top:5px;right:5px}.popup-booking-close img{width:36px}}.popup-booking-main{flex:1;display:flex;align-items:center;padding:20px;width:100%;overflow:hidden}@media(max-width: 768px){.popup-booking-main{padding:15px;flex-direction:column;overflow:visible}}.progress-bar-container-desktop{width:100%;height:100%;display:flex;align-items:center}@media(max-width: 768px){.progress-bar-container-desktop{display:none}}.progress-bar-container-mobile{width:100%;height:100%;display:none}@media(max-width: 768px){.progress-bar-container-mobile{display:block}}.popup-booking-content{width:100%;height:100%;padding:20px;color:#333;line-height:1.6;overflow-y:auto}@media(max-width: 768px){.popup-booking-content{padding:15px}}.popup-booking-content p{margin:.5em 0}.popup-booking-content h2,.popup-booking-content h3{margin:1em 0 .5em}.popup-booking-footer{display:flex;align-items:center;justify-content:space-between;width:90%;margin:0 auto;padding-bottom:40px;gap:20px;border-top:3px dashed #deb887;flex-shrink:0}@media(max-width: 768px){.popup-booking-footer{flex-direction:column;width:80%;padding:15px;gap:10px}.popup-booking-footer img{width:100%;margin:0 auto}}.ani-whitecat-container{width:30%}.ani-maid-container{width:25%}.pixi-animation-container{width:100%;padding:0;overflow:visible}.pixi-animation-container canvas{display:block;width:100%}.btn-ios,.btn-google{height:60px;transition:transform .3s ease}.btn-ios img,.btn-google img{object-fit:contain;width:auto;height:100%}.btn-ios:hover,.btn-google:hover{transform:scale(1.05)}@media(max-width: 768px){.btn-ios,.btn-google{width:100%;height:auto}.btn-ios img,.btn-google img{object-fit:cover;width:100%;height:auto}}.btn-ios{animation:Bounce 3s ease infinite}.btn-google{animation:Bounce 2.5s ease infinite}@keyframes Bounce{0%,20%,50%,80%,100%{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.popup-qrcode{position:relative;width:20%}.popup-qrcode img.qrcode-bg{display:block !important;width:100%;height:auto}.popup-qrcode img.store-qr-code{position:absolute;top:50%;left:55%;transform:translate(-50%, -50%);display:block !important;width:60%;height:auto}
:root{--progress-bar-h: 12px;--progress-coin-scale: 2.2;--progress-check-scale: 1.2;--progress-card-aspect: 3 / 4;--progress-track: #5a3838;--progress-fill: #f1761b;--progress-coin: #ffbb77;--progress-coin-inner: #8b1d1d;--progress-check: #ff5b65;--progress-front: #ff6161;--progress-back: #07146f}.progress-bar-wrapper{width:100%;display:flex;gap:0;padding:1rem}.progress-bar-left{width:75%;padding:2rem;padding-top:4rem}@media(max-width: 1024px){.progress-bar-left{padding-top:2rem}}.progress-bar-right{width:25%;padding:32px 16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;position:relative}.progress-bar-edge-label{width:80%;height:auto;display:block;z-index:3}.progress-bar-stage{position:relative;width:100%;padding-top:70px}.progress-bar-track{position:relative;width:100%;height:var(--progress-bar-h);border-radius:999px;background:var(--progress-track);overflow:visible;isolation:isolate}.progress-bar-fill{position:absolute;inset:0 auto 0 0;width:0%;background:var(--progress-fill);border-radius:999px;transition:width .4s ease;z-index:1}.progress-bar-character{position:absolute;left:0;top:50%;transform:translate(-50%, -50%) scale(1.5);width:60px;height:auto;z-index:3;pointer-events:none;transition:left .4s ease}.progress-bar-milestone{position:absolute;top:50%;left:0;transform:translate(-50%, -50%);z-index:2;pointer-events:auto;width:15%;display:flex;flex-direction:column;align-items:center}.progress-bar-milestone__label{width:100%;height:auto;display:block;position:absolute;bottom:calc(50% + 20px);left:50%;transform:translateX(-50%);transition:transform .3s ease}.progress-bar-milestone.active .progress-bar-milestone__label{transform:translateX(-50%) scale(1.5);z-index:10}.progress-bar-milestone__coin{position:relative;width:40px;height:40px;display:flex;align-items:center;justify-content:center;flex-shrink:0;pointer-events:none}.progress-bar-milestone__check,.progress-bar-milestone__point{position:absolute;top:0;left:0;width:40px;height:40px;display:none}.progress-bar-milestone__point{display:block}.progress-bar-milestone.done .progress-bar-milestone__check{display:block}.progress-bar-milestone.done .progress-bar-milestone__point{display:none}.progress-bar-cards{position:relative;width:100%;margin-top:clamp(10px,1.8vw,20px);padding-top:10px}.progress-bar-card{position:absolute;top:0;transform:translateX(-50%);width:20%;aspect-ratio:var(--progress-card-aspect);perspective:1000px}.progress-bar-card__flip{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .5s ease}.progress-bar-card.unlocked .progress-bar-card__flip{transform:rotateY(0)}.progress-bar-card.locked .progress-bar-card__flip{transform:rotateY(180deg)}.progress-bar-card__face{position:absolute;inset:0;border-radius:10px;display:flex;align-items:center;justify-content:center;backface-visibility:hidden;box-shadow:0 8px 24px rgba(0,0,0,.08);color:#fff;font-weight:800;font-size:clamp(12px,1.6vw,16px);text-align:center;overflow:hidden}.progress-bar-card__face img{width:100%;height:100%;object-fit:contain;display:block}.progress-bar-card__face--front{background:rgba(0,0,0,0)}.progress-bar-card__face--back{background:rgba(0,0,0,0);transform:rotateY(180deg)}.progress-bar-edge-card{width:100%;aspect-ratio:var(--progress-card-aspect);perspective:1000px}.progress-bar-edge-card .progress-bar-card__flip{width:100%;height:100%;transform-style:preserve-3d;transition:transform .5s ease}.progress-bar-edge-card.unlocked .progress-bar-card__flip{transform:rotateY(0)}.progress-bar-edge-card.locked .progress-bar-card__flip{transform:rotateY(180deg)}.progress-bar-edge-card .progress-bar-card__face{position:absolute;inset:0;border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.08);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:clamp(12px,1.6vw,18px);backface-visibility:hidden;overflow:hidden;padding:1rem}.progress-bar-edge-card .progress-bar-card__face img{width:100%;height:100%;object-fit:contain;display:block}.progress-bar-edge-card .progress-bar-card__face--front{position:relative;background:rgba(0,0,0,0)}.progress-bar-edge-card .progress-bar-card__face--back{background:rgba(0,0,0,0);transform:rotateY(180deg)}.progress-bar-edge-card .shake-animation{animation:Shake .6s ease-in-out infinite}.five-w-container{width:100%;overflow:visible;padding:0}.five-w-container canvas{display:block}@media(max-width: 720px){:root{--progress-bar-h: 18px}.progress-bar-wrapper{flex-direction:column;padding:.5rem}.progress-bar-left,.progress-bar-right{width:100%;padding:16px 8px}.progress-bar-right{max-width:200px;margin:0 auto}}
:root{--progress-mobile-bar-w: 10px;--progress-mobile-bar-h: 60vh;--progress-mobile-coin-scale: 2.2;--progress-mobile-check-scale: 1.2;--progress-mobile-card-h: 20vh;--progress-mobile-label-space: clamp(100px, 30vw, 180px)}.progress-bar-mobile-wrapper{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:clamp(10px,3vw,20px);position:relative}.progress-bar-mobile-left{position:relative;width:calc(var(--progress-mobile-label-space) + var(--progress-mobile-bar-w));display:flex;justify-content:center;z-index:10}.progress-bar-mobile-right{position:relative;height:var(--progress-mobile-bar-h);z-index:1}.progress-bar-mobile-track{position:relative;width:var(--progress-mobile-bar-w);height:var(--progress-mobile-bar-h);border-radius:999px;background:var(--progress-track);overflow:visible;isolation:isolate;margin-left:var(--progress-mobile-label-space)}.progress-bar-mobile-fill{position:absolute;left:0;top:0;width:100%;height:0%;background:var(--progress-fill);border-radius:999px;transition:height .3s ease;z-index:1}.progress-bar-mobile-character{position:absolute;left:50%;top:0;width:clamp(3rem,6vw,3rem);height:auto;transform:translate(-50%, -50%);z-index:10;pointer-events:none;transition:top .3s ease;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;max-width:none;min-width:2.5rem}.progress-bar-mobile-milestone{position:absolute;left:80%;transform:translate(-50%, -50%);z-index:2;pointer-events:auto}.progress-bar-mobile-milestone__label{position:absolute;right:calc(100% + clamp(5px,1vw,10px));top:50%;transform:translateY(-50%);width:4rem;height:auto;max-width:var(--progress-mobile-label-space);transition:transform .3s ease}.progress-bar-mobile-milestone.active .progress-bar-mobile-milestone__label{transform:translateY(-50%) scale(1.5);z-index:10}.progress-bar-mobile-milestone__coin{--coin-size: calc(var(--progress-mobile-bar-w) * var(--progress-mobile-coin-scale));position:relative;width:var(--coin-size);height:var(--coin-size);display:flex;align-items:center;justify-content:center;pointer-events:none}.progress-bar-mobile-milestone__check,.progress-bar-mobile-milestone__point{position:absolute;top:0;left:0;width:var(--coin-size);height:var(--coin-size);display:none}.progress-bar-mobile-milestone__point{display:block}.progress-bar-mobile-milestone.done .progress-bar-mobile-milestone__check{display:block}.progress-bar-mobile-milestone.done .progress-bar-mobile-milestone__point{display:none}.progress-bar-mobile-card{position:absolute;left:0;right:0;transform:translateY(-50%);width:100%;height:30%;perspective:1000px}.progress-bar-mobile-card__flip{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .5s ease}.progress-bar-mobile-card.unlocked .progress-bar-mobile-card__flip{transform:rotateY(0)}.progress-bar-mobile-card.locked .progress-bar-mobile-card__flip{transform:rotateY(180deg)}.progress-bar-mobile-card.locked .progress-bar-mobile-card__face--front{opacity:0}.progress-bar-mobile-card__face{position:absolute;inset:0;border-radius:12px;display:flex;align-items:center;justify-content:center;backface-visibility:hidden;overflow:hidden;padding:10px}.progress-bar-mobile-card__face img{width:100%;height:100%;object-fit:contain;display:block}.progress-bar-mobile-card__face--front{background:rgba(0,0,0,0)}.progress-bar-mobile-card__face--back{background:rgba(0,0,0,0);transform:rotateY(180deg)}.progress-bar-mobile-edge-wrap{padding-left:2rem;display:flex;align-items:center;gap:10px}.progress-bar-mobile-edge-label{width:15%;max-width:200px;height:auto;align-self:flex-start;padding-top:2rem;image-rendering:pixelated}.progress-bar-mobile-edge-card{margin:0 auto;width:80%;max-width:280px;aspect-ratio:3/4;perspective:1000px;position:relative}.progress-bar-mobile-edge-card .progress-bar-mobile-card__flip{width:100%;height:100%;transform-style:preserve-3d;transition:transform .5s ease}.progress-bar-mobile-edge-card.unlocked .progress-bar-mobile-card__flip{transform:rotateY(0)}.progress-bar-mobile-edge-card.locked .progress-bar-mobile-card__flip{transform:rotateY(180deg)}.progress-bar-mobile-edge-card.locked .progress-bar-mobile-card__face--front{opacity:0}.progress-bar-mobile-edge-card .progress-bar-mobile-card__face{position:absolute;inset:0;border-radius:12px;display:flex;align-items:center;justify-content:center;backface-visibility:hidden;overflow:hidden}.progress-bar-mobile-edge-card .progress-bar-mobile-card__face img{width:100%;object-fit:contain;display:block;object-position:top}.progress-bar-mobile-edge-card .progress-bar-mobile-card__face--front{background:rgba(0,0,0,0)}.progress-bar-mobile-edge-card .progress-bar-mobile-card__face--back{background:rgba(0,0,0,0);transform:rotateY(180deg)}.progress-bar-maid-container,.progress-bar-maid-container-back{position:absolute !important;inset:1rem !important;z-index:2 !important;display:flex !important;align-items:center !important;justify-content:center !important;pointer-events:none !important}.progress-bar-maid-container canvas,.progress-bar-maid-container-back canvas{max-width:100% !important;max-height:100% !important;width:auto !important;height:auto !important;object-fit:contain !important}.shake-animation{animation:Shake 1s ease-in-out infinite}
