/* canvas-history-reference-20260822b.css */
/* Infinite-canvas history/reference hotfix: 2026-08-22 */

/* The native textarea reserves the raw @reference token. Keep the visual pill
   on that exact box so the visible text and native caret share one advance. */
.mh-prompt-reference-visual > * {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
}

/* Each node is an isolated layer. Empty parts of the full-canvas wrapper do not
   intercept input; only the node's real direct children remain interactive. */
[data-canvas-node-layer] {
  isolation: isolate;
  pointer-events: none !important;
}

[data-canvas-node-layer] > * {
  pointer-events: auto;
}

/* Dedicated light prompt palette. */
[data-project-theme="light"] [data-prompt-surface] {
  background: #f8fafc !important;
  border-color: #cbd5e1 !important;
  color: #27364a !important;
  box-shadow: 0 22px 52px rgba(30, 41, 59, 0.16) !important;
}

[data-project-theme="light"] [data-prompt-surface] [data-prompt-editor],
[data-project-theme="light"] [data-prompt-surface] textarea,
[data-project-theme="light"] [data-prompt-surface] input {
  color: #27364a !important;
  caret-color: #111827 !important;
}

[data-project-theme="light"] [data-prompt-surface] textarea::placeholder,
[data-project-theme="light"] [data-prompt-surface] input::placeholder {
  color: #667085 !important;
  opacity: 1;
}

[data-project-theme="light"] [data-prompt-surface] [data-prompt-shortcut] {
  border: 1px solid #d2dae6 !important;
  background: #e9eef5 !important;
  color: #344054 !important;
}

[data-project-theme="light"] [data-prompt-surface] [data-prompt-shortcut]:hover {
  border-color: #b8c4d4 !important;
  background: #dfe7f1 !important;
  color: #182230 !important;
}

[data-project-theme="light"] [data-prompt-surface] [data-prompt-shortcut][data-active="true"] {
  border-color: #aebfd6 !important;
  background: #dbe7f5 !important;
  color: #173b6d !important;
}

/* Explicit selector is required because this release surgically patches an
   already-built Tailwind bundle. It also protects the modal from future canvas
   stacking changes. */
[data-history-overlay] {
  position: fixed !important;
  inset: 0 !important;
  z-index: 200 !important;
  isolation: isolate;
  box-sizing: border-box;
  overscroll-behavior: contain;
}

[data-history-preview] {
  position: fixed !important;
  inset: 0 !important;
  z-index: 210 !important;
  isolation: isolate;
}

[data-history-dialog] {
  max-height: calc(100dvh - 16px);
}

[data-history-dialog-header] {
  position: sticky;
  top: 0;
}

@media (max-width: 720px), (max-height: 620px) {
  [data-history-dialog] {
    height: calc(100dvh - 12px) !important;
    max-height: calc(100dvh - 12px) !important;
    border-radius: 14px !important;
  }

  [data-history-dialog-header] {
    padding: 8px 10px !important;
  }

  [data-history-dialog-header] > :first-child {
    font-size: 20px !important;
  }
}

/* site-logo-global-v2-20260807.css */
/* Unify every brand-logo instance without changing React-managed DOM. */
img[src*="xinghe-logo"],
img[alt="星晗文化"] {
  content: url("/brand/xinghe-logo.png?v=20260807-white5");
  display: block;
  width: auto !important;
  height: 72px !important;
  max-width: 280px;
  object-fit: contain;
}

img[src*="xinghe-logo"] + span,
img[alt="星晗文化"] + span {
  display: none !important;
}

/* canvas-agent-panel-20260813.css */
#xh-canvas-agent-root {
  position: fixed;
  inset: 0;
  /* Normal canvas chrome tops out below 200; the full-screen media viewer is
     z-index 220 and must remain above Agent so its download/close controls work. */
  z-index: 200;
  pointer-events: none;
  color: #f5f7fa;
  font-family: Inter, "Microsoft YaHei", "PingFang SC", sans-serif;
  letter-spacing: 0;
}

#xh-canvas-agent-root *,
#xh-canvas-agent-root *::before,
#xh-canvas-agent-root *::after {
  box-sizing: border-box;
  letter-spacing: 0;
}

.xh-agent-launch {
  position: fixed;
  right: 10px;
  top: var(--xh-agent-top, 14px);
  display: flex;
  width: 86px;
  height: 34px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 9px;
  background: #292b30;
  color: #fff;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.34);
  cursor: pointer;
  pointer-events: auto;
  transition: opacity 140ms ease, transform 140ms ease, background 140ms ease;
}

.xh-agent-launch:hover { background: #23262b; }
.xh-agent-launch strong { font-size: 13px; font-weight: 700; }
.xh-agent-launch.is-hidden { opacity: 0; transform: translateX(18px); pointer-events: none; }

.xh-agent-brand-mark {
  display: inline-flex;
  width: 23px;
  height: 23px;
  flex: 0 0 23px;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  background: #21e6be;
  color: #07251f;
  font-size: 13px;
  font-weight: 900;
  line-height: 1;
}

.xh-agent-launch-icon {
  position: relative;
  display: inline-flex;
  width: 22px;
  height: 18px;
  flex: 0 0 22px;
  align-items: center;
  justify-content: center;
  border: 2px solid currentColor;
  border-radius: 5px;
  color: #f5f5f5;
}
.xh-agent-launch > .xh-agent-launch-icon { transform: scale(.72); }

/* Keep the canvas full width while Agent is closed. Only the native top action
   group moves left so Agent shares the same row and background. */
.xh-agent-host-actions {
  margin-right: 96px !important;
  transform: none !important;
  transition: margin-right 160ms ease !important;
}

html.xh-agent-panel-open body > #root {
  width: calc(100% - 420px) !important;
  max-width: calc(100% - 420px) !important;
  overflow: hidden !important;
  transition: width 190ms ease, max-width 190ms ease;
}
.xh-agent-launch-icon::before,
.xh-agent-launch-icon::after,
.xh-agent-launch-icon i { content: ""; position: absolute; width: 3px; height: 3px; border-radius: 50%; background: currentColor; }
.xh-agent-launch-icon::before { left: 4px; }
.xh-agent-launch-icon i { left: 8px; }
.xh-agent-launch-icon::after { left: 12px; }

.xh-agent-panel {
  position: fixed;
  inset: 0 0 0 auto;
  display: flex;
  width: min(420px, 100vw);
  height: 100dvh;
  flex-direction: column;
  overflow: hidden;
  border-left: 1px solid #30343b;
  background: #202122;
  box-shadow: -24px 0 70px rgba(0, 0, 0, 0.42);
  opacity: 0;
  pointer-events: none;
  transform: translateX(100%);
  transition: opacity 160ms ease, transform 190ms ease;
}

.xh-agent-panel.is-open { opacity: 1; pointer-events: auto; transform: translateX(0); }

.xh-agent-header {
  display: flex;
  min-height: 58px;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid #34373d;
  padding: 0 15px;
  background: #202122;
}

