/* Pro UI overrides for SearchWak front (news theme) */
/* 注意：避免在 :root 使用 color-mix，旧内核/部分 WebView 不支持会导致整段变量失效 */
/*
 * 桌面 / 手机区分约定：
 * - 默认（无媒体查询）按桌面端书写；平板/大屏与桌面一致时沿用默认即可。
 * - 手机端（max-width: 768px）的展示与覆盖优先写在 m.css，减少与桌面混在同一文件中的重复 @media。
 * - 若在本文件新增 @media (max-width: 768px)，断点须与 m.css、footer 中 PRO_LAYOUT_MOBILE_MAX_PX 一致。
 */
:root {
  --pro-radius-lg: 18px;
  --pro-radius-md: 14px;
  --pro-radius-sm: 12px;
  --pro-shadow-sm: 0 8px 24px rgba(15, 23, 42, 0.06);
  --pro-shadow-md: 0 16px 44px rgba(15, 23, 42, 0.10);
  --pro-ring: 0 0 0 4px rgba(19, 58, 179, 0.2);
  --pro-bg-grad-1: rgba(19, 58, 179, 0.14);
  --pro-bg-grad-2: rgba(124, 58, 237, 0.12);
  --pro-surface: #ffffff;
  --pro-surface-2: #f1f5f9;
  --pro-border: rgba(15, 23, 42, 0.12);
  --pro-muted: rgba(51, 51, 51, 0.58);
  --pro-accent-soft: rgba(19, 58, 179, 0.1);
  --pro-accent-border: rgba(19, 58, 179, 0.32);
  /* 默认强调色（与深浅色 data-theme 搭配，不再提供多皮肤切换） */
  --skin-primary: #2563eb;
  --skin-secondary: #4f46e5;
  --skin-accent: #38bdf8;
  --skin-hero-from: #0f172a;
  --skin-hero-to: #1e293b;
  --skin-hero-glow: rgba(59, 130, 246, 0.18);
  --skin-chip-active-bg: rgba(59, 130, 246, 0.2);
  --skin-chip-active-border: rgba(96, 165, 250, 0.55);
  --skin-soft-06: rgba(59, 130, 246, 0.06);
  --skin-soft-08: rgba(59, 130, 246, 0.08);
  --skin-soft-10: rgba(59, 130, 246, 0.10);
  --skin-soft-12: rgba(59, 130, 246, 0.12);
  --skin-soft-16: rgba(59, 130, 246, 0.16);
  --skin-strong-border: rgba(37, 99, 235, 0.35);
  --skin-gradient-main: linear-gradient(135deg, #38bdf8 0%, #2563eb 100%);
  --skin-gradient-hero-btn: linear-gradient(135deg, #2563eb 0%, #22d3ee 100%);
  --skin-gradient-cta: linear-gradient(135deg, #2563eb 0%, #4f46e5 55%, #7c3aed 100%);
  --skin-badge-solid: rgba(59, 130, 246, 0.95);
  --skin-shadow-45: rgba(37, 99, 235, 0.45);
  --skin-shadow-50: rgba(37, 99, 235, 0.50);
  /* 各模块：淡蓝底略加深，避免发灰发白 */
  --pro-module-bg: linear-gradient(165deg, #c8e4f5 0%, #d4ebf8 48%, #e0f2fa 100%);
  --pro-module-bg-glass: linear-gradient(180deg, rgba(186, 224, 245, 0.92) 0%, rgba(212, 235, 248, 0.94) 100%);
  --pro-module-shadow:
    0 0 0 1px rgba(15, 23, 42, 0.08),
    0 8px 24px rgba(15, 23, 42, 0.06);
  color-scheme: light;
}

html[data-theme="dark"] {
  color-scheme: dark;
  --theme-background: #0b1220;
  --theme-other_background: #0f172a;
  --theme-color: rgba(226, 232, 240, .92);
  --pro-surface: rgba(15, 23, 42, 0.92);
  --pro-surface-2: rgba(30, 41, 59, 0.85);
  --pro-border: rgba(148, 163, 184, 0.16);
  --pro-muted: rgba(148, 163, 184, .86);
  --pro-shadow-sm: 0 10px 28px rgba(0, 0, 0, 0.35);
  --pro-shadow-md: 0 18px 60px rgba(0, 0, 0, 0.55);
  --pro-module-bg: linear-gradient(158deg, rgba(30, 41, 59, 0.94) 0%, rgba(15, 23, 42, 0.98) 46%, rgba(67, 56, 163, 0.42) 100%);
  --pro-module-bg-glass: linear-gradient(148deg, rgba(255, 255, 255, 0.12) 0%, rgba(148, 163, 184, 0.07) 45%, rgba(59, 130, 246, 0.1) 100%);
}

/* ===== 浅色模式：门户首页可读性与整体观感 ===== */
html[data-theme="light"] {
  --skin-hero-from: #d2ebf8;
  --skin-hero-to: #bddff3;
  --skin-hero-glow: rgba(14, 165, 233, 0.22);
  /* 与页面浅灰底区分：略提高饱和度 + 清晰描边与双层阴影 */
  --pro-border: rgba(15, 23, 42, 0.14);
  --pro-module-bg: linear-gradient(165deg, #b8daf0 0%, #c8e4f5 40%, #d6eef9 100%);
  --pro-module-bg-glass: linear-gradient(180deg, #c0dff2 0%, #d4ebf8 100%);
  --pro-module-shadow:
    0 0 0 1px rgba(15, 23, 42, 0.1),
    0 10px 30px rgba(15, 23, 42, 0.09);
}

/* 浅色：统一模块外轮廓（线框 + 投影），避免模块与背景融成一片 */
html[data-theme="light"] .headerBox .box,
html[data-theme="light"] .pro-stat-card,
html[data-theme="light"] .pro-feature,
html[data-theme="light"] .pro-trending,
html[data-theme="light"] .pro-board-card,
html[data-theme="light"] .pro-sourcebar,
html[data-theme="light"] .pro-detail-card,
html[data-theme="light"] .pro-related,
html[data-theme="light"] .pro-overview,
html[data-theme="light"] .pro-featured-gallery,
html[data-theme="light"] .pro-featured-gallery--douban-rail,
html[data-theme="light"] .pro-douban-card,
html[data-theme="light"] .home .block,
html[data-theme="light"] .listBox .box,
html[data-theme="light"] .listBox .Ebox,
html[data-theme="light"] .pro-result-list .pro-result-card,
html[data-theme="light"] .pro-rank-column,
html[data-theme="light"] .pro-side__item,
html[data-theme="light"] .homeBox.pro-home .pro-search-card {
  border-color: rgba(15, 23, 42, 0.14);
  box-shadow: var(--pro-module-shadow);
}

html[data-theme="light"] .pro-portal__hero {
  color: #0f172a;
  border-color: rgba(15, 23, 42, 0.14);
  box-shadow: var(--pro-module-shadow);
}

html[data-theme="light"] .pro-portal__title {
  color: #0f172a;
}

html[data-theme="light"] .pro-portal__desc {
  color: #475569;
}

html[data-theme="light"] .pro-portal .pro-search-card {
  background: var(--pro-module-bg);
  border: 1px solid rgba(15, 23, 42, 0.14);
  color: #0f172a;
  box-shadow: var(--pro-module-shadow);
}

html[data-theme="light"] .pro-portal .pro-pan-chip {
  color: #1e3a8a;
  background: #b8daf0;
  border: 1px solid rgba(15, 23, 42, 0.14);
}

html[data-theme="light"] .pro-portal .pro-pan-chip.is-active {
  color: #fff;
  background: linear-gradient(135deg, var(--skin-primary), var(--skin-secondary));
  border-color: transparent;
}

html[data-theme="light"] .pro-portal .pro-search__field {
  background: #b5d9f0;
  border: 1px solid rgba(15, 23, 42, 0.14);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.45);
}

html[data-theme="light"] .pro-portal .pro-search__field input {
  color: #0f172a;
}

html[data-theme="light"] .pro-portal .pro-search__field input::placeholder {
  color: #64748b;
}

html[data-theme="light"] .pro-portal .pro-hot-tags {
  border-top-color: rgba(15, 23, 42, 0.1);
}

html[data-theme="light"] .pro-portal .pro-hot-tags__label {
  color: #64748b;
}

html[data-theme="light"] .pro-portal .pro-hot-tags__chip {
  color: #0f172a;
  background: #c0dff2;
  border: 1px solid rgba(15, 23, 42, 0.14);
}

html[data-theme="light"] .pro-portal .pro-hot-tags__chip:hover {
  background: #a8d4f0;
  border-color: rgba(37, 99, 235, 0.45);
}

html[data-theme="light"] .pro-overview__merged {
  background:
    radial-gradient(ellipse 80% 70% at 50% 45%, rgba(14, 165, 233, 0.16), transparent 72%),
    linear-gradient(180deg, rgba(186, 224, 245, 0.92) 0%, rgba(199, 232, 250, 0.88) 100%);
}

html[data-theme="light"] .pro-overview__merged .hot-tagcloud-item {
  color: #0f172a !important;
  font-size: 15px !important;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.9);
}

html[data-theme="light"] .pro-overview-tagcloud__loading,
html[data-theme="light"] .pro-overview-tagcloud__empty {
  color: #475569;
}

html[data-theme="light"] .pro-overview__tip {
  color: #475569;
}

html[data-theme="light"] .pro-rank-columns--channels .pro-rank-column {
  background: var(--pro-module-bg);
  border-color: rgba(15, 23, 42, 0.14);
  box-shadow: var(--pro-module-shadow);
}

html[data-theme="light"] .pro-rank-columns--channels .pro-rank-column__head {
  border-bottom-color: rgba(15, 23, 42, 0.08);
}

html[data-theme="light"] .pro-rank-columns--channels .pro-rank-column__badge {
  background: rgba(37, 99, 235, 0.1);
  color: #1d4ed8;
  border-color: rgba(37, 99, 235, 0.22);
}

html[data-theme="light"] .pro-rank-columns--channels .pro-rank-column__date,
html[data-theme="light"] .pro-rank-columns--channels .pro-rank-column__empty {
  color: #64748b;
}

html[data-theme="light"] .pro-rank-columns--channels .pro-hot-row {
  border-top-color: rgba(15, 23, 42, 0.08);
}

html[data-theme="light"] .pro-rank-columns--channels .pro-hot-row:hover {
  background: rgba(37, 99, 235, 0.06);
}

html[data-theme="light"] .pro-rank-columns--channels .pro-hot-row__title {
  color: #0f172a;
}

html[data-theme="light"] .pro-rank-columns--channels .pro-hot-row__meta {
  color: #64748b;
}

html[data-theme="light"] .pro-rank-columns--channels .pro-hot-row__cover {
  background: #e2e8f0;
  color: #475569;
}

html[data-theme="light"] .pro-overview__btn,
html[data-theme="light"] .pro-overview__btn--primary {
  background: #c0dff2;
}

html[data-theme="light"] .pro-action-btn {
  background: #c0dff2;
}

html[data-theme="light"] .pro-action-btn--primary {
  background: var(--skin-gradient-main);
  color: #fff;
}

html[data-theme="light"] .pro-side-board__more,
html[data-theme="light"] .pro-side-board__item {
  background: #c0dff2;
  border-color: rgba(15, 23, 42, 0.1);
}

html[data-theme="light"] .pro-detail-card__link {
  background: #bae6fd;
}

@media (prefers-reduced-motion: reduce) {
  * {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* generic pro components */
.pro-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 12px;
  border-radius: 999px;
  background: var(--pro-surface);
  border: 1px solid var(--pro-border);
  box-shadow: var(--pro-shadow-sm);
  color: var(--theme-color);
  font-size: 13px;
  line-height: 1;
  cursor: pointer;
  user-select: none;
  transition: transform .16s ease, box-shadow .16s ease, background .16s ease, border-color .16s ease;
}
.pro-pill:hover {
  transform: translateY(-1px);
  box-shadow: var(--pro-shadow-md);
}
.pro-pill--link {
  text-decoration: none;
}

.pro-card {
  overflow: hidden;
}
.pro-card__title {
  display: flex;
  align-items: center;
  gap: 10px;
}
.pro-card__body {
  padding-bottom: 10px;
}

/* list/detail layout helpers */
.pro-layout {
  width: min(1200px, calc(100vw - 32px));
}

.pro-searchbar {
  width: min(1200px, calc(100vw - 32px));
  margin: 0 auto;
}

.pro-switch .switch-items a {
  padding: 6px 0;
}

.pro-result {
  border-radius: var(--pro-radius-md);
}
.pro-code span {
  font-weight: 700;
}

/* boards */
.pro-board-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 12px;
  padding: 12px;
}

.pro-board-card {
  background: var(--pro-module-bg);
  border: 1px solid var(--pro-border);
  border-radius: var(--pro-radius-lg);
  box-shadow: var(--pro-shadow-sm);
  padding: 12px;
  transition: transform .18s ease, box-shadow .18s ease;
}
.pro-board-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--pro-shadow-md);
}
.pro-board-card__row {
  display: flex;
  gap: 12px;
}
.pro-board-card__poster {
  width: 72px;
  height: 102px;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid var(--pro-border);
  background: rgba(15, 23, 42, 0.04);
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pro-board-card__poster img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.pro-board-card__rank {
  font-weight: 800;
  color: var(--pro-muted);
  font-size: 18px;
}
.pro-board-card__main {
  flex: 1;
  min-width: 0;
}
.pro-board-card__title {
  font-weight: 700;
  color: var(--theme-color);
  line-height: 1.35;
  max-height: 3.6em;
  overflow: hidden;
}
.pro-board-card__meta {
  margin-top: 6px;
  font-size: 12px;
  color: var(--pro-muted);
}
.pro-board-card__actions {
  margin-top: 10px;
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.pro-board-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid var(--pro-border);
  background: var(--pro-surface-2);
  color: var(--theme-color);
  font-size: 12px;
  text-decoration: none;
  transition: transform .16s ease, box-shadow .16s ease;
}
.pro-board-chip:hover {
  transform: translateY(-1px);
  box-shadow: var(--pro-shadow-sm);
}
.pro-board-chip--primary {
  background: var(--skin-soft-10);
  border-color: var(--skin-strong-border);
  color: var(--theme-color);
}

/* subtle background polish */
body {
  background:
    radial-gradient(900px 420px at 12% -10%, var(--pro-bg-grad-1), transparent 55%),
    radial-gradient(760px 380px at 88% -12%, var(--pro-bg-grad-2), transparent 52%),
    var(--theme-background);
}

.headBg {
  filter: saturate(1.1);
  opacity: 0.18;
  mix-blend-mode: multiply;
}
html[data-theme="dark"] .headBg {
  opacity: 0.10;
  mix-blend-mode: normal;
}

/* header */
.headerBox {
  position: relative;
  top: auto;
  left: auto;
  right: auto;
  height: auto;
}

.headerKox {
  height: 0;
}

.headerBox .bg {
  display: none;
}

.headerBox .box {
  width: 100%;
  max-width: 1160px;
  margin: 8px auto 0;
  height: 78px;
  padding: 0 18px;
  border-radius: 18px;
  border: 1px solid var(--pro-border);
  background: var(--pro-module-bg);
  box-shadow: var(--pro-shadow-sm);
  overflow: visible;
}

.headerBox .box .logoBox .title {
  letter-spacing: 0.2px;
}

.headerBox .box .logoBox {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}

.headerBox .box .logoBox .logo {
  width: 51px;
  height: 51px;
  border-radius: 12px;
  object-fit: cover;
  flex: none;
}

.headerBox .box .logoBox .logoMeta {
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 2px;
}

.headerBox .box .logoBox .logoMeta .title {
  margin: 0;
  font-size: 21px;
  font-weight: 800;
  line-height: 1.15;
  color: var(--theme-color);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.headerBox .box .logoBox .logoMeta .desc {
  font-size: 13px;
  line-height: 1.2;
  color: var(--pro-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 420px;
}

.headerBox .box .navs .item,
.headerBox .box .navs a {
  font-weight: 500;
  color: var(--theme-color);
  opacity: 0.92;
  transition: color .18s ease, opacity .18s ease, transform .18s ease;
}

.headerBox .box .navs .item:hover,
.headerBox .box .navs a:hover {
  opacity: 1;
  transform: translateY(-1px);
}

.headerBox .box .navs .pro-theme-toggle {
  width: 34px;
  height: 34px;
  padding: 0;
  margin-left: 18px;
  border-radius: 999px;
  border: 1px solid var(--pro-border);
  background: var(--pro-surface);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--theme-color);
  cursor: pointer;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
}

.headerBox .box .navs .pro-theme-toggle:hover {
  transform: translateY(-1px);
  box-shadow: var(--pro-shadow-sm);
  border-color: rgba(56, 189, 248, 0.35);
}

.pro-theme-toggle__icon {
  font-size: 16px;
  line-height: 1;
}

.headerBox .box .search {
  background: var(--pro-surface);
  border: 1px solid var(--pro-border);
  box-shadow: var(--pro-shadow-sm);
  max-width: 360px;
}
.headerBox .box .search:after {
  display: none;
}
.headerBox .box .search input::placeholder {
  color: var(--pro-muted);
}
.headerBox .box .search:focus-within {
  box-shadow: var(--pro-shadow-md);
}
.headerBox .box .search:focus-within,
.searchBox .search:focus-within {
  outline: none;
}
.headerBox .box .search:focus-within {
  box-shadow: var(--pro-shadow-md), var(--pro-ring);
}

.headerBox .box .search input {
  padding-right: 14px;
}

/* home hero */
.homeBox {
  width: min(1200px, calc(100vw - 32px));
  padding-top: 34px;
}
.homeBox .box {
  width: min(820px, calc(100vw - 32px));
}

.pro-home .pro-hero {
  padding-top: 6px;
}
.pro-hero__brand {
  gap: 10px;
}
.pro-hero__subtitle {
  font-size: 15px;
  opacity: 0.78;
}
.pro-hero--v2 .pro-hero__kicker {
  font-size: 13px;
  letter-spacing: 0.12em;
  text-transform: none;
  color: var(--pro-muted);
  margin: 0 0 10px 0;
  font-weight: 600;
}
.pro-hero__desc {
  font-size: 14px;
  line-height: 1.65;
  color: var(--pro-muted);
  margin: 10px auto 0;
  max-width: 52em;
  text-align: center;
}
.pro-pan-strip {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 18px;
}
.pro-pan-strip__label {
  font-size: 12px;
  color: var(--pro-muted);
  margin-right: 4px;
}
.pro-pan-chip {
  border: 1px solid var(--pro-border);
  background: var(--pro-surface);
  color: var(--theme-color);
  border-radius: 999px;
  padding: 7px 14px;
  font-size: 12px;
  cursor: pointer;
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease, background .15s ease;
}
.pro-pan-chip:hover {
  transform: translateY(-1px);
  box-shadow: var(--pro-shadow-sm);
}
.pro-pan-chip.is-active {
  border-color: var(--skin-chip-active-border);
  background: var(--skin-soft-10);
  box-shadow: var(--pro-ring);
  font-weight: 600;
}
.pro-search {
  margin-top: 18px;
}
.pro-search--hero {
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
}
.pro-hot-tags {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 10px;
  margin-top: 14px;
  padding: 0 6px;
  width: 100%;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
  box-sizing: border-box;
}
.pro-hot-tags__label {
  font-size: 12px;
  color: var(--pro-muted);
  flex: 0 0 auto;
  padding-top: 7px;
}
.pro-hot-tags__list--rows {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.pro-hot-tags__row {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  min-height: 32px;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}
.pro-hot-tags__row::-webkit-scrollbar {
  height: 4px;
}
.pro-hot-tags__chip {
  font-size: 12px;
  padding: 6px 12px;
  border-radius: 999px;
  border: 1px solid var(--skin-chip-active-border);
  background: var(--skin-soft-06);
  color: var(--theme-color);
  cursor: pointer;
  max-width: 280px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  transition: background .15s ease, border-color .15s ease, transform .15s ease;
}
.pro-hot-tags__chip:hover {
  background: var(--skin-soft-12);
  border-color: var(--skin-chip-active-border);
  transform: translateY(-1px);
}
.pro-stats-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  width: 100%;
  max-width: min(1100px, calc(100vw - 32px));
  margin: 28px auto 0;
}
.pro-stat-card {
  border-radius: var(--pro-radius-md);
  border: 1px solid var(--pro-border);
  background: var(--pro-module-bg);
  box-shadow: var(--pro-shadow-sm);
  padding: 14px 14px 12px;
  text-align: center;
  transition: transform .18s ease, box-shadow .18s ease;
}
.pro-stat-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--pro-shadow-md);
}
.pro-stat-card__val {
  font-size: 22px;
  font-weight: 800;
  color: var(--theme-theme);
  letter-spacing: -0.02em;
  line-height: 1.2;
}
.pro-stat-card__lab {
  margin-top: 6px;
  font-size: 13px;
  font-weight: 600;
  color: var(--theme-color);
}
.pro-stat-card__hint {
  margin-top: 4px;
  font-size: 11px;
  color: var(--pro-muted);
  line-height: 1.35;
}
.pro-features {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  width: 100%;
  max-width: min(1100px, calc(100vw - 32px));
  margin: 20px auto 0;
}
.pro-feature {
  border-radius: var(--pro-radius-lg);
  border: 1px solid var(--pro-border);
  background: var(--pro-module-bg);
  padding: 16px 14px;
  box-shadow: var(--pro-shadow-sm);
}
.pro-feature__icon {
  font-size: 22px;
  line-height: 1;
  margin-bottom: 8px;
}
.pro-feature__t {
  font-size: 15px;
  font-weight: 700;
  color: var(--theme-color);
  margin-bottom: 6px;
}
.pro-feature__d {
  font-size: 12px;
  line-height: 1.55;
  color: var(--pro-muted);
}
.pro-trending {
  width: 100%;
  max-width: min(1100px, calc(100vw - 32px));
  margin: 24px auto 0;
  border-radius: var(--pro-radius-lg);
  border: 1px solid var(--pro-border);
  background: var(--pro-module-bg);
  box-shadow: var(--pro-shadow-sm);
  padding: 16px 16px 14px;
}
.pro-trending__head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px 14px;
  margin-bottom: 12px;
}
.pro-trending__title {
  margin: 0;
  font-size: 17px;
  font-weight: 800;
  color: var(--theme-color);
}
.pro-trending__sub {
  font-size: 12px;
  color: var(--pro-muted);
  flex: 1 1 200px;
}
.pro-trending__tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
}
.pro-trending__tab {
  border: 1px solid var(--pro-border);
  background: var(--pro-surface-2);
  color: var(--theme-color);
  border-radius: 999px;
  padding: 6px 12px;
  font-size: 12px;
  cursor: pointer;
  transition: background .15s ease, border-color .15s ease, transform .15s ease;
}
.pro-trending__tab.is-active {
  background: var(--skin-soft-12);
  border-color: var(--skin-chip-active-border);
  font-weight: 700;
}
.pro-trending__body {
  position: relative;
  min-height: 80px;
}
.pro-trending__body.is-loading {
  opacity: 0.55;
  pointer-events: none;
}
.pro-trending__loading,
.pro-trending__empty {
  text-align: center;
  padding: 28px 12px;
  font-size: 13px;
  color: var(--pro-muted);
}
.pro-trending__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 10px;
}
.pro-trend-card {
  display: flex;
  gap: 10px;
  align-items: stretch;
  padding: 10px;
  border-radius: var(--pro-radius-md);
  border: 1px solid var(--pro-border);
  background: var(--pro-surface-2);
  text-decoration: none;
  color: inherit;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.pro-trend-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--pro-shadow-md);
  border-color: var(--skin-strong-border);
}
.pro-trend-card__rank {
  width: 28px;
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  color: var(--pro-muted);
  font-size: 14px;
}
.pro-trend-card__cover {
  width: 56px;
  height: 78px;
  flex: none;
  border-radius: 10px;
  overflow: hidden;
  background: #e2e8f0;
  border: 1px solid var(--pro-border);
  display: flex;
  align-items: center;
  justify-content: center;
}
.pro-trend-card__cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.pro-trend-card__ph {
  font-size: 18px;
  font-weight: 800;
  color: var(--pro-muted);
}
.pro-trend-card__main {
  min-width: 0;
  flex: 1;
}
.pro-trend-card__title {
  font-size: 13px;
  font-weight: 700;
  color: var(--theme-color);
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.pro-trend-card__meta {
  margin-top: 4px;
  font-size: 11px;
  color: var(--pro-muted);
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.pro-hero__meta {
  margin-top: 14px;
  display: flex;
  gap: 10px;
  justify-content: center;
  flex-wrap: wrap;
}

.searchBox .search {
  background: var(--pro-surface);
  border: 1px solid var(--pro-border);
  box-shadow: var(--pro-shadow-md);
  transition: transform .18s ease, box-shadow .18s ease;
}
.searchBox .search:hover {
  transform: translateY(-1px);
}
.searchBox .search:focus-within {
  box-shadow: var(--pro-shadow-md), var(--pro-ring);
}
.searchBox .search input::placeholder {
  color: var(--pro-muted);
}

/* cards / panels */
.home .block,
.listBox .box,
.listBox .Ebox {
  border: 1px solid var(--pro-border);
  background: var(--pro-module-bg);
  box-shadow: var(--pro-shadow-sm);
}

.home .block {
  border-radius: var(--pro-radius-lg);
}
.listBox .box,
.listBox .Ebox {
  border-radius: var(--pro-radius-lg);
}

.home .nav,
.listBox .nav {
  padding-left: 22px;
  padding-right: 22px;
}

.home .content .list .item .img {
  border-radius: var(--pro-radius-md);
}
.home .content .list .item {
  border-radius: var(--pro-radius-md);
}
.home .content .list .item:hover {
  transform: translateY(-6px);
}
.home .content .list .item .img img {
  transform: scale(1.01);
  transition: transform .28s ease;
}
.home .content .list .item:hover .img img {
  transform: scale(1.06);
}

/* list page readability */
.listBox .left .list .item {
  border-bottom: 1px dashed rgba(15, 23, 42, 0.12);
}
.listBox .left .list .item .title {
  color: var(--theme-theme);
}
.listBox .left .list .item .btns .btn {
  transition: transform .16s ease, color .16s ease, opacity .16s ease;
}
.listBox .left .list .item .btns .btn:hover {
  transform: translateY(-1px);
  color: var(--theme-theme);
}

/* detail page */
.details .pic {
  border-radius: var(--pro-radius-md);
  overflow: hidden;
  box-shadow: var(--pro-shadow-sm);
  border: 1px solid var(--pro-border);
}
.details .btns .btn {
  border: 1px solid var(--pro-border);
  box-shadow: var(--pro-shadow-sm);
}
.details .btns .btn:after {
  display: none;
}
.details .btns .btn:hover {
  transform: translateY(-1px);
}
.details .btns .btn.btnCol {
  border-color: var(--skin-chip-active-border);
}

/* element-plus dialogs polish */
.el-dialog {
  border: 1px solid var(--pro-border);
  border-radius: var(--pro-radius-lg);
  box-shadow: var(--pro-shadow-md);
}
.el-dialog__header {
  padding-top: 14px;
}
.el-dialog__body {
  padding-top: 10px;
}

/* small screens */
@media (max-width: 768px) {
  .headerBox .box {
    width: calc(100vw - 24px);
  }
  .homeBox,
  .listBox,
  .footerBox .box {
    width: calc(100vw - 24px) !important;
  }
  .searchBox .search {
    box-shadow: var(--pro-shadow-sm);
  }
  .pro-hero__meta {
    justify-content: center;
  }
  .pro-pill {
    padding: 8px 10px;
    font-size: 12px;
  }
  .pro-board-grid {
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  }
  .pro-stats-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .pro-features {
    grid-template-columns: 1fr;
  }
  .pro-trending__head {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* ========== 首页门户风（参考聚合搜索站） ========== */
.homeBox.pro-home {
  text-align: left;
  width: 100% !important;
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 34px;
  padding-left: max(16px, env(safe-area-inset-left));
  padding-right: max(16px, env(safe-area-inset-right));
  box-sizing: border-box;
}

/* 首页外壳：有豆瓣时左|中(导航+主体)|右 同行对齐，豆瓣顶与导航栏顶对齐（非导航下方） */
.pro-home-shell {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
  align-items: start;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  padding-left: max(16px, env(safe-area-inset-left));
  padding-right: max(16px, env(safe-area-inset-right));
  padding-top: 0;
}

/*
 * 三栏豆瓣：不用「中间列 1fr + 内容 max-width 居中」，否则全屏时中间列极宽、内容仍 1180，
 * 左右栏会贴在视口两侧，与中间卡片之间出现大块空白（红框问题）。
 * 改为 flex 整体水平居中：左栏 | 18px | 中间(≤1180) | 18px | 右栏，全屏/窗口化都紧贴中间。
 */
@media (min-width: 1201px) {
  .pro-home-shell--with-douban {
    --pro-home-rail-center-gap: 18px;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: flex-start;
    gap: var(--pro-home-rail-center-gap);
  }

  .pro-home-shell--with-douban .pro-douban-rail--left,
  .pro-home-shell--with-douban .pro-douban-rail--right {
    flex: 0 0 auto;
    width: clamp(260px, 22vw, 520px);
    max-width: 520px;
    min-width: 0;
  }

  .pro-home-shell--with-douban .pro-home-shell__main {
    flex: 0 1 1180px;
    max-width: 1180px;
    min-width: min(400px, 100%);
    width: min(1180px, 100%);
  }
}

@media (min-width: 1600px) {
  .pro-home-shell--with-douban .pro-douban-rail--left,
  .pro-home-shell--with-douban .pro-douban-rail--right {
    width: clamp(300px, 24vw, 560px);
    max-width: 560px;
  }
}

.pro-home-shell__main {
  min-width: 0;
}

.pro-home-page__center {
  min-width: 0;
  display: flex;
  justify-content: center;
}

/* 有豆瓣三栏时：中间列已是内容宽，不要再把 homeBox 在列内二次居中 */
.pro-home-shell--with-douban .pro-home-page__center {
  justify-content: flex-start;
  width: 100%;
}

.pro-home-page__center .homeBox.pro-home {
  margin-left: 0;
  margin-right: 0;
  width: 100%;
  max-width: 1180px;
}

.pro-douban-rail {
  min-width: 0;
  align-self: start;
}

/* 与 .headerBox .box 的 margin-top:8px 对齐，使侧栏内容顶与导航条顶一致 */
.pro-home-shell--with-douban .pro-douban-rail .pro-featured-gallery--douban-rail {
  margin-top: 8px;
}

.pro-douban-rail .pro-featured-gallery--douban {
  margin-top: 0;
}

.pro-featured-gallery--douban-rail {
  border-radius: 16px;
  border: 1px solid var(--pro-border);
  background: var(--pro-module-bg);
  box-shadow: var(--pro-shadow-sm);
  padding: 12px 10px 14px;
}

.pro-featured-gallery--douban-rail .pro-featured-gallery__head {
  margin-bottom: 2px;
}

.pro-featured-gallery--douban-rail .pro-featured-gallery__title {
  font-size: 15px;
  font-weight: 800;
  letter-spacing: -0.02em;
  text-align: center;
}

.pro-douban-chip-row--rail {
  justify-content: flex-start;
  margin: 8px 0 14px;
  gap: 6px;
}

.pro-douban-rail .pro-douban-chip {
  padding: 5px 10px;
  font-size: 12px;
}

.pro-douban-rail .pro-douban-card {
  padding: 8px 8px 10px;
}

/* 侧栏豆瓣卡：标题居中 */
.pro-douban-rail a.pro-douban-title.movie-title-link {
  text-align: center;
  width: 100%;
}

/* 侧栏豆瓣卡：评分/推荐等 meta 行居中 */
.pro-douban-rail .movie-meta {
  justify-content: center;
  width: 100%;
}

@media (max-width: 1200px) {
  .pro-home-shell--with-douban {
    display: flex;
    flex-direction: column;
    gap: 18px;
  }

  .pro-home-shell--with-douban .pro-home-shell__main {
    order: 1;
    width: 100%;
    max-width: none;
    flex: none;
  }

  .pro-home-shell--with-douban .pro-douban-rail--left {
    order: 2;
  }

  .pro-home-shell--with-douban .pro-douban-rail--right {
    order: 3;
  }

  .pro-home-shell--with-douban .pro-douban-rail--left,
  .pro-home-shell--with-douban .pro-douban-rail--right {
    width: 100%;
    max-width: none;
  }

  .pro-home-shell--with-douban .pro-home-page__center {
    justify-content: center;
  }

  .pro-home-shell--with-douban .pro-douban-rail .pro-featured-gallery--douban-rail {
    margin-top: 0;
  }
}

.homeBox.pro-home .pro-hero-band {
  position: relative;
  border-radius: var(--pro-radius-lg);
  padding: 28px 20px 24px;
  margin: 4px 0 8px;
  text-align: center;
  color: #f8fafc;
  background: linear-gradient(135deg, #1e3a8a 0%, #3730a3 42%, #5b21b6 100%);
  box-shadow: 0 20px 50px rgba(30, 58, 138, 0.35);
  overflow: hidden;
}

.homeBox.pro-home .pro-hero-band::before {
  content: "";
  position: absolute;
  inset: -40% -20% auto;
  height: 120%;
  background: radial-gradient(ellipse at 30% 0%, rgba(255, 255, 255, 0.18), transparent 55%);
  pointer-events: none;
}

.homeBox.pro-home .pro-hero-band__inner {
  position: relative;
  z-index: 1;
  max-width: 880px;
  margin: 0 auto;
}

.homeBox.pro-home .pro-hero__eyebrow {
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: none;
  color: rgba(248, 250, 252, 0.82);
  margin: 0 0 8px;
  font-weight: 600;
}

.homeBox.pro-home .pro-hero__h1 {
  margin: 0 0 16px;
  font-size: clamp(22px, 4.2vw, 34px);
  font-weight: 800;
  line-height: 1.25;
  color: #ffffff;
  letter-spacing: -0.02em;
}

.homeBox.pro-home .pro-hero-band .pro-hero--v2 {
  padding-top: 0;
}

.homeBox.pro-home .pro-hero-band .box.pro-hero {
  width: 100% !important;
  max-width: 100%;
  margin: 0 auto;
}

.homeBox.pro-home .pro-hero-band .pro-hero__brand {
  justify-content: center;
}

.homeBox.pro-home .pro-hero-band .pro-hero__site-name,
.homeBox.pro-home .pro-hero-band .pro-hero__subtitle {
  color: rgba(248, 250, 252, 0.95) !important;
}

.homeBox.pro-home .pro-hero-band .pro-hero__subtitle {
  opacity: 0.92;
}

.homeBox.pro-home .pro-hero-band .pro-hero__desc {
  color: rgba(226, 232, 240, 0.9) !important;
  text-align: center;
}

.homeBox.pro-home .pro-hero-band .pro-hero__logo {
  filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.2));
}

.homeBox.pro-home .pro-search-card {
  margin-top: 20px;
  padding: 20px 18px 16px;
  border-radius: var(--pro-radius-lg);
  background: var(--pro-module-bg);
  border: 1px solid rgba(255, 255, 255, 0.65);
  box-shadow: 0 16px 40px rgba(15, 23, 42, 0.18);
  text-align: left;
  color: var(--theme-color);
}

.homeBox.pro-home .pro-search-card__head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px 12px;
  margin-bottom: 12px;
}

.homeBox.pro-home .pro-search-card__tag {
  font-size: 13px;
  font-weight: 700;
  color: var(--theme-color);
}

.homeBox.pro-home .pro-search-card__hint {
  font-size: 12px;
  color: var(--pro-muted);
  flex: 1 1 180px;
}

.homeBox.pro-home .pro-search-card .pro-pan-strip {
  justify-content: flex-start;
  margin-top: 0;
  margin-bottom: 14px;
}

.homeBox.pro-home .pro-search-card .pro-search--hero {
  max-width: none;
  width: 100%;
}

.homeBox.pro-home .pro-btn-primary {
  appearance: none;
  -webkit-appearance: none;
  border: none;
  cursor: pointer;
  font-family: inherit;
  font-size: 15px;
  font-weight: 700;
  padding: 12px 36px;
  border-radius: 999px;
  color: #fff;
  background: var(--skin-gradient-cta);
  box-shadow: 0 8px 24px var(--skin-shadow-45);
  transition: transform .15s ease, box-shadow .15s ease;
}

.homeBox.pro-home .pro-btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 28px var(--skin-shadow-50);
}

.homeBox.pro-home .pro-hot-tags {
  display: flex !important;
  flex-direction: column;
  align-items: stretch;
  gap: 10px;
  margin-top: 16px;
  padding: 12px 0 0;
  border-top: 1px solid var(--pro-border);
  text-align: left;
}

.homeBox.pro-home .pro-hot-tags__label {
  font-size: 12px;
  font-weight: 700;
  color: var(--pro-muted);
}

.homeBox.pro-home .pro-hot-tags__list {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px;
  align-items: center;
}

.homeBox.pro-home .pro-hot-tags__chip {
  flex: 0 1 auto;
}

.homeBox.pro-home .pro-hero__meta--band {
  margin-top: 18px;
}

.homeBox.pro-home .pro-pill--on-dark {
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.35);
  color: #f8fafc;
  backdrop-filter: blur(8px);
}

