/* Vereinsplakette: shared action controls, independent of page-specific layout. */
body .manager-header-tools :is(.header-faq-button, .audio-settings-toggle, .game-menu-toggle) {
  width: 80px;
  min-width: 80px;
  flex: 0 0 80px;
  padding-inline: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
}
body .manager-header-tools .header-faq-button { font-weight: 800; }
:root {
  --fm-button-brass: #cba855;
  --fm-button-brass-dark: #755e31;
  --fm-button-depth: 3px;
  --fm-button-enamel: linear-gradient(#3c5945, #1b3026);
  --fm-button-primary: linear-gradient(#e6f2a0, #b6d45a);
}
body :is(.control-button, .speed-button, .profile-contract-action-button, .fm-icon-control, .stadium-shared-controls button, .manager-tabs button) {
  box-sizing: border-box;
  border: 2px solid var(--fm-button-brass);
  border-radius: 9px;
  background: var(--fm-button-enamel);
  color: #f5f0dd;
  box-shadow: inset 0 1px #e1e7b84d, inset 0 0 0 3px #d4ba7524, inset 0 -2px #081911,
    0 var(--fm-button-depth) 0 #0a1510, 0 calc(var(--fm-button-depth) + 1px) 0 var(--fm-button-brass-dark);
  text-shadow: 0 1px #0008;
  transform: none;
  transition: transform .16s ease, background-color .12s, box-shadow .12s, filter .12s;
}
body :is(.control-button.control-primary, .profile-contract-action-button.is-primary, .profile-contract-action-button.is-ready) {
  background: var(--fm-button-primary);
  color: #152313;
  text-shadow: 0 1px #ffffff55;
}
body :is(.control-button, .speed-button, .fm-icon-control, .stadium-shared-controls button, .manager-tabs button)[aria-pressed="true"],
body .manager-tabs button[aria-selected="true"], body .manager-tabs button.active,
body .speed-button.active,
body .game-menu-toggle[aria-expanded="true"] {
  border-color: #d6bc6d;
  background: linear-gradient(#698244, #334a28);
  color: #ebf5b3;
  box-shadow: inset 0 2px 4px #07150c99, inset 0 0 0 3px #d4ba7524, 0 1px 0 var(--fm-button-brass-dark);
}
body :is(.control-button.control-danger, .profile-contract-action-button.is-danger, .profile-contract-action-button.is-danger-ready) {
  border-color: #ad7b60;
  background: linear-gradient(#654037, #37241f);
  color: #ffd3be;
}
@media (hover: hover) and (pointer: fine) {
  body :is(.control-button, .speed-button, .profile-contract-action-button, .fm-icon-control, .stadium-shared-controls button, .manager-tabs button):not(:disabled):not([aria-disabled="true"]):hover {
    transform: translateY(-2px);
    filter: brightness(1.10);
  }
}
@media (hover: none), (pointer: coarse) {
  body :is(.control-button, .speed-button, .profile-contract-action-button, .fm-icon-control, .stadium-shared-controls button, .manager-tabs button):not(:disabled):not([aria-disabled="true"]):hover {
    transform: none;
    filter: none;
  }
}
body :is(.control-button, .speed-button, .profile-contract-action-button, .fm-icon-control, .stadium-shared-controls button, .manager-tabs button):not(:disabled):not([aria-disabled="true"]):active {
  transform: translateY(2px);
  box-shadow: inset 0 3px 5px #0007, inset 0 0 0 3px #d4ba7524, 0 1px 0 var(--fm-button-brass-dark);
}
body :is(.control-button, .speed-button, .profile-contract-action-button, .fm-icon-control, .stadium-shared-controls button, .manager-tabs button):focus-visible {
  outline: 3px solid #e5f4a3;
  outline-offset: 4px;
}
body :is(.control-button, .speed-button, .profile-contract-action-button, .fm-icon-control, .stadium-shared-controls button, .manager-tabs button):disabled,
body :is(.control-button, .profile-contract-action-button)[aria-disabled="true"] {
  opacity: 1;
  background: linear-gradient(#465047, #303b32);
  color: #a4ada3;
  border-color: #77765b;
  filter: none;
  box-shadow: inset 0 0 0 3px #d4ba7518;
  text-shadow: none;
}
body :is(.control-button, .speed-button, .profile-contract-action-button, .fm-icon-control, .stadium-shared-controls button, .manager-tabs button):is(:disabled, [aria-disabled="true"]):is(:hover, :active) { transform: none; }
@media (pointer: coarse), (max-width: 600px) {
  body :is(.control-button, .speed-button, .profile-contract-action-button, .fm-icon-control, .stadium-shared-controls button, .manager-tabs button) { min-height: 44px; }
  body .manager-header-tools .game-menu-toggle { min-height: 44px; }
  body :is(.fm-icon-control, .stadium-shared-controls button, .speed-button) { min-width: 44px; }
}
@media (prefers-reduced-motion: reduce) {
  body :is(.control-button, .speed-button, .profile-contract-action-button, .fm-icon-control, .stadium-shared-controls button, .manager-tabs button) { transition: none; }
  body :is(.control-button, .speed-button, .profile-contract-action-button, .fm-icon-control, .stadium-shared-controls button, .manager-tabs button):not(:disabled):not([aria-disabled="true"]):is(:hover, :active) { transform: none; }
}

/* Utility tier: green enamel with a small bevel and a firm pressure edge. */
body .manager-header-tools :is(.header-faq-button, .audio-settings-toggle, .game-menu-toggle),
body .live-3d-camera-controls button,
body .game-menu-panel :is(.game-menu-action, .game-menu-close),
body .audio-settings-panel .audio-panel-sound-toggle,
body .faq-dialog .faq-topic-button,
body .stadium-shared-controls button {
  box-sizing: border-box;
  border: 1px solid #829580;
  border-radius: 7px;
  background: linear-gradient(#365442, #182f24);
  color: #f5f0dd;
  box-shadow: inset 0 1px #c4d5b970, inset 0 0 0 2px #b4c3a41a, inset 0 -2px #091b13,
    0 2px 0 #08160f, 0 3px 0 #53634d;
  text-shadow: 0 1px #071a12;
}
body .live-3d-camera-controls button {
  width: 32px;
  min-width: 32px;
  height: 32px;
  min-height: 32px;
  padding: 0;
  font: 600 17px/1 var(--fm-font-body-family);
}
body .live-3d-camera-controls button:is([data-camera-action="pitch"], [data-camera-action="stadium"]) {
  width: 54px;
  min-width: 54px;
  padding: 0 5px;
  font-size: 12px;
}
body .manager-header-tools :is(.header-faq-button, .audio-settings-toggle, .game-menu-toggle):is([aria-expanded="true"], [aria-pressed="true"]),
body .live-3d-camera-controls button:is(.active, [aria-pressed="true"]),
body .stadium-shared-controls button[aria-pressed="true"] {
  background: #395338;
  border-color: #9cb67d;
  box-shadow: inset 0 2px 4px #071a1280, inset 0 0 0 1px #b4c3a429, 0 1px 0 #53634d;
}
body .manager-tabs button:not(:disabled):not([aria-disabled="true"]) {
  background: linear-gradient(#d5c38b, #af965c);
  border-color: #c6ae70;
  color: #183729;
  text-shadow: 0 1px #fff4ce9c;
  box-shadow: inset 0 1px #fff1bdba, inset 0 0 0 2px #5b4b222b, inset 0 -2px #7c6638,
    0 3px 0 #18251a, 0 4px 0 #6d5930;
}
body .manager-tabs button:not(:disabled):not([aria-disabled="true"]):is([aria-selected="true"], [aria-pressed="true"], .active) {
  background: linear-gradient(#b9a36b, #c5b27a);
  color: #102d20;
  border-color: #9e8955;
  box-shadow: inset 0 2px 4px #51441f66, inset 0 -3px #345c34, 0 1px 0 #6d5930;
}
body .manager-tabs button:not(:disabled):not([aria-disabled="true"]):active {
  box-shadow: inset 0 3px 5px #51441f80, inset 0 -3px #345c34, 0 1px 0 #6d5930;
}
body .manager-header-tools :is(.header-faq-button, .audio-settings-toggle, .game-menu-toggle):active,
body .live-3d-camera-controls button:active,
body .game-menu-panel :is(.game-menu-action, .game-menu-close):active,
body .audio-settings-panel .audio-panel-sound-toggle:active,
body .faq-dialog .faq-topic-button:active,
body .stadium-shared-controls button:active {
  box-shadow: inset 0 3px 5px #071a1299, 0 1px 0 #53634d;
}
@media (pointer: coarse), (max-width: 600px) {
  body .live-3d-camera-controls button { width: 44px; min-width: 44px; height: 44px; min-height: 44px; }
}
body .faq-dialog .faq-topic-button.selected {
  background: #395338;
  border-color: #9cb67d;
  box-shadow: inset 0 2px 4px #071a1280, inset 3px 0 #c6ae70;
}

/* Quiet close control; retain the existing mobile touch target. */
body #stadium-block-close { border-color: transparent; background: transparent; color: var(--muted); box-shadow: none; text-shadow: none; font-size: 22px; font-weight: 500; transform: none; }
body #stadium-block-close:hover, body #stadium-block-close:active { border-color: transparent; background: rgba(255, 255, 255, 0.07); color: var(--fm-color-text); box-shadow: none; transform: none; }
body #stadium-block-close:focus-visible { outline: 2px solid var(--fm-color-accent); outline-offset: 2px; }
