@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@0,600;0,700;0,800;1,600;1,700;1,800;1,900&display=swap";:root{--primary-pink: #ff2a7a;--secondary-pink: #ff6b9d;--deep-wine: #1c0827;--dark-plum: #2a0b38;--card-bg: rgba(255, 255, 255, .07);--card-border: rgba(255, 255, 255, .12);--text-main: #ffffff;--text-muted: #e4c1db;--glow-pink: 0 0 25px rgba(255, 42, 122, .4)}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}body{font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:radial-gradient(circle at 20% 15%,#460f38,#1d0729 45%,#0e0316);color:var(--text-main);min-height:100vh;min-height:100dvh;overflow-x:hidden;position:relative}.bg-hearts{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0;overflow:hidden}.floating-heart{position:absolute;color:#ff6b9d21;animation:floatUp 12s infinite linear;-webkit-user-select:none;user-select:none;will-change:transform,opacity}@keyframes floatUp{0%{transform:translate3d(0,105vh,0) scale(.6);opacity:0}15%{opacity:.55}85%{opacity:.55}to{transform:translate3d(0,-10vh,0) scale(1.1);opacity:0}}@media (max-width: 640px){.floating-heart:nth-child(n+7){display:none}}.app-wrapper{position:relative;z-index:1;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;padding:clamp(1rem,4vw,2.5rem) clamp(.75rem,3vw,1.25rem)}.main-container{width:100%;max-width:680px}.header-section{text-align:center;margin-bottom:clamp(1.2rem,3.5vw,2rem)}.title-tag{display:inline-flex;align-items:center;gap:.4rem;background:#ff2a7a26;border:1px solid rgba(255,107,157,.35);color:#ff9ec4;padding:.3rem .85rem;border-radius:9999px;font-size:clamp(.75rem,2.5vw,.825rem);font-weight:600;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.75rem}.main-title{font-family:Playfair Display,Georgia,serif;font-style:italic;font-size:clamp(2.85rem,9vw,4.15rem);font-weight:800;letter-spacing:-.015em;background:linear-gradient(135deg,#fff 15%,#ffd2e7 40%,#ff3885 75%,#e6005c);-webkit-background-clip:text;-webkit-text-fill-color:transparent;line-height:1.1;margin-top:.25rem;margin-bottom:.75rem;filter:drop-shadow(0 4px 18px rgba(255,42,122,.45)) drop-shadow(0 0 35px rgba(255,61,139,.22))}.subtitle{color:#e4c1db;font-size:clamp(.925rem,2.8vw,1.05rem);max-width:480px;margin:0 auto;line-height:1.5;font-weight:400;opacity:.92}.calculator-card{background:#210a2ec7;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--card-border);border-radius:clamp(1.15rem,3vw,1.75rem);padding:clamp(1.15rem,4vw,2rem);box-shadow:0 15px 40px #0006,0 0 25px #ff2a7a1f;transition:transform .2s ease}.section-card{background:#ffffff09;border:1px solid rgba(255,255,255,.09);border-radius:clamp(1rem,2.5vw,1.35rem);padding:clamp(1rem,3.5vw,1.4rem);margin-bottom:1.25rem;box-shadow:0 4px 20px #0000001f;transition:border-color .2s ease,background .2s ease}.section-card:hover{background:#ffffff0d;border-color:#ff6b9d38}.section-header{display:flex;align-items:center;gap:.5rem;font-size:clamp(.85rem,2.5vw,.95rem);font-weight:700;color:#ffb8d7;margin-bottom:.9rem}.form-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:.85rem;align-items:flex-end;margin-bottom:0}.heart-divider-wrapper{display:flex;align-items:center;justify-content:center;align-self:flex-end;margin-bottom:4px;flex-shrink:0}.heart-divider-line{display:none}.heart-divider{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:linear-gradient(135deg,#ff2a7a,#9d1c5a);border-radius:50%;color:#fff;box-shadow:0 0 14px #ff2a7a73;animation:pulseBeat 1.8s infinite ease-in-out;flex-shrink:0;transform-origin:center center}@media (max-width: 560px){.form-grid{grid-template-columns:1fr;gap:.55rem}.input-box{width:100%}.heart-divider-wrapper{display:flex;align-items:center;justify-content:center;width:100%;margin:.15rem 0;align-self:center}.heart-divider-line{display:block;flex:1;height:1px;background:linear-gradient(90deg,#ff6b9d0d,#ff6b9d59,#ff6b9d0d)}.heart-divider{width:32px;height:32px;margin:0 .65rem;box-shadow:0 0 10px #ff2a7a80;border:1.5px solid rgba(255,255,255,.2)}.heart-divider svg{width:15px;height:15px}}.input-box{display:flex;flex-direction:column;gap:.4rem}.input-label{font-size:.825rem;font-weight:600;color:#ffb8d7;display:flex;align-items:center;gap:.35rem}.input-container{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:.95rem;color:#ff6b9d;pointer-events:none}.text-input{width:100%;min-height:48px;padding:.8rem .9rem .8rem 2.75rem;background:#ffffff0f;border:1.5px solid rgba(255,255,255,.15);border-radius:.9rem;color:#fff;font-size:16px;font-weight:500;outline:none;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease}.text-input:focus{border-color:#ff3d8b;background:#ffffff1a;box-shadow:0 0 0 3px #ff3d8b40}.text-input::placeholder{color:#ffffff59;font-size:.95rem}@keyframes pulseBeat{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.mode-selector{margin-bottom:1.6rem}.mode-label{font-size:.825rem;font-weight:600;color:#ffb8d7;margin-bottom:.65rem;display:block}.mode-options{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}@media (max-width: 680px){.mode-options{grid-template-columns:1fr;gap:.55rem}.mode-card{padding:.75rem .9rem!important}}.mode-card{cursor:pointer;background:#ffffff0a;border:1.5px solid rgba(255,255,255,.12);border-radius:.9rem;padding:.85rem;display:flex;flex-direction:column;gap:.25rem;transition:all .2s ease;-webkit-user-select:none;user-select:none;min-height:48px}.mode-card:hover{background:#ffffff14;border-color:#ff6b9d66}.mode-card:active{transform:scale(.98)}.mode-card.active{background:linear-gradient(135deg,#ff2a7a40,#9d1c5a40);border-color:#ff2a7a;box-shadow:0 0 16px #ff2a7a40}.mode-title{display:flex;align-items:center;gap:.45rem;font-weight:700;font-size:.95rem;color:#fff}.mode-desc{font-size:.75rem;color:var(--text-muted);line-height:1.35}.calculate-btn{width:100%;min-height:52px;padding:.95rem 1.25rem;background:linear-gradient(135deg,#ff2a7a,#ff5252,#e01763);border:none;border-radius:1rem;color:#fff;font-size:1.05rem;font-weight:700;letter-spacing:.02em;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.65rem;box-shadow:0 8px 20px #ff2a7a59;transition:transform .15s ease,filter .15s ease,box-shadow .15s ease;touch-action:manipulation}.calculate-btn:hover:not(:disabled){filter:brightness(1.08);box-shadow:0 10px 25px #ff2a7a80}.calculate-btn:active:not(:disabled){transform:scale(.98)}.calculate-btn:disabled{opacity:.7;cursor:not-allowed}.result-card{margin-top:1.75rem;background:#2b0c3ceb;border:1px solid rgba(255,107,157,.35);border-radius:clamp(1.15rem,3vw,1.5rem);padding:clamp(1.35rem,4vw,2rem) clamp(1rem,3vw,1.5rem);text-align:center;box-shadow:0 12px 35px #00000073,0 0 25px #ff2a7a2e;animation:slideUpFade .35s ease-out}@keyframes slideUpFade{0%{opacity:0;transform:translate3d(0,15px,0)}to{opacity:1;transform:translateZ(0)}}.gauge-wrapper{position:relative;width:clamp(150px,38vw,180px);height:clamp(150px,38vw,180px);margin:0 auto 1.25rem;display:flex;align-items:center;justify-content:center}.gauge-svg{transform:rotate(-90deg);width:100%;height:100%}.gauge-bg{stroke:#ffffff14}.gauge-progress{stroke:url(#roseGradient);stroke-linecap:round;transition:stroke-dashoffset .4s ease-out}.gauge-content{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center}.gauge-percent{font-size:clamp(2.5rem,7.5vw,3.25rem);font-weight:800;line-height:1;background:linear-gradient(135deg,#fff,#ff8dbb);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.gauge-label{font-size:clamp(.7rem,2.3vw,.8rem);text-transform:uppercase;letter-spacing:.08em;color:#ff9ec4;font-weight:600;margin-top:.2rem}.couple-names{font-size:clamp(1.25rem,4.5vw,1.55rem);font-weight:700;color:#fff;margin-bottom:.6rem;word-break:break-word}.couple-names span{color:#ff4785}.message-box{background:#ffffff0d;border:1px solid rgba(255,255,255,.09);border-radius:.9rem;padding:clamp(.85rem,2.5vw,1.15rem);margin:.85rem 0 0;font-size:clamp(.9rem,2.8vw,1.025rem);line-height:1.55;color:#f7d6e6;font-style:italic}.footer{margin-top:clamp(2rem,5vw,3rem);text-align:center;color:#ffffff59;font-size:clamp(.75rem,2.5vw,.85rem)}.footer span{color:#ff3d8b}
