html{-webkit-text-size-adjust:100%}body{margin:0}
/* Layout: a field test sheet. Sticky progress bar on top, one column of journey sheets,
   each task a checklist row that opens into steps + a three-way result chooser.
   v2: a third platform (Web), live per-tester saving, and an owner Results view. */
:root {
  --bg: #f2f6f4;
  --surface: #ffffff;
  --surface-2: #e7efeb;
  --ink: #12231d;
  --ink-2: #4a5d56;
  --line: #d2ddd8;
  --accent: #0b6657;
  --accent-ink: #ffffff;
  --accent-soft: #d5ebe4;
  --good: #1d7438;
  --good-soft: #dcf0e1;
  --bad: #b0281f;
  --bad-soft: #f8e0dd;
  --na: #575d79;
  --na-soft: #e5e6ef;
  --warn: #7d5200;
  --warn-soft: #fbedcf;
  --focus: #0b6657;
  --font-display: "Bricolage Grotesque", "Avenir Next", "Segoe UI", system-ui, sans-serif;
  --font-body: "Atkinson Hyperlegible", "Segoe UI", system-ui, -apple-system, sans-serif;
  --font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  --r: 10px;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bg: #0d1614; --surface: #14201d; --surface-2: #1b2a26; --ink: #e4eee9; --ink-2: #a2b6ae;
    --line: #2b3c37; --accent: #57c6ad; --accent-ink: #052019; --accent-soft: #17342d;
    --good: #74d391; --good-soft: #16301f; --bad: #ff8f84; --bad-soft: #3b1917;
    --na: #b7bbd4; --na-soft: #262839; --warn: #f1c46a; --warn-soft: #33280e; --focus: #7fe0c9;
    color-scheme: dark;
  }
}
:root[data-theme="dark"] {
  --bg: #0d1614; --surface: #14201d; --surface-2: #1b2a26; --ink: #e4eee9; --ink-2: #a2b6ae;
  --line: #2b3c37; --accent: #57c6ad; --accent-ink: #052019; --accent-soft: #17342d;
  --good: #74d391; --good-soft: #16301f; --bad: #ff8f84; --bad-soft: #3b1917;
  --na: #b7bbd4; --na-soft: #262839; --warn: #f1c46a; --warn-soft: #33280e; --focus: #7fe0c9;
  color-scheme: dark;
}
* { box-sizing: border-box; }
[hidden] { display: none !important; }
body { background: var(--bg); color: var(--ink); font-family: var(--font-body); font-size: 16px; line-height: 1.55; }
.wrap { max-width: 860px; margin: 0 auto; padding-inline: 16px; }
h1, h2, h3 { font-family: var(--font-display); text-wrap: balance; line-height: 1.15; margin: 0; }
h1 { font-size: clamp(2rem, 6vw, 3rem); letter-spacing: -0.02em; }
h2 { font-size: 1.6rem; letter-spacing: -0.01em; }
h3 { font-size: 1.2rem; }
p { margin: 0; }
a { color: var(--accent); overflow-wrap: anywhere; }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; border-radius: 4px; }
.eyebrow { font-family: var(--font-mono); font-size: 0.75rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-2); }
.muted { color: var(--ink-2); }
.mono { font-family: var(--font-mono); }
.ic { width: 1em; height: 1em; flex: none; vertical-align: -0.12em; }
