/* B293.1 — Boss-chat redesign stylesheet. Boss msg=6bf59e45 2026-05-17.
 * Original source: VEP_Chat.zip / panel-styles.css (claude-designer pass).
 * Scoped to .bc-redesign-v1 root via @scope so it cannot bleed into other
 * panel types or legacy boss-chat panels that lack the redesign class.
 * Activate by adding 'bc-redesign-v1' class to the boss-chat panel root.
 */

@scope (.bc-redesign-v1) {


/* B293.1.A — design tokens + base typography hang off the scope root.
 * Inside @scope, bare selectors like `.panel{}` would only match
 * descendants of .bc-redesign-v1, not the root itself, so we use
 * :scope to style the panel root (which carries both .panel and
 * .bc-redesign-v1 classes in production). The legacy <html, body>
 * rules from the designer's mockup don't make sense outside the
 * .bc-redesign-v1 subtree, so font + smoothing are pulled onto
 * :scope too — they cascade down to descendants of the boss-chat
 * panel exactly as the design intended.
 */
:scope{
  /* Telegram-soft dark palette — cool blue-gray, low chroma, soft whites */
  --bg:           oklch(0.225 0.014 245);
  --bg-2:         oklch(0.205 0.014 245);
  --panel:        oklch(0.265 0.014 245);
  --panel-2:      oklch(0.305 0.014 245);
  --line:         oklch(0.36  0.012 245);
  --line-soft:    oklch(0.32  0.010 245);
  --ink:          oklch(0.965 0.004 245);
  --ink-2:        oklch(0.83  0.010 245);
  --ink-3:        oklch(0.65  0.012 245);
  --ink-4:        oklch(0.52  0.012 245);
  /* Single soft-blue accent (Telegram-like). Violet kept very low for legacy class names. */
  --accent:       oklch(0.72  0.10  250);
  --accent-soft:  oklch(0.42  0.08  250);
  --stream:       oklch(0.78  0.10  185);
  --stream-soft:  oklch(0.38  0.07  185);
  --amber:        oklch(0.80  0.10  80);
  --amber-soft:   oklch(0.40  0.08  80);
  --error:        oklch(0.68  0.12  25);
  --error-soft:   oklch(0.34  0.08  25);
  --bc-composer-min-height: 96px;
  --mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
  color:var(--ink);
  font-family:'Inter', system-ui, sans-serif;
  -webkit-font-smoothing:antialiased;
}
*{ box-sizing:border-box; }

/* Panel shell -------------------------------------------------------- */
/* B293.1.A: this rule styles the SCOPE ROOT itself (the boss-chat panel
 * div that carries both .panel and .bc-redesign-v1). Inside @scope, bare
 * `.panel{}` only matches descendants; for the root we must use :scope.
 *
 * B413.2: the redesign root owns its internal stack and fills the panel
 * manager slot. The outer panel manager still owns placement/height.
 */
:scope{
  background:var(--bg-2);
  border:1px solid var(--line);
  border-radius:14px;
  box-shadow:
    0 24px 60px -24px oklch(0 0 0 / .5);
  overflow:hidden;
  position:relative;
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
  width:100%;
  height:100%;
  min-height:0;
  container-type:inline-size;
  container-name:panel;
}

/* B413.3: offscreen boss-chat panels keep layout size but stop expensive paint/animation work. */
:scope.bc-panel-offscreen{
  content-visibility:auto;
  contain-intrinsic-size:720px 420px;
}
:scope.bc-panel-offscreen *,
:scope.bc-panel-offscreen *::before,
:scope.bc-panel-offscreen *::after{
  animation-play-state:paused !important;
}

/* ---- Panel header (2-row, transformable) ---- */
.panel-header{
  display:flex; align-items:center; gap:9px;
  padding:10px 10px 10px 12px;
  border-bottom:1px solid var(--line);
  background:var(--panel);
  position:relative;
  min-height:48px;
}
.panel-header.bc-header-shell{
  display:block;
  padding:0;
  border-bottom:0;
  background:transparent;
  min-height:0;
}
.panel-header.bc-header-shell > .bc-tele-row{
  width:100%;
}
.header-violet::before{
  content:none;
}
.panel-emp-avatar{
  width:34px; height:34px; border-radius:50%; flex:0 0 34px;
  background:linear-gradient(135deg, oklch(0.62 0.10 250), oklch(0.40 0.08 250));
  display:flex; align-items:center; justify-content:center;
  font-weight:500; font-size:12px; color:var(--ink);
  position:relative;
  letter-spacing:.02em;
}
.panel-emp-status{
  position:absolute; right:-1px; bottom:-1px; width:10px; height:10px; border-radius:50%;
  background:var(--stream); border:2.5px solid var(--panel);
}
.panel-title-stack{ flex:1; min-width:0; display:flex; align-items:center; gap:8px;}
.panel-title-inner{ min-width:0; overflow:hidden;}
.panel-type{
  display:inline-flex; align-items:center; gap:4px;
  font-size:10.5px; color:var(--ink-3);
  font-weight:400;
}
.panel-type::before{ content:""; width:0; height:0; display:none;}
.panel-title{ display:block; font-size:14px; font-weight:600; color:var(--ink); line-height:1.2; letter-spacing:-0.005em; margin-top:1px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.panel-title .org{ color:var(--ink-3); font-weight:400; }

/* Soul pill — inline in header next to title */
.soul-pill{
  display:inline-flex; align-items:center; gap:6px;
  padding:3px 9px 3px 7px; border-radius:999px;
  background:oklch(0.30 0.012 245);
  font-size:11px; color:var(--ink-3); white-space:nowrap;
  flex:0 0 auto;
}
.soul-pill.soul-streaming{ color:var(--stream); background:oklch(0.28 0.03 185);}
.soul-pill.soul-typing{ color:var(--amber); background:oklch(0.28 0.03 80);}
.soul-pill .soul-heart{ height:11px; gap:2px;}
.soul-pill .soul-heart span{ width:2px;}

.panel-header-actions{ display:flex; align-items:center; gap:0; margin-left:auto; flex:0 0 auto;}
.bc-header-btn, .panel-close{
  appearance:none; background:transparent; border:0; color:var(--ink-3);
  width:26px; height:26px; border-radius:6px; cursor:default;
  display:inline-flex; align-items:center; justify-content:center; font-size:12px;
  transition:background .15s, color .15s;
}
.bc-header-btn:hover, .panel-close:hover{ background:oklch(1 0 0 / .06); color:var(--ink); }
.panel-close{ font-size:16px; margin-left:2px; }
.bc-header-divider{ width:1px; height:14px; background:var(--line); margin:0 4px;}
.bc-header-overflow{ position:relative;}

.bc-tele-row{
  display:flex; align-items:center; gap:6px;
  padding:7px 12px;
  border-bottom:1px solid var(--line);
  background:var(--panel);
  overflow-x:auto; overflow-y:hidden;
  scrollbar-width:none; white-space:nowrap;
  min-height:38px;
}
.bc-tele-row::-webkit-scrollbar{ display:none;}
.bc-tele-row .tele-sep{ width:1px; height:14px; background:var(--line); flex:0 0 1px;}

/* ---- Soul heartbeat primitives ---- */
.soul-heart{
  display:inline-flex; align-items:center; gap:3px;
  height:14px;
}
.soul-heart span{
  width:3px; border-radius:2px; background:var(--ink-4);
  animation: soulbeat 1.6s ease-in-out infinite;
}
.soul-heart span:nth-child(1){ height:4px; animation-delay:0s; }
.soul-heart span:nth-child(2){ height:8px; animation-delay:.12s; }
.soul-heart span:nth-child(3){ height:12px; animation-delay:.24s; }
.soul-heart span:nth-child(4){ height:8px;  animation-delay:.36s; }
.soul-heart span:nth-child(5){ height:5px;  animation-delay:.48s; }
.soul-streaming .soul-heart span{ background:var(--stream); box-shadow: 0 0 6px oklch(0.78 0.15 175 / .6);}
.soul-typing    .soul-heart span{ background:var(--amber); }
.soul-idle      .soul-heart span{ animation:none; opacity:.55; }
@keyframes soulbeat{
  0%, 100%{ transform:scaleY(.6); opacity:.5;}
  50%{ transform:scaleY(1.1); opacity:1;}
}

/* ---- Session stats chips ---- */
.bc-runtime-badge{
  display:inline-flex; align-items:center; gap:5px;
  padding:3px 9px; border-radius:999px;
  font-size:11px; font-weight:500;
  color:var(--accent); background:oklch(0.30 0.05 250);
  cursor:default;
}
.bc-runtime-badge::before{ content:""; width:5px; height:5px; border-radius:50%; background:var(--accent);}
.bc-runtime-codex{ color:var(--stream); background:oklch(0.30 0.04 185); }
.bc-runtime-codex::before{ background:var(--stream);}
.stat-chip{
  display:inline-flex; align-items:center; gap:5px;
  padding:3px 9px; border-radius:999px;
  font-size:11px; color:var(--ink-3);
  background:oklch(0.30 0.012 245);
  white-space:nowrap;
}
.stat-chip b{ color:var(--ink); font-weight:500;}
.stat-budget{
  position:relative; padding-right:42px;
}
.stat-budget::after{
  content:""; position:absolute; right:9px; top:50%; transform:translateY(-50%);
  width:24px; height:3px; border-radius:2px; background:oklch(0.38 0.01 245);
  overflow:hidden;
}
.stat-budget-fill{
  position:absolute; right:9px; top:50%; transform:translateY(-50%);
  width:calc(24px * var(--pct, .79)); height:3px; border-radius:2px;
  background:var(--accent);
  z-index:1;
}

/* ---- Pinned tasks chips ---- */
.pin-label{ font-size:11px; color:var(--ink-4); margin-right:2px;}
.bc-pin-chip{
  appearance:none; border:0; background:oklch(0.30 0.012 245);
  color:var(--ink-2);
  padding:4px 10px 4px 9px; border-radius:999px;
  display:inline-flex; align-items:center; gap:7px;
  font-size:11.5px; cursor:default;
  white-space:nowrap;
}
.bc-pin-chip:hover{ background:oklch(0.34 0.014 245); color:var(--ink); }
.bc-pin-chip code{ font-family:var(--mono); font-size:10px; color:var(--accent); }
.bc-pin-progress{
  display:inline-flex; gap:2px;
}
.bc-pin-progress i{ width:5px; height:5px; border-radius:50%; background:oklch(0.40 0.01 245);}
.bc-pin-progress i.done{ background:var(--stream);}
.bc-pin-progress i.active{ background:var(--amber); animation:pulse-amber 1.4s infinite;}
@keyframes pulse-amber{ 0%,100%{opacity:.5;} 50%{opacity:1;}}

/* ---- Messages scroller ---- */
.panel-body{ display:flex; flex-direction:column; flex:1; min-height:0; }
/* B413.5: bridge the redesign flex chain through legacy boss-chat wrappers.
 * Without these scoped overrides, vertical resize can leave .bc-messages unable
 * to shrink and push the legacy .chat-input below the clipped panel body.
 */
.bc-wrapper{
  display:flex;
  flex:1 1 auto;
  min-height:0;
}
.bc-main{
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
  min-width:0;
  min-height:0;
  overflow:hidden;
}
.bc-content-area{
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
  min-height:0;
}
.bc-messages{
  flex:1 1 auto; min-height:0; overflow-y:auto;
  padding:14px 12px 8px;
  display:flex; flex-direction:column; gap:8px;
  background:var(--bg-2);
  scrollbar-width:thin; scrollbar-color: oklch(0.36 0.01 245) transparent;
}
.bc-msg-virtual-spacer{
  flex:0 0 auto;
  min-height:0;
  pointer-events:none;
}
.chat-input{
  flex:0 0 auto;
}
.bc-messages::-webkit-scrollbar{ width:8px;}
.bc-messages::-webkit-scrollbar-thumb{ background:oklch(0.36 0.01 245); border-radius:4px; border:2px solid var(--bg-2); background-clip:content-box;}

/* Date and goal dividers */
.bc-date-sep{
  align-self:center; padding:3px 12px;
  font-size:11px; color:var(--ink-3);
  background:oklch(0.30 0.012 245); border-radius:999px;
  margin:4px 0;
}
.bc-goal-divider{
  display:flex; align-items:center; gap:10px;
  padding:7px 12px; margin:6px 0 4px;
  background:oklch(0.28 0.012 245);
  border-radius:10px;
  font-size:12px; color:var(--ink-2);
}
.bc-goal-divider-text{ flex:1; }
.bc-goal-divider-progress{ font-size:11px; color:var(--ink-3);}

/* Bubbles */
.bc-msg{ display:flex; flex-direction:column; gap:3px; max-width:100%; }
.bc-msg-boss{ align-items:flex-end; }
.bc-msg-employee{ align-items:flex-start; }
.bc-msg-system{ align-items:center; }

.bc-bubble{ max-width:86%; }
.bc-msg-boss .bc-bubble{ max-width:80%; }

.bc-bubble-body{
  padding:8px 12px 6px;
  border-radius:18px;
  font-size:14px; line-height:1.45;
  color:var(--ink);
  position:relative;
}
.bc-msg-boss .bc-bubble-body{
  background:oklch(0.40 0.07 250);
  border:0;
  border-top-right-radius:6px;
  color:oklch(0.98 0.01 250);
}
.bc-msg-employee .bc-bubble-body{
  background:oklch(0.30 0.012 245);
  border:0;
  border-top-left-radius:6px;
}
.bc-msg-system .bc-bubble-body{
  background:transparent;
  border:0; padding:4px 10px;
  font-style:italic; font-size:11.5px; color:var(--ink-4);
}
.bc-msg-content > * + * { margin-top:6px; }
.bc-msg-content p{ margin:0;}
.bc-msg-content strong{ color:var(--ink);}
.bc-msg-content ul{ margin:4px 0 0; padding-left:18px; color:var(--ink-2);}
.bc-msg-content li{ margin:2px 0;}
.bc-msg-content pre{
  margin:6px 0 2px; padding:8px 30px 8px 10px;
  background:oklch(0.22 0.012 245);
  border-radius:8px;
  font-family:var(--mono); font-size:11px; color:oklch(0.85 0.04 185);
  overflow-x:auto; position:relative;
}
.bc-msg-content pre .copy-btn{
  position:absolute; right:6px; top:5px; padding:2px 6px;
  font-family:var(--mono); font-size:9px; color:var(--ink-3); background:oklch(0.30 0.012 245);
  border:0; border-radius:5px; cursor:default; letter-spacing:.06em;
}

/* Meta + actions row */
.bc-msg-meta{
  display:flex; align-items:center; gap:2px;
  margin-top:4px;
  color:var(--ink-4); font-size:10.5px;
}
.bc-msg-time{ font-size:10.5px; color:oklch(0.92 0.01 250 / .65); margin-right:auto;}
.bc-msg-employee .bc-msg-time{ color:var(--ink-4);}
.bc-msg-meta button{
  appearance:none; background:transparent; border:0;
  color:var(--ink-3); padding:2px 6px; border-radius:6px;
  font-size:10.5px; cursor:default;
  display:inline-flex; align-items:center; gap:3px;
}
.bc-msg-boss .bc-msg-meta button{ color:oklch(0.92 0.01 250 / .7); }
.bc-msg-meta button:hover{ background:oklch(1 0 0 / .08); color:var(--ink); }
.bc-msg-meta .sep{ width:1px; height:9px; background:oklch(1 0 0 / .12); margin:0 1px;}

/* Attachment chips */
.bc-attach-strip{ display:flex; flex-wrap:wrap; gap:5px; margin-top:6px;}
.bc-attach-chip{
  display:inline-flex; align-items:center; gap:6px;
  padding:6px 10px; border-radius:10px;
  background:oklch(0.34 0.06 250); border:0;
  font-size:12px; color:oklch(0.96 0.01 250); text-decoration:none;
}
.bc-msg-employee .bc-attach-chip{ background:oklch(0.26 0.012 245); color:var(--ink-2);}
.bc-attach-chip svg{ flex:0 0 13px;}
.bc-attach-chip .sz{ color:oklch(0.96 0.01 250 / .6); font-size:10.5px;}
.bc-msg-employee .bc-attach-chip .sz{ color:var(--ink-4);}

/* Workspace files */
.bc-workspace-files{
  display:flex; flex-direction:column; gap:5px; margin-top:8px;
  padding:8px;
  border-radius:10px;
  background:oklch(0.27 0.012 245);
}
.bc-workspace-files-title{
  font-size:10.5px; color:var(--ink-3);
  display:flex; align-items:center; gap:6px;
}
.bc-workspace-file{
  display:flex; align-items:center; gap:8px;
  padding:6px 8px; border-radius:8px;
  background:oklch(0.32 0.012 245);
  text-decoration:none; color:var(--ink-2); font-size:12px;
}
.bc-workspace-file:hover{ background:oklch(0.36 0.012 245);}
.bc-workspace-file .ext{
  font-family:var(--mono); font-size:9px; padding:2px 5px; border-radius:4px;
  background:oklch(0.40 0.06 250); color:oklch(0.97 0.01 250); letter-spacing:.04em;
}
.bc-workspace-file .grow{ flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.bc-workspace-file .act{ color:var(--ink-4); font-size:10.5px;}

/* Memory + DNA badges */
.bc-mem-row{ display:flex; flex-wrap:wrap; gap:5px; margin-top:8px;}
.bc-memory-trace-badge, .bc-dna-badge{
  display:inline-flex; align-items:center; gap:6px;
  padding:3px 9px; border-radius:999px;
  font-size:10.5px; color:var(--ink-3);
  background:oklch(0.27 0.012 245);
  cursor:default;
}
.bc-memory-trace-badge::before{ content:"◐"; color:var(--stream); font-size:9px;}
.bc-dna-badge::before{ content:"⌬"; color:var(--accent); font-size:11px;}
.bc-memory-trace-badge b, .bc-dna-badge b{ color:var(--ink-2); font-weight:500;}
.bc-dna-badge.guardrail{ color:oklch(0.85 0.08 80); background:oklch(0.28 0.04 80);}
.bc-dna-badge.guardrail::before{ color:var(--amber);}

/* Streaming bubble — subtle, no scanlines, just a soft pulse */
.bc-msg-streaming .bc-bubble-body{
  background:oklch(0.30 0.02 185);
  box-shadow: 0 0 0 1px var(--stream-soft) inset;
  position:relative;
  overflow:hidden;
}
.bc-msg-streaming .bc-bubble-body::before{ content:none; }
.bc-msg-streaming .bc-bubble-body::after{ content:none; }
.bc-stream-progress{
  display:flex; align-items:center; gap:8px;
  font-size:10.5px;
  color:var(--ink-3);
  padding-bottom:7px; margin-bottom:7px;
  border-bottom:1px solid oklch(1 0 0 / .05);
  position:relative; z-index:1;
}
.bc-stream-status{
  margin-left:auto;
  color:var(--stream); display:inline-flex; align-items:center; gap:5px;
}
.bc-stream-status::before{
  content:""; width:6px; height:6px; border-radius:50%;
  background:var(--stream);
  animation: pulse-stream 1.8s ease-in-out infinite;
}
@keyframes pulse-stream{
  0%,100%{ opacity:.5; transform:scale(.9);}
  50%{ opacity:1; transform:scale(1);}
}
.stream-cursor{
  display:inline-block; width:2px; height:14px; vertical-align:-3px;
  background:var(--stream); margin-left:2px; border-radius:1px;
  animation: blink 1s steps(2) infinite;
  opacity:.85;
}
@keyframes blink{ 50%{ opacity:0; } }

/* Tool log */
.bc-tool-log{
  margin-top:0; margin-bottom:8px;
  border-radius:10px;
  background:oklch(0.22 0.012 245);
  overflow:hidden;
  position:relative; z-index:1;
}
.bc-tool-summary{
  display:flex; align-items:center; gap:7px;
  padding:7px 10px;
  font-size:11.5px; color:var(--ink-2);
  cursor:default;
}
.bc-tool-summary .caret{ color:var(--ink-4); transition:transform .15s;}
.bc-tool-summary.collapsed .caret{ transform:rotate(-90deg);}
.bc-tool-summary .count{ color:var(--ink-4); margin-left:auto; font-size:10.5px;}
.bc-tool-log-row{
  display:grid;
  grid-template-columns: 14px 90px 1fr auto;
  align-items:center; gap:8px;
  padding:6px 10px;
  font-family:var(--mono); font-size:10.5px;
  color:var(--ink-2);
  border-top:1px solid oklch(1 0 0 / .03);
}
.bc-tool-log-row:first-child{ border-top:0;}
.bc-tool-log-row[data-status="done"]    .tool-icn{ color:var(--stream);}
.bc-tool-log-row[data-status="active"]  .tool-icn{ color:var(--amber);}
.bc-tool-log-row[data-status="error"]   .tool-icn{ color:var(--error);}
.bc-tool-name{ color:var(--ink); font-weight:500;}
.bc-tool-query{ color:var(--ink-3); overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.bc-tool-duration{ color:var(--ink-4);}

/* Tool progress bar */
.bc-tool-progress{
  margin-top:4px;
  height:3px; background:oklch(0.30 0.01 245); border-radius:2px; overflow:hidden;
  grid-column: 1 / -1;
}
.bc-tool-progress > i{
  display:block; height:100%; background:var(--amber);
  width:62%;
}

/* Queued message */
.bc-msg-queued .bc-bubble-body{
  background:oklch(0.28 0.012 245) !important;
  color:var(--ink-2);
}
.bc-msg-queued-badge{
  display:inline-flex; align-items:center; gap:5px;
  font-size:10.5px; color:var(--amber);
}
.bc-msg-queued-badge::before{ content:"⏳"; font-size:11px;}

/* Error banner */
.bc-worker-error-banner{
  background:oklch(0.30 0.06 25) !important;
  border:0 !important;
  padding:12px 14px !important;
  border-radius:14px !important;
}
.bc-worker-error-header{
  display:flex; align-items:center; gap:8px;
  color:oklch(0.94 0.05 25); font-weight:600; font-size:13px;
}
.bc-worker-error-icon{
  width:22px; height:22px; border-radius:50%; background:oklch(0.40 0.10 25);
  display:inline-flex; align-items:center; justify-content:center;
  color:oklch(0.97 0.05 25); font-size:12px;
}
.bc-worker-error-body{ font-size:12.5px; color:oklch(0.90 0.03 25); margin:6px 0 10px; line-height:1.5;}
.bc-worker-error-meta{
  font-family:var(--mono); font-size:10px; color:oklch(0.76 0.04 25); margin-bottom:10px;
  padding:5px 8px; border-radius:6px; background:oklch(0.24 0.05 25);
}
.bc-worker-error-actions{ display:flex; flex-wrap:wrap; gap:6px;}
.bc-worker-error-actions button{
  appearance:none; border:0;
  background:oklch(0.46 0.10 25); color:oklch(0.98 0.03 25);
  padding:6px 11px; border-radius:8px; font-size:11.5px;
  cursor:default; font-weight:500;
  display:inline-flex; align-items:center; gap:5px;
}
.bc-worker-error-actions button:hover{ background:oklch(0.52 0.12 25);}
.bc-worker-error-actions .secondary{ background:oklch(0.34 0.04 25); color:oklch(0.88 0.03 25);}

/* Stream idle / aborted */
.bc-stream-idle-notice, .bc-stream-aborted{
  align-self:center;
  display:inline-flex; align-items:center; gap:8px;
  padding:5px 12px;
  font-size:11px;
  color:var(--amber);
  background:oklch(0.28 0.04 80);
  border-radius:999px;
  margin:4px 0;
}
.bc-stream-aborted{ color:var(--ink-3); background:oklch(0.30 0.012 245);}
.bc-stream-restart{
  appearance:none; background:transparent; border:0;
  color:var(--ink); font-size:11px; padding:2px 8px; border-radius:6px; cursor:default;
}

/* Typing indicator */
.bc-typing-indicator{
  align-self:flex-start;
  display:inline-flex; gap:4px; padding:9px 13px;
  background:oklch(0.30 0.012 245);
  border-radius:18px 18px 18px 6px;
}
.bc-typing-dot{
  width:6px; height:6px; border-radius:50%; background:var(--ink-3);
  animation: typing-dot 1.2s infinite;
}
.bc-typing-dot:nth-child(2){ animation-delay:.15s;}
.bc-typing-dot:nth-child(3){ animation-delay:.30s;}
@keyframes typing-dot{ 0%,60%,100%{ opacity:.4; transform:translateY(0);} 30%{ opacity:1; transform:translateY(-3px);}}

/* Scroll-to-bottom FAB */
.bc-scroll-fab{
  position:absolute; right:18px; bottom:calc(var(--bc-composer-min-height) + 18px); z-index:3;
  appearance:none; border:0;
  width:36px; height:36px; border-radius:50%;
  background:var(--panel-2); color:var(--ink);
  display:inline-flex; align-items:center; justify-content:center;
  box-shadow: 0 8px 20px -4px oklch(0 0 0 / .5);
  cursor:default;
  font-size:15px;
}
.bc-scroll-fab-unread{
  position:absolute; top:-4px; right:-4px;
  min-width:18px; height:18px; padding:0 5px;
  border-radius:9px;
  background:var(--accent); color:oklch(0.16 0.04 250);
  font-size:10px; font-weight:600;
  display:inline-flex; align-items:center; justify-content:center;
  border:2px solid var(--bg-2);
}

/* Composer */
.bc-composer{
  border-top:1px solid var(--line);
  background:var(--bg-2);
  padding:8px 12px 12px;
  position:relative;
}
.bc-followup-marker{
  display:flex; align-items:center; gap:6px;
  padding:5px 10px; margin:0 0 6px;
  border-radius:8px;
  background:oklch(0.28 0.04 80);
  color:var(--amber);
  font-size:11px;
}
.bc-followup-marker::before{ content:"↳"; font-size:12px;}
/* Stacked composer: textarea on top, tools row below */
.bc-composer-row{
  display:flex; flex-direction:column; gap:2px;
  background:var(--panel);
  border:0;
  border-radius:14px;
  padding:6px 8px 6px;
  transition: background .15s, box-shadow .15s;
}
.bc-composer-row:focus-within{ background: oklch(0.30 0.014 245); box-shadow: 0 0 0 2px oklch(0.55 0.08 250 / .35);}
.bc-composer-textarea{
  width:100%; display:block; box-sizing:border-box;
  resize:none; appearance:none; border:0; background:transparent;
  color:var(--ink); font:13.5px/1.55 'Inter', sans-serif;
  padding:8px 6px 4px;
  min-height:48px;
  max-height:200px;
  overflow-y:auto;
  scrollbar-width:thin; scrollbar-color: var(--line) transparent;
}
.bc-composer-textarea::-webkit-scrollbar{ width:6px;}
.bc-composer-textarea::-webkit-scrollbar-thumb{ background:var(--line); border-radius:3px;}
.bc-composer-textarea::placeholder{ color:var(--ink-4); }
.bc-composer-textarea:focus{ outline:none;}

.bc-composer-tools{
  display:flex; align-items:center; gap:2px; padding:2px 0 2px;
}
.bc-composer-spacer{ flex:1; }
.bc-composer-attach, .bc-composer-mic, .bc-composer-send, .bc-composer-cli{
  appearance:none; border:0; background:transparent; color:var(--ink-3);
  height:30px; min-width:30px; padding:0 7px; border-radius:7px; cursor:default;
  display:inline-flex; align-items:center; justify-content:center; gap:5px;
  font-size:13px;
}
.bc-composer-attach:hover, .bc-composer-mic:hover, .bc-composer-cli:hover{ background:oklch(1 0 0 / .05); color:var(--ink); }
.bc-composer-cli{
  font-family:var(--mono); font-size:10.5px; color:var(--ink-3);
  background:oklch(0.30 0.012 245);
}
.bc-composer-cli .dot{ width:5px; height:5px; border-radius:50%; background:var(--stream); }
.bc-composer-send{
  background:var(--accent); color:oklch(0.16 0.04 250);
  padding:0 14px; min-width:80px; font-weight:600; font-size:12px; letter-spacing:.01em;
  box-shadow: 0 1px 0 oklch(1 0 0 / .25) inset;
}
.bc-composer-send:hover{ background:oklch(0.76 0.10 250); }
.bc-composer-send[disabled]{ opacity:.4; background:oklch(0.32 0.012 245); color:var(--ink-4); box-shadow:none;}
.bc-composer-send-kbd{
  font-family:var(--mono); font-size:9.5px; opacity:.75; margin-left:4px;
  border:1px solid oklch(0 0 0 / .15); border-radius:3px; padding:0 4px;
}

.bc-composer-footer{
  display:flex; align-items:center; gap:10px; padding:6px 4px 0;
  font-family:var(--mono); font-size:10px; color:var(--ink-4);
}
.bc-composer-footer .hint kbd{
  font-family:var(--mono); font-size:9.5px;
  border:1px solid var(--line); background:var(--panel); color:var(--ink-3);
  padding:0px 4px; border-radius:4px; margin:0 2px;
}
.bc-cli-target{
  margin-left:auto;
  display:inline-flex; align-items:center; gap:5px;
  color:var(--ink-3);
}
.bc-cli-target .dot{ width:6px; height:6px; border-radius:50%; background:var(--stream);}

/* B413.6: production boss-chat still emits the legacy .chat-input DOM.
 * Remap the redesign composer tokens onto the actual classes instead of
 * changing panels.js structure in this quick visual pass.
 */
.chat-input{
  display:flex;
  flex:0 0 auto;
  border-top:1px solid var(--line);
  background:var(--bg-2);
  padding:8px 12px 12px;
  gap:6px;
  position:relative;
  align-items:flex-end;
}
.bc-activity-strip,
.bc-cli-panel-bar{
  flex:0 0 auto;
  max-height:40%;
  overflow:auto;
}
.chat-input:focus-within{
  background:oklch(0.24 0.014 245);
  box-shadow:0 -1px 0 var(--line), 0 0 0 2px oklch(0.55 0.08 250 / .25) inset;
}
.chat-input textarea{
  flex:1 1 auto;
  min-width:0;
  min-height:48px;
  max-height:200px;
  resize:none;
  appearance:none;
  border:0;
  border-radius:14px;
  background:var(--panel);
  color:var(--ink);
  font:13.5px/1.55 'Inter', sans-serif;
  padding:11px 12px 9px;
  scrollbar-width:thin;
  scrollbar-color:var(--line) transparent;
  box-shadow:none;
}
.chat-input textarea:focus{
  outline:none;
  border-color:transparent;
  box-shadow:0 0 0 2px oklch(0.55 0.08 250 / .35);
}
.chat-input textarea::placeholder{ color:var(--ink-4); }
.chat-input textarea::-webkit-scrollbar{ width:6px; }
.chat-input textarea::-webkit-scrollbar-thumb{ background:var(--line); border-radius:3px; }
.chat-input .chat-attach-btn,
.chat-input .chat-ac-toggle{
  appearance:none;
  border:0 !important;
  background:transparent !important;
  color:var(--ink-3) !important;
  height:34px;
  min-width:34px;
  padding:0 8px !important;
  border-radius:9px !important;
  cursor:default;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  opacity:1;
  font-size:13px !important;
}
.chat-input .chat-ac-toggle{
  border:0 !important;
  background:transparent !important;
  color:var(--ink-3) !important;
  font-weight:600 !important;
}
.chat-input .chat-ac-toggle.is-on{
  color:var(--accent) !important;
}
.chat-input .chat-attach-btn:hover,
.chat-input .chat-ac-toggle:hover{
  background:oklch(1 0 0 / .05) !important;
  color:var(--ink) !important;
}
.chat-input .chat-send-btn{
  width:auto;
  min-width:42px;
  height:34px;
  border-radius:10px;
  background:var(--accent);
  color:oklch(0.16 0.04 250);
  border:0;
  padding:0 13px;
  box-shadow:0 1px 0 oklch(1 0 0 / .25) inset;
  font-size:15px;
  font-weight:600;
  flex:0 0 auto;
}
.chat-input .chat-send-btn:hover{
  background:oklch(0.76 0.10 250);
  transform:none;
}
.chat-input .chat-send-btn:active{ transform:translateY(1px); }
.chat-input .chat-send-btn:disabled{
  opacity:.4;
  background:oklch(0.32 0.012 245);
  color:var(--ink-4);
  box-shadow:none;
  transform:none;
}
.bc-file-preview{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  padding:0 12px 8px;
  background:var(--bg-2);
  border-top:1px solid var(--line);
}

/* Slash command palette */
.bc-cmd-palette,
.slash-autocomplete{
  position:absolute; left:10px; right:10px; bottom: calc(100% - 4px);
  background:var(--panel-2);
  border:1px solid var(--line);
  border-radius:12px;
  box-shadow: 0 14px 40px -6px oklch(0 0 0 / .5);
  padding:5px; z-index:10;
  max-height:240px; overflow-y:auto;
}
.bc-cmd-item,
.slash-item{
  display:grid; grid-template-columns: auto 1fr auto; gap:10px; align-items:center;
  padding:8px 10px; border-radius:9px; cursor:default;
}
.bc-cmd-item:hover, .bc-cmd-item.active,
.slash-item:hover, .slash-selected{ background:oklch(0.34 0.04 250);}
.bc-cmd-name,
.slash-cmd{ font-family:var(--mono); font-size:12px; color:var(--ink); font-weight:500;}
.bc-cmd-desc,
.slash-desc{ font-size:11.5px; color:var(--ink-3);}
.bc-cmd-shortcut{ font-family:var(--mono); font-size:10px; color:var(--ink-4);}

.bc-file-attachments{ display:flex; flex-wrap:wrap; gap:6px; margin-top:7px; }
.bc-file-link{
  display:inline-flex; align-items:center; gap:5px;
  padding:5px 10px; border-radius:8px;
  background:var(--panel-2); color:var(--ink-2);
  border:1px solid var(--line); text-decoration:none;
  font-size:11.5px; font-weight:500;
  max-width:220px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.bc-file-link:hover{ background:oklch(1 0 0 / .05); color:var(--ink); border-color:var(--accent); }
.bc-msg-boss .bc-file-link{ background:oklch(0.38 0.08 275); color:oklch(0.97 0.01 275); border-color:oklch(0.55 0.12 275 / .7); }
.bc-msg-employee .bc-file-link{ background:oklch(0.30 0.012 245); color:var(--ink-2); border-color:var(--line); }
.bc-file-extract-progress{
  font-size:12px; color:var(--accent);
  margin:4px 0 8px; padding:7px 10px;
  border-left:2px solid var(--accent);
  background:oklch(0.30 0.05 250 / .45);
  border-radius:6px;
}
.bc-file-extract-progress.bc-file-extract-failed{
  color:var(--error);
  border-left-color:var(--error);
  background:oklch(0.30 0.10 25 / .32);
}

/* Banner */
.bc-banner{
  display:flex; align-items:center; gap:10px;
  padding:9px 14px;
  border-bottom:1px solid var(--line);
  background:oklch(0.28 0.04 80);
  color:oklch(0.92 0.06 80);
  font-size:12.5px;
}
.bc-banner-icon{ font-size:14px;}
.bc-banner-text{ flex:1; color:var(--ink); font-size:12.5px;}
.bc-banner-text b{ color:var(--ink);}
.bc-banner-action{
  appearance:none; padding:5px 11px; border-radius:8px;
  background:var(--amber); color:oklch(0.16 0.05 80); border:0;
  font-size:11.5px; font-weight:600; cursor:default;
}
.bc-banner-dismiss{
  appearance:none; background:transparent; border:0; color:var(--ink-3);
  width:22px; height:22px; border-radius:5px; cursor:default; font-size:14px;
}

/* Quick suggestions */
.bc-quick-suggest{
  display:flex; flex-wrap:wrap; gap:5px;
  padding:8px 14px 4px;
}
.qs-chip{
  appearance:none; border:1px solid var(--line); background:var(--panel-2);
  color:var(--ink-2);
  padding:5px 9px; border-radius:999px;
  font-size:11.5px; cursor:default;
  display:inline-flex; align-items:center; gap:5px;
}
.qs-chip:hover{ border-color:var(--accent); color:var(--ink);}
.qs-chip .qs-arr{ color:var(--ink-4); font-size:9px;}

/* Highlighted search match */
.bc-search-highlight{ background:oklch(0.72 0.18 75 / .35); color:var(--ink); border-radius:2px; padding:0 1px;}

/* Goal phase tag */
.phase-tag{
  display:inline-flex; align-items:center; gap:4px;
  font-family:var(--mono); font-size:9.5px; letter-spacing:.06em;
  color:var(--accent); margin-right:6px;
}

/* Send failed */
.bc-send-failed .bc-bubble-body{
  border:1px solid var(--error-soft) !important;
  background: linear-gradient(180deg, color-mix(in oklch, var(--error-soft) 60%, var(--panel) 40%), color-mix(in oklch, var(--error-soft) 35%, var(--bg-2) 65%)) !important;
}
.send-failed-row{
  display:flex; align-items:center; gap:8px; margin-top:6px;
  padding-top:5px; border-top:1px dashed oklch(0 0 0 / .25);
  font-size:10.5px; color:oklch(0.92 0.05 25); font-family:var(--mono);
}
.send-failed-row button{
  margin-left:auto;
  appearance:none; border:1px solid oklch(0.55 0.14 25); background:transparent;
  color:oklch(0.95 0.05 25); padding:2px 7px; border-radius:5px; cursor:default;
  font-family:var(--mono); font-size:10px;
}

/* ===== Image / photo attachments ===== */

/* "Photo-looking" placeholder: striped gradient + filename label.
   A real product would render the actual image. */
.bc-photo-thumb{
  position:relative; border-radius:6px; overflow:hidden;
  background:
    repeating-linear-gradient(135deg,
      oklch(0.42 0.05 240) 0 6px,
      oklch(0.38 0.06 260) 6px 12px,
      oklch(0.46 0.04 220) 12px 18px,
      oklch(0.40 0.06 280) 18px 24px);
  border:1px solid oklch(0 0 0 / .4);
  box-shadow: 0 1px 0 oklch(1 0 0 / .1) inset;
}
.bc-photo-thumb::after{
  content:""; position:absolute; inset:0;
  background:radial-gradient(circle at 30% 30%, oklch(1 0 0 / .25), transparent 55%);
  pointer-events:none;
}
.bc-photo-thumb .ph-label{
  position:absolute; left:4px; right:4px; bottom:3px;
  font-family:var(--mono); font-size:8.5px;
  color:oklch(1 0 0 / .9);
  text-shadow: 0 1px 2px oklch(0 0 0 / .8);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  line-height:1.1;
}

/* Composer file-preview-strip — image chip variant */
.bc-file-preview-strip{
  display:flex; flex-wrap:wrap; gap:6px; padding:0 2px 6px;
}
/* File preview & chips */
.bc-file-chip{
  display:inline-flex; align-items:center; gap:7px;
  padding:5px 7px 5px 5px; border-radius:10px;
  background:var(--panel); border:0;
  font-size:11px; color:var(--ink-2); position:relative;
  max-width:180px;
}
.bc-file-chip.is-image{ padding-left:5px; }
.bc-file-chip .bc-file-thumb{
  width:32px; height:32px; flex:0 0 32px;
}
.bc-file-chip .bc-file-icon{
  width:32px; height:32px; flex:0 0 32px;
  display:inline-flex; align-items:center; justify-content:center;
  border-radius:6px; background:oklch(0.34 0.06 250); color:oklch(0.96 0.01 250);
  font-family:var(--mono); font-size:9px; font-weight:600; letter-spacing:.04em;
}
.bc-file-meta{ display:flex; flex-direction:column; min-width:0; gap:0; }
.bc-file-name{ font-weight:500; color:var(--ink); font-size:11px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:108px;}
.bc-file-size{ color:var(--ink-4); font-family:var(--mono); font-size:9.5px;}
.bc-file-remove{
  appearance:none; background:transparent; border:0; color:var(--ink-3);
  width:18px; height:18px; border-radius:4px; cursor:default; flex:0 0 18px;
}
.bc-file-chip .bc-file-progress{
  position:absolute; left:5px; right:5px; bottom:2px;
  height:2px; background:var(--line-soft); border-radius:1px; overflow:hidden;
}
.bc-file-chip .bc-file-progress > i{ display:block; height:100%; background:var(--stream); width:62%;}

/* In-message photo (single or grid) */
.bc-msg-photo{
  display:block; margin-top:6px;
  aspect-ratio: 4 / 3;
  width:240px; max-width:100%;
  border-radius:10px; overflow:hidden;
  cursor:default;
}
.bc-msg-photo .ph-label{ font-size:9.5px;}
.bc-msg-photo-grid{
  display:grid; grid-template-columns: 1fr 1fr; gap:4px; margin-top:6px;
  width:280px; max-width:100%;
}
.bc-msg-photo-grid .bc-photo-thumb{ aspect-ratio: 1 / 1; }

/* ===== Long message truncation ===== */
.bc-msg-content.is-truncated{
  position:relative;
  max-height:8.5em;
  overflow:hidden;
  mask-image: linear-gradient(180deg, #000 65%, transparent 100%);
  -webkit-mask-image: linear-gradient(180deg, #000 65%, transparent 100%);
}
.bc-msg-expand{
  appearance:none; background:transparent; border:0; color:var(--accent);
  font-family:var(--mono); font-size:10.5px; padding:3px 0 0 0; cursor:default;
  display:inline-flex; align-items:center; gap:5px;
}
.bc-msg-boss .bc-msg-expand{ color:var(--accent);}
.bc-msg-expand::after{ content:"›"; font-size:13px; transform:translateY(-1px);}

/* ===== Per-message DNA write-count chip ===== */
.bc-dna-write{
  display:inline-flex; align-items:center; gap:4px;
  padding:2px 8px; border-radius:999px;
  font-size:10.5px;
  color:var(--ink-3);
  background:oklch(0.30 0.012 245);
  line-height:1.3;
}
.bc-dna-write::before{ content:"⌬"; font-size:10px; color:var(--accent);}
.bc-dna-write.is-zero{ color:var(--amber); background:oklch(0.28 0.04 80);}
.bc-dna-write.is-zero::before{ color:var(--amber);}
.bc-dna-write b{ color:var(--ink); font-weight:600; }

/* Inline DNA chip on boss messages (twin extracted N facts from this turn) */
.bc-msg-boss .bc-dna-write{
  background:oklch(0.34 0.06 250);
  color:oklch(0.96 0.01 250);
}
.bc-msg-boss .bc-dna-write b{ color:oklch(0.99 0.005 250);}

/* ===== Camera composer button — distinguish from attach ===== */
.bc-composer-camera{
  appearance:none; border:0; background:transparent; color:var(--ink-3);
  height:30px; min-width:30px; padding:0 7px; border-radius:7px; cursor:default;
  display:inline-flex; align-items:center; justify-content:center; gap:5px;
  font-size:13px;
}
.bc-composer-camera:hover{ background:oklch(1 0 0 / .05); color:var(--ink); }
.bc-composer-camera.is-live{
  color:var(--error); background:oklch(0.32 0.10 25 / .25); border:1px solid var(--error-soft);
}
.bc-composer-camera.is-live::after{
  content:""; width:5px; height:5px; border-radius:50%; background:var(--error);
  animation: pulse-amber 1.2s infinite;
  margin-left:1px;
}

/* ===== Header overflow menu (••• at narrow widths) ===== */
.hdr-action-overflow{ display:none; }
.bc-header-overflow-menu{
  position:absolute; right:4px; top:calc(100% + 4px);
  z-index:20;
  background:var(--panel-2); border:1px solid var(--line);
  border-radius:9px; padding:4px; min-width:180px;
  box-shadow: 0 16px 40px -8px oklch(0 0 0 / .6);
  display:flex; flex-direction:column; gap:1px;
}
.bc-header-overflow-menu button{
  appearance:none; background:transparent; border:0; color:var(--ink-2);
  padding:7px 9px; text-align:left; border-radius:6px; cursor:default;
  display:flex; align-items:center; gap:8px; font-size:12px;
}
.bc-header-overflow-menu button:hover{ background:oklch(1 0 0 / .05); color:var(--ink);}

/* Hidden labels on header buttons (revealed in WIDE container) */
.bc-header-btn .lbl{ display:none; font-size:11.5px; margin-left:5px; color:var(--ink-2); }
.bc-header-btn{ padding:0 7px; gap:0; }
.soul-pill .soul-state-txt-long{ display:none; }
.tele-extras{ display:none; align-items:center; gap:6px;}

/* ===== Container-driven responsive transforms ===== */
/* B413.2: query overrides live after base header/pin declarations so they win. */
/* Default: NORMAL (380-560) - all controls visible compact */

/* COMPACT (<380px): hide secondary actions, shorten title to first word, hide soul text */
@container panel (max-width: 379px){
  .hdr-action-archive,
  .hdr-action-panels,
  .hdr-action-profile{ display:none; }
  .panel-title .org{ display:none; }
  .soul-pill .soul-state-txt{ display:none; }
  .tele-runtime-name{ display:none; }
  .tele-recall{ display:none; }
  .pin-label{ display:none; }
  .bc-pin-chip .pin-text{ display:none; }
  .bc-pin-chip{ padding:4px 6px; }
  .stat-budget-num-total{ display:none; }
}
/* ULTRA-COMPACT (<340px): only avatar + title + overflow ... + close */
@container panel (max-width: 339px){
  .hdr-action-reset,
  .hdr-action-history,
  .hdr-divider-1{ display:none; }
  .hdr-action-overflow{ display:inline-flex !important; }
  .bc-pin-chip code{ display:none; }
  .tele-history-chip{ display:none; }
  .tele-dna-chip{ display:none; }
}
/* WIDE (>=560): only Reset/History get text labels; others stay icon-only */
@container panel (min-width: 560px){
  .hdr-action-reset .lbl,
  .hdr-action-history .lbl{ display:inline !important; }
  .hdr-action-reset,
  .hdr-action-history{ padding:0 10px; }
  .bc-pin-chip{ padding:4px 10px; }
  .soul-pill .soul-state-txt-long{ display:inline !important; }
}
/* HUGE (>=720): widen messages, allow 2-line title, show extras */
@container panel (min-width: 720px){
  .bc-bubble{ max-width:78% !important;}
  .bc-msg-content{ font-size:14px;}
  .tele-extras{ display:inline-flex !important; }
}

/* ===== Search bar (toggled) ===== */
.bc-search-wrap{
  display:flex; align-items:center; gap:6px;
  padding:8px 12px;
  border-bottom:1px solid var(--line);
  background:var(--panel);
}
.bc-search-input{
  flex:1; min-width:0;
  appearance:none; border:0;
  background:var(--bg-2);
  color:var(--ink);
  font-size:13px; padding:7px 10px; border-radius:8px;
}
.bc-search-input::placeholder{ color:var(--ink-4); }
.bc-search-input:focus{ outline:none; box-shadow: 0 0 0 2px oklch(0.55 0.08 250 / .35);}
.bc-search-counter{
  font-family:var(--mono); font-size:10.5px; color:var(--ink-4);
  padding:0 4px; white-space:nowrap;
}
.bc-search-prev, .bc-search-next, .bc-search-semantic, .bc-search-close{
  appearance:none; background:transparent; border:0;
  width:28px; height:28px; border-radius:7px;
  color:var(--ink-3); cursor:default; font-size:13px;
  display:inline-flex; align-items:center; justify-content:center;
}
.bc-search-prev:hover, .bc-search-next:hover, .bc-search-semantic:hover, .bc-search-close:hover{
  background:oklch(1 0 0 / .06); color:var(--ink);
}
.bc-search-semantic.is-on{
  background:oklch(0.30 0.05 250); color:var(--accent);
}

/* ===== Environment chip ===== */
.env-chip{
  display:inline-flex; align-items:center; gap:6px;
  padding:3px 9px 3px 7px; border-radius:999px;
  background:oklch(0.30 0.012 245);
  font-size:11px; color:var(--ink-3); cursor:default;
  white-space:nowrap;
}
.env-chip .env-dot{ width:6px; height:6px; border-radius:50%; background:var(--stream);}
.env-chip code{ font-family:var(--mono); font-size:10.5px; color:var(--ink-2);}
.env-chip .env-sep{ color:var(--ink-4);}

/* ===== New message telemetry (3-line stack, dense) ===== */
.bc-msg-telemetry{
  display:flex; flex-direction:column; gap:2px; margin-top:8px;
  padding:7px 9px;
  background:oklch(0.27 0.012 245);
  border-radius:8px;
  font-family:var(--mono); font-size:10.5px; line-height:1.4;
  color:var(--ink-3);
}
.bc-tele-line{ display:flex; align-items:baseline; gap:8px; }
.bc-tele-line .lbl{ color:var(--ink-4); min-width:60px; flex:0 0 auto;}
.bc-tele-line .val{ color:var(--ink-2); flex:1; min-width:0; }
.bc-tele-line .val b{ color:var(--ink); font-weight:600; }
.bc-tele-line.is-dna .lbl{ color:var(--accent);}
.bc-tele-line.is-act .lbl{ color:var(--stream);}
.bc-tele-line.is-mem .lbl{ color:var(--ink-3);}
.bc-tele-line .warn{ color:var(--amber);}
.bc-tele-line .muted{ color:var(--ink-4);}
.bc-tele-line.is-zero .val{ color:var(--ink-4);}


} /* end @scope */
