/* 判准库的旧目录、补测和履历各自定义色板。统一在定义节点映射全站令牌，
   避免只改外层后，黑夜模式仍出现冷蓝块；不改变数据、筛选或详情操作。 */
@layer debater-visual-system {
  html[data-debater-visual='unified'] app-criteria-list {
    --people-accent: var(--dv-accent) !important;
    --people-cta: var(--dv-action) !important;
    --people-card: var(--dv-surface) !important;
    --people-border: var(--dv-line) !important;
    --people-shadow: var(--dv-shadow) !important;
  }
  html[data-debater-visual='unified'] app-criteria-list #profile-panel {
    --clear-accent: var(--dv-accent) !important;
    --clear-gold: var(--dv-gold) !important;
    --clear-line: var(--dv-line) !important;
    --clear-badge: var(--dv-raised) !important;
  }
  html[data-debater-visual='unified'] app-criteria-list :is(.ep-entry, .ep-directory-filters) {
    --ft-bg-card: var(--dv-surface) !important;
    --ft-text-primary: var(--dv-text) !important;
    --ft-text-secondary: var(--dv-secondary) !important;
    --ft-border: var(--dv-line) !important;
    --ft-claret: var(--dv-accent) !important;
    --ft-font-serif: var(--dv-title-font) !important;
    --ft-font-sans: var(--dv-font) !important;
  }
  html[data-debater-visual='unified'] app-criteria-list .vp-integration {
    --vp-bg: var(--dv-bg) !important;
    --vp-card: var(--dv-surface) !important;
    --vp-raised: var(--dv-raised) !important;
    --vp-text: var(--dv-text) !important;
    --vp-muted: var(--dv-secondary) !important;
    --vp-line: var(--dv-line) !important;
    --vp-accent: var(--dv-accent) !important;
    --vp-focus: var(--dv-accent) !important;
    --ft-font-serif: var(--dv-title-font) !important;
  }
  html[data-debater-visual='unified'] :is(app-criteria-list, app-judge-profile-result) .jr-root {
    --jr-card: var(--dv-surface) !important;
    --jr-raised: var(--dv-raised) !important;
    --jr-text: var(--dv-text) !important;
    --jr-muted: var(--dv-secondary) !important;
    --jr-line: var(--dv-line) !important;
    --jr-accent: var(--dv-accent) !important;
    --jr-tint: var(--dv-active) !important;
  }

  /* 标题先于补测入口，两个入口与目录共用同一边线。 */
  html[data-debater-visual='unified'] app-criteria-list .criteria-shell {
    display: flex !important;
    flex-direction: column !important;
    max-width: 1320px !important;
  }
  html[data-debater-visual='unified'] app-criteria-list .criteria-hero {
    order: -1 !important;
    padding-bottom: 8px !important;
  }
  html[data-debater-visual='unified'] app-criteria-list .criteria-hero h1 { font-size: 40px !important; }
  html[data-debater-visual='unified'] app-criteria-list :is(.vp-integration, .ep-entry) {
    width: 100% !important;
    max-width: none !important;
    margin: 12px 0 !important;
    padding: 16px 20px !important;
    border-radius: var(--dv-panel-radius) !important;
  }
  html[data-debater-visual='unified'] app-criteria-list :is(.vp-integration-heading h2, .ep-entry h2) {
    color: var(--dv-text) !important;
    font: 700 20px/1.4 var(--dv-title-font) !important;
  }
  html[data-debater-visual='unified'] app-criteria-list .vp-integration-heading { margin-bottom: 4px !important; }
  html[data-debater-visual='unified'] app-criteria-list .vp-integration > p { margin-bottom: 0 !important; }
  html[data-debater-visual='unified'] app-criteria-list :is(.ep-directory-filters, .jr-directory-filters) {
    padding: 16px 18px !important;
    margin: 12px 0 !important;
    border: 1px solid var(--dv-line) !important;
    border-radius: var(--dv-panel-radius) !important;
    background: var(--dv-surface) !important;
  }
  html[data-debater-visual='unified'] app-criteria-list :is(.ep-filter-field select, .jr-directory-filters select) {
    background: var(--dv-input) !important;
    color: var(--dv-text) !important;
    border-color: var(--dv-line) !important;
    border-radius: var(--dv-control-radius) !important;
  }
  html[data-debater-visual='unified'] app-criteria-list .jr-directory-type {
    padding: 0 10px !important;
    border: 1px solid var(--dv-line) !important;
    border-radius: var(--dv-control-radius) !important;
  }
  html[data-debater-visual='unified'] app-criteria-list .jr-directory-type:has(:checked) {
    background: var(--dv-active) !important;
    border-color: var(--dv-accent) !important;
    color: var(--dv-accent) !important;
  }
  html[data-debater-visual='unified'] app-criteria-list :is(.criteria-index-entry, .criteria-profile-entry) {
    background: var(--dv-surface) !important;
    border: 1px solid var(--dv-line) !important;
    border-radius: var(--dv-panel-radius) !important;
  }
  html[data-debater-visual='unified'] app-criteria-list #profile-panel .criteria-profile-entry {
    margin-bottom: 10px !important;
    font-weight: 400 !important;
  }
  html[data-debater-visual='unified'] app-criteria-list #profile-panel .criteria-profile-identity strong {
    font-family: var(--dv-font) !important;
    font-size: 18px !important;
  }
  html[data-debater-visual='unified'] app-criteria-list #profile-panel .criteria-profile-primary-title {
    font-family: var(--dv-title-font) !important;
  }
  html[data-debater-visual='unified'] app-criteria-list :is(.criteria-profile-summary, .criteria-profile-identity small, .profile-secondary-copy) {
    font-family: var(--dv-font) !important;
    font-weight: 400 !important;
  }
  html[data-debater-visual='unified'] app-criteria-list :is(.criteria-test-link, .criteria-pagination button, .ep-filter-reset) {
    min-height: 44px !important;
  }
  html[data-debater-visual='unified'] app-criteria-list :is(button, a, input, select):focus-visible {
    outline-color: var(--dv-accent) !important;
  }
  /* 首屏以找评委为主：保留搜索，筛选默认折叠，补测提示移至目录之后。 */
  html[data-debater-visual='unified'] app-criteria-list :is(.vp-integration, .ep-entry) { order: 2 !important; }
  html[data-debater-visual='unified'] app-criteria-list .criteria-filters {
    margin: 0 0 18px !important;
    border: 1px solid var(--dv-line) !important;
    border-radius: var(--dv-panel-radius) !important;
    background: var(--dv-surface) !important;
    color: var(--dv-text) !important;
  }
  html[data-debater-visual='unified'] app-criteria-list .criteria-filter-summary {
    min-height: 52px !important;
    padding: 13px 18px !important;
    cursor: pointer;
    font: 14px/1.7 var(--dv-font) !important;
  }
  html[data-debater-visual='unified'] app-criteria-list .criteria-filter-count {
    margin-left: 12px;
    color: var(--dv-accent);
    font-size: 12px;
  }
  html[data-debater-visual='unified'] app-criteria-list :is(.criteria-filter-expand, .criteria-filter-collapse) {
    float: right;
    margin-left: 12px;
    color: var(--dv-secondary);
    font-size: 12px;
  }
  html[data-debater-visual='unified'] app-criteria-list .criteria-filter-selected {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--dv-secondary);
    font-size: 12px;
    font-weight: 400;
  }
  html[data-debater-visual='unified'] app-criteria-list .criteria-filter-selected:empty,
  html[data-debater-visual='unified'] app-criteria-list .criteria-filters:not([open]) .criteria-filter-collapse,
  html[data-debater-visual='unified'] app-criteria-list .criteria-filters[open] .criteria-filter-expand { display: none !important; }
  html[data-debater-visual='unified'] app-criteria-list .criteria-filter-body { padding: 0 14px 14px; }
  html[data-debater-visual='unified'] app-criteria-list .criteria-filter-body :is(.ep-directory-filters, .jr-directory-filters) {
    margin: 0 !important;
    padding: 16px 4px !important;
    border: 0 !important;
    border-top: 1px solid var(--dv-line) !important;
    border-radius: 0 !important;
    background: transparent !important;
  }
  html[data-debater-visual='unified'] app-criteria-list .criteria-filter-body .criteria-filter-group { width: fit-content; max-width: 100%; }
  html[data-debater-visual='unified'] app-criteria-list .criteria-filter-summary:focus-visible {
    outline: 2px solid var(--dv-accent) !important;
    outline-offset: 3px;
  }
  @media (max-width: 600px) {
    html[data-debater-visual='unified'] app-criteria-list .criteria-hero h1 { font-size: 30px !important; }
    html[data-debater-visual='unified'] app-criteria-list :is(.vp-integration, .ep-entry, .ep-directory-filters, .jr-directory-filters) { padding: 14px !important; }
    html[data-debater-visual='unified'] app-criteria-list .jr-directory-types { gap: 8px !important; }
    html[data-debater-visual='unified'] app-criteria-list .jr-directory-type { flex: 1 1 145px !important; }
  }
}
