/* oh-skin.css — reskin Odychat sur tokens OpenHuman (genere automatiquement)
   Logique : accents cyan/sky/blue/purple->primary ; green/emerald->sage ;
   red/rose->coral ; amber/yellow/orange->amber ; neutres par role :
   bg->surfaces (950 canvas / 900 surface / 700-800 muted / 500-600 strong),
   texte->content, bordures->lines. Alpha conserve partout. */

:root,:host{
  --color-cyan-50: rgb(var(--primary-50));
  --color-cyan-100: rgb(var(--primary-100));
  --color-cyan-200: rgb(var(--primary-200));
  --color-cyan-300: rgb(var(--primary-300));
  --color-cyan-400: rgb(var(--primary-400));
  --color-cyan-500: rgb(var(--primary-500));
  --color-cyan-600: rgb(var(--primary-600));
  --color-cyan-700: rgb(var(--primary-700));
  --color-cyan-800: rgb(var(--primary-800));
  --color-cyan-900: rgb(var(--primary-900));
  --color-cyan-950: rgb(var(--primary-950));
  --color-sky-50: rgb(var(--primary-50));
  --color-sky-100: rgb(var(--primary-100));
  --color-sky-200: rgb(var(--primary-200));
  --color-sky-300: rgb(var(--primary-300));
  --color-sky-400: rgb(var(--primary-400));
  --color-sky-500: rgb(var(--primary-500));
  --color-sky-600: rgb(var(--primary-600));
  --color-sky-700: rgb(var(--primary-700));
  --color-sky-800: rgb(var(--primary-800));
  --color-sky-900: rgb(var(--primary-900));
  --color-sky-950: rgb(var(--primary-950));
  --color-blue-50: rgb(var(--primary-50));
  --color-blue-100: rgb(var(--primary-100));
  --color-blue-200: rgb(var(--primary-200));
  --color-blue-300: rgb(var(--primary-300));
  --color-blue-400: rgb(var(--primary-400));
  --color-blue-500: rgb(var(--primary-500));
  --color-blue-600: rgb(var(--primary-600));
  --color-blue-700: rgb(var(--primary-700));
  --color-blue-800: rgb(var(--primary-800));
  --color-blue-900: rgb(var(--primary-900));
  --color-blue-950: rgb(var(--primary-950));
  --color-purple-50: rgb(var(--primary-50));
  --color-purple-100: rgb(var(--primary-100));
  --color-purple-200: rgb(var(--primary-200));
  --color-purple-300: rgb(var(--primary-300));
  --color-purple-400: rgb(var(--primary-400));
  --color-purple-500: rgb(var(--primary-500));
  --color-purple-600: rgb(var(--primary-600));
  --color-purple-700: rgb(var(--primary-700));
  --color-purple-800: rgb(var(--primary-800));
  --color-purple-900: rgb(var(--primary-900));
  --color-purple-950: rgb(var(--primary-950));
  --color-green-50: rgb(var(--sage-50));
  --color-green-100: rgb(var(--sage-100));
  --color-green-200: rgb(var(--sage-200));
  --color-green-300: rgb(var(--sage-300));
  --color-green-400: rgb(var(--sage-400));
  --color-green-500: rgb(var(--sage-500));
  --color-green-600: rgb(var(--sage-600));
  --color-green-700: rgb(var(--sage-700));
  --color-green-800: rgb(var(--sage-800));
  --color-green-900: rgb(var(--sage-900));
  --color-green-950: rgb(var(--sage-950));
  --color-emerald-50: rgb(var(--sage-50));
  --color-emerald-100: rgb(var(--sage-100));
  --color-emerald-200: rgb(var(--sage-200));
  --color-emerald-300: rgb(var(--sage-300));
  --color-emerald-400: rgb(var(--sage-400));
  --color-emerald-500: rgb(var(--sage-500));
  --color-emerald-600: rgb(var(--sage-600));
  --color-emerald-700: rgb(var(--sage-700));
  --color-emerald-800: rgb(var(--sage-800));
  --color-emerald-900: rgb(var(--sage-900));
  --color-emerald-950: rgb(var(--sage-950));
  --color-red-50: rgb(var(--coral-50));
  --color-red-100: rgb(var(--coral-100));
  --color-red-200: rgb(var(--coral-200));
  --color-red-300: rgb(var(--coral-300));
  --color-red-400: rgb(var(--coral-400));
  --color-red-500: rgb(var(--coral-500));
  --color-red-600: rgb(var(--coral-600));
  --color-red-700: rgb(var(--coral-700));
  --color-red-800: rgb(var(--coral-800));
  --color-red-900: rgb(var(--coral-900));
  --color-red-950: rgb(var(--coral-950));
  --color-rose-50: rgb(var(--coral-50));
  --color-rose-100: rgb(var(--coral-100));
  --color-rose-200: rgb(var(--coral-200));
  --color-rose-300: rgb(var(--coral-300));
  --color-rose-400: rgb(var(--coral-400));
  --color-rose-500: rgb(var(--coral-500));
  --color-rose-600: rgb(var(--coral-600));
  --color-rose-700: rgb(var(--coral-700));
  --color-rose-800: rgb(var(--coral-800));
  --color-rose-900: rgb(var(--coral-900));
  --color-rose-950: rgb(var(--coral-950));
  --color-amber-50: rgb(var(--amber-50));
  --color-amber-100: rgb(var(--amber-100));
  --color-amber-200: rgb(var(--amber-200));
  --color-amber-300: rgb(var(--amber-300));
  --color-amber-400: rgb(var(--amber-400));
  --color-amber-500: rgb(var(--amber-500));
  --color-amber-600: rgb(var(--amber-600));
  --color-amber-700: rgb(var(--amber-700));
  --color-amber-800: rgb(var(--amber-800));
  --color-amber-900: rgb(var(--amber-900));
  --color-amber-950: rgb(var(--amber-950));
  --color-yellow-50: rgb(var(--amber-50));
  --color-yellow-100: rgb(var(--amber-100));
  --color-yellow-200: rgb(var(--amber-200));
  --color-yellow-300: rgb(var(--amber-300));
  --color-yellow-400: rgb(var(--amber-400));
  --color-yellow-500: rgb(var(--amber-500));
  --color-yellow-600: rgb(var(--amber-600));
  --color-yellow-700: rgb(var(--amber-700));
  --color-yellow-800: rgb(var(--amber-800));
  --color-yellow-900: rgb(var(--amber-900));
  --color-yellow-950: rgb(var(--amber-950));
  --color-orange-50: rgb(var(--amber-50));
  --color-orange-100: rgb(var(--amber-100));
  --color-orange-200: rgb(var(--amber-200));
  --color-orange-300: rgb(var(--amber-300));
  --color-orange-400: rgb(var(--amber-400));
  --color-orange-500: rgb(var(--amber-500));
  --color-orange-600: rgb(var(--amber-600));
  --color-orange-700: rgb(var(--amber-700));
  --color-orange-800: rgb(var(--amber-800));
  --color-orange-900: rgb(var(--amber-900));
  --color-orange-950: rgb(var(--amber-950));
}

