/* Shared resource and state tokens for lobby and battle. No game handlers or timers. */
:root {
  --ui15-material:url('/resource/ui/title-lobby-v15/runtime/button-material-v15.webp');
  --ui15-control-ring-art:url('/resource/ui/title-lobby-v15/runtime/control-ring-v15.webp');
  --ui15-frame:url('/resource/ui/title-lobby-v15/runtime/button-frame-v15.svg');
  --ui15-primary-art:url('/resource/ui/title-lobby-v14/ui/runtime/primary-material-v14.webp');
  --ui15-secondary-art:url('/resource/ui/title-lobby-v14/ui/runtime/secondary-material-v14.webp');
  --ui15-neutral-art:url('/resource/ui/title-lobby-v14/ui/runtime/neutral-material-v14.webp');
  --ui15-text:#fff3da;
  --ui15-muted:#c7c2b5;
  --ui15-gold:#e3c78d;
  --ui15-face:rgba(28,40,46,.82);
}
body .game-viewport[data-title-lobby-v15] button,
body #detail-dialog button {
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
  color:var(--ui15-text);
  font-weight:700;
}
body .game-viewport[data-title-lobby-v15] button:not(.hero-detail):not(.advice-copy):not(.lobby-nav button),
body #detail-dialog button {
  min-height:48px;
  background-color:#1b252b!important;
  background-image:linear-gradient(160deg,var(--ui15-face),rgba(10,17,23,.84)),var(--ui15-material)!important;
  background-position:center!important;
  background-size:100% 100%,150% 450%!important;
  border:1px solid transparent;
  border-image:var(--ui15-frame) 16 / 6px / 0 stretch!important;
  border-radius:0;
  box-shadow:inset 0 1px rgba(255,242,204,.08),0 2px 0 #080e13,0 3px 7px rgba(0,0,0,.28);
  text-shadow:0 1px 2px #080b10;
  color:var(--ui15-text)!important;
  opacity:1;
  transition:box-shadow .12s ease,background-color .12s ease;
}
body .game-viewport[data-title-lobby-v15] :is(.start-cta,.solo-button),
body #detail-dialog .dialog-button:not(.secondary):not(.danger):not(.ui15-action-row) {
  --ui15-face:rgba(103,37,43,.82);
  box-shadow:inset 0 1px rgba(255,224,163,.22),0 2px 0 #36161d,0 4px 10px rgba(0,0,0,.32);
}
body .game-viewport[data-title-lobby-v15] :is(.coop-button,.title-sign-in),
body #detail-dialog .dialog-button.secondary {
  --ui15-face:rgba(24,63,68,.8);
}
body #detail-dialog .ui15-action-row { --ui15-face:rgba(31,43,51,.84); }
body #detail-dialog :is(.dialog-button.danger,.destructive,[data-action='logout'],[data-action='room-leave']) {
  --ui15-face:rgba(94,36,38,.87);
  color:#ffd6c9!important;
}
body .game-viewport[data-title-lobby-v15] .lobby-nav button {
  min-height:56px;
  color:#e5dac4;
  font-size:max(13px,var(--oa-fs-caption,13px));
  border-bottom:3px solid transparent;
  background:linear-gradient(180deg,rgba(50,63,69,.28),rgba(11,19,24,.2))!important;
}
body .game-viewport[data-title-lobby-v15] .lobby-nav button[aria-current] {
  color:#fff0c9;
  border-bottom-color:var(--ui15-gold);
  background:linear-gradient(180deg,rgba(111,86,44,.16),rgba(169,127,63,.22))!important;
}
body .game-viewport[data-title-lobby-v15] .lobby-nav .icon { filter:drop-shadow(0 1px 1px #080d12); }
body #detail-dialog :is(.dialog-button,.dialog-fixed-actions button,.hub-list button,.shop-tab),
body .game-viewport[data-title-lobby-v15] :is(.compact-mode-toggle,.compact-difficulty-toggle,.advice-action) {
  font-size:max(14px,var(--oa-fs-caption,14px));
  line-height:1.35;
}
body :is(.game-viewport[data-title-lobby-v15],#detail-dialog) button:disabled,
body :is(.game-viewport[data-title-lobby-v15],#detail-dialog) button[aria-disabled='true'] {
  opacity:1!important;
  filter:none!important;
  color:var(--ui15-muted)!important;
  cursor:default;
  box-shadow:inset 0 1px rgba(255,255,255,.04),0 1px #080e13;
}
body :is(.game-viewport[data-title-lobby-v15],#detail-dialog) button[aria-busy='true'] {
  outline:1px solid var(--ui15-gold);
  outline-offset:-5px;
  cursor:progress;
}
body :is(.game-viewport[data-title-lobby-v15],#detail-dialog) button:focus-visible {
  outline:3px solid #f5d99e;
  outline-offset:2px;
}
body :is(.game-viewport[data-title-lobby-v15],#detail-dialog) button[aria-pressed='true'] {
  box-shadow:inset 0 -3px var(--ui15-gold),0 2px #080e13;
}
body :is(.game-viewport[data-title-lobby-v15],#detail-dialog) button:active:not(:disabled):not([aria-disabled='true']) {
  box-shadow:inset 0 2px 8px rgba(0,0,0,.5),inset 0 -2px var(--ui15-gold);
}
@media(hover:hover) and (pointer:fine) {
  body :is(.game-viewport[data-title-lobby-v15],#detail-dialog) button:hover:not(:disabled):not([aria-disabled='true']) {
    box-shadow:inset 0 0 0 1px rgba(227,199,141,.55),0 2px 0 #080e13,0 3px 9px rgba(0,0,0,.35);
  }
}
@media(prefers-reduced-motion:reduce) {
  body :is(.game-viewport[data-title-lobby-v15],#detail-dialog) button { transition:none!important; }
}
