/* 注册页样式(与 base.css 一起加载)。 */
.signup { max-width: 34rem; padding-top: 2rem; padding-bottom: 1rem; }
.signup-title { font-size: 1.6rem; margin-bottom: .35rem; }
.signup-sub { color: var(--muted); font-size: .95rem; margin-bottom: 1.25rem; }

/* 步骤条:当前步骤高亮 */
.steps { display: flex; flex-wrap: wrap; gap: .4rem; padding: 0; margin: 0 0 1.25rem; list-style: none; counter-reset: step; }
.steps li { counter-increment: step; display: inline-flex; align-items: center; gap: .4rem; font-size: .85rem; color: var(--muted); }
.steps li::before { content: counter(step); display: inline-flex; align-items: center; justify-content: center; width: 1.45rem; height: 1.45rem; border-radius: 50%; background: var(--bg-soft); border: 1px solid var(--border-strong); font-size: .75rem; font-weight: 700; }
.steps li + li::after { content: none; }
.steps li[aria-current="step"] { color: var(--primary-dark); font-weight: 700; }
.steps li[aria-current="step"]::before { background: var(--primary); border-color: var(--primary); color: #fff; }

.field { margin: 0 0 1.1rem; }
.card h2 { font-size: 1.2rem; margin-bottom: .9rem; }
h2:focus { outline: none; }
.hint-text { color: var(--muted); font-size: .92rem; }
button.block { display: flex; width: 100%; min-height: 2.9rem; }
.restart-row { margin: 1rem 0 0; text-align: center; }
.restart-row button { border: 0; background: none; color: var(--muted); font-weight: 500; text-decoration: underline; min-height: 2rem; }

.pw-hints { list-style: none; padding: 0; margin: 0 0 .5rem; }
.pw-hints li { padding-left: 1.4rem; position: relative; font-size: .9rem; }
.pw-hints li::before { content: "·"; position: absolute; left: .4rem; }
.pw-hints li.ok::before { content: "✓"; left: .2rem; }
.pw-hints li.no::before { content: "×"; left: .25rem; }

.docs { list-style: none; padding: 0; margin: 0; }
.docs li { margin: .6rem 0; display: flex; flex-wrap: wrap; align-items: center; gap: .25rem .75rem; }
.docs label { display: inline; font-weight: 500; margin: 0; }

.secret-row { display: flex; flex-direction: column; gap: .25rem; margin-bottom: 1rem; }
.secret-row .label { font-size: .85rem; font-weight: 600; color: var(--muted); }
.secret { display: block; font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace; font-size: .95rem; padding: .6rem .75rem; background: var(--bg-soft); border: 1px solid var(--border-strong); border-radius: var(--radius); color: var(--ink); user-select: all; }
.secret:empty { display: none; }
.wrap { word-break: break-all; }
.check-row { margin: .5rem 0 1rem; }
label.inline { display: flex; align-items: flex-start; font-weight: 500; }
label.inline input { margin-top: .25rem; flex: none; }

@media (max-width: 640px) {
  .signup { padding-top: 1.25rem; }
  .steps li span, .steps { gap: .35rem .6rem; }
  .steps li:not([aria-current="step"]) { font-size: 0; gap: 0; }
  .steps li:not([aria-current="step"])::before { font-size: .75rem; }
}