.homeBox.pro-home .pro-pill--on-dark:hover {
  background: rgba(255, 255, 255, 0.2);
  color: #fff;
}

.homeBox.pro-home .pro-stats-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px !important;
  width: 100%;
  max-width: 100%;
  margin: 28px 0 0;
}

.homeBox.pro-home .pro-features {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
  width: 100%;
  max-width: 100%;
  margin: 20px 0 0;
}

.homeBox.pro-home .pro-feature__icon {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  background: var(--skin-soft-08);
  border: 1px solid var(--skin-soft-16);
}

.homeBox.pro-home .pro-trending {
  max-width: 100%;
}

html[data-theme="dark"] .homeBox.pro-home .pro-hero-band {
  background: linear-gradient(135deg, #0f172a 0%, #1e1b4b 50%, #312e81 100%);
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.45);
}

html[data-theme="dark"] .homeBox.pro-home .pro-search-card {
  border-color: var(--pro-border);
}

html[data-theme="dark"] .homeBox.pro-home .pro-feature {
  background: var(--pro-module-bg);
}

@media (max-width: 768px) {
  .homeBox.pro-home .pro-hero-band {
    padding: 22px 14px 18px;
    border-radius: var(--pro-radius-md);
  }
  .homeBox.pro-home .pro-stats-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .homeBox.pro-home .pro-features {
    grid-template-columns: 1fr !important;
  }
}

