:root{--pink:#ff58a6;--hot:#f52c80;--cherry:#d81b55;--deep:#7c2144;--milk:#fff8f1;--round:'Baloo 2','Be Vietnam Pro',sans-serif;--body:'Be Vietnam Pro',sans-serif}*{box-sizing:border-box}body{margin:0;background:#ffd8e9;color:var(--deep);font:14px/1.6 var(--body);overflow-x:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit;touch-action:manipulation}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid #8e1743;outline-offset:5px}button:disabled{cursor:wait}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}.site-header{height:85px;background:#fff8f5;border-bottom:2px solid #f2b5cd;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;position:relative;z-index:10}.wordmark{display:flex;align-items:center;gap:10px;font:600 22px var(--round);letter-spacing:-.5px}.wordmark>svg{width:46px;height:38px;color:var(--hot);transform:rotate(-12deg)}.wordmark b{font-weight:800;color:var(--hot)}.wordmark i{font-style:normal;margin-left:6px;color:var(--hot)}.header-actions{display:flex;align-items:center;gap:12px}.today-badge{font-size:11px;margin-right:15px}.pill-button{background:#fff8f5;border:1.5px solid #e5a2bd;border-radius:30px;padding:10px 17px;font-size:11px;font-weight:600;transition:background .2s,transform .2s}.pill-button:hover{background:#ffdfed;transform:translateY(-2px)}.sound-icon{font-size:17px;margin-right:4px}.collection-button{border-color:var(--deep);background:#fff1c8}.collection-button span{display:inline-grid;place-items:center;background:var(--cherry);color:#fff;width:23px;height:23px;border-radius:50%;font-size:10px;margin-left:7px}.arcade-stage{min-height:calc(100svh - 85px);position:relative;display:grid;grid-template-columns:.82fr 1.18fr;align-items:center;gap:2vw;padding:45px 6vw 92px;isolation:isolate;background-color:#ffd8e9;background-image:radial-gradient(#ffb9d8 1.3px,transparent 1.3px);background-size:20px 20px;overflow:hidden}.shop-floor{position:absolute;bottom:0;left:0;right:0;height:30%;z-index:-1;background-color:#fff0f5;background-image:conic-gradient(#ffc1db 25%,transparent 0 50%,#ffc1db 0 75%,transparent 0);background-size:110px 110px;transform:perspective(600px) rotateX(45deg) scale(1.4);transform-origin:bottom;opacity:.75}.shop-intro{position:relative;z-index:2;padding-bottom:5px}.open-ticket{display:inline-flex;gap:9px;align-items:center;background:#fff8f1;color:var(--cherry);border:1.5px solid #ee8cb6;border-radius:6px;padding:6px 11px;transform:rotate(-3deg);font-size:10px;font-weight:700;letter-spacing:1.3px;margin-bottom:24px;box-shadow:3px 3px 0 #f7b2cf}.ticket-dot{width:7px;height:7px;background:var(--hot);border-radius:50%;animation:blink 2s ease infinite}h1{font:800 clamp(42px,4.3vw,73px)/1.08 var(--round);letter-spacing:-2.4px;margin:0 0 22px;white-space:nowrap;color:#9a1d4e}h1 em{font-style:normal;color:var(--hot)}h1>span{position:relative;color:var(--hot)}h1>span:after{content:'';position:absolute;width:100%;height:9px;bottom:-4px;left:0;background:#ff9ac8;border-radius:50%;transform:rotate(-2deg);z-index:-1}.intro-description{font-size:12px;line-height:1.9;margin:0 0 26px;color:#a34b70}.guest-ticket{display:flex;align-items:center;position:relative;width:355px;max-width:95%;background:#fff6cf;border:1.5px solid #dbb36c;border-radius:9px;min-height:105px;transform:rotate(-2deg);box-shadow:4px 5px 0 #eaa4bf;margin:0 0 23px}.guest-ticket:before,.guest-ticket:after{content:'';position:absolute;width:17px;height:17px;background:#ffd8e9;border-radius:50%;left:42px;border:1px solid #e3c28d}.guest-ticket:before{top:-10px}.guest-ticket:after{bottom:-10px}.ticket-side{writing-mode:vertical-rl;transform:rotate(180deg);font-size:10px;letter-spacing:2px;padding:0 17px;border-left:1.5px dashed #dcbb89;height:75px;text-align:center}.guest-ticket>div{padding:10px 16px}.guest-ticket>div>span{display:block;font-size:10px}.guest-ticket strong{font:800 34px/1.1 var(--round);display:flex;align-items:center;gap:11px;color:var(--cherry)}.guest-ticket strong svg{width:37px;height:27px;color:var(--hot)}.guest-ticket small{display:block;font-size:8px;margin-top:5px}.ticket-heart{font-size:35px;color:var(--hot);padding-right:15px}.host{display:flex;align-items:center;gap:8px;max-width:440px;min-height:166px}.host-character{position:relative;width:136px;flex-shrink:0;align-self:flex-end}.host-character img{display:block;width:100%;transform-origin:bottom;animation:host-bob 4s ease-in-out infinite}.host-name{position:absolute;bottom:-3px;left:13px;right:5px;text-align:center;transform:rotate(-6deg);background:var(--cherry);color:white;padding:3px 7px;border-radius:4px;font-size:9px}.speech{background:var(--milk);border:1.5px solid #ed85b2;border-radius:20px 20px 20px 3px;padding:17px 17px 13px;position:relative;box-shadow:3px 3px 0 #f4a9c9;max-width:270px}.speech p{font-size:11px;line-height:1.9;margin:0}.speech b{color:var(--cherry)}.host-scribble{font:600 13px var(--round);color:#d9437a;display:block;margin-top:8px}.text-link{border:0;background:none;font-size:10px;font-weight:600;color:#a64369;text-decoration:underline;text-underline-offset:4px;padding:18px 0 0;text-align:left}.text-link:hover{color:var(--hot)}.machine-area{position:relative;justify-self:center;width:min(100%,680px);padding:0 24px;perspective:1200px}.machine{position:relative;width:100%;filter:drop-shadow(14px 20px 0 #d83e771c);transform-origin:bottom center}.top-bow{position:absolute;width:110px;height:73px;top:-48px;left:calc(50% - 55px);z-index:6;transform:rotate(-7deg);color:#f42a66;filter:drop-shadow(0 4px 0 #bd1d51)}.top-bow svg{width:100%;height:100%}.marquee{height:95px;background:#ff58a6;border:3px solid #d52d70;border-radius:40px 40px 4px 4px;display:flex;align-items:center;justify-content:center;gap:24px;box-shadow:inset 0 7px 0 #ff9ec9,inset 0 -6px 0 #e62e83;color:#fffaf1;position:relative}.marquee:before{content:'';position:absolute;inset:11px 17px 13px;border:3px dotted #ffeacb;border-radius:25px 25px 5px 5px;pointer-events:none}.marquee>div{text-align:center;padding-top:8px}.machine-title{display:block;font:800 clamp(25px,2.5vw,42px)/1 var(--round);letter-spacing:2px;text-shadow:2px 3px 0 #bf205d}.marquee-subtitle{display:block;font-size:9px;letter-spacing:2px;margin-top:4px}.marquee-star{font-size:28px;color:#fff2a6}.awning{display:flex;height:26px;position:absolute;top:93px;left:9px;right:9px;z-index:6;filter:drop-shadow(0 5px 0 #b61c5126);pointer-events:none}.awning i{flex:1;background:#fff6ef;border-radius:0 0 50% 50%;border-bottom:2px solid #e9acc5}.awning i:nth-child(even){background:#ff89be;border-color:#e94d92}.glass-frame{position:relative;background:#ff8fc2;border:3px solid #d52d70;border-top:0;padding:20px 21px 14px;box-shadow:inset 6px 0 0 #ffbbdb,inset -6px 0 0 #ec579b}.glass{height:305px;background:#fff2f4;position:relative;overflow:hidden;border:3px solid #c82b68;border-radius:18px 18px 6px 6px;box-shadow:inset 0 7px 0 #e9b8cd}.glass-back{position:absolute;inset:0;background-color:#fff1f6;background-image:repeating-linear-gradient(90deg,transparent 0,transparent 49px,#ffdce9 50px,#ffdce9 51px);pointer-events:none}.glass-heart{position:absolute;font:400 180px/1 var(--round);color:#ffcfdf;top:46px;left:calc(50% - 75px);transform:rotate(-9deg)}.glass-label{position:absolute;font:700 17px var(--round);color:#ec9dbb;top:112px;left:calc(50% - 85px);transform:rotate(-9deg)}.tiny-star{position:absolute;font-style:normal;color:#f48db7;font-size:32px}.ts-a{top:45px;left:40px}.ts-b{top:85px;right:30px}.bulb-strip{position:absolute;top:28px;bottom:18px;width:8px;background-image:radial-gradient(circle,#fff7bd 3px,#d8417d 3px,#d8417d 4px,transparent 4px);background-size:8px 28px;z-index:3}.bulb-strip.left{left:5px}.bulb-strip.right{right:5px}.claw-rail{position:absolute;top:17px;left:0;right:0;height:8px;background:#d791ad;border-top:2px solid #ae667f;border-bottom:2px solid #ffebf2;z-index:3}.claw-unit{position:absolute;top:16px;left:50%;width:90px;height:110px;transform:translateX(-50%);z-index:5;--drop:25px;transition:left .12s linear}.claw-trolley{position:absolute;top:-6px;left:23px;width:44px;height:21px;background:#fa75af;border:2px solid #b22663;border-radius:5px;box-shadow:inset 0 4px 0 #ffb5d7;z-index:2}.claw-trolley:after{content:'♡';position:absolute;inset:0;text-align:center;font:bold 11px var(--body);color:white}.claw-cable{position:absolute;top:10px;left:43px;width:4px;height:var(--drop);background:#c18ca0;border-left:1px solid #eddae3;transition:height .85s cubic-bezier(.45,0,.25,1)}.claw-hand{position:absolute;top:var(--drop);left:0;width:90px;height:90px;transition:top .85s cubic-bezier(.45,0,.25,1)}.claw-hand svg{width:100%;height:100%;stroke:#a73b68;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;fill:none}.claw-arm{transform-origin:50px 28px;transition:transform .3s}.claw-unit.gripping .arm-left{transform:rotate(-21deg)}.claw-unit.gripping .arm-right{transform:rotate(21deg)}.capsules{position:absolute;inset:0;z-index:2}.capsule{position:absolute;width:83px;height:83px;border-radius:50%;border:3px solid #f97eaf;background:#ffd2e4;box-shadow:inset 0 0 0 4px #fff8f3,2px 5px 0 #dc39773d;transform:rotate(var(--rot));transition:transform .4s,opacity .25s;overflow:hidden}.capsule img{width:65px;height:65px;border-radius:50%;position:absolute;left:6px;top:6px;object-fit:cover;pointer-events:none}.capsule:after{content:'';position:absolute;left:-3px;right:-3px;height:38px;bottom:-1px;background:#ff74b2b8;border-top:2px solid #fff6f7aa;border-radius:0 0 60px 60px}.capsule:before{content:'';position:absolute;top:11px;left:12px;width:19px;height:9px;background:#ffffffc9;border-radius:100%;transform:rotate(-40deg);z-index:3}.capsule:nth-child(3n){border-color:#f3b95a;background:#fff0c3}.capsule:nth-child(3n):after{background:#ffd15eb8}.capsule:nth-child(3n+2){border-color:#ee90c2;background:#ffeaf5}.capsule:nth-child(3n+2):after{background:#ffbde3b8}.capsule.target{transform:rotate(var(--rot)) translateY(-8px);filter:brightness(1.07)}.capsule.captured{opacity:0;transform:translateY(-25px)}.caught-ball{position:absolute;top:calc(var(--drop) + 57px);left:14px;width:63px;height:63px;border:3px solid #fb6ca8;border-radius:50%;overflow:hidden;background:#ffc3df;transition:top .85s cubic-bezier(.45,0,.25,1)}.caught-ball img{width:100%;height:100%;object-fit:cover}.caught-ball:after{content:'';position:absolute;inset:50% 0 0;background:#ff84baa6;border-top:2px solid white}.prize-cloud{position:absolute;bottom:-22px;left:-10px;right:-10px;height:42px;background:#ffb5d6;border-radius:50% 50% 0 0;z-index:3;pointer-events:none}.glass-front-note{position:absolute;bottom:8px;left:0;right:0;z-index:6;color:#9f3663;font-size:9px;text-align:center;pointer-events:none}.glass-shine{position:absolute;top:35px;left:15px;width:14px;height:90px;background:#fff9;border-radius:30px;transform:rotate(24deg);pointer-events:none;z-index:6}.glass-shine:after{content:'';position:absolute;left:22px;top:25px;width:6px;height:44px;background:#fff8;border-radius:30px}.machine-deck{background:#ff71b2;border:3px solid #c82b68;border-top:0;display:flex;align-items:center;justify-content:space-around;padding:13px 15px 10px;min-height:115px;box-shadow:inset 0 8px 0 #ffb0d1,inset 0 -8px 0 #ec4b92;position:relative;z-index:3}.joystick-control{width:116px;text-align:center}.joystick{position:relative;height:65px;width:72px;margin:0 auto;cursor:ew-resize;touch-action:none}.joystick-base{position:absolute;bottom:3px;width:65px;height:17px;left:3px;background:#c72d6a;border:2px solid #a71a50;border-radius:50%;box-shadow:0 4px 0 #9e254d}.joystick-stem{position:absolute;bottom:14px;left:29px;width:10px;height:34px;background:#fceaf1;border:2px solid #b74b75;transform-origin:bottom;z-index:2;transition:transform .15s}.joystick-knob{position:absolute;width:36px;height:32px;top:1px;left:16px;border:2px solid #b41851;border-radius:50%;background:#f1286b;z-index:3;box-shadow:inset 5px 4px 0 #ff6da1;transition:transform .15s}.direction-buttons{display:flex;justify-content:center;gap:8px;align-items:center;margin-top:1px}.direction-buttons button{background:#fff0f7;border:1.5px solid #c93070;border-radius:7px;width:26px;height:23px;font-size:9px;box-shadow:0 2px 0 #b82e63;padding:0}.direction-buttons button:active{transform:translateY(2px);box-shadow:none}.direction-buttons span{font-size:8px;font-weight:700;letter-spacing:.5px;color:#8e1e4f}.machine-display{background:#fff4cc;border:3px solid #c92e6c;border-radius:9px;padding:7px 9px;min-width:150px;text-align:center;box-shadow:inset 0 3px 0 #e9d18c}.machine-display>span:first-child{display:block;font-size:7px;letter-spacing:.6px;font-weight:600}.machine-display strong{font:800 20px/1.3 var(--round);display:block;color:#d22866}.display-hearts{font-size:15px;line-height:1;letter-spacing:4px;color:#e73d7d}.catch-control{text-align:center;width:116px}.catch-button{display:block;margin:0 auto 9px;border:3px solid #a80d42;background:#f4256a;border-radius:50%;width:75px;height:65px;box-shadow:0 6px 0 #ab1249,inset 3px 4px 0 #ff8bb6;color:#fff9ec;transition:transform .1s,box-shadow .1s;transform:rotate(-5deg)}.catch-button span{font:800 22px/.85 var(--round);display:block;text-shadow:1px 2px 0 #b31c4f}.catch-button:active{transform:translateY(5px) rotate(-5deg);box-shadow:0 1px 0 #ab1249,inset 3px 4px 0 #ff8bb6}.catch-button:disabled{filter:saturate(.7)}.catch-control>span{font-size:6px;font-weight:700}.machine-bottom{height:99px;background:#ff8abe;border:3px solid #c82b68;border-top:0;border-radius:0 0 24px 24px;display:flex;align-items:center;justify-content:space-between;padding:12px 24px;box-shadow:inset 7px 0 0 #ffb1d5,inset -7px 0 0 #eb5496,inset 0 -9px 0 #e3468a}.bottom-brand{display:flex;gap:8px;align-items:center}.bottom-brand svg{width:50px;height:40px;color:#f42b6d;transform:rotate(-10deg)}.bottom-brand span{font:600 12px/1.1 var(--round);color:#a51f54;transform:rotate(-7deg)}.bottom-brand b{font-size:18px}.prize-slot{width:195px;text-align:center}.prize-slot>span{display:block;font-size:7px;font-weight:700;letter-spacing:1.7px;margin-bottom:5px}.slot-opening{height:47px;border:4px solid #d53a77;border-radius:9px 9px 14px 14px;background:#8c224e;box-shadow:inset 0 9px 0 #6c1b3f;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.slot-opening button{position:absolute;inset:1px 3px 3px;background:#fff0cb;color:#a82356;border:0;border-radius:5px;font-size:11px;font-weight:700;animation:prize-pop .5s both}.mini-gift{font-size:22px;vertical-align:middle;margin-right:4px}.machine-serial{writing-mode:vertical-rl;font-size:7px;letter-spacing:2px;font-weight:700}.machine-feet{display:flex;justify-content:space-between;padding:0 50px;position:absolute;width:100%;bottom:-12px;z-index:-1}.machine-feet i{width:45px;height:20px;background:#b72c64;border-radius:0 0 9px 9px}.machine-sticker{position:absolute;z-index:7;text-align:center;font:600 17px/1.1 var(--round);pointer-events:none}.sticker-a{top:65px;right:-22px;background:#fff5ae;border:2px solid #e7b966;color:#cb3a66;padding:16px 11px;border-radius:50%;transform:rotate(15deg);width:101px;height:101px;display:flex;align-items:center;justify-content:center;flex-direction:column;box-shadow:3px 4px 0 #eaa24e35}.sticker-a b{font-size:19px}.sticker-a i{position:absolute;bottom:-9px;font-size:23px;left:3px;font-style:normal;color:var(--hot)}.sticker-b{bottom:53px;left:-36px;background:#fff4f8;border:2px solid #ed79aa;border-radius:8px;padding:10px 15px;transform:rotate(-10deg);font-size:14px;box-shadow:3px 4px 0 #d0447530}.keyboard-hint{margin:25px 0 0;text-align:center;font-size:9px;color:#a04469;white-space:nowrap}.keyboard-hint span{margin:0 7px}.keyboard-hint kbd{font:600 9px var(--body);background:#fff3f7;border:1px solid #e79dbd;border-radius:4px;padding:3px 6px;box-shadow:0 2px 0 #e7a1bd;margin-right:2px}.bottom-ribbon{position:absolute;bottom:0;left:-10px;right:-10px;height:40px;display:flex;align-items:center;justify-content:space-around;gap:30px;background:var(--hot);color:#fff6ed;font:700 14px var(--round);letter-spacing:1px;white-space:nowrap;border-block:2px solid #d32668}.hanging-heart{position:absolute;top:0;color:#ff72ad;font-size:45px;transform-origin:top center;animation:sway 7s ease-in-out infinite;pointer-events:none}.hanging-heart:before{content:'';position:absolute;bottom:80%;height:85px;width:2px;background:#efa0c1;left:50%}.heart-a{left:40%;top:50px}.heart-b{left:3%;top:53px;font-size:25px;animation-delay:-3s}.machine.busy .bulb-strip{animation:blink .3s infinite}.machine.shaking{animation:shake .16s linear 8}.machine.oversize .glass{animation:blush .5s alternate infinite}.slot-ready{animation:slot-glow .8s ease-in-out infinite alternate}
dialog{border:2px solid #e75291;border-radius:26px;padding:0;background:#fff8f3;color:var(--deep);max-height:92svh;max-width:94vw;box-shadow:10px 12px 0 #b3134f25;overflow:auto}dialog::backdrop{background:#8f1d4c65;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.dialog-close{position:absolute;right:17px;top:15px;z-index:9;width:38px;height:38px;border-radius:50%;border:1.5px solid #f08bb7;background:#fff8f2;color:var(--cherry);font-size:26px;line-height:1;display:grid;place-items:center}.dialog-close:hover{background:#ffdeec}.gift-dialog{width:1080px;overflow:hidden}.gift-layout{display:grid;grid-template-columns:1.15fr 1fr;min-height:600px}.gift-photo-panel{background:#ffc4df;padding:28px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;min-height:600px}.gift-photo-frame{background:#fff9f3;padding:12px 12px 30px;transform:rotate(-3deg);width:100%;height:100%;max-height:72vh;box-shadow:5px 7px 0 #d0568933;position:relative}.gift-photo-frame img{display:block;width:100%;height:100%;max-height:calc(72vh - 50px);object-fit:contain;background:#ffeaf2}.gift-photo-frame>span{position:absolute;bottom:3px;left:0;right:0;text-align:center;font:700 18px var(--round);color:#d84380}.gift-photo-panel:before,.gift-photo-panel:after{content:'✦';position:absolute;color:#fff8ba;font-size:50px;z-index:3}.gift-photo-panel:before{top:8px;left:8px;transform:rotate(-10deg)}.gift-photo-panel:after{bottom:10px;right:10px;font-size:40px}.gift-copy{padding:60px 36px 28px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.little-label{font-size:9px;font-weight:700;letter-spacing:1.8px;color:var(--cherry);display:block;margin-bottom:16px}.gift-copy h2{font:800 47px/1.1 var(--round);letter-spacing:-1.4px;margin:0 0 22px;color:#d62b6d}.gift-copy>p{font-size:13px;line-height:1.9;color:#9c4f6f;margin:0 0 20px}.gift-note{background:#ffebcc;color:#a24364;border-radius:8px;padding:16px 20px;font:600 20px/1.4 var(--round);width:100%;position:relative;transform:rotate(-2deg);margin:10px 0 22px}.gift-note:before{content:'';position:absolute;top:-6px;left:calc(50% - 20px);width:40px;height:14px;background:#ff8eba99;transform:rotate(5deg)}.gift-actions{margin-top:auto;width:100%;padding-top:15px;display:flex;align-items:center;gap:15px}.big-pink-button{background:var(--hot);color:#fff9ee;border:2px solid #c52161;border-radius:40px;padding:14px 23px;font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:18px;box-shadow:0 5px 0 #bd245a;transition:transform .15s,box-shadow .15s;touch-action:none}.big-pink-button:hover{background:#f93f8b;transform:translateY(-2px)}.big-pink-button:active{transform:translateY(4px);box-shadow:0 1px 0 #bd245a}.gift-nav{display:flex;gap:8px;margin-left:auto}.gift-nav button{width:35px;height:35px;border-radius:50%;border:1.5px solid #e78bad;background:#ffe1ee;color:var(--cherry)}.prize-kind{display:inline-block;background:#fff2c0;border:1.5px solid #ebbf70;border-radius:7px;padding:5px 10px;font-size:9px;font-weight:600;transform:rotate(-3deg);margin-bottom:23px}.photobooth{padding:15px 15px 35px;background:#fffaf4;max-height:76vh;transform:rotate(-4deg);width:265px;display:flex;flex-direction:column;gap:8px;box-shadow:5px 7px 0 #d0568933;position:relative}.photobooth img{width:100%;height:calc((70vh - 110px)/3);min-height:100px;object-fit:cover}.photobooth span{position:absolute;bottom:6px;left:0;right:0;text-align:center;color:var(--hot);font:700 16px var(--round)}.receipt-panel{background:#ff9dcc;min-height:570px;padding:45px 30px;display:flex;align-items:center;justify-content:center;position:relative}.receipt{background:#fffbea;padding:30px 27px 35px;width:300px;transform:rotate(-4deg);box-shadow:6px 8px 0 #a31a4c26;position:relative;text-align:center;color:#a8325b}.receipt:after{content:'';position:absolute;left:0;right:0;bottom:-9px;height:12px;background:linear-gradient(135deg,#fffbea 25%,transparent 25%) -6px 0/12px 12px,linear-gradient(225deg,#fffbea 25%,transparent 25%) -6px 0/12px 12px}.receipt svg{width:70px;color:var(--cherry)}.receipt h3{font:800 29px/1.1 var(--round);margin:13px 0}.receipt small{display:block;font-size:9px}.receipt-row{display:flex;justify-content:space-between;padding:13px 0;font-size:12px;border-bottom:1px dashed #d5acaa}.receipt-total{font:700 23px var(--round);margin:19px 0 8px}.receipt-barcode{height:34px;margin:22px 12px 10px;background:repeating-linear-gradient(90deg,#a8325b 0 2px,transparent 2px 4px,#a8325b 4px 5px,transparent 5px 9px,#a8325b 9px 12px,transparent 12px 15px)}.collection-dialog{width:1120px;padding:32px 36px}.collection-heading{display:flex;justify-content:space-between;position:relative;margin-bottom:25px}.collection-heading .dialog-close{right:-18px;top:-15px}.collection-heading h2{font:800 45px/1.1 var(--round);letter-spacing:-1px;margin:0 0 8px;color:var(--cherry)}.collection-heading h2 span{color:#fa6aa8}.collection-heading p{font-size:12px;margin:0;color:#aa5c7b}.collection-heading .little-label{margin-bottom:9px}.collection-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:20px 17px;padding:5px}.collection-item{border:0;background:#ffe4ee;padding:7px 7px 22px;position:relative;transform:rotate(var(--rot));transition:transform .2s;box-shadow:3px 4px 0 #e7adc2;cursor:pointer}.collection-item img{width:100%;aspect-ratio:1;object-fit:cover;display:block}.collection-item>span{position:absolute;bottom:2px;left:0;right:0;text-align:center;font:600 13px var(--round)}.collection-item:hover{transform:rotate(0) scale(1.05);z-index:2}.collection-item.caught>span:after{content:' ♡';color:var(--hot)}
.birthday-room{position:relative;min-height:calc(100svh - 85px);background:#fff2f5;overflow:hidden;isolation:isolate;display:flex;align-items:center;justify-content:center;padding:75px 20px 50px}.birthday-room:after{content:'';position:absolute;left:0;right:0;bottom:0;height:20%;background-color:#ffd0e5;background-image:conic-gradient(#fff3f7 25%,transparent 0 50%,#fff3f7 0 75%,transparent 0);background-size:80px 80px;z-index:-2}.room-canopy{position:absolute;top:0;left:0;right:0;height:55px;background:repeating-linear-gradient(90deg,#ff57a3 0 65px,#ffc3dc 65px 130px);border-bottom:6px solid #ee3e87;border-radius:0 0 40% 40%/0 0 25% 25%;z-index:3}.room-photos{position:absolute;inset:0;pointer-events:none;z-index:-1}.room-photo{position:absolute;width:clamp(95px,11vw,177px);background:#fffaf4;border:0;padding:8px 8px 27px;box-shadow:5px 7px 0 #e78bac55;transform:rotate(var(--rot));pointer-events:auto;cursor:pointer;transition:scale .3s;animation:room-photo-in .8s both;animation-delay:var(--delay);color:var(--cherry)}.room-photo img{width:100%;aspect-ratio:1;object-fit:cover;display:block}.room-photo span{position:absolute;bottom:3px;left:0;right:0;text-align:center;font:600 13px var(--round)}.room-photo:hover{scale:1.08;z-index:6}.room-photo:before{content:'';position:absolute;left:calc(50% - 20px);top:-10px;width:40px;height:22px;background:#ff75b3aa;transform:rotate(-10deg)}.birthday-center{position:relative;z-index:2;text-align:center;width:min(560px,45vw);padding:8px 15px 12px;background:#fff2f5;border-radius:50%}.room-ticket{display:inline-block;background:#ffe68d;border:1.5px solid #e3bd64;transform:rotate(-4deg);padding:5px 13px;font-size:9px;font-weight:700;letter-spacing:2px;margin-bottom:20px}.birthday-center h2{font:800 clamp(42px,4.1vw,66px)/1.02 var(--round);color:#d72d71;letter-spacing:-2px;margin:0 0 16px}.birthday-center h2 em{color:#f34a91;font-style:normal}.room-description{font-size:12px;color:#aa5677;line-height:1.8;margin:0}.cake{position:relative;width:205px;height:183px;margin:13px auto 17px}.candle{position:absolute;top:35px;left:calc(50% - 8px);width:16px;height:38px;border:1.5px solid #bf416c;background:repeating-linear-gradient(130deg,#ff65aa 0 5px,#fff5ea 5px 10px);z-index:5}.wick{position:absolute;height:6px;width:2px;background:#803448;left:6px;top:-6px}.flame{position:absolute;width:15px;height:24px;background:#ffb52b;border:3px solid #ffd872;border-radius:65% 35% 65% 35%;left:-1px;top:-31px;transform:rotate(-25deg);transform-origin:bottom;animation:flame .5s ease-in-out infinite alternate;filter:drop-shadow(0 0 7px #ffb52570)}.flame.off{animation:none;transform:scale(0);transition:transform .3s}.cake-top{position:absolute;top:64px;left:15px;right:15px;height:45px;border-radius:50%;background:#fff8ec;border:2px solid #e88caf;z-index:4;display:grid;place-items:center;color:#f1498b;font-size:25px}.cake-body{position:absolute;top:83px;left:15px;right:15px;height:74px;border:2px solid #d75b8a;background:#ff9dc6;border-radius:0 0 45% 45%/0 0 24% 24%;z-index:2;padding-top:21px}.cake-body span{font:700 24px var(--round);color:#b41d59}.cake-body i{font-size:19px;position:absolute;bottom:0;font-style:normal;color:#fff4e6}.cake-body i:nth-child(2){left:15px}.cake-body i:nth-child(3){left:76px;bottom:-1px}.cake-body i:nth-child(4){right:15px}.cake-frosting{position:absolute;top:83px;left:18px;right:18px;height:34px;display:flex;justify-content:space-around;z-index:3}.cake-frosting i{width:21px;height:30px;background:#fff7eb;border-radius:0 0 18px 18px}.cake-frosting i:nth-child(even){height:22px}.cake-plate{position:absolute;bottom:12px;left:-2px;right:-2px;height:32px;background:#fff8ee;border:2px solid #e1a6ba;border-radius:50%;box-shadow:0 5px 0 #eea6c4;z-index:1}.blow-hint{font-size:10px;color:#b06083;margin:12px 0 0}.room-back{position:absolute;top:72px;left:30px;z-index:5;background:#fff5f4}.birthday-center .big-pink-button{position:relative;overflow:hidden;--hold:0}.birthday-center .big-pink-button:before{content:'';position:absolute;inset:0;background:#fff8;width:calc(var(--hold)*100%);pointer-events:none}.birthday-center .big-pink-button:disabled{opacity:.8}.letter-dialog{width:780px;text-align:center;padding:35px 45px 40px;background:#fff9ef;border:3px solid #eb5592;max-height:92vh;overflow-y:auto}.letter-bow{width:86px;height:61px;color:#f62c75;transform:rotate(-9deg);margin:0 auto 13px;display:block}.letter-dialog .little-label{margin-bottom:15px}.letter-dialog h2{font:800 clamp(36px,3.3vw,51px)/1.12 var(--round);color:#d32a68;letter-spacing:-1.2px;margin:0 0 15px}.letter-dialog h2 em{font-style:normal;color:#f54d95}.exact-wish{font-size:15px;font-weight:600;color:#c53c6d;margin:0 0 23px}.letter-body{font-size:12px;line-height:1.95;color:#a45473;margin-bottom:17px}.letter-sign{font:700 24px var(--round);color:#d52b6c;margin:18px 0 26px}.letter-actions{display:flex;justify-content:center;align-items:center;gap:18px}.wish-dialog{width:510px;padding:35px;text-align:center}.wish-decoration{font-size:55px;color:#f5bd47;line-height:1}.wish-dialog h2{font:800 35px/1.1 var(--round);color:#d42d70;margin:15px 0}.wish-dialog>p{font-size:12px;color:#aa5677}#wish-form{text-align:left;margin-top:24px}#wish-form label{display:block;font-size:12px;font-weight:600;margin-bottom:8px}textarea{resize:vertical;min-height:110px;width:100%;background:#fff1f7;border:1.5px solid #e793b5;border-radius:12px;padding:14px;color:var(--deep);font:13px/1.7 var(--body)}#wish-form small{font-size:9px;display:block;color:#a96684;margin:9px 0 23px}#wish-form .big-pink-button{width:100%}#wish-success img{width:145px;margin-top:10px}#wish-success p{font:700 24px var(--round);color:var(--cherry)}.transition-screen{position:fixed;inset:0;background:#ff83bc;z-index:40;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff8e9;text-align:center;animation:veil-in .4s both}.transition-screen h2{font:800 58px/1 var(--round);margin:35px 0 10px;letter-spacing:-1px;text-shadow:3px 4px 0 #d63d7e}.transition-screen p{font-size:14px}.giant-gift{width:180px;height:165px;background:#fff0bd;border:4px solid #d52a6b;border-radius:14px;position:relative;display:grid;place-items:center;box-shadow:8px 10px 0 #c6336c40;animation:gift-wiggle .7s ease-in-out infinite}.giant-gift:before{content:'';position:absolute;top:30px;left:-11px;right:-11px;height:30px;background:#ffb6d4;border:4px solid #d52a6b;border-radius:7px;z-index:3}.giant-gift:after{content:'୨୧';position:absolute;top:-78px;color:#e62c76;font:bold 100px var(--round);text-shadow:2px 3px 0 #a82356}.gift-ribbon{position:absolute;top:0;bottom:0;left:66px;width:40px;background:#ffb6d4;border-left:3px solid #d52a6b;border-right:3px solid #d52a6b}.giant-gift>span{z-index:4;position:absolute;right:15px;bottom:7px;color:#e52c73;font:700 43px var(--round)}#confetti{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:60}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,25px);opacity:0;pointer-events:none;z-index:70;background:#fff4cd;color:#a32d58;border:1.5px solid #d17f9f;border-radius:40px;padding:13px 24px;font-size:12px;box-shadow:3px 4px 0 #ac1a4a25;transition:.3s;max-width:90vw;width:max-content}#toast.show{opacity:1;transform:translate(-50%,0)}
@keyframes blink{50%{opacity:.35}}@keyframes sway{0%,100%{transform:rotate(-9deg)}50%{transform:rotate(9deg)}}@keyframes host-bob{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg) translateY(-4px)}}@keyframes shake{25%{transform:translateX(-6px) rotate(-.5deg)}75%{transform:translateX(6px) rotate(.5deg)}}@keyframes blush{to{background:#ffc4e0}}@keyframes slot-glow{to{filter:brightness(1.2)}}@keyframes prize-pop{from{transform:translateY(-60px)}to{transform:translateY(0)}}@keyframes flame{to{transform:rotate(6deg) scaleY(.9)}}@keyframes room-photo-in{from{opacity:0;scale:.6;translate:0 50px}to{opacity:1;scale:1;translate:0 0}}@keyframes gift-wiggle{0%,100%{transform:rotate(-8deg)}50%{transform:rotate(8deg) translateY(-10px)}}@keyframes veil-in{from{opacity:0}to{opacity:1}}
@media(min-width:1600px){.arcade-stage{padding:65px 7vw 110px}.glass{height:360px}.machine-area{width:750px}.marquee{height:105px}.awning{top:103px}.machine-deck{min-height:130px}.machine-bottom{height:110px}.host{margin-top:25px}.host-character{width:170px}.speech{padding:22px}.speech p{font-size:13px}.intro-description{font-size:14px}.guest-ticket{width:390px;min-height:115px}.guest-ticket small{font-size:10px}.machine-display{min-width:180px}.machine-title{font-size:41px}.catch-button{width:85px;height:75px}.catch-button span{font-size:26px}}
@media(max-height:800px) and (min-width:1000px){.site-header{height:70px}.arcade-stage{min-height:calc(100svh - 70px);padding:40px 6vw 65px}.glass{height:245px}.marquee{height:80px}.awning{top:78px}.machine-deck{min-height:98px;padding-top:6px;padding-bottom:6px}.machine-bottom{height:82px}.machine-area{max-width:590px}.open-ticket{margin-bottom:16px}h1{font-size:56px;margin-bottom:17px}.intro-description{margin-bottom:20px}.host{min-height:135px}.host-character{width:115px}.guest-ticket{min-height:93px;margin-bottom:12px}.keyboard-hint{margin-top:21px}.machine-title{font-size:32px}.marquee-subtitle{font-size:8px}.bottom-ribbon{height:33px;font-size:12px}.birthday-room{min-height:calc(100svh - 70px);padding:65px 20px 25px}.birthday-center h2{font-size:49px}.cake{margin:0 auto 7px;transform:scale(.9);height:167px}.room-ticket{margin-bottom:12px}.room-description{font-size:11px}.room-back{top:65px}}
@media(max-width:1100px) and (min-width:761px){.arcade-stage{padding-left:4vw;padding-right:4vw;gap:15px;grid-template-columns:.8fr 1.2fr}h1{font-size:47px;letter-spacing:-1.8px}.today-badge{display:none}.intro-description{font-size:11px}.machine-area{padding:0 12px}.marquee{gap:10px}.machine-title{font-size:29px}.machine-display{min-width:125px;padding:7px 5px}.machine-display strong{font-size:17px}.machine-display>span:first-child{font-size:6px}.machine-deck{padding-left:3px;padding-right:3px}.joystick-control,.catch-control{width:90px}.catch-control>span{font-size:5px}.machine-bottom{padding:9px 14px}.bottom-brand svg{width:37px}.bottom-brand span{font-size:10px}.bottom-brand b{font-size:16px}.prize-slot{width:165px}.sticker-a{width:80px;height:80px;font-size:14px;right:-18px;top:80px}.sticker-a b{font-size:16px}.sticker-b{left:-12px;font-size:12px}.guest-ticket{width:310px}.guest-ticket>div{padding:8px 10px}.guest-ticket small{font-size:7px}.host-character{width:110px}.speech{padding:13px}.speech p{font-size:10px}.host-scribble{font-size:11px}.keyboard-hint{font-size:8px}.gift-dialog{width:94vw}.gift-copy{padding:50px 25px 25px}.gift-copy h2{font-size:40px}.birthday-center{width:48vw}}
@media(max-width:760px){.site-header{height:72px;padding:0 18px}.wordmark{font-size:19px;gap:6px}.wordmark>svg{width:35px}.header-actions{gap:7px}.today-badge{display:none}.pill-button{padding:8px 12px;font-size:10px}.sound-icon{font-size:18px}.header-actions #sound-label{display:none}.header-actions #sound{padding:5px 10px}.collection-button{font-size:0}.collection-button:before{content:'Tủ ảnh';font-size:10px}.collection-button span{font-size:9px;width:20px;height:20px;margin-left:4px}.arcade-stage{display:flex;flex-direction:column;gap:35px;padding:30px 22px 80px;overflow:hidden}.shop-intro{width:100%;text-align:center}.open-ticket{font-size:8px;margin-bottom:20px}h1{font-size:clamp(35px,7.7vw,56px);letter-spacing:-1.7px;margin-bottom:18px}.intro-description{font-size:11px;margin-bottom:20px}.guest-ticket{width:320px;max-width:100%;margin:0 auto 20px;text-align:left;min-height:95px}.guest-ticket strong{font-size:31px}.guest-ticket small{font-size:7px}.host{margin:0 auto;max-width:350px;text-align:left;min-height:130px}.host-character{width:110px}.speech{padding:13px}.speech p{font-size:10px}.host-scribble{font-size:11px}.text-link{font-size:9px;padding-top:15px}.machine-area{padding:0 3px;width:100%;max-width:470px;margin-top:25px}.top-bow{width:90px;height:60px;top:-40px;left:calc(50% - 45px)}.marquee{height:83px;gap:16px;border-radius:28px 28px 4px 4px}.marquee:before{inset:10px 12px 12px;border-radius:17px 17px 4px 4px}.machine-title{font-size:27px}.marquee-star{font-size:18px}.marquee-subtitle{font-size:7px;letter-spacing:1px}.awning{top:81px;height:22px;left:6px;right:6px}.glass-frame{padding:19px 14px 12px}.glass{height:270px;border-width:2px}.capsule{width:70px;height:70px}.capsule img{width:54px;height:54px;left:5px;top:5px}.capsule:after{height:30px}.machine-deck{min-height:110px;padding:9px 0}.joystick-control,.catch-control{width:82px}.joystick{scale:.9}.machine-display{min-width:115px;padding:7px 4px;border-width:2px}.machine-display strong{font-size:16px}.machine-display>span:first-child{font-size:5px}.display-hearts{font-size:13px}.direction-buttons{gap:5px}.direction-buttons span{font-size:6px}.direction-buttons button{width:22px;height:20px}.catch-button{width:65px;height:58px}.catch-button span{font-size:20px}.catch-control>span{font-size:4px}.machine-bottom{height:87px;padding:9px 13px}.bottom-brand{gap:4px}.bottom-brand svg{width:32px}.bottom-brand span{font-size:9px}.bottom-brand b{font-size:14px}.prize-slot{width:150px}.prize-slot>span{font-size:6px}.slot-opening button{font-size:10px}.machine-serial{font-size:5px}.machine-feet{padding:0 33px}.sticker-a{width:73px;height:73px;font-size:12px;top:56px;right:-18px}.sticker-a b{font-size:14px}.sticker-b{left:-14px;bottom:40px;font-size:10px;padding:8px}.keyboard-hint{font-size:7px;margin-top:23px}.keyboard-hint kbd{font-size:8px;padding:2px 4px}.keyboard-hint span{margin:0 3px}.bottom-ribbon{height:32px;font-size:11px;gap:25px;justify-content:flex-start;padding-left:15px}.hanging-heart{display:none}.gift-dialog{width:94vw;max-height:94svh;overflow:auto}.gift-layout{grid-template-columns:1fr;min-height:0}.gift-photo-panel{min-height:0;height:49vh;padding:18px 35px}.gift-photo-frame{height:100%;width:100%;max-height:none;padding:9px 9px 25px}.gift-photo-frame img{max-height:100%;height:100%}.gift-photo-frame>span{font-size:15px}.gift-copy{padding:25px 24px 24px}.gift-copy .little-label{font-size:8px;margin-bottom:9px}.gift-copy h2{font-size:34px;margin-bottom:12px}.gift-copy>p{font-size:11px;line-height:1.8;margin-bottom:13px}.gift-note{font-size:17px;padding:12px 15px;margin:8px 0 14px}.gift-actions{padding-top:8px}.gift-actions .big-pink-button{font-size:10px;padding:11px 17px}.prize-kind{font-size:8px;margin-bottom:14px}.photobooth{max-height:none;height:100%;width:200px;gap:5px;padding:10px 10px 29px}.photobooth img{height:calc((100% - 10px)/3);min-height:0}.photobooth span{font-size:13px}.receipt-panel{min-height:0;padding:35px 20px}.receipt{width:265px;padding:22px}.receipt svg{width:50px}.receipt h3{font-size:25px}.receipt-row{font-size:11px;padding:10px 0}.collection-dialog{padding:25px 20px}.collection-heading h2{font-size:35px}.collection-heading .little-label{font-size:7px}.collection-heading p{font-size:10px}.collection-heading .dialog-close{right:-8px;top:-9px}.collection-grid{grid-template-columns:repeat(3,1fr);gap:17px 11px}.collection-item{padding:4px 4px 20px}.collection-item>span{font-size:11px}.birthday-room{min-height:calc(100svh - 72px);padding:110px 12px 35px}.room-canopy{height:38px}.room-back{top:54px;left:18px;font-size:9px}.birthday-center{width:min(92vw,440px);padding:25px 10px 20px;background:#fff2f5ed;border-radius:30px}.birthday-center h2{font-size:44px}.room-photo{width:100px;padding:5px 5px 22px;opacity:.55}.room-photo span{font-size:10px}.room-ticket{font-size:8px;letter-spacing:1px}.room-description{font-size:11px}.letter-dialog{padding:30px 22px}.letter-dialog h2{font-size:35px}.letter-bow{width:65px;height:45px}.exact-wish{font-size:12px}.letter-body{font-size:11px}.letter-body br{display:none}.letter-sign{font-size:22px}.letter-actions{gap:12px;flex-wrap:wrap}.letter-actions .big-pink-button{font-size:11px}.wish-dialog{padding:30px 24px}.wish-dialog h2{font-size:31px}.wish-dialog>p{font-size:11px}.transition-screen h2{font-size:43px;margin-top:20px}.transition-screen p{font-size:12px}.giant-gift{scale:.85}#toast{font-size:10px;padding:12px 18px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

@media(min-width:761px){.arcade-stage{padding-top:40px;padding-bottom:65px}}
