@import"https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700;800;900&family=Pacifico&display=swap";:root{font-family:Nunito,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#fff8fb;background:#2d0b20;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{width:100%;min-height:100%;margin:0}body{overflow-x:hidden}button,input{font:inherit}button{user-select:none;-webkit-user-select:none;touch-action:manipulation}.app{position:relative;display:flex;min-height:100dvh;align-items:center;justify-content:center;overflow-x:hidden;padding:20px 16px;isolation:isolate}.background-video{position:fixed;z-index:-4;width:100%;height:100%;top:0;right:0;bottom:0;left:0;object-fit:cover;opacity:.82;pointer-events:none}.background-overlay{position:fixed;z-index:-3;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at top,rgba(255,141,184,.18),transparent 46%),linear-gradient(160deg,#2b031c94,#530c3080,#1d0418ad);pointer-events:none}.floating-hearts{position:fixed;z-index:-1;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.floating-heart{position:absolute;bottom:-60px;display:block;opacity:0;filter:drop-shadow(0 5px 8px rgba(84,4,46,.24));animation-name:rise-heart;animation-timing-function:linear;animation-iteration-count:infinite}@keyframes rise-heart{0%{opacity:0;transform:translate3d(0,30px,0) rotate(0) scale(.7)}12%{opacity:.75}80%{opacity:.58}to{opacity:0;transform:translate3d(20px,-115dvh,0) rotate(22deg) scale(1.18)}}.invitation-card{position:relative;width:min(100%,470px);overflow:hidden;border:1px solid rgba(255,227,239,.34);border-radius:30px;padding:24px 18px;background:#3d0a2a9e;box-shadow:0 20px 55px #1c001357,inset 0 1px #ffffff29;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px)}.screen{display:flex;min-height:410px;flex-direction:column;justify-content:center;animation:appear .42s ease}@keyframes appear{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}.eyebrow{align-self:center;border:1px solid rgba(255,231,240,.28);border-radius:999px;padding:7px 13px;background:#ffffff1a;color:#ffe5ef;font-size:.76rem;font-weight:900;letter-spacing:.11em;text-align:center;text-transform:uppercase}.main-heart,.final-heart{margin:20px auto 8px;animation:heart-pulse 1.65s ease-in-out infinite;filter:drop-shadow(0 8px 14px rgba(255,45,121,.42));line-height:1;text-align:center}.main-heart{font-size:4.8rem}.final-heart{font-size:5.4rem}@keyframes heart-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.13)}}h1,h2{margin:6px 0 10px;padding-bottom:20px;color:#fff9fb;font-weight:900;line-height:1.08;text-align:center;text-shadow:0 3px 12px rgba(49,0,26,.24)}h1{font-family:Pacifico,cursive;font-size:clamp(2.25rem,12vw,3.75rem);font-weight:400}h2{font-size:clamp(1.85rem,8vw,2.55rem)}.subtitle{max-width:390px;margin:0 auto 19px;color:#ffeff6eb;font-size:.98rem;font-weight:600;line-height:1.55;text-align:center}.playful-message{margin:1px auto 15px;border:1px solid rgba(255,232,240,.23);border-radius:15px;padding:9px 12px;background:#ffffff1c;color:#ffeff5;font-size:.86rem;font-weight:800;line-height:1.38;text-align:center;animation:appear .3s ease}.answer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:3px}.answer-button,.primary-action-button,.secondary-action-button,.restart-button,.choice-button{border:0;cursor:pointer}.answer-button{display:flex;width:100%;min-height:58px;align-items:center;justify-content:center;border-radius:18px;padding:12px 10px;font-size:.91rem;font-weight:900;line-height:1.12;text-align:center;transition:transform .22s ease,box-shadow .22s ease,left .48s cubic-bezier(.2,.86,.32,1),top .48s cubic-bezier(.2,.86,.32,1)}.answer-button:active{transform:scale(.96)}.yes-button{background:linear-gradient(135deg,#ff4f92,#e52874);box-shadow:0 10px 22px #de1a6a4a;color:#fff}.yes-button:hover{transform:translateY(-2px);box-shadow:0 13px 25px #de1a6a66}.no-button{border:1px solid rgba(255,232,241,.22);background:#ffffff24;box-shadow:0 8px 18px #32001f26;color:#fff7fa}.no-button-floating{position:fixed;z-index:9999;margin:0;overflow:hidden;white-space:normal;will-change:left,top}.answer-button-placeholder{width:100%;min-height:58px}.tiny-note{margin:15px auto 0;color:#ffdfecbf;font-size:.75rem;font-weight:700;text-align:center}.progress-area{margin-bottom:19px}.progress-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px;color:#ffeaf2ed;font-size:.75rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.progress-track{width:100%;height:7px;overflow:hidden;border-radius:999px;background:#ffffff21}.progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#ff76aa,#ffbdd6);box-shadow:0 0 15px #ff74aa85;transition:width .42s ease}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:3px}.choice-button{display:flex;min-height:103px;flex-direction:column;align-items:center;justify-content:center;gap:7px;border:1px solid rgba(255,230,240,.2);border-radius:18px;padding:12px 7px;background:#ffffff1c;box-shadow:inset 0 1px #ffffff1c;color:#fff6fa;transition:transform .22s ease,box-shadow .22s ease,left .48s cubic-bezier(.2,.86,.32,1),top .48s cubic-bezier(.2,.86,.32,1)}.choice-button:hover,.choice-button:focus-visible{transform:translateY(-3px);background:#ffc5db33;box-shadow:0 12px 20px #30001d2e}.choice-button:active{transform:scale(.96)}.choice-button span{font-size:2rem;line-height:1}.choice-button strong{font-size:.86rem;line-height:1.2;text-align:center}.date-time-grid{display:grid;gap:11px;margin-top:2px}.input-group{display:flex;flex-direction:column;gap:7px;border:1px solid rgba(255,232,241,.21);border-radius:16px;padding:11px 12px;background:#ffffff1a}.input-group span{color:#ffe3ee;font-size:.8rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.input-group input{width:100%;min-height:43px;border:1px solid rgba(255,232,241,.24);border-radius:11px;outline:none;padding:8px 10px;background:#fff9fceb;color:#6e1647;font-weight:900}.input-group input:focus{border-color:#ff80ae;box-shadow:0 0 0 3px #ff80ae33}.secondary-action-button,.primary-action-button,.restart-button{width:100%;border-radius:16px;padding:14px 13px;font-size:.91rem;font-weight:900;transition:transform .22s ease,opacity .22s ease,box-shadow .22s ease}.secondary-action-button{margin-top:12px;border:1px solid rgba(255,232,241,.25);background:#ffffff21;color:#fff5f8}.primary-action-button{margin-top:12px;background:linear-gradient(135deg,#ff4f92,#e22673);box-shadow:0 11px 22px #cd145e45;color:#fff}.secondary-action-button:hover,.primary-action-button:hover,.restart-button:hover{transform:translateY(-2px)}.primary-action-button:disabled{cursor:not-allowed;opacity:.48;transform:none}.selected-time-preview{margin-top:12px;border-radius:13px;padding:10px 11px;background:#ffd6e624;color:#ffedf4;font-size:.82rem;font-weight:700;line-height:1.45;text-align:center}.summary-card{display:grid;gap:8px;margin:3px 0 4px}.summary-row{display:flex;align-items:center;gap:10px;border:1px solid rgba(255,232,241,.18);border-radius:14px;padding:9px 11px;background:#ffffff1a}.summary-row>span{font-size:1.45rem}.summary-row div{display:flex;min-width:0;flex-direction:column;gap:1px}.summary-row small{color:#ffe2eebf;font-size:.68rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.summary-row strong{overflow:hidden;color:#fff8fb;font-size:.92rem;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.restart-button{margin-top:9px;background:transparent;color:#ffe6efdb;text-decoration:underline;text-underline-offset:3px}@media (min-width: 430px){.invitation-card{padding:27px 23px}.answer-button{font-size:.96rem}.choice-button strong{font-size:.91rem}}@media (max-height: 690px){.app{align-items:flex-start;padding-top:14px;padding-bottom:14px}.invitation-card{padding-top:19px;padding-bottom:19px}.screen{min-height:auto}.main-heart{margin-top:14px;font-size:4rem}.final-heart{margin-top:14px;font-size:4.45rem}.subtitle{margin-bottom:15px}.choice-button{min-height:86px}.choice-button span{font-size:1.72rem}}
