/* Shared brand tokens — contractor + desk + track + login (offline, bundled Heebo) */

@font-face {
  font-family: 'Heebo';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/Heebo-400.woff2) format('woff2');
  unicode-range: U+0307-0308,U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F;
}
@font-face {
  font-family: 'Heebo';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/Heebo-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: 'Heebo';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/Heebo-600.woff2) format('woff2');
  unicode-range: U+0307-0308,U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F;
}
@font-face {
  font-family: 'Heebo';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/Heebo-600-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: 'Heebo';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/Heebo-700.woff2) format('woff2');
  unicode-range: U+0307-0308,U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F;
}
@font-face {
  font-family: 'Heebo';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/Heebo-700-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: 'Heebo';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(fonts/Heebo-800.woff2) format('woff2');
  unicode-range: U+0307-0308,U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F;
}
@font-face {
  font-family: 'Heebo';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(fonts/Heebo-800-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: 'Heebo';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(fonts/Heebo-900.woff2) format('woff2');
  unicode-range: U+0307-0308,U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F;
}
@font-face {
  font-family: 'Heebo';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(fonts/Heebo-900-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

:root{
  --ink:#1C1916;
  --muted:#5c564e;
  --line:#e4dcd0;
  --bg:#F3EEE6;
  --card:#FAF7F2;
  --brand:#1C1916;
  --brand-2:#1F4E8C;
  --brand-hover:#173D6E;
  --accent:#E8641E;
  --accent-hover:#C9520F;
  --accent-ink:#B8470E;
  --ok:#11703F;
  --wa:#25d366;
  --warn:#9a6700;
  --warn-bg:#fff8e6;
  --bad:#b42318;
  --r-sm:10px;
  --r-md:14px;
  --r:18px;
  --tap:52px;
  --space-1:4px;
  --space-2:8px;
  --space-3:12px;
  --space-4:16px;
  --space-5:24px;
  --space-6:32px;
  --fs-xs:13px;
  --fs-sm:15px;
  --fs-md:18px;
  --fs-lg:20px;
  --fs-xl:26px;
  --fs-2xl:34px;
  --lh:1.5;
  --dur-fast:100ms;
  --dur:150ms;
  --dur-draw:600ms;
  --dur-bar:280ms;
  --ease:cubic-bezier(0.4, 0, 0.2, 1);
  --ease-steel:cubic-bezier(0.4, 0, 0.2, 1);
  --shadow:0 1px 3px rgba(28,25,22,.06), 0 10px 24px -14px rgba(28,25,22,.18);
  --surface:#FAF7F2;
  --brand-soft:#E1E8F2;
  --ok-soft:#e5f6ec;
  --nav:var(--brand);
  --on-nav:#fff;
  --on-nav-muted:color-mix(in srgb, #fff 70%, transparent);
  --font:"Heebo", system-ui, sans-serif;
}

html { font-family: var(--font); font-size: var(--fs-md); line-height: var(--lh); }

.num, [dir="ltr"] {
  font-variant-numeric: tabular-nums;
  unicode-bidi: isolate;
}

/* CAD / contractor overlays inherit Heebo even if a host page inlines another family. */
.draw-lbl,
.draw-lbl-lab,
.draw-lbl-in,
.draw-cad-val,
.draw-cad-letter,
.draw-dia-chip,
.draw-dia-hint,
.draw-dim-hint {
  font-family: var(--font);
}
.draw-cad-val,
.draw-lbl-in {
  unicode-bidi: isolate;
  direction: ltr;
}

button, input, textarea, select {
  font-family: inherit;
}

:where(a, button, input, select, textarea, summary, [tabindex]:not([tabindex="-1"])):focus-visible {
  outline: 2px solid var(--brand-2);
  outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
