* { box-sizing: border-box; }
html, body {
  margin: 0;
  padding: 0;
  max-width: 100%;
  overflow-x: hidden;
  font-family: "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
  background: #f4f6f8;
  color: #1a1a1a;
}
.wrap {
  width: 100%;
  max-width: 480px;
  margin: 0 auto;
  padding: 24px 16px 48px;
}
.badge {
  display: inline-block;
  font-size: 12px;
  letter-spacing: 0.04em;
  color: #0b6e4f;
  background: #e6f6ef;
  border: 1px solid #b7e4d0;
  border-radius: 999px;
  padding: 4px 10px;
  margin-bottom: 12px;
}
h1 {
  font-size: 22px;
  line-height: 1.35;
  margin: 0 0 8px;
  word-break: break-word;
}
p { line-height: 1.55; word-break: break-word; }
.card {
  background: #fff;
  border: 1px solid #e4e8ee;
  border-radius: 12px;
  padding: 20px;
  box-shadow: 0 4px 16px rgba(16, 24, 40, 0.04);
}
label { display: block; font-size: 13px; margin: 12px 0 6px; color: #445; }
input[type=text], input[type=password] {
  width: 100%;
  max-width: 100%;
  padding: 12px;
  border: 1px solid #cfd6de;
  border-radius: 8px;
  font-size: 16px;
}
.row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 18px;
}
button, .btn {
  display: inline-block;
  text-align: center;
  text-decoration: none;
  border: 0;
  border-radius: 8px;
  padding: 12px 16px;
  font-size: 16px;
  cursor: pointer;
  min-width: 120px;
}
.primary { background: #0b6e4f; color: #fff; }
.ghost { background: #eef1f4; color: #222; }
.err { color: #b42318; background: #fef3f2; border: 1px solid #fecdca; padding: 10px 12px; border-radius: 8px; }
.note { font-size: 13px; color: #556; }
pre {
  white-space: pre-wrap;
  word-break: break-all;
  background: #0f1720;
  color: #d6e2ea;
  padding: 12px;
  border-radius: 8px;
  font-size: 12px;
  overflow-x: hidden;
}
@media (max-width: 430px) {
  h1 { font-size: 20px; }
  button, .btn { width: 100%; min-width: 0; }
}
