/* ============================================================
   09 AI 时代 · 2023— / 米白 + 虹彩球 + 漂浮的圆角卡片 + 渐变文字
   ============================================================ */
:root[data-theme="ai"] {
  --paper: #f4f5f0;
  --butter: #fafaf7;
  --sky: #f4f5f0;
  --ink: #14151f;
  --rose: #6d8bff;
  --pink: #ff7ac8;
  --wine: #0f1020;
  --ai-bg: #f4f5f0;
  --ai-blue: #5b8cff;
  --ai-violet: #a06bff;
  --ai-pink: #ff7ac8;
  --ai-mint: #6fe3d0;
  --sans: "Inter", "Helvetica Neue", "PingFang SC", "Microsoft YaHei", sans-serif;
  --mono: "SF Mono", "JetBrains Mono", ui-monospace, monospace;
}

:root[data-theme="ai"] body {
  background-color: var(--ai-bg);
  background-image:
    radial-gradient(46% 34% at 82% 6%, rgba(160, 107, 255, .16), transparent 70%),
    radial-gradient(40% 30% at 8% 34%, rgba(111, 227, 208, .16), transparent 72%),
    radial-gradient(36% 30% at 62% 96%, rgba(255, 122, 200, .14), transparent 72%);
  background-attachment: fixed;
}

