/* 02:3x 纠正：粉色只留 Logo、每屏唯一主操作、主控小标识。 */
:root[data-g20271-chulian] {
  --accent-soft: rgba(255,255,255,.08); --accent-line: rgba(255,255,255,.18);
  --fill-selected: rgba(255,255,255,.10); --cl-selected-hover: rgba(255,255,255,.14);
  --cl-code-bg: rgba(255,255,255,.06); --cl-code-hover: rgba(255,255,255,.09); --cl-code-active: rgba(255,255,255,.12); --cl-code-ink: var(--ink);
  --focus: rgba(255,255,255,.60);
  --cl-spend: #d6336a; --cl-spend-hover: #e3487b; --cl-spend-active: #c42d5f; --cl-on-spend: #ffffff;
  --signature-rose: #f2e8e2;
  --selected-border: rgba(255,255,255,.42); --selected-fill: rgba(255,255,255,.09);
  --user-bubble-bg: rgba(255,255,255,.10);
}
:root[data-g20271-chulian][data-mode='light'] {
  --accent-soft: rgba(17,17,26,.055); --accent-line: rgba(17,17,26,.16);
  --fill-selected: rgba(17,17,26,.07); --cl-selected-hover: rgba(17,17,26,.10);
  --cl-code-bg: rgba(17,17,26,.05); --cl-code-hover: rgba(17,17,26,.08); --cl-code-active: rgba(17,17,26,.10); --cl-code-ink: var(--ink);
  --focus: rgba(17,17,26,.60);
  --cl-spend: #c42d5f; --cl-spend-hover: #b32755; --cl-spend-active: #a92450; --cl-on-spend: #ffffff;
  --signature-rose: #d8c9bd;
  --selected-border: rgba(17,17,26,.28); --selected-fill: #ffffff;
  --user-bubble-bg: #eef0f2;
}
.app-shell {
  background:
    radial-gradient(ellipse 1200px 520px at 50% -80px, rgba(242,232,226,.06), transparent 70%),
    radial-gradient(ellipse 620px 400px at 78% -40px, rgba(255,180,143,.035), transparent 72%),
    radial-gradient(ellipse 560px 360px at 96% 0%, rgba(185,166,255,.05), transparent 72%),
    var(--bg);
}
:root[data-mode='light'] .app-shell {
  background:
    radial-gradient(ellipse 1200px 520px at 50% -80px, rgba(216,201,189,.14), transparent 70%),
    radial-gradient(ellipse 620px 400px at 78% -40px, rgba(240,138,99,.045), transparent 72%),
    radial-gradient(ellipse 560px 360px at 96% 0%, rgba(150,130,230,.06), transparent 72%),
    var(--bg);
}
.brand, .brand-word { color: var(--accent); }
.prototype-badge { background: var(--surface-3); color: var(--muted); }
.rail-item[aria-current='page'], .history-item[aria-current='true'], .menu-item[aria-selected='true'], .tool-btn[aria-expanded='true'], .tool-btn[aria-pressed='true'], .tool-btn.mode {
  background: var(--selected-fill); color: var(--ink);
}
.rail-item[aria-current='page'] { box-shadow: inset 0 0 0 1px var(--hairline); }
.history-item[aria-current='true'] .history-item-icon { background: var(--surface-3); color: var(--ink); }
.choice[aria-pressed='true'], .choice[aria-selected='true'], .chip.selected { border-color: var(--selected-border); background: var(--selected-fill); color: var(--ink); }
.menu-item-check { color: var(--ink); }
.prototype-icon, .credit-star, .quick-card-icon, .field-leading, .audio-icon, .menu-item-icon, .project-default > svg:first-child, .stage-overview-icon, .process-line svg, .master-empty .slash { color: var(--muted); }
:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
.composer:focus-within, .search-field:focus-within { border-color: var(--focus); }
.composer textarea, body { caret-color: var(--ink-base); }
.user-bubble { background: var(--user-bubble-bg); color: var(--ink); box-shadow: none; }
.capsule-progress rect { stroke: var(--ink-base); }
input[type='range']::-webkit-slider-thumb { background: var(--ink-base); }
input[type='range']::-moz-range-thumb { background: var(--ink-base); }
.mascot-loader-ring { stroke: var(--ink-base) !important; }
.thinking-text::after, .capsule-sheen, .asset-light-band {
  background: linear-gradient(100deg, transparent, color-mix(in srgb, var(--ink-base) 16%, transparent), transparent);
}
.asset-tabs > button[aria-pressed='true'] { border-bottom-color: var(--ink-base); }
.quick-card.is-selected, .asset-card.is-selected, .fragment-tile.is-selected {
  border-color: var(--selected-border); background: var(--selected-fill);
  box-shadow: var(--shadow-inset);
}
.selection-summary { border-color: var(--hairline-strong); background: var(--surface-3); color: var(--muted); }
.selection-note { color: var(--muted); }
.new-asset-card:hover .new-asset-plus { border-color: var(--selected-border); color: var(--ink); box-shadow: var(--shadow-1); }
.fragment-script[contenteditable='true'] { outline-color: var(--focus); }
.auto-step.running { color: var(--ink); }
.stage-status-dot.running { background: var(--ink-base); }
.asset-status.failed { color: var(--error); }
.asset-badge { background: var(--surface-3); color: var(--muted); }

