/* Match the existing palette and geometry; only interaction states differ. */
#aimyria-drawer-mask {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: min(256px, 88vw);
  z-index: 99950;
  background: rgba(20, 12, 6, .46);
  opacity: 0;
  pointer-events: none;
  transition: opacity .18s ease;
}
body.aimyria-drawer-open #aimyria-drawer-mask {
  opacity: 1;
  pointer-events: auto;
}
@media (max-width: 1023px) {
  body.aimyria-drawer-open { overflow: hidden; }
  body.aimyria-drawer-open aside.sidebar,
  body.aimyria-drawer-open aside.console-sidebar {
    transform: translateX(0) !important;
    visibility: visible !important;
  }
  body:not(.aimyria-drawer-open) aside.sidebar,
  body:not(.aimyria-drawer-open) aside.console-sidebar {
    transform: translateX(-100%) !important;
  }
  aside.sidebar,
  aside.console-sidebar,
  body.aimyria-drawer-open aside.sidebar,
  body.aimyria-drawer-open aside.console-sidebar,
  body:not(.aimyria-drawer-open) aside.sidebar,
  body:not(.aimyria-drawer-open) aside.console-sidebar {
    transition: transform 180ms ease !important;
  }
  aside.sidebar nav,
  aside.console-sidebar nav {
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }
  /* Mobile uses the drawer as the only navigation surface. */
  aside.sidebar [data-aimyria-panel-hide],
  aside.console-sidebar [data-aimyria-panel-hide] {
    display: none !important;
  }
  /* The mobile drawer owns all horizontal slide state; never let the native
     collapsed width and the overlay transform fight each other. */
  body.aimyria-drawer-open aside.sidebar,
  body.aimyria-drawer-open aside.console-sidebar {
    width: min(280px, 86vw) !important;
    min-width: min(280px, 86vw) !important;
    max-width: min(280px, 86vw) !important;
    will-change: transform;
  }
}
#aimyria-nav-switch-panel label:has(input:focus-visible) {
  outline: 2px solid currentColor;
  outline-offset: 3px;
}
#aimyria-nav-switch-panel [aria-busy="true"] {
  cursor: progress;
}
@media (prefers-reduced-motion: reduce) {
  aside.sidebar,
  aside.console-sidebar,
  body.aimyria-drawer-open aside.sidebar,
  body.aimyria-drawer-open aside.console-sidebar,
  body:not(.aimyria-drawer-open) aside.sidebar,
  body:not(.aimyria-drawer-open) aside.console-sidebar,
  #aimyria-drawer-mask {
    transition: none !important;
  }
}

/* Public tutorial pages have no console aside. Keep the existing appearance
   while ensuring the compact menu remains a usable touch target. */
@media (max-width: 1023px) {
  html.aimyria-public-menu-open body { overflow: hidden; }
  #aimyria-topbar .aimyria-tb-menu { position: relative; z-index: 100000; }
  #aimyria-topbar .aimyria-tb-back { position: absolute !important; left: 3.25rem !important; top: .6rem !important; width: 2.75rem !important; height: 2.75rem !important; z-index: 99999; }
}

