*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  /* Surfaces */
  --bg:      #0d0907;
  --surface: #15110d;
  --surface2:#1d1712;
  --surface3:#281f18;
  --card-bg: #18120e;

  /* Borders */
  --border:  #4a3524;
  --border2: #7f5a33;

  /* Text */
  --text:       #e8dcc8;
  --heading:    #f2e7d4;
  --text-soft:  #c8b59b;
  --muted:      #b59f86;
  --text-muted: #b59f86;
  --dim:        #88745e;

  /* Accent */
  --accent:      #bf5e1e;
  --accent-rgb:  191, 94, 30;
  --accent-dim:  rgba(191, 94, 30, 0.16);
  --accent2:     #b88935;
  --accent2-rgb: 184, 137, 53;

  /* Semantic colours */
  --maple:  #8f3d22;
  --sage:   #7d8960;
  --yellow: #b98a2f;
  --red:    #b14b2d;

  /* Extended semantic — greens */
  --green:     #7d8960;
  --green-dim: #8f9a72;

  /* Extended semantic — reds */
  --red-soft:   #c66c51;
  --red-bright: #cf704d;
  --red-crit:   #df7f4f;

  /* Button tokens */
  --btn-text:  #f7efe2;
  --btn-hover: #a95118;

  /* Terminal/log surfaces */
  --terminal-bg: #0e0b09;
  --log-bg:      #0b0806;
  --log-text:    #ccb07a;
  --log-date:    #3d3023;
  --log-time:    #776046;
  --log-info:    #59634a;
  --log-debug:   #394133;

  /* Shape */
  --radius:    6px;
  --radius-lg: 12px;

  /* Typography */
  --font: 'Geist', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
  --mono: 'Geist Mono', 'JetBrains Mono', 'Fira Code', ui-monospace, monospace;

  /* Motion */
  --ease:   cubic-bezier(0.16, 1, 0.3, 1);
  --t:      150ms var(--ease);
  --t-fast: 90ms ease;

  /* Shadows */
  --shadow-sm: 0 4px 12px rgba(7, 5, 4, 0.34);
  --shadow:    0 10px 28px rgba(7, 5, 4, 0.42), 0 2px 6px rgba(7, 5, 4, 0.28);
  --shadow-lg: 0 18px 44px rgba(7, 5, 4, 0.52), 0 4px 10px rgba(7, 5, 4, 0.26);

  /* Z-index scale */
  --z-base:    1;
  --z-overlay: 90;
  --z-nav:     95;
  --z-header:  100;
}

/* ── Base ─────────────────────────────────────────────────────── */
html {
  background-color: var(--bg);
}

body {
  background:
    radial-gradient(circle at top, rgba(207, 106, 34, 0.12), transparent 30%),
    radial-gradient(circle at 18% 14%, rgba(199, 154, 59, 0.08), transparent 18%),
    linear-gradient(180deg, #17120f 0%, var(--bg) 52%, #0d0a08 100%);
  background-color: var(--bg);
  color: var(--text);
  font-family: var(--font);
  font-size: 14.5px;
  line-height: 1.6;
  min-height: 100dvh;
  font-feature-settings: 'cv11', 'ss01', 'ss03';
  letter-spacing: -0.005em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color-scheme: dark;
}

a { color: var(--accent); text-decoration: none; }
a:hover { text-decoration: underline; }
a:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; border-radius: 2px; }

/* ── Layout ───────────────────────────────────────────────────── */
.layout {
  display: flex;
  min-height: 100dvh;
  position: relative;
  z-index: var(--z-base);
}
.layout--sacred {
  background:
    linear-gradient(90deg, rgba(10, 8, 6, 0.72), rgba(10, 8, 6, 0) 22%),
    linear-gradient(180deg, rgba(242, 231, 212, 0.02), rgba(242, 231, 212, 0));
}
.main {
  flex: 1;
  min-width: 0;
  padding: 32px 36px;
  overflow-x: hidden;
  position: relative;
  background:
    linear-gradient(180deg, rgba(26, 22, 18, 0.84), rgba(18, 15, 11, 0.68));
  box-shadow:
    inset 1px 0 0 rgba(242, 231, 212, 0.04),
    inset 0 1px 0 rgba(242, 231, 212, 0.03);
}

/* ── HTMX scan line ───────────────────────────────────────────── */
.htmx-scanner {
  position: absolute;
  left: 0; right: 0; top: 0;
  height: 1px;
  background: linear-gradient(90deg,
    transparent 5%,
    var(--accent) 30%,
    var(--accent2) 50%,
    var(--accent) 70%,
    transparent 95%);
  box-shadow: 0 0 12px rgba(212,105,30,0.55), 0 0 32px rgba(212,105,30,0.18);
  animation: htmx-scan 0.55s var(--ease) forwards;
  pointer-events: none;
  z-index: 5;
}
@keyframes htmx-scan {
  0%   { transform: translateY(0);     opacity: 1; }
  60%  { opacity: 0.7; }
  100% { transform: translateY(600px); opacity: 0; }
}

/* ── Sidebar ──────────────────────────────────────────────────── */
.sidebar {
  width: 260px;
  background:
    radial-gradient(circle at top, rgba(207, 106, 34, 0.10), transparent 34%),
    linear-gradient(180deg, rgba(34, 28, 22, 0.98), rgba(18, 15, 11, 0.98));
  border-right: 1px solid var(--border2);
  padding: 24px 0 0;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  height: 100vh;
  overflow-y: auto;
  overscroll-behavior: contain;
  box-shadow: inset -1px 0 0 rgba(242, 231, 212, 0.04);
}
.sidebar-brand {
  padding: 0 20px 20px;
  border-bottom: 1px solid rgba(106, 83, 56, 0.72);
  margin-bottom: 12px;
  font-size: 11.5px;
  color: var(--text-soft);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.sidebar-brand strong {
  display: block;
  font-size: 15.5px;
  font-weight: 650;
  color: var(--heading);
  letter-spacing: -0.01em;
  text-transform: none;
  margin-bottom: 6px;
}
.sidebar-ornament { display: block; width: 84px; height: 84px; margin: 0 auto 14px; opacity: 0.98; image-rendering: auto; object-fit: contain; filter: drop-shadow(0 12px 22px rgba(0, 0, 0, 0.45)); }
.section-divider { display: block; width: 100%; max-width: 480px; margin: 32px auto; opacity: 0.72; }
.nav-link {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 20px;
  color: var(--text-soft);
  font-size: 13.5px;
  font-weight: 400;
  letter-spacing: -0.005em;
  border-left: 3px solid transparent;
  border-top: 1px solid transparent;
  border-bottom: 1px solid transparent;
  transition: color var(--t-fast), background var(--t-fast), border-color var(--t-fast), box-shadow var(--t-fast);
}
.nav-link:hover {
  color: var(--text);
  background: rgba(191, 94, 30, 0.08);
  border-color: rgba(127, 90, 51, 0.32);
  text-decoration: none;
}
.nav-link.active {
  color: var(--heading);
  border-left-color: rgba(199, 154, 59, 0.9);
  border-top-color: rgba(199, 154, 59, 0.28);
  border-bottom-color: rgba(199, 154, 59, 0.28);
  background: rgba(191, 94, 30, 0.14);
  box-shadow: 0 0 0 1px rgba(199, 154, 59, 0.2), inset 0 0 0 1px rgba(0, 0, 0, 0.36), inset 0 0 24px rgba(191, 94, 30, 0.16);
  font-weight: 600;
}
.nav-link img {
  width: 40px;
  height: 40px;
  opacity: 0.98;
  flex-shrink: 0;
  object-fit: contain;
  transition: opacity var(--t-fast), filter var(--t-fast);
  filter: none;
}
.nav-link:hover img {
  opacity: 1;
  filter: brightness(1.03);
}
.nav-link.active img {
  opacity: 1;
  filter: brightness(1.05);
}
.nav-group-header {
  font-size: 10.5px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--dim);
  padding: 16px 20px 6px;
  user-select: none;
}
.nav-group-header:first-of-type { padding-top: 4px; }
.nav-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  margin-left: auto;
  padding: 0 6px;
  border-radius: 9999px;
  background: var(--accent);
  color: var(--btn-text);
  font-size: 11px;
  font-weight: 600;
  line-height: 1;
}
.nav-badge-warn { background: var(--red); }
.nav-badge + .nav-badge { margin-left: 4px; }
.nav-badge-sync {
  font-size: 10px;
  padding: 1px 6px;
  border: 1px solid rgba(199, 154, 59, 0.24);
  background: rgba(242, 231, 212, 0.04);
  color: var(--muted);
}
.nav-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-left: auto;
  border-radius: 50%;
  background: var(--accent);
  flex-shrink: 0;
}
.nav-dot-active {
  box-shadow: 0 0 0 0 rgba(var(--accent-rgb), 0.6);
  animation: nav-dot-pulse 2s ease-in-out infinite;
}
@keyframes nav-dot-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(var(--accent-rgb), 0.6); }
  50%      { box-shadow: 0 0 0 6px rgba(var(--accent-rgb), 0); }
}
.dash-footer {
  position: fixed;
  right: 12px;
  bottom: 12px;
  z-index: 50;
  padding: 6px 12px;
  font-family: var(--font-mono, monospace);
  font-size: 11px;
  font-weight: 500;
  color: var(--muted);
  background: rgba(18, 15, 9, 0.85);
  backdrop-filter: blur(6px);
  border: 1px solid var(--border);
  border-radius: 6px;
  pointer-events: none;
  user-select: none;
}
.dash-footer--stale {
  color: var(--red-bright);
  border-color: var(--red);
  animation: dash-footer-pulse 2s ease-in-out infinite;
}
@keyframes dash-footer-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.6; }
}
.cron-tabs { display: flex; flex-direction: column; gap: 12px; }
.cron-tab-bar {
  display: flex;
  gap: 4px;
  border-bottom: 1px solid var(--border);
  padding-bottom: 0;
}
.cron-tab {
  background: transparent;
  border: none;
  color: var(--text-soft);
  font-family: inherit;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: -0.005em;
  padding: 8px 14px;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  cursor: pointer;
  transition: color var(--t-fast), border-color var(--t-fast);
}
.cron-tab:hover { color: var(--text); }
.cron-tab--active {
  color: var(--accent);
  border-bottom-color: var(--accent);
}
.project-group { margin-bottom: 24px; }
.project-group-header {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  background: transparent;
  border: none;
  border-bottom: 1px solid var(--border);
  padding: 8px 4px;
  margin-bottom: 12px;
  color: var(--text);
  font-family: inherit;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  cursor: pointer;
  transition: color var(--t-fast);
}
.project-group-header:hover { color: var(--accent); }
.project-group-toggle {
  display: inline-block;
  width: 14px;
  color: var(--muted);
  font-size: 12px;
}
.project-group-name { flex: 1; text-align: left; }
.project-group-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 18px;
  padding: 0 6px;
  border-radius: 9999px;
  background: var(--surface3);
  color: var(--text-soft);
  font-size: 11px;
  font-weight: 600;
  text-transform: none;
  letter-spacing: 0;
}
.project-group-grid { padding-top: 4px; }
.kanban {
  display: grid;
  grid-template-columns: repeat(6, minmax(170px, 1fr));
  gap: 10px;
  margin-bottom: 1.5em;
  overflow-x: auto;
  padding-bottom: 4px;
}
.kanban-col {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 10px;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 6px;
  text-decoration: none;
  color: inherit;
  transition: border-color var(--t-fast), background var(--t-fast);
  min-height: 130px;
}
a.kanban-col:hover { border-color: var(--accent); background: var(--surface2); text-decoration: none; }
.kanban-col--accent {
  border-color: rgba(var(--accent-rgb), 0.5);
  background: var(--accent-dim);
}
.kanban-col-head {
  display: flex;
  align-items: center;
  gap: 8px;
  padding-bottom: 6px;
  border-bottom: 1px solid var(--border);
  margin-bottom: 2px;
}
.kanban-col-head .kanban-col-count { margin-left: auto; }
.kanban-col-title {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: var(--text-soft);
}
.kanban-col-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 18px;
  padding: 0 6px;
  border-radius: 9999px;
  background: var(--surface3);
  color: var(--text-soft);
  font-size: 11px;
  font-weight: 600;
}
.kanban-col--accent .kanban-col-count { background: var(--accent); color: var(--btn-text); }
.kanban-card {
  padding: 6px 8px;
  background: var(--surface2);
  border-radius: 4px;
  font-size: 12px;
  line-height: 1.3;
}
.kanban-card--accent {
  background: rgba(var(--accent-rgb), 0.18);
  border-left: 2px solid var(--accent);
}
.kanban-card-name { font-weight: 500; color: var(--text); }
.kanban-card-meta {
  font-size: 10.5px;
  color: var(--muted);
  margin-top: 2px;
}
.kanban-empty {
  padding: 8px;
  font-size: 11px;
  font-style: italic;
  color: var(--dim);
  text-align: center;
}
@media (max-width: 900px) {
  .kanban {
    grid-template-columns: repeat(3, minmax(160px, 1fr));
  }
}
@media (max-width: 600px) {
  .kanban {
    grid-template-columns: 1fr 1fr;
  }
}
.sidebar-logout {
  margin-top: auto;
  padding: 14px 20px;
  border-top: 1px solid rgba(106, 83, 56, 0.72);
  font-size: 12px;
  color: var(--muted);
  background: linear-gradient(180deg, rgba(18, 15, 11, 0), rgba(18, 15, 11, 0.44));
}
.sidebar-logout a { color: var(--muted); transition: color var(--t-fast); }
.sidebar-logout a:hover { color: var(--text); text-decoration: none; }

/* ── Page header ──────────────────────────────────────────────── */
.page-header { margin-bottom: 28px; }
.page-heading { display: flex; align-items: center; gap: 18px; }
.page-icon {
  width: 96px;
  height: 96px;
  flex-shrink: 0;
  filter: none;
}
.kanban-col-glyph { width: 22px; height: 22px; vertical-align: middle; margin-right: 6px; opacity: 0.85; }
.kanban-col:hover .kanban-col-glyph { opacity: 1; }
.empty-icon {
  width: 96px;
  height: 96px;
  opacity: 0.78;
  display: block;
  margin: 24px auto 12px;
  filter: none;
}
.page-header h1 {
  font-size: 28px;
  font-weight: 600;
  color: var(--heading);
  letter-spacing: -0.025em;
  line-height: 1.15;
}
.page-header .subtitle {
  color: var(--text-soft);
  font-size: 13px;
  margin-top: 4px;
  letter-spacing: -0.005em;
}
.page-heading-actions {
  display: flex;
  align-items: flex-start;
  padding-top: 0.25rem;
}

/* ── Cards ────────────────────────────────────────────────────── */
.card {
  background: linear-gradient(180deg, rgba(26, 20, 15, 0.98), rgba(17, 13, 10, 0.99));
  border: 1px solid rgba(127, 90, 51, 0.72);
  border-radius: var(--radius);
  padding: 18px;
  margin-bottom: 12px;
  box-shadow:
    var(--shadow-sm),
    inset 0 1px 0 rgba(242, 231, 212, 0.04),
    inset 0 0 0 1px rgba(0, 0, 0, 0.34);
  transition: border-color var(--t), box-shadow var(--t);
}
.card:hover {
  border-color: rgba(199, 154, 59, 0.66);
  box-shadow:
    var(--shadow),
    inset 0 1px 0 rgba(242, 231, 212, 0.06),
    inset 0 0 0 1px rgba(191, 94, 30, 0.14);
}
.card-title {
  font-size: 15.5px;
  font-weight: 600;
  color: var(--heading);
  letter-spacing: -0.015em;
  margin-bottom: 6px;
}
.card-meta   { font-size: 13px; color: var(--text-soft); line-height: 1.5; }
.card-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; flex-wrap: wrap; }

/* Project list: split semantic copy from secondary meta — descriptions are content, not chrome */
.card-category {
  font-size: 11px;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 500;
  margin-bottom: 4px;
}
.card-description {
  font-size: 13.5px;
  color: var(--text-soft);
  line-height: 1.5;
  margin-top: 6px;
  max-width: 65ch;
}
.card-focus {
  font-size: 13px;
  color: var(--accent2);
  margin-top: 8px;
  line-height: 1.5;
}
.card-next   { font-size: 13px; color: var(--text-soft); margin-top: 8px; line-height: 1.5; }
.card-next strong { color: var(--accent); font-weight: 600; }
.card-note   { font-size: 13px; color: var(--text-soft); margin-top: 8px; line-height: 1.55; }
.card--has-blockers { border-color: rgba(232,184,75,0.28); }
.card--unresolved   { opacity: 0.6; }
.card--stale        { opacity: 0.7; }
.card-preview { max-height: 5rem; overflow: hidden; }

