
  .ui-alert.svelte-iwvq46 {
    display: flex;
    align-items: flex-start;
    gap: var(--space-2);
    padding: var(--space-3);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    background: var(--bg-elevated);
  }

  .ui-alert-icon.svelte-iwvq46 {
    display: inline-flex;
    flex-shrink: 0;
    color: var(--text-tertiary);
  }

  .ui-alert-content.svelte-iwvq46 {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    flex: 1;
    min-width: 0;
  }

  .ui-alert-title.svelte-iwvq46 {
    margin: 0;
    font-size: var(--text-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--text-primary);
  }

  .ui-alert-body.svelte-iwvq46 {
    font-size: var(--text-sm);
    color: var(--text-secondary);
    word-break: break-word;
  }

  .ui-alert-close.svelte-iwvq46 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: var(--control-xs);
    height: var(--control-xs);
    padding: 0;
    border: 0;
    border-radius: var(--radius-sm);
    background: transparent;
    color: var(--text-tertiary);
    cursor: pointer;
  }

  .ui-alert-close.svelte-iwvq46:hover {
    background: var(--bg-sunken);
    color: var(--text-primary);
  }

  .ui-alert-close.svelte-iwvq46:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 1px;
  }

  .ui-alert--info.svelte-iwvq46 {
    border-color: color-mix(in srgb, var(--status-info) 45%, transparent);
    background: color-mix(in srgb, var(--status-info) 10%, var(--bg-elevated));
  }

  .ui-alert--info.svelte-iwvq46 .ui-alert-icon:where(.svelte-iwvq46) {
    color: var(--status-info);
  }

  .ui-alert--success.svelte-iwvq46 {
    border-color: color-mix(in srgb, var(--status-ok) 45%, transparent);
    background: color-mix(in srgb, var(--status-ok) 10%, var(--bg-elevated));
  }

  .ui-alert--success.svelte-iwvq46 .ui-alert-icon:where(.svelte-iwvq46) {
    color: var(--status-ok);
  }

  .ui-alert--warn.svelte-iwvq46 {
    border-color: color-mix(in srgb, var(--status-warn) 45%, transparent);
    background: color-mix(in srgb, var(--status-warn) 10%, var(--bg-elevated));
  }

  .ui-alert--warn.svelte-iwvq46 .ui-alert-icon:where(.svelte-iwvq46) {
    color: var(--status-warn);
  }

  .ui-alert--error.svelte-iwvq46 {
    border-color: color-mix(in srgb, var(--status-error) 45%, transparent);
    background: color-mix(in srgb, var(--status-error) 10%, var(--bg-elevated));
  }

  .ui-alert--error.svelte-iwvq46 .ui-alert-icon:where(.svelte-iwvq46) {
    color: var(--status-error);
  }


  .ui-badge.svelte-12q4uil {
    display: inline-flex;
    align-items: center;
    height: 20px;
    padding: 0 var(--space-2);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-full);
    background: var(--bg-sunken);
    color: var(--text-secondary);
    font-size: var(--text-xs);
    font-weight: var(--font-weight-semibold);
    line-height: 1;
    white-space: nowrap;
  }

  .ui-badge--ok.svelte-12q4uil {
    border-color: color-mix(in srgb, var(--status-ok) 45%, transparent);
    background: color-mix(in srgb, var(--status-ok) 14%, var(--bg-elevated));
    color: var(--status-ok);
  }

  .ui-badge--warn.svelte-12q4uil {
    border-color: color-mix(in srgb, var(--status-warn) 45%, transparent);
    background: color-mix(in srgb, var(--status-warn) 14%, var(--bg-elevated));
    color: var(--status-warn);
  }

  .ui-badge--error.svelte-12q4uil {
    border-color: color-mix(in srgb, var(--status-error) 45%, transparent);
    background: color-mix(in srgb, var(--status-error) 14%, var(--bg-elevated));
    color: var(--status-error);
  }

  .ui-badge--info.svelte-12q4uil {
    border-color: color-mix(in srgb, var(--status-info) 45%, transparent);
    background: color-mix(in srgb, var(--status-info) 14%, var(--bg-elevated));
    color: var(--status-info);
  }

  .ui-badge--mono.svelte-12q4uil {
    font-family: var(--font-mono);
  }


  .ui-btn.svelte-22axtj {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-1);
    height: var(--control-md);
    padding: 0 var(--space-3);
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-md);
    background: var(--bg-elevated);
    color: var(--text-primary);
    font-size: var(--text-sm);
    font-weight: var(--font-weight-semibold);
    line-height: 1;
    white-space: nowrap;
    cursor: pointer;
    transition:
      background var(--duration-fast) var(--ease-smooth),
      border-color var(--duration-fast) var(--ease-smooth),
      color var(--duration-fast) var(--ease-smooth),
      filter var(--duration-fast) var(--ease-smooth);
  }

  .ui-btn--sm.svelte-22axtj {
    height: var(--control-sm);
    padding: 0 var(--space-2);
  }

  .ui-btn--square.svelte-22axtj {
    width: var(--control-md);
    padding: 0;
  }

  .ui-btn--sm.ui-btn--square.svelte-22axtj {
    width: var(--control-sm);
  }

  /* 实心彩面前景一律 on-color 令牌（02 §2.1 用色纪律） */
  .ui-btn--primary.svelte-22axtj {
    border-color: var(--accent);
    background: var(--accent);
    color: var(--accent-text);
  }

  .ui-btn--danger.svelte-22axtj {
    border-color: var(--status-error);
    background: var(--status-error);
    color: var(--on-error);
  }

  .ui-btn--ghost.svelte-22axtj {
    border-color: transparent;
    background: transparent;
    color: var(--text-secondary);
  }

  .ui-btn.svelte-22axtj:hover:not(:disabled) {
    border-color: var(--accent);
    background: var(--bg-sunken);
    color: var(--text-primary);
  }

  .ui-btn--primary.svelte-22axtj:hover:not(:disabled) {
    border-color: var(--accent-hover);
    background: var(--accent-hover);
    color: var(--accent-text);
  }

  .ui-btn--danger.svelte-22axtj:hover:not(:disabled) {
    border-color: var(--status-error);
    background: var(--status-error);
    color: var(--on-error);
    filter: brightness(1.1);
  }

  .ui-btn--ghost.svelte-22axtj:hover:not(:disabled) {
    border-color: transparent;
    background: var(--bg-sunken);
    color: var(--text-primary);
  }

  .ui-btn.svelte-22axtj:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
  }

  .ui-btn.svelte-22axtj:disabled {
    border-color: var(--border-subtle);
    background: var(--bg-sunken);
    color: var(--text-disabled);
    cursor: not-allowed;
    filter: none;
  }

  .ui-btn-spinner.svelte-22axtj {
    width: 12px;
    height: 12px;
    border: 2px solid currentColor;
    border-top-color: transparent;
    border-radius: var(--radius-full);
    animation: svelte-22axtj-ui-spin var(--duration-base) linear infinite;
  }

  @keyframes svelte-22axtj-ui-spin {
    to {
      transform: rotate(360deg);
    }
  }


  .ui-card.svelte-14yt1bp {
    display: flex;
    flex-direction: column;
    min-width: 0;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-lg);
    background: var(--bg-elevated);
    overflow: hidden;
  }

  .ui-card-header.svelte-14yt1bp {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    padding: var(--space-3) var(--space-4);
    border-bottom: 1px solid var(--border-subtle);
  }

  .ui-card-title.svelte-14yt1bp {
    margin: 0;
    font-size: var(--text-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--text-primary);
  }

  .ui-card-actions.svelte-14yt1bp {
    display: flex;
    align-items: center;
    gap: var(--space-2);
  }

  .ui-card-body.svelte-14yt1bp {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    min-width: 0;
    flex: 1; /* 卡片被拉伸（同行等高）时内容体填满，页脚沉底 */
    padding: var(--space-4);
  }

  .ui-card-body--flush.svelte-14yt1bp {
    padding: 0;
  }


  .ui-cmdk-overlay.svelte-dxa5nh {
    position: fixed;
    inset: 0;
    z-index: var(--z-modal);
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: var(--space-8) var(--space-4) var(--space-4);
    background: color-mix(in srgb, var(--gray-975) 60%, transparent);
    animation: svelte-dxa5nh-ui-cmdk-fade var(--duration-fast) var(--ease-smooth);
  }

  @keyframes svelte-dxa5nh-ui-cmdk-fade {
    from {
      opacity: 0;
    }
    to {
      opacity: 1;
    }
  }

  .ui-cmdk.svelte-dxa5nh {
    display: flex;
    flex-direction: column;
    width: 560px;
    max-width: 100%;
    max-height: 60vh;
    overflow: hidden;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-lg);
    background: var(--bg-overlay);
    box-shadow: var(--shadow-overlay);
    animation: svelte-dxa5nh-ui-cmdk-drop var(--duration-base) var(--ease-smooth);
  }

  @keyframes svelte-dxa5nh-ui-cmdk-drop {
    from {
      transform: translateY(calc(-1 * var(--space-2)));
      opacity: 0;
    }
    to {
      transform: translateY(0);
      opacity: 1;
    }
  }

  .ui-cmdk-input-row.svelte-dxa5nh {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    border-bottom: 1px solid var(--border-subtle);
    color: var(--text-tertiary);
  }

  .ui-cmdk-search-icon.svelte-dxa5nh {
    display: inline-flex;
    flex-shrink: 0;
  }

  .ui-cmdk-input.svelte-dxa5nh {
    flex: 1;
    min-width: 0;
    height: var(--control-md);
    border: 0;
    background: transparent;
    color: var(--text-primary);
    font-size: var(--text-base);
    font-family: var(--font-sans);
    outline: none;
  }

  .ui-cmdk-input.svelte-dxa5nh::placeholder {
    color: var(--text-tertiary);
  }

  .ui-cmdk-kbd.svelte-dxa5nh {
    display: inline-flex;
    align-items: center;
    height: var(--control-xs);
    padding: 0 var(--space-2);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-sm);
    background: var(--bg-sunken);
    color: var(--text-secondary);
    font-family: var(--font-mono);
    font-size: var(--text-xs);
    line-height: 1;
  }

  .ui-cmdk-list.svelte-dxa5nh {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    padding: var(--space-2);
  }

  .ui-cmdk-empty.svelte-dxa5nh {
    margin: 0;
    padding: var(--space-5) 0;
    text-align: center;
    font-size: var(--text-sm);
    color: var(--text-tertiary);
  }

  .ui-cmdk-group.svelte-dxa5nh {
    padding: var(--space-2) var(--space-3) var(--space-1);
    font-size: var(--text-xs);
    font-weight: var(--font-weight-semibold);
    color: var(--text-tertiary);
  }

  .ui-cmdk-group.svelte-dxa5nh:not(:first-child) {
    margin-top: var(--space-2);
  }

  .ui-cmdk-item.svelte-dxa5nh {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    width: 100%;
    padding: var(--space-2) var(--space-3);
    border: 0;
    border-radius: var(--radius-md);
    background: transparent;
    color: var(--text-primary);
    text-align: left;
    cursor: pointer;
  }

  /* 选中/悬停同导航项选中语义（bg-sunken + 主文字色，同语义同外观） */
  .ui-cmdk-item.svelte-dxa5nh:hover,
  .ui-cmdk-item--selected.svelte-dxa5nh {
    background: var(--bg-sunken);
  }

  .ui-cmdk-item-label.svelte-dxa5nh {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: var(--text-sm);
    font-weight: var(--font-weight-medium);
  }

  .ui-cmdk-item-hint.svelte-dxa5nh {
    flex-shrink: 0;
    font-family: var(--font-mono);
    font-size: var(--text-xs);
    color: var(--text-tertiary);
  }

  .ui-cmdk-footer.svelte-dxa5nh {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    padding: var(--space-2) var(--space-4);
    border-top: 1px solid var(--border-subtle);
    font-size: var(--text-xs);
    color: var(--text-tertiary);
  }

  .ui-cmdk-footer-hint.svelte-dxa5nh {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
  }


  .ui-confirm.svelte-rzhwrm {
    display: flex;
    align-items: flex-start;
    gap: var(--space-3);
  }

  .ui-confirm-icon.svelte-rzhwrm {
    display: inline-flex;
    flex-shrink: 0;
    color: var(--status-info);
  }

  .ui-confirm-icon--danger.svelte-rzhwrm {
    color: var(--status-error);
  }

  .ui-confirm-message.svelte-rzhwrm {
    margin: 0;
    font-size: var(--text-sm);
    line-height: var(--leading-normal);
    color: var(--text-primary);
    word-break: break-word;
  }

  .ui-confirm-actions.svelte-rzhwrm {
    display: flex;
    justify-content: flex-end;
    gap: var(--space-2);
  }


  /* 表格视觉全部来自契约类（contract.css .data-table 族）——单一真相，
     本组件只补 flex 布局收敛（父容器窄时表格收缩不撑破） */
  .ui-datatable.svelte-11v7zwt {
    display: flex;
    flex-direction: column;
    min-width: 0;
  }

  /* 展开钮列：窄列收在行首（特异性 (0,2,1) > 契约 .data-table td (0,1,1)，不触碰契约类名） */
  .ui-datatable.svelte-11v7zwt td.ui-datatable-toggle-col:where(.svelte-11v7zwt) {
    width: var(--control-sm);
    padding: 0 var(--space-1);
  }

  .ui-datatable-toggle.svelte-11v7zwt {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--control-sm);
    height: var(--control-sm);
    border: none;
    border-radius: var(--radius-sm);
    background: transparent;
    color: var(--text-tertiary);
    cursor: pointer;
  }

  .ui-datatable-toggle.svelte-11v7zwt:hover {
    background: var(--bg-elevated);
    color: var(--text-primary);
  }

  .ui-datatable-toggle.svelte-11v7zwt:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 1px;
  }

  /* 展开行：只读详情区（自动高度 + 沉底背景与行 hover 区分；特异性压过契约 td） */
  .ui-datatable.svelte-11v7zwt tr.ui-datatable-detail-row:where(.svelte-11v7zwt) > td:where(.svelte-11v7zwt) {
    height: auto;
    padding: var(--space-3) var(--space-4);
    background: var(--bg-sunken);
  }

  .ui-datatable-detail.svelte-11v7zwt {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
  }


  .ui-dl.svelte-cmgd82 {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-2);
    margin: 0;
  }

  .ui-dl--two.svelte-cmgd82 {
    grid-template-columns: 1fr 1fr;
    gap: var(--space-4);
  }

  .ui-dl-row.svelte-cmgd82 {
    display: grid;
    grid-template-columns: minmax(96px, auto) 1fr;
    gap: var(--space-3);
    align-items: baseline;
    min-width: 0;
  }

  /* 字段标签：xs / 600 / mono（02 §2.2） */
  .ui-dl-term.svelte-cmgd82 {
    font-size: var(--text-xs);
    font-weight: var(--font-weight-semibold);
    font-family: var(--font-mono);
    color: var(--text-tertiary);
  }

  .ui-dl-value.svelte-cmgd82 {
    margin: 0;
    font-size: var(--text-sm);
    color: var(--text-primary);
    word-break: break-all;
  }

  .ui-dl-value--mono.svelte-cmgd82 {
    font-family: var(--font-mono);
    font-size: var(--text-xs);
  }


  .ui-dc.svelte-17dd7bh {
    display: flex;
    flex-direction: column;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    background: var(--bg-elevated);
  }

  .ui-dc-trigger.svelte-17dd7bh {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    width: 100%;
    height: var(--control-md);
    padding: 0 var(--space-2);
    border: 0;
    border-radius: var(--radius-md);
    background: transparent;
    color: var(--text-secondary);
    font-size: var(--text-sm);
    font-weight: var(--font-weight-semibold);
    text-align: left;
    cursor: pointer;
  }

  .ui-dc-trigger.svelte-17dd7bh:hover {
    background: var(--bg-sunken);
    color: var(--text-primary);
  }

  .ui-dc-trigger.svelte-17dd7bh:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: -2px;
  }

  .ui-dc-caret.svelte-17dd7bh {
    display: inline-flex;
    color: var(--text-tertiary);
    transition: transform var(--duration-fast) var(--ease-smooth);
  }

  .ui-dc--open.svelte-17dd7bh .ui-dc-caret:where(.svelte-17dd7bh) {
    transform: rotate(180deg);
  }

  .ui-dc--open.svelte-17dd7bh .ui-dc-trigger:where(.svelte-17dd7bh) {
    color: var(--text-primary);
  }

  .ui-dc-title.svelte-17dd7bh {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  /* 0fr→1fr 展开动画（纯 CSS，无需 JS 测量） */
  .ui-dc-body.svelte-17dd7bh {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows var(--duration-base) var(--ease-smooth);
  }

  .ui-dc--open.svelte-17dd7bh .ui-dc-body:where(.svelte-17dd7bh) {
    grid-template-rows: 1fr;
  }

  .ui-dc-body-inner.svelte-17dd7bh {
    overflow: hidden;
    min-height: 0;
    padding: 0 var(--space-3);
  }

  .ui-dc--open.svelte-17dd7bh .ui-dc-body-inner:where(.svelte-17dd7bh) {
    padding-bottom: var(--space-3);
  }


  .ui-empty.svelte-14lhkr6 {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--space-2);
    padding: var(--space-7) var(--space-4);
    text-align: center;
  }

  .ui-empty-icon.svelte-14lhkr6 {
    display: inline-flex;
    color: var(--text-disabled);
  }

  .ui-empty-title.svelte-14lhkr6 {
    margin: 0;
    font-size: var(--text-base);
    font-weight: var(--font-weight-semibold);
    color: var(--text-secondary);
  }

  .ui-empty-description.svelte-14lhkr6 {
    margin: 0;
    max-width: 380px;
    font-size: var(--text-sm);
    color: var(--text-tertiary);
  }

  .ui-empty-actions.svelte-14lhkr6 {
    display: flex;
    gap: var(--space-2);
    margin-top: var(--space-2);
  }


  .ui-fieldhint.svelte-fisrwn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--control-xs);
    height: var(--control-xs);
    padding: 0;
    border: 0;
    border-radius: var(--radius-full);
    background: transparent;
    color: var(--text-tertiary);
    cursor: help;
  }

  .ui-fieldhint.svelte-fisrwn:hover,
  .ui-fieldhint--active.svelte-fisrwn {
    color: var(--accent);
  }

  .ui-fieldhint.svelte-fisrwn:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 1px;
  }

  .ui-fieldhint-pop.svelte-fisrwn {
    position: fixed;
    z-index: var(--z-dropdown);
    max-width: 240px;
    padding: var(--space-2) var(--space-3);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    background: var(--bg-overlay);
    box-shadow: var(--shadow-overlay);
    color: var(--text-secondary);
    font-size: var(--text-xs);
    line-height: var(--leading-normal);
    animation: svelte-fisrwn-ui-fieldhint-in var(--duration-fast) var(--ease-smooth);
  }

  .ui-fieldhint-pop--top.svelte-fisrwn {
    transform: translateY(-100%);
  }

  @keyframes svelte-fisrwn-ui-fieldhint-in {
    from {
      opacity: 0;
    }
  }


  .ui-savebar.svelte-6t9uf5 {
    position: sticky;
    bottom: 0;
    z-index: var(--z-sticky);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    padding: var(--space-3) var(--space-4);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-lg);
    background: var(--bg-elevated);
  }

  .ui-savebar-message.svelte-6t9uf5 {
    min-width: 0;
    font-size: var(--text-sm);
    color: var(--text-secondary);
  }

  .ui-savebar-actions.svelte-6t9uf5 {
    display: flex;
    gap: var(--space-2);
  }


  .ui-icon.svelte-1t3kzp {
    display: inline-block;
    vertical-align: -0.15em;
    flex-shrink: 0;
  }


  .ui-field.svelte-1ay2hj {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    min-width: 0;
  }

  /* 字段标签：xs / 600 / mono（02 §2.2 字号阶梯标准用途） */
  .ui-field-label.svelte-1ay2hj {
    font-size: var(--text-xs);
    font-weight: var(--font-weight-semibold);
    font-family: var(--font-mono);
    color: var(--text-secondary);
  }

  .ui-input.svelte-1ay2hj {
    height: var(--control-md);
    padding: 0 var(--space-2);
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-md);
    background: var(--bg-sunken);
    color: var(--text-primary);
    font-size: var(--text-sm);
  }

  .ui-input.svelte-1ay2hj::placeholder {
    color: var(--text-tertiary);
  }

  .ui-input.svelte-1ay2hj:focus-visible {
    border-color: var(--accent);
    outline: 2px solid var(--accent);
    outline-offset: 1px;
  }

  .ui-input.svelte-1ay2hj:disabled {
    border-color: var(--border-subtle);
    background: var(--bg-sunken);
    color: var(--text-disabled);
    cursor: not-allowed;
  }

  .ui-input--invalid.svelte-1ay2hj {
    border-color: var(--status-error);
  }

  .ui-input--invalid.svelte-1ay2hj:focus-visible {
    border-color: var(--status-error);
    outline-color: var(--status-error);
  }

  .ui-input--mono.svelte-1ay2hj {
    font-family: var(--font-mono);
  }

  /* 辅助说明：xs / mono（02 §2.2） */
  .ui-field-desc.svelte-1ay2hj {
    margin: 0;
    font-size: var(--text-xs);
    font-family: var(--font-mono);
    color: var(--text-tertiary);
  }

  .ui-field-desc--error.svelte-1ay2hj {
    color: var(--status-error);
  }


  .ui-field.svelte-12jmu50 {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    min-width: 0;
  }

  .ui-field-label.svelte-12jmu50 {
    font-size: var(--text-xs);
    font-weight: var(--font-weight-semibold);
    font-family: var(--font-mono);
    color: var(--text-secondary);
  }

  .md-editor.svelte-12jmu50 {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
  }

  .md-toolbar.svelte-12jmu50 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-2);
    flex-wrap: wrap;
  }

  .md-tools.svelte-12jmu50 {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
  }

  /* 块级组与行内组的分隔（38 §5.3 工具栏增强） */
  .md-sep.svelte-12jmu50 {
    align-self: center;
    width: 1px;
    height: calc(var(--control-sm) * 0.6);
    background: var(--border-subtle);
  }

  .md-tool.svelte-12jmu50 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--control-sm);
    height: var(--control-sm);
    padding: 0;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-sm);
    background: var(--bg-elevated);
    color: var(--text-secondary);
    font-family: var(--font-mono);
    font-size: var(--text-sm);
    cursor: pointer;
  }

  .md-tool.svelte-12jmu50:hover:not(:disabled) {
    border-color: var(--border-strong);
    color: var(--text-primary);
  }

  .md-tool.svelte-12jmu50:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 1px;
  }

  .md-tool.svelte-12jmu50:disabled {
    color: var(--text-disabled);
    cursor: not-allowed;
  }

  .md-tool--bold.svelte-12jmu50 {
    font-weight: var(--font-weight-bold);
  }

  .md-tool--italic.svelte-12jmu50 {
    font-style: italic;
  }

  .md-tool--strike.svelte-12jmu50 {
    text-decoration: line-through;
  }

  .md-tool--mono.svelte-12jmu50 {
    font-size: var(--text-xs);
  }

  .md-panes.svelte-12jmu50 {
    display: grid;
    gap: var(--space-2);
  }

  .md-panes.split.svelte-12jmu50 {
    grid-template-columns: 1fr 1fr;
  }

  .md-src.svelte-12jmu50 {
    width: 100%;
    padding: var(--space-2);
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-md);
    background: var(--bg-sunken);
    color: var(--text-primary);
    font-family: var(--font-mono);
    font-size: var(--text-sm);
    line-height: var(--leading-normal);
    resize: vertical;
    min-height: 0;
  }

  .md-editor--invalid.svelte-12jmu50 .md-src:where(.svelte-12jmu50) {
    border-color: var(--status-error);
  }

  .md-src.svelte-12jmu50::placeholder {
    color: var(--text-tertiary);
  }

  .md-src.svelte-12jmu50:focus-visible {
    border-color: var(--accent);
    outline: 2px solid var(--accent);
    outline-offset: 1px;
  }

  .md-src.svelte-12jmu50:disabled,
  .md-src.svelte-12jmu50:read-only {
    border-color: var(--border-subtle);
  }

  .md-src.svelte-12jmu50:disabled {
    color: var(--text-disabled);
    cursor: not-allowed;
  }

  /* 预览窗格：与源码窗格同行等高（grid stretch）；纵向滚动随内容 */
  .md-preview.svelte-12jmu50 {
    padding: var(--space-3);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    background: var(--bg-elevated);
    overflow-y: auto;
    min-height: 0;
  }

  .ui-field-desc.svelte-12jmu50 {
    margin: 0;
    font-size: var(--text-xs);
    font-family: var(--font-mono);
    color: var(--text-tertiary);
  }

  .ui-field-desc--error.svelte-12jmu50 {
    color: var(--status-error);
  }


  /* .md-body 样式契约段（18 §8）：全令牌引用，双主题自动成立；零硬编码色/距/字号 */
  .md-body.svelte-19e6c89 {
    color: var(--text-primary);
    font-size: var(--text-base);
    line-height: var(--leading-normal);
    overflow-wrap: break-word;
  }

  /* 段落（软换行已由渲染器并入空格） */
  .md-body.svelte-19e6c89 p {
    margin: 0 0 var(--space-3);
  }

  .md-body.svelte-19e6c89 ul:last-child,
  .md-body.svelte-19e6c89 ol:last-child,
  .md-body.svelte-19e6c89 blockquote:last-child,
  .md-body.svelte-19e6c89 .md-code:last-child,
  .md-body.svelte-19e6c89 table:last-child {
    margin-bottom: 0;
  }

  /* 标题阶梯 h1=xl → h6=xs（18 §8）；首标题去顶距 */
  .md-body.svelte-19e6c89 h1 {
    margin: var(--space-5) 0 var(--space-2);
    font-size: var(--text-xl);
    font-weight: var(--font-weight-semibold);
    line-height: var(--leading-tight);
  }

  .md-body.svelte-19e6c89 h2 {
    margin: var(--space-5) 0 var(--space-2);
    font-size: var(--text-lg);
    font-weight: var(--font-weight-semibold);
    line-height: var(--leading-tight);
  }

  .md-body.svelte-19e6c89 h3 {
    margin: var(--space-4) 0 var(--space-2);
    font-size: var(--text-base);
    font-weight: var(--font-weight-semibold);
    line-height: var(--leading-tight);
  }

  .md-body.svelte-19e6c89 h4,
  .md-body.svelte-19e6c89 h5 {
    margin: var(--space-3) 0 var(--space-1);
    font-size: var(--text-sm);
    font-weight: var(--font-weight-semibold);
    line-height: var(--leading-tight);
  }

  .md-body.svelte-19e6c89 h6 {
    margin: var(--space-3) 0 var(--space-1);
    font-size: var(--text-xs);
    font-weight: var(--font-weight-semibold);
    line-height: var(--leading-tight);
  }

  .md-body.svelte-19e6c89 h1:first-child,
  .md-body.svelte-19e6c89 h2:first-child,
  .md-body.svelte-19e6c89 h3:first-child,
  .md-body.svelte-19e6c89 h4:first-child,
  .md-body.svelte-19e6c89 h5:first-child,
  .md-body.svelte-19e6c89 h6:first-child,
  .md-body.svelte-19e6c89 p:first-child {
    margin-top: 0;
  }

  /* 引用：左竖线 + 次级文本（18 §2 TRAE 参照） */
  .md-body.svelte-19e6c89 blockquote {
    margin: 0 0 var(--space-3);
    padding: var(--space-1) var(--space-3);
    border-left: 2px solid var(--border-strong);
    color: var(--text-secondary);
  }

  .md-body.svelte-19e6c89 blockquote p {
    margin: 0 0 var(--space-2);
  }

  .md-body.svelte-19e6c89 blockquote p:last-child {
    margin-bottom: 0;
  }

  /* 列表：嵌套缩进由原生 padding 承载 */
  .md-body.svelte-19e6c89 ul,
  .md-body.svelte-19e6c89 ol {
    margin: 0 0 var(--space-3);
    padding-left: var(--space-5);
  }

  .md-body.svelte-19e6c89 li {
    margin: var(--space-1) 0;
  }

  .md-body.svelte-19e6c89 li > ul,
  .md-body.svelte-19e6c89 li > ol {
    margin: var(--space-1) 0;
  }

  /* 任务列表：checkbox 对齐文本首行基线（18 §8）；去项目符号 */
  .md-body.svelte-19e6c89 li.md-task {
    display: flex;
    align-items: first baseline;
    gap: var(--space-2);
    list-style: none;
  }

  .md-body.svelte-19e6c89 li.md-task input[type='checkbox'] {
    width: var(--text-base);
    height: var(--text-base);
    flex-shrink: 0;
    margin: 0;
    accent-color: var(--accent);
  }

  /* 行内代码：等宽 + 弱底色 */
  .md-body.svelte-19e6c89 code {
    padding: 0 var(--space-1);
    border-radius: var(--radius-sm);
    background: var(--bg-sunken);
    font-family: var(--font-mono);
    font-size: var(--text-sm);
  }

  /* 代码块装饰结构（18 §7.2）：语言标签 + 复制按钮 + pre>code */
  .md-body.svelte-19e6c89 .md-code {
    margin: 0 0 var(--space-3);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    background: var(--bg-sunken);
  }

  .md-body.svelte-19e6c89 .md-code-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 var(--space-2);
    border-bottom: 1px solid var(--border-subtle);
  }

  .md-body.svelte-19e6c89 .md-code-lang {
    color: var(--text-tertiary);
    font-family: var(--font-mono);
    font-size: var(--text-xs);
    line-height: var(--control-sm);
  }

  .md-body.svelte-19e6c89 .md-code-copy {
    height: var(--control-sm);
    padding: 0 var(--space-1);
    border: 0;
    border-radius: var(--radius-sm);
    background: transparent;
    color: var(--text-secondary);
    font-size: var(--text-xs);
    cursor: pointer;
  }

  .md-body.svelte-19e6c89 .md-code-copy:hover {
    background: var(--bg-elevated);
    color: var(--text-primary);
  }

  .md-body.svelte-19e6c89 .md-code-copy:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: -2px;
  }

  .md-body.svelte-19e6c89 .md-code pre {
    margin: 0;
    padding: var(--space-3);
  }

  /* 块内代码覆写行内样式；禁横向滚动（UI 布局纪律：内容换行） */
  .md-body.svelte-19e6c89 .md-code code {
    padding: 0;
    border-radius: 0;
    background: transparent;
    white-space: pre-wrap;
    overflow-wrap: break-word;
    line-height: var(--leading-normal);
  }

  /* 语法高亮映射（38 §5.2 D-3）：预渲染物化产物携带 md-hl-* class span
     （Shiki token→class，零内联 style 过 CSP），颜色由 --syntax-* 令牌对
     承载（02 §2.7，亮暗成对）；无 class 纯文本继承 code 前景色 */
  .md-body.svelte-19e6c89 .md-hl-keyword {
    color: var(--syntax-keyword);
  }

  .md-body.svelte-19e6c89 .md-hl-string {
    color: var(--syntax-string);
  }

  .md-body.svelte-19e6c89 .md-hl-comment {
    color: var(--syntax-comment);
  }

  .md-body.svelte-19e6c89 .md-hl-number {
    color: var(--syntax-number);
  }

  .md-body.svelte-19e6c89 .md-hl-function {
    color: var(--syntax-function);
  }

  .md-body.svelte-19e6c89 .md-hl-constant {
    color: var(--syntax-constant);
  }

  .md-body.svelte-19e6c89 .md-hl-variable {
    color: var(--syntax-variable);
  }

  .md-body.svelte-19e6c89 .md-hl-operator {
    color: var(--syntax-operator);
  }

  .md-body.svelte-19e6c89 .md-hl-type {
    color: var(--syntax-type);
  }

  .md-body.svelte-19e6c89 .md-hl-tag {
    color: var(--syntax-tag);
  }

  .md-body.svelte-19e6c89 .md-hl-attr {
    color: var(--syntax-attr);
  }

  /* GFM 表格：全宽 + 表头底色 + 行线 + 对齐三态（18 §4.1） */
  .md-body.svelte-19e6c89 table {
    width: 100%;
    margin: 0 0 var(--space-3);
    border-collapse: collapse;
    font-size: var(--text-sm);
  }

  .md-body.svelte-19e6c89 th,
  .md-body.svelte-19e6c89 td {
    padding: var(--space-2);
    border: 1px solid var(--border-subtle);
    text-align: left;
  }

  .md-body.svelte-19e6c89 th {
    background: var(--bg-sunken);
    font-weight: var(--font-weight-semibold);
  }

  .md-body.svelte-19e6c89 .al-center {
    text-align: center;
  }

  .md-body.svelte-19e6c89 .al-right {
    text-align: right;
  }

  /* 分割线 */
  .md-body.svelte-19e6c89 hr {
    margin: var(--space-4) 0;
    border: 0;
    border-top: 1px solid var(--border-subtle);
  }

  /* 图片自适应（防横滚）+ 外链色（18 §8） */
  .md-body.svelte-19e6c89 img {
    max-width: 100%;
    height: auto;
  }

  .md-body.svelte-19e6c89 a {
    color: var(--accent);
    text-decoration: underline;
  }

  .md-body.svelte-19e6c89 a:hover {
    color: var(--accent-hover);
  }

  .md-body.svelte-19e6c89 del {
    color: var(--text-tertiary);
  }


  .ui-modal-overlay.svelte-uxsj0i {
    position: fixed;
    inset: 0;
    z-index: var(--z-modal);
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: var(--space-8) var(--space-4) var(--space-4);
    overflow-y: auto;
    background: color-mix(in srgb, var(--gray-975) 60%, transparent);
  }

  .ui-modal.svelte-uxsj0i {
    display: flex;
    flex-direction: column;
    width: 480px;
    max-width: 100%;
    max-height: 100%;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-lg);
    background: var(--bg-overlay);
    box-shadow: var(--shadow-overlay);
  }

  .ui-modal--sm.svelte-uxsj0i {
    width: 360px;
  }

  .ui-modal--lg.svelte-uxsj0i {
    width: 640px;
  }

  .ui-modal--xl.svelte-uxsj0i {
    width: 880px;
  }

  .ui-modal-header.svelte-uxsj0i {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    padding: var(--space-3) var(--space-4);
    border-bottom: 1px solid var(--border-subtle);
  }

  .ui-modal-title.svelte-uxsj0i {
    margin: 0;
    font-size: var(--text-base);
    font-weight: var(--font-weight-semibold);
    color: var(--text-primary);
  }

  .ui-modal-close.svelte-uxsj0i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--control-xs);
    height: var(--control-xs);
    padding: 0;
    border: 0;
    border-radius: var(--radius-sm);
    background: transparent;
    color: var(--text-tertiary);
    cursor: pointer;
  }

  .ui-modal-close.svelte-uxsj0i:hover {
    background: var(--bg-sunken);
    color: var(--text-primary);
  }

  .ui-modal-close.svelte-uxsj0i:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 1px;
  }

  .ui-modal-body.svelte-uxsj0i {
    padding: var(--space-4);
    overflow-y: auto;
  }

  .ui-modal-footer.svelte-uxsj0i {
    display: flex;
    justify-content: flex-end;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    border-top: 1px solid var(--border-subtle);
  }


  .ui-nprogress.svelte-gxvhfl {
    position: fixed;
    top: 0;
    left: 0;
    z-index: var(--z-toast);
    height: var(--progress-h);
    background: var(--accent);
    transition: width var(--duration-base) var(--ease-smooth);
    pointer-events: none;
  }


  .ui-navside.svelte-1bozyxn {
    display: flex;
    align-items: stretch;
    width: 100%;
    height: 100%;
    min-height: 0;
  }

  .ui-navside-list.svelte-1bozyxn {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    width: var(--nav-width);
    flex-shrink: 0;
    padding: var(--space-3) var(--space-2);
    border-right: 1px solid var(--border-subtle);
    overflow-y: auto;
  }

  .ui-navside-title.svelte-1bozyxn {
    margin: 0 0 var(--space-1);
    padding: 0 var(--space-2);
    font-size: var(--text-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--text-primary);
  }

  .ui-navside-group.svelte-1bozyxn {
    margin: var(--space-2) 0 0;
    padding: 0 var(--space-2);
    font-size: var(--text-xs);
    font-weight: var(--font-weight-semibold);
    font-family: var(--font-mono);
    color: var(--text-tertiary);
    text-transform: uppercase;
  }

  .ui-navside-items.svelte-1bozyxn {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .ui-navside-item.svelte-1bozyxn {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    height: var(--control-md);
    padding: 0 var(--space-2);
    border-radius: var(--radius-md);
    border-left: 2px solid transparent;
    color: var(--text-secondary);
    font-size: var(--text-sm);
    text-decoration: none;
    cursor: pointer;
  }

  .ui-navside-item.svelte-1bozyxn:hover {
    background: var(--bg-sunken);
    color: var(--text-primary);
  }

  .ui-navside-item.svelte-1bozyxn:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: -2px;
  }

  .ui-navside-item--active.svelte-1bozyxn {
    border-left-color: var(--accent);
    background: var(--bg-sunken);
    color: var(--text-primary);
    font-weight: var(--font-weight-semibold);
  }

  .ui-navside-item-label.svelte-1bozyxn {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .ui-navside-main.svelte-1bozyxn {
    flex: 1;
    min-width: 0;
    overflow-y: auto;
  }


  .ui-pagination.svelte-1haozii {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    flex-wrap: wrap;
  }

  /* 计数信息：xs / mono（02 §2.2 辅助说明档） */
  .ui-pagination-info.svelte-1haozii {
    font-size: var(--text-xs);
    font-family: var(--font-mono);
    color: var(--text-tertiary);
  }

  .ui-pagination-controls.svelte-1haozii {
    display: flex;
    align-items: center;
    gap: var(--space-2);
  }

  .ui-pagination-page.svelte-1haozii {
    min-width: 48px;
    text-align: center;
    font-size: var(--text-xs);
    font-weight: var(--font-weight-medium);
    font-family: var(--font-mono);
    color: var(--text-secondary);
  }


  .ui-field.svelte-3v209r {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    min-width: 0;
  }

  .ui-field-label.svelte-3v209r {
    font-size: var(--text-xs);
    font-weight: var(--font-weight-semibold);
    font-family: var(--font-mono);
    color: var(--text-secondary);
  }

  .ui-password.svelte-3v209r {
    position: relative;
    display: flex;
    width: 100%;
  }

  .ui-password-input.svelte-3v209r {
    width: 100%;
    height: var(--control-md);
    padding: 0 var(--space-6) 0 var(--space-2);
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-md);
    background: var(--bg-sunken);
    color: var(--text-primary);
    font-size: var(--text-sm);
  }

  .ui-password-input.svelte-3v209r::placeholder {
    color: var(--text-tertiary);
  }

  .ui-password-input.svelte-3v209r:focus-visible {
    border-color: var(--accent);
    outline: 2px solid var(--accent);
    outline-offset: 1px;
  }

  .ui-password-input.svelte-3v209r:disabled {
    border-color: var(--border-subtle);
    background: var(--bg-sunken);
    color: var(--text-disabled);
    cursor: not-allowed;
  }

  .ui-password-input--invalid.svelte-3v209r {
    border-color: var(--status-error);
  }

  .ui-password-input--invalid.svelte-3v209r:focus-visible {
    border-color: var(--status-error);
    outline-color: var(--status-error);
  }

  .ui-password-toggle.svelte-3v209r {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--control-sm);
    height: var(--control-sm);
    margin-right: var(--space-1);
    padding: 0;
    border: 0;
    border-radius: var(--radius-sm);
    background: transparent;
    color: var(--text-tertiary);
    cursor: pointer;
  }

  .ui-password-toggle.svelte-3v209r:hover:not(:disabled) {
    color: var(--text-primary);
    background: var(--bg-sunken);
  }

  .ui-password-toggle.svelte-3v209r:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 1px;
  }

  .ui-password-toggle.svelte-3v209r:disabled {
    color: var(--text-disabled);
    cursor: not-allowed;
  }

  .ui-field-desc.svelte-3v209r {
    margin: 0;
    font-size: var(--text-xs);
    font-family: var(--font-mono);
    color: var(--text-tertiary);
  }

  .ui-field-desc--error.svelte-3v209r {
    color: var(--status-error);
  }


  .ui-row-actions.svelte-ei43na {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--space-2);
  }


  .ui-search.svelte-1gmikcp {
    position: relative;
    display: flex;
    width: 100%;
  }

  .ui-search-icon.svelte-1gmikcp {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    display: inline-flex;
    padding: 0 var(--space-2);
    color: var(--text-tertiary);
    pointer-events: none;
  }

  .ui-search-input.svelte-1gmikcp {
    width: 100%;
    height: var(--control-md);
    padding: 0 var(--space-7) 0 var(--space-6);
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-md);
    background: var(--bg-sunken);
    color: var(--text-primary);
    font-size: var(--text-sm);
  }

  /* type=search 原生清除钮与自绘清除互斥：隐藏原生 */
  .ui-search-input.svelte-1gmikcp::-webkit-search-cancel-button {
    -webkit-appearance: none;
    appearance: none;
  }

  .ui-search-input.svelte-1gmikcp::placeholder {
    color: var(--text-tertiary);
  }

  .ui-search-input.svelte-1gmikcp:focus-visible {
    border-color: var(--accent);
    outline: 2px solid var(--accent);
    outline-offset: 1px;
  }

  .ui-search-input.svelte-1gmikcp:disabled {
    border-color: var(--border-subtle);
    background: var(--bg-sunken);
    color: var(--text-disabled);
    cursor: not-allowed;
  }

  .ui-search-clear.svelte-1gmikcp {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--control-sm);
    height: var(--control-sm);
    margin-right: var(--space-1);
    padding: 0;
    border: 0;
    border-radius: var(--radius-sm);
    background: transparent;
    color: var(--text-tertiary);
    cursor: pointer;
  }

  .ui-search-clear.svelte-1gmikcp:hover {
    color: var(--text-primary);
    background: var(--bg-sunken);
  }

  .ui-search-clear.svelte-1gmikcp:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 1px;
  }


  .ui-seg.svelte-1j076qb {
    display: inline-flex;
    gap: 0;
    padding: 0;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    background: var(--bg-sunken);
  }

  .ui-seg-item.svelte-1j076qb {
    height: var(--control-sm);
    padding: 0 var(--space-3);
    border: 0;
    border-radius: var(--radius-sm);
    background: transparent;
    color: var(--text-secondary);
    font-size: var(--text-sm);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
    transition:
      background var(--duration-fast) var(--ease-smooth),
      color var(--duration-fast) var(--ease-smooth);
  }

  .ui-seg-item.svelte-1j076qb:hover:not(:disabled) {
    color: var(--text-primary);
  }

  .ui-seg-item.svelte-1j076qb:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: -2px;
  }

  .ui-seg-item--active.svelte-1j076qb {
    background: var(--bg-elevated);
    color: var(--text-primary);
    font-weight: var(--font-weight-semibold);
    box-shadow: 0 0 0 1px var(--border-strong);
  }

  .ui-seg-item.svelte-1j076qb:disabled {
    color: var(--text-disabled);
    cursor: not-allowed;
  }


  .ui-field.svelte-19xehki {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    min-width: 0;
  }

  .ui-field-label.svelte-19xehki {
    font-size: var(--text-xs);
    font-weight: var(--font-weight-semibold);
    font-family: var(--font-mono);
    color: var(--text-secondary);
  }

  .ui-select.svelte-19xehki {
    position: relative;
    display: flex;
    width: 100%;
  }

  .ui-select-native.svelte-19xehki {
    appearance: none;
    -webkit-appearance: none;
    width: 100%;
    height: var(--control-md);
    padding: 0 var(--space-6) 0 var(--space-2);
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-md);
    background: var(--bg-sunken);
    color: var(--text-primary);
    font-size: var(--text-sm);
    cursor: pointer;
  }

  .ui-select-native.svelte-19xehki:focus-visible {
    border-color: var(--accent);
    outline: 2px solid var(--accent);
    outline-offset: 1px;
  }

  .ui-select-native.svelte-19xehki:disabled {
    border-color: var(--border-subtle);
    color: var(--text-disabled);
    cursor: not-allowed;
  }

  .ui-select-native--invalid.svelte-19xehki {
    border-color: var(--status-error);
  }

  .ui-select-native--invalid.svelte-19xehki:focus-visible {
    border-color: var(--status-error);
    outline-color: var(--status-error);
  }

  .ui-select-native--mono.svelte-19xehki {
    font-family: var(--font-mono);
  }

  .ui-select-caret.svelte-19xehki {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    display: inline-flex;
    padding: 0 var(--space-2);
    color: var(--text-tertiary);
    pointer-events: none;
  }

  .ui-field-desc.svelte-19xehki {
    margin: 0;
    font-size: var(--text-xs);
    font-family: var(--font-mono);
    color: var(--text-tertiary);
  }

  .ui-field-desc--error.svelte-19xehki {
    color: var(--status-error);
  }


  .ui-skeleton.svelte-1hu7cnp {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    width: 100%;
  }

  .ui-skeleton-row.svelte-1hu7cnp {
    display: flex;
    gap: var(--space-2);
  }

  .ui-skeleton-block.svelte-1hu7cnp {
    height: 12px;
    border-radius: var(--radius-sm);
    background: var(--bg-sunken);
    animation: svelte-1hu7cnp-ui-skeleton-pulse 1.2s var(--ease-smooth) infinite;
  }

  .ui-skeleton-block--heading.svelte-1hu7cnp {
    height: 16px;
    width: 40%;
    margin-bottom: var(--space-2);
  }

  .ui-skeleton-block--short.svelte-1hu7cnp {
    width: 60%;
  }

  @keyframes svelte-1hu7cnp-ui-skeleton-pulse {
    50% {
      opacity: 0.45;
    }
  }


  .ui-statusdot.svelte-1k10xsx {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    white-space: nowrap;
  }

  .ui-statusdot-dot.svelte-1k10xsx {
    width: var(--space-2);
    height: var(--space-2);
    border-radius: var(--radius-full);
    background: var(--text-tertiary);
    flex-shrink: 0;
  }

  .ui-statusdot--ok.svelte-1k10xsx .ui-statusdot-dot:where(.svelte-1k10xsx) {
    background: var(--status-ok);
  }

  .ui-statusdot--warn.svelte-1k10xsx .ui-statusdot-dot:where(.svelte-1k10xsx) {
    background: var(--status-warn);
  }

  .ui-statusdot--error.svelte-1k10xsx .ui-statusdot-dot:where(.svelte-1k10xsx) {
    background: var(--status-error);
  }

  .ui-statusdot--connecting.svelte-1k10xsx .ui-statusdot-dot:where(.svelte-1k10xsx) {
    background: var(--accent);
  }

  .ui-statusdot--off.svelte-1k10xsx .ui-statusdot-dot:where(.svelte-1k10xsx) {
    background: var(--text-tertiary);
  }

  /* 呼吸：循环透明度脉冲（进行中反馈，非装饰动画） */
  .ui-statusdot-dot--pulse.svelte-1k10xsx {
    animation: svelte-1k10xsx-ui-statusdot-pulse var(--duration-pulse) var(--ease-smooth) infinite;
  }

  @keyframes svelte-1k10xsx-ui-statusdot-pulse {
    50% {
      opacity: 0.35;
    }
  }

  .ui-statusdot-label.svelte-1k10xsx {
    font-size: var(--text-sm);
    color: var(--text-secondary);
    line-height: 1;
  }

  /* 状态色联动文案（无 label 时纯圆点不上色文案） */
  .ui-statusdot--ok.svelte-1k10xsx .ui-statusdot-label:where(.svelte-1k10xsx) {
    color: var(--status-ok);
  }

  .ui-statusdot--warn.svelte-1k10xsx .ui-statusdot-label:where(.svelte-1k10xsx) {
    color: var(--status-warn);
  }

  .ui-statusdot--error.svelte-1k10xsx .ui-statusdot-label:where(.svelte-1k10xsx) {
    color: var(--status-error);
  }

  .ui-statusdot--connecting.svelte-1k10xsx .ui-statusdot-label:where(.svelte-1k10xsx) {
    color: var(--accent);
  }


  .ui-switch.svelte-7vq7e1 {
    display: flex;
    align-items: center;
    gap: var(--space-2);
  }

  .ui-switch-track.svelte-7vq7e1 {
    position: relative;
    flex-shrink: 0;
    width: 28px;
    height: 16px;
    padding: 0;
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-full);
    background: var(--bg-sunken);
    cursor: pointer;
    transition:
      background var(--duration-fast) var(--ease-smooth),
      border-color var(--duration-fast) var(--ease-smooth);
  }

  .ui-switch-track.svelte-7vq7e1:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 1px;
  }

  .ui-switch-track[aria-checked='true'].svelte-7vq7e1 {
    border-color: var(--accent);
    background: var(--accent);
  }

  .ui-switch-knob.svelte-7vq7e1 {
    position: absolute;
    top: 1px;
    left: 1px;
    width: 12px;
    height: 12px;
    border-radius: var(--radius-full);
    background: var(--accent-text);
    transition: transform var(--duration-fast) var(--ease-smooth);
  }

  .ui-switch-track[aria-checked='true'].svelte-7vq7e1 .ui-switch-knob:where(.svelte-7vq7e1) {
    transform: translateX(12px);
  }

  .ui-switch--disabled.svelte-7vq7e1 .ui-switch-track:where(.svelte-7vq7e1) {
    border-color: var(--border-subtle);
    background: var(--bg-sunken);
    cursor: not-allowed;
  }

  .ui-switch--disabled.svelte-7vq7e1 .ui-switch-track[aria-checked='true']:where(.svelte-7vq7e1) {
    border-color: var(--border-subtle);
    background: var(--bg-sunken);
  }

  .ui-switch--disabled.svelte-7vq7e1 .ui-switch-knob:where(.svelte-7vq7e1) {
    background: var(--text-disabled);
  }

  .ui-switch-text.svelte-7vq7e1 {
    display: flex;
    flex-direction: column;
    gap: 0;
    min-width: 0;
  }

  .ui-switch-label.svelte-7vq7e1 {
    font-size: var(--text-sm);
    color: var(--text-primary);
    cursor: pointer;
  }

  .ui-switch-desc.svelte-7vq7e1 {
    margin: 0;
    font-size: var(--text-xs);
    font-family: var(--font-mono);
    color: var(--text-tertiary);
  }


  .ui-tabs.svelte-zce818 {
    display: flex;
    gap: var(--space-1);
    border-bottom: 1px solid var(--border-subtle);
  }

  .ui-tab.svelte-zce818 {
    height: var(--control-sm);
    padding: 0 var(--space-3);
    border: 0;
    border-bottom: 2px solid transparent;
    background: transparent;
    color: var(--text-secondary);
    font-size: var(--text-sm);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
    transition:
      color var(--duration-fast) var(--ease-smooth),
      border-color var(--duration-fast) var(--ease-smooth);
  }

  .ui-tab.svelte-zce818:hover {
    color: var(--text-primary);
  }

  .ui-tab.svelte-zce818:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: -2px;
    border-radius: var(--radius-sm);
  }

  .ui-tab--active.svelte-zce818 {
    color: var(--text-primary);
    font-weight: var(--font-weight-semibold);
    border-bottom-color: var(--accent);
  }


  .ui-field.svelte-166lzyz {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    min-width: 0;
  }

  .ui-field-label.svelte-166lzyz {
    font-size: var(--text-xs);
    font-weight: var(--font-weight-semibold);
    font-family: var(--font-mono);
    color: var(--text-secondary);
  }

  .ui-textarea.svelte-166lzyz {
    width: 100%;
    padding: var(--space-2);
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-md);
    background: var(--bg-sunken);
    color: var(--text-primary);
    font-size: var(--text-sm);
    line-height: var(--leading-normal);
    resize: vertical;
    min-height: 0;
  }

  .ui-textarea.svelte-166lzyz::placeholder {
    color: var(--text-tertiary);
  }

  .ui-textarea.svelte-166lzyz:focus-visible {
    border-color: var(--accent);
    outline: 2px solid var(--accent);
    outline-offset: 1px;
  }

  .ui-textarea.svelte-166lzyz:disabled,
  .ui-textarea.svelte-166lzyz:read-only {
    border-color: var(--border-subtle);
    background: var(--bg-sunken);
  }

  .ui-textarea.svelte-166lzyz:disabled {
    color: var(--text-disabled);
    cursor: not-allowed;
  }

  .ui-textarea--invalid.svelte-166lzyz {
    border-color: var(--status-error);
  }

  .ui-textarea--invalid.svelte-166lzyz:focus-visible {
    border-color: var(--status-error);
    outline-color: var(--status-error);
  }

  .ui-textarea--mono.svelte-166lzyz {
    font-family: var(--font-mono);
  }

  .ui-field-desc.svelte-166lzyz {
    margin: 0;
    font-size: var(--text-xs);
    font-family: var(--font-mono);
    color: var(--text-tertiary);
  }

  .ui-field-desc--error.svelte-166lzyz {
    color: var(--status-error);
  }


  .ui-toasts.svelte-1bijwnk {
    position: fixed;
    right: var(--space-4);
    bottom: var(--space-4);
    z-index: var(--z-toast);
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: var(--space-2);
    pointer-events: none;
  }

  .ui-toast.svelte-1bijwnk {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    max-width: 380px;
    padding: var(--space-2) var(--space-3);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    background: var(--bg-overlay);
    box-shadow: var(--shadow-overlay);
    color: var(--text-primary);
    font-size: var(--text-sm);
    pointer-events: auto;
    animation: svelte-1bijwnk-ui-toast-in var(--duration-base) var(--ease-smooth);
  }

  .ui-toast-icon.svelte-1bijwnk {
    display: inline-flex;
    flex-shrink: 0;
    color: var(--text-tertiary);
  }

  .ui-toast--success.svelte-1bijwnk .ui-toast-icon:where(.svelte-1bijwnk) {
    color: var(--status-ok);
  }

  .ui-toast--error.svelte-1bijwnk .ui-toast-icon:where(.svelte-1bijwnk) {
    color: var(--status-error);
  }

  .ui-toast--warn.svelte-1bijwnk .ui-toast-icon:where(.svelte-1bijwnk) {
    color: var(--status-warn);
  }

  .ui-toast--info.svelte-1bijwnk .ui-toast-icon:where(.svelte-1bijwnk) {
    color: var(--status-info);
  }

  .ui-toast-message.svelte-1bijwnk {
    min-width: 0;
    word-break: break-word;
  }

  .ui-toast-close.svelte-1bijwnk {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: var(--control-xs);
    height: var(--control-xs);
    padding: 0;
    border: 0;
    border-radius: var(--radius-sm);
    background: transparent;
    color: var(--text-tertiary);
    cursor: pointer;
  }

  .ui-toast-close.svelte-1bijwnk:hover {
    background: var(--bg-sunken);
    color: var(--text-primary);
  }

  .ui-toast-close.svelte-1bijwnk:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 1px;
  }

  @keyframes svelte-1bijwnk-ui-toast-in {
    from {
      opacity: 0;
      transform: translateX(8px);
    }
  }
