/* ============================================================
   theme-dj.css — 模板 B「DJ WEAPON · 电音现场」
   暗场 / 霓虹青紫 / 黑体粗字 / 波形与扫描线
   ============================================================ */

html[data-theme="dj"] {
  --bg:          #07060D;
  --surface:     #110C1D;
  --surface-2:   #0B0812;
  --text:        #F1EEFF;
  --text-dim:    #9C95B8;
  --accent:      #00E5FF;
  --accent-2:    #FF2D95;
  --on-accent:   #06131A;
  --accent-grad: linear-gradient(120deg, #00E5FF 0%, #7C5CFF 48%, #FF2D95 100%);
  --accent-soft: rgba(0, 229, 255, .16);
  --border:      rgba(255, 255, 255, .10);
  --border-soft: rgba(255, 255, 255, .055);
  --chip-bg:     rgba(255, 255, 255, .045);
  --cover-bg:    linear-gradient(155deg, #1A1130 0%, #0A0716 100%);
  --tag-bg:      rgba(9, 6, 18, .82);
  --nav-bg:      rgba(7, 6, 13, .78);
  --nav-bg-solid:#0B0812;
  --grid-line:   rgba(0, 229, 255, .06);
  --glow-a:      rgba(0, 229, 255, .22);
  --glow-b:      rgba(255, 45, 149, .17);
  --paper-tex:   none;
  --seal-ink:    transparent;

  --font-display: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
  --font-body:    "Noto Sans SC", "PingFang SC", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
  --font-mono:    ui-monospace, "SFMono-Regular", "Cascadia Mono", Consolas, "Liberation Mono", monospace;

  --brand-wy:     #FF4D4D;
  --brand-qs:     linear-gradient(120deg, #25F4EE 0%, #8B5CF6 55%, #FE2C55 100%);
  --brand-qs-mid: #25F4EE;

  --radius:      14px;
  --mark-shadow: 0 0 22px rgba(0, 229, 255, .5);
  --btn-shadow:  0 6px 26px rgba(124, 92, 255, .4);
  --card-shadow: none;
  --card-shadow-hi: 0 16px 44px rgba(0, 229, 255, .16);
}

/* 装饰层开关 */
html[data-theme="dj"] .fx-paper { opacity: 0; }
html[data-theme="dj"] .fx-seal  { opacity: 0; }
html[data-theme="dj"] .fx-grid  { opacity: 1; }
html[data-theme="dj"] .fx-scan  { opacity: 1; }
html[data-theme="dj"] .fx-glow  { opacity: 1; }

/* 全局圆角 */
html[data-theme="dj"] .portrait-frame,
html[data-theme="dj"] .album,
html[data-theme="dj"] .stat,
html[data-theme="dj"] .ct-card,
html[data-theme="dj"] .profile-card,
html[data-theme="dj"] .gal-item,
html[data-theme="dj"] .single,
html[data-theme="dj"] .sw-card,
html[data-theme="dj"] .brand-mark { border-radius: var(--radius); }

html[data-theme="dj"] .eyebrow,
html[data-theme="dj"] .plat,
html[data-theme="dj"] .hero-chips li,
html[data-theme="dj"] .genres span,
html[data-theme="dj"] .pc-badge { border-radius: 999px; }

/* 首屏主标题：霓虹辉光 */
html[data-theme="dj"] .hero-name .ln1 {
  letter-spacing: .01em;
  text-shadow: 0 0 34px rgba(0, 229, 255, .28), 0 0 90px rgba(124, 92, 255, .18);
}
html[data-theme="dj"] .hero-copy { position: relative; }
html[data-theme="dj"] .hero-role { letter-spacing: .12em; text-transform: uppercase; font-size: .88rem; }

/* 形象照：舞台聚光 + 霓虹描边 */
html[data-theme="dj"] .portrait-img { filter: contrast(1.05) saturate(1.07); }
html[data-theme="dj"] .portrait-frame {
  box-shadow:
    0 0 0 1px rgba(0, 229, 255, .28),
    0 24px 80px rgba(124, 92, 255, .38),
    0 8px 30px rgba(0, 229, 255, .16);
}
html[data-theme="dj"] .portrait-frame::after {
  content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background:
    linear-gradient(to top, rgba(7, 6, 13, .85), rgba(7, 6, 13, 0) 40%),
    linear-gradient(115deg, rgba(0, 229, 255, .13), transparent 36%, rgba(255, 45, 149, .15));
}
html[data-theme="dj"] .portrait-frame::before {
  content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none;
  background: repeating-linear-gradient(to bottom, rgba(255,255,255,.04) 0 1px, transparent 1px 4px);
}
html[data-theme="dj"] .portrait-tag {
  z-index: 3; background: rgba(9, 6, 18, .55);
  backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
}
html[data-theme="dj"] .portrait-ring {
  border-color: transparent;
  background:
    linear-gradient(var(--bg), var(--bg)) padding-box,
    linear-gradient(120deg, #00E5FF, #7C5CFF, #FF2D95) border-box;
  border: 1px solid transparent;
  opacity: .55;
  animation: spin 26s linear infinite;
}
/* 「武器」描边大字与波形从照片边缘露出 */
html[data-theme="dj"] .portrait-art .kanji {
  top: auto; left: auto; right: -7%; bottom: -2%;
  font-size: clamp(5rem, 11vw, 7.4rem);
  opacity: 1; color: transparent;
  -webkit-text-stroke: 1.5px rgba(0, 229, 255, .38);
  text-shadow: 0 0 46px rgba(0, 229, 255, .22);
}
html[data-theme="dj"] .portrait-art .eq {
  position: absolute; left: 50%; bottom: -20px; transform: translateX(-50%);
  width: 72%; height: 38px; justify-content: space-between; gap: 0;
}
html[data-theme="dj"] .portrait-art .eq i { width: 6px; opacity: .9; }

/* 卡片：霓虹描边 hover */
html[data-theme="dj"] .album:hover,
html[data-theme="dj"] .stat:hover,
html[data-theme="dj"] .ct-card:hover,
html[data-theme="dj"] .gal-item:hover {
  box-shadow: var(--card-shadow-hi), 0 0 0 1px rgba(0, 229, 255, .35);
}
html[data-theme="dj"] .album, html[data-theme="dj"] .stat,
html[data-theme="dj"] .ct-card, html[data-theme="dj"] .gal-item {
  background: linear-gradient(160deg, rgba(255,255,255,.035), rgba(255,255,255,0));
}
html[data-theme="dj"] .profile-card { background: linear-gradient(160deg, rgba(255,255,255,.05), rgba(255,255,255,0)); }

/* 扫过的高光 */
html[data-theme="dj"] .album { position: relative; }
html[data-theme="dj"] .album::before {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(115deg, transparent 40%, rgba(0,229,255,.09) 50%, transparent 60%);
  transform: translateX(-120%); transition: transform .8s ease; pointer-events: none;
}
html[data-theme="dj"] .album:hover::before { transform: translateX(120%); }

/* 单曲条目：左霓虹条 */
html[data-theme="dj"] .single { border-left: 2px solid transparent; }
html[data-theme="dj"] .single:hover { border-left-color: var(--accent); box-shadow: inset 0 0 30px rgba(0,229,255,.07); }

/* 时间线：发光节点 */
html[data-theme="dj"] .tl li::before {
  background: var(--accent); border-color: transparent;
  box-shadow: 0 0 0 5px rgba(0, 229, 255, .13), 0 0 18px rgba(0, 229, 255, .65);
}
html[data-theme="dj"] .tl::before {
  background: linear-gradient(#00E5FF, #7C5CFF, #FF2D95, transparent);
  opacity: .55;
}
html[data-theme="dj"] .tl-year { font-family: var(--font-mono); font-size: 12.5px; }

/* 序号用等宽 */
html[data-theme="dj"] .sec-no { font-family: var(--font-mono); font-weight: 700; }
html[data-theme="dj"] .single-no { font-family: var(--font-mono); }

/* 数据卡数字：强辉光 */
html[data-theme="dj"] .stat-num { filter: drop-shadow(0 0 18px rgba(0, 229, 255, .35)); }

/* 主按钮呼吸光 */
html[data-theme="dj"] .btn-primary { animation: djBreath 3.4s ease-in-out infinite; }
@keyframes djBreath {
  0%, 100% { box-shadow: 0 6px 24px rgba(124, 92, 255, .35); }
  50%      { box-shadow: 0 6px 34px rgba(0, 229, 255, .55); }
}
html[data-theme="dj"] .btn:hover { box-shadow: 0 10px 34px rgba(0, 229, 255, .5); }

/* 分区标题发光 */
html[data-theme="dj"] .sec-head h2 { text-shadow: 0 0 30px rgba(124, 92, 255, .22); }

/* 图集：波形占位 */
html[data-theme="dj"] .gal-item::before {
  content: ""; position: absolute; inset: 0;
  background: radial-gradient(circle at 50% 40%, rgba(124,92,255,.22), transparent 65%);
}
html[data-theme="dj"] .gal-ico { color: var(--accent); opacity: .35; text-shadow: 0 0 24px rgba(0,229,255,.6); }

/* 平台作品库：霓虹卡面 */
html[data-theme="dj"] .wy-card,
html[data-theme="dj"] .wy-song,
html[data-theme="dj"] .qs-item {
  background: linear-gradient(160deg, rgba(255,255,255,.035), rgba(255,255,255,0));
}
html[data-theme="dj"] .wy-card:hover { box-shadow: 0 0 0 1px rgba(255, 77, 77, .4), 0 8px 24px rgba(255, 77, 77, .14); }
html[data-theme="dj"] .qs-item:hover { box-shadow: 0 0 0 1px rgba(37, 244, 238, .35), 0 8px 24px rgba(139, 92, 246, .18); }
html[data-theme="dj"] .wy-song:hover { border-color: var(--brand-wy); box-shadow: inset 0 0 24px rgba(255, 77, 77, .08); }
html[data-theme="dj"] .ptab.is-on { box-shadow: 0 0 0 1px rgba(0, 229, 255, .3), 0 6px 22px rgba(124, 92, 255, .28); }
html[data-theme="dj"] .ptab-ico { box-shadow: 0 0 18px rgba(255, 77, 77, .35); }
html[data-theme="dj"] .ptab-ico.qs { box-shadow: 0 0 18px rgba(37, 244, 238, .35); }
html[data-theme="dj"] .qs-hot { text-shadow: none; }
html[data-theme="dj"] .more-btn:hover { box-shadow: 0 0 18px rgba(0, 229, 255, .22); }

/* 专辑封面网格 */
html[data-theme="dj"] .album-cover::before {
  content: ""; position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(0,229,255,.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0,229,255,.07) 1px, transparent 1px);
  background-size: 20px 20px;
}

/* 平台胶囊：霓虹描边 */
html[data-theme="dj"] .plat { backdrop-filter: blur(6px); }

/* 页脚 */
html[data-theme="dj"] .site-foot { background: linear-gradient(var(--surface-2), #05040A); }

/* 滚动条 */
html[data-theme="dj"] { scrollbar-color: #2A2038 #07060D; }
html[data-theme="dj"] ::-webkit-scrollbar { width: 10px; }
html[data-theme="dj"] ::-webkit-scrollbar-track { background: #07060D; }
html[data-theme="dj"] ::-webkit-scrollbar-thumb { background: #2A2038; border-radius: 6px; }
html[data-theme="dj"] ::-webkit-scrollbar-thumb:hover { background: #3B2C52; }
