/* ::::bastion::universalis:::: — tokens del tablero
 * Importar en el tablero entrante: <link rel="stylesheet" href="tokens.css">
 * Extracto canónico de /colors_and_type.css para uso directo del comando central.
 */
:root{
  /* Superficies obsidian */
  --ob:#08080F;   /* overlay / modal */
  --gr:#0F0F18;   /* fondo principal */
  --s1:#141420;   /* card base */
  --s2:#1A1A28;   /* card elevado */
  --s3:#20202E;   /* hover / tooltip */

  /* Bordes glass */
  --gl:rgba(255,255,255,0.08);
  --gl2:rgba(255,255,255,0.04);
  --gl-active:rgba(255,255,255,0.15);

  /* Acentos semánticos por dominio */
  --jade:#1DB87A;     --jade-d:rgba(29,184,122,0.12);   /* operativo · activo · verificado */
  --cyan:#00D4FF;     --cyan-d:rgba(0,212,255,0.10);    /* tecnología · sync · MIDI */
  --gold:#C9A84C;     --gold-d:rgba(201,168,76,0.11);   /* autoridad · archivo · tokens */
  --amber:#E0903A;    --amber-d:rgba(224,144,58,0.11);  /* cultura · review · warning */
  --purple:#9B7FE8;   --purple-d:rgba(155,127,232,0.11);/* inteligencia · IA · intel */
  --magenta:#D44FA0;  --magenta-d:rgba(212,79,160,0.11);/* media · creativo · audio */
  --alert:#E05555;    --alert-d:rgba(224,85,85,0.12);   /* bloqueado · riesgo · error */

  /* Texto */
  --tp:#DDD9CE;   /* primario */
  --ts:#A8A4A0;   /* secundario */
  --tm:#7A7670;   /* muted / placeholder */

  /* Tipografía */
  --fs:'Instrument Sans',system-ui,sans-serif;  /* UI */
  --fm:'IBM Plex Mono',monospace;               /* tokens · IDs · codex · logs */
  --fd:'Cinzel',serif;                          /* ceremonial ::::syntax:::: */

  /* Semáforo de estado */
  --status-active:var(--jade);    /* verde · verificado */
  --status-review:var(--amber);   /* ámbar · revisión */
  --status-blocked:var(--alert);  /* rojo · bloqueado */
  --status-idle:var(--tm);        /* gris · inactivo */

  /* Radios — estética command-room (mínimo redondeo) */
  --r-sm:3px; --r-md:6px; --r-lg:10px; --r-full:9999px;

  /* Sombras + glows */
  --sh-md:0 4px 16px rgba(0,0,0,.6);
  --glow-jade:0 0 16px rgba(29,184,122,.25);
  --glow-cyan:0 0 16px rgba(0,212,255,.22);
  --glow-gold:0 0 16px rgba(201,168,76,.22);

  /* Motion */
  --ease:cubic-bezier(0.16,1,0.3,1);
  --dur:220ms;

  /* Layout del comando */
  --topbar-h:52px; --sidebar-w:210px; --right-w:265px;
}

/* Fondo dot-grid del comando */
.bastion-bg{
  background:var(--gr);
  background-image:radial-gradient(circle,rgba(255,255,255,0.016) 1px,transparent 1px);
  background-size:26px 26px;
}

/* Token mono */
.tok{font-family:var(--fm);font-size:10px;color:var(--gold);letter-spacing:0.06em;}
.tok-jade{color:var(--jade);} .tok-cyan{color:var(--cyan);} .tok-amber{color:var(--amber);}
.tok-purple{color:var(--purple);} .tok-magenta{color:var(--magenta);}

/* Semáforo dot */
.dot{display:inline-block;width:5px;height:5px;border-radius:50%;flex-shrink:0;}
.dot--active{background:var(--jade);box-shadow:0 0 6px var(--jade);}
.dot--review{background:var(--amber);}
.dot--blocked{background:var(--alert);}
.dot--idle{background:var(--tm);}
