/* ============================================================
   红河OS · Minecraft 皮肤（四期契约 §1 · Agent A 产出）

   作用域铁律：本文件全部规则（@font-face 除外）均写在
   html[data-skin="mc"] 作用域内；html 不带 data-skin="mc" 时
   本文件零效果，classic（Win11）皮肤完全无副作用。

   @font-face 说明：CSS 规范要求 @font-face 为顶级规则，无法
   嵌套作用域；字体文件仅在 font-family 被 mc 皮肤引用时才加载，
   classic 皮肤永不触发请求，等价于无副作用。

   字体现状（2026-07-22 经 ssh + curl 双重核实）：服务器
   /app/font/ 下目前只有 three.js 用的 .json 字形文件
   （Minecraft_Ten_Regular.json / Fusion_Pixel_10px_..._zh_hans_Regular.json
   / Unifont_ASCII_Regular.json 等），全站没有任何
   .woff/.woff2/.ttf/.otf 文件。下面 @font-face 按与 JSON 同名
   的路径预留；文件未部署时浏览器解析失败自动回退级联中的系统
   字体（font-display: swap），页面零破坏；日后把转换好的
   woff2/ttf 传至 /app/font/ 同名路径即自动生效。
   ============================================================ */

/* ---------- 像素字体引入 ---------- */
@font-face {
  font-family: "Minecraft Ten";
  src: url("/app/font/Minecraft_Ten_Regular.woff2") format("woff2"),
       url("/app/font/Minecraft_Ten_Regular.ttf") format("truetype");
  font-weight: 400; font-style: normal;
  font-display: swap;
  /* 仅 ASCII / 数字 / 常用标点走 Minecraft Ten，中文交给 Fusion Pixel */
  unicode-range: U+0000-00FF, U+2000-206F, U+FF00-FFEF;
}

@font-face {
  font-family: "Fusion Pixel";
  src: url("/app/font/Fusion_Pixel_10px_Proportional_zh_hans_Regular.woff2") format("woff2"),
       url("/app/font/Fusion_Pixel_10px_Proportional_zh_hans_Regular.ttf") format("truetype");
  font-weight: 400; font-style: normal;
  font-display: swap;
}

/* ============================================================
   §1.1 MC Design Tokens（契约定值，禁止改色）
   + --os-* 变量重映射（os.css 中走变量的规则自动换肤）
   + 字体级联（契约 §1.3）
   ============================================================ */
