/* =========================================================
   明月庄主 · 明亮方块主题
   覆盖在 base / visuals / home / detail 之上的主题层
   ========================================================= */

@font-face {
  font-family: "Mingyue Display";
  src: url("../fonts/mingyue-display.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Press Start 2P";
  src: url("../fonts/press-start-2p.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

body.theme-bright {
  --bg: #fff8e8;
  --bg-soft: #fff3d8;
  --surface: #fffdf7;
  --surface-2: #f7ecd4;
  --surface-3: #efdfc0;
  --line: rgba(58, 42, 27, 0.14);
  --line-2: rgba(58, 42, 27, 0.26);
  --text: #2b2119;
  --text-2: #5f4b38;
  --text-3: #8a745c;
  --amber: #f5a623;
  --amber-2: #ffd45c;
  --amber-3: #c47a00;
  --amber-soft: rgba(245, 166, 35, 0.16);
  --green: #3fbf6b;
  --violet: #7c5cf0;
  --sky: #2c9be6;

  --font-sans: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
  --font-display: "Mingyue Display", "Noto Sans SC", "PingFang SC", sans-serif;
  --font-pixel: "Press Start 2P", "Mingyue Display", monospace;
  --font-latin: "Press Start 2P", "Mingyue Display", monospace;
  --font-mono: "JetBrains Mono", "SFMono-Regular", Consolas, monospace;

  --ink: #2b2119;
  --ink-soft: #5f4b38;
  --paper: #fffdf7;
  --paper-2: #fff6df;
  --gold: #ffd45c;
  --gold-deep: #e5a00f;
  --grass: #6cc24a;
  --grass-dark: #3f8c2c;
  --dirt: #a9744b;
  --dirt-dark: #7a4f2c;

  background-color: var(--bg);
  background-image: linear-gradient(rgba(58, 42, 27, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(58, 42, 27, 0.035) 1px, transparent 1px);
  background-size: 32px 32px;
  color: var(--text);
}
html:has(body.theme-bright) {
  background: #fff8e8;
  scrollbar-color: #dcc79f #fff8e8;
}
body.theme-bright::-webkit-scrollbar-track { background: #fff8e8; }
body.theme-bright::-webkit-scrollbar-thumb { background: #dcc79f; border-color: #fff8e8; }
body.theme-bright ::selection { background: var(--gold); color: var(--ink); }
body.theme-bright .grain { opacity: 0.025; mix-blend-mode: multiply; }
body.theme-bright .scroll-progress span {
  background: linear-gradient(90deg, var(--grass), var(--gold), var(--amber));
  box-shadow: 0 0 14px rgba(245, 166, 35, 0.55);
}

/* ---------- 字体与基础排版 ---------- */
body.theme-bright .brand__name,
body.theme-bright .hero__title,
body.theme-bright .sec-title,
body.theme-bright .detail-title,
body.theme-bright .work-card__title,
body.theme-bright .log-row h3,
body.theme-bright .feature h3,
body.theme-bright .method h3,
body.theme-bright .cta-band h2,
body.theme-bright .footer__brand strong,
body.theme-bright .id-card__name,
body.theme-bright .split__statement,
body.theme-bright .tool-card__title h3,
body.theme-bright .version-card__loader,
body.theme-bright .zone-card__body h3,
body.theme-bright .protocol-step h3,
body.theme-bright .next-link h3,
body.theme-bright .mobile-menu__link {
  font-family: var(--font-display);
  font-weight: 400;
  letter-spacing: 0.02em;
}
body.theme-bright .eyebrow {
  color: #a26000;
  font-family: var(--font-pixel);
  font-size: 8px;
  letter-spacing: 0.12em;
  line-height: 1.9;
}
body.theme-bright .eyebrow::before { background: currentColor; opacity: 0.5; }
body.theme-bright .mono {
  font-family: var(--font-mono);
  color: var(--text-3);
}
body.theme-bright .sec-desc { color: var(--text-2); }
body.theme-bright .sec-title em { color: #d97706; }
body.theme-bright .brand__en {
  font-family: var(--font-pixel);
  font-size: 7px;
  letter-spacing: 0.16em;
  color: #8a6a3a;
  padding-top: 2px;
}
body.theme-bright .brand__name { font-size: 21px; letter-spacing: 0.06em; }
body.theme-bright .brand__mark {
  width: 30px;
  height: 30px;
  image-rendering: pixelated;
  filter: drop-shadow(2px 2px 0 rgba(43, 33, 25, 0.18));
  transition: transform 0.4s var(--ease);
}
body.theme-bright .brand:hover .brand__mark { transform: rotate(-10deg) scale(1.08); }

/* ---------- 顶栏 ---------- */
body.theme-bright .site-header {
  color: var(--ink);
}
body.theme-bright .site-header.is-scrolled {
  background: rgba(255, 248, 232, 0.9);
  border-bottom: 2px solid var(--ink);
  -webkit-backdrop-filter: blur(14px) saturate(1.2);
  backdrop-filter: blur(14px) saturate(1.2);
}
body.theme-bright .nav__link { color: var(--ink-soft); }
body.theme-bright .nav__link::after {
  height: 3px;
  bottom: 1px;
  background: var(--amber);
  border-radius: 2px;
}
body.theme-bright .nav__link:hover,
body.theme-bright .nav__link.is-active { color: var(--ink); }
body.theme-bright .icon-btn {
  border: 2px solid var(--ink);
  color: var(--ink);
  background: rgba(255, 253, 247, 0.55);
  box-shadow: 2px 2px 0 rgba(43, 33, 25, 0.14);
}
body.theme-bright .icon-btn:hover {
  background: var(--gold);
  color: var(--ink);
  border-color: var(--ink);
}
body.theme-bright .menu-btn {
  border: 2px solid var(--ink);
  background: rgba(255, 253, 247, 0.7);
}
body.theme-bright .menu-btn span { background: var(--ink); }
body.theme-bright .mobile-menu {
  background: rgba(255, 248, 232, 0.98);
  border-left: 3px solid var(--ink);
}
body.theme-bright .mobile-menu__link { color: var(--ink); border-bottom: 2px dashed var(--line-2); }
body.theme-bright .mobile-menu__link span { color: #8a6a3a; }
body.theme-bright .mobile-menu__foot { color: var(--text-3); }

/* ---------- 按钮 / 标签 / 链接 ---------- */
body.theme-bright .btn {
  border: 3px solid var(--ink);
  border-radius: 10px;
  box-shadow: 0 5px 0 rgba(43, 33, 25, 0.85), 5px 5px 0 rgba(43, 33, 25, 0.16);
  font-weight: 700;
}
body.theme-bright .btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 7px 0 rgba(43, 33, 25, 0.85), 7px 7px 0 rgba(43, 33, 25, 0.16);
}
body.theme-bright .btn:active {
  transform: translateY(2px);
  box-shadow: 0 2px 0 rgba(43, 33, 25, 0.85), 2px 2px 0 rgba(43, 33, 25, 0.16);
}
body.theme-bright .btn--primary {
  background: linear-gradient(180deg, #ffe27a, var(--amber) 70%, #e09012);
  color: var(--ink);
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.35);
}
body.theme-bright .btn--primary::after { display: none; }
body.theme-bright .btn--ghost {
  background: var(--paper);
  border-color: var(--ink);
  color: var(--ink);
}
body.theme-bright .btn--ghost:hover {
  background: #fff3d8;
  color: var(--ink);
  border-color: var(--ink);
}
body.theme-bright .link-arrow { color: var(--ink-soft); }
body.theme-bright .link-arrow:hover { color: #a26000; border-color: #d9a13a; }
body.theme-bright .tag {
  border: 2px solid var(--ink);
  background: var(--paper);
  color: var(--ink-soft);
  font-family: var(--font-pixel);
  font-size: 7px;
  letter-spacing: 0.08em;
  height: 26px;
}
body.theme-bright .tag--game { background: #ffe9a8; color: #7a4a00; border-color: var(--ink); }
body.theme-bright .tag--tool { background: #cdf3d9; color: #146c3a; border-color: var(--ink); }
body.theme-bright .tag--mod { background: #e3dbff; color: #4b32a8; border-color: var(--ink); }
body.theme-bright .dot { background: var(--grass); box-shadow: 0 0 0 3px rgba(108, 194, 74, 0.18); }

/* ---------- 首屏 ---------- */
body.theme-bright .hero {
  background: linear-gradient(180deg, #6fc4ff 0%, #9fdcff 38%, #dff4ff 66%, #fff8e8 100%);
  padding-bottom: 0;
}
body.theme-bright .hero__glow {
  background: radial-gradient(circle, rgba(255, 244, 176, 0.95), rgba(255, 244, 176, 0.3) 42%, transparent 66%);
  filter: blur(30px);
  top: -18%;
  right: -6%;
  opacity: 0.9;
}
body.theme-bright .hero__glow--2 { display: none; }
body.theme-bright .hero__grid {
  background-image: linear-gradient(rgba(32, 92, 140, 0.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(32, 92, 140, 0.08) 1px, transparent 1px);
  background-size: 64px 64px;
  -webkit-mask-image: radial-gradient(ellipse 72% 62% at 58% 38%, #000 0%, transparent 76%);
  mask-image: radial-gradient(ellipse 72% 62% at 58% 38%, #000 0%, transparent 76%);
}
body.theme-bright .hero__dust { display: none; }
body.theme-bright .sky-sun {
  position: absolute;
  top: 11%;
  right: 10%;
  z-index: 1;
  width: clamp(64px, 8vw, 112px);
  filter: drop-shadow(0 0 34px rgba(255, 240, 160, 0.95));
  animation: sun-float 9s ease-in-out infinite;
}
body.theme-bright .sky-sun img {
  width: 100%;
  height: auto;
  image-rendering: pixelated;
}
@keyframes sun-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}
body.theme-bright .cloud {
  position: absolute;
  z-index: 1;
  pointer-events: none;
  opacity: 0.95;
  animation: cloud-drift 34s ease-in-out infinite alternate;
}
body.theme-bright .cloud img { width: 100%; height: auto; image-rendering: pixelated; }
body.theme-bright .cloud--a { top: 16%; left: 32%; width: clamp(120px, 16vw, 230px); animation-duration: 38s; }
body.theme-bright .cloud--b { top: 34%; left: -4%; width: clamp(90px, 11vw, 160px); animation-duration: 29s; opacity: 0.8; }
body.theme-bright .cloud--c { top: 8%; right: 20%; width: clamp(80px, 9vw, 140px); animation-duration: 44s; opacity: 0.75; }
@keyframes cloud-drift {
  from { transform: translateX(-18px); }
  to { transform: translateX(28px); }
}
body.theme-bright .hero-hills {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 0;
  pointer-events: none;
  line-height: 0;
}
body.theme-bright .hero-hills img {
  width: 100%;
  height: clamp(110px, 16vw, 210px);
  object-fit: cover;
  object-position: bottom;
  image-rendering: pixelated;
  display: block;
  opacity: 0.96;
}
body.theme-bright .hero__inner { z-index: 3; padding-bottom: clamp(30px, 5vw, 60px); }
body.theme-bright .hero__eyebrow { color: #7a4a00; text-shadow: 0 1px 0 rgba(255, 255, 255, 0.55); }
body.theme-bright .hero__eyebrow .dot { background: #2f9e44; box-shadow: 0 0 0 3px rgba(47, 158, 68, 0.2); }
body.theme-bright .hero__title {
  color: var(--ink);
  text-shadow: 0 3px 0 rgba(255, 255, 255, 0.35);
}
body.theme-bright .hero__title em { color: #f08a00; }
body.theme-bright .hero__title em::after {
  height: 0.12em;
  bottom: 0.02em;
  background: linear-gradient(90deg, transparent, #ffb020, transparent);
}
body.theme-bright .hero__lead { color: #4b3a29; }
body.theme-bright .hero__lead strong { color: var(--ink); }
body.theme-bright .hero__meta { color: #6b563f; font-size: 8px; font-family: var(--font-pixel); line-height: 2.1; }
body.theme-bright .hero__meta .sep { color: rgba(43, 33, 25, 0.3); }

/* 首屏舞台 */
body.theme-bright .stage-ghost {
  -webkit-text-stroke: 2px rgba(43, 33, 25, 0.1);
  color: transparent;
}
body.theme-bright .stage-glow {
  background: radial-gradient(ellipse at 60% 45%, rgba(255, 238, 150, 0.75), rgba(255, 238, 150, 0.14) 46%, transparent 70%);
  filter: blur(26px);
}
body.theme-bright .stage-ring { border-color: rgba(43, 33, 25, 0.16); }
body.theme-bright .stage-ring--2 { border-color: rgba(255, 255, 255, 0.55); }
body.theme-bright .device {
  background: linear-gradient(160deg, #ffffff, #f3e6c8);
  border: 4px solid var(--ink);
  box-shadow: 9px 9px 0 rgba(43, 33, 25, 0.2), 0 40px 80px -40px rgba(43, 33, 25, 0.4);
  padding: 8px;
  border-radius: 30px;
}
body.theme-bright .device__screen { border-radius: 22px; }
body.theme-bright .device::before { border-radius: 26px; border-color: rgba(43, 33, 25, 0.12); }
body.theme-bright .device::after {
  border-radius: 30px;
  background: linear-gradient(125deg, rgba(255, 255, 255, 0.55), transparent 30%, transparent 75%, rgba(255, 255, 255, 0.2));
}
body.theme-bright .print {
  border: 3px solid var(--ink);
  border-radius: 10px;
  background: var(--paper);
  box-shadow: 6px 6px 0 rgba(43, 33, 25, 0.2);
  padding: 4px;
}
body.theme-bright .print img { border-radius: 5px; }
body.theme-bright .float-chip {
  background: var(--paper);
  border: 2px solid var(--ink);
  box-shadow: 3px 3px 0 rgba(43, 33, 25, 0.18);
  color: var(--ink);
  font-family: var(--font-pixel);
  font-size: 6.5px;
  letter-spacing: 0.04em;
  padding: 6px 10px 6px 6px;
}
body.theme-bright .stage-tag {
  background: var(--paper);
  border: 2px solid var(--ink);
  box-shadow: 3px 3px 0 rgba(43, 33, 25, 0.18);
  color: var(--ink-soft);
  font-family: var(--font-pixel);
  font-size: 6.5px;
  letter-spacing: 0.06em;
}
body.theme-bright .stage-tag .dot { background: #2f9e44; }
body.theme-bright .stage-vertical { color: rgba(43, 33, 25, 0.35); }
body.theme-bright .float-block {
  position: absolute;
  z-index: 6;
  image-rendering: pixelated;
  filter: drop-shadow(4px 4px 0 rgba(43, 33, 25, 0.2));
  animation: block-bob 5.5s ease-in-out infinite alternate;
  pointer-events: none;
}
body.theme-bright .float-block--1 { left: 0; bottom: 20%; width: clamp(54px, 6.4vw, 86px); transform: rotate(-6deg); animation-delay: -1.2s; }
body.theme-bright .float-block--2 { right: 1%; top: 26%; width: clamp(42px, 4.6vw, 64px); transform: rotate(8deg); animation-delay: -2.8s; }
body.theme-bright .float-block--3 { left: 14%; top: 4%; width: clamp(34px, 3.6vw, 50px); transform: rotate(-3deg); animation-delay: -0.6s; }
@keyframes block-bob {
  from { translate: 0 0; }
  to { translate: 0 -12px; }
}

/* 首屏统计 HUD */
body.theme-bright .hero__stats {
  position: relative;
  z-index: 4;
  background: var(--paper);
  border: 3px solid var(--ink);
  border-radius: 14px;
  box-shadow: 7px 7px 0 rgba(43, 33, 25, 0.18);
  margin-bottom: clamp(22px, 3vw, 36px);
  overflow: hidden;
}
body.theme-bright .stat {
  border-right: 2px dashed var(--line-2);
  align-items: center;
  gap: 10px;
}
body.theme-bright .stat:last-child { border-right: 0; }
body.theme-bright .stat__num {
  font-family: var(--font-pixel);
  font-weight: 400;
  letter-spacing: -0.02em;
  color: var(--ink);
  text-shadow: 2px 2px 0 rgba(245, 166, 35, 0.25);
}
body.theme-bright .stat:nth-child(1) .stat__num { color: #d97706; }
body.theme-bright .stat:nth-child(2) .stat__num { color: #2f9e44; }
body.theme-bright .stat:nth-child(3) .stat__num { color: #2c9be6; }
body.theme-bright .stat:nth-child(4) .stat__num { color: #7c5cf0; }
body.theme-bright .stat__label { color: var(--ink-soft); font-size: 12px; }

/* ---------- 地层带 / 跑马灯 ---------- */
body.theme-bright .strata {
  filter: none;
  opacity: 1;
  border-top: 3px solid var(--ink);
  border-bottom: 3px solid var(--ink);
  height: clamp(52px, 6vw, 84px);
}
body.theme-bright .strata::before {
  background-image: url("../img/bright/biome-strip.png");
  background-size: auto 100%;
  width: calc(100% + 1024px);
  animation: strata-bright 90s linear infinite;
}
@keyframes strata-bright {
  to { transform: translateX(-1024px); }
}
body.theme-bright .strata::after {
  background: linear-gradient(90deg, rgba(255, 248, 232, 0.9), transparent 10%, transparent 90%, rgba(255, 248, 232, 0.9));
}
body.theme-bright .marquee {
  background: var(--ink);
  border-bottom: 3px solid var(--ink);
  padding: 15px 0;
}
body.theme-bright .marquee__item { color: #ffe9b0; font-family: var(--font-pixel); font-size: 7px; letter-spacing: 0.1em; }
body.theme-bright .marquee__item b { color: var(--gold); }

/* ---------- 作品区 ---------- */
body.theme-bright .work::before {
  background: radial-gradient(ellipse 55% 38% at 25% 0%, rgba(245, 166, 35, 0.12), transparent 70%);
}
body.theme-bright .filters { gap: 10px; }
body.theme-bright .filter {
  background: var(--paper);
  border: 2px solid var(--ink);
  border-radius: 8px;
  color: var(--ink-soft);
  box-shadow: 0 3px 0 rgba(43, 33, 25, 0.16);
  font-weight: 500;
}
body.theme-bright .filter span { color: #a08a70; }
body.theme-bright .filter:hover { color: var(--ink); border-color: var(--ink); transform: translateY(-1px); }
body.theme-bright .filter.is-active {
  background: var(--gold);
  color: var(--ink);
  border-color: var(--ink);
  box-shadow: 0 3px 0 var(--gold-deep);
}
body.theme-bright .filter.is-active span { color: rgba(43, 33, 25, 0.6); }
body.theme-bright .work-card {
  background: var(--paper);
  border: 3px solid var(--ink);
  border-radius: 16px;
  box-shadow: 7px 7px 0 rgba(43, 33, 25, 0.15);
}
body.theme-bright .work-card:hover {
  transform: translate(-2px, -2px);
  border-color: var(--ink);
  box-shadow: 10px 10px 0 rgba(43, 33, 25, 0.18);
}
body.theme-bright .work-card::after {
  background: radial-gradient(400px circle at var(--mx, 50%) var(--my, 0%), rgba(255, 212, 92, 0.22), transparent 62%);
}
body.theme-bright .work-card__visual { background: #2b2119; }
body.theme-bright .work-card__visual::after {
  background: linear-gradient(180deg, transparent 62%, rgba(255, 253, 247, 0.18) 86%, var(--paper) 100%);
}
body.theme-bright .work-card__body { padding-top: clamp(18px, 2vw, 24px); }
body.theme-bright .work-card__title { color: var(--ink); }
body.theme-bright .work-card__title span { color: #a08a70; font-family: var(--font-pixel); font-size: 7px; }
body.theme-bright .work-card__desc { color: var(--ink-soft); }
body.theme-bright .work-card__tags li { color: #8a745c; }
body.theme-bright .work-card__tags li + li::before { color: rgba(43, 33, 25, 0.3); }
body.theme-bright .work-card__foot { border-top: 2px dashed var(--line-2); color: #8a745c; }
body.theme-bright .work-card__foot .arrow { border: 2px solid var(--ink); color: var(--ink); background: var(--paper); }
body.theme-bright .work-card:hover .work-card__foot .arrow { background: var(--gold); color: var(--ink); }

/* BlockMiner 卡片 */
body.theme-bright .bm-bg { filter: brightness(0.95) saturate(1.2); }
body.theme-bright .work-card:hover .bm-bg { filter: brightness(1.05) saturate(1.25); }
body.theme-bright .bm-bg::after {
  background: radial-gradient(ellipse at 70% 20%, rgba(255, 212, 92, 0.28), transparent 58%);
}
body.theme-bright .bm-device {
  border: 3px solid var(--ink);
  background: var(--paper);
  padding: 4px;
  border-radius: 14px;
  box-shadow: 5px 5px 0 rgba(0, 0, 0, 0.28);
}
body.theme-bright .bm-device img { border-radius: 10px; }
body.theme-bright .bm-tools span {
  border: 2px solid var(--ink);
  background: var(--paper);
  color: var(--ink-soft);
  font-family: var(--font-pixel);
  font-size: 6px;
  box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.25);
}
body.theme-bright .visual__badge {
  border: 2px solid var(--ink);
  background: var(--gold);
  color: var(--ink);
  font-family: var(--font-pixel);
  font-size: 6.5px;
  box-shadow: 3px 3px 0 rgba(43, 33, 25, 0.25);
}

/* mcTool 卡片 */
body.theme-bright .visual--mc { background: linear-gradient(160deg, #d9f3e3, #b7e6cd); }
body.theme-bright .mc-glow { background: radial-gradient(ellipse at 50% 50%, rgba(63, 191, 107, 0.26), transparent 66%); }
body.theme-bright .mc-window {
  background: var(--paper);
  border: 3px solid var(--ink);
  box-shadow: 7px 7px 0 rgba(43, 33, 25, 0.18);
  border-radius: 10px;
}
body.theme-bright .mc-window__bar { background: #e7f8ec; border-bottom: 2px solid var(--ink); }
body.theme-bright .mc-window__dots i { background: #a8c9b4; }
body.theme-bright .mc-window__dots i:first-child { background: #e35d4b; }
body.theme-bright .mc-window__dots i:nth-child(2) { background: #f5a623; }
body.theme-bright .mc-window__dots i:nth-child(3) { background: #6cc24a; }
body.theme-bright .mc-window__title { color: #3f7a55; }
body.theme-bright .mc-window__tabs b { color: #6b8a74; }
body.theme-bright .mc-window__tabs b.on { background: #cdf3d9; color: #146c3a; border: 1px solid #2f9e44; }
body.theme-bright .visual--mc .slime-grid { background: #d9f2df; border: 2px solid var(--ink); }
body.theme-bright .visual--mc .slime-grid i { background: rgba(63, 191, 107, 0.12); }
body.theme-bright .visual--mc .slime-grid i.is-slime { background: #3fbf6b; box-shadow: none; }
body.theme-bright .visual--mc .slime-grid i.is-center { background: #ffb020; box-shadow: none; }
body.theme-bright .mc-view__cap { color: #5f7a66; }
body.theme-bright .mc-cmd { background: #f2fbef; border: 1px solid #9fcf9f; }
body.theme-bright .mc-cmd code { color: #1d7a3a; }
body.theme-bright .visual--mc .sign { box-shadow: inset 0 0 0 2px rgba(0, 0, 0, 0.25), 3px 3px 0 rgba(43, 33, 25, 0.2); border: 2px solid var(--ink); }

/* VoiceBlock 卡片 */
body.theme-bright .visual--vb { background: linear-gradient(160deg, #f1ebff, #dcd2ff); }
body.theme-bright .vb-ring { border-color: rgba(124, 92, 240, 0.3); }
body.theme-bright .vb-ring::after { border-color: rgba(124, 92, 240, 0.16); }
body.theme-bright .vb-quote { color: var(--ink); text-shadow: 2px 2px 0 rgba(255, 255, 255, 0.5); }
body.theme-bright .vb-quote em { color: #6a49d6; }
body.theme-bright .vb-state { color: #5d4b86; }
body.theme-bright .vb-label { color: #6a5a8a; }
body.theme-bright .visual--vb .wave i { background: linear-gradient(180deg, #a58cff, #6a49d6); }
body.theme-bright .visual--vb .hotbar { border: 2px solid var(--ink); box-shadow: 3px 3px 0 rgba(43, 33, 25, 0.18); }
body.theme-bright .vb-badges span { background: var(--paper); border: 2px solid var(--ink); color: var(--ink-soft); font-family: var(--font-pixel); font-size: 6px; }

/* PigeonAuth 卡片 */
body.theme-bright .visual--auth { background: linear-gradient(160deg, #dff3ff, #b9e2ff); }
body.theme-bright .visual--auth::before {
  background-image: linear-gradient(rgba(32, 92, 140, 0.09) 1px, transparent 1px),
    linear-gradient(90deg, rgba(32, 92, 140, 0.09) 1px, transparent 1px);
}
body.theme-bright .auth-hint { color: #2c6f9e; }
body.theme-bright .auth-ver { color: #6b8ba3; }
body.theme-bright .auth-panel {
  background: var(--paper);
  border: 3px solid var(--ink);
  box-shadow: 6px 6px 0 rgba(43, 33, 25, 0.18);
}
body.theme-bright .auth-panel__head { border-bottom: 2px dashed var(--line-2); }
body.theme-bright .auth-panel__head .lock { border: 2px solid var(--ink); background: #e3f4ff; color: #1f6f9e; }
body.theme-bright .auth-panel__title b { color: var(--ink); }
body.theme-bright .auth-panel__title span { color: #7a8f9e; }
body.theme-bright .auth-panel__row { color: #6b7f8c; }
body.theme-bright .auth-panel__row b { color: var(--ink); }
body.theme-bright .auth-panel__action { background: linear-gradient(180deg, #8fd6ff, #37a9e8); color: #06202e; border: 2px solid var(--ink); box-shadow: 0 3px 0 #1f6f9e; }
body.theme-bright .auth-panel__foot { color: #7a8f9e; }
body.theme-bright .auth-panel__ok { background: #d6f5df; border-color: #2f9e44; color: #146c3a; }
body.theme-bright .auth-ribbon { color: #4b7b98; }
body.theme-bright .auth-ribbon i { background: linear-gradient(90deg, transparent, #4b7b98, transparent); }

/* ---------- 日志 ---------- */
body.theme-bright .devlog {
  background: #eaf7ff;
  border-top: 3px solid var(--ink);
  border-bottom: 3px solid var(--ink);
}
body.theme-bright .devlog__list { border-top: 0; display: flex; flex-direction: column; gap: 14px; }
body.theme-bright .log-row {
  background: var(--paper);
  border: 3px solid var(--ink);
  border-radius: 12px;
  box-shadow: 5px 5px 0 rgba(43, 33, 25, 0.14);
  padding: 20px 20px;
  transition: transform 0.4s var(--ease), box-shadow 0.4s var(--ease), background 0.4s;
}
body.theme-bright .log-row::before { display: none; }
body.theme-bright .log-row:hover {
  padding-left: 20px;
  transform: translate(-2px, -2px);
  box-shadow: 7px 7px 0 rgba(43, 33, 25, 0.16);
  background: #fffef9;
}
body.theme-bright .log-row__date { color: #a26000; font-weight: 500; }
body.theme-bright .log-row h3 { color: var(--ink); }
body.theme-bright .log-row:hover h3 { color: #c47a00; }
body.theme-bright .log-row p { color: var(--ink-soft); }
body.theme-bright .log-row__arrow { border: 2px solid var(--ink); color: var(--ink); background: var(--paper); }
body.theme-bright .log-row:hover .log-row__arrow { color: var(--ink); border-color: var(--ink); background: var(--gold); }
body.theme-bright .devlog__aside .link-arrow { color: #2c6f9e; }

/* ---------- 关于 ---------- */
body.theme-bright .about { background: var(--bg); }
body.theme-bright .about::before {
  background: radial-gradient(ellipse 50% 45% at 30% 50%, rgba(245, 166, 35, 0.1), transparent 70%);
}
body.theme-bright .id-card {
  background: var(--paper);
  border: 3px solid var(--ink);
  border-radius: 18px;
  box-shadow: 8px 8px 0 rgba(43, 33, 25, 0.18);
  overflow: hidden;
}
body.theme-bright .id-card::before { display: none; }
body.theme-bright .id-card::after { display: none; }
body.theme-bright .id-card__scene {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  image-rendering: pixelated;
  z-index: 0;
}
body.theme-bright .id-card__corner { border-color: rgba(255, 212, 92, 0.85); z-index: 3; }
body.theme-bright .id-card__mono {
  position: relative;
  z-index: 3;
  color: #fff3c8;
  text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.45);
}
body.theme-bright .id-card__glyph {
  position: relative;
  z-index: 3;
  background: none;
  -webkit-background-clip: initial;
  background-clip: initial;
  color: #ffd45c;
  -webkit-text-fill-color: #ffd45c;
  -webkit-text-stroke: 2px var(--ink);
  text-shadow: 5px 5px 0 rgba(43, 33, 25, 0.35);
  filter: drop-shadow(0 10px 24px rgba(0, 0, 0, 0.3));
}
body.theme-bright .id-card__foot {
  position: relative;
  z-index: 3;
  background: rgba(255, 253, 247, 0.96);
  border: 2px solid var(--ink);
  border-radius: 10px;
  padding: 12px 14px;
  margin-top: 55%;
}
body.theme-bright .id-card__name { color: var(--ink); }
body.theme-bright .id-card__name span { color: #8a6a3a; font-family: var(--font-pixel); font-size: 7px; }
body.theme-bright .id-card__rows { border-top: 2px dashed var(--line-2); }
body.theme-bright .id-card__row { border-bottom: 1px dashed var(--line-2); color: #8a745c; }
body.theme-bright .id-card__row b { color: var(--ink); }
body.theme-bright .about__body > p { color: var(--ink-soft); }
body.theme-bright .about__body > p strong { color: var(--ink); }
body.theme-bright .skills { border-top: 2px solid var(--ink); }
body.theme-bright .skills__row { border-bottom: 2px dashed var(--line-2); }
body.theme-bright .skills__label { color: #a26000; }
body.theme-bright .skills__val { color: var(--ink-soft); }
body.theme-bright .methods { gap: 14px; }
body.theme-bright .method {
  background: var(--paper);
  border: 2px solid var(--ink);
  border-radius: 10px;
  padding: 16px;
  box-shadow: 4px 4px 0 rgba(43, 33, 25, 0.12);
  border-top: 2px solid var(--ink);
}
body.theme-bright .method__num { color: #c47a00; font-family: var(--font-pixel); font-size: 8px; }
body.theme-bright .method p { color: var(--ink-soft); }

/* ---------- CTA ---------- */
body.theme-bright .cta-band {
  background: #7ecb5a;
  border-top: 3px solid var(--ink);
  padding-block: clamp(34px, 5vw, 56px);
}
body.theme-bright .cta-band::before { display: none; }
body.theme-bright .cta-band::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 16px;
  background: url("../img/bright/biome-strip.png") repeat-x;
  background-size: auto 100%;
  border-top: 2px solid rgba(43, 33, 25, 0.35);
  image-rendering: pixelated;
}
body.theme-bright .cta-band__inner {
  position: relative;
  z-index: 2;
  background: var(--paper);
  border: 3px solid var(--ink);
  border-radius: 18px;
  box-shadow: 8px 8px 0 rgba(43, 33, 25, 0.2);
  padding: clamp(26px, 4vw, 46px);
  margin-block: 0 20px;
}
body.theme-bright .cta-band h2 { color: var(--ink); }
body.theme-bright .cta-band h2 em { color: #d97706; }
body.theme-bright .cta-band p { color: var(--ink-soft); }

/* ---------- 页脚 ---------- */
body.theme-bright .site-footer {
  background-color: var(--dirt);
  background-image: url("../img/bright/block-dirt.png");
  background-size: 64px 64px;
  background-blend-mode: soft-light;
  border-top: 3px solid var(--ink);
  color: #fff3d8;
}
body.theme-bright .site-footer::before {
  content: "";
  display: block;
  height: 18px;
  background: url("../img/bright/biome-strip.png") repeat-x;
  background-size: auto 100%;
  border-bottom: 2px solid rgba(43, 33, 25, 0.4);
  image-rendering: pixelated;
}
body.theme-bright .footer__top { padding-top: 34px; }
body.theme-bright .footer__brand strong { color: #fff3d8; }
body.theme-bright .footer__brand span { color: #ffe1a2; font-family: var(--font-pixel); font-size: 7px; }
body.theme-bright .footer__nav a { color: #ffe9bd; }
body.theme-bright .footer__nav a:hover { color: #fff; }
body.theme-bright .footer__wordmark {
  font-family: var(--font-pixel);
  font-size: clamp(2.4rem, 9.5vw, 8.6rem);
  letter-spacing: 0.01em;
  color: transparent;
  -webkit-text-stroke: 2px rgba(255, 243, 216, 0.5);
  line-height: 1;
  padding-block: 26px 14px;
}
body.theme-bright .footer__bottom {
  border-top: 2px dashed rgba(255, 243, 216, 0.3);
  color: rgba(255, 243, 216, 0.72);
  font-family: var(--font-mono);
}
body.theme-bright .footer__bottom a { color: #ffe1a2; }

/* ---------- 灯箱 ---------- */
body.theme-bright .lightbox {
  background: rgba(30, 24, 18, 0.94);
}
body.theme-bright .lightbox__close,
body.theme-bright .lightbox__nav button {
  border: 2px solid rgba(255, 243, 216, 0.6);
  color: #fff3d8;
}
body.theme-bright .lightbox__close:hover,
body.theme-bright .lightbox__nav button:hover {
  background: var(--gold);
  border-color: var(--ink);
  color: var(--ink);
}
body.theme-bright .lightbox__count { color: #ffe1a2; }
body.theme-bright .lightbox__caption { color: #ffe9bd; }
body.theme-bright .lightbox__foot { border-top: 1px solid rgba(255, 243, 216, 0.2); }

/* =========================================================
   详情页
   ========================================================= */
body.theme-bright .detail { background: var(--bg); }
body.theme-bright .detail-hero {
  background: linear-gradient(180deg, #8ed4ff 0%, #c8ecff 52%, #fff8e8 100%);
  border-bottom: 3px solid var(--ink);
  padding-bottom: clamp(40px, 6vw, 76px);
}
body.theme-bright .detail-hero__bg {
  background: radial-gradient(ellipse 55% 60% at 78% 30%, rgba(255, 240, 170, 0.5), transparent 68%),
    radial-gradient(ellipse 40% 45% at 8% 0%, rgba(255, 255, 255, 0.6), transparent 70%);
}
body.theme-bright .detail-hero__bg::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("../img/bright/cloud-a.png"), url("../img/bright/cloud-b.png");
  background-repeat: no-repeat;
  background-position: 6% 18%, 82% 12%;
  background-size: clamp(90px, 13vw, 190px), clamp(70px, 9vw, 130px);
  opacity: 0.9;
  image-rendering: pixelated;
}
body.theme-bright .detail-hero__bg::after {
  background-image: linear-gradient(rgba(32, 92, 140, 0.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(32, 92, 140, 0.07) 1px, transparent 1px);
  background-size: 64px 64px;
}
body.theme-bright .back-link { color: var(--ink-soft); font-family: var(--font-pixel); font-size: 7px; letter-spacing: 0.08em; }
body.theme-bright .back-link:hover { color: #a26000; }
body.theme-bright .detail-title { color: var(--ink); text-shadow: 0 3px 0 rgba(255, 255, 255, 0.35); }
body.theme-bright .detail-title__en { color: #a26000; font-family: var(--font-pixel); font-size: 8px; }
body.theme-bright .detail-tagline { color: var(--ink); }
body.theme-bright .detail-lead { color: var(--ink-soft); }
body.theme-bright .meta-list { border-top: 2px solid var(--ink); }
body.theme-bright .meta-list > div { border-bottom: 2px dashed var(--line-2); }
body.theme-bright .meta-list dt { color: #8a6a3a; }
body.theme-bright .meta-list dd { color: var(--ink); }
body.theme-bright .meta-list dd a { color: #a26000; }
body.theme-bright .badge-note { border: 2px dashed var(--line-2); color: var(--ink-soft); background: rgba(255, 253, 247, 0.6); }
body.theme-bright .badge-note i { background: var(--ink-soft); }
body.theme-bright .detail-actions .btn { height: 48px; }

/* 详情页 hero 视觉框 */
body.theme-bright .art--bm .art-bm__bg {
  filter: brightness(0.95) saturate(1.15);
  border: 3px solid var(--ink);
  box-shadow: 7px 7px 0 rgba(43, 33, 25, 0.18);
}
body.theme-bright .art--mc,
body.theme-bright .art--vb,
body.theme-bright .art--auth {
  border: 3px solid var(--ink);
  box-shadow: 7px 7px 0 rgba(43, 33, 25, 0.18);
}
body.theme-bright .art--mc { background: linear-gradient(160deg, #d9f3e3, #b7e6cd); }
body.theme-bright .art--vb { background: linear-gradient(160deg, #f1ebff, #dcd2ff); }
body.theme-bright .art--auth { background: linear-gradient(160deg, #dff3ff, #b9e2ff); }
body.theme-bright .art--vb .vb-quote { color: var(--ink); text-shadow: 2px 2px 0 rgba(255, 255, 255, 0.45); }
body.theme-bright .art--vb .vb-state { color: #5d4b86; }
body.theme-bright .art--vb .vb-label { color: #6a5a8a; }
body.theme-bright .art--vb .wave i { background: linear-gradient(180deg, #a58cff, #6a49d6); }
body.theme-bright .auth-card {
  background: var(--paper);
  border: 3px solid var(--ink);
  box-shadow: 6px 6px 0 rgba(43, 33, 25, 0.18);
}
body.theme-bright .auth-card__head .mono { color: #2c6f9e; }
body.theme-bright .auth-step { color: #4b6b7e; }
body.theme-bright .auth-step b { border-color: #2c6f9e; color: #1f6f9e; }
body.theme-bright .auth-card__foot { border-top: 2px dashed var(--line-2); color: #6b8ba3; }

/* 统计条 */
body.theme-bright .stat-strip {
  background: var(--paper);
  border: 3px solid var(--ink);
  border-radius: 12px;
  box-shadow: 6px 6px 0 rgba(43, 33, 25, 0.14);
  margin-block: clamp(28px, 4vw, 46px);
  overflow: hidden;
}
body.theme-bright .stat-strip > div { border-right: 2px dashed var(--line-2); }
body.theme-bright .stat-strip dt { color: #8a6a3a; }
body.theme-bright .stat-strip dd { color: var(--ink); font-family: var(--font-display); }
body.theme-bright .stat-strip dd span { color: #8a745c; }

/* 概览 / 看点 */
body.theme-bright .d-sec { border-bottom: 2px dashed var(--line-2); }
body.theme-bright .split__statement { color: var(--ink); }
body.theme-bright .split__statement em { color: #d97706; }
body.theme-bright .split__body p { color: var(--ink-soft); }
body.theme-bright .split__body strong { color: var(--ink); }
body.theme-bright .feature-grid { row-gap: 16px; }
body.theme-bright .feature {
  background: var(--paper);
  border: 2px solid var(--ink);
  border-radius: 10px;
  box-shadow: 4px 4px 0 rgba(43, 33, 25, 0.12);
  padding: 20px;
  border-top: 2px solid var(--ink);
}
body.theme-bright .feature:hover {
  transform: translate(-2px, -2px);
  border-color: var(--ink);
  box-shadow: 6px 6px 0 rgba(43, 33, 25, 0.14);
}
body.theme-bright .feature__num { color: #c47a00; }
body.theme-bright .feature h3 { color: var(--ink); }
body.theme-bright .feature:hover h3 { color: #c47a00; }
body.theme-bright .feature p { color: var(--ink-soft); }
body.theme-bright .feature p code,
body.theme-bright .version-note code {
  color: #1d7a3a;
  background: #e8f8ea;
  border-color: #9fcf9f;
}

/* 关卡 / 工具 / 版本 / 来源 */
body.theme-bright .zone-card {
  background: var(--paper);
  border: 2px solid var(--ink);
  box-shadow: 4px 4px 0 rgba(43, 33, 25, 0.12);
}
body.theme-bright .zone-card:hover { border-color: var(--ink); box-shadow: 6px 6px 0 rgba(43, 33, 25, 0.14); }
body.theme-bright .zone-card__body h3 { color: var(--ink); }
body.theme-bright .zone-card__body span { color: #8a745c; }
body.theme-bright .zone-card__tool { border: 2px solid var(--ink); background: var(--paper); }

body.theme-bright .tool-card,
body.theme-bright .version-card {
  background: var(--paper);
  border: 2px solid var(--ink);
  box-shadow: 5px 5px 0 rgba(43, 33, 25, 0.14);
}
body.theme-bright .tool-card:hover,
body.theme-bright .version-card:hover {
  transform: translate(-2px, -2px);
  border-color: var(--ink);
  box-shadow: 7px 7px 0 rgba(43, 33, 25, 0.16);
}
body.theme-bright .tool-card__art {
  background: linear-gradient(160deg, #e7f8ec, #cdf0d8);
  border: 2px solid var(--ink);
}
body.theme-bright .tool-card__art .slime-grid { background: #d9f2df; border: 2px solid var(--ink); }
body.theme-bright .tool-card__art .slime-grid i { background: rgba(63, 191, 107, 0.12); }
body.theme-bright .tool-card__art .slime-grid i.is-slime { background: #3fbf6b; box-shadow: none; }
body.theme-bright .tool-card__art .slime-grid i.is-center { background: #ffb020; box-shadow: none; }
body.theme-bright .tool-card__art .sign { border: 2px solid var(--ink); }
body.theme-bright .tool-card__art .cmd-line { background: var(--paper); border: 2px solid var(--ink); }
body.theme-bright .tool-card__art .cmd-line code { color: #1d7a3a; }
body.theme-bright .tool-card__title h3 { color: var(--ink); }
body.theme-bright .tool-card__title span { color: #a08a70; }
body.theme-bright .tool-card p { color: var(--ink-soft); }
body.theme-bright .tool-card p code { color: #1d7a3a; background: #e8f8ea; border-color: #9fcf9f; }
body.theme-bright .tool-card__spec li { color: #8a745c; border: 1px solid var(--line-2); background: #fff9e9; }
body.theme-bright .version-card__loader { color: var(--ink); }
body.theme-bright .version-card__java { border: 2px solid var(--ink); color: var(--ink-soft); background: #fff9e9; }
body.theme-bright .version-card__range { color: var(--ink-soft); }
body.theme-bright .version-card__dl { border-top: 2px dashed var(--line-2); color: #a26000; }
body.theme-bright .version-card__dl:hover { color: #c47a00; }
body.theme-bright .version-note { color: var(--ink-soft); }
body.theme-bright .version-note b { color: var(--ink); }

body.theme-bright .source-list { border-top: 2px solid var(--ink); }
body.theme-bright .source-item { border-bottom: 2px dashed var(--line-2); }
body.theme-bright .source-item__idx { color: #c47a00; }
body.theme-bright .source-item__name { color: var(--ink); }
body.theme-bright .source-item__desc { color: #8a745c; }
body.theme-bright .source-item__off { border: 1px dashed var(--line-2); color: #8a745c; }

/* 天赋树 / 手机截图 */
body.theme-bright .phone-shot {
  background: linear-gradient(160deg, #ffffff, #f3e6c8);
  border: 3px solid var(--ink);
  box-shadow: 7px 7px 0 rgba(43, 33, 25, 0.18);
}
body.theme-bright .media-split__body p { color: var(--ink-soft); }
body.theme-bright .bullet-list { border-top: 2px solid var(--ink); }
body.theme-bright .bullet-list li { border-bottom: 2px dashed var(--line-2); color: var(--ink-soft); }
body.theme-bright .bullet-list b { color: var(--ink); }
body.theme-bright .muted-line { color: #8a745c !important; }

/* 图库 / 展示图 */
body.theme-bright .gallery__item {
  border: 2px solid var(--ink);
  box-shadow: 4px 4px 0 rgba(43, 33, 25, 0.12);
  background: var(--paper);
}
body.theme-bright .gallery__item:hover { border-color: var(--ink); transform: translate(-2px, -2px); box-shadow: 6px 6px 0 rgba(43, 33, 25, 0.14); }
body.theme-bright .gallery__cap { color: #fff3d8; }
body.theme-bright .showcase { border: 3px solid var(--ink); box-shadow: 6px 6px 0 rgba(43, 33, 25, 0.14); background: var(--paper); }
body.theme-bright .showcase__cap { border-top: 2px dashed var(--line-2); color: #8a745c; }

/* 协议 / 安全 */
body.theme-bright .protocol-steps { border-top: 2px solid var(--ink); }
body.theme-bright .protocol-step { border-bottom: 2px dashed var(--line-2); }
body.theme-bright .protocol-step__num { color: #c47a00; }
body.theme-bright .protocol-step h3 { color: var(--ink); }
body.theme-bright .protocol-step p { color: var(--ink-soft); }
body.theme-bright .protocol-step code { color: #1f6f9e; background: #e3f4ff; border-color: #9fd0ec; }
body.theme-bright .protocol-visual {
  background: var(--paper);
  border: 3px solid var(--ink);
  box-shadow: 7px 7px 0 rgba(43, 33, 25, 0.16);
}
body.theme-bright .protocol-visual__head .lock { border: 2px solid var(--ink); background: #e3f4ff; color: #1f6f9e; }
body.theme-bright .protocol-visual__head .mono { color: #2c6f9e; }
body.theme-bright .protocol-msgs { border-top: 2px dashed var(--line-2); }
body.theme-bright .protocol-msgs code { color: #2b4b5e; background: #f2f9ff; border-color: #b9d9ea; }
body.theme-bright .protocol-msgs .c { color: #9aa8b2; }
body.theme-bright .protocol-visual__foot { border-top: 2px dashed var(--line-2); color: #8a745c; }
body.theme-bright .note {
  background: #fff6df;
  border: 2px solid var(--ink);
  border-left: 8px solid var(--amber);
  box-shadow: 4px 4px 0 rgba(43, 33, 25, 0.1);
}
body.theme-bright .note h4 { color: var(--ink); }
body.theme-bright .note p, body.theme-bright .note li { color: var(--ink-soft); }
body.theme-bright .note code { color: #a26000; }
body.theme-bright .code-block { background: #f2f9ff; border: 2px solid var(--ink); color: #2b4b5e; }
body.theme-bright .code-block .c { color: #9aa8b2; }
body.theme-bright .code-block .k { color: #2c6f9e; }
body.theme-bright .code-block .s { color: #1d7a3a; }

/* 规格表 */
body.theme-bright .spec { border-top: 2px solid var(--ink); }
body.theme-bright .spec__row { border-bottom: 2px dashed var(--line-2); }
body.theme-bright .spec__row dt { color: #8a6a3a; }
body.theme-bright .spec__row dd { color: var(--ink-soft); }
body.theme-bright .spec__row dd b { color: var(--ink); }

/* 上下篇 */
body.theme-bright .next-nav { border-top: 2px solid var(--ink); background: var(--paper); }
body.theme-bright .next-link { border-right: 2px dashed var(--line-2); }
body.theme-bright .next-link:hover { background: #fff6df; }
body.theme-bright .next-link span { color: #8a6a3a; }
body.theme-bright .next-link h3 { color: var(--ink); }
body.theme-bright .next-link:hover h3 { color: #c47a00; }

/* ---------- 响应式 ---------- */
@media (max-width: 1000px) {
  body.theme-bright .hero { padding-bottom: 0; }
  body.theme-bright .hero-hills img { height: 120px; }
  body.theme-bright .cloud--a { left: 45%; }
  body.theme-bright .cloud--b { display: none; }
  body.theme-bright .float-block--3 { display: none; }
}
@media (max-width: 640px) {
  body.theme-bright .brand__name { font-size: 18px; }
  body.theme-bright .brand__en { display: none; }
  body.theme-bright .hero__title { text-shadow: 0 2px 0 rgba(255, 255, 255, 0.35); }
  body.theme-bright .hero__eyebrow { font-size: 7px; }
  body.theme-bright .sky-sun { width: 52px; top: 9%; right: 7%; }
  body.theme-bright .cloud--a { width: 100px; top: 14%; }
  body.theme-bright .cloud--c { display: none; }
  body.theme-bright .hero-hills img { height: 92px; }
  body.theme-bright .float-block--1 { width: 50px; bottom: 16%; }
  body.theme-bright .float-block--2 { width: 38px; }
  body.theme-bright .hero__stats { margin-bottom: 18px; }
  body.theme-bright .stat { padding: 14px 10px; gap: 8px; flex-wrap: wrap; }
  body.theme-bright .stat__num { font-size: 1.3rem; }
  body.theme-bright .stat__label { font-size: 10px; }
  body.theme-bright .filter { border-radius: 7px; }
  body.theme-bright .work-card { border-radius: 12px; box-shadow: 5px 5px 0 rgba(43, 33, 25, 0.15); }
  body.theme-bright .id-card__foot { margin-top: 48%; padding: 10px; }
  body.theme-bright .footer__wordmark { font-size: 12vw; }
  body.theme-bright .site-footer::before { height: 14px; }
  body.theme-bright .cta-band__inner { border-radius: 12px; box-shadow: 5px 5px 0 rgba(43, 33, 25, 0.18); }
  body.theme-bright .detail-hero__bg::before { background-position: 2% 14%, 92% 10%; }
}
@media (max-width: 400px) {
  body.theme-bright .stat__num { font-size: 1.05rem; }
  body.theme-bright .hero__meta { font-size: 6.5px; }
}

/* =========================================================
   红石层：主色、元件、总线、红石实验室、作者信息
   ========================================================= */
body.theme-bright {
  --amber: #d63a2f;
  --amber-2: #ff6b57;
  --amber-3: #8f1f18;
  --amber-soft: rgba(214, 58, 47, 0.15);
  --redstone: #d63a2f;
  --redstone-2: #ff6b57;
  --redstone-dark: #8f1f18;
  --redstone-glow: rgba(214, 58, 47, 0.45);
}
body.theme-bright .eyebrow::before {
  width: 16px;
  height: 16px;
  background: url("../img/redstone/torch.png") center / contain no-repeat;
  image-rendering: pixelated;
  opacity: 1;
  border-radius: 0;
}
body.theme-bright .sec-title em,
body.theme-bright .hero__title em,
body.theme-bright .hero__title em::after {
  color: var(--redstone);
}
body.theme-bright .hero__title em::after {
  background: linear-gradient(90deg, transparent, var(--redstone-2), transparent);
}
body.theme-bright .btn--primary {
  background: linear-gradient(180deg, #ff8b78, var(--redstone) 62%, #a6261c);
  color: #fff8e8;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.28);
  box-shadow: 0 5px 0 #7a1a13, 5px 5px 0 rgba(43, 33, 25, 0.18), 0 0 26px rgba(214, 58, 47, 0.28);
}
body.theme-bright .btn--primary:hover {
  box-shadow: 0 7px 0 #7a1a13, 7px 7px 0 rgba(43, 33, 25, 0.18), 0 0 34px rgba(214, 58, 47, 0.4);
}
body.theme-bright .filter.is-active {
  background: var(--redstone);
  color: #fff8e8;
  border-color: var(--ink);
  box-shadow: 0 3px 0 #7a1a13;
}
body.theme-bright .filter.is-active span { color: rgba(255, 248, 232, 0.7); }
body.theme-bright .stat:nth-child(1) .stat__num { color: var(--redstone); }
body.theme-bright .stat:nth-child(2) .stat__num { color: #2f9e44; }
body.theme-bright .stat:nth-child(3) .stat__num { color: #e5a00f; }
body.theme-bright .stat:nth-child(4) .stat__num { color: #2c9be6; }
body.theme-bright .hero__eyebrow { color: #9e241a; }
body.theme-bright .hero__eyebrow .dot { background: var(--redstone); box-shadow: 0 0 0 3px rgba(214, 58, 47, 0.16); }

/* 漂浮红石元件 */
body.theme-bright .float-chip { display: none; }
body.theme-bright .float-component {
  position: absolute;
  z-index: 7;
  image-rendering: pixelated;
  filter: drop-shadow(3px 3px 0 rgba(43, 33, 25, 0.2));
  animation: comp-bob 4.6s ease-in-out infinite alternate;
  pointer-events: none;
}
body.theme-bright .float-component--1 { left: 1%; top: 22%; width: clamp(38px, 4.4vw, 60px); animation-delay: -1s; }
body.theme-bright .float-component--2 { right: 1%; bottom: 12%; width: clamp(42px, 4.8vw, 66px); animation-delay: -2.4s; }
body.theme-bright .float-component--3 { right: 6%; top: 4%; width: clamp(32px, 3.6vw, 50px); animation-delay: -0.4s; }
@keyframes comp-bob {
  from { translate: 0 0; }
  to { translate: 0 -10px; }
}

/* 红石总线 */
body.theme-bright .redstone-bus {
  position: relative;
  background: #8b9198;
  border-block: 3px solid var(--ink);
  padding: 11px 0;
  overflow: hidden;
}
body.theme-bright .redstone-bus::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  height: 8px;
  transform: translateY(-50%);
  background: url("../img/redstone/dust-line.png") repeat-x;
  background-size: auto 100%;
  image-rendering: pixelated;
  opacity: 0.95;
}
body.theme-bright .redstone-bus__inner {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
body.theme-bright .bus-node {
  position: relative;
  z-index: 2;
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  background: #a8aeb4;
  border: 2px solid var(--ink);
  border-radius: 6px;
  box-shadow: 3px 3px 0 rgba(43, 33, 25, 0.22);
}
body.theme-bright .bus-node img {
  width: 28px;
  height: 28px;
  image-rendering: pixelated;
}
body.theme-bright .bus-node--lamp {
  background: #ffd45c;
  animation: bus-lamp 2.4s steps(2, end) infinite;
}
@keyframes bus-lamp {
  0%, 100% { box-shadow: 3px 3px 0 rgba(43, 33, 25, 0.22); }
  50% { box-shadow: 0 0 20px rgba(255, 107, 87, 0.95), 3px 3px 0 rgba(43, 33, 25, 0.22); }
}

/* 红石实验室 */
body.theme-bright .redstone {
  background: linear-gradient(180deg, #fff8e8, #fff1d2);
  border-bottom: 2px dashed var(--line-2);
}
body.theme-bright .redstone .sec-title em { color: var(--redstone); }
body.theme-bright .redstone-note {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  background: #fff6df;
  border: 2px solid var(--ink);
  border-left: 8px solid var(--redstone);
  border-radius: 0 10px 10px 0;
  padding: 18px 20px;
  margin-bottom: clamp(24px, 3vw, 36px);
  box-shadow: 4px 4px 0 rgba(43, 33, 25, 0.1);
}
body.theme-bright .redstone-note img {
  width: 30px;
  height: 30px;
  flex: none;
  image-rendering: pixelated;
  filter: drop-shadow(0 0 8px rgba(214, 58, 47, 0.45));
}
body.theme-bright .redstone-note p {
  color: var(--ink-soft);
  font-size: 14px;
  line-height: 1.95;
}
body.theme-bright .redstone-note strong { color: var(--ink); }

body.theme-bright .contraption-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
body.theme-bright .contraption {
  background: var(--paper);
  border: 2px solid var(--ink);
  border-radius: 12px;
  box-shadow: 4px 4px 0 rgba(43, 33, 25, 0.12);
  overflow: hidden;
  transition: transform 0.4s var(--ease), box-shadow 0.4s var(--ease);
}
body.theme-bright .contraption:hover {
  transform: translate(-2px, -2px);
  box-shadow: 6px 6px 0 rgba(43, 33, 25, 0.16);
}
body.theme-bright .contraption__art {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  padding: 18px 14px;
  background: #8b9198;
  border-bottom: 3px solid var(--ink);
  overflow: hidden;
}
body.theme-bright .contraption__art::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  height: 7px;
  transform: translateY(-50%);
  background: url("../img/redstone/dust-line.png") repeat-x;
  background-size: auto 100%;
  image-rendering: pixelated;
}
body.theme-bright .contraption__wire { display: none; }
body.theme-bright .contraption__art img {
  position: relative;
  z-index: 2;
  width: 38px;
  height: 38px;
  padding: 3px;
  image-rendering: pixelated;
  background: #a8aeb4;
  border: 2px solid var(--ink);
  border-radius: 5px;
  box-shadow: 2px 2px 0 rgba(43, 33, 25, 0.22);
  transition: transform 0.3s var(--ease), filter 0.3s var(--ease);
}
body.theme-bright .contraption:hover .contraption__art img { transform: translateY(-3px); }
body.theme-bright .contraption__art img[src*="lamp_on"] {
  animation: lamp-glow 2.4s steps(2, end) infinite;
}
@keyframes lamp-glow {
  0%, 100% { filter: none; }
  50% { filter: drop-shadow(0 0 10px rgba(255, 107, 87, 0.9)) brightness(1.18); }
}
body.theme-bright .contraption__body { padding: 16px 16px 18px; }
body.theme-bright .contraption__num {
  font-family: var(--font-pixel);
  font-size: 7px;
  color: #a26000;
  letter-spacing: 0.06em;
}
body.theme-bright .contraption h3 {
  margin-top: 7px;
  font-family: var(--font-display);
  font-size: 1.16rem;
  font-weight: 400;
  color: var(--ink);
}
body.theme-bright .contraption p {
  margin-top: 7px;
  font-size: 12.8px;
  line-height: 1.9;
  color: var(--ink-soft);
}
body.theme-bright .contraption__parts {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 12px;
}
body.theme-bright .contraption__parts span {
  font-family: var(--font-pixel);
  font-size: 5.8px;
  letter-spacing: 0.04em;
  padding: 3px 6px;
  border: 1px solid var(--line-2);
  border-radius: 3px;
  background: #fff9e9;
  color: #8a745c;
}

/* 作者信息 */
body.theme-bright .work-card__by {
  margin-top: 12px;
  font-size: 11.5px;
  color: #8a745c;
  letter-spacing: 0.02em;
}
body.theme-bright .work-card__by b { color: var(--ink); font-weight: 600; }
body.theme-bright .work-card__by span { margin: 0 5px; color: #b9a58a; }
body.theme-bright .detail-byline {
  margin-top: 12px;
  font-size: 12.5px;
  color: #8a745c;
}
body.theme-bright .detail-byline b { color: var(--ink); font-weight: 600; }
body.theme-bright .detail-byline span { margin: 0 6px; color: #b9a58a; }

/* 红石元素进入日志和关于 */
body.theme-bright .log-row__date::before {
  content: "";
  display: inline-block;
  width: 11px;
  height: 11px;
  margin-right: 6px;
  vertical-align: -1px;
  background: url("../img/redstone/dust.png") center / contain no-repeat;
  image-rendering: pixelated;
}
body.theme-bright .about-quote {
  margin-top: 20px;
  padding: 14px 20px;
  border-left: 8px solid var(--redstone);
  background: #fff6df;
  font-family: var(--font-display);
  font-size: 1.25rem;
  line-height: 1.6;
  color: var(--ink);
  box-shadow: 4px 4px 0 rgba(43, 33, 25, 0.08);
}
body.theme-bright .id-card__torch {
  position: absolute;
  right: 18px;
  bottom: 28%;
  z-index: 4;
  width: 34px;
  height: 34px;
  image-rendering: pixelated;
  filter: drop-shadow(0 0 10px rgba(255, 107, 87, 0.65));
  animation: torch-flicker 2.2s steps(2, end) infinite;
}
@keyframes torch-flicker {
  0%, 100% { filter: drop-shadow(0 0 8px rgba(255, 107, 87, 0.55)); }
  50% { filter: drop-shadow(0 0 16px rgba(255, 107, 87, 0.9)) brightness(1.15); }
}

/* 细节页红石点缀 */
body.theme-bright .detail .d-sec__head .eyebrow::before { background-image: url("../img/redstone/torch.png"); }
body.theme-bright .meta-list dt::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  margin-right: 6px;
  vertical-align: -1px;
  background: url("../img/redstone/dust.png") center / contain no-repeat;
  image-rendering: pixelated;
}
body.theme-bright .stat-strip dt::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  margin-right: 6px;
  vertical-align: -1px;
  background: url("../img/redstone/lamp_on.png") center / contain no-repeat;
  image-rendering: pixelated;
}

/* 响应式 */
@media (max-width: 1000px) {
  body.theme-bright .contraption-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.theme-bright .float-component--3 { display: none; }
}
@media (max-width: 640px) {
  body.theme-bright .redstone-bus { padding: 8px 0; }
  body.theme-bright .bus-node { width: 32px; height: 32px; border-radius: 5px; }
  body.theme-bright .bus-node img { width: 20px; height: 20px; }
  body.theme-bright .bus-node:nth-child(n + 6) { display: none; }
  body.theme-bright .contraption-grid { grid-template-columns: 1fr; }
  body.theme-bright .contraption__art img { width: 32px; height: 32px; }
  body.theme-bright .float-component--1 { width: 34px; top: 16%; }
  body.theme-bright .float-component--2 { width: 38px; bottom: 16%; }
  body.theme-bright .redstone-note { padding: 14px; gap: 12px; }
  body.theme-bright .redstone-note img { width: 24px; height: 24px; }
  body.theme-bright .about-quote { font-size: 1.05rem; }
}

/* =========================================================
   可读性 & 红石强化
   ========================================================= */
body.theme-bright .eyebrow {
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.14em;
  color: #9e241a;
}
body.theme-bright .hero__eyebrow { font-size: 10.5px; }
body.theme-bright .hero__meta {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.04em;
  color: #6b563f;
}
body.theme-bright .tag { font-family: var(--font-sans); font-size: 9px; letter-spacing: 0.06em; }

/* 红石总线元件加大 */
body.theme-bright .bus-node { width: 48px; height: 48px; }
body.theme-bright .bus-node img { width: 30px; height: 30px; }

/* 红石实验室卡片加强 */
body.theme-bright .contraption__art {
  background-color: #8b9198;
  background-image: url("../img/bright/block-stone.png");
  background-size: 32px 32px;
  background-blend-mode: soft-light;
  padding: 20px 16px;
}
body.theme-bright .contraption__art::before { height: 9px; }
body.theme-bright .contraption__art img {
  width: 46px;
  height: 46px;
  padding: 4px;
  background-color: #a8aeb4;
  background-image: url("../img/bright/block-stone.png");
  background-size: 24px 24px;
  background-blend-mode: soft-light;
}
body.theme-bright .contraption h3 { font-size: 1.24rem; }
body.theme-bright .contraption__parts span {
  font-family: var(--font-sans);
  font-size: 8px;
  font-weight: 500;
  letter-spacing: 0.02em;
  padding: 4px 7px;
}

/* 草地上的红石线 & 红石灯 */
body.theme-bright .hero-hills { overflow: hidden; }
body.theme-bright .hero-hills::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background-image: url("../img/redstone/dust-line.png"),
    url("../img/redstone/lamp_on.png"), url("../img/redstone/lamp_on.png");
  background-repeat: repeat-x, no-repeat, no-repeat;
  background-position: 0 62%, 6% 38%, 94% 38%;
  background-size: auto 9px, 34px 34px, 34px 34px;
  image-rendering: pixelated;
  opacity: 0.95;
}

/* 详情页 hero 两侧红石元件 */
body.theme-bright .detail-hero__art::before,
body.theme-bright .detail-hero__art::after {
  content: "";
  position: absolute;
  z-index: 8;
  width: 58px;
  height: 58px;
  background-size: contain;
  background-repeat: no-repeat;
  image-rendering: pixelated;
  pointer-events: none;
  filter: drop-shadow(3px 3px 0 rgba(43, 33, 25, 0.18));
  animation: comp-bob 5s ease-in-out infinite alternate;
}
body.theme-bright .detail-hero__art::before {
  left: -14px;
  top: -10px;
  background-image: url("../img/redstone/torch.png");
}
body.theme-bright .detail-hero__art::after {
  right: -12px;
  bottom: 4px;
  background-image: url("../img/redstone/lamp_on.png");
  animation-delay: -2.2s;
  filter: drop-shadow(0 0 12px rgba(255, 107, 87, 0.55));
}

/* CTA、页脚红石点缀 */
body.theme-bright .cta-band h2::before {
  content: "";
  display: inline-block;
  width: 30px;
  height: 30px;
  margin-right: 12px;
  vertical-align: -5px;
  background: url("../img/redstone/torch.png") center / contain no-repeat;
  image-rendering: pixelated;
  filter: drop-shadow(0 0 8px rgba(255, 107, 87, 0.5));
}
body.theme-bright .footer__brand::before {
  content: "";
  width: 22px;
  height: 22px;
  align-self: center;
  background: url("../img/redstone/lamp_on.png") center / contain no-repeat;
  image-rendering: pixelated;
  filter: drop-shadow(0 0 8px rgba(255, 107, 87, 0.55));
}
body.theme-bright .footer__brand { gap: 10px; }

/* 红石实验室里的信号提示 */
body.theme-bright .contraption:hover .contraption__num::after {
  content: " · SIGNAL ON";
  color: var(--redstone);
}
body.theme-bright .contraption__num::after { transition: color 0.3s; }

/* 详情页红石总线间距 */
body.theme-bright .redstone-bus + .wrap .stat-strip { margin-top: clamp(22px, 3vw, 36px); }

@media (max-width: 640px) {
  body.theme-bright .eyebrow { font-size: 9px; letter-spacing: 0.1em; }
  body.theme-bright .hero__meta { font-size: 8.5px; }
  body.theme-bright .bus-node { width: 36px; height: 36px; }
  body.theme-bright .bus-node img { width: 22px; height: 22px; }
  body.theme-bright .contraption__art img { width: 40px; height: 40px; }
  body.theme-bright .hero-hills::before { background-size: auto 7px, 26px 26px, 26px 26px; }
  body.theme-bright .detail-hero__art::before,
  body.theme-bright .detail-hero__art::after { width: 42px; height: 42px; }
  body.theme-bright .footer__brand::before { width: 16px; height: 16px; }
}

/* 移动端收尾 */
@media (max-width: 640px) {
  body.theme-bright .cloud { display: none; }
  body.theme-bright .hero__meta { font-size: 9px; }
  body.theme-bright .detail-hero__art::after { right: -10px; top: 6px; bottom: auto; }
  body.theme-bright .detail-hero__art::before { left: -10px; top: -8px; }
}
body.theme-bright .detail-hero__art::after { right: -12px; top: 8px; bottom: auto; }

/* 移动端详情页顺序 & 档案卡高度 */
@media (max-width: 940px) {
  body.theme-bright .detail-hero__meta { order: 1; }
  body.theme-bright .detail-title { order: 2; }
  body.theme-bright .detail-title__en { order: 2; }
  body.theme-bright .detail-tagline { order: 3; }
  body.theme-bright .detail-byline { order: 4; margin-top: 10px; }
  body.theme-bright .detail-lead { order: 5; }
  body.theme-bright .detail-hero__art { order: 6; }
  body.theme-bright .detail-actions { order: 7; }
  body.theme-bright .meta-list { order: 8; }
  body.theme-bright .detail-hero__copy > .muted-line { order: 9; }
}
body.theme-bright .id-card {
  aspect-ratio: auto;
  min-height: 560px;
}
body.theme-bright .id-card__foot {
  margin-top: auto;
}
@media (max-width: 1000px) {
  body.theme-bright .id-card { min-height: 500px; }
}
@media (max-width: 640px) {
  body.theme-bright .id-card { min-height: 430px; }
  body.theme-bright .id-card__glyph { font-size: 7rem; }
  body.theme-bright .footer__wordmark {
    font-size: 11vw;
    -webkit-text-stroke-width: 2.5px;
  }
}
body.theme-bright .footer__wordmark {
  -webkit-text-stroke-width: 3px;
  -webkit-text-stroke-color: rgba(255, 243, 216, 0.6);
}

/* 档案卡红石火把位置 & 页脚字标 */
body.theme-bright .id-card__torch { right: 16px; bottom: 44%; top: auto; }
body.theme-bright .footer__wordmark { color: rgba(255, 243, 216, 0.06); }
@media (max-width: 640px) {
  body.theme-bright .id-card__torch { width: 28px; height: 28px; right: 12px; bottom: 44%; }
}

/* 红石细节修正：协议面板、舞台标签、正文可读性、档案卡 */
body.theme-bright .protocol-visual .auth-node {
  color: #1f6f9e;
  border: 1px solid #9fd0ec;
  background: #e3f4ff;
}
body.theme-bright .protocol-visual .auth-line {
  background: linear-gradient(90deg, rgba(44, 155, 230, 0.12), rgba(44, 155, 230, 0.55), rgba(44, 155, 230, 0.12));
}
body.theme-bright .protocol-visual .auth-line__tag {
  color: #1f6f9e;
  background: #fffdf7;
  border: 1px solid #b9d9ea;
  border-radius: 3px;
  padding: 1px 4px;
}
body.theme-bright .stage-tag {
  font-family: var(--font-mono);
  font-size: 8px;
  letter-spacing: 0.04em;
}
body.theme-bright .split__body p { font-size: 14.5px; }
body.theme-bright .feature p { font-size: 13.8px; }
body.theme-bright .about__body > p { font-size: 15px; }
body.theme-bright .detail-lead { font-size: 15px; }
body.theme-bright .work-card__desc { font-size: 14px; }
body.theme-bright .log-row p { font-size: 13.5px; }
@media (max-width: 640px) {
  body.theme-bright .id-card { min-height: 470px; }
  body.theme-bright .split__body p,
  body.theme-bright .about__body > p,
  body.theme-bright .detail-lead { font-size: 14px; }
}

@media (max-width: 1180px) {
  body.theme-bright .cloud { display: none; }
}

/* 导航红石图标 & 移动端详情页云 */
body.theme-bright .nav__link[href*="#redstone"]::before {
  content: "";
  display: inline-block;
  width: 12px;
  height: 12px;
  margin-right: 5px;
  vertical-align: -1px;
  background: url("../img/redstone/torch.png") center / contain no-repeat;
  image-rendering: pixelated;
}
@media (max-width: 640px) {
  body.theme-bright .detail-hero__bg::before {
    opacity: 0.45;
    background-size: 62px, 44px;
    background-position: 92% 5%, 2% 10%;
  }
}

/* =========================================================
   社交主页 / 制作名单 / 署名链接
   ========================================================= */
body.theme-bright .hero__social {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
  position: relative;
  z-index: 2;
}
body.theme-bright .social {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 32px;
  padding: 0 11px;
  border: 2px solid var(--ink);
  border-radius: 7px;
  background: var(--paper);
  color: var(--ink);
  font-size: 11px;
  font-weight: 600;
  line-height: 1;
  box-shadow: 2px 2px 0 rgba(43, 33, 25, 0.16);
  transition: transform 0.3s var(--ease), box-shadow 0.3s var(--ease);
}
body.theme-bright .social:hover {
  transform: translate(-1px, -1px);
  box-shadow: 3px 3px 0 rgba(43, 33, 25, 0.2);
}
body.theme-bright .social__icon {
  display: grid;
  place-items: center;
  width: 16px;
  height: 16px;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.22);
  font-family: var(--font-pixel);
  font-size: 7px;
  line-height: 1;
}
body.theme-bright .social--bili {
  background: #00A1D6;
  color: #fff;
  border-color: var(--ink);
}
body.theme-bright .social--ghost {
  background: var(--paper);
  color: #007aa3;
  border-color: var(--ink);
}
body.theme-bright .social--ghost .social__icon {
  background: #00A1D6;
  color: #fff;
}

body.theme-bright .team-section {
  background: #fff3d8;
  border-top: 2px solid var(--ink);
}
body.theme-bright .team-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
body.theme-bright .person {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 18px;
  background: var(--paper);
  border: 2px solid var(--ink);
  border-radius: 12px;
  box-shadow: 4px 4px 0 rgba(43, 33, 25, 0.13);
  transition: transform 0.35s var(--ease), box-shadow 0.35s var(--ease);
}
body.theme-bright .person:hover {
  transform: translate(-2px, -2px);
  box-shadow: 6px 6px 0 rgba(43, 33, 25, 0.16);
}
body.theme-bright .person__avatar,
body.theme-bright .person__glyph {
  width: 72px;
  height: 72px;
  flex: none;
  border-radius: 50%;
  border: 3px solid var(--ink);
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.55);
}
body.theme-bright .person__avatar {
  object-fit: cover;
  background: #f0e5cf;
}
body.theme-bright .person__glyph {
  display: grid;
  place-items: center;
  background: linear-gradient(160deg, #ffe9a8, #ffb020);
  color: #7a2e00;
  font-family: var(--font-display);
  font-size: 2.05rem;
  line-height: 1;
  text-shadow: 0 2px 0 rgba(255, 255, 255, 0.35);
}
body.theme-bright .person__body { min-width: 0; }
body.theme-bright .person__role {
  font-family: var(--font-mono);
  font-size: 8px;
  letter-spacing: 0.06em;
  color: #a26000;
}
body.theme-bright .person h3 {
  margin-top: 6px;
  font-family: var(--font-display);
  font-size: 1.2rem;
  font-weight: 400;
  color: var(--ink);
}
body.theme-bright .person p {
  margin-top: 5px;
  font-size: 12px;
  line-height: 1.7;
  color: var(--ink-soft);
}
body.theme-bright .person__links {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 10px;
}
body.theme-bright .person__links .social {
  min-height: 28px;
  padding: 0 9px;
  font-size: 10px;
  box-shadow: 2px 2px 0 rgba(43, 33, 25, 0.14);
}
body.theme-bright .person__nolink {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 9px;
  border: 1px dashed var(--line-2);
  border-radius: 6px;
  color: #8a745c;
  font-size: 10px;
}
body.theme-bright .team__note {
  margin-top: 18px;
  padding-top: 14px;
  border-top: 2px dashed var(--line-2);
  font-size: 12px;
  line-height: 1.8;
  color: #8a745c;
}
body.theme-bright .about__team-link {
  margin-top: 18px;
}

body.theme-bright .detail-byline a,
body.theme-bright .byline-link {
  color: #9e241a;
  border-bottom: 1px solid rgba(158, 36, 26, 0.35);
  transition: color 0.3s, border-color 0.3s;
}
body.theme-bright .detail-byline a:hover,
body.theme-bright .byline-link:hover {
  color: #c47a00;
  border-color: rgba(196, 122, 0, 0.5);
}

@media (max-width: 1000px) {
  body.theme-bright .team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  body.theme-bright .hero__social { gap: 6px; margin-top: 12px; }
  body.theme-bright .social { font-size: 10px; padding: 0 9px; min-height: 30px; }
  body.theme-bright .team-grid { grid-template-columns: 1fr; }
  body.theme-bright .person { padding: 14px; gap: 12px; }
  body.theme-bright .person__avatar,
  body.theme-bright .person__glyph { width: 58px; height: 58px; }
  body.theme-bright .person__glyph { font-size: 1.6rem; }
}

/* =========================================================
   影像（B 站视频） + Hero 作品快捷入口
   ========================================================= */
body.theme-bright .videos {
  background:
    radial-gradient(900px 460px at 82% -8%, rgba(255, 196, 92, 0.24), transparent 62%),
    linear-gradient(180deg, #fff6e2 0%, #fdf0d6 100%);
  border-top: 2px solid var(--ink);
  border-bottom: 2px solid var(--ink);
}
body.theme-bright .video-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
body.theme-bright .video {
  display: flex;
  flex-direction: column;
  min-width: 0;
  background: var(--paper);
  border: 2px solid var(--ink);
  border-radius: 13px;
  overflow: hidden;
  box-shadow: 4px 4px 0 rgba(43, 33, 25, 0.13);
  transition: transform 0.45s var(--ease), box-shadow 0.45s var(--ease);
}
body.theme-bright .video:hover,
body.theme-bright .video:focus-visible {
  transform: translate(-2px, -4px);
  box-shadow: 7px 9px 0 rgba(43, 33, 25, 0.17);
}
body.theme-bright .video__frame {
  position: relative;
  display: block;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #2a2118;
  border-bottom: 2px solid var(--ink);
  isolation: isolate;
}
body.theme-bright .video--feature .video__frame { border-bottom: 0; border-right: 2px solid var(--ink); }
/* 封面统一：B 站封面风格各异（有真人脸、有花字），用一层 soft-light 暖色分级把色温
   统一到站点的奶油 / 陶土色系——不压饱和，所以细节和花字都还在；
   hover 时暖色层减弱，封面回到原色调。 */
body.theme-bright .video__cover {
  /* 绝对定位铺满：让 .video__frame 的高度完全由 aspect-ratio / grid 决定，
     不受图片自身固有比例影响（否则精选卡的封面高度会被 16:9 顶回去） */
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  display: block;
  filter: saturate(0.98) contrast(1.05) brightness(1.01);
  transform: scale(1.01);
  transition: transform 0.75s var(--ease), filter 0.55s var(--ease);
}
body.theme-bright .video:hover .video__cover,
body.theme-bright .video:focus-visible .video__cover {
  transform: scale(1.075);
  filter: saturate(1.06) contrast(1.06) brightness(1.03);
}
body.theme-bright .video__shade {
  position: absolute;
  inset: 0;
  background:
    /* 一层很淡的暖色，把封面色温往站点的奶油/陶土靠一点 */
    linear-gradient(180deg, rgba(255, 214, 150, 0.14) 0%, rgba(236, 150, 80, 0.06) 52%, rgba(116, 50, 20, 0.2) 100%),
    /* 明暗层次：保证左上标签、右下时长始终可读 */
    linear-gradient(180deg, rgba(0, 0, 0, 0.1) 0%, transparent 36%, transparent 58%, rgba(18, 12, 8, 0.44) 100%);
  opacity: 1;
  transition: opacity 0.55s var(--ease);
  pointer-events: none;
}
body.theme-bright .video:hover .video__shade,
body.theme-bright .video:focus-visible .video__shade { opacity: 0.62; }

/* hover 时封面底部扫过一条红石色进度线，暗示「开始播放」 */
body.theme-bright .video__frame::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 3;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, #d63a2f 0%, #ffb020 62%, #ffe08a 100%);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.72s var(--ease);
  pointer-events: none;
}
body.theme-bright .video:hover .video__frame::before,
body.theme-bright .video:focus-visible .video__frame::before { transform: scaleX(1); }
body.theme-bright .video__play {
  position: absolute;
  left: 50%;
  top: 50%;
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  margin: -23px 0 0 -23px;
  border: 2px solid var(--ink);
  border-radius: 50%;
  background: rgba(255, 250, 236, 0.93);
  box-shadow: 0 6px 16px rgba(20, 12, 6, 0.35), 2px 2px 0 rgba(43, 33, 25, 0.2);
  transition: transform 0.45s var(--ease), background 0.3s, box-shadow 0.45s;
}
body.theme-bright .video__play svg {
  width: 19px;
  height: 19px;
  margin-left: 2px;
  fill: #d63a2f;
  transition: fill 0.3s;
}
body.theme-bright .video:hover .video__play {
  transform: scale(1.12);
  background: #d63a2f;
  box-shadow: 0 8px 22px rgba(214, 58, 47, 0.42), 2px 2px 0 rgba(43, 33, 25, 0.24);
}
body.theme-bright .video:hover .video__play svg { fill: #fff8e8; }
body.theme-bright .video__tag,
body.theme-bright .video__dur {
  position: absolute;
  z-index: 2;
  font-family: var(--font-mono);
  font-size: 9px;
  letter-spacing: 0.04em;
  line-height: 1;
  padding: 5px 7px;
  border-radius: 4px;
}
body.theme-bright .video__tag {
  left: 9px;
  top: 9px;
  color: #4a3110;
  background: rgba(255, 247, 226, 0.95);
  border: 1.5px solid var(--ink);
  font-weight: 600;
}
body.theme-bright .video__dur {
  right: 9px;
  bottom: 9px;
  color: #fff6e0;
  background: rgba(24, 16, 10, 0.72);
  border: 1.5px solid rgba(255, 245, 220, 0.35);
}
body.theme-bright .video__body {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 13px 15px 15px;
}
body.theme-bright .video__title {
  font-family: var(--font-display);
  font-size: 1.02rem;
  font-weight: 400;
  line-height: 1.35;
  color: var(--ink);
}
body.theme-bright .video__sub {
  font-size: 12px;
  line-height: 1.65;
  color: var(--ink-soft);
}
body.theme-bright .video__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-top: 2px;
  padding-top: 9px;
  border-top: 1.5px dashed var(--line-2);
  font-family: var(--font-mono);
  font-size: 9.5px;
  color: #8a745c;
}
body.theme-bright .video__go {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  color: #007aa3;
  transition: color 0.3s, transform 0.3s var(--ease);
}
body.theme-bright .video:hover .video__go {
  color: #d63a2f;
  transform: translateX(2px);
}

/* 精选大卡：左封面 + 右信息。封面给固定高度，右侧标题组在上、数据条用 margin-top:auto 贴底，
   这样右栏不会出现一块空白，卡片高度也不再被 aspect-ratio 拖着走。 */
body.theme-bright .video--feature {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 1.34fr) minmax(0, 1fr);
  align-items: stretch;
}
body.theme-bright .video--feature .video__frame {
  aspect-ratio: auto;
  /* 用 min-height 而不是固定 height：封面靠 align-self:stretch 撑满行高，
     这样右栏文字比封面高的时候（约 881~1100px 那几档），封面底下不会漏出一条奶白色。 */
  height: auto;
  min-height: clamp(288px, 23.5vw, 336px);
  max-height: none;
}
/* 精选封面是 2:1 的框装 16:9 的图，稍微往上提一点，别把人/标题裁掉 */
body.theme-bright .video--feature .video__cover { object-position: 50% 44%; }
body.theme-bright .video--feature .video__body {
  justify-content: flex-start;
  gap: 12px;
  padding: 24px 30px 22px;
}
body.theme-bright .video--feature .video__title { font-size: 1.72rem; line-height: 1.26; }
body.theme-bright .video--feature .video__sub {
  font-size: 13.5px;
  line-height: 1.8;
  max-width: 34ch;
}
body.theme-bright .video--feature .video__meta {
  margin-top: auto;
  max-width: none;
}
body.theme-bright .video--feature .video__play { width: 58px; height: 58px; margin: -29px 0 0 -29px; }
body.theme-bright .video--feature .video__play svg { width: 24px; height: 24px; }

/* 精选标记（金块 + 像素字体，和作品卡的 FEATURED 同一套语言） */
body.theme-bright .video__badge {
  position: absolute;
  right: 9px;
  top: 9px;
  z-index: 2;
  padding: 5px 9px;
  border: 2px solid var(--ink);
  border-radius: 5px;
  background: linear-gradient(160deg, #ffe08a, #ffb020);
  color: #6b2a00;
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.06em;
  box-shadow: 2px 2px 0 rgba(43, 33, 25, 0.28);
}
/* 精选卡标题上方的引导行 */
body.theme-bright .video__kicker {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-family: var(--font-mono);
  font-size: 9.5px;
  letter-spacing: 0.12em;
  color: #b4392c;
}
body.theme-bright .video__kicker::before {
  content: "";
  width: 5px;
  height: 5px;
  flex: none;
  background: #d63a2f;
  box-shadow: 0 0 0 2px rgba(214, 58, 47, 0.16);
}

body.theme-bright .video-more { margin-top: 22px; }
body.theme-bright .video-more__link {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 18px;
  background: var(--paper);
  border: 2px solid var(--ink);
  border-radius: 11px;
  box-shadow: 3px 3px 0 rgba(43, 33, 25, 0.13);
  transition: transform 0.4s var(--ease), box-shadow 0.4s var(--ease), background 0.4s;
}
body.theme-bright .video-more__link:hover {
  transform: translate(-2px, -2px);
  box-shadow: 5px 5px 0 rgba(43, 33, 25, 0.17);
  background: #fffdf6;
}
body.theme-bright .video-more__icon {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  flex: none;
  border: 2px solid var(--ink);
  border-radius: 7px;
  background: #00A1D6;
  color: #fff;
  font-family: var(--font-pixel);
  font-size: 10px;
}
body.theme-bright .video-more__text {
  font-size: 12.5px;
  color: var(--ink-soft);
}
body.theme-bright .video-more__text strong { color: var(--ink); }
body.theme-bright .video-more__arrow {
  margin-left: auto;
  font-size: 14px;
  color: #9e241a;
  transition: transform 0.35s var(--ease);
}
body.theme-bright .video-more__link:hover .video-more__arrow { transform: translate(2px, -2px); }

/* Hero 作品快捷入口 */
body.theme-bright .hero__works {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 18px;
  position: relative;
  z-index: 2;
}
body.theme-bright .hero-chip {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 32px;
  padding: 0 12px 0 6px;
  border: 2px solid var(--ink);
  border-radius: 8px;
  background: rgba(255, 250, 236, 0.86);
  color: var(--ink);
  font-size: 11.5px;
  font-weight: 600;
  box-shadow: 2px 2px 0 rgba(43, 33, 25, 0.14);
  transition: transform 0.32s var(--ease), box-shadow 0.32s var(--ease), background 0.3s;
}
body.theme-bright .hero-chip__num {
  display: grid;
  place-items: center;
  width: 21px;
  height: 21px;
  border: 1.5px solid var(--ink);
  border-radius: 5px;
  background: linear-gradient(160deg, #ffe08a, #ffb020);
  color: #6b2a00;
  font-family: var(--font-pixel);
  font-size: 7px;
}
body.theme-bright .hero-chip:hover {
  transform: translate(-1px, -2px);
  box-shadow: 4px 4px 0 rgba(43, 33, 25, 0.18);
  background: #fffdf6;
}

/* 影像卡标签 */
body.theme-bright .video__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 2px 0 4px;
}
body.theme-bright .video__tags span {
  padding: 4px 8px;
  border: 1.5px solid var(--line-2);
  border-radius: 5px;
  background: #fffdf6;
  font-family: var(--font-mono);
  font-size: 9px;
  letter-spacing: 0.03em;
  color: #8a745c;
}

/* ---------- 影像区 / Hero 快捷入口：响应式（放在最后，确保覆盖上面的基础规则） ---------- */
@media (max-width: 1080px) {
  body.theme-bright .video-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.theme-bright .video--feature { grid-template-columns: minmax(0, 1.24fr) minmax(0, 1fr); }
  body.theme-bright .video--feature .video__frame { min-height: clamp(264px, 30vw, 316px); }
  body.theme-bright .video--feature .video__body { padding: 20px 22px 18px; gap: 10px; }
  body.theme-bright .video--feature .video__title { font-size: 1.42rem; }
}
/* 平板竖屏：两栏会挤成窄条，改成封面在上、信息在下 */
@media (max-width: 880px) {
  body.theme-bright .video--feature { grid-template-columns: 1fr; }
  body.theme-bright .video--feature .video__frame {
    border-right: 0;
    border-bottom: 2px solid var(--ink);
    aspect-ratio: 16 / 9;
    height: auto;
    min-height: 0;
  }
  body.theme-bright .video--feature .video__body { padding: 18px 20px 16px; gap: 9px; }
  body.theme-bright .video--feature .video__meta { margin-top: 4px; }
  body.theme-bright .video--feature .video__sub { max-width: none; }
}
@media (max-width: 760px) {
  body.theme-bright .video-grid { grid-template-columns: 1fr; gap: 14px; }
  body.theme-bright .video--feature .video__title { font-size: 1.26rem; }
  body.theme-bright .video__play { width: 40px; height: 40px; margin: -20px 0 0 -20px; }
  body.theme-bright .video--feature .video__play { width: 46px; height: 46px; margin: -23px 0 0 -23px; }
  body.theme-bright .hero__works { gap: 6px; margin-top: 14px; }
  body.theme-bright .hero-chip { font-size: 10.5px; min-height: 30px; padding: 0 10px 0 5px; }
}
@media (max-width: 480px) {
  body.theme-bright .video__body { padding: 12px 13px 13px; }
  body.theme-bright .video__title { font-size: 1rem; }
  body.theme-bright .video--feature .video__kicker { font-size: 9px; }
}
/* 触屏没有 hover：调色不撤回，避免每次点击闪一下 */
@media (hover: none) {
  body.theme-bright .video__shade { opacity: 0.92; }
}

/* ---------- 小工具（B 站 web toy） ---------- */
body.theme-bright .toys .sec-head { margin-bottom: 26px; }
body.theme-bright .toy-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}
body.theme-bright .toy {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 9px;
  padding: 16px 18px 15px 20px;
  background: var(--paper);
  border: 2px solid var(--ink);
  border-radius: 11px;
  box-shadow: 3px 3px 0 rgba(43, 33, 25, 0.13);
  overflow: hidden;
  transition: transform 0.45s var(--ease), box-shadow 0.45s var(--ease),
    background 0.4s var(--ease);
}
body.theme-bright .toy::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, #d63a2f 0%, #ffb020 100%);
  transform: scaleY(0);
  transform-origin: top center;
  transition: transform 0.5s var(--ease);
}
body.theme-bright .toy:hover,
body.theme-bright .toy:focus-visible {
  transform: translate(-2px, -4px);
  box-shadow: 6px 8px 0 rgba(43, 33, 25, 0.18);
  background: #fffdf6;
}
body.theme-bright .toy:hover::before,
body.theme-bright .toy:focus-visible::before { transform: scaleY(1); }

body.theme-bright .toy__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
body.theme-bright .toy__num {
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: #9e241a;
}
body.theme-bright .toy__go {
  font-size: 13px;
  line-height: 1;
  color: var(--ink-soft);
  transition: transform 0.35s var(--ease), color 0.35s var(--ease);
}
body.theme-bright .toy:hover .toy__go,
body.theme-bright .toy:focus-visible .toy__go {
  transform: translate(2px, -2px);
  color: #9e241a;
}
body.theme-bright .toy__title {
  font-family: var(--font-display);
  font-size: 1.16rem;
  line-height: 1.32;
  color: var(--ink);
}
body.theme-bright .toy__sub {
  font-size: 12.5px;
  line-height: 1.72;
  color: var(--ink-soft);
}

@media (max-width: 1080px) {
  body.theme-bright .toy-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  body.theme-bright .toy-grid { grid-template-columns: 1fr; gap: 12px; }
  body.theme-bright .toy { padding: 14px 15px 13px 17px; }
  body.theme-bright .toy__title { font-size: 1.06rem; }
  body.theme-bright .toys .sec-head { margin-bottom: 20px; }
}