/* ── Shared data surfaces ─────────────────────────────────────── */
.stats-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 12px;
  margin-bottom: 24px;
}
.sacred-stats { align-items: stretch; }
.stats-chip {
  background: linear-gradient(180deg, rgba(34, 28, 22, 0.96), rgba(24, 19, 15, 0.98));
  border: 1px solid rgba(106, 83, 56, 0.72);
  border-radius: var(--radius);
  padding: 14px 16px;
  box-shadow:
    var(--shadow-sm),
    inset 0 1px 0 rgba(242, 231, 212, 0.05),
    inset 0 0 0 1px rgba(18, 15, 11, 0.24);
}
.stats-chip__label {
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 6px;
}
.stats-chip__value {
  font-size: 1.02rem;
  font-weight: 600;
  letter-spacing: -0.015em;
  color: var(--heading);
}
.card--featured {
  box-shadow:
    var(--shadow),
    inset 0 1px 0 rgba(242, 231, 212, 0.06),
    inset 0 0 0 1px rgba(18, 15, 11, 0.28);
}
.card--warning {
  border-left: 3px solid var(--accent2);
  background:
    linear-gradient(180deg, rgba(199, 154, 59, 0.12), rgba(34, 28, 22, 0.95) 22%, rgba(24, 19, 15, 0.98) 100%);
}
.approval-stack { display: flex; flex-direction: column; gap: 16px; }
.approval-item__title {
  margin: 0;
  font-size: 15px;
  color: var(--heading);
}
.approval-item__body {
  margin-top: 6px;
  color: var(--text-soft);
  line-height: 1.55;
}
.approval-item--split {
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(199, 154, 59, 0.2);
}
.approval-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 12px;
}
.approval-form { display: inline-flex; }
.table-shell {
  width: 100%;
  overflow-x: auto;
}
.table {
  width: 100%;
  border-collapse: collapse;
  min-width: 560px;
}
.table thead th {
  padding: 0.75rem;
  text-align: left;
  color: var(--muted);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border-bottom: 1px solid rgba(242, 231, 212, 0.12);
}
.table tbody td {
  padding: 0.75rem;
  vertical-align: top;
  border-bottom: 1px solid rgba(242, 231, 212, 0.06);
}
.table tbody tr:last-child td { border-bottom: none; }
.table--sacred { font-size: 13px; }
.muted-copy {
  color: var(--muted);
  line-height: 1.55;
}
.section-meta {
  margin-bottom: 12px;
  color: var(--muted);
  font-size: 11.5px;
  font-family: var(--mono);
}
.decision-item {
  display: grid;
  grid-template-columns: minmax(120px, auto) minmax(0, auto) minmax(0, 1fr);
  gap: 10px;
  align-items: baseline;
}
.decision-item__time {
  color: var(--muted);
  font-size: 11.5px;
  font-family: var(--mono);
  white-space: nowrap;
}
.decision-item__action { color: var(--heading); }
.decision-item__summary { color: var(--text-soft); }
.research-card { height: 100%; }
.research-card__title { margin-bottom: 4px; }
.research-card__score {
  font-size: 12px;
  color: var(--accent2);
  margin-bottom: 8px;
}
.research-card__summary {
  margin: 0;
  color: var(--text-soft);
  font-size: 13px;
  line-height: 1.55;
}
.research-card__meta {
  margin-top: 10px;
  color: var(--muted);
  font-size: 11.5px;
}
.terminal-panel {
  background: var(--terminal-bg);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 14px 16px;
  font-family: var(--mono);
  color: var(--log-text);
}
.terminal-panel--compact {
  max-height: 400px;
  overflow-y: auto;
  font-size: 0.78rem;
  line-height: 1.55;
}
.terminal-line {
  margin-bottom: 0.35rem;
  white-space: pre-wrap;
  word-break: break-word;
}
.terminal-line:last-child { margin-bottom: 0; }
.terminal-line--error { color: var(--red-bright); }
.muted-copy--terminal {
  font-family: var(--mono);
  color: var(--muted);
}

/* ── Expand/collapse ──────────────────────────────────────────── */
.expand-toggle {
  display: block;
  width: 100%;
  background: none;
  border: none;
  color: var(--muted);
  font-size: 11px;
  text-align: right;
  padding: 6px 0 0;
  cursor: pointer;
  font-family: var(--font);
  transition: color var(--t-fast);
}
.expand-toggle:hover { color: var(--accent); }

/* ── Grids ────────────────────────────────────────────────────── */
.grid-2 { display: grid; grid-template-columns: repeat(auto-fill, minmax(360px, 1fr)); gap: 14px; }
.grid-3 { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 14px; }

/* ── Badges ───────────────────────────────────────────────────── */
.badge {
  display: inline-block;
  padding: 2px 7px;
  border-radius: 4px;
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.badge--active    { background: rgba(106,148,88,0.16);  color: var(--green-dim); border: 1px solid rgba(106,148,88,0.24); }
.badge--parked    { background: rgba(232,184,75,0.10);  color: var(--yellow);    border: 1px solid rgba(232,184,75,0.2); }
.badge--delegated { background: rgba(126,107,86,0.10);  color: var(--muted);     border: 1px solid var(--border); }
.badge--unknown   { background: rgba(200,64,64,0.10);   color: var(--red-soft);  border: 1px solid rgba(200,64,64,0.2); }
.badge--index     { margin-right: 6px; font-size: 10px; }
.badge--source    { background: rgba(212,105,30,0.1); color: var(--accent); border: 1px solid rgba(212,105,30,0.22); font-size: 0.68rem; padding: 0.15em 0.5em; border-radius: 3px; font-family: var(--mono); white-space: nowrap; }
.badge--error     { background: rgba(139,26,10,0.26); color: var(--red-bright); border: 1px solid rgba(139,26,10,0.45); }
.badge--dim       { background: rgba(58,42,16,0.38); color: var(--muted); border: 1px solid var(--border); }
.badge--enabled      { background: rgba(90,190,90,0.1);    color: var(--green); border: 1px solid rgba(90,190,90,0.24); font-size: 0.68rem; padding: 0.1em 0.45em; border-radius: 3px; }
.badge--disabled     { background: rgba(150,150,150,0.08); color: var(--muted); border: 1px solid rgba(150,150,150,0.16); font-size: 0.68rem; padding: 0.1em 0.45em; border-radius: 3px; }
.badge--status-ok    { background: rgba(90,190,90,0.1);    color: var(--green); border: 1px solid rgba(90,190,90,0.22); font-size: 0.68rem; padding: 0.1em 0.45em; border-radius: 3px; }
.badge--status-error { background: rgba(200,60,60,0.1);    color: var(--red);   border: 1px solid rgba(200,60,60,0.22); font-size: 0.68rem; padding: 0.1em 0.45em; border-radius: 3px; }
.badge--danger       { background: rgba(200,60,60,0.1);    color: var(--red);   border: 1px solid rgba(200,60,60,0.22); font-size: 0.68rem; padding: 0.15em 0.5em; border-radius: 3px; }

/* ── Status dots ──────────────────────────────────────────────── */
.dot {
  display: inline-block;
  width: 14px;
  height: 14px;
  margin-right: 6px;
  vertical-align: middle;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.dot-green  { background-image: url("/static/opsdash/assets/dot-ok.09f06a05ffd1.png");    animation: dot-pulse 2.5s ease-in-out infinite; }
.dot-yellow { background-image: url("/static/opsdash/assets/dot-warn.453a7074aaf3.png"); }
.dot-red    { background-image: url("/static/opsdash/assets/dot-error.a45286e69fe8.png"); }
.dot-muted  { background-image: url("/static/opsdash/assets/dot-idle.56cbcb1cf5bb.png"); }

@keyframes dot-pulse {
  0%, 100% { opacity: 1;   filter: drop-shadow(0 0 0 rgba(106, 148, 88, 0.55)); }
  50%      { opacity: 0.85; filter: drop-shadow(0 0 4px rgba(106, 148, 88, 0)); }
}

/* ── Buttons ──────────────────────────────────────────────────── */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  background: var(--accent);
  color: var(--btn-text);
  border: 1px solid rgba(199, 154, 59, 0.34);
  border-radius: var(--radius);
  padding: 0 16px;
  height: 34px;
  font-family: var(--font);
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  white-space: nowrap;
  transition: background var(--t-fast), box-shadow var(--t-fast), transform 80ms ease;
  box-shadow: 0 10px 20px rgba(7, 5, 4, 0.3), inset 0 1px 0 rgba(255,255,255,0.08), inset 0 0 0 1px rgba(0,0,0,0.28);
}
.btn:hover {
  background: var(--btn-hover);
  box-shadow: 0 14px 26px rgba(7, 5, 4, 0.38), inset 0 1px 0 rgba(255,255,255,0.08), inset 0 0 0 1px rgba(0,0,0,0.32);
  text-decoration: none;
}
.btn:active { transform: scale(0.97) translateY(1px); box-shadow: 0 4px 10px rgba(7, 5, 4, 0.22); }
.btn:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.btn--ghost {
  background: var(--surface);
  color: var(--text-soft);
  border: 1px solid rgba(106, 83, 56, 0.7);
  box-shadow: inset 0 1px 0 rgba(242, 231, 212, 0.04);
}
.btn--ghost:hover { color: var(--heading); border-color: rgba(199, 154, 59, 0.42); background: var(--surface2); }
.btn--sm   { font-size: 0.75rem; padding: 0 10px; height: 26px; }
.btn--full { width: 100%; }
.btn--maple {
  background: var(--maple);
  color: var(--btn-text);
  border: none;
  border-radius: var(--radius);
  padding: 0 14px;
  height: 32px;
  font-family: var(--font);
  font-size: 0.82rem;
  font-weight: 500;
  text-decoration: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  transition: background var(--t-fast), transform 80ms ease;
}
.btn--maple:hover  { background: var(--accent); text-decoration: none; }
.btn--maple:active { transform: scale(0.97); }
.btn--danger {
  background: none;
  border: none;
  color: var(--muted);
  font-size: 12px;
  font-family: var(--font);
  cursor: pointer;
  padding: 2px 6px;
  border-radius: 3px;
  transition: color var(--t-fast), background var(--t-fast);
}
.btn--danger:hover { color: var(--red); background: rgba(200,64,64,0.1); }

/* ── Inputs / Search (unified control surface) ────────────────── */
input[type="text"],
input[type="search"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="url"],
select,
textarea {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 9px 14px;
  color: var(--text);
  font-size: 14px;
  font-family: var(--font);
  line-height: 1.5;
  transition: border-color var(--t-fast), box-shadow var(--t-fast);
}
input::placeholder, textarea::placeholder { color: var(--muted); }
input:focus, select:focus, textarea:focus {
  outline: none;
  border-color: var(--accent);
  box-shadow: 0 0 0 2px rgba(212,105,30,0.16);
}

.search-bar { display: flex; gap: 8px; margin-bottom: 20px; }
.search-bar input { flex: 1; }
.search-bar button {
  background: var(--accent);
  border: none;
  border-radius: var(--radius);
  padding: 9px 18px;
  color: var(--btn-text);
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  font-family: var(--font);
  transition: background var(--t-fast);
}
.search-bar button:hover { background: var(--btn-hover); }

/* ── Alerts ───────────────────────────────────────────────────── */
.alert {
  padding: 0.6rem 1rem;
  border-radius: var(--radius);
  margin-bottom: 16px;
  border: 1px solid;
  font-size: 0.82rem;
}
.alert-error {
  background: rgba(184,58,40,0.09);
  border-color: rgba(184,58,40,0.28);
  color: var(--red-bright);
  margin-top: 0.5rem;
}
.alert-info {
  background: rgba(212,105,30,0.07);
  border-color: rgba(212,105,30,0.26);
  color: var(--accent);
}
.alert-warn {
  background: rgba(232,184,75,0.07);
  border-color: rgba(232,184,75,0.24);
  color: var(--yellow);
  margin-top: 0.5rem;
}

/* ── Result meta ──────────────────────────────────────────────── */
.result-count { font-size: 12px; color: var(--muted); margin-bottom: 12px; }

/* ── Sections ─────────────────────────────────────────────────── */
.section { margin-bottom: 32px; }
.section--gap-top { margin-top: 28px; }
.section-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  font-weight: 600;
  font-family: var(--mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--accent2);
  margin-bottom: 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--border);
}
.section-leaf { opacity: 0.65; }

/* ── Blockers ─────────────────────────────────────────────────── */
.blocker-item { color: var(--yellow); font-size: 13px; padding: 3px 0; line-height: 1.5; }
.blocker-item::before { content: "⚠ "; opacity: 0.85; }
.blocker-list { margin-top: 10px; }

/* ── Attention cards ──────────────────────────────────────────── */
.attention-list { display: flex; flex-direction: column; gap: 10px; }
.attention-card {
  padding: 14px 18px;
  border-radius: var(--radius);
  border-left: 3px solid;
  background: var(--surface2);
}
.attention-card.severity-high   { border-left-color: var(--maple); background: rgba(184,58,40,0.08); }
.attention-card.severity-medium { border-left-color: var(--yellow); background: rgba(232,184,75,0.05); }
.attention-card.severity-low    { border-left-color: var(--accent2); background: rgba(200,153,42,0.04); }
.attention-header  { display: flex; align-items: flex-start; gap: 8px; margin-bottom: 4px; flex-wrap: wrap; }
.attention-source {
  font-size: 10px;
  font-weight: 700;
  font-family: var(--mono);
  letter-spacing: 0.08em;
  color: var(--text-soft);
  background: var(--surface);
  padding: 3px 7px;
  border-radius: 3px;
  border: 1px solid var(--border);
  text-transform: uppercase;
}
.attention-title  { font-weight: 600; font-size: 14.5px; color: var(--heading); letter-spacing: -0.01em; }
.attention-detail { font-size: 13.5px; color: var(--text-soft); margin-top: 4px; line-height: 1.5; }
.attention-link   { font-size: 12px; margin-top: 6px; display: inline-block; font-weight: 500; }

/* ── Metric cards ─────────────────────────────────────────────── */
.metric-card {
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 110px;
  background: linear-gradient(180deg, rgba(31, 25, 20, 0.98), rgba(22, 18, 14, 0.98));
  border: 1px solid rgba(106, 83, 56, 0.68);
  box-shadow:
    var(--shadow-sm),
    inset 0 1px 0 rgba(242, 231, 212, 0.04);
}
.metric-label {
  font-size: 11px;
  text-transform: uppercase;
  font-family: var(--mono);
  color: var(--muted);
  letter-spacing: 0.12em;
  margin-bottom: 8px;
  font-weight: 500;
}
.metric-value {
  font-size: 28px;
  font-weight: 600;
  font-family: var(--mono);
  color: var(--accent2);
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.02em;
}
.metric-sub         { display: block; font-size: 0.72rem; color: var(--muted); font-weight: 400; margin-top: 3px; }
.metric-value--uptime { font-size: 1.4rem; }
.metric-value--net    { font-size: 1.1rem; }
.metric-bar {
  width: 100%; height: 3px;
  background: var(--surface3);
  border-radius: 2px;
  margin-top: 14px;
  overflow: hidden;
}
.metric-bar-fill {
  height: 100%;
  background: var(--sage);
  border-radius: 2px;
  box-shadow: 0 0 6px rgba(106,148,88,0.5);
  animation: bar-fill 0.9s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
@keyframes bar-fill {
  from { clip-path: inset(0 100% 0 0); }
  to   { clip-path: inset(0 0% 0 0); }
}
.metric-bar-fill--warn   { background: var(--yellow); box-shadow: 0 0 6px rgba(232,184,75,0.5); }
.metric-bar-fill--danger { background: var(--maple);  box-shadow: 0 0 8px rgba(184,58,40,0.55); }

/* ── Tmux window ──────────────────────────────────────────────── */
.tmux-window { margin-bottom: 12px; }
.tmux-window:last-child { margin-bottom: 0; }
.window-name { font-size: 12px; font-weight: 600; color: var(--muted); display: block; margin-bottom: 4px; }
.window-name.active { color: var(--accent); }
.pane-excerpt {
  background: var(--terminal-bg);
  color: var(--sage);
  border-left: 2px solid rgba(106,148,88,0.28);
  font-family: var(--mono);
  font-size: 11px;
  padding: 8px 12px;
  border-radius: 4px;
  overflow-x: auto;
  margin-top: 4px;
  line-height: 1.55;
}

/* ── Entry list ───────────────────────────────────────────────── */
.entry-list  { list-style: none; }
.entry-item  { padding: 12px 0; border-bottom: 1px solid var(--border); }
.entry-item:last-child { border-bottom: none; }
.entry-title   { font-weight: 600; margin-bottom: 4px; color: var(--heading); font-size: 14.5px; letter-spacing: -0.01em; }
.entry-preview { font-size: 13px; color: var(--text-soft); line-height: 1.55; margin-top: 6px; }
.entry-meta    { font-size: 11.5px; color: var(--muted); margin-top: 6px; }
.entry-header  { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; flex-wrap: wrap; }
.entry-wordcount { text-align: right; flex-shrink: 0; }
.entry-date-col  { flex-shrink: 0; }
.entry-tags { margin-top: 4px; }

.tag {
  display: inline-block;
  background: var(--surface2);
  color: var(--text-soft);
  padding: 2px 8px;
  border-radius: 3px;
  font-size: 11.5px;
  margin-right: 5px;
  border: 1px solid var(--border);
}

/* ── Login page ───────────────────────────────────────────────── */
.login-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100dvh;
}
.login-box {
  background: var(--surface2);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 40px;
  width: 340px;
}
.login-box h1 { font-size: 20px; margin-bottom: 6px; }
.login-box p  { color: var(--muted); font-size: 13px; margin-bottom: 24px; }
.login-box label { display: block; font-size: 12px; color: var(--muted); margin-bottom: 4px; margin-top: 14px; }
.login-box input { width: 100%; }
.login-box button {
  margin-top: 20px;
  width: 100%;
  background: var(--accent);
  border: none;
  border-radius: var(--radius);
  padding: 10px;
  color: var(--btn-text);
  font-size: 14px;
  font-family: var(--font);
  cursor: pointer;
  transition: background var(--t-fast);
}
.login-box button:hover { background: var(--btn-hover); }
.login-error { color: var(--red-bright); font-size: 12px; margin-top: 12px; }
.login-card  { max-width: 340px; margin: auto; }
.login-card__tagline { margin-bottom: 16px; }