/* 标题：几何无衬线 + 渐变 */
:root[data-theme="ai"] .display,
:root[data-theme="ai"] .hero__title,
:root[data-theme="ai"] .acc__title {
  font-family: var(--sans);
  font-weight: 700;
  letter-spacing: -.035em;
}
:root[data-theme="ai"] .display em,
:root[data-theme="ai"] .hero__title em {
  background-image: linear-gradient(104deg, var(--ai-blue) 0%, var(--ai-violet) 42%, var(--ai-pink) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  text-shadow: none;
}
:root[data-theme="ai"] .display--light { color: #fff; }
:root[data-theme="ai"] .display--light em { background-image: linear-gradient(104deg, #8fb4ff, #ffb3e4); }

/* 全部改成大圆角 + 柔和扩散阴影 */
:root[data-theme="ai"] .btn,
:root[data-theme="ai"] .chips li,
:root[data-theme="ai"] .copybtn,
:root[data-theme="ai"] .brand,
:root[data-theme="ai"] .menu__link--cta,
:root[data-theme="ai"] .art__tag,
:root[data-theme="ai"] .cursor span {
  border: 1px solid rgba(20, 21, 31, .08);
  border-radius: 999px;
  background: #fff;
  color: var(--ink);
  transform: none;
  box-shadow: 0 1px 2px rgba(20, 21, 31, .06), 0 8px 24px rgba(20, 21, 31, .08);
}
:root[data-theme="ai"] .btn > *,
:root[data-theme="ai"] .chips li > * { transform: none; }
:root[data-theme="ai"] .btn { padding: 14px 26px; font-weight: 600; }
:root[data-theme="ai"] .btn:hover { transform: translateY(-2px); box-shadow: 0 2px 4px rgba(20, 21, 31, .07), 0 16px 34px rgba(20, 21, 31, .13); }
:root[data-theme="ai"] .btn:hover i { transform: translateY(2px); }
:root[data-theme="ai"] .ghostlink { color: #5b6b8c; }
:root[data-theme="ai"] .brand { background: var(--ink); color: #fff; border-color: transparent; }
:root[data-theme="ai"] .menu__link { color: #5b6b8c; }
:root[data-theme="ai"] .menu__link[aria-current="true"] { color: var(--ink); }
:root[data-theme="ai"] .menu__link--cta { background: var(--ink); color: #fff; }
:root[data-theme="ai"] .menu__link--cta[aria-current="true"] { background: linear-gradient(100deg, var(--ai-blue), var(--ai-pink)); }
:root[data-theme="ai"] .chips li { background: #fff; color: #46506b; font-weight: 600; }

:root[data-theme="ai"] .kicker { color: #8a93a8; font-family: var(--mono); font-weight: 500; letter-spacing: .1em; }
:root[data-theme="ai"] .kicker b { color: var(--ai-violet); font-family: var(--mono); }
:root[data-theme="ai"] .kicker--light { color: rgba(255, 255, 255, .62); }
:root[data-theme="ai"] .kicker--light b { color: #ffb3e4; }

/* 首屏：虹彩球 + 漂浮卡片 */
:root[data-theme="ai"] .art__slab {
  left: -3%;
  top: -8%;
  width: 106%;
  padding-bottom: 106%;
  border-radius: 50%;
  background:
    radial-gradient(52% 52% at 32% 24%, rgba(255, 255, 255, .95), rgba(255, 255, 255, 0) 58%),
    conic-gradient(from 200deg at 50% 50%, #7aa2ff, #b78bff, #ff9ad8, #ffd0a8, #8ff0de, #7aa2ff);
  transform: none;
  box-shadow:
    0 30px 80px rgba(110, 120, 255, .28),
    inset 0 0 46px rgba(255, 255, 255, .55);
  filter: saturate(112%);
}
:root[data-theme="ai"] .art__ring {
  width: 92%;
  padding-bottom: 92%;
  border: 1px solid rgba(120, 140, 255, .28);
  border-radius: 50%;
  opacity: 1;
}
:root[data-theme="ai"] .art__cube {
  width: 19%;
  border-radius: 22%;
  background: #fff;
  box-shadow: 0 12px 30px rgba(20, 21, 31, .14);
  --rest: rotate(-12deg);
}
:root[data-theme="ai"] .art__pip {
  width: clamp(34px, 10%, 56px);
  border-radius: 26%;
  background: linear-gradient(140deg, #ffb3e4, #ff7ac8);
  box-shadow: 0 10px 24px rgba(255, 122, 200, .35);
}
:root[data-theme="ai"] .art__frame {
  border: 10px solid #fff;
  border-radius: 26px;
  box-shadow: 0 22px 60px rgba(20, 21, 31, .2), 0 2px 6px rgba(20, 21, 31, .06);
  --rest: rotate(-3deg);
  overflow: hidden;
}
:root[data-theme="ai"] .art__frame img { border-radius: 18px; }
:root[data-theme="ai"] .art__tag { background: #fff; color: #46506b; font-weight: 600; }
:root[data-theme="ai"] .art__tag span { color: #46506b; }
:root[data-theme="ai"] .art__badge { display: none; }
:root[data-theme="ai"] .hero__stamp { color: #6b7690; }

:root[data-theme="ai"] .topbar { border-bottom: 1px solid rgba(20, 21, 31, .06); background: rgba(244, 245, 240, .7); }
:root[data-theme="ai"] .topbar.is-stuck {
  background: rgba(244, 245, 240, .82);
  -webkit-backdrop-filter: blur(16px) saturate(140%);
  backdrop-filter: blur(16px) saturate(140%);
}
:root[data-theme="ai"] .about,
:root[data-theme="ai"] .services,
:root[data-theme="ai"] .skills { background: transparent; }
:root[data-theme="ai"] .about::before {
  width: clamp(120px, 20vw, 280px);
  aspect-ratio: 1;
  border-radius: 50%;
  background: conic-gradient(from 40deg, #b78bff, #ff9ad8, #8ff0de, #b78bff);
  opacity: .55;
  filter: blur(6px);
  transform: translate(16%, -34%);
}

/* 列表：白色圆角卡片组 */
:root[data-theme="ai"] .rows {
  background: #fff;
  border: 1px solid rgba(20, 21, 31, .07);
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 1px 2px rgba(20, 21, 31, .05), 0 18px 44px rgba(20, 21, 31, .07);
}
:root[data-theme="ai"] .rows__item { border-bottom: 1px solid rgba(20, 21, 31, .06); }
:root[data-theme="ai"] .rows__item:last-child { border-bottom: 0; }
:root[data-theme="ai"] .row::before { background: #f2f3fb; }
:root[data-theme="ai"] .row:hover, :root[data-theme="ai"] .row:focus-visible { color: var(--ink); }
:root[data-theme="ai"] .row__idx { color: #7c879b; font-family: var(--mono); }
:root[data-theme="ai"] .row__name { color: var(--ink); }
:root[data-theme="ai"] .row__desc { color: #6b7690; }
:root[data-theme="ai"] .row__type { color: #6b7690; font-family: var(--mono); }
:root[data-theme="ai"] .row__go { color: var(--ai-violet); }

:root[data-theme="ai"] .acc {
  background: #fff;
  border: 1px solid rgba(20, 21, 31, .07);
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 1px 2px rgba(20, 21, 31, .05), 0 18px 44px rgba(20, 21, 31, .07);
}
:root[data-theme="ai"] .acc__item { border-bottom: 1px solid rgba(20, 21, 31, .06); }
:root[data-theme="ai"] .acc__item:last-child { border-bottom: 0; }
:root[data-theme="ai"] .acc__btn:hover { background: #f7f8fc; }
:root[data-theme="ai"] .acc__plus {
  background: #f2f3fb;
  color: #46506b;
  border-radius: 50%;
  width: 30px;
  height: 30px;
}
:root[data-theme="ai"] .acc__item.is-open .acc__plus {
  background: linear-gradient(140deg, var(--ai-blue), var(--ai-pink));
  color: #fff;
}
:root[data-theme="ai"] .acc__idx { color: #7c879b; font-family: var(--mono); opacity: 1; }
:root[data-theme="ai"] .acc__title { color: var(--ink); }
:root[data-theme="ai"] .acc__inner p { color: #5a6478; }

:root[data-theme="ai"] .facts > div { border-top: 1px solid rgba(20, 21, 31, .08); }
:root[data-theme="ai"] .facts dt { color: #6b7690; font-family: var(--mono); }
:root[data-theme="ai"] .facts dd { color: var(--ink); }
:root[data-theme="ai"] .copy { color: #5a6478; }
:root[data-theme="ai"] .note { color: #8a93a8; }

:root[data-theme="ai"] .ticker {
  background: #fff;
  border-top: 1px solid rgba(20, 21, 31, .06);
  border-bottom: 1px solid rgba(20, 21, 31, .06);
}
:root[data-theme="ai"] .ticker__run { color: #6b7690; }
:root[data-theme="ai"] .ticker__run i { color: var(--ai-violet); }
:root[data-theme="ai"] .flow {
  background: #fff;
  border-top: 1px solid rgba(20, 21, 31, .06);
  border-bottom: 1px solid rgba(20, 21, 31, .06);
}
:root[data-theme="ai"] .flow__step h3 { color: var(--ink); }
:root[data-theme="ai"] .flow__step p { color: #6b7690; }
:root[data-theme="ai"] .flow__list::before { background: rgba(20, 21, 31, .12); }
:root[data-theme="ai"] .flow__list li::before { background: linear-gradient(140deg, var(--ai-blue), var(--ai-pink)); }
:root[data-theme="ai"] .flow__no { color: #6b7690; font-family: var(--mono); }

:root[data-theme="ai"] .contact {
  background:
    radial-gradient(46% 56% at 22% 18%, rgba(160, 107, 255, .5), transparent 72%),
    radial-gradient(44% 52% at 80% 82%, rgba(255, 122, 200, .42), transparent 74%),
    linear-gradient(160deg, #0f1020, #191a33 62%, #0f1020);
}
:root[data-theme="ai"] .contact::after {
  content: "";
  width: clamp(180px, 32vw, 400px);
  height: clamp(180px, 32vw, 400px);
  border-radius: 50%;
  background: conic-gradient(from 30deg, #7aa2ff, #b78bff, #ff9ad8, #8ff0de, #7aa2ff);
  filter: blur(34px);
  opacity: .55;
  top: 4%;
  right: 0;
}
:root[data-theme="ai"] .mail { color: #fff; background-image: linear-gradient(#ffb3e4, #ffb3e4); }
:root[data-theme="ai"] .mail:hover { color: #ffd6ef; }
:root[data-theme="ai"] .copybtn { background: #fff; color: var(--ink); }
:root[data-theme="ai"] .copybtn:hover { background: #ffe6f5; }
:root[data-theme="ai"] .tel { color: #e6e8f5; border-color: rgba(255, 255, 255, .38); }
:root[data-theme="ai"] .note--light { color: rgba(230, 232, 245, .72); }
:root[data-theme="ai"] .foot { background: #0b0c18; color: rgba(230, 232, 245, .7); }
:root[data-theme="ai"] .ruler i { background: linear-gradient(90deg, var(--ai-blue), var(--ai-pink)); }
:root[data-theme="ai"] .curtain { background: var(--ai-bg); }
:root[data-theme="ai"] .curtain__star { color: var(--ai-violet); }
:root[data-theme="ai"] .curtain__sky { background: linear-gradient(160deg, #dfe6ff, #ffe0f4); }
:root[data-theme="ai"] .curtain__title { color: var(--ink); }
:root[data-theme="ai"] .curtain__title span {
  background-image: linear-gradient(104deg, var(--ai-blue), var(--ai-pink));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  text-shadow: none;
}
:root[data-theme="ai"] .cursor span { background: var(--ink); color: #fff; }

/* --- 字体 --- */
:root[data-theme="ai"] {
  --display: "Space Grotesk", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Source Han Sans SC", sans-serif;
}
