*{box-sizing:border-box}
:root{--rose:#ff527d;--coral:#ff8e78;--ink:#20243a;--muted:#9a8792;--line:#f6d7df}
body.auth-page{display:block;margin:0;min-height:100vh;padding:18px 14px 12px;color:var(--ink);background:radial-gradient(circle at 4% 3%,rgba(255,105,139,.15),transparent 28%),radial-gradient(circle at 96% 96%,rgba(137,112,255,.13),transparent 31%),linear-gradient(180deg,#fff9fb 0%,#fff6f9 58%,#f9f4ff 100%);font-family:Arial,"Microsoft YaHei",sans-serif}
.auth-shell{width:100%;max-width:470px;min-height:calc(100vh - 30px);margin:0 auto;display:flex;flex-direction:column}
.auth-card{position:relative;z-index:2;padding:25px 22px 24px;background:rgba(255,255,255,.95);border:1px solid rgba(246,205,216,.92);border-radius:30px;box-shadow:0 22px 58px rgba(125,65,94,.13)}
.auth-brand{text-align:center;margin:0 0 20px}
.brand-heart{width:48px;height:48px;margin:0 auto 10px;display:flex;align-items:center;justify-content:center;color:#fff;background:linear-gradient(145deg,#ff547d,#ff7d83 55%,#8b6cff);border:3px solid rgba(255,255,255,.9);border-radius:17px;box-shadow:0 12px 26px rgba(255,82,125,.25);font-size:22px;transform:rotate(-3deg)}
.auth-brand h1{margin:0;background:linear-gradient(135deg,#be3f67 5%,#ef6a7f 48%,#8b65d9 100%);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent;font-family:Georgia,"Microsoft YaHei",serif;font-size:34px;font-weight:900;letter-spacing:7px;text-indent:7px;text-shadow:0 7px 18px rgba(212,77,117,.1)}
.love-divider{width:115px;height:15px;margin:8px auto 6px;display:flex;align-items:center;gap:8px;color:#ff6a8a;font-size:12px}
.love-divider::before,.love-divider::after{content:"";height:1px;flex:1;background:linear-gradient(90deg,transparent,#f1b2c1)}
.love-divider::after{background:linear-gradient(90deg,#f1b2c1,transparent)}
.auth-brand p{margin:0;color:var(--muted);font-size:13px;line-height:1.65}
.auth-brand p strong{display:block;color:#765c6a;font-size:15px;font-weight:800;letter-spacing:1px}
.auth-tabs{height:62px;padding:5px;display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-bottom:21px;border:1px solid #ffd2dc;border-radius:21px;background:#fff}
.auth-tab{display:flex;align-items:center;justify-content:center;gap:7px;color:#827a80;border-radius:17px;text-decoration:none;font-size:18px;font-weight:800}
.auth-icon{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 20px;color:currentColor}
.auth-icon svg{width:100%;height:100%;display:block;fill:currentColor}
.auth-tab.active{color:#fff;background:linear-gradient(135deg,#ff4778,#ff747b);box-shadow:0 10px 22px rgba(255,79,119,.23)}
.auth-icon{width:22px;height:22px;display:block;fill:currentColor;flex:0 0 22px}
.auth-msg{padding:11px 14px;margin-bottom:14px;border-radius:13px;font-size:13px}.auth-msg.error{color:#c83242;background:#fff0f2}.auth-msg.success{color:#168454;background:#eaf8f1}
.auth-field{margin-bottom:14px}.auth-field input{width:100%;height:57px;padding:0 18px;color:#24212a;background:#fff;border:1px solid #ffd5df;border-radius:19px;outline:none;font-size:16px;font-weight:600}.auth-field input::placeholder{color:#918990}.auth-field input:focus{border-color:#ff7898;box-shadow:0 0 0 4px rgba(255,95,126,.09)}
.auth-submit,.line-login{width:100%;height:58px;display:flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:19px;color:#fff;text-decoration:none;font-size:18px;font-weight:900;cursor:pointer}
.auth-submit{margin-top:2px;background:linear-gradient(135deg,#ea7092,#f6a170);box-shadow:0 13px 25px rgba(238,119,139,.2)}.line-login{margin-top:12px;background:#06c755;box-shadow:0 13px 24px rgba(6,199,85,.18)}
.romance-art{position:relative;width:100%;height:292px;min-height:292px;margin:10px 0 0;display:grid;grid-template-rows:36px 228px 28px;justify-items:center;overflow:visible;background:transparent;border:0;border-radius:0;box-shadow:none;text-align:center}
.romance-art::before{display:none}
.romance-kicker{position:relative;z-index:3;margin:0;padding:0 8px;display:flex;align-items:center;justify-content:center;color:#d64f75;background:transparent;border:0;font-family:Georgia,"Microsoft YaHei",serif;font-size:14px;font-weight:900;line-height:1.2;letter-spacing:.5px}
.romance-kicker::before,.romance-kicker::after{content:"";width:38px;height:1px;margin:0 9px;background:linear-gradient(90deg,transparent,#ff6d91)}
.romance-kicker::after{background:linear-gradient(90deg,#ff6d91,transparent)}
.cupid-pair{position:relative;left:50%;z-index:2;width:160%;max-width:none;height:228px;margin:0;display:block;justify-self:start;transform:translateX(-50%);object-fit:contain;object-position:50% 50%;background:transparent;filter:drop-shadow(0 9px 13px rgba(162,85,112,.12))}
.romance-note{position:relative;z-index:3;margin:0;padding:3px 8px 0;display:flex;align-items:center;justify-content:center;color:#a98794;background:transparent;border:0;font-size:10px;line-height:1.3;letter-spacing:.2px}
@media(max-width:520px){body.auth-page{padding:7px 8px 4px}.auth-shell{min-height:calc(100vh - 11px)}.auth-card{padding:17px 16px 18px;border-radius:26px}.auth-brand{margin-bottom:14px}.brand-heart{width:41px;height:41px;margin-bottom:6px}.auth-brand h1{font-size:29px}.love-divider{margin-top:4px}.auth-tabs{height:55px;margin-bottom:15px}.auth-field{margin-bottom:12px}.auth-field input{height:51px}.auth-submit,.line-login{height:52px}.romance-art{height:284px;min-height:284px;margin:10px 0 0;grid-template-rows:34px 224px 26px}.romance-kicker{padding:0 6px;font-size:14px}.cupid-pair{width:164%;height:224px;margin:0;justify-self:start;object-fit:contain;object-position:50% 50%}.romance-note{padding:2px 6px 0;font-size:10px}}
@media(max-height:720px){.auth-card{padding-top:12px;padding-bottom:14px}.brand-heart{display:none}.auth-brand h1{font-size:27px}.auth-brand{margin-bottom:10px}.auth-tabs{height:50px;margin-bottom:11px}.auth-field{margin-bottom:9px}.auth-field input{height:47px}.auth-submit,.line-login{height:48px}.romance-art{height:242px;min-height:242px;margin-top:8px;grid-template-rows:30px 190px 22px}.romance-kicker{padding:0 5px;font-size:13px}.cupid-pair{width:154%;height:190px;margin:0;justify-self:start;object-fit:contain;object-position:50% 50%}.romance-note{padding:1px 5px 0;font-size:9.5px}}
