:root{--pink:#ff5b8a;--yellow:#ffd166;--green:#5fb13a;--deep-green:#2f6b1a;--sky-1:#b6e8ff;--sky-2:#d9b8ff;--sky-3:#ffd6e8;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:Comic Neue,Quicksand,system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;padding:0;overflow-x:hidden}body{background:linear-gradient(135deg,#ffd6e8,#d6e4ff,#c9f0ff,#d4f4d8,#ffe9c4,#ffd6e8) 0 0/400% 400%;min-height:100dvh;animation:28s infinite bgShift}@keyframes bgShift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.app{justify-content:center;align-items:center;width:100%;min-height:100vh;display:flex;position:relative;overflow:hidden}.bg-layer{pointer-events:none;z-index:0;position:fixed;inset:0}.bubble{filter:blur(.4px);background:radial-gradient(circle at 30% 30%,#ffffffe6,#b4dcff66 60%,#b4dcff1a);border:1.5px solid #fffc;border-radius:50%;position:absolute;bottom:-10%}.sparkle{background:radial-gradient(circle,#fff 0%,#ffd166 40%,#0000 70%);border-radius:50%;position:absolute;box-shadow:0 0 12px #ffd166}.fly{pointer-events:none;position:absolute}.scene{z-index:1;text-align:center;flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:100vh;padding:24px;display:flex;position:relative}.intro .hint{color:#7a2c4e;letter-spacing:.5px;margin-bottom:12px;font-size:clamp(20px,3vw,28px);font-weight:700}.present{cursor:pointer;filter:drop-shadow(0 12px 20px #c14b7e4d);background:0 0;border:none;padding:0}.tap-hint{color:#555;letter-spacing:1.5px;text-transform:uppercase;margin-top:8px;font-size:16px}.party{justify-content:flex-start;gap:0;padding-top:80px;padding-bottom:60px}.title{letter-spacing:.5px;text-align:center;max-width:100vw;margin:0;padding:0 6px;font-size:clamp(22px,6vw,64px);font-weight:900;line-height:1.1}.title-char-wrap{padding:0 1px;display:inline-block}.title-char{background:linear-gradient(#ff5b8a 0%,#ffd166 45%,#06d6a0 75%,#9b5de5 100%);-webkit-text-fill-color:transparent;filter:drop-shadow(2px 2px #7a2c4e73)drop-shadow(0 0 12px #ff5b8a40);-webkit-background-clip:text;background-clip:text;display:inline-block}.subtitle{color:#6b3a55;margin:8px 0 24px;font-size:clamp(14px,1.6vw,18px);font-style:italic}.stage{width:100%;max-width:420px;height:clamp(280px,52vw,380px);margin:8px auto 0;position:relative}.frog-wrap{inset-inline:0;z-index:2;filter:drop-shadow(0 14px 10px #2f6b1a59);width:clamp(220px,46vw,340px);margin-inline:auto;position:absolute;bottom:8px}.frog-svg{aspect-ratio:1;width:100%;height:auto;display:block;overflow:visible}.lilypad{inset-inline:0;z-index:1;filter:drop-shadow(0 8px 10px #22591a59);width:clamp(260px,50vw,380px);height:auto;margin-inline:auto;position:absolute;bottom:0}.ripple-wrap{bottom:18px;pointer-events:none;z-index:0;width:clamp(260px,50vw,380px);height:60px;margin-inline:auto;position:absolute;inset-inline:0}.ripple{background:0 0;border:2px solid #6ec8ff99;border-radius:50%;width:70%;height:24px;margin:auto;position:absolute;inset:0}.hearts-layer{pointer-events:none;z-index:4;position:absolute;inset:0}.float-heart{filter:drop-shadow(0 4px 6px #ff5b8a66);position:absolute;bottom:40%;transform:translate(-50%)}.poke-burst{color:#ff5b8a;text-shadow:2px 2px #fff,4px 4px #00000026;pointer-events:none;z-index:5;letter-spacing:1px;font-size:28px;font-weight:900;position:absolute;top:30%;left:50%;transform:translate(-50%,-50%)}.cake-wrap{cursor:pointer;filter:drop-shadow(0 8px 10px #7a2c4e4d);width:clamp(160px,30vw,220px);margin-top:-10px;transition:transform .2s}.cake-svg{width:100%;height:auto;display:block}.cake-wrap:hover{transform:translateY(-3px)}.note-card{color:#6b3a55;background:#fffaa8;border-radius:4px;max-width:80vw;margin-top:20px;padding:18px 28px 14px;font-size:18px;font-weight:700;line-height:1.4;position:relative;transform:rotate(-1deg);box-shadow:4px 6px #00000014}.note-pin{background:radial-gradient(circle at 30% 30%,#ff8fb7,#c14b7e 70%);border-radius:50%;width:16px;height:16px;position:absolute;top:-8px;left:50%;transform:translate(-50%);box-shadow:0 2px 3px #0000004d}.poke-hint{color:#6b3a55;letter-spacing:1.5px;text-transform:uppercase;margin-top:14px;font-size:13px}.balloons{pointer-events:none;z-index:0;position:fixed;inset:0}.balloon{width:60px;height:80px;position:absolute;bottom:50%}.balloon-body{background:radial-gradient(circle at 30% 30%, #fff9, var(--bg) 50%);border:2px solid #0000001a;border-radius:50% 50% 48% 48%;width:60px;height:75px}.balloon-tie{border-left:6px solid #0000;border-right:6px solid #0000;border-top:8px solid var(--bg);width:0;height:0;margin:-2px auto 0}.balloon-string{background:#00000040;width:1px;height:120px;margin:0 auto}.achievement{color:#fff;letter-spacing:1.5px;text-transform:uppercase;text-shadow:1px 1px #0003;background:linear-gradient(90deg,#ffd166,#ff5b8a,#9b5de5);border-radius:999px;margin-top:14px;padding:10px 22px;font-size:13px;font-weight:900;box-shadow:0 10px 24px #9b5de566}.music-btn{color:#fff;cursor:pointer;z-index:20;letter-spacing:1px;text-transform:uppercase;text-shadow:1px 1px #00000026;background:linear-gradient(135deg,#ff8fb7,#c14b7e);border:none;border-radius:999px;align-items:center;gap:8px;height:40px;padding:0 16px 0 12px;font-family:inherit;font-size:13px;font-weight:800;display:inline-flex;position:fixed;top:20px;right:20px;box-shadow:0 6px 18px #c14b7e66}.music-btn:focus-visible{outline-offset:3px;outline:2px solid #fff}@media (width<=600px){.music-btn{gap:6px;height:34px;padding:0 12px 0 10px;font-size:11px;top:14px;right:14px}}.confetti-layer{pointer-events:none;z-index:3;position:fixed;inset:0;overflow:hidden}.confetti-piece{position:absolute;top:-40px}@media (width<=900px){.party{padding-top:72px;padding-bottom:48px}.balloon{width:50px;height:66px}.balloon-body{width:50px;height:62px}.balloon-string{height:100px}}@media (width<=600px){.scene{padding:16px 12px}.party{padding-top:64px;padding-bottom:40px}.subtitle{margin:6px 8px 16px}.stage{height:clamp(260px,78vw,340px);margin-top:4px}.note-card{margin-top:14px;padding:14px 20px 12px;font-size:15px}.balloon{width:36px;height:50px}.balloon-body{width:36px;height:46px}.balloon-string{height:70px}.achievement{letter-spacing:1px;padding:9px 18px;font-size:11px}.poke-burst{font-size:22px}}@media (width<=380px){.title{letter-spacing:0;font-size:22px}.balloon{display:none}}@media (height<=720px){.party{padding-top:20px;padding-bottom:30px}}@media (prefers-reduced-motion:reduce){body{animation:none}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