/* ── Empty state ──────────────────────────────────────────────── */
.empty-state   { padding: 40px 20px; text-align: center; color: var(--muted); }
.empty-state p { margin-top: 8px; font-size: 13px; }

/* ── Freshness ────────────────────────────────────────────────── */
.fresh { color: var(--sage); }
.stale { color: var(--yellow); }

/* ── Flex helpers ─────────────────────────────────────────────── */
.row        { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.row--center { align-items: center; }

/* ── North Star Banner ────────────────────────────────────────── */
.north-star-banner {
  display: flex;
  align-items: center;
  gap: 10px;
  background: var(--surface2);
  border: 1px solid var(--border);
  border-left: 2px solid var(--accent2);
  border-radius: var(--radius);
  padding: 10px 16px;
  margin-bottom: 14px;
  font-size: 13px;
}
.north-star-banner__label {
  color: var(--muted);
  text-transform: uppercase;
  font-size: 10px;
  font-family: var(--mono);
  letter-spacing: 0.08em;
}
.north-star-banner__goal,
.north-star-banner__projects { color: var(--heading); font-weight: 600; }
.north-star-banner__sep { color: var(--muted); }

/* ── Drift Detector ───────────────────────────────────────────── */
.drift-detector {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  border-radius: var(--radius);
  padding: 10px 16px;
  margin-bottom: 16px;
  font-size: 13px;
}
.drift-detector--aligned {
  background: rgba(106,148,88,0.09);
  border: 1px solid rgba(106,148,88,0.26);
  color: var(--green-dim);
}
.drift-detector--warn {
  background: rgba(184,58,40,0.09);
  border: 1px solid rgba(212,105,30,0.28);
  color: var(--accent);
}
.drift-detector__icon { font-size: 14px; line-height: 1.4; flex-shrink: 0; }
.drift-detector__msg  { line-height: 1.5; }
.drift-warn-list { margin: 4px 0 0 16px; }

/* ── Git ──────────────────────────────────────────────────────── */
.git-info    { font-size: 12.5px; font-family: var(--mono); color: var(--text-soft); margin-top: 10px; }
.git-dirty   { color: var(--yellow); }
.git-clean   { color: var(--sage); }
.git-error   { margin-top: 8px; color: var(--red); }
.git-missing { margin-top: 4px; }
.git-table   { width: 100%; font-size: 13px; margin-top: 10px; border-collapse: collapse; }
.git-table td { padding: 6px 0; }
.git-table td:first-child { color: var(--muted); width: 38%; }
.git-table td:last-child  { font-family: var(--mono); color: var(--text); }
.error-text { color: var(--red); }

/* ── Project detail ───────────────────────────────────────────── */
.project-breadcrumb { display: flex; align-items: center; gap: 12px; }
.back-link   { color: var(--muted); font-size: 13px; transition: color var(--t-fast); }
.back-link:hover { color: var(--text); text-decoration: none; }
.project-title     { margin-top: 8px; }
.project-file-path { margin-left: 8px; font-size: 11px; color: var(--muted); }
.project-layout {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 28px;
}
/* Project detail prose: descriptions/focus/next-step paragraphs sit inside .section */
.section > p {
  font-size: 14px;
  line-height: 1.65;
  color: var(--text);
  max-width: 65ch;
}
.success-note { color: var(--sage); font-size: 13px; }
.detail-item  { font-size: 13.5px; margin-bottom: 6px; color: var(--text-soft); line-height: 1.55; }
.detail-item::before { content: "·"; color: var(--accent); margin-right: 0.55em; opacity: 0.7; }
.cross-ref-card  { margin-top: 12px; }
.cross-ref-links { margin-top: 10px; display: flex; flex-direction: column; gap: 6px; }
.cross-ref-links a { font-size: 12px; }

/* ── Doc content ──────────────────────────────────────────────── */
.doc-content {
  max-width: 720px;
  line-height: 1.75;
  color: var(--text);
}
.doc-content h1, .doc-content h2, .doc-content h3, .doc-content h4 {
  color: var(--heading);
  margin: 1.6em 0 0.5em;
  font-weight: 600;
}
.doc-content h1 { font-size: 1.4rem; letter-spacing: -0.02em; }
.doc-content h2 { font-size: 1.15rem; border-bottom: 1px solid var(--border); padding-bottom: 0.3em; }
.doc-content h3 { font-size: 1rem; }
.doc-content p  { margin: 0.7em 0; }
.doc-content ul, .doc-content ol { padding-left: 1.5em; margin: 0.7em 0; }
.doc-content li { margin: 0.3em 0; }
.doc-content code {
  background: var(--surface2);
  border: 1px solid var(--border);
  border-radius: 3px;
  padding: 0.1em 0.4em;
  font-size: 0.87em;
  font-family: var(--mono);
}
.doc-content pre {
  background: var(--surface2);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 1em;
  overflow-x: auto;
}
.doc-content pre code { background: none; border: none; padding: 0; font-size: 0.85em; }
.doc-content blockquote {
  border-left: 2px solid var(--accent);
  margin: 0.8em 0;
  padding: 0.2em 1em;
  color: var(--muted);
}
.doc-content table { border-collapse: collapse; width: 100%; margin: 1em 0; }
.doc-content th, .doc-content td { border: 1px solid var(--border); padding: 0.5em 0.8em; text-align: left; }
.doc-content th { background: var(--surface2); color: var(--heading); }
.doc-content hr { border: none; border-top: 1px solid var(--border); margin: 1.5em 0; }
.doc-content a  { color: var(--accent); }

/* ── Tmux grid/cards ──────────────────────────────────────────── */
.tmux-grid   { display: grid; grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); gap: 1rem; }
.tmux-card   { display: flex; flex-direction: column; gap: 0.5rem; }
.tmux-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; }
.tmux-meta   { display: flex; gap: 1rem; font-size: 0.78rem; color: var(--muted); }
.tmux-attach-hint code {
  font-size: 0.75rem;
  color: var(--muted);
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: 4px;
  padding: 0.15em 0.5em;
  user-select: all;
}
.tmux-tabs { display: flex; flex-wrap: wrap; gap: 0.3rem; margin-top: 0.25rem; }
.tmux-tab {
  font-size: 0.75rem;
  padding: 0.2em 0.6em;
  border-radius: 4px;
  background: var(--bg);
  border: 1px solid var(--border);
  color: var(--muted);
}
.tmux-tab--active {
  background: var(--accent-dim);
  border-color: var(--accent);
  color: var(--accent);
}
.tmux-pane-title {
  font-size: 0.85rem;
  color: var(--heading);
  font-style: italic;
  padding: 0.3rem 0;
  border-top: 1px solid var(--border);
}
.tmux-panes { display: flex; flex-direction: column; gap: 0.6rem; margin-top: 0.25rem; }
.tmux-pane  {
  border: 1px solid var(--border2);
  border-radius: 6px;
  padding: 0.5rem 0.7rem;
  background: var(--bg);
}
.tmux-pane--active { border-color: var(--accent); }
.tmux-pane-header  { display: flex; align-items: center; gap: 0.5rem; margin-bottom: 0.35rem; flex-wrap: wrap; }
.tmux-pane-id      { font-size: 0.7rem; color: var(--muted); font-family: monospace; }

/* ── Pane turns ───────────────────────────────────────────────── */
.pane-turns {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 6px;
  font-family: var(--mono);
  font-size: 11px;
  max-height: 14rem;
  overflow: hidden;
}
.pane-turn { display: flex; flex-direction: column; gap: 2px; }
.pane-turn--human    { border-left: 2px solid rgba(212,105,30,0.42); padding-left: 6px; }
.pane-turn--assistant { padding-left: 8px; }
.pane-turn-label {
  font-size: 9px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--muted);
  margin-bottom: 1px;
}
.pane-turn--human .pane-turn-label { color: var(--accent); }
.pane-command        { font-size: 11px; margin-bottom: 0; padding: 1px 6px; }
.pane-output-preview { max-height: 4rem; overflow: hidden; color: var(--muted); font-size: 10px; }
.pane-open-link      { margin-top: 6px; }

/* ── Sync indicator ───────────────────────────────────────────── */
.sync-indicator { font-size: 11px; }
.sync-fresh { color: var(--sage); }
.sync-stale { color: var(--yellow); }

/* ── Process table ────────────────────────────────────────────── */
.proc-table { width: 100%; border-collapse: collapse; font-size: 0.88rem; }
.proc-table thead tr { border-bottom: 1px solid var(--border); }
.proc-table th {
  text-align: left;
  padding: 8px 10px;
  color: var(--muted);
  font-weight: 600;
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.proc-table td { padding: 7px 10px; border-bottom: 1px solid rgba(67,51,28,0.55); color: var(--text); }
.proc-table tr:last-child td { border-bottom: none; }
.proc-pid  { color: var(--muted); font-family: var(--mono); font-size: 0.82rem; }
.proc-name { font-family: var(--mono); color: var(--text); max-width: 200px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.proc-cpu  { color: var(--accent); font-weight: 600; font-variant-numeric: tabular-nums; }
.proc-rss  { color: var(--text-soft); font-family: var(--mono); font-variant-numeric: tabular-nums; }
.proc-hot td { background: rgba(212,105,30,0.05); }

/* ── Log table (compact per-machine view) ─────────────────────── */
.log-table td  { vertical-align: top; }
.log-ts     { font-family: var(--mono); font-size: 0.82rem; color: var(--muted); white-space: nowrap; }
.log-source { white-space: nowrap; }
.log-event  { font-family: var(--mono); font-size: 0.85rem; color: var(--accent); font-weight: 500; }
.log-detail { font-size: 0.88rem; color: var(--text); max-width: 360px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* ── Cron table ───────────────────────────────────────────────── */
.cron-table    { font-size: 0.88rem; }
.cron-name     { font-family: var(--mono); display: flex; align-items: center; gap: 0.4rem; color: var(--text); }
.cron-schedule { font-family: var(--mono); font-size: 0.82rem; color: var(--text-soft); }
.cron-ts       { font-family: var(--mono); font-size: 0.8rem; color: var(--muted); white-space: nowrap; }
.cron-duration { font-family: var(--mono); font-size: 0.8rem; color: var(--muted); }
.cron-errors   { text-align: center; }
.cron-ok       { color: var(--muted); font-size: 0.8rem; }
.cron-row--disabled td { opacity: 0.4; }

/* ── Schedule timeline ────────────────────────────────────────── */
.schedule-timeline { display: flex; flex-direction: column; gap: 0; }
.schedule-timeline--muted { opacity: 0.6; }
.schedule-item {
  display: grid;
  grid-template-columns: 140px 1fr;
  gap: 0.75rem;
  padding: 0.85rem 0;
  border-bottom: 1px solid var(--border);
  align-items: start;
}
.schedule-item:last-child { border-bottom: none; }
.schedule-item--disabled .schedule-name { color: var(--muted); }
.schedule-time { font-family: var(--mono); font-size: 0.85rem; color: var(--accent); white-space: nowrap; padding-top: 2px; font-weight: 500; }
.schedule-item--disabled .schedule-time { color: var(--muted); }
.schedule-name { font-size: 0.95rem; color: var(--heading); margin-bottom: 0.3rem; font-weight: 500; letter-spacing: -0.01em; }
.schedule-meta { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; }
.schedule-freq { font-size: 0.78rem; color: var(--muted); font-family: var(--mono); }
.schedule-last { font-size: 0.78rem; color: var(--muted); }
.schedule-desc {
  font-size: 0.85rem; color: var(--text-soft); margin-top: 0.35rem; line-height: 1.5;
  overflow: hidden; text-overflow: ellipsis;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
}

/* ── State / loop list ────────────────────────────────────────── */
.state-card { padding: 0; overflow: hidden; }
.state-pre {
  font-family: var(--mono);
  font-size: 0.78rem;
  line-height: 1.6;
  white-space: pre-wrap;
  word-break: break-word;
  margin: 0;
  padding: 1rem 1.2rem;
  color: var(--text);
}
.loop-list { list-style: none; margin: 0; padding: 0.5rem 1rem; }
.loop-item {
  padding: 0.5rem 0;
  border-bottom: 1px solid var(--border);
  font-size: 0.85rem;
  line-height: 1.5;
}
.loop-item:last-child { border-bottom: none; }
.loop-item::before { content: "·"; color: var(--accent); margin-right: 0.5rem; }

/* ── Prose typography ─────────────────────────────────────────── */
.prose h1, .prose h2, .prose h3 { font-weight: 600; margin: 0.75rem 0 0.25rem; }
.prose h2 { font-size: 1rem; }
.prose h3 { font-size: 0.9rem; }
.prose p  { margin: 0.4rem 0; }
.prose ul, .prose ol { margin: 0.4rem 0; padding-left: 1.25rem; }
.prose li { margin: 0.15rem 0; }
.prose strong { font-weight: 600; }
.prose code {
  font-family: var(--mono);
  font-size: 0.85em;
  background: rgba(255,255,255,0.07);
  padding: 0.1em 0.3em;
  border-radius: 3px;
}

/* ── Machine grid ─────────────────────────────────────────────── */
.machine-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 1rem;
  margin-top: 0.75rem;
}
.machine-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  display: flex;
  flex-direction: column;
  padding: 1rem;
  gap: 0.75rem;
  box-shadow: var(--shadow-sm);
  transition: border-color var(--t);
}
.machine-card:hover { border-color: var(--border2); }
.machine-card-header .card-title { font-size: 1rem; font-weight: 600; color: var(--heading); }
.machine-card-header .card-meta  { font-size: 0.78rem; color: var(--muted); margin-top: 0.2rem; }
.machine-card-body   { display: flex; flex-direction: column; gap: 0.4rem; flex: 1; }
.machine-log-sources { display: flex; flex-wrap: wrap; gap: 0.3rem; }
.machine-card-footer {
  display: flex;
  justify-content: flex-end;
  padding-top: 0.5rem;
  border-top: 1px solid var(--border);
}

/* ── Machine log detail ───────────────────────────────────────── */
.logs-meta          { margin-bottom: 0.75rem; }
.log-section-header { display: flex; align-items: center; gap: 0.5rem; user-select: none; cursor: pointer; }
.log-section-header .badge--dim { margin-left: auto; }
.log-chevron        { font-size: 0.75rem; }
.log-pre {
  background: var(--log-bg);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 0.75rem 1rem;
  font-family: var(--mono);
  font-size: 0.72rem;
  line-height: 1.55;
  color: var(--log-text);
  overflow-x: auto;
  white-space: pre;
  max-height: 400px;
  overflow-y: auto;
  margin-top: 0.5rem;
}
.log-table {
  background: var(--log-bg);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  font-family: var(--mono);
  font-size: 0.72rem;
  line-height: 1.5;
  max-height: 480px;
  overflow-x: auto;
  overflow-y: auto;
  margin-top: 0.5rem;
}
.log-row {
  display: flex;
  align-items: baseline;
  gap: 0.6rem;
  padding: 0.2rem 0.75rem;
  border-bottom: 1px solid rgba(53,42,24,0.28);
  min-width: max-content;
}
.log-row:last-child  { border-bottom: none; }
.log-row--error { background: rgba(139,26,10,0.12); }
.log-row--crit  { background: rgba(139,26,10,0.22); }
.log-row--warn  { background: rgba(200,153,42,0.07); }
.log-col-date  { color: var(--log-date); flex-shrink: 0; min-width: 6.5rem; }
.log-col-time  { color: var(--log-time); flex-shrink: 0; min-width: 5rem; font-weight: 500; }
.log-col-unit  { color: var(--accent2); flex-shrink: 0; max-width: 14rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.log-col-level { flex-shrink: 0; min-width: 3.5rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; }
.log-level--crit  { color: var(--red-crit); }
.log-level--error { color: var(--red-bright); }
.log-level--warn  { color: var(--yellow); }
.log-level--info  { color: var(--log-info); }
.log-level--debug { color: var(--log-debug); }
.log-col-msg   { color: var(--log-text); white-space: nowrap; }

/* ── Mobile header ────────────────────────────────────────────── */
.mobile-header {
  display: none;
  position: fixed;
  top: 0; left: 0; right: 0;
  height: 52px;
  background:
    linear-gradient(180deg, rgba(34, 28, 22, 0.98), rgba(18, 15, 11, 0.98));
  border-bottom: 1px solid rgba(106, 83, 56, 0.72);
  box-shadow: 0 8px 24px rgba(7, 5, 4, 0.34);
  align-items: center;
  padding: 0 16px;
  gap: 12px;
  z-index: var(--z-header);
}
.nav-toggle {
  display: flex;
  flex-direction: column;
  gap: 5px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
  flex-shrink: 0;
}
.nav-toggle span {
  display: block;
  width: 20px;
  height: 2px;
  background: var(--heading);
  border-radius: 1px;
  transition: background var(--t-fast);
}
.mobile-brand  { font-size: 15px; font-weight: 600; color: var(--text); }
.nav-backdrop  {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(5, 4, 3, 0.72);
  z-index: var(--z-overlay);
  backdrop-filter: blur(2px);
}

/* ── Session grid ─────────────────────────────────────────────── */
.session-new-form {
  display: flex;
  gap: 8px;
  margin-bottom: 20px;
}
.session-new-form input { flex: 1; }
.session-board-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 14px;
  align-items: center;
}
.session-board-summary-item {
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
  padding: 8px 10px;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.02), rgba(255, 255, 255, 0.01));
}
.session-board-summary-value {
  font-size: 15px;
  font-weight: 700;
  color: var(--heading);
}
.session-board-summary-label {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--muted);
}
.session-board-refresh {
  margin-left: auto;
}
.session-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(360px, 100%), 1fr)); gap: 12px; }
.session-card {
  transition: border-color var(--t);
  margin-bottom: 0;
}
.session-card:hover { border-color: var(--border2); }
.session-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
}
.session-card-top .session-name {
  font-size: 15px;
  font-weight: 600;
  color: var(--heading);
  transition: color var(--t-fast);
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.session-card-top .session-name:hover { color: var(--accent); text-decoration: none; }
.session-card-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.session-card .session-meta { font-size: 12px; color: var(--muted); }
.session-card-body {
  display: grid;
  gap: 12px;
}
.session-card-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.session-facts {
  display: grid;
  gap: 8px;
  margin: 0;
}
.session-fact {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  gap: 10px;
  align-items: baseline;
}
.session-fact dt {
  margin: 0;
  font-size: 11px;
  font-family: var(--mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--muted);
}
.session-fact dd {
  margin: 0;
  min-width: 0;
  color: var(--text);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.session-card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.session-card-actions .btn {
  flex: 1 1 136px;
  min-width: max-content;
}

/* ── Cockpit ──────────────────────────────────────────────────── */
.cockpit {
  display: flex;
  flex-direction: column;
  height: calc(100vh - 56px);
  gap: 8px;
}
@media (min-width: 880px) { .cockpit { height: 100vh; } }
.cockpit-topbar {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 14px;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  min-width: 0;
  overflow: hidden;
}
.view-toggle { margin-left: auto; flex-shrink: 0; }
.btn--active  { background: var(--accent); color: var(--bg); border-color: var(--accent); }
.btn--active:hover { background: var(--accent); color: var(--bg); }
.topbar-back {
  flex-shrink: 0;
  font-size: 12.5px;
  color: var(--muted);
  transition: color var(--t-fast);
}
.topbar-back:hover { color: var(--text); text-decoration: none; }
.topbar-sep {
  flex-shrink: 0;
  color: var(--border2);
  font-size: 14px;
  user-select: none;
}
.topbar-session {
  flex-shrink: 0;
  font-weight: 600;
  font-size: 14px;
  color: var(--heading);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 200px;
}
.window-tabs, .pane-chips {
  display: flex;
  gap: 6px;
  overflow-x: auto;
  flex: 1;
  min-width: 0;
}
.window-tabs::-webkit-scrollbar, .pane-chips::-webkit-scrollbar { display: none; }
.tab, .chip {
  flex-shrink: 0;
  padding: 3px 10px;
  border-radius: 999px;
  background: var(--surface2);
  border: 1px solid var(--border);
  color: var(--muted);
  font-size: 12px;
  white-space: nowrap;
  transition: color var(--t-fast), border-color var(--t-fast);
}
.tab:hover, .chip:hover { color: var(--text); border-color: var(--border2); text-decoration: none; }
.tab--active, .chip--active {
  color: var(--accent);
  border-color: var(--accent);
  box-shadow: 0 0 8px rgba(212,105,30,0.16);
}
.pane-output {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  background: var(--terminal-bg);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 14px;
  font-family: var(--mono);
  font-size: 12.5px;
  line-height: 1.45;
  color: var(--text);
  white-space: pre-wrap;
  word-break: break-word;
}
.input-row { display: flex; gap: 8px; align-items: center; }
.input-row textarea {
  flex: 1;
  resize: none;
  min-height: 38px;
  max-height: 120px;
  /* iOS Safari only zooms inputs <16px; keep 16px on small screens */
  font-size: 14px;
}
@media (max-width: 640px) {
  .input-row textarea { font-size: 16px; }
}
.key-row { display: flex; gap: 6px; align-items: center; }
.btn--key {
  height: 30px;
  padding: 0 12px;
  font-size: 12px;
  font-family: var(--mono);
  font-weight: 500;
  letter-spacing: 0.02em;
  background: var(--surface2);
  color: var(--muted);
  border: 1px solid var(--border);
  box-shadow: none;
}
.btn--key:hover { background: var(--surface3); color: var(--text); border-color: var(--border2); }
.btn--key-interrupt {
  color: var(--accent);
  border-color: rgba(212,105,30,0.35);
  background: rgba(212,105,30,0.08);
}
.btn--key-interrupt:hover {
  background: rgba(212,105,30,0.14);
  border-color: var(--accent);
  color: var(--accent);
}

.cockpit--seat .seat-topbar {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 8px;
  flex-wrap: nowrap;
  padding: 7px 10px;
  align-items: center;
  flex: 0 0 auto;
  min-height: 44px;
  overflow: visible;
}

.seat-topbar-main {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.seat-title {
  flex: 1 1 auto;
  min-width: 0;
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: none;
  color: var(--heading);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.seat-link {
  flex: 0 0 auto;
  white-space: nowrap;
}

.seat-topbar-tools {
  display: flex;
  gap: 6px;
  align-items: center;
  justify-content: flex-end;
  min-width: 0;
}

.seat-context-strip {
  position: sticky;
  top: 0;
  z-index: 2;
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  padding: 10px 12px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: linear-gradient(180deg, rgba(26,20,15,0.95), rgba(17,13,10,0.98));
}

.seat-context-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  padding: 3px 8px;
  border-radius: 999px;
  border: 1px solid rgba(127, 90, 51, 0.56);
  background: rgba(31, 23, 17, 0.9);
}

.seat-context-key {
  font-family: var(--mono);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--muted);
}

.seat-context-val {
  min-width: 0;
  max-width: 320px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
  color: var(--text);
}

.seat-card {
  background:
    linear-gradient(180deg, rgba(212,105,30,0.08), rgba(0,0,0,0) 42%),
    var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 18px 20px;
}

.seat-card--hero {
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.03);
}

.seat-card--empty {
  display: grid;
  gap: 10px;
  place-items: start;
  min-height: 220px;
  align-content: center;
}

.seat-kicker {
  margin: 0;
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--accent2);
}

