/* ============================================================
   逃离程丽 v2.0 · 极简 Apple 风 apple.css
   黑白 / 圆角 / 留白
   ============================================================ */
:root{
  --bg:#fafafa; --card:#ffffff; --ink:#1d1d1f; --sub:#6e6e73;
  --line:#e5e5e7; --line2:#d2d2d7; --accent:#0071e3; --danger:#ff3b30;
  --r:18px;
}
*{box-sizing:border-box;margin:0;padding:0;}
body.min{
  background:var(--bg); color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro SC","PingFang SC","Microsoft YaHei",sans-serif;
  -webkit-font-smoothing:antialiased; line-height:1.5;
  min-height:100vh;
}

.stage{max-width:420px;margin:0 auto;padding:80px 24px 60px;position:relative;}
.back{position:absolute;top:28px;left:24px;font-size:14px;color:var(--sub);text-decoration:none;transition:color .2s;}
.back:hover{color:var(--ink);}

.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:40px 32px;box-shadow:0 1px 3px rgba(0,0,0,.04);}
.title{font-size:30px;font-weight:700;letter-spacing:-.02em;margin-bottom:10px;text-align:center;}
.sub{font-size:14px;color:var(--sub);text-align:center;line-height:1.7;margin-bottom:28px;}
.sub b{color:var(--ink);font-weight:600;}

.err{background:#fff2f1;color:var(--danger);font-size:13.5px;padding:11px 14px;border-radius:12px;margin-bottom:18px;text-align:center;}

.field{margin-bottom:14px;}
.field input{
  width:100%;padding:15px 18px;font-size:16px;color:var(--ink);
  background:#f5f5f7;border:1px solid transparent;border-radius:14px;
  outline:none;transition:all .2s;-webkit-appearance:none;
}
.field input:focus{background:#fff;border-color:var(--accent);box-shadow:0 0 0 4px rgba(0,113,227,.1);}
.field input::placeholder{color:#a1a1a6;}

.btn{
  width:100%;padding:15px;font-size:16px;font-weight:600;letter-spacing:2px;
  color:#fff;background:var(--ink);border:none;border-radius:14px;
  cursor:pointer;transition:transform .12s,opacity .2s;-webkit-appearance:none;
}
.btn:hover{opacity:.9;}
.btn:active{transform:scale(.985);}

.hint{margin-top:18px;font-size:12.5px;color:#a1a1a6;text-align:center;line-height:1.6;}

@media (max-width:480px){
  .stage{padding:64px 20px 40px;}
  .card{padding:32px 22px;}
  .title{font-size:26px;}
}
