:root { --red:#b5121b; --rose:#d63358; --gold:#e8bf67; --ink:#522f35; --cream:#fff8ef; }
* { box-sizing:border-box; -webkit-tap-highlight-color:transparent; }
html,body { margin:0; min-height:100%; font-family:"PingFang SC","Microsoft YaHei",sans-serif; color:var(--ink); background:var(--cream); }
button,input { font:inherit; }
button { border:0; cursor:pointer; }
.romantic-page { min-height:100vh; background:linear-gradient(155deg,#97142c,#d54a69 28%,#f2a1b1 55%,#fff0e4); overflow:hidden; position:relative; }
.orb { position:fixed; border-radius:50%; filter:blur(55px); opacity:.35; pointer-events:none; animation:breathe 6s ease-in-out infinite alternate; }
.orb.a { width:320px;height:320px;left:-130px;top:-100px;background:#ffdbe5; }
.orb.b { width:360px;height:360px;right:-160px;top:28%;background:#ffafc5;animation-delay:1.4s; }
.orb.c { width:380px;height:380px;left:28%;bottom:-240px;background:#fff0bf;animation-delay:2.6s; }
.particle { position:fixed; bottom:-35px; color:rgba(255,250,244,.66); animation:floatUp linear infinite; pointer-events:none; }
.primary { width:100%; min-height:52px; padding:0 22px; border-radius:28px; color:#fff; font-weight:700; background:linear-gradient(90deg,#ad111c,#dd3b45); box-shadow:0 10px 26px rgba(119,10,25,.25); }
.secondary { width:100%; min-height:50px; border-radius:26px; color:#9d1720; background:#fff0d6; font-weight:700; }
.toast { position:fixed; z-index:99; left:50%; bottom:86px; transform:translateX(-50%) translateY(20px); max-width:82vw; padding:11px 18px; border-radius:22px; color:white; background:rgba(35,20,24,.9); opacity:0; pointer-events:none; transition:.25s; text-align:center; }
.toast.show { opacity:1; transform:translateX(-50%) translateY(0); }
.hidden { display:none!important; }
@keyframes breathe { from{transform:scale(.78)} to{transform:scale(1.18) translateY(-20px)} }
@keyframes floatUp { 0%{opacity:0;transform:translateY(0) rotate(0)} 15%{opacity:.75} 100%{opacity:0;transform:translateY(-115vh) rotate(200deg)} }
@media(min-width:760px){ .mobile-shell{width:480px;margin:0 auto;} }