.seat-heading {
  margin: 2px 0 0;
  font-size: 28px;
  line-height: 1.1;
  color: var(--heading);
}

.seat-summary {
  margin: 0;
  color: var(--muted);
  max-width: 72ch;
}

.seat-actions {
  display: flex;
  gap: 10px;
}

.seat-tools {
  flex-wrap: wrap;
}

.seat-status {
  min-height: 0;
}

.seat-status-msg {
  border: 1px solid var(--border);
  background: var(--surface2);
  border-radius: var(--radius);
  color: var(--muted);
  font-size: 13px;
  padding: 10px 12px;
}

.seat-status-msg--warn {
  border-color: rgba(212,105,30,0.45);
  background: rgba(212,105,30,0.10);
  color: var(--accent2);
}

.seat-status-action {
  margin-top: 8px;
}

.seat-request-indicator {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  font-family: var(--mono);
  font-size: 10.5px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--accent2);
  padding: 0 4px;
}

.input-row .seat-request-indicator {
  margin-left: 2px;
}

.key-row .seat-request-indicator {
  margin-left: 8px;
}

.codex-cockpit-panel {
  display: grid;
  gap: 0;
  padding: 0;
  border: 1px solid rgba(127, 90, 51, 0.62);
  border-radius: var(--radius);
  background:
    linear-gradient(135deg, rgba(212,105,30,0.10), rgba(0,0,0,0) 34%),
    linear-gradient(180deg, rgba(31,23,17,0.94), rgba(14,11,9,0.98));
}

.codex-cockpit-summary {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  padding: 8px 10px;
  cursor: pointer;
  list-style: none;
}

.codex-cockpit-summary::-webkit-details-marker {
  display: none;
}

.codex-cockpit-summary::before {
  content: "+";
  display: inline-grid;
  place-items: center;
  width: 18px;
  height: 18px;
  border-radius: 999px;
  border: 1px solid rgba(212,105,30,0.42);
  color: var(--accent2);
  font-family: var(--mono);
  font-size: 12px;
}

.codex-cockpit-panel[open] .codex-cockpit-summary::before {
  content: "-";
}

.codex-cockpit-summary > span:first-child {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--accent2);
}

.codex-cockpit-summary-step {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
  color: var(--text);
}

.codex-cockpit-body {
  display: grid;
  gap: 8px;
  padding: 0 10px 10px;
}

.codex-cockpit-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: start;
}

.codex-cockpit-title {
  margin: 2px 0 0;
  font-family: var(--mono);
  font-size: 13px;
  line-height: 1.35;
  color: var(--heading);
}

.codex-cockpit-progress {
  flex: 0 0 auto;
  padding: 4px 8px;
  border: 1px solid rgba(212,105,30,0.36);
  border-radius: 999px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--accent2);
  background: rgba(212,105,30,0.08);
}

.cockpit-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.cockpit--seat .chat-feed {
  flex: 1 1 auto;
  min-height: 0;
}

.codex-active-step {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  padding: 7px 10px;
  border: 1px solid rgba(212,105,30,0.36);
  border-radius: 10px;
  background: rgba(212,105,30,0.08);
}

.codex-active-step-kicker,
.codex-active-step-status {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--accent2);
}

.codex-active-step-title {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--heading);
  font-size: 12px;
}

.cockpit-meta-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 8px;
  border-radius: 999px;
  border: 1px solid rgba(127, 90, 51, 0.46);
  background: rgba(14,11,9,0.62);
  font-family: var(--mono);
  font-size: 10.5px;
  color: var(--text);
}

.cockpit-meta-item span {
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--muted);
}

.cockpit-trust-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}

.cockpit-trust-item {
  display: inline-flex;
  align-items: center;
  min-width: 0;
  padding: 4px 8px;
  border-radius: 999px;
  border: 1px solid rgba(127, 90, 51, 0.46);
  background: rgba(14,11,9,0.58);
  color: var(--muted);
  font-family: var(--mono);
  font-size: 10px;
}

.cockpit-trust-item--fresh,
.cockpit-trust-item--live,
.cockpit-trust-item--active {
  border-color: rgba(171, 223, 167, 0.36);
  color: rgba(203, 235, 199, 0.92);
}

.cockpit-trust-item--stale,
.cockpit-trust-item--warn,
.cockpit-trust-item--blocked {
  border-color: rgba(235, 160, 172, 0.52);
  color: rgba(245, 189, 202, 0.94);
}

.cockpit-graph {
  position: relative;
  max-height: min(180px, 24vh);
  overflow: auto;
  border: 1px solid rgba(127, 90, 51, 0.32);
  border-radius: 12px;
  background:
    linear-gradient(90deg, rgba(127, 90, 51, 0.12) 1px, transparent 1px),
    linear-gradient(180deg, rgba(127, 90, 51, 0.08) 1px, transparent 1px),
    rgba(14,11,9,0.46);
  background-size: max(80px, calc(100% / var(--graph-columns, 1))) 54px;
}

.cockpit-graph-canvas {
  display: grid;
  gap: 8px;
  padding: 8px;
}

.cockpit-node {
  position: relative;
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 2px 8px;
  align-items: center;
  width: 100%;
  min-width: 0;
  padding: 8px 10px 8px 8px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background:
    linear-gradient(180deg, rgba(31,23,17,0.96), rgba(14,11,9,0.98));
  box-shadow: 0 10px 24px rgba(0,0,0,0.28);
}

.cockpit-node::before {
  content: "";
  position: absolute;
  left: 21px;
  top: -9px;
  bottom: -9px;
  width: 1px;
  background: rgba(212,105,30,0.32);
}

.cockpit-node:first-child::before {
  top: 50%;
}

.cockpit-node:last-child::before {
  bottom: 50%;
}

.cockpit-graph-track {
  position: relative;
  z-index: 1;
  grid-row: 1 / span 2;
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border-radius: 999px;
  border: 1px solid rgba(212,105,30,0.48);
  background: rgba(14,11,9,0.96);
}

.cockpit-node-index {
  font-family: var(--mono);
  font-size: 10px;
  color: var(--accent2);
}

.cockpit-node-kind {
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--muted);
}

.cockpit-node-label {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
  color: var(--text);
}

.cockpit-node--goal {
  border-color: rgba(221, 178, 104, 0.58);
  background:
    linear-gradient(135deg, rgba(212,105,30,0.16), rgba(0,0,0,0) 42%),
    linear-gradient(180deg, rgba(31,23,17,0.98), rgba(14,11,9,0.98));
}

.cockpit-node--done { border-color: rgba(171, 223, 167, 0.35); }
.cockpit-node--active {
  border-color: rgba(212,105,30,0.72);
  box-shadow: 0 0 0 1px rgba(212,105,30,0.18), 0 10px 24px rgba(0,0,0,0.28);
}
.cockpit-node--blocked { border-color: rgba(235, 160, 172, 0.58); }
.cockpit-node--agent { border-style: dashed; }

.codex-cockpit-empty {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
}

.cockpit-subagents {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  padding-top: 2px;
}

.cockpit-subagents-label {
  font-family: var(--mono);
  font-size: 9.5px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--muted);
}

.cockpit-subagent {
  display: inline-flex;
  min-width: 0;
  max-width: 100%;
  padding: 4px 8px;
  border-radius: 999px;
  border: 1px dashed rgba(127, 90, 51, 0.62);
  color: var(--text);
  font-size: 11px;
}

.cockpit-subagent--open {
  border-color: rgba(212,105,30,0.62);
  color: var(--accent2);
}

.cockpit-session-strip {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 6px 8px;
  align-items: center;
  padding: 9px 10px;
  border: 1px solid rgba(127, 90, 51, 0.50);
  border-radius: 10px;
  background: linear-gradient(135deg, rgba(212,105,30,0.09), rgba(14,11,9,0.68));
}

.cockpit-session-kicker {
  font-family: var(--mono);
  font-size: 9.5px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--accent2);
}

.cockpit-session-goal {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--text);
  font-size: 12px;
}

.cockpit-session-chip {
  justify-self: start;
  padding: 3px 7px;
  border-radius: 999px;
  border: 1px solid rgba(127, 90, 51, 0.46);
  color: var(--muted);
  font-family: var(--mono);
  font-size: 10px;
}

.cockpit-session-chip--agent {
  border-style: dashed;
  color: var(--accent2);
}

