/**
 * QieYun Unified Dark Theme v3.64.38
 * 后台全页面统一深黑底 + 玻璃态卡片（最后加载，覆盖各页差异）
 */

/* ── 语义化令牌 ── */
html:not([data-theme="light"]),
[data-theme="slate"],
[data-theme="purple"],
[data-theme="cyan"] {
  --qy-uni-bg: #0a0a0a;
  --qy-uni-bg-alt: #111111;
  --qy-uni-surface: linear-gradient(168deg, rgba(20, 20, 20, 0.94) 0%, rgba(10, 10, 10, 0.98) 100%);
  --qy-uni-surface-solid: rgba(14, 14, 14, 0.92);
  --qy-uni-border: rgba(255, 255, 255, 0.06);
  --qy-uni-border-hi: rgba(255, 255, 255, 0.1);
  --qy-uni-inset-top: inset 0 1px 0 rgba(255, 255, 255, 0.05);
  --qy-uni-inset-bottom: inset 0 -1px 0 rgba(0, 0, 0, 0.48);
  --qy-uni-shadow: 0 16px 48px rgba(0, 0, 0, 0.58);
  --qy-uni-radius: 16px;
  --qy-uni-blur: blur(14px) saturate(1.08);
  --qy-uni-glow-a: rgba(38, 166, 154, 0.06);
  --qy-uni-glow-b: rgba(99, 102, 241, 0.05);
  --qy-uni-glow-c: rgba(16, 185, 129, 0.04);
}

/* ── 根层 / 布局背景 ── */
html:not([data-theme="light"]),
html:not([data-theme="light"]) body {
  background: var(--qy-uni-bg) !important;
  background-color: var(--qy-uni-bg) !important;
}

html:not([data-theme="light"]) .qy-dashboard-layout.fw-layout {
  background: var(--qy-uni-bg) !important;
  min-height: 100vh;
}

html:not([data-theme="light"]) .qy-dashboard-layout.fw-layout::before {
  display: block !important;
  content: '' !important;
  background:
    radial-gradient(ellipse 55% 42% at 12% 8%, var(--qy-uni-glow-a), transparent 58%),
    radial-gradient(ellipse 48% 38% at 88% 18%, var(--qy-uni-glow-b), transparent 55%),
    radial-gradient(ellipse 42% 32% at 50% 100%, var(--qy-uni-glow-c), transparent 50%) !important;
  opacity: 1 !important;
}

html:not([data-theme="light"]) .qy-dashboard-layout.fw-layout .qy-main {
  background: transparent !important;
}

html:not([data-theme="light"]) .qy-pg-navbar {
  background: rgba(10, 10, 10, 0.88) !important;
  border-bottom-color: var(--qy-uni-border) !important;
  backdrop-filter: blur(16px) saturate(1.15);
  -webkit-backdrop-filter: blur(16px) saturate(1.15);
}

