/* ─────────── 全局：禁页面双指缩放（图片缩放只在查看器内 JS 控制） ─────────── */
body, #主区 { touch-action: pan-y; }

/* ══════════════════════════════════════════════════
   搜索系统 · 全局样式
   深色/日间双主题 · 移动端优先 · 安全区适配
   ══════════════════════════════════════════════════ */
:root {
  --主色: #4f8cff;
  --主色-亮: #7ab0ff;
  --主色-暗: #2b5fc7;
  --背景: #0e1420;
  --背景-层: #151d2e;
  --背景-卡片: #1a2438;
  --边框: #26314a;
  --文字: #e8eefc;
  --文字-弱: #9aa7c2;
  --文字-更弱: #66748f;
  --成功: #3ddc84;
  --警告: #ffb02e;
  --危险: #ff5d5d;
  --阴影: rgba(0,0,0,.3);
  --底栏-背景: rgba(14,20,32,.92);
  --热门-背景: rgba(79,140,255,.08);
  --骨架-基: #1b2540;
  --骨架-亮: #2a3858;
  --圆角: 14px;
  --底栏高: 56px;
  --安全区底: env(safe-area-inset-bottom, 0px);
  --安全区顶: env(safe-area-inset-top, 0px);
}

/* ── 日间主题 ── */
[data-theme="light"] {
  --主色: #4f8cff;
  --主色-亮: #7ab0ff;
  --主色-暗: #2b5fc7;
  --背景: #f5f5f5;
  --背景-层: #fafafa;
  --背景-卡片: #ffffff;
  --边框: #e0e0e0;
  --文字: #212121;
  --文字-弱: #757575;
  --文字-更弱: #999999;
  --成功: #3ddc84;
  --警告: #f59e0b;
  --危险: #ff5d5d;
  --阴影: rgba(0,0,0,.06);
  --底栏-背景: rgba(255,255,255,.94);
  --热门-背景: rgba(79,140,255,.06);
  --骨架-基: #eaeaea;
  --骨架-亮: #f5f5f5;
}
[data-theme="light"] .会员面板-副标 { color:#b8860b; }

* { margin: 0; padding: 0; box-sizing: border-box; -webkit-tap-highlight-color: transparent; }

html, body {
  height: 100%;
  background: var(--背景);
  color: var(--文字);
  font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", "Segoe UI", sans-serif;
  font-size: 15px;
  line-height: 1.5;
  overflow: hidden;
  user-select: none;
  -webkit-user-select: none;
}

input, textarea { user-select: text; -webkit-user-select: text; }

#应用 {
  height: 100%;
  display: flex;
  flex-direction: column;
  position: relative;
}

/* ─────────── 顶部栏 ─────────── */
#顶栏 {
  display: none;
  align-items: center;
  justify-content: space-between;
  height: 52px;
  padding: calc(var(--安全区顶) + 0px) 16px 0;
  flex-shrink: 0;
  background: linear-gradient(180deg, #111a2c 0%, rgba(17,26,44,0.9) 70%, transparent 100%);
  position: relative;
  z-index: 10;
}
.顶栏-标题 { display: flex; align-items: center; gap: 8px; font-size: 17px; font-weight: 700; letter-spacing: 1px; }
.顶栏-logo { font-size: 20px; }
.顶栏-右侧 { font-size: 13px; color: var(--文字-弱); }

/* ─────────── 主区 ─────────── */
#主区 {
  flex: 1;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  scroll-behavior: smooth;
  overscroll-behavior-y: contain;
}

/* 页面切换 */
.页面 { display: none; padding: 14px 14px calc(var(--底栏高) + var(--安全区底) + 24px); min-height: 100%; }
.页面.当前页 { display: block; animation: 页面进入 .25s ease; }
@keyframes 页面进入 { from { opacity: .3; transform: translateY(8px); } to { opacity: 1; transform: none; } }

/* ─────────── 区块标题 ─────────── */
.区块标题 {
  display: flex; align-items: center; gap: 8px;
  font-size: 15px; font-weight: 700;
  margin: 4px 2px 12px;
}
.区块标题-火 { font-size: 17px; }
.区块标题-副 { font-size: 12px; color: var(--文字-更弱); font-weight: 400; margin-left: auto; }
.区块标题-清除 { font-size: 12px; color: var(--文字-更弱); background: none; border: none; margin-left: auto; cursor: pointer; }

.卡片区 { margin-bottom: 18px; }

/* ─────────── 搜索区 ─────────── */
.搜索区 {
  flex-shrink: 0;
  background: var(--背景);
  padding: 8px 14px 3px;
}
.搜索框-wrap {
  display: flex; align-items: center; gap: 8px;
  background: var(--背景-卡片);
  border: 1px solid var(--边框);
  border-radius: var(--圆角);
  height: 42px; padding: 0 12px;
  transition: border-color .2s, box-shadow .2s;
  position: relative;
}
.搜索框-wrap:focus-within {
  border-color: var(--主色);
  box-shadow: 0 0 0 3px rgba(79,140,255,.18);
}
.搜索框-图标 { font-size: 16px; opacity: .8; flex-shrink: 0; }
.搜索框 {
  flex: 1; border: none; outline: none; background: none;
  color: var(--文字); font-size: 15px; height: 100%;
}
.搜索框::placeholder { color: var(--文字-更弱); }
.搜索框::-webkit-search-cancel-button { display: none; }
.搜索清除 {
  background: var(--背景-层); color: var(--文字-弱);
  border: none; width: 22px; height: 22px; border-radius: 50%;
  font-size: 12px; cursor: pointer; flex-shrink: 0;
}
.搜索提示 { font-size: 12px; color: var(--文字-更弱); padding: 6px 4px 0; min-height: 0; }

