/* base.css — tokens, reset, typography. Industrial / hi-vis jobsite system. */
:root {
  /* Palette: asphalt + concrete + safety hi-vis */
  --asphalt:    #161311;   /* near-black, warm */
  --asphalt-2:  #1f1b18;   /* raised surface */
  --concrete:   #2a2522;   /* panel */
  --concrete-2: #38322d;   /* border / hairline */
  --dust:       #d9d2c7;   /* primary text on dark */
  --dust-dim:   #9a9087;   /* secondary text */
  --yellow:     #ffd400;   /* safety yellow — headlines / hazard */
  --orange:     #ff6a00;   /* hi-vis orange — primary action */
  --lime:       #b6e300;   /* active / live accent */
  --steel:      #5f6b6e;   /* cool gray */

  --r-sm: 4px; --r-md: 8px; --r-lg: 14px;
  --shadow: 0 8px 24px rgba(0,0,0,.45);
  --tap: 52px; /* min touch target — gloves */

  --font-display: "Barlow Semi Condensed", system-ui, sans-serif;
  --font-body: "Barlow", system-ui, sans-serif;
  --font-mono: "Spline Sans Mono", ui-monospace, monospace;
}

* { box-sizing: border-box; margin: 0; padding: 0; }

html { -webkit-text-size-adjust: 100%; }
body {
  font-family: var(--font-body);
  background: var(--asphalt);
  /* faint diamond-plate texture via layered gradients */
  background-image:
    radial-gradient(circle at 1px 1px, rgba(255,255,255,.025) 1px, transparent 0);
  background-size: 14px 14px;
  color: var(--dust);
  line-height: 1.45;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  padding-bottom: env(safe-area-inset-bottom);
}

main {
  flex: 1;
  width: 100%;
  max-width: 720px;
  margin: 0 auto;
  padding: 0 16px 24px;
}

h1, h2 { font-family: var(--font-display); letter-spacing: .01em; }

button, input, textarea {
  font-family: inherit;
  font-size: 1rem;
  color: inherit;
}
button { cursor: pointer; border: none; background: none; }

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

::selection { background: var(--yellow); color: var(--asphalt); }

@media (prefers-reduced-motion: reduce) {
  * { animation: none !important; transition: none !important; }
}
