/* B612 uses its existing personal-home palette; the portable component stays neutral. */
.bc-chat-page {
  --paper: #f6efe3;
  --light: #fffaf1;
  --ink: #17130d;
  --muted: #6f675c;
  --moss: #344e43;
  --gold: #9d814c;
  --line: #d9cdbb;
  --soft: #e9eddf;
  width: min(1120px, calc(100% - 80px));
  margin: auto;
  padding: 28px 0 44px;
  color: var(--ink);
  font-family: var(--sans);
}
.bc-chat-breadcrumb { display: flex; gap: 10px; align-items: center; margin-bottom: 22px; color: var(--muted); font-size: 11px; }
.bc-chat-breadcrumb a, .bc-chat-foot a { color: var(--moss); }
.bc-chat-foot { margin: 20px 0 0; font-size: 11px; color: var(--muted); line-height: 1.9; }
.bc-chat-foot a { text-decoration: underline; text-underline-offset: 4px; }
.site-nav a[data-business-agent-entry] { white-space: nowrap; }

.bc-chat-page .consultation-agent {
  --ca-ink: var(--ink);
  --ca-accent: var(--moss);
  --ca-bg: var(--light);
  --ca-line: var(--line);
  grid-template-columns: 220px minmax(0, 1fr);
  min-height: 700px;
  border-radius: 8px;
  font-family: inherit;
  box-shadow: none;
}
.bc-chat-page .ca-sidebar { background: var(--paper); padding: 28px 18px; }
.bc-chat-page .ca-sidebar-brand { padding: 0 0 22px; }
.bc-chat-page .ca-sidebar-brand b { font-size: 13px; font-weight: 600; }
.bc-chat-page .ca-sidebar-brand small, .bc-chat-page .ca-sidebar-foot, .bc-chat-page .ca-sidebar-foot small { color: var(--muted); }
.bc-chat-page .ca-mark, .bc-chat-page .ca-welcome-mark {
  background: transparent url('/assets/xiaop-personal-mascot.webp') center / contain no-repeat;
  border: 0;
  border-radius: 0;
  font-size: 0;
}
.bc-chat-page .ca-mark { width: 40px; height: 56px; flex-basis: 40px; }
.bc-chat-page .ca-welcome-mark { width: 74px; height: 104px; margin-bottom: 17px; }
.bc-chat-page .ca-new { min-height: 44px; padding: 10px 14px; border-color: var(--line); border-radius: 5px; background: var(--light); color: var(--moss); font-size: 12px; font-weight: 500; }
.bc-chat-page .ca-new:hover { border-color: var(--moss); }
.bc-chat-page .ca-sidebar-label { padding-left: 0; color: var(--gold); letter-spacing: .04em; }
.bc-chat-page .ca-threads button { min-height: 44px; border: 1px solid transparent; border-radius: 5px; color: var(--muted); }
.bc-chat-page .ca-threads button[aria-current] { background: var(--soft); border-color: var(--line); color: var(--moss); box-shadow: none; }
.bc-chat-page .ca-sidebar-foot { padding-inline: 0; }
.bc-chat-page .ca-dot { background: var(--moss); }
.bc-chat-page .ca-main { padding: 28px 30px 18px; }
.bc-chat-page .ca-eyebrow { color: var(--gold); letter-spacing: .06em; }
.bc-chat-page .ca-top h1 { font-weight: 600; font-size: 21px; }
.bc-chat-page .ca-tools button { min-height: 44px; border-radius: 5px; color: var(--moss); padding: 8px 11px; }
.bc-chat-page .ca-scope { background: var(--soft); border-radius: 5px; color: var(--muted); }
.bc-chat-page .ca-scope > span { color: var(--gold); }
.bc-chat-page .ca-welcome { padding: 28px 0 24px; }
.bc-chat-page .ca-welcome h2 { color: var(--ink); font-size: 26px; font-weight: 600; }
.bc-chat-page .ca-welcome > p { color: var(--muted); line-height: 1.95; }
.bc-chat-page .ca-welcome > small { color: var(--gold); font-size: 11px; }
.bc-chat-page .ca-suggestions { gap: 12px; margin-top: 25px; }
.bc-chat-page .ca-suggestions button { background: var(--paper); border-color: var(--line); border-top-color: var(--gold); border-radius: 5px; padding: 16px; box-shadow: none; }
.bc-chat-page .ca-suggestions button:hover { background: var(--soft); border-color: var(--moss); }
.bc-chat-page .ca-suggestions span { color: var(--moss); font-weight: 600; }
.bc-chat-page .ca-suggestions p { color: var(--muted); }
.bc-chat-page .ca-suggestions b { color: var(--gold); }
.bc-chat-page .ca-message > b { color: var(--muted); }
.bc-chat-page .ca-assistant > b { color: var(--moss); }
.bc-chat-page .ca-user { background: var(--soft); border: 1px solid var(--line); border-radius: 6px; }
.bc-chat-page .ca-assistant button { border-radius: 5px; min-height: 36px; color: var(--moss); }
.bc-chat-page .ca-source-note { color: var(--muted); }
.bc-chat-page .ca-sources { background: var(--paper); border-color: var(--line); border-radius: 5px; }
.bc-chat-page .ca-sources summary { color: var(--moss); }
.bc-chat-page .ca-sources section { border-color: var(--line); }
.bc-chat-page .ca-sources section p { color: var(--muted); }
.bc-chat-page .ca-composer { background: var(--light); border-color: var(--line); border-radius: 6px; box-shadow: none; padding: 14px 16px 11px; }
.bc-chat-page .ca-composer:focus-within { outline-color: var(--moss); }
.bc-chat-page .ca-input-label { color: var(--muted); font-size: 11px; }
.bc-chat-page .ca-input-label:focus-within { color: var(--moss); }
.bc-chat-page .ca-input-label textarea { color: var(--ink); font-size: 14px; }
.bc-chat-page .ca-input-label textarea::placeholder { color: var(--muted); }
.bc-chat-page .ca-composer-actions { color: var(--muted); }
.bc-chat-page .ca-composer-actions button { min-height: 44px; padding: 10px 18px; border: 1px solid var(--moss); border-radius: 5px; background: var(--moss); color: var(--light); font-weight: 500; }
.bc-chat-page .ca-composer-actions button[data-agent-stop] { background: var(--soft); color: var(--moss); border-color: var(--line); }
.bc-chat-page .ca-status, .bc-chat-page .ca-storage { color: var(--muted); }
.bc-chat-page .consultation-agent :where(button, a, summary):focus-visible { outline-color: var(--gold); }

