/* GENERATED by `python3 runtime/fui_colors.py` — do not edit.
   FoveAI Color Language: guiding colors for web surfaces.
   Vars only — components opt in, rendering unchanged until used. */
:root {
  --fui-companion: #FF3232;
  --fui-friend: #FFE600;
  --fui-beloved: #FF3CC8;
  --fui-tool: #00E664;
  --fui-inventor: #00DCFF;
  --fui-assistant: #5FAFFF;
  --fui-ok: #00E664;
  --fui-busy: #FF9E1F;
  --fui-warn: #FFE600;
  --fui-crit: #FF3232;
  --fui-idle: #888888;
  --fui-info: #00DCFF;
  --fui-select: #00DCFF;
  --fui-canvas: #1E1E1E;
  --fui-canvas-panel: #2D2D2D;
  --fui-canvas-fg: #E0E0E0;
  --fui-canvas-fg-dim: #888888;
}
:root {
  /* App token bindings — FUI is the semantic floor; */
  /* runtime theme --fv-* injections still win on top.  */
  --bg: var(--fui-canvas);
  --panel: var(--fui-canvas-panel);
  --panel-2: var(--fui-canvas-panel);
  --text: var(--fui-canvas-fg);
  --muted: var(--fui-canvas-fg-dim);
  --accent: var(--fui-info);
  --accent-2: var(--fui-beloved);
  --ok: var(--fui-ok);
  --success: var(--fui-ok);
  --warn: var(--fui-warn);
  --warning: var(--fui-warn);
  --danger: var(--fui-crit);
  --border: color-mix(in srgb, var(--fui-info) 25%, transparent);
}

/* media grammar — proportions always preserved, scale to fit;
   canonical: overtrass horizontally (fill width, crop height) and center
   horizontally unless overruled;
   override: .fui-media-v (vertical) or .fui-media-fit (contain) */
.fui-media {
  display: block; margin: 0 auto;
  width: 100%; height: auto;
  object-fit: cover; object-position: center;
}
.fui-media-v { display: block; margin: 0 auto; width: auto; height: 100%; }
.fui-media-fit { object-fit: contain; margin: 0 auto; display: block; }
.fui-media-bg {
  background-size: 100% auto;      /* horizontal overtrass */
  background-position: center;     /* horizontal centering norm */
  background-repeat: no-repeat;
  background-attachment: fixed;
}

