/* =============================================================
   ARGUS · C-LAB console additions
   Task filter chips · trust chips · tile states · command palette
   Extends desk.css, same tokens. No em dashes in this file.
   ============================================================= */

.hub-main { min-width: 0; }

/* ---------------- task filter chips ---------------- */
.taskbar { display: flex; flex-wrap: wrap; gap: 8px; margin: 2px 0 6px; }
.chip {
  font-family: "IBM Plex Mono", monospace; font-size: 10.5px; letter-spacing: 0.1em;
  text-transform: uppercase; color: var(--mid); background: var(--bg-2);
  border: 1px solid var(--line); border-radius: 999px; padding: 6px 13px;
  cursor: pointer; transition: color .15s, border-color .15s, background .15s;
}
.chip:hover { color: var(--fg); border-color: var(--mid); }
.chip.on { color: var(--accent); border-color: var(--accent); background: var(--accent-soft); }

/* ---------------- tile extensions ---------------- */
.tile[data-hide] { display: none; }
.section-h[data-hide] { display: none; }

.tile .vr { font-family: "IBM Plex Mono", monospace; font-size: 9.5px; color: var(--dim); font-weight: 400; letter-spacing: 0.05em; }

.tile.next { border-style: solid; border-color: oklch(0.83 0.13 var(--accent-h) / 0.35); opacity: 1; }
.tile.next .ti { color: var(--accent-2); }
.tile .st.next { color: var(--accent-2); }

.trust { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 2px; }
.trust .tchip {
  font-family: "IBM Plex Mono", monospace; font-size: 9px; letter-spacing: 0.06em;
  text-transform: uppercase; color: var(--mid); border: 1px solid var(--line-soft);
  background: var(--bg-3); border-radius: 3px; padding: 2px 6px; white-space: nowrap;
}
.tile.live .trust .tchip, .tile.next .trust .tchip { color: var(--fg-2); }

.tile.flash { border-color: var(--accent); box-shadow: 0 0 0 1px var(--accent), 0 0 24px var(--accent-glow); }

/* ---------------- footer line ---------------- */
.console-foot {
  margin: 40px 0 0; font-family: "IBM Plex Mono", monospace; font-size: 11px;
  color: var(--dim); letter-spacing: 0.04em;
}
.console-foot a { color: var(--mid); border-bottom: 1px solid var(--line); }
.console-foot a:hover { color: var(--accent); border-color: var(--accent); }

/* ---------------- rail search button ---------------- */
button.rail-status {
  background: none; border: 1px solid var(--line); border-radius: 6px; padding: 9px 11px;
  cursor: pointer; transition: border-color .15s, color .15s; text-align: left;
}
button.rail-status:hover { border-color: var(--accent); color: var(--accent); }
button.rail-status svg { width: 14px; height: 14px; }

/* ---------------- command palette ---------------- */
.palette {
  position: fixed; inset: 0; z-index: 90; display: flex; align-items: flex-start; justify-content: center;
  padding: 12vh 18px 18px; background: oklch(0.1 0.005 240 / 0.62); backdrop-filter: blur(4px);
}
.palette[hidden] { display: none; }
.palette-box {
  width: 100%; max-width: 560px; border: 1px solid var(--line); border-radius: 10px;
  background: var(--bg-2); box-shadow: 0 24px 80px oklch(0 0 0 / 0.55), 0 0 0 1px oklch(0.83 0.13 var(--accent-h) / 0.15);
  overflow: hidden; animation: palIn .18s var(--ease);
}
@keyframes palIn { from { opacity: 0; transform: translateY(-8px) scale(.985); } to { opacity: 1; transform: none; } }
.palette-in {
  display: flex; align-items: center; gap: 12px; padding: 14px 16px;
  border-bottom: 1px solid var(--line-soft);
}
.palette-in svg { width: 17px; height: 17px; color: var(--accent); flex: 0 0 auto; }
.palette-in input {
  flex: 1; background: transparent; border: 0; outline: 0; color: var(--fg);
  font-family: "Space Grotesk", sans-serif; font-size: 15px;
}
.palette-in input::placeholder { color: var(--dim); }
.palette-in kbd {
  font-family: "IBM Plex Mono", monospace; font-size: 9.5px; color: var(--dim);
  border: 1px solid var(--line); border-radius: 4px; padding: 3px 6px; letter-spacing: 0.08em;
}
.palette-list { list-style: none; margin: 0; padding: 8px; max-height: 46vh; overflow-y: auto; }
.palette-list li {
  display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 6px;
  cursor: pointer; font-size: 14px; color: var(--fg-2); border: 1px solid transparent;
}
.palette-list li svg { width: 16px; height: 16px; color: var(--mid); flex: 0 0 auto; }
.palette-list li .k { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.palette-list li .d { font-family: "IBM Plex Mono", monospace; font-size: 10px; color: var(--dim); letter-spacing: 0.05em; }
.palette-list li.sel { background: var(--accent-soft); color: var(--fg); border-color: oklch(0.83 0.13 var(--accent-h) / 0.4); }
.palette-list li.sel svg { color: var(--accent); }
.palette-list .empty { color: var(--dim); cursor: default; font-family: "IBM Plex Mono", monospace; font-size: 12px; }
.palette-list .empty:hover { background: none; }

@media (prefers-reduced-motion: reduce) {
  .palette-box { animation: none; }
}