/* ─────────── 分类筛选 ─────────── */
.分类栏 {
  display: flex; flex-wrap: nowrap; gap: 6px; padding: 2px 0 4px; margin-top: 6px;
  overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none;
  position: relative;
}
/* 右侧渐变遮罩：提示还有更多分类 */
.分类栏::after {
  content: ""; position: sticky; right: 0; flex-shrink: 0; width: 32px; min-height: 28px;
  background: linear-gradient(to right, transparent, var(--背景));
  pointer-events: none; z-index: 2;
}
.分类栏::-webkit-scrollbar { display: none; }
.分类chip {
  flex-shrink: 0; border: 1px solid rgba(255,255,255,.09); border-radius: 13px; cursor: pointer;
  background: var(--背景-卡片); color: var(--文字-弱);
  padding: 5px 13px; font-size: 12px; font-weight: 600;
  transition: all .2s;
}
.分类chip:active { transform: scale(.95); }
.分类chip.当前 { background: var(--主色); border-color: var(--主色); color: #fff; box-shadow: 0 3px 10px rgba(79,140,255,.3); }

/* ─────────── 热度榜 ─────────── */
.热度榜 { display: flex; flex-direction: column; gap: 8px; }
.热词 {
  display: flex; align-items: center; gap: 12px;
  background: var(--背景-卡片);
  border: 1px solid var(--边框);
  border-radius: 12px;
  padding: 12px 14px;
  cursor: pointer;
  transition: transform .15s, border-color .15s;
  position: relative;
  overflow: hidden;
}
.热词:active { transform: scale(.97); border-color: var(--主色); }
.热词-排名 {
  width: 26px; height: 26px; border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
  font-weight: 800; font-size: 14px; flex-shrink: 0;
  background: var(--背景-层); color: var(--文字-更弱);
}
.热词:nth-child(1) .热词-排名 { background: linear-gradient(135deg,#ff5f6d,#ffb02e); color: #fff; }
.热词:nth-child(2) .热词-排名 { background: linear-gradient(135deg,#ff9a56,#ffd166); color: #3a2a00; }
.热词:nth-child(3) .热词-排名 { background: linear-gradient(135deg,#ffb02e,#ffe29a); color: #3a2a00; }
.热词-词 { flex: 1; font-size: 15px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.热词-封面 {
  width: 40px; height: 40px; border-radius: 8px; flex-shrink: 0;
  object-fit: cover; background: var(--背景-层);
}
.热词-封面.无图 {
  display: flex; align-items: center; justify-content: center;
  font-size: 18px; background: var(--背景-卡片);
}
.热词-类型 {
  font-size: 11px; padding: 3px 8px; border-radius: 6px; flex-shrink: 0;
}
.热词-类型.游戏 { background: rgba(79,140,255,.15); color: var(--主色-亮); }
.热词-类型.影视 { background: rgba(61,220,132,.15); color: var(--成功); }
.热词-热度 { font-size: 11px; color: var(--文字-更弱); flex-shrink: 0; min-width: 42px; text-align: right; }

/* ─────────── 搜索结果 ─────────── */
.结果列表 { display: flex; flex-direction: column; gap: 10px; }
.结果卡 {
  display: flex; gap: 12px;
  background: var(--背景-卡片);
  border: 1px solid var(--边框);
  border-radius: 14px; padding: 12px;
  cursor: pointer; transition: transform .15s, border-color .15s;
  position: relative;
}
.结果卡:active { transform: scale(.98); border-color: var(--主色); }
.结果卡-封面 {
  width: 64px; height: 64px; border-radius: 10px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  font-size: 30px;
  background: linear-gradient(135deg, #1c2944, #233557);
}
.结果卡-游戏 .结果卡-封面 { background: linear-gradient(135deg,#1c2b52,#233a6b); }
.结果卡-影视 .结果卡-封面 { background: linear-gradient(135deg,#52212e,#6b2333); }
.结果卡-信息 { flex: 1; min-width: 0; }
.结果卡-标题 { font-size: 15px; font-weight: 700; display: flex; align-items: flex-start; gap: 6px; flex: 1; min-width: 0; }
.结果卡-标题文本 { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
/* 模拟器 + 软件：标题双行，去介绍 */
.结果卡-软件 .结果卡-标题文本,
#模拟器列表 .结果卡 .结果卡-标题文本 {
  white-space: normal; display: -webkit-box;
  -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  line-height: 1.35; font-size: 14px;
}
.结果卡-软件 .结果卡-描述,
#模拟器列表 .结果卡 .结果卡-描述 { display: none; }
/* 软件卡标题居中（无介绍时撑满行高） */
.结果卡-软件 .结果卡-信息 { display: flex; align-items: center; }
.结果卡-类型 { font-size: 10px; padding: 2px 6px; border-radius: 5px; position: absolute; bottom: 8px; right: 8px; z-index: 2; }
.结果卡-游戏 .结果卡-类型 { background: rgba(79,140,255,.15); color: var(--主色-亮); }
.结果卡-影视 .结果卡-类型 { background: rgba(61,220,132,.15); color: var(--成功); }
.结果卡-描述 { font-size: 12px; color: var(--文字-弱); margin-top: 4px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.结果卡-元信息 { display: flex; gap: 10px; margin-top: 6px; font-size: 11px; color: var(--文字-更弱); }
.结果卡-评分 { color: var(--警告); font-weight: 700; }

/* ───── 视图切换（列表 / 海报 分段切换）───── */
#结果计数 { margin-left: 0; }
.结果-视图切换 {
  margin-left: auto; flex-shrink: 0;
  display: inline-flex; padding: 2px; gap: 2px;
  background: var(--背景-层); border: 1px solid var(--边框);
  border-radius: 9px;
}
.视图段 {
  font-size: 12px; color: var(--文字-弱);
  background: none; border: none; cursor: pointer;
  padding: 3px 9px; border-radius: 7px;
  display: inline-flex; align-items: center; gap: 4px;
  transition: color .15s, background .15s;
}
.视图段.当前 {
  color: #fff; background: var(--主色);
  font-weight: 600;
}

/* ───── 海报模式（游戏搜索结果：网格海报墙）───── */
.结果列表.海报 {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(102px, 1fr));
  gap: 10px;
}
.结果列表.海报 .结果卡 {
  flex-direction: column;
  padding: 0; gap: 0;
  overflow: hidden;
  border-radius: 12px;
}
.结果列表.海报 .结果卡-封面图 {
  width: 100%; height: auto;
  aspect-ratio: 3 / 4;
  border-radius: 0;
  display: block;
}
.结果列表.海报 .结果卡-信息 { padding: 7px 8px 9px; }
.结果列表.海报 .结果卡-标题 { font-size: 13px; }
.结果列表.海报 .结果卡-标题文本 {
  white-space: normal; display: -webkit-box;
  -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  line-height: 1.3;
}
.结果列表.海报 .结果卡-描述 { display: none; }
.结果列表.海报 .结果卡-网盘 { display: none; }
.结果列表.海报 .结果卡-类型 {
  top: 6px; bottom: auto; right: 6px;
  background: rgba(0,0,0,.55); color: #fff;
}
.结果列表.海报 .结果-更多,
.结果列表.海报 .空结果 { grid-column: 1 / -1; }

/* ───── 横版模式（模拟器：横版骨架大图，单列，每张占一整行）───── */
.结果列表.横版 {
  display: grid;
  grid-template-columns: 1fr;
  grid-auto-rows: max-content;
  align-content: start;
  gap: 12px;
}
.结果列表.横版 .结果卡 {
  flex-direction: column;
  padding: 0; gap: 0;
  overflow: hidden;
  border-radius: 12px;
}
.结果列表.横版 .结果卡-封面 {
  width: 100%; height: auto; flex-shrink: 0;
  border-radius: 0;
  align-items: stretch; justify-content: flex-start;
}
.结果列表.横版 .结果卡-封面图 {
  width: 100%; height: auto;
  aspect-ratio: 16 / 9;
  border-radius: 0;
  display: block;
  background: linear-gradient(110deg, var(--背景-卡片) 30%, var(--背景-层) 50%, var(--背景-卡片) 70%);
  background-size: 200% 100%;
}
.结果列表.横版 .结果卡-信息 { padding: 8px 10px 10px; }
.结果列表.横版 .结果卡-标题 { font-size: 14px; }
.结果列表.横版 .结果卡-标题文本 {
  white-space: normal; display: -webkit-box;
  -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  line-height: 1.3;
}
.结果列表.横版 .结果卡-描述 { display: none; }
.结果列表.横版 .结果卡-网盘 { display: none; }
.结果列表.横版 .结果卡-类型 {
  top: 6px; bottom: auto; right: 6px;
  background: rgba(0,0,0,.55); color: #fff;
}
.结果列表.横版 .结果-更多,
.结果列表.横版 .空结果 { grid-column: 1 / -1; }

.空结果 {
  text-align: center; color: var(--文字-更弱);
  padding: 40px 0; font-size: 14px;
}
.空结果-图标 { font-size: 44px; display: block; margin-bottom: 12px; }

/* ─────────── 手柄页 ─────────── */
.手柄-说明, .模拟器-说明, .软件-说明 { text-align: center; padding: 8px 0 16px; }
.手柄-说明 h2, .模拟器-说明 h2, .软件-说明 h2, .游戏库-说明 h2 { font-size: 20px; margin-bottom: 4px; }
.手柄-说明 p, .模拟器-说明 p, .软件-说明 p, .游戏库-说明 p { font-size: 12px; color: var(--文字-弱); }
/* 模拟器页：标题居中（视图切换已移至分类栏下方的工具条） */
.模拟器-说明-左 { text-align: center; }
.模拟器-工具条 {
  display: flex; align-items: center; justify-content: flex-end;
  padding: 2px 14px 8px;
}

.手柄区 {
  display: flex; flex-direction: column; gap: 10px; padding: 10px 0;
}

/* 外链 */
.外链区 { margin-top: 6px; }
.外链卡 {
  display: flex; align-items: center; gap: 12px;
  border-radius: 14px; padding: 14px; margin-bottom: 10px;
  border: 1px solid var(--边框); cursor: pointer;
  transition: transform .15s; text-decoration: none; color: var(--文字);
}
.外链卡:active { transform: scale(.98); }
.外链-抖音 { background: var(--背景-卡片); }
.外链-淘宝 { background: var(--背景-卡片); }
.外链-图标 { font-size: 30px; width: 44px; height: 44px; display: flex; align-items: center; justify-content: center;
  border-radius: 12px; background: rgba(255,255,255,.06); flex-shrink: 0; }
.外链-文字 { flex: 1; display: flex; flex-direction: column; }
.外链-文字 b { font-size: 16px; }
.外链-文字 i { font-style: normal; font-size: 12px; color: var(--文字-弱); }
.外链-箭头 { font-size: 24px; color: var(--文字-更弱); }
.外链-提示 { font-size: 11px; color: var(--文字-更弱); text-align: center; padding-top: 4px; }
.外链-提示 code { background: var(--背景-层); padding: 2px 6px; border-radius: 4px; font-size: 10px; }

/* ─────────── 模拟器页 ─────────── */
.模拟器网格 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.模拟器卡 {
  background: var(--背景-卡片);
  border: 1px solid var(--边框);
  border-radius: 14px; padding: 16px 12px;
  text-align: center; cursor: pointer;
  transition: transform .15s, border-color .15s;
}
.模拟器卡:active { transform: scale(.96); border-color: var(--主色); }
.模拟器卡-图标 { font-size: 34px; display: block; margin-bottom: 8px; }
.模拟器卡-名称 { font-size: 15px; font-weight: 700; }
.模拟器卡-英文 { font-size: 10px; color: var(--文字-更弱); margin-top: 2px; }
.模拟器卡-描述 { font-size: 11px; color: var(--文字-弱); margin-top: 6px; min-height: 30px; }
.模拟器卡-状态 {
  display: inline-block; margin-top: 8px;
  font-size: 10px; padding: 3px 10px; border-radius: 10px;
  background: rgba(61,220,132,.12); color: var(--成功);
}
.模拟器卡-状态.即将上线 { background: rgba(255,176,46,.12); color: var(--警告); }

/* ─────────── 软件库页 ─────────── */
.软件分类栏 {
  display: flex; gap: 4px;
  background: var(--背景-卡片); border: 1px solid var(--边框);
  border-radius: 12px; padding: 4px; margin: 0 14px 10px;
}
.软件分类 {
  flex: 1; border: none; border-radius: 9px; cursor: pointer;
  background: none; color: var(--文字-弱);
  padding: 10px; font-size: 14px; font-weight: 600;
  transition: all .2s;
}
.软件分类.当前 { background: var(--主色); color: #fff; box-shadow: 0 3px 10px rgba(79,140,255,.3); }

.软件列表 { display: flex; flex-direction: column; gap: 10px; }
.软件卡 {
  display: flex; align-items: center; gap: 12px;
  background: var(--背景-卡片); border: 1px solid var(--边框);
  border-radius: 14px; padding: 12px;
}
.软件卡-图标 {
  width: 52px; height: 52px; border-radius: 12px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center; font-size: 26px;
  background: var(--背景-卡片); border: 1px solid var(--边框);
}
.软件卡-封面 {
  width: 56px; height: 56px; border-radius: 12px; flex-shrink: 0;
  object-fit: cover; background: var(--骨架-基);
}
.软件卡-信息 { flex: 1; min-width: 0; }
.软件卡-标题 { display: flex; align-items: center; gap: 6px; font-size: 15px; font-weight: 700; }
.软件卡-版本 { font-size: 10px; color: var(--主色-亮); background: rgba(79,140,255,.12); padding: 2px 6px; border-radius: 5px; }
.软件卡-描述 { font-size: 12px; color: var(--文字-弱); margin-top: 3px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.软件卡-大小 { font-size: 11px; color: var(--文字-更弱); margin-top: 2px; }
.软件卡-下载 {
  flex-shrink: 0; border: none; border-radius: 10px; cursor: pointer;
  background: linear-gradient(135deg, var(--主色), var(--主色-暗));
  color: #fff; font-size: 13px; font-weight: 700;
  padding: 10px 16px;
  box-shadow: 0 3px 10px rgba(79,140,255,.25);
  transition: transform .15s;
}
.软件卡-下载:active { transform: scale(.92); }

/* ─────────── 底部导航 ─────────── */
#底部栏 {
  position: fixed; left: 0; right: 0; bottom: 0;
  height: calc(var(--底栏高) + var(--安全区底));
  padding-bottom: var(--安全区底);
  display: flex;
  background: var(--底栏-背景);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-top: 1px solid var(--边框);
  z-index: 400;
}
.底部项 {
  flex: 1; border: none; background: none; cursor: pointer;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 3px; color: var(--文字-弱); font-size: 11px;
  transition: color .2s;
  position: relative;
}
.底部项 .底部-图标 { font-size: 20px; transition: transform .2s; }
.底部-svg { width: 22px; height: 22px; transition: transform .2s; }
.底部项.当前 { color: var(--主色-亮); }
.底部项.当前 .底部-图标,
.底部项.当前 .底部-svg { transform: translateY(-2px) scale(1.12); }
.底部项.当前::before {
  content: ""; position: absolute; top: 0;
  width: 28px; height: 3px; border-radius: 0 0 4px 4px;
  background: var(--主色);
}

/* ─────────── 下拉刷新指示 ─────────── */
#下拉指示 {
  position: fixed; top: calc(var(--安全区顶) + 52px); left: 0; right: 0;
  text-align: center; font-size: 13px; color: var(--主色-亮);
  padding: 10px; z-index: 200;
  transform: translateY(-60px);
  transition: transform .2s;
  pointer-events: none;
}
#下拉指示.显示 { transform: translateY(0); }

/* ─────────── 点击波纹 ─────────── */
.波纹 {
  position: absolute; border-radius: 50%;
  background: rgba(255,255,255,.25);
  transform: scale(0); animation: 波纹动画 .5s ease-out forwards;
  pointer-events: none;
}
@keyframes 波纹动画 { to { transform: scale(3.2); opacity: 0; } }

/* ─────────── 加载中/通用 ─────────── */
.加载中 { text-align: center; color: var(--文字-更弱); padding: 30px 0; font-size: 13px; }
.加载中::after { content: ""; animation: 点点 1.2s infinite; }
@keyframes 点点 { 0%{content:"…"} 33%{content:".."} 66%{content:"..."} }

/* 提示弹层 */
#轻提示 {
  position: fixed; top: 50%; left: 50%; transform: translate(-50%,-50%) scale(.9);
  background: var(--背景-层); border: 1px solid var(--边框);
  color: var(--文字); padding: 14px 22px; border-radius: 12px;
  box-shadow: 0 8px 32px var(--阴影);
  font-size: 14px; z-index: 999; opacity: 0; transition: all .2s;
  pointer-events: none; max-width: 80%; text-align: center; white-space: pre-line;
}
#轻提示.显示 { opacity: 1; transform: translate(-50%,-50%) scale(1); }

/* ─────────── 小屏适配 ─────────── */
@media (max-width: 340px) {
  .方向键 { grid-template-columns: repeat(3, 46px); grid-template-rows: repeat(3, 46px); }
  .ABXY { grid-template-columns: repeat(2, 46px); grid-template-rows: repeat(2, 46px); }
  .键-ABXY { font-size: 14px; }
}

/* 大屏（平板/桌面）居中限宽 */
@media (min-width: 700px) {
  #应用 { max-width: 520px; margin: 0 auto; box-shadow: 0 0 60px rgba(0,0,0,.5); }
  #底部栏 { max-width: 520px; left: 50%; transform: translateX(-50%); border-radius: 16px 16px 0 0; }
}

/* ─────────── 结果卡封面图 ─────────── */
.结果卡-封面图 {
  width: 64px; height: 64px; border-radius: 10px; flex-shrink: 0;
  object-fit: cover; background: var(--背景-层);
  display: block;
}
.结果卡-网盘 {
  display: flex; gap: 5px; margin-top: 5px;
}
.网盘徽 {
  font-size: 10px; padding: 2px 7px; border-radius: 5px;
  background: var(--背景-层); color: var(--文字-弱);
  border: 1px solid var(--边框);
}
.网盘徽.百度 { color: #5aa3ff; border-color: rgba(90,163,255,.35); }
.网盘徽.夸克 { color: #5dffc0; border-color: rgba(93,255,192,.35); }
.网盘徽.UC { color: #ffc25a; border-color: rgba(255,194,90,.35); }

/* ─────────── 详情弹层 ─────────── */
.详情弹层 { position: fixed; top:0;left:0;right:0;bottom:0; z-index: 400; display: none; align-items: center; justify-content: center; }
.详情弹层.显示 { display: flex; }
.详情遮罩 { position: absolute; top:0;left:0;right:0;bottom:0; background: rgba(5,8,15,.72); }
.详情面板 {
  position: relative; width: 92%; max-width: 440px; max-height: 84%;
  background: var(--背景-卡片); border: 1px solid var(--边框);
  border-radius: 18px; display: flex; flex-direction: column; overflow: hidden;
  animation: 弹层进入 .25s ease;
}
@keyframes 弹层进入 { from { transform: scale(.92) translateY(14px); opacity: 0; } to { transform: none; opacity: 1; } }
.详情-头 {
  display: flex; align-items: center; justify-content: space-between;
  padding: 14px 16px; border-bottom: 1px solid var(--边框); flex-shrink: 0;
}
.详情-头 h3 { font-size: 15px; font-weight: 600; flex: 1; margin-right: 10px;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.详情-关闭 {
  flex-shrink: 0; width: 28px; height: 28px; border-radius: 50%; border: none; cursor: pointer;
  background: var(--背景-层); color: var(--文字-弱); font-size: 14px;
}
.详情-滚动 { overflow-y: auto; padding: 14px 16px; -webkit-overflow-scrolling: touch; }
.详情-封面 {
  width: 100%; max-height: 260px; object-fit: cover; border-radius: 12px;
  background: var(--背景-层); display: block; margin-bottom: 10px;
}
.详情-介绍 { margin-bottom: 12px; }
.详情-介绍标题 { font-size: 13px; font-weight: 500; color: var(--文字); margin-bottom: 6px; }
.详情-介绍正文 {
  font-size: 13px; line-height: 1.7; color: var(--文字-弱);
  background: var(--背景-层); border-radius: 10px; padding: 12px;
  white-space: pre-line; word-break: break-word;
}
.详情-元信息 { font-size: 12px; color: var(--文字-弱); display: flex; flex-wrap: wrap; gap: 8px 14px; margin-bottom: 12px; }
.详情-元信息 b { color: var(--文字); }
.详情-链接 { display: flex; flex-direction: column; gap: 8px; margin-bottom: 12px; }
.详情-链接-卡 {
  display: flex; align-items: center; gap: 10px; text-decoration: none;
  background: var(--背景-层); border: 1px solid var(--边框); border-radius: 12px;
  padding: 11px 12px; color: var(--文字); transition: transform .15s;
}
.详情-链接-卡:active { transform: scale(.98); }
.详情-链接-图标 { font-size: 22px; width: 34px; height: 34px; display: flex; align-items: center; justify-content: center;
  border-radius: 9px; background: rgba(255,255,255,.07); flex-shrink: 0; }
.详情-链接-文本 { flex: 1; min-width: 0; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; }
.详情-链接-文本 b { font-size: 13px; }
.详情-链接-文本 i { font-style: normal; font-size: 11px; color: var(--文字-更弱); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.详情-链接-箭头 { font-size: 20px; color: var(--文字-更弱); }
.详情-密码 {
  font-size: 12px; color: var(--文字-弱); background: rgba(255,176,46,.08);
  border: 1px dashed rgba(255,176,46,.35); border-radius: 10px;
  padding: 9px 12px; margin-bottom: 12px;
}
.详情-密码 b { color: var(--警告); }
/* 截图：与封面一样大小展示（大图竖排） */
.详情-截图 { display: flex; flex-direction: column; gap: 10px; margin-bottom: 12px; }
.详情-截图 img {
  width: 100%; max-height: 260px; object-fit: cover; border-radius: 12px;
  background: var(--背景-层); cursor: pointer;
}
.详情-来源 { font-size: 11px; color: var(--文字-更弱); text-align: center; word-break: break-all; }
.详情-来源 a { color: var(--主色-亮); text-decoration: none; }

/* ─────────── 榜单切换 + 加载更多 ─────────── */
.榜单切换 {
  display: flex; gap: 8px; margin: 4px 0 10px;
}
.榜单切换钮 {
  flex: 1; padding: 7px 0; border-radius: 999px;
  border: 1px solid var(--边框); background: var(--背景-卡片);
  color: var(--文字-弱); font-size: 13px; font-weight: 600;
  cursor: pointer; transition: all .2s;
}
.榜单切换钮:active { transform: scale(.96); }
.榜单切换钮.当前 {
  background: linear-gradient(135deg, var(--主色), #7c5cff);
  color: #fff; border-color: transparent; font-weight: 700;
}
.榜单-更多 { margin-top: 2px; }
.热词-更多 {
  text-align: center; font-size: 13px; color: var(--主色-亮);
  background: var(--背景-卡片); border: 1px dashed var(--边框);
  border-radius: 12px; padding: 12px; cursor: pointer;
  transition: all .15s;
}
.热词-更多:active { transform: scale(.98); border-color: var(--主色); }

/* ─────────── 详情截图标题 ─────────── */
.详情-截图标题 {
  font-size: 12px; color: var(--文字-弱);
  margin-bottom: 2px;
}

/* ─────────── 结果加载更多（分类浏览）─────────── */
.结果-更多 {
  text-align: center; font-size: 13px; color: var(--主色-亮);
  background: var(--背景-卡片); border: 1px dashed var(--边框);
  border-radius: 12px; padding: 13px; cursor: pointer;
  margin-top: 4px; transition: all .15s;
}
.结果-更多:active { transform: scale(.98); border-color: var(--主色); }

/* ─────────── 详情待转存占位 ─────────── */
.详情-待转存 {
  text-align: center; font-size: 13px; color: var(--警告);
  background: rgba(255,176,46,.08);
  border: 1px dashed rgba(255,176,46,.45);
  border-radius: 10px; padding: 14px 12px; margin-bottom: 12px;
  font-weight: 600;
}

/* ─────────── 分类颜色（每个分类一个颜色）─────────── */
.分类chip:not(.当前).分类-PC游戏   { color: #4da3ff; }
.分类chip:not(.当前).分类-Switch   { color: #ff9f43; }
.分类chip:not(.当前).分类-NS模拟器 { color: #a29bfe; }
.分类chip:not(.当前).分类-galgame  { color: #ff6b9d; }
.分类chip:not(.当前).分类-互动游戏 { color: #ff5e5e; }
.分类chip:not(.当前).分类-手机游戏 { color: #2ed573; }
.分类chip:not(.当前).分类-软件库   { color: #feca57; }
.分类chip:not(.当前).分类-真人影游 { color: #ff8c5a; }
.分类chip:not(.当前).分类-MD       { color: #7bed9f; }
.分类chip:not(.当前).分类-默认     { color: #8b9bb4; }

.结果卡-类型.分类-PC游戏, .详情-元信息 b.分类-PC游戏   { color: #4da3ff; }
.结果卡-类型.分类-Switch, .详情-元信息 b.分类-Switch   { color: #ff9f43; }
.结果卡-类型.分类-NS模拟器, .详情-元信息 b.分类-NS模拟器 { color: #a29bfe; }
.结果卡-类型.分类-galgame, .详情-元信息 b.分类-galgame  { color: #ff6b9d; }
.结果卡-类型.分类-互动游戏, .详情-元信息 b.分类-互动游戏 { color: #ff5e5e; }
.结果卡-类型.分类-手机游戏, .详情-元信息 b.分类-手机游戏 { color: #2ed573; }
.结果卡-类型.分类-软件库, .详情-元信息 b.分类-软件库   { color: #feca57; }
.结果卡-类型.分类-真人影游, .详情-元信息 b.分类-真人影游 { color: #ff8c5a; }
.结果卡-类型.分类-MD, .详情-元信息 b.分类-MD       { color: #7bed9f; }
.结果卡-类型.分类-默认, .详情-元信息 b.分类-默认     { color: #8b9bb4; }

/* ─────────── 更新标签（新游戏/版本更新）─────────── */
.标签-新游戏 {
  display: inline-block; flex-shrink: 0; font-size: 10px; padding: 1px 6px;
  border-radius: 5px; margin-right: 5px;
  color: #2ed573; background: rgba(46,213,115,.12); border: 1px solid rgba(46,213,115,.4);
}
.标签-版本更新 {
  display: inline-block; flex-shrink: 0; font-size: 10px; padding: 1px 6px;
  border-radius: 5px; margin-right: 5px;
  color: #ffa94d; background: rgba(255,169,77,.12); border: 1px solid rgba(255,169,77,.4);
}

/* ═══════════ 影视页（自渲染：板块封面墙 + SSE 全网搜 + 转链详情） ═══════════ */
.页面-全屏 { padding: 0 !important; height: 100%; position: relative; }

/* 顶栏：品牌 + 搜索 */
.影视-顶栏 {
  position: absolute; top: 0; left: 0; right: 0; z-index: 5;
  padding: calc(var(--安全区顶, 8px) + 4px) 12px 10px;
  background: linear-gradient(180deg, var(--背景) 0%, var(--背景) 78%, transparent 100%);
}
.影视-品牌 {
  display: flex; flex-direction: column; align-items: center;
  gap: 2px; margin: 0 0 10px; text-align: center;
}
.影视-品牌行 { display: flex; align-items: baseline; gap: 7px; }
.影视-品牌图标 { font-size: 19px; }
.影视-品牌名 { font-size: 19px; font-weight: 800; letter-spacing: .5px; }
.影视-品牌名::first-letter { color: var(--主色); }
.影视-品牌副 { font-size: 11px; color: var(--文字-更弱); }
.影视-搜索行 { display: flex; gap: 8px; }
.影视-搜索输入 {
  flex: 1; height: 42px; border-radius: var(--圆角); border: 1px solid var(--边框);
  background: var(--背景-卡片); color: var(--文字); font-size: 15px;
  padding: 0 14px; outline: none; -webkit-appearance: none;
  transition: border-color .2s, box-shadow .2s;
}
.影视-搜索输入:focus { border-color: var(--主色); }
.影视-搜索输入::-webkit-search-cancel-button { display: none; }
.影视-搜索按钮 {
  height: 42px; padding: 0 20px; border: none; border-radius: var(--圆角);
  background: var(--主色); color: #fff; font-size: 15px; font-weight: 600;
  cursor: pointer; box-shadow: 0 3px 10px rgba(79,140,255,.25);
}
.影视-搜索按钮:disabled { opacity: .5; box-shadow: none; }
.影视-提示 { font-size: 12px; color: var(--文字-更弱); margin-top: 7px; min-height: 16px; }
.影视-提示 b { color: var(--主色); }

/* 首页：分类导航 + 板块封面墙 */
.影视-首页 {
  position: absolute; top: 118px; bottom: 0; left: 0; right: 0;
  overflow-y: auto; padding-bottom: 80px; -webkit-overflow-scrolling: touch;
}
.影视-分类栏 {
  position: sticky; top: 0; z-index: 4;
  display: flex; gap: 8px; overflow-x: auto; padding: 8px 12px 10px;
  background: var(--背景); -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.影视-分类栏::-webkit-scrollbar { display: none; }
/* 右侧渐变遮罩：提示还有更多分类 */
.影视-分类栏::after {
  content: ""; position: sticky; right: 0; flex-shrink: 0; width: 32px; min-height: 28px;
  background: linear-gradient(to right, transparent, var(--背景));
  pointer-events: none; z-index: 2;
}
.影视-分类 {
  flex-shrink: 0; padding: 6px 14px; border-radius: 18px;
  border: 1px solid var(--边框); background: var(--背景-卡片);
  color: var(--文字-弱); font-size: 13px; cursor: pointer;
  transition: all .2s; white-space: nowrap;
}
.影视-分类.当前 {
  background: var(--主色); color: #fff; border-color: var(--主色);
}
.影视-板块 { margin-top: 4px; }
.影视-板块头 {
  display: flex; align-items: center; gap: 8px;
  padding: 12px 14px 8px;
}
.影视-板块图标 { font-size: 16px; }
.影视-板块名 { font-size: 15px; font-weight: 800; }
.影视-板块线 { flex: 1; height: 1px; background: linear-gradient(90deg, var(--边框), transparent); }
.影视-封面墙 {
  display: flex; gap: 10px; overflow-x: auto; padding: 2px 14px 14px;
  -webkit-overflow-scrolling: touch; scrollbar-width: none;
}
.影视-封面墙::-webkit-scrollbar { display: none; }
.影视-封面 {
  flex-shrink: 0; width: 96px; border-radius: 10px; overflow: hidden;
  border: 1px solid var(--边框); background: var(--背景-层);
  cursor: pointer; position: relative;
  box-shadow: 0 3px 10px rgba(0,0,0,.35);
}
.影视-封面:active { transform: scale(.96); opacity: .85; }
.影视-封面图 { width: 100%; aspect-ratio: 3/4; object-fit: cover; display: block; }
.影视-封面名 {
  padding: 6px 6px 7px; font-size: 12px; line-height: 1.35;
  color: var(--文字); white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
/* 无图时的渐变文字封面（照影视站 titleLoading 思路） */
.影视-封面文字 {
  width: 100%; aspect-ratio: 3/4; display: flex; align-items: center;
  justify-content: center; padding: 12px 8px; text-align: center;
  color: rgba(255,255,255,.95); font-size: 13px; font-weight: 700; line-height: 1.5;
  word-break: break-all; text-shadow: 0 1px 3px rgba(0,0,0,.4);
}
.影视-封面文字.短剧 { background: linear-gradient(160deg, #5f2c3e, #933c58); }
.影视-封面文字.电影 { background: linear-gradient(160deg, #1f3a6e, #2d5fb0); }
.影视-封面文字.电视剧 { background: linear-gradient(160deg, #4a2f6e, #7b4fbf); }
.影视-封面文字.动漫 { background: linear-gradient(160deg, #1e5c4f, #2f9c7e); }
.影视-封面文字.综艺 { background: linear-gradient(160deg, #6e4a1f, #c07b2d); }
.影视-封面文字.热门 { background: linear-gradient(160deg, #5a2f6e, #9b4fbf); }
.影视-封面文字.默认 { background: linear-gradient(160deg, #333c52, #4c5a7d); }
/* 分类入口卡（独立，不依赖外部站封面图） */
.影视-分类卡 {
  flex-shrink: 0; width: 132px; height: 100px; border-radius: 14px;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 5px; cursor: pointer; color: #fff; overflow: hidden;
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 4px 14px rgba(0,0,0,.35);
  transition: transform .15s ease, box-shadow .15s ease;
}
.影视-分类卡:active { transform: scale(.96); box-shadow: 0 2px 8px rgba(0,0,0,.3); }
.影视-分类卡图标 { font-size: 34px; line-height: 1; }
.影视-分类卡名 { font-size: 15px; font-weight: 800; text-shadow: 0 1px 3px rgba(0,0,0,.4); }
.影视-分类卡提示 { font-size: 11px; opacity: .82; }
.影视-分类卡[data-cat="短剧"] { background: linear-gradient(160deg, #5f2c3e, #933c58); }
.影视-分类卡[data-cat="电影"] { background: linear-gradient(160deg, #1f3a6e, #2d5fb0); }
.影视-分类卡[data-cat="电视剧"] { background: linear-gradient(160deg, #4a2f6e, #7b4fbf); }
.影视-分类卡[data-cat="动漫"] { background: linear-gradient(160deg, #1e5c4f, #2f9c7e); }
.影视-分类卡[data-cat="综艺"] { background: linear-gradient(160deg, #6e4a1f, #c07b2d); }

/* 搜索结果列表 */
.影视-结果 {
  position: absolute; top: 100px; bottom: 0; left: 0; right: 0;
  overflow-y: auto; overflow-x: hidden; padding: 4px 12px 24px; -webkit-overflow-scrolling: touch;
  max-width: 100vw; box-sizing: border-box;
}
.影视-结果顶 {
  display: flex; align-items: center; gap: 8px;
  padding: 6px 2px 10px; position: sticky; top: 0; z-index: 3;
  background: var(--背景);
}
.影视-返回钮 {
  flex-shrink: 0; width: 42px; height: 42px; padding: 0; border-radius: var(--圆角);
  border: 1px solid var(--边框); background: var(--背景-卡片);
  color: var(--文字); font-size: 18px; cursor: pointer; display: flex;
  align-items: center; justify-content: center; line-height: 1;
}
.影视-返回钮.隐藏 { display: none !important; }
/* 结果页内的模式栏 */
#影视模式栏 {
  display: flex; gap: 6px; padding: 4px 0 10px;
}
#影视模式栏 .影视-模式钮 {
  flex: 1; height: 34px; border-radius: 8px; border: 1px solid var(--边框);
  background: var(--背景-卡片); color: var(--文字-弱); font-size: 13px; font-weight: 500;
  cursor: pointer; transition: all .2s;
}
#影视模式栏 .影视-模式钮.当前 {
  border-color: var(--主色); background: rgba(79,140,255,.1);
  color: var(--主色); font-weight: 700; box-shadow: 0 0 0 1px var(--主色);
}
.影视-条目 {
  background: var(--背景-卡片); border: 1px solid var(--边框);
  border-radius: 12px; padding: 12px 14px; margin-bottom: 10px;
  animation: 影视弹入 .25s ease; overflow: hidden; max-width: 100%;
}
@keyframes 影视弹入 { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.影视-条目标题 {
  display: block; width: 100%; text-align: left; background: none; border: none;
  color: var(--文字); font-size: 15px; font-weight: 600; line-height: 1.4; padding: 0; cursor: pointer;
}
.影视-条目标签 { display: flex; gap: 6px; margin-top: 7px; flex-wrap: wrap; }
.影视-标签 {
  font-size: 11px; padding: 2px 8px; border-radius: 999px;
  background: var(--背景-层); color: var(--文字-弱); border: 1px solid var(--边框);
}
.影视-标签.夸克 { color: var(--主色); border-color: var(--主色); background: rgba(77,163,255,.1); }
.影视-标签.本地 { color: #16a34a; border-color: #16a34a; background: rgba(22,163,74,.1); font-weight: 600; }
.影视-本地条目 { background: linear-gradient(135deg, rgba(22,163,74,.04), rgba(34,197,94,.02)); border-color: rgba(22,163,74,.25); }
.影视-获取钮 {
  margin-top: 9px; background: linear-gradient(135deg, var(--主色-深, #2b6cb0), #4a7dd0);
  color: #eaf2ff; border: none; border-radius: 8px; padding: 7px 0; width: 100%;
  font-size: 13px; cursor: pointer;
}
.影视-获取钮:disabled { opacity: .5; }
.影视-获取钮-本地 { background: linear-gradient(135deg, #16a34a, #22c55e); color: #fff; font-weight: 600; }
.影视-全网搜行 {
  display: flex; align-items: center; justify-content: center; gap: 10px;
  padding: 16px 0 8px; margin-top: 6px;
  border-top: 1px dashed var(--边框);
}
.影视-全网搜提示 { font-size: 13px; color: var(--文字-弱); }
.影视-全网搜钮 {
  padding: 7px 18px; border-radius: 999px; font-size: 13px; font-weight: 600;
  background: linear-gradient(135deg, var(--主色), #5b9cf5);
  color: #fff; border: none; cursor: pointer;
}
.影视-空态 { padding: 60px 20px; text-align: center; color: var(--文字-更弱); font-size: 13px; }
.影视-加载中 {
  text-align: center; color: var(--文字-弱); padding: 30px; font-size: 13px;
}
.影视-加载中::after {
  content: ""; display: block; width: 22px; height: 22px;
  border: 3px solid var(--边框); border-top-color: var(--主色);
  border-radius: 50%; margin: 12px auto; animation: 影视转 .8s linear infinite;
}
@keyframes 影视转 { to { transform: rotate(360deg); } }

/* 影视详情弹窗（照影视站：扫码提示 + 二维码 + 资源地址） */
.影视-遮罩 {
  position: fixed; top:0;left:0;right:0;bottom:0; background: rgba(0,0,0,.72); z-index: 200;
  display: none; align-items: flex-end; justify-content: center;
}
.影视-遮罩.开 { display: flex; }
.影视-弹窗 {
  width: 100%; max-width: 520px; position: relative;
  background: var(--背景-层); border-radius: 20px 20px 0 0;
  padding: 16px 18px calc(24px + var(--安全区底, 0px));
  max-height: 84vh; overflow-y: auto; animation: 影视上滑 .28s ease;
}
@keyframes 影视上滑 { from { transform: translateY(100%); } to { transform: none; } }
.影视-弹窗把手 {
  position: absolute; top: 8px; left: 50%; transform: translateX(-50%);
  width: 42px; height: 4px; border-radius: 4px; background: var(--边框);
}
.影视-弹窗标题 { font-size: 17px; font-weight: 700; line-height: 1.4; margin: 6px 0 12px; padding-right: 24px; }
.影视-弹窗扫码提示 { text-align: center; }
.影视-扫码标题 { font-size: 15px; font-weight: 700; }
.影视-扫码标题 b { color: #4da3ff; }
.影视-扫码说明 { font-size: 12px; color: var(--文字-更弱); margin-top: 4px; }
.影视-二维码区 {
  display: flex; justify-content: center; margin: 12px 0 14px;
  background: #fff; border-radius: 14px; padding: 14px;
  box-shadow: 0 4px 16px rgba(0,0,0,.4);
}
.影视-二维码区 canvas { width: 170px; height: 170px; }
.影视-资源行 {
  display: flex; gap: 8px; align-items: center;
  background: var(--背景-卡片); border: 1px solid var(--边框);
  border-radius: 10px; padding: 9px 12px; margin-bottom: 12px;
}
.影视-资源标签 { flex-shrink: 0; font-size: 11px; color: var(--文字-更弱); }
.影视-资源行 input {
  flex: 1; background: none; border: none; color: var(--文字);
  font-size: 11px; outline: none; word-break: break-all;
}
.影视-弹窗按钮行 { display: flex; gap: 10px; }
.影视-复制钮 {
  flex: 1; background: var(--背景-卡片); color: var(--文字);
  border: 1px solid var(--边框); border-radius: 10px;
  padding: 11px 0; font-size: 14px; cursor: pointer;
}
.影视-打开钮 {
  flex: 1; display: block; text-align: center; background: linear-gradient(135deg, var(--成功), #2fbf8a);
  color: #04271a; font-weight: 800; text-decoration: none;
  border-radius: 10px; padding: 11px 0; font-size: 14px;
}
.影视-声明 { font-size: 11px; color: var(--文字-更弱); text-align: center; margin-top: 14px; line-height: 1.5; }

/* ═══════════ 套图页（分类 + 卡片流 + 全屏查看器） ═══════════ */
.套图-说明 { margin-bottom: 10px; }
.套图-说明 h2 { font-size: 17px; margin: 0 0 3px; }
.套图-说明 p { font-size: 12px; color: var(--文字-弱); margin: 0; }
.套图搜索栏 { display: flex; margin-bottom: 12px; }
.套图搜索栏 input {
  flex: 1; height: 38px; border-radius: 19px; border: 1px solid var(--边框);
  background: var(--背景-层); color: var(--文字); font-size: 14px;
  padding: 0 16px; outline: none;
}
.套图搜索栏 input:focus { border-color: var(--主色); }
.套图网格 {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px;
  padding-bottom: 10px;
}
.套图卡 {
  position: relative; border-radius: 12px; overflow: hidden;
  background: var(--背景-层); border: 1px solid var(--边框);
  cursor: pointer; aspect-ratio: 3/4;
}
.套图卡 img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  transition: transform .2s;
}
.套图卡:active img { transform: scale(1.05); }
.套图卡-标题 {
  position: absolute; left: 0; right: 0; bottom: 0;
  padding: 18px 8px 7px; font-size: 11px; color: #fff;
  background: linear-gradient(transparent, rgba(0,0,0,.72));
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.套图瀑布流 { column-count: 2; column-gap: 8px; padding-bottom: 10px; }
.套图-大图 {
  display: block; margin-bottom: 8px; border-radius: 10px; overflow: hidden;
  break-inside: avoid; background: var(--背景-层);
}
.套图-大图 img { width: 100%; display: block; }
.套图-更多 { min-height: 1px; }

/* ─────────── 套图分类栏 ─────────── */
.套图分类栏 { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 6px; justify-content: center; position: relative; z-index: 30; }
.套图分类 {
  flex-shrink: 0; border: 1px solid var(--边框); background: var(--背景-层);
  color: var(--文字-弱); border-radius: 16px; padding: 6px 14px; font-size: 12px; cursor: pointer;
}
.套图分类.当前 { color: #fff; background: var(--主色); border-color: var(--主色); font-weight: 600; }

/* ─────────── 套图全屏查看器 ─────────── */
.套图查看器 {
  position: fixed; top:0;left:0;right:0;bottom:0; z-index: 300; display: none;
  background: var(--背景); flex-direction: column;
}
.套图查看器.显示 { display: flex; }
.套图查看器-顶 {
  position: absolute; top: 0; left: 0; right: 0; z-index: 3;
  display: flex; justify-content: space-between; align-items: center;
  padding: calc(var(--安全区顶) + 10px) 12px 26px;
  color: var(--文字); font-size: 13px;
  background: linear-gradient(rgba(0,0,0,.6), transparent);
  transition: opacity .25s ease;
}
.套图查看器-关闭 {
  width: 32px; height: 32px; border-radius: 50%; border: none;
  background: rgba(255,255,255,.15); color: #fff; font-size: 15px; cursor: pointer;
}
.套图查看器-层 {
  flex: 1; display: flex; align-items: center; justify-content: center;
  overflow: hidden; position: relative;
}
.套图查看器-图 { max-width: 100%; max-height: 100%; object-fit: contain; user-select: none; }
.套图查看器-图.进入 { animation: 查看器滑入 .28s ease; }
@keyframes 查看器滑入 {
  from { transform: translateY(14%); opacity: .35; }
  to   { transform: translateY(0); opacity: 1; }
}

/* ─────────── 套图卡片流（一次一张 + 重叠感） ─────────── */
.套图流 {
  position: relative;
  height: min(62vh, 540px);
  display: flex; align-items: center; justify-content: center;
  margin-top: 4px;
  overflow: hidden;
}
.套图流-卡 {
  position: absolute; width: min(86vw, 330px); aspect-ratio: 3/4;
  border-radius: 14px; overflow: hidden; background: var(--背景-层);
  border: 1px solid var(--边框); cursor: pointer;
  transition: transform .28s ease, opacity .28s ease;
}
.套图流-卡 img { width: 100%; height: 100%; object-fit: cover; display: block; }
.套图流-卡.上 { transform: translateY(-36%) scale(.86); opacity: .38; z-index: 1; }
.套图流-卡.中 {
  transform: translateY(0) scale(1); opacity: 1; z-index: 3;
  box-shadow: 0 12px 40px rgba(0,0,0,.45);
  animation: 查看器滑入 .3s ease;
}
.套图流-卡.下 { transform: translateY(36%) scale(.86); opacity: .38; z-index: 2; }
.套图流-卡.加载 { border-style: dashed; background: transparent; box-shadow: none; }
.套图流-加载 {
  color: var(--文字-弱); font-size: 12px; text-align: center; padding: 10px;
  position: absolute; top:0;left:0;right:0;bottom:0; display: flex; align-items: center; justify-content: center;
}
.套图流-标题 {
  position: absolute; left: 0; right: 0; bottom: 0;
  padding: 22px 10px 9px; font-size: 12px; color: #fff;
  background: linear-gradient(transparent, rgba(0,0,0,.75));
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}

/* ─────────── 查看器：点击放大态 ─────────── */




/* ─────────── 套图页固定布局（分类栏不乱动） ─────────── */
#页-套图.当前页 { overflow: hidden; padding: 5px 10px 0; height: 100%; display: flex !important; flex-direction: column; box-sizing: border-box; }
#页-套图 .套图分类栏 { flex-shrink: 0; }
#页-套图 .套图流 {
  flex: 1; min-height: 0; height: auto; margin: 0;
  align-items: center;
}
#页-套图 .套图-更多 { display: none; }

/* ─────────── 查看器：返回按钮 + 禁页面双指缩放 ─────────── */
.套图查看器-返回 {
  border: none; background: rgba(255,255,255,.24); color: #fff;
  border-radius: 18px; padding: 8px 18px; font-size: 14px; font-weight: 600; cursor: pointer;
  box-shadow: 0 2px 8px rgba(0,0,0,.3);
}
.套图查看器-层 { touch-action: none; }


/* ─────────── 查看器：上/下张骨架（提示可上下滑动） ─────────── */
.套图查看器-图 {
  width: 88%; aspect-ratio: 3/4; object-fit: cover;
  border-radius: 12px;
  position: relative; z-index: 2;
  max-width: none; max-height: none;
}
.套图查看器-骨架 {
  position: absolute; left: 50%; transform: translateX(-50%) scale(.86);
  width: 88%; aspect-ratio: 3/4; object-fit: cover;
  border-radius: 12px; opacity: .32; pointer-events: none;
  box-shadow: 0 3px 10px rgba(0,0,0,.35);
  z-index: 1;
}
.套图查看器-骨架.上 { top: 0; }
.套图查看器-骨架.下 { bottom: 0; }
.套图查看器-骨架-提示 { display: none; }


/* ─────────── 图片加载骨架占位（未加载时闪烁，加载后自动被图覆盖） ─────────── */
@keyframes 骨架闪烁 {
  0%   { background-position: 0% 0; }
  100% { background-position: 200% 0; }
}
.套图流-卡 img, .套图查看器-图, .套图查看器-骨架 {
  background: linear-gradient(110deg, var(--骨架-基) 8%, var(--骨架-亮) 18%, var(--骨架-基) 33%);
  background-size: 200% 100%;
  animation: 骨架闪烁 1.2s linear infinite;
}

/* ─────────── 查看器顶栏：返回左 + 计数醒目居中 ─────────── */
.套图查看器-顶.隐藏 { opacity: 0; pointer-events: none; }
.套图查看器-计数 {
  position: absolute; left: 50%; transform: translateX(-50%);
  font-size: 15px; font-weight: 800; color: #fff;
  letter-spacing: 1px; text-shadow: 0 1px 4px rgba(0,0,0,.6);
}
.套图查看器-返回 { position: relative; z-index: 1; }


/* ─────────── 查看器操作说明（三行醒目） ─────────── */
.套图查看器-说明 {
  position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
  z-index: 5; text-align: center; pointer-events: none;
  background: var(--背景-卡片); border: 1px solid var(--边框);
  border-radius: 14px; padding: 18px 30px;
  transition: opacity .5s ease;
  box-shadow: 0 8px 32px var(--阴影);
}
}
.套图查看器-说明 div { font-size: 16px; font-weight: 700; color: var(--文字); line-height: 2; letter-spacing: 1px; }
.套图查看器-说明.隐藏 { opacity: 0; }


/* ─────────── 查看器全图态：显示完整图片（点击/双指缩放后） ─────────── */
.套图查看器-图.全图 {
  object-fit: contain; width: auto; height: auto; aspect-ratio: auto;
  max-width: 100%; max-height: 100%;
}


/* ─────────── 翻页式切换动画（首页卡片流 + 查看器共用） ─────────── */
@keyframes 卡翻出上 { to { transform: translateY(-42%) rotateX(28deg) scale(.82); opacity: 0; } }
@keyframes 卡翻出下 { to { transform: translateY(42%) rotateX(-28deg) scale(.82); opacity: 0; } }
@keyframes 卡翻入上 { from { transform: translateY(-46%) rotateX(20deg) scale(.84); opacity: .25; } to { transform: translateY(0) rotateX(0) scale(1); opacity: 1; } }
@keyframes 卡翻入下 { from { transform: translateY(46%) rotateX(-20deg) scale(.84); opacity: .25; } to { transform: translateY(0) rotateX(0) scale(1); opacity: 1; } }
.套图流-卡.翻出上 { animation: 卡翻出上 .28s ease forwards; }
.套图流-卡.翻出下 { animation: 卡翻出下 .28s ease forwards; }
.套图流-卡.翻入上 { animation: 卡翻入上 .3s ease; }
.套图流-卡.翻入下 { animation: 卡翻入下 .3s ease; }
.套图查看器-图.翻入上 { animation: 卡翻入上 .3s ease; }
.套图查看器-图.翻入下 { animation: 卡翻入下 .3s ease; }


/* ─────────── 各页顶部固定区（吸顶，滚动不带走） ─────────── */
.模拟器-说明, .软件-顶 {
  flex-shrink: 0;
  background: var(--背景);
  padding: 10px 14px 8px;
}
.模拟器-说明 { margin-bottom: 10px; }


/* ─────────── 页内滚动结构（顶部区永久固定，不随滚动带走） ─────────── */
#页-搜索.当前页, #页-模拟器.当前页, #页-软件库.当前页 {
  display: flex !important; flex-direction: column;
  height: 100%; overflow: hidden; padding: 0; box-sizing: border-box;
}
.页面滚动区 {
  flex: 1; min-height: 0; overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding: 2px 14px calc(var(--底栏高) + var(--安全区底) + 24px);
}
#页-模拟器 #模拟器列表, #页-软件库 #软件列表, #页-模拟器 #怀旧区 {
  flex: 1; min-height: 0; overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding: 2px 14px calc(var(--底栏高) + var(--安全区底) + 24px);
}

/* ─────────── 搜索框右面密码按钮 ─────────── */
.搜索密码 {
  flex-shrink: 0; height: 30px; padding: 0 12px; border-radius: 15px;
  border: none; cursor: pointer; font-size: 12px; font-weight: 600;
  background: var(--背景-层); color: var(--主色, #4f8cff);
  display: flex; align-items: center; justify-content: center;
  transition: transform .15s, background .2s;
}
.搜索密码:active { transform: scale(.92); background: var(--主色-浅, rgba(79,140,255,.18)); }
.搜索密码 {
  animation: 密码光圈 2s ease-in-out infinite;
}
@keyframes 密码光圈 {
  0%, 100% { box-shadow: 0 0 0 0 rgba(79,140,255,.5); }
  50% { box-shadow: 0 0 0 7px rgba(79,140,255,.14); }
}

/* ─────────── 解压密码说明弹窗（H5 主站同款） ─────────── */
.密码弹窗 { position: fixed; top:0;left:0;right:0;bottom:0; z-index: 500; display: none; align-items: center; justify-content: center; }
.密码弹窗.显示 { display: flex; }
.密码遮罩 { position: absolute; top:0;left:0;right:0;bottom:0; background: rgba(5,8,15,.72); }
.密码面板 {
  position: relative; width: 92%; max-width: 440px; max-height: 84%;
  background: var(--背景-卡片); border: 1px solid var(--边框);
  border-radius: 18px; display: flex; flex-direction: column; overflow: hidden;
  animation: 弹层进入 .25s ease;
}
.密码-头 {
  display: flex; align-items: center; justify-content: space-between;
  padding: 14px 16px; border-bottom: 1px solid var(--边框); flex-shrink: 0;
}
.密码-头 h3 { font-size: 15px; font-weight: 700; flex: 1; margin-right: 10px; }
.密码-关闭 {
  flex-shrink: 0; width: 28px; height: 28px; border-radius: 50%; border: none; cursor: pointer;
  background: var(--背景-层); color: var(--文字-弱); font-size: 14px;
}
.密码-滚动 { overflow-y: auto; padding: 14px 16px; -webkit-overflow-scrolling: touch; display: flex; flex-direction: column; gap: 14px; }
.密码-组 {
  padding: 13px; border-radius: 14px; background: var(--背景-层);
  border: 1px solid var(--边框);
}
.密码-标题 { font-size: 14px; font-weight: 800; color: var(--文字); margin-bottom: 8px; }
.密码-行 { font-size: 13px; line-height: 1.9; color: var(--文字-弱); }
.密码-行 b { color: var(--文字); font-weight: 600; }
.密码-代码 {
  display: inline-block; padding: 2px 9px; border-radius: 9px;
  background: var(--背景-卡片); border: 1px solid var(--边框);
  color: var(--文字); font-weight: 900; font-size: 13px;
}
.密码-注意 { margin-top: 7px; font-size: 11px; color: var(--文字-更弱); }
.密码-子 { font-size: 13px; font-weight: 700; color: var(--文字); margin: 6px 0 3px; }
.密码-段 { font-size: 13px; line-height: 1.7; color: var(--文字-弱); }

/* ─────────── 点击波纹定位上下文（所有可点击目标） ─────────── */
.分类chip, .软件分类, .套图分类, .热词, .外链卡, .软件卡-下载,
.搜索清除, .密码按钮, .底部项, .区块标题-清除, .详情-关闭, .密码-关闭,
.套图查看器-返回, .套图查看器-关闭, .结果-更多 {
  position: relative;
}

.游戏库-说明 { margin-bottom: 8px; text-align: center; }



/* ─────────── 主题切换按钮 ─────────── */
.主题切换, .主题切换2 {
  background: var(--背景-卡片); border: 1px solid var(--边框);
  border-radius: 20px; padding: 5px 12px; font-size: 16px;
  color: var(--文字); cursor: pointer; transition: .2s;
}
.主题切换:hover, .主题切换2:hover { border-color: var(--主色); }
.主题切换 { margin-right: 4px; }

/* ─────────── 模拟器分类栏 + 怀旧区 ─────────── */
.模拟器-分类栏 {
  display: flex; gap: 4px; padding: 0 0 10px; flex-shrink: 0;
  justify-content: center;
  background: var(--背景-卡片); border: 1px solid var(--边框);
  border-radius: 12px; margin: 0 14px 10px; padding: 4px;
}
.模拟器-分类chip {
  flex: 1; border: none; border-radius: 9px; cursor: pointer;
  background: none; color: var(--文字-弱);
  padding: 10px; font-size: 14px; font-weight: 600;
  transition: all .2s; text-align: center;
}
.模拟器-分类chip.当前 {
  background: var(--主色); color: #fff; box-shadow: 0 3px 10px rgba(79,140,255,.3);
}
.怀旧区 { flex: 1; overflow-y: auto; min-height: 0; display: flex; flex-direction: column; }

/* 怀旧搜索 */
.怀旧-搜索行 {
  padding: 4px 14px 8px; flex-shrink: 0;
}
.怀旧-搜索框-wrap {
  display: flex; align-items: center; position: relative;
  border: 1px solid var(--边框); border-radius: 18px;
  background: var(--背景-卡片); overflow: hidden;
}
.怀旧-搜索框-wrap:focus-within { border-color: var(--主色); }
.怀旧-搜索框图标 {
  position: absolute; left: 12px; color: var(--文字-更弱);
  flex-shrink: 0; pointer-events: none;
}
.怀旧-搜索清除 {
  position: absolute; right: 34px; top: 50%; transform: translateY(-50%);
  background: none; border: none; width: 24px; height: 24px;
  color: var(--文字-更弱); font-size: 16px; cursor: pointer; line-height: 1;
  display: flex; align-items: center; justify-content: center;
}
.怀旧-搜索输入 {
  flex: 1; height: 36px; border: none; border-radius: 18px;
  background: transparent; color: var(--文字); font-size: 13px;
  padding: 0 62px 0 36px; outline: none; width: 100%;
}

/* 怀旧平台分类栏（紧凑文字，自动换行） */
.怀旧平台栏 {
  display: flex; gap: 4px; padding: 2px 14px 10px;
  flex-shrink: 0; flex-wrap: wrap; justify-content: center;
}
.怀旧平台btn {
  padding: 4px 10px; border: 1px solid var(--边框); border-radius: 12px;
  background: transparent; color: var(--文字-弱); cursor: pointer;
  font-size: 11px; white-space: nowrap; transition: .15s;
}
.怀旧平台btn:hover { background: var(--背景-卡片); color: var(--文字); }
.怀旧平台btn.当前 {
  background: var(--主色); color: #fff; border-color: var(--主色);
}

/* 怀旧游戏网格 */
.怀旧网格 {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 10px; padding: 0 14px 14px;
}
.怀旧卡 {
  background: var(--背景-卡片); border: 1px solid var(--边框);
  border-radius: var(--圆角); overflow: hidden; cursor: pointer;
  transition: transform .15s, box-shadow .15s;
}
.怀旧卡:active { transform: scale(.96); }
.怀旧卡-封面 {
  width: 100%; aspect-ratio: 3/4; object-fit: cover;
  background: var(--骨架-基); display: block;
}
.怀旧卡-信息 { padding: 8px 10px; }
.怀旧卡-名 {
  font-size: 12px; color: var(--文字); line-height: 1.3;
  overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
}
.怀旧卡-平台 {
  font-size: 10px; color: var(--文字-更弱); margin-top: 3px;
}

/* 怀旧加载更多 */
.怀旧加载更多-wrap { text-align: center; padding: 4px 14px 20px; flex-shrink: 0; }
.怀旧加载更多 {
  border: 1px solid var(--边框); border-radius: 20px; padding: 8px 28px;
  background: var(--背景-卡片); color: var(--主色); font-size: 13px; cursor: pointer;
}

/* 怀旧空状态 */
.怀旧空 { text-align: center; padding: 20px; color: var(--文字-更弱); font-size: 13px; }

/* 怀旧历史按钮（搜索框内右侧） */
.怀旧-历史按钮 {
  position: absolute; right: 4px; top: 50%; transform: translateY(-50%);
  width: 26px; height: 26px; border: none; border-radius: 13px;
  background: transparent; color: var(--文字-更弱);
  cursor: pointer; display: flex; align-items: center; justify-content: center; z-index: 2;
}
/* 历史弹窗 */
.怀旧历史弹窗 { position: absolute; top:0;left:0;right:0;bottom:0; z-index: 20; }
.怀旧历史遮罩 { position: absolute; top:0;left:0;right:0;bottom:0; background: rgba(0,0,0,.6); }
.怀旧历史面板 {
  position: absolute; bottom: 0; left: 0; right: 0; max-height: 70%;
  background: var(--背景-层); border-radius: 16px 16px 0 0;
  padding: 0; overflow: hidden; display: flex; flex-direction: column;
}
.怀旧历史头 {
  display: flex; justify-content: space-between; align-items: center;
  padding: 14px 16px 10px; border-bottom: 1px solid var(--边框);
  font-size: 14px; font-weight: 600; flex-shrink: 0;
}
.怀旧历史清空 { font-size: 12px; color: var(--危险); background: none; border: none; cursor: pointer; }
.怀旧历史列表 {
  flex: 1; overflow-y: auto; padding: 8px 16px;
  display: flex; flex-direction: column; gap: 4px;
}
.怀旧历史项 {
  display: flex; align-items: center; gap: 10px; padding: 8px;
  border-radius: 10px; cursor: pointer;
}
.怀旧历史项:hover { background: var(--背景-卡片); }
.怀旧历史项-img { width: 40px; height: 40px; border-radius: 6px; object-fit: cover; background: var(--骨架-基); }
.怀旧历史项-info { flex: 1; min-width: 0; }
.怀旧历史项-title { font-size: 13px; color: var(--文字); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.怀旧历史项-meta { font-size: 11px; color: var(--文字-更弱); }
.怀旧历史关闭 {
  width: 100%; border: none; background: var(--背景-卡片); color: var(--文字);
  padding: 12px; font-size: 14px; cursor: pointer; border-top: 1px solid var(--边框); flex-shrink: 0;
}

/* ─────────── 我的页面（Apple 风格）─────────── */
#页-我的.当前页 {
  display: flex !important; flex-direction: column;
  height: 100%; overflow-y: auto; padding: 0 16px 80px;
}
.我的-说明 { display:none; }
.我的-卡片 { display:flex; flex-direction:column; gap:16px; margin-top:8px; }
/* 头像区 */
.我的-头像区 { display:flex; flex-direction:column; align-items:center; padding:8px 0 0; cursor:pointer; position:relative; }
.我的-头像 { width:68px; height:68px; border-radius:50%; background:linear-gradient(135deg,var(--主色),#a78bfa); display:flex; align-items:center; justify-content:center; font-size:32px; color:#fff; transition:transform .2s; }
.我的-头像区:active .我的-头像 { transform:scale(.92); }
.我的-右上按钮组 { position:absolute; top:4px; right:0; display:flex; gap:5px; align-items:center; z-index:2; }
.我的-顶钮 { font-size:13px; color:var(--文字-弱); background:none; border:1px solid var(--边框); border-radius:8px; padding:3px 10px; cursor:pointer; white-space:nowrap; }
.我的-顶钮:active { background:var(--背景-层); }
.我的-退出顶钮 { color:#EF4444; border-color:rgba(239,68,68,.3); }
.我的-昵称 { font-size:17px; font-weight:700; margin-top:10px; color:var(--文字); }
.我的-副标 { font-size:12px; color:var(--文字-弱); margin-top:3px; }
.我的-小行 { font-size:12px; color:var(--主色); cursor:pointer; margin-top:5px; }
.我的-编辑昵称 { font-size:12px; color:var(--文字-弱); cursor:pointer; margin-top:6px; background:var(--背景); padding:3px 12px; border-radius:10px; }
/* 统计条 */
.我的-统计 { display:flex; align-items:center; background:var(--背景-卡片); border-radius:14px; padding:14px 20px; border:1px solid var(--边框); }
.我的-统计项 { flex:1; text-align:center; }
.我的-统计数 { font-size:24px; font-weight:800; color:var(--主色); }
.我的-统计标 { font-size:11px; color:var(--文字-弱); margin-top:2px; }
.我的-统计分割 { width:1px; height:28px; background:var(--边框); }
/* 老用户专享金标：无限制下载（仅游戏，套图不开放） */
.我的-统计数.老用户-金, .我的-统计标.老用户-金 { color:#f5b942; }
.我的-统计标.老用户-金 { font-weight:700; }
/* 主题切换钮 */
.我的-主题区 { display:flex; align-items:center; justify-content:space-between; background:var(--背景-卡片); border-radius:14px; padding:14px 16px; border:1px solid var(--边框); cursor:pointer; font-size:14px; }
.我的-主题区:active { background:var(--背景); }
.我的-主题钮 { display:flex; align-items:center; gap:6px; background:var(--背景); border-radius:20px; padding:5px 14px; transition:.3s; }
.我的-主题图标 { font-size:16px; }
.我的-主题文 { font-size:12px; color:var(--文字-弱); }
/* 分组卡片 */
.我的-分组 { background:var(--背景-卡片); border-radius:14px; border:1px solid var(--边框); overflow:hidden; }
.我的-行 { display:flex; align-items:center; justify-content:space-between; padding:13px 16px; font-size:14px; color:var(--文字); cursor:pointer; border-bottom:1px solid var(--边框); }
.我的-行:last-child { border-bottom:none; }
.我的-行:active { background:var(--背景); }
.我的-箭头 { font-size:18px; color:var(--文字-更弱); }
.我的-值 { color:var(--文字-弱); font-size:12px; }
/* 青少年开关 */
.我的-开关 { position:relative; display:inline-block; width:46px; height:26px; }
.我的-开关 input { opacity:0; width:0; height:0; }
.我的-滑块 { position:absolute; cursor:pointer; top:0;left:0;right:0;bottom:0; background:var(--边框); border-radius:26px; transition:.3s; }
.我的-滑块::before { content:""; position:absolute; left:3px; bottom:3px; width:20px; height:20px; background:#fff; border-radius:50%; transition:.3s; }
.我的-开关 input:checked+.我的-滑块 { background:var(--主色); }
.我的-开关 input:checked+.我的-滑块::before { transform:translateX(20px); }

/* ─────────── 会员系统（我的页入口 + 底部抽屉弹窗）─────────── */
/* 我的页 · 会员入口卡（金色 VIP 质感，区别于普通分组） */
.我的-会员入口 {
  display: flex; align-items: center; justify-content: space-between;
  margin-top: 12px; padding: 14px 16px;
  border-radius: 14px; cursor: pointer;
  background: linear-gradient(135deg, rgba(245,185,66,.16), rgba(255,154,60,.10));
  border: 1px solid rgba(245,185,66,.45);
  position: relative; overflow: hidden;
}
.我的-会员入口::after {
  content: ""; position: absolute; right: -30px; top: -30px;
  width: 120px; height: 120px; border-radius: 50%;
  background: radial-gradient(circle, rgba(245,185,66,.22), transparent 70%);
}
.我的-会员入口:active { transform: scale(.99); }
.我的-会员-左 { display: flex; align-items: center; gap: 12px; z-index: 1; }
.我的-会员-徽 {
  width: 42px; height: 42px; border-radius: 12px; flex: none;
  display: flex; align-items: center; justify-content: center; font-size: 22px;
  background: linear-gradient(135deg, #f5b942, #ff9a3c);
  box-shadow: 0 4px 12px rgba(245,185,66,.35);
}
.我的-会员-文本 { display: flex; flex-direction: column; gap: 3px; }
.我的-会员-标题 { font-size: 15px; font-weight: 700; color: var(--文字); }
.我的-会员-副 { font-size: 12px; color: var(--文字-弱); }
.我的-会员-右 {
  z-index: 1; font-size: 12px; font-weight: 600; color: var(--文字-弱);
  background: var(--背景-卡片); border: 1px solid var(--边框);
  padding: 4px 12px; border-radius: 20px; white-space: nowrap;
}
.我的-会员-右.会员-有效 {
  color: #1a1205; background: linear-gradient(135deg, #f5b942, #ffcf6e);
  border-color: transparent;
}

/* 会员弹窗（底部抽屉，沿用 影视 弹窗手感） */
.会员遮罩 {
  position: fixed; top:0;left:0;right:0;bottom:0; background: rgba(0,0,0,.72); z-index: 300;
  display: none; align-items: flex-end; justify-content: center;
}
.会员遮罩.开, .会员遮罩.显示 { display: flex; }
.会员面板 {
  width: 100%; max-width: 520px; position: relative;
  background: var(--背景-层); border-radius: 20px 20px 0 0;
  padding: 16px 18px calc(48px + env(safe-area-inset-bottom, 0px) + var(--安全区底, 0px));
  max-height: calc(90vh - env(safe-area-inset-bottom, 0px));
  overflow-y: auto;
}
.会员面板-头 {
  position: relative;
  display: flex; align-items: center; justify-content: center;
  margin: 4px 0 12px;
}
.会员面板-头 > span { font-size: 17px; font-weight: 800; color: var(--文字); }
.会员面板-标题区 { display: flex; flex-direction: column; gap: 2px; align-items: center; text-align: center; }
.会员面板-标题 { font-size: 17px; font-weight: 800; color: var(--文字); }
.会员面板-副标 { font-size: 12px; font-weight: 500; color: var(--金-文字, #f5b942); letter-spacing: .3px; }
.会员面板-关 {
  position: absolute; top: 50%; right: 0; transform: translateY(-50%);
  width: 30px; height: 30px; border: none; border-radius: 50%;
  background: var(--背景-卡片); color: var(--文字-弱); font-size: 16px; cursor: pointer;
}
.会员面板-关:active { background: var(--背景); }
.会员面板-状态 {
  font-size: 13px; color: var(--文字-弱); text-align: center;
  background: var(--背景-卡片); border: 1px solid var(--边框);
  border-radius: 12px; padding: 10px; margin-bottom: 14px;
}
.会员面板-状态.有效 { color: #1a1205; background: linear-gradient(135deg, #f5b942, #ffcf6e); border-color: transparent; font-weight: 600; }

/* 套餐卡片区 */
.会员套餐 { display: flex; flex-direction: column; gap: 10px; margin-bottom: 16px; }
.会员套餐卡 {
  display: flex; align-items: center; gap: 12px;
  background: var(--背景-卡片); border: 1px solid var(--边框);
  border-radius: 14px; padding: 14px; position: relative;
}
.会员套餐卡::before {
  content: ""; position: absolute; left: 0; top: 14px; bottom: 14px; width: 3px;
  border-radius: 3px; background: linear-gradient(180deg, #f5b942, #ff9a3c);
}
.会员套餐-名 { font-size: 15px; font-weight: 700; color: var(--文字); min-width: 56px; }
.会员套餐-副 { font-size: 12px; color: var(--文字-弱); flex: 1; }
.会员套餐-价 { font-size: 20px; font-weight: 800; color: var(--警告); }
.会员套餐-价::before { content: "¥"; font-size: 13px; font-weight: 600; margin-right: 1px; }
.会员套餐-提示 { font-size: 11px; color: var(--文字-更弱); text-align: right; }

/* 客服区 */
.会员客服 { background: var(--背景-卡片); border: 1px solid var(--边框); border-radius: 14px; padding: 4px 14px; margin-bottom: 16px; }
.会员客服-行 { display: flex; align-items: center; justify-content: space-between; padding: 11px 0; font-size: 14px; color: var(--文字); border-bottom: 1px solid var(--边框); }
.会员客服-行:last-child { border-bottom: none; }
.会员客服-值 { font-size: 13px; color: var(--文字-弱); }
.会员客服-复制 {
  font-size: 12px; color: var(--主色); background: var(--背景);
  border: 1px solid var(--边框); border-radius: 16px; padding: 4px 12px; cursor: pointer;
}
.会员客服-复制:active { background: var(--背景-层); }

/* 兑换区 */
.会员兑换 { display: flex; gap: 10px; margin-bottom: 12px; }
.会员兑换 input {
  flex: 1; height: 44px; border-radius: 12px; border: 1px solid var(--边框);
  background: var(--背景-卡片); color: var(--文字); font-size: 14px; padding: 0 14px;
  outline: none;
}
.会员兑换 input:focus { border-color: var(--主色); }
.会员兑换-按钮 {
  height: 44px; padding: 0 22px; border: none; border-radius: 12px; cursor: pointer;
  background: linear-gradient(135deg, #f5b942, #ff9a3c); color: #1a1205;
  font-size: 15px; font-weight: 700; white-space: nowrap;
}
.会员兑换-按钮:active { opacity: .9; }
.会员提示 { min-height: 18px; font-size: 13px; text-align: center; color: var(--文字-弱); }
.会员提示.成功 { color: var(--成功); }
.会员提示.失败 { color: var(--危险); }

/* ── 套图门禁屏（无权限时占位）── */
.套图门禁 {
  grid-column: 1 / -1;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  text-align: center; padding: 40px 24px; gap: 14px; min-height: 70vh; box-sizing: border-box;
}
.套图门禁-图标 { font-size: 52px; opacity: .85; }
.套图门禁-标题 { font-size: 17px; font-weight: 700; color: var(--文字); }
.套图门禁-副 { font-size: 13px; color: var(--文字-弱); line-height: 1.6; max-width: 280px; }
.套图门禁-按钮 {
  margin-top: 6px; padding: 11px 28px; border: none; border-radius: 24px; cursor: pointer;
  background: linear-gradient(135deg, #f5b942, #ff9a3c); color: #1a1205;
  font-size: 14px; font-weight: 700;
}
.套图门禁-按钮:active { opacity: .9; }

/* ─────────── 怀旧游戏弹窗（iframe模拟器） ─────────── */
.怀旧弹窗 {
  position: fixed; top:0;left:0;right:0;bottom:0; z-index: 500;
  display: flex; flex-direction: column;
}
.怀旧弹窗-遮罩 {
  position: absolute; top:0;left:0;right:0;bottom:0; background: transparent;
  z-index: 1;
}
.怀旧弹窗-顶 {
  display: flex; align-items: center; justify-content: space-between;
  padding: calc(var(--安全区顶) + 8px) 14px 8px;
  background: var(--背景-层); border-bottom: 1px solid var(--边框);
  flex-shrink: 0; z-index: 2; position: relative;
}
.怀旧弹窗-标题 { font-size: 15px; font-weight: 600; color: var(--文字); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 70%; }
.怀旧弹窗-关闭 {
  background: var(--背景-卡片); border: 1px solid var(--边框);
  color: var(--文字); padding: 6px 14px; border-radius: 16px;
  font-size: 13px; cursor: pointer; z-index: 2; position: relative;
}
.怀旧弹窗-游戏区 {
  flex: 1; position: relative; z-index: 2;
  display: flex; align-items: center; justify-content: center;
  background: #000;
}
.怀旧弹窗-游戏 { width: 100%; height: 100%; border: none; position: relative; z-index: 1; }
/* 透明遮罩：挡右下角 Game Details / Home 两个按钮 */
.怀旧弹窗-阻止-右下 {
  position: absolute; bottom: 0; right: 0;
  width: 35%; height: 90px; z-index: 5;
  pointer-events: auto; background: transparent;
}
.怀旧弹窗-阻止-右上 { display: none; }

/* ── 软件卡（统一用结果卡布局）── */
.结果卡-软件 .结果卡-信息 { flex: 1; min-width: 0; }
.结果卡-软件 .结果卡-标题 { font-size: 14px; }
.结果卡-操作 { flex-shrink: 0; display: flex; align-items: center; padding-right: 4px; }
.结果卡-下载 {
  border: none; border-radius: 8px; background: var(--主色); color: #fff;
  font-size: 12px; font-weight: 600; padding: 7px 14px; cursor: pointer;
  white-space: nowrap;
}
.结果卡-封面占位 {
  width: 56px; height: 56px; border-radius: 10px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center; font-size: 24px;
  background: var(--背景-卡片); border: 1px solid var(--边框);
}

/* ── 网盘选择弹窗 ── */
.网盘选择遮罩 {
  position: fixed; top:0;left:0;right:0;bottom:0; z-index: 600;
  background: rgba(0,0,0,.5); display: flex; align-items: flex-end; justify-content: center;
}
.网盘选择面板 {
  width: 100%; max-width: 400px; background: var(--背景-层);
  border-radius: 16px 16px 0 0; overflow: hidden;
}
.网盘选择头 {
  display: flex; justify-content: space-between; align-items: center;
  padding: 16px 18px 10px; border-bottom: 1px solid var(--边框);
  font-size: 14px; font-weight: 600; color: var(--文字);
}
.网盘选择关闭 {
  background: none; border: none; font-size: 20px; color: var(--文字-弱); cursor: pointer;
}
.网盘选择列表 { padding: 12px 18px 20px; display: flex; flex-direction: column; gap: 8px; }
.网盘选择项 {
  border: 1px solid var(--边框); border-radius: 10px; padding: 12px;
  background: var(--背景-卡片); color: var(--文字); font-size: 15px;
  cursor: pointer; text-align: center; transition: .15s;
}
.网盘选择项:hover { border-color: var(--主色); color: var(--主色); }

/* ── 登录弹窗 ── */
.登录遮罩 { position:fixed; top:0;left:0;right:0;bottom:0; z-index:500; background:rgba(0,0,0,.5); display:none; align-items:center; justify-content:center; }
.登录遮罩.显示 { display:flex; }
.登录面板 { background:var(--背景-层); border-radius:16px; width:100%; max-width:340px; padding:24px 20px; display:flex; flex-direction:column; gap:12px; box-shadow:0 20px 60px rgba(0,0,0,.2); margin:0 20px; }
.登录头 { display:flex; justify-content:space-between; align-items:center; font-size:16px; font-weight:700; }
.登录关闭 { background:none; border:none; font-size:20px; color:var(--文字-弱); cursor:pointer; }
.登录面板 input { border:1px solid var(--边框); border-radius:10px; padding:10px 14px; font-size:15px; background:var(--背景); color:var(--文字); text-align:center; letter-spacing:2px; }
.登录面板 input:focus { border-color:var(--主色); outline:none; }
.登录提交 { border:none; border-radius:10px; padding:12px; font-size:15px; font-weight:600; background:var(--主色); color:#fff; cursor:pointer; }
.登录提交:active { opacity:.85; }
.登录切换 { font-size:12px; color:var(--危险); cursor:pointer; text-align:center; font-weight:600; }
/* 注册模式（红蓝区分）：标题与提交按钮变红色系 */
.登录-注册中 #登录标题 { color: var(--危险); }
.登录-注册中 #登录提交 { background: linear-gradient(135deg,#ff5d5d,#e84444); }
.登录-注册中 #登录提交:active { opacity:.85; }
.登录-注册中 #登录切换 { color: var(--主色); font-weight:400; }
.登录提示 { font-size:12px; color:#EF4444; min-height:16px; text-align:center; }
.我的-值 { font-size:12px; color:var(--文字-弱); }

/* ── 应用安装按钮（抄袭原 H5 my.css）── */
.我的-安装按钮区 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.我的-安装钮{ width:100%; min-height:104px; padding:12px 10px; border-radius:16px; border:1px solid transparent; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; text-align:center; cursor:pointer; transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease; font-family:inherit; }
.我的-安装钮:hover{ transform:translateY(-2px); }
.我的-安装钮:active{ transform:scale(.95)!important; box-shadow:none!important; opacity:.88; transition:transform .08s ease, opacity .08s ease; }
.我的-安装钮-图标{ flex:0 0 48px; width:48px; height:48px; border-radius:15px; display:flex; align-items:center; justify-content:center; }
.我的-安装钮-图标 svg{ width:28px; height:28px; display:block; }
.我的-安装钮-文字体{ min-width:0; display:flex; flex-direction:column; gap:0; align-items:center; }
.我的-安装钮-文字{ font-size:16px; font-weight:1000; line-height:1.25; }
.我的-安装钮-ios{ color:#e8eefc; border-color:rgba(148,163,184,.22); background:linear-gradient(180deg,#1f2c44 0%,#171f2e 100%); box-shadow:0 14px 30px rgba(0,0,0,.35); }
.我的-安装钮-ios .我的-安装钮-图标{ background:linear-gradient(180deg,#e2e8f0 0%,#cbd5e1 100%); color:#0f172a; box-shadow:0 12px 24px rgba(0,0,0,.3); }
.我的-安装钮-安卓{ color:#a7f3d0; border-color:rgba(34,197,94,.22); background:linear-gradient(180deg,#10331f 0%,#0c2516 100%); box-shadow:0 14px 30px rgba(0,0,0,.35); }
.我的-安装钮-安卓 .我的-安装钮-图标{ background:linear-gradient(180deg,#2fb85d 0%,#16a34a 100%); color:#fff; box-shadow:0 12px 24px rgba(0,0,0,.3); }
/* 亮色主题：保持浅色品牌感 */
[data-theme="light"] .我的-安装钮-ios{ color:#0f172a; border-color:rgba(148,163,184,.28); background:linear-gradient(180deg,#ffffff 0%,#f5f7fb 100%); box-shadow:0 14px 30px rgba(15,23,42,.08); }
[data-theme="light"] .我的-安装钮-ios .我的-安装钮-图标{ background:linear-gradient(180deg,#0f172a 0%,#334155 100%); color:#fff; box-shadow:0 12px 24px rgba(15,23,42,.22); }
[data-theme="light"] .我的-安装钮-安卓{ color:#0f3b1f; border-color:rgba(34,197,94,.26); background:linear-gradient(180deg,#f3fff7 0%,#e7fce9 100%); box-shadow:0 14px 30px rgba(34,197,94,.12); }
[data-theme="light"] .我的-安装钮-安卓 .我的-安装钮-图标{ background:linear-gradient(180deg,#2fb85d 0%,#16a34a 100%); color:#fff; box-shadow:0 12px 24px rgba(22,163,74,.24); }
@media (max-width:560px) {
  .我的-安装钮{ min-height:92px; padding:10px 8px; }
  .我的-安装钮-图标{ width:42px; height:42px; border-radius:13px; }
  .我的-安装钮-图标 svg{ width:24px; height:24px; }
  .我的-安装钮-文字{ font-size:15px; }
}

/* ── 分享弹窗 ── */
.分享遮罩 { position:fixed; top:0;left:0;right:0;bottom:0; z-index:9999; background:rgba(0,0,0,.5); display:none; align-items:center; justify-content:center; }
.分享遮罩.显示 { display:flex; }
.分享面板 { background:var(--背景-层); border-radius:16px; width:100%; max-width:320px; padding:20px; text-align:center; box-shadow:0 20px 60px rgba(0,0,0,.2); margin:0 16px; }
.分享头 { display:flex; justify-content:space-between; align-items:center; font-size:15px; font-weight:700; margin-bottom:12px; }
.分享关闭 { background:none; border:none; font-size:20px; color:var(--文字-弱); cursor:pointer; }
.分享码区 canvas, .分享码区 img { border-radius:12px; max-width:160px; }
.分享链接 { font-size:12px; color:var(--文字-弱); word-break:break-all; margin:10px 0; padding:8px 12px; background:var(--背景); border-radius:8px; }
.分享复制 { display:block; width:100%; border:1px solid var(--主色); border-radius:10px; padding:10px; margin:6px 0; background:transparent; color:var(--主色); font-size:14px; font-weight:600; cursor:pointer; }
.分享复制:active { background:var(--主色); color:#fff; }

/* ── 推荐页（外链卡片 + 可折叠教程） ── */
.推荐-说明 { padding: 14px 16px 4px; text-align: center; }
.推荐-说明 h2 { font-size: 17px; font-weight: 700; color: var(--文字); margin: 0; }
.推荐-说明 p { font-size: 12px; color: var(--文字-弱); margin: 3px 0 0; }
.推荐-内容 { padding: 6px 14px 90px; }
.推荐-块标题 { font-size: 13px; font-weight: 700; color: var(--文字-弱); margin: 14px 4px 8px; }
.推荐卡 { display: flex; align-items: center; gap: 12px; padding: 12px 14px; margin-bottom: 10px; background: var(--背景-卡片); border: 1px solid var(--边框); border-radius: 14px; text-decoration: none; }
.推荐卡:active { opacity: .8; }
.推荐卡-图标 { width: 40px; height: 40px; border-radius: 12px; background: var(--热门-背景); display: flex; align-items: center; justify-content: center; font-size: 20px; flex: 0 0 40px; }
.推荐卡-文字 { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.推荐卡-文字 b { font-size: 14px; color: var(--文字); font-weight: 700; }
.推荐卡-文字 i { font-style: normal; font-size: 12px; color: var(--文字-弱); margin-top: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.推荐卡-箭头 { color: var(--文字-更弱); font-size: 18px; }
.折叠 { margin-bottom: 10px; background: var(--背景-卡片); border: 1px solid var(--边框); border-radius: 14px; }
.折叠-头 { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 13px 14px; background: none; border: none; color: var(--文字); font-size: 14px; font-weight: 700; cursor: pointer; text-align: left; }
.折叠-箭头 { display: inline-block; color: var(--文字-更弱); transition: transform .2s; }
.折叠-头.开 .折叠-箭头 { transform: rotate(180deg); }
.折叠-体 { display: none; padding: 12px 14px; border-top: 1px solid var(--边框); font-size: 13px; color: var(--文字); line-height: 1.7; }
.折叠-体 h3 { font-size: 14px; font-weight: 700; margin: 8px 0 6px; }
.折叠-体 h4 { font-size: 13px; font-weight: 700; margin: 8px 0 4px; }
.折叠-体 p { margin: 6px 0; }
.折叠-体 img { max-width: 100%; border-radius: 10px; height: auto; }
.折叠-体 b, .折叠-体 strong { font-weight: 700; }
.折叠-体 ul, .折叠-体 ol { margin: 6px 0; padding-left: 20px; }
.折叠-体 a { color: var(--主色); }

/* ── 老用户登录（名单内手机号首次设置永久密码） ── */
.登录老户入口 { font-size:13px; color:var(--主色); cursor:pointer; text-align:center; padding:2px 0; }
.登录老户区 { display:flex; flex-direction:column; gap:10px; margin-top:2px; }
.登录老户-标题 { text-align:center; font-size:16px; font-weight:700; color:var(--文字); }
.登录老户-副 { text-align:center; font-size:12px; color:var(--文字-弱); margin-bottom:2px; }
.登录老户-行 { display:flex; gap:8px; }
.登录老户-行 input { flex:1; min-width:0; }
.登录老户-查 { width:76px; flex:0 0 76px; border:none; border-radius:10px; background:var(--主色); color:#fff; font-size:14px; font-weight:700; cursor:pointer; }
.登录老户-查:active { opacity:.85; }
.登录老户-密区 { display:flex; flex-direction:column; gap:10px; }
.登录老户-警告 { text-align:center; color:#ff5252; background:none; border:none; padding:2px 0 4px; font-size:12px; font-weight:700; line-height:1.6; }
.登录老户-返回 { text-align:center; font-size:13px; color:var(--文字-弱); cursor:pointer; padding:2px 0; }

/* ── 公告弹窗系统（弹窗公告 + 可拖动悬浮按钮）── */
.公告遮罩 { position:fixed; top:0; left:0; right:0; bottom:0; background:rgba(0,0,0,.58); display:none; z-index:9990; align-items:center; justify-content:center; padding:20px; }
.公告遮罩.显示 { display:flex; }
.公告-弹窗 { width:100%; max-width:430px; max-height:82vh; background:var(--背景-卡片); border-radius:18px; display:flex; flex-direction:column; overflow:hidden; box-shadow:0 24px 60px rgba(0,0,0,.45); }
.公告-头 { display:flex; align-items:center; justify-content:space-between; padding:14px 18px; border-bottom:1px solid var(--边框); }
.公告-标题 { font-size:16px; font-weight:800; color:var(--文字); text-align:center; }
.公告-关闭 { border:none; background:none; color:var(--文字-弱); font-size:26px; line-height:1; cursor:pointer; padding:0 4px; }
.公告-体 { flex:1; overflow-y:auto; padding:16px 18px; -webkit-overflow-scrolling:touch; }
.公告-图区 { text-align:center; margin-bottom:12px; }
.公告-图 { max-width:100%; border-radius:12px; display:block; margin:0 auto 8px; }
.公告-存图 { border:1px solid var(--边框); background:var(--背景); color:var(--文字); border-radius:8px; padding:5px 14px; font-size:12px; cursor:pointer; }
.公告-富文本 { font-size:14px; color:var(--文字); line-height:1.8; text-align:left; }
.公告-富文本 h1,.公告-富文本 h2,.公告-富文本 h3 { color:var(--文字); margin:8px 0 6px; }
.公告-富文本 img { max-width:100%; border-radius:8px; }
.公告-富文本 a { color:var(--主色); }
.公告-富文本 b,.公告-富文本 strong { font-weight:700; }
.公告-富文本 ul,.公告-富文本 ol { padding-left:20px; margin:6px 0; }
.公告-按钮组 { margin-top:14px; display:flex; flex-direction:column; gap:8px; }
.公告-按钮 { display:block; text-align:center; color:#fff; font-size:14px; font-weight:700; text-decoration:none; border-radius:10px; padding:11px 0; }
.公告-按钮:active { opacity:.85; }
.公告-底 { display:flex; align-items:center; justify-content:center; gap:12px; padding:12px 16px; border-top:1px solid var(--边框); }
.公告-导航 { width:34px; height:34px; border:1px solid var(--边框); border-radius:10px; background:var(--背景); color:var(--文字); font-size:20px; line-height:1; cursor:pointer; }
.公告-计数 { font-size:12px; color:var(--文字-弱); }
.公告悬浮 { position:fixed; right:14px; bottom:92px; width:46px; height:46px; border-radius:50%; background:linear-gradient(135deg,#f5b942,#f39c12); color:#1a1406; font-size:22px; display:none; align-items:center; justify-content:center; z-index:9980; box-shadow:0 8px 22px rgba(0,0,0,.35); cursor:pointer; -webkit-user-select:none; user-select:none; }
.公告悬浮:active { opacity:.85; }


/* 套餐卡副文字：金色权益文案（替换原 7天/30天/永久有效） */
.会员套餐-副金 { color:#f5b942 !important; font-weight:700; }
