/* ═══════════════════════════════════════════════════════════════
   card-full.css —— 合成卡（卡框+卡图+文字层）样式
   设计画布 744×1039。缩放模型（2026-07-12 v2）：
     · 卡图/卡框：百分比定位（跟随卡面盒子）
     · 文字层：统一包在 .fc-text（744×1039 设计画布）里，
       transform:scale(var(--fcsn)) 整体缩放——字号恒为设计值，
       不受浏览器「最小字号」钳制（旧版 calc 字号在小卡上被强制
       放大成一片黑，即"半边蒙板"bug 的根因）
   锚点像素依据：card-frame.png 部件扫描 + 人物卡展示.png 比对。
   ═══════════════════════════════════════════════════════════════ */
.full-card{position:relative;overflow:hidden;user-select:none;flex:none;
  font-family:'楷体','KaiTi','STKaiti',serif;
  border-radius:3.4% / 2.4%;}

/* 流式尺寸变体：跟随父容器宽度，高度按卡面比例自撑（--fcsn 由 JS 量取容器后写入） */
.full-card.fc-fluid{width:100%;aspect-ratio:744/1039;}
.fc-holder{}  /* 兼容占位——旧容器类，无实际样式 */

/* 卡图垫底：卡框透明窗口 x25..716 y32..655 → 百分比（超出部分被框遮住） */
.full-card .fc-art{position:absolute;
  left:2.5%;top:2.2%;width:95%;height:62.5%;
  object-fit:cover;object-position:center top;pointer-events:none;}

/* 卡框盖在卡图上 */
.full-card .fc-frame{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;}

/* ── 文字层画布：744×1039 设计坐标，整体 transform 缩放 ── */
.full-card .fc-text{position:absolute;left:0;top:0;
  width:744px;height:1039px;
  transform:scale(var(--fcsn,0));transform-origin:0 0;  /* 未量取前隐藏，防未缩放巨字闪现 */
  pointer-events:none;}
/* 滚动区在非 inert 卡上恢复交互 */
.full-card:not(.fc-inert) .fc-text .fc-effect,
.full-card:not(.fc-inert) .fc-text .fc-lore{pointer-events:auto;}

