/* ============================================================
   mc-creative.css — MC World 子页面统一创意主题
   设计语言：深夜星空 / 荧光苔藓绿 / 像素斜面 / 原版物品图标
   覆盖范围（按 body class 分域，互不影响）：
   · .feature-page   画廊 / 主播 / 赞助 / 订单
   · .portal-v3      分享 / 投票 / 反馈 / 帖子
   · .pack-expedition 五个世界详情页
   · .chatpage-body  社区聊天
   · .lottery-v2     幸运转轮（仅共享令牌与星空，主题见 lottery-v2.css）
   · .view-v2        背包查看
   加载顺序：必须在其余样式表之后引入。
   ============================================================ */

/* ------------------------------------------------------------
   0. 设计令牌
------------------------------------------------------------ */
:root {
  --mcc-bg: #0a0f0b;
  --mcc-panel: #16201a;
  --mcc-panel-2: #101712;
  --mcc-slot: #0b100c;
  --mcc-line: #2c3a2c;
  --mcc-line-hi: rgba(237, 255, 216, 0.14);
  --mcc-line-lo: rgba(0, 0, 0, 0.6);
  --mcc-ink: #eef3e2;
  --mcc-ink-soft: #b3c1a4;
  --mcc-ink-faint: #7f8f74;
  --mcc-lime: #b9db83;
  --mcc-lime-hi: #d3eba4;
  --mcc-lime-deep: #7da24e;
  --mcc-gold: #e6c26b;
  --mcc-gold-hi: #f4dd9a;
  --mcc-diamond: #6fd8d8;
  --mcc-red: #e06a6a;
  --mcc-violet: #b48ee0;
  --mcc-shadow: 2px 2px 0 rgba(0, 0, 0, 0.55);
  --mcc-shadow-sm: 1px 1px 0 rgba(0, 0, 0, 0.55);
  --mcc-bevel: inset 2px 2px 0 var(--mcc-line-hi), inset -2px -2px 0 var(--mcc-line-lo);
  --mcc-bevel-deep: inset 2px 2px 0 var(--mcc-line-lo), inset -2px -2px 0 var(--mcc-line-hi);
  --mcc-mono: ui-monospace, "Cascadia Mono", "JetBrains Mono", monospace;
}

/* ------------------------------------------------------------
   1. 全域氛围：像素星空 + 微光地平线
   各栈页面已有不透明的 body::before 基底层，星空必须画进同一层，
   因此按栈分别定义（z-index 与各栈原有约定保持一致）。
------------------------------------------------------------ */
body.portal-v3::before,
body.feature-page::before,
body.chatpage-body::before,
body.pack-expedition::before,
body.lottery-v2::before,
body.view-v2::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background-image:
    radial-gradient(1.6px 1.6px at 12% 22%, rgba(255, 255, 255, 0.5), transparent 62%),
    radial-gradient(1.2px 1.2px at 34% 8%, rgba(255, 255, 255, 0.4), transparent 62%),
    radial-gradient(1.8px 1.8px at 58% 18%, rgba(211, 235, 164, 0.55), transparent 62%),
    radial-gradient(1.2px 1.2px at 76% 6%, rgba(255, 255, 255, 0.42), transparent 62%),
    radial-gradient(1.5px 1.5px at 89% 26%, rgba(255, 255, 255, 0.36), transparent 62%),
    radial-gradient(1.1px 1.1px at 45% 30%, rgba(255, 255, 255, 0.3), transparent 62%),
    radial-gradient(52% 34% at 50% -6%, rgba(185, 219, 131, 0.1), transparent 70%),
    radial-gradient(40% 30% at 88% 108%, rgba(125, 162, 78, 0.1), transparent 70%);
  background-repeat: no-repeat;
  background-color: var(--mcc-bg);
}
/* 各栈原有层级：portal -2 / styles 系 -1 */
body.portal-v3::before { z-index: -2; }
body.feature-page::before,
body.chatpage-body::before,
body.pack-expedition::before,
body.lottery-v2::before,
body.view-v2::before { z-index: -1; }
/* pack 页 ::after 网格已在 pack.css 中隐藏，无需处理；
   portal 页 ::after 网格保留，叠加在星空之上形成坐标网。 */

