/* Painted steel/brass/resonance objects. Finite interaction lighting uses one
   decoded asset; element colour and material remain readable in every state. */
img.game-icon-v19 {
  display: inline-block;
  width: 32px;
  height: 32px;
  flex: 0 0 auto;
  object-fit: contain;
  vertical-align: middle;
  opacity: 1;
  user-select: none;
  -webkit-user-drag: none;
  transition: transform 140ms cubic-bezier(.2,.75,.25,1), filter 160ms ease-out, opacity 160ms ease-out;
}
/* A generated ES5 page also runs in current browsers. Its legacy50% flex cap
   must not halve an already assigned grid column. Real IE keeps its flex rule. */
@supports (display:grid) {
  html[data-browser-compat="ie11"] body #game-viewport.game-viewport[data-layout][data-title-lobby-v12] .command-panel {
    width:auto; max-width:none;
  }
}
@media (orientation:landscape) {
  html[data-browser-compat="ie11"] body #game-viewport.game-viewport[data-layout][data-title-lobby-v12] .mode-options .mode-card[data-mode] strong::after {
    font-size:13px; overflow-wrap:normal; word-break:normal;
  }
}
.lobby-nav img.game-icon-v19 { width: 48px; height: 48px; }
.mode-card > img.game-icon-v19 { width: 48px; height: 48px; }
.hub-list button > img.game-icon-v19 { width: 42px; height: 42px; margin-inline-end: 10px; }
.icon-button > img.game-icon-v19, .dialog-button > img.game-icon-v19, .role-markers img.game-icon-v19 { width: 26px; height: 26px; }
.game-icon-v19[data-icon-state="selected"],
button:is([aria-pressed="true"],[aria-selected="true"],.selected) > .game-icon-v19 {
  filter: brightness(1.12) drop-shadow(0 1px 1px #051013b3);
}
.game-icon-v19[data-icon-state="disabled"], button:disabled .game-icon-v19, [aria-disabled="true"] .game-icon-v19 {
  filter: none;
  opacity: .35;
}
.game-icon-v19[data-icon-state="danger"] { filter: brightness(1.08) drop-shadow(0 1px 1px #3c170fcc); }
@media (hover: hover) {
  button:hover:not(:disabled) .game-icon-v19:not([data-icon-state="disabled"]):not([data-game-icon-v19="rarity"]) { filter: brightness(1.16) drop-shadow(0 1px 1px #051013b3); }
}
button:active:not(:disabled) .game-icon-v19:not([data-game-icon-v19="rarity"]) { transform: translateY(1px) scale(.95); }
button:focus-visible .game-icon-v19:not([data-icon-state="disabled"]):not([data-game-icon-v19="rarity"]) { filter: brightness(1.16) drop-shadow(0 1px 1px #051013b3); }
/* 이미지 의미를 가까운 버튼과 연결할 때 단일 자산을 재사용한다. 이름/숫자/설명은 그대로 읽힌다. */
.game-icon-v19.icon-inline { width: 24px; height: 24px; }
.game-icon-v19.icon-stat { width: 28px; height: 28px; }
.game-icon-v19.icon-feature { width: 48px; height: 48px; }
/* Short names accompany unfamiliar actions and resources. The painted image,
   original native button and numeric owner remain the same at every width. */
body #game-viewport.game-viewport[data-layout][data-title-lobby-v12] .header-actions .icon-button,
body #game-viewport.game-viewport[data-layout][data-title-lobby-v12] .lobby-menu-button {
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:2px; padding:3px!important; min-width:48px; flex-shrink:0;
}
body #game-viewport.game-viewport[data-layout][data-title-lobby-v12] .game-control-caption-v23 {
  display:block; font-size:11px; line-height:1.15; font-weight:600; color:#ebe3ca;
  max-width:100%; overflow-wrap:normal; white-space:nowrap;
}
body #game-viewport.game-viewport[data-layout][data-title-lobby-v12] .header-actions .icon-button { width:58px; }
body #game-viewport.game-viewport[data-layout][data-title-lobby-v12] .game-resource-copy-v23 {
  display:flex; flex-direction:column; align-items:flex-start; gap:2px;
}
body #game-viewport.game-viewport[data-layout][data-title-lobby-v12] .game-resource-copy-v23 small {
  font-size:11px; line-height:1.1; font-weight:600; color:#d1cbb8;
}
body #game-viewport.game-viewport[data-layout][data-title-lobby-v12] .supply-button { flex-direction:column; gap:2px; }
body #game-viewport.game-viewport[data-layout][data-title-lobby-v12] .supply-button>span {
  display:block; font-size:11px; line-height:1.15;
}
body #game-viewport.game-viewport[data-layout][data-title-lobby-v12] .support-dock :is(.main-slot,.support-slot)>small {
  font-size:11px; line-height:1.15; padding-block:2px;
}
@media (max-width:480px) and (orientation:portrait) {
  /* Four full translated tab names need two rows on a phone. They keep the
     original tab order, arrow-key navigation and native touch targets. */
  body #detail-dialog .character-view-tabs.segmented-control {
    display:flex; flex-wrap:wrap; gap:6px;
  }
  body #detail-dialog .character-view-tabs.segmented-control>button {
    flex:1 1 calc(50% - 6px); min-width:0; min-height:44px; white-space:nowrap;
    overflow-wrap:normal; word-break:normal;
  }
  body #game-viewport.game-viewport[data-layout][data-title-lobby-v12] .support-dock .companion-selector>span {
    font-size:11px; overflow-wrap:normal; word-break:normal; padding-inline:1px;
    box-sizing:border-box;
  }
  body #game-viewport.game-viewport[data-layout][data-title-lobby-v12] .mode-card {
    padding-inline:3px!important;
  }
  body #game-viewport.game-viewport[data-layout][data-title-lobby-v12] .mode-options .mode-card[data-mode] strong::after {
    font-size:13px; overflow-wrap:normal; word-break:normal;
  }
}
[hidden] .game-icon-v19, [data-effects-paused="true"] .game-icon-v19,
html[data-ui19-visible="false"] .game-icon-v19 { transition: none; animation-play-state: paused; }
body.motion-reduced .game-icon-v19, [data-reduced-motion="true"] .game-icon-v19,
[data-motion="reduced"] .game-icon-v19, [data-motion="bg-off"] .game-icon-v19,
[data-cinematic-reduced="true"] .game-icon-v19 { transition: none; animation: none; }
body.motion-reduced button:active:not(:disabled) > .game-icon-v19,
body.motion-reduced button:active:not(:disabled) > .ui19-nav-emblem .game-icon-v19,
body.motion-reduced button:active:not(:disabled) .game-icon-v19,
[data-motion="reduced"] button:active:not(:disabled) > .game-icon-v19,
[data-motion="bg-off"] button:active:not(:disabled) > .game-icon-v19,
[data-motion="reduced"] button:active:not(:disabled) > .ui19-nav-emblem .game-icon-v19,
[data-motion="bg-off"] button:active:not(:disabled) > .ui19-nav-emblem .game-icon-v19,
[data-motion="reduced"] button:active:not(:disabled) .game-icon-v19,
[data-motion="bg-off"] button:active:not(:disabled) .game-icon-v19,
[data-reduced-motion="true"] button:active:not(:disabled) .game-icon-v19,
[data-cinematic-reduced="true"] button:active:not(:disabled) .game-icon-v19 { transform: none; }
@media (prefers-reduced-motion: reduce) {
  img.game-icon-v19 { transition: none; animation: none; }
  button:active:not(:disabled) > .game-icon-v19,
  button:active:not(:disabled) > .ui19-nav-emblem .game-icon-v19,
  button:active:not(:disabled) .game-icon-v19:not([data-game-icon-v19="rarity"]) { transform: none; }
}
