/* Field Ops (8003) v3 — base: reset, document, phone-app behaviour. Tokens only (no colour literals).
   No web fonts: the phone's own font (SF Pro / Roboto) for everything (v3 owner decision, 2026-10-13). */

@view-transition { navigation: auto; }

*, *::before, *::after { box-sizing: border-box; }

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  overscroll-behavior-y: none;          /* no pull-to-refresh / rubber-band of the page itself */
  background: var(--fld-bg);
}

body {
  margin: 0;
  min-height: 100dvh;
  background: var(--fld-bg);
  color: var(--fld-ink);
  font: 400 var(--fld-fs-body) / 1.35 var(--fld-font);
  font-variant-numeric: tabular-nums;
  -webkit-font-smoothing: antialiased;
  overscroll-behavior-y: none;
  -webkit-tap-highlight-color: transparent;
}

h1, h2, h3, p { margin: 0; }
img, svg { max-width: 100%; }
button, input, select, textarea { font: inherit; color: inherit; }
/* PWA, phone only (FIELD_DESIGN.md §0): touch only, no pointer-device styling, no desktop breakpoints. */
[hidden] { display: none !important; }
a { color: var(--fld-brand); }

/* Interactive chrome behaves like an app: no 300 ms delay, no text selection, no iOS callout. */
button, [role="button"], [role="tab"], [role="switch"], .fld-tab, .fld-seg__btn, .fld-list__row--tap {
  touch-action: manipulation;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
}

:focus-visible { outline: 3px solid var(--fld-focus); outline-offset: 2px; }
:focus:not(:focus-visible) { outline: none; }

.fld-num { font-family: var(--fld-num); font-weight: 700; font-variant-numeric: tabular-nums; }
.fld-mono { font-family: var(--fld-mono); font-weight: 600; letter-spacing: .02em; }
.fld-sr { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
  ::view-transition-group(*), ::view-transition-old(*), ::view-transition-new(*) { animation: none !important; }
}