.homeBox.pro-home .pro-pan-chip {
  font-family: inherit;
  line-height: 1.3;
}

/* ===== list page ===== */
/* app.css 中 .searchList { display:none } 会藏掉列表页搜索条，Pro 列表需显式打开 */
.searchBox.searchList.pro-searchbar {
  display: block;
}

.pro-topbar {
  margin-top: 10px;
}

.pro-page-list .screen .fixed h3 {
  padding-top: 18px;
}

.pro-sourcebar {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  border-radius: 18px;
  border: 1px solid var(--pro-border);
  background: var(--pro-module-bg);
  box-shadow: var(--pro-shadow-sm);
  margin: 12px 0 14px;
}

.pro-sourcebar__title {
  margin: 0;
  padding: 0;
  font-size: 18px;
  font-weight: 800;
}

.pro-sourcebar__sub {
  margin-top: 6px;
  font-size: 12px;
  color: var(--pro-muted);
}

.pro-sourcebar__kw {
  color: var(--theme-theme);
  font-weight: 800;
}

.pro-sourcebar__switch {
  display: inline-flex;
  gap: 8px;
}

.pro-sourcebar__btn {
  border: 1px solid var(--pro-border);
  background: var(--pro-surface-2);
  color: var(--theme-color);
  border-radius: 999px;
  padding: 9px 14px;
  cursor: pointer;
  font-weight: 800;
  font-size: 12px;
}