/* --- regles recolorees (extraites du bundle compile) --- */
@import"https://fonts.googleapis.com/css2?family=Share+Tech+Mono&display=swap";*,:before,:after{--tw-ring-color:rgb(var(--primary-500) / .5);}
::backdrop{--tw-ring-color:rgb(var(--primary-500) / .5);}
*,:before,:after{border-color:rgb(var(--line));}
input::-moz-placeholder,textarea::-moz-placeholder{color:rgb(var(--content-muted));}
input::placeholder,textarea::placeholder{color:rgb(var(--content-muted));}
.border-amber-500\/30{border-color:rgb(var(--amber-500) / 0.3);}
.border-amber-800{border-color:rgb(var(--line-strong) / var(--tw-border-opacity, 1));}
.border-blue-500\/30{border-color:rgb(var(--primary-500) / 0.3);}
.border-blue-500\/50{border-color:rgb(var(--primary-500) / 0.5);}
.border-blue-700\/50{border-color:rgb(var(--primary-700) / 0.5);}
.border-blue-800{border-color:rgb(var(--line-strong) / var(--tw-border-opacity, 1));}
.border-cyan-400{border-color:rgb(var(--primary-400) / var(--tw-border-opacity, 1));}
.border-cyan-400\/10{border-color:rgb(var(--primary-400) / 0.1);}
.border-cyan-400\/50{border-color:rgb(var(--primary-400) / 0.5);}
.border-cyan-400\/60{border-color:rgb(var(--primary-400) / 0.6);}
.border-cyan-500{border-color:rgb(var(--primary-500) / var(--tw-border-opacity, 1));}
.border-cyan-500\/10{border-color:rgb(var(--primary-500) / 0.1);}
.border-cyan-500\/15{border-color:rgb(var(--primary-500) / 0.15);}
.border-cyan-500\/20{border-color:rgb(var(--primary-500) / 0.2);}
.border-cyan-500\/30{border-color:rgb(var(--primary-500) / 0.3);}
.border-cyan-500\/40{border-color:rgb(var(--primary-500) / 0.4);}
.border-cyan-500\/50{border-color:rgb(var(--primary-500) / 0.5);}
.border-cyan-500\/60{border-color:rgb(var(--primary-500) / 0.6);}
.border-cyan-600\/50{border-color:rgb(var(--primary-600) / 0.5);}
.border-cyan-700{border-color:rgb(var(--primary-700) / var(--tw-border-opacity, 1));}
.border-cyan-700\/30{border-color:rgb(var(--primary-700) / 0.3);}
.border-cyan-700\/50{border-color:rgb(var(--primary-700) / 0.5);}
.border-cyan-800{border-color:rgb(var(--line-strong) / var(--tw-border-opacity, 1));}
.border-cyan-800\/40{border-color:rgb(var(--line-strong) / 0.4);}
.border-cyan-800\/50{border-color:rgb(var(--line-strong) / 0.5);}
.border-cyan-900{border-color:rgb(var(--line-strong) / var(--tw-border-opacity, 1));}
.border-cyan-900\/30{border-color:rgb(var(--line-strong) / 0.3);}
.border-cyan-900\/40{border-color:rgb(var(--line-strong) / 0.4);}
.border-cyan-900\/50{border-color:rgb(var(--line-strong) / 0.5);}
.border-emerald-500\/30{border-color:rgb(var(--sage-500) / 0.3);}
.border-emerald-500\/40{border-color:rgb(var(--sage-500) / 0.4);}
.border-emerald-800\/40{border-color:rgb(var(--line-strong) / 0.4);}
.border-gray-500\/30{border-color:rgb(var(--line-strong) / 0.3);}
.border-gray-600{border-color:rgb(var(--line-strong) / var(--tw-border-opacity, 1));}
.border-gray-700{border-color:rgb(var(--line) / var(--tw-border-opacity, 1));}
.border-gray-700\/50{border-color:rgb(var(--line) / 0.5);}
.border-gray-800{border-color:rgb(var(--line) / var(--tw-border-opacity, 1));}
.border-green-500{border-color:rgb(var(--sage-500) / var(--tw-border-opacity, 1));}
.border-green-500\/30{border-color:rgb(var(--sage-500) / 0.3);}
.border-green-700\/40{border-color:rgb(var(--sage-700) / 0.4);}
.border-green-700\/50{border-color:rgb(var(--sage-700) / 0.5);}
.border-green-800{border-color:rgb(var(--line-strong) / var(--tw-border-opacity, 1));}
.border-green-900{border-color:rgb(var(--line-strong) / var(--tw-border-opacity, 1));}
.border-orange-500\/30{border-color:rgb(var(--amber-500) / 0.3);}
.border-red-500{border-color:rgb(var(--coral-500) / var(--tw-border-opacity, 1));}
.border-red-500\/30{border-color:rgb(var(--coral-500) / 0.3);}
.border-red-600\/30{border-color:rgb(var(--coral-600) / 0.3);}
.border-red-700\/40{border-color:rgb(var(--coral-700) / 0.4);}
.border-red-700\/50{border-color:rgb(var(--coral-700) / 0.5);}
.border-red-900\/30{border-color:rgb(var(--line-strong) / 0.3);}
.border-rose-500\/20{border-color:rgb(var(--coral-500) / 0.2);}
.border-rose-500\/30{border-color:rgb(var(--coral-500) / 0.3);}
.border-rose-800\/40{border-color:rgb(var(--line-strong) / 0.4);}
.border-white\/10{border-color:rgb(var(--line) / 0.1);}
.border-white\/5{border-color:rgb(var(--line) / 0.05);}
.border-yellow-500\/30{border-color:rgb(var(--amber-500) / 0.3);}
.bg-\[\#111\]{background-color:rgb(var(--surface) / var(--tw-bg-opacity, 1));}
.bg-\[\#161616\]{background-color:rgb(var(--surface) / var(--tw-bg-opacity, 1));}
.bg-\[\#222\]{background-color:rgb(var(--surface-muted) / var(--tw-bg-opacity, 1));}
.bg-\[\#282c34\]{background-color:rgb(var(--surface-muted) / var(--tw-bg-opacity, 1));}
.bg-amber-500{background-color:rgb(var(--amber-500) / var(--tw-bg-opacity, 1));}
.bg-amber-500\/10{background-color:rgb(var(--amber-500) / 0.1);}
.bg-amber-500\/15{background-color:rgb(var(--amber-500) / 0.15);}
.bg-amber-900\/50{background-color:rgb(var(--surface-muted) / 0.5);}
.bg-black{background-color:rgb(var(--surface-overlay) / var(--tw-bg-opacity, 1));}
.bg-black\/30{background-color:rgb(var(--surface-overlay) / 0.3);}
.bg-black\/50{background-color:rgb(var(--surface-overlay) / 0.5);}
.bg-black\/70{background-color:rgb(var(--surface-overlay) / 0.7);}
.bg-black\/90{background-color:rgb(var(--surface-overlay) / 0.9);}
.bg-black\/95{background-color:rgb(var(--surface-overlay) / 0.95);}
.bg-blue-500{background-color:rgb(var(--primary-500) / var(--tw-bg-opacity, 1));}
.bg-blue-500\/10{background-color:rgb(var(--primary-500) / 0.1);}
.bg-blue-600{background-color:rgb(var(--primary-600) / var(--tw-bg-opacity, 1));}
.bg-blue-900\/30{background-color:rgb(var(--surface-muted) / 0.3);}
.bg-blue-900\/50{background-color:rgb(var(--surface-muted) / 0.5);}
.bg-cyan-400{background-color:rgb(var(--primary-400) / var(--tw-bg-opacity, 1));}
.bg-cyan-400\/10{background-color:rgb(var(--primary-400) / 0.1);}
.bg-cyan-400\/80{background-color:rgb(var(--primary-400) / 0.8);}
.bg-cyan-500{background-color:rgb(var(--primary-500) / var(--tw-bg-opacity, 1));}
.bg-cyan-500\/10{background-color:rgb(var(--primary-500) / 0.1);}
.bg-cyan-500\/15{background-color:rgb(var(--primary-500) / 0.15);}
.bg-cyan-500\/20{background-color:rgb(var(--primary-500) / 0.2);}
.bg-cyan-500\/5{background-color:rgb(var(--primary-500) / 0.05);}
.bg-cyan-500\/80{background-color:rgb(var(--primary-500) / 0.8);}
.bg-cyan-600{background-color:rgb(var(--primary-600) / var(--tw-bg-opacity, 1));}
.bg-cyan-900\/10{background-color:rgb(var(--surface-muted) / 0.1);}
.bg-cyan-900\/20{background-color:rgb(var(--surface-muted) / 0.2);}
.bg-cyan-900\/30{background-color:rgb(var(--surface-muted) / 0.3);}
.bg-cyan-900\/40{background-color:rgb(var(--surface-muted) / 0.4);}
.bg-cyan-950\/30{background-color:rgb(var(--surface-canvas) / 0.3);}
.bg-cyan-950\/40{background-color:rgb(var(--surface-canvas) / 0.4);}
.bg-cyan-950\/60{background-color:rgb(var(--surface-canvas) / 0.6);}
.bg-emerald-500{background-color:rgb(var(--sage-500) / var(--tw-bg-opacity, 1));}
.bg-emerald-500\/10{background-color:rgb(var(--sage-500) / 0.1);}
.bg-emerald-500\/15{background-color:rgb(var(--sage-500) / 0.15);}
.bg-emerald-500\/20{background-color:rgb(var(--sage-500) / 0.2);}
.bg-gray-500{background-color:rgb(var(--surface-strong) / var(--tw-bg-opacity, 1));}
.bg-gray-500\/10{background-color:rgb(var(--surface-strong) / 0.1);}
.bg-gray-600{background-color:rgb(var(--surface-strong) / var(--tw-bg-opacity, 1));}
.bg-gray-600\/10{background-color:rgb(var(--surface-strong) / 0.1);}
.bg-gray-700{background-color:rgb(var(--surface-muted) / var(--tw-bg-opacity, 1));}
.bg-gray-800{background-color:rgb(var(--surface-muted) / var(--tw-bg-opacity, 1));}
.bg-gray-800\/50{background-color:rgb(var(--surface-muted) / 0.5);}
.bg-gray-900{background-color:rgb(var(--surface) / var(--tw-bg-opacity, 1));}
.bg-gray-900\/50{background-color:rgb(var(--surface) / 0.5);}
.bg-gray-900\/60{background-color:rgb(var(--surface) / 0.6);}
.bg-gray-900\/80{background-color:rgb(var(--surface) / 0.8);}
.bg-gray-900\/95{background-color:rgb(var(--surface) / 0.95);}
.bg-gray-950{background-color:rgb(var(--surface-canvas) / var(--tw-bg-opacity, 1));}
.bg-green-400{background-color:rgb(var(--sage-400) / var(--tw-bg-opacity, 1));}
.bg-green-500{background-color:rgb(var(--sage-500) / var(--tw-bg-opacity, 1));}
.bg-green-500\/10{background-color:rgb(var(--sage-500) / 0.1);}
.bg-green-500\/20{background-color:rgb(var(--sage-500) / 0.2);}
.bg-green-600{background-color:rgb(var(--sage-600) / var(--tw-bg-opacity, 1));}
.bg-green-900\/30{background-color:rgb(var(--surface-muted) / 0.3);}
.bg-green-900\/50{background-color:rgb(var(--surface-muted) / 0.5);}
.bg-jarvis-cyan\/10{background-color:rgb(var(--sage-400) / 0.1);}
.bg-orange-500\/10{background-color:rgb(var(--amber-500) / 0.1);}
.bg-red-500{background-color:rgb(var(--coral-500) / var(--tw-bg-opacity, 1));}
.bg-red-500\/10{background-color:rgb(var(--coral-500) / 0.1);}
.bg-red-500\/20{background-color:rgb(var(--coral-500) / 0.2);}
.bg-red-600\/20{background-color:rgb(var(--coral-600) / 0.2);}
.bg-red-900\/30{background-color:rgb(var(--surface-muted) / 0.3);}
.bg-red-950\/40{background-color:rgb(var(--surface-canvas) / 0.4);}
.bg-rose-500{background-color:rgb(var(--coral-500) / var(--tw-bg-opacity, 1));}
.bg-rose-500\/10{background-color:rgb(var(--coral-500) / 0.1);}
.bg-rose-500\/15{background-color:rgb(var(--coral-500) / 0.15);}
.bg-rose-500\/30{background-color:rgb(var(--coral-500) / 0.3);}
.bg-white{background-color:rgb(var(--surface) / var(--tw-bg-opacity, 1));}
.bg-white\/10{background-color:rgb(var(--surface) / 0.1);}
.bg-white\/5{background-color:rgb(var(--surface) / 0.05);}
.bg-white\/\[0\.02\]{background-color:rgb(var(--surface) / 0.02);}
.bg-white\/\[0\.03\]{background-color:rgb(var(--surface) / 0.03);}
.bg-yellow-500{background-color:rgb(var(--amber-500) / var(--tw-bg-opacity, 1));}
.bg-yellow-500\/10{background-color:rgb(var(--amber-500) / 0.1);}
.bg-yellow-500\/20{background-color:rgb(var(--amber-500) / 0.2);}
.bg-yellow-500\/5{background-color:rgb(var(--amber-500) / 0.05);}
.from-blue-600{--tw-gradient-from:rgb(var(--primary-600)) var(--tw-gradient-from-position)
  --tw-gradient-to:rgb(var(--primary-600) / 0) var(--tw-gradient-to-position);}
.from-cyan-500{--tw-gradient-from:rgb(var(--primary-500)) var(--tw-gradient-from-position)
  --tw-gradient-to:rgb(var(--primary-500) / 0) var(--tw-gradient-to-position);}
.from-cyan-900\/20{--tw-gradient-from:rgb(var(--surface-muted) / .2) var(--tw-gradient-from-position)
  --tw-gradient-to:rgb(var(--surface-muted) / 0) var(--tw-gradient-to-position);}
.from-gray-900{--tw-gradient-from:rgb(var(--surface)) var(--tw-gradient-from-position)
  --tw-gradient-to:rgb(var(--surface) / 0) var(--tw-gradient-to-position);}
.from-green-600{--tw-gradient-from:rgb(var(--sage-600)) var(--tw-gradient-from-position)
  --tw-gradient-to:rgb(var(--sage-600) / 0) var(--tw-gradient-to-position);}
.from-green-900\/40{--tw-gradient-from:rgb(var(--surface-muted) / .4) var(--tw-gradient-from-position)
  --tw-gradient-to:rgb(var(--surface-muted) / 0) var(--tw-gradient-to-position);}
.from-slate-900\/95{--tw-gradient-from:rgb(var(--surface) / .95) var(--tw-gradient-from-position)
  --tw-gradient-to:rgb(var(--surface) / 0) var(--tw-gradient-to-position);}
.via-cyan-400{--tw-gradient-to:rgb(var(--primary-400) / 0) var(--tw-gradient-to-position);}
.to-blue-500{--tw-gradient-to:rgb(var(--primary-500)) var(--tw-gradient-to-position);}
.to-cyan-700{--tw-gradient-to:rgb(var(--primary-700)) var(--tw-gradient-to-position);}
.to-green-500{--tw-gradient-to:rgb(var(--sage-500)) var(--tw-gradient-to-position);}
.text-amber-300{color:rgb(var(--amber-300) / var(--tw-text-opacity, 1));}
.text-amber-400{color:rgb(var(--amber-400) / var(--tw-text-opacity, 1));}
.text-blue-100{color:rgb(var(--primary-100) / var(--tw-text-opacity, 1));}
.text-blue-200\/60{color:rgb(var(--primary-200) / 0.6);}
.text-blue-200\/80{color:rgb(var(--primary-200) / 0.8);}
.text-blue-300{color:rgb(var(--primary-300) / var(--tw-text-opacity, 1));}
.text-blue-400{color:rgb(var(--primary-400) / var(--tw-text-opacity, 1));}
.text-blue-500{color:rgb(var(--primary-500) / var(--tw-text-opacity, 1));}
.text-cyan-100{color:rgb(var(--primary-100) / var(--tw-text-opacity, 1));}
.text-cyan-100\/80{color:rgb(var(--primary-100) / 0.8);}
.text-cyan-200{color:rgb(var(--primary-200) / var(--tw-text-opacity, 1));}
.text-cyan-200\/60{color:rgb(var(--primary-200) / 0.6);}
.text-cyan-200\/70{color:rgb(var(--primary-200) / 0.7);}
.text-cyan-200\/90{color:rgb(var(--primary-200) / 0.9);}
.text-cyan-300{color:rgb(var(--primary-300) / var(--tw-text-opacity, 1));}
.text-cyan-300\/60{color:rgb(var(--primary-300) / 0.6);}
.text-cyan-300\/70{color:rgb(var(--primary-300) / 0.7);}
.text-cyan-300\/80{color:rgb(var(--primary-300) / 0.8);}
.text-cyan-400{color:rgb(var(--primary-400) / var(--tw-text-opacity, 1));}
.text-cyan-400\/60{color:rgb(var(--primary-400) / 0.6);}
.text-cyan-400\/70{color:rgb(var(--primary-400) / 0.7);}
.text-cyan-50{color:rgb(var(--primary-50) / var(--tw-text-opacity, 1));}
.text-cyan-500{color:rgb(var(--primary-500) / var(--tw-text-opacity, 1));}
.text-cyan-500\/50{color:rgb(var(--primary-500) / 0.5);}
.text-cyan-500\/60{color:rgb(var(--primary-500) / 0.6);}
.text-cyan-500\/70{color:rgb(var(--primary-500) / 0.7);}
.text-cyan-600{color:rgb(var(--primary-600) / var(--tw-text-opacity, 1));}
.text-cyan-600\/80{color:rgb(var(--primary-600) / 0.8);}
.text-cyan-700{color:rgb(var(--primary-700) / var(--tw-text-opacity, 1));}
.text-cyan-700\/60{color:rgb(var(--primary-700) / 0.6);}
.text-cyan-800{color:rgb(var(--primary-800) / var(--tw-text-opacity, 1));}
.text-cyan-800\/40{color:rgb(var(--primary-800) / 0.4);}
.text-emerald-200{color:rgb(var(--sage-200) / var(--tw-text-opacity, 1));}
.text-emerald-300{color:rgb(var(--sage-300) / var(--tw-text-opacity, 1));}
.text-emerald-400{color:rgb(var(--sage-400) / var(--tw-text-opacity, 1));}
.text-emerald-500\/70{color:rgb(var(--sage-500) / 0.7);}
.text-gray-200{color:rgb(var(--content) / var(--tw-text-opacity, 1));}
.text-gray-300{color:rgb(var(--content-secondary) / var(--tw-text-opacity, 1));}
.text-gray-400{color:rgb(var(--content-muted) / var(--tw-text-opacity, 1));}
.text-gray-500{color:rgb(var(--content-muted) / var(--tw-text-opacity, 1));}
.text-gray-600{color:rgb(var(--content-faint) / var(--tw-text-opacity, 1));}
.text-gray-700{color:rgb(var(--content-faint) / var(--tw-text-opacity, 1));}
.text-gray-800{color:rgb(var(--content-faint) / var(--tw-text-opacity, 1));}
.text-green-100{color:rgb(var(--sage-100) / var(--tw-text-opacity, 1));}
.text-green-200{color:rgb(var(--sage-200) / var(--tw-text-opacity, 1));}
.text-green-200\/60{color:rgb(var(--sage-200) / 0.6);}
.text-green-200\/80{color:rgb(var(--sage-200) / 0.8);}
.text-green-300{color:rgb(var(--sage-300) / var(--tw-text-opacity, 1));}
.text-green-400{color:rgb(var(--sage-400) / var(--tw-text-opacity, 1));}
.text-green-400\/80{color:rgb(var(--sage-400) / 0.8);}
.text-green-50{color:rgb(var(--sage-50) / var(--tw-text-opacity, 1));}
.text-green-500{color:rgb(var(--sage-500) / var(--tw-text-opacity, 1));}
.text-green-500\/80{color:rgb(var(--sage-500) / 0.8);}
.text-green-800{color:rgb(var(--sage-800) / var(--tw-text-opacity, 1));}
.text-jarvis-cyan{color:rgb(var(--sage-400) / var(--tw-text-opacity, 1));}
.text-orange-400{color:rgb(var(--amber-400) / var(--tw-text-opacity, 1));}
.text-purple-500\/70{color:rgb(var(--primary-500) / 0.7);}
.text-red-300{color:rgb(var(--coral-300) / var(--tw-text-opacity, 1));}
.text-red-400{color:rgb(var(--coral-400) / var(--tw-text-opacity, 1));}
.text-red-400\/80{color:rgb(var(--coral-400) / 0.8);}
.text-red-500{color:rgb(var(--coral-500) / var(--tw-text-opacity, 1));}
.text-rose-100{color:rgb(var(--coral-100) / var(--tw-text-opacity, 1));}
.text-rose-200{color:rgb(var(--coral-200) / var(--tw-text-opacity, 1));}
.text-rose-200\/80{color:rgb(var(--coral-200) / 0.8);}
.text-rose-300{color:rgb(var(--coral-300) / var(--tw-text-opacity, 1));}
.text-rose-400{color:rgb(var(--coral-400) / var(--tw-text-opacity, 1));}
.text-rose-400\/70{color:rgb(var(--coral-400) / 0.7);}
.text-sky-400{color:rgb(var(--primary-400) / var(--tw-text-opacity, 1));}
.text-white{color:rgb(var(--content-inverted) / var(--tw-text-opacity, 1));}
.text-white\/30{color:rgb(var(--content-inverted) / 0.3);}
.text-white\/50{color:rgb(var(--content-inverted) / 0.5);}
.text-white\/70{color:rgb(var(--content-inverted) / 0.7);}
.text-yellow-300{color:rgb(var(--amber-300) / var(--tw-text-opacity, 1));}
.text-yellow-400{color:rgb(var(--amber-400) / var(--tw-text-opacity, 1));}
.text-yellow-500\/50{color:rgb(var(--amber-500) / 0.5);}
.text-yellow-500\/70{color:rgb(var(--amber-500) / 0.7);}
.placeholder-cyan-700::-moz-placeholder{color:rgb(var(--primary-700) / var(--tw-placeholder-opacity, 1));}
.placeholder-cyan-700::placeholder{color:rgb(var(--primary-700) / var(--tw-placeholder-opacity, 1));}
.placeholder-cyan-800::-moz-placeholder{color:rgb(var(--primary-800) / var(--tw-placeholder-opacity, 1));}
.placeholder-cyan-800::placeholder{color:rgb(var(--primary-800) / var(--tw-placeholder-opacity, 1));}
.placeholder-cyan-800\/50::-moz-placeholder{color:rgb(var(--primary-800) / 0.5);}
.placeholder-cyan-800\/50::placeholder{color:rgb(var(--primary-800) / 0.5);}
.placeholder-gray-400::-moz-placeholder{color:rgb(var(--content-muted) / var(--tw-placeholder-opacity, 1));}
.placeholder-gray-400::placeholder{color:rgb(var(--content-muted) / var(--tw-placeholder-opacity, 1));}
.placeholder-gray-500::-moz-placeholder{color:rgb(var(--content-muted) / var(--tw-placeholder-opacity, 1));}
.placeholder-gray-500::placeholder{color:rgb(var(--content-muted) / var(--tw-placeholder-opacity, 1));}
.placeholder-gray-600::-moz-placeholder{color:rgb(var(--content-faint) / var(--tw-placeholder-opacity, 1));}
.placeholder-gray-600::placeholder{color:rgb(var(--content-faint) / var(--tw-placeholder-opacity, 1));}
.placeholder-white\/30::-moz-placeholder{color:rgb(var(--content-inverted) / 0.3);}
.placeholder-white\/30::placeholder{color:rgb(var(--content-inverted) / 0.3);}
.accent-cyan-400{accent-color:rgb(var(--primary-400));}
.accent-cyan-500{accent-color:rgb(var(--primary-500));}
.shadow-\[0_0_10px_rgba\(34\,197\,94\,0\.3\)\]{--tw-shadow:0 0 10px rgb(var(--sage-500) / .3);}
.shadow-\[0_0_10px_rgba\(34\,211\,238\,0\.3\)\]{--tw-shadow:0 0 10px rgb(var(--primary-400) / .3);}
.shadow-\[0_0_12px_rgba\(6\,182\,212\,0\.25\)\]{--tw-shadow:0 0 12px rgb(var(--primary-500) / .25);}
.shadow-\[0_0_15px_rgba\(239\,68\,68\,0\.3\)\]{--tw-shadow:0 0 15px rgb(var(--coral-500) / .3);}
.shadow-\[0_0_15px_rgba\(34\,197\,94\,0\.3\)\]{--tw-shadow:0 0 15px rgb(var(--sage-500) / .3);}
.shadow-\[0_0_15px_rgba\(34\,211\,238\,0\.2\)\]{--tw-shadow:0 0 15px rgb(var(--primary-400) / .2);}
.shadow-\[0_0_15px_rgba\(34\,211\,238\,0\.8\)\]{--tw-shadow:0 0 15px rgb(var(--primary-400) / .8);}
.shadow-\[0_0_15px_rgba\(6\,182\,212\,0\.15\)\]{--tw-shadow:0 0 15px rgb(var(--primary-500) / .15);}
.shadow-\[0_0_15px_rgba\(6\,182\,212\,0\.3\)\]{--tw-shadow:0 0 15px rgb(var(--primary-500) / .3);}
.shadow-\[0_0_15px_rgba\(6\,182\,212\,0\.4\)\]{--tw-shadow:0 0 15px rgb(var(--primary-500) / .4);}
.shadow-\[0_0_20px_rgba\(34\,211\,238\,0\.1\)\]{--tw-shadow:0 0 20px rgb(var(--primary-400) / .1);}
.shadow-\[0_0_20px_rgba\(6\,182\,212\,0\.1\)\]{--tw-shadow:0 0 20px rgb(var(--primary-500) / .1);}
.shadow-\[0_0_20px_rgba\(6\,182\,212\,0\.15\)\]{--tw-shadow:0 0 20px rgb(var(--primary-500) / .15);}
.shadow-\[0_0_20px_rgba\(6\,182\,212\,0\.2\)\]{--tw-shadow:0 0 20px rgb(var(--primary-500) / .2);}
.shadow-\[0_0_24px_rgba\(6\,182\,212\,0\.18\)\]{--tw-shadow:0 0 24px rgb(var(--primary-500) / .18);}
.shadow-\[0_0_30px_rgba\(34\,197\,94\,0\.3\)\]{--tw-shadow:0 0 30px rgb(var(--sage-500) / .3);}
.shadow-\[0_0_30px_rgba\(6\,182\,212\,0\.2\)\]{--tw-shadow:0 0 30px rgb(var(--primary-500) / .2);}
.shadow-\[0_0_30px_rgba\(74\,222\,128\,0\.1\)\]{--tw-shadow:0 0 30px rgb(var(--sage-400) / .1);}
.shadow-\[0_0_40px_rgba\(6\,182\,212\,0\.15\)\]{--tw-shadow:0 0 40px rgb(var(--primary-500) / .15);}
.shadow-\[0_0_40px_rgba\(6\,182\,212\,0\.18\)\]{--tw-shadow:0 0 40px rgb(var(--primary-500) / .18);}
.shadow-\[0_0_50px_rgba\(34\,197\,94\,0\.4\)\]{--tw-shadow:0 0 50px rgb(var(--sage-500) / .4);}
.shadow-\[0_0_50px_rgba\(34\,211\,238\,0\.2\)\]{--tw-shadow:0 0 50px rgb(var(--primary-400) / .2);}
.shadow-\[0_0_50px_rgba\(6\,182\,212\,0\.3\)\]{--tw-shadow:0 0 50px rgb(var(--primary-500) / .3);}
.shadow-\[0_0_60px_rgba\(34\,211\,238\,0\.3\)\]{--tw-shadow:0 0 60px rgb(var(--primary-400) / .3);}
.ring-green-500{--tw-ring-color:rgb(var(--sage-500) / var(--tw-ring-opacity, 1));}
.ring-yellow-500\/30{--tw-ring-color:rgb(var(--amber-500) / .3);}
body{background-color:rgb(var(--surface-overlay));}
.hud-panel{border-color:rgb(var(--sage-400) / 0.4)
  box-shadow:inset 0 0 30px rgb(var(--sage-400) / 0.05),0 0 20px rgb(var(--sage-400) / 0.15);}
.hud-panel:before,.hud-panel:after{border:2px solid rgb(var(--sage-400));}
.hud-panel-inner:before,.hud-panel-inner:after{border:2px solid rgb(var(--sage-400));}
.selection\:bg-cyan-900 *::-moz-selection{background-color:rgb(var(--surface-muted) / var(--tw-bg-opacity, 1));}
.selection\:bg-cyan-900 *::selection{background-color:rgb(var(--surface-muted) / var(--tw-bg-opacity, 1));}
.selection\:text-white *::-moz-selection{color:rgb(var(--content-inverted) / var(--tw-text-opacity, 1));}
.selection\:text-white *::selection{color:rgb(var(--content-inverted) / var(--tw-text-opacity, 1));}
.selection\:bg-cyan-900::-moz-selection{background-color:rgb(var(--surface-muted) / var(--tw-bg-opacity, 1));}
.selection\:bg-cyan-900::selection{background-color:rgb(var(--surface-muted) / var(--tw-bg-opacity, 1));}
.selection\:text-white::-moz-selection{color:rgb(var(--content-inverted) / var(--tw-text-opacity, 1));}
.selection\:text-white::selection{color:rgb(var(--content-inverted) / var(--tw-text-opacity, 1));}
.file\:bg-cyan-900::file-selector-button{background-color:rgb(var(--surface-muted) / var(--tw-bg-opacity, 1));}
.file\:text-cyan-400::file-selector-button{color:rgb(var(--primary-400) / var(--tw-text-opacity, 1));}
.focus-within\:border-cyan-500\/50:focus-within{border-color:rgb(var(--primary-500) / 0.5);}
.hover\:border-cyan-400:hover{border-color:rgb(var(--primary-400) / var(--tw-border-opacity, 1));}
.hover\:border-cyan-400\/50:hover{border-color:rgb(var(--primary-400) / 0.5);}
.hover\:border-cyan-500:hover{border-color:rgb(var(--primary-500) / var(--tw-border-opacity, 1));}
.hover\:border-cyan-500\/30:hover{border-color:rgb(var(--primary-500) / 0.3);}
.hover\:border-cyan-500\/50:hover{border-color:rgb(var(--primary-500) / 0.5);}
.hover\:border-cyan-600:hover{border-color:rgb(var(--primary-600) / var(--tw-border-opacity, 1));}
.hover\:border-cyan-600\/60:hover{border-color:rgb(var(--primary-600) / 0.6);}
.hover\:border-cyan-700\/50:hover{border-color:rgb(var(--primary-700) / 0.5);}
.hover\:border-cyan-700\/60:hover{border-color:rgb(var(--primary-700) / 0.6);}
.hover\:border-green-500\/30:hover{border-color:rgb(var(--sage-500) / 0.3);}
.hover\:border-red-500:hover{border-color:rgb(var(--coral-500) / var(--tw-border-opacity, 1));}
.hover\:bg-blue-500:hover{background-color:rgb(var(--primary-500) / var(--tw-bg-opacity, 1));}
.hover\:bg-blue-700:hover{background-color:rgb(var(--primary-700) / var(--tw-bg-opacity, 1));}
.hover\:bg-cyan-500:hover{background-color:rgb(var(--primary-500) / var(--tw-bg-opacity, 1));}
.hover\:bg-cyan-500\/10:hover{background-color:rgb(var(--primary-500) / 0.1);}
.hover\:bg-cyan-500\/20:hover{background-color:rgb(var(--primary-500) / 0.2);}
.hover\:bg-cyan-500\/50:hover{background-color:rgb(var(--primary-500) / 0.5);}
.hover\:bg-cyan-700:hover{background-color:rgb(var(--primary-700) / var(--tw-bg-opacity, 1));}
.hover\:bg-cyan-800\/40:hover{background-color:rgb(var(--surface-muted) / 0.4);}
.hover\:bg-cyan-800\/50:hover{background-color:rgb(var(--surface-muted) / 0.5);}
.hover\:bg-cyan-800\/60:hover{background-color:rgb(var(--surface-muted) / 0.6);}
.hover\:bg-cyan-900\/50:hover{background-color:rgb(var(--surface-muted) / 0.5);}
.hover\:bg-cyan-900\/60:hover{background-color:rgb(var(--surface-muted) / 0.6);}
.hover\:bg-emerald-500\/30:hover{background-color:rgb(var(--sage-500) / 0.3);}
.hover\:bg-gray-500:hover{background-color:rgb(var(--surface-strong) / var(--tw-bg-opacity, 1));}
.hover\:bg-gray-600\/20:hover{background-color:rgb(var(--surface-strong) / 0.2);}
.hover\:bg-green-500:hover{background-color:rgb(var(--sage-500) / var(--tw-bg-opacity, 1));}
.hover\:bg-green-500\/20:hover{background-color:rgb(var(--sage-500) / 0.2);}
.hover\:bg-green-500\/30:hover{background-color:rgb(var(--sage-500) / 0.3);}
.hover\:bg-green-500\/50:hover{background-color:rgb(var(--sage-500) / 0.5);}
.hover\:bg-red-500\/20:hover{background-color:rgb(var(--coral-500) / 0.2);}
.hover\:bg-red-500\/50:hover{background-color:rgb(var(--coral-500) / 0.5);}
.hover\:bg-red-600\/40:hover{background-color:rgb(var(--coral-600) / 0.4);}
.hover\:bg-red-800\/40:hover{background-color:rgb(var(--surface-muted) / 0.4);}
.hover\:bg-red-900\/20:hover{background-color:rgb(var(--surface-muted) / 0.2);}
.hover\:bg-red-900\/50:hover{background-color:rgb(var(--surface-muted) / 0.5);}
.hover\:bg-red-900\/60:hover{background-color:rgb(var(--surface-muted) / 0.6);}
.hover\:bg-rose-500\/20:hover{background-color:rgb(var(--coral-500) / 0.2);}
.hover\:bg-rose-500\/50:hover{background-color:rgb(var(--coral-500) / 0.5);}
.hover\:bg-white\/10:hover{background-color:rgb(var(--surface) / 0.1);}
.hover\:bg-white\/5:hover{background-color:rgb(var(--surface) / 0.05);}
.hover\:bg-white\/\[0\.07\]:hover{background-color:rgb(var(--surface) / 0.07);}
.hover\:text-cyan-100:hover{color:rgb(var(--primary-100) / var(--tw-text-opacity, 1));}
.hover\:text-cyan-200:hover{color:rgb(var(--primary-200) / var(--tw-text-opacity, 1));}
.hover\:text-cyan-300:hover{color:rgb(var(--primary-300) / var(--tw-text-opacity, 1));}
.hover\:text-cyan-400:hover{color:rgb(var(--primary-400) / var(--tw-text-opacity, 1));}
.hover\:text-cyan-500:hover{color:rgb(var(--primary-500) / var(--tw-text-opacity, 1));}
.hover\:text-green-400:hover{color:rgb(var(--sage-400) / var(--tw-text-opacity, 1));}
.hover\:text-red-300:hover{color:rgb(var(--coral-300) / var(--tw-text-opacity, 1));}
.hover\:text-red-400:hover{color:rgb(var(--coral-400) / var(--tw-text-opacity, 1));}
.hover\:text-white:hover{color:rgb(var(--content-inverted) / var(--tw-text-opacity, 1));}
.hover\:shadow-\[0_0_30px_rgba\(34\,211\,238\,0\.25\)\]:hover{--tw-shadow:0 0 30px rgb(var(--primary-400) / .25);}
.hover\:file\:bg-cyan-800::file-selector-button:hover{background-color:rgb(var(--surface-muted) / var(--tw-bg-opacity, 1));}
.focus\:border-blue-500:focus{border-color:rgb(var(--primary-500) / var(--tw-border-opacity, 1));}
.focus\:border-cyan-400:focus{border-color:rgb(var(--primary-400) / var(--tw-border-opacity, 1));}
.focus\:border-cyan-500:focus{border-color:rgb(var(--primary-500) / var(--tw-border-opacity, 1));}
.focus\:border-cyan-500\/50:focus{border-color:rgb(var(--primary-500) / 0.5);}
.focus\:border-green-500:focus{border-color:rgb(var(--sage-500) / var(--tw-border-opacity, 1));}
.focus\:border-green-500\/50:focus{border-color:rgb(var(--sage-500) / 0.5);}
.focus\:ring-cyan-400\/50:focus{--tw-ring-color:rgb(var(--primary-400) / .5);}
.disabled\:bg-gray-600:disabled{background-color:rgb(var(--surface-strong) / var(--tw-bg-opacity, 1));}
.disabled\:bg-gray-700:disabled{background-color:rgb(var(--surface-muted) / var(--tw-bg-opacity, 1));}
.disabled\:text-cyan-800:disabled{color:rgb(var(--primary-800) / var(--tw-text-opacity, 1));}
@media (min-width: 640px) {
.\[\&\:\:-webkit-slider-thumb\]\:border-white::-webkit-slider-thumb{border-color:rgb(var(--line) / var(--tw-border-opacity, 1));}
.\[\&\:\:-webkit-slider-thumb\]\:bg-cyan-400::-webkit-slider-thumb{background-color:rgb(var(--primary-400) / var(--tw-bg-opacity, 1));}
}
@keyframes marquee{0%{transform:translate(-100%);}to{transform:translate(250%);}}
@keyframes pulse{50%{opacity:.5;}}
@keyframes spin{to{transform:rotate(360deg);}}
@keyframes fadeIn{0%{opacity:0;}to{opacity:1;}}

/* --- neutres explicites hors classes palette --- */
.text-white{color:rgb(var(--content-inverted))}
.bg-white{background-color:rgb(var(--surface))}
.border-white{border-color:rgb(var(--line))}
.font-mono{font-family:var(--font-mono),monospace}
.font-sans{font-family:var(--font-body),sans-serif}
code,pre,kbd{font-family:var(--font-mono),monospace}
::selection{background:rgb(var(--primary-500) / .25)}
::-webkit-scrollbar{width:9px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:rgb(var(--line-strong));border-radius:5px}
::-webkit-scrollbar-thumb:hover{background:rgb(var(--content-faint))}

/* --- lisibilite mode clair : texte blanc -> contenu sauf sur fonds accent --- */
:root:not(.dark) .text-white{color:rgb(var(--content))}
:root:not(.dark) .bg-cyan-400.text-white,
:root:not(.dark) .bg-cyan-500.text-white,
:root:not(.dark) .bg-cyan-600.text-white,
:root:not(.dark) .bg-cyan-700.text-white,
:root:not(.dark) .bg-cyan-800.text-white,
:root:not(.dark) .bg-sky-400.text-white,
:root:not(.dark) .bg-sky-500.text-white,
:root:not(.dark) .bg-sky-600.text-white,
:root:not(.dark) .bg-sky-700.text-white,
:root:not(.dark) .bg-blue-500.text-white,
:root:not(.dark) .bg-blue-600.text-white,
:root:not(.dark) .bg-blue-700.text-white,
:root:not(.dark) .bg-blue-800.text-white,
:root:not(.dark) .bg-green-400.text-white,
:root:not(.dark) .bg-green-500.text-white,
:root:not(.dark) .bg-green-600.text-white,
:root:not(.dark) .bg-green-800.text-white,
:root:not(.dark) .bg-emerald-500.text-white,
:root:not(.dark) .bg-emerald-800.text-white,
:root:not(.dark) .bg-red-500.text-white,
:root:not(.dark) .bg-red-600.text-white,
:root:not(.dark) .bg-red-800.text-white,
:root:not(.dark) .bg-rose-500.text-white,
:root:not(.dark) .bg-amber-500.text-white,
:root:not(.dark) .bg-yellow-500.text-white,
:root:not(.dark) .bg-orange-500.text-white{color:rgb(var(--content-inverted))}
:root:not(.dark) .bg-cyan-400 .text-white,
:root:not(.dark) .bg-cyan-500 .text-white,
:root:not(.dark) .bg-cyan-600 .text-white,
:root:not(.dark) .bg-cyan-700 .text-white,
:root:not(.dark) .bg-cyan-800 .text-white,
:root:not(.dark) .bg-sky-400 .text-white,
:root:not(.dark) .bg-sky-500 .text-white,
:root:not(.dark) .bg-sky-600 .text-white,
:root:not(.dark) .bg-sky-700 .text-white,
:root:not(.dark) .bg-blue-500 .text-white,
:root:not(.dark) .bg-blue-600 .text-white,
:root:not(.dark) .bg-blue-700 .text-white,
:root:not(.dark) .bg-blue-800 .text-white,
:root:not(.dark) .bg-green-400 .text-white,
:root:not(.dark) .bg-green-500 .text-white,
:root:not(.dark) .bg-green-600 .text-white,
:root:not(.dark) .bg-green-800 .text-white,
:root:not(.dark) .bg-emerald-500 .text-white,
:root:not(.dark) .bg-emerald-800 .text-white,
:root:not(.dark) .bg-red-500 .text-white,
:root:not(.dark) .bg-red-600 .text-white,
:root:not(.dark) .bg-red-800 .text-white,
:root:not(.dark) .bg-rose-500 .text-white,
:root:not(.dark) .bg-amber-500 .text-white,
:root:not(.dark) .bg-yellow-500 .text-white,
:root:not(.dark) .bg-orange-500 .text-white{color:rgb(var(--content-inverted))}

/* --- fenetre OpenSwarm (overlay harnais) --- */
#openswarm-overlay{background:rgb(var(--surface-overlay) / .55)}
#openswarm-window{background:rgb(var(--surface));border-color:rgb(var(--line));box-shadow:0 16px 48px rgb(var(--surface-overlay) / .6)}
#openswarm-titlebar{background:rgb(var(--surface-muted));border-bottom:1px solid rgb(var(--line))}
#openswarm-title{color:rgb(var(--content-secondary))}
#openswarm-controls button{color:rgb(var(--content-secondary))}
#openswarm-controls button:hover{background:rgb(var(--surface-hover))}
#openswarm-frame{background:rgb(var(--surface))}
