/* ==========================================================================
   ALTCOM · Design tokens v1.0 (2026-10) — sistema partilhado
   Derivado do logótipo novo: navy #0C0E24 · ciano #5AD0E6 · violeta #8061F8
   Dark-first; variante clara em [data-theme="light"] / prefers-color-scheme.
   Sem dependências externas. Fontes self-hosted (SIL OFL 1.1).
   ========================================================================== */
@font-face{font-family:"Geist";src:url("fonts/geist-var.woff2") format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"Geist Mono";src:url("fonts/geist-mono-var.woff2") format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"Syne";src:url("fonts/syne-800.woff2") format("woff2");font-weight:800;font-display:swap}

:root{
  color-scheme:dark;
  /* --- Marca (do logótipo) --- */
  --ac-navy:#0C0E24;            /* navy da marca */
  --ac-cyan:#5AD0E6;            /* ciano: sublinhado + ponto final */
  --ac-violet:#8061F8;          /* violeta: início do gradiente */
  --ac-violet-soft:#A592FF;     /* violeta para texto sobre escuro (AA) */
  --ac-gradient:linear-gradient(90deg,#8061F8 0%,#5AD0E6 100%);
  --ac-gradient-diag:linear-gradient(135deg,#8061F8 0%,#5AD0E6 100%);

  /* --- Superfícies (dark) --- */
  --bg:#06071A;                 /* fundo base (navy mais profundo) */
  --bg-elev:#0C0E24;            /* = navy marca */
  --surface:#11142E;            /* cards */
  --surface-2:#171B3A;          /* hover / inputs */
  --glass:rgba(17,20,46,.55);   /* vidro (com backdrop-filter) */
  --line:rgba(185,188,214,.12); /* bordas 1px */
  --line-strong:rgba(185,188,214,.22);

  /* --- Texto --- */
  --text:#F4F5F9;               /* 18.0:1 sobre --bg */
  --text-2:#B9BCD6;             /* 10.6:1 */
  --muted:#8A8DA6;              /*  6.1:1 — mínimo para texto */
  --on-accent:#0C0E24;          /* texto sobre ciano */

  /* --- Estados (status) --- */
  --ok:#3DDC97;      --ok-bg:rgba(61,220,151,.12);     /* operacional */
  --warn:#F5B942;    --warn-bg:rgba(245,185,66,.12);   /* degradado */
  --maint:#A592FF;   --maint-bg:rgba(128,97,248,.16);  /* em manutenção (violeta marca) */
  --down:#FF6B73;    --down-bg:rgba(229,72,77,.16);    /* indisponível */
  --nodata:#6A6E92;                                    /* sem dados — 3.7:1 sobre --surface, 3.4:1 sobre --surface-2 (≥3:1 WCAG 1.4.11) */
  --nodata-bg:rgba(138,141,166,.12);
  --focus:#5AD0E6;

  /* --- Tipografia --- */
  --font-display:"Syne","Geist",system-ui,sans-serif;     /* Syne 800 = fonte do wordmark (só títulos) */
  --fw-display:800;
  --font-sans:"Geist",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --font-mono:"Geist Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  /* escala fluida: mobile → desktop */
  --fs-display:clamp(44px,8vw,112px); /* 44 / 112 */
  --fs-h1:clamp(36px,5.2vw,72px);     /* 36 / 72 */
  --fs-h2:clamp(28px,3.4vw,44px);     /* 28 / 44 */
  --fs-h3:clamp(20px,2vw,28px);       /* 20 / 28 */
  --fs-h4:clamp(17px,1.4vw,20px);     /* 17 / 20 */
  --fs-body:clamp(16px,1.1vw,17px);   /* 16 / 17 */
  --fs-small:14px;
  --fs-micro:12px;                    /* eyebrow / mono labels */
  --lh-tight:.95; --lh-head:1.1; --lh-body:1.6;
  --tracking-display:-.035em; --tracking-head:-.02em; --tracking-eyebrow:.14em;

  /* --- Espaçamento (base 4) --- */
  --s-1:4px; --s-2:8px; --s-3:12px; --s-4:16px; --s-5:24px; --s-6:32px;
  --s-7:48px; --s-8:64px; --s-9:96px; --s-10:128px;
  --section-y:clamp(64px,10vw,128px);
  --gutter:clamp(20px,4vw,40px);
  --max-w:1240px;  --max-w-narrow:880px;

  /* --- Forma --- */
  --r-xs:6px; --r-sm:10px; --r-md:16px; --r-lg:24px; --r-pill:999px;
  --border:1px solid var(--line);
  --shadow-1:0 1px 0 rgba(255,255,255,.04) inset,0 10px 30px rgba(0,0,0,.35);
  --glow-cyan:0 0 0 1px rgba(90,208,230,.35),0 0 32px rgba(90,208,230,.25);
  --blur:16px;

  /* --- Motion --- */
  --ease-out:cubic-bezier(.22,1,.36,1);
  --ease-in-out:cubic-bezier(.65,0,.35,1);
  --dur-1:150ms;  /* micro (hover, focus) */
  --dur-2:300ms;  /* componentes */
  --dur-3:600ms;  /* reveals */
  --dur-4:1200ms; /* ambiente / heros */
  --stagger:60ms;
  --reveal-y:24px;
}

/* Variante clara */
[data-theme="light"]{
  color-scheme:light;
  --bg:#F4F5F9; --bg-elev:#FFFFFF; --surface:#FFFFFF; --surface-2:#E8ECF2;
  --glass:rgba(255,255,255,.7);
  --line:rgba(12,14,36,.10); --line-strong:rgba(12,14,36,.18);
  --text:#0C0E24; --text-2:#2A2D4F; --muted:#4A4E6A;
  --ok:#0B7A54; --ok-bg:rgba(11,122,84,.10);
  --warn:#9A6400; --warn-bg:rgba(245,185,66,.18);
  --maint:#5B3FD9; --maint-bg:rgba(128,97,248,.12);
  --down:#C42B33; --down-bg:rgba(229,72,77,.10);
  --nodata:#737B90; --nodata-bg:rgba(12,14,36,.06); --focus:#5B3FD9;
  --shadow-1:0 10px 30px rgba(12,14,36,.06);
}

@media (prefers-reduced-motion:reduce){
  :root{--dur-1:0ms;--dur-2:0ms;--dur-3:0ms;--dur-4:0ms;--stagger:0ms;--reveal-y:0px}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
