/* 기존 스킬/음향/사건 상태와 클릭 처리는 유지하고 공통 부조만 연결합니다. */
body.game-interface[data-button-quality='v15'] .thumb-skill { --battle15-glyph:url('/resource/ui/icon-template-v22/runtime/element-neutral-v22.webp'); }
body.game-interface[data-button-quality='v15'] .thumb-skill[data-skill-element='화'] { --battle15-glyph:url('/resource/ui/icon-template-v22/runtime/element-fire-v22.webp'); }
body.game-interface[data-button-quality='v15'] .thumb-skill[data-skill-element='수'] { --battle15-glyph:url('/resource/ui/icon-template-v22/runtime/element-water-v22.webp'); }
body.game-interface[data-button-quality='v15'] .thumb-skill[data-skill-element='풍'] { --battle15-glyph:url('/resource/ui/icon-template-v22/runtime/element-wind-v22.webp'); }
body.game-interface[data-button-quality='v15'] .thumb-skill[data-skill-element='토'] { --battle15-glyph:url('/resource/ui/icon-template-v22/runtime/element-earth-v22.webp'); }
body.game-interface[data-button-quality='v15'] .thumb-skill[data-skill-element='뇌'] { --battle15-glyph:url('/resource/ui/icon-template-v22/runtime/element-lightning-v22.webp'); }
body.game-interface[data-button-quality='v15'] .thumb-skill > strong::before { width:20px;height:20px; }
/* v16 paints this pseudo-element with its own variable. Override the actual
   image at the same selector depth so it follows the common element catalog. */
body.game-interface[data-button-quality='v15'] .thumb-controls .thumb-actions .thumb-skill > strong::before { background-image:var(--battle15-glyph); }
body.game-interface .sound-toggle { display:inline-flex;align-items:center;justify-content:center; }
body.game-interface .sound-toggle > .game-icon-v19 { width:28px;height:28px;pointer-events:none; }
body.cinematic-battle-v18 .combat-moment-mark > .game-icon-v19 { width:40px;height:40px; }
body.cinematic-battle-v18 .combat-vitals-sigil { background:transparent;border:0;clip-path:none; }
body.cinematic-battle-v18 .combat-vitals-sigil > .game-icon-v19 { width:32px;height:32px; }
body #detail-dialog .shop-v17 .shop-status-icon-v20,
body #detail-dialog .shop-v17 .shop-stat-icon-v20 { width:24px;height:24px;vertical-align:middle; }
body #detail-dialog .shop-v17 .shop-inspect-icon-v20,
body #detail-dialog .shop-v17 .shop-nav-icon-v20,
body #detail-dialog .shop-v17 .shop-v17-inspect-mark > .game-icon-v19 { width:24px;height:24px; }
body #detail-dialog .shop-v17 .shop-v17-shard-mark > .game-icon-v19,
body #detail-dialog .shop-v17 .shop-v17-success-seal > .game-icon-v19 { width:100%;height:100%; }
body #detail-dialog .shop-v17 .shop-v17-loading > span > .game-icon-v19,
body #detail-dialog .shop-v17 .shop-v17-pending-symbol > .game-icon-v19 { width:56px;height:56px; }
body #detail-dialog .shop-v17 .shop-v17-shard-mark,
body #detail-dialog .shop-v17 .shop-v17-success-seal { border:0;background:transparent; }
@media (max-width:350px) {
  body.cinematic-battle-v18 .combat-vitals-sigil > .game-icon-v19 { width:26px;height:26px; }
}
/* Keep the element readable in a 44px compact control: 20px art plus the two
   existing 10px caption rows fit without changing the button or its hit area. */
body.game-interface[data-button-quality='v15'][data-training-compact='true'] .test-shell:not(.battle-shell) .thumb-skill:is([data-skill-state='ready'],[data-skill-state='cooldown']) > strong::before { display:block; width:20px; height:20px; margin:0 auto; }
