:root{--cream:#fff8f0;--cream-2:#fdeee2;--pink:#ffb3c6;--pink-soft:#ffd9e3;
  --rose:#ff7a9c;--ink:#6b5b53;--ink-soft:#a8978d;--shadow:0 10px 30px rgba(255,122,156,.18);}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
html,body{margin:0;}
body{font-family:-apple-system,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;color:var(--ink);
  background:radial-gradient(120% 90% at 50% -10%,var(--cream),var(--cream-2) 55%,#fce3ec);min-height:100vh;}
a{color:inherit;text-decoration:none;}
.wrap{max-width:680px;margin:0 auto;padding:clamp(16px,5vw,32px) clamp(14px,4vw,24px) 80px;}
.topbar{display:flex;align-items:center;gap:.6em;margin-bottom:clamp(14px,4vw,24px);}
.topbar .logo{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font-size:24px;
  background:linear-gradient(135deg,var(--pink),var(--rose));box-shadow:var(--shadow);flex:none;}
.topbar h1{font-size:clamp(18px,5vw,24px);margin:0;line-height:1.1;}
.topbar .sub{font-size:12px;color:var(--ink-soft);}
.back{display:inline-flex;align-items:center;gap:.3em;font-weight:700;color:var(--rose);
  background:#fff;padding:.45em 1em;border-radius:999px;box-shadow:var(--shadow);font-size:14px;margin-bottom:16px;}
.card{background:rgba(255,255,255,.86);border:2px solid #fff;border-radius:24px;box-shadow:var(--shadow);
  padding:clamp(16px,4vw,22px);margin-bottom:16px;}
.card h2{margin:.1em 0 .4em;font-size:clamp(16px,4.4vw,19px);}
.muted{color:var(--ink-soft);font-size:13px;line-height:1.6;}
.btn{display:inline-block;border:none;cursor:pointer;padding:.7em 1.2em;border-radius:14px;font-weight:700;
  color:#fff;background:linear-gradient(135deg,var(--pink),var(--rose));box-shadow:0 6px 16px rgba(255,122,156,.35);
  font-family:inherit;font-size:14px;transition:transform .15s;}
.btn:active{transform:scale(.95);}
.btn.ghost{background:#fff;color:var(--rose);box-shadow:inset 0 0 0 2px var(--pink-soft);}
.wip{display:inline-block;font-size:11px;font-weight:700;color:#b8466e;background:#ffe6f0;padding:2px 8px;border-radius:999px;}
.grid{display:grid;gap:14px;}
@media(min-width:520px){.grid.two{grid-template-columns:1fr 1fr;}}
input,textarea,select{font-family:inherit;font-size:14px;width:100%;padding:.6em .8em;border:2px solid var(--pink-soft);
  border-radius:12px;background:#fff;color:var(--ink);}
textarea{resize:vertical;min-height:90px;}
.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
/* 微交互打磨:卡片入场柔和淡入 + 桌面端悬浮轻抬 + 返回键弹性 */
@keyframes bqIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.card{animation:bqIn .4s cubic-bezier(.22,1,.36,1) both;transition:transform .2s,box-shadow .2s;}
@media(hover:hover){.card:hover{transform:translateY(-2px);box-shadow:0 16px 38px rgba(255,122,156,.24);}}
.back{transition:transform .15s;}.back:active{transform:scale(.94);}
input,textarea,select{transition:border-color .15s,box-shadow .15s;}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--rose);box-shadow:0 0 0 3px rgba(255,122,156,.15);}
@media (prefers-reduced-motion:reduce){.card{animation:none;}}
