html,body{margin:0;height:100%;background:linear-gradient(180deg,#d9fbff,#fef6df);font-family:Fredoka,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";overflow:hidden;overscroll-behavior:none}#gameContainer{position:relative;width:100vw;height:100vh;height:100dvh;max-width:420px;margin:0 auto;box-shadow:0 12px 28px #0000002e;border-radius:20px;overflow:hidden}#game{display:block;width:100%;height:100%;image-rendering:pixelated}.dog-sprite{position:absolute;width:55px;height:55px;pointer-events:none;z-index:10;image-rendering:auto;will-change:transform;filter:saturate(1.05) contrast(1.05) drop-shadow(0 6px 0 rgba(0,0,0,.15));display:none;-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.dog-sprite.active{display:block!important}#girlSprite{position:absolute;width:72px;height:auto;pointer-events:none;z-index:11;image-rendering:auto;will-change:transform;filter:saturate(1.05) contrast(1.05) drop-shadow(0 6px 0 rgba(0,0,0,.15))}#ui{position:absolute;inset:0;pointer-events:none}#topBar{position:absolute;top:0;left:0;right:0;display:flex;gap:8px;justify-content:space-between;align-items:center;background:linear-gradient(180deg,#87ceeb,#b0e0e6 25%,#e0f6ff 70%,#e0f6ffcc 90%,#e0f6ff66);padding:12px;padding-top:max(12px,env(safe-area-inset-top,12px));box-shadow:0 2px 8px #87ceeb4d;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}#bottomBar{position:absolute;bottom:12px;left:12px;right:12px;display:none;gap:8px;justify-content:center;align-items:center}.badge{background:#fffffff2;color:#1d3557;padding:8px 12px;border-radius:12px;box-shadow:0 3px 10px #0003;font-weight:600;pointer-events:auto;transition:transform .2s ease;border:1px solid rgba(255,255,255,.6)}.score-badge{background:linear-gradient(135deg,gold,#ffed4e);color:#8b4513;font-size:18px;font-weight:800;padding:12px 18px;border-radius:16px;box-shadow:0 6px 18px #ffd70066;border:2px solid rgba(255,255,255,.6)}.score-animation{animation:scorePopIn .4s ease-out}@keyframes scorePopIn{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}#shop{position:absolute;bottom:12px;left:50%;transform:translate(-50%);display:flex;gap:8px}#shop button{pointer-events:auto;background:#fff5d1;border:0;padding:10px 14px;border-radius:12px;color:#6b4f00;font-weight:700;box-shadow:0 2px 8px #00000026;cursor:pointer}#shop button:disabled{opacity:.5;cursor:not-allowed}#overlay{position:absolute;inset:0;background:linear-gradient(180deg,#0000,#00000026 55%,#00000059);display:flex;align-items:flex-end;justify-content:center;pointer-events:auto;z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);padding-bottom:env(safe-area-inset-bottom,20px);padding-left:env(safe-area-inset-left,20px);padding-right:env(safe-area-inset-right,20px)}.hidden{display:none}.launch-screen{position:absolute;inset:0;z-index:50;display:flex;flex-direction:column;justify-content:center;align-items:center;overflow:hidden}.launch-bg{position:absolute;inset:0;background-size:cover;background-position:left center;background-repeat:no-repeat;image-rendering:pixelated;filter:brightness(.9) contrast(1.1)}.launch-screen.fade-out{animation:launchFadeOut .8s ease-in-out forwards}@keyframes launchFadeOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.1)}}#overlayCard{background:linear-gradient(180deg,#12100adb,#1c1810db);-webkit-backdrop-filter:blur(8px) saturate(1.05);backdrop-filter:blur(8px) saturate(1.05);width:min(560px,calc(100% - 4px));max-width:100%;border-radius:24px 24px 0 0;padding:24px;text-align:center;box-shadow:0 -12px 42px #00000080,0 -6px 22px #00000059;border:1px solid rgba(255,255,255,.14);border-bottom:none;position:relative;overflow:hidden;margin-bottom:0;box-sizing:border-box}#overlayCard:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,223,186,.1) 0%,transparent 70%);animation:floatGlow 6s ease-in-out infinite alternate}@keyframes floatGlow{0%{transform:translate(0) scale(1)}to{transform:translate(5%,5%) scale(1.1)}}#overlayCard h1{margin:0 0 16px;font-size:34px;color:#fff;text-shadow:0 2px 0 rgba(0,0,0,.45),0 4px 16px rgba(0,0,0,.35);position:relative;z-index:1;font-weight:800;letter-spacing:1px}#overlayCard p{margin:0 0 24px;opacity:.98;color:#f5f1e5;font-size:18px;line-height:1.6;position:relative;z-index:1;font-weight:700;text-shadow:0 1px 0 rgba(0,0,0,.35)}#overlayButton{pointer-events:auto;background:linear-gradient(180deg,#ffd87a,#ffb347 60%,#ff9a3c);border:0;padding:16px 32px;border-radius:18px;color:#3b2500;font-weight:800;cursor:pointer;font-size:20px;box-shadow:0 8px 18px #ffa50059,0 3px #9b5b24,inset 0 1px #fff9;border:2px solid rgba(255,255,255,.7);transition:all .2s ease;position:relative;z-index:1}#overlayButton:hover{transform:translateY(-2px);box-shadow:0 12px 22px #ffa50073,0 3px #7d471b,inset 0 1px #ffffffa6}#overlayButton:active{transform:translateY(1px)}@media (max-width: 420px){#gameContainer{max-width:100vw;border-radius:0;box-shadow:none}}@media (max-width: 640px){#topBar{gap:6px;flex-wrap:wrap;padding:10px;padding-top:max(10px,env(safe-area-inset-top,10px))}.badge{padding:6px 10px;border-radius:10px;font-size:14px}#overlayCard{width:calc(100% - 4px);max-width:100%;padding:20px;border-radius:20px 20px 0 0;box-sizing:border-box}#overlayCard h1{font-size:28px}#overlayCard p{font-size:16px}#overlayButton{font-size:18px;padding:16px 32px}}.launch-title-overlay{position:absolute;top:15%;left:50%;transform:translate(-50%) scale(.3);z-index:150;margin:0;text-align:center;font-family:Fredoka,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;pointer-events:none;letter-spacing:2px;animation:titleEntrance 1.2s ease-in-out forwards,titleGlow 2.5s ease-in-out infinite alternate 1.2s}.launch-title-overlay .title-main{display:block;font-size:68px;font-weight:900;color:#fff;text-shadow:6px 6px 0px #d2691e,3px 3px 15px rgba(0,0,0,.9),0 0 40px rgba(255,255,255,.5),0 0 80px rgba(255,223,186,.3);transform:perspective(800px) rotateX(12deg);letter-spacing:1px}.launch-title-overlay .title-sub{display:block;margin-top:6px;font-size:18px;font-weight:800;color:#ffe7b0;text-shadow:3px 3px 0px #9b5b24,0 0 12px rgba(255,223,186,.6);transform:translateY(-6px) rotate(-1deg);letter-spacing:2px}@keyframes titleEntrance{0%{transform:translate(-50%) scale(.3)}60%{transform:translate(-50%) scale(1.1)}to{transform:translate(-50%) scale(1)}}@keyframes titleGlow{0%{text-shadow:6px 6px 0px #d2691e,3px 3px 15px rgba(0,0,0,.9),0 0 40px rgba(255,255,255,.5),0 0 80px rgba(255,223,186,.3)}to{text-shadow:6px 6px 0px #d2691e,3px 3px 15px rgba(0,0,0,.9),0 0 60px rgba(255,255,255,.8),0 0 120px rgba(255,223,186,.5),0 0 200px rgba(255,165,0,.2)}}.overlay-launch-mode{background:linear-gradient(180deg,#0000,#0000001a 45%,#00000040)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.overlay-launch-mode #overlayCard{background:linear-gradient(180deg,#12100acc,#1c1810cc)!important;border:1px solid rgba(255,255,255,.12)!important;box-shadow:0 -10px 40px #0006!important}@media (max-width: 640px){.launch-title-overlay{font-size:42px;padding:0 20px;top:16%;letter-spacing:1px}.launch-title-overlay .title-main{font-size:48px}.launch-title-overlay .title-sub{font-size:16px}}@media (min-width: 641px){html,body{height:100%}#gameContainer{height:min(92svh,900px);max-width:420px;margin:4vh auto}}
