/* ==========================================================================
   小柔老师 · 我的世界英语私教   —   Minecraft 像素风视觉层
   --------------------------------------------------------------------------
   设计规则（像素风三原则）：
     1. 一切直角：border-radius 全部为 0（唯一例外：圆形状态条）
     2. 一切硬阴影：不用高斯模糊投影，只用 offset 实色阴影模拟"方块厚度"
     3. 一切粗描边：2-4px 深色实线边框，模拟像素轮廓
   ========================================================================== */

/* ---------- 像素字体栈 ---------- */
:root{
  --font-pixel: "Press Start 2P", "Silkscreen", "VT323",
                "Zpix", "Fusion Pixel", "Ark Pixel",
                "Courier New", "Consolas", monospace;
  --font-ui: "Segoe UI", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;
  --font-num: "Courier New", Consolas, monospace;

  /* Minecraft 主色板 */
  --mc-grass:      #5FA83C;
  --mc-grass-lt:   #7CBF52;
  --mc-grass-dk:   #3F7526;
  --mc-dirt:       #8B6239;
  --mc-dirt-lt:    #A87A4A;
  --mc-dirt-dk:    #5E4023;
  --mc-stone:      #8C8C8C;
  --mc-stone-lt:   #ABA9A9;
  --mc-stone-dk:   #5C5C5C;
  --mc-wood:       #B0844B;
  --mc-wood-lt:    #C99A5E;
  --mc-wood-dk:    #7A5730;
  --mc-plank:      #C69C6D;

  --mc-diamond:    #4AEDD9;
  --mc-diamond-dk: #2BB8A8;
  --mc-gold:       #F5C542;
  --mc-gold-dk:    #C79A1E;
  --mc-emerald:    #17DD62;
  --mc-emerald-dk: #0FA047;
  --mc-redstone:   #E8453C;
  --mc-redstone-dk:#A82A24;
  --mc-lapis:      #3B6EDB;
  --mc-lapis-dk:   #27509F;
  --mc-obsidian:   #1D1B2E;
  --mc-purple:     #8B5CF6;
  --mc-purple-dk:  #6D3FD0;
  --mc-pink:       #FF9EC4;

  --mc-sky:        #8FD3FF;
  --mc-sky-dk:     #6BB8F0;
  --mc-night:      #2A2A44;

  --mc-ink:        #2B2B2B;
  --mc-ink-soft:   #5A5A5A;
  --mc-paper:      #F7F1E3;
  --mc-paper-dk:   #E8DFC9;
  --mc-line:       #3A3A3A;

  /* 像素阴影：硬边、无模糊 */
  --sh-1: 2px 2px 0 rgba(0,0,0,.45);
  --sh-2: 4px 4px 0 rgba(0,0,0,.42);
  --sh-3: 6px 6px 0 rgba(0,0,0,.38);
  --sh-in: inset 3px 3px 0 rgba(255,255,255,.25), inset -3px -3px 0 rgba(0,0,0,.22);
}

*{box-sizing:border-box;margin:0;padding:0;}

html,body{height:100%;}

body{
  font-family:var(--font-ui);
  color:var(--mc-ink);
  background:var(--mc-sky);
  overflow-x:hidden;
  image-rendering:pixelated;
  -webkit-font-smoothing:none;
}

