:root { color-scheme: light dark; --fg: #1e1e1f; --bg: #fbfbfa; --muted: #5d5d60; --red: #dc1f2d; --line: #d8d8d6; }
@media (prefers-color-scheme: dark) { :root { --fg: #f1f1ef; --bg: #1e1e1f; --muted: #a7a7a4; --line: #3a3a3c; } }
* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--fg); font: 16px/1.5 system-ui, sans-serif; }
main { max-width: 34rem; margin: 0 auto; padding: 2rem 1rem; }
h1 { font-size: 1.5rem; margin: 0 0 1rem; }
label { display: block; margin-top: 1rem; color: var(--muted); }
input { width: 100%; padding: .6rem; font: inherit; border: 1px solid var(--line); border-radius: 6px; background: transparent; color: inherit; }
button { margin-top: 1rem; padding: .7rem 1.2rem; font: inherit; border: 0; border-radius: 6px; background: var(--red); color: #fff; cursor: pointer; }
button:disabled { opacity: .5; cursor: default; }
.words { font-size: 1.35rem; font-weight: 600; letter-spacing: .02em; }
.warn { border-left: 3px solid var(--red); padding-left: .75rem; }
.err { color: var(--red); }
.host, code { color: var(--muted); }
.quiet { background: transparent; color: var(--fg); border: 1px solid var(--line); margin-left: .5rem; }
fieldset { margin: 1rem 0; padding: .75rem 1rem 1rem; border: 1px solid var(--line); border-radius: 6px; }
legend { color: var(--muted); padding: 0 .25rem; }
fieldset label input[type="checkbox"] { width: auto; }
h2 { font-size: 1.2rem; margin: 0 0 .5rem; }
.receipt { display: grid; grid-template-columns: max-content 1fr; gap: .25rem 1rem; margin: 0 0 1rem; }
.receipt dt { color: var(--muted); }
.receipt dd { margin: 0; overflow-wrap: anywhere; }
.auto { display: flex; gap: .5rem; align-items: center; margin-top: 2rem; padding-top: 1rem; border-top: 1px solid var(--line); }
.auto input { width: auto; margin: 0; }

/* Retry fingerprint · Use Face ID instead: text links, not buttons (Kyle, 21 Oct 2026). */
.passkey-links a { color: inherit; text-decoration: underline; }
