:root{--primary-gold: #ffb703;--primary-sunflower: #fb8500;--sunflower-dark: #d46b08;--sunflower-glow: rgba(255, 183, 3, .6);--accent-pink: #ff4d6d;--accent-purple: #7209b7;--bg-gradient: linear-gradient(135deg, #1f1a3a 0%, #0d0b1a 100%);--glass-bg: rgba(255, 255, 255, .12);--glass-border: rgba(255, 255, 255, .25);--glass-shadow: 0 8px 32px 0 rgba(0, 0, 0, .37);--text-light: #ffffff;--text-muted: #e2e8f0;--font-main: "Outfit", sans-serif;--font-title: "Fredoka", cursive;--font-handwriting: "Caveat", cursive}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}html,body{width:100%;height:100%;overflow:hidden;font-family:var(--font-main);background:#0d0b1a;color:var(--text-light);touch-action:manipulation}.hidden{display:none!important}#game-container{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:1;background:radial-gradient(circle at 50% 30%,#ffbe76,#f0932b 35%,#686de0 80%,#30336b)}#game-container canvas{display:block;width:100%!important;height:100%!important}.glass-panel{background:#18122ceb;border:1px solid rgba(255,255,255,.22);border-radius:24px;box-shadow:0 12px 36px #0000008c,inset 0 1px #ffffff26}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:linear-gradient(135deg,#ffb703,#fb8500);color:#1a1003;font-family:var(--font-title);font-size:1.15rem;font-weight:700;padding:14px 28px;border:none;border-radius:50px;cursor:pointer;box-shadow:0 6px 20px #fb850073;transition:all .25s cubic-bezier(.175,.885,.32,1.275)}.btn-primary:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 10px 28px #fb850099}.btn-primary:active{transform:translateY(1px) scale(.98)}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#ffffff26;color:#fff;font-family:var(--font-main);font-size:.95rem;font-weight:600;padding:12px 22px;border:1px solid rgba(255,255,255,.3);border-radius:50px;cursor:pointer;transition:all .2s ease}.btn-secondary:hover{background:#ffffff40;border-color:#ffffff80;transform:translateY(-2px)}.pulse-anim{animation:pulseButton 2s infinite}@keyframes pulseButton{0%{box-shadow:0 0 #fb8500b3}70%{box-shadow:0 0 0 18px #fb850000}to{box-shadow:0 0 #fb850000}}.start-overlay-direct{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:10;pointer-events:none;display:flex;justify-content:center;align-items:flex-end;padding-bottom:70px;transition:opacity .4s ease,visibility .4s ease}.start-overlay-direct.hidden{opacity:0;visibility:hidden;pointer-events:none}.bottom-play-container{pointer-events:auto;display:flex;flex-direction:column;align-items:center}.btn-hero-play{display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:20px 60px;background:linear-gradient(135deg,#ffb703,#fb8500,#d46b08);border:3px solid rgba(255,255,255,.8);border-radius:60px;color:#fff;font-family:var(--font-title);font-size:1.85rem;font-weight:800;letter-spacing:2px;text-shadow:0 2px 8px rgba(0,0,0,.4);cursor:pointer;box-shadow:0 12px 36px #fb8500b3,0 0 24px #ffb70399;transition:all .25s cubic-bezier(.175,.885,.32,1.275)}.btn-hero-play:hover{transform:translateY(-5px) scale(1.08);box-shadow:0 18px 48px #fb8500e6,0 0 35px #ffd166e6}.btn-hero-play:active{transform:translateY(2px) scale(.96)}.play-arrow{font-size:1.5rem;color:#fff;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.hud-container{position:fixed;top:0;left:0;width:100%;height:100%;z-index:5;pointer-events:none;padding:20px;display:flex;justify-content:space-between;align-items:flex-start;transition:opacity .3s ease}.hud-container.hidden{opacity:0;pointer-events:none}.hud-left-group{pointer-events:auto;display:flex;align-items:center;gap:12px}.hud-counter{pointer-events:auto;display:flex;align-items:center;gap:10px;padding:10px 18px;border-radius:30px;background:#140f23a6;border:1.5px solid rgba(255,183,3,.5);box-shadow:0 4px 16px #0006}.sunflower-icon{font-size:1.6rem;animation:bounceSunflower 2s infinite ease-in-out}@keyframes bounceSunflower{0%,to{transform:scale(1)}50%{transform:scale(1.15) rotate(10deg)}}.counter-value{font-family:var(--font-title);font-size:1.6rem;font-weight:700;color:#ffd166;text-shadow:0 2px 8px rgba(255,183,3,.5)}.hud-lives{pointer-events:auto;display:flex;align-items:center;gap:6px;padding:10px 16px;border-radius:30px;background:#140f23a6;border:1.5px solid rgba(255,71,87,.5);box-shadow:0 4px 16px #0006}.heart-item{font-size:1.4rem;transition:all .3s cubic-bezier(.175,.885,.32,1.275);display:inline-block}.heart-item.active{transform:scale(1);filter:drop-shadow(0 0 6px rgba(255,71,87,.8));animation:heartPulse 1.8s infinite ease-in-out}.heart-item.lost{transform:scale(.75);opacity:.25;filter:grayscale(100%);animation:heartBreak .4s ease forwards}@keyframes heartPulse{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}@keyframes heartBreak{0%{transform:scale(1.4) rotate(-15deg)}50%{transform:scale(.6) rotate(15deg)}to{transform:scale(.75) rotate(0)}}.damage-vignette{position:fixed;top:0;left:0;width:100vw;height:100vh;pointer-events:none;z-index:99;background:radial-gradient(circle,transparent 40%,rgba(255,15,0,.65) 100%);opacity:0;transition:opacity .1s ease-out}.damage-vignette.flash{opacity:1}.game-over-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;z-index:150;transition:opacity .4s ease}.game-over-overlay.hidden{opacity:0;pointer-events:none}.game-over-backdrop{position:absolute;top:0;left:0;width:100%;height:100%;background:#0a0514e0}.game-over-card{position:relative;z-index:10;max-width:440px;width:90%;padding:38px 28px;text-align:center;background:#19142de0;border:1.5px solid rgba(255,71,87,.4);border-radius:28px;box-shadow:0 20px 60px #000000b3,0 0 30px #ff47574d}.game-over-icon{font-size:4rem;margin-bottom:12px;animation:shakeGameOver 1s ease infinite}@keyframes shakeGameOver{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.game-over-title{font-family:var(--font-title);font-size:2rem;color:#ff6b81;margin-bottom:10px;text-shadow:0 2px 10px rgba(255,71,87,.5)}.game-over-desc{font-size:1.05rem;color:#ffffffd9;line-height:1.5;margin-bottom:24px}.btn-game-over-replay{width:auto;max-width:100%;padding:14px 38px;font-size:1.25rem;letter-spacing:1.5px;white-space:nowrap;margin:0 auto;border-radius:50px}.hud-progress-container{pointer-events:auto;display:flex;align-items:center;gap:12px;padding:8px 18px;border-radius:30px;background:#140f23a6;border:1.5px solid rgba(255,255,255,.2);min-width:220px;max-width:320px;flex:1;margin:0 15px}.progress-start,.progress-finish{font-size:1.3rem}.progress-bar-track{position:relative;flex:1;height:10px;background:#ffffff26;border-radius:10px;overflow:visible}.progress-bar-fill{width:0%;height:100%;background:linear-gradient(90deg,#ffb703,#ff4d6d);border-radius:10px;transition:width .1s linear;box-shadow:0 0 10px #ffb703cc}.progress-runner-indicator{position:absolute;top:50%;left:0%;transform:translate(-50%,-50%);font-size:1.1rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.5));transition:left .1s linear}.hud-actions{pointer-events:auto;display:flex;gap:10px}.btn-hud{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#140f23a6;border:1px solid rgba(255,255,255,.3);font-size:1.3rem;color:#fff;cursor:pointer;transition:transform .2s,background .2s}.btn-hud:hover{transform:scale(1.1);background:#ffb7034d}.mobile-controls-wrapper{position:absolute;bottom:24px;left:50%;transform:translate(-50%);pointer-events:auto;display:flex;flex-direction:column;align-items:center;gap:10px;z-index:6;opacity:.85}.touch-row{display:flex;gap:16px}.touch-btn{width:58px;height:58px;border-radius:18px;background:#1c1430d9;border:1.5px solid rgba(255,255,255,.35);color:#fff;font-size:1.4rem;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px #0006;cursor:pointer;transition:background .1s,transform .1s}.touch-btn:active{background:#ffb70399;transform:scale(.92)}@media(min-width:1024px){.mobile-controls-wrapper{display:none}}.celebration-overlay{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;z-index:20;display:flex;align-items:center;justify-content:center;overflow-y:auto;overflow-x:hidden;padding:24px 16px;transition:opacity .8s ease,visibility .8s ease}.celebration-overlay.hidden{opacity:0;visibility:hidden;pointer-events:none}.celebration-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;background:radial-gradient(circle at center,#201234d1,#0a0614f0);z-index:1}.gift-unboxing-container{position:relative;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;max-width:440px;width:92%;padding:34px 28px;background:linear-gradient(135deg,#23183cf2,#140e26f7);border:2px solid rgba(255,215,0,.55);box-shadow:0 16px 45px #000000a6,0 0 35px #ffb70359;border-radius:28px;margin:auto;will-change:transform,opacity}.gift-box-interactive{position:relative;cursor:pointer;margin:6px auto 14px;display:flex;align-items:center;justify-content:center;transition:transform .25s cubic-bezier(.175,.885,.32,1.275)}.gift-box-interactive:hover{transform:scale(1.1) translateY(-4px)}.gift-glow-ring{position:absolute;width:95px;height:95px;border-radius:50%;background:radial-gradient(circle,rgba(255,215,0,.6) 0%,rgba(255,107,129,.2) 60%,transparent 80%);animation:pulseGlowRing 2s infinite ease-in-out alternate}@keyframes pulseGlowRing{0%{transform:scale(.85);opacity:.5}to{transform:scale(1.3);opacity:.9;filter:drop-shadow(0 0 20px rgba(255,215,0,.8))}}.gift-sparkle-stars{position:absolute;top:-12px;font-size:1.3rem;animation:floatStars 2s infinite alternate ease-in-out}@keyframes floatStars{0%{transform:translateY(0) scale(.9)}to{transform:translateY(-6px) scale(1.15);filter:drop-shadow(0 0 8px #ffd166)}}.gift-box-visual{position:relative;z-index:2;font-size:3.8rem;animation:wobbleGift 1.8s infinite ease-in-out;filter:drop-shadow(0 8px 18px rgba(0,0,0,.5))}@keyframes wobbleGift{0%{transform:rotate(0) scale(1)}25%{transform:rotate(-8deg) scale(1.05)}50%{transform:rotate(8deg) scale(1.05)}75%{transform:rotate(-4deg) scale(1.02)}to{transform:rotate(0) scale(1)}}.gift-yey-tag{font-family:var(--font-title);font-size:1.75rem;font-weight:800;letter-spacing:1.5px;color:#ffd166;text-shadow:0 3px 12px rgba(0,0,0,.4),0 0 20px rgba(255,183,3,.6);margin-bottom:2px;animation:bounceYey 1.5s infinite alternate ease-in-out}@keyframes bounceYey{0%{transform:translateY(0) scale(1)}to{transform:translateY(-4px) scale(1.06)}}.gift-prompt-title{font-family:var(--font-title);font-size:1.32rem;color:#fff;margin-bottom:4px;text-shadow:0 3px 12px rgba(0,0,0,.4)}.gift-prompt-desc{font-size:.9rem;color:#f1f2f6;margin-bottom:16px;line-height:1.4}.btn-open-gift{font-size:1.05rem;padding:12px 30px;box-shadow:0 6px 20px #ff475780,0 0 16px #ffd70066}.quiz-modal-container{position:relative;z-index:12;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;max-width:520px;width:92%;padding:36px 28px 28px;background:linear-gradient(135deg,#201434f2,#100a20f7);border:2px solid rgba(255,215,0,.55);box-shadow:0 20px 60px #000000bf,0 0 45px #ffb70366;border-radius:28px;margin:auto;will-change:transform,opacity}.quiz-progress-badge{display:inline-block;background:#ffb70338;border:1px solid rgba(255,215,0,.6);color:#ffd166;font-family:var(--font-title);font-size:.92rem;font-weight:700;letter-spacing:.8px;padding:6px 18px;border-radius:20px;margin-bottom:16px;box-shadow:0 0 16px #ffb70340}.quiz-question-title{font-family:var(--font-title);font-size:1.65rem;font-weight:800;color:#fff;line-height:1.38;margin-bottom:6px;text-shadow:0 3px 12px rgba(0,0,0,.5)}.quiz-question-sub{font-size:.96rem;color:#f1f2f6d1;margin-bottom:22px}.quiz-options-container{width:100%;display:flex;flex-direction:column;gap:12px;margin-bottom:8px}.quiz-option-btn{width:100%;display:flex;align-items:center;justify-content:flex-start;gap:14px;padding:15px 20px;border-radius:18px;background:#ffffff1a;border:1.5px solid rgba(255,255,255,.22);color:#fff;font-family:var(--font-main);font-size:1.05rem;font-weight:600;cursor:pointer;text-align:left;transition:all .25s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 4px 14px #00000040}.quiz-option-btn:hover{transform:translateY(-3px) scale(1.02);background:linear-gradient(135deg,#ffb70352,#fb850038);border-color:#ffd166;box-shadow:0 8px 24px #fb850073}.quiz-option-btn:active,.quiz-option-btn.selected{transform:scale(.98);background:linear-gradient(135deg,#ffb703,#fb8500);color:#1a1003;border-color:#fff;box-shadow:0 0 25px #ffd700b3}.quiz-option-btn.correct{background:linear-gradient(135deg,#00b894,#00cec9)!important;border-color:#55efc4!important;color:#fff!important;box-shadow:0 0 25px #00cec9b3!important}.quiz-option-btn.wrong{background:linear-gradient(135deg,#d63031,#e17055)!important;border-color:#ff7675!important;color:#fff!important;box-shadow:0 0 25px #d63031b3!important;animation:shakeWrong .4s ease}@keyframes shakeWrong{0%,to{transform:translate(0)}20%,60%{transform:translate(-8px)}40%,80%{transform:translate(8px)}}.quiz-option-text em,.quiz-option-text i,.quiz-italic{font-style:italic!important;font-weight:inherit;color:inherit;text-decoration:none}.quiz-option-bullet{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#ffffff2e;font-family:var(--font-title);font-size:.95rem;font-weight:700;flex-shrink:0}.quiz-option-btn.selected .quiz-option-bullet{background:#1a1003;color:#ffd166}.quiz-feedback-toast{width:100%;margin-top:14px;padding:12px 18px;border-radius:14px;background:#ffd16633;border:1.5px solid #ffd166;color:#ffd166;font-family:var(--font-main);font-size:1rem;font-weight:700;text-shadow:0 1px 4px rgba(0,0,0,.4);box-shadow:0 4px 16px #ffb7034d;animation:popInToast .35s cubic-bezier(.175,.885,.32,1.275)}@keyframes popInToast{0%{transform:scale(.8) translateY(10px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.celebration-surround-wrapper{position:relative;z-index:2;max-width:1260px;width:100%;display:flex;align-items:center;justify-content:center;gap:36px;margin:auto}.floating-decorations{position:absolute;width:100%;height:100%;top:0;left:0;pointer-events:none;overflow:hidden;z-index:0}.balloon{position:absolute;font-size:2.8rem;animation:floatUpSlow 8s ease-in-out infinite alternate}.balloon-1{top:-20px;left:8%;animation-delay:0s}.balloon-2{top:40px;right:8%;animation-delay:1.5s}.balloon-3{bottom:10%;left:4%;animation-delay:3s;font-size:3.2rem}.balloon-4{top:20%;right:4%;animation-delay:2s}.balloon-5{bottom:5%;right:10%;animation-delay:4.5s}@keyframes floatUpSlow{0%{transform:translateY(0) rotate(-4deg)}to{transform:translateY(-30px) rotate(6deg)}}.polaroids-side{display:flex;flex-direction:column;gap:28px;flex:1;max-width:270px;z-index:4}.polaroids-side.side-left .polaroid-card:nth-child(1){transform:rotate(-6deg)}.polaroids-side.side-left .polaroid-card:nth-child(2){transform:rotate(4deg)}.polaroids-side.side-right .polaroid-card:nth-child(1){transform:rotate(5deg)}.polaroids-side.side-right .polaroid-card:nth-child(2){transform:rotate(-5deg)}.birthday-main-card{position:relative;z-index:5;flex:1.5;max-width:560px;width:100%;padding:44px 36px;text-align:center;background:linear-gradient(135deg,#23183cf2,#120c24f7);border:2px solid rgba(255,215,0,.45);box-shadow:0 16px 48px #00000080,0 0 35px #ffb7034d;border-radius:28px;margin:0 auto;will-change:transform,opacity;animation:popInCard .8s cubic-bezier(.175,.885,.32,1.275)}@keyframes popInCard{0%{transform:scale(.6) translateY(50px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.birthday-header{margin:0;padding:0}.birthday-title{font-family:var(--font-title);font-size:2.5rem;letter-spacing:1.2px;background:linear-gradient(135deg,#fff 20%,#ffd166,#ff9f1c);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin:0 0 4px;padding:0;text-shadow:0 4px 18px rgba(255,183,3,.4)}.birthday-recipient-name{font-family:var(--font-title);font-size:1.65rem;font-weight:700;color:#ffd166;letter-spacing:.8px;margin:0 0 16px;padding:0;text-shadow:0 2px 14px rgba(255,183,3,.6),0 0 8px rgba(255,209,102,.4)}.birthday-wishes-text{font-size:1.08rem;line-height:1.7;color:#fff;font-weight:500;margin:0 0 24px;padding:0 8px;text-shadow:0 2px 10px rgba(0,0,0,.6);white-space:pre-line}.birthday-wishes-text p{margin:0;padding:0}.typewriter-cursor{display:inline-block;color:#ffd166;font-weight:700;margin-left:2px;animation:blinkCursor .75s infinite;text-shadow:0 0 10px rgba(255,209,102,.9);transition:opacity .8s ease}.typewriter-cursor.fade-out{opacity:0}@keyframes blinkCursor{0%,to{opacity:1}50%{opacity:.1}}.btn-celebration-replay{margin:0 auto;font-size:1.25rem;padding:14px 38px;letter-spacing:1.5px;white-space:nowrap;border-radius:50px}.polaroid-card{position:relative;background:#fff;padding:12px 12px 20px;border-radius:6px;box-shadow:0 14px 32px #00000061,0 3px 8px #00000038;color:#2d3436;transition:transform .3s cubic-bezier(.175,.885,.32,1.275),box-shadow .3s ease;transform-origin:center center}.polaroid-card:hover{transform:translateY(-8px) scale(1.06) rotate(0)!important;box-shadow:0 22px 46px #00000080,0 0 24px #ffb70373;z-index:10}.polaroid-tape{position:absolute;top:-8px;left:50%;transform:translate(-50%);width:55px;height:18px;background:#ffeba0a6;border-left:2px dashed rgba(200,180,100,.4);border-right:2px dashed rgba(200,180,100,.4);box-shadow:0 2px 4px #0000001a}.polaroid-img-wrapper{width:100%;aspect-ratio:1 / 1;overflow:hidden;background:#f8f9fa;border:1px solid #e9ecef;border-radius:4px}.polaroid-img{width:100%;height:100%;object-fit:cover;display:block}.polaroid-caption{font-family:var(--font-handwriting);font-size:1.35rem;font-weight:700;text-align:center;margin-top:10px;color:#2d3436;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.polaroid-stamp{position:absolute;bottom:6px;right:10px;font-size:1rem}@media(max-width:960px){.celebration-surround-wrapper{flex-direction:column;gap:20px}.polaroids-side{flex-direction:row;max-width:100%;justify-content:center;gap:16px}.polaroids-side .polaroid-card{max-width:160px;padding:8px 8px 14px}.polaroid-caption{font-size:1rem;margin-top:6px}.birthday-title{font-size:2.2rem}.birthday-main-card{padding:28px 20px;max-width:90%}}@media(max-width:768px){.hud-progress-container,.mobile-controls-wrapper{display:none!important}.hud-container{padding:16px 14px;justify-content:space-between}.celebration-overlay{align-items:flex-start;padding:24px 14px 48px;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.celebration-surround-wrapper{margin:0 auto;width:100%}.birthday-main-card{padding:24px 18px 22px;max-width:100%;margin:10px auto 24px}.birthday-title{font-size:2.1rem;margin-bottom:4px}.birthday-recipient-name{font-size:1.45rem;margin-bottom:14px}.birthday-wishes-text{font-size:.96rem;line-height:1.6;margin-bottom:20px}.btn-game-over-replay,.btn-celebration-replay{font-size:1.15rem;padding:12px 32px;white-space:nowrap}}@media(max-width:600px){.game-title{font-size:1.9rem}.birthday-title{font-size:1.85rem;margin-bottom:3px}.birthday-recipient-name{font-size:1.3rem;margin-bottom:12px}.polaroids-side .polaroid-card{max-width:135px}.btn-game-over-replay,.btn-celebration-replay{font-size:1.1rem;padding:12px 28px;white-space:nowrap}}