@media (max-width: 1060px) { .bc-chat-page { width: calc(100% - 48px); } }
@media (max-width: 800px) {
  .bc-chat-page .consultation-agent { grid-template-columns: 185px minmax(0, 1fr); }
  .bc-chat-page .ca-main { padding: 23px 20px 15px; }
  .bc-chat-page .ca-sidebar { padding: 24px 12px; }
}
.bc-chat-page .consultation-agent.ca-medium { grid-template-columns: 185px minmax(0, 1fr); }
.bc-chat-page .ca-medium .ca-main { padding: 23px 20px 15px; }
.bc-chat-page .ca-medium .ca-sidebar { padding: 24px 12px; }
.bc-chat-page .consultation-agent.ca-compact { min-height: 0; }
.bc-chat-page .ca-compact .ca-sidebar { padding: 12px 14px; }
.bc-chat-page .ca-compact .ca-sidebar-brand { padding: 0; }
.bc-chat-page .ca-compact .ca-mark { width: 30px; height: 42px; flex-basis: 30px; font-size: 0; }
.bc-chat-page .ca-compact .ca-main { padding: 20px 15px 13px; }
.bc-chat-page .ca-compact .ca-top { flex-wrap: wrap; gap: 12px; }
.bc-chat-page .ca-compact .ca-top h1 { font-size: 18px; }
.bc-chat-page .ca-compact .ca-tools { margin-left: auto; }
.bc-chat-page .ca-compact .ca-tools button { font-size: 10px; padding: 7px 10px; }
.bc-chat-page .ca-compact .ca-welcome-mark { width: 60px; height: 84px; }
.bc-chat-page .ca-compact .ca-welcome h2 { font-size: 22px; }
.bc-chat-page .ca-compact .ca-suggestions button { padding: 14px 12px; }
.bc-chat-page .ca-compact .ca-suggestions p { font-size: 11px; }
@media (max-width: 600px) {
  .bc-chat-page { width: calc(100% - 40px); padding: 20px 0 28px; }
  .bc-chat-breadcrumb { margin-bottom: 16px; }
  .bc-chat-page .consultation-agent { min-height: 0; }
  .bc-chat-foot { font-size: 10px; }
}
@media (max-width: 420px) { .bc-chat-page .ca-suggestions { grid-template-columns: minmax(0, 1fr); } }