/* ── Responsive ───────────────────────────────────────────────── */
@media (max-width: 1200px) {
  .sidebar { width: 230px; }
}
@media (max-width: 1024px) {
  .main { padding: 22px 24px; }
  .project-layout { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
  .mobile-header { display: flex; }
  .nav-backdrop--open { display: block; }
  .main { padding: 16px; padding-top: 68px; }
  .sidebar {
    position: fixed;
    top: 0; left: 0; bottom: 0;
    width: 250px;
    z-index: var(--z-nav);
    transform: translateX(-100%);
    transition: transform 0.25s var(--ease);
  }
  .sidebar--open { transform: translateX(0); }
}
@media (max-width: 640px) {
  .grid-2 { grid-template-columns: 1fr; }
  .grid-3 { grid-template-columns: repeat(2, 1fr); }
  .search-bar { flex-wrap: wrap; }
  .search-bar button { flex: 1 1 auto; }
  .tmux-header { flex-wrap: wrap; gap: 8px; }
  .row { flex-wrap: wrap; }
  .decision-item { grid-template-columns: 1fr; gap: 4px; }
  .metric-card { min-height: 110px; padding: 18px 12px; }
  .metric-value { font-size: 28px; }
  .metric-bar { height: 5px; margin-top: 14px; }
  .metric-label { font-size: 9px; }
  .seat-context-strip { padding: 8px; gap: 6px; }
  .seat-context-item { max-width: 100%; }
  .seat-context-val { max-width: 220px; }
  .cockpit--seat .seat-topbar {
    grid-template-columns: 1fr;
    align-items: start;
    gap: 10px;
  }
  .seat-topbar-main {
    width: 100%;
  }
  .seat-topbar-tools {
    width: 100%;
    justify-content: flex-start;
    flex-wrap: wrap;
  }
  .seat-topbar-tools .seat-link,
  .seat-topbar-tools .seat-tool-btn {
    flex: 1 1 96px;
  }
}
@media (max-width: 420px) {
  .page-header h1 { font-size: 18px; }
  .git-table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .pane-excerpt { font-size: 10px; }
  .attention-title { font-size: 13px; }
}
.ansi2html-content { display: inline; white-space: pre-wrap; word-wrap: break-word; }
.body_foreground { color: #AAAAAA; }
.body_background { background-color: #000000; }
/* Override ansi2html background inside chat blocks so the card bg shows through */
.chat-block-body .body_background,
.chat-command-badge .body_background { background-color: transparent !important; }
/* Fix inverse-video (Claude Code uses it for "Human:" label and selected options) */
.chat-block-body .inv_background,
.chat-command-badge .inv_background { background-color: rgba(212, 105, 30, 0.22) !important; }
.chat-block-body .inv_foreground,
.chat-command-badge .inv_foreground { color: var(--text) !important; }
.inv_foreground { color: #000000; }
.inv_background { background-color: #AAAAAA; }
.ansi1 { font-weight: bold; }
.ansi2 { font-weight: lighter; }
.ansi3 { font-style: italic; }
.ansi4 { text-decoration: underline; }
.ansi5 { text-decoration: blink; }
.ansi6 { text-decoration: blink; }
.ansi8 { visibility: hidden; }
.ansi9 { text-decoration: line-through; }
.ansi30 { color: #262626; }
.inv30 { background-color: #262626; }
.ansi31 { color: #d70000; }
.inv31 { background-color: #d70000; }
.ansi32 { color: #5f8700; }
.inv32 { background-color: #5f8700; }
.ansi33 { color: #af8700; }
.inv33 { background-color: #af8700; }
.ansi34 { color: #0087ff; }
.inv34 { background-color: #0087ff; }
.ansi35 { color: #af005f; }
.inv35 { background-color: #af005f; }
.ansi36 { color: #00afaf; }
.inv36 { background-color: #00afaf; }
.ansi37 { color: #e4e4e4; }
.inv37 { background-color: #e4e4e4; }
.ansi40 { background-color: #262626; }
.inv40 { color: #262626; }
.ansi41 { background-color: #d70000; }
.inv41 { color: #d70000; }
.ansi42 { background-color: #5f8700; }
.inv42 { color: #5f8700; }
.ansi43 { background-color: #af8700; }
.inv43 { color: #af8700; }
.ansi44 { background-color: #0087ff; }
.inv44 { color: #0087ff; }
.ansi45 { background-color: #af005f; }
.inv45 { color: #af005f; }
.ansi46 { background-color: #00afaf; }
.inv46 { color: #00afaf; }
.ansi47 { background-color: #e4e4e4; }
.inv47 { color: #e4e4e4; }
.ansi90 { color: #1c1c1c; }
.inv90 { background-color: #1c1c1c; }
.ansi91 { color: #d75f00; }
.inv91 { background-color: #d75f00; }
.ansi92 { color: #585858; }
.inv92 { background-color: #585858; }
.ansi93 { color: #626262; }
.inv93 { background-color: #626262; }
.ansi94 { color: #808080; }
.inv94 { background-color: #808080; }
.ansi95 { color: #5f5faf; }
.inv95 { background-color: #5f5faf; }
.ansi96 { color: #8a8a8a; }
.inv96 { background-color: #8a8a8a; }
.ansi97 { color: #ffffd7; }
.inv97 { background-color: #ffffd7; }
.ansi100 { background-color: #1c1c1c; }
.inv100 { color: #1c1c1c; }
.ansi101 { background-color: #d75f00; }
.inv101 { color: #d75f00; }
.ansi102 { background-color: #585858; }
.inv102 { color: #585858; }
.ansi103 { background-color: #626262; }
.inv103 { color: #626262; }
.ansi104 { background-color: #808080; }
.inv104 { color: #808080; }
.ansi105 { background-color: #5f5faf; }
.inv105 { color: #5f5faf; }
.ansi106 { background-color: #8a8a8a; }
.inv106 { color: #8a8a8a; }
.ansi107 { background-color: #ffffd7; }
.inv107 { color: #ffffd7; }
.ansi38-0 { color: #262626; }
.inv38-0 { background-color: #262626; }
.ansi38-1 { color: #d70000; }
.inv38-1 { background-color: #d70000; }
.ansi38-2 { color: #5f8700; }
.inv38-2 { background-color: #5f8700; }
.ansi38-3 { color: #af8700; }
.inv38-3 { background-color: #af8700; }
.ansi38-4 { color: #0087ff; }
.inv38-4 { background-color: #0087ff; }
.ansi38-5 { color: #af005f; }
.inv38-5 { background-color: #af005f; }
.ansi38-6 { color: #00afaf; }
.inv38-6 { background-color: #00afaf; }
.ansi38-7 { color: #e4e4e4; }
.inv38-7 { background-color: #e4e4e4; }
.ansi38-8 { color: #1c1c1c; }
.inv38-8 { background-color: #1c1c1c; }
.ansi38-9 { color: #d75f00; }
.inv38-9 { background-color: #d75f00; }
.ansi38-10 { color: #585858; }
.inv38-10 { background-color: #585858; }
.ansi38-11 { color: #626262; }
.inv38-11 { background-color: #626262; }
.ansi38-12 { color: #808080; }
.inv38-12 { background-color: #808080; }
.ansi38-13 { color: #5f5faf; }
.inv38-13 { background-color: #5f5faf; }
.ansi38-14 { color: #8a8a8a; }
.inv38-14 { background-color: #8a8a8a; }
.ansi38-15 { color: #ffffd7; }
.inv38-15 { background-color: #ffffd7; }
.ansi48-0 { background-color: #262626; }
.inv48-0 { color: #262626; }
.ansi48-1 { background-color: #d70000; }
.inv48-1 { color: #d70000; }
.ansi48-2 { background-color: #5f8700; }
.inv48-2 { color: #5f8700; }
.ansi48-3 { background-color: #af8700; }
.inv48-3 { color: #af8700; }
.ansi48-4 { background-color: #0087ff; }
.inv48-4 { color: #0087ff; }
.ansi48-5 { background-color: #af005f; }
.inv48-5 { color: #af005f; }
.ansi48-6 { background-color: #00afaf; }
.inv48-6 { color: #00afaf; }
.ansi48-7 { background-color: #e4e4e4; }
.inv48-7 { color: #e4e4e4; }
.ansi48-8 { background-color: #1c1c1c; }
.inv48-8 { color: #1c1c1c; }
.ansi48-9 { background-color: #d75f00; }
.inv48-9 { color: #d75f00; }
.ansi48-10 { background-color: #585858; }
.inv48-10 { color: #585858; }
.ansi48-11 { background-color: #626262; }
.inv48-11 { color: #626262; }
.ansi48-12 { background-color: #808080; }
.inv48-12 { color: #808080; }
.ansi48-13 { background-color: #5f5faf; }
.inv48-13 { color: #5f5faf; }
.ansi48-14 { background-color: #8a8a8a; }
.inv48-14 { color: #8a8a8a; }
.ansi48-15 { background-color: #ffffd7; }
.inv48-15 { color: #ffffd7; }
.ansi38-16 { color: #000000; }
.inv38-16 { background: #000000; }
.ansi48-16 { background: #000000; }
.inv48-16 { color: #000000; }
.ansi38-17 { color: #00005f; }
.inv38-17 { background: #00005f; }
.ansi48-17 { background: #00005f; }
.inv48-17 { color: #00005f; }
.ansi38-18 { color: #000087; }
.inv38-18 { background: #000087; }
.ansi48-18 { background: #000087; }
.inv48-18 { color: #000087; }
.ansi38-19 { color: #0000af; }
.inv38-19 { background: #0000af; }
.ansi48-19 { background: #0000af; }
.inv48-19 { color: #0000af; }
.ansi38-20 { color: #0000d7; }
.inv38-20 { background: #0000d7; }
.ansi48-20 { background: #0000d7; }
.inv48-20 { color: #0000d7; }
.ansi38-21 { color: #0000ff; }
.inv38-21 { background: #0000ff; }
.ansi48-21 { background: #0000ff; }
.inv48-21 { color: #0000ff; }
.ansi38-52 { color: #5f0000; }
.inv38-52 { background: #5f0000; }
.ansi48-52 { background: #5f0000; }
.inv48-52 { color: #5f0000; }
.ansi38-53 { color: #5f005f; }
.inv38-53 { background: #5f005f; }
.ansi48-53 { background: #5f005f; }
.inv48-53 { color: #5f005f; }
.ansi38-54 { color: #5f0087; }
.inv38-54 { background: #5f0087; }
.ansi48-54 { background: #5f0087; }
.inv48-54 { color: #5f0087; }
.ansi38-55 { color: #5f00af; }
.inv38-55 { background: #5f00af; }
.ansi48-55 { background: #5f00af; }
.inv48-55 { color: #5f00af; }
.ansi38-56 { color: #5f00d7; }
.inv38-56 { background: #5f00d7; }
.ansi48-56 { background: #5f00d7; }
.inv48-56 { color: #5f00d7; }
.ansi38-57 { color: #5f00ff; }
.inv38-57 { background: #5f00ff; }
.ansi48-57 { background: #5f00ff; }
.inv48-57 { color: #5f00ff; }
.ansi38-88 { color: #870000; }
.inv38-88 { background: #870000; }
.ansi48-88 { background: #870000; }
.inv48-88 { color: #870000; }
.ansi38-89 { color: #87005f; }
.inv38-89 { background: #87005f; }
.ansi48-89 { background: #87005f; }
.inv48-89 { color: #87005f; }
.ansi38-90 { color: #870087; }
.inv38-90 { background: #870087; }
.ansi48-90 { background: #870087; }
.inv48-90 { color: #870087; }
.ansi38-91 { color: #8700af; }
.inv38-91 { background: #8700af; }
.ansi48-91 { background: #8700af; }
.inv48-91 { color: #8700af; }
.ansi38-92 { color: #8700d7; }
.inv38-92 { background: #8700d7; }
.ansi48-92 { background: #8700d7; }
.inv48-92 { color: #8700d7; }
.ansi38-93 { color: #8700ff; }
.inv38-93 { background: #8700ff; }
.ansi48-93 { background: #8700ff; }
.inv48-93 { color: #8700ff; }
.ansi38-124 { color: #af0000; }
.inv38-124 { background: #af0000; }
.ansi48-124 { background: #af0000; }
.inv48-124 { color: #af0000; }
.ansi38-125 { color: #af005f; }
.inv38-125 { background: #af005f; }
.ansi48-125 { background: #af005f; }
.inv48-125 { color: #af005f; }
.ansi38-126 { color: #af0087; }
.inv38-126 { background: #af0087; }
.ansi48-126 { background: #af0087; }
.inv48-126 { color: #af0087; }
.ansi38-127 { color: #af00af; }
.inv38-127 { background: #af00af; }
.ansi48-127 { background: #af00af; }
.inv48-127 { color: #af00af; }
.ansi38-128 { color: #af00d7; }
.inv38-128 { background: #af00d7; }
.ansi48-128 { background: #af00d7; }
.inv48-128 { color: #af00d7; }
.ansi38-129 { color: #af00ff; }
.inv38-129 { background: #af00ff; }
.ansi48-129 { background: #af00ff; }
.inv48-129 { color: #af00ff; }
.ansi38-160 { color: #d70000; }
.inv38-160 { background: #d70000; }
.ansi48-160 { background: #d70000; }
.inv48-160 { color: #d70000; }
.ansi38-161 { color: #d7005f; }
.inv38-161 { background: #d7005f; }
.ansi48-161 { background: #d7005f; }
.inv48-161 { color: #d7005f; }
.ansi38-162 { color: #d70087; }
.inv38-162 { background: #d70087; }
.ansi48-162 { background: #d70087; }
.inv48-162 { color: #d70087; }
.ansi38-163 { color: #d700af; }
.inv38-163 { background: #d700af; }
.ansi48-163 { background: #d700af; }
.inv48-163 { color: #d700af; }
.ansi38-164 { color: #d700d7; }
.inv38-164 { background: #d700d7; }
.ansi48-164 { background: #d700d7; }
.inv48-164 { color: #d700d7; }
.ansi38-165 { color: #d700ff; }
.inv38-165 { background: #d700ff; }
.ansi48-165 { background: #d700ff; }
.inv48-165 { color: #d700ff; }
.ansi38-196 { color: #ff0000; }
.inv38-196 { background: #ff0000; }
.ansi48-196 { background: #ff0000; }
.inv48-196 { color: #ff0000; }
.ansi38-197 { color: #ff005f; }
.inv38-197 { background: #ff005f; }
.ansi48-197 { background: #ff005f; }
.inv48-197 { color: #ff005f; }
.ansi38-198 { color: #ff0087; }
.inv38-198 { background: #ff0087; }
.ansi48-198 { background: #ff0087; }
.inv48-198 { color: #ff0087; }
.ansi38-199 { color: #ff00af; }
.inv38-199 { background: #ff00af; }
.ansi48-199 { background: #ff00af; }
.inv48-199 { color: #ff00af; }
.ansi38-200 { color: #ff00d7; }
.inv38-200 { background: #ff00d7; }
.ansi48-200 { background: #ff00d7; }
.inv48-200 { color: #ff00d7; }
.ansi38-201 { color: #ff00ff; }
.inv38-201 { background: #ff00ff; }
.ansi48-201 { background: #ff00ff; }
.inv48-201 { color: #ff00ff; }
.ansi38-22 { color: #005f00; }
.inv38-22 { background: #005f00; }
.ansi48-22 { background: #005f00; }
.inv48-22 { color: #005f00; }
.ansi38-23 { color: #005f5f; }
.inv38-23 { background: #005f5f; }
.ansi48-23 { background: #005f5f; }
.inv48-23 { color: #005f5f; }
.ansi38-24 { color: #005f87; }
.inv38-24 { background: #005f87; }
.ansi48-24 { background: #005f87; }
.inv48-24 { color: #005f87; }
.ansi38-25 { color: #005faf; }
.inv38-25 { background: #005faf; }
.ansi48-25 { background: #005faf; }
.inv48-25 { color: #005faf; }
.ansi38-26 { color: #005fd7; }
.inv38-26 { background: #005fd7; }
.ansi48-26 { background: #005fd7; }
.inv48-26 { color: #005fd7; }
.ansi38-27 { color: #005fff; }
.inv38-27 { background: #005fff; }
.ansi48-27 { background: #005fff; }
.inv48-27 { color: #005fff; }
.ansi38-58 { color: #5f5f00; }
.inv38-58 { background: #5f5f00; }
.ansi48-58 { background: #5f5f00; }
.inv48-58 { color: #5f5f00; }
.ansi38-59 { color: #5f5f5f; }
.inv38-59 { background: #5f5f5f; }
.ansi48-59 { background: #5f5f5f; }
.inv48-59 { color: #5f5f5f; }
.ansi38-60 { color: #5f5f87; }
.inv38-60 { background: #5f5f87; }
.ansi48-60 { background: #5f5f87; }
.inv48-60 { color: #5f5f87; }
.ansi38-61 { color: #5f5faf; }
.inv38-61 { background: #5f5faf; }
.ansi48-61 { background: #5f5faf; }
.inv48-61 { color: #5f5faf; }
.ansi38-62 { color: #5f5fd7; }
.inv38-62 { background: #5f5fd7; }
.ansi48-62 { background: #5f5fd7; }
.inv48-62 { color: #5f5fd7; }
.ansi38-63 { color: #5f5fff; }
.inv38-63 { background: #5f5fff; }
.ansi48-63 { background: #5f5fff; }
.inv48-63 { color: #5f5fff; }
.ansi38-94 { color: #875f00; }
.inv38-94 { background: #875f00; }
.ansi48-94 { background: #875f00; }
.inv48-94 { color: #875f00; }
.ansi38-95 { color: #875f5f; }
.inv38-95 { background: #875f5f; }
.ansi48-95 { background: #875f5f; }
.inv48-95 { color: #875f5f; }
.ansi38-96 { color: #875f87; }
.inv38-96 { background: #875f87; }
.ansi48-96 { background: #875f87; }
.inv48-96 { color: #875f87; }
.ansi38-97 { color: #875faf; }
.inv38-97 { background: #875faf; }
.ansi48-97 { background: #875faf; }
.inv48-97 { color: #875faf; }
.ansi38-98 { color: #875fd7; }
.inv38-98 { background: #875fd7; }
.ansi48-98 { background: #875fd7; }
.inv48-98 { color: #875fd7; }
.ansi38-99 { color: #875fff; }
.inv38-99 { background: #875fff; }
.ansi48-99 { background: #875fff; }
.inv48-99 { color: #875fff; }
.ansi38-130 { color: #af5f00; }
.inv38-130 { background: #af5f00; }
.ansi48-130 { background: #af5f00; }
.inv48-130 { color: #af5f00; }
.ansi38-131 { color: #af5f5f; }
.inv38-131 { background: #af5f5f; }
.ansi48-131 { background: #af5f5f; }
.inv48-131 { color: #af5f5f; }
.ansi38-132 { color: #af5f87; }
.inv38-132 { background: #af5f87; }
.ansi48-132 { background: #af5f87; }
.inv48-132 { color: #af5f87; }
.ansi38-133 { color: #af5faf; }
.inv38-133 { background: #af5faf; }
.ansi48-133 { background: #af5faf; }
.inv48-133 { color: #af5faf; }
.ansi38-134 { color: #af5fd7; }
.inv38-134 { background: #af5fd7; }
.ansi48-134 { background: #af5fd7; }
.inv48-134 { color: #af5fd7; }
.ansi38-135 { color: #af5fff; }
.inv38-135 { background: #af5fff; }
.ansi48-135 { background: #af5fff; }
.inv48-135 { color: #af5fff; }
.ansi38-166 { color: #d75f00; }
.inv38-166 { background: #d75f00; }
.ansi48-166 { background: #d75f00; }
.inv48-166 { color: #d75f00; }
.ansi38-167 { color: #d75f5f; }
.inv38-167 { background: #d75f5f; }
.ansi48-167 { background: #d75f5f; }
.inv48-167 { color: #d75f5f; }
.ansi38-168 { color: #d75f87; }
.inv38-168 { background: #d75f87; }
.ansi48-168 { background: #d75f87; }
.inv48-168 { color: #d75f87; }
.ansi38-169 { color: #d75faf; }
.inv38-169 { background: #d75faf; }
.ansi48-169 { background: #d75faf; }
.inv48-169 { color: #d75faf; }
.ansi38-170 { color: #d75fd7; }
.inv38-170 { background: #d75fd7; }
.ansi48-170 { background: #d75fd7; }
.inv48-170 { color: #d75fd7; }
.ansi38-171 { color: #d75fff; }
.inv38-171 { background: #d75fff; }
.ansi48-171 { background: #d75fff; }
.inv48-171 { color: #d75fff; }
.ansi38-202 { color: #ff5f00; }
.inv38-202 { background: #ff5f00; }
.ansi48-202 { background: #ff5f00; }
.inv48-202 { color: #ff5f00; }
.ansi38-203 { color: #ff5f5f; }
.inv38-203 { background: #ff5f5f; }
.ansi48-203 { background: #ff5f5f; }
.inv48-203 { color: #ff5f5f; }
.ansi38-204 { color: #ff5f87; }
.inv38-204 { background: #ff5f87; }
.ansi48-204 { background: #ff5f87; }
.inv48-204 { color: #ff5f87; }
.ansi38-205 { color: #ff5faf; }
.inv38-205 { background: #ff5faf; }
.ansi48-205 { background: #ff5faf; }
.inv48-205 { color: #ff5faf; }
.ansi38-206 { color: #ff5fd7; }
.inv38-206 { background: #ff5fd7; }
.ansi48-206 { background: #ff5fd7; }
.inv48-206 { color: #ff5fd7; }
.ansi38-207 { color: #ff5fff; }
.inv38-207 { background: #ff5fff; }
.ansi48-207 { background: #ff5fff; }
.inv48-207 { color: #ff5fff; }
.ansi38-28 { color: #008700; }
.inv38-28 { background: #008700; }
.ansi48-28 { background: #008700; }
.inv48-28 { color: #008700; }
.ansi38-29 { color: #00875f; }
.inv38-29 { background: #00875f; }
.ansi48-29 { background: #00875f; }
.inv48-29 { color: #00875f; }
.ansi38-30 { color: #008787; }
.inv38-30 { background: #008787; }
.ansi48-30 { background: #008787; }
.inv48-30 { color: #008787; }
.ansi38-31 { color: #0087af; }
.inv38-31 { background: #0087af; }
.ansi48-31 { background: #0087af; }
.inv48-31 { color: #0087af; }
.ansi38-32 { color: #0087d7; }
.inv38-32 { background: #0087d7; }
.ansi48-32 { background: #0087d7; }
.inv48-32 { color: #0087d7; }
.ansi38-33 { color: #0087ff; }
.inv38-33 { background: #0087ff; }
.ansi48-33 { background: #0087ff; }
.inv48-33 { color: #0087ff; }
.ansi38-64 { color: #5f8700; }
.inv38-64 { background: #5f8700; }
.ansi48-64 { background: #5f8700; }
.inv48-64 { color: #5f8700; }
.ansi38-65 { color: #5f875f; }
.inv38-65 { background: #5f875f; }
.ansi48-65 { background: #5f875f; }
.inv48-65 { color: #5f875f; }
.ansi38-66 { color: #5f8787; }
.inv38-66 { background: #5f8787; }
.ansi48-66 { background: #5f8787; }
.inv48-66 { color: #5f8787; }
.ansi38-67 { color: #5f87af; }
.inv38-67 { background: #5f87af; }
.ansi48-67 { background: #5f87af; }
.inv48-67 { color: #5f87af; }
.ansi38-68 { color: #5f87d7; }
.inv38-68 { background: #5f87d7; }
.ansi48-68 { background: #5f87d7; }
.inv48-68 { color: #5f87d7; }
.ansi38-69 { color: #5f87ff; }
.inv38-69 { background: #5f87ff; }
.ansi48-69 { background: #5f87ff; }
.inv48-69 { color: #5f87ff; }
.ansi38-100 { color: #878700; }
.inv38-100 { background: #878700; }
.ansi48-100 { background: #878700; }
.inv48-100 { color: #878700; }
.ansi38-101 { color: #87875f; }
.inv38-101 { background: #87875f; }
.ansi48-101 { background: #87875f; }
.inv48-101 { color: #87875f; }
.ansi38-102 { color: #878787; }
.inv38-102 { background: #878787; }
.ansi48-102 { background: #878787; }
.inv48-102 { color: #878787; }
.ansi38-103 { color: #8787af; }
.inv38-103 { background: #8787af; }
.ansi48-103 { background: #8787af; }
.inv48-103 { color: #8787af; }
.ansi38-104 { color: #8787d7; }
.inv38-104 { background: #8787d7; }
.ansi48-104 { background: #8787d7; }
.inv48-104 { color: #8787d7; }
.ansi38-105 { color: #8787ff; }
.inv38-105 { background: #8787ff; }
.ansi48-105 { background: #8787ff; }
.inv48-105 { color: #8787ff; }
.ansi38-136 { color: #af8700; }
.inv38-136 { background: #af8700; }
.ansi48-136 { background: #af8700; }
.inv48-136 { color: #af8700; }
.ansi38-137 { color: #af875f; }
.inv38-137 { background: #af875f; }
.ansi48-137 { background: #af875f; }
.inv48-137 { color: #af875f; }
.ansi38-138 { color: #af8787; }
.inv38-138 { background: #af8787; }
.ansi48-138 { background: #af8787; }
.inv48-138 { color: #af8787; }
.ansi38-139 { color: #af87af; }
.inv38-139 { background: #af87af; }
.ansi48-139 { background: #af87af; }
.inv48-139 { color: #af87af; }
.ansi38-140 { color: #af87d7; }
.inv38-140 { background: #af87d7; }
.ansi48-140 { background: #af87d7; }
.inv48-140 { color: #af87d7; }
.ansi38-141 { color: #af87ff; }
.inv38-141 { background: #af87ff; }
.ansi48-141 { background: #af87ff; }
.inv48-141 { color: #af87ff; }
.ansi38-172 { color: #d78700; }
.inv38-172 { background: #d78700; }
.ansi48-172 { background: #d78700; }
.inv48-172 { color: #d78700; }
.ansi38-173 { color: #d7875f; }
.inv38-173 { background: #d7875f; }
.ansi48-173 { background: #d7875f; }
.inv48-173 { color: #d7875f; }
.ansi38-174 { color: #d78787; }
.inv38-174 { background: #d78787; }
.ansi48-174 { background: #d78787; }
.inv48-174 { color: #d78787; }
.ansi38-175 { color: #d787af; }
.inv38-175 { background: #d787af; }
.ansi48-175 { background: #d787af; }
.inv48-175 { color: #d787af; }
.ansi38-176 { color: #d787d7; }
.inv38-176 { background: #d787d7; }
.ansi48-176 { background: #d787d7; }
.inv48-176 { color: #d787d7; }
.ansi38-177 { color: #d787ff; }
.inv38-177 { background: #d787ff; }
.ansi48-177 { background: #d787ff; }
.inv48-177 { color: #d787ff; }
.ansi38-208 { color: #ff8700; }
.inv38-208 { background: #ff8700; }
.ansi48-208 { background: #ff8700; }
.inv48-208 { color: #ff8700; }
.ansi38-209 { color: #ff875f; }
.inv38-209 { background: #ff875f; }
.ansi48-209 { background: #ff875f; }
.inv48-209 { color: #ff875f; }
.ansi38-210 { color: #ff8787; }
.inv38-210 { background: #ff8787; }
.ansi48-210 { background: #ff8787; }
.inv48-210 { color: #ff8787; }
.ansi38-211 { color: #ff87af; }
.inv38-211 { background: #ff87af; }
.ansi48-211 { background: #ff87af; }
.inv48-211 { color: #ff87af; }
.ansi38-212 { color: #ff87d7; }
.inv38-212 { background: #ff87d7; }
.ansi48-212 { background: #ff87d7; }
.inv48-212 { color: #ff87d7; }
.ansi38-213 { color: #ff87ff; }
.inv38-213 { background: #ff87ff; }
.ansi48-213 { background: #ff87ff; }
.inv48-213 { color: #ff87ff; }
.ansi38-34 { color: #00af00; }
.inv38-34 { background: #00af00; }
.ansi48-34 { background: #00af00; }
.inv48-34 { color: #00af00; }
.ansi38-35 { color: #00af5f; }
.inv38-35 { background: #00af5f; }
.ansi48-35 { background: #00af5f; }
.inv48-35 { color: #00af5f; }
.ansi38-36 { color: #00af87; }
.inv38-36 { background: #00af87; }
.ansi48-36 { background: #00af87; }
.inv48-36 { color: #00af87; }
.ansi38-37 { color: #00afaf; }
.inv38-37 { background: #00afaf; }
.ansi48-37 { background: #00afaf; }
.inv48-37 { color: #00afaf; }
.ansi38-38 { color: #00afd7; }
.inv38-38 { background: #00afd7; }
.ansi48-38 { background: #00afd7; }
.inv48-38 { color: #00afd7; }
.ansi38-39 { color: #00afff; }
.inv38-39 { background: #00afff; }
.ansi48-39 { background: #00afff; }
.inv48-39 { color: #00afff; }
.ansi38-70 { color: #5faf00; }
.inv38-70 { background: #5faf00; }
.ansi48-70 { background: #5faf00; }
.inv48-70 { color: #5faf00; }
.ansi38-71 { color: #5faf5f; }
.inv38-71 { background: #5faf5f; }
.ansi48-71 { background: #5faf5f; }
.inv48-71 { color: #5faf5f; }
.ansi38-72 { color: #5faf87; }
.inv38-72 { background: #5faf87; }
.ansi48-72 { background: #5faf87; }
.inv48-72 { color: #5faf87; }
.ansi38-73 { color: #5fafaf; }
.inv38-73 { background: #5fafaf; }
.ansi48-73 { background: #5fafaf; }
.inv48-73 { color: #5fafaf; }
.ansi38-74 { color: #5fafd7; }
.inv38-74 { background: #5fafd7; }
.ansi48-74 { background: #5fafd7; }
.inv48-74 { color: #5fafd7; }
.ansi38-75 { color: #5fafff; }
.inv38-75 { background: #5fafff; }
.ansi48-75 { background: #5fafff; }
.inv48-75 { color: #5fafff; }
.ansi38-106 { color: #87af00; }
.inv38-106 { background: #87af00; }
.ansi48-106 { background: #87af00; }
.inv48-106 { color: #87af00; }
.ansi38-107 { color: #87af5f; }
.inv38-107 { background: #87af5f; }
.ansi48-107 { background: #87af5f; }
.inv48-107 { color: #87af5f; }
.ansi38-108 { color: #87af87; }
.inv38-108 { background: #87af87; }
.ansi48-108 { background: #87af87; }
.inv48-108 { color: #87af87; }
.ansi38-109 { color: #87afaf; }
.inv38-109 { background: #87afaf; }
.ansi48-109 { background: #87afaf; }
.inv48-109 { color: #87afaf; }
.ansi38-110 { color: #87afd7; }
.inv38-110 { background: #87afd7; }
.ansi48-110 { background: #87afd7; }
.inv48-110 { color: #87afd7; }
.ansi38-111 { color: #87afff; }
.inv38-111 { background: #87afff; }
.ansi48-111 { background: #87afff; }
.inv48-111 { color: #87afff; }
.ansi38-142 { color: #afaf00; }
.inv38-142 { background: #afaf00; }
.ansi48-142 { background: #afaf00; }
.inv48-142 { color: #afaf00; }
.ansi38-143 { color: #afaf5f; }
.inv38-143 { background: #afaf5f; }
.ansi48-143 { background: #afaf5f; }
.inv48-143 { color: #afaf5f; }
.ansi38-144 { color: #afaf87; }
.inv38-144 { background: #afaf87; }
.ansi48-144 { background: #afaf87; }
.inv48-144 { color: #afaf87; }
.ansi38-145 { color: #afafaf; }
.inv38-145 { background: #afafaf; }
.ansi48-145 { background: #afafaf; }
.inv48-145 { color: #afafaf; }
.ansi38-146 { color: #afafd7; }
.inv38-146 { background: #afafd7; }
.ansi48-146 { background: #afafd7; }
.inv48-146 { color: #afafd7; }
.ansi38-147 { color: #afafff; }
.inv38-147 { background: #afafff; }
.ansi48-147 { background: #afafff; }
.inv48-147 { color: #afafff; }
.ansi38-178 { color: #d7af00; }
.inv38-178 { background: #d7af00; }
.ansi48-178 { background: #d7af00; }
.inv48-178 { color: #d7af00; }
.ansi38-179 { color: #d7af5f; }
.inv38-179 { background: #d7af5f; }
.ansi48-179 { background: #d7af5f; }
.inv48-179 { color: #d7af5f; }
.ansi38-180 { color: #d7af87; }
.inv38-180 { background: #d7af87; }
.ansi48-180 { background: #d7af87; }
.inv48-180 { color: #d7af87; }
.ansi38-181 { color: #d7afaf; }
.inv38-181 { background: #d7afaf; }
.ansi48-181 { background: #d7afaf; }
.inv48-181 { color: #d7afaf; }
.ansi38-182 { color: #d7afd7; }
.inv38-182 { background: #d7afd7; }
.ansi48-182 { background: #d7afd7; }
.inv48-182 { color: #d7afd7; }
.ansi38-183 { color: #d7afff; }
.inv38-183 { background: #d7afff; }
.ansi48-183 { background: #d7afff; }
.inv48-183 { color: #d7afff; }
.ansi38-214 { color: #ffaf00; }
.inv38-214 { background: #ffaf00; }
.ansi48-214 { background: #ffaf00; }
.inv48-214 { color: #ffaf00; }
.ansi38-215 { color: #ffaf5f; }
.inv38-215 { background: #ffaf5f; }
.ansi48-215 { background: #ffaf5f; }
.inv48-215 { color: #ffaf5f; }
.ansi38-216 { color: #ffaf87; }
.inv38-216 { background: #ffaf87; }
.ansi48-216 { background: #ffaf87; }
.inv48-216 { color: #ffaf87; }
.ansi38-217 { color: #ffafaf; }
.inv38-217 { background: #ffafaf; }
.ansi48-217 { background: #ffafaf; }
.inv48-217 { color: #ffafaf; }
.ansi38-218 { color: #ffafd7; }
.inv38-218 { background: #ffafd7; }
.ansi48-218 { background: #ffafd7; }
.inv48-218 { color: #ffafd7; }
.ansi38-219 { color: #ffafff; }
.inv38-219 { background: #ffafff; }
.ansi48-219 { background: #ffafff; }
.inv48-219 { color: #ffafff; }
.ansi38-40 { color: #00d700; }
.inv38-40 { background: #00d700; }
.ansi48-40 { background: #00d700; }
.inv48-40 { color: #00d700; }
.ansi38-41 { color: #00d75f; }
.inv38-41 { background: #00d75f; }
.ansi48-41 { background: #00d75f; }
.inv48-41 { color: #00d75f; }
.ansi38-42 { color: #00d787; }
.inv38-42 { background: #00d787; }
.ansi48-42 { background: #00d787; }
.inv48-42 { color: #00d787; }
.ansi38-43 { color: #00d7af; }
.inv38-43 { background: #00d7af; }
.ansi48-43 { background: #00d7af; }
.inv48-43 { color: #00d7af; }
.ansi38-44 { color: #00d7d7; }
.inv38-44 { background: #00d7d7; }
.ansi48-44 { background: #00d7d7; }
.inv48-44 { color: #00d7d7; }
.ansi38-45 { color: #00d7ff; }
.inv38-45 { background: #00d7ff; }
.ansi48-45 { background: #00d7ff; }
.inv48-45 { color: #00d7ff; }
.ansi38-76 { color: #5fd700; }
.inv38-76 { background: #5fd700; }
.ansi48-76 { background: #5fd700; }
.inv48-76 { color: #5fd700; }
.ansi38-77 { color: #5fd75f; }
.inv38-77 { background: #5fd75f; }
.ansi48-77 { background: #5fd75f; }
.inv48-77 { color: #5fd75f; }
.ansi38-78 { color: #5fd787; }
.inv38-78 { background: #5fd787; }
.ansi48-78 { background: #5fd787; }
.inv48-78 { color: #5fd787; }
.ansi38-79 { color: #5fd7af; }
.inv38-79 { background: #5fd7af; }
.ansi48-79 { background: #5fd7af; }
.inv48-79 { color: #5fd7af; }
.ansi38-80 { color: #5fd7d7; }
.inv38-80 { background: #5fd7d7; }
.ansi48-80 { background: #5fd7d7; }
.inv48-80 { color: #5fd7d7; }
.ansi38-81 { color: #5fd7ff; }
.inv38-81 { background: #5fd7ff; }
.ansi48-81 { background: #5fd7ff; }
.inv48-81 { color: #5fd7ff; }
.ansi38-112 { color: #87d700; }
.inv38-112 { background: #87d700; }
.ansi48-112 { background: #87d700; }
.inv48-112 { color: #87d700; }
.ansi38-113 { color: #87d75f; }
.inv38-113 { background: #87d75f; }
.ansi48-113 { background: #87d75f; }
.inv48-113 { color: #87d75f; }
.ansi38-114 { color: #87d787; }
.inv38-114 { background: #87d787; }
.ansi48-114 { background: #87d787; }
.inv48-114 { color: #87d787; }
.ansi38-115 { color: #87d7af; }
.inv38-115 { background: #87d7af; }
.ansi48-115 { background: #87d7af; }
.inv48-115 { color: #87d7af; }
.ansi38-116 { color: #87d7d7; }
.inv38-116 { background: #87d7d7; }
.ansi48-116 { background: #87d7d7; }
.inv48-116 { color: #87d7d7; }
.ansi38-117 { color: #87d7ff; }
.inv38-117 { background: #87d7ff; }
.ansi48-117 { background: #87d7ff; }
.inv48-117 { color: #87d7ff; }
.ansi38-148 { color: #afd700; }
.inv38-148 { background: #afd700; }
.ansi48-148 { background: #afd700; }
.inv48-148 { color: #afd700; }
.ansi38-149 { color: #afd75f; }
.inv38-149 { background: #afd75f; }
.ansi48-149 { background: #afd75f; }
.inv48-149 { color: #afd75f; }
.ansi38-150 { color: #afd787; }
.inv38-150 { background: #afd787; }
.ansi48-150 { background: #afd787; }
.inv48-150 { color: #afd787; }
.ansi38-151 { color: #afd7af; }
.inv38-151 { background: #afd7af; }
.ansi48-151 { background: #afd7af; }
.inv48-151 { color: #afd7af; }
.ansi38-152 { color: #afd7d7; }
.inv38-152 { background: #afd7d7; }
.ansi48-152 { background: #afd7d7; }
.inv48-152 { color: #afd7d7; }
.ansi38-153 { color: #afd7ff; }
.inv38-153 { background: #afd7ff; }
.ansi48-153 { background: #afd7ff; }
.inv48-153 { color: #afd7ff; }
.ansi38-184 { color: #d7d700; }
.inv38-184 { background: #d7d700; }
.ansi48-184 { background: #d7d700; }
.inv48-184 { color: #d7d700; }
.ansi38-185 { color: #d7d75f; }
.inv38-185 { background: #d7d75f; }
.ansi48-185 { background: #d7d75f; }
.inv48-185 { color: #d7d75f; }
.ansi38-186 { color: #d7d787; }
.inv38-186 { background: #d7d787; }
.ansi48-186 { background: #d7d787; }
.inv48-186 { color: #d7d787; }
.ansi38-187 { color: #d7d7af; }
.inv38-187 { background: #d7d7af; }
.ansi48-187 { background: #d7d7af; }
.inv48-187 { color: #d7d7af; }
.ansi38-188 { color: #d7d7d7; }
.inv38-188 { background: #d7d7d7; }
.ansi48-188 { background: #d7d7d7; }
.inv48-188 { color: #d7d7d7; }
.ansi38-189 { color: #d7d7ff; }
.inv38-189 { background: #d7d7ff; }
.ansi48-189 { background: #d7d7ff; }
.inv48-189 { color: #d7d7ff; }
.ansi38-220 { color: #ffd700; }
.inv38-220 { background: #ffd700; }
.ansi48-220 { background: #ffd700; }
.inv48-220 { color: #ffd700; }
.ansi38-221 { color: #ffd75f; }
.inv38-221 { background: #ffd75f; }
.ansi48-221 { background: #ffd75f; }
.inv48-221 { color: #ffd75f; }
.ansi38-222 { color: #ffd787; }
.inv38-222 { background: #ffd787; }
.ansi48-222 { background: #ffd787; }
.inv48-222 { color: #ffd787; }
.ansi38-223 { color: #ffd7af; }
.inv38-223 { background: #ffd7af; }
.ansi48-223 { background: #ffd7af; }
.inv48-223 { color: #ffd7af; }
.ansi38-224 { color: #ffd7d7; }
.inv38-224 { background: #ffd7d7; }
.ansi48-224 { background: #ffd7d7; }
.inv48-224 { color: #ffd7d7; }
.ansi38-225 { color: #ffd7ff; }
.inv38-225 { background: #ffd7ff; }
.ansi48-225 { background: #ffd7ff; }
.inv48-225 { color: #ffd7ff; }
.ansi38-46 { color: #00ff00; }
.inv38-46 { background: #00ff00; }
.ansi48-46 { background: #00ff00; }
.inv48-46 { color: #00ff00; }
.ansi38-47 { color: #00ff5f; }
.inv38-47 { background: #00ff5f; }
.ansi48-47 { background: #00ff5f; }
.inv48-47 { color: #00ff5f; }
.ansi38-48 { color: #00ff87; }
.inv38-48 { background: #00ff87; }
.ansi48-48 { background: #00ff87; }
.inv48-48 { color: #00ff87; }
.ansi38-49 { color: #00ffaf; }
.inv38-49 { background: #00ffaf; }
.ansi48-49 { background: #00ffaf; }
.inv48-49 { color: #00ffaf; }
.ansi38-50 { color: #00ffd7; }
.inv38-50 { background: #00ffd7; }
.ansi48-50 { background: #00ffd7; }
.inv48-50 { color: #00ffd7; }
.ansi38-51 { color: #00ffff; }
.inv38-51 { background: #00ffff; }
.ansi48-51 { background: #00ffff; }
.inv48-51 { color: #00ffff; }
.ansi38-82 { color: #5fff00; }
.inv38-82 { background: #5fff00; }
.ansi48-82 { background: #5fff00; }
.inv48-82 { color: #5fff00; }
.ansi38-83 { color: #5fff5f; }
.inv38-83 { background: #5fff5f; }
.ansi48-83 { background: #5fff5f; }
.inv48-83 { color: #5fff5f; }
.ansi38-84 { color: #5fff87; }
.inv38-84 { background: #5fff87; }
.ansi48-84 { background: #5fff87; }
.inv48-84 { color: #5fff87; }
.ansi38-85 { color: #5fffaf; }
.inv38-85 { background: #5fffaf; }
.ansi48-85 { background: #5fffaf; }
.inv48-85 { color: #5fffaf; }
.ansi38-86 { color: #5fffd7; }
.inv38-86 { background: #5fffd7; }
.ansi48-86 { background: #5fffd7; }
.inv48-86 { color: #5fffd7; }
.ansi38-87 { color: #5fffff; }
.inv38-87 { background: #5fffff; }
.ansi48-87 { background: #5fffff; }
.inv48-87 { color: #5fffff; }
.ansi38-118 { color: #87ff00; }
.inv38-118 { background: #87ff00; }
.ansi48-118 { background: #87ff00; }
.inv48-118 { color: #87ff00; }
.ansi38-119 { color: #87ff5f; }
.inv38-119 { background: #87ff5f; }
.ansi48-119 { background: #87ff5f; }
.inv48-119 { color: #87ff5f; }
.ansi38-120 { color: #87ff87; }
.inv38-120 { background: #87ff87; }
.ansi48-120 { background: #87ff87; }
.inv48-120 { color: #87ff87; }
.ansi38-121 { color: #87ffaf; }
.inv38-121 { background: #87ffaf; }
.ansi48-121 { background: #87ffaf; }
.inv48-121 { color: #87ffaf; }
.ansi38-122 { color: #87ffd7; }
.inv38-122 { background: #87ffd7; }
.ansi48-122 { background: #87ffd7; }
.inv48-122 { color: #87ffd7; }
.ansi38-123 { color: #87ffff; }
.inv38-123 { background: #87ffff; }
.ansi48-123 { background: #87ffff; }
.inv48-123 { color: #87ffff; }
.ansi38-154 { color: #afff00; }
.inv38-154 { background: #afff00; }
.ansi48-154 { background: #afff00; }
.inv48-154 { color: #afff00; }
.ansi38-155 { color: #afff5f; }
.inv38-155 { background: #afff5f; }
.ansi48-155 { background: #afff5f; }
.inv48-155 { color: #afff5f; }
.ansi38-156 { color: #afff87; }
.inv38-156 { background: #afff87; }
.ansi48-156 { background: #afff87; }
.inv48-156 { color: #afff87; }
.ansi38-157 { color: #afffaf; }
.inv38-157 { background: #afffaf; }
.ansi48-157 { background: #afffaf; }
.inv48-157 { color: #afffaf; }
.ansi38-158 { color: #afffd7; }
.inv38-158 { background: #afffd7; }
.ansi48-158 { background: #afffd7; }
.inv48-158 { color: #afffd7; }
.ansi38-159 { color: #afffff; }
.inv38-159 { background: #afffff; }
.ansi48-159 { background: #afffff; }
.inv48-159 { color: #afffff; }
.ansi38-190 { color: #d7ff00; }
.inv38-190 { background: #d7ff00; }
.ansi48-190 { background: #d7ff00; }
.inv48-190 { color: #d7ff00; }
.ansi38-191 { color: #d7ff5f; }
.inv38-191 { background: #d7ff5f; }
.ansi48-191 { background: #d7ff5f; }
.inv48-191 { color: #d7ff5f; }
.ansi38-192 { color: #d7ff87; }
.inv38-192 { background: #d7ff87; }
.ansi48-192 { background: #d7ff87; }
.inv48-192 { color: #d7ff87; }
.ansi38-193 { color: #d7ffaf; }
.inv38-193 { background: #d7ffaf; }
.ansi48-193 { background: #d7ffaf; }
.inv48-193 { color: #d7ffaf; }
.ansi38-194 { color: #d7ffd7; }
.inv38-194 { background: #d7ffd7; }
.ansi48-194 { background: #d7ffd7; }
.inv48-194 { color: #d7ffd7; }
.ansi38-195 { color: #d7ffff; }
.inv38-195 { background: #d7ffff; }
.ansi48-195 { background: #d7ffff; }
.inv48-195 { color: #d7ffff; }
.ansi38-226 { color: #ffff00; }
.inv38-226 { background: #ffff00; }
.ansi48-226 { background: #ffff00; }
.inv48-226 { color: #ffff00; }
.ansi38-227 { color: #ffff5f; }
.inv38-227 { background: #ffff5f; }
.ansi48-227 { background: #ffff5f; }
.inv48-227 { color: #ffff5f; }
.ansi38-228 { color: #ffff87; }
.inv38-228 { background: #ffff87; }
.ansi48-228 { background: #ffff87; }
.inv48-228 { color: #ffff87; }
.ansi38-229 { color: #ffffaf; }
.inv38-229 { background: #ffffaf; }
.ansi48-229 { background: #ffffaf; }
.inv48-229 { color: #ffffaf; }
.ansi38-230 { color: #ffffd7; }
.inv38-230 { background: #ffffd7; }
.ansi48-230 { background: #ffffd7; }
.inv48-230 { color: #ffffd7; }
.ansi38-231 { color: #ffffff; }
.inv38-231 { background: #ffffff; }
.ansi48-231 { background: #ffffff; }
.inv48-231 { color: #ffffff; }
.ansi38-232 { color: #080808; }
.inv38-232 { background: #080808; }
.ansi48-232 { background: #080808; }
.inv48-232 { color: #080808; }
.ansi38-233 { color: #121212; }
.inv38-233 { background: #121212; }
.ansi48-233 { background: #121212; }
.inv48-233 { color: #121212; }
.ansi38-234 { color: #1c1c1c; }
.inv38-234 { background: #1c1c1c; }
.ansi48-234 { background: #1c1c1c; }
.inv48-234 { color: #1c1c1c; }
.ansi38-235 { color: #262626; }
.inv38-235 { background: #262626; }
.ansi48-235 { background: #262626; }
.inv48-235 { color: #262626; }
.ansi38-236 { color: #303030; }
.inv38-236 { background: #303030; }
.ansi48-236 { background: #303030; }
.inv48-236 { color: #303030; }
.ansi38-237 { color: #3a3a3a; }
.inv38-237 { background: #3a3a3a; }
.ansi48-237 { background: #3a3a3a; }
.inv48-237 { color: #3a3a3a; }
.ansi38-238 { color: #444444; }
.inv38-238 { background: #444444; }
.ansi48-238 { background: #444444; }
.inv48-238 { color: #444444; }
.ansi38-239 { color: #4e4e4e; }
.inv38-239 { background: #4e4e4e; }
.ansi48-239 { background: #4e4e4e; }
.inv48-239 { color: #4e4e4e; }
.ansi38-240 { color: #585858; }
.inv38-240 { background: #585858; }
.ansi48-240 { background: #585858; }
.inv48-240 { color: #585858; }
.ansi38-241 { color: #626262; }
.inv38-241 { background: #626262; }
.ansi48-241 { background: #626262; }
.inv48-241 { color: #626262; }
.ansi38-242 { color: #6c6c6c; }
.inv38-242 { background: #6c6c6c; }
.ansi48-242 { background: #6c6c6c; }
.inv48-242 { color: #6c6c6c; }
.ansi38-243 { color: #767676; }
.inv38-243 { background: #767676; }
.ansi48-243 { background: #767676; }
.inv48-243 { color: #767676; }
.ansi38-244 { color: #808080; }
.inv38-244 { background: #808080; }
.ansi48-244 { background: #808080; }
.inv48-244 { color: #808080; }
.ansi38-245 { color: #8a8a8a; }
.inv38-245 { background: #8a8a8a; }
.ansi48-245 { background: #8a8a8a; }
.inv48-245 { color: #8a8a8a; }
.ansi38-246 { color: #949494; }
.inv38-246 { background: #949494; }
.ansi48-246 { background: #949494; }
.inv48-246 { color: #949494; }
.ansi38-247 { color: #9e9e9e; }
.inv38-247 { background: #9e9e9e; }
.ansi48-247 { background: #9e9e9e; }
.inv48-247 { color: #9e9e9e; }
.ansi38-248 { color: #a8a8a8; }
.inv38-248 { background: #a8a8a8; }
.ansi48-248 { background: #a8a8a8; }
.inv48-248 { color: #a8a8a8; }
.ansi38-249 { color: #b2b2b2; }
.inv38-249 { background: #b2b2b2; }
.ansi48-249 { background: #b2b2b2; }
.inv48-249 { color: #b2b2b2; }
.ansi38-250 { color: #bcbcbc; }
.inv38-250 { background: #bcbcbc; }
.ansi48-250 { background: #bcbcbc; }
.inv48-250 { color: #bcbcbc; }
.ansi38-251 { color: #c6c6c6; }
.inv38-251 { background: #c6c6c6; }
.ansi48-251 { background: #c6c6c6; }
.inv48-251 { color: #c6c6c6; }
.ansi38-252 { color: #d0d0d0; }
.inv38-252 { background: #d0d0d0; }
.ansi48-252 { background: #d0d0d0; }
.inv48-252 { color: #d0d0d0; }
.ansi38-253 { color: #dadada; }
.inv38-253 { background: #dadada; }
.ansi48-253 { background: #dadada; }
.inv48-253 { color: #dadada; }
.ansi38-254 { color: #e4e4e4; }
.inv38-254 { background: #e4e4e4; }
.ansi48-254 { background: #e4e4e4; }
.inv48-254 { color: #e4e4e4; }
.ansi38-255 { color: #eeeeee; }
.inv38-255 { background: #eeeeee; }
.ansi48-255 { background: #eeeeee; }
.inv48-255 { color: #eeeeee; }

/* ─── Cockpit chat feed ─────────────────────────────────────────── */
.chat-feed {
  flex: 1;
  min-height: 0;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 12px;
  background: #0e0805;
  border: 1px solid var(--border);
  border-radius: var(--radius);
}

/* ── Turn containers ── */
.chat-turn {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-bottom: 14px;
}

.chat-turn--pending {
  opacity: 0.72;
}

.chat-turn-header {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin-bottom: 4px;
}

.chat-turn-label {
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.chat-turn--human .chat-turn-label { color: var(--accent); }
.chat-turn--assistant .chat-turn-label { color: var(--muted); }

.chat-turn--human {
  border-left: 2px solid rgba(212, 105, 30, 0.6);
  padding-left: 10px;
}

.chat-turn--human .chat-command-badge {
  margin-bottom: 0;
  display: inline-block;
}

.chat-block {
  border-radius: var(--radius);
  border-left: 2px solid transparent;
  padding: 5px 8px;
  font-family: var(--mono);
  font-size: 12px;
  line-height: 1.5;
  word-break: break-word;
}

.chat-block--file-op  { border-left-color: var(--border); background: var(--surface); }
.chat-block--question { border-left-color: var(--yellow); background: rgba(232, 184, 75, 0.07); padding: 8px 10px; }
.chat-block--status-ok   { color: var(--sage); }
.chat-block--status-err  { color: var(--maple); }
.chat-block--status-warn { color: var(--accent2); }
.chat-block--status-task { color: var(--muted); }
.chat-block--output { padding: 1px 0; }

/* shell command badge */
.chat-command-badge {
  display: inline-block;
  background: rgba(212, 105, 30, 0.12);
  border: 1px solid rgba(212, 105, 30, 0.28);
  color: var(--accent);
  border-radius: 4px;
  padding: 2px 8px;
  font-family: var(--mono);
  font-size: 12px;
  margin-bottom: 6px;
  white-space: pre-wrap;
  word-break: break-word;
}

/* file-op header row */
.chat-file-op-header {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.chat-file-op-badge {
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 600;
  background: rgba(200, 153, 42, 0.14);
  border: 1px solid rgba(200, 153, 42, 0.30);
  color: var(--accent2);
  border-radius: 4px;
  padding: 1px 7px;
  white-space: nowrap;
}
.chat-file-op-badge[data-tool="Read"]  { color: #5b9bd5; background: rgba(91,155,213,0.10); border-color: rgba(91,155,213,0.30); }
.chat-file-op-badge[data-tool="Edit"],
.chat-file-op-badge[data-tool="Write"] { color: var(--accent); background: rgba(212,105,30,0.10); border-color: rgba(212,105,30,0.28); }
.chat-file-op-badge[data-tool="Bash"]  { color: var(--sage); background: rgba(90,122,74,0.10); border-color: rgba(90,122,74,0.28); }
.chat-file-op-badge[data-tool="Glob"],
.chat-file-op-badge[data-tool="Grep"]  { color: var(--accent2); background: rgba(200,153,42,0.10); border-color: rgba(200,153,42,0.28); }
.chat-file-op-badge[data-tool="Agent"],
.chat-file-op-badge[data-tool="Task"],
.chat-file-op-badge[data-tool="TaskCreate"],
.chat-file-op-badge[data-tool="TaskUpdate"] { color: var(--maple); background: rgba(168,50,32,0.10); border-color: rgba(168,50,32,0.28); }
.chat-file-op-path {
  font-family: var(--mono);
  font-size: 12px;
  color: var(--text);
  word-break: break-all;
}

.chat-block-ts {
  font-size: 10px;
  color: var(--text-muted);
  font-family: var(--mono);
  opacity: 0.4;
  margin-left: auto;
}

.chat-block-body {
  color: var(--text);
  white-space: pre-wrap;
  word-break: break-word;
}

.chat-block-body--collapsed {
  max-height: 12rem;
  overflow: hidden;
}

.chat-expand {
  background: none;
  border: none;
  color: var(--text-muted);
  cursor: pointer;
  font-size: 11px;
  padding: 4px 0;
  min-height: 32px;
  display: flex;
  align-items: center;
  font-family: var(--font);
}
.chat-expand:hover { color: var(--accent); }

/* Complete 16-color ANSI remap — scoped to block content and command badges */
.chat-block-body .ansi30,  .chat-command-badge .ansi30  { color: var(--muted)   !important; }
.chat-block-body .ansi90,  .chat-command-badge .ansi90  { color: var(--muted)   !important; }
.chat-block-body .ansi31,  .chat-command-badge .ansi31  { color: var(--maple)   !important; }
.chat-block-body .ansi91,  .chat-command-badge .ansi91  { color: var(--maple)   !important; }
.chat-block-body .ansi32,  .chat-command-badge .ansi32  { color: var(--sage)    !important; }
.chat-block-body .ansi92,  .chat-command-badge .ansi92  { color: var(--sage)    !important; }
.chat-block-body .ansi33,  .chat-command-badge .ansi33  { color: var(--accent2) !important; }
.chat-block-body .ansi93,  .chat-command-badge .ansi93  { color: var(--accent2) !important; }
.chat-block-body .ansi34,  .chat-command-badge .ansi34  { color: #5b9bd5        !important; }
.chat-block-body .ansi94,  .chat-command-badge .ansi94  { color: #5b9bd5        !important; }
.chat-block-body .ansi35,  .chat-command-badge .ansi35  { color: #c586c0        !important; }
.chat-block-body .ansi95,  .chat-command-badge .ansi95  { color: #c586c0        !important; }
.chat-block-body .ansi36,  .chat-command-badge .ansi36  { color: #4ec9b0        !important; }
.chat-block-body .ansi96,  .chat-command-badge .ansi96  { color: #4ec9b0        !important; }
.chat-block-body .ansi37,  .chat-command-badge .ansi37  { color: var(--text)    !important; }
.chat-block-body .ansi97,  .chat-command-badge .ansi97  { color: var(--text)    !important; }

/* Esc prominent button */
.btn--prominent {
  background: var(--surface2);
  color: var(--text);
  border: 1px solid var(--accent);
  border-radius: var(--radius);
  padding: 6px 16px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  font-family: var(--font);
  white-space: nowrap;
}
.btn--prominent:hover {
  background: rgba(212, 105, 30, 0.15);
  border-color: var(--maple);
  color: var(--accent);
}

/* === Claude JSONL chat — new block & turn types === */

/* thinking — muted, italicized header */
.chat-block--thinking {
  border-left-color: var(--accent-muted, #6b6b6b);
  opacity: 0.85;
}
.chat-thinking-header {
  font-style: italic;
  font-size: 0.8rem;
  color: var(--text-muted, #888);
  padding: 4px 10px 0;
}

/* tool_result — sits visually under the preceding tool_use */
.chat-block--tool-result {
  margin-top: -6px;        /* visually pin to the tool_use above */
  border-left-color: var(--accent-muted, #6b6b6b);
}
.chat-tool-result-tag {
  font-size: 0.75rem;
  color: var(--text-muted, #888);
  padding: 4px 10px 0;
}
.chat-tool-result-tag--err {
  color: var(--accent-err, #c04040);
}

/* tool_use — reuses .chat-block--file-op styling already present */
.chat-block--tool-use {
  /* alias to file-op styling */
}
.chat-block--tool-use .chat-file-op-header {
  /* inherit existing rules */
}

/* terminal — fallback role for non-Claude panes */
.chat-turn--terminal .chat-turn-label {
  color: var(--text-muted, #888);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.7rem;
}
.chat-turn--terminal .chat-block {
  border-left-color: var(--accent-muted, #6b6b6b);
}
.chat-turn--terminal .chat-block-body {
  font-family: var(--mono, ui-monospace, monospace);
  white-space: pre;
  overflow-x: auto;
}

/* ================================================================
   Chat polish — overflow, prose typography, hierarchy
   Appended last so it overrides earlier .chat-* rules.
   ================================================================ */

/* --- Containment: nothing inside the feed pushes the page wide --- */
.chat-feed {
  overflow-x: hidden;
  padding: 16px;
  gap: 0;
}
.chat-feed *,
.chat-block,
.chat-block-body {
  min-width: 0;
  max-width: 100%;
}
/* Markdown <pre> blocks: scroll inside, never push parent */
.chat-block-body pre {
  background: rgba(0, 0, 0, 0.35);
  border: 1px solid var(--border);
  border-radius: 6px;
  padding: 10px 12px;
  margin: 8px 0;
  overflow-x: auto;
  white-space: pre;
  font-family: var(--mono);
  font-size: 12.5px;
  line-height: 1.5;
}
.chat-block-body pre code {
  background: transparent;
  padding: 0;
  border: 0;
  font-size: inherit;
  color: inherit;
}
/* Inline code: subtle pill */
.chat-block-body code {
  font-family: var(--mono);
  font-size: 0.88em;
  background: rgba(212, 105, 30, 0.10);
  border: 1px solid rgba(212, 105, 30, 0.20);
  color: var(--accent2);
  padding: 1px 5px;
  border-radius: 4px;
  word-break: break-word;
}
/* Long URLs / paths in prose */
.chat-block-body a,
.chat-block-body p,
.chat-block-body li {
  overflow-wrap: anywhere;
}

/* --- Turn rhythm: more breathing room, faint divider --- */
.chat-turn {
  margin-bottom: 22px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(212, 105, 30, 0.08);
}
.chat-turn:last-child {
  border-bottom: 0;
  margin-bottom: 8px;
}

/* --- Assistant prose: read like prose, not like code --- */
.chat-turn--assistant .chat-block--text,
.chat-turn--assistant .chat-block--text .chat-block-body {
  font-family: var(--font);
  font-size: 14.5px;
  line-height: 1.6;
  color: var(--text);
  white-space: normal;        /* let markdown <p>/<li> own the line breaks */
  word-break: normal;
  overflow-wrap: anywhere;
}
.chat-turn--assistant .chat-block--text {
  padding: 4px 0 6px;
  border-left: 0;             /* prose doesn't need a side stripe */
}
/* Markdown spacing inside assistant prose */
.chat-block--text p { margin: 0 0 10px; }
.chat-block--text p:last-child { margin-bottom: 0; }
.chat-block--text ul,
.chat-block--text ol { margin: 6px 0 10px; padding-left: 22px; }
.chat-block--text li { margin-bottom: 4px; }
.chat-block--text h1,
.chat-block--text h2,
.chat-block--text h3,
.chat-block--text h4 {
  font-family: var(--font);
  font-weight: 700;
  margin: 14px 0 6px;
  color: var(--text);
  line-height: 1.3;
}
.chat-block--text h1 { font-size: 18px; }
.chat-block--text h2 { font-size: 16px; }
.chat-block--text h3 { font-size: 14.5px; color: var(--accent2); }
.chat-block--text h4 { font-size: 13.5px; color: var(--text-muted); }
.chat-block--text strong { color: var(--text); font-weight: 700; }
.chat-block--text em { color: var(--accent2); font-style: italic; }
.chat-block--text blockquote {
  border-left: 3px solid var(--accent);
  padding-left: 12px;
  margin: 8px 0;
  color: var(--text-muted);
  font-style: italic;
}
.chat-block--text hr {
  border: 0;
  border-top: 1px solid var(--border);
  margin: 14px 0;
}
.chat-block--text table {
  border-collapse: collapse;
  margin: 8px 0;
  font-size: 13px;
  display: block;
  overflow-x: auto;
  max-width: 100%;
}
.chat-block--text th,
.chat-block--text td {
  border: 1px solid var(--border);
  padding: 4px 8px;
  text-align: left;
}
.chat-block--text th { background: var(--surface); font-weight: 600; }

/* --- Human turn: feel like a sent message, not a shell command --- */
.chat-turn--human {
  border-left: 0;
  padding-left: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-end;       /* right-align user bubbles for chat feel */
  margin-bottom: 22px;
}
.chat-turn--human .chat-turn-header {
  width: 100%;
  justify-content: flex-end;
}
.chat-turn--human .chat-turn-label {
  color: var(--accent);
}
.chat-turn--human .chat-command-badge {
  background: linear-gradient(180deg, rgba(212, 105, 30, 0.18), rgba(212, 105, 30, 0.10));
  border: 1px solid rgba(212, 105, 30, 0.32);
  color: var(--text);
  font-family: var(--font);
  font-size: 14px;
  line-height: 1.5;
  padding: 8px 14px;
  border-radius: 14px 14px 4px 14px;  /* speech-bubble corner */
  max-width: min(85%, 560px);
  white-space: pre-wrap;
  word-break: break-word;
}

/* --- Tool calls: compact metadata, low visual weight --- */
.chat-block--tool-use {
  background: var(--surface);
  border: 1px solid var(--border);
  border-left: 2px solid var(--accent2);
  border-radius: 6px;
  padding: 6px 10px;
  margin: 6px 0;
  font-size: 12px;
}
.chat-block--tool-use .chat-file-op-header {
  gap: 10px;
}
.chat-file-op-path {
  color: var(--text-muted);
  font-size: 12px;
  word-break: break-all;
}
/* When a tool_use carries an inline result body */
.chat-block--tool-use-with-result .chat-block-body {
  font-family: var(--mono);
  font-size: 11.5px;
  line-height: 1.45;
  color: var(--text-muted);
  white-space: pre;
  overflow-x: auto;
  margin-top: 6px;
  padding: 8px 10px;
  background: rgba(0, 0, 0, 0.30);
  border-radius: 4px;
  max-height: none;             /* show full content when expanded */
}
.chat-block--tool-use-with-result .chat-block-body--collapsed {
  max-height: 8rem;
  overflow: hidden;
}
.chat-block--tool-use-with-result .chat-expand {
  margin-top: 4px;
}
/* Standalone (unmatched) tool_result fallback styling */
.chat-block--tool-result {
  margin: -4px 0 6px 12px;
  border-left: 2px solid var(--border);
  padding: 4px 10px;
  background: rgba(0, 0, 0, 0.18);
  border-radius: 0 6px 6px 0;
}
.chat-block--tool-result .chat-block-body {
  font-family: var(--mono);
  font-size: 11.5px;
  line-height: 1.45;
  color: var(--text-muted);
  white-space: pre;
  overflow-x: auto;
}
.chat-block--tool-result .chat-block-body--collapsed {
  max-height: 8rem;
}

/* --- Thinking: even more recessive --- */
.chat-block--thinking {
  background: rgba(255, 255, 255, 0.02);
  border: 1px dashed var(--border);
  border-radius: 6px;
  padding: 4px 10px;
  margin: 6px 0;
  opacity: 0.7;
}
.chat-thinking-header {
  font-family: var(--mono);
  font-size: 11px;
  color: var(--text-muted);
  letter-spacing: 0.04em;
  padding: 0 0 2px;
}
.chat-block--thinking .chat-block-body {
  font-family: var(--mono);
  font-size: 11.5px;
  color: var(--text-muted);
  white-space: pre-wrap;
}

/* --- Header timestamp on assistant turn: more subtle --- */
.chat-turn--assistant .chat-turn-header { margin-bottom: 8px; }
.chat-block-ts { font-size: 10px; opacity: 0.35; }

/* --- Expand toggle: tighter, accent on hover --- */
.chat-expand {
  font-family: var(--mono);
  font-size: 10.5px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 2px 0;
  min-height: 24px;
  color: var(--text-muted);
}

.session-board-controls {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) repeat(4, minmax(120px, auto));
  gap: 8px;
  align-items: center;
  margin: 12px 0 16px;
}
.session-board-controls input,
.session-board-controls select {
  width: 100%;
  min-height: 34px;
  color: var(--text);
  background: rgba(0, 0, 0, 0.24);
  border: 1px solid var(--border);
  border-radius: 6px;
  padding: 6px 9px;
}
.session-group-heading {
  grid-column: 1 / -1;
  margin: 8px 0 0;
  font-size: 12px;
  font-family: var(--mono);
  text-transform: uppercase;
  color: var(--text-muted);
}
.session-snippet {
  margin: 8px 0 0;
  color: var(--text-muted);
  font-family: var(--mono);
  font-size: 11.5px;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
.session-attention {
  font-family: var(--mono);
  font-size: 10.5px;
  color: var(--accent);
  border: 1px solid rgba(218, 114, 51, 0.35);
  border-radius: 999px;
  padding: 2px 7px;
}
.seat-tool-btn {
  min-width: 0;
}
.seat-command-results {
  display: grid;
  gap: 6px;
  margin-top: 10px;
}
.seat-command-result {
  display: grid;
  gap: 2px;
  width: 100%;
  text-align: left;
  color: var(--text);
  background: rgba(0, 0, 0, 0.24);
  border: 1px solid var(--border);
  border-radius: 6px;
  padding: 8px 10px;
}
.seat-command-result:hover,
.seat-command-result:focus-visible {
  border-color: var(--accent);
  background: rgba(191, 94, 30, 0.12);
}
.seat-command-result-kind {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--accent2);
}
.seat-command-result-label {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.seat-command-palette[hidden] {
  display: none;
}
.seat-command-palette {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: grid;
  place-items: start center;
  padding-top: 16vh;
  background: rgba(0, 0, 0, 0.45);
}
.seat-command-palette-panel {
  width: min(560px, calc(100vw - 32px));
  background: var(--surface2);
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 12px;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.45);
}
.seat-command-search {
  width: 100%;
  min-height: 38px;
  color: var(--text);
  background: rgba(0, 0, 0, 0.28);
  border: 1px solid var(--border);
  border-radius: 6px;
  padding: 8px 10px;
}
.codex-diagnostics,
.codex-timeline {
  margin: 10px 0;
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 10px;
  background: rgba(0, 0, 0, 0.18);
}
.codex-diagnostics-health {
  font-family: var(--mono);
  color: var(--accent);
}
.codex-timeline {
  display: grid;
  gap: 6px;
}
.codex-timeline-item {
  display: grid;
  grid-template-columns: minmax(90px, auto) minmax(70px, auto) minmax(0, 1fr);
  gap: 8px;
  align-items: baseline;
  color: var(--text-muted);
  font-size: 12px;
}
.codex-timeline-item strong {
  color: var(--text);
  font-family: var(--mono);
}

@media (max-width: 760px) {
  .session-board-controls {
    grid-template-columns: 1fr;
  }
  .codex-timeline-item {
    grid-template-columns: 1fr;
  }
}