.pro-sourcebar__btn.active {
  background: var(--skin-soft-12);
  border-color: var(--skin-strong-border);
  color: var(--theme-theme);
}

.pro-result-box {
  border-radius: 18px;
}

/*
 * 搜索列表：app.css 中 .listBox .left { overflow: hidden } 会裁切长列表。
 * 注意：同一元素上 overflow-x:hidden 与 overflow-y:visible 时，规范会把 visible 算成 auto，
 * 左栏会变成内部滚动/裁切。故左栏改为 overflow:visible，横向在 .listBox 上用 clip 收敛。
 */
#app .listBox.pro-page-list {
  align-items: flex-start;
  overflow-x: clip;
  overflow-y: visible;
}

#app .listBox.pro-page-list > .left {
  overflow: visible !important;
  min-width: 0;
  height: auto;
  max-height: none;
}

#app .listBox.pro-page-list--solo {
  display: block;
  width: min(1160px, calc(100vw - 32px));
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}

#app .listBox.pro-page-list--solo .pro-page-list__portal .pro-page-list__main {
  width: 100%;
  overflow: visible;
  min-width: 0;
  margin-top: 18px;
}

/* 搜索结果页门户：与顶栏 .headerBox .box 同宽（1160），无左右内边距 */
#app .listBox.pro-page-list--solo > .pro-page-list__portal.homeBox.pro-home {
  width: 100%;
  max-width: 1160px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 10px;
  padding-left: 0;
  padding-right: 0;
  box-sizing: border-box;
}

#app .listBox.pro-page-list .left .box.pro-result-box {
  min-height: auto !important;
}

#app .listBox.pro-page-list .left .box.pro-result-box.pro-result-merged {
  overflow: visible;
  min-height: 0 !important;
}

.pro-result-merged {
  padding-top: 12px;
}

.pro-result-summary {
  text-align: center;
  font-size: 16px;
  font-weight: 800;
  color: var(--theme-color);
  padding: 6px 8px 14px;
  border-bottom: 1px solid var(--pro-border);
  margin-bottom: 4px;
}

.pro-result-summary__kw {
  color: var(--theme-theme);
}

.pro-result-summary__num {
  color: var(--theme-theme);
  font-weight: 900;
}

.pro-result-merged .Qloading {
  padding: 8px 0 12px;
}

.pro-result-merged__empty {
  margin-top: 12px !important;
  padding: 8px 0 16px;
}

.pro-result-merged__empty.el-empty {
  --el-empty-padding: 12px 0;
}

.pro-result-list .pro-result-card {
  border-radius: 16px;
  border: 1px solid var(--pro-border);
  background: var(--pro-module-bg);
  padding: 14px 14px 12px;
  margin: 12px 0;
}

.pro-result-card__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
}

.pro-result-card__title {
  font-size: 16px;
  font-weight: 900;
  color: var(--theme-theme);
  text-decoration: none;
}

.pro-result-card__time {
  margin: 0;
  padding-left: 0;
}

.pro-result-card__time::after {
  display: none !important;
}

.pro-result-card__meta {
  margin-top: 8px;
  padding-left: 0;
}

.pro-result-card__meta::after {
  display: none !important;
}

.pro-result-card__actions {
  margin-top: 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.pro-action-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 1px solid var(--pro-border);
  background: #fff;
  color: var(--theme-color);
  border-radius: 999px;
  padding: 9px 12px;
  font-weight: 800;
  cursor: pointer;
  text-decoration: none;
  line-height: 1;
}

.pro-action-btn img.icon {
  width: 18px;
  height: 18px;
  margin: 0;
}

.pro-action-btn .iconfont {
  font-size: 16px;
}

.pro-action-btn:hover {
  transform: translateY(-1px);
  box-shadow: var(--pro-shadow-sm);
}

.pro-action-btn--primary {
  background: var(--skin-gradient-main);
  border-color: var(--skin-strong-border);
  color: #fff;
}

.pro-side__box {
  border-radius: 18px;
}

.pro-side__list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.pro-side__item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 10px;
  border-radius: 14px;
  border: 1px solid var(--pro-border);
  background: var(--pro-module-bg);
  text-decoration: none;
}

.pro-side__rank {
  width: 26px;
  height: 26px;
  border-radius: 10px;
  background: var(--skin-soft-12);
  color: var(--theme-theme);
  font-weight: 900;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: none;
  font-size: 12px;
}

.pro-side__name {
  min-width: 0;
  flex: 1;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

/* ===== upgraded right-side boards ===== */
.pro-side-boards {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.pro-side-board {
  padding: 12px;
}

.pro-side-board__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}

.pro-side-board__title {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-weight: 900;
  color: var(--theme-color);
}

.pro-side-board__title img {
  width: 22px;
  height: 22px;
  border-radius: 6px;
  object-fit: cover;
}

.pro-side-board__more {
  font-size: 12px;
  color: var(--pro-muted);
  text-decoration: none;
  border: 1px solid rgba(15, 23, 42, 0.06);
  background: rgba(255, 255, 255, 0.9);
  padding: 6px 10px;
  border-radius: 999px;
}

.pro-side-board__more:hover {
  color: var(--theme-theme);
  transform: translateY(-1px);
  box-shadow: var(--pro-shadow-sm);
}

.pro-side-board__list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.pro-side-board__item {
  display: grid;
  grid-template-columns: 28px 1fr 40px;
  gap: 10px;
  align-items: center;
  padding: 10px 10px;
  border-radius: 14px;
  border: 1px solid rgba(15, 23, 42, 0.06);
  background: rgba(255, 255, 255, 0.95);
  text-decoration: none;
}

.pro-side-board__rank {
  width: 26px;
  height: 26px;
  border-radius: 10px;
  background: var(--skin-soft-12);
  color: var(--theme-theme);
  font-weight: 900;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
}

.pro-side-board__name {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--theme-color);
  font-weight: 700;
}

.pro-side-board__thumb {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  overflow: hidden;
  background: #e2e8f0;
  border: 1px solid rgba(15, 23, 42, 0.06);
  display: flex;
  align-items: center;
  justify-content: center;
}

.pro-side-board__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

html[data-theme="dark"] .pro-overview {
  background: var(--pro-module-bg);
  border-color: rgba(148, 163, 184, 0.18);
  box-shadow: 0 18px 60px rgba(0, 0, 0, 0.55);
}

html[data-theme="dark"] .headerBox .box {
  background: var(--pro-module-bg);
  border-color: rgba(148, 163, 184, 0.20);
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.40);
}

html[data-theme="dark"] .pro-overview__tip {
  color: rgba(226, 232, 240, 0.86);
}


html[data-theme="dark"] .pro-overview__btn {
  background: rgba(30, 41, 59, 0.55);
  border-color: rgba(148, 163, 184, 0.18);
  color: rgba(226, 232, 240, 0.92);
}

html[data-theme="dark"] .pro-overview__btn--primary {
  background: rgba(30, 41, 59, 0.55);
  border-color: rgba(148, 163, 184, 0.18);
  color: rgba(226, 232, 240, 0.92);
}

html[data-theme="dark"] .pro-side-board__more,
html[data-theme="dark"] .pro-side-board__item {
  background: rgba(15, 23, 42, 0.88);
  border-color: rgba(148, 163, 184, 0.12);
}

html[data-theme="dark"] .pro-side-board__name {
  color: rgba(226, 232, 240, 0.92);
}

html[data-theme="dark"] .pro-featured-gallery {
  background: var(--pro-module-bg);
  color: #e2e8f0;
  border-color: rgba(148, 163, 184, 0.18);
  box-shadow: 0 18px 60px rgba(0, 0, 0, 0.45);
}

html[data-theme="dark"] .pro-featured-gallery__title {
  color: #fff;
}

html[data-theme="dark"] .pro-featured-gallery__tab {
  border-color: rgba(148, 163, 184, 0.35);
  background: rgba(15, 23, 42, 0.5);
  color: #cbd5e1;
}

html[data-theme="dark"] .pro-featured-gallery__tab:hover {
  border-color: rgba(56, 189, 248, 0.45);
  color: #f8fafc;
}

html[data-theme="dark"] .pro-featured-gallery__tab.is-active {
  border-color: rgba(56, 189, 248, 0.55);
  background: rgba(56, 189, 248, 0.15);
  color: #f8fafc;
}

html[data-theme="dark"] .pro-featured-gallery__state {
  color: #94a3b8;
}

html[data-theme="dark"] .pro-featured-gallery__state--err {
  color: #fca5a5;
}

