:root{font-family:PingFang SC,Noto Sans SC,Microsoft YaHei,sans-serif;color:#062a66;background:#dceeff;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body,#root{width:100%;min-width:320px;min-height:100%;margin:0}body{min-height:100vh;overflow:hidden;-webkit-font-smoothing:antialiased}button,a{font:inherit;-webkit-tap-highlight-color:transparent}.playable-shell{width:100vw;min-height:100dvh;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 8%,rgba(255,255,255,.98),transparent 36%),linear-gradient(150deg,#eaf6ff,#c9e6ff 45%,#8cc7ff)}.phone-stage{position:relative;width:min(100vw,calc(100dvh * 390 / 844));height:min(100dvh,calc(100vw * 844 / 390));min-height:568px;overflow:hidden;background:#eef8ff;isolation:isolate;box-shadow:0 24px 80px #043b8c3d}.game-mount,.game-mount canvas{display:block;width:100%!important;height:100%!important;touch-action:none}.cover-screen{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;overflow:hidden;background-image:linear-gradient(180deg,#ecf8ff1a,#e4f4ff6b),url(/assets/game-bg.png);background-size:cover;background-position:center}.cover-screen:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(105deg,transparent 15%,rgba(255,255,255,.66) 48%,transparent 70%);transform:translate(-130%);animation:sweep 3.6s ease-in-out infinite}.cover-content,.result-content{position:relative;z-index:3;width:100%;padding:0 28px;text-align:center}.cover-content{transform:translateY(62px)}.cover-content h1{max-width:330px;margin:0 auto 36px;color:#073a87;font-size:clamp(30px,8vw,42px);font-weight:900;line-height:1.18;letter-spacing:-.04em;text-shadow:0 3px 0 rgba(255,255,255,.9),0 14px 30px rgba(0,84,196,.18)}.primary-button{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:220px;min-height:58px;padding:14px 26px;border:0;border-radius:18px;color:#fff;background:linear-gradient(180deg,#238cff,#0069e7);box-shadow:0 10px #0054b8,0 18px 32px #0059d147,inset 0 2px #ffffff94;font-size:19px;font-weight:800;text-decoration:none;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease;animation:buttonPulse 1.5s ease-in-out infinite}.primary-button:active{transform:translateY(7px) scale(.98);box-shadow:0 3px #0054b8,0 8px 18px #0059d140,inset 0 2px #ffffff94}.ambient{position:absolute;z-index:1;width:92px;height:132px;border-radius:24px;filter:blur(2px);opacity:.92;background-position:center;background-repeat:no-repeat;background-size:contain}.ambient-one{top:18%;left:9%;background-image:url(/assets/order.png);transform:rotate(-14deg);animation:floatLeft 2.8s ease-in-out infinite}.ambient-two{top:13%;right:10%;background-image:url(/assets/cash.png);transform:rotate(12deg) scale(.78);animation:floatRight 2.5s ease-in-out infinite}.result-screen{background-image:linear-gradient(180deg,#e7f5ff38,#042b68b8),url(/assets/game-bg.png)}.result-glow{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:radial-gradient(circle at 50% 27%,rgba(255,255,255,.88),transparent 31%)}.result-lock{position:absolute;z-index:2;top:8%;left:50%;width:220px;transform:translate(-50%);filter:drop-shadow(0 14px 30px rgba(174,0,20,.38));animation:lockHit .6s cubic-bezier(.21,1.65,.52,1) both}.result-lock img{display:block;width:100%;height:auto}.result-content{align-self:end;padding-bottom:50px;color:#fff}.result-kicker{margin:0 0 10px;color:#ffffffd1;font-size:15px;font-weight:700;letter-spacing:.015em}.result-kicker strong{margin-left:4px;color:#fff;font-size:17px}.result-content .shortfall-title{display:flex;flex-direction:column;align-items:center;gap:0;margin:0;font-size:clamp(27px,7vw,34px);line-height:1.08;letter-spacing:-.035em;text-shadow:0 5px 24px rgba(0,24,73,.5)}.shortfall-title span{font-weight:800}.shortfall-title strong{display:block;margin-top:4px;color:#ffd35c;font-size:clamp(44px,12vw,58px);font-weight:900;letter-spacing:-.055em;text-shadow:0 3px 0 rgba(145,86,0,.35),0 10px 30px rgba(255,190,37,.34);animation:shortfallPop .65s cubic-bezier(.22,1.45,.4,1) both}.result-message{margin:12px 0 25px;color:#ffffffd1;font-size:15px;font-weight:600}.cta-button{width:100%;min-width:0;animation:ctaNudge 1.8s ease-in-out infinite}.replay-button{margin-top:24px;padding:8px 20px;border:0;color:#ffffffc7;background:transparent;font-size:14px;font-weight:700;cursor:pointer}@keyframes sweep{55%,to{transform:translate(130%)}}@keyframes buttonPulse{50%{transform:translateY(-3px) scale(1.02)}}@keyframes floatLeft{50%{transform:translate(8px,14px) rotate(-7deg)}}@keyframes floatRight{50%{transform:translate(-8px,12px) rotate(5deg) scale(.82)}}@keyframes lockHit{0%{opacity:0;transform:translate(-50%) scale(1.8)}65%{opacity:1;transform:translate(-50%) scale(.9)}to{transform:translate(-50%) scale(1)}}@keyframes shortfallPop{0%{opacity:0;transform:translateY(14px) scale(.72)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes ctaNudge{50%{transform:translateY(-3px);box-shadow:0 12px #0054b8,0 22px 36px #0059d157,inset 0 2px #ffffff94}}@media(min-width:600px){.phone-stage{border-radius:30px;outline:1px solid rgba(255,255,255,.8)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important}}
