/* 战斗界面改版(10-25 用户: 沉浸感 / 氛围 / 3D 冲击感不够; 战斗时左边放 Boss, 右边只放暗影猎手的影子)。
   叠在 rescue.css 后面: 宽屏三栏「Boss(大) | 棋盘 | 猎手影子」, 两条血是贴着屏幕左右边的竖能量柱;
   氛围全用不动的渐变 + 只动 transform / opacity 的动画(走合成层, 不重绘), 打击特效在 rescue.js 的 FX 画布和 rescue-3d.js 的 blast。 */

/* 大殿上面再压一层: 底部雾 + 四角压暗(静态, 不占帧) */
.rs-room::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(transparent 62%,#06040acc 100%),radial-gradient(ellipse 75% 70% at 50% 45%,transparent 55%,#020106d9 100%)}

/* 打击特效画布 / 连击大字 */
.rs-fx{position:absolute;inset:0;z-index:7;width:100%;height:100%;pointer-events:none}
.rs-combo{--rs-combo-hue:0deg;position:absolute;z-index:8;left:50%;top:38%;transform:translate(-50%,-50%);text-align:center;pointer-events:none;opacity:0}
.rs-combo small{display:block;font:700 13px/1 Georgia,serif;letter-spacing:.6em;color:#ffe9b8}
.rs-combo b{display:block;font:900 clamp(34px,4.4vw,68px)/1.1 "Noto Serif SC",Georgia,serif;letter-spacing:.06em;color:#fff2d0;
  background:linear-gradient(#fff8e2 20%,#ffc456 55%,#d2402f);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  filter:hue-rotate(calc(var(--rs-combo-hue) * -1)) drop-shadow(0 4px 0 #2a0a06) drop-shadow(0 0 18px #ff8a3c88)}
.rs-combo.is-on{animation:rs-combo 1.15s cubic-bezier(.2,.9,.25,1) forwards}
@keyframes rs-combo{0%{opacity:0;transform:translate(-50%,-50%) scale(2.6)}14%{opacity:1;transform:translate(-50%,-50%) scale(.92)}22%{transform:translate(-50%,-50%) scale(1.04)}70%{opacity:1;transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-62%) scale(1.06)}}

/* 猎手影子: 烟雾光晕 + 剪影本体 + 两层残影 */
.rs-hunter-head{display:none}
.rs-hunter-fig{overflow:visible}
.rs-hunter-fig .rs-hunter-svg{position:absolute;right:4%;bottom:0;height:94%;width:auto;max-width:none;will-change:transform}
.rs-hunter-fig .rs-h-body{fill:#040207}
.rs-hunter-fig .rs-echo{pointer-events:none}
.rs-hunter-fig .rs-echo .rs-h-body,.rs-hunter-fig .rs-echo .rs-h-scarf{animation:none}
.rs-hunter-fig .rs-echo .rs-h-body{fill:var(--rs-acc)}
.rs-echo-1{opacity:.16;animation:rs-echo 3.6s ease-in-out infinite}
.rs-echo-2{opacity:.08;animation:rs-echo 3.6s ease-in-out -1.8s infinite}
@keyframes rs-echo{0%,100%{transform:translate(0,0)}50%{transform:translate(-26px,-6px)}}
.rs-shadow-smoke{position:absolute;right:-8%;bottom:-6%;width:86%;height:96%;border-radius:50%;pointer-events:none;
  background:radial-gradient(ellipse 50% 42% at 55% 64%,color-mix(in srgb,var(--rs-acc) 42%,transparent),transparent 70%),radial-gradient(ellipse 34% 24% at 40% 96%,#000000e6,transparent 72%);
  filter:blur(22px);opacity:.75;animation:rs-smoke 5s ease-in-out infinite;will-change:transform,opacity}
@keyframes rs-smoke{50%{transform:scale(1.08,1.03) translateY(-2%);opacity:1}}
.rs-hunter.is-hurt .rs-shadow-smoke{background:radial-gradient(ellipse 50% 42% at 55% 64%,#ff2a4080,transparent 70%)}

/* Boss: 身后一束光柱 + 脚下转着的法阵(都在模型画布后面) */
.rs-boss-stage::before{content:"";position:absolute;left:50%;bottom:2%;width:78%;aspect-ratio:1;transform:translateX(-50%) rotateX(74deg);border-radius:50%;pointer-events:none;
  background:repeating-conic-gradient(from 0deg,color-mix(in srgb,var(--rs-acc) 70%,transparent) 0 2deg,transparent 2deg 15deg),radial-gradient(circle,transparent 52%,color-mix(in srgb,var(--rs-acc) 55%,transparent) 54%,transparent 57%,transparent 66%,color-mix(in srgb,var(--rs-gold) 60%,transparent) 68%,transparent 70%);
  -webkit-mask:radial-gradient(circle,#000 64%,transparent 71%);mask:radial-gradient(circle,#000 64%,transparent 71%);opacity:.55;animation:rs-sigil 24s linear infinite}
@keyframes rs-sigil{to{transform:translateX(-50%) rotateX(74deg) rotate(360deg)}}
.rs-boss::before{content:"";position:absolute;inset:0 6% 8%;pointer-events:none;
  background:radial-gradient(ellipse 40% 55% at 50% 55%,color-mix(in srgb,var(--rs-acc) 26%,transparent),transparent 72%),linear-gradient(100deg,transparent 38%,#ffffff12 48%,transparent 58%);
  animation:rs-aura 6s ease-in-out infinite}
@keyframes rs-aura{50%{opacity:.6}}
.rs-boss-stage canvas{z-index:1}

@media (min-width:761px){
  .rs-shell{grid-template-columns:minmax(0,1.3fr) auto minmax(0,.75fr);grid-template-areas:"top top top" "boss center hunter"}
  /* 两条血(10-25 用户: 要竖着的能量柱, 贴着屏幕左右两边): 左 = 女官, 右 = 猎手; 柱子从下往上灌, 顶上一颗宝石头, 底下数字 */
  .rs-vbar{position:absolute;grid-area:auto;z-index:4;top:84px;bottom:28px;width:42px;flex-direction:column;align-items:center;gap:8px;padding:0}
  .rs-bossbar{left:12px}
  .rs-hpbar{right:12px}
  .rs-vbar small{font:700 12px/1.1 "Noto Serif SC",serif;letter-spacing:.1em;writing-mode:vertical-rl;color:#f3e2bf;text-shadow:0 1px 3px #000}
  .rs-vbar-track{flex:1;width:22px;border:1px solid var(--rs-gold);border-radius:12px;background:linear-gradient(90deg,#000c,#1a1420cc 50%,#000c);box-shadow:inset 0 0 0 3px #000a,0 0 16px #000c,0 0 10px var(--rs-acc)}
  .rs-vbar-track::before{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit;background:repeating-linear-gradient(0deg,transparent 0 calc(10% - 1px),#0008 calc(10% - 1px) 10%);pointer-events:none}
  .rs-vbar-track span{left:3px;right:3px;bottom:3px;top:auto;width:auto;height:calc((100% - 6px)*var(--v));border-radius:8px;transition:height .45s cubic-bezier(.2,.8,.2,1)}
  .rs-bossbar .rs-vbar-track span{background:linear-gradient(#ffd27a,#c2273d 30%,#5a0b1e);box-shadow:0 0 12px #ff3b4f}
  .rs-hpbar .rs-vbar-track span{background:linear-gradient(#d9fff2,#3cb8a4 35%,#0d4d4b);box-shadow:0 0 12px #3cb8a4}
  .rs-vbar b{min-width:0;font:700 14px/1 Georgia,serif;color:#fff;text-shadow:0 1px 3px #000}
  .rs-vbar::before{content:"";flex:none;width:18px;height:18px;transform:rotate(45deg);border:1px solid var(--rs-gold);background:radial-gradient(circle,#fff,var(--rs-acc) 60%,#000);box-shadow:0 0 10px var(--rs-acc)}
  .rs-boss-head{position:absolute;z-index:3;left:70px;top:66px}
  .rs-boss-head h3{font-size:26px;text-shadow:0 2px 0 #000,0 0 18px #000}
  .rs-boss{padding:0}
  .rs-boss-stage{margin:20px -40px 0 -10px} /* 角色稍微压进棋盘那一栏, 不被栏宽卡小 */
  .rs-intent{position:absolute;z-index:3;left:70px;bottom:14px;border:0;padding:6px 16px;background:linear-gradient(90deg,#0b0810e0,transparent);border-left:2px solid var(--rs-acc)}
  .rs-say{top:24%}
  .rs-hunter{padding:0}
  .rs-shield{top:70px;right:66px}
  .rs-side-r .rs-loot-box{max-height:none;flex:1;min-height:0}
}
@media (max-width:760px){
  .rs-shadow-smoke,.rs-echo{display:none}
  .rs-hunter-fig .rs-hunter-svg{right:auto;left:50%;transform:translateX(-50%)}
  .rs-boss-stage::before{width:60%}
}