.xh-agent-brand { display: flex; min-width: 0; align-items: center; gap: 10px; }
.xh-agent-brand strong { overflow: hidden; font-size: 15px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.xh-agent-header-actions { display: flex; gap: 4px; }
.xh-agent-header-actions button,
.xh-agent-icon-button {
  display: inline-flex;
  width: 31px;
  height: 34px;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: #b8bdc6;
  cursor: pointer;
  font-size: 16px;
}
.xh-agent-header-actions .xh-agent-cli-button { width: 40px; height: 40px; border-radius: 10px; background: #3a3b3d; color: #fff; }
.xh-agent-header-actions .xh-agent-cli-button .xh-agent-launch-icon { transform: scale(.76); }

.xh-agent-header-actions button:hover,
.xh-agent-icon-button:hover { background: #292c31; color: #fff; }

.xh-agent-error {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid #6b3035;
  background: #321d20;
  padding: 10px 14px;
  color: #ffb9bd;
  font-size: 12px;
  line-height: 1.5;
}

.xh-agent-error button { border: 0; background: transparent; color: inherit; cursor: pointer; font-size: 17px; }
.xh-agent-body { min-height: 0; flex: 1; overflow: hidden; }

.xh-agent-home {
  position: relative;
  display: flex;
  height: 100%;
  min-height: 0;
  flex-direction: column;
  overflow: hidden;
  padding: 0 10px 12px;
}

.xh-agent-home-space { min-height: 210px; flex: 1; }
.xh-agent-starter { flex: 0 0 auto; padding: 0 2px 14px; }
.xh-agent-starter-head { display: flex; align-items: center; justify-content: space-between; padding: 0 8px 10px; }
.xh-agent-starter-head strong { color: #f0f1f2; font-size: 16px; font-weight: 650; }
.xh-agent-starter-head button { border: 0; background: transparent; color: #9299a1; cursor: pointer; font-size: 12px; }
.xh-agent-starter-robot { margin-right: 8px; color: #fff; }
.xh-agent-home-composer { position: relative; flex: 0 0 auto; border: 1px solid #46494d; border-radius: 14px; background: #262728; padding: 0 8px 8px; }
.xh-agent-home-composer .xh-agent-composer { border: 0; background: transparent; padding: 8px 0 0; }
.xh-agent-home-composer .xh-agent-composer:focus-within { border-color: transparent; }
.xh-agent-home-composer .xh-agent-composer textarea { min-height: 60px; resize: none; }
.xh-agent-bottom-tools { position: relative; display: grid; min-height: 45px; grid-template-columns: repeat(4, minmax(54px, 1fr)); align-items: center; gap: 4px; padding-top: 4px; color: #93999f; }
.xh-agent-bottom-tools > button { display: inline-grid; height: 39px; grid-template-columns: 20px auto; align-items: center; justify-content: center; gap: 5px; border: 0; border-radius: 7px; background: transparent; color: #a3a9b1; cursor: pointer; }
.xh-agent-bottom-tools > button i { font-size: 18px; font-style: normal; line-height: 1; }
.xh-agent-bottom-tools > button small { font-size: 10px; white-space: nowrap; }
.xh-agent-bottom-tools > button:hover,
.xh-agent-bottom-tools > button.is-active { background: #3b3d40; color: #fff; }
.xh-agent-reference-count,
.xh-agent-model-label { display: none; }

.xh-agent-greeting { display: flex; flex-direction: column; gap: 4px; padding: 0 7px 20px; }
.xh-agent-greeting span { color: #25e0bd; font-size: 13px; font-weight: 700; }
.xh-agent-greeting strong { color: #fff; font-size: 22px; line-height: 1.3; }
.xh-agent-section-label { padding: 0 3px 9px; color: #c4c8cf; font-size: 12px; }
.xh-agent-skills { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }

.xh-agent-skill,
.xh-agent-free-chat {
  display: grid;
  width: 100%;
  min-height: 62px;
  grid-template-columns: 40px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  border: 1px solid #565b64;
  border-radius: 14px;
  background: #242526;
  padding: 9px 12px;
  color: #f4f5f6;
  cursor: pointer;
  text-align: left;
}

.xh-agent-skill:hover,
.xh-agent-free-chat:hover { border-color: #23d9b7; background: #202524; }
.xh-agent-skill-icon { display: inline-flex; width: 40px; height: 40px; align-items: center; justify-content: center; border-radius: 50%; background: #343638; color: #d8dadd; font-size: 18px; text-align: center; }
.xh-agent-skill-thumb { display: block; width: 48px; height: 42px; border-radius: 9px; background-image: url('/assets/agent-skill-recommendations-v1.webp?v=1'); background-repeat: no-repeat; background-size: 200% 200%; box-shadow: inset 0 0 0 1px rgba(255,255,255,.12); }
.xh-agent-skill-thumb.is-one-line { background-position: 0 0; }
.xh-agent-skill-thumb.is-general-video { background-position: 100% 0; }
.xh-agent-skill-thumb.is-script-storyboard { background-position: 0 100%; }
.xh-agent-skill-thumb.is-video-clone { background-position: 100% 100%; }
.xh-agent-skill:has(.xh-agent-skill-thumb) { grid-template-columns: 48px minmax(0,1fr); }
.xh-agent-skill-copy { min-width: 0; }
.xh-agent-skill-copy strong,
.xh-agent-free-chat strong { display: block; margin-bottom: 3px; font-size: 14px; font-weight: 700; line-height: 1.25; }
.xh-agent-skill-copy small,
.xh-agent-free-chat small { display: block; overflow: hidden; color: #9ca2ad; font-size: 11px; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.xh-agent-skill-copy em { display: none; }
.xh-agent-chevron,
.xh-agent-free-chat b { color: #bec3ca; font-size: 22px; font-weight: 400; }
.xh-agent-free-chat { margin-top: 8px; }
.xh-agent-free-chat > span { color: #25e0bd; font-size: 23px; text-align: center; }

.xh-agent-loading,
.xh-agent-empty {
  display: flex;
  min-height: 150px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  color: #9299a3;
  font-size: 13px;
  text-align: center;
}

.xh-agent-spinner {
  display: inline-block;
  width: 15px;
  height: 15px;
  flex: 0 0 15px;
  border: 2px solid rgba(255, 255, 255, 0.2);
  border-top-color: #24dfbb;
  border-radius: 50%;
  animation: xh-agent-spin 800ms linear infinite;
}

@keyframes xh-agent-spin { to { transform: rotate(360deg); } }

.xh-agent-conversation { display: flex; height: 100%; min-height: 0; flex-direction: column; }
.xh-agent-conversation-toolbar {
  display: grid;
  min-height: 52px;
  grid-template-columns: 72px minmax(0, 1fr) 36px;
  align-items: center;
  gap: 7px;
  border-bottom: 1px solid #30343a;
  padding: 7px 10px;
}

.xh-agent-text-button {
  border: 0;
  background: transparent;
  color: #aeb4bd;
  cursor: pointer;
  font-size: 13px;
  text-align: left;
}

.xh-agent-text-button:hover { color: #fff; }
.xh-agent-current-skill { display: flex; min-width: 0; align-items: center; justify-content: center; gap: 8px; }
.xh-agent-current-skill strong { overflow: hidden; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.xh-agent-direction { min-width: 0; max-width: 128px; border: 1px solid #42474f; border-radius: 5px; background: #202328; padding: 4px 22px 4px 7px; color: #dbe0e5; font-size: 11px; }

.xh-agent-chat { min-height: 0; flex: 1; overflow-y: auto; padding: 14px 15px 18px; scroll-behavior: smooth; }
.xh-agent-chat-empty { min-height: 100%; padding: 34px; line-height: 1.7; }
.xh-agent-message { margin-bottom: 15px; }
.xh-agent-message-meta { display: flex; justify-content: space-between; margin-bottom: 5px; color: #7f8792; font-size: 10px; }
.xh-agent-message-content { border: 1px solid #343840; border-radius: 7px; background: #1b1e21; padding: 10px 12px; color: #e8eaed; font-size: 13px; line-height: 1.65; overflow-wrap: anywhere; }
.xh-agent-message.is-user .xh-agent-message-content { border-color: #2d6459; background: #18302b; }
.xh-agent-message.is-user { margin-left: 38px; }
.xh-agent-message.is-agent { margin-right: 22px; }

.xh-agent-run,
.xh-agent-command {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 9px 0;
  border: 1px solid #3a3f47;
  border-radius: 7px;
  background: #1c1f23;
  padding: 9px 11px;
  color: #bfc4cc;
  font-size: 12px;
}

.xh-agent-run button,
.xh-agent-command button { margin-left: auto; border: 0; background: transparent; color: #29dab8; cursor: pointer; }
.xh-agent-approval { margin: 12px 0; border: 1px solid #3c6e64; border-radius: 7px; background: #192824; padding: 12px; }
.xh-agent-approval-title { color: #f3f6f5; font-size: 13px; font-weight: 700; }
.xh-agent-approval p { margin: 7px 0; color: #b9c0c5; font-size: 12px; line-height: 1.55; }
.xh-agent-points { color: #f2c26d; font-size: 11px; }
.xh-agent-approval-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 11px; }
.xh-agent-approval-actions button { height: 31px; border: 1px solid #555c65; border-radius: 6px; background: transparent; padding: 0 13px; color: #e5e8eb; cursor: pointer; }
.xh-agent-approval-actions button.is-primary { border-color: #25dbb7; background: #25dbb7; color: #0b231e; font-weight: 700; }

.xh-agent-composer-wrap { position: relative; border-top: 1px solid #34383f; background: #181a1d; padding: 9px 11px 12px; }
.xh-agent-composer-tools { display: flex; min-height: 28px; align-items: center; justify-content: space-between; margin-bottom: 5px; }
.xh-agent-composer-tools button { border: 0; border-radius: 5px; background: transparent; padding: 5px 7px; color: #aeb5be; cursor: pointer; font-size: 12px; }
.xh-agent-composer-tools button:hover,
.xh-agent-composer-tools button.has-selection { background: #24342f; color: #2ce0bc; }
.xh-agent-composer-tools span { overflow: hidden; max-width: 185px; color: #737b87; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.xh-agent-composer { display: grid; grid-template-columns: minmax(0, 1fr) 38px; align-items: end; gap: 8px; border: 1px solid #4a5059; border-radius: 7px; background: #202327; padding: 7px; }
.xh-agent-composer:focus-within { border-color: #25d9b6; }
.xh-agent-composer textarea { width: 100%; min-height: 50px; max-height: 150px; resize: vertical; border: 0; outline: 0; background: transparent; color: #f3f4f6; font: inherit; font-size: 13px; line-height: 1.55; }
.xh-agent-composer textarea::placeholder { color: #777f8a; }
.xh-agent-composer > button { display: inline-flex; width: 36px; height: 36px; align-items: center; justify-content: center; border: 0; border-radius: 6px; background: #25dfba; color: #09251f; cursor: pointer; font-size: 21px; font-weight: 800; }
.xh-agent-composer > button:disabled { background: #3a3e44; color: #777d85; cursor: default; }

.xh-agent-material-popover { position: absolute; right: 10px; bottom: calc(100% - 4px); left: 10px; overflow: hidden; border: 1px solid #484e57; border-radius: 7px; background: #1c1f22; box-shadow: 0 -18px 50px rgba(0, 0, 0, 0.35); }
.xh-agent-material-head { display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid #343940; padding: 10px 11px; color: #e6e8eb; font-size: 12px; }
.xh-agent-material-head button { border: 0; background: transparent; color: #8c949e; cursor: pointer; }
.xh-agent-material-list { max-height: 280px; overflow-y: auto; padding: 5px; }
.xh-agent-material-row { display: grid; min-height: 50px; grid-template-columns: 18px 42px minmax(0, 1fr); align-items: center; gap: 9px; border-radius: 5px; padding: 5px; cursor: pointer; }
.xh-agent-material-row:hover { background: #292d31; }
.xh-agent-material-row input { accent-color: #26dfba; }
.xh-agent-material-row img,
.xh-agent-material-placeholder { display: inline-flex; width: 42px; height: 42px; align-items: center; justify-content: center; border-radius: 4px; background: #33373d; color: #a9b0ba; object-fit: cover; }
.xh-agent-material-row span:last-child { min-width: 0; }
.xh-agent-material-row strong { display: block; overflow: hidden; color: #e3e6ea; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.xh-agent-material-row small { color: #7f8791; font-size: 10px; }

.xh-agent-skill-drawer,
.xh-agent-library {
  position: absolute;
  right: 9px;
  bottom: 55px;
  left: 9px;
  z-index: 12;
  display: flex;
  max-height: min(470px, calc(100dvh - 130px));
  flex-direction: column;
  overflow: hidden;
  border: 1px solid #45484e;
  border-radius: 14px;
  background: #191a1c;
  box-shadow: 0 -18px 70px rgba(0,0,0,.55);
  pointer-events: auto;
}
.xh-agent-drawer-head { display: flex; min-height: 52px; align-items: center; justify-content: space-between; padding: 0 13px; }
.xh-agent-drawer-head strong { color: #f5f5f6; font-size: 15px; }
.xh-agent-drawer-head > div { display: flex; gap: 8px; }
.xh-agent-drawer-head button { border: 1px solid #3d4147; border-radius: 8px; background: #202225; padding: 6px 10px; color: #e1e3e6; cursor: pointer; }
.xh-agent-drawer-tabs { display: flex; gap: 17px; padding: 0 13px 10px; color: #727983; font-size: 12px; }
.xh-agent-drawer-tabs b { color: #fff; }
.xh-agent-skill-search { display: flex; width: min(215px, calc(100% - 24px)); height: 34px; align-items: center; align-self: flex-end; gap: 7px; margin: 0 12px 8px; border-radius: 8px; background: #26282b; padding: 0 10px; color: #8e959e; }
.xh-agent-skill-search input { min-width: 0; flex: 1; border: 0; outline: 0; background: transparent; color: #f2f3f4; }
.xh-agent-all-skills { min-height: 0; overflow-y: auto; padding: 3px 9px 12px; }
.xh-agent-all-skill { display: grid; width: 100%; min-height: 68px; grid-template-columns: 36px minmax(0,1fr); align-items: center; gap: 10px; border: 0; border-radius: 9px; background: transparent; padding: 7px 9px; color: #fff; cursor: pointer; text-align: left; }
.xh-agent-all-skill:hover { background: #282a2d; }
.xh-agent-all-skill .xh-agent-skill-icon { width: 32px; height: 32px; border-radius: 8px; font-size: 14px; }
.xh-agent-all-skill .xh-agent-skill-copy strong { display: inline; margin-right: 7px; font-size: 13px; }
.xh-agent-all-skill .xh-agent-skill-copy small { display: inline; max-width: 190px; border-radius: 4px; background: #303236; padding: 3px 6px; color: #a5abb2; }
.xh-agent-all-skill .xh-agent-skill-copy em { display: block; overflow: hidden; margin-top: 5px; color: #858c96; font-size: 11px; font-style: normal; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }

.xh-agent-mini-menu,
.xh-agent-add-menu { position: absolute; z-index: 15; overflow: hidden; border: 1px solid #44484f; border-radius: 12px; background: #191b1e; box-shadow: 0 16px 50px rgba(0,0,0,.5); }
.xh-agent-add-menu { bottom: 51px; left: 7px; width: 154px; padding: 6px; }
.xh-agent-add-menu button { display: block; width: 100%; height: 39px; border: 0; border-radius: 7px; background: transparent; padding: 0 10px; color: #e9ebee; cursor: pointer; text-align: left; }
.xh-agent-add-menu button:hover { background: #2b2e33; }
.xh-agent-model-menu { bottom: 51px; left: 42px; width: 330px; max-height: 380px; overflow-y: auto; padding: 8px; }
.xh-agent-model-menu > strong { display: block; padding: 6px 8px 9px; font-size: 13px; }
.xh-agent-model-menu button { position: relative; display: block; width: 100%; min-height: 50px; border: 0; border-radius: 8px; background: transparent; padding: 7px 34px 7px 9px; color: #e7e9ec; cursor: pointer; text-align: left; }
.xh-agent-model-menu button:hover,
.xh-agent-model-menu button.is-active { background: #292c30; }
.xh-agent-model-menu button span,
.xh-agent-model-menu button small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.xh-agent-model-menu button span { font-size: 12px; font-weight: 700; }
.xh-agent-model-menu button small { margin-top: 4px; color: #7f8791; font-size: 10px; }
.xh-agent-model-menu button b { position: absolute; top: 17px; right: 12px; color: #23dfb9; }
.xh-agent-run-mode-menu { right: 7px; bottom: 51px; left: auto; width: 285px; padding: 6px; }
.xh-agent-run-mode-menu button { display: flex; width: 100%; min-height: 68px; align-items: center; justify-content: space-between; border: 0; border-radius: 8px; background: transparent; padding: 8px 12px; color: #e7e9ec; cursor: pointer; text-align: left; }
.xh-agent-run-mode-menu button:hover,
.xh-agent-run-mode-menu button.is-active { background: #26292d; }
.xh-agent-run-mode-menu button span { display: grid; grid-template-columns: 26px 1fr; align-items: center; }
.xh-agent-run-mode-menu button b { font-size: 13px; }
.xh-agent-run-mode-menu button small { grid-column: 2; margin-top: 5px; color: #8b929c; font-size: 11px; }
.xh-agent-run-mode-menu button i { color: #fff; font-style: normal; }
.xh-agent-library { padding-bottom: 10px; }
.xh-agent-library > .xh-agent-loading { min-height: 180px; }
.xh-agent-library-item { display: grid; min-height: 62px; grid-template-columns: 46px minmax(0,1fr) 24px; align-items: center; gap: 10px; margin: 2px 9px; border: 0; border-radius: 8px; background: transparent; padding: 7px; color: #fff; cursor: pointer; text-align: left; }
.xh-agent-library-item:hover { background: #292c30; }
.xh-agent-library-item img,
.xh-agent-library-item > span { display: inline-flex; width: 46px; height: 46px; align-items: center; justify-content: center; border-radius: 6px; background: #33373c; object-fit: cover; }
.xh-agent-library-item strong,
.xh-agent-library-item small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.xh-agent-library-item small { margin-top: 4px; color: #818993; font-size: 10px; }
.xh-agent-library-item > b { color: #2ce1bc; font-size: 18px; }

@media (max-width: 560px) {
  .xh-agent-panel { width: 100vw; }
  .xh-agent-launch { right: 8px; top: 12px; width: 82px; }
  html.xh-agent-panel-open body > #root { width: 100% !important; max-width: 100% !important; }
  .xh-agent-host-actions { transform: none !important; }
  .xh-agent-message.is-user { margin-left: 20px; }
}

@media (max-height: 680px) {
  .xh-agent-home-space { min-height: 80px; }
}

/* canvas-script-settings-20260930am2.css */
#xh-script-settings{position:fixed;inset:0;z-index:215;color:#ededed;font-family:Inter,"Microsoft YaHei",sans-serif;font-size:14px}#xh-script-settings *{box-sizing:border-box}#xh-script-settings button,#xh-script-settings input{font:inherit}#xh-script-settings button{cursor:pointer;color:inherit}#xh-script-settings button:focus-visible,#xh-script-settings input:focus-visible{outline:2px solid #65d9ed;outline-offset:3px}.xh-script-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.6)}.xh-script-layout{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(1232px,calc(100vw - 64px));display:grid;grid-template-columns:264px minmax(0,1fr);gap:8px;height:min(640px,calc(100dvh - 64px))}.xh-script-layout.no-presets{grid-template-columns:1fr;width:min(960px,calc(100vw - 64px))}.xh-script-presets,.xh-script-dialog{background:#222;border:1px solid #363636;border-radius:24px;min-height:0}.xh-script-presets{padding:24px;overflow:auto}.xh-script-presets h3,.xh-script-dialog h2{font-size:18px;line-height:24px;margin:0;font-weight:650}.xh-script-presets h3{margin-bottom:22px}.xh-script-preset{width:100%;min-height:56px;padding:10px 14px;border:1px solid #444;border-radius:13px;background:linear-gradient(120deg,#292b2d,#212121);display:flex;align-items:center;gap:10px;text-align:left;margin-bottom:12px;font-size:13px!important}.xh-script-preset:hover,.xh-script-preset[aria-pressed=true]{background:linear-gradient(120deg,#373b40,#272b31);border-color:#69737c}.xh-script-preset span{display:flex;align-items:center;justify-content:center;flex:none;width:25px;height:25px;background:#444;border-radius:50%;font-weight:700}.xh-script-dialog{position:relative;display:flex;flex-direction:column;padding:26px 24px 16px;min-width:0}.xh-script-dialog header{display:flex;align-items:center;justify-content:space-between}.xh-script-dialog header button{border:0;background:none;font-size:29px;line-height:30px;color:#ccc!important}.xh-script-main{flex:1;min-height:0;display:flex;align-items:center;gap:28px;padding:24px 36px 30px}.xh-script-genres{width:180px;flex-shrink:0;max-height:230px;overflow:auto;scrollbar-width:thin;scrollbar-color:#444 transparent;mask-image:linear-gradient(transparent,#000 12%,#000 88%,transparent);padding:24px 0}.xh-script-genres button{background:none;border:0;width:100%;display:flex;align-items:center;gap:16px;min-height:48px;text-align:left;color:#aaa!important}.xh-script-genres button[aria-pressed=true]{color:#fff!important;font-weight:600}.xh-script-genres i{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:linear-gradient(140deg,#626675,#34363b);font-style:normal;color:#ddd}.xh-script-genres button[aria-pressed=true] i{background:linear-gradient(140deg,#b3c5da,#536379);color:#fff}.xh-script-genres b{margin-left:auto}.xh-script-visual{flex:1;position:relative;display:flex;justify-content:center;align-items:center;min-width:0}.xh-script-orb{width:200px;height:200px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;border:2px solid #d8e7f9;background:radial-gradient(circle at 32% 24%,#bccddb 0,#536071 30%,#252a34 64%,#131820 85%);box-shadow:0 0 18px #b2d5ff80,0 0 42px #b5d0ee20;overflow:hidden}.xh-script-orb span{font-size:28px;font-weight:600;text-shadow:0 2px 12px #000}.xh-script-orb small{margin-top:14px;font-size:10px;color:#d4dfed}.xh-script-fusion{height:120px;width:120px;border-radius:50%;border:1px dashed #8b8b8b;background:radial-gradient(circle at 28% 28%,#6b737b,#323438 70%);margin-left:-50px;transform:translateY(40px);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;z-index:1;flex-shrink:0}.xh-script-fusion strong{font-size:32px;line-height:32px;font-weight:400}.xh-script-fusion span{font-size:13px}.xh-script-remove-fusion{position:absolute;right:3px;top:43%;width:26px;height:26px;background:#292b2f;border:1px solid #888;border-radius:50%}.xh-script-field-area{position:relative;border-top:1px solid #3b3b3b;padding-top:36px;margin:0 36px}.xh-script-fields{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.xh-script-fields>button{background:#2c2c2c;border:1px solid #4a4a4a;border-radius:16px;padding:15px 12px;min-width:0;display:flex;align-items:center;gap:10px;min-height:74px;text-align:left}.xh-script-fields>button:hover,.xh-script-fields>button[aria-expanded=true]{background:#353535;border-color:#777}.xh-script-fields i{width:38px;height:40px;flex:none;border:1px solid #555;border-radius:9px;background:#373737;display:grid;place-items:center;font-style:normal;color:#aaa;font-size:21px}.xh-script-fields span{min-width:0;display:flex;flex-direction:column;gap:7px}.xh-script-fields small{font-size:11px;white-space:nowrap;color:#bdbdbd}.xh-script-fields strong{font-size:13px;line-height:16px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.xh-script-dialog footer{display:flex;align-items:center;justify-content:space-between;margin-top:50px;gap:16px}.xh-script-toggle{display:flex;align-items:center;gap:12px;font-size:13px;cursor:pointer}.xh-script-toggle input{appearance:none;width:36px;height:20px;border-radius:12px;background:#555;position:relative;margin:0;cursor:pointer}.xh-script-toggle input:checked{background:#eee}.xh-script-toggle input:before{content:"";position:absolute;width:16px;height:16px;left:2px;top:2px;border-radius:50%;background:#ddd;transition:transform .15s}.xh-script-toggle input:checked:before{background:#222;transform:translateX(16px)}.xh-script-dialog footer div{display:flex;gap:8px}.xh-script-dialog footer button{border:0;border-radius:10px;padding:10px 24px;background:#303030;min-width:80px}.xh-script-dialog footer .xh-script-confirm{background:#eee;color:#222!important}.xh-script-popover{position:absolute;z-index:4;left:0;right:0;bottom:90px;background:#292929;border:1px solid #505050;box-shadow:0 14px 50px #0008;border-radius:16px;padding:18px;max-height:310px;overflow:auto}.xh-script-popover-title{display:flex;align-items:center;gap:14px;margin-bottom:16px}.xh-script-popover-title span{color:#aaa;font-size:12px}.xh-script-popover-title button{margin-left:auto}.xh-script-popover button{background:#333;border:1px solid #4c4c4c;border-radius:8px;padding:8px 12px;font-size:13px}.xh-script-popover button[aria-pressed=true]{background:#eee;color:#222!important;border-color:#eee}.xh-script-options{display:flex;flex-wrap:wrap;gap:8px}.xh-script-search,.xh-script-custom input{width:100%;background:#1d1d1d;border:1px solid #555;color:#fff;padding:10px 12px;border-radius:8px;margin-bottom:14px}.xh-script-custom{display:block;margin-top:15px;color:#ccc}.xh-script-custom input{display:block;margin-top:8px}.xh-script-episodes{display:grid;grid-template-columns:1fr auto;gap:10px;margin-bottom:18px}.xh-script-episodes input[type=range]{grid-column:1/-1;width:100%;accent-color:#ddd}.xh-script-episodes input[type=number]{width:80px;padding:6px;border:1px solid #555;border-radius:6px;background:#1b1b1b;color:#eee}.xh-script-warning{color:#ffbe7a;font-size:12px;margin:12px 0 0}.xh-script-config-button{background:#262626;border:1px solid #454545;border-radius:8px;color:#ddd;padding:8px 10px;text-align:left;cursor:pointer;width:100%;font-size:12px}.xh-script-config-summary{color:#ccc;font-size:11px;line-height:1.6;margin:6px 0 0}.xh-script-starters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:12px 0}.xh-script-starters button{background:#232323;color:#ddd;border:1px solid #3c3c3c;border-radius:8px;padding:8px;font-size:11px;text-align:left}.xh-script-starters button:hover{border-color:#777}.xh-script-starters-title{font-size:15px;margin:22px 0 12px;color:#eee}
@media(max-width:1200px){.xh-script-layout{grid-template-columns:220px 1fr;width:calc(100vw - 40px)}.xh-script-presets{padding:20px 16px}.xh-script-main{padding-left:12px;padding-right:12px;gap:8px}.xh-script-field-area{margin:0 6px}.xh-script-fields{gap:7px}.xh-script-fields>button{padding:12px 8px;gap:6px}.xh-script-fields i{width:25px;font-size:17px}.xh-script-fields strong{font-size:12px}}@media(max-width:850px){.xh-script-layout{height:calc(100dvh - 24px);width:calc(100vw - 24px);grid-template-columns:160px 1fr}.xh-script-dialog{padding:20px 16px 16px}.xh-script-main{padding:12px 0;gap:0}.xh-script-genres{width:140px;max-height:220px}.xh-script-genres button{gap:8px;font-size:12px}.xh-script-orb{width:140px;height:140px}.xh-script-orb span{font-size:20px}.xh-script-fusion{width:85px;height:85px;margin-left:-32px}.xh-script-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.xh-script-field-area{padding-top:18px}.xh-script-dialog footer{margin-top:20px}.xh-script-presets h3{font-size:14px}.xh-script-preset{padding:8px!important;font-size:11px!important;gap:5px;min-height:54px}.xh-script-dialog footer button{padding:9px 14px;min-width:60px}}@media(max-width:560px){.xh-script-layout{display:flex;flex-direction:column;height:auto;max-height:calc(100dvh - 24px)}.xh-script-presets{border-radius:16px;padding:12px;max-height:130px;flex-shrink:0}.xh-script-presets h3{margin-bottom:8px}.xh-script-presets .xh-script-preset{display:inline-flex;width:calc(50% - 8px);margin:0 4px 6px;min-height:36px}.xh-script-dialog{border-radius:16px;overflow:auto;max-height:calc(100dvh - 160px)}.xh-script-layout.no-presets .xh-script-dialog{max-height:calc(100dvh - 24px)}.xh-script-main{min-height:220px}.xh-script-genres{width:130px}.xh-script-visual{overflow:visible}.xh-script-orb{height:120px;width:120px}.xh-script-orb small{display:none}.xh-script-fusion{width:72px;height:72px;font-size:11px}.xh-script-fusion span{font-size:10px}.xh-script-fields>button{min-height:62px}.xh-script-dialog footer{flex-wrap:wrap;justify-content:flex-end}.xh-script-toggle{margin-right:auto}.xh-script-popover{max-height:250px;bottom:130px}.xh-script-fields i{display:none}}

[data-xh-empty-starters]{width:min(1032px,calc(100vw - 96px))}.xh-empty-starter-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.xh-empty-starter{display:flex;align-items:center;gap:16px;height:56px;background:#222;border:1px solid #343434;border-radius:16px;padding:7px 9px;color:#e4e4e4;font-size:14px;font-weight:600;text-align:left;white-space:nowrap;cursor:pointer;box-shadow:0 3px 8px #0002;transition:background .15s,border-color .15s}.xh-empty-starter:hover{background:#2b2b2b;border-color:#646464}.xh-empty-starter:focus-visible{outline:2px solid #6ed4e4;outline-offset:3px}.xh-empty-starter-icon{display:grid;place-items:center;flex-shrink:0;height:42px;width:42px;background:#303030;border:1px solid #373737;border-radius:12px;color:#ddd}[data-project-theme=light] .xh-empty-starter{background:#fff;color:#252525;border-color:#d5d5d5}[data-project-theme=light] .xh-empty-starter-icon{background:#eee;border-color:#ddd;color:#333}@media(max-width:900px){[data-xh-empty-starters]{width:calc(100vw - 64px)}.xh-empty-starter{font-size:12px;gap:8px;padding:8px}.xh-empty-starter-icon{width:30px;height:34px}}@media(max-width:650px){.xh-empty-starter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.xh-empty-starter:last-child{grid-column:1/-1;justify-content:center}[data-xh-empty-starters]{width:min(420px,calc(100vw - 48px))}}

.xh-script-preset{background-size:cover;background-position:center 38%}
.xh-script-genres{scrollbar-width:none;padding:0;height:240px;mask-image:linear-gradient(transparent,#000 35%,#000 65%,transparent)}
.xh-script-genres::-webkit-scrollbar{display:none}
.xh-script-genres i img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.xh-script-orb>img{width:100%;height:100%;object-fit:cover}
.xh-script-fusion{position:relative;overflow:hidden}
.xh-script-fusion>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.7)}
.xh-script-fusion>span,.xh-script-fusion>strong{position:relative}
.xh-script-main{position:relative}
#xh-script-settings .xh-script-dialog{background:#222!important}
#xh-script-settings .xh-script-dialog header,#xh-script-settings .xh-script-dialog footer{background:transparent!important;border:0!important;padding:0!important;box-shadow:none!important}
#xh-script-settings .xh-script-dialog h2{color:#ededed!important}
#xh-script-settings .xh-script-fields>button{background:#2c2c2c!important;color:#ededed!important}
#xh-script-settings .xh-script-fields>button:hover,#xh-script-settings .xh-script-fields>button[aria-expanded=true]{background:#353535!important}
#xh-script-settings .xh-script-toggle{background:transparent!important;border:0!important;color:#ededed!important}
#xh-script-settings .xh-script-toggle input{appearance:none!important;width:36px!important;height:20px!important;min-width:36px!important;min-height:20px!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;background:#555!important}
#xh-script-settings .xh-script-toggle input:checked{background:#eee!important}
#xh-script-settings .xh-script-genres button{background:transparent!important}
.xh-script-genres button:disabled{opacity:.3;cursor:not-allowed}
.xh-script-fusion-genres{width:150px}
.xh-script-genre-custom{position:absolute;left:250px;right:30px;bottom:12px;font-size:12px;color:#bbb}
.xh-script-genre-custom input{display:block;width:100%;margin-top:6px;background:#171717;color:#eee;border:1px solid #555;border-radius:8px;padding:10px}
@media(max-width:850px){.xh-script-genre-custom{left:140px;right:0}.xh-script-genres{height:220px}.xh-script-genres button{min-height:44px}}
@media(max-width:560px){.xh-script-genre-custom{left:130px;font-size:10px}.xh-script-genre-custom input{padding:5px}}
@media(max-width:850px){.xh-script-main:has(.xh-script-fusion-genres){flex-wrap:wrap}.xh-script-fusion-genres{height:90px;width:100%;display:flex;overflow:auto;mask-image:none}.xh-script-fusion-genres button{min-width:120px;width:120px}}

/* canvas-agent-text-stable-20261001as2.css */
#xh-canvas-agent-root {
  position: fixed;
  inset: 0;
  /* Normal canvas chrome tops out below 200; the full-screen media viewer is
     z-index 220 and must remain above Agent so its download/close controls work. */
  z-index: 200;
  pointer-events: none;
  color: #f5f7fa;
  font-family: Inter, "Microsoft YaHei", "PingFang SC", sans-serif;
  letter-spacing: 0;
}

#xh-canvas-agent-root *,
#xh-canvas-agent-root *::before,
#xh-canvas-agent-root *::after {
  box-sizing: border-box;
  letter-spacing: 0;
}

.xh-agent-launch {
  position: fixed;
  right: 10px;
  top: var(--xh-agent-top, 14px);
  display: flex;
  width: 86px;
  height: 34px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 9px;
  background: #292b30;
  color: #fff;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.34);
  cursor: pointer;
  pointer-events: auto;
  transition: opacity 140ms ease, transform 140ms ease, background 140ms ease;
}

.xh-agent-launch:hover { background: #23262b; }
.xh-agent-launch strong { font-size: 13px; font-weight: 700; }
.xh-agent-launch.is-hidden { opacity: 0; transform: translateX(18px); pointer-events: none; }

.xh-agent-brand-mark {
  display: inline-flex;
  width: 23px;
  height: 23px;
  flex: 0 0 23px;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  background: #21e6be;
  color: #07251f;
  font-size: 13px;
  font-weight: 900;
  line-height: 1;
}

.xh-agent-launch-icon {
  position: relative;
  display: inline-flex;
  width: 22px;
  height: 18px;
  flex: 0 0 22px;
  align-items: center;
  justify-content: center;
  border: 2px solid currentColor;
  border-radius: 5px;
  color: #f5f5f5;
}
.xh-agent-launch > .xh-agent-launch-icon { transform: scale(.72); }

/* Keep the canvas full width while Agent is closed. Only the native top action
   group moves left so Agent shares the same row and background. */
.xh-agent-host-actions {
  margin-right: 96px !important;
  transform: none !important;
  transition: margin-right 160ms ease !important;
}

html.xh-agent-panel-open body > #root {
  width: calc(100% - 420px) !important;
  max-width: calc(100% - 420px) !important;
  overflow: hidden !important;
  transition: width 190ms ease, max-width 190ms ease;
}
.xh-agent-launch-icon::before,
.xh-agent-launch-icon::after,
.xh-agent-launch-icon i { content: ""; position: absolute; width: 3px; height: 3px; border-radius: 50%; background: currentColor; }
.xh-agent-launch-icon::before { left: 4px; }
.xh-agent-launch-icon i { left: 8px; }
.xh-agent-launch-icon::after { left: 12px; }

.xh-agent-panel {
  position: fixed;
  inset: 0 0 0 auto;
  display: flex;
  width: min(420px, 100vw);
  height: 100dvh;
  flex-direction: column;
  overflow: hidden;
  border-left: 1px solid #30343b;
  background: #202122;
  box-shadow: -24px 0 70px rgba(0, 0, 0, 0.42);
  opacity: 0;
  pointer-events: none;
  transform: translateX(100%);
  transition: opacity 160ms ease, transform 190ms ease;
}

.xh-agent-panel.is-open { opacity: 1; pointer-events: auto; transform: translateX(0); }

.xh-agent-header {
  display: flex;
  min-height: 58px;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid #34373d;
  padding: 0 15px;
  background: #202122;
}

.xh-agent-brand { display: flex; min-width: 0; align-items: center; gap: 10px; }
.xh-agent-brand strong { overflow: hidden; font-size: 15px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.xh-agent-header-actions { display: flex; gap: 4px; }
.xh-agent-header-actions button,
.xh-agent-icon-button {
  display: inline-flex;
  width: 31px;
  height: 34px;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: #b8bdc6;
  cursor: pointer;
  font-size: 16px;
}
.xh-agent-header-actions .xh-agent-cli-button { width: 40px; height: 40px; border-radius: 10px; background: #3a3b3d; color: #fff; }
.xh-agent-header-actions .xh-agent-cli-button .xh-agent-launch-icon { transform: scale(.76); }

.xh-agent-header-actions button:hover,
.xh-agent-icon-button:hover { background: #292c31; color: #fff; }

.xh-agent-error {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid #6b3035;
  background: #321d20;
  padding: 10px 14px;
  color: #ffb9bd;
  font-size: 12px;
  line-height: 1.5;
}

.xh-agent-error button { border: 0; background: transparent; color: inherit; cursor: pointer; font-size: 17px; }
.xh-agent-body { min-height: 0; flex: 1; overflow: hidden; }

.xh-agent-home {
  position: relative;
  display: flex;
  height: 100%;
  min-height: 0;
  flex-direction: column;
  overflow: hidden;
  padding: 0 10px 12px;
}

.xh-agent-home-space { min-height: 210px; flex: 1; }
.xh-agent-starter { flex: 0 0 auto; padding: 0 2px 14px; }
.xh-agent-starter-head { display: flex; align-items: center; justify-content: space-between; padding: 0 8px 10px; }
.xh-agent-starter-head strong { color: #f0f1f2; font-size: 16px; font-weight: 650; }
.xh-agent-starter-head button { border: 0; background: transparent; color: #9299a1; cursor: pointer; font-size: 12px; }
.xh-agent-starter-robot { margin-right: 8px; color: #fff; }
.xh-agent-home-composer { position: relative; flex: 0 0 auto; border: 1px solid #46494d; border-radius: 14px; background: #262728; padding: 0 8px 8px; }
.xh-agent-home-composer .xh-agent-composer { border: 0; background: transparent; padding: 8px 0 0; }
.xh-agent-home-composer .xh-agent-composer:focus-within { border-color: transparent; }
.xh-agent-home-composer .xh-agent-composer textarea { min-height: 60px; resize: none; }
.xh-agent-bottom-tools { position: relative; display: grid; min-height: 45px; grid-template-columns: repeat(4, minmax(54px, 1fr)); align-items: center; gap: 4px; padding-top: 4px; color: #93999f; }
.xh-agent-bottom-tools > button { display: inline-grid; height: 39px; grid-template-columns: 20px auto; align-items: center; justify-content: center; gap: 5px; border: 0; border-radius: 7px; background: transparent; color: #a3a9b1; cursor: pointer; }
.xh-agent-bottom-tools > button i { font-size: 18px; font-style: normal; line-height: 1; }
.xh-agent-bottom-tools > button small { font-size: 10px; white-space: nowrap; }
.xh-agent-bottom-tools > button:hover,
.xh-agent-bottom-tools > button.is-active { background: #3b3d40; color: #fff; }
.xh-agent-reference-count,
.xh-agent-model-label { display: none; }

.xh-agent-greeting { display: flex; flex-direction: column; gap: 4px; padding: 0 7px 20px; }
.xh-agent-greeting span { color: #25e0bd; font-size: 13px; font-weight: 700; }
.xh-agent-greeting strong { color: #fff; font-size: 22px; line-height: 1.3; }
.xh-agent-section-label { padding: 0 3px 9px; color: #c4c8cf; font-size: 12px; }
.xh-agent-skills { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }

.xh-agent-skill,
.xh-agent-free-chat {
  display: grid;
  width: 100%;
  min-height: 62px;
  grid-template-columns: 40px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  border: 1px solid #565b64;
  border-radius: 14px;
  background: #242526;
  padding: 9px 12px;
  color: #f4f5f6;
  cursor: pointer;
  text-align: left;
}

.xh-agent-skill:hover,
.xh-agent-free-chat:hover { border-color: #23d9b7; background: #202524; }
.xh-agent-skill-icon { display: inline-flex; width: 40px; height: 40px; align-items: center; justify-content: center; border-radius: 50%; background: #343638; color: #d8dadd; font-size: 18px; text-align: center; }
.xh-agent-skill-thumb { display: block; width: 48px; height: 42px; border-radius: 9px; background-image: url('/assets/agent-skill-recommendations-v1.webp?v=1'); background-repeat: no-repeat; background-size: 200% 200%; box-shadow: inset 0 0 0 1px rgba(255,255,255,.12); }
.xh-agent-skill-thumb.is-one-line { background-position: 0 0; }
.xh-agent-skill-thumb.is-general-video { background-position: 100% 0; }
.xh-agent-skill-thumb.is-script-storyboard { background-position: 0 100%; }
.xh-agent-skill-thumb.is-video-clone { background-position: 100% 100%; }
.xh-agent-skill:has(.xh-agent-skill-thumb) { grid-template-columns: 48px minmax(0,1fr); }
.xh-agent-skill-copy { min-width: 0; }
.xh-agent-skill-copy strong,
.xh-agent-free-chat strong { display: block; margin-bottom: 3px; font-size: 14px; font-weight: 700; line-height: 1.25; }
.xh-agent-skill-copy small,
.xh-agent-free-chat small { display: block; overflow: hidden; color: #9ca2ad; font-size: 11px; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.xh-agent-skill-copy em { display: none; }
.xh-agent-chevron,
.xh-agent-free-chat b { color: #bec3ca; font-size: 22px; font-weight: 400; }
.xh-agent-free-chat { margin-top: 8px; }
.xh-agent-free-chat > span { color: #25e0bd; font-size: 23px; text-align: center; }

.xh-agent-loading,
.xh-agent-empty {
  display: flex;
  min-height: 150px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  color: #9299a3;
  font-size: 13px;
  text-align: center;
}

.xh-agent-spinner {
  display: inline-block;
  width: 15px;
  height: 15px;
  flex: 0 0 15px;
  border: 2px solid rgba(255, 255, 255, 0.2);
  border-top-color: #24dfbb;
  border-radius: 50%;
  animation: xh-agent-spin 800ms linear infinite;
}

@keyframes xh-agent-spin { to { transform: rotate(360deg); } }

.xh-agent-conversation { display: flex; height: 100%; min-height: 0; flex-direction: column; }
.xh-agent-conversation-toolbar {
  display: grid;
  min-height: 52px;
  grid-template-columns: 72px minmax(0, 1fr) 36px;
  align-items: center;
  gap: 7px;
  border-bottom: 1px solid #30343a;
  padding: 7px 10px;
}

.xh-agent-text-button {
  border: 0;
  background: transparent;
  color: #aeb4bd;
  cursor: pointer;
  font-size: 13px;
  text-align: left;
}

.xh-agent-text-button:hover { color: #fff; }
.xh-agent-current-skill { display: flex; min-width: 0; align-items: center; justify-content: center; gap: 8px; }
.xh-agent-current-skill strong { overflow: hidden; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.xh-agent-direction { min-width: 0; max-width: 128px; border: 1px solid #42474f; border-radius: 5px; background: #202328; padding: 4px 22px 4px 7px; color: #dbe0e5; font-size: 11px; }

.xh-agent-chat { min-height: 0; flex: 1; overflow-y: auto; padding: 14px 15px 18px; scroll-behavior: smooth; }
.xh-agent-chat-empty { min-height: 100%; padding: 34px; line-height: 1.7; }
.xh-agent-message { margin-bottom: 15px; }
.xh-agent-message-meta { display: flex; justify-content: space-between; margin-bottom: 5px; color: #7f8792; font-size: 10px; }
.xh-agent-message-content { border: 1px solid #343840; border-radius: 7px; background: #1b1e21; padding: 10px 12px; color: #e8eaed; font-size: 13px; line-height: 1.65; overflow-wrap: anywhere; }
.xh-agent-message.is-user .xh-agent-message-content { border-color: #2d6459; background: #18302b; }
.xh-agent-message.is-user { margin-left: 38px; }
.xh-agent-message.is-agent { margin-right: 22px; }

.xh-agent-run,
.xh-agent-command {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 9px 0;
  border: 1px solid #3a3f47;
  border-radius: 7px;
  background: #1c1f23;
  padding: 9px 11px;
  color: #bfc4cc;
  font-size: 12px;
}

.xh-agent-run button,
.xh-agent-command button { margin-left: auto; border: 0; background: transparent; color: #29dab8; cursor: pointer; }
.xh-agent-approval { margin: 12px 0; border: 1px solid #3c6e64; border-radius: 7px; background: #192824; padding: 12px; }
.xh-agent-approval-title { color: #f3f6f5; font-size: 13px; font-weight: 700; }
.xh-agent-approval p { margin: 7px 0; color: #b9c0c5; font-size: 12px; line-height: 1.55; }
.xh-agent-points { color: #f2c26d; font-size: 11px; }
.xh-agent-approval-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 11px; }
.xh-agent-approval-actions button { height: 31px; border: 1px solid #555c65; border-radius: 6px; background: transparent; padding: 0 13px; color: #e5e8eb; cursor: pointer; }
.xh-agent-approval-actions button.is-primary { border-color: #25dbb7; background: #25dbb7; color: #0b231e; font-weight: 700; }

.xh-agent-composer-wrap { position: relative; border-top: 1px solid #34383f; background: #181a1d; padding: 9px 11px 12px; }
.xh-agent-composer-tools { display: flex; min-height: 28px; align-items: center; justify-content: space-between; margin-bottom: 5px; }
.xh-agent-composer-tools button { border: 0; border-radius: 5px; background: transparent; padding: 5px 7px; color: #aeb5be; cursor: pointer; font-size: 12px; }
.xh-agent-composer-tools button:hover,
.xh-agent-composer-tools button.has-selection { background: #24342f; color: #2ce0bc; }
.xh-agent-composer-tools span { overflow: hidden; max-width: 185px; color: #737b87; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.xh-agent-composer { display: grid; grid-template-columns: minmax(0, 1fr) 38px; align-items: end; gap: 8px; border: 1px solid #4a5059; border-radius: 7px; background: #202327; padding: 7px; }
.xh-agent-composer:focus-within { border-color: #25d9b6; }
.xh-agent-composer textarea { width: 100%; min-height: 50px; max-height: 150px; resize: vertical; border: 0; outline: 0; background: transparent; color: #f3f4f6; font: inherit; font-size: 13px; line-height: 1.55; }
.xh-agent-composer textarea::placeholder { color: #777f8a; }
.xh-agent-composer > button { display: inline-flex; width: 36px; height: 36px; align-items: center; justify-content: center; border: 0; border-radius: 6px; background: #25dfba; color: #09251f; cursor: pointer; font-size: 21px; font-weight: 800; }
.xh-agent-composer > button:disabled { background: #3a3e44; color: #777d85; cursor: default; }

.xh-agent-material-popover { position: absolute; right: 10px; bottom: calc(100% - 4px); left: 10px; overflow: hidden; border: 1px solid #484e57; border-radius: 7px; background: #1c1f22; box-shadow: 0 -18px 50px rgba(0, 0, 0, 0.35); }
.xh-agent-material-head { display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid #343940; padding: 10px 11px; color: #e6e8eb; font-size: 12px; }
.xh-agent-material-head button { border: 0; background: transparent; color: #8c949e; cursor: pointer; }
.xh-agent-material-list { max-height: 280px; overflow-y: auto; padding: 5px; }
.xh-agent-material-row { display: grid; min-height: 50px; grid-template-columns: 18px 42px minmax(0, 1fr); align-items: center; gap: 9px; border-radius: 5px; padding: 5px; cursor: pointer; }
.xh-agent-material-row:hover { background: #292d31; }
.xh-agent-material-row input { accent-color: #26dfba; }
.xh-agent-material-row img,
.xh-agent-material-placeholder { display: inline-flex; width: 42px; height: 42px; align-items: center; justify-content: center; border-radius: 4px; background: #33373d; color: #a9b0ba; object-fit: cover; }
.xh-agent-material-row span:last-child { min-width: 0; }
.xh-agent-material-row strong { display: block; overflow: hidden; color: #e3e6ea; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.xh-agent-material-row small { color: #7f8791; font-size: 10px; }

.xh-agent-skill-drawer,
.xh-agent-library {
  position: absolute;
  right: 9px;
  bottom: 55px;
  left: 9px;
  z-index: 12;
  display: flex;
  max-height: min(470px, calc(100dvh - 130px));
  flex-direction: column;
  overflow: hidden;
  border: 1px solid #45484e;
  border-radius: 14px;
  background: #191a1c;
  box-shadow: 0 -18px 70px rgba(0,0,0,.55);
  pointer-events: auto;
}
.xh-agent-drawer-head { display: flex; min-height: 52px; align-items: center; justify-content: space-between; padding: 0 13px; }
.xh-agent-drawer-head strong { color: #f5f5f6; font-size: 15px; }
.xh-agent-drawer-head > div { display: flex; gap: 8px; }
.xh-agent-drawer-head button { border: 1px solid #3d4147; border-radius: 8px; background: #202225; padding: 6px 10px; color: #e1e3e6; cursor: pointer; }
.xh-agent-drawer-tabs { display: flex; gap: 17px; padding: 0 13px 10px; color: #727983; font-size: 12px; }
.xh-agent-drawer-tabs b { color: #fff; }
.xh-agent-skill-search { display: flex; width: min(215px, calc(100% - 24px)); height: 34px; align-items: center; align-self: flex-end; gap: 7px; margin: 0 12px 8px; border-radius: 8px; background: #26282b; padding: 0 10px; color: #8e959e; }
.xh-agent-skill-search input { min-width: 0; flex: 1; border: 0; outline: 0; background: transparent; color: #f2f3f4; }
.xh-agent-all-skills { min-height: 0; overflow-y: auto; padding: 3px 9px 12px; }
.xh-agent-all-skill { display: grid; width: 100%; min-height: 68px; grid-template-columns: 36px minmax(0,1fr); align-items: center; gap: 10px; border: 0; border-radius: 9px; background: transparent; padding: 7px 9px; color: #fff; cursor: pointer; text-align: left; }
.xh-agent-all-skill:hover { background: #282a2d; }
.xh-agent-all-skill .xh-agent-skill-icon { width: 32px; height: 32px; border-radius: 8px; font-size: 14px; }
.xh-agent-all-skill .xh-agent-skill-copy strong { display: inline; margin-right: 7px; font-size: 13px; }
.xh-agent-all-skill .xh-agent-skill-copy small { display: inline; max-width: 190px; border-radius: 4px; background: #303236; padding: 3px 6px; color: #a5abb2; }
.xh-agent-all-skill .xh-agent-skill-copy em { display: block; overflow: hidden; margin-top: 5px; color: #858c96; font-size: 11px; font-style: normal; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }

.xh-agent-mini-menu,
.xh-agent-add-menu { position: absolute; z-index: 15; overflow: hidden; border: 1px solid #44484f; border-radius: 12px; background: #191b1e; box-shadow: 0 16px 50px rgba(0,0,0,.5); }
.xh-agent-add-menu { bottom: 51px; left: 7px; width: 154px; padding: 6px; }
.xh-agent-add-menu button { display: block; width: 100%; height: 39px; border: 0; border-radius: 7px; background: transparent; padding: 0 10px; color: #e9ebee; cursor: pointer; text-align: left; }
.xh-agent-add-menu button:hover { background: #2b2e33; }
.xh-agent-model-menu { bottom: 51px; left: 42px; width: 330px; max-height: 380px; overflow-y: auto; padding: 8px; }
.xh-agent-model-menu > strong { display: block; padding: 6px 8px 9px; font-size: 13px; }
.xh-agent-model-menu button { position: relative; display: block; width: 100%; min-height: 50px; border: 0; border-radius: 8px; background: transparent; padding: 7px 34px 7px 9px; color: #e7e9ec; cursor: pointer; text-align: left; }
.xh-agent-model-menu button:hover,
.xh-agent-model-menu button.is-active { background: #292c30; }
.xh-agent-model-menu button span,
.xh-agent-model-menu button small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.xh-agent-model-menu button span { font-size: 12px; font-weight: 700; }
.xh-agent-model-menu button small { margin-top: 4px; color: #7f8791; font-size: 10px; }
.xh-agent-model-menu button b { position: absolute; top: 17px; right: 12px; color: #23dfb9; }
.xh-agent-run-mode-menu { right: 7px; bottom: 51px; left: auto; width: 285px; padding: 6px; }
.xh-agent-run-mode-menu button { display: flex; width: 100%; min-height: 68px; align-items: center; justify-content: space-between; border: 0; border-radius: 8px; background: transparent; padding: 8px 12px; color: #e7e9ec; cursor: pointer; text-align: left; }
.xh-agent-run-mode-menu button:hover,
.xh-agent-run-mode-menu button.is-active { background: #26292d; }
.xh-agent-run-mode-menu button span { display: grid; grid-template-columns: 26px 1fr; align-items: center; }
.xh-agent-run-mode-menu button b { font-size: 13px; }
.xh-agent-run-mode-menu button small { grid-column: 2; margin-top: 5px; color: #8b929c; font-size: 11px; }
.xh-agent-run-mode-menu button i { color: #fff; font-style: normal; }
.xh-agent-library { padding-bottom: 10px; }
.xh-agent-library > .xh-agent-loading { min-height: 180px; }
.xh-agent-library-item { display: grid; min-height: 62px; grid-template-columns: 46px minmax(0,1fr) 24px; align-items: center; gap: 10px; margin: 2px 9px; border: 0; border-radius: 8px; background: transparent; padding: 7px; color: #fff; cursor: pointer; text-align: left; }
.xh-agent-library-item:hover { background: #292c30; }
.xh-agent-library-item img,
.xh-agent-library-item > span { display: inline-flex; width: 46px; height: 46px; align-items: center; justify-content: center; border-radius: 6px; background: #33373c; object-fit: cover; }
.xh-agent-library-item strong,
.xh-agent-library-item small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.xh-agent-library-item small { margin-top: 4px; color: #818993; font-size: 10px; }
.xh-agent-library-item > b { color: #2ce1bc; font-size: 18px; }

@media (max-width: 560px) {
  .xh-agent-panel { width: 100vw; }
  .xh-agent-launch { right: 8px; top: 12px; width: 82px; }
  html.xh-agent-panel-open body > #root { width: 100% !important; max-width: 100% !important; }
  .xh-agent-host-actions { transform: none !important; }
  .xh-agent-message.is-user { margin-left: 20px; }
}

@media (max-height: 680px) {
  .xh-agent-home-space { min-height: 80px; }
}

/* Scoped studio skin: no canvas node, account, or billing styles are changed. */
#xh-canvas-agent-root {--xh-agent-width:460px;--studio-bg:#17181c;--studio-card:#222329;--studio-line:#36373f;--studio-muted:#afb0bd;--studio-accent:#c8c2ff;color:#f3f3f7;font-size:14px}
html.xh-agent-wide #xh-canvas-agent-root{--xh-agent-width:640px}
html.xh-agent-panel-open body>#root{width:calc(100% - 460px)!important;max-width:calc(100% - 460px)!important}
html.xh-agent-panel-open.xh-agent-wide body>#root{width:calc(100% - 640px)!important;max-width:calc(100% - 640px)!important}
#xh-canvas-agent-root svg{width:19px;height:19px;flex-shrink:0;display:block}
#xh-canvas-agent-root button,#xh-canvas-agent-root textarea,#xh-canvas-agent-root select{font-family:inherit;color:inherit}
#xh-canvas-agent-root button{cursor:pointer}
#xh-canvas-agent-root button:disabled{cursor:not-allowed;opacity:.45}
#xh-canvas-agent-root button:focus-visible,#xh-canvas-agent-root summary:focus-visible{outline:2px solid #c8c2ff;outline-offset:3px}
#xh-canvas-agent-root .xh-agent-panel{width:min(var(--xh-agent-width),100vw);background:var(--studio-bg);border-left:1px solid var(--studio-line);box-shadow:-16px 0 48px #0005}
#xh-canvas-agent-root .xh-agent-header{height:82px;min-height:82px;background:var(--studio-bg);padding:18px 20px;border-bottom:0}
#xh-canvas-agent-root .xh-agent-brand{gap:11px}
#xh-canvas-agent-root .xh-studio-logo{width:38px;height:38px;border:1px solid #7a739866;background:linear-gradient(145deg,#403a5b,#272832);border-radius:12px;display:grid;place-items:center;color:#ddd7ff}
#xh-canvas-agent-root .xh-studio-logo svg{width:24px;height:24px}
#xh-canvas-agent-root .xh-agent-brand strong{font-size:16px;letter-spacing:.5px;font-weight:650;line-height:22px}
#xh-canvas-agent-root .xh-agent-brand small{display:block;color:#b6b5c2;font-size:12px;margin-top:2px}
#xh-canvas-agent-root .xh-agent-brand small span{font-size:10px;margin-left:5px;border:1px solid #49454e;border-radius:4px;padding:1px 4px;color:#d3cbef}
#xh-canvas-agent-root .xh-agent-header-actions{gap:4px}
#xh-canvas-agent-root .xh-agent-header-actions button{width:32px;height:32px;background:transparent;color:#bab9c8;border-radius:8px}
#xh-canvas-agent-root .xh-agent-header-actions button:hover{background:#303139;color:#fff}
#xh-canvas-agent-root .xh-studio-nav{height:45px;min-height:45px;display:flex;align-items:center;gap:6px;margin:0 18px;border-bottom:1px solid var(--studio-line);padding-bottom:9px}
#xh-canvas-agent-root .xh-studio-nav button{border:0;background:#25262d;border-radius:7px;display:grid;place-items:center;width:30px;height:30px;color:#c8c6d6}
#xh-canvas-agent-root .xh-studio-nav span{flex:1;font-size:12px;color:var(--studio-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-left:4px}
#xh-canvas-agent-root .xh-agent-body{position:relative}
#xh-canvas-agent-root .xh-agent-home{padding:0 18px 16px;gap:10px}
#xh-canvas-agent-root .xh-studio-home-scroll{overflow-y:auto;min-height:0;flex:1;scrollbar-width:thin;scrollbar-color:#4a4a55 transparent}
#xh-canvas-agent-root .xh-studio-hero{padding:28px 5px 27px;background:radial-gradient(ellipse at 50% 10%,#7266ba14,transparent 70%);text-align:center}
#xh-canvas-agent-root .xh-studio-orbit{display:grid;place-items:center;width:66px;height:66px;border:1px solid #7a719752;border-radius:22px;margin:0 auto 18px;background:linear-gradient(145deg,#423b5c,#26262f);color:#ded8ff;box-shadow:0 0 38px #9880fa15}
#xh-canvas-agent-root .xh-studio-orbit svg{width:34px;height:34px}
#xh-canvas-agent-root .xh-studio-hero>small{color:#9f98b9;font-size:10px;letter-spacing:1.7px}
#xh-canvas-agent-root .xh-studio-hero h2{font-size:26px;line-height:1.45;font-weight:600;letter-spacing:-.4px;margin:12px 0;color:#f4f3f8}
#xh-canvas-agent-root .xh-studio-hero p{font-size:13px;line-height:1.9;margin:0;color:#b8b6c7}
#xh-canvas-agent-root .xh-agent-starter{padding:0 0 8px}
#xh-canvas-agent-root .xh-agent-starter-head{padding:0 0 12px}
#xh-canvas-agent-root .xh-agent-starter-head strong{font-size:13px;color:#cac9d4;font-weight:500}
#xh-canvas-agent-root .xh-agent-starter-head button{color:#bfb6f6;font-size:12px}
#xh-canvas-agent-root .xh-agent-skills{gap:9px}
#xh-canvas-agent-root .xh-agent-skill{border:1px solid #383943;background:#222329;border-radius:12px;min-height:88px;padding:12px;grid-template-columns:30px minmax(0,1fr);gap:9px}
#xh-canvas-agent-root .xh-agent-skill:has(.xh-agent-skill-thumb){grid-template-columns:30px minmax(0,1fr)}
#xh-canvas-agent-root .xh-agent-skill-thumb{width:30px;height:32px;border-radius:8px;filter:saturate(.5)}
#xh-canvas-agent-root .xh-agent-skill:hover{background:#2c2b35;border-color:#82749b}
#xh-canvas-agent-root .xh-agent-skill-copy strong{font-size:13px;font-weight:550;line-height:1.4;margin-bottom:4px}
#xh-canvas-agent-root .xh-agent-skill-copy small{display:none}
#xh-canvas-agent-root .xh-agent-skill-copy em{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-style:normal;font-size:11px;line-height:1.6;color:#aaa8ba}
#xh-canvas-agent-root .xh-studio-chat-entry{display:flex;align-items:center;gap:10px;width:100%;margin-top:9px;padding:11px 12px;border:1px solid var(--studio-line);border-radius:10px;background:#202127;color:#dedce7;font-size:13px}
#xh-canvas-agent-root .xh-studio-chat-entry span{margin-left:auto;color:#a5a1b6;font-size:11px}
#xh-canvas-agent-root .xh-studio-safety{font-size:11px;color:#a5a2b4;line-height:1.6;margin:8px 2px 16px}
#xh-canvas-agent-root .xh-studio-quick{display:grid;gap:5px;margin:0 0 23px}
#xh-canvas-agent-root .xh-studio-quick button{display:flex;align-items:center;gap:10px;border:0;border-radius:8px;padding:11px 10px;background:transparent;text-align:left;font-size:13px;color:#c9c5d5}
#xh-canvas-agent-root .xh-studio-quick button:hover{background:#292631;color:#f2ecff}
#xh-canvas-agent-root .xh-studio-quick button>svg{width:17px;height:17px;color:#afa1ce}
#xh-canvas-agent-root .xh-studio-quick button>span{margin-left:auto;color:#82768f}
#xh-canvas-agent-root .xh-agent-home-composer,#xh-canvas-agent-root .xh-agent-composer-wrap{border:1px solid #41414d;background:#222329;border-radius:15px;padding:11px 12px 9px;position:relative;margin:0 18px 16px;box-shadow:0 8px 20px #0002}
#xh-canvas-agent-root .xh-agent-home-composer{margin:0;flex-shrink:0}
#xh-canvas-agent-root .xh-agent-composer{background:transparent;border:0;box-shadow:none;padding:0;gap:8px;align-items:flex-end}
#xh-canvas-agent-root .xh-agent-composer textarea{background:transparent!important;color:#f4f3f8!important;border:0!important;font-size:14px!important;line-height:1.7;padding:5px 0;min-height:76px;max-height:160px;resize:vertical;box-shadow:none!important;outline:0!important}
#xh-canvas-agent-root .xh-agent-composer textarea::placeholder{color:#a6a3b5;opacity:1}
#xh-canvas-agent-root .xh-agent-composer>button{width:34px;height:34px;background:#ddd7ff;border:0;border-radius:10px;color:#262033;margin-bottom:5px;display:grid;place-items:center;flex-shrink:0}
#xh-canvas-agent-root .xh-agent-composer-wrap:focus-within,#xh-canvas-agent-root .xh-agent-home-composer:focus-within{border-color:#a39aca}
#xh-canvas-agent-root .xh-agent-bottom-tools{display:flex;flex-wrap:wrap;gap:4px;border-top:1px solid #363640;min-height:38px;padding-top:6px;margin-top:6px}
#xh-canvas-agent-root .xh-agent-bottom-tools>button{height:29px;padding:4px 7px;border-radius:6px;color:#c1bccf;gap:5px;font-size:12px}
#xh-canvas-agent-root .xh-agent-bottom-tools>button small{font-size:11px}
#xh-canvas-agent-root .xh-agent-bottom-tools>button:hover,#xh-canvas-agent-root .xh-agent-bottom-tools>button.is-active{background:#37343f;color:#ede8ff}
#xh-canvas-agent-root .xh-agent-model-label{display:block;flex:1;min-width:80px;color:#aaa5bf;font-size:10px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;text-align:right;padding:5px}
#xh-canvas-agent-root .xh-studio-input-hint{display:block;font-size:10px;color:#a6a1b5;padding-top:3px}
#xh-canvas-agent-root .xh-agent-conversation-toolbar{min-height:54px;background:transparent;border-bottom:1px solid #303038;padding:9px 18px;gap:10px}
#xh-canvas-agent-root .xh-agent-current-skill strong{font-size:12px;font-weight:550;color:#ded9ec}
#xh-canvas-agent-root .xh-agent-direction{background:#25262e;color:#e1dce9;border:1px solid #45434f;border-radius:7px;font-size:12px;padding:6px;max-width:115px}
#xh-canvas-agent-root .xh-agent-text-button{font-size:12px;color:#bbb4d1}
#xh-canvas-agent-root .xh-agent-chat{padding:20px 18px 12px;scrollbar-width:thin;scrollbar-color:#4a4a55 transparent}
#xh-canvas-agent-root .xh-agent-message{padding:0;margin:0 0 22px;border:0;background:transparent;box-shadow:none}
#xh-canvas-agent-root .xh-agent-message-meta{font-size:12px;color:#c5c0d5;margin-bottom:9px;display:flex;align-items:center;justify-content:space-between}
#xh-canvas-agent-root .xh-agent-message-meta>span{display:flex;align-items:center;gap:7px}
#xh-canvas-agent-root .xh-studio-avatar{width:23px;height:23px;border-radius:7px;background:#37303e;display:grid;place-items:center;color:#c9bdf0}
#xh-canvas-agent-root .xh-studio-avatar svg{width:15px;height:15px}
#xh-canvas-agent-root .xh-studio-state{font-size:10px;color:#b1abba}
#xh-canvas-agent-root .xh-studio-state.is-failed{color:#f2a4a4}
#xh-canvas-agent-root .xh-agent-message-content{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.85;color:#eceaf2;padding:2px 0}
#xh-canvas-agent-root .is-user .xh-agent-message-content{background:#2b2a34;border:1px solid #403b4e;border-radius:12px 12px 3px 12px;padding:12px 14px;color:#efeaf8}
#xh-canvas-agent-root .xh-studio-message-actions{display:flex;justify-content:flex-end;margin-top:6px}
#xh-canvas-agent-root .xh-studio-message-actions button{border:0;background:transparent;color:#b0a8c3;border-radius:6px;padding:5px}
#xh-canvas-agent-root .xh-studio-message-actions svg{width:15px;height:15px}
#xh-canvas-agent-root .xh-studio-details{margin-top:8px;border:1px solid #39353f;border-radius:8px;font-size:11px;color:#bcb3cc;padding:8px 10px}
#xh-canvas-agent-root .xh-studio-details summary{cursor:pointer}
#xh-canvas-agent-root .xh-studio-details div{white-space:pre-wrap;line-height:1.7;padding-top:8px}
#xh-canvas-agent-root .xh-script-config-button{display:inline-flex!important;width:auto!important;align-items:center;background:#302b3e!important;border:1px solid #5c506e!important;font-size:12px!important;color:#e1d7f5!important;padding:6px 10px!important;border-radius:8px!important}
#xh-canvas-agent-root .xh-script-config-summary{font-size:11px!important;color:#bbb3cd!important;margin:5px 0!important}
#xh-canvas-agent-root .xh-agent-composer-tools{padding:5px 0!important;font-size:11px;color:#b9b0ca}
#xh-canvas-agent-root .xh-agent-composer-tools button{color:#d3c9e1;background:transparent;border:0;font-size:12px}
#xh-canvas-agent-root .xh-agent-command,#xh-canvas-agent-root .xh-agent-run{background:#23242c;border:1px solid #41404c;border-radius:9px;padding:10px;margin-bottom:8px;color:#d2ccde;font-size:12px}
#xh-canvas-agent-root .xh-agent-command button{color:#c8bcec}
#xh-canvas-agent-root .xh-agent-error{font-size:12px;color:#ffd0d0;background:#3d272f;line-height:1.7;margin:0 18px 10px;border:1px solid #77505b;border-radius:9px}
#xh-canvas-agent-root .xh-agent-approval{background:#302b3b;border:1px solid #695679;border-radius:12px;color:#ece4f9}
#xh-canvas-agent-root .xh-agent-approval button.is-primary{background:#dcd0f6;color:#282134}
#xh-canvas-agent-root .xh-studio-refs{display:flex;gap:5px;flex-wrap:wrap;margin:0 0 7px}
#xh-canvas-agent-root .xh-studio-refs>span{display:flex;gap:5px;align-items:center;border-radius:6px;background:#37323f;border:1px solid #52475e;padding:3px 6px;font-size:11px;max-width:100%}
#xh-canvas-agent-root .xh-studio-refs b{font-weight:400;max-width:190px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
#xh-canvas-agent-root .xh-studio-refs button{border:0;background:transparent;color:#d3c5df;padding:0 2px}
#xh-canvas-agent-root .xh-studio-drawer{position:absolute;inset:0;background:#19191f;z-index:12;display:flex;flex-direction:column}
#xh-canvas-agent-root .xh-studio-drawer>header{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid #38333f}
#xh-canvas-agent-root .xh-studio-drawer>header strong{font-size:16px;font-weight:550}
#xh-canvas-agent-root .xh-studio-drawer>header small{display:block;color:#b5aabd;font-size:11px;margin-top:5px}
#xh-canvas-agent-root .xh-studio-drawer>header button{background:transparent;border:0;padding:5px;color:#c4b7d2}
#xh-canvas-agent-root .xh-studio-drawer-content{padding:14px 18px;overflow-y:auto;min-height:0;flex:1}
#xh-canvas-agent-root .xh-studio-history-row{display:block;width:100%;text-align:left;background:#24222b;border:1px solid #413949;border-radius:11px;padding:14px;margin-bottom:9px}
#xh-canvas-agent-root .xh-studio-history-row:hover{border-color:#8e789e;background:#2c2733}
#xh-canvas-agent-root .xh-studio-history-row strong{font-size:13px;display:block;font-weight:550}
#xh-canvas-agent-root .xh-studio-history-row small{font-size:10px;color:#baaac6}
#xh-canvas-agent-root .xh-studio-history-row p{font-size:12px;color:#c3b9ce;margin:8px 0 0;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}
#xh-canvas-agent-root .xh-studio-task{background:#24232b;border:1px solid #413a49;border-radius:10px;padding:14px;margin-bottom:10px}
#xh-canvas-agent-root .xh-studio-task>div{display:flex;justify-content:space-between;align-items:center}
#xh-canvas-agent-root .xh-studio-task strong{font-size:13px}
#xh-canvas-agent-root .xh-studio-task small{font-size:10px;color:#b7a8c2}
#xh-canvas-agent-root .xh-studio-task p{color:#c6bacf;font-size:12px;margin:8px 0}
#xh-canvas-agent-root .xh-studio-task code{font-size:10px;color:#b3a6bf;overflow-wrap:anywhere}
#xh-canvas-agent-root .xh-studio-task p.xh-studio-task-error{color:#f3aaa9}
#xh-canvas-agent-root .xh-studio-task button{display:block;background:#3c3148;border:1px solid #6a547b;border-radius:6px;padding:5px 10px;margin-top:10px;font-size:12px}
#xh-canvas-agent-root .xh-studio-task ol{padding-left:16px;margin:10px 0 0}
#xh-canvas-agent-root .xh-studio-task li{padding:6px 0;line-height:1.7}
#xh-canvas-agent-root .xh-studio-task li b{font-size:11px;font-weight:400;color:#d4c7df}
#xh-canvas-agent-root .xh-studio-task li span{float:right;color:#b9a9c8;font-size:10px}
#xh-canvas-agent-root .xh-studio-task li p{font-size:11px;color:#f3aaa9;overflow-wrap:anywhere}
#xh-canvas-agent-root .xh-studio-toast{position:absolute;bottom:240px;left:24px;right:24px;border:1px solid #726381;background:#373040;border-radius:10px;padding:10px;text-align:center;font-size:12px;color:#f0e6ff;z-index:20;box-shadow:0 4px 18px #0004}
#xh-canvas-agent-root .xh-agent-skill-drawer,#xh-canvas-agent-root .xh-agent-model-menu,#xh-canvas-agent-root .xh-agent-run-mode-menu,#xh-canvas-agent-root .xh-agent-add-menu,#xh-canvas-agent-root .xh-agent-library,#xh-canvas-agent-root .xh-agent-material-popover{background:#24222b;border-color:#52485e;color:#e1d7ed}
#xh-canvas-agent-root .xh-agent-empty{color:#c1b7cf}
@media(max-width:900px){html.xh-agent-panel-open body>#root,html.xh-agent-panel-open.xh-agent-wide body>#root{width:100%!important;max-width:100%!important}#xh-canvas-agent-root .xh-agent-panel{width:min(460px,100vw)}#xh-canvas-agent-root [data-action="toggle-wide"]{display:none}}
@media(max-height:760px){#xh-canvas-agent-root .xh-studio-hero{padding:15px 5px 20px}#xh-canvas-agent-root .xh-studio-orbit{width:48px;height:48px;margin-bottom:10px;border-radius:16px}#xh-canvas-agent-root .xh-studio-hero h2{font-size:23px;margin:9px 0}#xh-canvas-agent-root .xh-studio-hero p{font-size:12px}#xh-canvas-agent-root .xh-agent-skill{min-height:75px}}
@media(prefers-reduced-motion:reduce){#xh-canvas-agent-root *,#xh-canvas-agent-root *:before,#xh-canvas-agent-root *:after{animation:none!important;transition:none!important}}

/* Keep the reading viewport stable during polling, streaming and focus changes. */
#xh-canvas-agent-root .xh-agent-chat { scroll-behavior: auto; overflow-anchor: none; scrollbar-gutter: stable; }

/* xinghe-global-theme-v1.css */
html[data-xh-theme="midnight"] {
  color-scheme: dark;
  --xh-ink: #040a14;
  --xh-navy: #071321;
  --xh-panel: #0a1a2a;
  --xh-control: #0e2437;
  --xh-line: rgba(177, 211, 240, .17);
  --xh-line-strong: rgba(197, 224, 246, .30);
  --xh-ivory: #f3ead9;
  --xh-text: #e8eff5;
  --xh-muted: #8ca0b4;
  --xh-gold: #e5c47a;
  --xh-ice: #9fdcff;
  --mh-night-bg: var(--xh-ink);
  --mh-night-surface: var(--xh-panel);
  --mh-night-control: var(--xh-control);
  --mh-night-border: var(--xh-line);
  --mh-night-text: var(--xh-text);
  --mh-night-muted: var(--xh-muted);
}

html[data-xh-theme="midnight"] body,
html[data-xh-theme="midnight"] #root,
html[data-xh-theme="midnight"] .xh-themed-page,
html[data-xh-theme="midnight"] .mh-workbench-shell,
html[data-xh-theme="midnight"] .mh-workbench-content {
  background-color: var(--xh-ink) !important;
  color: var(--xh-text);
}

html[data-xh-theme="midnight"] body {
  background-image:
    radial-gradient(circle at 72% -10%, rgba(70, 130, 175, .13), transparent 34%),
    linear-gradient(180deg, #040a14, #071321 62%, #050c17) !important;
  background-attachment: fixed !important;
}

html[data-xh-theme="midnight"] .mh-workbench-shell > header,
html[data-xh-theme="midnight"] .xh-script-page > header,
html[data-xh-theme="midnight"] header[class*="fixed"][class*="top-0"] {
  border-color: var(--xh-line) !important;
  background: rgba(4, 10, 20, .90) !important;
  box-shadow: 0 12px 36px rgba(0, 0, 0, .20) !important;
  backdrop-filter: blur(18px) !important;
}

html[data-xh-theme="midnight"] .mh-workbench-shell aside,
html[data-xh-theme="midnight"] .xh-script-page aside {
  border-color: var(--xh-line) !important;
  background: rgba(5, 13, 23, .92) !important;
}

html[data-xh-theme="midnight"] .mh-card,
html[data-xh-theme="midnight"] .mh-user-center-hero,
html[data-xh-theme="midnight"] .mh-user-center-hero-fill,
html[data-xh-theme="midnight"] .mh-points-page section {
  border-color: var(--xh-line) !important;
  background-color: rgba(9, 24, 40, .80) !important;
  box-shadow: 0 18px 46px rgba(0, 0, 0, .20) !important;
}

html[data-xh-route="tasks"] .mh-workbench-content > div,
html[data-xh-route="asset"] .mh-workbench-content > div,
html[data-xh-route="user"] .mh-workbench-content > div,
html[data-xh-route="workflow"] .mh-workbench-content > div,
html[data-xh-route="app"] .mh-workbench-content > div {
  background-color: transparent !important;
  color: var(--xh-text) !important;
}

html[data-xh-route="tasks"] .mh-workbench-content [class~="bg-white"],
html[data-xh-route="tasks"] .mh-workbench-content [class~="bg-slate-50"],
html[data-xh-route="tasks"] .mh-workbench-content [class~="bg-[#f7f9fc]"],
html[data-xh-route="tasks"] .mh-workbench-content [class~="bg-[#1f1f1f]"],
html[data-xh-route="asset"] .mh-workbench-content [class~="bg-white"],
html[data-xh-route="asset"] .mh-workbench-content [class~="bg-[#f8fafc]"],
html[data-xh-route="user"] .mh-workbench-content [class~="bg-white"],
html[data-xh-route="user"] .mh-workbench-content [class~="bg-gray-50"],
html[data-xh-route="user"] .mh-workbench-content [class~="bg-[#edf3f8]"] {
  background-color: rgba(9, 24, 40, .84) !important;
  color: var(--xh-text) !important;
}

html[data-xh-route="tasks"] .mh-workbench-content [class~="border-slate-100"],
html[data-xh-route="tasks"] .mh-workbench-content [class~="border-slate-200"],
html[data-xh-route="tasks"] .mh-workbench-content [class~="border-[#383838]"],
html[data-xh-route="asset"] .mh-workbench-content [class~="border-slate-100"],
html[data-xh-route="asset"] .mh-workbench-content [class~="border-slate-200"],
html[data-xh-route="user"] .mh-workbench-content [class~="border-gray-100"],
html[data-xh-route="user"] .mh-workbench-content [class~="border-gray-200"],
html[data-xh-route="user"] .mh-workbench-content [class~="border-gray-300"] {
  border-color: var(--xh-line) !important;
}

html[data-xh-route="tasks"] .mh-workbench-content [class~="text-slate-900"],
html[data-xh-route="asset"] .mh-workbench-content [class~="text-slate-900"],
html[data-xh-route="user"] .mh-workbench-content [class~="text-[#0f172a]"],
html[data-xh-route="user"] .mh-workbench-content [class~="text-[#1f2937]"],
html[data-xh-route="user"] .mh-workbench-content [class~="text-[#101a33]"] {
  color: var(--xh-text) !important;
}

html[data-xh-route="tasks"] .mh-workbench-content [class~="text-[#7890b3]"],
html[data-xh-route="asset"] .mh-workbench-content [class~="text-[#607089]"],
html[data-xh-route="user"] .mh-workbench-content [class~="text-[#4b5d7b]"] {
  color: var(--xh-muted) !important;
}

html[data-xh-route="user"] .mh-user-center-page,
html[data-xh-route="user"] .mh-points-page,
html[data-xh-route="user"] .mh-invite-page,
html[data-xh-route="user"] .mh-recharge-page {
  background-color: transparent !important;
  color: var(--xh-text) !important;
}

html[data-xh-route="user"] .mh-points-page [class~="bg-white"],
html[data-xh-route="user"] .mh-points-page [class~="bg-slate-50"],
html[data-xh-route="user"] .mh-invite-page [class~="bg-[#eef1f5]"],
html[data-xh-route="user"] .mh-invite-page [class~="bg-[#f8f1dc]"],
html[data-xh-route="user"] .mh-invite-page [class~="bg-[#fffbed]"],
html[data-xh-route="user"] .mh-recharge-page [class~="bg-white"],
html[data-xh-route="user"] .mh-recharge-page [class~="bg-slate-50"],
html[data-xh-route="user"] .mh-recharge-modal-panel {
  background-color: rgba(9, 24, 40, .92) !important;
  color: var(--xh-text) !important;
}

html[data-xh-route="user"] .mh-points-page [class~="border-slate-100"],
html[data-xh-route="user"] .mh-points-page [class~="border-slate-200"],
html[data-xh-route="user"] .mh-invite-page [class~="border-[#e0e5ed]"],
html[data-xh-route="user"] .mh-invite-page [class~="border-[#edf0f4]"],
html[data-xh-route="user"] .mh-invite-page [class~="border-[#dfe4ec]"],
html[data-xh-route="user"] .mh-recharge-page [class~="border-slate-100"],
html[data-xh-route="user"] .mh-recharge-page [class~="border-slate-200"],
html[data-xh-route="user"] .mh-recharge-modal-panel {
  border-color: var(--xh-line) !important;
}

html[data-xh-route="image"] .xh-themed-page,
html[data-xh-route="video"] .xh-themed-page {
  background-color: transparent !important;
  color: var(--xh-text) !important;
}

html[data-xh-route="image"] [class~="bg-[#fafbfc]"],
html[data-xh-route="image"] [class~="bg-[#eef1f5]"],
html[data-xh-route="image"] [class~="bg-[#eef3ff]"],
html[data-xh-route="image"] [class~="bg-[#f1f4f8]"],
html[data-xh-route="image"] [class~="bg-[#f4f7fb]"],
html[data-xh-route="image"] [class~="bg-[#eff3ff]"],
html[data-xh-route="image"] [class~="bg-[#e8ddff]"],
html[data-xh-route="video"] [class~="bg-[#fafbfc]"],
html[data-xh-route="video"] [class~="bg-[#eef1f5]"],
html[data-xh-route="video"] [class~="bg-[#eef3ff]"],
html[data-xh-route="video"] [class~="bg-[#f1f4f8]"],
html[data-xh-route="video"] [class~="bg-[#f4f7fb]"],
html[data-xh-route="video"] [class~="bg-[#eff3ff]"],
html[data-xh-route="video"] [class~="bg-[#e8ddff]"] {
  background-color: rgba(9, 24, 40, .88) !important;
  color: var(--xh-text) !important;
}

html[data-xh-route="image"] [class~="border-[#d7dee9]"],
html[data-xh-route="image"] [class~="border-[#e2e6ee]"],
html[data-xh-route="image"] [class~="border-[#cfd7e4]"],
html[data-xh-route="image"] [class~="border-[#dfe5ee]"],
html[data-xh-route="video"] [class~="border-[#d7dee9]"],
html[data-xh-route="video"] [class~="border-[#e2e6ee]"],
html[data-xh-route="video"] [class~="border-[#cfd7e4]"],
html[data-xh-route="video"] [class~="border-[#dfe5ee]"] {
  border-color: var(--xh-line) !important;
}

html[data-xh-route="image"] [class~="text-[#1d2838]"],
html[data-xh-route="image"] [class~="text-[#1f2a3b]"],
html[data-xh-route="image"] [class~="text-[#0f172a]"],
html[data-xh-route="video"] [class~="text-[#1d2838]"],
html[data-xh-route="video"] [class~="text-[#1f2a3b]"],
html[data-xh-route="video"] [class~="text-[#0f172a]"] {
  color: var(--xh-text) !important;
}

html[data-xh-theme="midnight"]:not([data-xh-route="canvas"]) input:is(:not([type]),[type="text"],[type="password"],[type="email"],[type="tel"],[type="search"],[type="url"],[type="number"],[type="date"],[type="datetime-local"],[type="time"]),
html[data-xh-theme="midnight"]:not([data-xh-route="canvas"]) textarea,
html[data-xh-theme="midnight"]:not([data-xh-route="canvas"]) select {
  border-color: var(--xh-line) !important;
  background-color: rgba(8, 23, 38, .88) !important;
  color: var(--xh-text) !important;
}

html[data-xh-theme="midnight"]:not([data-xh-route="canvas"]) input:is(:not([type]),[type="text"],[type="password"],[type="email"],[type="tel"],[type="search"],[type="url"],[type="number"])::placeholder,
html[data-xh-theme="midnight"]:not([data-xh-route="canvas"]) textarea::placeholder { color: #72879b !important; }

html[data-xh-theme="midnight"]:not([data-xh-route="canvas"]) input:is(:not([type]),[type="text"],[type="password"],[type="email"],[type="tel"],[type="search"],[type="url"],[type="number"],[type="date"],[type="datetime-local"],[type="time"]):focus,
html[data-xh-theme="midnight"]:not([data-xh-route="canvas"]) textarea:focus,
html[data-xh-theme="midnight"]:not([data-xh-route="canvas"]) select:focus {
  border-color: rgba(159, 220, 255, .62) !important;
  box-shadow: 0 0 0 3px rgba(112, 192, 238, .10) !important;
  outline: none !important;
}

html[data-xh-theme="midnight"] a:focus-visible,
html[data-xh-theme="midnight"] button:focus-visible {
  outline: 2px solid var(--xh-ice) !important;
  outline-offset: 2px;
}

html[data-xh-route="login"] .xh-login-page {
  background:
    linear-gradient(90deg, rgba(4, 10, 20, .22), rgba(4, 10, 20, .84)),
    radial-gradient(circle at 25% 35%, rgba(58, 121, 164, .20), transparent 36%),
    var(--xh-ink) !important;
}

html[data-xh-route="login"] .xh-login-card {
  border: 1px solid var(--xh-line) !important;
  border-radius: 24px !important;
  background: rgba(8, 22, 37, .88) !important;
  color: var(--xh-text) !important;
  box-shadow: 0 30px 90px rgba(0, 0, 0, .42) !important;
  backdrop-filter: blur(24px);
}

html[data-xh-route="login"] .xh-login-card :is(h1, h2, h3, strong) {
  color: var(--xh-text) !important;
}

html[data-xh-route="login"] .xh-login-card div[class~="bg-white"] {
  border-color: var(--xh-line) !important;
  background: rgba(6, 18, 31, .94) !important;
  color: var(--xh-text) !important;
}

html[data-xh-route="login"] .xh-login-card button[class~="bg-white"] {
  border-color: rgba(210, 230, 244, .38) !important;
  background: linear-gradient(135deg, var(--xh-gold), var(--xh-ice)) !important;
  color: #06111d !important;
  box-shadow: 0 8px 24px rgba(91, 182, 224, .16) !important;
}

html[data-xh-route="login"] .xh-login-page [class~="bg-[#f7f8fa]"],
html[data-xh-route="login"] .xh-login-page [class~="bg-[#eef0f3]"],
html[data-xh-route="login"] .xh-login-page [class~="bg-[#1b202a]"] {
  border-color: var(--xh-line) !important;
  background-color: rgba(8, 22, 37, .90) !important;
  color: var(--xh-text) !important;
}

html[data-xh-route="login"] .xh-login-page [class~="text-[#12151d]"],
html[data-xh-route="login"] .xh-login-page [class~="text-[#202124]"] {
  color: var(--xh-text) !important;
}

html[data-xh-route="login"] .xh-login-page [class~="border-[#e1e5eb]"],
html[data-xh-route="login"] .xh-login-page [class~="border-[#d8dde5]"],
html[data-xh-route="login"] .xh-login-page [class~="border-[#edf0f4]"] {
  border-color: var(--xh-line) !important;
}

html[data-xh-route="script"] .xh-script-page {
  background-color: transparent !important;
  color: var(--xh-text) !important;
}

html[data-xh-route="script"] .xh-script-page [class~="bg-white/95"],
html[data-xh-route="script"] .xh-script-page [class~="bg-white/94"],
html[data-xh-route="script"] .xh-script-page [class~="bg-white"],
html[data-xh-route="script"] .xh-script-page [class~="bg-[#f7f9fc]/96"],
html[data-xh-route="script"] .xh-script-page [class~="bg-[#f7f9fc]"] {
  background-color: rgba(7, 19, 33, .94) !important;
  color: var(--xh-text) !important;
}

html[data-xh-route="script"] .xh-script-page [class~="bg-[#eef1f7]"],
html[data-xh-route="script"] .xh-script-page [class~="bg-[#eef1f6]"],
html[data-xh-route="script"] .xh-script-page [class~="bg-[#f0f3f7]"],
html[data-xh-route="script"] .xh-script-page [class~="bg-[#f3f5f8]"] {
  background-color: rgba(15, 39, 58, .92) !important;
  color: var(--xh-text) !important;
}

html[data-xh-route="script"] .xh-script-page [class~="border-[#edf1f6]"],
html[data-xh-route="script"] .xh-script-page [class~="border-[#e3e8ef]"],
html[data-xh-route="script"] .xh-script-page [class~="border-[#e3e8f0]"],
html[data-xh-route="script"] .xh-script-page [class~="border-[#e4e9f0]"],
html[data-xh-route="script"] .xh-script-page [class~="border-[#dfe5ed]"] {
  border-color: var(--xh-line) !important;
}

html[data-xh-route="script"] .xh-script-page [class~="text-[#111827]"],
html[data-xh-route="script"] .xh-script-page [class~="text-[#172033]"],
html[data-xh-route="script"] .xh-script-page [class~="text-[#344054]"] {
  color: var(--xh-text) !important;
}

html[data-xh-route="user"] .mh-user-center-hero,
html[data-xh-route="user"] .mh-user-center-hero-fill {
  background-image: linear-gradient(135deg, rgba(12, 39, 61, .94), rgba(7, 20, 35, .94)) !important;
}

html[data-xh-route="canvas"] .mh-infinite-canvas-ui,
html[data-xh-route="canvas"] .mh-canvas-no-native-selection {
  --background: var(--xh-ink);
  --foreground: var(--xh-text);
  --border: var(--xh-line);
}

/* Canvas chrome: keep the navy shell and graphite work area in one continuous surface. */
html[data-xh-route="canvas"],
html[data-xh-route="canvas"] body,
html[data-xh-route="canvas"] #root {
  background-color: #151a20 !important;
}

html[data-xh-route="canvas"] body {
  background-image: linear-gradient(180deg, #071321 0, #0c1825 88px, #121a21 190px, #151a20 320px) !important;
  background-attachment: fixed !important;
}

html[data-xh-route="canvas"] .mh-infinite-canvas-ui,
html[data-xh-route="canvas"] .mh-canvas-no-native-selection {
  background-color: #151a20 !important;
  background-image: linear-gradient(180deg, rgba(7, 19, 33, .64) 0, rgba(18, 26, 33, .24) 150px, rgba(21, 26, 32, 0) 300px) !important;
}

html[data-xh-route="canvas"] [data-top-shell] {
  min-height: 76px;
  border-bottom-color: rgba(177, 211, 240, .20) !important;
  background: linear-gradient(180deg, rgba(7, 19, 33, .98) 0%, rgba(10, 24, 38, .96) 62%, rgba(18, 29, 38, .90) 100%) !important;
  box-shadow: 0 14px 36px rgba(4, 10, 20, .22) !important;
}

html[data-xh-route="canvas"] [data-top-shell] > div:first-child {
  background: transparent !important;
}

html[data-xh-route="canvas"] [data-bottom-shell] {
  background: rgba(17, 25, 33, .94) !important;
}

html[data-xh-route="canvas"] [data-top-shell],
html[data-xh-route="canvas"] [data-bottom-shell],
html[data-xh-route="canvas"] [data-canvas-sidebar],
html[data-xh-route="canvas"] [data-asset-panel],
html[data-xh-route="canvas"] [data-workflow-panel],
html[data-xh-route="canvas"] [data-history-panel],
html[data-xh-route="canvas"] [data-menu-panel],
html[data-xh-route="canvas"] [data-mini-map-panel],
html[data-xh-route="canvas"] [data-selection-toolbar],
html[data-xh-route="canvas"] [data-shortcut-panel],
html[data-xh-route="canvas"] [data-canvas-context-menu],
html[data-xh-route="canvas"] [data-prompt-model-menu],
html[data-xh-route="canvas"] [data-video-story-panel] {
  border-color: var(--xh-line) !important;
  background-color: rgba(7, 19, 33, .94) !important;
  color: var(--xh-text) !important;
}

html[data-xh-route="canvas"] :is([data-top-shell], [data-bottom-shell]) [class~="bg-white"],
html[data-xh-route="canvas"] :is([data-top-shell], [data-bottom-shell]) [class~="bg-[#34363a]"],
html[data-xh-route="canvas"] :is([data-top-shell], [data-bottom-shell]) [class~="bg-[#2f3033]"],
html[data-xh-route="canvas"] :is([data-top-shell], [data-bottom-shell]) [class~="bg-[#242426]/95"] {
  border-color: var(--xh-line) !important;
  background: rgba(7, 19, 33, .96) !important;
  color: var(--xh-text) !important;
  box-shadow: 0 14px 38px rgba(0, 0, 0, .30) !important;
}

html[data-xh-route="canvas"] :is([data-top-shell], [data-bottom-shell]) :is([class~="text-white"], [class~="text-[#202124]"], [class~="text-[#3c4043]"]) {
  color: var(--xh-text) !important;
}

html[data-xh-route="canvas"] [data-top-shell] #xh-global-brand {
  position: static;
  z-index: auto;
  flex: none;
  height: 40px;
  padding: 0 12px;
}

html[data-xh-theme="midnight"] .payment-qr,
html[data-xh-theme="midnight"] .mh-qr-surface { background: #fff !important; }

html[data-xh-theme="midnight"] .xh-account-panel,
html[data-xh-theme="midnight"] .xh-dialog-panel,
html[data-xh-theme="midnight"] .xh-announcement-dialog,
html[data-xh-theme="midnight"] .xh-points-panel {
  border-color: var(--xh-line) !important;
  background: rgba(7, 19, 33, .97) !important;
  color: var(--xh-text) !important;
  box-shadow: 0 28px 90px rgba(0, 0, 0, .52) !important;
}

html[data-xh-theme="midnight"] .xh-account-panel > div,
html[data-xh-theme="midnight"] .xh-dialog-panel > header,
html[data-xh-theme="midnight"] .xh-dialog-panel > footer,
html[data-xh-theme="midnight"] .xh-dialog-panel > aside,
html[data-xh-theme="midnight"] .xh-dialog-panel > main,
html[data-xh-theme="midnight"] .xh-announcement-dialog > header,
html[data-xh-theme="midnight"] .xh-announcement-dialog > footer,
html[data-xh-theme="midnight"] .xh-points-panel > div {
  border-color: var(--xh-line) !important;
  background-color: rgba(10, 27, 44, .86) !important;
  color: var(--xh-text) !important;
}

html[data-xh-theme="midnight"] .xh-account-panel [class~="text-[#7a8495]"],
html[data-xh-theme="midnight"] .xh-account-panel [class~="text-content-tertiary"],
html[data-xh-theme="midnight"] .xh-dialog-panel [class~="text-[#7b8492]"],
html[data-xh-theme="midnight"] .xh-announcement-dialog [class~="text-slate-400"] {
  color: var(--xh-muted) !important;
}

html[data-xh-theme="midnight"] .xh-customer-dialog [aria-label*="二维码"],
html[data-xh-theme="midnight"] .xh-customer-dialog [aria-label*="二维码"] img {
  background: #fff !important;
  color-scheme: normal;
}

html[data-xh-theme="midnight"] .payment-qr,
html[data-xh-theme="midnight"] .mh-qr-surface,
html[data-xh-theme="midnight"] canvas,
html[data-xh-theme="midnight"] video,
html[data-xh-theme="midnight"] img { color-scheme: normal; }

#xh-global-brand {
  position: fixed;
  z-index: 72;
  left: 20px;
  top: 16px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 0 15px;
  border: 1px solid rgba(229, 196, 122, .28);
  border-radius: 999px;
  color: var(--xh-gold, #e5c47a);
  background: rgba(4, 10, 20, .82);
  box-shadow: 0 12px 34px rgba(0, 0, 0, .24);
  backdrop-filter: blur(18px);
  text-decoration: none;
  pointer-events: none;
  user-select: none;
}

#xh-global-brand i {
  width: 23px;
  height: 11px;
  border: 1.5px solid currentColor;
  border-radius: 50%;
  transform: rotate(-18deg);
}

#xh-global-brand strong {
  font-family: "Songti SC", "STSong", serif;
  font-size: 18px;
  letter-spacing: .12em;
}

@media (max-width: 720px) {
  #xh-global-brand { left: 12px; top: 10px; height: 34px; padding: 0 11px; }
  #xh-global-brand strong { font-size: 15px; }
}

/* xinghe-design-system-v2.css */
/*
 * 星晗文化统一设计系统 v2
 * 两套字体、五级文字层级、固定色板、8px 间距网格与统一组件。
 * 该文件只改变视觉，不改 DOM、事件、路由和业务状态。
 */
:root {
  color-scheme: dark;

  /* Typography: the entire product uses only these two stacks. */
  --xh-font-title: "Songti SC", serif;
  --xh-font-body: "Microsoft YaHei", sans-serif;
  --xh-type-display: 68px;
  --xh-type-page: 40px;
  --xh-type-section: 24px;
  --xh-type-card: 18px;
  --xh-type-body: 14px;
  --xh-type-caption: 12px;
  --xh-leading-tight: 1.2;
  --xh-leading-title: 1.35;
  --xh-leading-body: 1.65;
  --xh-leading-caption: 1.5;

  /* Brand and semantic colors. */
  --xh-color-brand: #e4c478;
  --xh-color-brand-hover: #f0d793;
  --xh-color-accent: #9edcff;
  --xh-color-accent-soft: #17334a;
  --xh-color-text: #edf3f7;
  --xh-color-text-2: #9aabba;
  --xh-color-text-3: #6f8294;
  --xh-color-disabled: #4c6072;
  --xh-color-success: #67d3aa;
  --xh-color-warning: #e5b65e;
  --xh-color-danger: #ef7b86;
  --xh-color-info: #8bd6ff;
  --xh-color-bg: #050b14;
  --xh-color-bg-2: #07121f;
  --xh-color-surface: #0a1928;
  --xh-color-surface-2: #0d2133;
  --xh-color-control: #0b1c2b;
  --xh-color-border: rgba(174, 207, 232, .16);
  --xh-color-border-strong: rgba(183, 219, 244, .30);
  --xh-color-overlay: rgba(1, 5, 11, .82);

  /* 8px spacing grid. */
  --xh-space-1: 4px;
  --xh-space-2: 8px;
  --xh-space-3: 12px;
  --xh-space-4: 16px;
  --xh-space-5: 24px;
  --xh-space-6: 32px;
  --xh-space-7: 48px;
  --xh-space-8: 64px;

  /* Components. */
  --xh-radius-control: 10px;
  --xh-radius-card: 16px;
  --xh-radius-panel: 20px;
  --xh-control-height: 40px;
  --xh-input-height: 44px;
  --xh-card-padding: 24px;
  --xh-shadow-card: 0 16px 42px rgba(0, 0, 0, .22);
  --xh-shadow-panel: 0 28px 72px rgba(0, 0, 0, .38);
  --xh-focus-ring: 0 0 0 3px rgba(158, 220, 255, .14);

  /* Compatibility aliases used by existing applications. */
  --xh-ink: var(--xh-color-bg);
  --xh-navy: var(--xh-color-bg-2);
  --xh-panel: var(--xh-color-surface);
  --xh-control: var(--xh-color-control);
  --xh-line: var(--xh-color-border);
  --xh-line-strong: var(--xh-color-border-strong);
  --xh-ivory: var(--xh-color-text);
  --xh-text: var(--xh-color-text);
  --xh-muted: var(--xh-color-text-2);
  --xh-gold: var(--xh-color-brand);
  --xh-ice: var(--xh-color-accent);
}

:root,
[data-theme="dark"] {
  --bg-base: var(--xh-color-bg);
  --bg-surface: var(--xh-color-surface);
  --bg-subtle: var(--xh-color-bg-2);
  --bg-elevated: var(--xh-color-surface-2);
  --border-default: var(--xh-color-border);
  --border-strong: var(--xh-color-border-strong);
  --border-subtle: rgba(174, 207, 232, .10);
  --text-primary: var(--xh-color-text);
  --text-secondary: var(--xh-color-text-2);
  --text-tertiary: var(--xh-color-text-3);
  --text-disabled: var(--xh-color-disabled);
  --brand-default: var(--xh-color-accent);
  --brand-hover: #c5eaff;
  --brand-active: #78c7f3;
  --brand-subtle: var(--xh-color-accent-soft);
  --brand-border: var(--xh-color-border-strong);
  --brand-on: #06111d;
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, .30);
  --shadow-md: var(--xh-shadow-card);
  --shadow-lg: var(--xh-shadow-panel);
  --focus-ring: var(--xh-focus-ring);
  --overlay-bg: var(--xh-color-overlay);
}

html:not([data-xh-route="canvas"]) body,
html:not([data-xh-route="canvas"]) button,
html:not([data-xh-route="canvas"]) input,
html:not([data-xh-route="canvas"]) textarea,
html:not([data-xh-route="canvas"]) select,
html:not([data-xh-route="canvas"]) table,
html:not([data-xh-route="canvas"]) label,
html:not([data-xh-route="canvas"]) .xh-home-v6 {
  font-family: var(--xh-font-body) !important;
}

/* Enforce the two-font rule without touching icon-font carriers. */
html:not([data-xh-route="canvas"]) :where(
  p, a, span, strong, em, small, label, li, dt, dd, th, td, caption,
  button, input, textarea, select, code, pre
):where(:not([class*="icon"])):where(:not([class^="fa-"])):where(:not([class*="material-symbol"])) {
  font-family: var(--xh-font-body) !important;
}

html[data-xh-route="canvas"] :is(
  [data-top-shell], [data-bottom-shell], [data-canvas-sidebar], [data-asset-panel],
  [data-workflow-panel], [data-history-panel], [data-menu-panel], [data-mini-map-panel],
  [data-selection-toolbar], [data-shortcut-panel], [data-canvas-context-menu],
  [data-prompt-model-menu], [data-video-story-panel]
),
html[data-xh-route="canvas"] :is(
  [data-top-shell], [data-bottom-shell], [data-canvas-sidebar], [data-asset-panel],
  [data-workflow-panel], [data-history-panel], [data-menu-panel], [data-mini-map-panel]
) :is(button, input, textarea, select) {
  font-family: var(--xh-font-body) !important;
}

html:not([data-xh-route="canvas"]) :is(h1, h2, h3, h4, h5, h6),
.xh-home-v6 :is(h1, h2, h3),
.xh-brand strong,
.top-brand,
.brand,
#xh-global-brand strong {
  font-family: var(--xh-font-title) !important;
  color: var(--xh-color-text);
}

html:not([data-xh-route="canvas"]) :is(h1, h2, h3, h4, h5, h6) :is(span, strong, em),
.brand > span,
.top-brand > span,
#xh-global-brand strong {
  font-family: var(--xh-font-title) !important;
}

html:not([data-xh-route="canvas"]) h1 {
  margin-block: 0 var(--xh-space-5);
  font-size: var(--xh-type-page) !important;
  font-weight: 700 !important;
  line-height: var(--xh-leading-tight) !important;
  letter-spacing: .02em !important;
}

html:not([data-xh-route="canvas"]) h2 {
  margin-block: 0 var(--xh-space-4);
  font-size: var(--xh-type-section) !important;
  font-weight: 700 !important;
  line-height: var(--xh-leading-title) !important;
  letter-spacing: .03em !important;
}

html:not([data-xh-route="canvas"]) :is(h3, h4, h5, h6) {
  margin-block: 0 var(--xh-space-3);
  font-size: var(--xh-type-card) !important;
  font-weight: 600 !important;
  line-height: var(--xh-leading-title) !important;
  letter-spacing: .01em !important;
}

html:not([data-xh-route="canvas"]) :is(p, li, td, th, label),
html:not([data-xh-route="canvas"]) :is(button, input, textarea, select) {
  font-size: var(--xh-type-body);
  line-height: var(--xh-leading-body);
}

html:not([data-xh-route="canvas"]) :is(small, .meta, .caption, .helper, .hint, .eyebrow, .step-label) {
  font-size: var(--xh-type-caption) !important;
  line-height: var(--xh-leading-caption) !important;
  color: var(--xh-color-text-2);
}

html:not([data-xh-route="canvas"]) :is(
  input:not([type]),
  input[type="text"], input[type="password"], input[type="email"], input[type="tel"],
  input[type="search"], input[type="url"], input[type="number"], input[type="date"],
  input[type="datetime-local"], input[type="time"], textarea, select,
  .form-input, .form-control, .input, .select, .ui-input, .search-box
) {
  border: 1px solid var(--xh-color-border) !important;
  border-radius: var(--xh-radius-control) !important;
  background: var(--xh-color-control) !important;
  color: var(--xh-color-text) !important;
  box-shadow: none !important;
}

html:not([data-xh-route="canvas"]) :is(
  input:not([type]),
  input[type="text"], input[type="password"], input[type="email"], input[type="tel"],
  input[type="search"], input[type="url"], input[type="number"], input[type="date"],
  input[type="datetime-local"], input[type="time"], select,
  .form-input, .form-control, .input, .select, .ui-input, .search-box
) {
  min-height: var(--xh-input-height);
  padding-inline: var(--xh-space-4);
}

html:not([data-xh-route="canvas"]) textarea { padding: var(--xh-space-3) var(--xh-space-4); }

html:not([data-xh-route="canvas"]) :is(
  input:not([type]), input[type="text"], input[type="password"], input[type="email"],
  input[type="tel"], input[type="search"], input[type="url"], input[type="number"],
  input[type="date"], input[type="datetime-local"], input[type="time"], textarea, select,
  .form-input, .form-control, .input, .select, .ui-input, .search-box
):focus,
html:not([data-xh-route="canvas"]) .search-box:focus-within {
  border-color: var(--xh-color-accent) !important;
  outline: none !important;
  box-shadow: var(--xh-focus-ring) !important;
}

html:not([data-xh-route="canvas"]) :is(
  input:not([type]), input[type="text"], input[type="password"], input[type="email"],
  input[type="tel"], input[type="search"], input[type="url"], input[type="number"], textarea
)::placeholder {
  color: var(--xh-color-text-3) !important;
  opacity: 1;
}

html:not([data-xh-route="canvas"]) :is(
  button, .btn, .button, .primary-button, .secondary-file-button,
  .export-button, .action-btn, .ui-btn-primary, .ui-btn-ghost
) {
  border-radius: var(--xh-radius-control) !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  transition: color .18s ease, background-color .18s ease, border-color .18s ease, transform .18s ease !important;
}

html:not([data-xh-route="canvas"]) :is(.btn-primary, .button.primary, .btn.primary, .btn.gold, .primary-button, .enter-btn, .action-btn.primary, .ui-btn-primary) {
  min-height: var(--xh-control-height);
  color: #06111d !important;
  background: linear-gradient(135deg, var(--xh-color-brand-hover), #cda651) !important;
  border: 1px solid rgba(245, 220, 158, .56) !important;
  box-shadow: 0 8px 22px rgba(184, 143, 55, .16) !important;
}

html:not([data-xh-route="canvas"]) :is(.btn-primary, .button.primary, .btn.primary, .btn.gold, .primary-button, .enter-btn, .action-btn.primary, .ui-btn-primary):hover {
  transform: translateY(-1px);
  filter: brightness(1.04);
}

html:not([data-xh-route="canvas"]) :is(.btn-outline, .button.secondary, .secondary-file-button, .export-button, .text-button, .action-btn, .ui-btn-ghost) {
  min-height: var(--xh-control-height);
  color: var(--xh-color-text) !important;
  background: var(--xh-color-control) !important;
  border: 1px solid var(--xh-color-border) !important;
  box-shadow: none !important;
}

html:not([data-xh-route="canvas"]) :is(button, a):focus-visible {
  outline: 2px solid var(--xh-color-accent) !important;
  outline-offset: 2px;
}

/* One card treatment shared across the main SPA and all independent apps. */
html:not([data-xh-route="canvas"]) :is(
  .mh-card, .xh-login-card, .xh-account-panel, .xh-dialog-panel, .xh-announcement-dialog, .xh-points-panel,
  .project-card, .profile-card, .detail-card, .billing-card, .redeem-card, .vcoin-card, .vcoin-records-shell,
  .upload-card, .pipeline-card, .model-picker, .result-panel, .standard-grid article, .tech-note,
  .metric-card, .toolbar, .character-card, .detail-panel, .modal, .login-notice, .asset-item, .empty-state,
  .panel, .metric, .order, .analysis div, .script, .ui-floating-panel
) {
  border: 1px solid var(--xh-color-border) !important;
  border-radius: var(--xh-radius-card) !important;
  background: var(--xh-color-surface) !important;
  color: var(--xh-color-text) !important;
  box-shadow: var(--xh-shadow-card) !important;
}

html:not([data-xh-route="canvas"]) :is(.mh-card, .upload-card, .pipeline-card, .model-picker, .metric-card, .detail-panel, .analysis div, .script, .tech-note) {
  padding: var(--xh-card-padding) !important;
}

html:not([data-xh-route="canvas"]) :is(.xh-account-panel, .xh-dialog-panel, .xh-announcement-dialog, .xh-points-panel, .modal, .notice-dialog) {
  border-radius: var(--xh-radius-panel) !important;
  background: var(--xh-color-surface) !important;
  box-shadow: var(--xh-shadow-panel) !important;
}

html:not([data-xh-route="canvas"]) :is(.project-card, .character-card, .asset-item, .order):hover {
  border-color: var(--xh-color-border-strong) !important;
  box-shadow: 0 20px 48px rgba(0, 0, 0, .30) !important;
}

html:not([data-xh-route="canvas"]) :is(.badge, .status, .status-pill, .tag, .demo-badge, .card-project, .project-tag, .episode-tag, .size-tag) {
  border: 1px solid rgba(158, 220, 255, .22) !important;
  border-radius: 999px !important;
  background: var(--xh-color-accent-soft) !important;
  color: #c7eaff !important;
  font-size: var(--xh-type-caption) !important;
  line-height: var(--xh-leading-caption) !important;
}

html:not([data-xh-route="canvas"]) :is(.top-account-bar, .topbar, .head, #root > header, .mh-workbench-shell > header) {
  border-color: var(--xh-color-border) !important;
  background: rgba(5, 11, 20, .92) !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, .20) !important;
  backdrop-filter: blur(18px) !important;
}

html:not([data-xh-route="canvas"]) :is(.sidebar, .mh-workbench-shell > aside) {
  border-color: var(--xh-color-border) !important;
  background: rgba(5, 11, 20, .94) !important;
}

:is(.top-brand, .brand, #xh-global-brand strong) {
  color: var(--xh-color-brand) !important;
  text-shadow: none !important;
}

:is(.page-header, .page-intro h1, .hero h1, .section-heading h2, .section-caption strong, .card-title-row h2, .detail-head h2) {
  color: var(--xh-color-text) !important;
}

:is(.muted, .secondary, .helper, .meta, .notice, .hero > p, .pipeline-item small, .finding p, .architecture-copy p) {
  color: var(--xh-color-text-2) !important;
}

/* Remove the competing grid decorations; keep one restrained cinematic glow. */
html:not([data-xh-route="canvas"])[data-xh-theme="midnight"] body,
html:not([data-xh-route="canvas"]) body:has(.top-account-bar),
html:not([data-xh-route="canvas"]) body:has(.topbar),
html:not([data-xh-route="canvas"]) body:has(.head) {
  background-color: var(--xh-color-bg) !important;
  background-image: radial-gradient(circle at 70% -12%, rgba(44, 99, 139, .18), transparent 38%) !important;
  background-size: auto !important;
  background-attachment: fixed !important;
}

/* Review Studio: replace inherited light-paper controls with the shared dark system. */
html:not([data-xh-route="canvas"]) body:has(.topbar) :is(.hero, .workspace, .report-section, .architecture) {
  width: min(calc(100% - 48px), 1320px);
  max-width: 1320px;
  margin-inline: auto;
  box-sizing: border-box;
}

html:not([data-xh-route="canvas"]) body:has(.topbar) :is(.back-home-link, .avatar, .model-picker button, .filters button) {
  color: var(--xh-color-text) !important;
  background: var(--xh-color-control) !important;
  border: 1px solid var(--xh-color-border) !important;
  box-shadow: none !important;
}

html:not([data-xh-route="canvas"]) body:has(.topbar) :is(.model-picker button.active, .filters button.active) {
  color: #06111d !important;
  background: linear-gradient(135deg, var(--xh-color-brand-hover), #cda651) !important;
  border-color: rgba(245, 220, 158, .56) !important;
}

html:not([data-xh-route="canvas"]) body:has(.topbar) .model-picker button small {
  color: var(--xh-color-text-2) !important;
}

html:not([data-xh-route="canvas"]) body:has(.topbar) .model-picker button.active small {
  color: #243746 !important;
}

html:not([data-xh-route="canvas"]) body:has(.topbar) :is(.score-row, .flow-step) {
  color: var(--xh-color-text) !important;
  background: var(--xh-color-surface) !important;
  border-color: var(--xh-color-border) !important;
}

html:not([data-xh-route="canvas"]) body:has(.topbar) .score-ring::before {
  background: var(--xh-color-surface) !important;
}

html:not([data-xh-route="canvas"]) body:has(.topbar) :is(.eyebrow span, .flow-step i) {
  color: #06111d !important;
  background: var(--xh-color-brand) !important;
}

/* Homepage typography and restrained card treatment. */
.xh-home-v6 {
  --ink: var(--xh-color-bg);
  --navy: var(--xh-color-bg-2);
  --panel: rgba(10, 25, 40, .88);
  --line: var(--xh-color-border);
  --line-strong: var(--xh-color-border-strong);
  --ivory: var(--xh-color-text);
  --muted: var(--xh-color-text-2);
  --ice: var(--xh-color-accent);
  --ice-strong: #d3efff;
  --gold: var(--xh-color-brand);
  --gold-soft: #f0d999;
}

.xh-home-v6 .xh-hero h1 {
  margin: 0;
  font-size: var(--xh-type-display) !important;
  font-weight: 700 !important;
  line-height: 1.06 !important;
  letter-spacing: .04em !important;
}

.xh-home-v6 .xh-hero-copy p {
  margin-top: var(--xh-space-4);
  font-size: 18px;
  line-height: 1.55;
  color: var(--xh-color-text-2);
}

.xh-home-v6 .xh-section-title {
  gap: var(--xh-space-3);
  margin-bottom: var(--xh-space-3);
}

.xh-home-v6 .xh-section-title h2 {
  margin: 0;
  font-size: var(--xh-type-section) !important;
  line-height: var(--xh-leading-title) !important;
}

.xh-home-v6 :is(.xh-feature, .xh-tool-strip, .xh-project) {
  border-color: var(--xh-color-border);
  border-radius: var(--xh-radius-card);
  box-shadow: none;
}

.xh-home-v6 .xh-feature h3 {
  font-size: var(--xh-type-card) !important;
  line-height: var(--xh-leading-title) !important;
}

.xh-home-v6 .xh-tool-strip strong { font-size: 14px; line-height: 1.4; }
.xh-home-v6 .xh-tool-strip small { font-size: 11px !important; line-height: 1.4 !important; }

/* New role-positioning module. */
.xh-positioning {
  padding: var(--xh-space-7) 52px var(--xh-space-7) 35px;
  background: var(--xh-color-bg-2);
}

.xh-positioning-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 760px);
  align-items: end;
  gap: var(--xh-space-7);
  margin: 0 0 var(--xh-space-5) 9px;
}

.xh-positioning-head > div { display: flex; align-items: center; gap: var(--xh-space-3); }
.xh-positioning-mark { color: var(--xh-color-brand); font-size: 16px; line-height: 1; }
.xh-positioning-head h2 { margin: 0; font-size: var(--xh-type-section) !important; }
.xh-positioning-head p {
  margin: 0;
  color: var(--xh-color-text-2);
  font-size: var(--xh-type-body);
  line-height: var(--xh-leading-body);
  text-align: right;
}

.xh-positioning-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--xh-space-4);
}

.xh-positioning-card {
  min-height: 168px;
  padding: var(--xh-card-padding);
  border: 1px solid var(--xh-color-border);
  border-radius: var(--xh-radius-card);
  background: var(--xh-color-surface);
  box-shadow: none;
}

.xh-positioning-card > span {
  display: block;
  margin-bottom: var(--xh-space-4);
  color: var(--xh-color-brand);
  font-size: var(--xh-type-caption);
  line-height: var(--xh-leading-caption);
  letter-spacing: .14em;
}

.xh-positioning-card h3 {
  margin: 0 0 var(--xh-space-3);
  color: var(--xh-color-text);
  font-size: var(--xh-type-card) !important;
}

.xh-positioning-card p {
  max-width: 46em;
  margin: 0;
  color: var(--xh-color-text-2);
  font-size: var(--xh-type-body);
  line-height: var(--xh-leading-body);
}

/* Status colors remain semantic and consistent. */
html:not([data-xh-route="canvas"]) :is(.success, .pass, [data-status="success"]) { color: var(--xh-color-success) !important; }
html:not([data-xh-route="canvas"]) :is(.warning, .warn, [data-status="warning"]) { color: var(--xh-color-warning) !important; }
html:not([data-xh-route="canvas"]) :is(.danger, .error, .must, [data-status="error"]) { color: var(--xh-color-danger) !important; }
html:not([data-xh-route="canvas"]) :is(:disabled, [aria-disabled="true"], .disabled) { opacity: .52; cursor: not-allowed; }

@media (max-width: 900px) {
  :root {
    --xh-type-display: 52px;
    --xh-type-page: 32px;
    --xh-type-section: 22px;
    --xh-card-padding: 20px;
  }
  .xh-positioning { padding: var(--xh-space-6) 40px; }
  .xh-positioning-head { grid-template-columns: 1fr; gap: var(--xh-space-3); }
  .xh-positioning-head p { text-align: left; }
  .xh-positioning-grid { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
  :root {
    --xh-type-display: 46px;
    --xh-type-page: 28px;
    --xh-type-section: 20px;
    --xh-type-card: 17px;
    --xh-card-padding: 16px;
  }
  .xh-positioning { padding: var(--xh-space-6) 16px; }
  .xh-positioning-head { margin-left: 0; }
  .xh-home-v6 .xh-agent-toolbar {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
  }
  .xh-home-v6 .xh-agent-chip {
    width: 100%;
    min-width: 0;
    justify-content: flex-start;
  }
  .xh-home-v6 .xh-agent-select select {
    width: 100%;
    min-width: 0;
    max-width: none;
    text-overflow: ellipsis;
  }
}

/* canvas-toolbar-layer-fix-20260816.css */
/* Keep media-node toolbars and their dropdowns above prompt panels and nodes. */
.mh-infinite-canvas-ui [data-node-media-toolbar] {
  z-index: 240 !important;
}


/* libtv-feature-suite-20260824a.css */
/* Isolated styles for the LibTV-compatible canvas suite.
   These selectors do not change legacy canvas elements. */

[data-grid-tool-menu] {
  position: absolute;
  left: 0;
  top: calc(100% + 10px);
  z-index: 92;
  width: 260px;
  overflow: hidden;
  border: 1px solid rgb(255 255 255 / 10%);
  border-radius: 16px;
  background: #343537;
  box-shadow: 0 24px 64px rgb(0 0 0 / 46%);
  pointer-events: auto;
}

[data-story-script-submenu] {
  position: fixed !important;
  z-index: 160 !important;
  width: 330px !important;
  border: 1px solid #45474c !important;
  border-radius: 18px !important;
  background: #28292b !important;
  box-shadow: 0 28px 70px rgb(0 0 0 / 58%) !important;
  max-height: calc(100vh - 24px);
  overflow-y: auto;
  overscroll-behavior: contain;
}

[data-story-script-node] {
  position: relative;
  display: flex;
  width: 100%;
  height: 100%;
  flex-direction: column;
  border: 1px solid #424448;
  border-radius: 16px;
  background: #292929;
  color: #fff;
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 3%);
}

[data-panorama-viewer] {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  touch-action: none;
  user-select: none;
  cursor: grab;
  border-radius: 13px;
  background: #111317;
  color: #fff;
}

[data-panorama-viewer] > canvas {
  display: block;
}

[data-panorama-surface] {
  position: absolute;
  inset: 0;
}

[data-panorama-activate] {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgb(255 255 255 / 75%);
  font-size: 12px;
  pointer-events: none;
}

[data-panorama-viewer]:active {
  cursor: grabbing;
}

[data-panorama-orientation] {
  position: absolute;
  right: 12px;
  bottom: 12px;
  z-index: 20;
  width: 94px;
  padding: 8px;
  border: 1px solid rgb(255 255 255 / 12%);
  border-radius: 12px;
  background: rgb(48 50 55 / 88%);
  color: #fff;
  font-size: 10px;
  box-shadow: 0 10px 28px rgb(0 0 0 / 38%);
  pointer-events: none;
}

[data-shortcut-panel] {
  position: absolute;
  bottom: 82px;
  left: 50%;
  z-index: 96;
  width: min(1158px, calc(100vw - 48px));
  max-height: calc(100vh - 130px);
  overflow-y: auto;
  overscroll-behavior: contain;
  transform: translateX(-50%);
  border: 1px solid #3e4045;
  border-radius: 24px;
  background: #2a2a2b;
  box-shadow: 0 30px 80px rgb(0 0 0 / 45%);
}

[data-shortcut-sections] {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
}

[data-shortcut-keycap] {
  display: inline-flex;
  min-height: 28px;
  align-items: center;
  padding: 4px 10px;
  border: 1px solid #505157;
  border-radius: 8px;
  background: #303134;
  color: #f1f2f4;
  font-size: 12px;
  font-weight: 500;
  box-shadow: inset 0 -1px 0 rgb(255 255 255 / 6%);
}

@media (min-width: 640px) {
  [data-shortcut-sections] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1280px) {
  [data-shortcut-sections] {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 639px) {
  [data-story-script-submenu] {
    left: 12px !important;
    right: 12px !important;
    width: auto !important;
  }

  [data-shortcut-panel] {
    bottom: 72px;
    width: calc(100vw - 24px);
    max-height: calc(100vh - 96px);
  }
}

/* collaboration-20260821a.css */
/* 星晗文化 · 基础团队协作独立资产。所有选择器带 xh-collab 前缀，避免污染现有 bundle。 */
:root {
  --xh-c-bg: #060b16;
  --xh-c-bg-soft: #0b1322;
  --xh-c-card: rgba(16, 27, 46, 0.86);
  --xh-c-card-strong: #111d31;
  --xh-c-card-hover: #16253d;
  --xh-c-line: rgba(143, 175, 220, 0.15);
  --xh-c-line-strong: rgba(143, 175, 220, 0.28);
  --xh-c-text: #f0f5ff;
  --xh-c-text-soft: #9cadc8;
  --xh-c-text-muted: #71839f;
  --xh-c-cyan: #6ce9ff;
  --xh-c-cyan-strong: #31c8e7;
  --xh-c-purple: #a78bfa;
  --xh-c-green: #58e6ae;
  --xh-c-amber: #f4c66d;
  --xh-c-red: #ff829b;
  --xh-c-shadow: 0 22px 60px rgba(0, 0, 0, 0.35);
  --xh-c-radius: 20px;
  --xh-c-font: Inter, "PingFang SC", "Microsoft YaHei", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
}

html.xh-collaboration-active,
html.xh-collaboration-active body {
  min-height: 100%;
  background: var(--xh-c-bg);
}

html.xh-collaboration-active body {
  margin: 0;
  color: var(--xh-c-text);
  font-family: var(--xh-c-font);
}

html.xh-collaboration-active #root {
  display: none !important;
}

#xh-collaboration-root,
#xh-collaboration-root * {
  box-sizing: border-box;
}

#xh-collaboration-root {
  min-height: 100vh;
  color: var(--xh-c-text);
  font-family: var(--xh-c-font);
  background:
    radial-gradient(ellipse 85% 70% at 86% -8%, rgba(74, 127, 255, 0.16), transparent 63%),
    radial-gradient(ellipse 70% 60% at 4% 6%, rgba(39, 203, 221, 0.09), transparent 66%),
    linear-gradient(145deg, #050914 0%, #091221 48%, #060b16 100%);
  isolation: isolate;
}

#xh-collaboration-root::before {
  position: fixed;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  content: "";
  opacity: 0.22;
  background-image: radial-gradient(rgba(151, 184, 228, 0.25) 0.7px, transparent 0.7px);
  background-size: 24px 24px;
  mask-image: linear-gradient(to bottom, black, transparent 88%);
}

.xh-collab-app {
  width: min(1440px, 100%);
  min-height: 100vh;
  margin: 0 auto;
  padding: 24px clamp(16px, 3vw, 42px) 48px;
}

.xh-collab-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 46px;
  margin-bottom: clamp(26px, 4vw, 54px);
}

.xh-collab-brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: var(--xh-c-text);
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-decoration: none;
}

.xh-collab-brand-mark {
  display: grid;
  width: 31px;
  height: 31px;
  place-items: center;
  border: 1px solid rgba(108, 233, 255, 0.45);
  border-radius: 10px;
  color: #dbfbff;
  font-size: 14px;
  background: linear-gradient(145deg, rgba(80, 219, 238, 0.24), rgba(147, 106, 255, 0.32));
  box-shadow: 0 0 24px rgba(70, 215, 242, 0.18);
}

.xh-collab-brand-sub {
  display: block;
  margin-top: 2px;
  color: var(--xh-c-text-muted);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.1em;
}

.xh-collab-top-actions,
.xh-collab-inline-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 9px;
}

.xh-collab-btn {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 8px 14px;
  border: 1px solid var(--xh-c-line-strong);
  border-radius: 11px;
  color: var(--xh-c-text-soft);
  font: inherit;
  font-size: 13px;
  font-weight: 650;
  line-height: 1.25;
  text-decoration: none;
  background: rgba(20, 34, 56, 0.72);
  cursor: pointer;
  transition: border-color 160ms ease, background 160ms ease, color 160ms ease, transform 160ms ease;
}

.xh-collab-btn:hover:not(:disabled) {
  border-color: rgba(108, 233, 255, 0.52);
  color: var(--xh-c-text);
  background: rgba(28, 50, 80, 0.9);
  transform: translateY(-1px);
}

.xh-collab-btn:focus-visible,
.xh-collab-project-btn:focus-visible,
.xh-collab-tab:focus-visible,
.xh-collab-link:focus-visible,
.xh-collab-entry:focus-visible {
  outline: 2px solid var(--xh-c-cyan);
  outline-offset: 3px;
}

.xh-collab-btn:disabled {
  cursor: not-allowed;
  opacity: 0.45;
}

.xh-collab-btn-primary {
  border-color: rgba(108, 233, 255, 0.42);
  color: #06121d;
  background: linear-gradient(115deg, #6ce9ff, #a3c4ff 52%, #bea0ff);
  box-shadow: 0 8px 24px rgba(75, 199, 237, 0.17);
}

.xh-collab-btn-primary:hover:not(:disabled) {
  border-color: rgba(221, 249, 255, 0.92);
  color: #06121d;
  background: linear-gradient(115deg, #9cf1ff, #c2d8ff 52%, #d1baff);
}

.xh-collab-btn-danger {
  border-color: rgba(255, 130, 155, 0.24);
  color: #ffb0c0;
  background: rgba(107, 31, 58, 0.24);
}

.xh-collab-btn-quiet {
  min-height: 32px;
  padding: 6px 10px;
  border-color: transparent;
  background: transparent;
}

.xh-collab-btn-small {
  min-height: 31px;
  padding: 5px 10px;
  font-size: 12px;
}

.xh-collab-eyebrow {
  margin: 0 0 10px;
  color: var(--xh-cyan, var(--xh-c-cyan));
  font-size: 11px;
  font-weight: 750;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.xh-collab-hero {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 28px;
}

.xh-collab-hero h1 {
  margin: 0;
  color: #f8fbff;
  font-size: clamp(30px, 4vw, 52px);
  font-weight: 760;
  letter-spacing: -0.045em;
  line-height: 1.05;
}

.xh-collab-hero p {
  max-width: 590px;
  margin: 14px 0 0;
  color: var(--xh-c-text-soft);
  font-size: 14px;
  line-height: 1.7;
}

.xh-collab-hero-note {
  flex: 0 0 auto;
  max-width: 250px;
  padding: 13px 16px;
  border: 1px solid rgba(108, 233, 255, 0.16);
  border-radius: 14px;
  color: #bdeef7;
  font-size: 12px;
  line-height: 1.6;
  background: rgba(21, 57, 74, 0.28);
}

.xh-collab-layout {
  display: grid;
  grid-template-columns: minmax(230px, 286px) minmax(0, 1fr);
  align-items: start;
  gap: 18px;
}

.xh-collab-sidebar,
.xh-collab-panel,
.xh-collab-stat,
.xh-collab-empty,
.xh-collab-login-card {
  border: 1px solid var(--xh-c-line);
  border-radius: var(--xh-c-radius);
  background: linear-gradient(145deg, rgba(17, 29, 49, 0.92), rgba(9, 17, 31, 0.88));
  box-shadow: var(--xh-c-shadow);
}

.xh-collab-sidebar {
  position: sticky;
  top: 16px;
  min-height: 520px;
  padding: 17px 12px 13px;
}

.xh-collab-sidebar-head,
.xh-collab-panel-head,
.xh-collab-section-head,
.xh-collab-list-row,
.xh-collab-share-line,
.xh-collab-member-line,
.xh-collab-audit-line {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.xh-collab-sidebar-head {
  padding: 2px 7px 14px;
}

.xh-collab-sidebar-head h2,
.xh-collab-panel-head h2,
.xh-collab-section-head h3 {
  margin: 0;
  color: var(--xh-c-text);
  font-size: 15px;
  font-weight: 720;
}

.xh-collab-muted {
  color: var(--xh-c-text-muted);
  font-size: 12px;
}

.xh-collab-project-list {
  display: grid;
  gap: 5px;
}

.xh-collab-project-btn {
  display: block;
  width: 100%;
  padding: 12px 10px;
  border: 1px solid transparent;
  border-radius: 14px;
  color: var(--xh-c-text-soft);
  font: inherit;
  text-align: left;
  background: transparent;
  cursor: pointer;
  transition: background 160ms ease, border-color 160ms ease, color 160ms ease;
}

.xh-collab-project-btn:hover {
  border-color: var(--xh-c-line);
  background: rgba(25, 45, 73, 0.58);
}

.xh-collab-project-btn[aria-current="true"] {
  border-color: rgba(108, 233, 255, 0.3);
  color: var(--xh-c-text);
  background: linear-gradient(105deg, rgba(38, 98, 117, 0.38), rgba(55, 49, 107, 0.32));
  box-shadow: inset 3px 0 0 var(--xh-c-cyan);
}

.xh-collab-project-name {
  display: block;
  overflow: hidden;
  font-size: 13px;
  font-weight: 680;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.xh-collab-project-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 7px;
  margin-top: 7px;
}

.xh-collab-role,
.xh-collab-status,
.xh-collab-count,
.xh-collab-tag {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 3px 8px;
  border-radius: 99px;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.25;
  white-space: nowrap;
}

.xh-collab-role-owner { color: #d9c9ff; background: rgba(151, 107, 255, 0.19); }
.xh-collab-role-reviewer { color: #a9ecff; background: rgba(56, 181, 212, 0.17); }
.xh-collab-role-commenter { color: #c5f5d8; background: rgba(63, 194, 142, 0.17); }
.xh-collab-role-viewer { color: #bfccdf; background: rgba(140, 157, 184, 0.17); }

.xh-collab-status-draft { color: var(--xh-c-text-soft); background: rgba(130, 148, 177, 0.18); }
.xh-collab-status-pending { color: #b9efff; background: rgba(45, 187, 217, 0.19); }
.xh-collab-status-approved { color: #aef5d1; background: rgba(56, 199, 137, 0.2); }
.xh-collab-status-changes_requested { color: #ffdba0; background: rgba(231, 161, 55, 0.2); }
.xh-collab-status-open { color: #b9efff; background: rgba(45, 187, 217, 0.19); }
.xh-collab-status-resolved { color: #afc4bc; background: rgba(85, 135, 113, 0.18); }

.xh-collab-content {
  min-width: 0;
}

.xh-collab-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 14px;
}

.xh-collab-stat {
  min-height: 102px;
  padding: 16px;
}

.xh-collab-stat-label {
  display: block;
  color: var(--xh-c-text-muted);
  font-size: 12px;
}

.xh-collab-stat-value {
  display: block;
  margin-top: 9px;
  color: #f5fbff;
  font-size: 28px;
  font-weight: 760;
  letter-spacing: -0.04em;
}

.xh-collab-panel {
  overflow: hidden;
}

.xh-collab-panel-head {
  padding: 22px 24px 18px;
}

.xh-collab-panel-title {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}

.xh-collab-panel-head h2 {
  font-size: 21px;
  letter-spacing: -0.02em;
}

.xh-collab-panel-subtitle {
  margin: 6px 0 0;
  color: var(--xh-c-text-muted);
  font-size: 12px;
}

.xh-collab-tabs {
  display: flex;
  gap: 4px;
  overflow-x: auto;
  padding: 0 16px;
  border-top: 1px solid var(--xh-c-line);
  border-bottom: 1px solid var(--xh-c-line);
  scrollbar-width: thin;
}

.xh-collab-tab {
  position: relative;
  flex: 0 0 auto;
  min-height: 48px;
  padding: 12px 12px 10px;
  border: 0;
  color: var(--xh-c-text-muted);
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  background: transparent;
  cursor: pointer;
}

.xh-collab-tab::after {
  position: absolute;
  right: 12px;
  bottom: -1px;
  left: 12px;
  height: 2px;
  content: "";
  background: transparent;
}

.xh-collab-tab:hover,
.xh-collab-tab[aria-selected="true"] {
  color: var(--xh-c-text);
}

.xh-collab-tab[aria-selected="true"]::after {
  background: linear-gradient(90deg, var(--xh-c-cyan), var(--xh-c-purple));
}

.xh-collab-panel-body {
  min-height: 380px;
  padding: 22px 24px 26px;
}

.xh-collab-section {
  display: grid;
  gap: 16px;
}

.xh-collab-section-head {
  align-items: flex-start;
}

.xh-collab-section-head p {
  margin: 5px 0 0;
  color: var(--xh-c-text-muted);
  font-size: 12px;
  line-height: 1.6;
}

.xh-collab-section-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.xh-collab-quick-card {
  display: flex;
  min-height: 100px;
  flex-direction: column;
  justify-content: space-between;
  gap: 10px;
  padding: 16px;
  border: 1px solid var(--xh-c-line);
  border-radius: 15px;
  background: rgba(9, 20, 36, 0.58);
}

.xh-collab-quick-card strong {
  color: var(--xh-c-text);
  font-size: 14px;
}

.xh-collab-quick-card span {
  color: var(--xh-c-text-muted);
  font-size: 12px;
  line-height: 1.5;
}

.xh-collab-form {
  display: grid;
  gap: 14px;
  padding: 16px;
  border: 1px solid var(--xh-c-line);
  border-radius: 16px;
  background: rgba(8, 18, 32, 0.48);
}

.xh-collab-form-title {
  margin: 0;
  color: var(--xh-c-text);
  font-size: 13px;
  font-weight: 720;
}

.xh-collab-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.xh-collab-field {
  display: grid;
  gap: 7px;
}

.xh-collab-field-full {
  grid-column: 1 / -1;
}

.xh-collab-field label,
.xh-collab-label {
  color: var(--xh-c-text-soft);
  font-size: 12px;
  font-weight: 650;
}

.xh-collab-input,
.xh-collab-select,
.xh-collab-textarea {
  width: 100%;
  border: 1px solid var(--xh-c-line-strong);
  border-radius: 10px;
  outline: none;
  color: var(--xh-c-text);
  font: inherit;
  font-size: 13px;
  background: rgba(4, 12, 24, 0.7);
  transition: border-color 160ms ease, box-shadow 160ms ease;
}

.xh-collab-input,
.xh-collab-select {
  height: 40px;
  padding: 8px 11px;
}

.xh-collab-textarea {
  min-height: 98px;
  padding: 10px 11px;
  resize: vertical;
}

.xh-collab-input::placeholder,
.xh-collab-textarea::placeholder {
  color: #5f718e;
}

.xh-collab-input:focus,
.xh-collab-select:focus,
.xh-collab-textarea:focus {
  border-color: rgba(108, 233, 255, 0.72);
  box-shadow: 0 0 0 3px rgba(108, 233, 255, 0.12);
}

.xh-collab-select option {
  color: #f0f5ff;
  background: #101c2f;
}

.xh-collab-helper {
  margin: -5px 0 0;
  color: var(--xh-c-text-muted);
  font-size: 11px;
  line-height: 1.55;
}

.xh-collab-list {
  display: grid;
  gap: 8px;
}

.xh-collab-member-line,
.xh-collab-share-line,
.xh-collab-audit-line {
  min-width: 0;
  padding: 12px 13px;
  border: 1px solid var(--xh-c-line);
  border-radius: 13px;
  background: rgba(9, 19, 34, 0.55);
}

.xh-collab-member-person,
.xh-collab-audit-person {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 10px;
}

.xh-collab-avatar {
  display: grid;
  width: 34px;
  height: 34px;
  flex: 0 0 auto;
  place-items: center;
  overflow: hidden;
  border: 1px solid rgba(108, 233, 255, 0.24);
  border-radius: 50%;
  color: #bff5ff;
  font-size: 12px;
  font-weight: 800;
  background: linear-gradient(145deg, rgba(61, 184, 210, 0.34), rgba(126, 102, 220, 0.35));
}

.xh-collab-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.xh-collab-person-copy {
  min-width: 0;
}

.xh-collab-person-copy strong {
  display: block;
  overflow: hidden;
  color: var(--xh-c-text);
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.xh-collab-person-copy span {
  display: block;
  overflow: hidden;
  margin-top: 3px;
  color: var(--xh-c-text-muted);
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.xh-collab-member-tools,
.xh-collab-share-tools {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 7px;
}

.xh-collab-member-tools .xh-collab-select {
  width: 118px;
  height: 32px;
  padding: 5px 8px;
  font-size: 12px;
}

.xh-collab-comment {
  padding: 15px;
  border: 1px solid var(--xh-c-line);
  border-radius: 15px;
  background: rgba(9, 19, 34, 0.55);
}

.xh-collab-comment-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.xh-collab-comment-author {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--xh-c-text-soft);
  font-size: 12px;
  font-weight: 650;
}

.xh-collab-comment-author .xh-collab-avatar {
  width: 26px;
  height: 26px;
  font-size: 10px;
}

.xh-collab-comment-body {
  margin: 12px 0 10px;
  color: #d7e2f1;
  font-size: 13px;
  line-height: 1.7;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.xh-collab-comment-foot {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 9px;
  color: var(--xh-c-text-muted);
  font-size: 11px;
}

.xh-collab-anchor {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 7px;
  border-radius: 7px;
  color: #b8eaf2;
  background: rgba(50, 174, 199, 0.12);
}

.xh-collab-review-card {
  display: grid;
  gap: 16px;
  padding: 19px;
  border: 1px solid var(--xh-c-line);
  border-radius: 17px;
  background: linear-gradient(145deg, rgba(19, 40, 62, 0.68), rgba(30, 22, 59, 0.5));
}

.xh-collab-review-status {
  display: flex;
  align-items: center;
  gap: 10px;
}

.xh-collab-review-status strong {
  color: var(--xh-c-text);
  font-size: 16px;
}

.xh-collab-note {
  margin: 0;
  padding: 12px 13px;
  border-left: 2px solid var(--xh-c-cyan);
  color: var(--xh-c-text-soft);
  font-size: 13px;
  line-height: 1.65;
  white-space: pre-wrap;
  background: rgba(7, 20, 33, 0.48);
}

.xh-collab-binding {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
}

.xh-collab-binding-item {
  min-width: 0;
  padding: 10px 11px;
  border: 1px solid var(--xh-c-line);
  border-radius: 10px;
  background: rgba(5, 14, 26, 0.44);
}

.xh-collab-binding-item span,
.xh-collab-binding-item strong {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.xh-collab-binding-item span {
  color: var(--xh-c-text-muted);
  font-size: 10px;
}

.xh-collab-binding-item strong {
  margin-top: 5px;
  color: var(--xh-c-text-soft);
  font-size: 12px;
}

.xh-collab-share-secret {
  display: grid;
  gap: 10px;
  padding: 14px;
  border: 1px solid rgba(108, 233, 255, 0.28);
  border-radius: 13px;
  background: rgba(19, 66, 83, 0.24);
}

.xh-collab-share-secret p {
  margin: 0;
  color: #c5f5fc;
  font-size: 12px;
  line-height: 1.6;
}

.xh-collab-share-url {
  display: flex;
  align-items: center;
  gap: 8px;
}

.xh-collab-share-url code {
  display: block;
  min-width: 0;
  flex: 1;
  overflow: hidden;
  padding: 9px 10px;
  border: 1px solid rgba(108, 233, 255, 0.18);
  border-radius: 9px;
  color: #e0fbff;
  font: 11px/1.4 ui-monospace, SFMono-Regular, Consolas, monospace;
  text-overflow: ellipsis;
  white-space: nowrap;
  background: rgba(5, 20, 31, 0.6);
}

.xh-collab-audit-line {
  align-items: flex-start;
}

.xh-collab-audit-copy {
  min-width: 0;
  flex: 1;
}

.xh-collab-audit-copy strong,
.xh-collab-audit-copy span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.xh-collab-audit-copy strong {
  color: var(--xh-c-text-soft);
  font-size: 12px;
}

.xh-collab-audit-copy span {
  margin-top: 5px;
  color: var(--xh-c-text-muted);
  font-size: 11px;
}

.xh-collab-audit-details {
  max-width: 45%;
  overflow: hidden;
  color: var(--xh-c-text-muted);
  font: 10px/1.5 ui-monospace, SFMono-Regular, Consolas, monospace;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.xh-collab-empty {
  display: grid;
  min-height: 180px;
  place-items: center;
  padding: 22px;
  color: var(--xh-c-text-muted);
  font-size: 13px;
  text-align: center;
  background: rgba(8, 18, 32, 0.42);
  box-shadow: none;
}

.xh-collab-error,
.xh-collab-success {
  padding: 11px 13px;
  border-radius: 10px;
  font-size: 12px;
  line-height: 1.55;
}

.xh-collab-error {
  border: 1px solid rgba(255, 130, 155, 0.28);
  color: #ffc0cb;
  background: rgba(111, 34, 58, 0.26);
}

.xh-collab-success {
  border: 1px solid rgba(88, 230, 174, 0.25);
  color: #bcf4d7;
  background: rgba(35, 110, 83, 0.24);
}

.xh-collab-spinner {
  width: 19px;
  height: 19px;
  border: 2px solid rgba(188, 230, 241, 0.18);
  border-top-color: var(--xh-c-cyan);
  border-radius: 50%;
  animation: xh-collab-spin 760ms linear infinite;
}

@keyframes xh-collab-spin {
  to { transform: rotate(360deg); }
}

.xh-collab-loading {
  display: flex;
  min-height: 240px;
  align-items: center;
  justify-content: center;
  gap: 11px;
  color: var(--xh-c-text-muted);
  font-size: 13px;
}

.xh-collab-login {
  display: grid;
  min-height: 100vh;
  place-items: center;
  padding: 24px;
}

.xh-collab-login-card {
  width: min(500px, 100%);
  padding: 35px;
  text-align: center;
}

.xh-collab-login-card h1 {
  margin: 18px 0 10px;
  font-size: 27px;
  letter-spacing: -0.035em;
}

.xh-collab-login-card p {
  margin: 0 0 24px;
  color: var(--xh-c-text-soft);
  font-size: 13px;
  line-height: 1.7;
}

.xh-collab-login-card .xh-collab-btn {
  width: 100%;
}

.xh-collab-share-page {
  width: min(1120px, 100%);
  min-height: 100vh;
  margin: 0 auto;
  padding: 28px clamp(16px, 4vw, 52px) 56px;
}

.xh-collab-share-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(280px, 0.9fr);
  gap: clamp(22px, 5vw, 64px);
  align-items: center;
  min-height: 62vh;
}

.xh-collab-share-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--xh-c-cyan);
  font-size: 11px;
  font-weight: 750;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.xh-collab-share-kicker::before {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  content: "";
  background: var(--xh-c-cyan);
  box-shadow: 0 0 16px var(--xh-c-cyan);
}

.xh-collab-share-hero h1 {
  max-width: 640px;
  margin: 17px 0 13px;
  color: #f7fbff;
  font-size: clamp(32px, 6vw, 67px);
  letter-spacing: -0.065em;
  line-height: 1.02;
}

.xh-collab-share-hero p {
  max-width: 560px;
  margin: 0;
  color: var(--xh-c-text-soft);
  font-size: 14px;
  line-height: 1.75;
}

.xh-collab-share-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 19px;
}

.xh-collab-share-preview {
  position: relative;
  min-height: 300px;
  overflow: hidden;
  border: 1px solid rgba(127, 200, 255, 0.22);
  border-radius: 24px;
  background:
    radial-gradient(circle at 20% 20%, rgba(100, 214, 237, 0.16), transparent 25%),
    radial-gradient(circle at 80% 70%, rgba(155, 115, 254, 0.22), transparent 34%),
    linear-gradient(145deg, #101d32, #0a1222);
  box-shadow: 0 32px 80px rgba(0, 0, 0, 0.38), inset 0 0 0 1px rgba(255, 255, 255, 0.03);
}

.xh-collab-share-preview::before,
.xh-collab-share-preview::after {
  position: absolute;
  content: "";
  border: 1px solid rgba(147, 213, 255, 0.22);
  border-radius: 14px;
  transform: rotate(-7deg);
}

.xh-collab-share-preview::before {
  width: 56%;
  height: 43%;
  top: 17%;
  left: 12%;
}

.xh-collab-share-preview::after {
  width: 48%;
  height: 39%;
  right: 10%;
  bottom: 12%;
  border-color: rgba(197, 157, 255, 0.26);
  transform: rotate(8deg);
}

.xh-collab-share-preview-has-scene::before,
.xh-collab-share-preview-has-scene::after,
.xh-collab-share-preview-empty::before,
.xh-collab-share-preview-empty::after {
  display: none;
}

.xh-collab-share-preview-has-scene {
  background:
    linear-gradient(rgba(127, 167, 216, 0.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(127, 167, 216, 0.055) 1px, transparent 1px),
    radial-gradient(circle at 18% 12%, rgba(58, 206, 233, 0.13), transparent 30%),
    radial-gradient(circle at 85% 82%, rgba(150, 109, 253, 0.17), transparent 36%),
    linear-gradient(145deg, #0c1728, #07101e);
  background-size: 26px 26px, 26px 26px, auto, auto, auto;
}

.xh-collab-share-preview > img {
  position: absolute;
  z-index: 1;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.76;
}

.xh-collab-share-preview-label {
  position: absolute;
  z-index: 2;
  right: 16px;
  bottom: 15px;
  left: 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  color: #d4e9ff;
  font-size: 11px;
}

.xh-collab-preview-host {
  min-width: 0;
}

.xh-collab-canvas-svg {
  position: absolute;
  z-index: 1;
  inset: 14px 14px 38px;
  width: calc(100% - 28px);
  height: calc(100% - 52px);
  overflow: visible;
}

.xh-collab-canvas-group {
  fill: rgba(114, 164, 225, 0.045);
  stroke: rgba(137, 190, 251, 0.3);
  stroke-dasharray: 8 7;
  stroke-width: 1.5;
  vector-effect: non-scaling-stroke;
}

.xh-collab-canvas-group-label {
  fill: rgba(194, 218, 247, 0.72);
  font: 650 30px/1 var(--xh-c-font);
  letter-spacing: 0.025em;
}

.xh-collab-canvas-connection {
  fill: none;
  stroke: rgba(111, 224, 244, 0.48);
  stroke-linecap: round;
  stroke-width: 1.7;
  vector-effect: non-scaling-stroke;
}

.xh-collab-canvas-node {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  border: max(2px, calc(var(--xh-c-node-font) * 0.07)) solid rgba(156, 196, 245, 0.4);
  border-radius: max(12px, calc(var(--xh-c-node-font) * 0.72));
  color: #f7fbff;
  background: linear-gradient(145deg, rgba(24, 43, 69, 0.98), rgba(12, 24, 43, 0.98));
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.045), 0 14px 28px rgba(0, 0, 0, 0.26);
}

.xh-collab-canvas-node-image {
  border-color: rgba(95, 226, 245, 0.52);
}

.xh-collab-canvas-node-video {
  border-color: rgba(178, 139, 255, 0.58);
}

.xh-collab-canvas-node-text {
  border-color: rgba(119, 170, 237, 0.46);
}

.xh-collab-canvas-node-fallback {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: calc(var(--xh-c-node-font) * 0.35);
  padding: calc(var(--xh-c-node-font) * 0.7);
  text-align: center;
  background:
    radial-gradient(circle at 30% 20%, rgba(105, 226, 245, 0.13), transparent 38%),
    linear-gradient(145deg, rgba(24, 44, 71, 0.96), rgba(11, 21, 38, 0.98));
}

.xh-collab-canvas-node-fallback strong {
  color: rgba(114, 231, 250, 0.84);
  font-size: calc(var(--xh-c-node-font) * 1.15);
  letter-spacing: 0.11em;
}

.xh-collab-canvas-node-fallback span {
  display: -webkit-box;
  overflow: hidden;
  color: rgba(218, 232, 251, 0.72);
  font-size: calc(var(--xh-c-node-font) * 0.72);
  line-height: 1.42;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.xh-collab-share-preview .xh-collab-canvas-node-media {
  position: absolute;
  z-index: 1;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 1;
}

.xh-collab-canvas-node-title {
  position: absolute;
  z-index: 2;
  right: 0;
  bottom: 0;
  left: 0;
  display: grid;
  gap: calc(var(--xh-c-node-font) * 0.12);
  padding: calc(var(--xh-c-node-font) * 0.5) calc(var(--xh-c-node-font) * 0.62);
  background: linear-gradient(transparent, rgba(3, 9, 18, 0.9) 44%);
}

.xh-collab-canvas-node-title span {
  color: #76e8fb;
  font-size: calc(var(--xh-c-node-font) * 0.48);
  font-weight: 750;
  letter-spacing: 0.12em;
}

.xh-collab-canvas-node-title strong {
  overflow: hidden;
  color: #f3f8ff;
  font-size: var(--xh-c-node-font);
  font-weight: 680;
  line-height: 1.18;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.xh-collab-canvas-version {
  position: absolute;
  z-index: 3;
  top: 13px;
  right: 13px;
  padding: 5px 8px;
  border: 1px solid rgba(153, 196, 244, 0.25);
  border-radius: 8px;
  color: #bdd8f6;
  font: 700 10px/1 var(--xh-c-font);
  background: rgba(4, 12, 23, 0.72);
  backdrop-filter: blur(8px);
}

.xh-collab-canvas-empty {
  position: absolute;
  z-index: 1;
  inset: 0;
  display: grid;
  place-content: center;
  gap: 7px;
  padding: 24px;
  color: var(--xh-c-text-muted);
  text-align: center;
}

.xh-collab-canvas-empty strong {
  color: var(--xh-c-text-soft);
  font-size: 14px;
}

.xh-collab-canvas-empty span {
  font-size: 11px;
}

.xh-collab-canvas-tabs {
  display: flex;
  max-width: 100%;
  gap: 8px;
  overflow-x: auto;
  padding: 2px 1px 6px;
  scrollbar-width: thin;
}

.xh-collab-canvas-tab {
  display: grid;
  min-width: 132px;
  max-width: 210px;
  gap: 4px;
  padding: 10px 12px;
  border: 1px solid var(--xh-c-line);
  border-radius: 11px;
  outline: none;
  color: var(--xh-c-text-muted);
  font: inherit;
  text-align: left;
  background: rgba(8, 20, 36, 0.62);
  cursor: pointer;
}

.xh-collab-canvas-tab:hover,
.xh-collab-canvas-tab.is-selected {
  border-color: rgba(108, 233, 255, 0.42);
  color: var(--xh-c-text);
  background: rgba(20, 46, 69, 0.74);
}

.xh-collab-canvas-tab strong,
.xh-collab-canvas-tab span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.xh-collab-canvas-tab strong {
  font-size: 12px;
}

.xh-collab-canvas-tab span {
  font-size: 10px;
}

.xh-collab-share-body {
  display: grid;
  gap: 16px;
  margin-top: 28px;
}

.xh-collab-nodes {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 10px;
}

.xh-collab-node {
  position: relative;
  display: flex;
  align-items: center;
  gap: 11px;
  min-height: 82px;
  padding: 13px;
  border: 1px solid var(--xh-c-line);
  border-radius: 13px;
  background: rgba(11, 24, 42, 0.64);
}

.xh-collab-node > div {
  min-width: 0;
}

.xh-collab-node-thumb {
  position: relative;
  width: 54px;
  height: 54px;
  flex: 0 0 54px;
  border: 1px solid rgba(153, 196, 244, 0.2);
  border-radius: 10px;
  object-fit: cover;
}

.xh-collab-node-more {
  align-items: center;
  justify-content: center;
  color: var(--xh-c-text-muted);
  font-size: 11px;
  line-height: 1.5;
  text-align: center;
}

.xh-collab-node span,
.xh-collab-node strong {
  display: block;
}

.xh-collab-node span {
  color: var(--xh-c-cyan);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.xh-collab-node strong {
  margin-top: 9px;
  color: var(--xh-c-text-soft);
  font-size: 13px;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.xh-collab-gate {
  display: grid;
  width: min(440px, 100%);
  gap: 15px;
  margin: 10vh auto 0;
  padding: 26px;
  border: 1px solid var(--xh-c-line);
  border-radius: 19px;
  background: rgba(14, 26, 45, 0.84);
  box-shadow: var(--xh-c-shadow);
}

.xh-collab-gate h1 {
  margin: 0;
  font-size: 25px;
  letter-spacing: -0.04em;
}

.xh-collab-gate p {
  margin: 0;
  color: var(--xh-c-text-soft);
  font-size: 13px;
  line-height: 1.65;
}

.xh-collab-screen-reader {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Entry shown on logged-in pages; it remains a small, reversible affordance. */
#xh-collaboration-entry {
  position: fixed;
  z-index: 2147483000;
  right: 18px;
  bottom: max(18px, env(safe-area-inset-bottom));
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 38px;
  padding: 9px 13px;
  border: 1px solid rgba(108, 233, 255, 0.3);
  border-radius: 13px;
  color: #d5f8ff;
  font: 650 12px/1.2 var(--xh-c-font);
  background: rgba(9, 22, 38, 0.86);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.28), 0 0 24px rgba(76, 201, 233, 0.08);
  backdrop-filter: blur(14px);
  cursor: pointer;
  transition: background 160ms ease, border-color 160ms ease, transform 160ms ease;
}

#xh-collaboration-entry:hover {
  border-color: rgba(108, 233, 255, 0.68);
  background: rgba(18, 47, 68, 0.94);
  transform: translateY(-2px);
}

.xh-collab-entry-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--xh-c-cyan);
  box-shadow: 0 0 12px var(--xh-c-cyan);
}

@media (max-width: 960px) {
  .xh-collab-layout { grid-template-columns: 1fr; }
  .xh-collab-sidebar { position: static; min-height: auto; }
  .xh-collab-project-list { grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); }
  .xh-collab-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .xh-collab-share-hero { grid-template-columns: 1fr; min-height: auto; padding-top: 50px; }
  .xh-collab-share-preview { min-height: 270px; }
}

@media (max-width: 640px) {
  .xh-collab-app { padding: 16px 12px 32px; }
  .xh-collab-topbar { align-items: flex-start; margin-bottom: 33px; }
  .xh-collab-top-actions .xh-collab-btn:not(.xh-collab-btn-primary) { display: none; }
  .xh-collab-hero { display: block; }
  .xh-collab-hero h1 { font-size: 36px; }
  .xh-collab-hero-note { max-width: none; margin-top: 18px; }
  .xh-collab-stats { gap: 7px; }
  .xh-collab-stat { min-height: 88px; padding: 12px; }
  .xh-collab-stat-value { margin-top: 7px; font-size: 23px; }
  .xh-collab-panel-head { padding: 18px 16px 15px; }
  .xh-collab-panel-body { padding: 18px 14px 22px; }
  .xh-collab-section-grid,
  .xh-collab-form-grid,
  .xh-collab-binding { grid-template-columns: 1fr; }
  .xh-collab-field-full { grid-column: auto; }
  .xh-collab-member-line,
  .xh-collab-share-line { align-items: flex-start; flex-direction: column; }
  .xh-collab-member-tools,
  .xh-collab-share-tools { justify-content: flex-start; width: 100%; }
  .xh-collab-member-tools .xh-collab-select { flex: 1; width: auto; }
  .xh-collab-audit-line { flex-direction: column; }
  .xh-collab-audit-details { max-width: none; width: 100%; }
  .xh-collab-share-page { padding: 18px 14px 38px; }
  .xh-collab-share-hero { padding-top: 31px; }
  .xh-collab-share-hero h1 { font-size: 40px; }
  .xh-collab-share-preview { min-height: 220px; }
  #xh-collaboration-entry { right: 10px; bottom: max(10px, env(safe-area-inset-bottom)); }
}

@media (prefers-reduced-motion: reduce) {
  #xh-collaboration-root *,
  #xh-collaboration-root *::before,
  #xh-collaboration-root *::after,
  #xh-collaboration-entry {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}

/* script-studio-design-20260926.css */
/* Scoped visual layer for the live ScriptCenter; preserves its current runtime. */
html:has(.script-center-page) {
  --studio-bg: #101116;
  --studio-panel: #191a22;
  --studio-border: #2b2d39;
  --studio-text: #ececf4;
  --studio-muted: #9c9eaf;
  --studio-accent: #b4a3ff;
}
html:has(.script-center-page) body,
html:has(.script-center-page) #root,
html:has(.script-center-page) #root > div:has(.script-center-page) {
  background: var(--studio-bg) !important;
  color: var(--studio-text) !important;
}
html:has(.script-center-page) main:has(> .script-center-page) {
  max-width: 1392px !important;
  padding: 36px 40px 80px !important;
}
html body .script-center-page.script-center-page {
  font-family: Inter, "Microsoft YaHei UI", "PingFang SC", sans-serif !important;
  color: var(--studio-text) !important;
  --studio-coral: #b4a3ff;
  --studio-coral-dark: #9580e9;
  --studio-line: #2b2d39;
}
html body .script-center-page.script-center-page :is(h1,h2,h3,button,input,textarea,select) {
  font-family: inherit !important;
}
html body .script-center-page.script-center-page :is(h1,h2,h3) { color: var(--studio-text) !important; letter-spacing: -.035em; }
html body .script-center-page.script-center-page h2 { font-size: 18px !important; font-weight: 600 !important; }
html body .script-center-page.script-center-page button {
  border-radius: 12px !important;
  cursor: pointer;
  font-weight: 500;
  transition: background .18s, border-color .18s, transform .18s;
}
html body .script-center-page.script-center-page button:focus-visible { outline: 2px solid #c5b8ff !important; outline-offset: 4px; }
html body .script-center-page.script-center-page :is(input,select,textarea) {
  background: #14151d !important;
  color: var(--studio-text) !important;
  border: 1px solid var(--studio-border) !important;
  border-radius: 12px !important;
  box-shadow: none !important;
}
html body .script-center-page.script-center-page .script-center-toolbar {
  padding: 0 0 24px !important;
  margin-bottom: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none;
}
html body .script-center-page.script-center-page .script-center-toolbar > div:first-child { min-width: 220px; max-width: 360px; }
html body .script-center-page.script-center-page .script-center-toolbar select { height: 46px; padding-left: 42px; font-size: 14px; }
html body .script-center-page.script-center-page .script-center-toolbar > div:last-child > button {
  background: #22232e !important; color: #dddde8 !important; border: 1px solid #343543 !important; box-shadow: none !important; height: 44px;
}
html body .script-center-page.script-center-page .script-center-toolbar > div:last-child > button:first-child {
  background: #b4a3ff !important; color: #201a38 !important; border-color: #b4a3ff !important;
}
html body .script-center-page.script-center-page .script-center-workspace { display: flex !important; flex-direction: column; gap: 28px !important; }
html body .script-center-page.script-center-page .script-center-sidebar {
  position: static !important; display: flex !important; width: 100%; align-items: center;
  gap: 6px; padding: 0 0 18px !important; overflow-x: auto;
  border: 0 !important; border-bottom: 1px solid var(--studio-border) !important;
  background: transparent !important; box-shadow: none !important; border-radius: 0 !important;
}
html body .script-center-page.script-center-page .script-center-sidebar > div { display: none; }
html body .script-center-page.script-center-page .script-center-sidebar > button {
  width: auto !important; min-width: max-content; min-height: 40px; padding: 10px 15px !important;
  background: transparent !important; color: var(--studio-muted) !important; border: 0 !important; gap: 8px !important;
  font-size: 13px !important; box-shadow: none !important;
}
html body .script-center-page.script-center-page .script-center-sidebar > button[class~="bg-[#6977f8]"] {
  background: #292536 !important; color: #d7ccff !important;
}
html body .script-center-page.script-center-page .script-center-sidebar > button:hover { background: #22232e !important; color: #fff !important; }
html body .script-center-page.script-center-page .script-center-sidebar > button:last-child { display: none; }
html body .script-center-page.script-center-page .script-center-content { width: 100%; }
html body .script-center-page.script-center-page .script-center-hero {
  padding: 44px 44px 0 !important; min-height: 300px;
  border: 1px solid #383448 !important; border-radius: 24px !important;
  background: radial-gradient(ellipse at 94% 0%, #39304f 0%, transparent 58%), linear-gradient(120deg,#22212d,#1c1d26) !important;
  box-shadow: 0 22px 60px #00000018 !important;
}
html body .script-center-page.script-center-page .script-center-hero::after { display: none; }
html body .script-center-page.script-center-page .script-center-hero > div:first-child { align-items: center !important; }
html body .script-center-page.script-center-page .script-center-hero > div:first-child > div { flex: 1; min-width: 0; }
html body .script-center-page.script-center-page .script-center-hero h1 { font-size: clamp(32px,3.5vw,46px) !important; font-weight: 650 !important; margin: 16px 0 14px; line-height: 1.2; }
html body .script-center-page.script-center-page .script-center-hero p {
  max-width: 760px; font-size: 14px !important; line-height: 1.9 !important; color: #adaaba !important;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
html body .script-center-page.script-center-page .script-center-hero > div:first-child > div > span {
  background: transparent !important; color: #b5a6e2 !important; padding: 0 !important; font-size: 10px !important; font-weight: 600; letter-spacing: .24em;
}
html body .script-center-page.script-center-page .script-center-hero > div:first-child > button {
  background: #eee8ff !important; color: #32274c !important; border: 0 !important;
  padding: 15px 22px !important; box-shadow: 0 8px 30px #00000015 !important;
}
html body .script-center-page.script-center-page .script-center-hero > div:last-child { grid-template-columns: repeat(4,minmax(0,1fr)) !important; gap: 0 !important; margin-top: 36px !important; border-top: 1px solid #ffffff12; }
html body .script-center-page.script-center-page .script-center-stat {
  border: 0 !important; border-right: 1px solid #ffffff0b !important; border-radius: 0 !important;
  padding: 24px 28px !important; background: transparent !important; box-shadow: none !important;
}
html body .script-center-page.script-center-page .script-center-stat:first-child { padding-left: 0 !important; }
html body .script-center-page.script-center-page .script-center-stat:last-child { border-right: 0 !important; }
html body .script-center-page.script-center-page .script-center-stat span { color: #aaa6b8 !important; font-size: 12px; }
html body .script-center-page.script-center-page .script-center-stat svg { color: #9a8db6 !important; width: 16px; }
html body .script-center-page.script-center-page .script-center-stat strong { font-size: 27px; margin-top: 10px; font-weight: 500; }
html body .script-center-page.script-center-page .script-center-stat small { color: #888496 !important; margin-left: 8px; }
html body .script-center-page.script-center-page .script-center-content > div:has(> .script-center-hero) > div:last-child { grid-template-columns: 1fr 1fr !important; margin-top: 28px !important; gap: 24px !important; }
html body .script-center-page.script-center-page .script-center-content > div:has(> .script-center-hero) > div:last-child > div {
  background: #191a22 !important; border: 1px solid #2b2d39 !important; border-radius: 20px !important; padding: 26px !important;
}
html body .script-center-page.script-center-page .script-center-content > div:has(> .script-center-hero) > div:last-child > div:last-child { order: -1; }
html body .script-center-page.script-center-page .script-center-content > div:has(> .script-center-hero) > div:last-child button {
  background: #20212b !important; color: #d8d8e5 !important; border: 1px solid #2c2d3a !important; padding: 16px !important;
}
html body .script-center-page.script-center-page .script-center-content > div:has(> .script-center-hero) > div:last-child button:hover { background: #2a2838 !important; border-color: #61537e !important; transform: translateY(-2px); }
html body .script-center-page.script-center-page .script-center-content > div:has(> .script-center-hero) > div:last-child small { color: #9292a5 !important; font-size: 11px; display: block; margin-top: 6px; }
html body .script-center-page.script-center-page .script-center-content > div:has(> .script-center-hero) > div:last-child strong { font-weight: 500 !important; }
html body .script-center-page.script-center-page .script-center-content > div:has(> .script-center-hero) > div:last-child button > span:first-child:has(svg) { background: #2c293b !important; color: #b5a6e2 !important; }
html body .script-center-page.script-center-page .script-center-content > div:not(:has(> .script-center-hero)) { color: var(--studio-text); }
html body .script-center-page.script-center-page .script-center-content > div:not(:has(> .script-center-hero)) [class*="border"] { border-color: var(--studio-border) !important; }
html body .script-center-page.script-center-page .script-center-content > div:not(:has(> .script-center-hero)) [class*="bg-white"] { background-color: var(--studio-panel) !important; }
@media (max-width: 800px) {
  html:has(.script-center-page) main:has(> .script-center-page) { padding: 20px 16px 50px !important; }
  html body .script-center-page.script-center-page .script-center-hero { padding: 28px 24px 0 !important; }
  html body .script-center-page.script-center-page .script-center-hero > div:first-child { flex-direction: column; align-items: flex-start !important; }
  html body .script-center-page.script-center-page .script-center-stat { padding: 18px 12px !important; }
  html body .script-center-page.script-center-page .script-center-stat svg { display: none; }
  html body .script-center-page.script-center-page .script-center-content > div:has(> .script-center-hero) > div:last-child { grid-template-columns: 1fr !important; }
}
@media (prefers-reduced-motion: reduce) { html body .script-center-page.script-center-page * { animation: none !important; transition: none !important; } }

/* feature-menu-readable-20260926.css */
/* Shared feature directory: readable typography and distinct clickable cards. */
html.gx-ui body .gx-more-panel {
  width: min(1080px, calc(100vw - 48px)) !important;
  padding: 24px !important;
  gap: 20px !important;
  background: #15171b !important;
  border: 1px solid #4b5059 !important;
  border-radius: 16px !important;
  box-shadow: 0 24px 70px #000b, 0 0 0 1px #ffffff06 inset !important;
  max-height: calc(100dvh - 82px);
  overflow-y: auto;
  color: #f4f5f7 !important;
  font-family: Inter, "Microsoft YaHei UI", "PingFang SC", sans-serif !important;
  text-shadow: none !important;
  opacity: 1 !important;
}
html.gx-ui body .gx-more-panel section { padding: 0 !important; background: transparent !important; min-width: 0; }
html.gx-ui body .gx-more-panel section > small {
  margin: 0 0 14px 2px !important;
  color: #b9c6d8 !important;
  font-size: 13px !important;
  line-height: 20px !important;
  font-weight: 650 !important;
  letter-spacing: .08em !important;
}
html.gx-ui body .gx-more-panel a {
  display: flex !important;
  min-height: 72px !important;
  padding: 12px 14px !important;
  margin-bottom: 8px !important;
  border: 1px solid #363b44 !important;
  border-radius: 10px !important;
  background: #202329 !important;
  color: #f4f5f7 !important;
  text-decoration: none !important;
  transition: background .15s, border-color .15s !important;
}
html.gx-ui body .gx-more-panel a:last-child { margin-bottom: 0 !important; }
html.gx-ui body .gx-more-panel a b {
  font-size: 15px !important;
  line-height: 23px !important;
  font-weight: 650 !important;
  color: #f4f5f7 !important;
  letter-spacing: 0 !important;
}
html.gx-ui body .gx-more-panel a span {
  margin-top: 4px !important;
  font-size: 12px !important;
  line-height: 19px !important;
  font-weight: 400 !important;
  color: #b9bdc7 !important;
  white-space: normal !important;
}
html.gx-ui body .gx-more-panel a:hover,
html.gx-ui body .gx-more-panel a:focus-visible {
  background: #2e3340 !important;
  border-color: #aaa2d9 !important;
  color: #fff !important;
}
html.gx-ui body .gx-more-panel a:focus-visible { outline: 2px solid #c1b8fa !important; outline-offset: 2px; }
html.gx-ui body .gx-more-menu > summary {
  font-size: 14px;
  color: #e1e4eb !important;
  font-weight: 600;
}
@media (max-width: 820px) {
  html.gx-ui body .gx-more-panel,
  html.gx-ui body .gx-interior-menu .gx-more-panel {
    position: fixed !important; top: 64px !important; left: 12px !important; right: 12px !important;
    width: auto !important; transform: none !important;
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    padding: 18px !important; gap: 20px 12px !important;
    max-height: calc(100dvh - 82px) !important;
  }
}
@media (max-width: 420px) {
  html.gx-ui body .gx-more-panel a { padding: 10px !important; }
  html.gx-ui body .gx-more-panel a b { font-size: 14px !important; }
}

/* team-workspace-20260926a.css */
.xh-team { --team-bg:#101319; --team-panel:#181d25; --team-line:#303946; --team-text:#ebeff5; --team-muted:#9ba8b9; --team-accent:#78a9ed; position:fixed; inset:0; z-index:1000; overflow:auto; color:var(--team-text); background:var(--team-bg); font:14px/1.5 system-ui,"Microsoft YaHei",sans-serif; color-scheme:dark; }
.xh-team * { box-sizing:border-box; }
.xh-team main { width:min(100%,1800px); margin:auto; padding:24px clamp(16px,3vw,48px); }
.xh-team header,.xh-team .toolbar,.xh-team .row { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.xh-team header { padding-bottom:20px; border-bottom:1px solid var(--team-line); }
.xh-team h1 { margin:0; font-size:24px; }.xh-team h2 { margin:0; font-size:18px; }.xh-team p { margin:6px 0; color:var(--team-muted); }
.xh-team button,.xh-team .button,.xh-team select,.xh-team input { min-height:38px; padding:8px 12px; color:var(--team-text); background:#202732; border:1px solid var(--team-line); border-radius:8px; font:inherit; text-decoration:none; }
.xh-team button,.xh-team .button { cursor:pointer; white-space:nowrap; }.xh-team button:hover { border-color:var(--team-accent); }.xh-team button:disabled { opacity:.45; cursor:not-allowed; }
.xh-team .primary { color:#101927; background:var(--team-accent); border-color:var(--team-accent); }.xh-team :focus-visible { outline:2px solid var(--team-accent); outline-offset:3px; }
.xh-team nav { display:flex; gap:8px; margin:20px 0; overflow-x:auto; }.xh-team nav button { border-color:transparent; background:transparent; }.xh-team nav button[aria-selected="true"] { border-color:var(--team-line); background:#25344b; color:#abcaff; }
.xh-team .toolbar { margin:18px 0; }.xh-team .grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr)); gap:16px; }.xh-team .card { background:var(--team-panel); border:1px solid var(--team-line); padding:20px; border-radius:12px; min-width:0; }.xh-team .card h2 { overflow-wrap:anywhere; }
.xh-team .empty { padding:64px 20px; text-align:center; background:var(--team-panel); border:1px dashed var(--team-line); border-radius:12px; }.xh-team .stack { display:grid; gap:16px; }.xh-team .muted { color:var(--team-muted); }.xh-team .notice { color:#e9ba7f; padding:12px; border:1px solid #725c3b; border-radius:8px; margin:12px 0; }
.xh-team .table-wrap { overflow:auto; }.xh-team table { border-collapse:collapse; width:100%; }.xh-team th,.xh-team td { padding:14px 12px; text-align:left; border-bottom:1px solid var(--team-line); white-space:nowrap; }.xh-team th { color:var(--team-muted); font-weight:500; }.xh-team .amount { font-size:28px; font-variant-numeric:tabular-nums; }
.xh-team dialog { color:var(--team-text); background:var(--team-panel); border:1px solid var(--team-line); border-radius:14px; padding:24px; width:min(520px,calc(100vw - 32px)); max-height:90dvh; overflow:auto; }.xh-team dialog::backdrop { background:#000a; }.xh-team form { display:grid; gap:16px; }.xh-team label { display:grid; gap:6px; }.xh-team .check { display:flex; gap:8px; align-items:center; }.xh-team input[type="checkbox"] { min-height:unset; accent-color:var(--team-accent); }.xh-team pre { white-space:pre-wrap; overflow-wrap:anywhere; font:inherit; max-height:50vh; overflow:auto; }.xh-team .actions { display:flex; justify-content:flex-end; gap:8px; }.xh-team .error { color:#ffc3b8; }.xh-team .asset-preview { width:100%; aspect-ratio:4/3; object-fit:contain; background:#101319; border-radius:8px; }.xh-team .toast { position:fixed; bottom:24px; left:50%; transform:translateX(-50%); background:#263246; border:1px solid var(--team-line); padding:12px 20px; border-radius:10px; max-width:calc(100vw - 32px); z-index:1200; }
@media(max-width:700px) { .xh-team main { padding:16px; }.xh-team h1 { font-size:20px; }.xh-team header { align-items:flex-start; }.xh-team .toolbar select { width:100%; }.xh-team .card { padding:16px; }.xh-team td,.xh-team th { padding:10px 8px; }.xh-team .amount { font-size:24px; } }
.xh-team [hidden] { display: none !important; }
.xh-team dialog.publication[open] { display: grid; gap: 12px; }
.xh-team fieldset { min-width:0; max-height:220px; overflow:auto; border:1px solid var(--team-line); border-radius:8px; }
/* The shared site theme contains broad heading/toolbar rules. Keep this
   workspace compact and sans-serif under the real production stylesheets. */
body .xh-team h1,body .xh-team h2,body .xh-team h3 { font-family:system-ui,"Microsoft YaHei",sans-serif !important; line-height:1.5 !important; letter-spacing:normal !important; }
body .xh-team h1 { font-size:24px !important; }
body .xh-team h2 { font-size:18px !important; }
body .xh-team .toolbar { background:transparent !important; border:0 !important; box-shadow:none !important; padding:0 !important; min-height:0 !important; }
body .xh-team header { position:static !important; min-height:0 !important; }
body .xh-team .stack { gap:12px; align-content:start; }
body .xh-team .card p { margin:0; }
body:has(.xh-team) #xh-collaboration-entry { display:none !important; }
@media(max-width:700px) { body .xh-team h1 { font-size:20px !important; } }

/* team-canvas-ui-20260926a.css */
.xh-team-canvas-bar{position:fixed;top:78px;right:20px;z-index:90;display:flex;align-items:center;gap:12px;padding:8px 12px;border:1px solid #354154;background:#1a2230f5;color:#dce6f5;border-radius:10px;font:13px/1.4 system-ui,"Microsoft YaHei",sans-serif;box-shadow:0 4px 20px #0003}.xh-team-canvas-bar span[role=status]{color:#a7b8ce}.xh-team-canvas-bar button,.xh-team-canvas-bar a{background:#253349;color:#bcd7ff;border:1px solid #3b4f6b;border-radius:6px;padding:5px 9px;text-decoration:none;cursor:pointer}.xh-team-canvas-bar[data-state=conflict]{border-color:#ad9158}.xh-team-canvas-bar[data-state=revoked]{border-color:#ae736e}
.xh-team-conflict{background:#181e28;color:#e4ebf5;border:1px solid #39465b;border-radius:14px;padding:24px;width:min(760px,calc(100vw - 32px));max-height:88dvh;overflow:auto;font:14px/1.5 system-ui,"Microsoft YaHei",sans-serif;color-scheme:dark}.xh-team-conflict::backdrop{background:#000a}.xh-team-conflict h2{font-size:20px;margin:0 0 8px}.xh-team-conflict p{color:#aab8cc}.xh-team-conflict fieldset{border:1px solid #384455;border-radius:8px;margin:16px 0;display:grid;grid-template-columns:1fr 1fr;gap:12px}.xh-team-conflict legend{padding:0 8px;overflow-wrap:anywhere}.xh-team-conflict label{min-width:0;padding:10px;border:1px solid #303d51;border-radius:8px;cursor:pointer}.xh-team-conflict pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:190px;overflow:auto;font:inherit}.xh-team-conflict input{margin-right:8px;accent-color:#85b6fa}.xh-team-conflict footer{display:flex;gap:12px;justify-content:flex-end}.xh-team-conflict button{color:#e5edf8;background:#253349;border:1px solid #435876;padding:9px 12px;border-radius:8px;cursor:pointer}.xh-team-conflict button[type=submit]{color:#112037;background:#85b6fa}.xh-team-conflict :focus-visible{outline:2px solid #8bbcff;outline-offset:2px}
@media(max-width:600px){.xh-team-canvas-bar{top:64px;right:8px;left:8px;gap:8px;justify-content:space-between;font-size:11px}.xh-team-conflict{padding:16px}.xh-team-conflict fieldset{grid-template-columns:1fr}.xh-team-conflict footer{flex-wrap:wrap}}

/* ui-readability-20260929z.css */
/* Shared theme corrections: keep text/background as a pair. In particular,
   legacy [class*="bg-white/"] rules also match hover:bg-white/90 and used to
   turn white primary actions black without changing their black text. */
html.gx-ui {
  --gx-muted: #adb3ad;
  --gx-faint: #a0a8a0;
  --xh-muted: #adb3ad;
  --mh-night-muted: #adb3ad;
}
html.gx-ui.gx-light {
  --gx-muted: #555d55;
  --gx-faint: #596159;
  --xh-muted: #555d55;
  --mh-night-muted: #555d55;
}
html:root body :is(button,a,[role="button"])[class~="bg-white"] {
  background: #f1f3f5 !important;
  color: #17212b !important;
  -webkit-text-fill-color: #17212b !important;
  border-color: #bcc6d0 !important;
}
html:root body :is(button,a,[role="button"])[class~="bg-white"]:hover:not(:disabled) {
  background: #dce5ed !important;
}
html:root body :is(button,a,[role="button"])[class~="bg-white"] :is(span,svg) {
  color: inherit !important;
  -webkit-text-fill-color: inherit !important;
}
/* Explicitly paired neutral buttons, including disabled actions: readable
   does not mean enabled. Preserve disabled attributes and pointer behavior. */
html:root body :is(button,a,[role="button"])[class~="bg-white"]:disabled {
  background: #c9d1d9 !important;
  color: #3c4650 !important;
  -webkit-text-fill-color: #3c4650 !important;
  opacity: .8 !important;
}
html.gx-ui:not(.gx-light) :is([class~="text-content-muted"],[class~="text-gray-500"],[class~="text-slate-500"]) {
  color: #adb3bd;
}
html.gx-ui:not(.gx-light) :is(input,textarea)::placeholder { color: #a7b0bb !important; opacity: 1; }
html.gx-ui.gx-light :is(input,textarea)::placeholder { color: #596471 !important; opacity: 1; }
/* This panel ships with right-[8px] but that utility is absent in the
   shared CSS bundle. Avoid its static-position fallback and 0.68 text scale. */
html:root .mh-infinite-canvas-ui > div[class~="origin-top-right"][class~="w-[520px]"] {
  position: fixed !important;
  left: auto !important;
  right: 16px !important;
  top: 64px !important;
  bottom: auto !important;
  width: min(360px, calc(100vw - 24px)) !important;
  max-height: calc(100dvh - 80px) !important;
  transform: none !important;
  padding: 16px !important;
  border-radius: 14px !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
  font-size: 14px !important;
  line-height: 1.5 !important;
  background: #141b24 !important;
  color: #f1f4f8 !important;
}
html:root.gx-light .mh-infinite-canvas-ui > div[class~="origin-top-right"][class~="w-[520px]"] {
  background: #f7f9fc !important;
  color: #182431 !important;
}
html:root.gx-light .mh-infinite-canvas-ui > div[class~="origin-top-right"][class~="w-[520px]"] :is([class~="text-white"],[class~="text-white/56"],[class~="text-white/60"]) {
  color: #182431 !important;
}
html:root .mh-infinite-canvas-ui > div[class~="origin-top-right"][class~="w-[520px]"] :is(button,[role="switch"],span,p) {
  font-size: 14px;
}
html:root .mh-infinite-canvas-ui > div[class~="origin-top-right"][class~="w-[520px]"] button {
  font-size: 14px !important;
  line-height: 1.5 !important;
}
html:root .mh-infinite-canvas-ui > div[class~="origin-top-right"][class~="w-[520px]"] [class~="h-[54px]"] {
  height: 42px !important;
  font-size: 15px !important;
}
html:root .mh-infinite-canvas-ui > div[class~="origin-top-right"][class~="w-[520px]"] [class~="mt-6"] { margin-top: 14px !important; }
@media (max-width: 600px) {
  html:root .mh-infinite-canvas-ui > div[class~="origin-top-right"][class~="w-[520px]"] { right: 12px !important; }
}

/* ui-readability-20260929z2.css */
/* Shared theme corrections: keep text/background as a pair. In particular,
   legacy [class*="bg-white/"] rules also match hover:bg-white/90 and used to
   turn white primary actions black without changing their black text. */
html.gx-ui {
  --gx-muted: #adb3ad;
  --gx-faint: #a0a8a0;
  --xh-muted: #adb3ad;
  --mh-night-muted: #adb3ad;
}
html.gx-ui.gx-light {
  --gx-muted: #555d55;
  --gx-faint: #596159;
  --xh-muted: #555d55;
  --mh-night-muted: #555d55;
}
html:root body :is(button,a,[role="button"])[class~="bg-white"] {
  background: #f1f3f5 !important;
  color: #17212b !important;
  -webkit-text-fill-color: #17212b !important;
  border-color: #bcc6d0 !important;
}
html:root body :is(button,a,[role="button"])[class~="bg-white"]:hover:not(:disabled) {
  background: #dce5ed !important;
}
html:root body :is(button,a,[role="button"])[class~="bg-white"] :is(span,svg) {
  color: inherit !important;
  -webkit-text-fill-color: inherit !important;
}
/* Explicitly paired neutral buttons, including disabled actions: readable
   does not mean enabled. Preserve disabled attributes and pointer behavior. */
html:root body :is(button,a,[role="button"])[class~="bg-white"]:disabled {
  background: #c9d1d9 !important;
  color: #3c4650 !important;
  -webkit-text-fill-color: #3c4650 !important;
  opacity: .8 !important;
}
html.gx-ui:not(.gx-light) :is([class~="text-content-muted"],[class~="text-gray-500"],[class~="text-slate-500"]) {
  color: #adb3bd;
}
html.gx-ui:not(.gx-light) :is(input,textarea)::placeholder { color: #a7b0bb !important; opacity: 1; }
html.gx-ui.gx-light :is(input,textarea)::placeholder { color: #596471 !important; opacity: 1; }
/* This panel ships with right-[8px] but that utility is absent in the
   shared CSS bundle. Avoid its static-position fallback and 0.68 text scale. */
html:root .mh-infinite-canvas-ui > div[class~="origin-top-right"][class~="w-[520px]"] {
  position: fixed !important;
  left: auto !important;
  right: 16px !important;
  top: 64px !important;
  bottom: auto !important;
  width: min(360px, calc(100vw - 24px)) !important;
  max-height: calc(100dvh - 80px) !important;
  transform: none !important;
  padding: 16px !important;
  border-radius: 14px !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
  font-size: 14px !important;
  line-height: 1.5 !important;
  background: #141b24 !important;
  color: #f1f4f8 !important;
}
html:root.gx-light .mh-infinite-canvas-ui > div[class~="origin-top-right"][class~="w-[520px]"] {
  background: #f7f9fc !important;
  color: #182431 !important;
}
html:root.gx-light .mh-infinite-canvas-ui > div[class~="origin-top-right"][class~="w-[520px]"] :is([class~="text-white"],[class~="text-white/56"],[class~="text-white/60"]) {
  color: #182431 !important;
}
html:root .mh-infinite-canvas-ui > div[class~="origin-top-right"][class~="w-[520px]"] :is(button,[role="switch"],span,p) {
  font-size: 14px;
}
html:root .mh-infinite-canvas-ui > div[class~="origin-top-right"][class~="w-[520px]"] button {
  font-size: 14px !important;
  line-height: 1.5 !important;
}
html:root .mh-infinite-canvas-ui > div[class~="origin-top-right"][class~="w-[520px]"] [class~="h-[54px]"] {
  height: 42px !important;
  font-size: 15px !important;
}
html:root .mh-infinite-canvas-ui > div[class~="origin-top-right"][class~="w-[520px]"] [class~="mt-6"] { margin-top: 14px !important; }
@media (max-width: 600px) {
  html:root .mh-infinite-canvas-ui > div[class~="origin-top-right"][class~="w-[520px]"] { right: 12px !important; }
}
/* Compact the original 520px card layout without shrinking its text. */
html:root .mh-infinite-canvas-ui > div[class~="origin-top-right"][class~="w-[520px]"] > div:not(:last-child) { margin-top: 10px !important; }
html:root .mh-infinite-canvas-ui > div[class~="origin-top-right"][class~="w-[520px]"] > div:first-child { padding: 12px !important; margin-top: 0 !important; }
html:root .mh-infinite-canvas-ui > div[class~="origin-top-right"][class~="w-[520px]"] > div:first-child > div { flex-wrap: wrap; gap: 8px; }
html:root .mh-infinite-canvas-ui > div[class~="origin-top-right"][class~="w-[520px]"] > div:first-child button { white-space: nowrap; }
html:root .mh-infinite-canvas-ui > div[class~="origin-top-right"][class~="w-[520px]"] [class~="h-14"][class~="w-14"] { width: 40px; height: 40px; flex-shrink: 0; }
html:root .mh-infinite-canvas-ui > div[class~="origin-top-right"][class~="w-[520px]"] [class~="px-5"] { padding-left: 12px !important; padding-right: 12px !important; }
html:root .mh-infinite-canvas-ui > div[class~="origin-top-right"][class~="w-[520px]"] [class~="h-[72px]"] { height: 48px !important; }
html:root .mh-infinite-canvas-ui > div[class~="origin-top-right"][class~="w-[520px]"] [class~="h-[50px]"] { height: auto !important; min-height: 48px; gap: 8px; padding-top: 8px; padding-bottom: 8px; }
html:root .mh-infinite-canvas-ui > div[class~="origin-top-right"][class~="w-[520px]"] [class~="h-[50px]"] button { flex-shrink: 0; white-space: nowrap; }
html:root .mh-infinite-canvas-ui > div[class~="origin-top-right"][class~="w-[520px]"] > div:nth-child(3) > div:first-child { flex-wrap: wrap; gap: 8px; }
html:root .mh-infinite-canvas-ui > div[class~="origin-top-right"][class~="w-[520px]"] > div:nth-child(3) button { white-space: nowrap; }

/* canvas-generation-border-20260930ak.css */
/* Preserve the original surface and canvas colors; separate surfaces with borders only. */
@property --xh-generation-angle { syntax: '<angle>'; initial-value: 0deg; inherits: false; }
@keyframes xh-generation-orbit { to { --xh-generation-angle: 360deg; } }
[data-project-theme="dark"] [data-prompt-surface] {
  border-color: #747c87 !important;
}
[data-node-card][data-generation-empty="true"]::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 39;
  border-radius: inherit;
  border: 1px solid #89939e;
  pointer-events: none;
}
[data-node-card][data-generation-active="true"]::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 40;
  border-radius: inherit;
  padding: 2.5px;
  background: conic-gradient(from var(--xh-generation-angle), #27839955 0deg, #27839955 80deg, #32d6ff 125deg, #ffffff 150deg, #32d6ff 162deg, #27839955 180deg, #27839955 260deg, #32d6ff 305deg, #ffffff 330deg, #32d6ff 342deg, #27839955 360deg);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
  filter: drop-shadow(0 0 2px #4addff);
  animation: xh-generation-orbit 1.8s linear infinite;
}
@media(prefers-reduced-motion: reduce) {
  [data-node-card][data-generation-active="true"]::after { animation: none; }
}

/* task-center-20260930al.css */
#xh-task-center{position:fixed;inset:0;z-index:10000;overflow:auto;background:#0d1117;color:#e7edf5;font:15px/1.65 Inter,"Microsoft YaHei",sans-serif;color-scheme:dark}#xh-task-center *{box-sizing:border-box}#xh-task-center header{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:18px 3%;background:#111821f5;border-bottom:1px solid #2d3948}#xh-task-center header>div{display:flex;align-items:center;gap:12px}#xh-task-center .logo{display:grid;place-items:center;width:38px;height:38px;background:#68e3cc;color:#0b2120;border-radius:12px;font-size:26px}#xh-task-center .brand{font-size:19px;font-weight:700}#xh-task-center main{width:94%;max-width:1720px;margin:28px auto 48px}#xh-task-center h1{font-size:28px;margin:0}#xh-task-center h3{font-size:17px;margin:14px 0 8px}#xh-task-center p{margin:8px 0}#xh-task-center .heading{display:flex;justify-content:space-between;gap:15px;align-items:center}#xh-task-center button,#xh-task-center a{font:inherit;color:#dbe8f7}#xh-task-center button{cursor:pointer;border:1px solid #425369;border-radius:8px;background:#1a2635;padding:8px 14px}#xh-task-center button:hover{background:#263950}#xh-task-center button:disabled{opacity:.45;cursor:default}#xh-task-center button.primary,#xh-task-center .tabs button[aria-pressed=true]{background:#68e3cc;border-color:#68e3cc;color:#08211c;font-weight:700}#xh-task-center a{color:#81dce9;text-decoration:none}#xh-task-center a:hover{text-decoration:underline}#xh-task-center .tabs{display:flex;gap:12px;margin:22px 0}#xh-task-center .intro,#xh-task-center .muted{color:#aebed0}#xh-task-center .notice{min-height:24px;color:#82dec7}#xh-task-center .error{color:#ffacac}#xh-task-center .filters{display:flex;gap:16px;align-items:end;flex-wrap:wrap;margin:20px 0}#xh-task-center label{display:flex;flex-direction:column;gap:5px;color:#bfccda}#xh-task-center select,#xh-task-center input{font:inherit;background:#141f2c;color:#f0f4f9;border:1px solid #435269;padding:10px;border-radius:8px;min-width:180px}#xh-task-center .search{display:flex;gap:8px;flex:1}#xh-task-center .search input{width:100%}#xh-task-center .stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:24px 0}#xh-task-center .stats>div{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;background:#141e2b;border:1px solid #304155;border-radius:12px;color:#bbcbde}#xh-task-center .stats strong{color:#f3f8ff;font-size:28px}#xh-task-center .task-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}#xh-task-center .task-card{padding:20px;background:#151f2c;border:1px solid #344459;border-radius:13px;min-width:0}#xh-task-center .card-top{display:flex;justify-content:space-between;gap:12px}#xh-task-center .module{color:#a8c9e2}#xh-task-center .badge{padding:2px 10px;border-radius:20px;background:#2b384b;color:#cfdeee;font-size:13px}#xh-task-center .badge.success{background:#123c32;color:#85e7c7}#xh-task-center .badge.failed{background:#42242c;color:#ffb0bb}#xh-task-center .badge.processing{background:#183955;color:#8ad8ff}#xh-task-center code{display:block;color:#9cb0c7;font-size:12px;overflow-wrap:anywhere}#xh-task-center .stage{color:#8bd9df}#xh-task-center .actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:18px}#xh-task-center .pagination{display:flex;gap:18px;align-items:center;justify-content:center;margin-top:28px}#xh-task-center .empty{padding:50px;text-align:center;color:#bac9d9;background:#141d29;border-radius:12px}#xh-task-center dialog{width:min(820px,94vw);max-height:85vh;overflow:auto;background:#172232;color:#e8f1fb;border:1px solid #56677d;border-radius:14px;padding:28px}#xh-task-center dialog::backdrop{background:#0009}#xh-task-center .prompt{white-space:pre-wrap;overflow-wrap:anywhere;max-height:300px;overflow:auto;padding:16px;background:#101822;border-radius:8px;font:14px/1.8 "Microsoft YaHei",sans-serif}#xh-task-center :focus-visible{outline:2px solid #79edda;outline-offset:3px}@media(max-width:1100px){#xh-task-center .task-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){#xh-task-center .task-grid{grid-template-columns:1fr}#xh-task-center .stats{grid-template-columns:repeat(2,1fr)}#xh-task-center .brand{font-size:15px}#xh-task-center h1{font-size:23px}#xh-task-center .heading{align-items:start}#xh-task-center .search{flex-basis:100%}#xh-task-center select{min-width:140px}#xh-task-center .stats>div{padding:12px}#xh-task-center .stats strong{font-size:23px}}
#xh-task-center .search input{width:auto;min-width:0;flex:1}#xh-task-center .search button{flex:none;white-space:nowrap}

/* canvas-template-library-20261001as2.css */
/* Additive compact template dialog. Canvas design and page sizing are untouched. */
#xh-template-library{position:fixed;inset:0;z-index:110000;font:13px/1.55 "Microsoft YaHei",sans-serif;color:#eee}
#xh-template-library *{box-sizing:border-box}
#xh-template-library .xh-tpl-backdrop{position:absolute;inset:0;background:#000a;backdrop-filter:none!important}
#xh-template-library >section{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(1100px,calc(100vw - 48px));height:min(700px,calc(100dvh - 48px));display:flex;flex-direction:column;background:#19191b!important;border:1px solid #39393d;border-radius:14px;box-shadow:0 20px 70px #0006;overflow:hidden;color:#ececef}
#xh-template-library header{padding:14px 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #333338;background:#202023!important;flex:none}
#xh-template-library h2{font-size:18px;margin:0}#xh-template-library h3{font-size:18px;margin:16px 0 8px}
#xh-template-library p{margin:5px 0;color:#b8b8c2}#xh-template-library header p{font-size:11px;margin:2px 0 0}
#xh-template-library button{border:1px solid #414149;border-radius:7px;background:#28282d;color:#eee;padding:8px 11px;cursor:pointer;font:inherit;text-align:left}
#xh-template-library button:hover{border-color:#83838e;background:#33333b}
#xh-template-library button:focus-visible,#xh-template-library input:focus-visible,#xh-template-library textarea:focus-visible{outline:2px solid #bcb7f2;outline-offset:2px}
#xh-template-library button:disabled{opacity:.55;cursor:wait}
#xh-template-library .xh-tpl-header-actions{display:flex;gap:6px}#xh-template-library header button{font-size:22px;padding:0;width:32px;height:32px;text-align:center;border-color:transparent;background:transparent}
#xh-template-library .xh-tpl-body{display:grid;grid-template-columns:184px minmax(0,1fr);flex:1;min-height:0}
#xh-template-library nav{padding:12px 10px;background:#242427!important;border-right:1px solid #36363a;overflow:auto;scrollbar-width:thin}
#xh-template-library nav hr{border:0;border-top:1px solid #424249;margin:10px 4px}
#xh-template-library nav button{display:block;width:100%;margin:3px 0;border-color:transparent;background:transparent;padding:8px 12px}
#xh-template-library nav button[aria-pressed=true]{background:#3b3b43;border-color:transparent;color:#fff}
#xh-template-library nav .xh-tpl-save{font-size:11px;margin-top:15px;color:#c6c3d1}
#xh-template-library main{padding:16px 18px;overflow:auto;min-width:0;background:#151516!important;scrollbar-width:thin;scrollbar-gutter:stable;scroll-behavior:auto}
#xh-template-library form{display:flex;gap:8px;margin-bottom:12px}
#xh-template-library input,#xh-template-library textarea{font:inherit;color:#f1f1f5;background:#28282d;border:1px solid #46464e;border-radius:7px;padding:8px 10px;min-width:0;width:100%}
#xh-template-library form button{white-space:nowrap}
#xh-template-library .xh-tpl-count{font-size:11px;margin:4px 0 12px;color:#aaaab4}
#xh-template-library .xh-tpl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(126px,1fr));gap:14px 12px;align-items:start}
#xh-template-library .xh-tpl-card{display:flex;flex-direction:column;padding:0;border:0;background:transparent;min-width:0;border-radius:8px;overflow:hidden;contain:layout style}
#xh-template-library .xh-tpl-card:hover{background:transparent;color:#fff}
#xh-template-library .xh-tpl-card strong{font-size:12px;font-weight:600;margin:8px 0 4px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:34px}
#xh-template-library .xh-tpl-cover,#xh-template-library .xh-tpl-symbol{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:8px;background:#28282d;flex:none}
#xh-template-library .xh-tpl-symbol{display:grid;place-items:center;font-size:30px;color:#c2c0d2;background:linear-gradient(145deg,#333139,#202026)}
#xh-template-library small{font-size:10px;color:#aaaab8}#xh-template-library .xh-tpl-card-action{margin-top:3px;color:#b5b0d0;font-size:10px}
#xh-template-library .xh-tpl-error{color:#ffc2c2;border:1px solid #754949;border-radius:7px;padding:8px}
#xh-template-library .xh-tpl-status{padding:8px;border:1px solid #565269;border-radius:7px;color:#ded9f7}
#xh-template-library .xh-tpl-flow{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;list-style-position:inside;padding:0}
#xh-template-library .xh-tpl-flow li{background:#252529;border:1px solid #42424a;border-radius:9px;padding:12px}
#xh-template-library .xh-tpl-flow span{display:block;color:#b7b1d4;font-size:11px}#xh-template-library .xh-tpl-flow strong{font-size:13px}
#xh-template-library .xh-tpl-flow p{white-space:pre-wrap;max-height:130px;overflow:auto;font-size:11px}
#xh-template-library .xh-tpl-detail-footer{position:sticky;bottom:-16px;background:#19191bef;padding:10px;display:flex;justify-content:space-between;gap:12px;align-items:center;border-top:1px solid #343439}
#xh-template-library .xh-tpl-primary{background:#e7e4f3;color:#18171c;border-color:#e7e4f3;font-weight:600}
#xh-template-library footer{border-top:1px solid #333338;padding:9px 18px;color:#b7b5c1;font-size:10px;background:#202023!important;flex:none}
#xh-template-library [data-save-form]{display:grid;max-width:520px}#xh-template-library [data-save-form] label{display:block}
@media(max-width:720px){#xh-template-library >section{width:calc(100vw - 24px);height:calc(100dvh - 32px)}#xh-template-library .xh-tpl-body{grid-template-columns:120px minmax(0,1fr)}#xh-template-library main{padding:12px}#xh-template-library header{padding:12px}#xh-template-library .xh-tpl-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}#xh-template-library nav button{padding:8px 7px}}

/* official-assets-20261001as6.css */
/* Specific scope protects the official library from the global dark canvas theme. */
@font-face{font-family:OfficialLibrarySans;src:url('/assets/official-library-sans-sc-20260930.woff') format('woff');font-display:swap}
html body #root #official-asset-center.person-library{width:100%!important;max-width:none!important;margin:0!important;padding:28px 28px 36px!important;box-sizing:border-box;background:#fff!important;color:#15263c!important;font-family:OfficialLibrarySans,"Microsoft YaHei","PingFang SC",sans-serif!important}
html body #root #official-asset-center :is(h1,h2,h3,p,button,input,select,label,a,small,span){font-family:inherit!important}
html body #root #official-asset-center .pl-header{padding:0 0 20px!important;margin:0!important;background:#fff!important;min-height:0!important}
html body #root #official-asset-center .pl-home{font-size:12px!important;color:#596a80!important}
html body #root #official-asset-center .pl-title-row{gap:20px!important;margin:8px 0 6px!important;align-items:center!important}
html body #root #official-asset-center .pl-title-row h1{font-size:26px!important;line-height:1.35!important;letter-spacing:.3px;color:#12253e!important}
html body #root #official-asset-center .pl-preview-badge{background:#fff5ed!important;color:#983b0b!important;border:1px solid #f0d6c4!important;border-radius:6px!important;padding:6px 10px!important;font-size:12px!important}
html body #root #official-asset-center .pl-preview-badge i{background:#b85628!important}
html body #root #official-asset-center .pl-header p{font-size:13px!important;color:#53647a!important;margin:0!important}
html body #root #official-asset-center .pl-series{gap:8px!important;margin:0 0 16px!important;border-bottom:1px solid #e3e9f0!important;padding-bottom:16px!important}
html body #root #official-asset-center .pl-series button{min-width:112px!important;padding:10px 18px!important;border-radius:8px!important;background:#fff!important;color:#394d67!important;border:1px solid #d9e1ec!important;box-shadow:none!important}
html body #root #official-asset-center .pl-series button[aria-pressed=true]{background:#eff4ff!important;border-color:#94b1f8!important;color:#184ba3!important}
html body #root #official-asset-center .pl-series strong{font-size:15px!important}html body #root #official-asset-center .pl-series small{display:none!important}
html body #root #official-asset-center .pl-actionbar{margin:0 0 14px!important;gap:12px!important}
html body #root #official-asset-center .pl-search{height:42px!important;max-width:600px!important;border-radius:8px!important;border-color:#c6d2e3!important;background:#fff!important;padding:0 12px!important}
html body #root #official-asset-center .pl-search input{padding:0!important;background:transparent!important;border:0!important;color:#142b47!important;box-shadow:none!important;font-size:14px!important}
html body #root #official-asset-center .pl-search input::placeholder{color:#66768b!important}
html body #root #official-asset-center .pl-secondary{background:#f8faff!important;color:#294568!important;border:1px solid #d3deec!important;border-radius:7px!important;font-size:13px!important}
html body #root #official-asset-center .pl-primary{background:#2457cd!important;color:#fff!important;border-radius:7px!important;font-size:13px!important}
html body #root #official-asset-center :is(button,a,input,select):focus-visible{outline:2px solid #2457cd!important;outline-offset:3px!important}
html body #root #official-asset-center .pl-workspace{background:#f8faff!important;border:1px solid #e0e7f0!important;border-radius:10px!important;padding:14px 16px!important;margin:0 0 20px!important}
html body #root #official-asset-center .pl-filter-grid{gap:12px!important}
html body #root #official-asset-center .pl-filter-grid label{font-size:12px!important;color:#3c526e!important}
html body #root #official-asset-center select{height:36px!important;font-size:13px!important;color:#17304f!important;background:#fff!important;border:1px solid #cad6e6!important;border-radius:6px!important}
html body #root #official-asset-center .pl-results-head{margin:0 0 14px!important;padding:0!important;min-height:0!important}
html body #root #official-asset-center .pl-results-head h2{font-size:17px!important;color:#132d4d!important}
html body #root #official-asset-center .pl-results-head h2 small{font-size:12px!important;color:#48627f!important}
html body #root #official-asset-center .pl-grid{display:grid!important;grid-template-columns:repeat(9,minmax(0,1fr))!important;gap:18px 12px!important;grid-auto-rows:auto!important;align-items:start!important}
html body #root #official-asset-center .pl-card{min-width:0!important;padding:0!important;border:1px solid #e6ebf1!important;border-radius:9px!important;overflow:hidden!important;background:#fff!important;box-shadow:none!important;transition:border-color .15s,box-shadow .15s}
html body #root #official-asset-center .pl-card:hover{border-color:#aac0e2!important;box-shadow:0 5px 16px #102d5010!important}
html body #root #official-asset-center .pl-card-image{height:auto!important;min-height:0!important;aspect-ratio:2/3!important;background:#fff!important;overflow:hidden!important;border:0!important;border-bottom:1px solid #edf1f6!important;border-radius:0!important}
html body #root #official-asset-center .pl-card-image img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;background:#fff!important}
html body #root #official-asset-center .pl-card-open{display:block!important;width:100%!important;min-height:0!important;height:90px!important;padding:10px 10px 8px!important;background:#fff!important;border:0!important;text-align:left!important;color:#182f4e!important;overflow:hidden!important}
html body #root #official-asset-center .pl-card-open section{height:auto!important;padding:0!important}
html body #root #official-asset-center .pl-card h3{font-size:13px!important;line-height:20px!important;font-weight:700!important;margin:0 0 6px!important;white-space:nowrap!important;text-overflow:ellipsis!important;overflow:hidden!important;color:#152d4c!important}
html body #root #official-asset-center .pl-card p{font-size:11px!important;line-height:17px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;color:#536982!important;margin:0 0 5px!important}
html body #root #official-asset-center .pl-tags{gap:3px!important;flex-wrap:nowrap!important;overflow:hidden!important}
html body #root #official-asset-center .pl-tags span{font-size:10px!important;line-height:17px!important;padding:0 4px!important;background:#f1f5fb!important;color:#385577!important;border-radius:3px!important;white-space:nowrap!important}
html body #root #official-asset-center .pl-pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 0 0;color:#526780;font-size:13px}
html body #root #official-asset-center .pl-pagination>div{display:flex;gap:10px;align-items:center}
html body #root #official-asset-center .pl-pagination button{padding:9px 14px;cursor:pointer}
html body #root #official-asset-center .pl-pagination button:disabled{opacity:.45;cursor:default}
html body #root #official-asset-center .pl-page-number{min-width:28px;text-align:center;font-weight:700;color:#224576}
html body #root #official-asset-center .pl-dialog{font-family:inherit!important}
@media(max-width:1399px){html body #root #official-asset-center .pl-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important}}
@media(max-width:1000px){html body #root #official-asset-center .pl-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}html body #root #official-asset-center .pl-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:600px){html body #root #official-asset-center.person-library{padding:20px 14px!important}html body #root #official-asset-center .pl-title-row{flex-wrap:wrap!important;gap:8px!important}html body #root #official-asset-center .pl-title-row h1{font-size:20px!important}html body #root #official-asset-center .pl-preview-badge{font-size:11px!important}html body #root #official-asset-center .pl-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px 10px!important}html body #root #official-asset-center .pl-series button{min-width:0!important;flex:1!important;padding:10px!important}html body #root #official-asset-center .pl-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}html body #root #official-asset-center .pl-pagination{flex-direction:column!important;align-items:stretch!important}html body #root #official-asset-center .pl-pagination>div{justify-content:space-between!important}html body #root #official-asset-center .pl-card-open{height:90px!important}html body #root #official-asset-center .pl-card h3{font-size:14px!important}}

/* canvas-agent-ui-20261001as8c.css */
.xh-agent-material-popover{max-height:min(420px,60vh);overflow:hidden;display:flex;flex-direction:column}
.xh-agent-material-list{min-height:0;overflow-y:auto}
.xh-agent-material-actions{display:flex;align-items:center;gap:8px}
.xh-agent-material-head .xh-agent-material-actions button{min-width:32px;min-height:32px;padding:4px 8px;flex:none}
.xh-agent-material-head [data-action=close-materials]{font-size:22px;line-height:1;color:#f1f5fc}
.xh-agent-material-actions button:focus-visible{outline:2px solid #97b9ff;outline-offset:2px}

#xh-canvas-agent-root .xh-agent-library{display:flex;flex-direction:column;max-height:min(620px,75vh);overflow:hidden}
#xh-canvas-agent-root .xh-agent-library-search{box-sizing:border-box;flex:none;margin:8px 12px;width:calc(100% - 24px);border:1px solid #626773;border-radius:8px;padding:10px 12px;background:#242830;color:#f5f7fa;font:inherit}
#xh-canvas-agent-root .xh-agent-library-search::placeholder{color:#b7bdc9}
#xh-canvas-agent-root .xh-agent-library-results{flex:1;min-height:0;overflow:auto}
#xh-canvas-agent-root .xh-agent-library-item img{flex:none;width:48px;height:64px;object-fit:contain;background:#fff;border-radius:5px;color:#313744;font-size:10px}
#xh-canvas-agent-root .xh-agent-library-pages{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-top:1px solid #535965;color:#d7dce5;font-size:12px}
#xh-canvas-agent-root .xh-agent-library-pages button,#xh-canvas-agent-root [data-action="retry-asset-library"]{padding:7px 9px;border:1px solid #69707d;border-radius:6px;color:#f5f7fa;background:#303540}
#xh-canvas-agent-root .xh-agent-library-pages button:disabled{opacity:.4;cursor:default}

/* feature-navigation-20261001as6.css */
html.gx-ui body .gx-more-panel{width:min(980px,calc(100vw - 32px))!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:0!important;padding:22px 12px!important;background:#141820!important;border:1px solid #343e4f!important;border-radius:12px!important;box-shadow:0 18px 65px #0008!important;max-height:calc(100dvh - 90px)!important;overflow:auto!important;color:#f3f6ff!important;font-family:"Microsoft YaHei","PingFang SC",Arial,sans-serif!important}
html.gx-ui body .gx-more-panel section{padding:0 10px!important;min-width:0!important;border-right:1px solid #2b3341!important}
html.gx-ui body .gx-more-panel section:last-child{border-right:0!important}
html.gx-ui body .gx-more-panel section>small{display:block!important;color:#95a5bf!important;font-size:12px!important;letter-spacing:1px!important;font-weight:600!important;margin:0 0 10px 10px!important}
html.gx-ui body .gx-more-panel a{display:flex!important;flex-direction:column!important;gap:3px!important;min-height:0!important;padding:10px!important;margin:0 0 3px!important;border:1px solid transparent!important;border-radius:7px!important;background:transparent!important;box-shadow:none!important;text-decoration:none!important}
html.gx-ui body .gx-more-menu .gx-more-panel a[href^="/infinite-canvas-v2"]{display:flex!important}
html.gx-ui #xh-home-midnight .gx-home-nav nav .gx-more-menu .gx-more-panel a{display:flex!important}
html.gx-ui #xh-home-midnight .gx-home-nav nav .gx-more-panel a:nth-child(n){display:flex!important}
html.gx-ui body .gx-more-panel section>small::before{content:'✦';margin-right:7px;color:#bfcae0}
html.gx-ui body .gx-more-panel section:nth-child(2)>small::before{content:'▶'}
html.gx-ui body .gx-more-panel section:nth-child(3)>small::before{content:'▦'}
html.gx-ui body .gx-more-panel section:nth-child(4)>small::before{content:'⊞'}
html.gx-ui body .gx-more-panel a b{font-size:14px!important;line-height:21px!important;font-weight:600!important;color:#f1f5fc!important}
html.gx-ui body .gx-more-panel a span{font-size:11px!important;line-height:18px!important;color:#a7b5cc!important}
html.gx-ui body .gx-more-panel a:hover,html.gx-ui body .gx-more-panel a:focus-visible{background:#253146!important;border-color:#425778!important;outline:0!important}
html.gx-ui body .gx-more-menu summary{font-family:"Microsoft YaHei","PingFang SC",sans-serif!important}
html.gx-ui body .gx-more-panel *{font-family:inherit!important}
html.gx-ui.gx-route-home #root{display:none!important}
html.gx-ui:not(.gx-route-home) [data-gravaxia-home]{display:none!important}
html.xh-document-home-pending #root{visibility:hidden!important}
html.xh-document-home-pending::after{content:"正在返回首页…";position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;background:#080d16;color:#edf3ff;font:14px "Microsoft YaHei",sans-serif}
@media(max-width:760px){html.gx-ui body .gx-more-panel{grid-template-columns:repeat(2,minmax(0,1fr))!important;left:16px!important;right:16px!important;padding:16px 8px!important;transform:none!important}html.gx-ui body .gx-more-panel section:nth-child(2){border-right:0!important}html.gx-ui body .gx-more-panel section{margin-bottom:16px!important}}
@media(max-width:760px){
 html.gx-ui #xh-home-midnight .gx-home-nav{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;height:auto!important;padding:10px 14px!important;gap:8px!important}
 html.gx-ui #xh-home-midnight .gx-home-nav>nav{display:flex!important;justify-content:flex-end!important;min-width:0!important}
 html.gx-ui #xh-home-midnight .gx-home-nav>nav>a{display:none!important}
 html.gx-ui #xh-home-midnight .gx-home-nav>nav>.gx-more-menu{display:block!important}
 html.gx-ui #xh-home-midnight .gx-nav-actions{grid-column:1/-1!important;display:flex!important;flex-wrap:wrap!important;justify-content:flex-start!important;min-width:0!important;width:100%!important;gap:6px!important}
 html.gx-ui #xh-home-midnight .gx-more-panel{top:108px!important;max-height:calc(100dvh - 125px)!important}
}

/* canvas-template-library-20261001as6.css */
#xh-template-library .xh-tpl-preview-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:16px 0 8px;color:#b7c5db;font-size:12px}
#xh-template-library .xh-tpl-preview-toolbar>div{display:flex;gap:6px;flex:none}
#xh-template-library .xh-tpl-preview-toolbar button{padding:6px 10px;border-radius:6px;border:1px solid #425473;background:#202d42;color:#f2f6ff}
#xh-template-library .xh-tpl-canvas-preview{height:440px;overflow:auto;overscroll-behavior:contain;border:1px solid #33445e;border-radius:10px;background-color:#101823;background-image:radial-gradient(#354158 1px,transparent 1px);background-size:18px 18px;padding:16px;display:grid;place-items:start center}
#xh-template-library .xh-tpl-canvas-preview svg{flex:none;max-width:none!important;max-height:none!important}
#xh-template-library .xh-tpl-preview-edges path{stroke:#7e96bd;stroke-width:2.5;fill:none}
#xh-template-library .xh-tpl-preview-node{width:100%!important;height:100%!important;min-height:0!important;background:#202c40!important;border:2px solid #586d90!important;border-radius:10px!important;padding:14px!important;text-align:left!important;display:flex!important;flex-direction:column!important;gap:9px!important;overflow:hidden!important;font-family:"Microsoft YaHei",sans-serif!important;color:#f0f5ff!important}
#xh-template-library .xh-tpl-preview-node.is-selected{border-color:#87afff!important;background:#273e65!important}
#xh-template-library .xh-tpl-preview-node:focus-visible{outline:3px solid #b7d1ff!important;outline-offset:-4px!important}
#xh-template-library .xh-tpl-preview-node small{font-size:13px!important;color:#a9c5ed!important}
#xh-template-library .xh-tpl-preview-node strong{font-size:19px!important;line-height:1.4!important;color:#f6f8ff!important}
#xh-template-library .xh-tpl-preview-node p{font-size:13px!important;line-height:1.6!important;margin:0!important;color:#c2d0e5!important;overflow:hidden!important;flex:1!important}
#xh-template-library .xh-tpl-preview-node span{font-size:12px!important;color:#c3d4f0!important}
#xh-template-library .xh-tpl-node-inspector{margin:16px 0;border:1px solid #384966;border-radius:9px;background:#192337;padding:18px;color:#e3ebf9}
#xh-template-library .xh-tpl-node-inspector h4{font-size:16px;color:#f7faff;margin:0 0 12px}
#xh-template-library .xh-tpl-node-inspector p{white-space:pre-wrap;font-size:13px;line-height:1.8;color:#d5e1f1;margin:0 0 14px}
#xh-template-library .xh-tpl-node-inspector dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}
#xh-template-library .xh-tpl-node-inspector dl>div{min-width:0;padding:9px 12px;background:#101b2d;border-radius:6px}
#xh-template-library .xh-tpl-node-inspector dt{font-size:11px;color:#a7bddc;margin-bottom:4px}
#xh-template-library .xh-tpl-node-inspector dd{font-size:13px;color:#f2f5fb;margin:0;overflow-wrap:anywhere}
@media(max-width:600px){#xh-template-library .xh-tpl-canvas-preview{height:330px;padding:8px}#xh-template-library .xh-tpl-preview-toolbar{align-items:flex-start;flex-direction:column}#xh-template-library .xh-tpl-node-inspector dl{grid-template-columns:1fr}}

/* recharge-site-apply-20261011.css */
.mh-recharge-page .xh-recharge-credit-row{display:grid;grid-template-columns:minmax(220px,320px) minmax(0,1fr) auto;align-items:center;gap:24px}
.mh-recharge-page .xh-recharge-credit-actions{width:100%;max-width:680px;min-width:0}
.mh-recharge-page .xh-recharge-credit-apply{display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 24px;border:1px solid transparent;border-radius:8px;background:#82e0c5;color:#092b22;font-size:14px;font-weight:700;text-decoration:none;white-space:nowrap}
.mh-recharge-page .xh-recharge-credit-apply:hover{background:#a2eed9;color:#092b22}
.mh-recharge-page .xh-recharge-credit-apply:focus-visible{outline:3px solid #1898ff;outline-offset:3px}
@media(max-width:1023px){.mh-recharge-page .xh-recharge-credit-row{grid-template-columns:minmax(0,1fr);gap:16px}.mh-recharge-page .xh-recharge-credit-actions{max-width:none}.mh-recharge-page .xh-recharge-credit-apply{width:100%}}