@media (max-width:1023px) {
  aside.sidebar, aside.console-sidebar { background: #fffdf9 !important; background-color: #fffdf9 !important; opacity: 1 !important; }
  html.aimyria-public-menu-open .public-top-shell .public-mobile-nav { display: grid !important; }
}

/* /keys mobile toolbar: search on its own row, two readable dropdowns below,
   then the refresh/create actions on a compact third row. This removes the
   large empty gaps and keeps "全部分组"/"全部状态" from being truncated. */
@media (max-width: 1023px) {
  .table-page-layout.mobile-mode > .layout-section-fixed:first-child > .flex.flex-col.gap-3 > .flex.flex-col.justify-between {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto auto auto !important;
    align-items: stretch !important;
    gap: 10px !important;
  }
  .table-page-layout.mobile-mode > .layout-section-fixed:first-child > .flex.flex-col.gap-3 > .flex.flex-col.justify-between > .flex.flex-1.flex-wrap {
    display: grid !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    align-items: center !important;
    min-width: 0 !important;
    gap: 8px !important;
  }
  .table-page-layout.mobile-mode > .layout-section-fixed:first-child > .flex.flex-col.gap-3 > .flex.flex-col.justify-between > .flex.flex-1.flex-wrap > * {
    min-width: 0 !important;
    width: 100% !important;
    flex: none !important;
  }
  .table-page-layout.mobile-mode > .layout-section-fixed:first-child > .flex.flex-col.gap-3 > .flex.flex-col.justify-between > .flex.flex-1.flex-wrap > :first-child {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
  }
  .table-page-layout.mobile-mode > .layout-section-fixed:first-child > .flex.flex-col.gap-3 > .flex.flex-col.justify-between > .flex.flex-1.flex-wrap > :nth-child(2) {
    grid-column: 1 !important;
    grid-row: 2 !important;
  }
  .table-page-layout.mobile-mode > .layout-section-fixed:first-child > .flex.flex-col.gap-3 > .flex.flex-col.justify-between > .flex.flex-1.flex-wrap > :nth-child(3) {
    grid-column: 2 !important;
    grid-row: 2 !important;
  }
  .table-page-layout.mobile-mode > .layout-section-fixed:first-child > .flex.flex-col.gap-3 > .flex.flex-col.justify-between .select-trigger {
    width: 100% !important;
    min-width: 0 !important;
  }
  .table-page-layout.mobile-mode > .layout-section-fixed:first-child > .flex.flex-col.gap-3 > .flex.flex-col.justify-between .select-trigger .select-value {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }
  .table-page-layout.mobile-mode > .layout-section-fixed:first-child > .flex.flex-col.gap-3 > .flex.flex-col.justify-between > .flex.w-full.flex-shrink-0 {
    grid-column: 1 !important;
    grid-row: 3 !important;
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    white-space: nowrap !important;
    z-index: 1 !important;
  }
  .table-page-layout.mobile-mode > .layout-section-fixed:first-child > .flex.flex-col.gap-3 > .flex.flex-col.justify-between > .flex.w-full.flex-shrink-0 > button {
    flex: 0 0 auto !important;
    min-height: 44px !important;
  }
  .table-page-layout.mobile-mode > .layout-section-fixed:first-child > .flex.flex-col.gap-3 > .flex.flex-col.justify-between > .flex.w-full.flex-shrink-0 > button:last-child {
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }
}

/* The agent service remains available to internal tooling, but its user-facing
   entry is intentionally removed from the skin. */
#aimyria-agent-entry { display: none !important; }

/* Legacy navbar rules are retained below for rollback compatibility. */
#aimyria-navbar > #aimyria-agent-entry.aimyria-nv-agent {
  position: static !important;
  inset: auto !important;
  right: auto !important;
  bottom: auto !important;
  flex: 1 1 0 !important;
  min-width: 0 !important;
  width: auto !important;
  height: 100% !important;
  padding: 0 .5rem !important;
  border: 0 !important;
  border-left: 1px solid rgba(169, 88, 62, .12) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #6d5a4a !important;
  font-family: inherit !important;
  font-size: .76rem !important;
  font-weight: 500 !important;
  gap: .3rem !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  transform: none !important;
  transition: background .15s, color .15s !important;
}
#aimyria-navbar > #aimyria-agent-entry.aimyria-nv-agent:hover {
  background: rgba(169, 88, 62, .07) !important;
  color: #a9583e !important;
  transform: none !important;
}
#aimyria-navbar > #aimyria-agent-entry.aimyria-nv-agent:active {
  background: rgba(169, 88, 62, .13) !important;
}
#aimyria-navbar > #aimyria-agent-entry.aimyria-nv-agent .axab-dot {
  width: 6px !important;
  height: 6px !important;
}
#aimyria-navbar > #aimyria-agent-entry.aimyria-nv-agent .axab-txt {
  font-size: inherit !important;
  font-weight: 500 !important;
}
html.dark #aimyria-navbar > #aimyria-agent-entry.aimyria-nv-agent {
  color: #A3A09B !important;
  border-left-color: rgba(217, 119, 87, .13) !important;
}
html.dark #aimyria-navbar > #aimyria-agent-entry.aimyria-nv-agent:hover {
  background: rgba(217, 119, 87, .15) !important;
  color: #E68E6E !important;
}
@media (max-width: 640px) {
  #aimyria-navbar > #aimyria-agent-entry.aimyria-nv-agent .axab-txt { display: none !important; }
  #aimyria-navbar > #aimyria-agent-entry.aimyria-nv-agent { padding: 0 .3rem !important; }
}
.aimyria-nv-lang-chevron { display: none !important; }

/* Painted canvas entry icon in the sidebar. */
a.sidebar-link > .aimyria-canvas-icon {
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  max-width: 32px !important;
  flex: 0 0 32px;
  box-sizing: border-box;
  object-fit: contain;
  image-rendering: -webkit-optimize-contrast;
  vertical-align: middle;
  margin-left: 0px;
  margin-right: -1px;
}
@media (prefers-reduced-motion: reduce) {
  a.sidebar-link > .aimyria-canvas-icon { visibility: hidden; }
}

/* The 创作工坊 group owns these entries now. The original in-place links are
   only hidden (never removed) so a rollback is a one-attribute change. */
a[data-aimyria-product-source] { display: none !important; }

/* Group icons live inside the 1.72rem native icon frame; the canvas GIF and the
   commerce SVG are 32px in their original markup, so pin them to the 16px used
   by every other sidebar icon. */
a[data-aimyria-product] .console-nav-icon-frame > img {
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  max-width: 16px !important;
  flex: 0 0 16px;
  box-sizing: border-box;
  object-fit: contain;
  image-rendering: -webkit-optimize-contrast;
}
@media (prefers-reduced-motion: reduce) {
  a[data-aimyria-product="canvas"] .aimyria-product-icon { visibility: hidden; }
}

