*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:SN Pro,sans-serif;background-color:#fdf6ec;color:#2c2c2c;min-height:100vh;-webkit-font-smoothing:antialiased}#root{min-height:100vh}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes heartPop{0%{transform:scale(0) rotate(-15deg);opacity:0}60%{transform:scale(1.2) rotate(5deg);opacity:1}to{transform:scale(1) rotate(0);opacity:1}}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}.page-container{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:40px 20px}.card{background:#fff;border-radius:20px;padding:36px;box-shadow:0 8px 40px #00000014;width:100%;max-width:480px}.btn-primary{display:inline-block;padding:14px 32px;background-color:#e8386d;color:#fff;border:none;border-radius:28px;font-family:"Instrument Serif",serif;font-size:16px;font-style:italic;cursor:pointer;box-shadow:0 4px 20px #e8386d66;transition:transform .2s,box-shadow .2s;width:100%;text-align:center}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 24px #e8386d80}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-secondary{display:inline-block;padding:12px 28px;background-color:transparent;color:#e8386d;border:2px solid #E8386D;border-radius:28px;font-family:"Instrument Serif",serif;font-size:15px;font-style:italic;cursor:pointer;transition:background-color .2s,color .2s;width:100%;text-align:center}.btn-secondary:hover{background-color:#e8386d;color:#fff}.input{width:100%;padding:14px 18px;border:2px solid #F0D5DC;border-radius:12px;font-family:SN Pro,sans-serif;font-size:15px;color:#2c2c2c;background:#fff;transition:border-color .2s;outline:none}.input:focus{border-color:#e8386d}.input::placeholder{color:#c4a8b0}.label{display:block;font-family:"Instrument Serif",serif;font-size:13px;font-style:italic;color:#888;margin-bottom:8px}.error-msg{color:#e8386d;font-size:13px;font-family:SN Pro,sans-serif;margin-top:8px;padding:10px 14px;background:#fff0f3;border-radius:8px;border:1px solid #F4A0B5}.success-msg{color:#2d8b55;font-size:13px;font-family:SN Pro,sans-serif;margin-top:8px;padding:10px 14px;background:#f0fff6;border-radius:8px;border:1px solid #A0F4C0}h1.display{font-family:"Instrument Serif",serif;font-size:36px;font-style:italic;color:#2c2c2c;text-align:center;line-height:1.2}h2.display{font-family:"Instrument Serif",serif;font-size:24px;color:#2c2c2c;margin-bottom:8px}p.subtitle{font-family:SN Pro,sans-serif;font-size:15px;color:#888;line-height:1.7;text-align:center}.floating{animation:float 3s ease-in-out infinite}.fade-in{animation:fadeSlideIn .5s ease both}hr.divider{border:none;border-top:1px solid #F0D5DC;margin:24px 0}
