:root {
  color-scheme: light dark;
  --bg: #fafaf9; --fg: #1c1917; --muted: #78716c; --card: #fff; --border: #e7e5e4;
  --accent: #2563eb; --ok: #15803d; --bad: #b91c1c;
}
@media (prefers-color-scheme: dark) {
  :root { --bg: #0c0a09; --fg: #f5f5f4; --muted: #a8a29e; --card: #1c1917; --border: #292524;
    --accent: #60a5fa; --ok: #4ade80; --bad: #f87171; }
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--fg);
  font: 16px/1.5 system-ui, -apple-system, "Segoe UI", sans-serif; }
main { max-width: 34rem; margin: 0 auto; padding: 1.5rem 1rem 3rem; }
h1 { font-size: 1.25rem; margin: 0 0 1rem; }
dl { display: grid; grid-template-columns: max-content 1fr; gap: .25rem 1rem; margin: 0 0 .5rem;
  background: var(--card); border: 1px solid var(--border); border-radius: .75rem; padding: 1rem; }
dt { color: var(--muted); }
dd { margin: 0; overflow-wrap: anywhere; }
.name { font-weight: 600; }
.code { font: 600 1.4rem/1.2 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .08em; }
.hint { color: var(--muted); font-size: .9rem; margin: 0 0 1.25rem; }
label { display: block; font-weight: 600; margin-bottom: .25rem; }
textarea { width: 100%; font: 1rem/1.4 ui-monospace, SFMono-Regular, Menlo, monospace; padding: .75rem;
  border: 1px solid var(--border); border-radius: .5rem; background: var(--card); color: var(--fg); resize: vertical; }
textarea.masked { -webkit-text-security: disc; }
.options { display: flex; flex-wrap: wrap; gap: .25rem 1.25rem; margin: .5rem 0 1rem; }
.options label { font-weight: 400; display: flex; gap: .4rem; align-items: center; }
button { width: 100%; font: inherit; font-weight: 600; padding: .85rem; border: 0; border-radius: .5rem;
  background: var(--accent); color: #fff; cursor: pointer; }
button:disabled { opacity: .5; cursor: progress; }
.status { margin: 0 0 1rem; }
.status.ok { color: var(--ok); font-weight: 600; }
.status.bad { color: var(--bad); font-weight: 600; }
pre { background: var(--card); border: 1px solid var(--border); border-radius: .5rem; padding: .75rem; overflow-x: auto; }
a { color: var(--accent); }
.doc { max-width: 46rem; }
.doc h1 { font-size: 1.6rem; }
.doc h2 { font-size: 1.25rem; margin-top: 2rem; }
.doc h3 { font-size: 1.05rem; margin-top: 1.5rem; }
.doc code { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .92em; }
.doc :not(pre) > code { background: var(--card); border: 1px solid var(--border); border-radius: .25rem; padding: 0 .25rem; }
.doc table { border-collapse: collapse; width: 100%; display: block; overflow-x: auto; }
.doc th, .doc td { border: 1px solid var(--border); padding: .35rem .5rem; text-align: left; vertical-align: top; }
.doc li { margin-bottom: .5rem; }
