:root{
  --bg:#fffaf7;
  --bg-2:#fff4f1;
  --surface:#ffffff;
  --surface-warm:#fff4e7;
  --surface-pink:#fff0f3;
  --text:#191615;
  --muted:#766c68;
  --line:#eadeda;
  --accent:#ea3f61;
  --accent-2:#f05b72;
  --accent-dark:#cc294b;
  --accent-soft:#ffe4e8;
  --success:#11a85b;
  --shadow:0 18px 42px rgba(80,48,39,.10);
  --radius-xl:26px;
  --radius-lg:20px;
  --radius-md:16px;
  --radius-sm:12px;
  --page-pad:22px;
  --topbar-h:58px;
  --content-h:874px;
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Noto Sans CJK SC","Microsoft YaHei",Arial,sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:#ece6e2;color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{min-height:100vh;overflow-x:hidden}
button,input{font:inherit}
button{border:0;cursor:pointer}
img{display:block;max-width:100%}
.app-shell{width:100%;max-width:430px;min-height:100vh;margin:0 auto;background:linear-gradient(180deg,#fffaf7 0%,#fffdfb 48%,#fff 100%);position:relative;overflow:hidden;box-shadow:0 0 0 1px rgba(40,24,18,.03),0 20px 70px rgba(58,35,28,.08)}
.topbar{height:var(--topbar-h);display:grid;grid-template-columns:74px 1fr 84px;align-items:center;padding:0 16px;background:rgba(255,250,247,.95);backdrop-filter:blur(14px);border-bottom:1px solid rgba(234,222,218,.7);position:sticky;top:0;z-index:30}
.topbar-back{width:36px;height:36px;padding:7px;border-radius:12px;background:transparent;justify-self:start}.topbar-back img{width:22px;height:22px}
.brand{justify-self:center;color:var(--text);text-decoration:none;font-weight:900;font-size:19px;letter-spacing:-.06em}.brand span{color:var(--accent)}
.topbar-action{justify-self:end;background:transparent;padding:8px 0;color:#5e5551;font-size:12px;white-space:nowrap}
.screen{display:none;position:relative;min-height:calc(100vh - var(--topbar-h));padding:20px var(--page-pad) 26px;background:linear-gradient(180deg,#fffaf7 0%,#fffdfb 60%,#fff 100%)}
.screen.active{display:block}
.screen-title{margin-top:8px;margin-bottom:22px}.screen-title.center{text-align:center}.screen-title h1{margin:0;font-size:28px;line-height:1.2;letter-spacing:-.045em}.screen-title p{margin:7px 0 0;font-size:13px;line-height:1.5;color:var(--muted)}
.screen-title.compact{margin-bottom:18px}
.screen-bottom{margin-top:22px}
.cta{width:100%;height:58px;border-radius:29px;font-size:18px;font-weight:800;letter-spacing:.01em;display:flex;align-items:center;justify-content:center;gap:8px}.cta.primary{color:#fff;background:linear-gradient(110deg,#ef4565,#e83258);box-shadow:0 12px 25px rgba(234,63,97,.23)}.cta.secondary{color:#fff;background:#211c1a}.cta span{font-size:20px;line-height:1}
.microcopy{text-align:center;margin:10px 0 0;color:#8b7f7a;font-size:11px;line-height:1.4}.microcopy.lock{font-size:10.5px}
.stepper{display:grid;grid-template-columns:auto 1fr auto 1fr auto;align-items:start;gap:8px;margin:2px 0 24px}.stepper>i{height:1px;background:#dfd4d0;margin-top:15px}.step{min-width:70px;text-align:center;color:#9a8f8a}.step span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;border:1px solid #d9d0cc;background:#fff;margin:0 auto 4px;font-size:12px;font-weight:700}.step b{font-size:10px;font-weight:600;white-space:nowrap}.step.on{color:var(--text)}.step.on span{border-color:var(--accent);background:var(--accent);color:#fff}.step.on b{font-weight:800;color:#2b2421}
@media(max-width:430px){.app-shell{max-width:none;box-shadow:none}.screen{min-height:calc(100svh - var(--topbar-h))}}
