:root {
  --tone-page:#121110;--tone-panel:#151411;--tone-raised:#1d1c19;--tone-tile:#1f1f1f;--tone-hover:#31302b;--tone-ink:#F2F1EC;--tone-secondary:#d6d3cc;--tone-muted:#A6A39A;--tone-mint:#6FC3A0;--tone-mint-hover:#8CCFB2;--tone-mint-active:#58AD8A;
  --ui-sans:system-ui,-apple-system,"PingFang TC","Noto Sans TC",sans-serif;--ui-mono:ui-monospace,SFMono-Regular,Menlo,monospace;--radius-control:2px;--radius-panel:4px;

  color-scheme: light dark;
  --recover-bg: #f6f5f1;
  --recover-fg: #1F1E19;
  --recover-muted: #5F5E57;
  --recover-card: #ffffff;
  --recover-line: #DEDCD4;
  --recover-accent: #24654D;
  --recover-error: #b3261e;
}
@media (prefers-color-scheme: dark) {
  :root {
    --recover-bg: var(--tone-page);
    --recover-fg: var(--tone-ink);
    --recover-muted: var(--tone-muted);
    --recover-card: var(--tone-panel);
    --recover-line: #2e2e36;
    --recover-error: #ff8a80;
    --recover-accent: var(--tone-mint);
  }
}
* { box-sizing: border-box; }
body {
  margin: 0;
  background: var(--recover-bg);
  color: var(--recover-fg);
  font: 16px/1.55 var(--ui-sans);
}
.recover-shell { max-width: 560px; margin: 0 auto; padding: 32px 16px 64px; }
.recover-wordmark { color: inherit; font-weight: 700; text-decoration: none; letter-spacing: 0.02em; }
.recover-wordmark span { color: var(--recover-accent); }
h1 { font-size: 2.5rem; line-height: 1.15; margin: 24px 0 8px; }
h2 { font-size: 1.15rem; margin: 0 0 12px; }
.recover-intro, .recover-note { color: var(--recover-muted); }
.recover-note { font-size: 0.9rem; }
.recover-steps { padding-inline-start: 20px; color: var(--recover-muted); }
.recover-steps li.is-current { color: var(--recover-fg); font-weight: 600; }
.recover-steps li.is-done { text-decoration: line-through; }
.recover-card { background: var(--recover-card); border: 1px solid var(--recover-line); border-radius:var(--radius-panel); padding: 20px; margin: 16px 0; }
dl { display: grid; grid-template-columns: max-content 1fr; gap: 6px 16px; margin: 0 0 12px; }
dt { color: var(--recover-muted); }
dd { margin: 0; overflow-wrap: anywhere; }
.recover-button { display: inline-block; margin: 12px 0 4px; padding: 12px 20px; border-radius:var(--radius-control); background: var(--tone-mint); color: var(--tone-page); font-weight: 600; text-decoration: none; }
.recover-button-quiet { background: transparent; color: var(--recover-fg); border: 1px solid var(--recover-line); }
.recover-error { color: var(--recover-error); }