html[data-theme="dark"] .pro-gallery-card__poster {
  border-color: rgba(148, 163, 184, 0.14);
  background: linear-gradient(135deg, #1e293b 0%, #334155 100%);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.25);
}

html[data-theme="dark"] .pro-gallery-card__poster span {
  color: #fff;
}

html[data-theme="dark"] .pro-gallery-card__title {
  color: #f8fafc;
}

html[data-theme="dark"] .pro-gallery-card__meta {
  color: #94a3b8;
}

/* spacing polish for portal sections */
.homeBox.pro-home .pro-trending--upgrade,
.homeBox.pro-home .pro-featured-gallery {
  margin-top: 18px;
}

@media (max-width: 1100px) {
  .homeBox.pro-home .pro-overview {
    margin-top: 14px;
  }
}
/* ===== detail page ===== */
.pro-page-detail .left h3 {
  display: none;
}

/* 详情页：与首页 pro-portal 同宽（.homeBox.pro-home max-width:1180px） */
.pro-detail-page {
  padding-top: 18px;
  display: flex;
  flex-direction: column;
  gap: 18px;
  align-items: stretch;
  box-sizing: border-box;
}

.pro-portal--detail {
  margin-top: 0;
  margin-bottom: 0;
  flex: 0 0 auto;
}

.pro-portal__hero--detail {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.pro-detail-portal-split {
  display: grid;
  grid-template-columns: minmax(200px, 0.88fr) minmax(0, 1.12fr);
  gap: 22px;
  align-items: stretch;
  min-height: 260px;
  flex: 1 1 auto;
}

.pro-detail-portal-split__poster {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 0;
}

.pro-detail-portal-split__posterInner {
  width: 100%;
  max-width: 280px;
  aspect-ratio: 2 / 3;
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid rgba(148, 163, 184, 0.22);
  background: rgba(15, 23, 42, 0.14);
  display: flex;
  align-items: center;
  justify-content: center;
}

.pro-detail-portal-split__posterInner img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.pro-detail-portal-split__posterPh {
  color: #94a3b8;
  font-size: 14px;
}

.pro-detail-portal-split__side {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
}

.pro-detail-portal-split__body {
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 14px;
}

.pro-detail-portal-split__host {
  width: 100%;
  min-height: 200px;
}

.pro-detail-portal-split__title {
  margin: 0;
  font-size: clamp(17px, 2vw, 24px);
  font-weight: 900;
  color: #f8fafc;
  line-height: 1.25;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-align: center;
}

.pro-detail-portal-split__subline {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: #94a3b8;
}

.pro-detail-portal-split__subdot {
  opacity: 0.7;
}

.pro-detail-portal-split__info {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.pro-detail-portal-split__infoRow {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 14px;
}

.pro-detail-portal-split__tag {
  color: #cbd5e1;
  font-size: 13px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 0 10px;
  border: 1px solid rgba(148, 163, 184, 0.26);
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.18);
}

.pro-detail-portal-split__value {
  color: #e2e8f0;
  font-size: 14px;
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 12px;
  border: 1px solid rgba(148, 163, 184, 0.26);
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.18);
}

.pro-detail-portal-split__value--pan {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.pro-detail-portal-split__panIcon {
  width: 18px;
  height: 18px;
  display: block;
}

.pro-detail-portal-split__infoRow--stack {
  flex-direction: column;
  align-items: flex-start;
}

.pro-detail-portal-split__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  width: 100%;
}

.pro-detail-portal-split__codeLine,
.pro-detail-portal-split__linkLine {
  width: 100%;
  font-size: 13px;
  color: #cbd5e1;
  word-break: break-all;
}

.pro-detail-portal-split__linkLabel {
  margin-right: 8px;
  color: #94a3b8;
}

.pro-detail-portal-split__linkValue {
  color: var(--skin-accent, #38bdf8);
  cursor: pointer;
  text-decoration: underline;
}

.pro-portal__hero--detail .pro-disclaimer--inPortal {
  margin-top: 0;
  background: rgba(15, 23, 42, 0.38);
  border-color: rgba(148, 163, 184, 0.2);
}

.pro-portal__hero--detail .pro-disclaimer--inPortal .pro-disclaimer__title {
  color: #f8fafc;
  text-align: center;
}

.pro-portal__hero--detail .pro-disclaimer--inPortal .pro-disclaimer__content p {
  color: #cbd5e1;
  text-align: center;
}

.pro-portal__hero--detail .pro-disclaimer--inPortal .pro-disclaimer__content {
  text-align: center;
}

.pro-detail-synopsis {
  margin-top: 0;
  padding: 22px;
  flex: 0 0 auto;
  border-radius: 22px;
  border: 1px solid var(--pro-border);
  background: var(--pro-module-bg);
  box-shadow: var(--pro-shadow-sm);
}

.pro-detail-synopsis__title {
  margin: 0 0 12px;
  font-size: 18px;
  font-weight: 800;
  color: var(--theme-color);
}

.pro-detail-synopsis__body {
  margin: 0;
  padding-left: 4em;
  text-align: justify;
  line-height: 1.85;
  color: #334155;
  font-size: 14px;
  white-space: pre-wrap;
}

html[data-theme="dark"] .pro-detail-synopsis__body {
  color: #e2e8f0;
}

html[data-theme="light"] .pro-portal__hero--detail {
  background:
    radial-gradient(circle at top right, rgba(14, 165, 233, 0.28), transparent 42%),
    radial-gradient(circle at 12% 18%, rgba(59, 130, 246, 0.12), transparent 36%),
    linear-gradient(180deg, #dbeafe 0%, #c7ddf8 52%, #bdd6f6 100%);
  color: #1e293b;
}

html[data-theme="light"] .pro-detail-portal-split__title {
  color: #0f172a;
}

html[data-theme="light"] .pro-detail-portal-split__subline {
  color: #64748b;
}

html[data-theme="light"] .pro-detail-portal-split__tag,
html[data-theme="light"] .pro-detail-portal-split__value {
  color: #1e293b;
  background: rgba(255, 255, 255, 0.9);
  border-color: rgba(148, 163, 184, 0.35);
}

html[data-theme="light"] .pro-detail-portal-split__codeLine,
html[data-theme="light"] .pro-detail-portal-split__linkLine {
  color: #334155;
}

html[data-theme="light"] .pro-portal__hero--detail .pro-disclaimer--inPortal {
  background: rgba(255, 255, 255, 0.78);
  border-color: rgba(148, 163, 184, 0.35);
}

html[data-theme="light"] .pro-portal__hero--detail .pro-disclaimer--inPortal .pro-disclaimer__title {
  color: #000;
}

html[data-theme="light"] .pro-portal__hero--detail .pro-disclaimer--inPortal .pro-disclaimer__content p {
  color: #000;
}

.pro-detail-guess {
  margin-top: 0;
  padding: 22px;
  flex: 0 0 auto;
  border-radius: 22px;
  border: 1px solid var(--pro-border);
  background: var(--pro-module-bg);
  box-shadow: var(--pro-shadow-sm);
}

.pro-detail-guess__title {
  margin: 0 0 16px;
  font-size: 18px;
  font-weight: 800;
  color: var(--theme-color);
}

.pro-detail-guess__grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px 12px;
}

.pro-detail-guess__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  text-decoration: none;
  color: inherit;
  gap: 8px;
  transition: transform 0.15s ease;
}

.pro-detail-guess__item:hover {
  transform: translateY(-2px);
}

.pro-detail-guess__poster {
  width: 100%;
  aspect-ratio: 2 / 3;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid var(--pro-border);
  background: rgba(15, 23, 42, 0.06);
  display: flex;
  align-items: center;
  justify-content: center;
}

.pro-detail-guess__poster img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.pro-detail-guess__posterPh {
  font-size: 12px;
  color: var(--pro-muted);
  padding: 8px;
}

.pro-detail-guess__name {
  font-size: 13px;
  line-height: 1.4;
  font-weight: 600;
  color: var(--theme-color);
  max-height: 2.8em;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

@media (max-width: 1100px) {
  .pro-detail-guess__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .pro-detail-guess__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .pro-detail-portal-split {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .pro-detail-portal-split__posterInner {
    max-width: 240px;
    margin: 0 auto;
  }

  .pro-detail-portal-split__side {
    align-items: stretch;
  }
}

.pro-detail-card {
  border-radius: 22px;
  border: 1px solid var(--pro-border);
  background: var(--pro-module-bg);
  box-shadow: var(--pro-shadow-sm);
  padding: 18px;
  margin-top: 12px;
}

.pro-detail-card__grid {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 18px;
  align-items: start;
}

.pro-detail-card__poster {
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid rgba(15, 23, 42, 0.08);
  background: #e2e8f0;
}

.pro-detail-card__poster img {
  width: 100%;
  display: block;
  object-fit: cover;
}

.pro-detail-card__title {
  font-size: 22px;
  font-weight: 900;
  color: #0f172a;
  line-height: 1.25;
}

.pro-detail-card__meta {
  margin-top: 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.pro-pill--mini {
  padding: 7px 10px;
  font-size: 12px;
  box-shadow: none;
  background: var(--pro-surface-2);
}

.pro-pill--danger {
  background: rgba(239, 68, 68, 0.1);
  border-color: rgba(239, 68, 68, 0.3);
  color: #b91c1c;
}

.pro-pill--mini img.icon {
  width: 16px;
  height: 16px;
  margin: 0;
}

.pro-detail-card__desc {
  margin-top: 12px;
  color: #334155;
  font-size: 14px;
  line-height: 1.75;
  padding: 12px 12px;
  border-radius: 16px;
  background: rgba(15, 23, 42, 0.03);
  border: 1px solid rgba(15, 23, 42, 0.06);
}

.pro-detail-card__link {
  margin-top: 12px;
  display: grid;
  grid-template-columns: 84px 1fr;
  gap: 10px;
  align-items: center;
  padding: 10px 12px;
  border-radius: 16px;
  border: 1px solid rgba(15, 23, 42, 0.06);
  background: rgba(255, 255, 255, 0.95);
}

.pro-detail-card__linkLabel {
  font-size: 12px;
  color: var(--pro-muted);
  font-weight: 800;
}

.pro-detail-card__linkValue {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--theme-theme);
  text-decoration: underline;
}

.pro-detail-card__actions {
  margin-top: 14px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.pro-disclaimer {
  margin-top: 14px;
  border-radius: 18px;
  border: 1px solid rgba(15, 23, 42, 0.06);
  background: linear-gradient(135deg, rgba(186, 230, 253, 0.35), rgba(236, 253, 245, 0.9));
  padding: 14px 14px 10px;
}

.pro-disclaimer__title {
  font-weight: 900;
  color: #0f172a;
  margin-bottom: 6px;
}

.pro-disclaimer__content p {
  margin: 0 0 6px;
  color: #475569;
  font-size: 12px;
  line-height: 1.7;
}

.pro-related {
  margin-top: 16px;
  border-radius: 22px;
  border: 1px solid var(--pro-border);
  background: var(--pro-module-bg);
  box-shadow: var(--pro-shadow-sm);
  padding: 16px;
}

.pro-related__head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  margin-bottom: 10px;
}

.pro-related__title {
  margin: 0;
  padding: 0;
  font-size: 16px;
  font-weight: 900;
}

.pro-related__sub {
  color: var(--pro-muted);
  font-size: 12px;
}

.pro-related__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.pro-related__item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 16px;
  border: 1px solid rgba(15, 23, 42, 0.06);
  background: rgba(255, 255, 255, 0.95);
  text-decoration: none;
}

.pro-related__rank {
  width: 26px;
  height: 26px;
  border-radius: 10px;
  background: var(--skin-soft-12);
  color: var(--theme-theme);
  font-weight: 900;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: none;
  font-size: 12px;
}

.pro-related__name {
  min-width: 0;
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 1100px) {
  .pro-detail-card__grid {
    grid-template-columns: 180px 1fr;
  }
}

@media (max-width: 768px) {
  .pro-detail-card__grid {
    grid-template-columns: 1fr;
  }
  .pro-related__list {
    grid-template-columns: 1fr;
  }
  .pro-sourcebar {
    flex-direction: column;
    align-items: stretch;
  }
  .pro-sourcebar__switch {
    width: 100%;
  }
  .pro-sourcebar__btn {
    flex: 1;
    justify-content: center;
  }
  .headerBox .box {
    width: calc(100vw - 24px);
    margin-top: 6px;
    padding: 0 10px;
    height: 64px;
    border-radius: 14px;
  }
  .headerBox .box .logoBox .logo {
    width: 38px;
    height: 38px;
    border-radius: 10px;
  }
  .headerBox .box .logoBox .logoMeta .title {
    font-size: 16px;
  }
  .headerBox .box .logoBox .logoMeta .desc {
    display: none;
  }
}

/* upgraded portal homepage */
.pro-portal {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(280px, .9fr);
  gap: 18px;
  margin-top: 5px;
  align-items: stretch;
}

.homeBox.pro-home .pro-portal__main {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
  align-self: stretch;
}

.pro-portal__side {
  display: flex;
  flex-direction: column;
  min-height: 0;
  height: 100%;
}

.pro-portal__hero,
.pro-overview,
.pro-trending--upgrade,
.pro-featured-gallery {
  border: 1px solid var(--pro-border);
  box-shadow: var(--pro-shadow-sm);
}

.pro-portal__hero {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  min-height: 0;
  border-radius: 28px;
  padding: 22px;
  background:
    radial-gradient(circle at top right, var(--skin-hero-glow), transparent 32%),
    linear-gradient(180deg, var(--skin-hero-from) 0%, var(--skin-hero-to) 100%);
  color: #e2e8f0;
}

.pro-portal__brand {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
}

.pro-portal__title {
  margin: 0;
  font-size: clamp(14px, 2vw, 21px);
  line-height: 1.2;
  letter-spacing: -0.02em;
  color: #f8fafc;
}

.pro-portal__title span {
  color: var(--skin-accent);
}

.pro-portal__desc {
  margin: 10px 0 16px;
  color: #cbd5e1;
  font-size: 14px;
  line-height: 1.7;
}

.pro-portal .pro-search-card {
  flex: 0 0 auto;
  margin-top: 0;
  border-radius: 22px;
  background: var(--pro-module-bg-glass);
  border: 1px solid rgba(148, 163, 184, 0.16);
  color: #e2e8f0;
}

.pro-search-card__toolbar {
  margin-bottom: 10px;
}

.pro-portal .pro-pan-strip {
  justify-content: flex-start;
  margin: 0;
}

.pro-portal .pro-pan-chip {
  color: #dbeafe;
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(148, 163, 184, 0.18);
}

.pro-portal .pro-pan-chip.is-active {
  color: #fff;
  background: var(--skin-chip-active-bg);
  border-color: var(--skin-chip-active-border);
}

.pro-portal .searchBox .search,
.pro-portal .pro-search {
  margin-top: 0;
}

/* 门户搜索：左输入 + 右「立即搜索」按钮（覆盖 searchBox .search 默认整胶囊样式） */
.homeBox.searchBox.pro-home .pro-search-card .search.pro-search.pro-search--hero {
  position: relative;
  height: auto;
  min-height: 52px;
  margin-top: 0;
  padding: 0;
  border-radius: 0;
  border: none;
  outline: none;
  background: transparent;
  box-shadow: none;
  display: flex;
  flex-direction: row;
  align-items: stretch;
  gap: 12px;
  width: 100%;
  max-width: none;
}

/* 覆盖 .searchBox .search / :focus-within 的外层描边与聚焦环，只保留内层输入框与按钮自身样式 */
.homeBox.searchBox.pro-home .pro-search-card .search.pro-search.pro-search--hero:hover {
  transform: none;
  box-shadow: none;
  border: none;
}

.homeBox.searchBox.pro-home .pro-search-card .search.pro-search.pro-search--hero:focus-within {
  box-shadow: none;
  border: none;
  outline: none;
}

.pro-portal .pro-search__field {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
  border-radius: 999px;
  border: 1px solid rgba(56, 189, 248, 0.35);
  background: rgba(15, 23, 42, 0.72);
  box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.35);
  padding: 0 18px;
  min-height: 50px;
}

.pro-portal .pro-search__field input {
  flex: 1;
  min-width: 0;
  height: auto;
  min-height: 0;
  border: none;
  border-radius: 0;
  padding: 12px 0;
  font-size: 15px;
  color: #f8fafc;
  background: transparent;
  box-sizing: border-box;
}

.pro-portal .pro-search__field input::placeholder {
  color: rgba(148, 163, 184, 0.9);
}

.pro-portal .pro-search__submit {
  flex: none;
  align-self: stretch;
  min-width: 118px;
  padding: 0 22px;
  border: none;
  border-radius: 16px;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 0.02em;
  color: #fff;
  cursor: pointer;
  font-family: inherit;
  line-height: 1.2;
  background: linear-gradient(135deg, var(--skin-primary) 0%, var(--skin-secondary) 55%, var(--skin-accent) 100%);
  box-shadow: 0 10px 26px rgba(15, 23, 42, 0.35);
  transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
}

.pro-portal .pro-search__submit:hover {
  transform: translateY(-1px);
  filter: brightness(1.05);
  box-shadow: 0 14px 30px rgba(15, 23, 42, 0.4);
}

.pro-portal .pro-search__submit:active {
  transform: translateY(0);
}

.pro-portal .pro-hot-tags {
  border-top-color: rgba(148, 163, 184, 0.16);
}

.pro-portal .pro-hot-tags__label {
  color: #94a3b8;
}

.pro-portal .pro-hot-tags__chip {
  color: #e2e8f0;
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(148, 163, 184, 0.2);
}

.pro-portal .pro-hot-tags__chip:hover {
  background: var(--skin-chip-active-bg);
  border-color: var(--skin-chip-active-border);
}

/* 热词固定两行（脚本按标题长短分配每行条数），单行内可横向轻滑 */
.homeBox.pro-home .pro-search-card .pro-hot-tags__list--rows {
  max-height: calc(2 * 40px + 8px);
}

.pro-overview {
  border-radius: 24px;
  background: var(--pro-module-bg);
  padding: 0;
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
  min-width: 0;
  box-sizing: border-box;
}

/* 热搜词云：贴齐侧栏卡片顶与左右，纵向随侧栏剩余空间伸展 */
.pro-overview__merged {
  position: relative;
  flex: 1 1 auto;
  min-height: 200px;
  box-sizing: border-box;
  border: none;
  background: transparent;
  box-shadow: none;
  border-radius: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  width: 100%;
}

.pro-overview-tagcloud__wrap {
  flex: 1 1 auto;
  width: 100%;
  min-height: 220px;
  display: flex;
  align-items: stretch;
  justify-content: stretch;
  padding: 0;
  box-sizing: border-box;
}

.pro-overview-tagcloud__mount {
  flex: 1 1 auto;
  width: 100%;
  min-height: 220px;
  min-width: 0;
  display: block;
  box-sizing: border-box;
}

.pro-overview-tagcloud__loading,
.pro-overview-tagcloud__empty {
  flex: 1 1 auto;
  width: 100%;
  min-height: 220px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 13px;
  color: var(--pro-muted);
  padding: 16px 12px;
  box-sizing: border-box;
}

.pro-overview__merged .hot-tagcloud {
  position: relative;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 220px;
  margin: 0 !important;
  transform: translateZ(0);
  will-change: transform;
  cursor: pointer;
  box-sizing: border-box;
}

.pro-overview__merged .hot-tagcloud-item {
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  font-family: inherit !important;
  cursor: pointer;
  transition: opacity 0.15s ease;
}

.pro-overview__merged .hot-tagcloud-item:hover {
  opacity: 0.92;
}

html[data-theme="dark"] .pro-overview__merged .hot-tagcloud-item {
  color: #ffffff !important;
}

@media (max-width: 768px) {
  .pro-overview-tagcloud__wrap {
    min-height: 200px;
  }

  .pro-overview__merged .hot-tagcloud {
    min-height: 200px;
  }

  .pro-overview-tagcloud__loading,
  .pro-overview-tagcloud__empty {
    min-height: 200px;
  }
}

.pro-overview__buttons {
  display: flex;
  gap: 10px;
  flex: 0 0 auto;
  margin-top: 14px;
  padding: 0 18px;
  box-sizing: border-box;
}

.pro-overview__btn {
  flex: 1;
  border: 1px solid var(--pro-border);
  background: #fff;
  color: var(--theme-color);
  border-radius: 999px;
  padding: 10px 14px;
  font-weight: 700;
  cursor: pointer;
}

/* 与「提交需求」一致：描边浅底，不用渐变主色 */
.pro-overview__btn--primary {
  border-color: var(--pro-border);
  background: #fff;
  color: var(--theme-color);
}

.pro-overview__tip {
  width: 100%;
  flex: 0 0 auto;
  margin-top: 12px;
  padding: 0 18px 18px;
  font-size: 12px;
  color: var(--pro-muted);
  line-height: 1.65;
  text-align: center;
  box-sizing: border-box;
}

.pro-trending--upgrade {
  margin-top: 18px;
}

.pro-rank-columns {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

/* 第三方热播：五频道并列 */
.pro-rank-columns.pro-rank-columns--channels {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  align-items: start;
}

.pro-rank-column__empty {
  padding: 18px 8px;
  text-align: center;
  font-size: 12px;
  color: var(--pro-muted);
  line-height: 1.5;
}

@media (max-width: 1280px) {
  .pro-rank-columns.pro-rank-columns--channels {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .pro-rank-columns.pro-rank-columns--channels {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.pro-rank-column {
  border-radius: 18px;
  border: 1px solid var(--pro-border);
  background: var(--pro-module-bg);
  padding: 12px;
}

/* 五频道热播：深色竖条卡片（对齐左图右文海报列表） */
.pro-rank-columns--channels .pro-rank-column {
  background: var(--pro-module-bg);
  border-color: rgba(148, 163, 184, 0.14);
  padding: 10px 12px 8px;
}

.pro-rank-column__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
}

.pro-rank-columns--channels .pro-rank-column__head {
  margin-bottom: 6px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.pro-rank-column__badge {
  display: inline-flex;
  align-items: center;
  padding: 5px 10px;
  border-radius: 999px;
  background: var(--skin-soft-10);
  color: #0284c7;
  font-size: 12px;
  font-weight: 700;
}

.pro-rank-columns--channels .pro-rank-column__badge {
  background: rgba(56, 189, 248, 0.12);
  color: #7dd3fc;
  border: 1px solid rgba(56, 189, 248, 0.22);
}

.pro-rank-column__date {
  color: var(--pro-muted);
  font-size: 12px;
}

.pro-rank-columns--channels .pro-rank-column__date {
  color: #94a3b8;
}

.pro-rank-columns--channels .pro-rank-column__empty {
  color: #94a3b8;
}

/* 左竖版封面 + 右标题/元信息，无序号、无热度 */
.pro-hot-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 12px;
  padding: 12px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  text-decoration: none;
  color: inherit;
  min-width: 0;
  text-align: left;
  word-break: normal;
  overflow-wrap: anywhere;
  transition: background 0.15s ease;
}

.pro-hot-row:first-of-type {
  border-top: 0;
  padding-top: 8px;
}

.pro-hot-row:hover {
  background: rgba(255, 255, 255, 0.04);
  border-radius: 10px;
  margin-left: -6px;
  margin-right: -6px;
  padding-left: 6px;
  padding-right: 6px;
}

.pro-hot-row__cover {
  flex: none;
  width: 52px;
  height: 74px;
  border-radius: 10px;
  overflow: hidden;
  background: rgba(51, 65, 85, 0.9);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #cbd5e1;
  font-weight: 700;
  font-size: 15px;
}

.pro-hot-row__cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.pro-hot-row__body {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 6px;
}

.pro-hot-row__title {
  font-weight: 700;
  font-size: 14px;
  line-height: 1.4;
  color: #f8fafc;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.pro-hot-row__meta {
  font-size: 12px;
  line-height: 1.45;
  color: #94a3b8;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.pro-featured-gallery {
  margin-top: 18px;
  border-radius: 22px;
  padding: 18px;
  background: var(--pro-module-bg);
  color: var(--theme-color);
}

.pro-featured-gallery__head {
  margin-bottom: 14px;
}

.pro-featured-gallery__lead {
  box-sizing: border-box;
  padding: 0 12px;
  text-align: center;
}

.pro-featured-gallery__title {
  margin: 0;
  color: var(--theme-color);
  font-size: 18px;
  font-weight: 800;
  letter-spacing: -0.02em;
  text-align: center;
}

.pro-featured-gallery__tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 14px;
}

.pro-featured-gallery__tab {
  appearance: none;
  border: 1px solid var(--pro-border);
  background: var(--pro-surface-2);
  color: var(--theme-color);
  border-radius: 999px;
  padding: 6px 14px;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  font-family: inherit;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.pro-featured-gallery__tab:hover {
  border-color: var(--skin-strong-border);
  color: var(--theme-theme);
}

.pro-featured-gallery__tab.is-active {
  border-color: var(--skin-strong-border);
  background: var(--skin-soft-12);
  color: var(--theme-theme);
}

.pro-featured-gallery__state {
  min-height: 120px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 13px;
  color: var(--pro-muted);
  padding: 20px 12px;
}

.pro-featured-gallery__state--err {
  color: #b91c1c;
}

.pro-gallery-grid {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 12px;
}

.pro-gallery-grid--boards {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.pro-gallery-card {
  display: block;
  min-width: 0;
  text-decoration: none;
}

.pro-gallery-card__poster {
  position: relative;
  aspect-ratio: 0.72;
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid rgba(15, 23, 42, 0.06);
  background: linear-gradient(135deg, #e2e8f0 0%, #f1f5f9 100%);
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.08);
}

.pro-gallery-card__poster img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.pro-gallery-card__poster span {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #64748b;
  font-size: 28px;
  font-weight: 800;
}

.pro-gallery-card__poster em {
  position: absolute;
  top: 10px;
  right: 10px;
  font-style: normal;
  padding: 4px 8px;
  border-radius: 999px;
  background: var(--skin-badge-solid);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
}

.pro-gallery-card__title {
  margin-top: 10px;
  color: var(--theme-color);
  font-weight: 700;
  line-height: 1.45;
  min-height: 2.9em;
}

.pro-gallery-card__meta {
  margin-top: 4px;
  color: var(--pro-muted);
  font-size: 12px;
}

/* ===== 首页：豆瓣榜单（与后台同源，宽屏每行 5 卡）===== */
.pro-featured-gallery--douban {
  margin-top: 18px;
}

.pro-douban-chip-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 8px;
  margin: 4px 0 20px;
}

.pro-douban-chip {
  appearance: none;
  border: 1px solid var(--pro-border);
  background: var(--pro-surface-2);
  color: var(--theme-color);
  border-radius: 999px;
  padding: 7px 14px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  font-family: inherit;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease, transform 0.12s ease;
}

.pro-douban-chip:hover {
  border-color: var(--skin-strong-border);
  color: var(--theme-theme);
}

.pro-douban-chip.is-active {
  color: #fff;
  border-color: transparent;
  background: linear-gradient(135deg, var(--skin-primary), var(--skin-secondary));
  box-shadow: 0 6px 18px rgba(37, 99, 235, 0.28);
}

.pro-douban-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
}

/* 左右侧栏：每行 3 个（双类名提高优先级，避免被本文件后段的 .pro-douban-grid 五列规则覆盖） */
.pro-douban-grid.pro-douban-grid--rail {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.pro-douban-card {
  border-radius: 16px;
  border: 1px solid var(--pro-border);
  background: var(--pro-module-bg);
  box-shadow: var(--pro-shadow-sm);
  padding: 10px 10px 12px;
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.pro-douban-poster,
button.pro-douban-poster.movie-poster {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  aspect-ratio: 2 / 3;
  background: linear-gradient(135deg, #e2e8f0 0%, #f1f5f9 100%);
  cursor: pointer;
  border: 1px solid rgba(15, 23, 42, 0.06);
  display: block;
  width: 100%;
  padding: 0;
  margin: 0;
  font: inherit;
  color: inherit;
  text-align: left;
  box-sizing: border-box;
}

.pro-douban-poster img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.pro-douban-poster__ph {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 26px;
  font-weight: 800;
  color: #64748b;
}

.pro-douban-rate {
  position: absolute;
  left: 8px;
  top: 8px;
  padding: 2px 8px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 700;
  color: #fbbf24;
  background: rgba(0, 0, 0, 0.72);
}

.pro-douban-rec {
  position: absolute;
  right: 8px;
  top: 8px;
  padding: 2px 8px;
  border-radius: 6px;
  font-size: 11px;
  font-weight: 700;
  color: #fff;
}

.pro-douban-rec--gem {
  background: #7c3aed;
}

.pro-douban-rec--rec {
  background: #22c55e;
}

.pro-douban-rec--ok {
  background: #f59e0b;
}

.pro-douban-rec--low {
  background: #ef4444;
}

.pro-douban-card__body {
  flex: 1 1 auto;
  min-height: 0;
  margin-top: 10px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.pro-douban-title,
a.pro-douban-title.movie-title-link {
  font-size: 14px;
  font-weight: 800;
  color: var(--theme-color);
  line-height: 1.35;
  cursor: pointer;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-decoration: none;
}

.pro-douban-title:hover,
a.pro-douban-title.movie-title-link:hover {
  color: var(--theme-theme);
}

/* 与 CloudSaver 豆瓣卡一致：单行省略 + title 悬停展示全文 */
.movie-subtitle {
  margin: 2px 0 0;
  padding: 0;
  font-size: 12px;
  line-height: 1.45;
  color: var(--pro-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.movie-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 6px;
  margin-top: 4px;
  font-size: 11px;
  line-height: 1.4;
  color: var(--pro-muted);
}

.movie-meta .meta-separator {
  opacity: 0.55;
  user-select: none;
}

.movie-meta .meta-item {
  min-width: 0;
}

.pro-douban-meta {
  font-size: 11px;
  line-height: 1.45;
  color: var(--pro-muted);
  max-height: 2.95em;
  overflow: hidden;
}

.pro-douban-meta--dim {
  font-size: 11px;
  opacity: 0.92;
}

@media (max-width: 1100px) {
  .pro-douban-grid:not(.pro-douban-grid--rail) {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .pro-douban-grid:not(.pro-douban-grid--rail) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .pro-douban-grid.pro-douban-grid--rail {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
  }

  .pro-douban-chip {
    font-size: 12px;
    padding: 6px 10px;
  }
}

html[data-theme="dark"] .pro-douban-card {
  background: var(--pro-module-bg);
  border-color: rgba(148, 163, 184, 0.14);
}

html[data-theme="dark"] .pro-douban-poster {
  background: linear-gradient(135deg, #1e293b, #334155);
  border-color: rgba(148, 163, 184, 0.12);
}

html[data-theme="dark"] .pro-douban-title,
html[data-theme="dark"] a.pro-douban-title.movie-title-link {
  color: #f8fafc;
}

html[data-theme="dark"] .pro-douban-title:hover,
html[data-theme="dark"] a.pro-douban-title.movie-title-link:hover {
  color: #7dd3fc;
}

html[data-theme="dark"] .movie-subtitle,
html[data-theme="dark"] .movie-meta {
  color: rgba(226, 232, 240, 0.72);
}

html[data-theme="dark"] .pro-featured-gallery--douban-rail {
  background: var(--pro-module-bg);
  border-color: rgba(148, 163, 184, 0.14);
}

.pro-sections {
  margin-top: 20px;
}

@media (max-width: 1100px) {
  .pro-portal {
    grid-template-columns: 1fr;
  }

  .pro-gallery-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .pro-gallery-grid--boards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  .pro-portal__hero,
  .pro-overview,
  .pro-featured-gallery {
    border-radius: 18px;
  }

  .pro-portal__brand {
    align-items: flex-start;
    flex-direction: column;
  }

  .homeBox.searchBox.pro-home .pro-search-card .search.pro-search.pro-search--hero {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }

  .pro-portal .pro-search__submit {
    min-height: 48px;
    width: 100%;
    min-width: 0;
  }

  .pro-overview__buttons {
    flex-direction: column;
  }

  .pro-rank-columns.pro-rank-columns--channels {
    grid-template-columns: 1fr;
  }

  .pro-gallery-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

}

/* ========== 提交资源弹窗 ========== */
.pro-submit-res-dialog .el-dialog__body {
  padding: 6px 22px 22px;
}

.pro-submit-res-layer {
  padding: 2px 0 4px;
}

.pro-submit-res-layer .pro-submit-res__title.vname,
.pro-submit-res-layer .vname.pro-submit-res__title {
  font-size: 18px;
  font-weight: 800;
  letter-spacing: 0.02em;
  margin: 0 0 4px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(15, 23, 42, 0.08);
  color: var(--theme-color);
}

.pro-submit-res-layer .pro-submit-res__field {
  margin-top: 14px;
  text-align: left;
}

.pro-submit-res-layer .vname + .pro-submit-res__field {
  margin-top: 18px;
}

.pro-submit-res-layer .pro-submit-res__label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: var(--theme-color);
  opacity: 0.88;
  margin-bottom: 7px;
}

.pro-submit-res-layer .pro-submit-res__input,
.pro-submit-res-layer .pro-submit-res__textarea,
.pro-submit-res-layer .pro-submit-res__select {
  width: 100%;
  box-sizing: border-box;
  border-radius: 10px;
  border: 1px solid rgba(15, 23, 42, 0.1);
  background-color: #f3f4f6;
  color: var(--theme-color);
  font-size: 14px;
  padding: 11px 14px;
  outline: none;
  box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.04);
  transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}

.pro-submit-res-layer .pro-submit-res__textarea {
  resize: vertical;
  min-height: 92px;
  line-height: 1.55;
  font-family: inherit;
}

.pro-submit-res-layer .pro-submit-res__select {
  cursor: pointer;
  appearance: auto;
}

.pro-submit-res-layer .pro-submit-res__input:hover,
.pro-submit-res-layer .pro-submit-res__textarea:hover,
.pro-submit-res-layer .pro-submit-res__select:hover {
  border-color: rgba(15, 23, 42, 0.16);
  background-color: #f9fafb;
}

.pro-submit-res-layer .pro-submit-res__input:focus,
.pro-submit-res-layer .pro-submit-res__textarea:focus,
.pro-submit-res-layer .pro-submit-res__select:focus {
  border-color: var(--theme-theme);
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.18);
  background-color: #fff;
}

.pro-submit-res-layer .pro-submit-res__footer {
  display: flex;
  gap: 12px;
  margin-top: 22px;
  padding-top: 4px;
}

.pro-submit-res-layer .pro-submit-res__btn {
  flex: 1;
  height: 42px;
  line-height: 42px;
  text-align: center;
  border-radius: 10px;
  cursor: pointer;
  font-size: 15px;
  font-weight: 700;
  border: none;
  font-family: inherit;
  padding: 0;
  transition: transform 0.12s ease, filter 0.15s ease, opacity 0.15s ease;
}

.pro-submit-res-layer .pro-submit-res__btn--cancel {
  background: #e8eaef;
  color: var(--theme-color);
  border: 1px solid rgba(15, 23, 42, 0.08);
}

.pro-submit-res-layer .pro-submit-res__btn--cancel:hover {
  background: #dfe3ea;
  filter: brightness(0.98);
}

.pro-submit-res-layer .pro-submit-res__btn--ok {
  background: linear-gradient(180deg, var(--theme-theme), var(--theme-theme));
  background-color: var(--theme-theme);
  color: #ffffff !important;
  box-shadow: 0 4px 14px rgba(37, 99, 235, 0.28);
}

.pro-submit-res-layer .pro-submit-res__btn--ok:hover:not(:disabled) {
  color: #ffffff !important;
  filter: brightness(1.06);
  transform: translateY(-1px);
}

.pro-submit-res-layer .pro-submit-res__btn--ok:active:not(:disabled) {
  transform: translateY(0);
}

.pro-submit-res-layer .pro-submit-res__btn--ok:disabled {
  opacity: 0.55;
  cursor: not-allowed;
  color: #ffffff !important;
  box-shadow: none;
}

html[data-theme="dark"] .pro-submit-res-layer .pro-submit-res__title.vname,
html[data-theme="dark"] .pro-submit-res-layer .vname.pro-submit-res__title {
  border-bottom-color: rgba(248, 250, 252, 0.1);
  color: rgba(248, 250, 252, 0.96);
}

html[data-theme="dark"] .pro-submit-res-layer .pro-submit-res__label {
  color: rgba(248, 250, 252, 0.88);
}

html[data-theme="dark"] .pro-submit-res-layer .pro-submit-res__input,
html[data-theme="dark"] .pro-submit-res-layer .pro-submit-res__textarea,
html[data-theme="dark"] .pro-submit-res-layer .pro-submit-res__select {
  background-color: rgba(30, 41, 59, 0.72);
  border-color: rgba(148, 163, 184, 0.22);
  color: rgba(248, 250, 252, 0.96);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);
}

html[data-theme="dark"] .pro-submit-res-layer .pro-submit-res__input:hover,
html[data-theme="dark"] .pro-submit-res-layer .pro-submit-res__textarea:hover,
html[data-theme="dark"] .pro-submit-res-layer .pro-submit-res__select:hover {
  border-color: rgba(148, 163, 184, 0.32);
  background-color: rgba(30, 41, 59, 0.88);
}

html[data-theme="dark"] .pro-submit-res-layer .pro-submit-res__input:focus,
html[data-theme="dark"] .pro-submit-res-layer .pro-submit-res__textarea:focus,
html[data-theme="dark"] .pro-submit-res-layer .pro-submit-res__select:focus {
  border-color: var(--theme-theme);
  box-shadow: 0 0 0 3px rgba(56, 189, 248, 0.2);
  background-color: rgba(15, 23, 42, 0.95);
}

html[data-theme="dark"] .pro-submit-res-layer .pro-submit-res__btn--cancel {
  background: rgba(51, 65, 85, 0.75);
  color: rgba(248, 250, 252, 0.92);
  border-color: rgba(148, 163, 184, 0.2);
}

html[data-theme="dark"] .pro-submit-res-layer .pro-submit-res__btn--cancel:hover {
  background: rgba(71, 85, 105, 0.85);
}

html[data-theme="dark"] .pro-submit-res-layer .pro-submit-res__btn--ok {
  box-shadow: 0 4px 16px rgba(14, 165, 233, 0.25);
}

/* ===== 搜索列表 · 单栏卡片（无侧栏）===== */
.pro-srp-toolbar {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px 16px;
  padding: 4px 0 16px;
  margin-bottom: 8px;
  border-bottom: 1px solid var(--pro-border);
  position: relative;
  z-index: 4;
  overflow: visible;
}

.pro-srp-toolbar__left {
  flex: 1;
  min-width: 0;
}

.pro-srp-toolbar__title {
  margin: 0;
  font-size: 22px;
  font-weight: 900;
  letter-spacing: 0.02em;
  color: var(--theme-color);
}

.pro-srp-toolbar__sub {
  margin: 0;
  font-size: 13px;
  color: var(--pro-muted);
  line-height: 1.4;
}

.pro-srp-toolbar__kw {
  color: var(--theme-theme);
  font-weight: 800;
}

.pro-srp-toolbar__num {
  color: var(--theme-theme);
  font-weight: 900;
}

.pro-srp-toolbar__right {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-shrink: 0;
  position: relative;
  z-index: 5;
  overflow: visible;
}

.pro-srp-select {
  min-width: 148px;
  width: auto;
}

/* Element Plus：网盘选择与「重置」同行、外观与 pro-srp-btn 一致 */
#app .pro-srp-toolbar .pro-srp-select.el-select {
  vertical-align: middle;
}

#app .pro-srp-toolbar .pro-srp-select .el-input__wrapper {
  min-height: 38px;
  padding: 2px 12px;
  border-radius: 10px;
  border: 1px solid var(--pro-border);
  background: var(--pro-module-bg);
  box-shadow: none !important;
}

#app .pro-srp-toolbar .pro-srp-select .el-input__wrapper:hover {
  border-color: var(--skin-strong-border);
}

#app .pro-srp-toolbar .pro-srp-select .el-input__wrapper.is-focus {
  border-color: var(--theme-theme);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--theme-theme) 35%, transparent) !important;
}

