/* panel-ai-kit — la console de zeconsole, intégrée aux panels. Palettes « néon » (défaut) et
   « kawaii », reprises de zeconsole/src/theme.rs. Aucune règle en ligne (CSP style-src 'self'). */
.aik {
  --aik-cyan: #00e5ff; --aik-sky: #7dd3fc; --aik-violet: #a78bfa; --aik-magenta: #ff3cc7;
  --aik-lime: #7cff9b; --aik-amber: #ffc857; --aik-red: #ff4d6d; --aik-bright: #f4f7ff;
  --aik-text: #c9d4e8; --aik-muted: #8a97b5; --aik-dim: #5a6682; --aik-faint: #333d57;
  --aik-ink: #070b16; --aik-panel: #141b2e; --aik-panel-hi: #222c4a; --aik-code: #ffb86b;
  --aik-font: "JetBrains Mono Variable", "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  display: flex; flex-direction: column; height: min(78vh, 900px); min-height: 420px;
  background: var(--aik-ink); color: var(--aik-text); font-family: var(--aik-font); font-size: 13px; line-height: 1.55;
  border: 1px solid var(--aik-faint); border-radius: 10px; overflow: hidden;
  box-shadow: 0 0 0 1px rgba(0, 229, 255, 0.06), 0 10px 40px rgba(0, 0, 0, 0.35);
}
.aik[data-theme="kawaii"] {
  --aik-cyan: #ff9ec7; --aik-sky: #a8d8ff; --aik-violet: #c9a7ff; --aik-magenta: #ff6fae;
  --aik-lime: #9bf0c4; --aik-amber: #ffc46b; --aik-red: #ff6b81; --aik-bright: #fff7fb;
  --aik-text: #ecdff0; --aik-muted: #b8a5c4; --aik-dim: #8a7898; --aik-faint: #4a3d58;
  --aik-ink: #1c1524; --aik-panel: #2a2035; --aik-panel-hi: #3a2d4a; --aik-code: #ffd6a5;
}
.aik__bar { display: flex; align-items: center; gap: 10px; padding: 8px 12px; background: var(--aik-panel); border-bottom: 1px solid var(--aik-faint); }
.aik__brand { font-weight: 700; letter-spacing: 0.04em; background: linear-gradient(90deg, var(--aik-cyan), var(--aik-violet), var(--aik-magenta)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.aik__tail { height: 2px; background: linear-gradient(90deg, var(--aik-cyan), var(--aik-violet), var(--aik-magenta), transparent); opacity: 0.7; }
.aik[data-theme="kawaii"] .aik__tail { height: 4px; background: repeating-linear-gradient(90deg, #f3ece0 0 14px, #3b3540 14px 28px); opacity: 0.85; }
.aik__spacer { flex: 1; }
.aik__pill { border: 1px solid var(--aik-faint); background: transparent; color: var(--aik-muted); border-radius: 999px; padding: 1px 10px; font: inherit; font-size: 12px; cursor: pointer; }
.aik__pill:hover { color: var(--aik-bright); border-color: var(--aik-dim); }
.aik__pill[data-mode="prudent"] { color: var(--aik-lime); border-color: var(--aik-lime); }
.aik__pill[data-mode="auto"] { color: var(--aik-cyan); border-color: var(--aik-cyan); }
.aik__pill[data-mode="libre"] { color: var(--aik-amber); border-color: var(--aik-amber); }
.aik__log { flex: 1; overflow-y: auto; padding: 12px 16px; scroll-behavior: smooth; }
.aik__log:focus { outline: none; }
.aik__welcome { color: var(--aik-muted); }
.aik__welcome strong { color: var(--aik-cyan); }
.aik__user { margin: 14px 0 6px; color: var(--aik-bright); white-space: pre-wrap; }
.aik__user::before { content: "❯ "; color: var(--aik-magenta); font-weight: 700; }
.aik__answer { margin: 4px 0 8px; }
.aik__answer p { margin: 0 0 8px; }
.aik__answer code { color: var(--aik-code); background: var(--aik-panel); padding: 0 4px; border-radius: 3px; }
.aik__answer pre { background: var(--aik-panel); border-left: 2px solid var(--aik-violet); padding: 8px 10px; overflow-x: auto; color: var(--aik-text); }
.aik__answer h2, .aik__answer h3, .aik__answer h4 { color: var(--aik-cyan); font-size: 13px; margin: 10px 0 4px; }
.aik__answer strong { color: var(--aik-bright); }
.aik__answer a { color: var(--aik-sky); }
.aik__answer table { border-collapse: collapse; margin: 6px 0; }
.aik__answer th, .aik__answer td { border: 1px solid var(--aik-faint); padding: 2px 8px; }
.aik__think { margin: 4px 0; color: var(--aik-dim); font-style: italic; white-space: pre-wrap; border-left: 2px solid var(--aik-faint); padding-left: 8px; }
.aik__think > summary { cursor: pointer; font-style: normal; color: var(--aik-dim); }
.aik__tool { margin: 6px 0 0; color: var(--aik-sky); display: flex; gap: 8px; align-items: baseline; }
.aik__tool::before { content: "▸"; color: var(--aik-violet); }
.aik__risk { font-size: 11px; border-radius: 4px; padding: 0 6px; border: 1px solid currentColor; }
.aik__risk--read { color: var(--aik-lime); }
.aik__risk--modify { color: var(--aik-amber); }
.aik__risk--danger { color: var(--aik-red); }
.aik__result { margin: 2px 0 6px 18px; color: var(--aik-muted); }
.aik__result > summary { cursor: pointer; list-style: none; }
.aik__result > summary::before { content: "└ "; color: var(--aik-faint); }
.aik__result--ko > summary { color: var(--aik-red); }
.aik__result pre { margin: 4px 0; max-height: 360px; overflow: auto; white-space: pre-wrap; color: var(--aik-text); background: var(--aik-panel); padding: 6px 8px; border-radius: 4px; }
.aik__confirm { margin: 10px 0; padding: 10px 12px; border: 1px solid var(--aik-amber); border-radius: 8px; background: rgba(255, 200, 87, 0.06); }
.aik__confirm--danger { border-color: var(--aik-red); background: rgba(255, 77, 109, 0.07); }
.aik__confirm-title { color: var(--aik-amber); font-weight: 700; margin-bottom: 6px; }
.aik__confirm--danger .aik__confirm-title { color: var(--aik-red); }
.aik__confirm code { color: var(--aik-bright); }
.aik__keys { display: flex; gap: 8px; margin-top: 8px; flex-wrap: wrap; }
.aik__key { font: inherit; font-size: 12px; cursor: pointer; border-radius: 6px; padding: 3px 10px; border: 1px solid var(--aik-faint); background: var(--aik-panel-hi); color: var(--aik-bright); }
.aik__key kbd { color: var(--aik-cyan); font-family: inherit; font-weight: 700; margin-right: 4px; }
.aik__key--yes { border-color: var(--aik-lime); }
.aik__key--no { border-color: var(--aik-red); }
.aik__edit { width: 100%; min-height: 90px; margin-top: 8px; font: inherit; background: var(--aik-ink); color: var(--aik-text); border: 1px solid var(--aik-faint); border-radius: 6px; padding: 6px; }
.aik__decision { margin: 2px 0 6px 18px; font-size: 12px; }
.aik__decision--yes { color: var(--aik-lime); }
.aik__decision--no { color: var(--aik-red); }
.aik__error { margin: 8px 0; color: var(--aik-red); }
.aik__error::before { content: "✗ "; }
.aik__busy { color: var(--aik-violet); margin: 6px 0; }
.aik__busy::after { content: "▍"; animation: aik-blink 1s steps(1) infinite; }
@keyframes aik-blink { 50% { opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .aik__busy::after { animation: none; } .aik__log { scroll-behavior: auto; } }
.aik__menu { margin: 0 12px; background: var(--aik-panel); border: 1px solid var(--aik-faint); border-radius: 8px; max-height: 220px; overflow-y: auto; }
.aik__menu div { padding: 3px 10px; cursor: pointer; display: flex; gap: 12px; }
.aik__menu div[aria-selected="true"] { background: var(--aik-panel-hi); color: var(--aik-bright); }
.aik__menu b { color: var(--aik-cyan); font-weight: 600; min-width: 120px; }
.aik__menu span { color: var(--aik-muted); }
.aik__input { display: flex; gap: 8px; padding: 10px 12px; border-top: 1px solid var(--aik-faint); background: var(--aik-panel); }
.aik__input::before { content: "❯"; color: var(--aik-magenta); font-weight: 700; padding-top: 4px; }
.aik__input textarea { flex: 1; resize: none; min-height: 22px; max-height: 160px; background: transparent; border: 0; outline: none; color: var(--aik-bright); font: inherit; }
.aik__status { display: flex; gap: 14px; padding: 4px 12px; font-size: 11px; color: var(--aik-dim); background: var(--aik-ink); border-top: 1px solid var(--aik-faint); }
.aik__status b { color: var(--aik-muted); font-weight: 600; }
