  /* ================= v88 近景装饰层 ================= */
  /* z-index:2 —— 近景装饰位于背景之上、怪物之下，避免遮挡怪物立绘 */
  #stageFg{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden;}
  #stageFg img{position:absolute;bottom:1%;width:32%;max-width:158px;
    image-rendering:pixelated;opacity:.9;
    -webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.96) 38%,rgba(0,0,0,.3) 86%,transparent 100%);
    mask-image:linear-gradient(180deg,rgba(0,0,0,.96) 38%,rgba(0,0,0,.3) 86%,transparent 100%);}
  #stageFg .fgl{left:-7%;}
  #stageFg .fgr{right:-7%;transform:scaleX(-1) scale(1.08);}
  @media (orientation:landscape){
    #stageFg img{width:11%;max-width:74px;bottom:-10%;opacity:.8;}
  }
  @media (max-height:640px) and (orientation:portrait){
    #stageFg img{width:25%;max-width:124px;}
  }

  /* ================= v89 环境氛围粒子（原地呼吸，无位移） ================= */
  #stageFx{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden;
    mix-blend-mode:screen;}
  #stageFx .amb{position:absolute;border-radius:50%;opacity:0;
    animation-iteration-count:infinite;animation-timing-function:ease-in-out;
    will-change:opacity;}
  #stageFx .amb.pulse{animation-name:ambPulse;}
  #stageFx .amb.bubble{animation-name:ambBubble;}
  #stageFx .amb.drip{animation-name:ambDrip;border-radius:2px 2px 50% 50%;}
  @keyframes ambPulse{
    0%,100%{opacity:0;}
    45%{opacity:var(--o,.25);}
    60%{opacity:calc(var(--o,.25) * .55);}
  }
  @keyframes ambBubble{
    0%,100%{opacity:0;}
    35%{opacity:var(--o,.18);}
    70%{opacity:calc(var(--o,.18) * .35);}
  }
  @keyframes ambDrip{
    0%,82%{opacity:0;}
    88%{opacity:var(--o,.5);}
    96%{opacity:0;}
  }
  @media (prefers-reduced-motion: reduce){
    #stageFx .amb{animation:none;opacity:calc(var(--o,.2) * .6);}
  }

  /* ================= v90 战斗收束 + 章节转场 ================= */
  #curtain{position:absolute;inset:0;z-index:7;pointer-events:none;opacity:0;
    transition:opacity .7s ease;}
  #curtain.on{opacity:1;}
  #curtain.win{
    background:
      radial-gradient(72% 58% at 50% 42%,rgba(8,12,20,0) 0%,rgba(6,9,16,.52) 66%,rgba(3,5,10,.92) 100%),
      linear-gradient(180deg,rgba(2,4,8,.30),rgba(2,4,8,.66));
  }
  #curtain.lose{
    background:
      radial-gradient(72% 58% at 50% 46%,rgba(46,4,10,0) 0%,rgba(58,6,14,.42) 60%,rgba(22,1,5,.92) 100%),
      linear-gradient(180deg,rgba(8,2,4,.28),rgba(10,2,4,.62));
  }
  .clearing{position:absolute;z-index:7;pointer-events:none;border-radius:50%;
    background:radial-gradient(circle,rgba(255,238,190,.5) 0%,rgba(255,214,140,.2) 38%,rgba(255,200,120,0) 72%);
    animation:clearFade 2.5s ease-out forwards;}
  @keyframes clearFade{0%{opacity:0}16%{opacity:1}100%{opacity:0}}

  #chapterCard{position:absolute;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;
    background:radial-gradient(120% 90% at 50% 38%,rgba(11,17,29,.97),rgba(3,5,10,.99));
    opacity:0;transition:opacity .3s linear;cursor:pointer;}
  #chapterCard.show{opacity:1;}
  #chapterCard.hide{display:none;}
  .cc-inner{text-align:center;padding:0 24px;}
  .cc-kicker{font-size:9px;letter-spacing:.62em;color:#8c7442;margin-bottom:16px;padding-left:.62em;}
  .cc-title{margin:0;font-size:clamp(28px,8vw,40px);letter-spacing:.26em;padding-left:.26em;
    font-family:"Songti SC","Source Han Serif SC","Noto Serif CJK SC",serif;
    background:linear-gradient(180deg,#fff8e4,#e8cd94 45%,#a97f3e);
    -webkit-background-clip:text;background-clip:text;color:transparent;
    filter:drop-shadow(0 6px 24px rgba(220,180,110,.22));}
  .cc-line{width:min(240px,62vw);height:1px;margin:18px auto 16px;
    background:linear-gradient(90deg,rgba(216,181,116,0),rgba(240,214,160,.9),rgba(216,181,116,0));}
  .cc-sub{font-size:11px;letter-spacing:.1em;color:#9fb3ca;line-height:2.05;
    max-width:min(320px,86vw);margin:0 auto;}
  .cc-dots{display:flex;gap:6px;justify-content:center;margin:20px 0 0;}
  .cc-dots i{width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.15);}
  .cc-dots i.on{background:linear-gradient(180deg,#ffe9b0,#d8a444);
    box-shadow:0 0 8px rgba(255,200,110,.85);}
  .cc-tap{margin-top:26px;font-size:9.5px;letter-spacing:.3em;color:#54637a;padding-left:.3em;}

  /* ================= v91 事件条 + 经验条 ================= */
  #eventBar{position:absolute;left:50%;top:48px;transform:translateX(-50%);z-index:9;
    max-width:88%;padding:5px 12px;border-radius:5px;
    font-size:10.5px;letter-spacing:.06em;white-space:nowrap;
    overflow:hidden;text-overflow:ellipsis;pointer-events:none;
    background:linear-gradient(180deg,rgba(12,18,30,.93),rgba(6,10,18,.96));
    border:1px solid rgba(150,190,240,.3);color:#cfe0f5;
    box-shadow:0 6px 18px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.07);
    opacity:0;transition:opacity .22s linear;}
  #eventBar.on{opacity:1;}
  #eventBar.warn{color:#ffe0a0;border-color:rgba(255,200,100,.5);}
  #eventBar.danger{color:#ffb3bd;border-color:rgba(255,110,130,.55);
    background:linear-gradient(180deg,rgba(46,12,20,.94),rgba(20,6,10,.96));}
  #eventBar.good{color:#a8f0c8;border-color:rgba(110,230,170,.45);}
  #eventBar.info{color:#a8d8ff;border-color:rgba(120,190,255,.4);}
  @media (orientation:landscape){#eventBar{top:2px;font-size:9px;padding:3px 9px;max-width:72%;}}

  .explist{display:flex;flex-direction:column;gap:8px;margin:2px 0 14px;text-align:left;}
  .exprow{display:flex;flex-direction:column;gap:4px;}
  .exprow-top{display:flex;justify-content:space-between;align-items:baseline;font-size:11px;}
  .exprow-top .expname{color:#dbe9fb;font-weight:600;letter-spacing:.04em;}
  .exprow-top .explv{color:#8fa6c4;font-size:9.5px;font-variant-numeric:tabular-nums;}
  .exprow-top .expadd{color:#8fe4ff;}
  .expbar{position:relative;height:9px;border-radius:5px;overflow:hidden;
    background:rgba(6,10,18,.92);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);}
  .expbar i{display:block;height:100%;width:0;border-radius:5px;
    background:linear-gradient(180deg,#bfe4ff,#5aa8e0);
    box-shadow:0 0 8px rgba(120,200,255,.45);
    transition:width .9s cubic-bezier(.2,.7,.3,1);}
  .expbar .expnum{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
    font-size:7.5px;color:#eaf4ff;text-shadow:0 1px 2px rgba(0,0,0,.9);
    font-variant-numeric:tabular-nums;pointer-events:none;}

  /* ================= v92 技能总览 + 掉落品质 ================= */
  #prep .hero .hskill{display:flex;align-items:center;gap:3px;margin-top:4px;
    flex-wrap:nowrap;overflow:hidden;cursor:pointer;}
  #prep .hero .hskill .skchip{font-size:8px;line-height:1.5;padding:0 4px;border-radius:3px;
    border:1px solid currentColor;background:rgba(0,0,0,.22);
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:52px;flex:0 1 auto;}
  #prep .hero .hskill .skmore{font-size:8px;color:#8296b2;flex:0 0 auto;}
  #prep .hero .hskill .sknone{font-size:8px;color:#5f6d86;flex:0 0 auto;}
  #prep .hero .hskill .skcount{margin-left:auto;font-size:8px;color:#8fa3bd;flex:0 0 auto;
    letter-spacing:.02em;font-variant-numeric:tabular-nums;}
  #prep .hero.sel .hskill .skcount{color:#d8c08a;}

  #drop .dcard{overflow:hidden;}
  #drop .dcard::before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;
    border-radius:2px;background:var(--qc,#7f93b3);opacity:.9;}
  #drop .dcard .dq{flex:0 0 auto;font-size:9px;line-height:1.6;letter-spacing:.06em;
    padding:1px 7px;border-radius:4px;border:1px solid var(--qc,#8ea3bd);
    color:var(--qc,#8ea3bd);background:rgba(0,0,0,.3);white-space:nowrap;}
  #drop .dcard.rar-legend .dq{box-shadow:0 0 10px rgba(255,203,99,.35);}
  .dqsum{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin:2px 0 12px;}
  .dqsum-chip{font-size:9px;line-height:1.7;padding:0 8px;border-radius:4px;
    border:1px solid var(--qc,#8ea3bd);color:var(--qc,#8ea3bd);
    background:rgba(0,0,0,.26);letter-spacing:.04em;}

  /* ================= v93 技能装配页 + 掉落对比 ================= */
  .skslots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin:6px 0 4px;}
  .skslot{display:flex;align-items:center;justify-content:center;min-height:30px;padding:2px 5px;
    border-radius:6px;border:1px dashed rgba(255,255,255,.16);background:rgba(255,255,255,.03);
    overflow:hidden;}
  .skslot.on{border-style:solid;border-color:var(--qc,#9fd0ff);background:rgba(120,200,255,.10);cursor:pointer;}
  .skslot .skslot-name{font-size:9.5px;color:#e6f2ff;white-space:nowrap;overflow:hidden;
    text-overflow:ellipsis;letter-spacing:.02em;}
  .skslot .skslot-empty{font-size:12px;color:#5f6f86;}
  .sk-group{margin:14px 0 7px;}
  .skgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;}
  .skcard{position:relative;padding:8px 9px;border-radius:8px;cursor:pointer;
    background:linear-gradient(180deg,rgba(24,32,50,.92),rgba(10,15,26,.96));
    border:1px solid rgba(150,185,230,.18);border-left:3px solid var(--qc,#7fb6ff);
    transition:border-color .12s,background .12s;}
  .skcard.on{border-color:rgba(217,185,121,.6);border-left-color:var(--qc,#7fb6ff);
    background:linear-gradient(180deg,rgba(40,36,26,.95),rgba(16,14,10,.97));}
  .skcard .skcard-top{display:flex;align-items:baseline;gap:5px;}
  .skcard .skcard-name{font-size:12px;font-weight:600;color:#eaf3ff;letter-spacing:.02em;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .skcard .skcard-on{flex:0 0 auto;font-size:7.5px;color:#ffd98a;border:1px solid rgba(217,185,121,.5);
    border-radius:3px;padding:0 4px;line-height:1.5;}
  .skcard .skcard-meta{font-size:8.5px;color:#8fa3bd;margin-top:3px;white-space:nowrap;
    overflow:hidden;text-overflow:ellipsis;}
  .skcard .skcard-dmg{font-size:9px;color:#9fd0ff;margin-top:2px;font-variant-numeric:tabular-nums;}
  .skcard.on .skcard-dmg{color:#ffd08a;}
  .skcard .skcard-forget{position:absolute;right:6px;bottom:5px;font-size:8px;
    color:#ff9aa6;opacity:.75;border-bottom:1px solid rgba(255,120,140,.4);padding:0 1px;}
  #drop .dcard .dcmp{margin-top:4px;font-size:9.5px;letter-spacing:.02em;color:#93a7c0;}
  #drop .dcard .dcmp.up{color:#8dffb8;}
  #drop .dcard .dcmp.down{color:#ff9aa6;}

  /* ================= v94 出招建议 ================= */
  .cmdadvice{flex:0 0 auto;font-size:8.5px;line-height:1.6;letter-spacing:.02em;
    padding:0 6px;border-radius:3px;white-space:nowrap;
    border:1px solid rgba(255,255,255,.18);color:#c3d4e8;background:rgba(0,0,0,.28);}
  .cmdadvice.weak{color:#ffd98a;border-color:rgba(255,205,90,.5);background:rgba(46,34,10,.72);}
  .cmdadvice.chain{color:#a8d8ff;border-color:rgba(120,190,255,.48);background:rgba(12,26,44,.72);}
  .cmdadvice.warn{color:#ffb3bd;border-color:rgba(255,110,130,.5);background:rgba(46,12,20,.72);}
  .cmdbtn{position:relative;}
  .cmdbtn.hasbadge{padding-right:24px;}
  .cmdbadge{position:absolute;right:5px;top:5px;font-style:normal;font-size:7px;
    line-height:1.5;padding:0 3px;border-radius:2px;letter-spacing:0;
    color:#ffd98a;border:1px solid rgba(255,205,90,.55);background:rgba(46,34,10,.92);}
  .cmdbadge.low{color:#ffb3bd;border-color:rgba(255,110,130,.55);background:rgba(52,12,20,.92);}
  @media (max-height:700px){.cmdadvice{font-size:8px;padding:0 4px;}}

  /* ================= v95 强化预览 + 威胁汇总 ================= */
  .panel .gline .gmod.plus{color:#7f93ab;margin-top:2px;}
  .panel .gline .gmod.plus b{color:#9fe0ff;font-weight:600;}
  #threatBar{display:flex;align-items:center;gap:7px;padding:3px 8px;margin-bottom:5px;
    border-radius:5px;background:rgba(6,10,18,.72);border:1px solid rgba(255,120,110,.18);
    font-size:9px;letter-spacing:.06em;color:#9fb3ca;}
  #threatBar .tb-num{font-size:12px;font-weight:700;color:#ffb3bd;
    font-variant-numeric:tabular-nums;letter-spacing:0;}
  #threatBar .tb-meta{color:#8fa3bd;}
  #threatBar .tb-charge{color:#ffd98a;border:1px solid rgba(255,205,90,.4);
    border-radius:3px;padding:0 4px;line-height:1.5;}
  #threatBar .tb-risk{margin-left:auto;color:#ff8a9a;font-weight:600;}
  @media (max-height:700px){#threatBar{font-size:8.5px;padding:2px 7px;}}