/* Method selection belongs to B612, while the portable conversation stays neutral. */
.bc-chat-page [hidden] { display: none !important; }
.bc-skill-picker { border-top: 1px solid var(--gold); }
.bc-skill-intro { display: flex; align-items: center; gap: 32px; justify-content: space-between; padding: 32px 0 28px; }
.bc-skill-intro > div { max-width: 750px; }
.bc-skill-eyebrow { color: var(--gold); font-size: 10px; letter-spacing: .05em; }
.bc-skill-intro h1 { margin: 12px 0; font-family: var(--serif); font-size: clamp(24px, 3.5vw, 36px); line-height: 1.5; font-weight: 600; }
.bc-skill-intro p { margin: 0; max-width: 680px; color: var(--muted); font-size: 13px; line-height: 1.9; }
.bc-skill-intro img { width: 76px; height: 108px; object-fit: contain; flex-shrink: 0; }
.bc-skill-filter { display: grid; grid-template-columns: minmax(260px, 400px) minmax(0, 1fr); align-items: end; gap: 22px; padding: 20px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.bc-skill-filter label { display: block; color: var(--muted); font-size: 11px; }
.bc-skill-filter input { display: block; width: 100%; margin-top: 8px; border: 1px solid var(--line); border-radius: 5px; background: var(--light); color: var(--ink); font: inherit; font-size: 12px; padding: 13px 14px; min-height: 44px; }
.bc-skill-filter input::placeholder { color: var(--muted); }
.bc-skill-groups { display: flex; flex-wrap: wrap; gap: 8px; }
.bc-skill-groups button { min-height: 44px; border: 1px solid var(--line); border-radius: 5px; background: transparent; color: var(--muted); padding: 8px 12px; font: inherit; font-size: 11px; cursor: pointer; }
.bc-skill-groups button[aria-pressed="true"] { color: var(--light); background: var(--moss); border-color: var(--moss); }
.bc-skill-notice { margin: 20px 0 16px; color: var(--muted); font-size: 11px; line-height: 1.9; }
.bc-skill-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.bc-skill-card { display: flex; flex-direction: column; min-width: 0; padding: 23px 21px 17px; border: 1px solid var(--line); border-top-color: var(--gold); border-radius: 6px; background: var(--light); }
.bc-skill-card-group { color: var(--gold); font-size: 10px; }
.bc-skill-card h2 { margin: 10px 0 8px; color: var(--moss); font: 600 17px/1.6 var(--sans); overflow-wrap: anywhere; }
.bc-skill-card-description { margin: 0 0 16px; color: var(--muted); font-size: 12px; line-height: 1.9; overflow-wrap: anywhere; }
.bc-skill-card dl { display: grid; gap: 12px; margin: auto 0 0; padding-top: 14px; border-top: 1px solid var(--line); }
.bc-skill-card dt { margin-bottom: 4px; color: var(--gold); font-size: 10px; }
.bc-skill-card dd { margin: 0; font-size: 11px; line-height: 1.85; color: var(--muted); overflow-wrap: anywhere; }
.bc-skill-card-actions { margin-top: auto; }
.bc-skill-card-actions button { display: flex; justify-content: space-between; align-items: center; gap: 12px; width: 100%; min-height: 44px; border: 1px solid var(--moss); border-radius: 5px; background: transparent; color: var(--moss); padding: 10px 12px; font: inherit; font-size: 11px; cursor: pointer; }
.bc-skill-card-actions button:hover { color: var(--light); background: var(--moss); }
.bc-skill-boundary { margin: 22px 0 16px; color: var(--muted); font-size: 11px; line-height: 1.9; }
.bc-skill-alternative { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding-bottom: 20px; font-size: 12px; color: var(--muted); }
.bc-skill-alternative button { min-height: 44px; border: 1px solid var(--line); border-radius: 5px; background: var(--soft); color: var(--moss); padding: 10px 14px; font: inherit; cursor: pointer; }
.bc-skill-alternative button:disabled { opacity: .55; cursor: not-allowed; }
.bc-skill-alternative a { margin-left: auto; color: var(--moss); text-underline-offset: 4px; }
.bc-skill-preparation { margin-top: 10px; color: var(--muted); font-size: 12px; }
.bc-skill-preparation summary { cursor: pointer; min-height: 44px; align-content: center; }
.bc-skill-preparation dl { margin: 0; }
.bc-skill-more { margin-top: 20px; text-align: center; }
.bc-skill-more button { min-height: 44px; padding: 10px 20px; border: 1px solid var(--line); border-radius: 5px; color: var(--moss); background: var(--light); font: inherit; font-size: 13px; cursor: pointer; }
.bc-skill-library { display: inline-flex; align-items: center; min-height: 44px; color: var(--moss); font-size: 12px; text-underline-offset: 4px; }
.bc-skill-picker :where(button, input, a):focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
.bc-chat-page .ca-skill-scope { border: 1px solid var(--gold); color: var(--moss); background: var(--paper); }
.bc-chat-page .ca-skill-scope + .ca-scope { margin-top: 10px; }
.bc-chat-page .ca-skill-invalid { color: var(--muted); }
/* A conversation fills the visible space; only its messages and history scroll. */
.bc-chat-page.bc-chat-active { padding-top: 14px; padding-bottom: 12px; }
.bc-chat-active .bc-chat-breadcrumb { margin-bottom: 14px; }
.bc-chat-active .bc-chat-foot, .b612-chat-open .site-footer, .b612-chat-open #blueprint-bar { display: none; }
.bc-chat-page.bc-chat-active .consultation-agent {
  height: var(--bc-chat-height, calc(100dvh - 148px));
  min-height: 0;
  grid-template-rows: minmax(0, 1fr);
  overflow: hidden;
}
.bc-chat-active .ca-sidebar { min-height: 0; overflow: hidden; padding-block: 20px; }
.bc-chat-active .ca-sidebar-brand > div { min-width: 0; }
.bc-chat-active .ca-threads {
  display: flex; flex-direction: column; flex: 1 1 0; min-height: 0; min-width: 0;
  max-height: none; overflow-x: hidden; overflow-y: auto; scrollbar-width: thin;
}
.bc-chat-active .ca-threads button { min-width: 0; max-width: 100%; flex: 0 0 auto; }
.bc-chat-active .ca-threads button > span:first-child, .bc-chat-active .ca-threads button small { flex: 0 0 auto; }
.bc-chat-active .ca-threads button > span:nth-child(2) { min-width: 0; max-width: none; flex: 1 1 0; overflow: hidden; text-overflow: ellipsis; }
.bc-chat-active .ca-sidebar-foot { flex: 0 0 auto; padding-top: 14px; }
.bc-chat-page.bc-chat-active .ca-main { height: 100%; min-height: 0; overflow: hidden; padding: 16px 24px 10px; }
.bc-chat-active :is(.ca-top, .ca-scope, .ca-composer, .ca-status, .ca-storage) { flex: 0 0 auto; }
.bc-chat-active .ca-scope { margin-top: 12px; }
.bc-chat-page.bc-chat-active .ca-chat { flex: 1 1 0; min-height: 0; max-height: none; overflow-x: hidden; overflow-y: auto; }
.bc-chat-active .ca-composer { margin-top: 10px; padding: 9px 13px 8px; }
.bc-chat-active .ca-input-label textarea { height: 64px; min-height: 48px; max-height: 120px; resize: none; overflow-y: auto; }
.bc-chat-active .ca-status { min-height: 18px; max-height: 36px; overflow-y: auto; padding-top: 4px; line-height: 1.6; }
.bc-chat-active .ca-storage { line-height: 1.5; }
.bc-chat-page.bc-chat-active .ca-compact .ca-sidebar { flex: 0 0 auto; padding: 8px 12px; gap: 6px; }
.bc-chat-active .ca-compact .ca-sidebar-brand small { display: none; }
.bc-chat-page.bc-chat-active .ca-compact .ca-mark { width: 24px; height: 32px; flex-basis: 24px; }
.bc-chat-page.bc-chat-active .ca-compact .ca-threads { flex: none; max-height: 44px; }
.bc-chat-page.bc-chat-active .ca-compact .ca-threads button { width: 100%; max-width: 100%; }
.bc-chat-page.bc-chat-active .ca-compact .ca-main { flex: 1 1 0; height: auto; padding: 10px 12px 7px; }
.bc-chat-active .ca-compact .ca-top > div:first-child { display: none; }
.bc-chat-active .ca-compact .ca-tools { width: 100%; justify-content: flex-end; }
.bc-chat-active .ca-compact .ca-scope:not(.ca-skill-scope) { display: none; }
.bc-chat-active .ca-compact .ca-skill-scope { margin-top: 8px; padding: 6px 9px; }
.bc-chat-active .ca-compact .ca-storage { display: none; }
.bc-chat-active .ca-compact .ca-input-label textarea { height: 48px; min-height: 40px; }
.bc-chat-active.bc-chat-small .ca-scope:not(.ca-skill-scope), .bc-chat-small .ca-storage, .bc-chat-small .ca-sidebar-foot { display: none; }
.bc-chat-small .ca-top > div:first-child { display: none; }
.bc-chat-small .ca-tools { margin-left: auto; }
.bc-chat-small .ca-sidebar-brand small { display: none; }
.bc-chat-page.bc-chat-small .ca-compact .ca-sidebar { grid-template-columns: auto minmax(0, 1fr); }
.bc-chat-small .ca-compact .ca-sidebar-brand { display: none; }
.bc-chat-small .ca-compact .ca-new { grid-column: 1; grid-row: 1; }
.bc-chat-small .ca-compact .ca-threads { grid-column: 2; grid-row: 1; }
.bc-chat-active.bc-chat-small .ca-input-label textarea { height: 40px; min-height: 32px; max-height: 64px; }
.bc-chat-page.bc-chat-keyboard .consultation-agent { position: fixed; top: calc(var(--bc-viewport-top, 0px) + 6px); left: 12px; right: 12px; width: auto; margin: 0; z-index: 90; }
.bc-chat-keyboard .ca-sidebar { display: none !important; }
.bc-chat-keyboard .ca-top { display: none; }
.b612-chat-short .site-header { min-height: 52px; padding-block: 6px; }
.b612-chat-short .site-header .header-tools { display: none; }
.b612-chat-short .bc-chat-active .bc-chat-breadcrumb { display: none; }
.b612-chat-short .bc-chat-page.bc-chat-active { padding-top: 8px; }
.b612-chat-short .bc-chat-page.bc-chat-active .ca-main { padding-top: 10px; padding-bottom: 6px; }
.b612-chat-short .bc-chat-active .ca-tools button { min-height: 36px; padding: 5px 10px; }
.b612-chat-short .bc-chat-active .ca-skill-scope { margin-top: 8px; padding: 6px 9px; }
.b612-chat-short .bc-chat-active .ca-composer { margin-top: 8px; padding-block: 6px; }
.b612-chat-short .bc-chat-active .ca-composer-actions button { min-height: 36px; padding: 5px 14px; }
@media (max-width: 600px) {
  .bc-chat-page.bc-chat-active { padding-top: 8px; }
  .bc-chat-active .bc-chat-breadcrumb { display: none; }
}
@media (max-width: 1000px) {
  .bc-skill-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bc-skill-filter { grid-template-columns: minmax(0, 1fr); gap: 14px; }
}
@media (max-width: 600px) {
  .bc-skill-intro { padding: 24px 0 22px; gap: 13px; align-items: flex-start; }
  .bc-skill-intro img { width: 48px; height: 68px; }
  .bc-skill-intro p { font-size: 12px; }
  .bc-skill-intro h1 { font-size: 24px; margin-top: 10px; }
  .bc-skill-grid { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .bc-skill-card { padding: 21px 18px 16px; }
  .bc-skill-groups { gap: 6px; }
  .bc-skill-groups button { padding: 8px 10px; }
  .bc-skill-alternative { gap: 8px; }
  .bc-skill-alternative a { width: 100%; margin: 6px 0 0; }
  .bc-chat-page .ca-compact .ca-tools { flex-wrap: wrap; }
}

.bc-skill-empty{grid-column:1/-1;padding:24px;border:1px dashed var(--line);border-radius:6px;color:var(--muted);font-size:13px}.bc-skill-empty button,.bc-skill-empty a{display:inline-flex;min-height:44px;align-items:center;padding:9px 14px;border:1px solid var(--line);border-radius:5px;background:var(--light);color:var(--moss);font:inherit;cursor:pointer}