/* ── 统一玻璃卡片 mixin ── */
html:not([data-theme="light"]) .qy-dx-card,
html:not([data-theme="light"]) .qy-ref-card.qy-dx-card,
html:not([data-theme="light"]) .qy-ref-card.qy-pg-card.qy-dx-card,
html:not([data-theme="light"]) .fw-layout .qy-card,
html:not([data-theme="light"]) .fw-layout .article-card,
html:not([data-theme="light"]) .fw-layout .article-detail,
html:not([data-theme="light"]) .fw-layout .fw-glass:not(.qy-dx-hero):not(.qy-ref-banner):not(.qy-m-hero),
html:not([data-theme="light"]) .qy-knowledge-page .knowledge-hero,
html:not([data-theme="light"]) .qy-ticket-page .qy-card,
html:not([data-theme="light"]) .fw-profile-card-v3,
html:not([data-theme="light"]) .fw-server-page-v3 .fw-server-hero-v2,
html:not([data-theme="light"]) .fw-server-page-v3 .fw-server-search-v2,
html:not([data-theme="light"]) .fw-server-page-v3 .fw-server-notices-v2,
html:not([data-theme="light"]) .fw-server-page-v3 .fw-server-loading,
html:not([data-theme="light"]) .fw-server-page-v3 .fw-server-card-v2,
html:not([data-theme="light"]) .fw-order-list-page-v3 .fw-order-hero-v3,
html:not([data-theme="light"]) .fw-order-list-page-v3 .fw-order-search-v3,
html:not([data-theme="light"]) .fw-order-list-page-v3 .fw-order-filters-v3,
html:not([data-theme="light"]) .fw-order-list-page-v3 .fw-order-card-v3,
html:not([data-theme="light"]) .fw-order-list-page-v3 .fw-order-loading-v3,
html:not([data-theme="light"]) .fw-order-list-page-v3 .fw-order-empty-v3,
html:not([data-theme="light"]) .fw-invite-page-v3 .fw-invite-commission-v3,
html:not([data-theme="light"]) .fw-invite-page-v3 .fw-invite-codes-v3,
html:not([data-theme="light"]) .fw-invite-page-v3 .fw-invite-records-v3,
html:not([data-theme="light"]) .fw-layout .qy-table-wrap,
html:not([data-theme="light"]) .qy-page-load,
html:not([data-theme="light"]) .qp-state {
  background: var(--qy-uni-surface) !important;
  border: 1px solid var(--qy-uni-border) !important;
  border-radius: var(--qy-uni-radius) !important;
  box-shadow: var(--qy-uni-inset-top), var(--qy-uni-inset-bottom), var(--qy-uni-shadow) !important;
  backdrop-filter: var(--qy-uni-blur) !important;
  -webkit-backdrop-filter: var(--qy-uni-blur) !important;
}

/* 禁用深色模式下动画光环，避免各页风格不一 */
html:not([data-theme="light"]) .fw-layout .qy-glass-panel::before,
html:not([data-theme="light"]) .fw-layout .qy-glass-panel::after,
html:not([data-theme="light"]) .qy-dx-card::before,
html:not([data-theme="light"]) .qy-dx-card::after {
  display: none !important;
  content: none !important;
}

html:not([data-theme="light"]) .qy-dx-card:hover,
html:not([data-theme="light"]) .fw-layout .article-card:hover,
html:not([data-theme="light"]) .fw-server-page-v3 .fw-server-card-v2:hover,
html:not([data-theme="light"]) .fw-order-list-page-v3 .fw-order-card-v3:hover,
html:not([data-theme="light"]) .fw-invite-page-v3 .fw-invite-commission-v3:hover,
html:not([data-theme="light"]) .fw-invite-page-v3 .fw-invite-codes-v3:hover,
html:not([data-theme="light"]) .fw-invite-page-v3 .fw-invite-records-v3:hover,
html:not([data-theme="light"]) .fw-profile-card-v3:hover {
  border-color: var(--qy-uni-border-hi) !important;
  box-shadow:
    var(--qy-uni-inset-top),
    var(--qy-uni-inset-bottom),
    0 20px 56px rgba(0, 0, 0, 0.68) !important;
}

/* ── 各页面 ambient 光晕统一 ── */
html:not([data-theme="light"]) .fw-server-page-v3::before,
html:not([data-theme="light"]) .fw-order-list-page-v3::before,
html:not([data-theme="light"]) .fw-profile-page-v3::before {
  background:
    radial-gradient(ellipse 55% 42% at 12% 8%, var(--qy-uni-glow-a), transparent 58%),
    radial-gradient(ellipse 48% 38% at 88% 18%, var(--qy-uni-glow-b), transparent 55%),
    radial-gradient(ellipse 42% 32% at 50% 100%, var(--qy-uni-glow-c), transparent 50%) !important;
}

