:root {
  font-family: Inter, "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;
  color: #2e3135;
  background: #f4f4f5;
  font-synthesis: none;
  --paper: #fcfcfd;
  --line: #e0e3e6;
  --muted: #596575;
  --accent: #3472dc;
  --accent-dark: #275cb9;
  --orange: #b95736;
  --shadow: 0 8px 35px #2a2f3610;
  --topbar-height: 56px;
  --library-width: 280px;
  --conversation-width: 392px;
  --footer-height: 28px;
}
* {
  box-sizing: border-box;
}
body {
  margin: 0;
}
#app {
  min-width: 1024px;
  background-color: #f6f7f8;
  background-image: radial-gradient(#d9dde1 1px, transparent 1px);
  background-size: 24px 24px;
}
button,
input,
textarea,
select {
  font: inherit;
}
button,
a,
input,
textarea,
select {
  -webkit-tap-highlight-color: transparent;
}
button {
  cursor: pointer;
}
button:disabled {
  cursor: wait;
  opacity: 0.5;
}
button:focus-visible,
a:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
  outline: 2px solid #828e9d;
  outline-offset: 3px;
}
button,
select {
  color: inherit;
}
a {
  color: inherit;
}
h1,
h2,
h3,
p {
  margin: 0;
}
[hidden] {
  display: none !important;
}
.button {
  border: 1px solid var(--line);
  border-radius: 7px;
  padding: 9px 13px;
  background: transparent;
  transition: background 0.15s ease;
  color: #4b525b;
  font-size: 12px;
  white-space: nowrap;
}
.button:hover {
  background: #e8e9eb;
}
.button.primary {
  background: var(--accent);
  border-color: var(--accent);
  color: #fff;
}
.button.primary:hover {
  background: var(--accent-dark);
}
.button.subtle {
  border-color: transparent;
}
.button.compact {
  padding: 6px 8px;
  font-size: 11px;
}
.icon-button {
  width: 30px;
  height: 30px;
  border: 0;
  border-radius: 5px;
  background: transparent;
  font-size: 18px;
  color: #79828d;
}
.icon-button:hover {
  background: #e9eaec;
}
.input {
  width: 100%;
  padding: 11px 12px;
  border: 1px solid #d6d9de;
  border-radius: 6px;
  background: #fff;
  color: #2b3037;
  outline: none;
  font-size: 13px;
}
.input:focus {
  border-color: #7b8898;
  box-shadow: 0 0 0 3px #7b889816;
}
textarea.input {
  resize: vertical;
  min-height: 80px;
}
.field {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 0 0 18px;
}
.field-label {
  font-size: 12px;
  color: #565d67;
}
.muted {
  font-size: 12px;
  color: var(--muted);
  line-height: 1.7;
}
.eyebrow {
  display: block;
  font-size: 10px;
  letter-spacing: 2.2px;
  font-weight: 600;
  color: #6e7a89;
}
.wordmark {
  font-size: 30px;
  letter-spacing: -2px;
  text-decoration: none;
  font-weight: 680;
  color: #49525d;
  line-height: 1;
}
.app-header {
  position: relative;
  z-index: 10;
  height: var(--topbar-height);
  padding: 0 16px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: transparent;
}
.header-identity,
.header-tools {
  display: flex;
  align-items: center;
  gap: 15px;
}
.header-divider {
  height: 19px;
  width: 1px;
  background: #dbdee1;
  margin: 0 6px;
}
.project-select {
  border: 0;
  background: transparent;
  font-size: 13px;
  max-width: 230px;
  padding: 8px;
  color: #474f59;
}
.workspace-label {
  font-size: 11px;
  color: #878e97;
  letter-spacing: 1px;
}
.account-label {
  padding-left: 18px;
  border-left: 1px solid var(--line);
  font-size: 12px;
  color: #5d6671;
}
.workspace {
  position: relative;
  height: calc(100dvh - var(--topbar-height));
  overflow: hidden;
}
.library-panel {
  position: absolute;
  left: 16px;
  top: 16px;
  bottom: 40px;
  width: var(--library-width);
  max-height: 660px;
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
  z-index: 6;
  border: 1px solid #e0e4e8;
  border-radius: 12px;
  background: #ffffff;
  box-shadow: 0 5px 22px #23364c12;
}
.panel-header {
  height: 52px;
  padding: 0 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-shrink: 0;
}
.panel-header h2 {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.4px;
}
.panel-description {
  font-size: 11px;
  color: #878e97;
  line-height: 1.7;
  padding: 0 20px 20px;
}
.library-actions {
  display: flex;
  flex-direction: column;
  padding: 0 17px 16px;
  gap: 7px;
}
.upload-button {
  background: #eceef0;
  border: 1px dashed #b2b9c2;
  color: #555f6d;
  padding: 12px;
}
.compare-button {
  color: #7f868e;
  font-size: 10px;
  padding: 6px;
}
.library-list {
  overflow: auto;
  padding: 0 14px 20px;
  flex: 1;
}
.library-item {
  position: relative;
  border: 1px solid #e0e2e5;
  border-radius: 8px;
  background: #fcfcfd;
  margin-bottom: 12px;
  display: grid;
  grid-template-columns: 45px 1fr 15px;
  padding: 10px;
  gap: 9px;
  box-shadow: 0 2px 8px #2c313803;
}
.library-thumb {
  height: 45px;
  border-radius: 4px;
  background: #e6e8ea;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  color: #7d8691;
  overflow: hidden;
}
.library-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.library-info {
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 6px;
}
.library-info strong {
  font-weight: 500;
  font-size: 11px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.library-info span {
  font-size: 9px;
  color: #8d939b;
}
.library-item input[type="checkbox"] {
  accent-color: var(--accent);
  width: 13px;
  margin: 2px 0;
}
.library-item-actions {
  grid-column: 1/-1;
  display: flex;
  justify-content: space-between;
  border-top: 1px solid #ebedef;
  padding-top: 6px;
}
.library-item-actions .button {
  font-size: 10px;
  color: #6e7886;
  padding: 3px 5px;
  border: 0;
}
.availability-warning {
  grid-column: 1/-1;
  color: #b27645;
  font-size: 10px;
}
.library-empty {
  padding: 55px 18px;
  text-align: center;
  color: #8b929b;
}
.empty-file-icon {
  font-size: 35px;
  display: block;
  color: #b1b8c1;
  margin-bottom: 17px;
}
.library-empty strong {
  display: block;
  font-size: 12px;
  font-weight: 500;
  margin-bottom: 10px;
}
.library-empty p {
  font-size: 11px;
  line-height: 1.9;
  color: #9fa6af;
}
.canvas-panel {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.board-toolbar {
  position: fixed;
  top: 6px;
  left: 50%;
  transform: translateX(-50%);
  height: 40px;
  display: flex;
  align-items: center;
  padding: 3px;
  gap: 3px;
  border: 1px solid #d7dadf;
  border-radius: 9px;
  background: #fdfdfded;
  box-shadow: 0 4px 18px #2a2f3610;
  z-index: 12;
}
.tool-group {
  display: flex;
  gap: 3px;
  align-items: center;
  padding: 0 3px 0 0;
  border-right: 1px solid var(--line);
}
.tool-button {
  background: none;
  border: 0;
  color: #7f8792;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  height: 32px;
  padding: 0 9px;
  font-size: 11px;
  border-radius: 4px;
  white-space: nowrap;
}
.tool-button:hover {
  background: #ecedef;
}
.tool-button.active {
  background: #e4e6e9;
  color: #515a66;
}
.board-actions {
  display: flex;
  align-items: center;
  gap: 5px;
}
.board-actions .button {
  color: #7b8592;
}
.save-status {
  font-size: 10px;
  color: #929ba6;
  margin: 0 4px;
  white-space: nowrap;
}
.save-status[data-state="dirty"] {
  color: #b88b49;
}
.save-status[data-state="conflict"] {
  color: #b66542;
}
.save-button {
  background: #eaebed;
  border-color: #d5d9de;
}
.library-collapsed .library-panel,
.conversation-collapsed .conversation-panel {
  display: none;
}
.board-stage {
  position: relative;
  overflow: hidden;
  flex: 1;
  min-height: 0;
  background: transparent;
  touch-action: none;
  outline: none;
}
.board-stage[data-tool="pan"] {
  cursor: grab;
}
.board-stage[data-tool="text"] {
  cursor: text;
}
.board-stage[data-tool="pen"] {
  cursor: crosshair;
}
.board-world {
  position: absolute;
  inset: 0;
  transform-origin: 0 0;
  pointer-events: none;
}
.board-card {
  position: absolute;
  background: #fff;
  border: 1px solid #cdd2d8;
  box-shadow: 0 7px 18px #383f4812;
  pointer-events: auto;
  user-select: none;
}
.board-card.selected {
  outline: 2px solid #778495;
  outline-offset: 4px;
}
.board-card.selected:before {
  content: "";
  width: 7px;
  height: 7px;
  background: #fff;
  border: 1px solid #778495;
  position: absolute;
  top: -8px;
  left: -8px;
  z-index: 5;
}
.card-content {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100%;
  background: #fff;
}
.card-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  pointer-events: none;
}
.card-pdf {
  width: 100%;
  height: 100%;
  border: 0;
  pointer-events: none;
}
.file-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #f1f2f4, #fbfbfb);
  padding: 25px;
  color: #808a98;
}
.file-placeholder strong {
  font-size: 13px;
  font-weight: 500;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.file-placeholder span:not(.file-glyph) {
  font-size: 11px;
}
.file-glyph {
  font-size: 28px;
  border: 1px solid #d5d9de;
  padding: 18px;
  line-height: 1;
  border-radius: 7px;
  color: #939dab;
}
.card-caption {
  display: flex;
  align-items: center;
  gap: 7px;
  position: absolute;
  top: calc(100% + 9px);
  left: 0;
  width: 100%;
  font-size: 11px;
  color: #6e7885;
  white-space: nowrap;
}
.card-caption > span:first-child {
  overflow: hidden;
  text-overflow: ellipsis;
  flex-shrink: 1;
}
.version-chip {
  font-size: 9px;
  color: #798595;
  background: #e4e6e8;
  border: 1px solid #d4d8dd;
  border-radius: 3px;
  padding: 2px 5px;
}
.page-button {
  border: 0;
  background: #e4e6e8;
  border-radius: 3px;
  color: #697686;
  padding: 2px 6px;
  font-size: 12px;
}
.page-label {
  font-size: 9px;
}
.card-annotations {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  overflow: visible;
}
.board-empty {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -55%);
  text-align: center;
  width: min(360px, 80%);
  pointer-events: none;
}
.empty-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 70px;
  height: 70px;
  border: 1px solid #d8dbdf;
  border-radius: 17px;
  font-size: 34px;
  color: #aeb5bf;
  background: #f7f7f8;
  margin-bottom: 26px;
  box-shadow: 0 6px 20px #4249530a;
}
.board-empty h2 {
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 1px;
  color: #5f6976;
}
.board-empty p {
  font-size: 12px;
  line-height: 2;
  color: #8f98a4;
  margin-top: 16px;
}
.subtle-caption {
  display: block;
  margin-top: 33px;
  font-size: 10px;
  letter-spacing: 2px;
  color: #9fa8b4;
}
.board-zoom {
  position: absolute;
  bottom: 20px;
  left: 20px;
  display: flex;
  gap: 5px;
  align-items: center;
  padding: 4px 7px;
  border: 1px solid #d9dce0;
  background: #fcfcfded;
  border-radius: 7px;
  box-shadow: 0 3px 10px #333a4210;
}
.zoom-label {
  font-size: 11px;
  width: 40px;
  text-align: center;
  color: #7d8998;
}
.board-zoom .button {
  border: 0;
  color: #7d8998;
}
.board-footer {
  display: flex;
  justify-content: space-between;
  height: var(--footer-height);
  flex-shrink: 0;
  align-items: center;
  font-size: 10px;
  color: #96a0ad;
  background: #f7f7f8;
  border-top: 1px solid var(--line);
  padding: 0 20px;
  gap: 15px;
}
.conversation-panel {
  position: absolute;
  right: 16px;
  bottom: 40px;
  width: var(--conversation-width);
  height: min(600px, calc(100% - 48px));
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  z-index: 6;
  display: flex;
  flex-direction: column;
  background: #ffffff;
  border: 1px solid #e0e4e8;
  border-radius: 12px;
  box-shadow: 0 5px 22px #23364c16;
}
.conversation-panel .panel-header {
  height: 52px;
}
.conversation-select {
  margin: 0 20px 16px;
  padding: 9px 10px;
  background: #f4f4f5;
  border: 1px solid #e3e5e7;
  border-radius: 5px;
  font-size: 11px;
  color: #687483;
}
.target-section {
  padding: 0 18px 12px;
  border-bottom: 1px solid #e8e9eb;
}
.device-row {
  display: flex;
  gap: 4px;
  align-items: center;
}
.device-select {
  flex: 1;
  min-width: 0;
  border: 0;
  border-bottom: 1px solid #e3e5e8;
  padding: 7px 0;
  background: transparent;
  color: #798493;
  font-size: 10px;
}
.device-row .button {
  font-size: 10px;
  color: #84909f;
}
.target-select {
  width: 100%;
  border: 0;
  background: #f5f6f7;
  border-radius: 4px;
  padding: 8px 6px;
  margin-top: 7px;
  font-size: 10px;
  color: #7f8b9a;
}
.capability-label {
  display: block;
  font-size: 9px;
  color: #a3acb7;
  line-height: 1.7;
  padding-top: 6px;
}
.stream-label {
  font-size: 9px;
  color: #949eab;
  display: block;
  padding: 11px 20px 0;
  min-height: 28px;
}
.stream-label:before {
  content: "";
  display: inline-block;
  width: 5px;
  height: 5px;
  background: #99a3af;
  border-radius: 50%;
  margin-right: 6px;
}
.stream-label[data-state="offline"] {
  color: #bc986b;
}
.stream-label[data-state="offline"]:before {
  background: #c5a579;
}
.google-login { width:100%; justify-content:center; padding:12px; margin:8px 0 16px; background:#fff; border:1px solid #cbd5e1; color:#334155; }
.device-authorization { min-height:100vh; display:grid; place-items:center; padding:32px 20px; background:#f5f7fb; }
.authorization-card { width:min(100%,480px); display:flex; flex-direction:column; gap:18px; background:#fff; padding:32px; border:1px solid #dde3eb; border-radius:18px; box-shadow:0 12px 36px #26354a12; }
.authorization-card h1 { font-size:24px; color:#334155; }
.authorization-device { font-size:18px; font-weight:600; overflow-wrap:anywhere; }
.authorization-actions { display:flex; justify-content:flex-end; gap:12px; }
.message-list {
  flex: 1;
  min-height: 120px;
  overflow: auto;
  padding: 14px 18px 10px;
  scroll-behavior: smooth;
}
.chat-empty {
  padding: 32px 15px;
  text-align: center;
  color: #7d8998;
}
.assistant-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  width: 37px;
  height: 37px;
  background: #e9ebed;
  color: #7e8a9a;
  font-size: 18px;
  margin-bottom: 18px;
  font-family: Georgia, serif;
}
.chat-empty h3 {
  font-size: 13px;
  font-weight: 500;
  color: #6d7a8a;
  margin-bottom: 12px;
}
.chat-empty p {
  font-size: 11px;
  line-height: 1.9;
  color: #959eab;
}
.message {
  margin-bottom: 20px;
  padding: 0 2px;
}
.message-label {
  font-size: 10px;
  color: #798696;
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  gap: 7px;
}
.message.assistant .message-label:before {
  content: "A";
  font-family: Georgia, serif;
  font-size: 10px;
  width: 18px;
  height: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #e4e6e9;
  border-radius: 5px;
  color: #6f7c8d;
}
.message.user {
  background: #eff0f1;
  padding: 13px 14px;
  border-radius: 9px;
}
.message.user .message-label {
  color: #7e8a9a;
}
.message-text {
  font-size: 12px;
  line-height: 1.9;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  color: #56606d;
}
.message.tool .message-text {
  font-size: 10px;
  max-height: 180px;
  overflow: auto;
  color: #7f8a98;
}
.message-task-link {
  border: 0;
  background: transparent;
  color: #96a0ad;
  font-size: 9px;
  padding: 7px 0 0;
}
.artifact-link {
  display: block;
  max-width: 100%;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  text-align: left;
  font-size: 10px;
  background: #e9ebed;
  border: 1px solid #dadde0;
  border-radius: 5px;
  color: #6a7787;
  padding: 8px 10px;
  margin-top: 8px;
}
.run-panel:empty {
  display: none;
}
.run-panel {
  margin: 0 18px 10px;
  padding: 12px;
  background: #f5f6f7;
  border: 1px solid #e2e4e7;
  border-radius: 7px;
  max-height: 240px;
  overflow: auto;
}
.run-heading {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  color: #6e7b8d;
}
.run-heading strong {
  font-weight: 500;
}
.status-dot {
  width: 6px;
  height: 6px;
  background: #8a95a3;
  border-radius: 50%;
}
.run-revision {
  font-size: 9px;
  color: #a8b0ba;
  margin-left: auto;
}
.execution-row {
  font-size: 10px;
  display: flex;
  justify-content: space-between;
  gap: 7px;
  flex-wrap: wrap;
  border-top: 1px solid #e3e5e8;
  margin-top: 10px;
  padding-top: 9px;
  color: #85909f;
}
.execution-row .muted {
  font-size: 9px;
}
.execution-row small {
  display: block;
  flex-basis: 100%;
  line-height: 1.6;
  font-size: 9px;
  color: #b29a74;
}
.run-actions {
  display: flex;
  gap: 5px;
  margin-top: 9px;
  flex-wrap: wrap;
}
.run-actions:empty {
  display: none;
}
.run-actions .button {
  font-size: 9px;
  border-color: #dcdee1;
  color: #7d8998;
}
.run-panel[data-phase="recovery_required"] .run-heading,
.run-panel[data-outcome="failed"] .run-heading {
  color: #ad7b52;
}
.run-panel[data-phase="recovery_required"] .status-dot,
.run-panel[data-outcome="failed"] .status-dot {
  background: #c3a373;
}
.input-panel {
  max-height: 340px;
  overflow: auto;
}
.clarification-form {
  margin: 0 18px 12px;
  padding: 14px;
  border: 1px solid #dee0e3;
  border-radius: 6px;
  background: #fafafb;
}
.clarification-form h3 {
  font-size: 12px;
  color: #7f8b9b;
  margin-bottom: 15px;
}
.clarification-form .field {
  margin-bottom: 13px;
}
.clarification-form .input {
  font-size: 11px;
  padding: 8px;
}
.clarification-form .button {
  font-size: 10px;
  padding: 7px 10px;
}
.composer {
  padding: 14px 18px 10px;
  border-top: 1px solid var(--line);
  background: #fcfcfd;
}
.composer-references { display: flex; flex-wrap: wrap; gap: 6px; max-height: 120px; overflow: auto; margin-bottom: 8px; }
.composer-references[hidden], .composer-upload-status[hidden] { display: none; }
.composer-reference { display: flex; align-items: center; gap: 5px; max-width: 100%; border: 1px solid #e0e5eb; border-radius: 6px; padding: 3px 5px; font-size: 11px; }
.composer-reference img { width: 34px; height: 30px; object-fit: contain; }
.composer-reference-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.composer-reference .icon-button { flex-shrink: 0; }
.composer-upload-status { display: block; font-size: 11px; color: #6b7787; margin-bottom: 6px; }
.intent-input {
  width: 100%;
  background: #f9f9fa;
  border: 1px solid #dcdee1;
  border-radius: 8px;
  resize: vertical;
  min-height: 100px;
  max-height: 220px;
  padding: 13px;
  outline: none;
  color: #586371;
  font-size: 12px;
  line-height: 1.8;
}
.intent-input::placeholder {
  color: #a4acb7;
}
.intent-input:focus {
  border-color: #97a1ae;
  box-shadow: 0 0 0 2px #9da6b213;
}
.composer-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 9px;
  gap: 6px;
}
.preference-select {
  border: 0;
  background: transparent;
  max-width: 136px;
  font-size: 9px;
  color: #929ca9;
  padding: 5px 0;
}
.send-button {
  font-size: 10px;
  padding: 8px 11px;
}
.composer-note {
  font-size: 9px;
  color: #a8b0bb;
  line-height: 1.7;
  padding: 11px 0 0;
}
.notice {
  position: fixed;
  z-index: 30;
  left: 50%;
  top: calc(var(--topbar-height) + 12px);
  transform: translateX(-50%);
  max-width: min(680px, 90vw);
  padding: 12px 20px;
  border: 1px solid #dfc9b0;
  background: #fffaf3;
  border-radius: 7px;
  color: #a08057;
  font-size: 12px;
  line-height: 1.8;
  box-shadow: var(--shadow);
}
.notice[data-kind="info"] {
  border-color: #d2d6db;
  background: #f6f7f8;
  color: #707d8e;
}
.toast {
  position: fixed;
  z-index: 70;
  bottom: 35px;
  left: 50%;
  transform: translateX(-50%);
  background: #4a535e;
  color: #fff;
  border-radius: 8px;
  box-shadow: 0 8px 26px #21252b22;
  padding: 11px 20px;
  font-size: 12px;
}
.dialog {
  border: 1px solid #d5d9de;
  border-radius: 12px;
  background: #fcfcfd;
  color: #555f6c;
  width: min(540px, 90vw);
  padding: 0;
  box-shadow: 0 20px 100px #2d323930;
  max-height: 88dvh;
  overflow: auto;
}
.dialog::backdrop {
  background: #2a2f3540;
  backdrop-filter: blur(3px);
}
.dialog-header {
  padding: 18px 23px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid #e9eaec;
}
.dialog-header h2 {
  font-size: 16px;
  font-weight: 500;
}
.dialog-content {
  padding: 23px;
}
.dialog-content > p {
  font-size: 12px;
  line-height: 1.9;
  margin-bottom: 20px;
}
.dialog-content form > .button {
  margin-top: 3px;
}
.dialog-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding-top: 16px;
}
.run-input-view {
  display: grid;
  gap: 12px;
  font-size: 12px;
  line-height: 1.7;
  overflow-wrap: anywhere;
}
.run-input-view h3 {
  font-size: 13px;
  margin-bottom: 6px;
}
.run-input-intent, .run-input-annotation-text {
  white-space: pre-wrap;
}
.run-input-selection, .run-input-annotation {
  margin: 10px 0;
  padding: 10px;
  border: 1px solid #e9eaec;
  border-radius: 6px;
}
.run-input-stroke {
  display: block;
  width: 100%;
  height: 140px;
  background: #f4f5f7;
}
.artifact-preview {
  min-height: 150px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #eeeff1;
  border-radius: 6px;
  overflow: hidden;
}
.artifact-preview img {
  max-width: 100%;
  max-height: 55vh;
  object-fit: contain;
}
.artifact-preview iframe {
  height: 55vh;
  width: 100%;
  border: 0;
}
.artifact-metadata {
  font-size: 11px !important;
  color: #838e9d;
}
.hash-label {
  font-family: ui-monospace, monospace;
  overflow-wrap: anywhere;
  font-size: 9px !important;
  color: #9fa8b4;
  margin: 17px 0 0 !important;
}
.compare-dialog {
  width: min(1100px, 95vw);
}
.compare-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
.compare-panel h3 {
  font-size: 13px;
  font-weight: 500;
  margin-bottom: 7px;
}
.compare-preview {
  height: 55vh;
  background: #eceef0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 15px 0;
  font-size: 12px;
  color: #8c96a4;
}
.compare-preview img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.compare-preview iframe {
  width: 100%;
  height: 100%;
  border: 0;
}
.checkbox-row {
  display: flex;
  gap: 8px;
  font-size: 11px;
  align-items: flex-start;
  line-height: 1.8;
  margin-bottom: 20px;
}
.checkbox-row input {
  accent-color: var(--accent);
}
.pairing-result {
  margin-top: 20px;
  overflow-wrap: anywhere;
  font-size: 12px;
  line-height: 1.9;
}
.pairing-code {
  display: block;
  font:
    28px ui-monospace,
    monospace;
  letter-spacing: 3px;
  color: #5d6877;
  margin: 10px 0;
}
.form-error {
  font-size: 11px;
  line-height: 1.8;
  color: #b88160;
  margin: 12px 0;
}
.boot-screen {
  height: 100dvh;
  display: grid;
  place-items: center;
  color: #7f8b9b;
  font-size: 18px;
  letter-spacing: 2px;
}
.login-screen {
  display: grid;
  grid-template-columns: 1.12fr 1fr;
  min-height: 100dvh;
  background: #fcfcfd;
}
.login-story {
  padding: 65px 9%;
  background: #ebecee;
  position: relative;
  overflow: hidden;
}
.login-story > .wordmark {
  display: block;
  margin-bottom: 80px;
}
.login-story > .eyebrow {
  color: #828d9c;
  font-size: 9px;
  letter-spacing: 2.7px;
}
.login-story h1 {
  font-weight: 450;
  color: #555f6d;
  white-space: pre-line;
  font-size: clamp(28px, 3vw, 43px);
  letter-spacing: 2px;
  line-height: 1.65;
  margin-top: 22px;
}
.login-story > p {
  font-size: 12px;
  line-height: 2.2;
  color: #909aa7;
  white-space: pre-line;
  margin-top: 26px;
}
.login-sketch {
  position: relative;
  height: 210px;
  max-width: 390px;
  margin-top: 55px;
}
.login-sketch > div {
  position: absolute;
  width: 200px;
  height: 135px;
  border: 1px solid #c9ced5;
  background: #f8f8f9;
  padding: 18px;
  box-shadow: 0 8px 20px #464e5809;
}
.login-sketch span {
  display: block;
  font-size: 8px;
  letter-spacing: 1.7px;
  color: #9fa8b3;
}
.login-sketch strong {
  position: absolute;
  bottom: 20px;
  font-size: 11px;
  font-weight: 400;
  color: #8792a0;
}
.sketch-reference {
  left: 0;
  top: 20px;
  transform: rotate(-9deg);
}
.sketch-reference:after {
  content: "";
  position: absolute;
  left: 23px;
  top: 50px;
  width: 130px;
  height: 43px;
  border: 1px solid #bec4cc;
  border-radius: 45% 45% 4px 4px;
}
.sketch-design {
  right: 0;
  top: 0;
  transform: rotate(8deg);
  background: #f1f2f4 !important;
}
.sketch-design:after {
  content: "";
  position: absolute;
  left: 28px;
  top: 45px;
  width: 95px;
  height: 40px;
  border: 1px solid #c8cdd3;
  transform: skew(-18deg);
  box-shadow:
    16px 11px 0 -1px #f1f2f4,
    16px 11px 0 0 #c8cdd3;
}
.login-sketch .sketch-note {
  width: 166px;
  height: 74px;
  background: #e4e6e9;
  left: 86px;
  top: 117px;
  transform: rotate(-3deg);
  padding: 13px;
  box-shadow: 0 5px 15px #464e5812;
}
.sketch-note strong {
  bottom: 15px;
  font-size: 10px;
}
.login-panel {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 60px;
}
.login-form {
  width: min(330px, 100%);
}
.login-form > .eyebrow {
  font-size: 9px;
  color: #99a2ae;
  letter-spacing: 2.5px;
}
.login-form h2 {
  font-weight: 450;
  font-size: 27px;
  letter-spacing: 1px;
  color: #545e6c;
  margin: 18px 0 15px;
}
.form-description {
  font-size: 12px;
  color: #959fac;
  margin-bottom: 39px;
}
.login-form .field {
  margin-bottom: 23px;
}
.login-form .field-label {
  font-size: 11px;
  color: #7d8999;
}
.login-form .input {
  border-color: #dbdee1;
  background: #fafafb;
  height: 44px;
}
.login-submit {
  width: 100%;
  margin-top: 13px;
  padding: 13px !important;
  background: #657180 !important;
  border-color: #657180 !important;
}
.login-footnote {
  font-size: 10px;
  color: #aab2bc;
  text-align: center;
  margin-top: 23px;
}
.login-offline {
  position: fixed;
  bottom: 20px;
  right: 30px;
  font-size: 11px;
  color: #b39065;
  max-width: 350px;
  line-height: 1.8;
}
/* Desktop windows keep the canvas and conversation visible together. */
.desktop-icon {
  width: 17px;
  height: 17px;
  display: block;
  flex: 0 0 auto;
}
.panel-toggle {
  height: 31px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border: 1px solid transparent;
  border-radius: 6px;
  padding: 0 9px;
  background: transparent;
  color: #667180;
  font-size: 11px;
}
.panel-toggle:hover,
.panel-toggle[aria-expanded="true"] {
  background: #eaecee;
  color: #4e5864;
}
.header-panel-toggles,
.panel-heading-actions,
.header-save-actions {
  display: flex;
  align-items: center;
  gap: 4px;
}
.header-panel-toggles {
  margin-left: 4px;
  padding-left: 10px;
  border-left: 1px solid var(--line);
}
.header-save-actions {
  padding-right: 12px;
  margin-right: 1px;
  border-right: 1px solid var(--line);
}
.header-save-actions .save-button {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 30px;
  padding: 0 9px;
}
.panel-heading-actions .icon-button,
.board-actions .icon-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}
.board-actions .icon-button {
  height: 32px;
  width: 32px;
  color: #6e7987;
}
.app-header .wordmark {
  font-size: 26px;
}
@media (max-width: 1200px) {
  .header-identity,
  .header-tools {
    gap: 8px;
  }
  .project-select {
    max-width: 175px;
  }
  .workspace-label {
    display: none;
  }
  .panel-header {
    padding: 0 13px;
  }
  .board-footer {
    padding: 0 12px;
  }
  .login-panel {
    padding: 36px;
  }
  .login-story {
    padding: 45px 9%;
  }
}
@media (max-height: 800px) {
  .panel-description {
    padding-bottom: 13px;
  }
  .conversation-select {
    margin-bottom: 10px;
  }
  .target-section {
    padding-bottom: 8px;
  }
  .intent-input {
    min-height: 88px;
  }
  .composer-note {
    padding-top: 7px;
  }
  .run-panel {
    max-height: 180px;
  }
}

/* Preview pages and public execution reports use the same quiet, readable workbench scale. */
.artifact-preview,
.compare-preview {
  flex-direction: column;
}
.preview-picture {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 0;
  flex: 1;
  width: 100%;
  overflow: hidden;
}
.preview-picture img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.artifact-preview .preview-picture {
  max-height: 55vh;
}
.pdf-preview-controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  width: 100%;
  padding: 9px;
  border-top: 1px solid var(--line);
  background: #f6f7f8;
}
.pdf-preview-controls .muted {
  font-size: 10px;
}
.execution-report {
  margin-top: 10px;
  border-top: 1px solid #dee1e4;
  padding-top: 9px;
  font-size: 10px;
  color: #64707f;
}
.execution-report summary {
  cursor: pointer;
  font-size: 10px;
  color: #6a7686;
}
.report-summary {
  font-size: 11px;
  line-height: 1.8;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  margin-top: 9px;
}
.report-code {
  display: block;
  font-size: 10px;
  color: #a87551;
  margin-top: 8px;
}
.report-effects,
.report-warning {
  font-size: 10px;
  line-height: 1.8;
  margin-top: 8px;
}
.compile-diagnostic {
  font-size: 10px;
  line-height: 1.7;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  background: #eeeff0;
  border-radius: 4px;
  padding: 9px;
  color: #927857;
}
.execution-report-slot {
  font-size: 9px;
  color: #96a0ad;
}
.library-info span,
.capability-label,
.composer-note,
.panel-description,
.board-empty p,
.chat-empty p,
.form-description,
.login-footnote {
  color: #6b7786;
}
.message-text {
  color: #4a535f;
}
.intent-input::placeholder {
  color: #768394;
}
.library-item-actions .button,
.composer-note,
.preference-select,
.stream-label,
.target-select,
.device-select {
  font-size: 11px;
}
.message-label,
.message-task-link,
.capability-label,
.board-footer {
  font-size: 10px;
}
.save-status {
  color: #697686;
}
.input-panel .field-label {
  font-size: 11px;
}
.account-label,
.workspace-label {
  color: #667281;
}

/* AiMo's desktop adaptation of the public canvas-and-floating-panel reference. */
.project-chip {
  display: flex;
  align-items: center;
  gap: 2px;
  height: 34px;
  padding: 0 4px 0 7px;
  background: #fff;
  border: 1px solid #e4e7eb;
  border-radius: 9px;
  box-shadow: 0 2px 7px #26374b07;
}
.project-chip .project-select { padding: 6px; font-size: 12px; }
.project-chip .icon-button { display:flex; align-items:center; justify-content:center; }
.app-header .wordmark { color: #26364d; font-size:24px; }
.header-identity, .header-tools { gap:10px; }
.header-save-actions { padding-right:8px; gap:8px; }
.header-save-actions .save-button { background:#fff; border-color:#dce3ec; color:#506780; }
.panel-toggle { background:#fff; border-color:#e1e6ec; color:#657a93; }
.panel-toggle:hover, .panel-toggle[aria-expanded="true"] { background:#edf4ff; color:#3164ae; }
.tool-button { width:32px; padding:0; justify-content:center; color:#6d7a89; }
.tool-button.active { background:#e7f1ff; color:#2e6bc1; }
.tool-button:hover { background:#f0f4f9; }
.board-toolbar { border-color:#e0e5eb; background:#ffffffed; box-shadow:0 3px 14px #263e5910; }
.board-card.selected { outline-color:#5496dd; }
.board-card.selected:before { border-color:#5496dd; }
.board-zoom { border-color:#e0e5eb; background:#ffffffed; }
.board-footer { background:#f5f7f9b8; border-color:#e9ecf0; color:#8994a0; }
.board-actions .icon-button { color:#728091; }
.panel-header { height:46px; flex-shrink:0; }
.conversation-panel .panel-header { height:44px; }
.panel-header h2 { font-size:12px; color:#3f4d5f; }
.library-panel .panel-header > .icon-button { display:flex; align-items:center; justify-content:center; }
.conversation-select { margin:0 14px 7px; padding:7px 8px; min-height:30px; flex-shrink:0; background:#f7f9fc; border-color:#e8edf2; }
.target-section { padding:0 14px 7px; flex-shrink:0; border-color:#eef1f5; max-height:140px; overflow:auto; }
.target-section > summary { cursor:pointer; padding:4px 0; font-size:10px; color:#8593a4; }
.target-section[open] > summary { margin-bottom:5px; }
.stream-label { padding:7px 15px 0; min-height:22px; flex-shrink:0; }
.message-list { min-height:64px; padding:10px 14px 8px; }
.message { margin-bottom:15px; }
.message.user { background:#f2f6fc; }
.chat-empty { padding:25px 16px; }
.chat-empty h3 { color:#607791; }
.chat-empty p { color:#8795a6; }
.assistant-mark { color:#5f83ad; background:#eef4fb; }
.message.assistant .message-label:before { color:#6785a8; background:#eff4fa; }
.composer { padding:10px 13px 8px; flex-shrink:0; background:#fff; border-color:#edf0f4; }
.intent-input { min-height:84px; max-height:180px; padding:10px 11px; font-size:12px; background:#fcfdff; border-color:#e0e6ee; }
.intent-input:focus { border-color:#91b5e2; box-shadow:0 0 0 2px #7ba7dc10; }
.intent-input::placeholder { color:#9aa7b6; }
.composer-footer { margin-top:7px; }
.composer-note { padding-top:6px; font-size:9px; color:#9da8b5; }
.run-panel { margin:0 13px 8px; padding:10px; min-height:0; max-height:140px; flex-shrink:1; }
.input-panel { min-height:0; max-height:190px; flex-shrink:1; }
.library-list { padding:0 10px 14px; }
.library-actions { padding:0 13px 12px; }
.panel-description { padding:0 14px 14px; font-size:10px; }
.upload-button { background:#f8faff; border-color:#c8d6e8; color:#55769d; }
.login-submit { background:var(--accent)!important; border-color:var(--accent)!important; }
button:focus-visible, a:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible { outline-color:#76a8e0; }
@media (max-width:1200px) {
  .header-identity, .header-tools { gap:7px; }
  .project-chip .project-select { max-width:155px; }
  .header-tools .account-label { display:none; }
}

/* Readable desktop conversation and canvas controls. */
:root { --text: #253247; --secondary: #596575; --line: #dfe5ed; --library-width: 280px; }
#app { color: var(--text); background-color: #f7f8fa; background-image: radial-gradient(#d8dfe8 .8px, transparent .8px); }
.workspace { --conversation-width: 392px; }
.app-header { gap: 16px; }
.header-identity, .header-tools { min-width: 0; }
.header-tools { flex-shrink: 0; }
.account-label { max-width: 140px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; color: var(--secondary); }
.project-chip { height: 36px; }
.project-chip .project-select { font-size: 13px; color: var(--text); max-width: 228px; }
.save-status, .save-button, .panel-toggle, .button.compact { font-size: 12px; }
.save-status { color: var(--secondary); }
.save-status[data-state="dirty"] { color: #895b13; }
.save-status[data-state="conflict"] { color: #a13e2b; }
.button { min-height: 32px; font-size: 13px; color: var(--text); }
.button:disabled, .icon-button:disabled { cursor: not-allowed; }
.icon-button, .tool-button, .panel-toggle { min-width: 32px; min-height: 32px; color: #4e5d72; }
.icon-button { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
.desktop-icon { width: 18px; height: 18px; }
button:focus-visible, a:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible, [tabindex]:focus-visible {
  outline: 2px solid #2d70cf; outline-offset: 2px;
}
.panel-toggle { height: 34px; color: #495b73; }
.panel-toggle:hover, .panel-toggle[aria-expanded="true"] { background: #eaf2ff; color: #235bac; }
.panel-header, .conversation-panel .panel-header { height: 48px; padding: 0 16px; }
.panel-header h2 { font-size: 14px; letter-spacing: 0; color: var(--text); }
.panel-description { padding: 0 16px 14px; font-size: 12px; color: var(--secondary); }
.library-panel { bottom: 100px; max-height: none; border-color: var(--line); }
.library-actions { padding: 0 14px 10px; gap: 6px; }
.upload-button { color: #2d5895; background: #f5f9ff; border-color: #a8bfdc; }
.compare-button { color: var(--secondary); font-size: 12px; }
.library-filters { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 8px; padding: 0 14px 14px; }
.library-search { grid-column: 1/-1; font-size: 14px; padding: 8px 10px; height: 36px; }
.library-search::placeholder { color: var(--secondary); }
.library-filter { min-width: 0; background: #fff; border: 1px solid var(--line); border-radius: 6px; padding: 6px; min-height: 32px; font-size: 12px; }
.library-count { font-size: 12px; color: var(--secondary); }
.library-list { padding: 0 12px 14px; min-height: 0; scrollbar-width: thin; }
.library-item { padding: 10px; gap: 9px; grid-template-columns: 48px minmax(0, 1fr) 16px; background: #fff; border-color: var(--line); box-shadow: none; }
.library-thumb { height: 48px; color: var(--secondary); font-size: 12px; background: #edf1f6; }
.library-info strong { font-size: 13px; color: var(--text); }
.library-info span { font-size: 12px; color: var(--secondary); }
.library-item-actions .button { font-size: 12px; color: #2b5c9c; min-height: 32px; padding: 4px 6px; }
.library-empty { padding: 24px 12px; }
.library-empty strong, .library-empty p, .availability-warning { font-size: 13px; color: var(--secondary); }
.availability-warning { color: #9d4b25; }
.canvas-panel { transition: none; }
.conversation-docked:not(.conversation-collapsed) .canvas-panel { right: calc(var(--conversation-width) + 16px); }
.board-toolbar { position: absolute; top: auto; bottom: 40px; left: var(--canvas-center, 50%); height: 46px; padding: 5px; gap: 4px; border-radius: 12px; z-index: 5; background: #fff; box-shadow: 0 3px 16px #243b5712; }
.tool-group { padding-right: 5px; gap: 3px; }
.tool-button { height: 34px; width: 34px; }
.tool-button.active { background: #e7f1ff; color: #205fae; }
.board-actions { gap: 3px; }
.board-actions .icon-button { width: 32px; height: 34px; }
.board-footer { font-size: 12px; color: var(--secondary); padding: 0 16px; border: 0; background: #f7f8fad9; }
.board-empty { width: min(360px, 75%); }
.board-empty h2 { font-size: 22px; color: #35445a; letter-spacing: 0; }
.board-empty p { font-size: 14px; line-height: 1.8; color: var(--secondary); }
.subtle-caption { font-size: 12px; color: var(--secondary); letter-spacing: 1px; }
.board-card { border: 1px solid #cbd5e2; border-radius: 9px; box-shadow: 0 5px 16px #23364c10; }
.card-content { border-radius: 8px; }
.board-card.selected { outline-color: #367ed4; outline-width: calc(2px / var(--board-zoom, 1)); outline-offset: calc(3px / var(--board-zoom, 1)); }
.board-card.selected:before { display: none; }
.card-caption { top: calc(100% + 8px / var(--board-zoom, 1)); width: calc(100% * var(--board-zoom, 1)); min-height: 32px; font-size: 12px; color: var(--secondary); transform: scale(calc(1 / var(--board-zoom, 1))); transform-origin: top left; gap: 6px; }
.card-caption .card-name { min-width: 0; flex: 1; }
.version-chip { font-size: 12px; color: #4c5d73; background: #edf1f7; border-color: #d9e1ed; padding: 2px 5px; }
.page-label { font-size: 12px; }
.page-button { min-width: 32px; min-height: 32px; font-size: 14px; color: #3d587a; background: #eef3f9; border-radius: 6px; }
.file-placeholder, .file-glyph { color: var(--secondary); }
.file-placeholder span:not(.file-glyph) { font-size: 12px; }
.board-zoom { left: 16px; bottom: 12px; padding: 4px; gap: 2px; border-color: var(--line); border-radius: 10px; z-index: 4; background: #fff; }
.board-zoom .button, .zoom-label { color: var(--text); font-size: 12px; }
.zoom-toggle { min-width: 55px; padding: 3px 6px; }
.zoom-menu { position: absolute; bottom: 64px; left: 16px; display: grid; gap: 3px; z-index: 7; padding: 6px; background: #fff; border: 1px solid var(--line); border-radius: 10px; box-shadow: 0 6px 24px #2532471a; }
.zoom-menu .button { text-align: left; font-size: 12px; }
.zoom-menu [aria-pressed="true"] { background: #edf4ff; }
.board-minimap { position: absolute; bottom: 66px; left: 16px; width: 160px; height: 96px; z-index: 3; border: 1px solid #d6deea; border-radius: 8px; background: #ffffffed; cursor: crosshair; padding: 0; }
.workspace:not(.library-collapsed) .board-minimap { left: calc(var(--library-width) + 36px); }
.minimap-card { fill: #aebccc; }
.minimap-card.selected { fill: #367ed4; }
.minimap-viewport { fill: #3472dc0e; stroke: #367ed4; stroke-width: 1.5px; }
.board-marquee { position: absolute; background: #3472dc15; border: 1px solid #3472dc; z-index: 2; pointer-events: none; }
.board-selection-tools { position: absolute; display: flex; align-items: center; gap: 5px; padding: 5px 7px; background: #fff; border: 1px solid var(--line); border-radius: 10px; box-shadow: 0 4px 16px #25324714; z-index: 4; white-space: nowrap; }
.selection-count { font-size: 12px; color: var(--secondary); padding: 0 5px; }
.board-selection-tools .button { color: #235ca6; border: 0; }
.conversation-panel { bottom: 40px; height: min(720px, calc(100% - 56px)); border-color: var(--line); border-radius: 14px; box-shadow: 0 6px 28px #23364c14; }
.conversation-docked .conversation-panel { top: 12px; bottom: 40px; height: auto; }
.conversation-resize { position: absolute; left: 0; top: 15px; bottom: 15px; width: 6px; z-index: 10; cursor: ew-resize; touch-action: none; border-radius: 4px; }
.conversation-resize:hover, .conversation-resize:focus-visible { background: #3472dc42; }
.conversation-select { margin: 0 16px 8px; padding: 7px 9px; min-height: 34px; background: #f7f9fc; color: #344760; border: 1px solid var(--line); border-radius: 7px; font-size: 13px; }
.target-section { padding: 0 16px 8px; max-height: 240px; color: var(--secondary); border-color: var(--line); }
.target-section > summary { font-size: 12px; color: var(--secondary); padding: 3px 0; }
.target-section .field { margin: 10px 0 0; gap: 5px; }
.target-section .field-label, .capability-label { font-size: 12px; color: var(--secondary); }
.device-select, .target-select, .preference-select { font-size: 12px; color: #42556f; min-height: 32px; }
.preference-select { border: 1px solid var(--line); border-radius: 5px; background: #fff; padding: 6px; max-width: none; }
.device-row .button { font-size: 12px; color: #42556f; }
.stream-label { padding: 5px 17px 6px; min-height: 28px; font-size: 12px; color: var(--secondary); }
.stream-label:before { width: 6px; height: 6px; }
.stream-label[data-state="online"]:before { background: #278260; }
.stream-label[data-state="offline"] { color: #985124; }
.conversation-body { flex: 1; min-height: 0; overflow: auto; overflow-anchor: none; scrollbar-width: thin; border-top: 1px solid #edf0f4; }
.message-list { flex: none; min-height: 0; overflow: visible; padding: 18px 18px 2px; scroll-behavior: auto; }
.message { margin-bottom: 22px; padding: 0; overflow-wrap: anywhere; }
.message.user { margin-left: 24px; padding: 12px 14px 6px; border-radius: 12px 12px 3px 12px; background: #eff4fb; }
.message-label, .message.user .message-label { color: var(--secondary); font-size: 12px; margin-bottom: 8px; }
.message.assistant .message-label { color: #344760; font-weight: 600; }
.message.assistant .message-label:before { color: #275e9f; background: #e9f1fc; font-size: 12px; height: 22px; width: 22px; }
.message-text { font-size: 14px; line-height: 1.75; color: var(--text); white-space: normal; overflow-wrap: anywhere; }
.message-text p + p, .message-text p + ul, .message-text p + ol { margin-top: 12px; }
.message-text p:last-child { margin-bottom: 0; }
.message-text h3, .message-text h4, .message-text h5, .message-text h6 { margin: 16px 0 8px; font-size: 15px; line-height: 1.6; }
.message-text > :first-child { margin-top: 0; }
.message-text ul, .message-text ol { padding-left: 22px; margin: 10px 0; }
.message-text li { padding-left: 2px; margin: 5px 0; }
.message-text li > p { margin: 0; }
.message-text blockquote { margin: 12px 0; padding: 4px 12px; border-left: 3px solid #c0d1e7; color: #4a5d75; }
.message-text a { color: #1e5caf; text-decoration: underline; text-underline-offset: 2px; }
.message-text code { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 14px; background: #edf1f6; padding: 1px 4px; border-radius: 4px; }
.message-text hr { border: 0; border-top: 1px solid var(--line); margin: 16px 0; }
.message-code { margin: 12px 0; border: 1px solid var(--line); border-radius: 8px; overflow: hidden; }
.message-code-header { display: flex; align-items: center; justify-content: space-between; gap: 8px; background: #f3f6fa; padding: 2px 8px; font-size: 12px; color: var(--secondary); }
.message-code pre { margin: 0; padding: 12px; white-space: pre; overflow: auto; background: #f8fafc; }
.message-code pre code { padding: 0; background: none; }
.message-table { overflow: auto; max-width: 100%; margin: 12px 0; border: 1px solid var(--line); border-radius: 7px; }
.message-table table { border-collapse: collapse; min-width: 100%; }
.message-table th, .message-table td { padding: 8px 10px; border-bottom: 1px solid var(--line); text-align: left; min-width: 90px; }
.message-table th { background: #f2f6fb; white-space: nowrap; }
.message-collapsed { max-height: 170px; overflow: hidden; mask-image: linear-gradient(#000 125px, transparent); }
.message-actions { display: flex; align-items: center; gap: 6px; margin-top: 6px; }
.message-actions .button, .message-expand { font-size: 12px; color: var(--secondary); padding: 4px 6px; min-height: 32px; border: 0; background: transparent; }
.message-expand { color: #235ca6; }
.message.tool { padding: 10px 12px; background: #f6f8fb; border: 1px solid var(--line); border-radius: 8px; }
.message.tool > summary { cursor: pointer; display: list-item; margin: 0; font-size: 12px; color: var(--secondary); }
.message.tool .message-text { white-space: pre-wrap; margin-top: 10px; }
.latest-message { position: absolute; bottom: calc(var(--composer-height, 200px) + 12px); left: 50%; transform: translateX(-50%); z-index: 8; border-color: #c9d7e8; background: #fff; color: #235ca6; box-shadow: 0 3px 12px #25324718; border-radius: 18px; font-size: 12px; }
.chat-empty { padding: 24px 6px 32px; text-align: left; }
.chat-empty h3 { font-size: 18px; line-height: 1.5; font-weight: 600; color: var(--text); }
.chat-empty p { font-size: 14px; line-height: 1.75; color: var(--secondary); }
.assistant-mark { font-size: 22px; height: 40px; width: 40px; color: #255ea7; background: #edf4ff; border-radius: 12px; }
.chat-suggestions { display: grid; gap: 6px; margin-top: 24px; }
.chat-suggestion { text-align: left; border: 1px solid var(--line); border-radius: 8px; padding: 10px 12px; font-size: 13px; background: #fff; }
.chat-suggestion:before { content: '↗'; color: #386ead; margin-right: 10px; }
.artifact-link { display: flex; align-items: center; gap: 10px; width: 100%; padding: 10px; background: #fff; border: 1px solid #d8e2ee; border-radius: 10px; white-space: normal; color: var(--text); margin-top: 10px; text-decoration: none; }
.artifact-link:hover { background: #f6f9fd; border-color: #8eafd8; }
.artifact-link-preview { width: 58px; height: 48px; flex: 0 0 58px; display: flex; align-items: center; justify-content: center; border: 1px solid #e3e9f1; border-radius: 5px; background: #f2f5f9; font-size: 14px; color: var(--secondary); overflow: hidden; }
.artifact-link-preview img { width: 100%; height: 100%; object-fit: contain; }
.artifact-link-info { min-width: 0; display: grid; gap: 6px; text-align: left; }
.artifact-link-info strong { font-weight: 600; font-size: 13px; overflow-wrap: anywhere; }
.artifact-link-info > span { font-size: 12px; color: #285c9f; }
.run-panel { margin: 2px 16px 18px; padding: 12px; max-height: none; overflow: visible; border: 1px solid var(--line); border-radius: 10px; background: #f8fafc; }
.run-heading, .run-heading strong { font-size: 13px; font-weight: 600; color: #344963; }
.run-revision { font-size: 12px; font-weight: 400; color: var(--secondary); }
.status-dot { flex-shrink: 0; background: #3472dc; }
.run-panel[data-outcome="succeeded"] .status-dot { background: #278260; }
.run-panel[data-phase="recovery_required"] .run-heading, .run-panel[data-outcome="failed"] .run-heading { color: #9a4727; }
.run-panel[data-phase="recovery_required"] .status-dot, .run-panel[data-outcome="failed"] .status-dot { background: #b15830; }
.execution-row, .execution-row .muted, .execution-row small, .run-actions .button, .execution-report, .execution-report summary, .execution-report-slot, .report-code, .report-effects, .report-warning, .compile-diagnostic { font-size: 12px; color: var(--secondary); }
.execution-row small, .report-warning, .report-code, .compile-diagnostic { color: #915023; }
.report-summary { font-size: 14px; color: var(--text); }
.run-actions { gap: 6px; }
.run-actions .button { background: #fff; min-height: 32px; }
.input-panel { max-height: none; overflow: visible; flex: none; }
.clarification-form { margin: 0 16px 18px; padding: 14px; border-color: #b8cdeb; background: #f6f9ff; border-radius: 10px; }
.clarification-form h3 { font-size: 14px; color: #305887; }
.clarification-form .input { font-size: 14px; padding: 10px; }
.clarification-form .button { font-size: 13px; min-height: 34px; }
.input-panel .field-label { font-size: 13px; color: var(--text); }
.composer { padding: 12px 14px 10px; border-top: 1px solid var(--line); background: #fff; flex-shrink: 0; }
.composer-references { gap: 6px; max-height: 122px; margin-bottom: 8px; }
.composer-reference { width: 100%; padding: 4px; gap: 4px; background: #f7f9fc; border-color: #dce5f0; border-radius: 8px; }
.reference-locate { display: flex; align-items: center; gap: 8px; min-width: 0; flex: 1; min-height: 42px; padding: 2px 4px; border: 0; background: transparent; border-radius: 5px; text-align: left; }
.reference-locate:hover { background: #eaf1fb; }
.composer-reference img { width: 40px; height: 34px; flex-shrink: 0; border-radius: 3px; }
.composer-reference-info { display: grid; gap: 4px; min-width: 0; }
.composer-reference-name { font-size: 12px; color: var(--text); }
.composer-reference-detail, .composer-upload-status { font-size: 12px; color: var(--secondary); }
.intent-input { min-height: 94px; max-height: 190px; padding: 11px 12px; font-size: 14px; line-height: 1.7; background: #fff; border: 1px solid #cbd6e4; color: var(--text); border-radius: 10px; }
.intent-input::placeholder { color: #647287; }
.composer-footer { gap: 6px; margin-top: 8px; }
.composer-hint { margin-right: auto; font-size: 12px; color: var(--secondary); }
.send-button { font-size: 12px; padding: 8px 11px; border-radius: 8px; }
.composer-stop { font-size: 12px; padding: 7px 8px; color: #943e30; background: #fff; border-color: #dfcbc7; border-radius: 8px; }
.composer-stop:disabled { opacity: 1; color: var(--secondary); cursor: default; }
.composer-note { font-size: 12px; color: var(--secondary); padding-top: 8px; }
.notice { font-size: 14px; color: #8a5021; background: #fff9ef; border-color: #d6b996; }
.notice[data-kind="info"] { color: #425977; }
.toast { font-size: 13px; }
.dialog { color: var(--text); background: #fff; }
.dialog-content > p, .dialog .input { font-size: 14px; }
.dialog .field-label, .artifact-metadata, .hash-label, .checkbox-row, .pdf-preview-controls .muted, .form-error { font-size: 12px !important; color: var(--secondary); }
.form-error { color: #9c4429; }
.shortcut-list { display: grid; grid-template-columns: auto 1fr; gap: 12px 18px; margin: 20px 0 0; font-size: 13px; }
.shortcut-list dt { color: #345a88; }
.shortcut-list dd { margin: 0; color: var(--secondary); }
@media (max-height: 800px) {
  .target-section { max-height: 180px; }
  .intent-input { min-height: 82px; max-height: 120px; }
  .composer-references { max-height: 92px; }
  .composer-note { padding-top: 5px; }
  .chat-empty { padding: 12px 4px 20px; }
}
@media (max-width: 1200px) {
  .header-tools .account-label { display: none; }
  .project-chip .project-select { max-width: 160px; }
  .composer-hint { display: none; }
  .composer-footer .send-button { margin-left: auto; }
}

/* Linked task and parameter workbench */
.board-relations{position:absolute;left:0;top:0;width:1px;height:1px;overflow:visible;pointer-events:none;z-index:0}.board-relations path{fill:none;stroke:#998271;stroke-width:2;stroke-dasharray:5 4}.board-relations text{fill:#68554a;font-size:12px;text-anchor:middle;paint-order:stroke;stroke:#f7f5f0;stroke-width:4px}.board-card{z-index:1}.node-card-content{padding:18px;box-sizing:border-box;background:#fcfaf6;display:flex;flex-direction:column;gap:10px;overflow:auto}.node-card-content h3{font-size:16px;margin:0;line-height:1.45;overflow-wrap:anywhere}.node-kind{font-size:12px;color:#745342;letter-spacing:.04em}.node-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}.node-parameters{display:grid;grid-template-columns:1fr auto;gap:5px;margin:0;font-size:13px}.node-parameters dd{margin:0;font-variant-numeric:tabular-nums}.task-node-status{font-size:14px;color:#67482e}.parameter-dialog{width:min(860px,calc(100vw - 32px));max-width:860px}.parameter-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.parameter-form .dialog-actions,.parameter-form .form-error{grid-column:1/-1}.program-state{font-size:13px;color:#625246}.parameter-slider{width:100%;accent-color:#906748}.program-code,.program-history{margin:16px 0;border-top:1px solid #ddd2c8;padding-top:12px}.program-code pre,.program-code-preview{white-space:pre;overflow:auto;max-height:400px;background:#f6f3ee;padding:14px;border-radius:8px;font-size:13px}.program-template{min-height:230px;font-family:ui-monospace,monospace;white-space:pre;font-size:13px}.parameter-definition{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:14px;background:#f6f3ee;border-radius:10px;margin-bottom:10px}.parameter-definition-list{max-height:340px;overflow:auto}.parameter-definition label{font-size:12px}.tool-group{margin:8px 0}.tool-group-details>summary{font-size:12px;color:#66574c;cursor:pointer;padding:8px;background:#f5f1ec;border-radius:8px}.tool-group-body{border-left:2px solid #ddd0c1;padding-left:8px}.tool-group-alert{font-size:12px;color:#8c351e;line-height:1.5}.tool-group-alert[hidden]{display:none}.tool-group-results{display:flex;flex-direction:column;gap:6px}.model-viewer{width:100%;min-width:0}.model-surface{height:min(52vh,450px);min-height:220px;width:100%;border-radius:10px;overflow:hidden;background:#f2f0eb;touch-action:none}.model-surface canvas{display:block;width:100%;height:100%;outline:none}.model-controls{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.model-status{font-size:12px;color:#62564d}.model-geometry,.metric-values{display:grid;grid-template-columns:minmax(120px,1fr) 2fr;gap:8px;font-size:13px}.model-geometry dd,.metric-values dd{margin:0;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.model-metrics{padding:12px 0}.model-metrics h3{font-size:14px}.metric-source{font-size:12px;color:#62564d}.artifact-preview:has(.model-viewer){display:block;max-height:none}.dialog:has(.model-viewer){width:min(980px,calc(100vw - 32px));max-width:980px}.dialog-content:has(.model-viewer){overflow:auto}.artifact-preview:has(.program-code-preview){display:block}.parameter-form input[type=checkbox]{width:22px;height:22px;accent-color:#906748}@media(max-width:600px){.parameter-form{grid-template-columns:1fr}.parameter-definition{grid-template-columns:repeat(2,minmax(0,1fr))}}
.artifact-preview:has(.model-viewer){display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:18px;align-items:start;min-height:0;max-height:none;background:transparent;padding:0}.artifact-preview>.model-viewer{grid-column:1;grid-row:1}.artifact-preview>.model-metrics{grid-column:2;grid-row:1;background:#f6f3ee;padding:14px;border-radius:10px}.model-surface{height:clamp(230px,42vh,380px);min-height:230px}.model-metrics .metric-values{grid-template-columns:1fr;gap:4px}.model-metrics .metric-values dd{margin-bottom:10px;font-size:16px;color:#49392b}.model-controls{position:sticky;bottom:0;background:#fff;padding:4px 0}.metric-source{overflow-wrap:anywhere}@media(max-width:720px){.artifact-preview:has(.model-viewer){display:flex;flex-direction:column}.artifact-preview>.model-viewer{order:0}.artifact-preview>.model-metrics{order:1;width:100%;box-sizing:border-box}}
.node-card-content:has(.task-node-status) h3{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;flex-shrink:0}.node-card-content:has(.task-node-status) .node-actions,.node-card-content:has(.task-node-status) .task-node-status{flex-shrink:0}

/* Selection inspector: controls and quantities stay beside the design surface. */
.workspace { --inspector-width: 304px; --model-right: calc(var(--conversation-width) + 32px); }
.workspace.conversation-collapsed { --model-right: 16px; }
.workbench-inspector { position:absolute; left:16px; top:12px; bottom:40px; width:var(--inspector-width); display:flex; flex-direction:column; background:#fff; border:1px solid var(--line); border-radius:12px; box-shadow:0 4px 24px #23364c12; z-index:7; overflow:hidden; }
.workbench-inspector[hidden], .inspector-page[hidden], .model-workspace[hidden] { display:none; }
.inspector-heading { font-size:14px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.inspector-pages { flex:1; min-height:0; overflow:auto; overscroll-behavior:contain; scrollbar-width:thin; }
.inspector-page { padding:16px; min-width:0; }
.inspector-page .parameter-form { display:flex; flex-direction:column; gap:14px; }
.inspector-page .parameter-form .field { min-width:0; margin:0; }
.inspector-page .dialog-actions { display:flex; flex-wrap:wrap; gap:8px; margin:8px 0 0; }
.inspector-page .dialog-actions .button { flex:1 1 100px; white-space:normal; }
.inspector-page .program-code pre { max-height:280px; font-size:12px; }
.inspector-page .program-history .button { white-space:normal; text-align:left; }
.inspector-page .parameter-definition { grid-template-columns:repeat(2,minmax(0,1fr)); padding:10px; }
.inspector-page .parameter-definition-list { max-height:none; overflow:visible; }
.inspector-page .program-template { min-height:200px; width:100%; box-sizing:border-box; }
.inspector-page .program-state { line-height:1.6; margin:8px 0 14px; }
.inspector-summary { display:flex; align-items:center; justify-content:space-between; gap:8px; margin:0 0 12px; color:var(--secondary); font-size:12px; }
.inspector-count { display:inline-flex; padding:3px 8px; border-radius:12px; background:#edf3fa; color:#305d8c; font-variant-numeric:tabular-nums; }
.inspector-page .model-metrics { padding:0; }
.inspector-page .model-metrics h3, .inspector-page .geometry-heading { font-size:13px; margin:18px 0 12px; }
.inspector-page .model-geometry, .inspector-page .metric-values { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px 12px; font-size:13px; padding:0 0 16px; margin:0; border-bottom:1px solid var(--line); }
.inspector-page .model-geometry dd, .inspector-page .metric-values dd { max-width:160px; margin:0; text-align:right; color:var(--text); }
.inspector-page .metric-source { font-size:11px; line-height:1.6; }
.inspector-page .model-metrics .button { white-space:normal; }
.model-workspace { position:absolute; left:calc(var(--inspector-width) + 32px); right:var(--model-right); top:12px; bottom:40px; padding:14px; border:1px solid var(--line); border-radius:12px; background:#f8f9fb; z-index:4; display:flex; flex-direction:column; min-width:0; overflow:auto; }
.model-workspace-header { display:flex; justify-content:space-between; gap:10px; align-items:center; margin-bottom:12px; }
.model-workspace-header h3 { margin:0; font-size:14px; overflow-wrap:anywhere; }
.model-workspace .model-viewer { flex:1; display:flex; flex-direction:column; min-height:240px; }
.model-workspace .model-surface { flex:1; height:auto; min-height:200px; }
.model-workspace .model-controls { position:static; background:transparent; gap:6px; }
.inspector-open .board-minimap { left:calc(var(--inspector-width) + 32px); }
@media(max-width:900px) {
  .workspace { --inspector-width: min(340px, calc(100vw - 32px)); }
  .model-workspace { left:16px; right:16px; height:42%; bottom:auto; }
  .workspace:has(.model-workspace:not([hidden])) .workbench-inspector { top:calc(42% + 40px); right:16px; width:auto; }
  .model-workspace .model-viewer { min-height:100px; }
  .model-workspace .model-surface { min-height:100px; }
  .inspector-open .board-minimap { display:none; }
}
.model-workspace-preview { flex:1; min-height:0; display:flex; flex-direction:column; }
.artifact-preview > .geometry-section { grid-column:2; grid-row:2; }
@media(max-width:600px) {
  .app-header { flex-wrap:wrap; height:auto; min-height:var(--topbar-height); gap:4px; padding:6px 10px; }
  .header-identity, .header-tools { min-width:0; flex-wrap:wrap; gap:4px; }
  .project-chip { min-width:0; max-width:150px; }
  .header-tools .account-label { display:none; }
}
.inspector-open .board-zoom, .inspector-open .zoom-menu { left:calc(var(--inspector-width) + 32px); }
.workspace:has(.model-workspace:not([hidden])) .board-toolbar,
.workspace:has(.model-workspace:not([hidden])) .board-zoom,
.workspace:has(.model-workspace:not([hidden])) .board-selection-tools,
.workspace:has(.model-workspace:not([hidden])) .board-minimap { visibility:hidden; }
.inspector-page .model-geometry dt:last-of-type, .inspector-page .model-geometry dd:last-of-type { grid-column:1/-1; max-width:none; text-align:left; }
@media(max-width:900px) {
  #app { min-width:0; }
  #app:has(.workspace) { height:100dvh; display:flex; flex-direction:column; }
  .workspace { flex:1; min-height:0; height:auto; }
  .app-header { flex-shrink:0; flex-wrap:wrap; height:auto; min-height:var(--topbar-height); }
  .header-identity, .header-tools { min-width:0; flex-wrap:wrap; }
}
.inspector-open .board-zoom { top:12px; bottom:auto; }
.inspector-open .zoom-menu { top:60px; bottom:auto; }
.inspector-page .parameter-form .form-error:empty { display:none; }

.task-plan { border: 1px solid var(--border, #d8dfdd); border-radius: 12px; padding: 14px; background: var(--surface, #f8faf9); }
.task-plan h3 { margin: 0 0 8px; font-size: 15px; overflow-wrap: anywhere; }
.task-plan-status { font-weight: 600; line-height: 1.6; }
.task-plan-steps summary { cursor: pointer; padding: 8px 0; }
.task-plan-steps li { padding: 5px 0; line-height: 1.5; overflow-wrap: anywhere; }
.task-plan-steps [data-status="completed"] { color: #39745a; }
.task-plan-steps [data-status="skipped"] { color: #777; }
.task-plan-notice { white-space: pre-wrap; overflow-wrap: anywhere; }

/* Peer panels preserve the conversation DOM without consuming message space. */
.workspace-tabs { display:flex; gap:4px; padding:4px 12px; border-bottom:1px solid var(--line); flex-shrink:0; }
.workspace-tab { flex:1; min-height:36px; border:0; border-radius:6px; background:transparent; color:var(--secondary); font:inherit; font-size:14px; cursor:pointer; }
.workspace-tab[aria-selected="true"] { background:#edf4fb; color:#225b8f; }
.workspace-tab:focus-visible { outline:2px solid #397ab4; outline-offset:1px; }
.conversation-tab-content { display:flex; flex-direction:column; flex:1; min-height:0; overflow:hidden; }
.conversation-tab-content[hidden], .device-tab-content[hidden] { display:none; }
.device-tab-content { flex:1; min-height:0; overflow:auto; padding:14px 16px; font-size:14px; }
.device-tab-content h3 { margin:8px 0 12px; font-size:14px; }
.device-tab-content .target-section { max-height:none; padding:12px 0; overflow:visible; }
.device-tab-content .stream-label { display:block; padding:4px 0; }
.device-status { overflow-wrap:anywhere; }
.device-status p { margin:8px 0; }
.stream-label[data-state="connecting"]:before, .stream-label[data-state="reconnecting"]:before { background:#b47724; }
.working-set-view { border-top:1px solid var(--line); padding-top:12px; display:grid; gap:10px; }
.working-set-entry { display:grid; gap:6px; padding:10px; border:1px solid var(--line); border-radius:8px; overflow-wrap:anywhere; }

/* Persistent plan and compact tool activity. */
.task-plan-dock { flex: 0 0 auto; min-height: 0; max-height: min(38vh, 270px); overflow: auto; border-top: 1px solid #e3e8ed; background: #f8fafc; }
.task-plan-dock[hidden] { display: none; }
.task-plan-dock .task-plan { border: 0; border-radius: 0; padding: 8px 12px; background: transparent; }
.task-plan-top { display: flex; align-items: center; gap: 8px; }
.task-plan-top h3 { flex: 1; min-width: 0; margin: 0; font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.task-plan-action { flex: 0 0 auto; font-size: 12px; }
.task-plan-status { margin: 4px 0; font-size: 13px; line-height: 1.4; font-weight: 500; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.task-plan-progress, .task-plan-preparing progress { display: block; width: 100%; height: 6px; margin: 7px 0 3px; accent-color: #477bc4; border: 0; border-radius: 4px; overflow: hidden; }
.task-plan-progress::-webkit-progress-bar { background: #e4eaf2; }
.task-plan-progress::-webkit-progress-value { background: #477bc4; border-radius: 4px; }
.task-plan-steps > summary { padding: 6px 0; min-height: 32px; font-size: 12px; color: #53647a; box-sizing: border-box; }
.task-plan-steps > ol { max-height: min(18vh, 140px); overflow: auto; margin: 0; padding-left: 22px; font-size: 13px; }
.task-plan-notice { margin: 4px 0; max-height: 40px; overflow: auto; font-size: 12px; color: #8d451b; }
.task-plan-notice[hidden] { display: none; }
.task-plan-preparing { padding: 10px 12px; font-size: 13px; color: #53647a; }
.historical-plan > summary { cursor: pointer; font-size: 12px; }
.tool-group { margin: 6px 0; }
.tool-group-details > summary { padding: 6px 8px; min-height: 30px; box-sizing: border-box; font-size: 12px; color: #526174; background: #f4f6f9; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tool-group-body { max-height: 180px; overflow: auto; border: 0; padding: 4px 8px; }
.tool-group .message.tool { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 0; padding: 5px 0; border: 0; background: transparent; box-shadow: none; }
.tool-group .message.tool .message-label { margin: 0; font: 12px ui-monospace, monospace; overflow-wrap: anywhere; }
.tool-group .message.tool .message-text { margin: 0; font-size: 12px; color: #526174; white-space: nowrap; }
.tool-group .message.tool[data-tool-status="failed"] .message-text { color: #9a3412; }
.tool-group-results:empty { display: none; }
.run-execution-details { margin: 8px 0; }
.run-execution-details > summary { cursor: pointer; min-height: 32px; font-size: 12px; color: #53647a; }
.working-set-summary { flex-shrink:0; text-align:left; padding:4px 16px; min-height:28px; border:0; background:transparent; color:var(--secondary); font-size:12px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; cursor:pointer; }
