/* Mentor Pilot · base: cores, fontes e reset */
:root {
  --ground: #F4F2EE;
  --surface: #FFFFFF;
  --soft: #ECE9E3;
  --ink: #17181C;
  --muted: #5B5E66;
  --line: #E4E1DA;
  --line-strong: #C9C5BC;

  --accent: #C2410C;
  --accent-dark: #9A3412;
  --accent-soft: #FDEBD9;

  --side: #12131A;
  --side-2: #1E2029;

  --ok: #15803D;   --ok-soft: #DCFCE7;
  --warn: #B45309; --warn-soft: #FEF3C7;
  --bad: #991B1B;  --bad-soft: #FEE2E2;
  --info: #1D4ED8; --info-soft: #DBEAFE;
  --teal: #0E7490; --teal-soft: #ECFEFF;

  --font-display: 'Bricolage Grotesque', Georgia, serif;
  --font-body: 'Instrument Sans', 'Helvetica Neue', system-ui, sans-serif;
}

* { box-sizing: border-box; }
:root {
  color-scheme: light;
  box-sizing: border-box;
  padding-top: env(safe-area-inset-top, 0px);
  padding-bottom: env(safe-area-inset-bottom, 0px);
}
html { scroll-padding-top: env(safe-area-inset-top, 0px); background: var(--ground); }
html, body { margin: 0; }
body {
  font-family: var(--font-body);
  color: var(--ink);
  background: var(--ground);
  font-size: 15px;
  line-height: 1.45;
}
h1, h2, h3 { font-family: var(--font-display); margin: 0; letter-spacing: -0.02em; line-height: 1.15; }
h1 { font-size: 30px; font-weight: 800; }
h2 { font-size: 21px; font-weight: 700; }
h3 { font-size: 17px; font-weight: 700; }
p { margin: 0; }
button, input, textarea, select { font: inherit; color: inherit; }
button { cursor: pointer; }
img { max-width: 100%; }
:focus-visible { outline: 3px solid #2563EB; outline-offset: 2px; }

.muted { color: var(--muted); }
.small { font-size: 13px; }
.strong { font-weight: 700; }
.num { font-family: var(--font-display); font-weight: 700; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

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