:root{--primary-color: #FF6B6B;--secondary-color: #4ECDC4;--svh: 1svh}*{margin:0;padding:0;box-sizing:border-box}html{height:100%;width:100%;overflow:hidden}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;height:100%;width:100%;overflow:hidden;position:fixed;top:0;left:0;right:0;bottom:0;margin:0;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);touch-action:none;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:transparent;background:transparent}.landing-page{height:100%;width:100%;display:flex;flex-direction:column;align-items:center;position:relative;overflow:hidden;padding-top:max(env(safe-area-inset-top),16px);padding-bottom:max(env(safe-area-inset-bottom),16px)}.landing-page:after,.main-page:after,.score-screen:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:url(https://merli-adventure.expo2025singapore.sg/assets/images/main-background.png);background-size:cover;background-position:center;background-repeat:no-repeat;z-index:-2;pointer-events:none}.landing-page:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(89.66% 43.1% at 50% 42.21%,#FFD0B1 0%,#FD807E 40%,#ED3F49 100%);z-index:-2}.main-content{position:relative;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;z-index:1}.game-logo{position:absolute;top:max(calc(var(--svh, 1svh) * 40),250px);width:clamp(200px,calc(var(--svh, 1svh) * 32),400px);height:auto;display:flex;justify-content:center;align-items:center;left:50%;transform:translate(-50%);z-index:-2}.game-logo-text{position:absolute;top:-160px;width:100%;height:auto;object-fit:contain}.merli{width:clamp(120px,calc(var(--svh, 1svh) * 18),160px);height:auto;position:absolute;z-index:-1;left:50%;transform:translate(-50%);opacity:1}.main-logo{width:clamp(180px,calc(var(--svh, 1svh) * 23),240px);height:auto;top:max(calc(var(--svh, 1svh) * 60.5),430px);position:absolute;left:50%;transform:translate(-50%);opacity:1}.start-button{width:140px;height:auto;position:fixed;bottom:60px;cursor:pointer;transition:transform .2s;min-height:44px;min-width:44px;padding:12px;touch-action:manipulation;opacity:1;background:none;border:none;display:flex;flex-direction:column;align-items:center;z-index:10;transform-origin:center center}.start-button.animate{animation:scale-button .3s forwards;pointer-events:none}@keyframes scale-button{0%{transform:scale(1)}50%{transform:scale(.95)}to{transform:scale(1)}}.start-button img{width:100%;height:auto;position:relative;z-index:1}.start-button-text{color:#fff;text-align:center;font-family:Poppins;font-size:14px;font-style:normal;font-weight:700;line-height:22px;letter-spacing:-.408px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2}.start-button:hover{transform:scale(1.05)}.language-selector{position:fixed;top:max(env(safe-area-inset-top),16px);right:max(env(safe-area-inset-right),16px);z-index:50;min-width:auto;height:auto;pointer-events:auto}.language-button,.language-dropdown,.language-option{pointer-events:auto}.language-button{background-color:#fff3;border-radius:5px;display:flex;align-items:center;justify-content:flex-end;gap:8px;cursor:pointer;border:1px solid rgba(255,255,255,.23);transition:border-radius .2s ease;width:auto;-moz-appearance:none;appearance:none;-webkit-appearance:none;position:relative;z-index:101;min-height:32px;min-width:44px;padding:4px 8px;touch-action:manipulation}.language-button>img:first-child{width:20px;height:15px;object-fit:cover}.language-button .dropdown-arrow{width:10px;height:auto;filter:invert(100%)}.language-dropdown{display:none;position:absolute;top:100%;left:auto;right:0;background-color:#fff3;border:1px solid rgba(255,255,255,.23);border-top:none;border-radius:0 0 5px 5px;overflow:hidden;width:max-content;z-index:100;max-height:calc(100svh - 100px)}.language-selector.active .language-button{border-radius:5px 5px 0 0}.language-selector.active .language-dropdown{display:block}.language-text{color:#000;font-size:15px;font-weight:700;text-transform:uppercase;white-space:nowrap}.dropdown-arrow{transition:transform .2s ease;margin-left:auto}.language-selector.active .dropdown-arrow{transform:rotate(180deg)}.language-option{padding:5px 7px;display:flex;align-items:center;gap:8px;cursor:pointer;color:#000;font-size:15px;font-weight:700;text-transform:uppercase;transition:background-color .2s ease;width:100%;background:none;border:none;text-align:left}.language-option:hover{background-color:#ffffff1a}.cookie-text{position:fixed;bottom:clamp(16px,2svh,32px);left:50%;transform:translate(-50%);z-index:10;color:#fff;text-align:center;font-size:clamp(8px,.5rem,14px);padding:clamp(8px,1svh,16px) clamp(12px,2svw,24px);max-width:min(720px,90svw);width:100svw;white-space:normal;overflow:visible}.cookie-policy-trigger{cursor:pointer}.cookie-policy-link{color:inherit;text-decoration:none;font-weight:700;cursor:pointer}.cookie-policy-link:hover{text-decoration:none;color:inherit}.screen-transition{position:fixed;top:0;left:0;width:100%;height:100%;background:white;opacity:0;pointer-events:none;z-index:1000;transition:opacity .3s ease}.screen-transition.active{opacity:1;pointer-events:auto}.white-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#fff;opacity:0;z-index:9999;pointer-events:none}.merli2{opacity:0;position:absolute;left:50%;transform:translate(-50%)}.merli-glow{animation:merliGlowAnimation 3s infinite}@keyframes merliGlowAnimation{0%{filter:drop-shadow(0px 0px 24px rgba(255,253,205,.15))}50%{filter:drop-shadow(0px 0px 16px rgba(255,253,205,.85))}to{filter:drop-shadow(0px 0px 24px rgba(255,253,205,.15))}}.transition-start-button{transition:transform .3s ease-in-out,opacity .3s ease-in-out;transform-origin:center center}.transition-start-button.animate{opacity:0;transform:scale(1.2)}.main-page{position:fixed;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;z-index:9}.main-page>*{pointer-events:auto}.main-page .language-selector{position:fixed;top:max(env(safe-area-inset-top),16px);right:max(env(safe-area-inset-right),16px);z-index:21}.main-page .main-content{position:relative;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;padding-top:40px}.main-merli{width:110px;height:auto;position:absolute;bottom:20px;left:calc(50% + 100px);transform:translate(-50%);z-index:2}.main-start-container{position:absolute;display:flex;align-items:center;justify-content:center;bottom:22svh;left:50%;transform:translate(-50%);z-index:21}.main-start-button{width:clamp(120px,calc(var(--svh, 1svh) * 18),160px);height:auto;background:none;border:none;cursor:pointer;transition:transform .3s cubic-bezier(.175,.885,.32,1.275);z-index:21;min-height:44px;min-width:44px;padding:8px;touch-action:manipulation;position:relative;transform-origin:center center}.main-start-button:hover{transform:scale(1.05)}.main-start-button img{width:100%;height:auto}.main-start-button-text{color:#fff;text-align:center;font-family:Poppins;font-size:14px;font-style:normal;font-weight:700;line-height:22px;letter-spacing:-.408px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2}.main-start-button:active{transform:scale(.95)}.menu-buttons{position:absolute;bottom:7svh;display:flex;flex-direction:row;justify-content:center;width:100%;padding-left:max(env(safe-area-inset-left),20px);padding-right:max(env(safe-area-inset-right),20px);gap:calc(2svw + 5px);z-index:21;box-sizing:border-box}.menu-button{position:relative;background:none;border:none;padding:0;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;transition:transform .3s cubic-bezier(.175,.885,.32,1.275);width:72px;height:auto;z-index:21;margin:0;min-width:60px;min-height:60px;flex-shrink:0}.menu-button .menu-icon{width:auto;height:60px;position:relative;top:-17.5px;z-index:3}.menu-button .menu-bg{position:absolute;width:100%;height:100%;top:0;left:0;z-index:1;object-fit:contain}.menu-button span{position:relative;font-family:Poppins,sans-serif;font-weight:700;font-size:10px;top:-17.5px;color:#df7913;z-index:2;text-align:center;white-space:nowrap}.menu-button:hover{transform:scale(1.1)}.menu-button:active{transform:scale(.95)}.transition-game-logo{transition:opacity .6s ease-in-out}.transition-main-logo,.language-selector.animate,.cookie-text.animate{transition:opacity .3s ease-in-out}.transition-main-logo.animate,.language-selector.animate,.cookie-text.animate{opacity:0;pointer-events:none;visibility:hidden}.merli1{width:110px;height:auto}.transition-merli1{transition:transform .6s ease-in-out,opacity .3s ease-in-out;position:absolute;bottom:160px;left:50%;opacity:1;transform:translate(calc(-50% + 100px))}.transition-merli1.animate{opacity:0;transform:translate(-50%,calc(50% - 215px)) scale(1.1)}.transition-merli2{transition:transform .6s ease-in-out,opacity .6s ease-in-out;position:absolute;bottom:160px;left:50%;opacity:0;transform:translate(calc(-50% + 100px))}.transition-merli2.animate{opacity:1;transform:translate(-50%,calc(50% - 215px)) scale(1.1)}.dialog-container{position:absolute;bottom:calc(var(--svh, 1svh) * 4);left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:20px;opacity:0;pointer-events:none}.dialog-box{min-width:300px;width:70svw;max-width:400px;height:auto;padding:20px 25px;border-radius:16px;background:linear-gradient(198.39deg,rgba(220,220,220,.2) -5.82%,rgba(255,255,255,.2) 61.41%),linear-gradient(0deg,rgba(255,208,177,.5),rgba(255,208,177,.5));position:relative}.dialog-box:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:16px;padding:1.2px;background:linear-gradient(180deg,#FFFFFF60 0%,#FFFFFF05 76%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;pointer-events:none}.dialog-text{font-family:Poppins,sans-serif;font-size:13px;font-weight:400;line-height:20px;letter-spacing:-.24px;text-align:left;color:#fff;text-decoration-skip-ink:none;text-underline-position:from-font;margin:0}.next-button{background:none;border:none;cursor:pointer;padding:0;margin-top:0;z-index:5}.next-circle{width:40px;height:40px;border-radius:50%;background:linear-gradient(198.39deg,rgba(220,220,220,.2) -5.82%,rgba(255,255,255,.2) 61.41%),linear-gradient(0deg,rgba(255,208,177,.5),rgba(255,208,177,.5));position:relative}.next-circle:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border-radius:50%;padding:1.2px;background:linear-gradient(204.48deg,rgba(255,255,255,.6) 15.64%,rgba(255,255,255,.05) 61.7%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}@keyframes next-circle-scale-out{0%{transform:scale(1);opacity:1}to{transform:scale(0);opacity:0}}.next-circle.animate-out{animation:next-circle-scale-out .5s ease-out forwards}.next-arrow{position:absolute;bottom:20px;left:50%;transform:translate(-50%) translateY(50%);cursor:pointer;z-index:100;display:block;width:20px;height:20px;pointer-events:auto}.next-arrow.hidden{pointer-events:none;opacity:0}.back-button{position:absolute;top:20px;left:20px;background:none;border:none;cursor:pointer;opacity:0;transform:translate(-50px);min-height:44px;min-width:44px;padding:12px;touch-action:manipulation}.back-arrow{width:20px;height:20px;transform:rotate(180deg)}.transition-dialog{transition:opacity .75s ease-in-out}.transition-dialog.animate{opacity:1;pointer-events:auto}.transition-back{transition:opacity .75s ease-in-out,transform .75s ease-in-out}.transition-back.animate{opacity:1;transform:translate(0)}.landing-style:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:none;opacity:.3;z-index:0;pointer-events:none}.text-box-modal{position:fixed;top:0;left:0;width:100svw;height:100svh;background:rgba(0,0,0,0);-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:10000;padding:0 16px}.performance-warning-modal{z-index:9000}.text-box-modal .modal-content{background:linear-gradient(0deg,rgba(255,208,177,.5) 0%,rgba(255,208,177,.5) 100%),linear-gradient(198deg,rgba(220,220,220,.2) -5.82%,rgba(255,255,255,.2) 61.41%);box-shadow:0 0 5.937px #ffffff3b;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:350px;max-width:95svw;height:auto;min-height:100px;max-height:none;padding:25px 35px;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}.text-box-modal .modal-content.with-image{max-height:none;padding:20px 25px}.text-box-modal .modal-content.long-content{max-width:380px;width:90%;overflow-y:auto;max-height:70vh}.text-box-modal .modal-content{position:absolute;top:50%;transform:translateY(-50%)}.text-box-modal .modal-content:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:12px;padding:1px;background:linear-gradient(180deg,#FFFFFF60 0%,#FFFFFF05 76%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;pointer-events:none}.text-box-modal .modal-title{color:#fff;text-align:center;font-family:Poppins;font-size:20px;font-weight:700;line-height:28px;letter-spacing:.35px}.text-box-modal .modal-description{color:#fff;font-family:Poppins;font-size:13px;font-style:normal;font-weight:400;line-height:18px;letter-spacing:-.078px;margin-top:8px;text-align:center}.text-box-modal .modal-image{margin:10px 0;width:100%;display:flex;justify-content:center}.text-box-modal .modal-image img{max-width:100%;max-height:200px;border-radius:8px;object-fit:contain}.text-box-modal .tap-to-continue{color:#fff;text-align:center;text-shadow:0px 0px 10px rgba(0,0,0,.25);font-family:Poppins;font-size:12px;font-style:normal;font-weight:500;margin-top:24px;cursor:pointer;position:absolute;bottom:-30px;left:50%;transform:translate(-50%)}.compatibility-error-container{position:fixed!important;top:0!important;left:0!important;width:100%!important;height:100%!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;z-index:10001!important;pointer-events:auto!important}.compatibility-error-overlay{position:fixed!important;top:0!important;left:0!important;width:100%!important;height:100%!important;background-color:#00000080!important;-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important;z-index:10000!important;pointer-events:auto!important}#game-screen{display:none;position:absolute;top:0;left:0;width:100%;height:100%;background:black;overflow:hidden;z-index:100;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.camera-feed{position:absolute;width:100%;height:100%;left:0;top:0;object-fit:cover;z-index:1;transform:scaleX(-1)}.game-layers{position:absolute;top:0;left:0;width:100%;height:100%;z-index:2}:root{--vh: 1vh;--svh: 1svh}.scene-background{position:fixed;width:100%;height:calc(var(--svh, 1svh) * 100);left:0;top:calc(var(--vh, 1vh) * 12);background-image:url(https://merli-adventure.expo2025singapore.sg/assets/images/scene_1.png);background-position:center bottom;background-repeat:no-repeat;background-size:100% auto;pointer-events:none;z-index:1}#final-left-element,#final-right-element{position:fixed;width:220px;height:175px;bottom:0;background-size:contain;background-repeat:no-repeat;z-index:1;pointer-events:none}.scene-road{position:absolute;left:0;width:100%;height:100%;z-index:0;overflow:hidden;transform-origin:bottom center}.road-texture{position:absolute;bottom:0;left:0;width:100%;height:100%;transform-origin:bottom center;will-change:transform;z-index:-1}.road-texture:before{content:"";position:absolute;bottom:0;left:0;width:100%;height:200%;background-image:inherit;background-size:100% auto;background-repeat:repeat-y;will-change:transform;z-index:-1}.side-element{position:absolute;background-size:contain;background-repeat:no-repeat;pointer-events:none;z-index:4}.final-scene-element{position:absolute;background-size:contain;background-repeat:no-repeat;pointer-events:none;z-index:10;width:220px!important;height:175px!important;bottom:0!important}#game-area{position:absolute;top:0;left:0;width:100%;height:100%;z-index:2}#character{position:absolute;width:100px;height:100px;left:50%;--character-offset: 0px;transform:translate(calc(-50% + var(--character-offset)));bottom:calc(var(--svh, 1svh) * 18);background-size:contain;background-repeat:no-repeat;pointer-events:none;z-index:5;transition-duration:.05s}.score-container{position:fixed;top:calc(var(--svh, 1svh) * 2);left:50%;transform:translate(-50%);z-index:1000;display:flex;flex-direction:column;align-items:center;padding:10px;pointer-events:none}.score-label{font-family:Poppins,sans-serif;font-weight:700;color:#fff;top:calc(var(--svh, 1svh) * 1);font-size:24px;margin-bottom:-5px;position:relative;z-index:2;letter-spacing:.5px;padding:5px;width:100%;text-align:center;white-space:nowrap;text-shadow:0 -2px #6AABEB,0 2px #6AABEB,2px 0 #6AABEB,-2px 0 #6AABEB,2px 2px #6AABEB,-2px 2px #6AABEB,2px -2px #6AABEB,-2px -2px #6AABEB,1.5px 1.5px #6AABEB,-1.5px 1.5px #6AABEB,1.5px -1.5px #6AABEB,-1.5px -1.5px #6AABEB,0 5.5px #6AABEB,1px 5.5px #6AABEB,-1px 5.5px #6AABEB,2px 5px #6AABEB,-2px 5px #6AABEB,1.5px 5.25px #6AABEB,-1.5px 5.25px #6AABEB}#score{width:140px;height:60px;background-color:#f6f6f640;border-radius:15px;display:flex;justify-content:center;align-items:center;font-family:Poppins,sans-serif;font-weight:700;font-size:36px;position:relative;padding:10px 5px;color:#97daf9;-webkit-text-stroke:1px #97DAF9;text-shadow:0 0 #FFFFFF,1.5px 0 #FFFFFF,-1.5px 0 #FFFFFF,0 1.5px #FFFFFF,0 -1.5px #FFFFFF,2px .5px #FFFFFF,-2px .5px #FFFFFF,2px -.5px #FFFFFF,-2px -.5px #FFFFFF,.5px 2px #FFFFFF,-.5px 2px #FFFFFF,.5px -2px #FFFFFF,-.5px -2px #FFFFFF,2px 2px #FFFFFF,-2px -2px #FFFFFF,2px -2px #FFFFFF,-2px 2px #FFFFFF,3px 1px #FFFFFF,-3px 1px #FFFFFF,3px -1px #FFFFFF,-3px -1px #FFFFFF,1px 3px #FFFFFF,-1px 3px #FFFFFF,1px -3px #FFFFFF,-1px -3px #FFFFFF,2.5px 1.5px #FFFFFF,-2.5px 1.5px #FFFFFF,2.5px -1.5px #FFFFFF,-2.5px -1.5px #FFFFFF,1.5px 2.5px #FFFFFF,-1.5px 2.5px #FFFFFF,1.5px -2.5px #FFFFFF,-1.5px -2.5px #FFFFFF,3px .5px #6AABEB,-3px .5px #6AABEB,3px -.5px #6AABEB,-3px -.5px #6AABEB,.5px 3px #6AABEB,-.5px 3px #6AABEB,.5px -3px #6AABEB,-.5px -3px #6AABEB,3px 3px #6AABEB,-3px -3px #6AABEB,3px -3px #6AABEB,-3px 3px #6AABEB,4px 1px #6AABEB,-4px 1px #6AABEB,4px -1px #6AABEB,-4px -1px #6AABEB,3.5px -2.5px #6AABEB,-3.5px -2.5px #6AABEB,2.5px -3.5px #6AABEB,-2.5px -3.5px #6AABEB,4px 4px #6AABEB,-4px 4px #6AABEB,4.5px 3px #6AABEB,-4.5px 3px #6AABEB,3px 4.5px #6AABEB,-3px 4.5px #6AABEB,0 7px #6AABEB,1px 7px #6AABEB,-1px 7px #6AABEB,2px 6.75px #6AABEB,-2px 6.75px #6AABEB,3px 6.5px #6AABEB,-3px 6.5px #6AABEB,4px 6px #6AABEB,-4px 6px #6AABEB,3.5px 5px #6AABEB,-3.5px 5px #6AABEB,5px 3.5px #6AABEB,-5px 3.5px #6AABEB}#score:before{content:attr(data-score);position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);text-align:center;color:#97daf9;z-index:1}#score:after{content:attr(data-score);position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);text-align:center;-webkit-text-stroke:4px #FFFFFF;z-index:2}#score span{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);text-align:center;-webkit-text-stroke:7px #6AABEB;z-index:1}.debug-menu{position:fixed;top:10px;right:10px;background:rgba(0,0,0,.7);color:#fff;padding:10px;border-radius:5px;font-family:monospace;z-index:1000}.obstacle,.charm{position:absolute;width:30px;height:30px;background-size:contain;background-repeat:no-repeat;background-position:center;left:50%;transform:translate(-50%) scale(1);transform-origin:bottom center;pointer-events:none;z-index:5}.obstacle{background-image:url(https://merli-adventure.expo2025singapore.sg/assets/index.css);filter:drop-shadow(0 0 2px #FF2732) drop-shadow(0 0 4px #FF273266) drop-shadow(0 0 6px #FF273233)}.charm{background-image:url(https://merli-adventure.expo2025singapore.sg/assets/index.css);filter:drop-shadow(0 0 2px #4DFB8A) drop-shadow(0 0 4px #4DFB8A66) drop-shadow(0 0 6px #4DFB8A33)}.cloud{position:absolute;width:auto;height:calc(var(--svh, 1svh) * 15);pointer-events:none;z-index:-5}#cloud-container{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:2}@keyframes bus-move-part1{0%{left:-1100px}to{left:calc(25% - 525px)}}@keyframes bus-move-part2{0%{left:calc(25% - 525px)}to{left:100%}}@keyframes merli-drop{0%{top:180px}to{top:80px}}@keyframes game-area-rise{0%{transform:translateY(0)}to{transform:translateY(calc(var(--svh, 1svh) * 100))}}@keyframes clouds-move{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes plane-window-scale{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@keyframes plane-window-unscale{0%{transform:scale(1);opacity:1}to{transform:scale(0);opacity:0}}.bus-container{position:fixed;bottom:calc(var(--svh, 1svh) * -60);left:-1100px;width:calc(1016px * 1.1);height:calc(638px * 1.1);z-index:100}.bus-container.enter-part1{animation:bus-move-part1 3s forwards}.bus-container.enter-part2{animation:bus-move-part2 3s forwards}.bus-merli.drop{animation:merli-drop 1s forwards}.plane-sky{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#a2e7f0;z-index:100;visibility:hidden;opacity:0;transition:opacity .3s ease}.plane-clouds{position:fixed;top:0;left:0;width:662px;height:331px;background-image:url(https://merli-adventure.expo2025singapore.sg/assets/images/plane-clouds.png);background-repeat:repeat-x;object-fit:contain;z-index:100;visibility:hidden;opacity:0;transition:opacity .3s ease}.plane-clouds.back{opacity:.5;z-index:101;animation:clouds-move 35s linear infinite}.plane-clouds.front{opacity:.7;z-index:103;top:70%;animation:clouds-move 15s linear infinite}.plane-parent{position:fixed;top:50%;left:50%;width:100%;height:512px;z-index:102;transform:translateY(-50%);visibility:hidden;opacity:0;transition:opacity .3s ease}.plane-parent.fly{animation:plane-move 6s linear forwards}.plane-container{position:absolute;left:50%;top:25%;width:512px;height:auto;transform:translate(-50%,-50%)}.plane-container img{width:100%;height:100%;object-fit:contain}.plane-container.hover{animation:plane-hover 2s ease-in-out infinite}.bus-container.enter{animation:bus-move-part1 3s forwards}.bus-container.enter .bus-merli{animation:merli-drop 1s ease-out;animation-delay:1.5s;animation-fill-mode:forwards}.bus-top{position:absolute;top:0;left:0;width:100%;height:50%;background-repeat:no-repeat;background-size:contain;z-index:1}.bus-bottom{position:absolute;top:0;left:0;width:100%;height:50%;background-repeat:no-repeat;background-size:contain;z-index:3}.bus-merli{position:absolute;width:170px;height:115px;top:180px;left:690px;transform:translate(-50%);background-repeat:no-repeat;background-size:contain;z-index:2}@keyframes plane-hover{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes plane-move-part1{0%{transform:translateY(-50%)}to{transform:translate(-112%,-50%)}}@keyframes plane-move-part2{0%{transform:translate(-112%,-50%)}to{transform:translate(-300%,-50%)}}.plane-parent.fly-part1{animation:plane-move-part1 2s linear forwards}.plane-parent.fly-part2{animation:plane-move-part2 2s linear forwards}.plane-window{position:absolute;bottom:-50px;left:50px;width:50%;height:auto;z-index:2}.plane-window img{position:absolute;bottom:0;left:50%;width:50%;height:auto;object-fit:cover;transform:scale(0);transform-origin:0% 0%;opacity:0}.plane-window img.scale-in{animation:plane-window-scale .5s ease-out forwards}.plane-window img.scale-out{animation:plane-window-unscale .5s ease-out forwards}.scene-popup{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:296px;max-width:50svw;height:335px;z-index:7;background-position:center;background-repeat:no-repeat;background-size:contain;opacity:0;pointer-events:none;display:none}.scene-popup-text{position:absolute;width:100%;bottom:70px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;justify-content:center;min-height:56px;color:#fff;text-align:center;font-family:Poppins;font-size:18px;font-style:normal;font-weight:700;line-height:28px;letter-spacing:.364px;z-index:8;pointer-events:none}.scene-popup.active{display:block}.game-item{position:absolute;width:100px;height:100px;background-size:contain;background-position:center;background-repeat:no-repeat;transform:translate(-50%);z-index:6}#fireworks-container{z-index:0}.firework{position:absolute;background-position:center;transform-origin:center center}.gradient-background{position:absolute;top:-30svh;left:0;width:100%;height:calc(100% + 30svh);z-index:2;pointer-events:none;background:transparent}#score-screen{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1000;display:none;background:radial-gradient(89.66% 43.1% at 50% 50%,#ffd0b1 0%,#fd807e 40%,#ed3f49 100%);overflow:hidden;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}#score-screen.active{display:flex}#final-score-container{position:relative;display:flex;justify-content:center;align-items:center}.final-score-content{position:relative;width:100%;height:100%;display:flex;flex-direction:column;gap:18px;align-items:center;justify-content:center;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.score-title{font-family:Poppins,sans-serif;font-weight:700;color:#fd807e;font-size:35px;z-index:2;letter-spacing:.5px;text-align:center;text-shadow:0 -2px #fff5de,0 4px #fff5de,2px 0 #fff5de,-2px 0 #fff5de,1px 4px #fff5de,-1px -1px #fff5de,1px -1px #fff5de,-1px 1px #fff5de}.score-display{width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center}.score-border{background:linear-gradient(to bottom,#ffffff 0%,#ffffff00 100%);border-radius:24px;width:284px;height:114px}.final-score-container{position:relative;width:280px;height:110px;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;justify-content:center;align-items:center;background:linear-gradient(0deg,#fa908f 0%,#fc968f 100%);border-radius:22px}#personal-best{background:linear-gradient(45deg,#ffffff,#ffffff00);width:172px;height:22px;border-radius:25px;transform:translateY(-15px);opacity:0}#personal-best p{position:relative;width:170px;height:20px;left:50%;top:50%;transform:translate(-50%,-50%);background-color:#fd807e;color:#fff;font-family:Poppins,sans-serif;font-size:12px;text-align:center;border-radius:25px}.rank-display{display:flex;flex-direction:column;align-items:center;justify-content:center}.active-rank-text{color:#fff;font-family:Poppins,sans-serif;font-size:12px;transform:translateY(20px)}.rank-badge-carousel{display:flex;justify-content:center;align-items:center}.inactive-badge{width:130px;height:130px}.inactive-badge img{width:100%;height:100%}.rank-badge-container{width:200px;height:280px;position:relative;z-index:1002;transform:scale(0)}#badge-left{opacity:0}#badge-img{position:relative;height:100%;left:50%;top:50%;transform:translate(-50%,-50%)}#rank-timeout{width:80px;height:16px;text-align:center;color:#fff;font-family:Poppins,sans-serif;font-size:12px;letter-spacing:1px;background-color:#fd807e;border-radius:25px;transform:translateY(-25px)}.score-glow{position:absolute;width:100%;height:100%;opacity:0;z-index:-2;pointer-events:none}#score-screen.active .score-glow{opacity:1;transition:opacity .75s ease-in-out;animation:rotate 20s linear infinite}#final-score{position:relative;font-family:Poppins,sans-serif;font-size:60px;font-weight:700;text-align:center;padding:.5rem;background:linear-gradient(0deg,#ffd0b1 10%,#fff5de 33%,#ffffff 75%,rgba(255,208,177,.75) 100%);color:#ff6b6b;-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-shadow:none}#final-score:before{content:attr(data-text);position:absolute;left:0;top:0;width:100%;height:100%;z-index:-1;background:linear-gradient(135deg,#f9565c 0%,#fd807e 42%,#ffa88f 100%);-webkit-text-stroke:4px;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;transform:translateY(7px)}#final-score:after{content:attr(data-text);position:absolute;left:0;top:0;width:100%;height:100%;z-index:-2;background:linear-gradient(135deg,#f9565c 0%,#fd807e 42%,#ffa88f 100%);-webkit-text-stroke:4px;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;transform:translateY(12px)}.score-buttons{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.8rem}.button-container{display:flex;justify-content:center;align-items:center;gap:.6rem}.button-label{background:linear-gradient(to bottom,#fcdcd9,#fbd6c6);border-radius:25px;width:260px;height:40px;font-family:Poppins,sans-serif;font-size:10px;font-weight:600;display:flex;justify-content:start;align-items:center;padding:0 20px;color:#e95c62}.circle-button{border-radius:50%;border:none;position:relative;display:flex;justify-content:center;align-items:center;cursor:pointer;transition:transform .2s;padding:0;overflow:hidden;z-index:1}.circle-button:before{content:"";top:0;right:0;bottom:0;left:0;border-radius:50%;padding:1px;background:linear-gradient(0deg,rgba(220,220,220,.2) -5.82%,rgba(255,255,255,.2) 61.41%),linear-gradient(0deg,rgba(255,208,177,.5),rgba(255,208,177,.5));mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;pointer-events:none}.circle-button:hover{transform:scale(1.1)}.circle-button.small{width:40px;height:40px;background:rgba(255,208,177,.5);display:flex;justify-content:center;align-items:center}.circle-button.large{width:75px;height:75px;background:linear-gradient(135deg,#ffd0b1 0%,#ed3f49 100%)}.circle-button.small img{width:75%;height:75%;z-index:1}.circle-button.large img{width:100%;height:100%}.score-splash{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1001;background:#964647;display:none;flex-direction:column;justify-content:center;align-items:center;padding-top:60x}.score-splash div:nth-child(1) img{width:100px;margin-bottom:20px}.score-splash p:nth-child(2){color:#fff;font-family:Poppins,sans-serif;font-size:23px;font-weight:700;text-align:center}.score-splash p:nth-child(4){color:#fdcfb3;font-family:Poppins,sans-serif;font-size:15px;font-weight:700;text-align:center}.score-splash p:nth-child(5){color:#fff;font-family:Poppins,sans-serif;font-size:20px;font-weight:700;text-align:center}.overlay-spacer{height:360px}.home-button{position:fixed;width:40px;height:40px;top:40px;left:20px;display:flex;align-items:center;justify-content:center;cursor:pointer;background:none;border:none;z-index:10;min-height:44px;min-width:44px;padding:12px;touch-action:manipulation}.home-button img{width:24px;height:24px}.charms-home-button{position:absolute;left:-20px;top:-2px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;background:none;border:none;z-index:10;min-height:44px;min-width:44px;padding:12px;touch-action:manipulation}charms-home-button img{width:24px;height:24px}.charms-home-button:hover{transform:scale(1.1)}.charms-home-button{width:24px;height:24px;filter:brightness(0) invert(1)}.charms-page{padding:calc(32px + env(safe-area-inset-top)) calc(9% + env(safe-area-inset-right)) env(safe-area-inset-bottom) calc(9% + env(safe-area-inset-left));display:flex;flex-direction:column;height:100svh;gap:0px;align-items:center;position:relative}.charms-page:before{content:"";position:fixed;top:0;left:0;width:100svw;height:100svh;background-size:cover;background-position:center;background-repeat:no-repeat;z-index:-1}.charms-header{display:flex;flex-direction:column;gap:0px;align-items:center;margin-bottom:18px;margin-top:4px;width:100%;position:relative}.charms-title{font-family:Poppins;font-weight:700;font-size:22px;color:#fff}.charms-subtitle{font-family:Poppins;font-weight:500;font-size:10px;color:#ffdcdc;text-align:center;width:90%}.charm-info-card{width:100%;height:125px;background:linear-gradient(0deg,rgba(255,208,177,.5) 0%,rgba(255,208,177,.5) 100%),linear-gradient(198deg,rgba(220,220,220,.2) -5.82%,rgba(255,255,255,.2) 61.41%);border-radius:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:12px;display:flex;gap:8px;align-items:center;margin-bottom:12px;position:relative}.charm-info-card:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;background:linear-gradient(180deg,#FFFFFF60 0%,#FFFFFF05 76%);border-radius:16px;z-index:-1;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;padding:1.5px}.charm-info-content{display:flex;height:100%;justify-content:center;flex-direction:column;gap:4px}.charm-info-image{width:85px;height:85px;object-fit:cover;border-radius:8px}.charm-info-title{font-family:Poppins;font-weight:600;font-size:clamp(16px,4vw,17px);text-transform:uppercase;color:#fff;line-height:1;text-overflow:ellipsis}.charm-info-description{font-family:Poppins;font-weight:380;font-size:clamp(9px,2.5vw,10px);line-height:clamp(12px,3vw,14px);color:#fff}.charms-header-row{display:flex;width:100%;justify-content:space-between;align-items:center;margin-bottom:2px;padding:0 6px}.stickers-count{font-family:Poppins;font-weight:500;font-size:11px;color:#fff}.download-button{display:flex;align-items:center;gap:4px;cursor:pointer}.download-button span{font-family:Poppins;font-weight:500;font-size:11px;color:#fff}.charms-grid{--grid-width:calc(100svw - 18%);--item-size: calc((var(--grid-width) - 24px) / 3);--base-height: calc(var(--item-size) * 3 + 68px);display:grid;width:100%;grid-template-columns:repeat(3,1fr);gap:8px;overflow-y:auto;padding:4px 9px 4px 4px;height:max(calc(var(--item-size) * 3 + 76px),min(calc(100svh - 350px - env(safe-area-inset-bottom)),calc(var(--item-size) * 4 + 76px + (100svh - 1043px))));margin-bottom:8px;scrollbar-width:thin;scrollbar-color:#FFFFFF60 transparent}.charms-grid::-webkit-scrollbar{width:6px;background:transparent}.charms-grid::-webkit-scrollbar-track{background:transparent;margin:4px}.charms-grid::-webkit-scrollbar{width:6px}.charms-grid::-webkit-scrollbar-track{background:transparent}.charms-grid::-webkit-scrollbar-thumb{background-color:#ffffff60;border-radius:3px}.charm-item-box{position:relative;aspect-ratio:1 / 1;background:linear-gradient(0deg,rgba(255,208,177,.5) 0%,rgba(255,208,177,.5) 100%),linear-gradient(198deg,rgba(220,220,220,.2) -5.82%,rgba(255,255,255,.2) 61.41%);border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;cursor:pointer;width:100%;max-width:var(--item-size)}.charm-item-box:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;background:linear-gradient(180deg,#FFFFFF60 0%,#FFFFFF05 76%);border-radius:12px;z-index:-1;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;padding:1.5px}.charm-item{width:80%;height:80%;display:flex;align-items:center;justify-content:center;position:relative;transition:background .3s}.charm-item:before{content:"";position:absolute;width:100%;height:100%;border-radius:12px;background:radial-gradient(circle,#FD807E00 0%,#FD807E00 100%);opacity:0;transition:opacity .3s}.charm-item.active:before{opacity:1;background:radial-gradient(circle,#FD807E00 0%,#FD807E75 100%)}.charm-item img{width:70%;height:auto;position:relative;z-index:1}.customize-button{width:100%;min-height:64px;border-radius:16px;background:#FFD0B150;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;margin-bottom:calc(2svh + env(safe-area-inset-bottom));position:relative}.customize-button:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;background:linear-gradient(180deg,#FFFFFF60 0%,#FFFFFF05 76%);border-radius:16px;z-index:-1;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;padding:1.5px}.customize-button span{font-family:Poppins;font-weight:500;color:#fff;font-size:16px}.charm-tutorial-page{position:relative;width:100svw;height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;gap:0px}.charm-tutorial-page:before{content:"";position:fixed;top:0;left:0;width:100svw;height:100svh;background-size:cover;background-position:center;background-repeat:no-repeat;z-index:-1}.charm-tutorial-page .main-logo{position:absolute;top:5%;left:50%;transform:translate(-50%);width:280px;z-index:2}.charm-tutorial-page .merli{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);width:140px;height:auto;z-index:3;opacity:1}.charm-tutorial-page .charm{position:absolute;width:60px;height:60px;z-index:2}.charm-tutorial-page .charm-1,.charm-tutorial-page .charm-2,.charm-tutorial-page .charm-3,.charm-tutorial-page .charm-4,.charm-tutorial-page .charm-5{position:absolute}.charm-tutorial-page .ct-dialog-box{position:absolute;bottom:max(170px,calc(env(safe-area-inset-bottom) + 150px));left:50%;transform:translate(-50%);background:rgba(255,208,177,.5);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;max-width:80%;width:400px;text-align:center;z-index:4;padding:25px 35px;justify-content:center}.tutorial-dialog-text{font-family:Poppins,sans-serif;font-size:13px;font-weight:400;line-height:20px;letter-spacing:-.24px;text-align:left;color:#fff;text-decoration-skip-ink:none;text-underline-position:from-font;margin:0}.charm-tutorial-page .next-ct-button{position:absolute;bottom:max(100px,calc(env(safe-area-inset-bottom) + 90px));left:50%;transform:translate(-50%);z-index:4}.deco-star{position:absolute;width:20px;height:20px;z-index:2;pointer-events:none;animation:starPulse 10s infinite ease-in-out}@keyframes starPulse{0%{opacity:.7;filter:brightness(.8)}50%{opacity:1;filter:brightness(1.5)}to{opacity:.7;filter:brightness(.8)}}.charm-tutorial-page .star-container{position:absolute;width:40px;height:40px;display:flex;justify-content:center;align-items:center;z-index:2}.star-glow{position:absolute;width:30px;height:30px;background:radial-gradient(circle,rgba(255,253,205,.9) 0%,rgba(255,253,205,0) 70%);border-radius:50%;animation:glowPulse 10s infinite ease-in-out;z-index:1}@keyframes glowPulse{0%{opacity:.4;transform:scale(1)}50%{opacity:.8;transform:scale(1.5)}to{opacity:.4;transform:scale(1)}}.postcard-home-button,.postcard-back-button,.postcard-cancel-button,.postcard-done-button{width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;background:none;border:none;z-index:10;min-height:44px;min-width:44px;padding:12px;touch-action:manipulation}.postcard-home-button:hover,.postcard-back-button:hover,.postcard-cancel-button:hover,.postcard-done-button:hover{opacity:.8}.postcard-home-button,.postcard-back-button .postcard-back-arrow,.postcard-cancel-button .postcard-cancel-icon,.postcard-done-button .postcard-done-icon{width:24px;height:24px;filter:brightness(0) invert(1)}.postcard-back-button .postcard-back-arrow{transform:rotate(180deg)}.postcard-cancel-button{position:absolute;left:-20px;top:-2px}.postcard-done-button{position:absolute;right:-20px;top:-2px}.postcard-back-button{position:absolute;left:-20px;top:-2px}.postcard-page{padding:calc(32px + env(safe-area-inset-top)) calc(9% + env(safe-area-inset-right)) calc(40px + env(safe-area-inset-bottom)) calc(9% + env(safe-area-inset-left));display:flex;flex-direction:column;height:100vh;gap:0px;align-items:center;position:relative}.postcard-page:before{content:"";position:fixed;top:0;left:0;width:100svw;height:100svh;background-size:cover;background-position:center;background-repeat:no-repeat;z-index:-1}.postcard-header{display:flex;flex-direction:row;justify-content:center;align-items:center;width:100%;position:relative;margin-bottom:4vh}.postcard-home-button{position:absolute;left:-20px;top:50%;transform:translateY(-50%)}.postcard-title,.postcard-title2{font-family:Poppins;font-weight:700;color:#fff;margin:0;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.postcard-title{font-size:22px}.postcard-title2{font-size:28px;line-height:34px;letter-spacing:.364px}.postcard-description{font-family:Poppins;font-weight:500;font-size:11px;color:#ffdcdc;width:100%;text-align:center;margin:0;padding:0}.postcard-camera-container{width:clamp(320px,360px,82%);height:auto;aspect-ratio:3/4;position:relative;border-radius:16px 16px 18px 18px;overflow:hidden;background:#00000000;transform:translateZ(0);background-size:contain}.postcard-camera-container.no-rounded-corners{border-radius:0!important;overflow:visible!important;padding:0!important;margin:0!important}.postcard-camera-container.no-rounded-corners *{border-radius:0!important;overflow:visible!important}.postcard-camera-container.no-rounded-corners .postcard-scene{bottom:0!important;height:100%!important;background-size:cover!important;background-position:center!important}#camera-feed{position:absolute;width:100%;height:100%;left:0;top:0;object-fit:cover;object-position:center;transform:scaleX(-1);display:block}canvas{position:absolute;width:100%!important;height:100%!important;left:0;top:0;object-fit:cover;transform-origin:center}.thank-you-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background-color:#fff;border-radius:16px;padding:24px;box-shadow:0 4px 20px #0003;max-width:85%;width:320px;z-index:10000;text-align:center;cursor:pointer}.thank-you-modal .modal-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}.thank-you-modal .modal-title{font-family:Poppins,sans-serif;font-weight:700;font-size:24px;color:#333;margin:0;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.thank-you-modal .modal-description{font-family:Poppins,sans-serif;font-weight:400;font-size:16px;color:#666;line-height:1.5;margin:0;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.thank-you-modal .tap-to-continue{font-family:Poppins,sans-serif;font-weight:600;font-size:14px;color:#999;margin-top:16px;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.thank-you-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000a6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:9998}.placed-charm{position:absolute;width:50px;height:50px;cursor:move;touch-action:none;z-index:1}.placed-charm img{width:100%;height:100%;object-fit:contain;pointer-events:none}.postcard-scene{position:absolute;bottom:-2px;left:0;width:100%;height:calc(100% + 2px);background-size:cover;background-position:center bottom;background-repeat:no-repeat;opacity:0;transition:opacity .3s ease;pointer-events:none;z-index:2}.postcard-scene.active{opacity:1}.scene1{background-image:url(https://merli-adventure.expo2025singapore.sg/assets/images/scene-1.png)}.scene2{background-image:url(https://merli-adventure.expo2025singapore.sg/assets/images/scene-2.png)}.scene3{background-image:url(https://merli-adventure.expo2025singapore.sg/assets/images/scene-3.png)}.scene4{background-image:url(https://merli-adventure.expo2025singapore.sg/assets/images/scene-4.png)}.postcard-gradient{position:absolute;bottom:0;left:0;width:100%;height:115px;background:linear-gradient(to bottom,#00000000 0%,#00000000 100%);z-index:3}.postcard-logo{position:absolute;bottom:10px;left:calc(100% - 50px);transform:translate(-50%);width:80px;height:auto;z-index:4}.scene-selector{display:flex;gap:15px;margin:15px 0;justify-content:center;width:100%}.scene-button{width:30px;height:30px;border-radius:50%;background-color:#fdeaea;border:none;color:#f9565c;font-size:14px;line-height:14px;cursor:pointer;position:relative;transition:all .3s ease;display:flex;align-items:center;justify-content:center;font-family:Poppins;font-weight:600;padding:0;box-sizing:border-box;border:2px solid transparent;box-shadow:0 2px 4px #0000001a;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.scene-button.active{transform:scale(1.15);border:2px solid #FBAEAE;box-shadow:0 2px 8px #f9565c4d}.gradient-line{width:50svw;height:1px;background:linear-gradient(to right,transparent,white 50%,transparent);margin:10px auto}.photo-button{position:relative;width:54px;height:54px;background:none;border:none;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;margin:0 auto}.outer-circle{position:absolute;width:54px;height:54px;border:2.44px solid white;border-radius:50%}.inner-circle{position:absolute;width:48px;height:48px;background-color:#fff;border-radius:50%;transition:transform .2s ease}.photo-button:active .inner-circle{transform:scale(1.125)}.charm-buttons-container{display:flex;align-items:center;gap:10px;margin:2vh 0;position:relative;width:100%;overflow:hidden;justify-content:center}.charm-buttons-scroll{display:flex;gap:10px;overflow:hidden;width:240px}.charm-buttons-row{display:flex;gap:10px;width:max-content;transition:transform .3s ease;margin:5px}.charm-buttons{position:relative;aspect-ratio:1 / 1;background:#FFD0B150;border-radius:12px;display:flex;align-items:center;justify-content:center;cursor:pointer;width:50px;height:50px;flex-shrink:0;border:none;outline:none;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;transform:scale(1);transition:transform .2s ease}.charm-buttons.active{transform:scale(1.1)}.charm-buttons img{width:70%;height:70%;object-fit:contain}.chevron-button{width:24px;height:24px;background:none;border:none;padding:0;cursor:pointer;opacity:0;transition:opacity .3s ease;display:flex;align-items:center;justify-content:center}.chevron-button.visible{opacity:1}.chevron-button img{width:100%;height:100%}.chevron-button.left img{transform:scaleX(-1)}.ranking-container{display:flex;align-items:center;gap:15px;margin-top:4px;margin-bottom:8px}.ranking-text{color:#fff;font-family:Poppins;font-size:13px;font-style:normal;font-weight:500;line-height:normal;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.ranking-toggle{width:28px;height:17px;background:#FFD0B150;border-radius:8.5px;position:relative;cursor:pointer;transition:background-color .3s ease}.ranking-toggle.active{background:#FFD0B1}.ranking-toggle-circle{width:13px;height:13px;background:#FFF;border-radius:50%;position:absolute;top:2px;left:2px;transition:transform .3s ease,box-shadow .3s ease}.ranking-toggle.active .ranking-toggle-circle{transform:translate(11px);box-shadow:0 2px 4px #0003}.postcard-rank-badge{position:absolute;top:10px;right:10px;width:120px;height:120px;z-index:10;display:none;pointer-events:none;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3));object-fit:contain;transition:opacity .2s ease}.share-container{width:auto;position:relative;margin-top:4px}.share-button{width:45px;height:45px;border-radius:50%;background:linear-gradient(135deg,#FFD0B1 0%,#FD807E 57%,#ED3F49 100%);display:flex;align-items:center;justify-content:center;color:#fff;cursor:pointer;border:none;padding:0}.share-button img{width:24px;height:24px;margin:0}.charm-buttons:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:12px;padding:1px;background:linear-gradient(180deg,#FFFFFF60 0%,#FFFFFF05 76%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;pointer-events:none}.share-description{color:#fff;text-align:center;font-family:Outfit;font-size:16px;font-style:normal;font-weight:500;line-height:normal;margin:8px 0;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;width:360px}