/* 技能底为中性；仅小图标分色，且不集中在粉。 */
.skill-pill, .skill-pill:hover { border-color: var(--hairline); background: var(--surface-3); box-shadow: none; color: var(--ink); }
.skill-pill:hover { border-color: var(--hairline-strong); background: var(--fill-hover); }
.skill-pill .slash { color: var(--muted); }
.skill-pill:first-child::after { background: var(--surface-3); color: var(--muted); }

/* 主操作色由 stage[data-primary] 唯一授予；其余按钮全部中性。 */
.btn.spend, .send-button.script, .send-button.generate, .guide-next, .composer.can-send .send-button:not(.stop) {
  border-color: var(--hairline); background: var(--surface-3); color: var(--ink); box-shadow: var(--shadow-inset);
}
.btn.spend:hover, .send-button.script:hover, .send-button.generate:hover, .guide-next:hover, .composer.can-send .send-button:not(.stop):hover { border-color: var(--hairline-strong); background: var(--fill-hover); color: var(--ink); }
.stage[data-primary='composer'] .composer.can-send .send-button:not(.stop),
.stage[data-primary='confirm'] .confirmation-card[data-primary-action='true'] .btn.spend,
.stage[data-primary='fragment'] .fragment-actions .btn.spend,
.stage[data-primary='guide'] .guide-next {
  border-color: var(--cl-spend); background: var(--cl-spend); color: var(--cl-on-spend); box-shadow: inset 0 1px 0 rgba(255,255,255,.16);
}
.stage[data-primary='composer'] .composer.can-send .send-button:not(.stop):hover,
.stage[data-primary='confirm'] .confirmation-card .btn.spend:hover,
.stage[data-primary='fragment'] .fragment-actions .btn.spend:hover,
.stage[data-primary='guide'] .guide-next:hover { border-color: var(--cl-spend-hover); background: var(--cl-spend-hover); color: var(--cl-on-spend); }
.stage:not([data-primary='composer']) .composer.can-send .send-button:not(.stop)::before { display: none; }
.composer-cost strong, .params-quote-value, .quote-total-value, .steps-total strong { color: var(--ink); }
.step-row.running .step-mark { border-color: var(--selected-border); color: var(--ink); }
.master-avatar.state-waiting { border-color: var(--warning); }
.capsule-alert { background: var(--error); box-shadow: 0 0 0 4px color-mix(in srgb, var(--error) 12%, transparent); }
.param-issue { color: var(--error); }
.composer.has-params .param-section.has-issue { border-color: var(--error); }

/* 旧组件中容易遗漏的局部粉色也统一收口。 */
.episode-number, .text-button:hover, .prompt-toggle:hover, .reference-slot-add:hover, .param-ref-add:hover,
.material-row svg, .project-default > svg:first-child, .fragment-checkbox, .asset-status.running { color: var(--muted); }
.reference-slot-add:hover, .param-ref-add:hover, .master-capsule:hover { border-color: var(--hairline-strong); }
.step-row.done .step-mark { border-color: var(--success); background: color-mix(in srgb, var(--success) 10%, transparent); color: var(--success); }
.workflow-node.current { border-color: var(--selected-border); background: var(--selected-fill); }
.workflow-node.current .workflow-node-top { color: var(--ink); }
.motion-toggle input:checked + .switch-track, .switch-button[aria-pressed='true'] { border-color: var(--ink-base); background: var(--ink-base); }
.motion-toggle input:checked + .switch-track > span, .switch-button[aria-pressed='true']::after { background: var(--bg); }
.artwork { --accent: var(--signature-lavender); --accent-soft: var(--surface-3); }
.history-filter[aria-pressed='true'] { background: var(--selected-fill); color: var(--ink); }
.composer.is-dragging { border-color: var(--selected-border); background: var(--selected-fill); }
.drag-hint { color: var(--ink); }

/* 第 6 轮：中性焦点、控件单行与历史排版。 */
.composer:focus-within, .composer:focus, .composer textarea:focus-visible { border-color: var(--focus) !important; outline: none; }
:root[data-mode='dark'] .composer:focus-within, :root[data-mode='dark'] .composer:focus, :root[data-mode='dark'] .composer textarea:focus-visible { border-color: rgba(255,255,255,.60) !important; }
:root[data-mode='light'] .composer:focus-within, :root[data-mode='light'] .composer:focus, :root[data-mode='light'] .composer textarea:focus-visible { border-color: rgba(17,17,26,.60) !important; }
button, .btn, .chip, .seg, .skill-pill, .tool-btn, .send-button, .guide-next, .history-filter, .stage-nav-item { white-space: nowrap; }
.text-button { display: inline-flex; align-items: center; gap: var(--s1); flex: none; white-space: nowrap; }
.send-button.script { display: inline-flex; align-items: center; justify-content: center; gap: var(--s1); white-space: nowrap; }
.history-item-text { display: block; min-width: 0; }
.history-item-title, .history-item-meta { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.history-filters { flex-wrap: nowrap; gap: var(--s1); overflow-x: auto; scrollbar-width: none; }
.history-filters::-webkit-scrollbar { display: none; }
.history-filter { flex: 1 1 0; min-width: 28px; display: inline-flex; align-items: center; justify-content: center; padding-inline: 2px; }
.breadcrumb-sep { color: var(--faint); font-size: var(--text-md); line-height: 1; }
.skill-pill:first-child::after { position: static; margin-left: auto; padding: 0 var(--s1); border-radius: var(--r-xs); background: var(--surface-2); color: var(--muted); line-height: 16px; }
.guide-main { min-width: 0; white-space: nowrap; }
.guide-main > span:not(.master-avatar):not(.capsule-alert) { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.quick-card-desc, .project-card-meta, .creation-card p { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
