/* ============================================================
   主题 L05 · 紫罗兰流光体 (Violet Luster)
   深紫底配紫罗兰渐变流光，DM Serif Display 厚重衬线与紫色光斑，如暮色幻境
   字体: DM Serif Display(400) + Inter(400;600;700)
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display&family=Inter:wght@400;600;700&display=swap');
:root{
  --c-bg:#0a0a1e;
  --c-bg-grad:radial-gradient(circle at 18% 16%,rgba(124,58,237,.22),transparent 45%),
              radial-gradient(circle at 82% 22%,rgba(168,85,247,.16),transparent 45%),
              radial-gradient(circle at 50% 95%,rgba(124,58,237,.13),transparent 50%),
              linear-gradient(165deg,#0a0a1e,#14142e);
  --c-surface:rgba(22,22,48,.72);
  --c-surface-2:rgba(32,30,64,.60);
  --c-text:#f3f0ff;
  --c-muted:#9b8ac4;
  --c-accent:#7c3aed;
  --c-accent-2:#a855f7;
  --c-on-accent:#0a0a1e;
  --c-border:rgba(168,85,247,.18);
  --font-display:'DM Serif Display',serif;
  --font-body:'Inter',sans-serif;
  --hero-grad:linear-gradient(115deg,#7c3aed,#a855f7 50%,#d8b4fe);
  --nav-bg:rgba(10,10,30,.60);
  --nav-blur:blur(18px);
  --shadow:0 22px 55px rgba(124,58,237,.30);
  --radius:18px;
}
/* 紫色光斑层 —— 紫罗兰光晕缓慢游移，如暮色幻光 */
body::before{
  content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(45% 35% at 20% 18%,rgba(124,58,237,.24),transparent 70%),
    radial-gradient(40% 32% at 56% 10%,rgba(168,85,247,.20),transparent 70%),
    radial-gradient(45% 35% at 82% 22%,rgba(216,180,254,.16),transparent 70%);
  filter:blur(12px);
  animation:violetGlow 11s cubic-bezier(.4,0,.6,1) infinite alternate;
}
@keyframes violetGlow{
  0%{transform:translate3d(-3%,0,0) scale(1.02);opacity:.5}
  50%{transform:translate3d(0,-2%,0) scale(1.08);opacity:.75}
  100%{transform:translate3d(3%,-1%,0) scale(1.12);opacity:.6}
}
/* 标题：DM Serif Display 厚重沉稳 + 紫罗兰流光 */
.hero h1{font-weight:400;letter-spacing:-.5px;font-family:var(--font-display)}
.hero h1 .grad{
  background:linear-gradient(115deg,#a855f7,#7c3aed 35%,#d8b4fe 65%,#a855f7);
  background-size:260% auto;-webkit-background-clip:text;background-clip:text;color:transparent;
  font-weight:400;letter-spacing:0;animation:violetShimmer 9s ease-in-out infinite;
}
@keyframes violetShimmer{
  0%{background-position:0% center}
  50%{background-position:130% center}
  100%{background-position:260% center}
}
/* 玻璃质感卡片 */
.album-card{backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(168,85,247,.20)}
.album-card:hover{box-shadow:0 0 0 1px rgba(124,58,237,.45),0 34px 70px rgba(124,58,237,.40);border-color:rgba(168,85,247,.55);transform:translateY(-6px)}
.album-info{background:rgba(20,18,42,.50)}
.album-info h3{font-weight:400;font-family:var(--font-display)}
.album-badge{background:linear-gradient(115deg,#7c3aed,#a855f7);color:#0a0a1e;border:none}
.album-meta{border-top-color:rgba(168,85,247,.14)}
.album-meta .view{color:#d8b4fe}
.section-head .kicker{background:linear-gradient(115deg,#7c3aed,#a855f7);-webkit-background-clip:text;background-clip:text;color:transparent;letter-spacing:5px;font-family:var(--font-display)}
.about-visual{background:linear-gradient(135deg,#4c1d95,#7c3aed 50%,#a855f7);background-size:200% auto;animation:violetShimmer 11s ease-in-out infinite;box-shadow:0 0 60px rgba(124,58,237,.40)}
.eyebrow{background:linear-gradient(115deg,#7c3aed,#a855f7) !important;color:#0a0a1e !important;letter-spacing:3px}
.btn.primary{background:linear-gradient(115deg,#7c3aed,#a855f7);color:#0a0a1e;box-shadow:0 12px 30px rgba(124,58,237,.45)}
.btn.ghost{background:rgba(255,255,255,.05);color:#f3f0ff;border-color:rgba(168,85,247,.22)}
.divider{background:linear-gradient(115deg,#7c3aed,#a855f7)}
.footer{background:#050510;border-top:1px solid rgba(168,85,247,.10)}
.logo-mark{box-shadow:0 6px 24px rgba(124,58,237,.55)}
.nav-menu a:hover{color:#d8b4fe;background:rgba(124,58,237,.10)}
.ts-swatch.ts-luster-violet{background:linear-gradient(135deg,#7c3aed,#a855f7)}
.shape.s1{background:#7c3aed !important;opacity:.22 !important}
.shape.s2{background:#a855f7 !important;opacity:.20 !important}
