/* 基础样式与主题 */
:root {
  --brand:#111111;
  --text:#111111;
  --muted:#6b7280;
  --bg:#ffffff;
  --card:#f7f7f8;
  --border:#e5e7eb;
  --primary:#111111;
  --primary-hover:#000000;
}

* { box-sizing:border-box; }
html, body { height:100%; }
html { scroll-behavior:smooth; }
body {
  margin:0;
  font-family: "PingFang SC", "Microsoft YaHei", "Inter", ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
  color:var(--text);
  background:var(--bg);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
a{color:var(--text); text-decoration:none;}
a:hover{text-decoration:underline;}
.container { width:100%; max-width:1080px; margin:0 auto; padding:0 20px; }

/* Header */
.site-header {
  position:fixed; top:0; left:0; right:0; z-index:100;

  backdrop-filter:saturate(180%) blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border-bottom:1px solid transparent;
}
.has-fixed-header { padding-top:64px; }
.site-header.scrolled {
  background:rgba(255,255,255,0.78);
  border-bottom:1px solid rgba(17,17,17,0.06);
  box-shadow:0 10px 24px rgba(0,0,0,0.06);
}
.header-inner { display:flex; align-items:center; justify-content:space-between; height:64px; }
.brand { display:flex; align-items:center; gap:10px; text-decoration:none; color:var(--brand); font-weight:700; }
.logo { display:block; }
.brand-text { font-size:18px; letter-spacing:0.2px; }
.nav { display:flex; gap:18px; }
.nav a { color:var(--text); text-decoration:none; font-weight:600; font-size:14px; }
.nav a:hover { text-decoration:underline; }
.nav-toggle { display:none; background:none; border:1px solid var(--border); border-radius:8px; padding:6px 10px; font-size:18px; }

/* Hero */
.hero { padding:252px 0 172px; position: relative; }

.hero-inner { display:grid; grid-template-columns:1fr; gap:16px; align-items:center; justify-items:center; text-align:center; position: relative; z-index: 1; }
.hero h1 { font-size:60px; margin:0 0 30px;     font-style: initial;
    background-clip: text;
    -webkit-background-clip: text;
    background-image: linear-gradient(90deg,#a241f1,#10b8eb 35%,#0ed88a,rgba(84,197,124,.8));
    color: transparent;}
.hero p { color:var(--muted); margin:0 0 50px; line-height:1.7; font-size: 20px;}
.hero-cta { display:flex; gap:12px; margin:18px 0;    justify-content: center; }
.btn { position:relative; overflow:hidden; display:inline-flex; align-items:center; justify-content:center; height:54px; padding:0 28px; border-radius:12px; font-weight:700; border:1px solid var(--border); background:#fff; color:var(--text); text-decoration:none; box-shadow:0 2px 0 rgba(255,255,255,0.6) inset, 0 6px 16px rgba(17,17,17,0.06); transition: transform .2s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease; }
.btn.primary { background:var(--primary); color:#fff; border-color:var(--primary); }
.btn.primary:hover { background:var(--primary-hover); box-shadow:0 3px 0 rgba(255,255,255,0.5) inset, 0 10px 20px rgba(0,0,0,0.14); }
.btn:hover { transform:translateY(-2px); box-shadow:0 3px 0 rgba(255,255,255,0.7) inset, 0 12px 24px rgba(0,0,0,0.10); }
.btn:active { transform:translateY(0); }
.btn::after { content:""; position:absolute; top:-50%; left:-30%; width:60%; height:200%; background:radial-gradient(circle at 30% 50%, rgba(255,255,255,0.6), rgba(255,255,255,0) 60%); transform:translateX(-120%) rotate(15deg); transition:transform .55s ease; pointer-events:none; }
.btn:hover::after { transform:translateX(180%) rotate(15deg); }
.btn.ghost { background:rgba(255,255,255,0.6); backdrop-filter:blur(10px); font-size: 16px;}
.btn.secondary:hover { background:#f3f4f6; }
.tag { display:inline-block; font-size:12px; color:var(--muted); background:var(--card); border:1px solid var(--border); border-radius:999px; padding:4px 10px; margin-right:8px; }
.hero-capsules { display:flex; gap:10px; justify-content:center; flex-wrap:wrap; margin-top:6px; }
.capsule { display:inline-flex; align-items:center; height:34px; padding:0 14px; border-radius:999px; border:1px solid rgba(17,17,17,0.08); background:linear-gradient(180deg, rgba(255,255,255,0.65), rgba(255,255,255,0.35)); backdrop-filter:blur(12px) saturate(160%); -webkit-backdrop-filter:blur(12px); color:#374151; box-shadow:0 1px 0 rgba(255,255,255,0.6) inset, 0 8px 18px rgba(0,0,0,0.06); }
.capsule::before { content:""; width:6px; height:6px; border-radius:50%; background:rgba(17,17,17,0.18); margin-right:8px; }
.hero-visual img { display:none; }

/* Sections */
.section { padding:56px 0; }

.section h2 { font-size:28px; margin:0 0 38px; }
.sub { color:var(--muted); margin-top: 50px;}

/* Pro features (浅色玻璃卡片) */
.pro { color:var(--text); position:relative;     margin-top: 50px;}
.bg-gradients { position:fixed; inset:0; pointer-events:none; z-index:-1; background:
  radial-gradient(800px 400px at 20% 10%, rgba(99,102,241,0.12), transparent 60%),
  radial-gradient(600px 400px at 80% 30%, rgba(236,72,153,0.10), transparent 60%),
  radial-gradient(700px 500px at 50% 90%, rgba(59,130,246,0.10), transparent 60%);
}
.features-pro-grid { display:grid; grid-template-columns: 0.4fr 1fr; gap:16px; align-items: start; }
.card-pro { position:relative; background:rgba(255,255,255,0.6); backdrop-filter:saturate(160%) blur(16px); border:1px solid rgba(17,17,17,0.08); border-radius:16px; padding:32px; overflow:hidden; box-shadow:0 1px 0 rgba(255,255,255,0.6) inset, 0 10px 30px rgba(0,0,0,0.08); }

/* 侧边栏和内容卡片样式 */
.sidebar-card {
  height: auto;
  overflow-y: auto;
  position: sticky;
  align-self: start;
}

.content-card {
  min-height: 500px;
  align-self: start;
}

/* 可折叠菜单样式 */
.menu-category {
  margin-bottom: 12px;
}

.category-toggle {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 16px;
  background: rgba(255,255,255,0.7);
  border: 1px solid rgba(17,17,17,0.08);
  border-radius: 10px;
  cursor: pointer;
  font-weight: 600;
  font-size: 14px;
  transition: all 0.3s ease;
  text-align: left;
}

.category-toggle:hover {
  background: rgba(255,255,255,0.9);
  transform: translateX(2px);
}

.toggle-icon {
  font-size: 12px;
  transition: transform 0.3s ease;
}

.category-toggle.active .toggle-icon {
  transform: rotate(-180deg);
}

.category-content {
  margin: 0;
  padding: 8px 0 0 0;
  list-style: none;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease, padding 0.3s ease;
}

.category-content.show {
  max-height: 500px;
  padding: 8px 0 12px 0;
}

.category-content li {
  margin-bottom: 4px;
}

.nav-link {
  display: block;
  padding: 8px 16px 8px 24px;
  font-size: 14px;
  color: var(--text);
  text-decoration: none;
  border-radius: 8px;
  transition: all 0.2s ease;
}

.nav-link:hover {
  background: rgba(17,17,17,0.05);
  transform: translateX(2px);
  text-decoration: none;
}

.nav-link.active {
  background: var(--primary);
  color: white;
  font-weight: 600;
}

/* 内容区域样式 */
.module-content {
  display: none;
}

.module-content.active {
  display: block;
}

.content-body {
  margin-top: 24px;
}

.content-body h4 {
  margin-top: 24px;
  margin-bottom: 12px;
  font-size: 18px;
}

.content-body p {
  line-height: 1.8;
  margin-bottom: 16px;
}

/* 自定义滚动条 */
.sidebar-card::-webkit-scrollbar {
  width: 6px;
}

.sidebar-card::-webkit-scrollbar-track {
  background: rgba(17,17,17,0.03);
  border-radius: 3px;
}

.sidebar-card::-webkit-scrollbar-thumb {
  background: rgba(17,17,17,0.1);
  border-radius: 3px;
}

.sidebar-card::-webkit-scrollbar-thumb:hover {
  background: rgba(17,17,17,0.2);
}

/* 彩色进度条环绕卡片边框特效 */
.card-pro {
  --border-width: 3px;
  --border-radius: 16px;
  --animation-duration: 4s;
  position: relative;
  overflow: visible;
  transition: all 0.2s ease;
  transform-origin: center;
}


/* 为卡片添加基于鼠标位置的悬停效果 */
.card-pro {
  transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}






.card-pro::before {
  content: '';
  position: absolute;
  top: calc(-1 * var(--border-width));
  left: calc(-1 * var(--border-width));
  width: calc(100% + var(--border-width) * 2);
  height: calc(100% + var(--border-width) * 2);
  border-radius: var(--border-radius);
  z-index: -2; /* 设置在卡片后面 */
  pointer-events: none;
  background: conic-gradient(from 0deg, transparent 0%, transparent 0%, #ff00ff 0%, #0000ff 25%, #00ffff 50%, #00ff00 75%, #ffff00 100%);
  background-size: 100% 100%;
  mask: radial-gradient(
    circle at center,
    transparent calc(100% - var(--border-width)),
    #000 calc(100% - var(--border-width) + 1px)
  );
  -webkit-mask: radial-gradient(
    circle at center,
    transparent calc(100% - var(--border-width)),
    #000 calc(100% - var(--border-width) + 1px)
  );
  animation: borderProgress var(--animation-duration) linear infinite;
}

@keyframes borderProgress {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

.card-pro .card-head h3 { margin:0 0 6px; font-size:25px; color:#000000; }
.card-pro .desc { margin:0; color:#6b7280; line-height:1.7; }
.card-pro .icon-media { display:flex; align-items:center; justify-content:center; height:120px; }
.card-pro .media { margin-top:10px; border-radius:12px; overflow:hidden; border:1px solid rgba(17,17,17,0.06); background:rgba(255,255,255,0.6);     }
.card-pro .media img { width:100%; height:auto; display:block; }
.card-pro .metric { margin-top: 30px;
  background: linear-gradient(45deg, #ffdc90, #feeebc);display:flex; flex-direction:column; align-items:center; justify-content:center; height:120px; border-radius:12px; background:rgba(255,255,255,0.6); border:1px solid rgba(17,17,17,0.06); }
.metric-value { font-size:36px; font-weight:800; color:#111; }
.metric-sub { color:#6b7280; margin-top:4px; }
.card-xl { grid-row: span 2; }

/* 旧 features 样式在其他区块不再使用 */
.features-grid { display:grid; grid-template-columns:repeat(4, 1fr); gap:16px; }
.feature-item { background:rgba(255,255,255,0.6); backdrop-filter:blur(12px); border:1px solid var(--border); border-radius:14px; padding:18px; box-shadow:0 1px 0 rgba(255,255,255,0.6) inset, 0 10px 24px rgba(0,0,0,0.06); }
.feature-item h3 { margin:0 0 6px; font-size:18px; }
.feature-item p { margin:0; color:var(--muted); }

.game-list { display:grid; grid-template-columns:repeat(2, 1fr); gap:6px 14px; padding-left:18px; }
/* 新的游戏卡片栅格 */
.games-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:14px; }
.game-card { background:rgba(255,255,255,0.6); border:1px solid var(--border); border-radius:16px; overflow:hidden; box-shadow:0 1px 0 rgba(255,255,255,0.6) inset, 0 10px 24px rgba(0,0,0,0.06); position: relative; transition: transform 0.3s ease; }
.game-card:hover { transform: translateY(-4px); }
.game-cover { width:100%; height:160px; object-fit:cover; display:block; background:#f3f4f6; }
.game-info { padding:12px 14px; }
.game-info h3 { margin:0 0 4px; font-size:16px; }
.game-info p { margin:0; color:var(--muted); }

/* 游戏卡片悬停特效 */
.game-card { position: relative; overflow: hidden; }
.game-card-overlay {
    position: absolute;
    bottom: -20%;
    left: 0;
    width: 100%;
    height: 0;
    background-image: linear-gradient(180deg,#ffffff00,#fff 80%);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px 12px 0;
    transition: height 0.6s ease;
    z-index: 1;
}

.game-card:hover .game-card-overlay {
    height: 80%;
}

.game-card-button {
    background: rgba(0,0,0,0.9);
    color: white !important;
    border: none;
    padding: 8px 16px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s ease, transform 0.2s ease;
    text-decoration: none !important;
    display: inline-block;
    margin-bottom: 8px;
}

.game-card-button:hover {
    background: rgba(0,0,0,1);
    transform: translateY(-1px) scale(1.05);
    text-decoration: none !important;
}

.download-cards { display:grid; grid-template-columns:repeat(3, 1fr); gap:14px; }
.download-head { display:flex; align-items:flex-end; justify-content:space-between; gap:12px; }
.download-panel { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px; border-radius:16px; background:rgba(255,255,255,0.6); border:1px solid var(--border); backdrop-filter:blur(12px); box-shadow:0 1px 0 rgba(255,255,255,0.6) inset, 0 10px 24px rgba(0,0,0,0.06); }
.download-left { display:flex; align-items:center; gap:12px; }
.dl-title { font-weight:800; font-size:18px; }
.dl-sub { color:var(--muted); }
.download-right { display:flex; align-items:center; gap:12px; }
.btn.lg { height:48px; padding:0 22px; border-radius:14px; }
.hash { color:var(--muted); font-size:12px; }
.card { display:block; padding:18px; border-radius:14px; background:rgba(255,255,255,0.6); backdrop-filter:blur(10px); border:1px solid var(--border); text-decoration:none; color:inherit; box-shadow:0 1px 0 rgba(255,255,255,0.6) inset, 0 10px 24px rgba(0,0,0,0.06); }
.card:hover { border-color:#d1d5db; }
.card-title { font-weight:700; }
.card-sub { color:var(--muted); margin-top:4px; }

.steps { margin:0; padding-left:20px; }
.steps li { margin-bottom:6px; line-height:1.8; }

/* FAQ */
.faq details { border:1px solid var(--border); border-radius:14px; padding:12px 14px; background:#fff; }
.faq details + details { margin-top:12px; }
.faq summary { cursor:pointer; font-weight:600; }
.faq p {
  color:var(--muted);
  margin:8px 0 0;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition: max-height 0.3s ease, opacity 0.3s ease;
}
.faq details[open] p {
  max-height: 100px;
  opacity: 1;
}

/* Footer */
.site-footer { border-top:1px solid var(--border); background:#fff; }
.footer-inner { display:flex; align-items:center; justify-content:space-between; padding:18px 0; }
.footer-brand { display:flex; align-items:center; gap:8px; color:var(--muted); }
.footer-links { display:flex; gap:16px; font-size: 14px; }
.footer-links a { color:var(--text); text-decoration:none; }
.footer-links a:hover { text-decoration:underline; }
.footer-copy { color:var(--muted); font-size:12px; padding:12px 0 18px; border-top:1px solid var(--border); }

/* 滚动渐显动画 */
.fade-in-section {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.fade-in-section.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* 为不同区块添加交错动画延迟 */
#features { transition-delay: 0.1s; }
#games { transition-delay: 0.2s; }
#faq { transition-delay: 0.3s; }

/* Responsive */
@media (max-width: 960px) {
  .hero-inner { grid-template-columns:1fr; }
  .features-pro-grid { grid-template-columns:1fr; }
  .card-xl { grid-row:auto; }
  .features-grid { grid-template-columns:repeat(2, 1fr); }
  .games-grid { grid-template-columns:repeat(2, 1fr); }
  .download-cards { grid-template-columns:1fr; }
}
@media (max-width: 720px) {
  .nav { display:none; position:absolute; right:20px; top:64px; background:#fff; border:1px solid var(--border); border-radius:10px; padding:10px; flex-direction:column; }
  .nav a { padding:8px 6px; }
  .nav-toggle { display:inline-block; }
  .game-list { grid-template-columns:1fr; }
  .games-grid { grid-template-columns:1fr; }
}


