/* TDesign 品牌主题：所有组件共享字号、色彩、圆角与交互状态。 */
:root[theme-mode="dark"], t-button, t-tag, t-card, t-menu, t-dialog {
  --td-brand-color: #c9ab72;
  --td-brand-color-hover: #ddc493;
  --td-brand-color-active: #b2945d;
  --td-brand-color-focus: #483e2d;
  --td-brand-color-light: #332d22;
  --td-brand-color-light-hover: #423927;
  --td-text-color-primary: #f3eee3;
  --td-text-color-secondary: #c6c1b7;
  --td-bg-color-page: #151513;
  --td-bg-color-container: #20201c;
  --td-bg-color-container-hover: #2c2b25;
  --td-component-stroke: #4a463c;
  --td-font-family: "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif;
  --td-radius-default: 6px;
}
t-button { display: inline-block; font-family: var(--td-font-family); }
t-button[hidden] { display: none !important; }
t-button::part(t-button) { border-radius: 6px; font-family: var(--td-font-family); }
t-button::part(t-button):focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
t-button[theme="primary"]::part(t-button) { color: #1b1914; font-weight: 600; }
.hero-button::part(t-button) { min-height: 46px; }
.operations-nav t-button::part(t-button) { min-height: 44px; }
.card-type { letter-spacing: .08em; }
t-tag.status { padding: 0; border: 0; letter-spacing: 0; font-weight: 400; background: transparent; }
.preview-actions t-button::part(t-button), .preview-print-controls t-button::part(t-button) { min-height: 36px; }
.preview-print-controls t-button:last-child::part(t-button) { background: var(--td-brand-color); color: #1b1914; }
.preview-print-controls t-button[disabled]::part(t-button) { opacity: .45; }
.preview-dialog { border-radius: 12px; }
@media (max-width: 700px) {
  .hero-button { width: 100%; }
  .hero-button::part(t-button) { width: 100%; padding: 0 10px; font-size: 13px; }
  .operations-nav t-button::part(t-button) { width: 100%; }
  .preview-actions t-button::part(t-button), .preview-print-controls t-button::part(t-button) { min-height: 44px; }
}

/* 页面结构由 TDesign 栅格、菜单、卡片和对话框承载。 */
.hero { display: block; }
t-row.hero-layout { display: block; width: 100%; }
.hero-layout > .t-row { align-items: center; row-gap: 24px; }
.hero-layout t-col-light-dom { min-width: 0; }
.hero-layout t-col-light-dom:first-child { padding-right: 48px; }
t-row.card-grid { display: block; }
.card-grid > .t-row { margin: -7px; align-items: stretch; }
.card-grid t-col-light-dom { padding: 7px !important; display: flex; min-width: 0; }
t-card.catalog-card { display: block; padding: 0; border: 0; background: transparent; min-height: 0; width: 100%; }
.catalog-card > .t-card { height: 100%; background: var(--surface); border-color: var(--line); border-radius: 10px; }
.catalog-card .t-card__body { padding: 22px; height: 100%; }
.card-content { display: flex; flex-direction: column; min-height: 164px; height: 100%; }
.catalog-card.featured > .t-card { border-color: #605847; }
.top-nav { display: block; }
#top-menu { display: block; }
#top-menu::part(t-default-menu) { background: transparent; }
#top-menu::part(t-default-menu__inner) { padding: 0; }
#top-menu::part(t-menu) { display: flex; gap: 8px; overflow: visible; }
#top-menu t-menu-item-light-dom { margin: 0; height: 44px; width: auto; padding: 0 12px; font-size: 14px; border-radius: 6px; }
#top-menu t-menu-item-light-dom a { display: flex; align-items: center; height: 100%; }
#preview-dialog .t-dialog { padding: 0; border-radius: 12px; background: var(--surface); overflow: hidden; }
#preview-dialog .t-dialog__header { display: none; }
#preview-dialog .t-dialog__body { padding: 0; color: var(--text); }
#preview-dialog .t-dialog__position { padding: 16px; }
#preview-dialog .preview-shell { height: min(850px, 90dvh); display: flex; flex-direction: column; }
#preview-dialog .preview-body { flex: 1; min-height: 0; }
@media(max-width: 991px) { .hero-layout t-col-light-dom:first-child { padding-right: 0; } }
@media(max-width: 700px) {
  .top-nav { width: 100%; }
  #top-menu t-menu-item-light-dom { flex: 1; font-size: 13px; padding: 0 10px; }
  #top-menu::part(t-menu) { width: 100%; }
  .hero-layout .hero-side { margin-top: 0; }
  .card-content { min-height: 0; }
  #preview-dialog .preview-shell { height: 92dvh; }
  #preview-dialog .t-dialog__position { padding: 8px; }
}

/* Light DOM 中使用官方组件类名施加同一套主题。 */
t-button > .t-button { border-radius: 6px; font-family: var(--td-font-family); }
t-button[theme="primary"] > .t-button { color: #1b1914; font-weight: 600; }
.hero-button > .t-button { min-height: 46px; }
.operations-nav t-button > .t-button { min-height: 44px; }
#top-menu .t-default-menu { width: 100%; background: transparent; }
#top-menu .t-default-menu__inner { padding: 0; }
#top-menu .t-menu { display: flex; gap: 8px; overflow: visible; }
.preview-actions t-button > .t-button, .preview-print-controls t-button > .t-button { min-height: 36px; }
@media(max-width:700px) {
 .hero-button > .t-button, .operations-nav t-button > .t-button { width: 100%; }
 .hero-button > .t-button { padding: 0 10px; font-size: 13px; }
 .preview-actions t-button > .t-button, .preview-print-controls t-button > .t-button { min-height: 44px; }
}

#preview-dialog > .preview-shell { height: min(850px, 90dvh); display: flex; flex-direction: column; }
#preview-dialog .preview-body { flex: 1; min-height: 0; }
@media(max-width:700px) { #preview-dialog > .preview-shell { height: 92dvh; } }

[hidden] { display: none !important; }
.hero-button[theme="primary"]::part(t-button) { color: #1b1914 !important; }