#app .pro-srp-toolbar .pro-srp-select .el-input__inner {
  font-size: 13px;
  font-weight: 600;
  color: var(--theme-color);
}

#app .pro-srp-toolbar .pro-srp-select .el-select__caret {
  color: var(--pro-muted);
}

/* 搜索页网盘下拉：外框仅作定位，避免与内层面板叠双层描边；文字色显式给出（teleport 到 body 时也可见） */
.pro-srp-select-popper.el-popper {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.pro-srp-select-popper .el-select-dropdown {
  border-radius: 12px;
  border: 1px solid var(--pro-border);
  background: var(--pro-module-bg);
  box-shadow: var(--pro-shadow-sm);
  padding: 6px 0;
}

.pro-srp-select-popper .el-select-dropdown__list {
  padding: 4px 8px;
}

.pro-srp-select-popper .el-select-dropdown__item {
  border-radius: 8px;
  margin: 2px 0;
  padding: 10px 12px;
  font-size: 13px;
  font-weight: 600;
  color: #1e293b;
}

.pro-srp-select-popper .el-select-dropdown__item.is-selected {
  color: #0284c7;
  font-weight: 800;
}

.pro-srp-select-popper .el-select-dropdown__item.is-hovering,
.pro-srp-select-popper .el-select-dropdown__item:hover {
  background: #f1f5f9 !important;
}

html[data-theme="dark"] .pro-srp-select-popper .el-select-dropdown {
  border-color: rgba(148, 163, 184, 0.28);
  background: #1e293b;
}

html[data-theme="dark"] .pro-srp-select-popper .el-select-dropdown__item {
  color: #e2e8f0;
}

html[data-theme="dark"] .pro-srp-select-popper .el-select-dropdown__item.is-selected {
  color: #38bdf8;
}

html[data-theme="dark"] .pro-srp-select-popper .el-select-dropdown__item.is-hovering,
html[data-theme="dark"] .pro-srp-select-popper .el-select-dropdown__item:hover {
  background: rgba(51, 65, 85, 0.85) !important;
}

.pro-srp-native {
  min-width: 120px;
  max-width: 200px;
  height: 38px;
  padding: 0 12px;
  border-radius: 10px;
  border: 1px solid var(--pro-border);
  background: var(--pro-module-bg);
  color: var(--theme-color);
  font-size: 13px;
  font-weight: 600;
  box-sizing: border-box;
}

.pro-srp-btn {
  border: 1px solid var(--pro-border);
  background: var(--pro-module-bg);
  color: var(--theme-color);
  border-radius: 10px;
  padding: 8px 14px;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  transition: transform 0.12s ease, border-color 0.15s ease;
}

.pro-srp-btn:hover {
  border-color: var(--skin-strong-border);
  transform: translateY(-1px);
}

.pro-srp-btn--ghost {
  background: transparent;
}

.pro-srp-toolbar .pro-srp-btn {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}

.pro-srp-alert {
  margin-bottom: 12px;
}

.pro-srp-stack {
  padding-bottom: 24px;
}

.pro-srp-hits {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.pro-srp-page {
  margin-top: 18px;
}

.pro-srp-loading {
  padding: 12px 0;
}

.pro-search-hit {
  display: grid;
  grid-template-columns: 108px minmax(0, 1fr) auto;
  gap: 14px 16px;
  align-items: stretch;
  padding: 14px 16px;
  border-radius: var(--pro-radius-lg);
  border: 1px solid var(--pro-border);
  background: var(--pro-module-bg);
  box-shadow: var(--pro-shadow-sm);
}

.pro-search-hit__media {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.pro-search-hit__thumb {
  position: relative;
  width: 108px;
  height: 148px;
  border-radius: 12px;
  overflow: hidden;
  background: var(--pro-surface-2);
  border: 1px solid var(--pro-border);
}

.pro-search-hit__thumb-ph {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 8px;
  font-size: 12px;
  color: var(--pro-muted);
  line-height: 1.35;
}

.pro-search-hit__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 1;
}

.pro-search-hit__thumb img:not(.pro-search-hit__img) {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 1;
}

.pro-search-hit__badge {
  display: inline-block;
  align-self: flex-start;
  max-width: 108px;
  padding: 4px 8px;
  border-radius: 8px;
  font-size: 11px;
  font-weight: 800;
  color: var(--theme-theme);
  background: var(--skin-soft-12);
  border: 1px solid var(--skin-strong-border);
  text-align: center;
  line-height: 1.25;
}

.pro-search-hit__main {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.pro-search-hit__title {
  font-size: 17px;
  font-weight: 900;
  line-height: 1.35;
  color: var(--theme-color);
  word-break: break-word;
}

.pro-search-hit__desc {
  margin: 0;
  font-size: 13px;
  line-height: 1.55;
  color: var(--pro-muted);
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.pro-search-hit__foot {
  margin-top: auto;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  font-size: 12px;
}

.pro-search-hit__src {
  color: #14b8a6;
  font-weight: 600;
}

html[data-theme="dark"] .pro-search-hit__src {
  color: #2dd4bf;
}

.pro-search-hit__chk {
  color: var(--theme-theme);
  font-weight: 600;
}

.pro-search-hit__side {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 10px;
  min-width: 108px;
}

.pro-hit-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 10px;
  border-radius: 10px;
  font-size: 12px;
  font-weight: 800;
  border: 1px solid var(--theme-theme);
  color: var(--theme-theme);
  background: transparent;
  text-align: center;
}

.pro-hit-pill--bad {
  border-color: rgba(248, 113, 113, 0.65);
  color: #f87171;
  background: rgba(248, 113, 113, 0.08);
}

html[data-theme="dark"] .pro-hit-pill--bad {
  border-color: rgba(252, 165, 165, 0.45);
  color: #fca5a5;
  background: rgba(248, 113, 113, 0.12);
}

.pro-hit-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 8px 12px;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
  text-decoration: none;
  border: 1px solid var(--pro-border);
  background: var(--pro-surface-2);
  color: var(--theme-color);
  transition: transform 0.12s ease, filter 0.15s ease;
}

.pro-hit-btn:hover {
  transform: translateY(-1px);
}

.pro-hit-btn--ghost {
  background: transparent;
}

.pro-hit-btn--primary {
  border-color: transparent;
  background: linear-gradient(180deg, var(--theme-theme), var(--theme-theme));
  color: #fff !important;
  box-shadow: 0 6px 18px rgba(37, 99, 235, 0.28);
}

html[data-theme="dark"] .pro-hit-btn--primary {
  box-shadow: 0 6px 20px rgba(14, 165, 233, 0.22);
}

.pro-hit-btn--primary:disabled,
.pro-hit-btn--primary[disabled] {
  opacity: 0.45;
  cursor: not-allowed;
  transform: none;
  filter: none;
  box-shadow: none;
}

.pro-hot-drawer__block {
  margin-bottom: 20px;
}

.pro-hot-drawer__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
}

.pro-hot-drawer__name {
  font-weight: 900;
  font-size: 15px;
}

.pro-hot-drawer__more {
  font-size: 12px;
  color: var(--theme-theme);
}

.pro-hot-drawer__item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 0;
  border-bottom: 1px dashed var(--pro-border);
  text-decoration: none;
  color: inherit;
  font-size: 13px;
}

