:root { --bg: #f4f5f7; --card: #fff; --text: #1d2330; --muted: #5b6475; --primary: #1f6feb;
        --danger: #c62828; --ok: #1a7f37; --border: #dfe3ea; }
@media (prefers-color-scheme: dark) {
  :root { --bg: #111418; --card: #1b2027; --text: #e8ebf0; --muted: #9aa3b2; --primary: #4c8dff;
          --danger: #ef5350; --ok: #3fb950; --border: #2c333d; }
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--text);
       font: 17px/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; }
header { padding: 20px 16px 4px; max-width: 520px; margin: 0 auto; }
h1 { font-size: 22px; margin: 0; }
.who { margin: 4px 0 0; color: var(--muted); font-size: 15px; }
.who a { color: var(--muted); }
main { padding: 12px 16px 32px; max-width: 520px; margin: 0 auto; }
.card { background: var(--card); border: 1px solid var(--border); border-radius: 16px; padding: 28px 20px;
        text-align: center; }
.icon { font-size: 52px; line-height: 1; }
h2 { font-size: 24px; margin: 14px 0 6px; }
p { margin: 6px 0; color: var(--muted); }
.actions { margin-top: 22px; display: grid; gap: 12px; }
.button { display: block; width: 100%; padding: 16px; border-radius: 12px; border: 1px solid var(--border);
          background: var(--card); color: var(--text); font-size: 19px; font-weight: 600; text-decoration: none;
          cursor: pointer; font-family: inherit; }
.button.primary { background: var(--primary); border-color: var(--primary); color: #fff; }
.button.danger { background: var(--danger); border-color: var(--danger); color: #fff; }
.button:disabled { opacity: .5; }
ol { text-align: left; margin: 20px auto 0; padding: 0; list-style: none; max-width: 300px; }
li { padding: 6px 0; color: var(--muted); }
li::before { display: inline-block; width: 28px; content: "○"; }
li.done { color: var(--ok); }
li.done::before { content: "✓"; }
li.current { color: var(--text); font-weight: 600; }
li.current::before { content: "◐"; }
.note { text-align: center; color: var(--muted); font-size: 14px; margin-top: 14px; }
