@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Playfair+Display:wght@400;500;600;700&display=swap");:root{--warm-rose:#d4717a;--deep-blush:#c75b6b;--tender-coral:#e8948c;--soft-peach:#f4c2a7;--gentle-lavender:#b8a9d4;--serene-blue:#7eb3d3;--warm-sage:#a8c4a2;--golden-honey:#e8bc8b;--cream-white:#faf8f4;--warm-gray:#f0ede8;--soft-charcoal:#4a4a4a;--deep-charcoal:#2d2d2d;--midnight:#1a1a1a;--connection-gradient:linear-gradient(135deg,var(--warm-rose),var(--gentle-lavender));--harmony-gradient:linear-gradient(135deg,var(--serene-blue),var(--warm-sage));--warmth-gradient:linear-gradient(135deg,var(--soft-peach),var(--golden-honey));--depth-gradient:linear-gradient(135deg,var(--deep-blush),var(--deep-charcoal));--soft-shadow:0 4px 20px rgba(212,113,122,0.15);--medium-shadow:0 8px 32px rgba(212,113,122,0.2);--deep-shadow:0 16px 48px rgba(212,113,122,0.25);--glow:0 0 20px rgba(212,113,122,0.3)}.typography-system{--heading-font:"Playfair Display",serif;--body-font:"Inter",sans-serif;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-5xl:3rem}:root{--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--radius-sm:0.375rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-full:9999px;--ease-gentle:cubic-bezier(0.25,0.46,0.45,0.94);--ease-warm:cubic-bezier(0.175,0.885,0.32,1.275);--ease-connection:cubic-bezier(0.68,-0.55,0.265,1.55);--duration-quick:0.15s;--duration-smooth:0.3s;--duration-gentle:0.5s;--duration-meaningful:0.8s;--duration-heartbeat:1.2s}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-3) var(--space-6);border-radius:var(--radius-xl);font-family:var(--body-font);font-weight:500;font-size:var(--text-base);line-height:1.5;text-decoration:none;border:none;cursor:pointer;transition:all var(--duration-smooth) var(--ease-gentle);position:relative;overflow:hidden}.btn:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(45deg,transparent,rgba(255,255,255,.1),transparent);transform:translateX(-100%);transition:transform var(--duration-meaningful) var(--ease-gentle)}.btn:hover:before{transform:translateX(100%)}.btn-primary{background:var(--connection-gradient);color:white;box-shadow:var(--soft-shadow)}.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--medium-shadow)}.btn-secondary{background:var(--warmth-gradient);color:var(--deep-charcoal);box-shadow:var(--soft-shadow)}.btn-secondary:hover{transform:translateY(-2px);box-shadow:var(--medium-shadow)}.btn-ghost{background:rgba(212,113,122,.1);color:var(--warm-rose);border:1px solid rgba(212,113,122,.2)}.btn-ghost:hover{background:rgba(212,113,122,.15);border-color:var(--warm-rose)}.btn-large{padding:var(--space-4) var(--space-8);font-size:var(--text-lg);border-radius:var(--radius-2xl)}.btn-small{padding:var(--space-2) var(--space-4);font-size:var(--text-sm);border-radius:var(--radius-lg)}.card{background:var(--cream-white);border-radius:var(--radius-2xl);box-shadow:var(--soft-shadow);padding:var(--space-6);transition:all var(--duration-smooth) var(--ease-gentle);border:1px solid rgba(212,113,122,.08)}.card:hover{transform:translateY(-4px);box-shadow:var(--medium-shadow)}.card-elevated{box-shadow:var(--deep-shadow)}.card-gradient{background:var(--connection-gradient);color:white}.input{width:100%;padding:var(--space-4);border:2px solid rgba(212,113,122,.2);border-radius:var(--radius-xl);font-family:var(--body-font);font-size:var(--text-base);background:var(--cream-white);transition:all var(--duration-smooth) var(--ease-gentle)}.input:focus{outline:none;border-color:var(--warm-rose);box-shadow:0 0 0 3px rgba(212,113,122,.1);transform:scale(1.02)}.input::-moz-placeholder{color:rgba(74,74,74,.6)}.input::placeholder{color:rgba(74,74,74,.6)}.container{max-width:420px}.container,.container-wide{margin:0 auto;padding:0 var(--space-4)}.container-wide{max-width:640px}.flex-center{justify-content:center}.flex-between,.flex-center{display:flex;align-items:center}.flex-between{justify-content:space-between}.flex-col{display:flex;flex-direction:column}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.state-loading{animation:pulse var(--duration-heartbeat) var(--ease-gentle) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.state-success{background:var(--harmony-gradient);animation:gentle-glow var(--duration-meaningful) var(--ease-gentle)}@keyframes gentle-glow{0%{box-shadow:var(--soft-shadow)}50%{box-shadow:var(--glow)}to{box-shadow:var(--soft-shadow)}}.state-error{background:linear-gradient(135deg,#d47171,#c75b5b);animation:gentle-shake .5s var(--ease-gentle)}@keyframes gentle-shake{0%,to{transform:translateX(0)}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}@media (max-width:640px){.container{padding:0 var(--space-3)}.btn-large{width:100%}.card{padding:var(--space-4)}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (prefers-contrast:high){:root{--warm-rose:#b91c3c;--deep-blush:#991b1b;--cream-white:#ffffff;--soft-charcoal:#000000}}