.zd-screen{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;overflow:hidden;background-color:#bfe8f2;background-size:cover;background-position:center;background-repeat:no-repeat}.zd-hud{display:flex;align-items:center;gap:8px;padding:10px 12px 6px}.zd-home{width:44px;height:44px;border-radius:50%;background:#fff;border:3px solid #1d3557;display:grid;place-items:center;flex:0 0 auto;box-shadow:0 3px #1d355733}.zd-home:active{transform:scale(.92)}.zd-steplabel{flex:1;text-align:center;background:#fff;border:3px solid #1d3557;border-radius:22px;padding:8px 10px;font-size:17px;font-weight:800;color:#1d3557;min-height:24px}.zd-stars{display:flex;gap:4px;flex:0 0 auto;max-width:84px;flex-wrap:wrap;justify-content:flex-end}.zd-dot{width:10px;height:10px;border-radius:50%;background:#fff;border:2px solid #1d3557;display:inline-block}.zd-dot.on{background:#ffe066}.zd-progress{height:10px;margin:2px 16px;border-radius:6px;background:#fffa;border:2px solid #1d3557;overflow:hidden}.zd-progress-fill{height:100%;background:#6fc9ec;transition:width .15s linear}.zd-scene{flex:1;width:100%;touch-action:none;display:block}.zd-title{align-items:center;justify-content:flex-end;gap:6px;padding-bottom:calc(8vh + env(safe-area-inset-bottom,0px));background-color:#cdebf5}.zd-title-spacer{flex:1}.zd-title .zd-logo,.zd-title .zd-tagline{padding:0 14px;border-radius:14px}.zd-title .zd-logo{background:#ffffffb0}.zd-logo{font-size:clamp(40px,13vw,64px);color:#1d3557;letter-spacing:1px;text-shadow:0 3px 0 #ffffff}.zd-logo span{color:#ff7bac}.zd-tagline{font-size:18px;font-weight:700;color:#1d3557;opacity:.75;margin-bottom:26px}.zd-play{background:#9be37c;border:4px solid #1d3557;border-radius:34px;padding:16px 52px;font-size:26px;font-weight:900;color:#1d3557;box-shadow:0 5px #1d355744;animation:zd-breathe 1.6s ease-in-out infinite}.zd-play:active{transform:scale(.94)}.zd-sound{position:absolute;top:max(10px,env(safe-area-inset-top,10px));right:12px;width:44px;height:44px;border-radius:50%;background:#fff;border:3px solid #1d3557;font-size:20px;z-index:5}.zd-lobby .zd-sound{position:static}.zd-wave{transform-origin:146px 80px;animation:zd-wavearm 1.2s ease-in-out infinite}.zd-lobby{background-color:#cde7dd;display:flex;align-items:center;justify-content:center;overflow:hidden}.zd-lobby-stage{position:relative;width:min(100%,calc(100vh * 360 / 639));aspect-ratio:360 / 639;overflow:hidden}.zd-lobby-bg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.zd-lobby-head{position:absolute;top:0;left:0;right:0;z-index:3;display:flex;align-items:center;justify-content:space-between;padding:calc(8px + env(safe-area-inset-top,0px)) 12px 6px}.zd-lobby-title{font-size:22px;font-weight:900;color:#1d3557;text-shadow:0 2px 0 #fff,0 -1px 0 #fff,2px 0 0 #fff,-2px 0 0 #fff}.zd-lobby-title span{color:#ff4d8d}.zd-lobby-right{display:flex;align-items:center;gap:8px}.zd-smilecount{display:inline-flex;align-items:center;gap:5px;background:#fff;border:3px solid #1d3557;border-radius:18px;padding:4px 11px;font-weight:900;color:#1d3557}.zd-seat{position:absolute;transform:translate(-50%,-50%);z-index:2;background:none;border:none;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent}.zd-seat-img{width:100%;height:auto;display:block;transform-origin:center bottom;filter:drop-shadow(0 4px 4px rgba(29,53,87,.35))}.zd-seat-img.zd-seat-awake{animation:zd-nudge 1.6s ease-in-out infinite}.zd-seat:active .zd-seat-img{animation:none;transform:scale(.93)}.zd-seat-ouch{position:absolute;top:-6px;right:-6px;background:#fff;border:2.5px solid #1d3557;border-radius:50%;width:30px;height:30px;display:grid;place-items:center;animation:zd-bouncey .9s ease-in-out infinite}.zd-seat-badge{position:absolute;bottom:0;left:50%;transform:translate(-50%);color:#f4b400;font-size:14px;text-shadow:0 1px 0 #1d3557;letter-spacing:1px;white-space:nowrap}.zd-celebrate{align-items:center;justify-content:center;gap:8px;background:linear-gradient(180deg,#ffd86b,#ffb38a);text-align:center}.zd-celebrate-title{font-size:clamp(36px,11vw,54px);color:#1d3557;text-shadow:0 3px 0 #ffffffaa;animation:zd-pop .5s ease-out both}.zd-celebrate-sub{font-size:19px;font-weight:800;color:#1d3557}.zd-celebrate-face{position:relative;z-index:1}.zd-celebrate-burst{position:absolute;width:130vw;height:130vw;left:50%;top:42%;transform:translate(-50%,-50%);background:repeating-conic-gradient(#ffffff33 0deg 12deg,transparent 12deg 24deg);border-radius:50%;animation:zd-spinslow 22s linear infinite}.zd-pophappy{animation:zd-pop .6s cubic-bezier(.34,1.56,.64,1) both .15s}.zd-celebrate-stars{display:flex;gap:16px;margin:2px 0 14px}.zd-bigstar{font-size:42px;color:#ffe066;text-shadow:0 2px 0 #1d3557;animation:zd-pop .45s cubic-bezier(.34,1.56,.64,1) both}.zd-confetti{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:2}.zd-confetti-piece{position:absolute;top:-14px;width:10px;height:14px;animation:zd-fall linear infinite}.zd-target{animation:zd-glow 1.1s ease-in-out infinite}.zd-flare{animation:zd-flarepulse .5s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.zd-bounce{animation:zd-bouncey .9s ease-in-out infinite}.zd-shake{animation:zd-shakex .45s ease-in-out}.zd-wince{animation:zd-wincenudge .26s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.zd-spark{animation:zd-sparkpop .8s ease-out both;transform-box:fill-box;transform-origin:center}.zd-revealed{animation:zd-pop .35s ease-out both;transform-box:fill-box;transform-origin:center}.zd-germ{animation:zd-bob 1.3s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.zd-stink{animation:zd-bob 2.2s ease-in-out infinite}.zd-hintarrow{animation:zd-hintup 1.1s ease-in-out infinite}.zd-fx{pointer-events:none}.zd-fx-bubble{animation:zd-rise 1s ease-out both;transform-box:fill-box;transform-origin:center}.zd-fx-drift{animation:zd-drift .6s ease-out both}.zd-fx-poof{animation:zd-sparkpop .55s ease-out both;transform-box:fill-box;transform-origin:center}.zd-fx-water{animation:zd-dripfall .7s ease-in both}.zd-fx-toothfly{animation:zd-flyoff .9s ease-in both;transform-box:fill-box;transform-origin:center}.zd-judder{animation:zd-judderx .08s linear infinite;transform-box:fill-box;transform-origin:center}.zd-starburst{animation:zd-starpop .8s ease-out both;transform-box:fill-box;transform-origin:center}.zd-carrywiggle{animation:zd-carrywig .22s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.zd-tray{transition:transform .35s cubic-bezier(.2,1.2,.4,1)}.zd-tray-out{transform:translate(116px)}.zd-tray-in{transform:translate(0)}.zd-tray-pulse{animation:zd-traypulse .9s ease-in-out infinite;transform-box:fill-box;transform-origin:center}@keyframes zd-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes zd-nudge{0%,to{transform:scale(1)}50%{transform:scale(1.025)}}@keyframes zd-bouncey{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes zd-glow{0%,to{opacity:1}50%{opacity:.55}}@keyframes zd-flarepulse{0%{transform:scale(.82);opacity:.7}50%{transform:scale(1.18);opacity:1}to{transform:scale(.82);opacity:.7}}@keyframes zd-shakex{0%,to{transform:translate(0)}25%{transform:translate(-6px)}50%{transform:translate(6px)}75%{transform:translate(-4px)}}@keyframes zd-judderx{0%,to{transform:translate(0)}25%{transform:translate(-2px,1px)}50%{transform:translate(2px,-1px)}75%{transform:translate(-1px,2px)}}@keyframes zd-rise{0%{transform:translateY(0) scale(.4);opacity:0}25%{opacity:.9}to{transform:translateY(-52px) scale(1);opacity:0}}@keyframes zd-wincenudge{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(3px) rotate(-1.5deg)}}@keyframes zd-sparkpop{0%{transform:scale(0);opacity:1}60%{transform:scale(1.25);opacity:1}to{transform:scale(.9);opacity:0}}@keyframes zd-pop{0%{transform:scale(0)}70%{transform:scale(1.12)}to{transform:scale(1)}}@keyframes zd-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes zd-hintup{0%,to{transform:translateY(0);opacity:1}50%{transform:translateY(-16px);opacity:.8}}@keyframes zd-drift{0%{transform:translate(0) scale(1);opacity:1}to{transform:translate(var(--dx, 0px),var(--dy, -40px)) scale(.6);opacity:0}}@keyframes zd-dripfall{0%{transform:translateY(0);opacity:.95}to{transform:translateY(46px);opacity:0}}@keyframes zd-flyoff{0%{transform:translate(0) rotate(0) scale(1);opacity:1}to{transform:translate(var(--dx, 30px),-150px) rotate(220deg) scale(.9);opacity:0}}@keyframes zd-fall{0%{transform:translateY(-10px) rotate(0)}to{transform:translateY(105vh) rotate(360deg)}}@keyframes zd-spinslow{to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes zd-wavearm{0%,to{transform:rotate(0)}50%{transform:rotate(14deg)}}@keyframes zd-starpop{0%{transform:translate(0) scale(.3) rotate(0);opacity:1}60%{opacity:1}to{transform:translate(var(--dx, 0px),var(--dy, 0px)) scale(1) rotate(var(--rot, 0deg));opacity:0}}@keyframes zd-carrywig{0%{transform:translateY(0) rotate(-7deg)}50%{transform:translateY(-2px) rotate(7deg)}to{transform:translateY(0) rotate(-7deg)}}@keyframes zd-traypulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;overflow:hidden;-webkit-tap-highlight-color:transparent}body{font-family:Trebuchet MS,Segoe UI,system-ui,sans-serif;background:#37b5e8;touch-action:manipulation;user-select:none;-webkit-user-select:none;position:fixed;top:0;right:0;bottom:0;left:0;overscroll-behavior:none}button{font-family:inherit;border:none;background:none;cursor:pointer;touch-action:manipulation}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