/* 选区 / 焦点 / 滚动条统一 */
.feature-page ::selection,
.portal-v3 ::selection,
.chatpage-body ::selection,
.lottery-v2 ::selection,
.view-v2 ::selection { background: rgba(185, 219, 131, 0.85); color: #101a0c; text-shadow: none; }

body.feature-page, body.portal-v3, body.chatpage-body, body.lottery-v2, body.view-v2 {
  scrollbar-width: thin;
  scrollbar-color: #3d4f38 #0d130e;
}
.feature-page ::-webkit-scrollbar, .portal-v3 ::-webkit-scrollbar,
.chatpage-body ::-webkit-scrollbar, .lottery-v2 ::-webkit-scrollbar, .view-v2 ::-webkit-scrollbar { width: 10px; height: 10px; }
.feature-page ::-webkit-scrollbar-track, .portal-v3 ::-webkit-scrollbar-track,
.chatpage-body ::-webkit-scrollbar-track, .lottery-v2 ::-webkit-scrollbar-track, .view-v2 ::-webkit-scrollbar-track { background: #0d130e; }
.feature-page ::-webkit-scrollbar-thumb, .portal-v3 ::-webkit-scrollbar-thumb,
.chatpage-body ::-webkit-scrollbar-thumb, .lottery-v2 ::-webkit-scrollbar-thumb, .view-v2 ::-webkit-scrollbar-thumb {
  background: #3d4f38;
  border: 2px solid #0d130e;
}
.feature-page ::-webkit-scrollbar-thumb:hover, .portal-v3 ::-webkit-scrollbar-thumb:hover,
.chatpage-body ::-webkit-scrollbar-thumb:hover, .lottery-v2 ::-webkit-scrollbar-thumb:hover, .view-v2 ::-webkit-scrollbar-thumb:hover { background: var(--mcc-lime-deep); }

.feature-page :focus-visible, .portal-v3 :focus-visible,
.chatpage-body :focus-visible, .lottery-v2 :focus-visible, .view-v2 :focus-visible {
  outline: 2px solid var(--mcc-lime);
  outline-offset: 2px;
}

/* ------------------------------------------------------------
   2. 通用 MC 组件（按域映射到现有类，不改 DOM）
   按钮：荧光绿斜面 + 文字投影 + 按下位移
------------------------------------------------------------ */

.portal-v3 .btn,
.portal-v3 .sec-cta,
.portal-v3 .pnav-login,
.feature-page .feature-action.primary,
.feature-page .gallery-submit,
.feature-page .sponsor-button,
.lottery-v2 .open,
.view-v2 .mcc-btn {
  position: relative;
  border: 2px solid #0a1208;
  border-radius: 2px;
  background: linear-gradient(180deg, var(--mcc-lime-hi), var(--mcc-lime) 55%, #9ec466);
  box-shadow: inset 0 2px 0 rgba(255, 255, 255, 0.42), inset 0 -3px 0 rgba(60, 84, 36, 0.55), 3px 3px 0 rgba(0, 0, 0, 0.45);
  color: #1b2c12;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.35);
  transition: filter 0.12s ease, transform 0.08s ease;
}
.portal-v3 .btn:hover:not(:disabled),
.portal-v3 .sec-cta:hover:not(:disabled),
.portal-v3 .pnav-login:hover,
.feature-page .feature-action.primary:hover,
.feature-page .gallery-submit:hover,
.feature-page .sponsor-button:hover:not(:disabled),
.lottery-v2 .open:hover:not(:disabled) {
  filter: brightness(1.07);
  transform: translateY(-1px);
  box-shadow: inset 0 2px 0 rgba(255, 255, 255, 0.46), inset 0 -3px 0 rgba(60, 84, 36, 0.55), 4px 4px 0 rgba(0, 0, 0, 0.5);
}
.portal-v3 .btn:active:not(:disabled),
.portal-v3 .sec-cta:active:not(:disabled),
.feature-page .sponsor-button:active:not(:disabled),
.lottery-v2 .open:active:not(:disabled) {
  transform: translateY(1px);
  box-shadow: inset 0 3px 0 rgba(60, 84, 36, 0.5), inset 0 -2px 0 rgba(255, 255, 255, 0.28), 2px 2px 0 rgba(0, 0, 0, 0.4);
}

/* 幽灵按钮：暗槽斜面 */
.portal-v3 .btn.ghost,
.portal-v3 .pnav-back,
.portal-v3 .pnav-logout,
.portal-v3 .pnav-user,
.feature-page .feature-action:not(.primary),
.feature-page .icon-btn,
.feature-page .gallery-refresh,
.view-v2 .mcc-btn-ghost {
  border: 2px solid #0a1208;
  border-radius: 2px;
  background: linear-gradient(180deg, #233021, #1a251a 60%, #141d15);
  box-shadow: inset 0 2px 0 rgba(237, 255, 216, 0.12), inset 0 -3px 0 rgba(0, 0, 0, 0.45), 2px 2px 0 rgba(0, 0, 0, 0.35);
  color: var(--mcc-ink);
  text-shadow: var(--mcc-shadow-sm);
  transition: filter 0.12s ease, border-color 0.12s ease, color 0.12s ease;
}
.portal-v3 .btn.ghost:hover:not(:disabled),
.portal-v3 .pnav-back:hover,
.portal-v3 .pnav-logout:hover,
.feature-page .feature-action:not(.primary):hover,
.feature-page .icon-btn:hover,
.feature-page .gallery-refresh:hover {
  filter: brightness(1.18);
  border-color: #0a1208;
  color: var(--mcc-lime-hi);
  background: linear-gradient(180deg, #2a3a28, #1f2c1f 60%, #182218);
}

/* 面板：深色斜面 + 黑边 */
.portal-v3 .card,
.portal-v3 .poll,
.portal-v3 .form-card,
.portal-v3 .poll-nav-panel,
.portal-v3 .pmodal-card,
.feature-page .sponsor-panel,
.feature-page .sponsor-checkout,
.feature-page .sponsor-leaderboard,
.feature-page .order-card,
.feature-page .order-notice,
.feature-page .orders-list-shell,
.feature-page .sponsor-modal-card,
.feature-page .payment-checkout-card,
.feature-page .payment-qr-zoom-card,
.lottery-v2 .stage,
.lottery-v2 .side-card,
.lottery-v2 .case-dialog {
  border: 2px solid #0a1208;
  border-radius: 2px;
  background: linear-gradient(180deg, var(--mcc-panel), var(--mcc-panel-2));
  box-shadow: var(--mcc-bevel), 8px 8px 0 rgba(0, 0, 0, 0.28);
}

/* ------------------------------------------------------------
   3. Portal 栈（分享 / 投票 / 反馈 / 帖子）
------------------------------------------------------------ */
body.portal-v3 {
  background-color: var(--mcc-bg);
  color: var(--mcc-ink);
}
/* 顶栏：基岩黑 + 荧光底线 */
.portal-v3 .pnav {
  background: rgba(9, 13, 10, 0.96);
  border-bottom: 2px solid #0a1208;
  box-shadow: 0 2px 0 rgba(185, 219, 131, 0.22), 0 10px 30px rgba(0, 0, 0, 0.35);
}
.portal-v3 .pnav .brand { text-shadow: var(--mcc-shadow); letter-spacing: 0.02em; }
.portal-v3 .pnav .brand span { color: var(--mcc-lime); }
.portal-v3 .pnav-user { border-radius: 2px; }
.portal-v3 .pnav-dot { border-radius: 0; background: var(--mcc-lime); box-shadow: 0 0 8px rgba(185, 219, 131, 0.8); }

/* 页头：标题投影 + 荧光强调 */
.portal-v3 .phero-title {
  text-shadow: 3px 3px 0 rgba(0, 0, 0, 0.5), 0 0 42px rgba(185, 219, 131, 0.12);
}
.portal-v3 .phero-title em {
  color: var(--mcc-lime);
  text-shadow: 3px 3px 0 rgba(0, 0, 0, 0.5), 0 0 26px rgba(185, 219, 131, 0.35);
}
.portal-v3 .phero-kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--mcc-lime);
  font-family: var(--mcc-mono);
  text-shadow: var(--mcc-shadow-sm);
}
.portal-v3 .phero-kicker::before {
  content: "";
  width: 16px;
  height: 16px;
  background: url("../icons/minecraft/grass_block.png") center / contain no-repeat;
  image-rendering: pixelated;
  filter: drop-shadow(2px 2px 0 rgba(0, 0, 0, 0.5));
}

/* 卡片内的强调条：由粉紫渐变改为荧光绿 */
.portal-v3 .poll::before { background: linear-gradient(180deg, var(--mcc-lime), var(--mcc-lime-deep)); }
.portal-v3 .sec-head h2 { text-shadow: var(--mcc-shadow); }
.portal-v3 .sec-head .line { background: linear-gradient(90deg, var(--mcc-line), transparent); height: 2px; }

/* 表单：暗槽 + 斜面 */
.portal-v3 .field input,
.portal-v3 .field textarea,
.portal-v3 .field select,
.portal-v3 .entry-input,
.portal-v3 .comment-input {
  border: 2px solid #0a1208;
  border-radius: 2px;
  background: var(--mcc-slot);
  box-shadow: var(--mcc-bevel-deep);
  color: var(--mcc-ink);
}
.portal-v3 .field input:focus,
.portal-v3 .field textarea:focus,
.portal-v3 .field select:focus,
.portal-v3 .entry-input:focus,
.portal-v3 .comment-input:focus {
  outline: none;
  border-color: var(--mcc-lime-deep);
  box-shadow: var(--mcc-bevel-deep), 0 0 0 2px rgba(185, 219, 131, 0.22);
}

/* 投票选项：物品行 */
.portal-v3 .opt {
  border: 2px solid #0a1208;
  border-radius: 2px;
  background: var(--mcc-panel-2);
  box-shadow: inset 0 2px 0 rgba(237, 255, 216, 0.06), inset 0 -2px 0 rgba(0, 0, 0, 0.4);
}
.portal-v3 .opt:hover:not(.disabled) {
  border-color: var(--mcc-lime-deep);
  background: #1c2819;
  transform: translateX(2px);
}
.portal-v3 .opt.mine { border-color: var(--mcc-lime); }
.portal-v3 .opt-fill { background: linear-gradient(90deg, rgba(185, 219, 131, 0.16), rgba(125, 162, 78, 0.1)); }
.portal-v3 .opt.checked .opt-check { border-color: var(--mcc-lime); background: var(--mcc-lime); border-radius: 2px; }
.portal-v3 .opt.checked .opt-check::after { color: #14210c; }
.portal-v3 .opt-check { border-radius: 2px; }
.portal-v3 .opt.radio .opt-check { border-radius: 50%; }
.portal-v3 .opt-pct { color: var(--mcc-lime); font-family: var(--mcc-mono); text-shadow: var(--mcc-shadow-sm); }

/* 投票侧栏 */
.portal-v3 .poll-nav-panel .poll-tab.active {
  border-color: rgba(185, 219, 131, 0.4);
  background: rgba(185, 219, 131, 0.1);
  box-shadow: inset 3px 0 0 var(--mcc-lime);
}
.portal-v3 .poll-nav-head b { color: var(--mcc-lime); font-family: var(--mcc-mono); }
.portal-v3 .poll-tab-dot { border-radius: 0; background: var(--mcc-lime); box-shadow: 0 0 8px rgba(185, 219, 131, 0.7); }

/* 分享卡片 */
.portal-v3 .share-item {
  border: 2px solid #0a1208;
  border-radius: 2px;
  box-shadow: var(--mcc-bevel), 6px 6px 0 rgba(0, 0, 0, 0.25);
}
.portal-v3 .share-item:hover {
  transform: translateY(-3px);
  border-color: var(--mcc-lime-deep);
  box-shadow: var(--mcc-bevel), 8px 10px 0 rgba(0, 0, 0, 0.32);
}
.portal-v3 .share-author, .portal-v3 .comment-author, .portal-v3 .post-author-name { color: var(--mcc-lime); }

/* 徽章 */
.portal-v3 .badge { border-radius: 2px; font-family: var(--mcc-mono); }
.portal-v3 .badge.pending { color: var(--mcc-gold); border-color: rgba(230, 194, 107, 0.45); background: rgba(230, 194, 107, 0.08); }
.portal-v3 .badge.approved { color: var(--mcc-lime); border-color: rgba(185, 219, 131, 0.45); background: rgba(185, 219, 131, 0.08); }
.portal-v3 .badge.rejected { color: var(--mcc-red); border-color: rgba(224, 106, 106, 0.45); background: rgba(224, 106, 106, 0.08); }

/* 点赞按钮 */
.portal-v3 .like-btn { border-radius: 2px; }
.portal-v3 .like-btn.liked { border-color: var(--mcc-gold); background: rgba(230, 194, 107, 0.12); color: var(--mcc-gold); }
.portal-v3 .like-btn.liked .like-ic { color: var(--mcc-gold); }

/* 上传区 */
.portal-v3 .img-up-drop { border: 2px dashed var(--mcc-line); border-radius: 2px; background: var(--mcc-slot); }
.portal-v3 .img-up-drop:hover, .portal-v3 .img-up-drop:focus-visible { border-color: var(--mcc-lime); background: rgba(185, 219, 131, 0.06); }
.portal-v3 .img-up-drop.is-over { border-color: var(--mcc-lime-hi); background: rgba(185, 219, 131, 0.1); }

/* 弹窗 / 灯箱 / 提示 */
.portal-v3 .pmodal-title { text-shadow: var(--mcc-shadow); }
.portal-v3 .pmodal-x { border-radius: 2px; }
.portal-v3 .pmodal-x:hover { border-color: var(--mcc-lime); color: var(--mcc-lime); transform: none; }
.portal-v3 .need-login { border: 2px dashed var(--mcc-line); border-radius: 2px; background: rgba(185, 219, 131, 0.05); }
.portal-v3 .spinner { border-radius: 0; border: 3px solid var(--mcc-line); border-top-color: var(--mcc-lime); }
.portal-v3 .plight img { border-radius: 2px; border: 2px solid #0a1208; box-shadow: var(--mcc-bevel), 10px 10px 0 rgba(0, 0, 0, 0.4); }
.portal-v3 .plight-x { border-radius: 2px; }

/* ------------------------------------------------------------
   4. Feature 栈（画廊 / 主播 / 赞助 / 订单）
------------------------------------------------------------ */
body.feature-page { background-color: var(--mcc-bg); }

.feature-page .feature-intro { border-bottom: 2px solid #0a1208; box-shadow: 0 2px 0 rgba(185, 219, 131, 0.14); }
.feature-page .feature-kicker {
  color: var(--mcc-lime);
  font-family: var(--mcc-mono);
  text-shadow: var(--mcc-shadow-sm);
}
.feature-page .feature-kicker::before {
  width: 16px;
  height: 16px;
  background: url("../icons/minecraft/diamond_ore.png") center / contain no-repeat;
  image-rendering: pixelated;
  filter: drop-shadow(2px 2px 0 rgba(0, 0, 0, 0.5));
}
.feature-page .feature-title { text-shadow: 3px 3px 0 rgba(0, 0, 0, 0.5); }
.feature-page .feature-title em { color: var(--mcc-lime); text-shadow: 3px 3px 0 rgba(0, 0, 0, 0.5), 0 0 30px rgba(185, 219, 131, 0.3); }

/* 画廊工具栏 / 筛选 */
.feature-page .gallery-toolbar { border-block-color: var(--mcc-line); }
.feature-page .gallery-filters button { border-radius: 2px; }
.feature-page .gallery-filters button.is-active {
  border: 2px solid #0a1208;
  background: linear-gradient(180deg, #2a3a28, #1c2819);
  color: var(--mcc-lime-hi);
  box-shadow: var(--mcc-bevel);
}
.feature-page .gallery-search input { border: 2px solid #0a1208; border-radius: 2px; background: var(--mcc-slot); box-shadow: var(--mcc-bevel-deep); }
.feature-page .gallery-search input:focus { border-color: var(--mcc-lime-deep); outline: none; box-shadow: var(--mcc-bevel-deep), 0 0 0 2px rgba(185, 219, 131, 0.2); }
.feature-page .gallery-live i { border-radius: 0; }
.feature-page .gallery-live[data-state="online"] { color: var(--mcc-lime); }
.feature-page .gallery-live[data-state="online"] i { background: var(--mcc-lime); box-shadow: 0 0 0 4px rgba(185, 219, 131, 0.14); }

/* 画廊卡片 */
.feature-page .gallery-card {
  border: 2px solid #0a1208;
  border-radius: 2px;
  box-shadow: 5px 5px 0 rgba(0, 0, 0, 0.3);
}
.feature-page .gallery-card:hover { border-color: var(--mcc-lime-deep); box-shadow: 7px 7px 0 rgba(0, 0, 0, 0.38); }
.feature-page .gallery-card-avatar { border-radius: 2px; background: var(--mcc-lime); color: #14210c; }
.feature-page .gallery-card-source { border-radius: 2px; }
.feature-page .gallery-card-source.is-community { border-color: rgba(185, 219, 131, 0.55); color: var(--mcc-lime-hi); }
.feature-page .gallery-card-source.is-featured { border-color: rgba(230, 194, 107, 0.55); color: var(--mcc-gold-hi); }
.feature-page .gallery-viewer-stage { border: 2px solid #0a1208; border-radius: 2px; box-shadow: var(--mcc-bevel); }
.feature-page .gallery-viewer-close, .feature-page .gallery-viewer-nav { border-radius: 2px; }
.feature-page .gallery-viewer-nav:hover, .feature-page .gallery-viewer-close:hover { border-color: var(--mcc-lime); color: var(--mcc-lime); }

/* 赞助页 */
.feature-page .sponsor-panel::before { background: linear-gradient(135deg, rgba(230, 194, 107, 0.12), transparent 48%); }
.feature-page .sponsor-amount { border: 2px solid #0a1208; border-radius: 2px; background: var(--mcc-slot); box-shadow: var(--mcc-bevel-deep); font-family: var(--mcc-mono); }
.feature-page .sponsor-amount:hover, .feature-page .sponsor-amount.is-selected { border-color: var(--mcc-gold); color: var(--mcc-gold-hi); background: rgba(230, 194, 107, 0.08); }
.feature-page .sponsor-button {
  border: 2px solid #0a1208;
  background: linear-gradient(180deg, var(--mcc-gold-hi), var(--mcc-gold) 55%, #c9a34d);
  box-shadow: inset 0 2px 0 rgba(255, 255, 255, 0.42), inset 0 -3px 0 rgba(96, 74, 28, 0.55), 3px 3px 0 rgba(0, 0, 0, 0.45);
  color: #2c2110;
  text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.35);
}
.feature-page .sponsor-tier { border: 2px solid #0a1208; border-radius: 2px; background: var(--mcc-panel-2); box-shadow: inset 0 2px 0 rgba(237, 255, 216, 0.06), inset 0 -2px 0 rgba(0, 0, 0, 0.4); }
.feature-page .sponsor-tier:hover { border-color: rgba(230, 194, 107, 0.7); }
.feature-page .sponsor-tier.is-selected { border-color: var(--mcc-gold); background: rgba(230, 194, 107, 0.09); box-shadow: inset 0 0 0 1px rgba(230, 194, 107, 0.2); }
.feature-page .sponsor-tier strong { font-family: var(--mcc-mono); }
.feature-page .sponsor-stat { border: 2px solid #0a1208; border-radius: 2px; background: var(--mcc-panel-2); box-shadow: var(--mcc-bevel); }
.feature-page .sponsor-stat b { color: var(--mcc-lime); }
.feature-page .board-tab.is-active { background: rgba(185, 219, 131, 0.16); color: var(--mcc-lime-hi); }
.feature-page .leaderboard-rank.rank-1 { color: var(--mcc-gold); background: rgba(230, 194, 107, 0.14); }
.feature-page .leaderboard-avatar { border-radius: 2px; }
.feature-page .order-status { border-radius: 2px; }
.feature-page .order-status.is-paid { color: var(--mcc-lime); }
.feature-page .order-status.is-pending { color: var(--mcc-gold); }
.feature-page .order-expiry-bar i { background: var(--mcc-gold); }
.feature-page .payment-method-tab.is-active { border-color: var(--mcc-lime); background: rgba(185, 219, 131, 0.12); }
.feature-page .payment-method-option.is-selected { border-color: var(--mcc-gold); background: rgba(230, 194, 107, 0.07); }
.feature-page .payment-method-option.is-selected > i { border-color: var(--mcc-gold); background: var(--mcc-gold); }

/* ------------------------------------------------------------
   5. Pack 栈（五个世界详情页）—— 在既有绿色主题上深化
------------------------------------------------------------ */
body.pack-expedition {
  --bg: #0e140e;
  --cyan: var(--mcc-lime);
  --pink: var(--mcc-gold);
}
/* 首屏底部改为真实草方块条 */
.pack-expedition .pk-hero {
  border-bottom: 0;
  box-shadow: 0 5px 0 #0a0f0a;
  position: relative;
}
.pack-expedition .pk-hero > .pk-hero-inner { position: relative; z-index: 2; }
.pack-expedition .pk-hero::after {
  content: "";
  display: block;
  position: absolute;
  left: 0; right: 0; bottom: -2px;
  height: 22px;
  background: url("../icons/minecraft/grass_block_side.png") repeat-x left bottom / auto 22px;
  image-rendering: pixelated;
  pointer-events: none;
  z-index: 1;
}
.pack-expedition .pk-hero::before { display: none; }

/* 标题与版本号 */
.pack-expedition .pk-title { text-shadow: 3px 4px 0 rgba(0, 0, 0, 0.55); }
.pack-expedition .pk-title em:not(.pk-version) { color: var(--mcc-lime-hi); text-shadow: 3px 4px 0 rgba(0, 0, 0, 0.55), 0 0 30px rgba(185, 219, 131, 0.28); }

/* 下载按钮：箱子图标保留，加强原版感 */
.pack-expedition .pk-btn { text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.3); }
.pack-expedition .pk-btn-primary { background: linear-gradient(180deg, var(--mcc-lime-hi), var(--mcc-lime) 55%, #9ec466); }
.pack-expedition .pk-btn-primary:hover { background: linear-gradient(180deg, #e2f3bc, var(--mcc-lime-hi) 55%, var(--mcc-lime)); }

/* 侧栏卡片：加物品栏顶条 */
.pack-expedition .pk-card { position: relative; }
.pack-expedition .pk-panel-heading strong { text-shadow: var(--mcc-shadow-sm); }
.pack-expedition .pk-side-metric b { color: var(--mcc-lime-hi); text-shadow: var(--mcc-shadow-sm); }

/* 特色模组卡：左侧像素条 */
.pack-expedition .pk-feat { box-shadow: inset 3px 0 0 rgba(185, 219, 131, 0.22); }
.pack-expedition .pk-feat:hover { box-shadow: inset 3px 0 0 var(--mcc-lime); }

/* 章节序号方块 */
.pack-expedition .pk-block-kicker::before { box-shadow: 3px 3px 0 rgba(86, 107, 60, 0.9), 0 0 10px rgba(185, 219, 131, 0.35); }

/* ------------------------------------------------------------
   6. 聊天页
------------------------------------------------------------ */
body.chatpage-body { background-color: var(--mcc-bg); }
.chatpage-body .nav {
  background: rgba(9, 13, 10, 0.96);
  border-bottom: 2px solid #0a1208;
  box-shadow: 0 2px 0 rgba(185, 219, 131, 0.22);
}
.chatpage-body .brand span { color: var(--mcc-lime); }
.chatpage-body .cp-back {
  border: 2px solid #0a1208;
  border-radius: 2px;
  background: linear-gradient(180deg, #233021, #18221a);
  box-shadow: inset 0 2px 0 rgba(237, 255, 216, 0.1), inset 0 -2px 0 rgba(0, 0, 0, 0.4);
  color: var(--mcc-ink-soft);
  padding: 7px 12px;
  text-shadow: var(--mcc-shadow-sm);
}
.chatpage-body .cp-back:hover { border-color: var(--mcc-lime-deep); color: var(--mcc-lime-hi); }

/* 三栏面板 */
.chatpage-body .cp-side,
.chatpage-body .cp-main,
.chatpage-body .cp-context {
  border: 2px solid #0a1208;
  border-radius: 2px;
  background: linear-gradient(180deg, var(--mcc-panel), var(--mcc-panel-2));
  box-shadow: var(--mcc-bevel), 6px 6px 0 rgba(0, 0, 0, 0.25);
}
.chatpage-body .cp-side-head,
.chatpage-body .cp-context-head {
  border-bottom: 2px solid #0a1208;
  box-shadow: 0 2px 0 rgba(237, 255, 216, 0.06);
  color: var(--mcc-ink);
  text-shadow: var(--mcc-shadow-sm);
  letter-spacing: 0.08em;
}
.chatpage-body .chat-live-dot { border-radius: 0; }
.chatpage-body .chat-live-dot.on { background: var(--mcc-lime); box-shadow: 0 0 10px rgba(185, 219, 131, 0.9); }

/* 频道按钮：物品行 */
.chatpage-body .cp-ch {
  border: 2px solid transparent;
  border-radius: 2px;
  background: transparent;
  text-align: left;
}
.chatpage-body .cp-ch:hover { border-color: #0a1208; background: #1b2619; color: var(--mcc-ink); }
.chatpage-body .cp-ch.on {
  border-color: #0a1208;
  background: linear-gradient(180deg, #243420, #1a2618);
  box-shadow: inset 3px 0 0 var(--mcc-lime), var(--mcc-bevel);
  color: var(--mcc-lime-hi);
}

/* 消息气泡：方形斜面 */
.chatpage-body .cmsg-text {
  border: 2px solid #0a1208;
  border-radius: 2px;
  background: var(--mcc-panel-2);
  box-shadow: inset 0 2px 0 rgba(237, 255, 216, 0.07), inset 0 -2px 0 rgba(0, 0, 0, 0.38), 3px 3px 0 rgba(0, 0, 0, 0.22);
  color: var(--mcc-ink);
}
.chatpage-body .cmsg.mine .cmsg-text {
  background: linear-gradient(180deg, #2c4023, #22301c);
  box-shadow: inset 0 2px 0 rgba(237, 255, 216, 0.14), inset 0 -2px 0 rgba(0, 0, 0, 0.4), 3px 3px 0 rgba(0, 0, 0, 0.25);
}
.chatpage-body .cmsg.sys .cmsg-text { background: rgba(230, 194, 107, 0.1); border-color: rgba(230, 194, 107, 0.4); }
.chatpage-body .cmsg-meta b { color: var(--mcc-lime); text-shadow: var(--mcc-shadow-sm); }
.chatpage-body .cmsg.mine .cmsg-meta b { color: var(--mcc-gold); }
.chatpage-body .cmsg-srv { border-radius: 2px; background: rgba(185, 219, 131, 0.16); color: var(--mcc-lime-hi); }
.chatpage-body .cmsg-tag { border-radius: 2px; background: rgba(230, 194, 107, 0.18); color: var(--mcc-gold); }
.chatpage-body .cmsg-recall:hover { color: var(--mcc-red); }
.chatpage-body .cmsg-media { border: 2px solid #0a1208; border-radius: 2px; }

/* 头部与横幅 */
.chatpage-body .cp-main-head { border-bottom: 2px solid #0a1208; box-shadow: 0 2px 0 rgba(237, 255, 216, 0.05); }
.chatpage-body .cp-main-head h1 { text-shadow: var(--mcc-shadow); }
.chatpage-body .cp-banner { border: 2px solid rgba(230, 194, 107, 0.4); border-radius: 2px; background: rgba(230, 194, 107, 0.08); }
.chatpage-body .cp-banner-dot { border-radius: 0; background: var(--mcc-gold); }

/* 输入区 */
.chatpage-body .chat-foot { border-top: 2px solid #0a1208; background: rgba(9, 13, 10, 0.6); }
.chatpage-body .chat-foot input {
  border: 2px solid #0a1208;
  border-radius: 2px;
  background: var(--mcc-slot);
  box-shadow: var(--mcc-bevel-deep);
  color: var(--mcc-ink);
}
.chatpage-body .chat-foot input:focus { outline: none; border-color: var(--mcc-lime-deep); box-shadow: var(--mcc-bevel-deep), 0 0 0 2px rgba(185, 219, 131, 0.22); }
.chatpage-body .chat-foot > button {
  border: 2px solid #0a1208;
  border-radius: 2px;
  background: linear-gradient(180deg, var(--mcc-lime-hi), var(--mcc-lime) 55%, #9ec466);
  box-shadow: inset 0 2px 0 rgba(255, 255, 255, 0.42), inset 0 -3px 0 rgba(60, 84, 36, 0.55), 3px 3px 0 rgba(0, 0, 0, 0.4);
  color: #1b2c12;
}
.chatpage-body .chat-foot > button:hover:not(:disabled) { transform: translateY(-1px); filter: brightness(1.07); }
.chatpage-body .chat-foot > button:active:not(:disabled) { transform: translateY(1px); }
.chatpage-body .cp-emoji-toggle, .chatpage-body .cp-emoji-option { border-radius: 2px; }
.chatpage-body .cp-emoji-picker { border: 2px solid #0a1208; border-radius: 2px; background: var(--mcc-panel-2); box-shadow: var(--mcc-bevel), 8px 8px 0 rgba(0, 0, 0, 0.3); }
.chatpage-body .cp-cost-bar b { color: var(--mcc-gold); font-family: var(--mcc-mono); }
.chatpage-body .cp-cost-bar.is-low, .chatpage-body .cp-cost-bar.is-low b { color: var(--mcc-red); }

/* 右栏上下文 */
.chatpage-body .cp-context-label { color: var(--mcc-lime); }
.chatpage-body .cp-connection-dot { border-radius: 0; }
.chatpage-body .cp-connection-dot.on { background: var(--mcc-lime); box-shadow: 0 0 8px rgba(185, 219, 131, 0.8); }
.chatpage-body .cp-recent-player::before { background: var(--mcc-lime); box-shadow: 2px 2px 0 rgba(185, 219, 131, 0.3); }

/* 登录门控 */
.chatpage-body .cp-gate-card {
  border: 2px solid #0a1208;
  border-radius: 2px;
  background: linear-gradient(180deg, var(--mcc-panel), var(--mcc-panel-2));
  box-shadow: var(--mcc-bevel), 10px 10px 0 rgba(0, 0, 0, 0.3);
}
.chatpage-body .cp-gate-card h2 { text-shadow: var(--mcc-shadow); }

/* 7. 幸运开箱主题已迁移至 css/lottery-v2.css（深度重构，本页由该文件独立接管）。*/

/* ------------------------------------------------------------
   8. 背包查看（view.html · body.view-v2）
------------------------------------------------------------ */
body.view-v2 { background-color: var(--mcc-bg); color: var(--mcc-ink); }
.view-v2 .brand { text-shadow: var(--mcc-shadow); }
.view-v2 .brand span { color: var(--mcc-lime); }
.view-v2 .tag {
  border: 2px solid rgba(185, 219, 131, 0.4);
  border-radius: 2px;
  background: rgba(185, 219, 131, 0.1);
  color: var(--mcc-lime);
  font-family: var(--mcc-mono);
}
.view-v2 h1 { text-shadow: var(--mcc-shadow); }

/* 生命体征 / 属性：物品槽 */
.view-v2 .vital, .view-v2 .attr {
  border: 2px solid #0a1208;
  border-radius: 2px;
  background: var(--mcc-slot);
  box-shadow: var(--mcc-bevel-deep);
}
.view-v2 .vital b { color: var(--mcc-lime-hi); font-family: var(--mcc-mono); text-shadow: var(--mcc-shadow-sm); }
.view-v2 .attr b { color: var(--mcc-ink); font-family: var(--mcc-mono); }

/* 背包格：标准 MC 物品槽 */
.view-v2 .slot {
  border: 2px solid #0a1208;
  border-radius: 2px;
  background: var(--mcc-slot);
  box-shadow: var(--mcc-bevel-deep);
  transition: border-color 0.1s ease, filter 0.1s ease;
}
.view-v2 .slot:hover { border-color: var(--mcc-lime-deep); filter: brightness(1.25); }
.view-v2 .slot.ench {
  border-color: rgba(180, 142, 224, 0.6);
  box-shadow: var(--mcc-bevel-deep), 0 0 12px rgba(180, 142, 224, 0.25);
}
.view-v2 .slot .cnt { color: #fff; text-shadow: 2px 2px 0 rgba(0, 0, 0, 0.8); font-family: var(--mcc-mono); }
.view-v2 .sub { text-shadow: var(--mcc-shadow-sm); }
.view-v2 .sub::before {
  content: "";
  width: 18px;
  height: 18px;
  background: url("../assets/pixel-chest.svg") center / contain no-repeat;
  image-rendering: pixelated;
  filter: drop-shadow(2px 2px 0 rgba(0, 0, 0, 0.5));
}
.view-v2 .banner { border-radius: 2px; }
.view-v2 .banner.warn { border-color: rgba(230, 194, 107, 0.45); background: rgba(230, 194, 107, 0.1); color: var(--mcc-gold-hi); }
.view-v2 .banner.bad { border-color: rgba(224, 106, 106, 0.45); background: rgba(224, 106, 106, 0.1); color: var(--mcc-red); }

/* ------------------------------------------------------------
   9. 动效准入控制
------------------------------------------------------------ */
@media (prefers-reduced-motion: reduce) {
  .feature-page *, .portal-v3 *, .chatpage-body *, .lottery-v2 *, .view-v2 *,
  .feature-page *::before, .portal-v3 *::before, .chatpage-body *::before, .lottery-v2 *::before, .view-v2 *::before,
  .feature-page *::after, .portal-v3 *::after, .chatpage-body *::after, .lottery-v2 *::after, .view-v2 *::after {
    animation-duration: 0.001ms !important;
    transition-duration: 0.001ms !important;
  }
}
