/* Edgeweigh brand tokens v1 — 2026-09-03. Source of truth: docs/BRAND-GUIDE-EDGEWEIGH.md
   Light only. Two surfaces: paper (default) and graphite (hero, footer, login art). */
:root{
  /* core */
  --ew-graphite:#15181D;      /* brand dark: hero / footer / code / primary button on paper */
  --ew-signal:#D6F55A;        /* brand accent: lines, highlights, primary button on graphite */
  --ew-signal-ink:#5E6E0F;    /* accent for text/links on paper (lime itself fails contrast on white) */
  --ew-signal-tint:#EEF2D9;   /* soft accent background on paper */
  --ew-paper:#F5F5F0;         /* page background */
  --ew-white:#FFFFFF;         /* cards, inputs */
  /* text on paper */
  --ew-ink:#15181D;
  --ew-text:#3B4048;
  --ew-muted:#646B75;
  --ew-line:#E2E4E1;
  --ew-divider:#ECEDEA;
  /* text on graphite */
  --ew-on-dark:#FFFFFF;
  --ew-on-dark-muted:#C9CDD3;
  --ew-on-dark-line:rgba(255,255,255,.14);
  /* semantic (same hue family as console today) */
  --ew-success:#166534; --ew-success-bg:#EAF6EE;
  --ew-warning:#966115; --ew-warning-bg:#FBF1E1;
  --ew-danger:#B42318;  --ew-danger-bg:#FBEAEA;
  /* type */
  --ew-sans:"Manrope",-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",Roboto,Helvetica,Arial,sans-serif;
  --ew-mono:"IBM Plex Mono",ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  --ew-fs-display:64px; --ew-fs-h1:48px; --ew-fs-h2:36px; --ew-fs-h3:24px; --ew-fs-h4:18px;
  --ew-fs-body:16px; --ew-fs-small:14px; --ew-fs-caption:12px;
  --ew-lh-tight:1.05; --ew-lh-heading:1.15; --ew-lh-body:1.6;
  --ew-track-display:-0.03em; --ew-track-heading:-0.02em; --ew-track-caps:0.08em;
  /* shape & space */
  --ew-radius-card:12px; --ew-radius-control:8px; --ew-radius-input:6px; --ew-radius-pill:999px;
  --ew-space-1:4px; --ew-space-2:8px; --ew-space-3:12px; --ew-space-4:16px; --ew-space-5:24px; --ew-space-6:32px; --ew-space-7:48px; --ew-space-8:64px; --ew-space-9:96px;
  --ew-container:1200px; --ew-nav-h:64px;
  --ew-shadow-card:0 1px 2px rgba(21,24,29,.04);
  /* motion */
  --ew-ease:cubic-bezier(.2,.7,.2,1); --ew-dur-fast:160ms; --ew-dur-base:280ms; --ew-dur-reveal:600ms; --ew-loop-illustration:30s;
}
/* base */
.ew-body{margin:0;background:var(--ew-paper);color:var(--ew-text);font-family:var(--ew-sans);font-size:var(--ew-fs-body);line-height:var(--ew-lh-body);-webkit-font-smoothing:antialiased}
.ew-h1,.ew-h2,.ew-h3{margin:0;color:var(--ew-ink);font-weight:700;letter-spacing:var(--ew-track-heading);line-height:var(--ew-lh-heading);text-wrap:balance}
.ew-display{font-size:var(--ew-fs-display);font-weight:800;letter-spacing:var(--ew-track-display);line-height:var(--ew-lh-tight)}
.ew-h1{font-size:var(--ew-fs-h1)} .ew-h2{font-size:var(--ew-fs-h2)} .ew-h3{font-size:var(--ew-fs-h3)}
.ew-eyebrow{font-family:var(--ew-mono);font-size:var(--ew-fs-caption);letter-spacing:var(--ew-track-caps);text-transform:uppercase;color:var(--ew-muted)}
.ew-link{color:var(--ew-signal-ink);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
/* surfaces */
.ew-surface-graphite{background:var(--ew-graphite);color:var(--ew-on-dark)}
.ew-surface-graphite .ew-h1,.ew-surface-graphite .ew-h2,.ew-surface-graphite .ew-h3,.ew-surface-graphite .ew-display{color:var(--ew-on-dark)}
.ew-surface-graphite .ew-eyebrow{color:var(--ew-signal)}
.ew-surface-graphite .ew-link{color:var(--ew-signal)}
/* buttons: primary flips with surface */
.ew-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 18px;border-radius:var(--ew-radius-control);font-family:var(--ew-sans);font-weight:700;font-size:15px;border:1.5px solid transparent;cursor:pointer;text-decoration:none;transition:transform var(--ew-dur-fast) var(--ew-ease),opacity var(--ew-dur-fast)}
.ew-btn:hover{transform:translateY(-1px)} .ew-btn:focus-visible{outline:2px solid var(--ew-signal-ink);outline-offset:2px}
.ew-btn-primary{background:var(--ew-graphite);color:var(--ew-on-dark)}
.ew-btn-secondary{background:transparent;color:var(--ew-ink);border-color:var(--ew-line)}
.ew-surface-graphite .ew-btn-primary{background:var(--ew-signal);color:var(--ew-graphite)}
.ew-surface-graphite .ew-btn-secondary{color:var(--ew-on-dark);border-color:rgba(255,255,255,.45)}
.ew-surface-graphite .ew-btn:focus-visible{outline-color:var(--ew-signal)}
/* card, input, pill, nav */
.ew-card{background:var(--ew-white);border:1px solid var(--ew-line);border-radius:var(--ew-radius-card);box-shadow:var(--ew-shadow-card)}
.ew-input{height:44px;border:1px solid var(--ew-line);border-radius:var(--ew-radius-input);background:var(--ew-white);padding:0 12px;font:inherit;color:var(--ew-ink)}
.ew-input:focus-visible{outline:2px solid var(--ew-signal-ink);outline-offset:1px;border-color:var(--ew-ink)}
.ew-pill{display:inline-block;font-family:var(--ew-mono);font-size:11.5px;padding:2px 8px;border-radius:var(--ew-radius-pill);border:1px solid var(--ew-line);color:var(--ew-muted)}
.ew-nav{height:var(--ew-nav-h);display:flex;align-items:center;gap:28px;background:rgba(245,245,240,.9);backdrop-filter:blur(8px);border-bottom:1px solid var(--ew-divider)}
/* icons: Phosphor regular, currentColor */
.ew-ic{display:inline-block;width:20px;height:20px;fill:currentColor;vertical-align:middle;flex:0 0 auto}
.ew-ic-lg{width:28px;height:28px}
/* reveal on scroll (the only page motion besides the hero illustration) */
.ew-reveal{opacity:.35;transform:translateY(14px);transition:opacity var(--ew-dur-reveal) var(--ew-ease),transform var(--ew-dur-reveal) var(--ew-ease)}
.ew-reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){.ew-reveal{opacity:1;transform:none;transition:none}.ew-btn{transition:none}}
