/* phone-first, one file, no framework. Light and dark come from the device. */
:root {
  color-scheme: light dark;
  --bg: #f6f5f1; --ink: #1c1b18; --muted: #6b6861; --line: #d9d6cf; --card: #ffffff;
  --accent: #0a5c2e; --bad: #a02018;
}
@media (prefers-color-scheme: dark) {
  :root { --bg: #131311; --ink: #eceae4; --muted: #98948b; --line: #34322d; --card: #1d1c19;
          --accent: #62c78a; --bad: #ef8a80; }
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--ink);
       font: 16px/1.5 system-ui, sans-serif; }
main { max-width: 40rem; margin: 0 auto; padding: 1rem 1rem 4rem; }
nav { display: flex; gap: .75rem; flex-wrap: wrap; align-items: center;
      border-block-end: 1px solid var(--line); padding: .5rem 1rem; }
nav a { color: var(--ink); text-decoration: none; }
h1 { font-size: 1.6rem; margin: 1rem 0 .5rem; }
h2 { font-size: 1.1rem; margin: 0 0 .25rem; }
p.muted, .muted { color: var(--muted); }
.card { background: var(--card); border: 1px solid var(--line); border-radius: .6rem;
        padding: .75rem 1rem; margin: .75rem 0; }
table { border-collapse: collapse; width: 100%; font-size: .9rem; }
th, td { text-align: start; padding: .25rem .4rem; border-block-end: 1px solid var(--line);
         overflow-wrap: anywhere; }
table th[scope], section th { border-block-end: none; color: var(--muted); font-weight: normal; }
code { word-break: break-all; }
form { display: grid; gap: .5rem; margin-block: 1rem; }
label { display: grid; gap: .2rem; font-size: .9rem; color: var(--muted); }
input, select { padding: .5rem; border: 1px solid var(--line); border-radius: .4rem;
                background: var(--card); color: var(--ink); font: inherit; min-inline-size: 0; }
button { font: inherit; padding: .55rem 1.1rem; border-radius: .5rem;
         border: 1px solid var(--accent); background: var(--accent); color: #fff; cursor: pointer; }
button.answer { padding: .2rem .6rem; font-size: .8rem; }
#out { margin-inline-start: auto; }
[role="status"] { min-block-size: 1.25rem; color: var(--muted); }
.err { color: var(--bad); }
