:root{--primary-pink: #ff4d6d;--primary-rose: #c9184a;--secondary-pink: #ff758f;--soft-pink: #ffccd5;--pale-pink: #fff0f3;--romantic-purple: #8338ec;--gold-accent: #ffb703;--card-bg: rgba(255, 255, 255, .82);--card-border: rgba(255, 255, 255, .92);--card-shadow: 0 20px 50px rgba(255, 77, 109, .2), 0 10px 20px rgba(0, 0, 0, .05);--text-main: #2b1020;--text-muted: #794d61}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{width:100%;min-height:100vh;min-height:-webkit-fill-available;overflow-x:hidden;overflow-y:auto;font-family:Outfit,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:var(--text-main);background:linear-gradient(135deg,#ffeef2,#ffd6e0,#ffb3c6 70%,#ff8fa3);background-attachment:fixed;user-select:none;-webkit-user-select:none}#root{width:100%;min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow-x:hidden}.bg-ambient-blob-1{position:fixed;top:-10vw;left:-10vw;width:50vw;height:50vw;border-radius:50%;background:radial-gradient(circle,#ff758f59,#ff758f00 70%);filter:blur(40px);animation:floatSlow 12s ease-in-out infinite alternate;pointer-events:none;z-index:0}.bg-ambient-blob-2{position:fixed;bottom:-15vw;right:-10vw;width:60vw;height:60vw;border-radius:50%;background:radial-gradient(circle,#c9184a40,#ff4d6d00 70%);filter:blur(50px);animation:floatSlow 15s ease-in-out infinite alternate-reverse;pointer-events:none;z-index:0}@keyframes floatSlow{0%{transform:translate(0) scale(1)}to{transform:translate(30px,40px) scale(1.1)}}.particles-canvas{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.app-container{width:100%;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:3.5rem 1.25rem 2.5rem;position:relative;z-index:10}.sound-toggle-btn{position:fixed;top:1.25rem;right:1.25rem;z-index:100;background:#ffffffbf;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.9);padding:.5rem .85rem;border-radius:9999px;font-size:.9rem;font-weight:600;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;gap:.35rem;box-shadow:0 4px 15px #ff4d6d26;transition:all .25s cubic-bezier(.175,.885,.32,1.275)}.sound-toggle-btn:hover{transform:translateY(-2px) scale(1.05);background:#fffffff2;box-shadow:0 6px 20px #ff4d6d40;color:var(--primary-rose)}.romantic-card{width:100%;max-width:480px;background:var(--card-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1.5px solid var(--card-border);border-radius:28px;padding:2.75rem 2.25rem;box-shadow:var(--card-shadow);text-align:center;position:relative;animation:cardEntrance .7s cubic-bezier(.34,1.56,.64,1) forwards;transition:transform .3s ease}.planner-card{max-width:530px;padding:2.5rem 2.25rem}@keyframes cardEntrance{0%{opacity:0;transform:scale(.85) translateY(30px)}to{opacity:1;transform:scale(1) translateY(0)}}.card-visual-wrapper{margin-bottom:1.25rem;display:flex;justify-content:center;align-items:center;position:relative}.pulsing-heart-icon{font-size:4.25rem;filter:drop-shadow(0 8px 18px rgba(255,77,109,.35));animation:heartPulse 1.8s ease-in-out infinite;display:inline-block}@keyframes heartPulse{0%,to{transform:scale(1)}14%{transform:scale(1.15) rotate(-3deg)}28%{transform:scale(1)}42%{transform:scale(1.18) rotate(3deg)}70%{transform:scale(1)}}.sparkles-overlay{position:absolute;top:-10px;right:calc(50% - 60px);font-size:1.5rem;animation:sparkleRotate 3s linear infinite}@keyframes sparkleRotate{0%{transform:rotate(0) scale(.9);opacity:.7}50%{transform:rotate(180deg) scale(1.2);opacity:1}to{transform:rotate(360deg) scale(.9);opacity:.7}}.card-title{font-size:2.1rem;font-weight:800;line-height:1.25;color:#240014;margin-bottom:.6rem;letter-spacing:-.02em;text-shadow:0 2px 4px rgba(0,0,0,.04)}.card-subtitle{font-family:Quicksand,sans-serif;font-size:1.15rem;font-weight:600;color:var(--text-muted);margin-bottom:2rem}.dodge-counter-badge{display:inline-flex;align-items:center;gap:.4rem;background:#ff4d6d1f;color:var(--primary-rose);padding:.35rem .9rem;border-radius:9999px;font-size:.85rem;font-weight:700;margin-bottom:1.25rem;border:1px solid rgba(255,77,109,.2);animation:popBadge .3s cubic-bezier(.175,.885,.32,1.275)}@keyframes popBadge{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.actions-container{display:flex;align-items:center;justify-content:center;gap:1.5rem;min-height:70px;position:relative;width:100%}.btn-primary-yes{background:linear-gradient(135deg,#ff4d6d,#ff0054,#c9184a);color:#fff;border:none;font-size:1.25rem;font-weight:700;padding:.9rem 2.25rem;border-radius:9999px;cursor:pointer;box-shadow:0 10px 25px #ff005466,inset 0 2px 2px #fff6;transition:all .3s cubic-bezier(.175,.885,.32,1.275);display:inline-flex;align-items:center;justify-content:center;gap:.5rem;z-index:20;position:relative;white-space:nowrap}.btn-primary-yes:hover:not(.disabled){transform:scale(1.06) translateY(-2px);box-shadow:0 14px 30px #ff005480,inset 0 2px 2px #fff9}.btn-primary-yes:active:not(.disabled){transform:scale(.98) translateY(1px)}.btn-primary-yes.disabled{opacity:.55;cursor:not-allowed;filter:grayscale(.2);box-shadow:none}.btn-confirm{width:100%;font-size:1.2rem;padding:1rem 2rem;margin-top:1rem}.loading-spinner-wrapper{display:inline-flex;align-items:center;gap:.6rem}.spinner-dot{width:18px;height:18px;border:2.5px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.btn-secondary-no{background:#fffffff2;color:#555;border:1.5px solid rgba(0,0,0,.08);font-size:1.1rem;font-weight:600;padding:.85rem 1.75rem;border-radius:9999px;cursor:pointer;box-shadow:0 6px 18px #00000014;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;z-index:50;-webkit-user-select:none;user-select:none;touch-action:manipulation;white-space:nowrap;max-width:min(230px,calc(100vw - 48px));box-sizing:border-box;text-overflow:ellipsis}.btn-secondary-no.is-floating{animation:buttonFloatBobbing 2.5s ease-in-out infinite}@keyframes buttonFloatBobbing{0%,to{transform:translateY(0);box-shadow:0 6px 18px #00000014}50%{transform:translateY(-6px);box-shadow:0 12px 24px #ff4d6d26}}.btn-secondary-no.is-escaping{position:fixed!important;transition:left .22s cubic-bezier(.18,.89,.32,1.28),top .22s cubic-bezier(.18,.89,.32,1.28),transform .18s ease-out;box-shadow:0 12px 30px #0000002e,0 4px 12px #ff4d6d40;border:1.5px solid rgba(255,77,109,.45);background:#fff;color:var(--primary-rose)}.planner-form{display:flex;flex-direction:column;gap:1.5rem;text-align:left}.form-group{display:flex;flex-direction:column;gap:.55rem}.form-label{font-size:1rem;font-weight:700;color:var(--text-main);display:flex;align-items:center;gap:.4rem}.form-input{width:100%;padding:.85rem 1.15rem;font-family:inherit;font-size:1rem;font-weight:600;color:var(--text-main);background:#ffffffe6;border:1.5px solid rgba(255,77,109,.25);border-radius:14px;outline:none;box-shadow:0 2px 8px #0000000a;transition:all .25s ease}.form-input:focus{border-color:var(--primary-pink);background:#fff;box-shadow:0 0 0 4px #ff4d6d2e}.form-input.custom-input{margin-top:.5rem;animation:popBadge .25s ease}.choice-pills{display:flex;flex-wrap:wrap;gap:.5rem}.choice-pill{background:#ffffffe0;border:1.5px solid rgba(255,77,109,.2);padding:.5rem .95rem;border-radius:9999px;font-family:inherit;font-size:.9rem;font-weight:600;color:var(--text-main);cursor:pointer;transition:all .2s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 2px 6px #00000008}.choice-pill:hover{transform:translateY(-2px);border-color:var(--primary-pink);background:#fff;box-shadow:0 4px 12px #ff4d6d26}.choice-pill.active{background:linear-gradient(135deg,#ff4d6d,#ff0054);color:#fff;border-color:transparent;transform:translateY(-2px) scale(1.03);box-shadow:0 6px 16px #ff4d6d59}.form-error-banner{background:#ff4d6d1f;border:1.5px solid rgba(255,77,109,.4);color:var(--primary-rose);padding:.75rem 1rem;border-radius:14px;font-size:.92rem;font-weight:600;margin-bottom:1.25rem;animation:popBadge .3s ease;display:flex;align-items:center;justify-content:center}.celebration-card{width:100%;max-width:530px;background:var(--card-bg);backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px);border:2px solid rgba(255,255,255,.95);border-radius:32px;padding:3rem 2.25rem;box-shadow:0 25px 60px #ff4d6d40;text-align:center;position:relative;animation:celebrationIn .8s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes celebrationIn{0%{opacity:0;transform:scale(.7) translateY(40px)}to{opacity:1;transform:scale(1) translateY(0)}}.celebration-visual{font-size:4.8rem;margin-bottom:1rem;display:inline-block;animation:happyBounce 1s infinite alternate cubic-bezier(.445,.05,.55,.95)}@keyframes happyBounce{0%{transform:translateY(0) scale(1)}to{transform:translateY(-12px) scale(1.1) rotate(4deg)}}.celebration-title{font-size:2.4rem;font-weight:800;color:var(--primary-rose);margin-bottom:.35rem;line-height:1.2}.celebration-subtitle{font-size:1.25rem;font-weight:600;color:var(--text-muted);margin-bottom:1.5rem}.date-summary-box{background:#ffffffb8;border:1.5px solid rgba(255,77,109,.3);border-radius:20px;padding:1.5rem 1.25rem;margin-bottom:1.5rem;box-shadow:0 8px 24px #ff4d6d1a;text-align:left}.date-summary-header{font-size:.95rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--primary-rose);margin-bottom:1rem;text-align:center}.date-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.summary-item{display:flex;align-items:flex-start;gap:.65rem;background:#ffffffd9;padding:.75rem .85rem;border-radius:14px;border:1px solid rgba(255,77,109,.15)}.summary-icon{font-size:1.4rem;line-height:1}.summary-content{display:flex;flex-direction:column}.summary-label{font-size:.75rem;font-weight:700;text-transform:uppercase;color:var(--text-muted);letter-spacing:.04em}.summary-value{font-size:.98rem;font-weight:700;color:var(--text-main);margin-top:.15rem;word-break:break-word}.celebration-romantic-message{font-family:Caveat,cursive;font-size:2rem;color:var(--primary-rose);margin-bottom:.5rem;font-weight:700}.celebration-dodge-note{font-size:.9rem;font-weight:600;color:var(--text-muted);margin-bottom:1.75rem}.btn-celebration{background:linear-gradient(135deg,#ff4d6d,#ff0054);color:#fff;border:none;font-size:1.25rem;font-weight:700;padding:.95rem 2.75rem;border-radius:9999px;cursor:pointer;box-shadow:0 10px 30px #ff005466;transition:all .3s cubic-bezier(.175,.885,.32,1.275);margin-bottom:1rem}.btn-celebration:hover{transform:scale(1.08) translateY(-3px);box-shadow:0 16px 36px #ff00548c}.btn-reset{background:transparent;border:none;color:var(--text-muted);font-size:.9rem;font-weight:600;cursor:pointer;padding:.4rem .8rem;border-radius:8px;transition:all .2s ease;text-decoration:underline;text-underline-offset:3px}.btn-reset:hover{color:var(--primary-rose)}@media(max-width:480px){.romantic-card,.celebration-card,.planner-card{padding:2.25rem 1.4rem;border-radius:24px}.card-title{font-size:1.75rem}.card-subtitle{font-size:1.05rem;margin-bottom:1.5rem}.celebration-title{font-size:2rem}.celebration-subtitle{font-size:1.1rem}.celebration-romantic-message{font-size:1.7rem}.date-summary-grid{grid-template-columns:1fr;gap:.65rem}.pulsing-heart-icon{font-size:3.5rem}.actions-container{gap:1rem}.btn-primary-yes{font-size:1.1rem;padding:.8rem 1.8rem}.btn-secondary-no{font-size:1rem;padding:.75rem 1.4rem}.sound-toggle-btn{top:.75rem;right:.75rem;padding:.4rem .7rem;font-size:.8rem}}