html:not([data-theme="light"]) .fw-invite-page-v3::before {
  background:
    linear-gradient(165deg, #0a0a0a 0%, #0c0c0c 40%, #0a0a0a 100%),
    radial-gradient(ellipse 55% 42% at 15% 0%, rgba(88, 28, 135, 0.06), transparent 58%),
    radial-gradient(ellipse 48% 38% at 85% 100%, rgba(30, 58, 138, 0.05), transparent 52%) !important;
}

/* ── 套餐页对齐（qp-plan 独立令牌 → 统一底） ── */
html:not([data-theme="light"]) .qp-page {
  --qp-bg: var(--qy-uni-bg);
  --qp-panel: #0e0e0e;
  --qp-panel-2: var(--qy-uni-bg-alt);
  background: var(--qy-uni-bg) !important;
}

html:not([data-theme="light"]) .qy-dashboard-layout.fw-layout:has(.qp-page) {
  background: var(--qy-uni-bg) !important;
}

html:not([data-theme="light"]) .qy-dashboard-layout.fw-layout:has(.qp-page)::before {
  background:
    radial-gradient(ellipse 55% 42% at 12% 8%, var(--qy-uni-glow-a), transparent 58%),
    radial-gradient(ellipse 48% 38% at 88% 18%, var(--qy-uni-glow-b), transparent 55%) !important;
}

/* ── 仪表盘文字在深色底上可读 ── */
html:not([data-theme="light"]) .qy-ref-dash,
html:not([data-theme="light"]) .qy-dx-dash {
  color: #f1f5f9;
}

html:not([data-theme="light"]) .qy-dx-card-head h2,
html:not([data-theme="light"]) .qy-ref-card-head h2 {
  color: #f1f5f9 !important;
}

html:not([data-theme="light"]) .qy-dx-card-head p,
html:not([data-theme="light"]) .qy-ref-card-head p {
  color: #94a3b8 !important;
}

/* Hero 保留品牌渐变，不强制改黑 */
html:not([data-theme="light"]) .qy-dx-hero,
html:not([data-theme="light"]) .qy-ref-banner.qy-dx-hero,
html:not([data-theme="light"]) .qy-m-hero {
  background: linear-gradient(125deg, #047857 0%, #059669 28%, #10b981 55%, #059669 78%, #065f46 100%) !important;
}

/* ── 移动端底栏安全区（最后覆盖，避免各页 padding 冲突） ── */
@media (max-width: 768px) {
  .has-bottom-nav.qy-dashboard-layout .qy-main.qy-main-with-bottom-nav,
  .has-bottom-nav.qy-dashboard-layout.fw-layout .qy-main.qy-main-with-bottom-nav {
    padding-bottom: calc(var(--qy-mobile-bottom-nav-h, 88px) + env(safe-area-inset-bottom, 0px)) !important;
    scroll-padding-bottom: calc(var(--qy-mobile-bottom-nav-h, 88px) + env(safe-area-inset-bottom, 0px)) !important;
  }
}

/* ── 订阅链接：强制 3 列网格（覆盖 legacy flex pill 布局） ── */
.qy-dx-subscribe .qy-dx-sub-grid,
.qy-dx-subscribe .qy-sub-pills.qy-sub-grid-ref,
.qy-dx-subscribe .qy-ref-sub-grid.qy-sub-grid-ref,
.qy-dx-subscribe .qy-sub-grid-ref.qy-ref-sub-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  flex-wrap: unset !important;
  gap: 12px !important;
  width: 100% !important;
  align-content: start !important;
}

.qy-dx-subscribe .qy-dx-sub-pill,
.qy-dx-subscribe .qy-sub-pill,
.qy-dx-subscribe .qy-ref-sub-btn,
.qy-dx-subscribe .qy-sub-grid-ref .qy-ref-sub-btn {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

@media (max-width: 359px) {
  .qy-dx-subscribe .qy-dx-sub-grid,
  .qy-dx-subscribe .qy-sub-pills.qy-sub-grid-ref,
  .qy-dx-subscribe .qy-ref-sub-grid.qy-sub-grid-ref {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
}