/* ===================== 像素天空背景 ===================== */
.mc-sky{
  position:fixed;inset:0;z-index:0;overflow:hidden;
  background:linear-gradient(180deg,#7EC8F5 0%,#A5DBFF 45%,#CFEBFF 78%,#9BD160 78%,#5FA83C 100%);
}

/* 像素太阳 */
.mc-sun{
  position:absolute;top:44px;right:70px;width:72px;height:72px;
  background:#FFE45C;box-shadow:0 0 0 8px #FFD93B, 0 0 0 16px rgba(255,217,59,.45);
  animation:sunPulse 4s ease-in-out infinite;
}
@keyframes sunPulse{0%,100%{transform:scale(1);}50%{transform:scale(1.07);}}

/* 像素云 */
.mc-cloud{position:absolute;display:grid;grid-template-columns:repeat(6,20px);grid-auto-rows:20px;opacity:.92;}
.mc-cloud i{background:#fff;box-shadow:inset -2px -2px 0 rgba(150,190,220,.4);}
.mc-cloud i:nth-child(1){grid-area:2/1;}
.mc-cloud i:nth-child(2){grid-area:1/2;}
.mc-cloud i:nth-child(3){grid-area:1/3;}
.mc-cloud i:nth-child(4){grid-area:2/4;}
.mc-cloud i:nth-child(5){grid-area:2/2;}
.mc-cloud i:nth-child(6){grid-area:2/3;}
.mc-cloud-1{top:70px;left:-150px;animation:mcDrift 52s linear infinite;}
.mc-cloud-2{top:190px;left:-260px;transform:scale(1.5);animation:mcDrift 78s linear infinite 9s;opacity:.8;}
.mc-cloud-3{top:320px;left:-180px;transform:scale(1.15);animation:mcDrift 64s linear infinite 26s;opacity:.72;}
@keyframes mcDrift{to{transform:translateX(135vw) scale(1.5);}}

/* 漂浮方块 */
.mc-float{
  position:absolute;width:34px;height:34px;bottom:-50px;
  animation:mcFloat 18s ease-in-out infinite;
  box-shadow:inset 4px 4px 0 rgba(255,255,255,.3), inset -4px -4px 0 rgba(0,0,0,.28);
}
.mc-float-1{left:12%;background:#7CBF52;animation-delay:0s;}
.mc-float-2{left:38%;background:#4AEDD9;animation-delay:3.5s;}
.mc-float-3{left:64%;background:#F5C542;animation-delay:7s;}
.mc-float-4{left:84%;background:#8B5CF6;animation-delay:10.5s;}
@keyframes mcFloat{
  0%{transform:translateY(0) rotate(0);opacity:0;}
  10%{opacity:.9;}
  50%{transform:translateY(-42vh) rotate(180deg);}
  90%{opacity:.9;}
  100%{transform:translateY(-88vh) rotate(360deg);opacity:0;}
}

/* ===================== 顶部栏 ===================== */
.mc-header{
  position:relative;z-index:5;
  display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  margin:14px 16px 0;padding:12px 16px;
  background:var(--mc-plank);
  border:4px solid var(--mc-wood-dk);
  box-shadow:var(--sh-2), inset 0 4px 0 rgba(255,255,255,.24), inset 0 -4px 0 rgba(0,0,0,.2);
}
/* 木板纹理 */
.mc-header::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.18;
  background:
    repeating-linear-gradient(90deg,transparent 0 46px,rgba(0,0,0,.5) 46px 48px),
    repeating-linear-gradient(0deg,transparent 0 22px,rgba(0,0,0,.35) 22px 24px);
}

.mc-brand{display:flex;align-items:center;gap:13px;min-width:0;position:relative;z-index:1;}
.mc-brand-avatar{
  width:56px;height:56px;flex:none;
  background:#fff;border:4px solid var(--mc-wood-dk);
  box-shadow:var(--sh-1);overflow:hidden;
}
.mc-brand-avatar svg{width:100%;height:100%;display:block;}
.mc-brand-text{min-width:0;}
.mc-brand-text h1{
  font-family:var(--font-ui);
  font-size:23px;font-weight:900;letter-spacing:.5px;color:#fff;
  text-shadow:2px 2px 0 var(--mc-wood-dk), 4px 4px 0 rgba(0,0,0,.28);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.mc-brand-sub{font-size:14px;font-weight:700;opacity:.92;}
.mc-brand-text p{
  margin-top:3px;font-size:12.5px;font-weight:700;color:#FFF4D6;
  text-shadow:1px 1px 0 rgba(0,0,0,.4);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}

/* 状态条组 */
.mc-status-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;position:relative;z-index:1;}
.mc-meter{display:flex;align-items:center;gap:7px;}
.mc-meter-icon{font-size:16px;filter:drop-shadow(1px 1px 0 rgba(0,0,0,.5));}

/* 生命值 */
.mc-hearts{display:flex;gap:2px;}
.mc-hearts i{
  width:14px;height:14px;display:block;background:var(--mc-redstone);
  box-shadow:inset -2px -2px 0 rgba(0,0,0,.35), inset 2px 2px 0 rgba(255,255,255,.3);
}
.mc-hearts i.off{background:#6B5A5A;opacity:.55;}

/* 经验条 */
.mc-xp{
  position:relative;width:104px;height:20px;
  background:#2E2E2E;border:3px solid #1A1A1A;box-shadow:inset 2px 2px 0 rgba(0,0,0,.5);
  display:flex;align-items:center;justify-content:center;overflow:hidden;
}
.mc-xp i{
  position:absolute;left:0;top:0;bottom:0;width:0;
  background:linear-gradient(180deg,#9DFF6B,#3FD11E);
  transition:width .55s cubic-bezier(.2,1.3,.5,1);
}
.mc-xp b{
  position:relative;font-family:var(--font-num);font-size:11px;font-weight:900;color:#fff;
  text-shadow:1px 1px 0 #000;letter-spacing:.5px;
}

/* 钻石计数 */
.mc-diamond-box{
  display:flex;align-items:center;gap:7px;padding:6px 12px;
  background:#3A3A3A;border:3px solid #1A1A1A;box-shadow:inset 2px 2px 0 rgba(255,255,255,.13);
}
.mc-diamond-box b{font-family:var(--font-num);font-size:15px;font-weight:900;color:var(--mc-diamond);text-shadow:1px 1px 0 #000;}
.mc-diamond{
  width:14px;height:14px;background:var(--mc-diamond);
  box-shadow:inset -3px -3px 0 var(--mc-diamond-dk), inset 3px 3px 0 rgba(255,255,255,.55);
}
.mc-diamond-box.pop{animation:mcPop .32s cubic-bezier(.2,1.6,.5,1);}
@keyframes mcPop{50%{transform:scale(1.2) rotate(-4deg);}}

/* 图标按钮 */
.mc-icon-btn{
  width:42px;height:42px;font-size:18px;cursor:pointer;
  background:var(--mc-stone-lt);border:3px solid var(--mc-stone-dk);
  box-shadow:var(--sh-1), inset 2px 2px 0 rgba(255,255,255,.4), inset -2px -2px 0 rgba(0,0,0,.2);
  transition:transform .08s;
}
.mc-icon-btn:hover{background:#C4C2C2;}
.mc-icon-btn:active{transform:translate(2px,2px);box-shadow:0 0 0 rgba(0,0,0,.4);}
.mc-icon-btn.off{filter:grayscale(1) brightness(.75);}

/* ===================== 冒险地图（闯关） ===================== */
.mc-level-bar{
  position:relative;z-index:5;
  display:flex;flex-direction:column;gap:9px;
  margin:10px 16px 0;padding:12px 16px;
  background:rgba(247,241,227,.95);
  border:4px solid var(--mc-dirt-dk);
  box-shadow:var(--sh-1);
}
.mc-level-head{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.mc-level-label{
  font-family:var(--font-ui);font-size:14px;font-weight:900;color:#fff;
  padding:5px 12px;background:var(--mc-dirt);border:3px solid var(--mc-dirt-dk);
  text-shadow:1px 1px 0 rgba(0,0,0,.45);
}
.mc-ach-btn{
  font-family:var(--font-ui);font-size:13px;font-weight:900;cursor:pointer;
  padding:6px 13px;color:#fff;
  background:var(--mc-gold);border:3px solid var(--mc-gold-dk);
  box-shadow:var(--sh-1);text-shadow:1px 1px 0 rgba(0,0,0,.35);
  transition:transform .08s;
}
.mc-ach-btn b{font-family:var(--font-num);margin-left:3px;}
.mc-ach-btn:hover{background:#FFD75E;}
.mc-ach-btn:active{transform:translate(2px,2px);box-shadow:0 0 0 rgba(0,0,0,0);}
.mc-ach-btn.pop{animation:mcPop .32s cubic-bezier(.2,1.6,.5,1);}

/* 关卡方块 */
.mc-level-map{display:flex;gap:7px;flex-wrap:wrap;}
.mc-lv{
  position:relative;flex:1;min-width:88px;
  display:flex;flex-direction:column;align-items:center;gap:1px;
  padding:8px 4px 7px;cursor:pointer;font-family:var(--font-ui);
  background:var(--c);border:3px solid var(--cd);
  box-shadow:var(--sh-1), inset 2px 2px 0 rgba(255,255,255,.3), inset -2px -2px 0 rgba(0,0,0,.25);
  transition:transform .08s;
}
.mc-lv:hover{transform:translateY(-2px);}
.mc-lv:active{transform:translate(2px,2px);box-shadow:0 0 0 rgba(0,0,0,0);}
.mc-lv-icon{font-size:21px;line-height:1.2;filter:drop-shadow(1px 2px 0 rgba(0,0,0,.35));}
.mc-lv-name{font-size:11.5px;font-weight:900;color:#fff;text-shadow:1px 1px 0 rgba(0,0,0,.55);}
.mc-lv-grade{font-size:9.5px;font-weight:700;color:rgba(255,255,255,.88);text-shadow:1px 1px 0 rgba(0,0,0,.4);}
.mc-lv.locked{background:#7A766E;border-color:#54514B;cursor:not-allowed;filter:saturate(.1) brightness(.82);}
.mc-lv.locked:hover{transform:none;}
.mc-lv.current{outline:4px solid #FFE45C;outline-offset:2px;}
.mc-lv.current::before{
  content:"▶";position:absolute;top:-9px;left:-9px;width:20px;height:20px;
  display:grid;place-items:center;font-size:10px;color:#fff;
  background:var(--mc-redstone);border:2px solid #fff;
}
.mc-lv.cleared::after{
  content:"✓";position:absolute;top:-10px;right:-8px;width:19px;height:19px;
  display:grid;place-items:center;font-size:12px;font-weight:900;color:#fff;
  background:var(--mc-emerald);border:2px solid #fff;
  text-shadow:1px 1px 0 rgba(0,0,0,.4);
}

/* 当前关卡任务条 */
.mc-mission-row{display:flex;gap:7px;flex-wrap:wrap;align-items:center;}
.mc-mission-chip{
  font-family:var(--font-ui);font-size:12px;font-weight:800;
  padding:5px 11px;color:#4A4038;
  background:#fff;border:3px solid var(--mc-wood-dk);
  box-shadow:2px 2px 0 rgba(0,0,0,.28);
  transition:transform .15s cubic-bezier(.2,1.6,.5,1);
}
.mc-mission-chip.mission-head{background:var(--mc-paper-dk);color:#7A6E58;}
.mc-mission-chip.done{
  background:#DCFBE4;border-color:var(--mc-emerald-dk);color:#12803C;
}
.mc-mission-chip.just-done{animation:missionPop .5s cubic-bezier(.2,1.8,.4,1);}
@keyframes missionPop{0%{transform:scale(1);}40%{transform:scale(1.25) rotate(-3deg);}100%{transform:scale(1);}}

/* ===================== 成就面板 ===================== */
.mc-ach-summary{
  font-size:12.5px;font-weight:800;color:#7A6E58;margin:-8px 0 13px;line-height:1.6;
}
.mc-ach-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:8px;
  max-height:52vh;overflow-y:auto;padding:2px;margin-bottom:4px;
}
.mc-ach-grid::-webkit-scrollbar{width:12px;}
.mc-ach-grid::-webkit-scrollbar-track{background:var(--mc-paper-dk);}
.mc-ach-grid::-webkit-scrollbar-thumb{background:var(--mc-stone-lt);border:2px solid var(--mc-stone-dk);}
.mc-ach-item{
  display:flex;gap:9px;align-items:center;padding:8px 9px;
  background:#fff;border:3px solid var(--mc-wood-dk);
}
.mc-ach-item.unlocked{border-color:var(--mc-gold-dk);background:#FFFBEE;}
.mc-ach-item.locked{filter:grayscale(1);opacity:.55;}
.mc-ach-item-icon{
  flex:none;width:40px;height:40px;display:grid;place-items:center;font-size:21px;
  background:var(--mc-paper-dk);border:3px solid var(--mc-wood-dk);
}
.mc-ach-item.unlocked .mc-ach-item-icon{background:var(--mc-gold);border-color:var(--mc-gold-dk);}
.mc-ach-item-info{min-width:0;flex:1;}
.mc-ach-item-info b{display:block;font-size:12.5px;font-weight:900;color:#2B2B2B;}
.mc-ach-item-info i{display:block;font-style:normal;font-size:10.5px;font-weight:700;color:#7A6E58;margin-top:2px;line-height:1.4;}
.mc-ach-item-rw{flex:none;font-family:var(--font-num);font-size:10.5px;font-weight:900;color:var(--mc-diamond-dk);}

/* ===================== 成就达成通知（右上滑入） ===================== */
.mc-ach-toasts{
  position:fixed;top:16px;right:16px;z-index:95;
  display:flex;flex-direction:column;gap:9px;pointer-events:none;
}
.mc-ach-toast{
  display:flex;gap:11px;align-items:center;
  width:270px;padding:11px 15px 11px 11px;
  background:#211E16;border:4px solid #6B5B23;
  box-shadow:6px 6px 0 rgba(0,0,0,.45);
  animation:achToastIn .45s steps(6) forwards, achToastOut .45s steps(4) 3.6s forwards;
}
@keyframes achToastIn{from{transform:translateX(320px);}to{transform:translateX(0);}}
@keyframes achToastOut{to{transform:translateX(320px);opacity:0;}}
.mc-ach-toast-icon{
  flex:none;width:44px;height:44px;display:grid;place-items:center;font-size:23px;
  background:#3A3A3A;border:3px solid #7A681F;
}
.mc-ach-toast-title{font-family:var(--font-num);font-size:10.5px;font-weight:900;color:#FFE45C;letter-spacing:1.5px;}
.mc-ach-toast-name{font-size:14.5px;font-weight:900;color:#fff;margin-top:2px;text-shadow:1px 1px 0 #000;}
.mc-ach-toast-reward{font-size:11px;font-weight:900;color:var(--mc-diamond);margin-top:1px;}

/* ===================== 通关庆祝 ===================== */
.mc-lvlup{
  position:fixed;inset:0;z-index:88;display:grid;place-items:center;
  background:rgba(22,17,8,.8);animation:mcFade .18s;
}
.mc-lvlup-box{
  width:min(92vw,410px);padding:30px 26px 24px;text-align:center;
  background:var(--mc-paper);border:5px solid var(--mc-gold-dk);
  box-shadow:10px 10px 0 rgba(0,0,0,.5);
  animation:mcPopIn .32s steps(4);
}
.mc-lvlup-eyebrow{
  font-family:var(--font-num);font-size:12px;font-weight:900;letter-spacing:2px;
  color:#8A6510;margin-bottom:8px;
}
.mc-lvlup-title{
  font-family:var(--font-ui);font-size:25px;font-weight:900;color:#fff;
  padding:10px 18px;display:inline-block;
  background:var(--mc-gold);border:4px solid var(--mc-gold-dk);
  text-shadow:2px 2px 0 var(--mc-gold-dk);
  box-shadow:var(--sh-2);
}
.mc-lvlup-biome{
  margin:20px auto 14px;width:112px;height:112px;
  display:grid;place-items:center;font-size:54px;
  background:var(--c);border:4px solid var(--cd);
  box-shadow:inset 5px 5px 0 rgba(255,255,255,.3), inset -5px -5px 0 rgba(0,0,0,.3), 6px 6px 0 rgba(0,0,0,.35);
  animation:mcPop 1.6s ease-in-out infinite;
}
.mc-lvlup-name{font-size:19px;font-weight:900;color:#2B2B2B;}
.mc-lvlup-sub{font-size:13px;font-weight:700;color:#7A6E58;margin-top:5px;line-height:1.7;}
.mc-lvlup-reward{
  display:inline-block;margin:13px 0 17px;padding:7px 16px;
  font-family:var(--font-num);font-size:15px;font-weight:900;color:var(--mc-diamond);
  background:#211E16;border:3px solid #6B5B23;
  text-shadow:1px 1px 0 #000;
}
.mc-lvlup-box .mc-btn{min-width:170px;}

/* ===================== 三栏布局 ===================== */
.mc-stage{
  position:relative;z-index:4;
  display:grid;
  grid-template-columns:272px minmax(0,1fr) 244px;
  gap:14px;
  padding:14px 16px 26px;
  align-items:start;
  min-height:calc(100vh - 200px);
}

.mc-panel{
  background:var(--mc-paper);
  border:4px solid var(--mc-wood-dk);
  box-shadow:var(--sh-2);
  position:relative;
}
/* 纸张纹理 */
.mc-panel::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.055;
  background:repeating-linear-gradient(0deg,transparent 0 3px,#000 3px 4px);
}

/* ================= 左栏 ================= */
.mc-panel-left{padding:14px;display:flex;flex-direction:column;gap:13px;position:sticky;top:14px;}

.mc-tutor-card{background:#fff;border:4px solid var(--mc-wood-dk);box-shadow:var(--sh-1);}
.mc-tutor-portrait{position:relative;width:100%;aspect-ratio:1/1;overflow:hidden;background:#BFE6FF;}
.mc-tutor-portrait svg{width:100%;height:100%;display:block;}
.mc-tutor-portrait::after{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.1;
  background:repeating-linear-gradient(90deg,transparent 0 2px,#000 2px 3px);
}
/* 说话时嘴巴动 */
.mc-tutor-portrait.talking .cin-mouth{animation:cinTalk .3s steps(2) infinite;}
@keyframes cinTalk{
  0%,100%{d:path("M95 108 Q100 114 105 108");}
  50%{d:path("M95 108 Q100 102 105 108");}
}
.mc-tutor-portrait .cin-eye{animation:cinBlink 4.4s steps(1) infinite;}
@keyframes cinBlink{0%,94%,100%{transform:scaleY(1);}96%{transform:scaleY(.12);}}

.mc-tutor-nameplate{
  display:flex;align-items:center;gap:7px;
  padding:8px 11px;font-family:var(--font-ui);font-size:15px;font-weight:900;color:#fff;
  background:var(--mc-grass);border-top:4px solid var(--mc-grass-dk);
  text-shadow:2px 2px 0 var(--mc-grass-dk);
}
.mc-name-dot{
  width:10px;height:10px;background:var(--mc-gold);
  box-shadow:inset -2px -2px 0 var(--mc-gold-dk), inset 2px 2px 0 rgba(255,255,255,.5);
  animation:dotBlink 1.6s steps(1) infinite;
}
@keyframes dotBlink{0%,70%{opacity:1;}75%,100%{opacity:.25;}}
.mc-online{
  margin-left:auto;font-size:11px;font-weight:800;padding:3px 8px;
  background:rgba(0,0,0,.28);border:2px solid rgba(255,255,255,.35);
}

/* 对话气泡 */
.mc-bubble{
  position:relative;display:flex;gap:8px;align-items:flex-start;
  padding:13px 13px 13px 14px;
  background:#FFFFFF;border:4px solid var(--mc-wood-dk);box-shadow:var(--sh-1);
}
.mc-bubble-arrow{position:absolute;top:-14px;left:34px;width:0;height:0;
  border-left:11px solid transparent;border-right:11px solid transparent;border-bottom:14px solid var(--mc-wood-dk);}
.mc-bubble-arrow::after{content:"";position:absolute;left:-8px;top:4px;width:0;height:0;
  border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:10px solid #fff;}
.mc-bubble-body{flex:1;font-size:13.5px;line-height:1.72;font-weight:700;color:#4A4038;}
.mc-bubble-play{
  flex:none;width:32px;height:32px;font-size:15px;cursor:pointer;
  background:var(--mc-gold);border:3px solid var(--mc-gold-dk);
  box-shadow:var(--sh-1), inset 2px 2px 0 rgba(255,255,255,.45);
  transition:transform .08s;
}
.mc-bubble-play:hover{background:#FFD75E;}
.mc-bubble-play:active{transform:translate(2px,2px);box-shadow:0 0 0 rgba(0,0,0,0);}

/* 五大能力按钮 */
.mc-skills{display:flex;flex-direction:column;gap:8px;}
.mc-skill{
  display:flex;align-items:center;gap:10px;cursor:pointer;text-align:left;
  padding:9px 11px;
  background:var(--mc-stone-lt);border:4px solid var(--mc-stone-dk);
  box-shadow:var(--sh-1), inset 2px 2px 0 rgba(255,255,255,.4), inset -2px -2px 0 rgba(0,0,0,.2);
  transition:transform .08s, background .1s;
  font-family:var(--font-ui);
}
.mc-skill:hover{background:#C4C2C2;transform:translate(1px,1px);}
.mc-skill:active{transform:translate(3px,3px);box-shadow:0 0 0 rgba(0,0,0,0);}
.mc-skill-slot{
  flex:none;width:38px;height:38px;display:grid;place-items:center;
  background:#fff;border:3px solid var(--mc-stone-dk);
  box-shadow:inset 2px 2px 0 rgba(0,0,0,.12);
}
.mc-skill-emoji{font-size:20px;}
.mc-skill-text{display:flex;flex-direction:column;gap:2px;min-width:0;}
.mc-skill-text b{font-size:14.5px;font-weight:900;color:#2B2B2B;}
.mc-skill-text i{
  font-family:var(--font-num);font-style:normal;font-size:9.5px;font-weight:800;
  letter-spacing:.8px;color:#6E6E6E;
}
/* 选中态 */
.mc-skill.is-active{
  background:var(--mc-grass);border-color:var(--mc-grass-dk);
  box-shadow:var(--sh-1), inset 2px 2px 0 rgba(255,255,255,.35), inset -2px -2px 0 rgba(0,0,0,.25);
}
.mc-skill.is-active .mc-skill-text b{color:#fff;text-shadow:2px 2px 0 var(--mc-grass-dk);}
.mc-skill.is-active .mc-skill-text i{color:#EAFBDD;}
.mc-skill.is-active .mc-skill-slot{border-color:var(--mc-grass-dk);}

/* ================= 中栏 ================= */
.mc-panel-main{display:flex;flex-direction:column;overflow:hidden;min-height:min(72vh,680px);max-height:calc(100vh - 200px);}

.mc-mode-head{
  display:flex;align-items:center;gap:13px;flex:none;
  padding:13px 18px;
  background:var(--mc-grass);
  border-bottom:4px solid var(--mc-grass-dk);
}
.mc-mode-slot{
  flex:none;width:48px;height:48px;display:grid;place-items:center;font-size:24px;
  background:#fff;border:4px solid var(--mc-grass-dk);box-shadow:var(--sh-1);
}
.mc-mode-text{flex:1;min-width:0;}
.mc-mode-text h2{
  font-family:var(--font-ui);font-size:20px;font-weight:900;color:#fff;
  text-shadow:2px 2px 0 var(--mc-grass-dk);letter-spacing:.5px;
}
.mc-mode-text p{margin-top:3px;font-size:12.5px;font-weight:700;color:#F0FFE4;}

/* 通用按钮 */
.mc-btn{
  font-family:var(--font-ui);font-size:13.5px;font-weight:900;cursor:pointer;
  padding:9px 15px;white-space:nowrap;
  background:var(--mc-stone-lt);color:#2B2B2B;border:3px solid var(--mc-stone-dk);
  box-shadow:var(--sh-1), inset 2px 2px 0 rgba(255,255,255,.4), inset -2px -2px 0 rgba(0,0,0,.18);
  transition:transform .08s;
}
.mc-btn:hover{background:#C4C2C2;}
.mc-btn:active{transform:translate(2px,2px);box-shadow:0 0 0 rgba(0,0,0,0);}
.mc-btn-ghost{background:#fff;border-color:var(--mc-grass-dk);color:#2B6B1E;}
.mc-btn-ghost:hover{background:#F0FFE4;}
.mc-btn-primary{background:var(--mc-emerald);border-color:var(--mc-emerald-dk);color:#fff;
  text-shadow:1px 1px 0 rgba(0,0,0,.4);}
.mc-btn-primary:hover{background:#28EE74;}
.mc-btn-primary:active{transform:translate(2px,2px);box-shadow:0 0 0 rgba(0,0,0,0);}
.mc-btn-block{width:100%;padding:13px;font-size:15px;}

/* 聊天滚动区 */
.mc-chat-scroll{flex:1;overflow-y:auto;padding:18px;scroll-behavior:smooth;}
.mc-chat-scroll::-webkit-scrollbar{width:14px;}
.mc-chat-scroll::-webkit-scrollbar-track{background:var(--mc-paper-dk);border-left:2px solid var(--mc-wood-dk);}
.mc-chat-scroll::-webkit-scrollbar-thumb{
  background:var(--mc-stone-lt);border:2px solid var(--mc-stone-dk);
  box-shadow:inset 2px 2px 0 rgba(255,255,255,.4);
}
.mc-chat-list{display:flex;flex-direction:column;gap:15px;}

/* 消息 */
.mc-msg{display:flex;gap:10px;align-items:flex-end;animation:mcMsgIn .26s steps(3);}
@keyframes mcMsgIn{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:none;}}
.mc-msg-avatar{
  flex:none;width:46px;height:46px;overflow:hidden;
  border:4px solid var(--mc-wood-dk);background:#fff;box-shadow:var(--sh-1);
}
.mc-msg-avatar svg{width:100%;height:100%;display:block;}
.mc-msg-avatar-user{
  display:grid;place-items:center;font-size:22px;
  background:var(--mc-lapis);border-color:var(--mc-lapis-dk);
}
.mc-msg.me{flex-direction:row-reverse;}
.mc-msg-body{max-width:76%;display:flex;flex-direction:column;gap:7px;}
.mc-msg.me .mc-msg-body{align-items:flex-end;}

/* 消息气泡 */
.mc-bubble-msg{
  position:relative;padding:13px 16px;font-size:15px;line-height:1.78;font-weight:600;
  word-break:break-word;white-space:pre-wrap;
  border:4px solid var(--mc-wood-dk);box-shadow:var(--sh-1);
}
.mc-msg.ai .mc-bubble-msg{
  background:#fff;color:#3A3428;
  border-bottom-left-radius:0;
}
.mc-msg.me .mc-bubble-msg{
  background:var(--mc-lapis);color:#fff;border-color:var(--mc-lapis-dk);
  text-shadow:1px 1px 0 rgba(0,0,0,.28);
}

/* AI 回答里的结构高亮 */
.mc-msg.ai .mc-bubble-msg h4{
  margin:11px 0 6px;padding:5px 9px;
  font-family:var(--font-ui);font-size:14.5px;font-weight:900;color:#fff;
  background:var(--mc-grass);border:3px solid var(--mc-grass-dk);
  text-shadow:1px 1px 0 var(--mc-grass-dk);
  display:inline-block;
}
.mc-msg.ai .mc-bubble-msg ul,.mc-msg.ai .mc-bubble-msg ol{margin:6px 0;padding-left:23px;}
.mc-msg.ai .mc-bubble-msg li{margin:4px 0;}
.mc-msg.ai .mc-bubble-msg code{
  font-family:var(--font-num);font-weight:800;font-size:14px;
  background:var(--mc-paper-dk);border:2px solid var(--mc-wood-dk);
  padding:1px 6px;
}
/* 中文释义（「」包裹的内容）自动高亮成"附魔感" */
.mc-msg.ai .zh-hint{
  background:#FFF6D6;border-bottom:3px solid var(--mc-gold);
  padding:0 3px;font-weight:800;color:#8A6510;
}
/* 纠错标记 */
.mc-msg.ai .err{
  background:#FFE0DE;border:2px solid var(--mc-redstone);
  padding:0 5px;font-weight:900;color:#B8322A;
}
.mc-msg.ai .good{
  background:#DCFBE4;border:2px solid var(--mc-emerald);
  padding:0 5px;font-weight:900;color:#12803C;
}

/* 打字光标 */
.mc-bubble-msg.typing::after{
  content:"▊";margin-left:2px;color:var(--mc-grass-dk);
  animation:mcCaret .7s steps(1) infinite;
}
@keyframes mcCaret{50%{opacity:0;}}

/* 消息操作按钮 */
.mc-msg-actions{display:flex;gap:6px;flex-wrap:wrap;}
.mc-mini{
  font-family:var(--font-ui);font-size:12px;font-weight:800;cursor:pointer;
  padding:5px 11px;white-space:nowrap;
  background:var(--mc-paper);color:#4A4038;border:3px solid var(--mc-wood-dk);
  box-shadow:2px 2px 0 rgba(0,0,0,.32);
  transition:transform .08s;
}
.mc-mini:hover{background:#FFF9E8;}
.mc-mini:active{transform:translate(2px,2px);box-shadow:0 0 0 rgba(0,0,0,0);}
.mc-mini.on{background:var(--mc-gold);border-color:var(--mc-gold-dk);color:#fff;text-shadow:1px 1px 0 rgba(0,0,0,.35);}

/* 欢迎卡 */
.mc-welcome{
  padding:22px 20px;text-align:center;
  background:#fff;border:4px dashed var(--mc-grass-dk);box-shadow:var(--sh-1);
}
.mc-welcome-badge{
  display:inline-block;padding:7px 16px;margin-bottom:12px;
  font-family:var(--font-ui);font-size:16px;font-weight:900;color:#fff;
  background:var(--mc-grass);border:3px solid var(--mc-grass-dk);
  text-shadow:2px 2px 0 var(--mc-grass-dk);
  box-shadow:var(--sh-1);
}
.mc-welcome p{font-size:14px;line-height:1.8;font-weight:700;color:#5A5044;margin:5px 0;}
.mc-welcome-hint{color:#12803C !important;font-weight:900 !important;margin-top:12px !important;}

/* 听力材料卡 */
.mc-listening-card{
  margin:10px 0;padding:14px 16px;
  background:#F0F8FF;border:4px solid var(--mc-lapis-dk);box-shadow:var(--sh-1);
}
.mc-listen-btn{
  display:inline-flex;align-items:center;gap:8px;cursor:pointer;
  font-family:var(--font-ui);font-size:14.5px;font-weight:900;color:#fff;
  padding:10px 18px;
  background:var(--mc-lapis);border:3px solid var(--mc-lapis-dk);
  box-shadow:var(--sh-1), inset 2px 2px 0 rgba(255,255,255,.3);
  text-shadow:1px 1px 0 rgba(0,0,0,.35);
  transition:transform .08s;
}
.mc-listen-btn:hover{background:#4C82F0;}
.mc-listen-btn:active{transform:translate(2px,2px);box-shadow:0 0 0 rgba(0,0,0,0);}
.mc-slow-btn{
  display:inline-flex;align-items:center;gap:7px;cursor:pointer;
  font-family:var(--font-ui);font-size:13px;font-weight:900;
  padding:9px 14px;margin-left:8px;
  background:var(--mc-gold);color:#fff;border:3px solid var(--mc-gold-dk);
  box-shadow:var(--sh-1);text-shadow:1px 1px 0 rgba(0,0,0,.32);
  transition:transform .08s;
}
.mc-slow-btn:hover{background:#FFD75E;}
.mc-slow-btn:active{transform:translate(2px,2px);box-shadow:0 0 0 rgba(0,0,0,0);}

/* 输入区 */
.mc-composer{
  flex:none;display:flex;gap:10px;align-items:flex-end;
  padding:13px 16px 15px;
  background:var(--mc-plank);
  border-top:4px solid var(--mc-wood-dk);
}
.mc-mic{
  flex:none;width:60px;height:60px;cursor:pointer;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;
  background:var(--mc-redstone);border:4px solid var(--mc-redstone-dk);
  box-shadow:var(--sh-1), inset 2px 2px 0 rgba(255,255,255,.32), inset -2px -2px 0 rgba(0,0,0,.25);
  color:#fff;font-family:var(--font-ui);
  transition:transform .08s;
}
.mc-mic:hover{background:#F2574E;}
.mc-mic:active{transform:translate(2px,2px);box-shadow:0 0 0 rgba(0,0,0,0);}
.mc-mic-icon{font-size:22px;line-height:1;}
.mc-mic-label{font-size:10px;font-weight:900;text-shadow:1px 1px 0 rgba(0,0,0,.4);}
.mc-mic.rec{
  background:var(--mc-emerald);border-color:var(--mc-emerald-dk);
  animation:mcRec .9s steps(2) infinite;
}
@keyframes mcRec{50%{box-shadow:var(--sh-1), 0 0 0 9px rgba(23,221,98,.35);}}

.mc-input-wrap{flex:1;min-width:0;display:flex;flex-direction:column;gap:7px;}
#userInput{
  width:100%;resize:none;padding:13px 15px;
  font-family:var(--font-ui);font-size:15px;font-weight:600;line-height:1.6;color:var(--mc-ink);
  background:#fff;border:4px solid var(--mc-wood-dk);
  box-shadow:inset 3px 3px 0 rgba(0,0,0,.08);
  outline:none;
  max-height:130px;overflow-y:auto;
}
#userInput:focus{border-color:var(--mc-grass-dk);box-shadow:inset 3px 3px 0 rgba(0,0,0,.08), 0 0 0 3px rgba(95,168,60,.35);}
#userInput::placeholder{color:#A79E8C;font-weight:600;}

.mc-input-tools{display:flex;gap:7px;}
.mc-tool{
  font-family:var(--font-ui);font-size:12px;font-weight:800;cursor:pointer;
  padding:6px 12px;color:#fff;
  background:var(--mc-gold);border:3px solid var(--mc-gold-dk);
  box-shadow:2px 2px 0 rgba(0,0,0,.32);text-shadow:1px 1px 0 rgba(0,0,0,.32);
  transition:transform .08s;
}
.mc-tool:nth-child(2){background:var(--mc-lapis);border-color:var(--mc-lapis-dk);}
.mc-tool:hover{filter:brightness(1.12);}
.mc-tool:active{transform:translate(2px,2px);box-shadow:0 0 0 rgba(0,0,0,0);}

.mc-send{
  flex:none;width:78px;height:60px;cursor:pointer;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;
  font-family:var(--font-ui);font-size:13.5px;font-weight:900;color:#fff;
  background:var(--mc-emerald);border:4px solid var(--mc-emerald-dk);
  box-shadow:var(--sh-1), inset 2px 2px 0 rgba(255,255,255,.3), inset -2px -2px 0 rgba(0,0,0,.25);
  text-shadow:1px 1px 0 rgba(0,0,0,.4);
  transition:transform .08s;
}
.mc-send:hover{background:#28EE74;}
.mc-send:active{transform:translate(2px,2px);box-shadow:0 0 0 rgba(0,0,0,0);}
.mc-send:disabled{opacity:.5;cursor:not-allowed;}
.mc-send-icon{font-size:19px;}

/* ================= 右栏 ================= */
.mc-panel-right{padding:14px;display:flex;flex-direction:column;gap:13px;position:sticky;top:14px;}
.mc-card{
  padding:13px 13px 14px;
  background:#fff;border:4px solid var(--mc-wood-dk);box-shadow:var(--sh-1);
}
.mc-card-soft{background:#FFFAE8;}
.mc-card-title{
  display:flex;align-items:center;gap:7px;
  margin-bottom:11px;padding-bottom:9px;
  font-family:var(--font-ui);font-size:14.5px;font-weight:900;color:#2B2B2B;
  border-bottom:3px solid var(--mc-paper-dk);
}
.mc-card-ico{font-size:17px;}

.mc-quick-list{display:flex;flex-direction:column;gap:7px;}
.mc-quick{
  display:flex;align-items:center;gap:9px;cursor:pointer;text-align:left;
  font-family:var(--font-ui);font-size:13.5px;font-weight:800;color:#2B2B2B;
  padding:9px 11px;
  background:var(--mc-paper);border:3px solid var(--mc-wood-dk);
  box-shadow:2px 2px 0 rgba(0,0,0,.3);
  transition:transform .08s;
}
.mc-quick:hover{background:#FFF9E8;transform:translate(-1px,-1px);box-shadow:3px 3px 0 rgba(0,0,0,.3);}
.mc-quick:active{transform:translate(2px,2px);box-shadow:0 0 0 rgba(0,0,0,0);}
.mc-quick-ico{font-size:16px;}

.mc-stat-row{display:flex;justify-content:space-between;margin:9px 0 6px;font-size:12.5px;font-weight:800;color:#6A6055;}
.mc-stat-row b{font-family:var(--font-num);font-size:13px;color:var(--mc-grass-dk);}
.mc-bar{
  height:16px;background:#DED5C0;border:3px solid var(--mc-wood-dk);
  box-shadow:inset 2px 2px 0 rgba(0,0,0,.16);overflow:hidden;
}
.mc-bar i{
  display:block;height:100%;width:0;
  background:repeating-linear-gradient(90deg,var(--mc-emerald) 0 5px,#0FA047 5px 10px);
  transition:width .6s cubic-bezier(.2,1.3,.5,1);
}
.mc-bar-blue i{background:repeating-linear-gradient(90deg,var(--mc-lapis) 0 5px,#27509F 5px 10px);}

.mc-encourage{
  margin-top:13px;padding:11px 12px;
  font-size:12.5px;font-weight:800;line-height:1.72;color:#12803C;text-align:center;
  background:#EAFBE9;border:3px dashed var(--mc-emerald);
}
.mc-tips{padding-left:18px;font-size:12.5px;font-weight:700;line-height:1.92;color:#5A5044;}
.mc-tips li{margin:3px 0;}
.mc-tips b{color:var(--mc-redstone);font-weight:900;}

/* ================= 语音浮层 ================= */
.mc-voice-overlay{
  position:fixed;inset:0;z-index:60;display:grid;place-items:center;
  background:rgba(29,27,46,.72);animation:mcFade .16s;
}
@keyframes mcFade{from{opacity:0;}to{opacity:1;}}
.mc-voice-card{
  width:min(92vw,420px);padding:24px 22px;text-align:center;
  background:var(--mc-paper);border:5px solid var(--mc-wood-dk);
  box-shadow:8px 8px 0 rgba(0,0,0,.5);
  animation:mcPopIn .24s steps(3);
}
@keyframes mcPopIn{from{transform:scale(.88);opacity:0;}to{transform:scale(1);opacity:1;}}
.mc-voice-title{
  font-family:var(--font-ui);font-size:16.5px;font-weight:900;color:#fff;
  padding:9px 14px;margin-bottom:16px;
  background:var(--mc-emerald);border:3px solid var(--mc-emerald-dk);
  text-shadow:2px 2px 0 var(--mc-emerald-dk);
}
.mc-voice-bars{display:flex;gap:5px;justify-content:center;align-items:flex-end;height:54px;margin-bottom:14px;}
.mc-voice-bars i{
  width:10px;background:var(--mc-emerald);
  box-shadow:inset -2px -2px 0 var(--mc-emerald-dk);
  animation:mcWave .9s steps(4) infinite;
}
.mc-voice-bars i:nth-child(1){height:22px;animation-delay:0s;}
.mc-voice-bars i:nth-child(2){height:38px;animation-delay:.1s;}
.mc-voice-bars i:nth-child(3){height:52px;animation-delay:.2s;}
.mc-voice-bars i:nth-child(4){height:32px;animation-delay:.3s;}
.mc-voice-bars i:nth-child(5){height:50px;animation-delay:.4s;}
.mc-voice-bars i:nth-child(6){height:28px;animation-delay:.5s;}
.mc-voice-bars i:nth-child(7){height:42px;animation-delay:.6s;}
@keyframes mcWave{0%,100%{transform:scaleY(.4);}50%{transform:scaleY(1);}}
.mc-voice-text{
  min-height:54px;margin-bottom:12px;padding:13px 14px;
  font-size:15.5px;font-weight:800;color:var(--mc-ink);line-height:1.62;
  background:#fff;border:3px dashed var(--mc-wood-dk);
  display:flex;align-items:center;justify-content:center;
}
.mc-voice-hint{font-size:12.5px;font-weight:700;color:#7A6E5E;margin-bottom:16px;}

/* ================= 设置弹窗 ================= */
.mc-modal{
  position:fixed;inset:0;z-index:70;display:grid;place-items:center;
  background:rgba(29,27,46,.72);animation:mcFade .16s;
}
.mc-modal-box{
  width:min(94vw,430px);padding:24px;
  background:var(--mc-paper);border:5px solid var(--mc-wood-dk);
  box-shadow:8px 8px 0 rgba(0,0,0,.5);
  animation:mcPopIn .22s steps(3);
}
.mc-modal-box h3{
  font-family:var(--font-ui);font-size:18px;font-weight:900;color:#fff;
  padding:9px 14px;margin-bottom:17px;
  background:var(--mc-grass);border:3px solid var(--mc-grass-dk);
  text-shadow:2px 2px 0 var(--mc-grass-dk);
}
.mc-setting{
  display:flex;align-items:center;gap:11px;
  padding:11px 13px;margin-bottom:10px;
  font-size:14px;font-weight:800;color:#4A4038;
  background:#fff;border:3px solid var(--mc-wood-dk);
}
.mc-setting > span{flex:none;}
.mc-setting input[type=range]{flex:1;height:8px;cursor:pointer;accent-color:var(--mc-emerald);}
.mc-setting input[type=text]{
  flex:1;min-width:0;padding:8px 12px;
  font-family:var(--font-ui);font-size:14px;font-weight:700;color:var(--mc-ink);
  background:#fff;border:3px solid var(--mc-wood-dk);outline:none;
}
.mc-setting input[type=text]:focus{border-color:var(--mc-grass-dk);}
.mc-setting b{flex:none;width:48px;text-align:right;font-family:var(--font-num);font-size:13px;color:var(--mc-grass-dk);}
.mc-setting-switch{cursor:pointer;}
.mc-setting-switch input[type=checkbox]{
  margin-left:auto;width:52px;height:28px;appearance:none;cursor:pointer;
  background:#C9C0AB;border:3px solid var(--mc-wood-dk);position:relative;
  transition:background .16s;
}
.mc-setting-switch input[type=checkbox]::after{
  content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;
  background:#fff;box-shadow:1px 1px 0 rgba(0,0,0,.35);
  transition:transform .16s steps(3);
}
.mc-setting-switch input[type=checkbox]:checked{background:var(--mc-emerald);}
.mc-setting-switch input[type=checkbox]:checked::after{transform:translateX(24px);}
.mc-modal-actions{display:flex;gap:10px;margin-top:16px;}
.mc-modal-actions .mc-btn{flex:1;padding:12px;font-size:14.5px;}

/* ================= 奖励飘字 / Toast ================= */
.mc-reward{
  position:fixed;z-index:80;pointer-events:none;
  font-family:var(--font-ui);font-size:26px;font-weight:900;color:var(--mc-diamond);
  text-shadow:2px 2px 0 #000, 4px 4px 0 rgba(0,0,0,.35);
  animation:mcFly 1.1s steps(8) forwards;
}
@keyframes mcFly{
  0%{transform:translateY(0) scale(.5);opacity:0;}
  25%{transform:translateY(-24px) scale(1.25);opacity:1;}
  100%{transform:translateY(-120px) scale(.9);opacity:0;}
}
.mc-toast{
  position:fixed;left:50%;bottom:36px;transform:translateX(-50%);z-index:90;
  padding:13px 24px;max-width:88vw;
  font-family:var(--font-ui);font-size:14.5px;font-weight:900;color:#fff;text-align:center;
  background:var(--mc-obsidian);
  border:3px solid var(--mc-diamond);box-shadow:5px 5px 0 rgba(0,0,0,.5);
  animation:mcToastIn .2s steps(3);
}
@keyframes mcToastIn{from{transform:translate(-50%,22px) scale(.9);opacity:0;}to{transform:translate(-50%,0) scale(1);opacity:1;}}

/* ================= 响应式 ================= */
@media (max-width:1200px){
  .mc-stage{grid-template-columns:252px minmax(0,1fr);}
  .mc-panel-right{display:none;}
}
@media (max-width:880px){
  .mc-header{margin:10px 10px 0;padding:10px 12px;gap:10px;}
  .mc-brand-avatar{width:46px;height:46px;border-width:3px;}
  .mc-brand-text h1{font-size:16px;}
  .mc-brand-sub{display:none;}
  .mc-brand-text p{display:none;}
  .mc-xp{width:76px;height:18px;}
  .mc-diamond-box{padding:5px 9px;}
  .mc-icon-btn{width:38px;height:38px;font-size:16px;}

  .mc-level-bar{margin:10px 10px 0;padding:10px 12px;gap:8px;}
  .mc-level-label{font-size:12.5px;padding:4px 9px;}
  .mc-ach-btn{font-size:12px;padding:5px 10px;}
  .mc-level-map{gap:5px;}
  .mc-lv{min-width:74px;padding:6px 3px 6px;border-width:2px;}
  .mc-lv-icon{font-size:17px;}
  .mc-lv-name{font-size:10px;}
  .mc-lv-grade{font-size:8.5px;}
  .mc-mission-row{gap:5px;}
  .mc-mission-chip{font-size:11px;padding:4px 8px;border-width:2px;}
  .mc-ach-grid{grid-template-columns:1fr;}
  .mc-ach-toast{width:230px;}

  .mc-stage{display:block;padding:10px 10px 20px;min-height:auto;}
  .mc-panel-left{position:static;margin-bottom:11px;padding:11px;}
  .mc-tutor-card{display:flex;align-items:stretch;justify-content:center;}
  .mc-tutor-portrait{width:118px;aspect-ratio:1/1;flex:none;}
  .mc-bubble{font-size:12.5px;padding:11px;}
  .mc-bubble-arrow{display:none;}
  .mc-skills{display:grid;grid-template-columns:1fr 1fr;gap:7px;}
  .mc-skill{padding:8px 9px;gap:8px;border-width:3px;}
  .mc-skill-slot{width:32px;height:32px;border-width:2px;}
  .mc-skill-emoji{font-size:17px;}
  .mc-skill-text b{font-size:12.5px;}
  .mc-skill-text i{display:none;}
  .mc-skill-wide{grid-column:1/-1;}

  .mc-panel-main{max-height:none;min-height:66vh;}
  .mc-mode-head{padding:11px 13px;gap:10px;}
  .mc-mode-slot{width:40px;height:40px;font-size:20px;border-width:3px;}
  .mc-mode-text h2{font-size:16.5px;}
  .mc-mode-text p{font-size:11.5px;}
  .mc-btn{padding:7px 11px;font-size:12px;border-width:2px;}
  .mc-chat-scroll{padding:13px;}
  .mc-msg-avatar{width:38px;height:38px;border-width:3px;}
  .mc-msg-body{max-width:84%;}
  .mc-bubble-msg{font-size:14.5px;padding:11px 13px;border-width:3px;}
  .mc-composer{padding:10px 11px 12px;gap:8px;}
  .mc-mic{width:52px;height:52px;border-width:3px;}
  .mc-mic-icon{font-size:19px;}
  .mc-send{width:62px;height:52px;font-size:12px;border-width:3px;}
  .mc-send-icon{font-size:16px;}
  #userInput{padding:11px 13px;font-size:14.5px;border-width:3px;}
  .mc-tool{padding:5px 9px;font-size:11px;border-width:2px;}
  .mc-voice-card,.mc-modal-box{padding:19px 16px;}
  .mc-welcome{padding:17px 14px;}
}

/* 无障碍 */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
  }
}
