/* Extract Lab — design tokens + minimal reset (Layer 1) */

/* ---- Self-hosted fonts (font-display: swap) ---- */
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/ibm-plex-sans-600.woff2') format('woff2');}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/inter-400.woff2') format('woff2');}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/ibm-plex-mono-400.woff2') format('woff2');}

:root{
  --el-bg:#FAFAFA; --el-text:#0B0B0B; --el-border:#E5E7EB; --el-muted:#6B7280;
  --el-accent:#047857; --el-accent-hover:#036C4E;
  --el-success:#047857; --el-warning:#D97706; --el-error:#B91C1C; --el-white:#FFFFFF;
  --el-font-heading:'IBM Plex Sans',system-ui,-apple-system,sans-serif;
  --el-font-body:'Inter',system-ui,-apple-system,sans-serif;
  --el-font-mono:'IBM Plex Mono',ui-monospace,SFMono-Regular,monospace;
  --el-tracking-heading:-0.01em; --el-leading-body:1.6;
  --el-text-xs:.875rem; --el-text-sm:1rem; --el-text-md:1.125rem; --el-text-lg:1.25rem;
  --el-text-xl:1.5rem; --el-text-2xl:2rem; --el-text-3xl:3rem; --el-text-4xl:4rem;
  --el-s1:.25rem; --el-s2:.5rem; --el-s3:.75rem; --el-s4:1rem; --el-s5:1.5rem;
  --el-s6:2rem; --el-s7:3rem; --el-s8:4rem; --el-s9:6rem; --el-s10:8rem;
  --el-max:1200px; --el-pad-mobile:1.5rem; --el-pad-tablet:3rem; --el-pad-desktop:4rem;
  --el-radius:2px; --el-transition:150ms ease; --el-focus:0 0 0 3px var(--el-accent);
  --el-tap-min:44px; --el-field-min:48px;
}

/* ---- Minimal reset / base (Elementor-safe) ---- */
*{box-sizing:border-box;}
body{margin:0;background:var(--el-bg);color:var(--el-text);font-family:var(--el-font-body);font-size:var(--el-text-sm);line-height:var(--el-leading-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
img{max-width:100%;height:auto;}
a{color:var(--el-accent);text-decoration:underline;}
a:hover{color:var(--el-accent-hover);}
:focus-visible{outline:none;box-shadow:var(--el-focus);}
