@import"https://fonts.googleapis.com/css2?family=Pacifico&family=Nunito:wght@400;600;700;800&display=swap";*{box-sizing:border-box;margin:0;padding:0}body{font-family:Nunito,sans-serif;background:linear-gradient(135deg,#ffe0f0,#ffc2e0,#ffadd6,#ffcce8,#fff0f7);min-height:100vh;overflow-x:hidden}.app-root{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative}@keyframes floatBg{0%{transform:translateY(0) rotate(0) scale(1)}33%{transform:translateY(-18px) rotate(10deg) scale(1.1)}66%{transform:translateY(-8px) rotate(-8deg) scale(.95)}to{transform:translateY(0) rotate(0) scale(1)}}.floating-particle{position:absolute;animation:floatBg ease-in-out infinite;-webkit-user-select:none;user-select:none}.screen{display:flex;align-items:center;justify-content:center;min-height:100vh;width:100%;padding:24px 16px;position:relative;z-index:10}.card{background:#ffffffd1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:32px;padding:48px 36px;max-width:420px;width:100%;text-align:center;box-shadow:0 8px 40px #ff69b42e,0 2px 12px #ff14931a,0 0 0 2px #ffb6c180;animation:cardIn .6s cubic-bezier(.34,1.56,.64,1) both;position:relative}.card-wide{max-width:480px;min-height:340px;overflow:hidden}@keyframes cardIn{0%{opacity:0;transform:translateY(30px) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}.title-bow{font-size:2.8rem;margin-bottom:8px;animation:bowWiggle 2s ease-in-out infinite;display:inline-block}@keyframes bowWiggle{0%,to{transform:rotate(-8deg) scale(1)}50%{transform:rotate(8deg) scale(1.12)}}.main-title{font-family:Pacifico,cursive;font-size:clamp(3rem,14vw,5.5rem);background:linear-gradient(135deg,#e91e8c,#ff69b4,#ff1493);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.1;margin-bottom:10px;filter:drop-shadow(0 2px 6px rgba(233,30,140,.25))}.subtitle{font-size:clamp(1rem,4vw,1.3rem);color:#d1547a;font-weight:700;margin-bottom:28px;letter-spacing:.02em}.heart-row{display:flex;justify-content:center;gap:8px;margin-bottom:12px}@keyframes heartBounce{0%,to{transform:translateY(0) scale(1)}40%{transform:translateY(-14px) scale(1.25)}60%{transform:translateY(-8px) scale(1.1)}}.bouncing-heart{font-size:1.8rem;display:inline-block;animation:heartBounce 1.4s ease-in-out infinite}.star-row{display:flex;justify-content:center;gap:10px;margin-bottom:32px}@keyframes starTwinkle{0%,to{transform:scale(1) rotate(0);opacity:.8}50%{transform:scale(1.4) rotate(20deg);opacity:1}}.twinkling-star{font-size:1.4rem;display:inline-block;animation:starTwinkle 1.6s ease-in-out infinite}.btn-primary{display:inline-block;background:linear-gradient(135deg,#ff69b4,#ff1493);color:#fff;font-family:Nunito,sans-serif;font-weight:800;font-size:1.15rem;border:none;border-radius:999px;padding:16px 44px;cursor:pointer;box-shadow:0 6px 24px #ff149359,0 2px 8px #ff69b44d,inset 0 1px #ffffff4d;transition:transform .18s cubic-bezier(.34,1.56,.64,1),box-shadow .18s ease;letter-spacing:.03em}.btn-primary:hover{transform:translateY(-3px) scale(1.06);box-shadow:0 12px 32px #ff149366,0 4px 12px #ff69b459,inset 0 1px #ffffff4d}.btn-primary:active{transform:translateY(1px) scale(.97)}.question-emoji{font-size:3rem;margin-bottom:16px;display:inline-block;animation:heartBounce 1.4s ease-in-out infinite}.question-text{font-size:clamp(1.1rem,5vw,1.5rem);color:#c2185b;font-weight:800;margin-bottom:40px;line-height:1.4}.button-area{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;align-items:center}.btn-yes{flex-shrink:0}.btn-no{display:inline-block;background:linear-gradient(135deg,#e0e0e0,#bdbdbd);color:#666;font-family:Nunito,sans-serif;font-weight:800;font-size:1rem;border:none;border-radius:999px;padding:14px 28px;cursor:pointer;box-shadow:0 4px 14px #0000001f;transition:transform .12s ease,background .2s ease;white-space:nowrap;-webkit-user-select:none;user-select:none;touch-action:manipulation}.btn-no:hover{background:linear-gradient(135deg,#eee,#e0e0e0)}.date-picker-wrap{margin-bottom:16px}.date-picker-inner{display:flex;flex-direction:column;align-items:center;gap:10px;margin-bottom:12px}.date-label{font-size:1rem;font-weight:700;color:#c2185b}.date-input{font-family:Nunito,sans-serif;font-size:1.05rem;font-weight:700;color:#c2185b;background:#ffc0cb33;border:2.5px solid #ffb6c1;border-radius:16px;padding:12px 20px;cursor:pointer;outline:none;text-align:center;transition:border-color .2s,box-shadow .2s;width:100%;max-width:240px}.date-input:focus{border-color:#ff69b4;box-shadow:0 0 0 3px #ff69b433}.date-input::-webkit-calendar-picker-indicator{filter:invert(40%) sepia(80%) saturate(500%) hue-rotate(300deg);cursor:pointer}.date-preview{background:linear-gradient(135deg,#ffe0f0,#ffc2e0);border-radius:12px;padding:10px 20px;font-size:1rem;font-weight:800;color:#c2185b;animation:cardIn .35s cubic-bezier(.34,1.56,.64,1) both}.rating-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:8px}.rating-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:#ffc0cb40;border:2px solid #ffb6c1;border-radius:14px;padding:8px 4px;cursor:pointer;transition:transform .18s cubic-bezier(.34,1.56,.64,1),background .18s ease,border-color .18s ease,box-shadow .18s ease;position:relative}.rating-btn:hover{transform:scale(1.1);background:#ff69b426}.rating-btn-selected{background:linear-gradient(135deg,#ff69b4,#ff1493)!important;border-color:#ff1493!important;box-shadow:0 4px 16px #ff149366;transform:scale(1.12)}.rating-btn-selected .rating-number{color:#fff!important}.rating-btn-ten{grid-column:1 / -1;flex-direction:row;gap:8px;padding:12px 24px;border-color:#ff1493;background:linear-gradient(135deg,#ff69b426,#ff14931a);font-size:1.1rem!important}.rating-btn-ten .rating-emoji{font-size:1.6rem}.rating-btn-ten:not(.rating-btn-selected){border-width:2.5px}.rating-emoji{font-size:1rem;line-height:1}.rating-number{font-family:Nunito,sans-serif;font-weight:900;font-size:.95rem;color:#c2185b;line-height:1}.rating-ten-crown{font-size:1rem}.rating-selected-msg{margin-top:4px;padding:10px 16px;background:linear-gradient(135deg,#ffe0f0,#ffc2e0);border-radius:12px;font-size:.95rem;font-weight:800;color:#c2185b;animation:cardIn .35s cubic-bezier(.34,1.56,.64,1) both}.final-info-card{background:linear-gradient(135deg,#ffc0cb4d,#ffb6c133);border:2px solid #ffb6c1;border-radius:18px;padding:16px 20px;margin:16px 0;text-align:left}.final-info-row{display:flex;align-items:flex-start;gap:12px;font-size:.95rem;color:#c2185b;font-weight:700;line-height:1.5}.final-info-row span:first-child{font-size:1.4rem;flex-shrink:0;margin-top:2px}.final-info-divider{height:1px;background:#ff69b44d;margin:12px 0}.card-final{max-width:440px;opacity:0;transform:scale(.88) translateY(20px);transition:opacity .55s cubic-bezier(.34,1.56,.64,1),transform .55s cubic-bezier(.34,1.56,.64,1)}.card-final-visible{opacity:1;transform:scale(1) translateY(0)}.final-hearts{display:flex;justify-content:center;gap:6px;margin-bottom:24px;flex-wrap:wrap}@keyframes finalHeartPop{0%{transform:scale(0) rotate(-20deg);opacity:0}60%{transform:scale(1.3) rotate(5deg);opacity:1}to{transform:scale(1) rotate(0);opacity:1}}.final-heart{font-size:2.2rem;display:inline-block;animation:finalHeartPop .5s cubic-bezier(.34,1.56,.64,1) both}.final-message{font-size:clamp(1rem,4.5vw,1.35rem);color:#c2185b;font-weight:800;line-height:1.5;margin-bottom:12px}.final-message-2{color:#e91e8c;font-size:clamp(1.1rem,5vw,1.5rem);margin-bottom:24px}.final-decorations{display:flex;justify-content:center;gap:10px}@keyframes confettiFall{0%{transform:translateY(-20px) rotate(0);opacity:1}to{transform:translateY(105vh) rotate(720deg);opacity:0}}.confetti-piece{position:absolute;top:-20px;animation:confettiFall linear infinite}@media(max-width:400px){.card{padding:36px 20px;border-radius:24px}.btn-primary{padding:14px 32px;font-size:1rem}}
