/* Account surfaces share the site's palette; loaded globally for soft navigation. */
.account-page { max-width: 1120px; margin: 0 auto; padding: 10px 0 28px; }
.account-heading, .account-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.account-heading { margin-bottom: 22px; }
.account-heading h1 { margin: 0; font-size: 24px; line-height: 1.4; letter-spacing: -.5px; }
.account-heading p, .account-section-heading p { margin: 6px 0 0; font-size: 13px; line-height: 1.6; color: var(--text-2); }
.account-role { display: inline-flex; flex: none; align-items: center; padding: 2px 8px; border: 1px solid var(--border); border-radius: 6px; background: var(--panel-bg, var(--sunken)); font-size: 12px; line-height: 18px; color: var(--text-2); }
.account-layout { display: grid; grid-template-columns: 224px minmax(0, 1fr); align-items: start; gap: 24px; }
.account-identity, .account-panel { border: 1px solid var(--border); border-radius: 12px; background: var(--task-card-bg, var(--surface)); }
.account-identity { padding: 22px 18px 16px; }
.account-avatar { width: 46px; height: 46px; display: grid; place-items: center; border: 1px solid var(--border); border-radius: 14px; background: var(--panel-bg, var(--sunken)); color: var(--text-2); font-size: 21px; }
.account-identity h2 { font-size: 18px; margin: 14px 0 8px; overflow-wrap: anywhere; }
.account-identity dl { margin: 24px 0 20px; font-size: 12px; }
.account-identity dt { color: var(--text-2); margin-top: 14px; }
.account-identity dd { margin: 4px 0 0; line-height: 1.6; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.account-identity nav { display: grid; border-top: 1px solid var(--border); padding-top: 12px; gap: 4px; }
.account-identity nav a { display: flex; justify-content: space-between; padding: 8px; border-radius: 6px; font-size: 13px; color: var(--text-2); text-decoration: none; }
.account-identity nav a:hover { background: var(--panel-bg, var(--sunken)); color: var(--text); }
.account-logout { margin-top: 20px; }
.account-logout .btn { width: 100%; }
.account-content { display: grid; gap: 16px; min-width: 0; }
.account-panel { padding: 16px 22px; scroll-margin-top: 100px; }
.account-section-heading { margin-bottom: 14px; }
.account-section-heading h2 { font-size: 16px; line-height: 1.5; margin: 0; font-weight: 600; }
.account-page .btn { min-height: 32px; padding: 5px 13px 3px; font-size: 13px; line-height: 22px; border-radius: 7px; border-width: 1px; white-space: nowrap; }
.account-page .btn:hover { transform: none; }
.account-page label { display: block; font-size: 13px; color: var(--text); }
.account-landing-controls { display: flex; align-items: center; gap: 10px; margin-top: 8px; }
.account-landing select { width: 260px; max-width: 100%; min-width: 0; font-size: 13px; height: 36px; }
.account-text-link { font-size: 12px; color: var(--text-2); text-underline-offset: 4px; }
.account-hint { color: var(--text-2); font-size: 12px; line-height: 1.65; margin: 8px 0 0; }
.account-shortcuts { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 16px; }
.account-shortcuts a { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 14px; border: 1px solid var(--border); border-radius: 8px; text-decoration: none; color: var(--text); }
.account-shortcuts a:hover { border-color: var(--border-strong); background: var(--panel-bg, var(--sunken)); }
.account-shortcuts strong { display: block; font-size: 13px; font-weight: 500; }
.account-shortcuts div > span { display: block; margin-top: 4px; font-size: 12px; line-height: 1.5; color: var(--text-2); }
.account-password-fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.account-password-fields:not(:has([name="old_password"][type="password"])) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.account-password input[type="password"] { box-sizing: border-box; display: block; width: 100%; min-width: 0; height: 36px; padding: 7px 10px; margin-top: 8px; border: 1px solid var(--input-line, var(--border)); border-radius: 7px; background: var(--input-bg, var(--bg)); color: var(--text); font: inherit; }
.account-password input::placeholder { color: var(--text-2); opacity: 1; }
.account-page :is(a, button, input, select, summary):focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.account-password-footer { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 14px; }
.account-password-footer .account-hint { margin: 0; }
.account-session { margin-top: 18px; padding-top: 12px; border-top: 1px solid var(--border); font-size: 12px; color: var(--text-2); }
.account-session summary { cursor: pointer; width: fit-content; }
.account-session p { margin: 10px 0 0; line-height: 1.8; }
.account-notice, .account-error { padding: 10px 14px; border: 1px solid var(--border); border-radius: 8px; font-size: 13px; background: var(--panel-bg, var(--sunken)); }
.account-error { color: var(--danger, var(--text)); }
.account-mcp-controls { display: flex; gap: 8px; margin-top: 8px; }
.account-mcp-controls input, .account-mcp-endpoint input, .account-mcp-new input { box-sizing: border-box; min-width: 0; height: 36px; padding: 7px 10px; border: 1px solid var(--input-line, var(--border)); border-radius: 7px; background: var(--input-bg, var(--bg)); color: var(--text); font: inherit; }
.account-mcp-controls input { width: min(250px, 100%); }
.account-mcp-endpoint { margin-bottom: 12px; }
.account-mcp-endpoint input { display: block; width: 100%; margin-top: 8px; font-family: var(--font-mono); font-size: 12px; }
.account-mcp-new { margin-top: 14px; padding: 12px; border: 1px solid var(--border); border-radius: 8px; background: var(--panel-bg, var(--sunken)); }
.account-mcp-new p { margin: 0 0 8px; font-size: 12px; line-height: 1.6; }
.account-mcp-new input { display: block; width: 100%; margin-top: 6px; font-family: var(--font-mono); font-size: 12px; }
.account-mcp-list { margin-top: 18px; border-top: 1px solid var(--border); padding-top: 12px; }
.account-mcp-list h3 { margin: 0 0 8px; font-size: 13px; }
.account-mcp-row { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 7px 0; font-size: 12px; color: var(--text-2); }
.account-mcp-row + .account-mcp-row { border-top: 1px solid var(--border); }
@media (max-width: 900px) {
  .account-layout { grid-template-columns: 196px minmax(0, 1fr); gap: 16px; }
  .account-panel { padding: 18px; }
  .account-landing-controls { flex-wrap: wrap; }
  .account-password-fields { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .account-heading { align-items: flex-start; margin-bottom: 16px; }
  .account-heading h1 { font-size: 22px; }
  .account-heading > .account-role { display: none; }
  .account-layout { grid-template-columns: 1fr; }
  .account-identity { padding: 18px; }
  .account-identity nav { grid-template-columns: repeat(2, 1fr); }
  .account-identity nav a { gap: 8px; }
  .account-identity dl { display: grid; grid-template-columns: 70px minmax(0, 1fr); gap: 8px; margin: 18px 0; }
  .account-identity dt, .account-identity dd { margin: 0; }
  .account-logout { margin-top: 12px; }
  .account-shortcuts, .account-password-fields:not(:has([name="old_password"][type="password"])) { grid-template-columns: 1fr; }
  .account-section-heading { gap: 8px; }
  .account-landing select { flex: 1; width: auto; }
  .account-mcp-controls { flex-wrap: wrap; }
  .account-mcp-row { align-items: flex-start; }
}

.account-team .account-section-heading { margin: 0; }
.account-password-disclosure > summary { width: fit-content; padding: 5px 12px; border: 1px solid var(--border); border-radius: 7px; background: var(--panel-bg, var(--sunken)); font-size: 13px; cursor: pointer; }
.account-password-disclosure[open] > summary { margin-bottom: 16px; }


/* User administration: card spacing and form layout stay local to this page. */
.user-management-back { margin-bottom: 16px; font-size: 13px; }
.user-management-page > .card + .card { margin-top: 18px; }
.user-create-card { padding: 20px 22px; }
.user-create-card h3 { margin: 0; font-size: 16px; line-height: 1.5; }
.user-create-hint { margin: 6px 0 18px; font-size: 12px; line-height: 1.6; color: var(--text-2); }
.user-create-fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.user-create-fields label { min-width: 0; font-size: 13px; line-height: 1.5; }
.user-create-fields label > span { margin-left: 4px; font-size: 12px; color: var(--text-2); }
.user-create-fields input, .user-create-fields select { display: block; box-sizing: border-box; width: 100%; min-width: 0; height: 36px; margin-top: 8px; font: inherit; }
.user-create-fields input::placeholder { color: var(--text-2); opacity: 1; }
.user-create-note { grid-column: span 2; }
.user-create-footer { display: flex; gap: 8px; justify-content: flex-end; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--border); }
.user-create-footer .btn, .user-management-back { min-height: 32px; padding: 5px 13px 3px; font-size: 13px; line-height: 22px; border-radius: 7px; }
@media (max-width: 900px) {
  .user-create-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .user-create-note { grid-column: 1 / -1; }
}
@media (max-width: 540px) {
  .user-create-card { padding: 18px; }
  .user-create-fields { grid-template-columns: 1fr; }
  .user-create-note { grid-column: auto; }
}

#user-edit { scroll-margin-top: 88px; }

/* Administrator-owned MCP capability catalog. */
.routine-hero-actions { display: flex; align-items: center; gap: 8px; }
.capability-page { max-width: 1120px; margin: 0 auto; }
.capability-back { margin-bottom: 16px; }
.capability-nav { display: flex; gap: 8px; margin-bottom: 16px; }
.capability-page .section-head { align-items: flex-start; }
.capability-page .section-head h1 { margin: 0; font-size: 24px; }
.capability-page .section-head p { margin: 6px 0 0; max-width: 760px; line-height: 1.65; }
.capability-create { margin-top: 18px; }
.capability-create h2 { margin: 0; font-size: 17px; }
.capability-create > p { margin: 6px 0 18px; }
.capability-form { padding-top: 14px; border-top: 1px solid var(--border); }
.capability-fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.capability-fields label { min-width: 0; font-size: 13px; }
.capability-fields label > span { color: var(--text-2); font-size: 12px; }
.capability-fields input, .capability-fields select, .capability-fields textarea {
  box-sizing: border-box; display: block; width: 100%; min-width: 0; margin-top: 7px;
  border: 1px solid var(--input-line, var(--border)); border-radius: 7px;
  background: var(--input-bg, var(--bg)); color: var(--text); font: inherit;
}
.capability-fields input, .capability-fields select { height: 36px; padding: 7px 10px; }
.capability-fields textarea { min-height: 58px; padding: 9px 10px; resize: vertical; line-height: 1.55; }
.capability-wide { grid-column: 1 / -1; }
.capability-grants { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 16px 0 0; padding: 12px; border: 1px solid var(--border); border-radius: 8px; }
.capability-grants legend { padding: 0 6px; color: var(--text-2); font-size: 12px; }
.capability-grants label, .capability-enabled { display: flex; align-items: center; gap: 7px; font-size: 13px; }
.capability-footer { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 14px; }
.capability-list { display: grid; gap: 12px; margin-top: 18px; }
.capability-card { padding: 0; overflow: clip; }
.capability-card > summary { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 12px; padding: 14px 18px; cursor: pointer; list-style: none; }
.capability-card > summary::-webkit-details-marker { display: none; }
.capability-card > summary div { display: flex; align-items: baseline; gap: 10px; min-width: 0; }
.capability-card > summary code { color: var(--text-2); font-size: 12px; overflow-wrap: anywhere; }
.capability-card[open] > summary { border-bottom: 1px solid var(--border); background: var(--panel-bg, var(--sunken)); }
.capability-card .capability-form { margin: 0 18px 18px; }
.capability-summary { padding: 14px 18px 0; font-size: 12px; color: var(--text-2); }
.capability-summary p { margin: 0 0 7px; line-height: 1.6; overflow-wrap: anywhere; }
.extension-version-list { display: grid; gap: 1px; margin: 8px 18px 18px; background: var(--border); border: 1px solid var(--border); border-radius: 8px; overflow: hidden; }
.extension-version-row { display: flex; justify-content: space-between; align-items: center; gap: 18px; padding: 14px; background: var(--card-bg, var(--surface)); }
.extension-version-row > div { min-width: 0; }
.extension-version-row strong { margin-right: 8px; }
.extension-version-row p { margin: 6px 0 0; overflow-wrap: anywhere; }
.extension-release-form { display: flex; align-items: center; justify-content: flex-end; gap: 10px; flex-wrap: wrap; font-size: 12px; }
.extension-release-form label { display: flex; align-items: center; gap: 6px; white-space: nowrap; }
.extension-release-form input[type=number] { width: 64px; height: 32px; padding: 5px 7px; border: 1px solid var(--input-line, var(--border)); border-radius: 6px; }
@media (max-width: 760px) {
  .routine-hero-actions { flex-wrap: wrap; justify-content: flex-end; }
  .capability-fields { grid-template-columns: 1fr; }
  .capability-wide { grid-column: auto; }
  .capability-card > summary { grid-template-columns: minmax(0, 1fr) auto; }
  .capability-card > summary > :last-child { grid-column: 2; }
  .extension-version-row { align-items: flex-start; flex-direction: column; }
  .extension-release-form { justify-content: flex-start; }
}

/* Claude Desktop-inspired management rail and extension detail surfaces. */
.workflow-admin-shell { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 24px; width: min(1280px, 100%); max-width: 1280px; margin: 0 auto; align-items: start; }
.workflow-admin-content { min-width: 0; }
/* 任务内容与模块标题栏共用右侧内边距，避免卡片和工具栏越过标题栏边界。 */
.workflow-admin-content > .routine-page {
  width: calc(100% - 28px); max-width: none; margin-left: 0; margin-right: 28px;
}
@media (max-width: 640px) {
  .workflow-admin-content > .routine-page {
    width: calc(100% - 16px); margin-right: 16px;
  }
}
.workflow-admin-content.capability-page { max-width: none; margin: 0; }
.workflow-admin-rail { position: sticky; top: 24px; display: grid; gap: 22px; padding: 8px 0; color: var(--text-2); }
.workflow-rail-search, .workflow-library-search { display: flex; align-items: center; gap: 8px; min-width: 0; border: 1px solid var(--input-line, var(--border)); border-radius: 9px; background: var(--input-bg, var(--surface)); }
.workflow-rail-search { height: 32px; padding: 0 9px; }
.workflow-rail-search svg, .workflow-library-search svg { width: 17px; height: 17px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.7; opacity: .75; }
.workflow-rail-search input, .workflow-library-search input { width: 100%; min-width: 0; border: 0; outline: 0; background: transparent; color: var(--text); font: inherit; }
.workflow-rail-search input::placeholder, .workflow-library-search input::placeholder { color: var(--text-3); }
.workflow-rail-group { display: grid; gap: 4px; }
.workflow-rail-label { padding: 0 12px 5px; color: var(--text-3); font-size: 12px; }
.workflow-rail-link { display: flex; align-items: center; gap: 10px; min-height: 38px; padding: 0 12px; border-radius: 9px; color: var(--text-2); text-decoration: none; font-size: 14px; }
.workflow-rail-link:hover, .workflow-rail-link.is-active { background: var(--resource-tree-selected-bg, var(--control-bg)); color: var(--text); }
.workflow-rail-icon { display: inline-grid; place-items: center; width: 20px; height: 20px; color: currentColor; }
.resource-icon { width: 17px; height: 17px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.workflow-rail-note { display: grid; gap: 4px; padding: 12px; border-top: 1px solid var(--border); color: var(--text-3); font-size: 12px; line-height: 1.5; }
.workflow-rail-note strong { color: var(--text-2); font-size: 13px; }
.workflow-library-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin: 18px 0 12px; padding-bottom: 10px; border-bottom: 1px solid var(--border); }
.workflow-library-tabs, .workflow-library-actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.workflow-library-tabs a { padding: 7px 11px; border-radius: 8px; color: var(--text-2); text-decoration: none; font-size: 13px; }
.workflow-library-tabs a:hover, .workflow-library-tabs a.is-active { background: var(--control-bg, var(--sunken)); color: var(--text); }
.workflow-library-search { width: min(320px, 34vw); height: 34px; padding: 0 9px; }
.workflow-menu { position: relative; }
.workflow-menu > summary { display: inline-flex; align-items: center; gap: 6px; min-height: 34px; padding: 0 11px; border-radius: 8px; background: var(--control-bg, var(--sunken)); color: var(--text-2); cursor: pointer; list-style: none; white-space: nowrap; }
.workflow-menu > summary::-webkit-details-marker { display: none; }
.workflow-menu > summary b { color: var(--text); font-weight: 500; }
.workflow-menu[open] > summary, .workflow-menu > summary:hover { color: var(--text); box-shadow: 0 0 0 1px var(--focus-ring, transparent); }
.workflow-menu-popover { position: absolute; z-index: 40; top: calc(100% + 6px); right: 0; display: grid; min-width: 190px; padding: 7px; border: 1px solid var(--border-strong, var(--border)); border-radius: 14px; background: var(--panel-bg, var(--surface)); box-shadow: 0 10px 26px rgb(0 0 0 / .28); }
.workflow-menu-title { padding: 5px 9px 7px; color: var(--text-3); font-size: 12px; }
.workflow-submenu > .workflow-menu-title { position: sticky; top: -7px; z-index: 1; margin: -7px -7px 2px; padding: 10px 9px 7px; background: var(--panel-bg, var(--surface)); }
.workflow-menu-popover button, .workflow-menu-popover a { display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 34px; padding: 0 9px; border: 0; border-radius: 9px; background: transparent; color: var(--text); font: inherit; text-align: left; text-decoration: none; cursor: pointer; }
.workflow-menu-popover button:hover, .workflow-menu-popover a:hover { background: var(--control-hover, var(--control-bg)); }
.workflow-menu-nested { position: relative; }
.workflow-menu-nested > button { width: 100%; }
.workflow-submenu { position: absolute; top: -7px; left: calc(100% + 6px); display: none; min-width: 180px; max-height: min(72vh, 760px); overflow-y: auto; padding: 7px; border: 1px solid var(--border-strong, var(--border)); border-radius: 14px; background: var(--panel-bg, var(--surface)); box-shadow: 0 10px 26px rgb(0 0 0 / .28); }
.workflow-menu-nested:hover .workflow-submenu, .workflow-menu-nested:focus-within .workflow-submenu, .workflow-menu-nested.is-open .workflow-submenu { display: grid; }
.workflow-add-menu .workflow-menu-popover { min-width: 180px; }
.workflow-filter-categories .workflow-menu-popover { max-height: min(72vh, 620px); overflow-y: auto; }
.workflow-add-menu .workflow-menu-popover .resource-icon { width: 19px; height: 19px; }
.workflow-extension-card[hidden] { display: none; }
.workflow-discover { margin-top: 34px; }
.workflow-discover-heading, .workflow-category-heading { display: flex; align-items: center; justify-content: space-between; margin: 26px 0 12px; }
.workflow-discover-heading h2, .workflow-category-heading h2 { margin: 0; font-size: 18px; }
.workflow-discover-heading a, .workflow-category-toggle, .workflow-discover-back { display: inline-flex; align-items: center; gap: 8px; color: var(--text); text-decoration: none; font-size: 14px; line-height: 20px; }
.workflow-category-toggle { display: inline-flex; align-items: center; gap: 8px; padding: 4px 0; border: 0; border-radius: 8px; background: transparent; color: var(--text); font: inherit; font-size: 14px; line-height: 20px; cursor: pointer; }
.workflow-discover-heading a:focus-visible, .workflow-category-toggle:focus-visible, .workflow-discover-back:focus-visible { outline: 2px solid var(--focus-ring, var(--accent)); outline-offset: 4px; }
.workflow-discover-heading .workflow-disclosure-icon, .workflow-category-toggle .workflow-disclosure-icon, .workflow-discover-back .workflow-disclosure-icon { width: 20px; height: 20px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.workflow-category-toggle[aria-expanded="true"] .workflow-disclosure-icon, .workflow-discover-back .workflow-disclosure-icon { transform: rotate(180deg); }
.workflow-discover-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.workflow-discover-card { display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; gap: 13px; align-items: start; min-height: 98.6px; padding: 8.6px 18px; border: 1px solid var(--border); border-radius: 14px; background: var(--discover-card-bg, var(--surface)); }
.workflow-discover-card:is(:hover, :focus-visible) { background: var(--discover-card-hover); }
.workflow-discover-card:focus-visible { outline: 2px solid var(--focus-ring, var(--accent)); outline-offset: 3px; }
.workflow-discover-icon { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 10px; background: var(--sunken); color: var(--text-2); }
.workflow-discover-icon svg { width: 21px; height: 21px; }
.workflow-discover-card strong { display: block; font-size: 15px; }
.workflow-discover-card p { display: -webkit-box; margin: 5px 0 4px; overflow: hidden; color: var(--text-2); font-size: 13px; line-height: 1.45; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.workflow-discover-card small { color: var(--text-3); font-size: 12px; }
.workflow-discover-card button { width: 30px; height: 30px; border: 0; border-radius: 8px; background: var(--control-bg); color: var(--text); font-size: 22px; cursor: pointer; }
.workflow-category-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.workflow-category-grid:not(.is-expanded) .workflow-category-card:nth-child(n + 10) { display: none; }
.workflow-discover {
  --discover-card-bg: #ffffff; --discover-card-hover: #fcfcfb;
  --category-card-bg: #fcfcfc; --category-card-hover: #ffffff; --category-border: #e5e5e5;
  --category-border-hover: #d5d5d5; --category-tile: #e6e6e6; --category-tile-hover: #dbdbdb;
  --category-ink: #0b0b0b; --category-count: #8a8984; --category-fill: #e7e6e1;
}
html[data-theme="dark"] .workflow-discover {
  --discover-card-bg: #151515; --discover-card-hover: #1a1a19;
  --category-card-bg: #141413; --category-card-hover: #1a1a19; --category-border: #2e2e2c;
  --category-border-hover: #3c3c39; --category-tile: #2c2c2b; --category-tile-hover: #313130;
  --category-ink: #f0efec; --category-count: #92918a; --category-fill: #454442;
}
@media (prefers-color-scheme: dark) {
  html:not([data-theme="light"]) .workflow-discover {
    --discover-card-bg: #151515; --discover-card-hover: #1a1a19;
    --category-card-bg: #141413; --category-card-hover: #1a1a19; --category-border: #2e2e2c;
    --category-border-hover: #3c3c39; --category-tile: #2c2c2b; --category-tile-hover: #313130;
    --category-ink: #f0efec; --category-count: #92918a; --category-fill: #454442;
  }
}
.workflow-category-card { display: flex; align-items: center; gap: 14px; min-width: 0; min-height: 86px; padding: 12px 14px; border: 1px solid var(--category-border); border-radius: 12px; color: var(--category-ink); text-decoration: none; transition: background-color 140ms ease, border-color 140ms ease; }
.workflow-category-grid .workflow-category-card { background: var(--category-card-bg); }
.workflow-category-grid .workflow-category-card:is(:hover, :focus-visible, [aria-pressed="true"]) { background: var(--category-card-hover); border-color: var(--category-border-hover); }
.workflow-category-card:focus-visible { outline: 2px solid var(--focus-ring, var(--accent)); outline-offset: 3px; }
.workflow-category-icon { display: grid; place-items: center; flex: 0 0 58px; width: 58px; height: 58px; border-radius: 9px; background: var(--category-tile); transition: background-color 140ms ease; }
.workflow-category-icon[style*="--category-fill-icon:"]::before { content: ""; grid-area: 1 / 1; z-index: 0; width: 100%; height: 100%; background: var(--category-fill); -webkit-mask: var(--category-fill-icon) center / contain no-repeat; mask: var(--category-fill-icon) center / contain no-repeat; }
.workflow-category-icon > span { display: block; grid-area: 1 / 1; z-index: 1; width: 100%; height: 100%; background: var(--category-ink); -webkit-mask: var(--category-icon) center / contain no-repeat; mask: var(--category-icon) center / contain no-repeat; }
.workflow-category-card:is(:hover, :focus-visible, [aria-pressed="true"]) .workflow-category-icon { background: var(--category-tile-hover); }
.workflow-category-card strong { min-width: 0; overflow-wrap: anywhere; }
.workflow-category-count { margin-left: auto; padding-left: 6px; color: var(--category-count); font-size: 13px; font-variant-numeric: tabular-nums; }
.workflow-category-summary, .workflow-category-empty { color: var(--text-3); font-size: 14px; }
.workflow-category-empty { padding: 32px 16px; border: 1px dashed var(--category-border); border-radius: 12px; text-align: center; }
@media (prefers-reduced-motion: reduce) {
  .workflow-category-card, .workflow-category-icon { transition: none; }
}
.workflow-card-open { color: var(--text-2); font-size: 12px; text-decoration: none; white-space: nowrap; }
.workflow-card-open:hover { color: var(--text); text-decoration: underline; }
.workflow-source-heading { display: flex; align-items: center; gap: 6px; margin: 18px 12px 10px; color: var(--text-2); font-size: 14px; font-weight: 600; }
.workflow-skill-library { max-width: 790px; }
.workflow-skill-row { display: flex; align-items: center; gap: 14px; min-height: 64px; padding: 10px 12px; border-bottom: 1px solid var(--border); }
.workflow-skill-icon { display: grid; place-items: center; width: 36px; height: 36px; flex: none; border: 1px solid var(--border); border-radius: 9px; background: var(--surface); color: var(--text-2); }
.workflow-skill-icon .resource-icon { width: 18px; height: 18px; }
.workflow-skill-copy { min-width: 0; flex: 1; }
.workflow-skill-title { display: flex; align-items: center; gap: 8px; min-width: 0; }
.workflow-skill-title strong { overflow: hidden; color: var(--text); font-size: 14px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.workflow-skill-chip { padding: 2px 7px; border-radius: 6px; background: var(--control-bg); color: var(--text-2); font-size: 11px; white-space: nowrap; }
.workflow-skill-copy p { margin: 3px 0 0; overflow: hidden; color: var(--text-2); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.workflow-skill-copy p b { padding: 0 6px; color: var(--text-3); font-weight: 400; }
.workflow-skill-row time { color: var(--text-3); font-size: 12px; white-space: nowrap; }
.workflow-extension-detail { max-width: 980px; margin: 0 auto; }
.workflow-detail-back { margin: 4px 0 20px; }
.workflow-detail-back a { color: var(--text-2); text-decoration: none; }
.workflow-detail-heading { display: flex; align-items: center; gap: 14px; }
.workflow-detail-heading h1 { margin: 0; font-size: 24px; }
.workflow-detail-heading p { margin: 4px 0 0; color: var(--text-2); font-size: 13px; }
.workflow-detail-icon { display: grid; place-items: center; flex: none; width: 52px; height: 52px; box-sizing: border-box; border: 1px solid var(--border); border-radius: 14px; background: var(--code-bg); color: var(--text-2); }
.workflow-detail-icon .resource-icon { width: 24px; height: 24px; }
.workflow-detail-close { margin-left: auto; color: var(--text-2); font-size: 26px; line-height: 1; text-decoration: none; }
.workflow-detail-tabs { display: flex; gap: 24px; margin-top: 16px; border-bottom: 1px solid var(--border); }
.workflow-detail-tabs a { padding: 8px 2px; color: var(--text-2); text-decoration: none; }
.workflow-detail-tabs a.is-active { border-bottom: 2px solid var(--accent, var(--text)); color: var(--text); }
.workflow-detail-items { padding: 24px 0; }
.workflow-detail-item { display: flex; align-items: center; gap: 14px; padding: 15px 8px; border-bottom: 1px solid var(--border); }
.workflow-detail-item-icon { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 9px; background: var(--sunken); color: var(--text-2); font-size: 20px; }
.workflow-detail-item p { margin: 4px 0 0; color: var(--text-2); }
.workflow-detail-overview { display: grid; gap: 14px; padding: 24px 0; max-width: 760px; }
.workflow-detail-meta { display: flex; justify-content: space-between; gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--border); color: var(--text-2); }
.workflow-detail-meta code { max-width: 65%; overflow-wrap: anywhere; font-size: 12px; }
.workflow-detail-overview > p { line-height: 1.7; }
.workflow-detail-versionbar { display: flex; justify-content: space-between; align-items: center; margin: 24px 0 12px; color: var(--text-2); }
.workflow-detail-versionbar a { color: var(--text); font-size: 23px; text-decoration: none; }
.workflow-content-browser { position: relative; display: grid; grid-template-columns: var(--workflow-tree-width, 270px) minmax(0, 1fr); min-height: 520px; overflow: hidden; border: 1px solid var(--border); border-radius: 12px; background: var(--surface); }
.workflow-file-tree { display: grid; align-content: start; gap: 2px; padding: 10px 8px; border-right: 1px solid var(--border); background: var(--resource-tree-bg, var(--bg)); overflow: auto; }
.workflow-file-tree-folder, .workflow-file-tree-file { display: flex; align-items: center; min-width: 0; gap: 8px; box-sizing: border-box; min-height: 32px; padding: 5px 8px 5px calc(8px + var(--tree-depth, 0) * 18px); border-radius: 7px; color: var(--text-2); font-size: 16px; line-height: 20px; }
.workflow-file-tree-folder { color: var(--text-2); }
.workflow-file-tree-folder .resource-icon, .workflow-file-tree-file .resource-icon { width: 16px; height: 16px; flex: none; color: var(--text-3); }
.workflow-file-tree-folder > span:not(.workflow-file-tree-chevron), .workflow-file-tree-file > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.workflow-file-tree-chevron { width: 7px; height: 7px; flex: none; margin: 0 3px 4px auto; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; color: var(--text-3); transform: rotate(45deg); }
.workflow-file-tree-file { text-decoration: none; }
.workflow-file-tree-file.is-selected > span { font-weight: 550; }
.workflow-file-tree-file:hover, .workflow-file-tree-file.is-selected { background: var(--resource-tree-selected-bg, var(--control-bg)); color: var(--text); }
.workflow-file-tree-file.is-selected .resource-icon, .workflow-file-tree-file:hover .resource-icon { color: var(--text-2); }
.workflow-file-preview { min-width: 0; }
.workflow-file-resizer { position: absolute; z-index: 3; inset-block: 0; left: calc(var(--workflow-tree-width, 270px) - 7.2px); width: 12px; cursor: col-resize; }
.workflow-file-resizer > span { position: absolute; top: 50%; left: 50%; width: 3px; height: 48px; border-radius: 999px; background: currentColor; color: var(--text-3); opacity: 0; transform: translate(-50%, -50%); transition: opacity 140ms ease, box-shadow 140ms ease; }
.workflow-file-resizer:hover > span, .workflow-file-resizer:focus-visible > span, .workflow-file-resizer.is-dragging > span { opacity: 1; }
.workflow-file-resizer:focus-visible { outline: 2px solid var(--focus-ring, var(--accent)); outline-offset: -2px; }
.workflow-file-toolbar { display: flex; justify-content: space-between; gap: 12px; padding: 18px 24px; border-bottom: 1px solid var(--border); color: var(--text-2); }
.workflow-file-toolbar code { overflow-wrap: anywhere; color: var(--text-2); font-family: var(--font-mono); font-size: 14px; font-weight: 400; letter-spacing: normal; }
.workflow-file-preview pre { max-height: 640px; margin: 0; padding: 24px; overflow: auto; white-space: pre-wrap; font: 13px/1.6 var(--font-mono); }
.workflow-content-modes { display: inline-flex; gap: 4px; }
.workflow-content-modes a { padding: 4px 7px; border-radius: 6px; color: var(--text-2); text-decoration: none; }
.workflow-content-modes a.is-active, .workflow-content-modes a:hover { background: var(--control-bg); color: var(--text); }
.workflow-markdown-preview { max-height: 640px; padding: 24px; overflow: auto; color: var(--text); font: 15px/1.6 var(--font-body); font-kerning: normal; font-variant-ligatures: common-ligatures; white-space: pre-wrap; }
/* 正文段落节奏:默认 1em(15px)偏松,收到 12px;末段不留尾距 */
.workflow-markdown-preview p { margin: 0 0 12px; }
.workflow-markdown-preview ul, .workflow-markdown-preview ol { margin: 0 0 12px; padding-left: 22px; }
.workflow-markdown-preview li { margin: 0; }
.workflow-markdown-preview :last-child { margin-bottom: 0; }
.workflow-markdown-preview :first-child { margin-top: 0; }
.workflow-markdown-preview h1, .workflow-markdown-preview h2, .workflow-markdown-preview h3 { line-height: 1.35; }
.workflow-markdown-preview code { padding: 1px 4px; border-radius: 4px; background: var(--sunken); font-family: var(--font-mono, monospace); }
/* 文件预览的正文样式。素材统计(1285 份 md):标题 99%、围栏代码 53%、分隔线 47%、
   表格 46%、有序列表 45%。此前只覆盖了内联 code,围栏代码/表格/引用/分隔线全落到
   浏览器默认——这才是"看具体文件时很奇怪"的另一半。 */
.workflow-markdown-preview h1 { margin: 20px 0 10px; font-size: 21px; font-weight: 650; letter-spacing: normal; }
.workflow-markdown-preview h2 { margin: 18px 0 8px; font-size: 18px; font-weight: 650; letter-spacing: normal; }
.workflow-markdown-preview h3 { margin: 16px 0 6px; font-size: 16px; font-weight: 600; }
.workflow-markdown-preview h4 { margin: 14px 0 6px; font-size: 15px; font-weight: 600; color: var(--text-2); }
.workflow-markdown-preview pre { margin: 0 0 12px; padding: 12px 14px; overflow: auto; border: 1px solid var(--border); border-radius: 8px; background: var(--sunken); font: 13px/1.6 var(--font-mono, monospace); }
.workflow-markdown-preview pre code { padding: 0; border: 0; background: none; font-size: inherit; font-family: inherit; }
.workflow-markdown-preview table { width: 100%; margin: 0 0 12px; border-collapse: collapse; font-size: 13.5px; }
.workflow-markdown-preview th, .workflow-markdown-preview td { padding: 6px 10px; border: 1px solid var(--border); text-align: left; vertical-align: top; }
.workflow-markdown-preview th { background: var(--sunken); font-weight: 600; }
.workflow-markdown-preview blockquote { margin: 0 0 12px; padding: 2px 0 2px 14px; border-left: 3px solid var(--border-strong, var(--border)); color: var(--text-2); }
.workflow-markdown-preview hr { margin: 18px 0; border: 0; border-top: 1px solid var(--border); }
.workflow-markdown-preview img { max-width: 100%; height: auto; border-radius: 6px; }
.workflow-markdown-preview a { color: var(--link-fg, var(--text)); text-decoration: underline; text-underline-offset: 2px; }
.workflow-markdown-preview li + li { margin-top: 3px; }
.workflow-modal { display: none; position: fixed; inset: 0; z-index: 80; align-items: center; justify-content: center; padding: 24px; }
.workflow-modal[hidden] { display: none; }
.workflow-modal:not([hidden]) { display: flex; }
.workflow-modal-backdrop { position: absolute; inset: 0; border: 0; padding: 0; background: rgb(0 0 0 / .58); backdrop-filter: blur(7px); cursor: default; }
.workflow-modal-panel { position: relative; z-index: 1; width: min(100%, 920px); max-height: min(820px, calc(100vh - 48px)); overflow: auto; padding: 32px; border: 1px solid var(--border-strong, var(--border)); border-radius: 16px; background: var(--panel-bg, var(--surface)); box-shadow: 0 24px 80px rgb(0 0 0 / .4); }
.workflow-create-panel { width: min(100%, 1060px); }
.workflow-modal-close { position: absolute; top: 19px; right: 24px; color: var(--text-2); font-size: 28px; line-height: 1; text-decoration: none; }
.workflow-modal-panel h2 { margin: 18px 0 6px; font-size: 28px; }
.workflow-modal-label { display: grid; gap: 7px; margin-top: 22px; font-weight: 600; }
.workflow-modal-label input, .workflow-modal-label textarea, .workflow-editor input, .workflow-editor textarea { box-sizing: border-box; width: 100%; border: 1px solid var(--input-line, var(--border)); border-radius: 9px; background: var(--input-bg, var(--sunken)); color: var(--text); font: inherit; }
.workflow-modal-label input, .workflow-modal-label textarea { padding: 11px 13px; }
.workflow-modal-label input[type=file] { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.workflow-upload-drop { display: grid; place-items: center; min-height: 150px; margin-top: 12px; border: 1px dashed var(--border-strong, var(--border)); border-radius: 14px; color: var(--text-2); text-align: center; }
.workflow-upload-drop { cursor: pointer; }
.workflow-upload-drop.is-dragging, .workflow-upload-drop:hover { border-color: var(--focus-ring, var(--text-2)); background: var(--control-bg); }
.workflow-upload-drop span { font-size: 14px; }
.workflow-modal-help { margin: 10px 0 20px; padding-left: 20px; color: var(--text-2); }
.workflow-modal-scan { display: flex; justify-content: space-between; padding: 16px; border: 1px solid var(--border); border-radius: 12px; color: var(--text-2); }
.workflow-modal-actions { display: flex; align-items: center; justify-content: flex-end; gap: 10px; margin-top: 22px; }
.workflow-editor { position: relative; display: block; min-height: 360px; margin-top: 22px; border: 1px solid var(--border); border-radius: 14px; overflow: hidden; background: var(--sunken); }
.workflow-editor aside { display: none; align-content: start; gap: 12px; padding: 20px; border-right: 1px solid var(--border); }
.workflow-editor aside input { padding: 10px; }
.workflow-editor article { display: grid; min-height: 360px; grid-template-rows: auto minmax(0, 1fr); }
.workflow-editor-toolbar { display: flex; justify-content: space-between; padding: 18px 22px; border-bottom: 1px solid var(--border); color: var(--text-2); }
.workflow-editor textarea { height: 100%; padding: 22px; border: 0; border-radius: 0; resize: none; background: var(--surface); font: 13px/1.7 var(--font-mono, monospace); }
.workflow-editor-add { position: absolute; top: 10px; right: 16px; padding: 5px 8px; border: 0; background: transparent; color: var(--text); font: inherit; cursor: pointer; }
.workflow-editor.has-file { display: grid; grid-template-columns: 280px minmax(0, 1fr); }
.workflow-editor.has-file aside { display: grid; }
.workflow-editor.has-file article { min-height: 360px; }
.workflow-editor.has-file .workflow-editor-add { top: auto; right: auto; bottom: 0; left: 0; width: 280px; padding: 12px 20px; border-top: 1px solid var(--border); text-align: left; }
.workflow-modal-open { overflow: hidden; }
@media (max-width: 900px) {
  .workflow-admin-shell { grid-template-columns: 1fr; gap: 14px; }
  .workflow-admin-rail { position: static; grid-template-columns: minmax(0, 1fr) auto; align-items: start; padding-bottom: 12px; border-bottom: 1px solid var(--border); }
  .workflow-rail-search { grid-column: 1 / -1; }
  .workflow-rail-group { display: flex; flex-wrap: wrap; align-items: center; }
  .workflow-rail-label { width: 100%; }
  .workflow-rail-note { display: none; }
  .workflow-content-browser { grid-template-columns: 210px minmax(0, 1fr); }
}
@media (max-width: 640px) {
  .workflow-library-toolbar { align-items: stretch; flex-direction: column; }
  .workflow-library-search { width: 100%; }
  .workflow-content-browser { grid-template-columns: 1fr; }
  .workflow-file-tree { border-right: 0; border-bottom: 1px solid var(--border); }
  .workflow-modal { padding: 8px; }
  .workflow-modal-panel { padding: 22px 18px; border-radius: 12px; }
  .workflow-editor.has-file { grid-template-columns: 1fr; }
  .workflow-editor aside { border-right: 0; border-bottom: 1px solid var(--border); }
  .workflow-editor.has-file .workflow-editor-add { position: static; width: auto; }
  .workflow-discover-grid { grid-template-columns: 1fr; }
  .workflow-category-grid { grid-template-columns: 1fr; }
  .workflow-discover-heading { align-items: center; flex-direction: row; }
  .workflow-skill-row { align-items: flex-start; }
  .workflow-skill-row time { margin-left: auto; }
}
/* Skills library alignment */
.capability-page .section-head h1{font-size:22px;font-weight:500}.workflow-library-toolbar{margin-top:14px}.workflow-library-tabs a{font-size:14px;padding:6px 10px}.workflow-library-actions button,.workflow-library-actions summary{min-height:30px;font-size:14px}.workflow-skill-row{min-height:64px}.workflow-skill-title strong{font-size:15px;font-weight:500}.workflow-skill-copy p{font-size:13px}.workflow-skill-row time{font-size:12px}.workflow-discover-card button{font-size:13px;width:auto;padding:0 10px}

.workflow-library-tabs { display: inline-flex; align-items: center; gap: 0; padding: 2px; border-radius: 9px; background: var(--control-bg, var(--sunken)); }
.workflow-library-tabs a { display: inline-flex; align-items: center; min-height: 34px; padding: 6px 12px; border-radius: 7px; font-size: 16px; line-height: 20px; }
.workflow-library-tabs a.is-active { background: var(--surface); box-shadow: 0 1px 3px rgb(0 0 0 / .12); }
.workflow-library-heading .workflow-library-search { width: 256px; height: 32px; padding: 0 12px; border-radius: 9px; font-size: 14px; line-height: 20px; }
.workflow-library-heading .workflow-library-actions > .workflow-menu:not(.workflow-add-menu) > summary { width: 32px; height: 32px; min-height: 32px; padding: 0; justify-content: center; border-radius: 9px; background: transparent; }
.workflow-library-heading .workflow-library-actions > .workflow-menu:not(.workflow-add-menu) > summary .resource-icon { width: 18px; height: 18px; stroke-width: 1.3; }
.workflow-library-heading .workflow-library-actions > .workflow-menu:not(.workflow-add-menu) > summary:hover, .workflow-library-heading .workflow-library-actions > .workflow-menu[open]:not(.workflow-add-menu) > summary { background: var(--control-bg, var(--sunken)); }
.workflow-control-label { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.workflow-library-heading .workflow-add-menu > summary { border-radius: 10px; }
@media (max-width: 640px) {
  .workflow-resource-modal .workflow-admin-content { padding-left: 16px; padding-right: 16px; }
  .workflow-library-heading { grid-template-columns: minmax(0, 1fr) max-content; gap: 12px; }
  .workflow-library-titlebar { grid-column: 1 / -1; grid-row: 1; min-width: 0; }
  .workflow-library-search { grid-column: 1 / -1; grid-row: 2; width: 100% !important; }
  .workflow-library-actions { grid-column: 1 / -1; grid-row: 3; justify-self: stretch; justify-content: flex-end; }
}
.workflow-source-heading { margin: 26px 0 10px; font-size: 16px; }
.workflow-skill-library { max-width: none; }
.workflow-skill-row { position: relative; min-height: 74px; padding: 12px 0; gap: 14px; border-radius: 0; }
.workflow-skill-row:hover { background: transparent; }
.workflow-skill-icon { width: 44px; height: 44px; border-radius: 10px; }
.workflow-skill-icon .resource-icon { width: 18px; height: 18px; }
.workflow-skill-title strong { font-size: 16px; font-weight: 600; }
.workflow-skill-copy p { margin-top: 4px; font-size: 14px; line-height: 20px; }
.workflow-skill-row time { font-size: 14px; }
.workflow-skill-actions { position: relative; display: inline-flex; flex: none; align-items: center; }
.workflow-skill-menu-button { display: grid; place-items: center; width: 32px; height: 32px; padding: 0 0 6px; border: 0; border-radius: 9px; background: transparent; color: var(--text); font: 24px/1 system-ui, sans-serif; cursor: pointer; }
.workflow-skill-menu-button:hover, .workflow-skill-menu-button[aria-expanded="true"] { background: var(--control-bg, var(--sunken)); }
.workflow-skill-popover { position: absolute; z-index: 45; top: calc(100% + 6px); right: 0; display: block; min-width: 152px; padding: 6px; border: 1px solid var(--border-strong, var(--border)); border-radius: 14px; background: var(--surface); box-shadow: 0 10px 26px rgb(0 0 0 / .22); }
.workflow-skill-popover[hidden] { display: none; }
.workflow-skill-popover button { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 38px; padding: 0 10px; border: 0; border-radius: 9px; background: transparent; color: #b54848; font: inherit; text-align: left; cursor: pointer; }
.workflow-skill-popover button:hover { background: color-mix(in srgb, #b54848 10%, var(--surface)); }
.workflow-skill-popover [data-workflow-plugin-manage] { color: var(--text); }
.workflow-skill-popover [data-workflow-plugin-manage]:hover { background: var(--control-bg, var(--sunken)); }
.workflow-skill-popover .resource-icon { width: 18px; height: 18px; color: currentColor; }
.workflow-catalog-index{display:none}
.workflow-editor-file{display:grid;grid-template-columns:minmax(160px,.8fr) minmax(0,2fr) auto;gap:6px;margin-top:8px}.workflow-editor-file input,.workflow-editor-file textarea{padding:7px}.workflow-file-remove{align-self:start;height:30px}
/* Skills workspace interaction parity fixes. */
.workflow-admin-shell { grid-template-columns: 160px minmax(0, 1fr); }
.workflow-library-heading { position: relative; display: grid; grid-template-columns: max-content minmax(0, 1fr) max-content; align-items: center; gap: 18px; }
.workflow-library-titlebar { display: flex; align-items: center; gap: 14px; min-width: 0; }
.workflow-library-heading h1 { margin: 0; font-size: 22px; font-weight: 600; white-space: nowrap; }
.workflow-library-heading .workflow-library-search { width: 256px; justify-self: end; }
.workflow-library-heading .workflow-library-actions { display: flex; align-items: center; justify-self: end; gap: 8px; min-width: max-content; }
.workflow-add-menu > summary { box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-width: 92px; height: 32px; min-height: 32px; padding: 0 12px; font-family: inherit; font-size: 14px; font-weight: 600; line-height: 20px; }
.workflow-add-menu > summary > span { color: inherit; }
.workflow-add-plus { position: relative; display: block; flex: none; width: 20px; height: 20px; }
.workflow-add-plus::before, .workflow-add-plus::after { content: ""; position: absolute; inset: 9px 2px; background: currentColor; }
.workflow-add-plus::after { transform: rotate(90deg); }
.workflow-add-label { line-height: 20px; }
.workflow-add-chevron { display: grid; place-items: center; flex: none; width: 16px; height: 20px; opacity: .7; }
.workflow-add-chevron::before { content: ""; width: 7px; height: 7px; margin-top: -4px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); }
.workflow-library-actions .workflow-menu-popover button, .workflow-library-actions .workflow-menu-popover a { min-height: 32px; font-size: 14px; line-height: 22px; }
.workflow-library-actions .workflow-menu-title { font-size: 14px; line-height: 20px; }
.workflow-add-menu { z-index: 8; }
.workflow-discover-status { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 8px; background: var(--control-bg); color: var(--text); font-size: 20px; line-height: 1; }
.workflow-category-card { width: 100%; background: transparent; font: inherit; text-align: left; cursor: pointer; }
.workflow-category-card strong { font-weight: 600; }
.workflow-skill-row[hidden], .workflow-extension-card[hidden], .workflow-discover-card[hidden] { display: none !important; }
.workflow-skill-row { cursor: pointer; border-radius: 6px; }
.workflow-skill-row:hover { background: var(--control-hover, var(--control-bg)); }
.workflow-skill-row-hit { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; margin: 0; padding: 0; border: 0; border-radius: inherit; background: transparent; cursor: pointer; }
.workflow-skill-row-hit:focus-visible { outline: 2px solid var(--focus-ring, var(--accent)); outline-offset: -2px; }
.workflow-skill-row > .workflow-skill-icon, .workflow-skill-row > time { position: relative; z-index: 1; pointer-events: none; }
.workflow-skill-row > .workflow-skill-copy { position: relative; z-index: 1; pointer-events: auto; }
.workflow-skill-row > .workflow-skill-actions { position: relative; z-index: 2; }
.workflow-skill-chip { border: 0; font: inherit; cursor: pointer; }
.workflow-skill-chip:focus-visible { outline: 2px solid var(--focus-ring, var(--accent)); outline-offset: 2px; }
.workflow-menu-popover button, .workflow-menu-popover a { justify-content: flex-start; gap: 8px; padding-right: 11px; }
.workflow-menu-popover button > span, .workflow-menu-popover a > span { margin-left: auto; }
.workflow-filter-check { display: none; color: var(--accent); font-weight: 600; }
.workflow-submenu button[aria-pressed="true"] .workflow-filter-check { display: inline; }
.workflow-menu-popover .resource-icon { flex: none; }
.workflow-add-menu .workflow-menu-popover button { justify-content: flex-start; padding-right: 2ch; }
.workflow-add-menu > summary, .workflow-add-menu > summary.btn-primary { background: var(--primary-bg); color: var(--primary-fg); border-color: var(--primary-bg); }
.workflow-add-menu > summary:hover, .workflow-add-menu[open] > summary { background: var(--primary-hover); color: var(--primary-fg); }
.workflow-menu-popover, .workflow-submenu { box-shadow: 0 12px 32px rgb(0 0 0 / .34); }
.workflow-modal-panel { box-shadow: 0 24px 80px rgb(0 0 0 / .48); }
.workflow-modal-close { border: 0; padding: 0; background: transparent; cursor: pointer; }
.workflow-upload-drop { width: 100%; background: var(--input-bg); font: inherit; }
.workflow-editor.has-file aside { position: relative; padding: 18px 14px 58px; }
.workflow-editor.has-file .workflow-editor-add { width: 100%; }
.workflow-editor.has-file article { min-width: 0; }
.workflow-editor-tree { display: grid; gap: 3px; align-content: start; max-height: 240px; overflow: auto; }
.workflow-editor-tree-file { width: 100%; overflow: hidden; padding: 8px 10px; border: 0; border-radius: 7px; background: transparent; color: var(--text-2); font: inherit; text-align: left; text-overflow: ellipsis; white-space: nowrap; cursor: pointer; }
.workflow-editor-tree-file.is-active, .workflow-editor-tree-file:hover { background: var(--control-bg); color: var(--text); }
.workflow-editor-new-file { min-width: 0; }
.workflow-editor-new-file > div { display: flex; gap: 6px; margin-top: 8px; }
.workflow-editor-controls { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; }
.workflow-editor-controls button { border: 0; padding: 5px 8px; border-radius: 6px; background: transparent; color: var(--text-2); font: inherit; font-size: 13px; cursor: pointer; }
.workflow-editor-controls button[aria-pressed="true"], .workflow-editor-controls button:hover { color: var(--text); background: var(--control-bg); }
.workflow-editor textarea[hidden], .workflow-editor [hidden] { display: none; }
.workflow-markdown-preview { white-space: normal; }
.workflow-file-tree { max-height: 640px; overflow: auto; }
.workflow-file-error { margin: 24px; }
.workflow-modal-actions > .wf-chip { margin-right: auto; }
@media (max-width: 900px) { .workflow-admin-shell { grid-template-columns: 1fr; } }
@media (max-width: 640px) {
  .workflow-library-heading { grid-template-columns: minmax(0, 1fr) max-content; gap: 12px; }
  .workflow-library-heading h1 { grid-column: 1; grid-row: 1; }
  .workflow-library-heading .workflow-add-menu { grid-column: 2; grid-row: 1; justify-self: end; }
  .workflow-library-heading .workflow-library-search { grid-column: 1 / -1; grid-row: 2; }
  .workflow-library-heading .workflow-library-search { width: 100%; }
  .workflow-editor-toolbar { flex-wrap: wrap; gap: 10px; padding: 12px; }
  .workflow-editor.has-file aside { padding-bottom: 18px; }
  .workflow-editor.has-file .workflow-editor-add { width: auto; }
}
/* The reference Add control stays white with black text in dark mode. */
html[data-theme="dark"] .workflow-add-menu > summary:hover,
html[data-theme="dark"] .workflow-add-menu[open] > summary { background: var(--light-control); color: var(--light-text); }
@media (prefers-color-scheme: dark) {
  html:not([data-theme="light"]) .workflow-add-menu > summary:hover,
  html:not([data-theme="light"]) .workflow-add-menu[open] > summary { background: var(--light-control); color: var(--light-text); }
}

/* Skills, MCP and Plugins open as centered desktop-style resource windows. */
body:has(.workflow-resource-overlay) { overflow: hidden; }
html:has(.workflow-resource-overlay) { scrollbar-gutter: auto; }
.workflow-resource-overlay { position: fixed; inset: 0; z-index: 70; display: grid; place-items: center; width: 100vw; padding: 24px 32px; background: rgb(0 0 0 / .40); backdrop-filter: blur(4px); }
.workflow-extension-overlay { padding: 8px 4px; }
.workflow-resource-modal :is(button, select, summary) { font-family: var(--font-sans); }
.workflow-resource-modal { --resource-bg: var(--surface); --resource-browser-bg: var(--bg); --resource-tree-bg: var(--bg); --resource-tree-selected-bg: #F0EFEC; --resource-rail-active: #e3e3e2; --resource-row-hover: #f3f3f3; position: relative; display: block; width: min(1024px, calc(100vw - 8px)); height: min(800px, calc(100vh - 16px)); min-height: 0; overflow: hidden; border: 1px solid var(--border-strong, var(--border)); border-radius: 12px; background: var(--resource-bg); box-shadow: 0 8px 28px rgb(0 0 0 / .12); font-family: var(--font-sans); font-size: 14px; line-height: 20px; }
.workflow-extension-overlay .workflow-resource-modal { --resource-sidebar-bg: #fcfcfb; --resource-search-line: #e6e6e6; --resource-tabs-bg: #f3f3f3; --resource-divider: #e6e6e6; }
.workflow-extension-overlay :is(.workflow-rail-search, .workflow-library-search) { border-color: var(--resource-search-line); }
.workflow-extension-overlay .workflow-library-tabs { background: var(--resource-tabs-bg); }
.workflow-extension-overlay .workflow-library-tabs a.is-active { background: var(--resource-tab-active-bg, var(--surface)); }
.workflow-extension-overlay .workflow-resource-modal :is(.workflow-skill-row, .workflow-extension-card, .workflow-detail-tabs) { border-bottom-color: var(--resource-divider); }
.workflow-extension-overlay .workflow-resource-modal :is(.workflow-skill-row, .workflow-extension-card) .workflow-skill-icon { background: #f9f9f7; }
.workflow-extension-overlay .workflow-resource-modal :is(.workflow-source-count, .workflow-extension-card .workflow-skill-chip) { background: var(--resource-chip-bg, var(--control-bg)); }
.workflow-resource-close { position: absolute; z-index: 5; top: 14px; right: 16px; width: 28px; height: 28px; color: var(--text-2); font-size: 24px; line-height: 28px; text-align: center; text-decoration: none; }
.workflow-resource-close:hover { color: var(--text); }
.workflow-resource-modal > .workflow-admin-shell { width: 100%; max-width: none; height: 100%; margin: 0; grid-template-columns: 192px minmax(0, 1fr); gap: 0; align-items: stretch; }
.workflow-resource-modal .workflow-admin-rail { position: static; min-height: 0; height: 100%; align-content: start; overflow: auto; padding: 16px; border-right: 1px solid var(--border); background: var(--resource-sidebar-bg, var(--resource-bg)); }
.workflow-resource-modal .workflow-admin-content { min-height: 0; height: 100%; overflow: auto; padding: 56px 20px 32px; background: var(--resource-bg); }
.workflow-resource-modal .workflow-admin-content.capability-page { padding-top: 56px; }
.workflow-resource-modal .workflow-extension-detail { max-width: 944px; margin: 0 auto; padding-top: 24px; }
.workflow-resource-modal .workflow-content-browser { grid-template-columns: var(--workflow-tree-width, 244px) minmax(0, 1fr); background: var(--resource-browser-bg); }
.workflow-resource-modal .workflow-file-tree { background: var(--resource-tree-bg); }
.workflow-resource-modal .workflow-file-preview { background: var(--resource-browser-bg); }
.workflow-resource-modal .workflow-catalog-versionbar { display: flex; align-items: center; justify-content: space-between; min-height: 32px; margin: 24px 0 16px; }
.workflow-resource-modal .workflow-version-picker { position: relative; }
.workflow-resource-modal .workflow-version-picker > summary { display: inline-flex; align-items: center; justify-content: space-between; gap: 10px; width: max-content; min-width: 123px; max-width: 260px; min-height: 32px; box-sizing: border-box; padding: 0 9px; border: 1px solid var(--border); border-radius: 9px; background: var(--control-bg); color: var(--text); cursor: pointer; list-style: none; }
.workflow-resource-modal .workflow-version-picker > summary::-webkit-details-marker { display: none; }
.workflow-resource-modal .workflow-version-picker > summary > span:first-child { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.workflow-resource-modal .workflow-version-popover { position: absolute; z-index: 20; top: calc(100% + 6px); left: 0; display: grid; min-width: 260px; padding: 4px; border: 1px solid var(--border-strong, var(--border)); border-radius: 12px; background: var(--panel-bg, var(--surface)); box-shadow: 0 12px 32px rgb(0 0 0 / .34); }
.workflow-resource-modal .workflow-version-popover button { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 32px; padding: 6px 10px; border: 0; border-radius: 8px; background: transparent; color: var(--text); font: inherit; text-align: left; }
.workflow-resource-modal .workflow-version-popover button:hover { background: var(--control-hover, var(--control-bg)); }
.workflow-resource-modal .workflow-catalog-download { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 8px; color: var(--text); text-decoration: none; }
.workflow-resource-modal .workflow-catalog-download:hover { background: var(--control-bg); }
.workflow-resource-modal .workflow-catalog-download .resource-icon { width: 20px; height: 20px; }
.workflow-resource-modal .workflow-library-heading { padding-right: 0; }
.workflow-resource-modal .workflow-detail-heading { padding-right: 0; }
.workflow-resource-modal .workflow-detail-back { margin: 0 0 28px; font-size: 16px; line-height: 24px; }
.workflow-resource-modal .workflow-detail-heading h1 { font-size: 20px; line-height: 26px; }
.workflow-resource-modal .workflow-detail-heading p { font-size: 16px; line-height: 22px; color: var(--text-3); }
.workflow-resource-modal .workflow-detail-tabs { gap: 4px; font-size: 17px; line-height: 24px; }
.workflow-resource-modal .workflow-detail-tabs a { padding: 8px 14px; }
.workflow-resource-modal .workflow-detail-tabs a.is-active { border-bottom-color: var(--text); }
html[data-theme="dark"] .workflow-resource-modal {
  --resource-bg: #1a1a19;
  --resource-sidebar-bg: #151515;
  --resource-browser-bg: var(--dark-surface);
  --resource-tree-bg: var(--dark-surface);
  --resource-tree-selected-bg: var(--dark-selected);
  --resource-rail-active: var(--dark-selected);
  --resource-row-hover: #2c2c2b;
  --source-heading: #e8b887;
  --source-key: #90b5ff;
  --source-punctuation: #d8b477;
  --source-string: #c4a7ff;
  --source-inline-code: #80c7bd;
  --source-link: #90b5ff;
  --source-fence: #f0a5b8;
}
html[data-theme="dark"] .workflow-extension-overlay .workflow-resource-modal { --resource-search-line: var(--input-line); --resource-tabs-bg: #252525; --resource-tab-active-bg: #3b3b3b; --resource-divider: #313130; --resource-rail-active: #383838; --resource-chip-bg: #252525; }
@media (prefers-color-scheme: dark) {
  html:not([data-theme="light"]) .workflow-resource-modal {
    --resource-bg: #1a1a19;
    --resource-sidebar-bg: #151515;
    --resource-browser-bg: var(--dark-surface);
    --resource-tree-bg: var(--dark-surface);
    --resource-tree-selected-bg: var(--dark-selected);
    --resource-rail-active: var(--dark-selected);
    --resource-row-hover: #2c2c2b;
    --source-heading: #e8b887;
    --source-key: #90b5ff;
    --source-punctuation: #d8b477;
    --source-string: #c4a7ff;
    --source-inline-code: #80c7bd;
    --source-link: #90b5ff;
    --source-fence: #f0a5b8;
  }
  html:not([data-theme="light"]) .workflow-extension-overlay .workflow-resource-modal { --resource-search-line: var(--input-line); --resource-tabs-bg: #252525; --resource-tab-active-bg: #3b3b3b; --resource-divider: #313130; --resource-rail-active: #383838; --resource-chip-bg: #252525; }
}
@media (max-width: 900px) {
  .workflow-resource-overlay { padding: 10px; }
  .workflow-resource-modal { width: 100%; height: calc(100vh - 20px); border-radius: 12px; }
  .workflow-resource-modal > .workflow-admin-shell { grid-template-columns: 1fr; }
  .workflow-resource-modal .workflow-admin-rail { grid-template-columns: max-content minmax(0, 1fr); column-gap: 12px; max-height: 188px; border-right: 0; border-bottom: 1px solid var(--border); }
  .workflow-resource-modal .workflow-admin-content { height: auto; min-height: 0; padding: 22px 20px 36px; }
  .workflow-resource-modal .workflow-file-resizer { display: none; }
}

/* Connectors share the compact resource frame, controls and two-column discovery layout. */
.connector-resource-modal { width: min(1024px, calc(100vw - 64px)); height: min(800px, calc(100vh - 56px)); }
.connector-page { padding: 56px 20px 32px !important; }
.connector-heading { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin: 0 0 28px; }
.connector-titlebar { display: flex; align-items: center; gap: 18px; min-width: 0; }
.connector-titlebar h1 { margin: 0; color: var(--text); font-size: 22px; font-weight: 500; letter-spacing: -0.03em; white-space: nowrap; }
.connector-tabs { display: inline-flex; align-items: center; gap: 0; padding: 2px; border: 1px solid var(--border); border-radius: 10px; background: var(--control-bg, var(--sunken)); }
.connector-tab { min-height: 28px; padding: 4px 10px; border: 0; border-radius: 8px; background: transparent; color: var(--text-2); font: inherit; font-size: 14px; cursor: pointer; }
.connector-tab.is-active { background: var(--surface); color: var(--text); box-shadow: 0 1px 3px rgb(0 0 0 / .12); }
.connector-tab span { display: inline-grid; place-items: center; min-width: 20px; height: 20px; margin-left: 4px; border-radius: 999px; background: var(--control-bg, var(--sunken)); font-size: 12px; }
.connector-actions { display: flex; align-items: center; gap: 8px; flex: none; }
.connector-search { display: flex; align-items: center; gap: 10px; width: 256px; height: 32px; padding: 0 14px; box-sizing: border-box; border: 1px solid var(--input-line, var(--border)); border-radius: 10px; background: var(--input-bg, var(--surface)); }
.connector-search svg { width: 18px; height: 18px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.6; color: var(--text-3); }
.connector-search input { width: 100%; min-width: 0; border: 0; outline: 0; background: transparent; color: var(--text); font: inherit; font-size: 14px; }
.connector-search input::placeholder { color: var(--text-3); }
.connector-icon-button { display: grid !important; place-items: center; width: 32px; height: 32px; min-height: 32px !important; padding: 0 !important; border: 1px solid var(--border) !important; border-radius: 10px !important; background: var(--control-bg, var(--sunken)) !important; color: var(--text) !important; }
.connector-icon-button svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; }
.connector-add-button { display: inline-flex !important; align-items: center; justify-content: center; gap: 6px; width: 102px; height: 32px; min-height: 32px !important; padding: 0 12px !important; box-sizing: border-box; border-radius: 10px !important; font-size: 14px; }
.connector-add-button > span { font-size: inherit; font-weight: 300; line-height: 1; }
.connector-add-button b { color: inherit; font-size: 18px; font-weight: 400; }
.connector-filter-popover { min-width: 210px; padding: 10px !important; border-radius: 13px; }
.connector-filter-popover > strong { display: block; padding: 2px 10px 7px; color: var(--text-3); font-size: 13px; font-weight: 600; }
.connector-filter-popover button, .connector-add-popover button { min-height: 38px; border: 0; border-radius: 8px; background: transparent; color: var(--text); font: inherit; font-size: 15px; text-align: left; cursor: pointer; }
.connector-filter-popover button { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 0 10px; }
.connector-filter-popover button:hover, .connector-add-popover button:hover { background: var(--control-bg, var(--sunken)); }
.connector-filter-check { display: none; color: #2d7ff9; font-size: 20px; }
.connector-filter-popover button[aria-pressed="true"] .connector-filter-check { display: inline; }
.connector-add-popover { min-width: 190px; padding: 8px !important; }
.connector-add-popover button { width: 100%; padding: 0 10px; }
.connector-panel[hidden], .connector-yours-row[hidden], .connector-discover-card[hidden] { display: none !important; }
.connector-table-head, .connector-yours-row { display: grid; grid-template-columns: minmax(0, 1fr) 160px 150px; align-items: center; }
.connector-table-head { min-height: 38px; padding: 0 14px; border-bottom: 1px solid var(--border); color: var(--text-2); font-size: 14px; }
.connector-yours-row { min-height: 66px; padding: 0 14px; border-bottom: 1px solid var(--border); }
.connector-yours-name { display: flex; align-items: center; gap: 12px; min-width: 0; }
.connector-yours-name strong { overflow: hidden; color: var(--text); font-size: 14px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.connector-type { color: var(--text-2); font-size: 14px; }
.connector-status { color: var(--text-2); font-size: 20px; }
.connector-status.connected { color: var(--text-2); }
.connector-connect-button { width: max-content; padding: 6px 11px; border: 1px solid var(--border); border-radius: 9px; color: var(--text); font-size: 14px; text-decoration: none; }
.connector-connect-button:hover { background: var(--control-bg, var(--sunken)); }
.connector-section-heading { display: flex; align-items: center; justify-content: space-between; margin: 0 0 12px; }
.connector-section-heading h2 { margin: 0; color: var(--text); font-size: 18px; font-weight: 650; }
.connector-section-heading h2 span { display: inline-block; margin-left: 6px; padding: 2px 8px; border-radius: 999px; background: var(--control-bg, var(--sunken)); color: var(--text-2); font-size: 12px; font-weight: 500; vertical-align: 2px; }
.connector-section-heading button { border: 0; background: transparent; color: var(--text); font: inherit; font-size: 14px; cursor: pointer; }
.connector-section-heading button b { margin-left: 6px; font-size: 20px; font-weight: 400; vertical-align: -1px; }
.connector-discover-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.connector-discover-card { position: relative; display: flex; align-items: center; gap: 14px; min-width: 0; min-height: 106px; padding: 18px 16px; box-sizing: border-box; border: 1px solid var(--border); border-radius: 15px; background: var(--surface); }
.connector-discover-card:hover { border-color: var(--border-strong, var(--border)); box-shadow: 0 2px 7px rgb(0 0 0 / .06); }
.connector-logo { display: grid; place-items: center; flex: none; width: 34px; height: 34px; border: 1px solid var(--border); border-radius: 9px; background: var(--surface); color: var(--text); font-size: 17px; font-weight: 700; line-height: 1; }
.connector-logo-image { overflow: hidden; padding: 7px; box-sizing: border-box; background: #fff; }
.connector-logo-image img { display: block; width: 100%; height: 100%; object-fit: contain; }
.connector-discover-card > .connector-logo { width: 64px; height: 64px; border-radius: 10px; font-size: 19px; }
.connector-logo-red { background: linear-gradient(145deg, #fff 14%, #ffe3e0); color: #dc1e1e; }
.connector-logo-coral { background: linear-gradient(145deg, #fff 14%, #ffe3de); color: #ef3f32; }
.connector-logo-orange { background: linear-gradient(145deg, #fff 14%, #fff0d8); color: #ed851a; }
.connector-logo-lime { background: linear-gradient(145deg, #fff 14%, #efffce); color: #79a715; }
.connector-logo-blue { background: linear-gradient(145deg, #fff 14%, #e6f0ff); color: #2676dd; }
.connector-logo-indigo { background: linear-gradient(145deg, #fff 14%, #e7e6ff); color: #4d5ddd; }
.connector-logo-azure { background: linear-gradient(145deg, #fff 14%, #e2f4ff); color: #187ee7; }
.connector-logo-cyan { background: linear-gradient(145deg, #fff 14%, #dffbff); color: #00a5b5; }
.connector-logo-teal { background: linear-gradient(145deg, #fff 14%, #dff9f1); color: #129b78; }
.connector-logo-sky { background: linear-gradient(145deg, #fff 14%, #e3f4ff); color: #3286d8; }
.connector-logo-green { background: linear-gradient(145deg, #fff 14%, #e3fae7); color: #1b9a4c; }
.connector-logo-multicolor { background: linear-gradient(135deg, #eff6ff 0 33%, #fff4d9 33% 66%, #ffe6e6 66%); color: #367fd7; font-size: 12px !important; }
.connector-card-copy { min-width: 0; padding-right: 30px; }
.connector-card-copy h3 { margin: 0; overflow: hidden; color: var(--text); font-size: 16px; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.connector-verified { color: var(--text-3); font-size: 15px; font-weight: 400; }
.connector-card-copy p { display: -webkit-box; margin: 4px 0 0; overflow: hidden; color: var(--text-2); font-size: 14px; line-height: 20px; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.connector-card-add { position: absolute; top: 50%; right: 16px; display: grid; place-items: center; width: 34px; height: 34px; transform: translateY(-50%); border: 1px solid var(--border); border-radius: 9px; background: var(--surface); color: var(--text); font-size: 26px; font-weight: 300; line-height: 1; cursor: pointer; }
.connector-card-add:hover { background: var(--control-bg, var(--sunken)); }
.connector-card-add.is-added, .connector-card-added { border-color: #b9e6bb; background: #d5f5d5; color: #2e8b35; font-size: 20px; }
.connector-card-added { position: absolute; top: 50%; right: 16px; display: grid; place-items: center; width: 34px; height: 34px; box-sizing: border-box; border: 1px solid; border-radius: 9px; font-weight: 650; line-height: 1; transform: translateY(-50%); }
.connector-empty { display: grid; justify-items: center; gap: 7px; padding: 68px 20px; border-bottom: 1px solid var(--border); color: var(--text-2); text-align: center; }
.connector-empty strong { color: var(--text); font-size: 16px; }
.connector-empty-action { margin-top: 8px; padding: 7px 12px; border: 1px solid var(--border); border-radius: 8px; background: var(--surface); color: var(--text); font: inherit; cursor: pointer; }
.connector-notice { margin: 18px 0 0; }
.connector-catalog-note { display: none; }
.connector-advanced { margin-top: 28px; border-top: 1px solid var(--border); }
.connector-advanced > summary { display: flex; align-items: center; gap: 10px; padding: 16px 0; color: var(--text); font-weight: 600; cursor: pointer; list-style: none; }
.connector-advanced > summary::-webkit-details-marker { display: none; }
.connector-advanced > summary::before { content: '＋'; width: 20px; color: var(--text-2); font-size: 18px; font-weight: 400; }
.connector-advanced[open] > summary::before { content: '−'; }
.connector-advanced > summary span { color: var(--text-3); font-size: 13px; font-weight: 400; }
.connector-custom-panel { display: flex; flex-direction: column; width: min(806px, 100%); height: 675px; box-sizing: border-box; padding: 36px; border-radius: 16px; overflow: hidden; }
.connector-custom-panel h2 { margin: 0 0 26px; font-size: 30px; letter-spacing: -0.03em; }
.connector-custom-panel > p { margin: 0 0 18px; color: var(--text-2); font-size: 16px; line-height: 24px; white-space: pre-line; }
.connector-custom-panel form { display: flex; flex: 1; flex-direction: column; min-height: 0; }
.connector-custom-field { display: block; margin-top: 24px; color: var(--text-2); font-size: 0; }
.connector-custom-name-field { margin-top: 0; }
.connector-custom-endpoint-field { margin-top: 21px; }
.connector-custom-field + .connector-custom-help { margin-top: 8px; }
.connector-custom-name-field + .connector-custom-name-help { margin-top: 18px; }
.connector-custom-endpoint-field + .connector-custom-help { margin-top: 16px; }
.connector-custom-field input { width: 100%; height: 48px; box-sizing: border-box; padding: 0 14px; border: 1px solid var(--input-line, var(--border)); border-radius: 10px; background: var(--input-bg, var(--surface)); color: var(--text); font: inherit; font-size: 16px; }
.connector-custom-help, .connector-custom-warning { color: var(--text-2); font-size: 16px; line-height: 24px; }
.connector-custom-help { margin: 8px 0 43px; }
.connector-custom-name-help { margin-bottom: 0; }
.connector-custom-warning { margin: 0 0 35px; color: var(--text-2); }
.connector-custom-server-note { margin: 0; color: var(--text-2); font-size: 16px; line-height: 24px; }
.connector-custom-server-note a { color: #2864b7; text-decoration: underline; }
.connector-custom-panel .workflow-modal-actions { margin-top: auto; }
.connector-custom-panel .workflow-modal-actions .btn { min-height: 48px; padding: 0 18px; border-radius: 10px; font-size: 16px; }
.connector-custom-panel .workflow-modal-actions .btn-primary { min-width: 106px; }
.connector-custom-panel .workflow-modal-actions .btn-primary:disabled { border-color: #a8a8a8; background: #a8a8a8 !important; color: #fff !important; cursor: not-allowed; }
@media (max-width: 900px) {
  .connector-heading { align-items: stretch; flex-direction: column; }
  .connector-actions { flex-wrap: wrap; }
  .connector-search { flex: 1 1 260px; }
  .connector-discover-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .connector-resource-modal { width: 100%; height: calc(100vh - 20px); }
  .connector-page { padding: 22px 18px 36px !important; }
  .connector-titlebar { align-items: flex-start; flex-direction: column; gap: 12px; }
  .connector-actions { display: grid; grid-template-columns: minmax(0, 1fr) 38px 108px; }
  .connector-search { grid-column: 1 / -1; width: 100%; }
  .connector-table-head, .connector-yours-row { grid-template-columns: minmax(0, 1fr) 84px 82px; padding: 0 6px; }
  .connector-custom-panel { height: auto; min-height: 675px; padding: 28px 20px; }
}

/* 资源窗口视觉对齐：中文标签、紧凑侧栏节奏与清晰的标题层级。 */
.workflow-resource-modal .workflow-admin-rail { padding: 12px; }
.workflow-resource-modal .workflow-admin-rail .workflow-rail-group { gap: 2px; }
.workflow-resource-modal .workflow-rail-label { padding: 0 8px 7px; color: var(--text-3); font-size: 12px; line-height: 20px; }
.workflow-resource-modal .workflow-rail-link { min-height: 32px; padding: 0 8px; border-radius: 9px; color: var(--text-2); font-size: 14px; line-height: 20px; }
.workflow-resource-modal .workflow-rail-link.is-active { background: var(--resource-rail-active); color: var(--text); }
.workflow-resource-modal .workflow-rail-icon { width: 18px; height: 18px; flex: none; }
.workflow-library-heading h1 { font-size: 22px; font-weight: 500; letter-spacing: -0.035em; }
.workflow-library-tabs a { min-height: 28px; padding: 4px 10px; font-size: 14px; line-height: 20px; }
.workflow-source-heading { margin-top: 28px; font-size: 16px; font-weight: 550; line-height: 22px; }
.workflow-source-heading strong { font-weight: 550; }
.workflow-source-count { display: inline-grid; place-items: center; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 999px; background: var(--control-bg, var(--sunken)); color: var(--text-2); font-size: 12px; font-weight: 500; line-height: 16px; }
.workflow-skill-row { min-height: 74px; }
.workflow-skill-title strong { font-size: 14px; font-weight: 500; line-height: 20px; }
.workflow-skill-copy p { font-size: 14px; line-height: 20px; }
.workflow-skill-row time { font-size: 16px; line-height: 22px; }
.workflow-discover-heading h2, .workflow-category-heading h2 { font-weight: 600; }
.workflow-discover-card strong { font-weight: 500; }
.workflow-category-card strong { font-weight: 500; }
.workflow-add-menu > summary { font-weight: 500; }
.workflow-add-menu .workflow-menu-popover .resource-icon { width: 20px; height: 20px; }
@media (max-width: 900px) {
  .workflow-resource-modal .workflow-rail-link { font-size: 15px; }
  .workflow-library-heading h1 { font-size: 24px; }
}

/* Full-screen reference: fixed toolbar, 64px rows and a reserved trailing action column. */
.workflow-resource-modal .workflow-admin-content:has(> .workflow-library-heading) { display: flex; flex-direction: column; overflow: hidden; padding-bottom: 0; }
.workflow-resource-modal .workflow-library-heading { flex: none; z-index: 10; }
.workflow-resource-modal .workflow-library-heading { column-gap: 8px; }
.workflow-resource-modal .workflow-skill-library { min-height: 0; overflow: auto; scrollbar-width: thin; margin: 20px -12px 0; padding: 0 12px 24px; }
.workflow-resource-modal .workflow-source-heading { margin: 0 0 4px; color: var(--text); font-size: 15px; line-height: 20px; }
.workflow-resource-modal .workflow-source-count { min-width: 20px; height: 20px; }
.workflow-resource-modal .workflow-source-heading strong { font-weight: 500; }
.workflow-resource-modal .workflow-skill-row { display: grid; grid-template-columns: 36px minmax(0, 1fr) 70px 32px; align-items: center; gap: 16px; min-height: 63.5px; margin: 0 -12px; padding: 8px 12px; border-radius: 0; }
.workflow-resource-modal .workflow-skill-row:hover, .workflow-resource-modal .workflow-skill-row:focus-visible { border-radius: 12px; background: var(--resource-row-hover); }
.workflow-resource-modal .workflow-skill-icon { width: 36px; height: 36px; border-radius: 8px; background: var(--resource-browser-bg); }
.workflow-resource-modal .workflow-skill-row .workflow-skill-title { height: 20px; }
.workflow-resource-modal .workflow-skill-row .workflow-skill-title strong { letter-spacing: normal; }
.workflow-resource-modal .workflow-skill-row .workflow-skill-chip { display: inline-flex; align-items: center; height: 18px; padding: 0 6px; border-radius: 4.5px; font-size: 11px; line-height: 14px; }
.workflow-resource-modal .workflow-skill-row .workflow-skill-copy p { margin-top: 2px; font-size: 13px; line-height: 17px; }
.workflow-resource-modal .workflow-skill-row time { text-align: center; font-size: 13px; line-height: 17px; }
.workflow-resource-modal .workflow-extension-list { min-height: 0; overflow: auto; scrollbar-width: thin; margin: 20px -12px 0; padding: 0 12px 24px; }
.workflow-resource-modal .workflow-extension-list .workflow-source-heading { margin: 0 0 4px; }
.workflow-resource-modal .workflow-extension-card { margin: 0; border: 0; border-bottom: 1px solid var(--border); border-radius: 0; background: transparent; box-shadow: none; }
.workflow-resource-modal .workflow-extension-card .workflow-skill-icon { border-radius: 8px; }
.workflow-resource-modal .workflow-extension-card > summary { position: relative; display: grid; grid-template-columns: 36px minmax(0, 1fr) 52px 32px; align-items: center; gap: 16px; min-height: 63px; margin: 0 -12px; padding: 8px 12px; box-sizing: border-box; border-radius: 0; cursor: pointer; list-style: none; }
.workflow-resource-modal .workflow-extension-card > summary > :is(.workflow-skill-icon, .workflow-skill-copy, time) { position: relative; z-index: 1; pointer-events: none; }
.workflow-resource-modal .workflow-extension-card > summary::-webkit-details-marker { display: none; }
.workflow-resource-modal .workflow-extension-card > summary:is(:hover, :focus-visible), .workflow-resource-modal .workflow-extension-card[open] > summary { border-radius: 12px; background: var(--resource-row-hover); }
.workflow-resource-modal .workflow-extension-card .workflow-skill-title { height: 20px; }
.workflow-resource-modal .workflow-extension-card .workflow-skill-chip { max-width: 120px; height: 18px; overflow: hidden; padding: 0 6px; font-size: 11px; line-height: 18px; text-overflow: ellipsis; }
.workflow-resource-modal .workflow-extension-card .workflow-skill-copy p { margin-top: 2px; font-size: 13px; line-height: 17px; }
.workflow-resource-modal .workflow-extension-card > summary time { color: var(--text-3); font-size: 13px; text-align: left; white-space: nowrap; }
.workflow-resource-modal .workflow-extension-card .workflow-card-open { position: relative; z-index: 2; display: grid; place-items: center; width: 32px; height: 32px; border: 0; border-radius: 8px; background: transparent; color: var(--text); font: inherit; font-size: 22px; line-height: 1; text-decoration: none; cursor: pointer; }
.workflow-resource-modal .workflow-extension-card .workflow-card-open:hover { background: var(--control-bg); }
.workflow-resource-modal .workflow-extension-card .capability-summary { padding: 12px 0 0 52px; }
.workflow-resource-modal .workflow-extension-card .extension-version-list { margin: 8px 0 18px 52px; }
.workflow-resource-modal .workflow-extension-empty { margin: 28px 0; color: var(--text-2); font-size: 14px; }
.workflow-resource-modal .workflow-discover { min-height: 0; overflow: auto; padding-bottom: 24px; }
.connector-card-copy h3, .connector-yours-name strong, .connector-empty strong { font-weight: 500; }
.connector-add-button > .workflow-add-plus { font-size: inherit; }
.connector-add-button > .workflow-add-chevron { font-size: inherit; }
/* Attachment samples at 1.5x: 48px tall; default #0B0B0B, hover #2C2C2A. */
.workflow-resource-modal .workflow-menu.workflow-add-menu > summary { background: #0b0b0b; color: #fff; border-color: #0b0b0b; box-shadow: none; transform: none; }
.workflow-resource-modal .workflow-menu.workflow-add-menu > summary:hover,
.workflow-resource-modal .workflow-menu.workflow-add-menu[open] > summary { background: #2c2c2a; color: #fff; border-color: #2c2c2a; box-shadow: none; transform: none; }
html[data-theme="dark"] .workflow-resource-modal .workflow-menu.workflow-add-menu > summary { background: #fff; color: #0b0b0b; border-color: #fff; }
html[data-theme="dark"] .workflow-resource-modal .workflow-menu.workflow-add-menu > summary:hover,
html[data-theme="dark"] .workflow-resource-modal .workflow-menu.workflow-add-menu[open] > summary { background: #e1e0d9; color: #0b0b0b; border-color: #e1e0d9; }
@media (prefers-color-scheme: dark) {
  html:not([data-theme="light"]) .workflow-resource-modal .workflow-menu.workflow-add-menu > summary { background: #fff; color: #0b0b0b; border-color: #fff; }
  html:not([data-theme="light"]) .workflow-resource-modal .workflow-menu.workflow-add-menu > summary:hover,
  html:not([data-theme="light"]) .workflow-resource-modal .workflow-menu.workflow-add-menu[open] > summary { background: #e1e0d9; color: #0b0b0b; border-color: #e1e0d9; }
}
.workflow-resource-modal .workflow-menu.workflow-add-menu > summary:focus-visible { outline: 2px solid var(--text-2); outline-offset: 3px; }
.workflow-resource-modal .workflow-add-menu > summary { width: 92px; min-width: 92px; padding-inline: 8px; }
.workflow-resource-modal .workflow-filter-menu .workflow-menu-popover { box-sizing: border-box; width: 135px; min-width: 135px; padding: 4px; border: 0; border-radius: 12px; background: var(--panel-bg, var(--surface)); box-shadow: inset 0 0 0 1px var(--border-strong, var(--border)), 0 8px 24px rgb(0 0 0 / .32), 0 2px 6px rgb(0 0 0 / .2); }
.workflow-resource-modal .workflow-filter-menu .workflow-menu-title { box-sizing: border-box; height: 25px; padding: 4px 10px; font-size: 13px; font-weight: 500; line-height: 17px; }
.workflow-resource-modal .workflow-filter-menu .workflow-menu-popover > button { min-height: 32px; padding: 0 10px; border-radius: 8px; line-height: 20px; }
.workflow-resource-modal .workflow-filter-menu .workflow-filter-check { color: #2a78d6; }
html[data-theme="dark"] .workflow-resource-modal .workflow-library-search,
html[data-theme="dark"] .workflow-resource-modal .workflow-filter-menu .workflow-menu-popover { background: rgb(255 255 255 / .05); border-color: rgb(255 255 255 / .1); }
html[data-theme="dark"] .workflow-resource-modal .workflow-filter-menu .workflow-menu-popover { background: #20201f; }
html[data-theme="dark"] .workflow-resource-modal .workflow-extension-card .workflow-skill-icon { background: #0b0b0b; border-color: rgb(255 255 255 / .1); }
html[data-theme="dark"] .workflow-resource-modal .workflow-skill-row .workflow-skill-icon { background: #0b0b0b; border-color: rgb(255 255 255 / .1); }
html[data-theme="dark"] .workflow-resource-modal .workflow-skill-row .workflow-skill-chip { background: rgb(255 255 255 / .05); }
@media (prefers-color-scheme: dark) {
  html:not([data-theme="light"]) .workflow-resource-modal .workflow-library-search { background: rgb(255 255 255 / .05); border-color: rgb(255 255 255 / .1); }
  html:not([data-theme="light"]) .workflow-resource-modal .workflow-filter-menu .workflow-menu-popover { background: #20201f; border-color: rgb(255 255 255 / .1); }
  html:not([data-theme="light"]) .workflow-resource-modal .workflow-extension-card .workflow-skill-icon { background: #0b0b0b; border-color: rgb(255 255 255 / .1); }
  html:not([data-theme="light"]) .workflow-resource-modal .workflow-skill-row .workflow-skill-icon { background: #0b0b0b; border-color: rgb(255 255 255 / .1); }
  html:not([data-theme="light"]) .workflow-resource-modal .workflow-skill-row .workflow-skill-chip { background: rgb(255 255 255 / .05); }
}
.workflow-resource-modal .workflow-add-label { font-weight: 500; }
@media (max-width: 900px) {
  .workflow-resource-modal > .workflow-admin-shell { grid-template-rows: auto minmax(0, 1fr); }
  .workflow-resource-modal .workflow-rail-search { margin-right: 28px; }
  .workflow-resource-modal .workflow-rail-link, .workflow-resource-modal .workflow-rail-label { white-space: nowrap; }
}
@media (max-width: 640px) {
  .workflow-resource-modal .workflow-skill-row { grid-template-columns: 36px minmax(0, 1fr) 38px; gap: 10px; }
  .workflow-resource-modal .workflow-skill-icon { width: 36px; height: 36px; }
  .workflow-resource-modal .workflow-skill-row time { grid-column: 2; grid-row: 2; margin: -6px 0 0; text-align: left; font-size: 12px; }
  .workflow-resource-modal .workflow-skill-actions { grid-column: 3; grid-row: 1; }
  .workflow-resource-modal .workflow-extension-card > summary { grid-template-columns: 36px minmax(0, 1fr) auto; gap: 10px; }
  .workflow-resource-modal .workflow-extension-card > summary time { grid-column: 2; grid-row: 2; text-align: left; }
  .workflow-resource-modal .workflow-extension-card > summary .workflow-skill-actions { grid-column: 3; grid-row: 1; }
  .workflow-resource-modal .workflow-extension-card .capability-summary { padding-left: 0; }
  .workflow-resource-modal .workflow-extension-card .extension-version-list { margin-left: 0; }
}

/* 字重微调：参考页使用的是中等而非粗黑的层级，避免中文标题和条目名称压得过重。 */
.workflow-resource-modal .workflow-discover-heading h2,
.workflow-resource-modal .workflow-category-heading h2,
.workflow-resource-modal .workflow-discover-card strong,
.workflow-resource-modal .workflow-category-card strong,
.workflow-resource-modal .connector-titlebar h1,
.workflow-resource-modal .connector-yours-name strong,
.workflow-resource-modal .connector-section-heading h2,
.workflow-resource-modal .connector-card-copy h3,
.workflow-resource-modal .connector-empty strong,
.workflow-resource-modal .connector-advanced > summary {
  font-weight: 450;
}
.workflow-resource-modal .workflow-library-heading h1,
.workflow-resource-modal .workflow-source-heading,
.workflow-resource-modal .workflow-source-heading strong { font-weight: 580; }
.workflow-resource-modal .workflow-skill-title strong { font-weight: 500; }
.workflow-resource-modal .workflow-add-menu > summary,
.workflow-resource-modal .workflow-library-tabs a,
.workflow-resource-modal .workflow-menu-popover button,
.workflow-resource-modal .connector-add-button,
.workflow-resource-modal .connector-tab,
.workflow-resource-modal .connector-connect-button {
  font-weight: 500;
}
.workflow-modal-panel h2,
.workflow-modal-panel .workflow-modal-label,
.workflow-modal-panel .workflow-editor-sidebar-head strong,
.connector-custom-panel h2 {
  font-weight: 500;
}
.workflow-modal-panel .workflow-modal-actions .btn,
.connector-custom-panel .workflow-modal-actions .btn {
  font-weight: 500;
}
/* 详情页保持清晰层级，但不使用过重的 Bold 字面：预览正文以阅读为主。 */
.workflow-resource-modal .workflow-detail-heading h1,
.workflow-resource-modal .workflow-file-tree > strong,
.workflow-resource-modal .workflow-detail-item strong,
.workflow-resource-modal .workflow-markdown-preview h1,
.workflow-resource-modal .workflow-markdown-preview h2,
.workflow-resource-modal .workflow-markdown-preview h3,
.workflow-resource-modal .workflow-markdown-preview h4,
.workflow-resource-modal .workflow-markdown-preview strong,
.workflow-resource-modal .workflow-markdown-preview th {
  font-weight: 600;
}
.workflow-resource-modal .workflow-markdown-preview { font-family: var(--font-sans); }
/* 文件路径与源码使用独立等宽字族，不继承全站实验拉丁子集。 */
.workflow-resource-modal .workflow-file-toolbar { height: 56px; box-sizing: border-box; align-items: center; padding: 6px 12px 6px 20px; border-bottom: 0; }
.workflow-resource-modal .workflow-file-toolbar code { font: 400 14px/22px var(--font-mono); }
.workflow-resource-modal .workflow-content-modes { gap: 4px; flex: none; align-items: center; padding: 3px; border-radius: 11px; background: var(--control-bg); }
.workflow-resource-modal .workflow-content-modes a { display: inline-grid; place-items: center; width: 40px; height: 38px; box-sizing: border-box; padding: 5px; border: 1px solid transparent; border-radius: 8px; line-height: 1; }
.workflow-resource-modal .workflow-content-modes a.is-active { border-color: var(--border); background: var(--surface); box-shadow: 0 1px 2px rgb(0 0 0 / .06); }
.workflow-resource-modal .workflow-content-modes .resource-icon { width: 26px; height: 26px; }

/* 行号与真实源文件行一一对应，长行折行仍沿用同一行号。 */
.workflow-resource-modal .workflow-file-preview pre.workflow-source-code { margin: 0; padding: 20px 20px 24px 8px; box-sizing: border-box; color: var(--text-2); background: var(--resource-browser-bg); white-space: normal; font: 400 14px/1.7 var(--font-mono); font-synthesis: none; }
.workflow-source-code .source-line { display: grid; grid-template-columns: 3.4em minmax(0, 1fr); min-height: 1.7em; }
.workflow-source-code .source-line-number { padding-right: 1.2em; color: var(--text-3); text-align: right; user-select: none; font-variant-numeric: tabular-nums; }
.workflow-source-code .source-line-content { min-width: 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.workflow-source-code .source-heading { color: var(--source-heading, #b45309); }
.workflow-source-code .source-key { color: var(--source-key, #2563eb); }
.workflow-source-code .source-punctuation { color: var(--source-punctuation, #a16207); }
.workflow-source-code .source-string { color: var(--source-string, #7c3aed); }
.workflow-source-code .source-inline-code { color: var(--source-inline-code, #0f766e); }
.workflow-source-code .source-link { color: var(--source-link, #2563eb); text-decoration: underline; text-underline-offset: 2px; }
.workflow-source-code .source-fence { color: var(--source-fence, #9f1239); }
.workflow-source-code .source-comment { color: var(--text-3); }
@media (min-width: 901px) {
  .workflow-resource-modal .workflow-extension-detail { display: flex; flex-direction: column; width: 100%; overflow: hidden; padding-bottom: 28px; }
  .workflow-resource-modal .workflow-extension-detail > :not(.workflow-content-browser) { flex-shrink: 0; }
  .workflow-resource-modal .workflow-content-browser { flex: 1; min-height: 0; }
  .workflow-resource-modal .workflow-file-tree { min-height: 0; max-height: none; }
  .workflow-resource-modal .workflow-file-preview { display: grid; grid-template-rows: 56px minmax(0, 1fr); min-height: 0; }
  .workflow-resource-modal .workflow-file-preview > .workflow-markdown-preview,
  .workflow-resource-modal .workflow-file-preview > pre.workflow-source-code { min-height: 0; max-height: none; overflow: auto; }
}

/* Resource state, metadata and non-blocking navigation feedback. */
.workflow-detail-heading > div:not(.workflow-resource-actions) { min-width: 0; }
.workflow-detail-heading h1 { overflow-wrap: anywhere; }
.workflow-resource-actions { display: flex; align-items: center; gap: 12px; margin-left: auto; flex: none; position: relative; }
.workflow-detail-release { margin: 18px 0 24px; border: 1px solid var(--resource-divider, var(--border)); border-radius: 12px; }
.workflow-resource-switch { display: inline-flex; align-items: center; width: 32.4px; height: 18px; padding: 2px; border: 0; border-radius: 999px; background: var(--text-3, #8b8984); cursor: pointer; flex: none; }
.workflow-resource-switch span { width: 14px; height: 14px; border-radius: 50%; background: #fff; box-shadow: 0 1px 2px rgb(0 0 0 / .14); transition: transform .14s ease; }
.workflow-resource-switch[aria-checked="true"] { background: #2a78d6; }
.workflow-resource-switch[aria-checked="true"] span { transform: translateX(14.4px); }
.workflow-resource-actions[data-workflow-resource-kind="plugin"] .workflow-resource-switch { width: 36px; height: 20px; }
.workflow-resource-actions[data-workflow-resource-kind="plugin"] .workflow-resource-switch span { width: 16px; height: 16px; }
.workflow-resource-actions[data-workflow-resource-kind="plugin"] .workflow-resource-switch[aria-checked="true"] span { transform: translateX(16px); }
.workflow-resource-switch:disabled { opacity: .45; cursor: not-allowed; }
.workflow-resource-switch:focus-visible { outline: 2px solid #2383e2; outline-offset: 3px; }
.workflow-resource-action-error { position: absolute; top: 100%; right: 0; width: 260px; z-index: 5; padding: 8px 10px; border: 1px solid var(--border); border-radius: 8px; background: var(--surface); color: #b54848; font-size: 13px; }
.workflow-detail-overview.workflow-overview-columns { grid-template-columns: minmax(0, 1fr) minmax(216px, 31.25%); gap: 40px; align-items: start; max-width: none; overflow: auto; min-height: 0; flex-shrink: 1; }
.workflow-overview-description { min-width: 0; font-size: 17px; line-height: 1.45; overflow-wrap: anywhere; }
.workflow-overview-description > :first-child { margin-top: 0; }
.workflow-overview-description > h2 { margin: 0 0 14px; color: var(--text-2); font-size: 15px; font-weight: 400; }
.workflow-overview-categories { margin-top: 28px; }
.workflow-overview-categories h2 { margin: 0 0 12px; color: var(--text-2); font-size: 12px; line-height: 17px; font-weight: 400; }
.workflow-overview-categories ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.workflow-overview-categories li { display: inline-flex; align-items: center; min-height: 20px; padding: 0 8px; border-radius: 5px; background: rgb(0 0 0 / .05); color: var(--text-2); font-size: 12px; line-height: 15px; }
html[data-theme="dark"] .workflow-overview-categories li { background: rgb(255 255 255 / .05); }
@media (prefers-color-scheme: dark) { html:not([data-theme="light"]) .workflow-overview-categories li { background: rgb(255 255 255 / .05); } }
.workflow-resource-metadata { display: flex; flex-direction: column; gap: 32px; padding: 20px; border-radius: 16px; background: var(--resource-metadata-bg, #f9f9f7); color: var(--text-2); font-size: 16px; min-width: 0; box-sizing: border-box; }
.workflow-metadata-row { display: flex; align-items: center; gap: 10px; min-width: 0; line-height: 24px; }
.workflow-metadata-clickable { position: relative; border-radius: 5px; }
.workflow-metadata-clickable:hover { background: rgb(255 255 255 / .06); }
.workflow-metadata-row-link { position: absolute; inset: -2px -4px; border-radius: 5px; }
.workflow-metadata-row-link:focus-visible { outline: 2px solid #2a78d6; outline-offset: 2px; }
.workflow-metadata-row > span:last-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.workflow-metadata-icon { display: grid; place-items: center; width: 24px; height: 24px; flex: none; border-radius: 6px; background: var(--resource-metadata-icon-bg, #e3e3e1); }
html[data-theme="dark"] .workflow-resource-metadata { --resource-metadata-bg: #0b0b0b; --resource-metadata-icon-bg: rgb(255 255 255 / .1); }
@media (prefers-color-scheme: dark) {
  html:not([data-theme="light"]) .workflow-resource-metadata { --resource-metadata-bg: #0b0b0b; --resource-metadata-icon-bg: rgb(255 255 255 / .1); }
}
.workflow-resource-metadata h2 { margin: 0 0 8px; color: var(--text-2); font-size: 15px; font-weight: 400; }
.workflow-resource-metadata p { margin: 0; overflow-wrap: anywhere; }
.workflow-resource-metadata ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.workflow-resource-metadata li { display: flex; align-items: center; gap: 10px; }
.workflow-resource-metadata .resource-icon { width: 15px; height: 15px; flex: none; }
.workflow-resource-metadata .workflow-metadata-risk { align-items: flex-start; line-height: 20px; }
.workflow-resource-metadata .workflow-metadata-risk > span:last-child { white-space: normal; }
.workflow-resource-metadata small { color: var(--text-3); font-size: inherit; }
.workflow-connector-mark { font-size: 14px; font-weight: 600; }
.workflow-connector-mark-snowflake { color: #29b5e8; }
.workflow-connector-mark-bigquery { color: #4285f4; }
.workflow-connector-mark-amplitude, .workflow-connector-mark-amplitude-eu { color: #2374ef; }
.workflow-connector-mark-atlassian { color: #2684ff; }
.workflow-inline-progress { position: absolute; right: 24px; bottom: 14px; z-index: 8; padding: 7px 12px; border: 1px solid var(--border); border-radius: 8px; background: var(--surface); color: var(--text-2); font-size: 13px; }
.workflow-inline-progress button { margin-left: 10px; color: inherit; background: transparent; border: 0; cursor: pointer; text-decoration: underline; }
.workflow-delete-dialog { width: min(400px, calc(100vw - 32px)); box-sizing: border-box; padding: 24px; border: 0; border-radius: 12px; background: var(--surface); color: var(--text); box-shadow: 0 16px 64px rgb(0 0 0 / .24); }
.workflow-delete-dialog::backdrop { background: rgb(0 0 0 / .35); }
.workflow-delete-dialog h2 { margin: 0 0 2px; font-size: 16px; line-height: 20px; font-weight: 500; }
.workflow-delete-dialog p { margin: 0; line-height: 20px; font-size: 14px; }
.workflow-delete-dialog footer { display: flex; justify-content: flex-end; gap: 10px; margin-top: 16px; }
.workflow-delete-dialog footer .btn { height: 32px; min-height: 32px; box-sizing: border-box; padding: 4px 12px; border-radius: 8px; }
.workflow-delete-dialog .workflow-confirm-delete { border-color: #b54848; background: #b54848; color: #fff; }
.workflow-plugin-remove-dialog { width: min(400px, calc(100vw - 32px)); padding: 24px; border: 0; border-radius: 12px; }
.workflow-plugin-remove-dialog h2 { margin-bottom: 2px; transform: translateY(-2px); font-size: 16px; line-height: 20px; font-weight: 500; }
.workflow-plugin-remove-dialog p { margin: 0; font-size: 14px; line-height: 20px; }
.workflow-plugin-remove-dialog footer { margin-top: 16px; }
.workflow-plugin-remove-dialog footer .btn { height: 32px; min-height: 32px; box-sizing: border-box; padding: 4px 12px; border-radius: 8px; }
.workflow-plugin-remove-dialog .workflow-confirm-delete { border-color: #b54848; background: #b54848; color: #fff; }
.workflow-duplicate-dialog { width: min(520px, calc(100vw - 32px)); box-sizing: border-box; padding: 0; border: 1px solid var(--border); border-radius: 12px; background: var(--surface); color: var(--text); box-shadow: 0 16px 64px rgb(0 0 0 / .24); }
.workflow-duplicate-dialog::backdrop { background: rgb(0 0 0 / .56); backdrop-filter: blur(2px); }
.workflow-duplicate-dialog form { display: grid; padding: 24px; font-size: 14px; }
.workflow-duplicate-dialog header { display: flex; align-items: center; justify-content: space-between; height: 28px; margin-bottom: 8px; }
.workflow-duplicate-dialog h2 { margin: 0; transform: translateY(-4px); font-size: 22px; line-height: 28px; font-weight: 600; }
.workflow-duplicate-dialog header button { width: 32px; height: 32px; margin-right: -8px; transform: translateY(-6px); border: 0; padding: 0; background: none; color: var(--text-2); font-size: 24px; cursor: pointer; }
.workflow-duplicate-dialog label { margin-bottom: 8px; line-height: 14px; font-weight: 500; }
.workflow-duplicate-dialog input[name="name"] { width: 100%; height: 28px; box-sizing: border-box; border: 1px solid var(--border); border-radius: 7px; padding: 4px 10px; background: var(--surface); color: var(--text); font: inherit; }
.workflow-duplicate-dialog input[name="name"]:focus { outline: 1px solid #2a78d6; border-color: #2a78d6; }
.workflow-detail-heading .workflow-duplicate-dialog .workflow-duplicate-slug { min-height: 18px; margin: 8px 0; color: var(--text-3); font-size: 13px; line-height: 18px; }
.workflow-detail-heading .workflow-duplicate-dialog .workflow-duplicate-hint { margin: 0; color: var(--text-2); font-size: 13px; line-height: 18px; }
.workflow-detail-heading .workflow-duplicate-dialog .workflow-duplicate-error { margin: 8px 0 0; color: #b54848; }
.workflow-duplicate-dialog footer { display: flex; justify-content: flex-end; gap: 8px; margin-top: 16px; }
.workflow-duplicate-dialog footer .btn { min-height: 32px; padding: 4px 12px; border-radius: 7px; }
@media (max-width: 700px) {
  .workflow-detail-overview.workflow-overview-columns { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .workflow-resource-metadata { width: 100%; }
  .workflow-resource-actions { gap: 6px; }
}
@media (prefers-reduced-motion: reduce) { .workflow-resource-switch span { transition: none; } }

.workflow-resource-modal .workflow-extension-detail > .workflow-detail-overview { flex-shrink: 1; }

/* Skill and plugin details share a compact hierarchy; connector layout stays separate. */
.workflow-compact-detail .workflow-extension-detail { padding: 68px 32px 24px; }
.workflow-resource-modal .workflow-extension-detail > .workflow-plugin-members { flex-shrink: 1; }
.workflow-plugin-members { min-height: 0; overflow-x: hidden; overflow-y: auto; scrollbar-width: thin; margin: 0 -2px 0 -12px; padding: 23px 2px 24px 12px; }
.workflow-plugin-intro { margin: 0 0 16px; color: var(--text-2); font-size: 14px; line-height: 20px; }
.workflow-plugin-skill-row { position: relative; display: flex; align-items: center; gap: 16px; min-height: 66px; padding: 8px 12px; margin: 0 -12px; border-bottom: 1px solid var(--border); border-radius: 0; }
.workflow-plugin-skill-row:last-child { border-bottom: 0; }
.workflow-plugin-skill-row:hover { border-radius: 12px; background: var(--resource-row-hover); }
.workflow-plugin-skill-row > button { position: absolute; z-index: 1; inset: 0; width: 100%; border: 0; background: transparent; cursor: pointer; }
.workflow-plugin-skill-row > button:focus-visible { outline: 2px solid var(--focus-ring, var(--accent)); outline-offset: -2px; }
.workflow-plugin-skill-row > .workflow-skill-icon { width: 36px; height: 36px; border-radius: 8px; pointer-events: none; }
.workflow-plugin-skill-row > div { min-width: 0; pointer-events: none; }
.workflow-plugin-skill-row strong { display: block; overflow: hidden; color: var(--text); font-size: 14px; font-weight: 500; line-height: 20px; letter-spacing: normal; text-overflow: ellipsis; white-space: nowrap; }
.workflow-plugin-skill-row p { overflow: hidden; margin: 2px 0 0; color: var(--text-2); font-size: 14px; line-height: 20px; text-overflow: ellipsis; white-space: nowrap; }
.workflow-plugin-connector-row { display: flex; align-items: center; gap: 12px; min-height: 64px; padding: 8px 12px; margin: 0 -12px; border-bottom: 1px solid var(--border); }
.workflow-plugin-connector-row strong { font-size: 14px; font-weight: 500; }
.workflow-plugin-connector-row small { color: var(--text-3); font-size: 13px; }
.workflow-plugin-connector-mark { display: grid; flex: none; place-items: center; width: 36px; height: 36px; border: 1px solid var(--border); border-radius: 8px; background: var(--control-bg); color: var(--text-2); font-size: 14px; }
.workflow-compact-detail .workflow-detail-back { margin-bottom: 16px; font-size: 14px; line-height: 20px; }
.workflow-compact-detail .workflow-detail-heading { align-items: flex-start; gap: 16px; }
.workflow-compact-detail .workflow-detail-icon { width: 44px; height: 44px; border-radius: 11px; }
.workflow-compact-detail .workflow-detail-icon .resource-icon { width: 20px; height: 20px; }
.workflow-compact-detail .workflow-detail-heading h1 { font-size: 15px; line-height: 20px; letter-spacing: -0.025em; }
.workflow-compact-detail .workflow-detail-heading p { margin-top: 2px; font-size: 13px; line-height: 18px; }
.workflow-compact-detail .workflow-resource-actions { align-self: flex-start; }
.workflow-compact-detail .workflow-detail-tabs { margin-top: 16px; font-size: 14px; line-height: 20px; }
.workflow-compact-detail .workflow-detail-tabs a { padding: 5px 12px; }
.workflow-compact-detail .workflow-catalog-versionbar { margin-top: 23px; }
.workflow-compact-detail .workflow-detail-overview { padding: 23px 0; gap: 28px; }
.workflow-compact-detail .workflow-overview-description { font-size: 14px; line-height: 20px; letter-spacing: normal; }
.workflow-compact-detail .workflow-overview-description > h2 { margin-bottom: 12px; font-size: 12px; line-height: 17px; }
.workflow-compact-detail .workflow-overview-description > p { margin: 0 0 12px; }
.workflow-compact-detail .workflow-resource-metadata { gap: 24px; padding: 16px; border-radius: 12px; font-size: 14px; }
.workflow-compact-detail .workflow-resource-metadata h2 { margin-bottom: 8px; font-size: 12px; line-height: 17px; }
.workflow-compact-detail .workflow-resource-metadata ul { gap: 10px; }
.workflow-compact-detail .workflow-metadata-risk > span:last-child { max-width: 130px; white-space: normal; line-height: 17px; }
.workflow-compact-detail .workflow-metadata-row { gap: 8px; line-height: 20px; }
.workflow-compact-detail .workflow-metadata-clickable > span:nth-of-type(2) { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.workflow-compact-detail .workflow-metadata-icon { width: 22px; height: 22px; }
.workflow-compact-detail :is(.workflow-file-tree-folder, .workflow-file-tree-file) { min-height: 28px; padding-top: 4px; padding-bottom: 4px; font-size: 14px; }
.workflow-compact-detail .workflow-file-tree-file.is-selected > span { font-weight: 600; }
.workflow-compact-detail .workflow-content-modes { box-sizing: border-box; height: 36px; gap: 2px; border-radius: 8px; }
.workflow-compact-detail .workflow-content-modes a { width: 30px; height: 30px; border-radius: 6px; }
.workflow-compact-detail .workflow-content-modes .resource-icon { width: 18px; height: 18px; }
.workflow-compact-detail .workflow-file-preview { grid-template-rows: 42px minmax(0, 1fr); }
.workflow-compact-detail .workflow-file-toolbar { height: 42px; }
.workflow-compact-detail .workflow-markdown-preview { padding: 25px 20px 20px; font-size: 14px; line-height: 1.8857; }
.workflow-compact-detail .workflow-markdown-preview :is(h1, h2, h3, h4) { font-family: var(--font-sans); }
.workflow-compact-detail .workflow-markdown-preview h1 { font-size: 22px; line-height: 1.2; }
.workflow-compact-detail .workflow-markdown-preview h2 { font-size: 17px; }
.workflow-compact-detail .workflow-markdown-preview :is(h1, h2, h3, h4) { letter-spacing: -0.025em; }
.workflow-compact-detail .workflow-markdown-preview .workflow-preview-license { display: grid; grid-template-columns: 50px minmax(0, 1fr); gap: 26px; padding-top: 16px; margin: 0 0 38px; font-size: 14px; line-height: 20px; }
.workflow-preview-license dt { color: var(--text-3); }
.workflow-preview-license dd { margin: 0; }
.workflow-compact-detail[data-workflow-catalog-skill] .workflow-file-tree-file .resource-icon { display: none; }
.workflow-compact-detail[data-workflow-catalog-skill] .workflow-file-tree-file.is-selected { background: transparent; }
@media (max-width: 900px) { .workflow-compact-detail .workflow-extension-detail { padding: 22px 20px 28px; } }

/* Public metadata is deliberately separate from configured/connected services. */
.connector-registry { margin-bottom: 28px; }
.connector-registry-intro, .connector-page .connector-catalog-note { display: block; margin: 8px 0 18px; color: var(--text-2); font-size: 13px; line-height: 1.6; }
.connector-registry-grid { display: grid; align-items: start; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.connector-registry-card { min-width: 0; padding: 16px; border: 1px solid var(--border); border-radius: 12px; }
.connector-registry-title { display: flex; align-items: center; gap: 10px; }
.connector-registry-title .connector-logo { flex: 0 0 32px; width: 32px; height: 32px; }
.connector-registry-title h3 { flex: 1; min-width: 0; margin: 0; overflow-wrap: anywhere; font-size: 15px; font-weight: 500; }
.connector-registry-badge { flex-shrink: 0; padding: 3px 6px; border-radius: 5px; background: var(--sunken); color: var(--text-2); font-size: 11px; }
.connector-registry-card p { margin: 10px 0; font-size: 13px; line-height: 1.6; color: var(--text-2); overflow-wrap: anywhere; }
.connector-registry-card .connector-registry-meta { color: var(--text-3); font-size: 12px; }
.connector-registry-actions { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 12px; font-size: 13px; }
.connector-registry-card details { margin-top: 12px; font-size: 12px; }
.connector-registry-card summary, .connector-registry-browser > summary { cursor: pointer; }
.connector-registry-card pre { max-height: 260px; padding: 10px; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; background: var(--sunken); border-radius: 6px; }
.connector-registry-browser { margin-top: 22px; padding: 16px 0; border-top: 1px solid var(--border); }
.connector-registry-search { display: flex; gap: 8px; margin: 14px 0; }
.connector-registry-search input { width: 100%; min-width: 0; padding: 8px 12px; color: var(--text); background: var(--input-bg, var(--surface)); border: 1px solid var(--border); border-radius: 8px; font: inherit; }
.connector-registry-search button { flex-shrink: 0; }
@media (max-width: 800px) { .connector-registry-grid { grid-template-columns: minmax(0, 1fr); } }

.connector-status-unverified { font-size: 13px; }

/* Connected clients use the same restrained table and resource frame as MCP services. */
.connector-yours-row[href] { color: var(--text); text-decoration: none; }
.connector-yours-row[href]:hover { background: var(--control-bg, var(--sunken)); }
.connector-connection-status { display: flex; align-items: center; gap: 8px; color: var(--text-2); font-size: 13px; }
.connector-connection-status.is-verified > span { font-size: 20px; }
.connector-client-logo { background: var(--surface); color: var(--text); }
.connector-builtin-label { margin-left: 8px; padding: 2px 6px; border-radius: 5px; color: var(--text-3); background: var(--control-bg); font-size: 12px; font-weight: 400; }
.connector-add-popover > a { display: block; padding: 10px; color: var(--text); font-size: 14px; text-decoration: none; }
.connector-add-popover > a:hover { background: var(--control-bg, var(--sunken)); }
.connector-detail-modal { width: min(1024px, calc(100vw - 16px)); height: min(800px, calc(100vh - 16px)); }
.connector-detail-modal > .workflow-admin-shell { grid-template-columns: 192px minmax(0, 1fr); }
.connector-detail-modal .connector-detail-page { padding: 0; scrollbar-gutter: stable; font: 400 16px/1.5 var(--font-sans); }
.connector-detail-topbar { display: flex; justify-content: flex-end; align-items: center; height: 58px; padding: 0 60px 0 32px; }
.connector-detail-topbar button { display: inline-flex; align-items: center; gap: 8px; padding: 6px 0; border: 0; background: none; color: var(--text); font: inherit; cursor: pointer; }
.connector-detail-page svg { width: 22px; height: 22px; flex: none; }
.connector-detail-navigation { position: sticky; top: 0; z-index: 3; padding: 18px 32px; background: var(--resource-bg); }
.connector-detail-back { display: inline-flex; align-items: center; gap: 10px; color: var(--text); text-decoration: none; }
.connector-detail-back svg { width: 18px; height: 18px; }
.connector-detail-heading { display: flex; align-items: center; gap: 18px; margin: 18px 32px 30px; }
.connector-detail-heading > div { min-width: 0; }
.connector-detail-logo { width: 64px; height: 64px; flex: none; border-radius: 16px; color: var(--text); background: var(--resource-bg); box-shadow: 0 2px 8px rgb(0 0 0 / .10); font: 500 32px/1 var(--font-sans); }
.connector-detail-logo img { width: 42px; height: 42px; object-fit: contain; }
.connector-detail-heading h1 { margin: 0; font: 500 30px/1.25 var(--font-sans); overflow-wrap: anywhere; }
.connector-detail-heading p { margin: 8px 0 0; color: var(--text-2); font-size: 18px; }
.connector-detail-modal .connector-detail-back { position: relative; top: 24px; left: -8px; font-size: 13px; }
.connector-detail-modal .connector-detail-heading { gap: 12px; }
.connector-detail-modal .connector-detail-logo { width: 24px; height: 24px; border-radius: 6px; box-shadow: none; font-size: 14px; }
.connector-detail-modal .connector-detail-logo img { width: 20px; height: 20px; }
.connector-detail-modal .connector-detail-heading h1 { font-size: 15px; font-weight: 600; line-height: 20px; }
.connector-detail-modal .connector-detail-settings, .connector-detail-modal .connector-detail-more > summary { padding: 5px; }
.connector-detail-settings { display: inline-flex; margin-left: auto; padding: 8px; color: var(--text); }
.connector-detail-more { position: relative; margin-left: auto; flex: none; }
.connector-detail-more > summary { display: grid; place-items: center; padding: 8px; cursor: pointer; list-style: none; }
.connector-detail-more > summary::-webkit-details-marker { display: none; }
.connector-detail-more-menu { position: absolute; top: 100%; right: 0; z-index: 4; min-width: 160px; padding: 6px; border: 1px solid var(--border); border-radius: 10px; background: var(--resource-bg); box-shadow: 0 4px 16px rgb(0 0 0 / .12); }
.connector-detail-more-menu :is(a, button) { display: block; width: 100%; padding: 8px 12px; border: 0; border-radius: 6px; background: transparent; color: var(--text); font: inherit; text-align: left; text-decoration: none; white-space: nowrap; cursor: pointer; }
.connector-detail-more-menu :is(a, button):hover { background: var(--control-bg); }
.connector-detail-body { padding: 0 32px 24px; }
.connector-detail-modal .connector-detail-body { padding-right: 26.67px; }
.connector-detail-page h2 { margin: 34px 0 8px; font: 500 17px/1.5 var(--font-sans); }
.connector-enabled-bar { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 84px; padding: 20px 24px; border: 1px solid var(--border); border-radius: 12px; background: color-mix(in srgb, var(--resource-bg) 55%, var(--control-bg)); }
.connector-enabled-bar .workflow-resource-actions { margin-left: 0; }
.connector-detail-note { margin: 6px 0 18px; color: var(--text-3); font-size: 15px; line-height: 1.6; }
.connector-tool-group { margin: 24px 0; }
.connector-tool-group > summary { cursor: pointer; font-size: 16px; }
.connector-tool-group-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 8px; }
.connector-group-toggle { display: inline-flex; align-items: center; gap: 12px; min-width: 0; padding: 6px 0; color: var(--text); border: 0; background: none; font: inherit; cursor: pointer; }
.connector-group-toggle > svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.connector-group-toggle[aria-expanded="false"] > svg { transform: rotate(-90deg); }
.connector-tool-count { display: inline-block; min-width: 26px; padding: 1px 6px; border-radius: 5px; background: var(--control-bg); text-align: center; font-size: 14px; }
.connector-group-permission { position: relative; flex: none; }
.connector-group-trigger { display: inline-flex; align-items: center; gap: 6px; min-width: 148px; height: 32px; padding: 0 12px; border: 1px solid var(--border); border-radius: 8px; background: var(--resource-bg); color: var(--text); font: inherit; font-size: 14px; cursor: pointer; }
.connector-group-icon, .connector-group-icon svg, .connector-group-menu svg { display: block; width: 16px; height: 16px; }
.connector-group-icon > :not(:first-child) { display: none; }
.connector-group-trigger[data-permission-state="block"] .connector-group-icon > :first-child,
.connector-group-trigger[data-permission-state="mixed"] .connector-group-icon > :first-child { display: none; }
.connector-group-trigger[data-permission-state="block"] .connector-group-icon > :nth-child(2),
.connector-group-trigger[data-permission-state="mixed"] .connector-group-icon > :nth-child(3) { display: block; }
.connector-group-trigger .connector-select-arrow { width: 16px; height: 16px; margin-left: auto; fill: none; stroke: currentColor; stroke-width: 1.5; }
.connector-group-menu { position: absolute; z-index: 5; top: calc(100% + 6px); right: 0; width: 198px; padding: 4px; border: 1px solid var(--border); border-radius: 12px; background: var(--resource-bg); box-shadow: 0 8px 24px rgb(0 0 0 / .32), 0 2px 6px rgb(0 0 0 / .2); }
html[data-theme="dark"] .connector-group-menu { background: #20201f; }
html[data-theme="light"] .connector-group-menu { box-shadow: 0 8px 24px rgb(0 0 0 / .14), 0 2px 6px rgb(0 0 0 / .08); }
.connector-group-menu[hidden] { display: none; }
.connector-group-menu button { display: flex; align-items: center; gap: 8px; width: 100%; height: 32px; padding: 6px 10px; border: 0; border-radius: 8px; background: transparent; color: var(--text); font: inherit; font-size: 14px; text-align: left; cursor: pointer; }
.connector-group-menu button:hover:not([aria-disabled="true"]), .connector-group-menu button:focus-visible { background: var(--control-bg); }
.connector-group-menu button[aria-disabled="true"] { color: var(--text-3); cursor: not-allowed; }
.connector-group-menu .connector-menu-check { display: none; margin-left: auto; color: #2a78d6; }
.connector-group-menu [aria-checked="true"] .connector-menu-check { display: block; }
.connector-custom-icon { display: inline-block; width: 16px; text-align: center; font-weight: 700; }
.connector-tool-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 66px; padding: 12px 0 12px 28px; border-bottom: 1px solid var(--border); font-size: 16px; color: var(--text-2); }
.connector-tool-row > span:first-child { min-width: 0; overflow-wrap: anywhere; }
.connector-tool-row small { display: block; margin-top: 4px; color: var(--text-3); font-size: 13px; }
.connector-write-note { margin-left: 28px; }
.connector-permission-control { display: inline-flex; flex: none; gap: 2px; padding: 3px; border-radius: 10px; background: var(--control-bg); }
.connector-permission-control button { display: inline-grid; place-items: center; width: 34px; height: 34px; padding: 5px; border: 1px solid transparent; border-radius: 8px; background: transparent; color: var(--text-3); cursor: pointer; }
.connector-permission-control button[aria-checked="true"] { background: var(--resource-bg); border-color: var(--border); color: var(--text); box-shadow: 0 1px 3px rgb(0 0 0 / .08); }
.connector-permission-control button:disabled { opacity: .5; cursor: not-allowed; }
.connector-detail-modal .connector-tool-row { min-height: 56px; padding: 8px 0 8px 24px; font-size: 14px; }
.connector-detail-modal .connector-permission-control { gap: 0; padding: 1px; border-radius: 8px; }
.connector-detail-modal .connector-permission-control button { width: 30px; height: 30px; border-radius: 6px; }
.connector-detail-page :is(button, input, select, a):focus-visible { outline: 2px solid #287bdd; outline-offset: 3px; }
.connector-connection-information { margin-top: 28px; font-size: 14px; }
.connector-connection-information > summary { padding: 14px 0; cursor: pointer; }
.connector-connection-information > summary span { margin-left: 10px; color: var(--text-3); }
.connector-connection-meta { padding-top: 10px; font-size: 14px; }
.connector-connection-meta > div { display: flex; gap: 20px; margin: 10px 0; }
.connector-connection-meta dt { width: 76px; flex: none; color: var(--text-3); }
.connector-connection-meta dd { margin: 0; color: var(--text-2); overflow-wrap: anywhere; }
.connector-detail-footer { position: sticky; bottom: 0; z-index: 2; display: flex; justify-content: space-between; gap: 16px; padding: 16px 0; margin-top: 28px; background: var(--resource-bg); }
.connector-detail-page .btn { flex: none; white-space: nowrap; }
.connector-detail-page .connector-outline-button { background: var(--resource-bg); border: 1px solid var(--border); border-radius: 9px; box-shadow: 0 1px 2px rgb(0 0 0 / .06); color: var(--text); font: inherit; padding: 7px 14px; }
.connector-detail-configuration { margin-top: 24px; }
.connector-detail-configuration > summary { cursor: pointer; padding: 12px 0; }
.connector-detail-page.is-overview :is(.connector-detail-navigation, .connector-detail-heading) { background: color-mix(in srgb, var(--resource-bg) 55%, var(--control-bg)); }
.connector-detail-page.is-overview .connector-detail-navigation { padding-top: 44px; }
.connector-detail-page.is-overview .connector-detail-heading { margin: 0; padding: 10px 32px 36px; }
.connector-detail-page.is-overview .connector-detail-logo { width: 96px; height: 96px; border-radius: 12px; box-shadow: none; font-size: 48px; }
.connector-detail-page.is-overview .connector-detail-logo img { width: 64px; height: 64px; }
.connector-detail-page.is-overview .connector-enabled-bar { margin-top: 56px; border: 0; background: transparent; padding: 16px 20px; }
.connector-overview-description { margin: 40px 0; line-height: 1.8; }
.connector-overview-description p { margin: 0 0 24px; }
.connector-detail-page .connector-overview-tools-title { font-size: 26px; }
.connector-overview-tools { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 32px; margin: 20px 0 32px; }
.connector-overview-tools span { justify-self: start; max-width: 100%; padding: 5px 12px; border-radius: 9px; background: var(--control-bg); color: var(--text-2); overflow-wrap: anywhere; font-size: 15px; }
@media (max-width: 900px) {
  .connector-detail-modal { width: 100%; height: calc(100vh - 20px); }
  .connector-detail-modal > .workflow-admin-shell { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .connector-detail-topbar { height: 42px; padding-right: 44px; font-size: 14px; }
  .connector-detail-navigation { padding: 12px 18px; }
  .connector-detail-heading { margin: 12px 18px 24px; gap: 12px; }
  .connector-detail-heading h1 { font-size: 23px; }
  .connector-detail-logo { width: 48px; height: 48px; border-radius: 12px; font-size: 24px; }
  .connector-detail-settings { padding: 2px; }
  .connector-detail-body { padding: 0 18px 24px; }
  .connector-enabled-bar { gap: 10px; padding: 14px; min-height: 72px; }
  .connector-tool-group-heading { gap: 8px; flex-wrap: wrap; }
  .connector-group-toggle { gap: 8px; }
  .connector-group-trigger { min-width: 128px; }
  .connector-tool-row { gap: 8px; padding-left: 8px; font-size: 15px; }
  .connector-permission-control button { width: 30px; height: 32px; }
  .connector-write-note { margin-left: 8px; }
  .connector-detail-page.is-overview .connector-detail-navigation { padding-top: 18px; }
  .connector-detail-page.is-overview .connector-detail-heading { padding: 10px 18px 24px; }
  .connector-detail-page.is-overview .connector-detail-logo { width: 64px; height: 64px; font-size: 32px; }
  .connector-detail-page.is-overview .connector-detail-logo img { width: 42px; height: 42px; }
  .connector-detail-page.is-overview .connector-enabled-bar { margin-top: 22px; padding: 12px 0; }
  .connector-overview-tools { grid-template-columns: 1fr; }
}

.connector-setup-page .connector-detail-navigation { padding-top: 24px; }
.connector-setup-page .connector-detail-heading { margin-bottom: 24px; }
.connector-setup-page .connector-detail-heading p { font-size: 16px; }
.connector-setup-page h2 { margin-top: 24px; }
.connector-setup-page :is(ul, ol) { padding-left: 24px; }
.connector-setup-benefits li { margin: 12px 0; }
.connector-setup-tools, .connector-setup-optional, .connector-setup-troubleshooting { margin: 20px 0; }
.connector-setup-page summary { cursor: pointer; color: var(--text-2); }
.connector-setup-connections > div { display: flex; align-items: center; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--border); }
.connector-setup-connections > div > span { min-width: 0; flex: 1; }
.connector-setup-connections strong { display: block; font-weight: 500; overflow-wrap: anywhere; }
.connector-setup-connections small { display: block; color: var(--text-3); font-size: 13px; }
.connector-setup-page .connector-setup-steps { display: flex; gap: 24px; padding: 0; margin: 0 0 28px; list-style: none; }
.connector-setup-steps li { display: inline-flex; align-items: center; gap: 8px; color: var(--text-3); font-size: 14px; }
.connector-setup-steps li > span { display: grid; place-items: center; width: 26px; height: 26px; border: 1px solid var(--border); border-radius: 50%; }
.connector-setup-steps li[aria-current] { color: var(--text); }
.connector-setup-steps li[aria-current] > span { color: #fff; border-color: #287bdd; background: #287bdd; }
.connector-platform-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; border: 0; padding: 0; margin: 24px 0; }
.connector-platform-options label { display: flex; align-items: center; gap: 10px; min-height: 64px; padding: 14px; border: 1px solid var(--border); border-radius: 10px; cursor: pointer; }
.connector-platform-options label:has(input:checked) { border-color: #287bdd; background: color-mix(in srgb, #287bdd 7%, var(--resource-bg)); }
.connector-platform-options input { flex: none; margin: 0; accent-color: #287bdd; }
.connector-platform-options img { width: 24px; height: 24px; }
.connector-setup-optional label { display: block; margin-top: 16px; color: var(--text-2); font-size: 14px; }
.connector-setup-optional input { display: block; width: 100%; padding: 10px 12px; margin-top: 8px; color: var(--text); background: var(--input-bg); border: 1px solid var(--border); border-radius: 8px; font: inherit; }
.connector-setup-actions, .connector-setup-copybar { display: flex; align-items: center; gap: 12px; margin: 24px 0; flex-wrap: wrap; }
.connector-setup-actions { justify-content: flex-end; padding-top: 16px; border-top: 1px solid var(--border); }
.connector-setup-actions > :first-child { margin-right: auto; }
.connector-setup-copybar > span { color: var(--text-3); font-size: 14px; }
.connector-setup-config { margin: 20px 0 12px; }
.connector-setup-config textarea { display: block; width: 100%; height: 280px; margin-top: 12px; padding: 14px; border: 1px solid var(--border); border-radius: 8px; color: var(--text); background: var(--input-bg); font: 13px/1.6 var(--font-mono); resize: vertical; }
.connector-setup-instructions { padding: 4px 0; }
.connector-setup-instructions li { margin: 12px 0; }
.connector-setup-instructions > :is(p, a) { font-size: 14px; color: var(--text-2); }
.connector-setup-result { display: flex; align-items: center; gap: 16px; margin: 20px 0; padding: 20px; border: 1px solid var(--border); border-radius: 12px; background: var(--control-bg); }
.connector-setup-result h2 { margin: 0 0 8px; }
.connector-setup-result p { margin: 0; color: var(--text-2); }
.connector-setup-result.is-success { border-color: color-mix(in srgb, #24804c 40%, var(--border)); }
.connector-setup-result.is-success > span { font-size: 28px; color: #24804c; }
@media (max-width: 640px) {
  .connector-setup-page .connector-setup-steps { gap: 12px; }
  .connector-setup-steps li { gap: 6px; font-size: 12px; }
  .connector-platform-options { grid-template-columns: 1fr; }
  .connector-platform-options label { min-height: 48px; }
  .connector-setup-connections > div { gap: 8px; flex-wrap: wrap; }
}

.connector-catalog-controls { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 16px 0; font-size: 12px; color: var(--text-2); }
.connector-catalog-controls label { display: flex; align-items: center; gap: 8px; }
.connector-catalog-controls select { max-width: 180px; padding: 7px 10px; border: 1px solid var(--border); border-radius: 7px; background: var(--input-bg, var(--surface)); color: var(--text); font: inherit; }
.connector-catalog-controls [data-catalog-count] { margin-left: auto; }
.connector-registry [hidden] { display: none !important; }
.connector-json-import form { display: grid; gap: 12px; }
.connector-json-import label { display: grid; gap: 7px; font-size: 13px; }
.connector-json-import label span { color: var(--text-2); font-size: 12px; }
.connector-json-import input, .connector-json-import textarea { box-sizing: border-box; width: 100%; min-width: 0; padding: 10px; border: 1px solid var(--border); border-radius: 8px; background: var(--input-bg, var(--surface)); color: var(--text); font: inherit; }
.connector-json-import textarea { resize: vertical; font-family: var(--font-mono); }
.connector-json-import button { justify-self: start; }
.connector-market-links { display: flex; flex-wrap: wrap; gap: 12px 20px; font-size: 13px; }
.connector-ecosystem-wishlist > summary { cursor: pointer; font-size: 14px; color: var(--text-2); }
@media (max-width: 480px) { .connector-catalog-controls { gap: 10px; } .connector-catalog-controls [data-catalog-count] { width: 100%; margin-left: 0; } .connector-registry-title { gap: 7px; } .connector-registry-badge { font-size: 10px; } }

/* Skill creation follows the reference's compact editor, expanding the file tree on demand. */
#skill-create .workflow-create-panel { display: flex; flex-direction: column; box-sizing: border-box; width: min(1152px, 100%); height: 626px; max-height: calc(100dvh - 48px); padding: 20px 24px 24px; overflow: hidden; border: 0; border-radius: 12px; }
html[data-theme="dark"] #skill-create .workflow-create-panel { background: #20201f; }
html[data-theme="dark"] #skill-create .workflow-editor { background: #151515; }
#skill-create .workflow-create-panel h2 { flex: none; margin: 0; font: 600 22px/30px var(--font-sans); }
#skill-create [data-workflow-submit-error]:not([hidden]) { flex: none; margin: 10px 0 0; padding: 8px 12px; border-radius: 8px; }
#skill-create .workflow-modal-close { top: 20px; right: 24px; font-size: 24px; }
#skill-create .workflow-modal-label { flex: none; gap: 4px; margin-top: 8px; font: 500 14px/20px var(--font-sans); }
#skill-create .workflow-modal-label + .workflow-modal-label { margin-top: 12px; }
#skill-create .workflow-modal-label input { height: 34px; padding: 0 10px; border-radius: 8px; }
#skill-create .workflow-modal-label textarea { height: 76px; padding: 8px 10px; border-radius: 8px; resize: none; }
#skill-create .workflow-editor { flex: 1; min-height: 0; margin-top: 16px; border-radius: 12px; background: var(--sunken); }
#skill-create .workflow-editor:not(.has-file) aside { display: block; position: absolute; inset: 0; z-index: 2; padding: 0; border: 0; pointer-events: none; }
#skill-create .workflow-editor:not(.has-file) .workflow-editor-sidebar-head > strong,
#skill-create .workflow-editor:not(.has-file) .workflow-editor-tree,
#skill-create .workflow-editor:not(.has-file) .workflow-editor-new-file { display: none; }
#skill-create .workflow-editor:not(.has-file) .workflow-editor-add { position: absolute; top: 8px; right: 12px; bottom: auto; left: auto; width: auto; padding: 4px 8px; border: 0; font-size: 13px; pointer-events: auto; }
#skill-create .workflow-editor:not(.has-file) article { display: block; position: relative; height: 100%; min-height: 0; }
#skill-create .workflow-editor:not(.has-file) .workflow-editor-toolbar { position: absolute; z-index: 2; top: 8px; right: 104px; padding: 0; border: 0; }
#skill-create .workflow-editor:not(.has-file) .workflow-editor-toolbar code,
#skill-create .workflow-editor:not(.has-file) [data-workflow-editor-view],
#skill-create .workflow-editor:not(.has-file) [data-workflow-editor-delete] { display: none; }
#skill-create .workflow-editor:not(.has-file) [data-workflow-editor-copy] { opacity: 0; }
#skill-create .workflow-editor:not(.has-file):hover [data-workflow-editor-copy],
#skill-create .workflow-editor:not(.has-file) [data-workflow-editor-copy]:focus-visible { opacity: 1; }
#skill-create .workflow-editor.has-file { grid-template-columns: 244px minmax(0, 1fr); }
#skill-create .workflow-editor.has-file aside { gap: 0; padding: 8px 8px 42px; }
#skill-create .workflow-editor.has-file .workflow-editor-sidebar-head > strong { display: none; }
#skill-create .workflow-editor.has-file .workflow-editor-tree-file { position: relative; padding: 4px 24px 4px 8px; }
#skill-create .workflow-editor.has-file .workflow-editor-tree-file.is-active { background: transparent; }
#skill-create .workflow-editor.has-file .workflow-editor-tree-file::after { position: absolute; top: calc(50% - 3px); right: 8px; width: 6px; height: 6px; border-radius: 50%; background: #3679d7; content: ""; }
#skill-create .workflow-editor.has-file .workflow-editor-add { left: 0; width: 100%; padding: 6px 12px; border-top: 1px solid var(--border); font-size: 13px; }
#skill-create .workflow-editor.has-file article { position: relative; height: 100%; min-height: 0; }
#skill-create .workflow-editor.has-file .workflow-editor-toolbar { height: 48px; box-sizing: border-box; align-items: center; padding: 0 16px; border: 0; font-size: 13px; }
#skill-create .workflow-editor.has-file .workflow-editor-toolbar code { padding: 0; background: transparent; }
#skill-create .workflow-editor.has-file .workflow-editor-toolbar code[role="button"] { cursor: pointer; }
#skill-create .workflow-editor.has-file [data-workflow-editor-path-input] { width: 180px; height: 30px; padding: 0 8px; font: 13px/20px var(--font-sans); }
#skill-create .workflow-editor.has-file .workflow-editor-controls button { display: inline-grid; place-items: center; width: 28px; height: 28px; padding: 4px; }
#skill-create .workflow-editor.has-file .workflow-editor-controls svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
#skill-create .workflow-editor.has-file [data-workflow-editor-copy] { position: absolute; top: 10px; right: 112px; opacity: 0; }
#skill-create .workflow-editor.has-file .workflow-editor-toolbar:hover [data-workflow-editor-copy],
#skill-create .workflow-editor.has-file [data-workflow-editor-copy]:focus-visible { opacity: 1; }
#skill-create .workflow-editor-new-file { margin: 8px 8px 0; }
#skill-create .workflow-editor-new-file input { height: 32px; padding: 0 8px; font: 13px/20px var(--font-sans); }
#skill-create .workflow-editor-new-file > div { display: none; }
#skill-create .workflow-editor textarea { position: relative; z-index: 1; min-height: 0; padding: 48px 16px 16px 52px; background: transparent; font: 13px/22px var(--font-mono); }
#skill-create .workflow-editor.has-file textarea { padding-top: 4px; }
#skill-create .workflow-editor textarea::placeholder { color: var(--text-3); }
#skill-create [data-workflow-skill-lines] { position: absolute; top: 48px; left: 16px; z-index: 2; width: 24px; height: calc(100% - 48px); margin: 0; overflow: hidden; color: var(--text-3); font: 13px/22px var(--font-mono); text-align: right; pointer-events: none; }
#skill-create .workflow-editor.has-file [data-workflow-skill-lines] { top: 52px; height: calc(100% - 52px); }
#skill-create .workflow-editor.has-file article.is-empty { display: grid; grid-template-rows: 1fr; place-items: center; }
#skill-create .workflow-editor.has-file article.is-empty > * { display: none; }
#skill-create .workflow-editor.has-file article.is-empty::after { content: "选择文件以查看内容。"; color: var(--text-3); font-size: 14px; }
#skill-create .workflow-modal-actions { flex: none; height: 32px; margin-top: 16px; }
#skill-create .workflow-modal-actions .btn { min-height: 32px; padding: 0 12px; border-radius: 8px; }
@media (max-width: 640px) {
  #skill-create .workflow-create-panel { height: calc(100dvh - 24px); max-height: calc(100dvh - 24px); padding: 16px; transform: none; }
  #skill-create .workflow-editor.has-file { grid-template-columns: 120px minmax(0, 1fr); }
  #skill-create .workflow-editor.has-file aside { border-right: 1px solid var(--border); border-bottom: 0; }
  #skill-create .workflow-editor.has-file .workflow-editor-add { position: absolute; bottom: 0; width: 100%; }
}