/* 左上八角 = 粮草消耗（八角部件 x28..122 y26..122） */
.full-card .fc-cost{position:absolute;
  left:43px;top:37px;width:94px;height:96px;
  display:flex;align-items:center;justify-content:center;
  font-size:70px;font-weight:bold;color:#fff;
  text-shadow:0 0 5px #000,0 0 2px #000;}

/* ★ 2026-08-24 Bug B0：内乱加费（侯犯 FirstSummonCostPenalty）——被加费一方手牌
   人物卡费用数字红字高亮（对标炉石洛欧塞布——费用变化在卡面数字上直观可见）。 */
.full-card .fc-cost.cost-up{
  color:#ff5b4d;
  text-shadow:0 0 6px rgba(255,80,50,.85),0 0 2px #000;}

/* 八角下小圆 = 衍生物消耗（圆部件 x20..68 y117..165） */
.full-card .fc-tokens{position:absolute;
  left:30px;top:153px;width:48px;height:48px;
  display:flex;align-items:center;justify-content:center;
  font-size:44px;font-weight:bold;color:#fff;
  text-shadow:0 0 4px #000;}

/* 右侧竖排胶囊（人物卡专属）：上 = 标签首字 x666..718 y540..600，下 = 阵营 y601..653 */
.full-card .fc-tag,.full-card .fc-faction{position:absolute;
  left:657px;width:60px;
  display:flex;align-items:center;justify-content:center;
  font-size:50px;font-weight:bold;color:#1a1a1a;}
.full-card .fc-tag{top:480px;height:60px;}
.full-card .fc-faction{top:575px;height:52px;}

/* 灰色横条 = 卡类型（横条 y659..700）。人物/衍生物靠右（原称号位），其余靠右 */
.full-card .fc-typelabel{position:absolute;
  right:30px;top:649px;height:42px;
  display:flex;align-items:center;justify-content:flex-end;
  font-size:30px;font-weight:bold;color:#1a1a1a;
  letter-spacing:6px;}
.full-card.fc-other .fc-typelabel{justify-content:flex-end;padding-right:10px;}

/* 左侧竖条 = 卡名竖排（人物竖条 x28..102 y704..872；计谋框竖条更长） */
.full-card .fc-name{position:absolute;
  left:45px;top:706px;width:70px;height:224px;
  display:flex;align-items:center;justify-content:center;
  writing-mode:vertical-rl;text-orientation:upright;
  font-weight:bold;color:#1a1a1a;letter-spacing:2px;}

/* 效果区（上）+ 历史区（下小字）：各自独立拖拽滚动，滚动条隐藏 */
.full-card .fc-effect,.full-card .fc-lore{position:absolute;
  overflow-y:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;
  cursor:grab;color:#111;}
.full-card .fc-effect::-webkit-scrollbar,.full-card .fc-lore::-webkit-scrollbar{display:none}
.full-card .fc-effect:active,.full-card .fc-lore:active{cursor:grabbing}
/* inert 静态卡面（手牌/网格等小尺寸）：滚动锁死 */
.full-card.fc-inert .fc-effect,.full-card.fc-inert .fc-lore{overflow:hidden;cursor:inherit;}

.full-card .fc-effect{
  left:141px;width:540px;top:709px;height:161px;
  font-size:39px;line-height:1.28;font-weight:bold;}
/* 无历史描述时效果区占满整个灰区 */
.full-card .fc-effect.fc-effect-tall{height:240px;}
.full-card.fc-other .fc-effect{height:158px;font-size:39px;}
.full-card.fc-other .fc-effect.fc-effect-tall{height:280px;}

.full-card .fc-lore{
  left:141px;width:540px;top:876px;height:116px;
  font-size:35px;line-height:1.3;color:#222;}
.full-card.fc-other .fc-lore{left:106px;width:606px;top:872px;height:112px;}

/* 右下胶囊 = 攻/血（人物卡专属，胶囊 x568..716 y930..1004） */
.full-card .fc-stats{position:absolute;
  left:10px;top:636px;width:340px;height:70px;
  display:flex;align-items:center;justify-content:center;
  font-size:30px;font-weight:bold;color:#1a1a1a;
  letter-spacing:1px;}

/* 黑边右下收藏编号（自动生成 序号/总数 A） */
.full-card .fc-number{position:absolute;
  left:520px;top:1008px;width:200px;height:26px;
  display:flex;align-items:center;justify-content:flex-end;
  font-size:17px;font-style:italic;color:#eee;
  letter-spacing:3px;}

/* 卡牌详情面板承载合成卡时加宽 */
#card-detail-box.fullcard-mode{width:520px;max-width:46vw;}
#card-detail-content .full-card{margin:0 auto;}

/* ── .card 容器承载合成卡（createCardEl 手牌/换牌/抽卡动画路径）── */
.card.card-fullface{background-image:none;overflow:hidden;}
.card.card-fullface .full-card{pointer-events:none;}  /* 点击/拖拽全部落到 .card */

/* ── 全屏放大蒙板（FullCard.zoom）：只显示这一张卡，点蒙板关闭 ── */
#fullcard-zoom-overlay{position:fixed;inset:0;z-index:10050;
  display:flex;align-items:center;justify-content:center;
  background:rgba(0,0,0,.78);cursor:zoom-out;}
#fullcard-zoom-overlay .full-card{box-shadow:0 0 60px rgba(0,0,0,.9),0 0 24px rgba(201,160,80,.25);cursor:default;}

/* ── 收藏界面放大模式：左对齐卡图 + 右侧历史描述 ── */
#fullcard-zoom-overlay.fc-zoom-collection{justify-content:flex-start;align-items:center;
  padding:5vh 5vw;gap:3vw;cursor:zoom-out;}
.fc-zoom-row{display:flex;align-items:flex-start;gap:3vw;width:95vw;max-width:95vw;}
.fc-zoom-lore{display:flex;flex-direction:column;
  flex:1;max-height:85vh;color:#d4c8a0;min-width:200px;}
.fc-zoom-lore-title{font-size:28px;font-weight:bold;color:#ffd700;
  margin-bottom:16px;padding-bottom:8px;
  border-bottom:1px solid rgba(255,215,0,.25);}
.fc-zoom-lore-body{font-size:22px;line-height:1.7;color:rgba(255,255,255,.75);
  overflow-y:auto;scrollbar-width:none;flex:1;
  cursor:grab;-webkit-overflow-scrolling:touch;}
.fc-zoom-lore-body::-webkit-scrollbar{display:none;}
.fc-zoom-lore-body:active{cursor:grabbing;}
