@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@700;800&display=swap";:root{color:#fffaf4;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);background:#020407;font-family:Manrope,sans-serif}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}body{background:#020407}main{isolation:isolate;width:100%;height:100dvh;min-height:320px;position:relative}canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.audio-hint{left:50%;bottom:max(28px, env(safe-area-inset-bottom));color:#fffaf4b8;letter-spacing:.09em;opacity:0;pointer-events:none;white-space:nowrap;font:500 11px/1 DM Mono,monospace;transition:opacity .7s,transform .7s;position:absolute;transform:translate(-50%,10px)}.audio-hint.visible{opacity:1;transform:translate(-50%)}.audio-hint span{color:#ff557d;font-size:14px}.choice{z-index:2;pointer-events:none;position:absolute;inset:0}#reject-escape-layer{pointer-events:none;z-index:2147483000;width:100vw;height:100dvh;position:fixed;inset:0;overflow:visible}#reject-escape-layer #reject{visibility:visible!important;pointer-events:auto!important;opacity:1!important;z-index:2147483001!important;margin:0!important;display:inline-flex!important;position:fixed!important;transform:none!important}.choice-actions{pointer-events:none;grid-template-columns:1fr 1fr;gap:24px;width:min(100% - 32px,480px);height:auto;min-height:56px;display:grid;position:absolute;left:50%;transform:translate(-50%)}.choice-zone{pointer-events:none;justify-content:center;align-items:center;min-height:48px;display:flex;position:relative}.choice-button{cursor:pointer;pointer-events:auto;touch-action:manipulation;border:0;border-radius:999px;justify-content:center;align-items:center;min-width:116px;min-height:48px;padding:12px 22px;font:800 15px/1 Manrope,sans-serif;transition:transform .18s,left .18s,top .18s,opacity .22s;display:inline-flex;position:relative}.choice-button.accept{color:#fff;background:linear-gradient(135deg,#ff557d,#d9045b);box-shadow:0 0 24px #ff377075,0 8px 24px #00000057}.choice-button.reject{color:#17151a;background:#fffaf4;box-shadow:0 8px 24px #00000061}.choice[hidden]{display:none}.choice-button.is-fading{opacity:0;pointer-events:none;transform:scale(.84)}@media (width<=520px){.choice-actions{gap:16px;width:min(100% - 24px,340px)}.choice-button{min-width:108px;padding-inline:18px}}.final-love-box{transform:translate(-50%, -50%) scale(var(--final-scale,1));z-index:3;opacity:0;pointer-events:none;justify-content:center;align-items:center;width:750px;max-width:90vw;height:550px;transition:opacity .9s;display:flex;position:absolute;top:50%;left:50%}.final-love-box.visible{opacity:1}.final-neon-heart{filter:drop-shadow(0 0 5px #ff4f87)drop-shadow(0 0 15px #ff4f87)drop-shadow(0 0 30px #ff166d);border-bottom:5px solid #ff5b91;border-left:5px solid #ff5b91;width:360px;height:360px;animation:1.5s ease-in-out infinite final-beat;position:absolute;transform:rotate(-45deg)}.final-neon-heart:before,.final-neon-heart:after{content:"";border-radius:50%;width:360px;height:360px;position:absolute}.final-neon-heart:before{border-top:5px solid #ff5b91;border-left:5px solid #ff5b91;border-right:5px solid #ff5b91;top:-180px;left:0}.final-neon-heart:after{border-top:5px solid #ff5b91;border-bottom:5px solid #ff5b91;border-right:5px solid #ff5b91;top:0;left:180px}.final-message{z-index:5;color:#ffd4e2;text-align:center;text-shadow:0 0 5px #fff,0 0 10px #ff86ac,0 0 20px #ff4f87,0 0 40px #ff166d;font-family:Brush Script MT,Segoe Script,Snell Roundhand,Lucida Handwriting,cursive;font-size:55px;line-height:1.3;animation:2s infinite alternate final-glow;position:relative}.final-message span{display:block}@keyframes final-glow{0%{text-shadow:0 0 5px #fff,0 0 10px #ff86ac,0 0 20px #ff4f87}to{text-shadow:0 0 10px #fff,0 0 20px #ff86ac,0 0 40px #ff166d,0 0 70px #ff166d}}@keyframes final-beat{0%,to{transform:rotate(-45deg)scale(1)}50%{transform:rotate(-45deg)scale(1.05)}}@media (width<=700px){.final-neon-heart,.final-neon-heart:before,.final-neon-heart:after{width:230px;height:230px}.final-neon-heart:before{top:-115px}.final-neon-heart:after{left:115px}.final-message{font-size:34px}}@media (prefers-reduced-motion:reduce){.audio-hint{transition:opacity .2s}.choice-button{transition:none}.final-neon-heart,.final-message{animation:none}}