html[data-skin="mc"] {
  /* ---- 契约 §1.1 原文 tokens ---- */
  --mc-bg:#1a120b; --mc-panel:#3a2e1e; --mc-panel-light:#c8a97c;
  --mc-slot:#15100a; --mc-stone:#6b6b6b; --mc-stone-hi:#8f8f8f; --mc-stone-lo:#4a4a4a;
  --mc-green:#5d9c3f; --mc-green-hi:#7bc352; --mc-diamond:#4fd8d0;
  --mc-lava:#e07820; --mc-red:#c03232; --mc-text:#f0e6d2; --mc-border:#0d0a06;

  /* ---- 派生（仅引用上述 token，不新增色值） ---- */
  --mc-font-pixel: "Minecraft Ten", "Fusion Pixel", "Segoe UI", "Microsoft YaHei",
                   "PingFang SC", "Hiragino Sans GB", system-ui, -apple-system, sans-serif;
  --mc-font-sys: "Segoe UI Variable", "Segoe UI", "Microsoft YaHei", "PingFang SC",
                 "Hiragino Sans GB", system-ui, -apple-system, sans-serif;

  /* ---- --os-* 重映射：经典皮肤变量 → MC token ---- */
  --os-font: var(--mc-font-pixel);           /* 像素体栈：英文数字→Minecraft Ten，中文→Fusion Pixel */
  --os-accent: var(--mc-green);
  --os-accent-hover: var(--mc-green-hi);
  --os-on-accent: #ffffff;
  --os-text: var(--mc-text);
  --os-text-2: rgba(240, 230, 210, .60);
  --os-taskbar-bg: rgba(21, 16, 10, .96);
  --os-menu-bg: #3a2e1e;                     /* = --mc-panel 木板色 */
  --os-win-bg: #241a10;                      /* 窗口内容区深泥土 */
  --os-titlebar-bg: #3a2e1e;                 /* = --mc-panel */
  --os-border: rgba(13, 10, 6, .85);
  --os-hover: rgba(240, 230, 210, .08);
  --os-active: rgba(240, 230, 210, .14);
  --os-shadow-menu: 0 12px 36px rgba(0, 0, 0, .58), 0 3px 10px rgba(0, 0, 0, .42);
  --os-shadow-win: 0 14px 44px rgba(0, 0, 0, .62), 0 4px 12px rgba(0, 0, 0, .45);
  --os-select-bg: rgba(240, 230, 210, .14);
  --os-select-border: rgba(240, 230, 210, .85);
  --os-close-red: var(--mc-red);
  --os-radius: 0;                            /* MC 是方的！ */
  /* 默认壁纸/锁屏 = 草原日出（禁蓝紫：夜空棕→岩浆橙→草绿→泥土） */
  --os-lock-bg: linear-gradient(180deg,
    #1a120b 0%, #3a2412 18%, #7a4416 30%, var(--mc-lava) 40%, #f0b455 47%,
    var(--mc-green-hi) 52%, var(--mc-green) 62%, #3e6b2a 72%, #2c1f14 84%, var(--mc-bg) 100%);

  /* Firefox 像素滚动条 */
  scrollbar-color: var(--mc-stone) var(--mc-slot);
  scrollbar-width: auto;
}

/* ---------- 基础：背景 / 选区 / 焦点 / 输入光标 ---------- */
html[data-skin="mc"],
html[data-skin="mc"] body { background: var(--mc-bg); }

html[data-skin="mc"] ::selection { background: rgba(93, 156, 63, .55); color: #fff; }

html[data-skin="mc"] :focus-visible { outline: 2px solid var(--mc-diamond); outline-offset: 1px; }

html[data-skin="mc"] input,
html[data-skin="mc"] textarea { caret-color: var(--mc-diamond); }

/* ---------- 像素滚动条（深槽轨道 + 石头斜面滑块） ---------- */
html[data-skin="mc"] ::-webkit-scrollbar { width: 12px; height: 12px; }
html[data-skin="mc"] ::-webkit-scrollbar-track {
  background: var(--mc-slot);
  border: 2px solid var(--mc-border);
  box-shadow: inset 1px 1px 3px rgba(0, 0, 0, .6);
}
html[data-skin="mc"] ::-webkit-scrollbar-corner { background: var(--mc-slot); }
html[data-skin="mc"] ::-webkit-scrollbar-thumb {
  background: var(--mc-stone);
  background-clip: padding-box;
  border: 2px solid var(--mc-border);
  border-radius: 0;
  box-shadow: inset 2px 2px 0 rgba(255, 255, 255, .22),
              inset -2px -2px 0 rgba(0, 0, 0, .35);
}
html[data-skin="mc"] ::-webkit-scrollbar-thumb:hover { background: var(--mc-stone-hi); background-clip: padding-box; }

/* ============================================================
   §1.2 像素边框组件库（纯 CSS，box-shadow 阶梯模拟 2px 斜面：
   亮边左上、暗边右下。其他人只用不写。）
   ============================================================ */

/* 面板：木板底 + 2px 黑描边 + 内亮线 + 细纹木板肌理 */
html[data-skin="mc"] .mc-panel {
  background:
    repeating-linear-gradient(0deg, rgba(0, 0, 0, .055) 0 2px, transparent 2px 14px),
    var(--mc-panel);
  border: 2px solid var(--mc-border);
  border-radius: 0;
  box-shadow: inset 2px 2px 0 rgba(240, 230, 210, .12),
              inset -2px -2px 0 rgba(0, 0, 0, .28);
}

/* 槽位：凹陷（暗底 + 内阴影 + 内暗线），物品放进背包格子的手感 */
html[data-skin="mc"] .mc-slot {
  background: var(--mc-slot);
  border: 2px solid var(--mc-border);
  border-radius: 0;
  box-shadow: inset 2px 2px 5px rgba(0, 0, 0, .65),
              inset -1px -1px 0 rgba(240, 230, 210, .07);
}

/* 石头斜面按钮：hover 亮边，active 斜面翻转下沉 */
html[data-skin="mc"] .mc-btn {
  position: relative;
  display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  min-height: 32px; padding: 0 14px;
  font-family: var(--mc-font-pixel); font-size: 13px; color: var(--mc-text);
  text-shadow: 1px 1px 0 rgba(0, 0, 0, .55);
  background: var(--mc-stone);
  border: 2px solid var(--mc-border);
  border-radius: 0;
  box-shadow: inset 2px 2px 0 rgba(255, 255, 255, .25),
              inset -2px -2px 0 rgba(0, 0, 0, .35);
  cursor: pointer; user-select: none; -webkit-user-select: none;
  transition: background .08s ease;
}
html[data-skin="mc"] .mc-btn:hover {
  background: var(--mc-stone-hi);            /* MC 原版行为：悬停亮边 */
  box-shadow: inset 2px 2px 0 rgba(255, 255, 255, .42),
              inset -2px -2px 0 rgba(0, 0, 0, .28);
}
html[data-skin="mc"] .mc-btn:active {
  box-shadow: inset 2px 2px 0 rgba(0, 0, 0, .42),   /* 斜面翻转 → 视觉下沉 */
              inset -2px -2px 0 rgba(255, 255, 255, .14);
  transform: translateY(2px);
}
html[data-skin="mc"] .mc-btn:disabled { opacity: .5; cursor: default; transform: none; }
html[data-skin="mc"] .mc-btn.primary { background: var(--mc-green); color: #fff; }
html[data-skin="mc"] .mc-btn.primary:hover { background: var(--mc-green-hi); }
html[data-skin="mc"] .mc-btn.danger { background: var(--mc-red); color: #fff; }
html[data-skin="mc"] .mc-btn.danger:hover { background: var(--mc-red); filter: brightness(1.15); }

/* 深槽输入框，青绿光标（钻石青 caret） */
html[data-skin="mc"] .mc-input {
  min-height: 32px; padding: 0 10px;
  font-family: var(--mc-font-pixel); font-size: 13px; color: var(--mc-text);
  background: var(--mc-slot);
  border: 2px solid var(--mc-border);
  border-radius: 0; outline: none;
  box-shadow: inset 2px 2px 4px rgba(0, 0, 0, .55);
  caret-color: var(--mc-diamond);
}
html[data-skin="mc"] .mc-input::placeholder { color: rgba(240, 230, 210, .36); }
html[data-skin="mc"] .mc-input:focus {
  border-color: var(--mc-diamond);
  box-shadow: inset 2px 2px 4px rgba(0, 0, 0, .55),
              0 0 0 1px rgba(79, 216, 208, .35);
}

/* 快捷栏：石质底 + 槽位组容器 */
html[data-skin="mc"] .mc-hotbar {
  display: flex; align-items: center; gap: 4px;
  padding: 4px;
  background: rgba(21, 16, 10, .92);
  border: 2px solid var(--mc-border);
  border-radius: 0;
  box-shadow: inset 2px 2px 0 rgba(240, 230, 210, .10),
              inset -2px -2px 0 rgba(0, 0, 0, .40);
}

/* 快捷栏槽位按钮：.active 选中白框上浮，.running 底部经验条 */
html[data-skin="mc"] .mc-slot-btn {
  position: relative;
  width: 40px; height: 40px;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--mc-slot);
  border: 2px solid var(--mc-border);
  border-radius: 0;
  box-shadow: inset 2px 2px 4px rgba(0, 0, 0, .55),
              inset -1px -1px 0 rgba(240, 230, 210, .07);
  cursor: pointer; user-select: none; -webkit-user-select: none;
  transition: transform .08s ease, filter .08s ease;
}
html[data-skin="mc"] .mc-slot-btn:hover { filter: brightness(1.3); }
html[data-skin="mc"] .mc-slot-btn img { image-rendering: pixelated; max-width: 72%; max-height: 72%; pointer-events: none; }
html[data-skin="mc"] .mc-slot-btn.active {   /* MC 手持物品选中：白色高亮框 + 上浮 2px */
  box-shadow: 0 0 0 2px #ffffff,
              inset 2px 2px 4px rgba(0, 0, 0, .55);
  transform: translateY(-2px);
  z-index: 1;
}
html[data-skin="mc"] .mc-slot-btn.running::after {  /* 运行中：底部 3px 经验条 */
  content: ""; position: absolute; left: 3px; right: 3px; bottom: 2px; height: 3px;
  background: linear-gradient(180deg, var(--mc-green-hi), var(--mc-green));
  box-shadow: 0 0 0 1px var(--mc-border);
}

/* 背包面板（开始菜单 / 容器界面） */
html[data-skin="mc"] .mc-inventory {
  padding: 12px;
  background:
    repeating-linear-gradient(0deg, rgba(0, 0, 0, .055) 0 2px, transparent 2px 14px),
    var(--mc-panel);
  border: 2px solid var(--mc-border);
  border-radius: 0;
  box-shadow: inset 2px 2px 0 rgba(240, 230, 210, .12),
              inset -2px -2px 0 rgba(0, 0, 0, .30);
}

/* 物品展示框：木框 + 皮革内衬 + 内凹槽，图标像素放大 */
html[data-skin="mc"] .mc-itemframe {
  display: inline-flex; align-items: center; justify-content: center;
  width: 64px; height: 64px;                 /* 默认尺寸，使用方可在子类覆写 */
  background: var(--mc-slot);
  border: 2px solid var(--mc-border);
  border-radius: 0;
  box-shadow: inset 0 0 0 2px #8a6a44,                       /* 木框深色层 */
              inset 0 0 0 4px rgba(200, 169, 124, .55),      /* 木框亮面（panel-light） */
              inset 3px 3px 7px rgba(0, 0, 0, .55);          /* 内凹 */
}
html[data-skin="mc"] .mc-itemframe img,
html[data-skin="mc"] .mc-itemframe canvas {
  image-rendering: pixelated;
  max-width: 72%; max-height: 72%;
  pointer-events: none;
}

/* 拖拽幽灵框：像素虚线预览；.swap = 目标被占用时的交换样式 */
html[data-skin="mc"] .mc-ghost {
  border: 2px dashed rgba(240, 230, 210, .85);
  background: rgba(240, 230, 210, .08);
  border-radius: 0;
  pointer-events: none;
}
html[data-skin="mc"] .mc-ghost.swap {
  border-color: var(--mc-diamond);
  background: rgba(79, 216, 208, .12);
  box-shadow: inset 0 0 0 2px rgba(79, 216, 208, .25);
}

/* 经验条：轨道 + 填充（填充宽度由行内 --xp 变量控制，0%~100%） */
html[data-skin="mc"] .mc-xpbar {
  height: 6px;
  background: var(--mc-slot);
  border: 2px solid var(--mc-border);
  border-radius: 0;
  box-shadow: inset 1px 1px 2px rgba(0, 0, 0, .6);
  overflow: hidden;
}
html[data-skin="mc"] .mc-xpbar::before {
  content: ""; display: block; height: 100%; width: var(--xp, 100%);
  background:
    repeating-linear-gradient(90deg, rgba(13, 10, 6, .35) 0 1px, transparent 1px 9px),
    linear-gradient(180deg, var(--mc-green-hi) 0%, var(--mc-green) 55%, #3e6b2a 100%);
}

/* MC 物品提示框：半透明深底白字（契约定式，不用蓝紫） */
html[data-skin="mc"] .mc-tooltip {
  position: fixed; z-index: 13000;
  max-width: 280px; padding: 8px 11px;
  background: rgba(21, 16, 10, .95);
  border: 2px solid var(--mc-border);
  border-radius: 0;
  box-shadow: inset 0 0 0 1px rgba(240, 230, 210, .16),
              0 6px 20px rgba(0, 0, 0, .55);
  color: #ffffff;
  font-family: var(--mc-font-pixel); font-size: 12px; line-height: 1.5;
  text-shadow: 1px 1px 0 rgba(0, 0, 0, .7);
  pointer-events: none;
}
html[data-skin="mc"] .mc-tooltip .mc-tip-title { display: block; color: #ffffff; }
html[data-skin="mc"] .mc-tooltip .mc-tip-sub { /* <12px 小字回退系统字体（像素字体红线） */
  display: block; margin-top: 2px;
  font-family: var(--mc-font-sys); font-size: 11px;
  color: rgba(240, 230, 210, .60);
}

/* ============================================================
   §1.3 全局换肤：窗口 chrome / OSKit / 桌面 / 任务栏 /
   开始菜单 / 锁屏 / 右键菜单 全套 MC 化
   ============================================================ */

/* ---------- 窗口 chrome：木板标题栏 + 2px 像素描边 + 圆角归 0 ---------- */
html[data-skin="mc"] .winbox.os-win {
  background: var(--os-win-bg);
  border: 2px solid var(--mc-border);
  border-radius: 0;
  box-shadow: inset 1px 1px 0 rgba(240, 230, 210, .10),
              0 14px 44px rgba(0, 0, 0, .62),
              0 4px 12px rgba(0, 0, 0, .45);
}
html[data-skin="mc"] .winbox.os-win .wb-header {
  background:
    repeating-linear-gradient(0deg, rgba(0, 0, 0, .06) 0 2px, transparent 2px 13px),
    var(--mc-panel);
  color: var(--mc-text);
  border-bottom: 2px solid var(--mc-border);
  box-shadow: inset 1px 1px 0 rgba(240, 230, 210, .14);
}
html[data-skin="mc"] .winbox.os-win .wb-title {
  font-family: var(--mc-font-pixel);
  text-shadow: 1px 1px 0 rgba(0, 0, 0, .55);
}
html[data-skin="mc"] .winbox.os-win .wb-icon { image-rendering: pixelated; }
html[data-skin="mc"] .winbox.os-win:not(.focus) .wb-header {  /* 失焦变暗：容器关闭感 */
  background: #241a10;
  color: rgba(240, 230, 210, .48);
}

/* 控制按钮 MC 化：石头 hover、按下下沉、关闭 hover 红石红、图标线条加粗为 2px */
html[data-skin="mc"] .winbox.os-win .wb-control * { color: var(--mc-text); }
html[data-skin="mc"] .winbox.os-win .wb-control *:hover { background: var(--mc-stone); }
html[data-skin="mc"] .winbox.os-win .wb-control *:active { background: var(--mc-stone-lo); }
html[data-skin="mc"] .winbox.os-win .wb-control .wb-close:hover { background: var(--mc-red); color: #fff; }
html[data-skin="mc"] .winbox.os-win .wb-min::before { width: 10px; height: 2px; }
html[data-skin="mc"] .winbox.os-win .wb-max::before { width: 8px; height: 8px; border-width: 2px; border-radius: 0; }
html[data-skin="mc"] .winbox.os-win.max .wb-max::before {
  box-shadow: 2px -2px 0 -1px var(--mc-panel), 2px -2px 0 0 currentColor;
}
html[data-skin="mc"] .winbox.os-win .wb-close::before,
html[data-skin="mc"] .winbox.os-win .wb-close::after { width: 12px; height: 2px; }

/* 加载占位：转圈改方形像素旋转 */
html[data-skin="mc"] .os-win-loading-spin,
html[data-skin="mc"] .osk-loading::before,
html[data-skin="mc"] .hh-spinner {
  border-radius: 0;
  border-color: var(--mc-border);
  border-top-color: var(--mc-green-hi);
}

/* ---------- OSKit 全套（契约 §1.3；类名不动，只换肤） ---------- */

/* 状态区块 */
html[data-skin="mc"] .osk-error { color: #e08a7d; }

/* 资源卡片 → 槽位卡 */
html[data-skin="mc"] .osk-card {
  background: var(--mc-panel);
  border: 2px solid var(--mc-border);
  border-radius: 0;
  box-shadow: inset 1px 1px 0 rgba(240, 230, 210, .10);
}
html[data-skin="mc"] .osk-card:hover {
  border-color: var(--mc-panel-light);
  box-shadow: inset 1px 1px 0 rgba(240, 230, 210, .14),
              0 8px 22px rgba(0, 0, 0, .55);
}
html[data-skin="mc"] .osk-card-media { background: var(--mc-slot); }
html[data-skin="mc"] .osk-card-title { font-family: var(--mc-font-pixel); }
html[data-skin="mc"] .osk-card-meta { font-family: var(--mc-font-sys); }  /* 11.5px <12px 回退 */
html[data-skin="mc"] .osk-card-badge {
  border-radius: 0;
  border: 2px solid var(--mc-border);
  background: rgba(93, 156, 63, .20);
  color: var(--mc-green-hi);
  font-family: var(--mc-font-sys);
}

/* 按钮 → 石头斜面按钮 */
html[data-skin="mc"] .osk-btn {
  border-radius: 0;
  background: var(--mc-stone);
  border: 2px solid var(--mc-border);
  box-shadow: inset 2px 2px 0 rgba(255, 255, 255, .22),
              inset -2px -2px 0 rgba(0, 0, 0, .32);
  color: var(--mc-text);
  font-family: var(--mc-font-pixel);
  text-shadow: 1px 1px 0 rgba(0, 0, 0, .5);
}
html[data-skin="mc"] .osk-btn:hover { background: var(--mc-stone-hi); }
html[data-skin="mc"] .osk-btn:active {
  box-shadow: inset 2px 2px 0 rgba(0, 0, 0, .38),
              inset -2px -2px 0 rgba(255, 255, 255, .12);
  transform: translateY(1px);
}
html[data-skin="mc"] .osk-btn.primary {
  background: var(--mc-green); color: #fff;
  box-shadow: inset 2px 2px 0 rgba(255, 255, 255, .28),
              inset -2px -2px 0 rgba(0, 0, 0, .30);
}
html[data-skin="mc"] .osk-btn.primary:hover { background: var(--mc-green-hi); }
html[data-skin="mc"] .osk-btn.danger { background: var(--mc-red); color: #fff; }
html[data-skin="mc"] .osk-btn.danger:hover { background: var(--mc-red); filter: brightness(1.15); }

/* 搜索框 → 深槽输入框 */
html[data-skin="mc"] .osk-search input {
  border-radius: 0;
  background: var(--mc-slot);
  border: 2px solid var(--mc-border);
  box-shadow: inset 2px 2px 4px rgba(0, 0, 0, .55);
  color: var(--mc-text);
  caret-color: var(--mc-diamond);
}
html[data-skin="mc"] .osk-search input:focus {
  background: var(--mc-slot);
  border-color: var(--mc-diamond);
}
html[data-skin="mc"] .osk-search input::placeholder { color: rgba(240, 230, 210, .36); }

/* 分页条 */
html[data-skin="mc"] .osk-pager { font-family: var(--mc-font-pixel); }
html[data-skin="mc"] .osk-pager .osk-btn[disabled] { opacity: .4; transform: none; }

/* 窗口内顶部工具条 → 木板条 */
html[data-skin="mc"] .osk-toolbar {
  background:
    repeating-linear-gradient(0deg, rgba(0, 0, 0, .06) 0 2px, transparent 2px 13px),
    var(--mc-panel);
  backdrop-filter: none; -webkit-backdrop-filter: none;
  border-bottom: 2px solid var(--mc-border);
}
html[data-skin="mc"] .osk-toolbar .osk-toolbar-title { font-family: var(--mc-font-pixel); }

/* 点击卡片放大预览浮层 → 容器查看器 */
html[data-skin="mc"] .osk-preview-overlay {
  background: rgba(13, 10, 6, .72);
  backdrop-filter: none; -webkit-backdrop-filter: none;
}
html[data-skin="mc"] .osk-preview-overlay .osk-preview-body {
  background: var(--mc-panel);
  border: 2px solid var(--mc-border);
  border-radius: 0;
  box-shadow: inset 2px 2px 0 rgba(240, 230, 210, .10),
              0 14px 44px rgba(0, 0, 0, .60);
}
html[data-skin="mc"] .osk-preview-overlay img,
html[data-skin="mc"] .osk-preview-overlay video {
  border-radius: 0;
  border: 2px solid var(--mc-border);
}

/* ---------- 桌面：壁纸像素网格 + 图标物品框化兜底 ---------- */
html[data-skin="mc"] #os-wallpaper::after {  /* 16px 像素网格叠加在任何壁纸上 */
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background:
    repeating-linear-gradient(0deg, rgba(0, 0, 0, .10) 0 2px, transparent 2px 18px),
    repeating-linear-gradient(90deg, rgba(0, 0, 0, .10) 0 2px, transparent 2px 18px);
}
html[data-skin="mc"] .os-icon { border-radius: 0; }
html[data-skin="mc"] .os-icon:hover { background: rgba(240, 230, 210, .10); }
html[data-skin="mc"] .os-icon.selected,
html[data-skin="mc"] .os-icon:focus-visible {  /* MC 选中 = 白色高亮框 */
  background: rgba(240, 230, 210, .12);
  border-color: #ffffff;
}
html[data-skin="mc"] .os-icon.dragging { box-shadow: 0 8px 20px rgba(0, 0, 0, .50); }
html[data-skin="mc"] .os-icon-img {  /* 槽位兜底（Agent B 换游戏贴图前的过渡态） */
  background: var(--mc-slot);
  border: 2px solid var(--mc-border);
  box-shadow: inset 2px 2px 0 rgba(0, 0, 0, .50),
              inset -1px -1px 0 rgba(240, 230, 210, .08);
  filter: none;
  font-size: 38px;
  image-rendering: pixelated;
}
html[data-skin="mc"] .os-icon-img img { image-rendering: pixelated; max-width: 100%; max-height: 100%; }
html[data-skin="mc"] .os-icon-label {  /* MC 物品栏物品名：白字 + 黑色硬阴影 */
  color: #ffffff;
  font-family: var(--mc-font-pixel);
  text-shadow: 2px 2px 0 rgba(0, 0, 0, .85);
}

/* ---------- 任务栏：快捷栏化 ---------- */
html[data-skin="mc"] #taskbar {
  background: rgba(21, 16, 10, .96);
  backdrop-filter: none; -webkit-backdrop-filter: none;
  border-top: 2px solid var(--mc-border);
  box-shadow: inset 0 2px 0 rgba(240, 230, 210, .10);
}
html[data-skin="mc"] #start-btn { border-radius: 0; }
/* 四色徽标 → 草方块配色（上排草绿、下排泥土棕），Agent B 换背包图标前的过渡态 */
html[data-skin="mc"] .os-logo i { border-radius: 0; }
html[data-skin="mc"] .os-logo i:nth-child(1) { background: var(--mc-green-hi); }
html[data-skin="mc"] .os-logo i:nth-child(2) { background: var(--mc-green); }
html[data-skin="mc"] .os-logo i:nth-child(3) { background: #8a6844; }
html[data-skin="mc"] .os-logo i:nth-child(4) { background: #5f4630; }
html[data-skin="mc"] #back-btn { border-radius: 0; background: rgba(240, 230, 210, .10); }

html[data-skin="mc"] .tb-btn { border-radius: 0; }
html[data-skin="mc"] .tb-btn-icon { image-rendering: pixelated; }
html[data-skin="mc"] .tb-run-bar { border-radius: 0; height: 3px; }
html[data-skin="mc"] .tb-btn.running .tb-run-bar {  /* 运行指示 → 经验条绿 */
  background: var(--mc-green);
  box-shadow: 0 0 0 1px var(--mc-border);
}
html[data-skin="mc"] .tb-btn.active .tb-run-bar { background: var(--mc-green-hi); width: 18px; }

html[data-skin="mc"] .tray-classic { border-radius: 0; }
html[data-skin="mc"] #tray-user { border-radius: 0; }
html[data-skin="mc"] .tray-avatar {  /* MC 玩家头是方的 */
  border-radius: 0;
  background: var(--mc-green);
  border: 2px solid var(--mc-border);
  box-shadow: inset 1px 1px 0 rgba(255, 255, 255, .20);
  image-rendering: pixelated;
}
html[data-skin="mc"] .tray-clock { border-radius: 0; }
html[data-skin="mc"] #tray-time { font-family: var(--mc-font-pixel); }
html[data-skin="mc"] #tray-date { font-family: var(--mc-font-sys); }  /* 11px <12px 回退 */

/* ---------- 开始菜单：背包化 ---------- */
html[data-skin="mc"] #startmenu {
  background: var(--mc-panel);
  backdrop-filter: none; -webkit-backdrop-filter: none;
  border: 2px solid var(--mc-border);
  border-radius: 0;
  box-shadow: inset 2px 2px 0 rgba(240, 230, 210, .12),
              0 14px 44px rgba(0, 0, 0, .60);
}
html[data-skin="mc"] .sm-search input {
  background: var(--mc-slot);
  border: 2px solid var(--mc-border);
  border-radius: 0;
  box-shadow: inset 2px 2px 4px rgba(0, 0, 0, .55);
  color: var(--mc-text);
  caret-color: var(--mc-diamond);
  font-family: var(--mc-font-pixel);
}
html[data-skin="mc"] .sm-search input:focus { background: var(--mc-slot); border-color: var(--mc-diamond); }
html[data-skin="mc"] .sm-search input::placeholder { color: rgba(240, 230, 210, .36); }
html[data-skin="mc"] .sm-sec-title { color: rgba(240, 230, 210, .55); font-family: var(--mc-font-pixel); }
html[data-skin="mc"] .sm-app {
  border-radius: 0;
  border: 2px solid transparent;   /* 预留描边位，hover 槽位化不跳动 */
}
html[data-skin="mc"] .sm-app:hover {  /* 创造模式背包悬停 = 凹陷槽位 */
  background: var(--mc-slot);
  border-color: var(--mc-border);
  box-shadow: inset 2px 2px 4px rgba(0, 0, 0, .50);
}
html[data-skin="mc"] .sm-app-icon { image-rendering: pixelated; }
html[data-skin="mc"] .sm-app-title { font-family: var(--mc-font-sys); }  /* 11.5px <12px 回退 */
html[data-skin="mc"] .sm-row { border-radius: 0; }
html[data-skin="mc"] .sm-footer {
  background: rgba(21, 16, 10, .55);
  border-top: 2px solid var(--mc-border);
}
html[data-skin="mc"] .sm-avatar {  /* MC 玩家头是方的 */
  border-radius: 0;
  background: var(--mc-green);
  border: 2px solid var(--mc-border);
  box-shadow: inset 1px 1px 0 rgba(255, 255, 255, .20);
  image-rendering: pixelated;
}
html[data-skin="mc"] .sm-avatar.guest { background: var(--mc-stone); }
html[data-skin="mc"] .sm-user-btn {  /* 石头按钮 */
  border-radius: 0;
  background: var(--mc-stone);
  border: 2px solid var(--mc-border);
  box-shadow: inset 2px 2px 0 rgba(255, 255, 255, .22),
              inset -2px -2px 0 rgba(0, 0, 0, .32);
  color: var(--mc-text);
  font-family: var(--mc-font-pixel);
}
html[data-skin="mc"] .sm-user-btn:hover { background: var(--mc-green); color: #fff; }
html[data-skin="mc"] .sm-classic { color: rgba(240, 230, 210, .60); }
html[data-skin="mc"] .sm-classic:hover { color: var(--mc-diamond); text-decoration: none; }

/* ---------- 锁屏 ---------- */
html[data-skin="mc"] .lock-bg {  /* 去掉毛玻璃模糊，渐变变清晰像素地平线 */
  filter: none; -webkit-filter: none;
  transform: none;
}
html[data-skin="mc"] .lock-bg::after {  /* 像素网格 */
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background:
    repeating-linear-gradient(0deg, rgba(0, 0, 0, .12) 0 2px, transparent 2px 18px),
    repeating-linear-gradient(90deg, rgba(0, 0, 0, .12) 0 2px, transparent 2px 18px);
}
html[data-skin="mc"] .lock-inner { text-shadow: none; }
html[data-skin="mc"] .lock-time {
  font-family: var(--mc-font-pixel);
  text-shadow: 4px 4px 0 rgba(0, 0, 0, .55);
}
html[data-skin="mc"] .lock-date {
  font-family: var(--mc-font-pixel);
  text-shadow: 2px 2px 0 rgba(0, 0, 0, .60);
}
html[data-skin="mc"] #lock-enter {  /* 石头按钮 */
  border-radius: 0;
  background: var(--mc-stone);
  border: 2px solid var(--mc-border);
  box-shadow: inset 2px 2px 0 rgba(255, 255, 255, .25),
              inset -2px -2px 0 rgba(0, 0, 0, .35);
  backdrop-filter: none; -webkit-backdrop-filter: none;
  font-family: var(--mc-font-pixel);
  text-shadow: 1px 1px 0 rgba(0, 0, 0, .55);
}
html[data-skin="mc"] #lock-enter:hover { background: var(--mc-stone-hi); }
html[data-skin="mc"] #lock-enter:active {
  transform: translateY(2px);
  box-shadow: inset 2px 2px 0 rgba(0, 0, 0, .40),
              inset -2px -2px 0 rgba(255, 255, 255, .15);
}
html[data-skin="mc"] .lock-links a { color: rgba(240, 230, 210, .88); text-shadow: 1px 1px 0 rgba(0, 0, 0, .60); }
html[data-skin="mc"] .lock-links a:hover { border-bottom-color: var(--mc-diamond); }

/* ---------- 右键菜单（os.js .os-ctxmenu + extras.js .os-context-menu） ---------- */
html[data-skin="mc"] .os-ctxmenu,
html[data-skin="mc"] .os-context-menu {
  background: var(--mc-panel);
  backdrop-filter: none; -webkit-backdrop-filter: none;
  border: 2px solid var(--mc-border);
  border-radius: 0;
  box-shadow: inset 2px 2px 0 rgba(240, 230, 210, .10),
              0 10px 32px rgba(0, 0, 0, .55);
}
html[data-skin="mc"] .os-ctxmenu-item,
html[data-skin="mc"] .os-context-item { border-radius: 0; }
html[data-skin="mc"] .os-ctxmenu-item:hover,
html[data-skin="mc"] .os-context-item:hover { background: var(--mc-stone); }
html[data-skin="mc"] .os-ctxmenu-item.danger { color: #e08a7d; }
html[data-skin="mc"] .os-ctxmenu-item.danger:hover { background: var(--mc-red); color: #fff; }
html[data-skin="mc"] .os-ctxmenu-sep { height: 2px; background: rgba(240, 230, 210, .14); }

/* ---------- 通知气泡 ---------- */
html[data-skin="mc"] .os-notify {
  background: var(--mc-panel);
  backdrop-filter: none; -webkit-backdrop-filter: none;
  border: 2px solid var(--mc-border);
  border-left: 4px solid var(--mc-green);
  border-radius: 0;
  box-shadow: inset 1px 1px 0 rgba(240, 230, 210, .10),
              0 10px 28px rgba(0, 0, 0, .50);
}

/* ---------- 桌面框选 / Aero Snap 吸附预览 → 像素虚线 ---------- */
html[data-skin="mc"] .os-marquee {
  background: rgba(240, 230, 210, .10);
  border: 2px dashed rgba(240, 230, 210, .75);
  border-radius: 0;
}
html[data-skin="mc"] .os-snap-preview {
  background: rgba(93, 156, 63, .14);
  border: 2px dashed var(--mc-green-hi);
  border-radius: 0;
  box-shadow: inset 0 0 0 2px rgba(13, 10, 6, .40);
}

/* ---------- extras.js 设置窗组件 ---------- */
html[data-skin="mc"] .os-theme-btn {  /* 主题切换按钮 → 石头按钮 */
  border-radius: 0;
  background: var(--mc-stone);
  border: 2px solid var(--mc-border);
  box-shadow: inset 2px 2px 0 rgba(255, 255, 255, .20),
              inset -2px -2px 0 rgba(0, 0, 0, .30);
  font-family: var(--mc-font-pixel);
}
html[data-skin="mc"] .os-theme-btn:hover { background: var(--mc-stone-hi); }
html[data-skin="mc"] .os-theme-btn.is-active { background: var(--mc-green); color: #fff; }
html[data-skin="mc"] .os-wallpaper-card { border-radius: 0; }
html[data-skin="mc"] .os-wallpaper-card.is-active { border-color: var(--mc-green-hi); }
html[data-skin="mc"] .os-wallpaper-swatch {
  border-radius: 0;
  box-shadow: inset 0 0 0 2px var(--mc-border);
}
html[data-skin="mc"] .os-settings-link { color: var(--mc-diamond); }
html[data-skin="mc"] .os-settings-title { font-family: var(--mc-font-pixel); }

/* ---------- header.js 登录弹窗（页面内 UI，一并 MC 化） ---------- */
html[data-skin="mc"] .hh-modal-overlay {
  background: rgba(13, 10, 6, .60);
  backdrop-filter: none; -webkit-backdrop-filter: none;
}
html[data-skin="mc"] .hh-modal {
  background: var(--mc-panel);
  backdrop-filter: none; -webkit-backdrop-filter: none;
  border: 2px solid var(--mc-border);
  border-radius: 0;
  box-shadow: inset 2px 2px 0 rgba(240, 230, 210, .12),
              0 16px 48px rgba(0, 0, 0, .60);
}
html[data-skin="mc"] .hh-modal-close { border-radius: 0; }
html[data-skin="mc"] .hh-modal-close:hover { background: var(--mc-red); color: #fff; }
html[data-skin="mc"] .hh-login-tab {
  border-radius: 0;
  background: var(--mc-slot);
  border: 2px solid var(--mc-border);
}
html[data-skin="mc"] .hh-login-tab.active { background: var(--mc-green); color: #fff; }
html[data-skin="mc"] .hh-field input,
html[data-skin="mc"] .hh-field textarea {
  border-radius: 0;
  background: var(--mc-slot);
  border: 2px solid var(--mc-border);
  box-shadow: inset 2px 2px 4px rgba(0, 0, 0, .50);
  caret-color: var(--mc-diamond);
}
html[data-skin="mc"] .hh-field input:focus,
html[data-skin="mc"] .hh-field textarea:focus { border-color: var(--mc-diamond); }
html[data-skin="mc"] .hh-btn-primary {
  border-radius: 0;
  background: var(--mc-green);
  border: 2px solid var(--mc-border);
  box-shadow: inset 2px 2px 0 rgba(255, 255, 255, .25),
              inset -2px -2px 0 rgba(0, 0, 0, .30);
  font-family: var(--mc-font-pixel);
}
html[data-skin="mc"] .hh-btn-primary:hover { background: var(--mc-green-hi); }
html[data-skin="mc"] .hh-form-error {
  border-radius: 0;
  border: 2px solid var(--mc-red);
  background: rgba(192, 50, 50, .15);
  color: #e08a7d;
}
html[data-skin="mc"] .hh-qr-frame { border-radius: 0; border: 2px solid var(--mc-border); }
