/* ==========================================================================
   NEST TEST · tokens
   Identidad de marca, escalas y temas.
   Paleta oficial (NEST Brand Guidelines 2026):
     Deep Navy  #0E2841   primario, fondo
     Teal       #207888   secundario, acento
     NEST Black #0A0A0A   monocromo
     Ice White  #F5F5F5   texto sobre navy
   Regla de color heredada del diseño: verde, ámbar y rojo quedan reservados
   para veredictos. El acento de marca nunca se usa dentro de una celda de
   resultado, solo en la navegación y en las acciones.
   ========================================================================== */

/* ------------------------------------------------------------- tipografía */
@font-face{
  font-family:"Montserrat";
  src:url("../fonts/montserrat-latin.woff2") format("woff2");
  font-weight:100 900; font-style:normal; font-display:swap;
  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:"Montserrat";
  src:url("../fonts/montserrat-latin-ext.woff2") format("woff2");
  font-weight:100 900; font-style:normal; font-display:swap;
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,
    U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,
    U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

:root{
  /* ---------------------------------------------------------- marca fija */
  --nest-navy:#0E2841;
  --nest-teal:#207888;
  --nest-black:#0A0A0A;
  --nest-white:#F5F5F5;

  --sans:"Montserrat","Segoe UI Variable Text","Segoe UI",system-ui,-apple-system,sans-serif;
  --mono:"Cascadia Mono","SF Mono",ui-monospace,Consolas,"Liberation Mono",monospace;

  /* ------------------------------------------------------------- métrica */
  --h-bar:48px; --h-tabs:40px; --h-tool:54px;
  --r-sm:3px; --r:5px; --r-lg:8px;
  --gap:12px;
  --pad-x:clamp(10px,1.6vw,18px);
  --tap:40px;                       /* área mínima táctil en piso */
  --shadow-1:0 1px 2px rgba(14,40,65,.07),0 2px 8px -4px rgba(14,40,65,.16);
  --shadow-2:0 18px 48px -26px rgba(14,40,65,.55);
  --ease:cubic-bezier(.2,.7,.3,1);
}

/* ============================================================ tema claro */
:root,
:root[data-theme="light"]{
  color-scheme:light;

  --ground:#E8EDF2;
  --surface:#FFFFFF;
  --panel:#F4F7FA;
  --sunk:#DFE7EE;
  --raise:#FFFFFF;

  --ink:#101C27;
  --soft:#41556A;
  /* --faint llega a 4.5:1 sobre --surface y sobre --panel. El gris claro de
     antes daba 3.05 y bajo la luz de una nave industrial no se leía. */
  --faint:#5E7186;
  --rule:#C7D3DE;
  --rule-soft:#E1E8EF;

  --accent:#186F80;                 /* teal ajustado a contraste AA sobre blanco */
  --accent-strong:#207888;
  --accent-ink:#FFFFFF;
  --accent-bg:#E3F0F2;
  --accent-line:#207888;

  --brand-bg:var(--nest-navy);
  --brand-ink:var(--nest-white);

  --pass:#1D6E43; --pass-bg:#E2F0E8; --pass-line:#38915F;
  --marg:#8A590B; --marg-bg:#FAF0DA; --marg-line:#CB9832;
  --fail:#9C2C2C; --fail-bg:#FAE4E2; --fail-line:#C24A45;
  --run:#175D6F;  --run-bg:#DFEDF1;  --run-line:#3A8DA2;
  --idle:#93A5B7;

  --pcb:#12283F; --pcb-edge:#2A4C6E; --pcb-trace:#B8892F;
  --badge-bg:rgba(252,253,254,.94);

  --focus:#207888;
}

/* ============================================================ tema oscuro */
/* Deep Navy como superficie: es lo que pide el manual para fondos digitales. */
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    color-scheme:dark;
    --ground:#061019;
    --surface:#0E2841;
    --panel:#123049;
    --sunk:#0A1F33;
    --raise:#17395A;
    --ink:#F5F5F5;
    --soft:#A7BCCD;
    --faint:#849BB0;
    --rule:#254767;
    --rule-soft:#1A3A57;
    --accent:#4EB3C6;
    --accent-strong:#3FA5B8;
    --accent-ink:#04202A;
    --accent-bg:#0D3B47;
    --accent-line:#3FA5B8;
    --pass:#5FC08B; --pass-bg:#0C2A1C; --pass-line:#3E9C68;
    --marg:#E0AE5C; --marg-bg:#2B2011; --marg-line:#C4922F;
    --fail:#EC8A80; --fail-bg:#2F1614; --fail-line:#CC5750;
    --run:#66BDD2;  --run-bg:#0B2A34;  --run-line:#3FA5B8;
    --idle:#4A6076;
    --pcb:#0B1F31; --pcb-edge:#265173; --pcb-trace:#C79A44;
    --badge-bg:rgba(7,20,31,.9);
    --focus:#4EB3C6;
    --shadow-1:0 1px 2px rgba(0,0,0,.4),0 2px 10px -4px rgba(0,0,0,.55);
    --shadow-2:0 20px 55px -28px rgba(0,0,0,.9);
  }
}
:root[data-theme="dark"]{
  color-scheme:dark;
  --ground:#061019;
  --surface:#0E2841;
  --panel:#123049;
  --sunk:#0A1F33;
  --raise:#17395A;
  --ink:#F5F5F5;
  --soft:#A7BCCD;
  --faint:#849BB0;
  --rule:#254767;
  --rule-soft:#1A3A57;
  --accent:#4EB3C6;
  --accent-strong:#3FA5B8;
  --accent-ink:#04202A;
  --accent-bg:#0D3B47;
  --accent-line:#3FA5B8;
  --pass:#5FC08B; --pass-bg:#0C2A1C; --pass-line:#3E9C68;
  --marg:#E0AE5C; --marg-bg:#2B2011; --marg-line:#C4922F;
  --fail:#EC8A80; --fail-bg:#2F1614; --fail-line:#CC5750;
  --run:#66BDD2;  --run-bg:#0B2A34;  --run-line:#3FA5B8;
  --idle:#4A6076;
  --pcb:#0B1F31; --pcb-edge:#265173; --pcb-trace:#C79A44;
  --badge-bg:rgba(7,20,31,.9);
  --focus:#4EB3C6;
  --shadow-1:0 1px 2px rgba(0,0,0,.4),0 2px 10px -4px rgba(0,0,0,.55);
  --shadow-2:0 20px 55px -28px rgba(0,0,0,.9);
}

/* El wordmark tiene dos versiones, navy e Ice White. El archivo lo cambia JS
   al aplicar el tema: dos <img> con reglas de display se pelean con la
   especificidad de los contenedores y terminan mostrando los dos. */
.wordmark{display:block}
