/* 山海御兽录 覆盖样式 — 叠在 holocard.css 之后, 只改文字层, 不碰光效层 */
/* 六属性印 (五行印类名复用 fire/water/wood, 新增 wind/light/dark) */
.hc .seal.wx-wind  { color: #e6fff7; border-color: rgba(120,230,200,.9); box-shadow: 0 0 9px rgba(90,220,180,.6); background: radial-gradient(circle at 40% 35%, rgba(120,230,200,.35), rgba(0,0,0,.55)); }
.hc .seal.wx-metal { color: #f2f7fa; border-color: rgba(200,215,230,.95); box-shadow: 0 0 10px rgba(180,200,220,.7); background: radial-gradient(circle at 40% 35%, rgba(210,225,240,.5), rgba(40,50,65,.75)); }
.hc .seal.wx-earth { color: #fff3dc; border-color: rgba(220,170,90,.95); box-shadow: 0 0 10px rgba(200,150,70,.7); background: radial-gradient(circle at 40% 35%, rgba(220,170,90,.45), rgba(70,45,15,.8)); }
.hc .seal.wx-light { color: #fffbe0; border-color: rgba(255,240,180,.95); box-shadow: 0 0 12px rgba(255,235,150,.85), 0 0 24px rgba(255,220,120,.4); background: radial-gradient(circle at 40% 35%, rgba(255,245,200,.55), rgba(120,90,20,.6)); }
.hc .seal.wx-dark  { color: #e8d9ff; border-color: rgba(170,120,255,.95); box-shadow: 0 0 12px rgba(150,90,255,.85), 0 0 24px rgba(110,40,220,.4); background: radial-gradient(circle at 40% 35%, rgba(120,70,200,.5), rgba(10,4,30,.85)); }
/* 星级 = 进阶 (用户 09-17 定): 5 色 × 5 颗 = 25 星, 逐颗换色 白→黄→紫→橙→彩; .st-none = 1 色段未点亮 (暗底) */
.hc .stars i.st-none { background: rgba(255,255,255,.10); }
.hc .stars i.st-w { background: #e9eef5; box-shadow: 0 0 4px rgba(230,240,255,.6); }
.hc .stars i.st-y { background: #f5c542; box-shadow: 0 0 5px rgba(245,197,66,.7); }
.hc .stars i.st-p { background: #c77dff; box-shadow: 0 0 6px rgba(190,110,255,.85); }
.hc .stars i.st-o { background: #ff8a1f; box-shadow: 0 0 8px rgba(255,140,30,.95); }
.hc .stars i.st-rb { background: conic-gradient(from 0deg, #ff6b6b, #ffd76e, #7ef2c0, #7eb8ff, #d98cff, #ff6b6b); box-shadow: 0 0 9px rgba(255,255,255,.75); animation: hcCertSpin 5s linear infinite; }
/* 右下 进化阶: 方案 B 阶梯徽记 (用户 09-17 选 B) — 「N阶」+ 4 格 pips, 亮 N 格. 替代旧圆章 .certstamp.stage */
.hc .certwrap { right: 8.5%; bottom: 13.2%; align-items: flex-end; }
.hc .stagebar { display: flex; align-items: center; gap: calc(9px * var(--kf) / .64);
  padding: calc(5px * var(--kf) / .64) calc(10px * var(--kf) / .64) calc(5px * var(--kf) / .64) calc(12px * var(--kf) / .64);
  border-radius: 6px; background: linear-gradient(180deg, rgba(38,22,70,.92), rgba(16,9,34,.92));
  border: 1px solid rgba(252,211,77,.55); box-shadow: 0 2px 10px rgba(0,0,0,.6), inset 0 1px 0 rgba(255,240,190,.18); }
.hc .stagebar b { color: #fff1cf; font-weight: 900; letter-spacing: .12em; font-size: calc(17px * var(--kf) / .64); line-height: 1;
  font-family: "Songti SC","STSong",'Noto Serif CJK SC',serif; text-shadow: 0 1px 2px rgba(0,0,0,.8); }
.hc .stagebar .pips { display: flex; gap: calc(4px * var(--kf) / .64); }
.hc .stagebar .pips i { display: block; width: calc(11px * var(--kf) / .64); height: calc(15px * var(--kf) / .64); border-radius: 2px;
  background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.14); }
.hc .stagebar .pips i.on { background: linear-gradient(180deg, #ffe08a, #f0a020); border-color: rgba(255,230,160,.9); box-shadow: 0 0 6px rgba(255,190,60,.8); }
.hc .stagebar .pips i.lock { opacity: .35; }
.hc .copyline { display: none; }   /* 用户 09-17: 正面不放版权行, 版权行移卡背底部 (.bk-copy) */
.hc .delta.shiny { color: #fff; background: linear-gradient(90deg,#ff7ad9,#7ad7ff,#fff07a); -webkit-background-clip: text; background-clip: text; color: transparent; font-weight: 900; }
/* 背面 */
.hc .bk-title { align-items: flex-end; }
.hc .bk-title .tg { font-size: .5rem; letter-spacing: .12em; margin-left: 4px; }
.hc .el-row.src .nm { color: #fcd34d; font-weight: 700; letter-spacing: .1em; }
.hc .bk-orig { margin: 5px 0 3px; padding: 6px 9px; color: #f2e9d2; font-size: .62rem; line-height: 1.8; font-family: 'Noto Serif CJK SC', 'Songti SC', serif; letter-spacing: .06em;
  border-left: 2px solid rgba(252,211,77,.55); background: rgba(252,211,77,.05); border-radius: 0 6px 6px 0; }
.hc .bk-plain { margin: 0 0 4px; padding-left: 11px; color: #a396cc; font-size: .52rem; line-height: 1.6; }
.hc .el-row .chain span { color: #8b7fb8; } .hc .el-row .chain span.cur { color: #fff3d6; font-weight: 800; }
.hc .el-row .chain i { color: #5c527d; font-style: normal; margin: 0 4px; }
.hc .el-row.mv .cd { color: #ff9c66; width: 30px; }
.hc .el-row.mv .pr { color: #a396cc; font-weight: 500; width: auto; flex: 1.4; text-align: left; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.hc .bk-ad.grid4 { display: grid; grid-template-columns: 1fr 1fr; gap: 5px 14px; }
.hc .bk-ad .half.hp2 .lbl  { color: #ff6f8a; } .hc .bk-ad .half.hp2 .tf  { background: linear-gradient(90deg,#6a0a1e,#ff3d6a 60%,#ffb3c2); box-shadow: 0 0 6px rgba(255,70,110,.6); }
.hc .bk-ad .half.spd2 .lbl { color: #ffe066; } .hc .bk-ad .half.spd2 .tf { background: linear-gradient(90deg,#5a4a00,#ffd21f 60%,#fff2a8); box-shadow: 0 0 6px rgba(255,210,30,.6); }
.hc .bk-ad .lbl { width: 36px; font-size: .5rem; }
/* v2: 数值块上移到标题下, 知识块占剩余空间 */
.hc .bk-ad.grid4 { margin: 8px 0 6px; padding: 8px 10px; background: rgba(148,120,255,.07); border: 1px solid rgba(148,120,255,.18); border-radius: 8px; }
.hc .el-table { justify-content: flex-start; }
.hc .bk-orig { font-size: .7rem; line-height: 1.85; padding: 8px 11px; margin: 6px 0 4px; }
.hc .bk-plain { font-size: .56rem; line-height: 1.7; margin-bottom: 8px; }
.hc .el-row.mv { padding: 3px 0; }
/* v3 (card #46 ⑤): l-aura 主体背光走属性色 (--auc), 框色 --fxc 不动 (铁律) */
.hc .holo3d[data-el="fire"]  { --auc: 255,120,40; }
.hc .holo3d[data-el="water"] { --auc: 60,170,255; }
.hc .holo3d[data-el="wood"]  { --auc: 90,220,110; }
.hc .holo3d[data-el="wind"]  { --auc: 150,235,210; }
.hc .holo3d[data-el="light"] { --auc: 255,235,160; }
.hc .holo3d[data-el="dark"]  { --auc: 160,90,255; }
.hc .holo3d[data-el] .l-aura { background: radial-gradient(ellipse 62% 55% at 50% 42%, rgba(var(--auc), 1) 0%, rgba(var(--auc), .35) 45%, transparent 75%); }
.hc .holo3d.tier-common[data-el] { --aura: .14; } .hc .holo3d.tier-rare[data-el] { --aura: .20; } .hc .holo3d.tier-epic[data-el] { --aura: .28; }
.hc .holo3d.tier-legend[data-el] { --aura: .32; } .hc .holo3d.tier-mythic[data-el] { --aura: .38; }
/* v4 (card #50): 居中窗内版式 — 视差是唯一前后关系来源: bg −.3 (图 scale 1.04 兜底) / fx .15 / subject .6 / 框 0 */
.hc .l-bg { --d: -0.3; }
.hc .l-fx { --d: 0.15; }
.hc .l-subject { --d: 0.6; }
/* v10 (card #99, 用户 09-17): 画面四层统一映射到卡框画窗 (源框 750×1050 窗 x50-698 y120-932 → inset 上11.43% 右6.93% 下11.24% 左6.67%),
   不再铺满全卡被框吃掉 (旧法 bg 仅 51% 可见, fx 环相对主体被放大 1.19×). compose 画布 = 画窗 + 每边 3% 出血 (950×1190),
   引擎 img 106% cover 正好吃掉出血作视差过扫 → 三层同一几何, composed.webp 所见即引擎所见. 与 rules.fit.card_window / engine.layer_window 同源 */
.hc .l-bg, .hc .l-fx, .hc .l-star, .hc .l-subject, .hc .l-art { inset: 11.43% 6.93% 11.24% 6.67%; border-radius: 6px; overflow: hidden; }
.hc .l-bg img, .hc .l-fx img, .hc .l-star img, .hc .l-art img,
.hc .l-subject img { inset: -3%; left: -3%; bottom: -3%; width: 106%; height: 106%; object-fit: cover; object-position: center; }
.hc .l-subject { overflow: visible; }   /* 主体仍可越窗 (头顶/落影), 几何与 bg/fx 一致 */
/* 星级粒子层 (fx B3): 黑底粒子 screen 混合, 视差略前于主体 (贴名签柱漂浮); 彩段微闪 */
.hc .l-star { --d: 0.7; pointer-events: none; mix-blend-mode: screen; opacity: .85; }
/* fx 交付粒子密度 in_cover .005–.03 (极低, 卡上几乎不可见) → 引擎提亮: 亮度/对比 + 叠一份 blur 作光晕; 密度不够再让 fx 加 */
.hc .l-star img { filter: brightness(1.05) contrast(1.1) saturate(1.15); }   /* fx B3 v2 密度已提; 层位在 namecol 之上 (粒子漂在名签柱边缘) */
.hc .l-star::after { content: ''; position: absolute; inset: -3%; background: inherit; }
.hc .l-star.s-white img { filter: brightness(1.2) contrast(1.1); }
.hc .l-star.s-rainbow { animation: hcStarTwinkle 2.6s ease-in-out infinite alternate; }
@keyframes hcStarTwinkle { from { opacity: .75; filter: saturate(1); } to { opacity: 1; filter: saturate(1.35) brightness(1.15); } }
/* fx 环只在主体轮廓外亮 ('从身后透出'): 中心 22% 全透 → 35% 全显 */
.hc .l-fx { -webkit-mask-image: radial-gradient(circle at 50% 42%, transparent 0, transparent 22%, #000 35%); mask-image: radial-gradient(circle at 50% 42%, transparent 0, transparent 22%, #000 35%); }
/* v7 卡背重排 (用户: 名字/稀有度/出处/数值放大; 古文与白话同字号同框分段) */
.hc .face.back { padding: 12px 13px 10px; }
/* v11c (用户 09-17): 头块两列各自上下对齐 — 左: RICHY VERSE (顶) / 兽录编号 (底); 右: 条码 (顶, 与品牌字顶对齐) / HASH 小字 (底, 与兽录行底对齐). 品牌与编号间隙加大 */
.hc .bk-head { padding-bottom: 6px; align-items: stretch; }
.hc .bk-idblock { gap: 7px; justify-content: space-between; }
.hc .bk-codeblock { display: flex; flex-direction: column; align-items: flex-end; justify-content: space-between; gap: 4px; }
.hc .barcode-chip { padding: 0 4px; height: 19px; }
/* HASH = 完整 sha1 (40 位), 中间隐藏, 两端撑满与条码同宽 (用户 09-17); 条码本身编码 hash 前 12 位 */
.hc .bk-codeblock { align-items: stretch; }
.hc .bk-hashline { display: flex; justify-content: space-between; align-items: baseline; width: 100%; color: #7d72a3; font-size: .42rem; letter-spacing: .04em; line-height: 1; font-variant-numeric: tabular-nums; white-space: nowrap; font-family: ui-monospace, "SF Mono", Menlo, monospace; }
.hc .bk-hashline i { font-style: normal; color: #9a8fc4; letter-spacing: .12em; flex: 1; text-align: center; }
.hc .bk-title { display: flex; justify-content: space-between; align-items: flex-end; margin: 9px 0 7px; }
.hc .bk-name { display: flex; align-items: baseline; gap: 7px; min-width: 0; }
.hc .bk-title .n { font-size: 1.25rem; letter-spacing: .08em; line-height: 1; }
.hc .bk-title .tg { font-size: .58rem; letter-spacing: .1em; margin: 0; opacity: .8; }
.hc .bk-meta { display: flex; align-items: center; gap: 5px; flex-shrink: 0; font-size: .66rem; font-weight: 800; letter-spacing: .06em; }
.hc .bk-meta .rk { color: #0d0824; padding: 2px 7px; border-radius: 5px; letter-spacing: .12em; background: #fcd34d; }
.hc .bk-meta .rk-common { background: #d9a37a; } .hc .bk-meta .rk-rare { background: #a9e6ff; } .hc .bk-meta .rk-epic { background: #c9a2ff; } .hc .bk-meta .rk-legend { background: #ffd95a; } .hc .bk-meta .rk-mythic { background: #ff6b6b; }
.hc .bk-meta .lv { color: #fff3d6; }
.hc .bk-meta .lv.st { color: #f5c542; }
.hc .bk-meta .wx { color: #fcd34d; }
.hc .bk-ad.grid4 { margin: 4px 0 8px; padding: 9px 11px; gap: 7px 14px; }
.hc .bk-ad .lbl { width: 32px; font-size: .66rem; font-weight: 800; }
.hc .bk-ad .tr { height: 8px; }
.hc .bk-ad .num { font-size: .72rem; font-weight: 800; width: 34px; }
.hc .bk-src { display: flex; align-items: baseline; gap: 8px; margin: 0 0 5px; font-size: .68rem; }
.hc .bk-src .slot { color: #8b7fb8; letter-spacing: .1em; }
.hc .bk-src .nm { color: #fcd34d; font-weight: 800; letter-spacing: .1em; }
.hc .bk-lorebox { border-left: 2px solid rgba(252,211,77,.55); background: rgba(252,211,77,.05); border-radius: 0 8px 8px 0; padding: 8px 11px 7px; margin: 0 0 8px; }
.hc .bk-orig { margin: 0; padding: 0; border: 0; background: none; border-radius: 0; color: #f2e9d2; font-size: .7rem; line-height: 1.8; letter-spacing: .04em; }
.hc .bk-plain { margin: 6px 0 0; padding: 6px 0 0; border-top: 1px dashed rgba(252,211,77,.25); color: #c7bce6; font-size: .7rem; line-height: 1.7; }
.hc .el-table { gap: 2px; }
.hc .el-row { font-size: .62rem; padding: 3px 0; }
.hc .el-row .slot { width: 40px; }
.hc .el-row.mv .cd { font-size: .62rem; }
.hc .flipper.prism.flipped .face.back .bk-lorebox, .hc .flipper.prism.flipped .face.back .bk-src { animation: rowIn .4s ease-out both; animation-delay: .8s; }
/* v8 种族章 (rseal): 方形墨印, 与属性圆章区分; 正面在属性章下, 背面在属性章旁 */
.hc .rseal { width: 22px; height: 22px; border-radius: 5px; flex-shrink: 0; display: flex; align-items: center; justify-content: center;
  font-size: .68rem; font-weight: 900; font-family: "Songti SC","STSong",'Noto Serif CJK SC',serif; color: #f3e6c8;
  border: 1.5px solid rgba(243,230,200,.75); background: radial-gradient(circle at 35% 30%, #3a3050, #16112a 75%);
  box-shadow: 0 0 6px rgba(0,0,0,.6), inset 0 0 0 1px rgba(0,0,0,.4); }
.hc .namecol .rseal { margin-top: -2px; }
.hc .bk-meta { gap: 6px; }
.hc .bk-meta .seal { width: 22px; height: 22px; font-size: .66rem; }
.hc .bk-meta .rseal { width: 20px; height: 20px; font-size: .62rem; }
.hc .bk-meta .wxt { color: #fcd34d; font-size: .62rem; font-weight: 800; letter-spacing: .04em; margin-right: 2px; }

/* v11 (用户 09-17): 卡背版式 = v8 已定顺序 (品牌+编号+条码 → 名/英文 | 档·星·属性·学科·种族 → HP攻防速 → 出处 → 原文 → 白话 → 进化链 → 招式2+特性1 → 收服·HASH·QR).
   问题: 字号 rem 制, 桌面 480px 卡下半 45% 空 → 整块随卡宽缩放 (v7 在 354px 调好 = --kf .472 为 1 倍), 手机不变 */
.hc .face.back .bk-inner { zoom: max(1, calc(var(--kf) / .472)); }
/* 属性/克制行 (BATTLE_STATS §7 / CARD_LAYOUT §4 属性行): 火 · 英语 | 克→金 · 被克←水 ; 速度规则一行小字 */
.hc .bk-el { display: flex; align-items: center; gap: 8px; margin: -3px 0 4px; font-size: .6rem; color: #a396cc; }
.hc .bk-el .slot { color: #8b7fb8; letter-spacing: .1em; }
.hc .bk-el b { color: #fcd34d; font-weight: 800; }
.hc .bk-el .vs { color: #c7bce6; } .hc .bk-el .vs i { font-style: normal; color: #7ef2c0; font-weight: 800; }
.hc .bk-el .vs .weak i { color: #ff6f8a; }
.hc .bk-el .spdrule { margin-left: auto; color: #8b7fb8; font-size: .52rem; }
/* 版权行移到卡背底部 (用户 09-17) */
/* 用户 09-17: 不要 HASH, 该位置放版权 (美观) */
.hc .bk-hash.bk-copy { color: rgba(255,235,190,.55); font-size: .5rem; letter-spacing: .14em; line-height: 1.6; text-align: left; }
/* 进化链: 当前阶高亮 + 未解锁阶灰 */
.hc .el-row .chain .cur { color: #fcd34d; font-weight: 900; }
.hc .el-row .chain .lock { opacity: .45; }
.hc .el-row .chain i { font-style: normal; color: #6d6390; margin: 0 4px; }
.hc .face.back .bk-foot { margin-top: auto; padding-top: 4px; }
.hc .face.back .el-table { flex: 0 0 auto; }

/* 卡背只原著 (用户 09-17): 原文加标点+「」, 无白话; 住处句 = 山经段首 '又东三百里曰某山' 小字 */
.hc .bk-home { margin-top: 5px; font-size: .78em; opacity: .72; letter-spacing: .04em; }
.hc .bk-plain { display: none; }

/* ---------- 静态缩略 HoloCard.thumb (兽录网格) ---------- */
.hc-thumb { position: relative; aspect-ratio: 750 / 1050; border-radius: 6% / 4.3%; overflow: hidden; background: #0b0a12; }
.hc-thumb .th-art { position: absolute; inset: 11.43% 6.93% 11.24% 6.67%; overflow: hidden; border-radius: 4px; }   /* 同引擎画窗 */
.hc-thumb .th-art img { width: 106%; height: 106%; margin: -3%; object-fit: cover; display: block; }
.hc-thumb .th-frame { position: absolute; inset: 0; background: var(--frame-url) center / 100% 100% no-repeat; pointer-events: none; }
.hc-thumb .th-name { position: absolute; left: 14%; right: 14%; bottom: 13%; text-align: center; font-size: .72em; line-height: 1.6; font-weight: 800; color: #fcd34d; letter-spacing: .08em; background: rgba(14,8,3,.78); border: 1px solid rgba(252,211,77,.45); border-radius: 999px; padding: 0 4px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.hc-thumb .th-name b { font-weight: 700; color: #fff; margin-left: 1px; font-size: .9em; }
.hc-thumb .th-star { display: inline-block; width: .6em; height: .6em; border-radius: 50%; vertical-align: -1px; margin-left: 4px; }
.hc-thumb .th-star.st-w { background: #e9eef5; } .hc-thumb .th-star.st-y { background: #f5c542; } .hc-thumb .th-star.st-p { background: #c77dff; } .hc-thumb .th-star.st-o { background: #ff8a1f; }
.hc-thumb .th-star.st-rb { background: conic-gradient(#ff6b6b, #ffd76e, #7ef2c0, #7eb8ff, #d98cff, #ff6b6b); }
.hc-thumb.sealed .th-art { background: linear-gradient(160deg, #3a4a46, #1c2523); }   /* 石玉色 (ui #110 ①) */
.hc-thumb.sealed .th-frame { filter: grayscale(.9) brightness(.55); }
.hc-thumb .th-sealed { position: absolute; inset: 0; display: grid; place-items: center; color: #9fb8ae; font-size: .7em; letter-spacing: .2em; writing-mode: vertical-rl; }
