@import"https://fonts.googleapis.com/css2?family=DotGothic16&family=Pixelify+Sans:wght@400;600;700&family=Press+Start+2P&family=Fredoka:wght@400;600;700&display=swap";:root{--bg-main: #FFD6EC;--grad-start: #FFE6F5;--grad-mid: #FFC2E5;--grad-end: #FFB0DC;--btn-pink: #FF2E92;--btn-pink-hover: #FF0D82;--btn-pink-shadow: #C90060;--text-dark: #5A1846;--text-pink-dark: #8C2366;--white: #FFFFFF;--pink-soft: #FFECF6;--pink-light: #FFF0F7;--shadow-color: rgba(255, 0, 120, .25);--shadow-strong: rgba(255, 0, 120, .4);--border-pixel: #5A1846;--font-bold: "Courier New", Courier, monospace;--font-pixel: "Press Start 2P", "Courier New", monospace;--font-pixel-sub: "Pixelify Sans", "Courier New", sans-serif;--font-cute: "Fredoka", "Courier New", sans-serif}*{box-sizing:border-box;margin:0;padding:0;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}html,body{width:100%;min-height:100vh;min-height:100dvh;overflow-x:hidden;overflow-y:auto;font-family:var(--font-bold);background:var(--bg-main);color:var(--text-dark);cursor:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="%23FF2E92"><path d="M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z"/></svg>'),auto;touch-action:manipulation}#cursor-canvas{position:fixed;top:0;left:0;width:100vw;height:100vh;pointer-events:none;z-index:9999}#particle-canvas{position:fixed;top:0;left:0;width:100vw;height:100vh;pointer-events:none;z-index:800}.background-container{position:fixed;top:0;left:0;width:100vw;height:100vh;background:linear-gradient(180deg,var(--grad-start) 0%,var(--grad-mid) 50%,var(--grad-end) 100%);z-index:1;overflow:hidden;transition:filter 1s ease,background 1s ease}.background-container.celebrate-bg{background:linear-gradient(180deg,#fff0fa,#ffd1ed,#ffb5e3);filter:brightness(1.08) saturate(1.15)}.parallax-layer{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;transition:transform .1s ease-out}.cloud{position:absolute;background:#ffffffd9;border-radius:50px;box-shadow:0 8px 15px var(--shadow-color);animation:floatCloud linear infinite;opacity:.9}.cloud:before,.cloud:after{content:"";position:absolute;background:#ffffffd9;border-radius:50%}.cloud-1{width:140px;height:45px;top:12%;left:-160px;animation-duration:38s}.cloud-1:before{width:55px;height:55px;top:-25px;left:25px}.cloud-1:after{width:45px;height:45px;top:-18px;left:65px}.cloud-2{width:180px;height:55px;top:28%;left:-200px;animation-duration:48s;animation-delay:-15s;opacity:.75}.cloud-2:before{width:70px;height:70px;top:-35px;left:35px}.cloud-2:after{width:55px;height:55px;top:-22px;left:85px}.cloud-3{width:120px;height:40px;top:60%;left:-140px;animation-duration:32s;animation-delay:-8s;opacity:.8}.cloud-3:before{width:45px;height:45px;top:-20px;left:20px}.cloud-3:after{width:35px;height:35px;top:-15px;left:50px}@keyframes floatCloud{0%{transform:translate(0)}to{transform:translate(calc(100vw + 300px))}}.floating-item{position:absolute;animation:floatRandom ease-in-out infinite alternate;pointer-events:none}@keyframes floatRandom{0%{transform:translateY(0) rotate(0)}50%{transform:translateY(-15px) rotate(5deg)}to{transform:translateY(5px) rotate(-5deg)}}.bg-hills{position:absolute;bottom:0;left:0;width:100%;height:180px;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 120" preserveAspectRatio="none"><path d="M0,0 C150,90 350,-40 500,40 C650,120 900,10 1200,50 L1200,120 L0,120 Z" fill="%23FFC2E5" opacity="0.6"/><path d="M0,30 C200,110 450,20 700,70 C950,120 1100,20 1200,40 L1200,120 L0,120 Z" fill="%23FFB0DC" opacity="0.8"/></svg>');background-size:100% 100%}.bg-skyline{position:absolute;bottom:40px;left:0;width:100%;height:110px;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 100" preserveAspectRatio="none"><path d="M0,100 L0,60 L30,60 L30,40 L60,40 L60,100 L90,100 L90,50 L120,50 L120,30 L140,30 L140,100 L180,100 L180,70 L220,70 L220,100 L260,100 L260,45 L300,45 L300,100 L350,100 L350,20 L380,20 L380,100 L430,100 L430,65 L470,65 L470,100 L520,100 L520,35 L560,35 L560,100 L620,100 L620,50 L660,50 L660,100 L710,100 L710,25 L750,25 L750,100 L800,100 L800,60 L840,60 L840,100 L900,100 L900,40 L940,40 L940,100 L1000,100 Z" fill="%23FFA1D4" opacity="0.35"/></svg>');background-size:100% 100%}.top-hud{position:fixed;top:max(12px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));display:flex;justify-content:space-between;align-items:center;z-index:100;pointer-events:none}.hud-left,.hud-right{pointer-events:auto}.ds-badge{background:#ffffffd9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:3px solid var(--btn-pink);border-radius:12px;padding:6px 14px;display:flex;align-items:center;gap:8px;box-shadow:0 4px 12px var(--shadow-color);font-family:var(--font-pixel-sub);font-size:13px;font-weight:700;color:var(--text-dark)}.ds-badge .heart-icon{animation:pulseHeart 1.2s infinite ease-in-out;color:var(--btn-pink)}@keyframes pulseHeart{0%,to{transform:scale(1)}50%{transform:scale(1.25)}}.audio-btn{background:#ffffffe6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:3px solid var(--btn-pink);border-radius:50px;padding:8px 16px;display:flex;align-items:center;gap:8px;cursor:pointer;box-shadow:0 4px 14px var(--shadow-color);transition:all .2s cubic-bezier(.175,.885,.32,1.275);font-family:var(--font-pixel-sub);font-size:13px;font-weight:700;color:var(--text-dark);touch-action:manipulation}.audio-btn:hover{transform:translateY(-2px) scale(1.05);background:var(--white);border-color:var(--btn-pink-hover);box-shadow:0 6px 18px var(--shadow-strong)}.audio-btn:active{transform:translateY(1px) scale(.98)}.music-note{font-size:16px;display:inline-block;animation:wiggleNote 2s infinite ease-in-out}@keyframes wiggleNote{0%,to{transform:rotate(-8deg)}50%{transform:rotate(8deg)}}.app-container{position:relative;width:100vw;min-height:100vh;min-height:100dvh;display:flex;justify-content:center;align-items:center;z-index:10;padding:70px 16px 30px;box-sizing:border-box}.main-card{position:relative;width:100%;max-width:480px;background:var(--white);border:6px solid #5A1846;border-radius:32px;padding:36px 24px 28px;display:flex;flex-direction:column;align-items:center;text-align:center;box-shadow:0 10px #ff007840,0 0 35px #ffb0dccc;animation:floatCard 4s ease-in-out infinite alternate;transition:transform .3s cubic-bezier(.175,.885,.32,1.275),box-shadow .3s ease;box-sizing:border-box}@keyframes floatCard{0%{transform:translateY(0)}to{transform:translateY(-12px)}}.card-ribbon{position:absolute;top:-20px;background:var(--btn-pink);border:4px solid #5A1846;border-radius:20px;padding:6px 22px;color:var(--white);font-family:var(--font-bold);font-size:14px;font-weight:900;letter-spacing:1px;box-shadow:0 4px #5a1846;text-transform:uppercase;z-index:2}.kitten-container{position:relative;width:170px;height:160px;margin-top:10px;margin-bottom:16px;cursor:pointer;display:flex;justify-content:center;align-items:center}.kitten-container:hover .kitten-svg{transform:scale(1.06)}.kitten-svg{width:100%;height:100%;transition:transform .3s cubic-bezier(.175,.885,.32,1.275)}.kitten-ear-left{transform-origin:35px 45px;animation:earTwitch 3.5s ease-in-out infinite}.kitten-ear-right{transform-origin:105px 45px;animation:earTwitch 3.5s ease-in-out infinite .5s}@keyframes earTwitch{0%,90%,to{transform:rotate(0)}93%{transform:rotate(-8deg)}96%{transform:rotate(6deg)}}.kitten-eye{animation:eyeBlink 4s ease-in-out infinite;transform-origin:center}@keyframes eyeBlink{0%,94%,98%,to{transform:scaleY(1)}96%{transform:scaleY(.1)}}.kitten-tail{transform-origin:120px 110px;animation:tailWag 2.5s ease-in-out infinite alternate}@keyframes tailWag{0%{transform:rotate(-10deg)}to{transform:rotate(15deg)}}.kitten-bounce{animation:happyBounce .6s cubic-bezier(.175,.885,.32,1.275)!important}@keyframes happyBounce{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-20px) scale(1.1)}}.main-title{font-family:var(--font-bold);font-size:clamp(22px,6vw,36px);font-weight:900;line-height:1.15;color:var(--text-dark);margin-bottom:24px;text-transform:uppercase;text-shadow:3px 3px 0px rgba(255,46,146,.3);word-break:break-word}.message-container{min-height:38px;display:flex;justify-content:center;align-items:center;margin-bottom:24px;padding:4px 12px}.no-message{font-family:var(--font-bold);font-size:16px;font-weight:700;color:var(--btn-pink);background:var(--pink-soft);border:3px solid #5A1846;border-radius:20px;padding:8px 18px;box-shadow:0 4px #5a1846;opacity:1;transform:scale(1);transition:opacity .25s ease,transform .25s ease}.no-message.fade-out{opacity:0;transform:scale(.85)}.no-message.fade-in{animation:popInMsg .3s cubic-bezier(.175,.885,.32,1.275) forwards}@keyframes popInMsg{0%{opacity:0;transform:scale(.7) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.button-container{position:relative;width:100%;display:flex;justify-content:center;align-items:center;gap:20px;min-height:70px;flex-wrap:wrap}.btn{position:relative;border:none;border-radius:50px;padding:15px 40px;font-family:var(--font-bold);font-size:24px;font-weight:900;letter-spacing:.5px;cursor:pointer;outline:none;transition:transform .25s cubic-bezier(.175,.885,.32,1.275),box-shadow .25s ease,background .2s ease;display:inline-flex;justify-content:center;align-items:center;gap:8px;white-space:nowrap;text-transform:uppercase}.btn-yes{--yes-scale: 1;background:var(--btn-pink);color:var(--white);border:4px solid #5A1846;box-shadow:0 6px #5a1846,inset 0 4px 10px #fff6;z-index:20;overflow:hidden;transform:scale(var(--yes-scale));transform-origin:center center;transition:transform .25s cubic-bezier(.175,.885,.32,1.275),box-shadow .25s ease,background .2s ease}.btn-yes:after{content:"";position:absolute;top:-50%;left:-60%;width:40%;height:200%;background:#ffffff73;transform:rotate(25deg);animation:shine 3s infinite;pointer-events:none}@keyframes shine{0%{left:-60%}20%,to{left:140%}}.btn-yes:hover{background:var(--btn-pink-hover);transform:scale(calc(var(--yes-scale) * 1.06))}.btn-yes:active{transform:scale(calc(var(--yes-scale) * .95));box-shadow:0 2px #5a1846}.btn-no{background:var(--white);color:var(--text-dark);border:4px solid var(--btn-pink);padding:10px 30px;font-size:18px;font-weight:700;border-radius:40px;box-shadow:0 4px #5a1846;z-index:10}.btn-no:hover{background:var(--pink-light);border-color:var(--btn-pink-hover);transform:translateY(-2px)}.btn-no:active{transform:translateY(1px)}.btn-no.runaway{position:fixed!important;transition:left .3s ease-out,top .3s ease-out,transform .2s ease!important;z-index:999}.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#ffd6ecf2;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;justify-content:center;align-items:center;z-index:1000;opacity:0;pointer-events:none;transition:opacity .4s ease;padding:20px}.modal-overlay.active{opacity:1;pointer-events:auto}.modal-card{width:100%;max-width:600px;background:var(--white);border:8px solid var(--btn-pink);border-radius:40px;padding:50px 40px;display:flex;flex-direction:column;align-items:center;text-align:center;box-shadow:0 20px 50px #ff2e924d;transform:scale(.7) translateY(30px);transition:transform .4s cubic-bezier(.175,.885,.32,1.275)}.modal-overlay.active .modal-card{transform:scale(1) translateY(0)}.modal-title{font-family:var(--font-bold);font-size:48px;font-weight:900;color:var(--btn-pink);text-transform:uppercase;margin-top:10px;margin-bottom:20px;text-shadow:3px 3px 0px var(--pink-soft)}.modal-text{font-family:var(--font-bold);font-size:20px;font-weight:700;line-height:1.5;color:var(--text-dark);margin-bottom:30px}.modal-buttons{display:flex;gap:15px;width:100%;justify-content:center}.btn-hug{background:var(--white);color:var(--btn-pink);border:4px solid var(--btn-pink);flex:1;padding:12px 30px;font-family:var(--font-bold);font-size:18px;font-weight:900;border-radius:30px;box-shadow:0 4px #5a1846;text-transform:uppercase}.btn-hug:hover{background:var(--btn-pink);color:var(--white);transform:translateY(-2px)}.btn-close{background:var(--white);color:var(--text-dark);border:4px solid #5A1846;padding:12px 30px;font-family:var(--font-bold);font-size:18px;font-weight:900;border-radius:30px;box-shadow:0 4px #5a1846;text-transform:uppercase}.btn-close:hover{background:var(--pink-soft)}.hug-banner{position:fixed;top:12%;left:50%;transform:translate(-50%) scale(0);background:#ffffffeb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:4px solid var(--btn-pink);border-radius:30px;padding:16px 36px;z-index:900;box-shadow:0 15px 35px var(--shadow-strong);pointer-events:none;transition:transform .5s cubic-bezier(.175,.885,.32,1.275)}.hug-banner.active{transform:translate(-50%) scale(1);animation:bannerPulse 2s infinite ease-in-out}@keyframes bannerPulse{0%,to{transform:translate(-50%) scale(1)}50%{transform:translate(-50%) scale(1.06)}}.hug-banner-text{font-family:var(--font-pixel);font-size:28px;color:var(--btn-pink);text-shadow:3px 3px 0px var(--pink-soft),0 0 15px rgba(255,46,146,.5);letter-spacing:1px}@media(max-width:480px){.app-container{padding:65px 12px 24px}.main-card{padding:28px 16px 20px;border-width:5px;border-radius:26px}.card-ribbon{top:-16px;padding:5px 16px;font-size:11px;letter-spacing:.5px}.kitten-container{width:130px;height:120px;margin-top:4px;margin-bottom:12px}.no-message{font-size:14px;padding:6px 14px}.btn{padding:12px 28px;font-size:18px;max-width:100%;box-sizing:border-box}.btn-no{padding:10px 22px;font-size:16px}.ds-badge{padding:5px 10px;font-size:11px}.audio-btn{padding:6px 12px;font-size:11px}.modal-card{padding:32px 20px 24px;border-width:5px;border-radius:28px;max-height:85vh;overflow-y:auto}.modal-title{font-size:clamp(26px,8vw,36px)}.modal-text{font-size:16px;margin-bottom:20px}.modal-buttons{flex-direction:column;gap:10px}.hug-banner{width:90%;padding:12px 20px;text-align:center}.hug-banner-text{font-size:clamp(18px,5.5vw,24px)}}@media(max-height:680px){.app-container{padding-top:55px;padding-bottom:15px}.kitten-container{width:110px;height:100px;margin-top:2px;margin-bottom:8px}.main-title{margin-bottom:16px}.message-container{margin-bottom:14px}}