.pro-hot-drawer__rank {
  flex: none;
  width: 22px;
  font-weight: 900;
  color: var(--theme-theme);
}

.pro-hot-drawer__title {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 720px) {
  .pro-search-hit {
    grid-template-columns: 1fr;
  }

  .pro-search-hit__media {
    flex-direction: row;
    align-items: flex-start;
  }

  .pro-search-hit__side {
    flex-direction: row;
    flex-wrap: wrap;
    min-width: 0;
  }
}

/* 获取资源弹窗：正文统一纯白字 + 深色底（覆盖 app.css 中黑/灰字） */
.dialogUrlBox.pro-dialog-url.el-dialog {
  --el-dialog-bg-color: #141414;
  background: #141414 !important;
}
.dialogUrlBox.pro-dialog-url .el-dialog__body {
  background: #141414 !important;
  color: #ffffff !important;
}
.dialogUrlBox.pro-dialog-url .dialogUrl {
  color: #ffffff !important;
}
.dialogUrlBox.pro-dialog-url .dialogUrl .title,
.dialogUrlBox.pro-dialog-url .dialogUrl .tips,
.dialogUrlBox.pro-dialog-url .dialogUrl .nav .item,
.dialogUrlBox.pro-dialog-url .dialogUrl .nav .item .t,
.dialogUrlBox.pro-dialog-url .dialogUrl .statement,
.dialogUrlBox.pro-dialog-url .dialogUrl .statement .content,
.dialogUrlBox.pro-dialog-url .dialogUrl .statement .content p,
.dialogUrlBox.pro-dialog-url .dialogUrl .pro-dialog-url__msg {
  color: #ffffff !important;
}
.dialogUrlBox.pro-dialog-url .dialogUrl .title span {
  color: #ffffff !important;
}
.dialogUrlBox.pro-dialog-url .dialogUrl .qrcode {
  border-color: rgba(255, 255, 255, 0.22) !important;
}
.dialogUrlBox.pro-dialog-url .dialogUrl .statement {
  border-top-color: rgba(255, 255, 255, 0.22) !important;
}

/* 获取资源：加载中 */
.dialogUrlBox.pro-dialog-url .pro-dialog-url__loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  min-height: 160px;
  padding: 24px 16px 8px;
  box-sizing: border-box;
}
.dialogUrlBox.pro-dialog-url .pro-dialog-url__spinner {
  width: 40px;
  height: 40px;
  border: 3px solid rgba(255, 255, 255, 0.2);
  border-top-color: #ffffff;
  border-radius: 50%;
  animation: pro-dialog-url-spin 0.75s linear infinite;
}
.dialogUrlBox.pro-dialog-url .pro-dialog-url__loading-text {
  margin: 0;
  font-size: 15px;
  line-height: 1.4;
  color: #ffffff !important;
  letter-spacing: 0.02em;
}
@keyframes pro-dialog-url-spin {
  to {
    transform: rotate(360deg);
  }
}
