:root{--bg:#FFF8EE;--card:#FFFFFF;--ink:#1E2A4A;--soft:#5A6380;--line:#E6D9C3;--field:#D9C9AE;--accent:#C24E22;--accent-2:#D4572A;--tint:#FDE3D6;--sand:#F3EBDD;--green:#2F6B3A;--green-tint:#DDEBDD;--danger:#B42318;
  box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--bg:#171B26;--card:#222838;--ink:#F2EDE4;--soft:#AEB4C8;--line:#343C52;--field:#46506A;--accent:#F08A5D;--accent-2:#F08A5D;--tint:#3A2A24;--sand:#2B3144;--green:#8FD19E;--green-tint:#243A2A;--danger:#FF8A80}}
:root[data-theme="dark"]{--bg:#171B26;--card:#222838;--ink:#F2EDE4;--soft:#AEB4C8;--line:#343C52;--field:#46506A;--accent:#F08A5D;--accent-2:#F08A5D;--tint:#3A2A24;--sand:#2B3144;--green:#8FD19E;--green-tint:#243A2A;--danger:#FF8A80}
*{box-sizing:border-box}
html{scroll-padding-top:env(safe-area-inset-top,0px)}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"PingFang SC","Hiragino Sans GB","Noto Sans SC","Microsoft YaHei",system-ui,sans-serif;-webkit-font-smoothing:antialiased}
a{color:var(--accent)}
.wrap{max-width:560px;margin:0 auto;padding:20px 20px 32px;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;gap:24px}
.brand{font-family:"ZCOOL KuaiLe","PingFang SC",sans-serif;color:var(--accent-2)}
.sub{font-size:12px;letter-spacing:.04em;color:var(--soft)}
.muted{color:var(--soft)}
.iconbtn{width:44px;height:44px;border-radius:22px;border:1px solid var(--line);background:var(--card);display:inline-flex;align-items:center;justify-content:center;color:var(--ink);cursor:pointer;text-decoration:none}
.field{display:flex;flex-direction:column;gap:8px}
.field label{font-size:14px;font-weight:500}
.field input,.field select{height:50px;padding:0 16px;border:1px solid var(--field);border-radius:14px;background:var(--card);color:var(--ink);font-size:16px;width:100%}
.field input:focus,.field select:focus{outline:2px solid var(--accent);outline-offset:1px}
.hint{font-size:12px;color:var(--soft)}
.btn{height:52px;border:none;border-radius:14px;background:var(--accent);color:#fff;font-size:17px;font-weight:700;cursor:pointer;width:100%}
.btn:disabled{opacity:.6}
.msg{min-height:20px;font-size:14px;margin:0}
.msg.err{color:var(--danger)} .msg.ok{color:var(--green)}
form{display:flex;flex-direction:column;gap:18px}
