/* Camada visual final da garagem. Carregada depois do CSS legado. */
.car-game-garage-menu {
  --mw-accent: #a9322c;
  --mw-ink: #080706;
  color: #eee9df;
  background:
    linear-gradient(90deg, rgba(0, 0, 0, .96), rgba(3, 3, 3, .8) 28%, rgba(3, 3, 3, .18) 62%, rgba(0, 0, 0, .3)),
    radial-gradient(circle at 16% 50%, rgba(112, 23, 20, .13), transparent 34%) !important;
}

.car-game-garage-menu .car-garage-section-panel > header {
  grid-column: 1 / -1;
  order: -1;
}

/* Ao sair involuntariamente do fullscreen no celular, o jogo fica bloqueado
   até o jogador restaurar o viewport. */
.car-mobile-viewport-restore[hidden] {
  display: none !important;
}

.car-mobile-viewport-restore {
  position: absolute;
  z-index: 140;
  inset: 0;
  display: grid;
  place-items: center;
  padding: max(20px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));
  box-sizing: border-box;
  color: #fff;
  background: rgba(2, 4, 8, .92);
  backdrop-filter: blur(16px) saturate(.7);
  -webkit-backdrop-filter: blur(16px) saturate(.7);
}

.car-mobile-viewport-restore > div {
  width: min(430px, 92vw);
  display: grid;
  gap: 12px;
  padding: 30px;
  box-sizing: border-box;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 15px;
  text-align: center;
  background: linear-gradient(145deg, rgba(24, 28, 40, .96), rgba(8, 10, 16, .96));
  box-shadow: 0 28px 80px rgba(0, 0, 0, .7);
}

.car-mobile-viewport-restore small {
  color: #aeb4c0;
  font: 800 10px/1 Inter, system-ui, sans-serif;
  letter-spacing: .22em;
}

.car-mobile-viewport-restore strong {
  font: 900 clamp(24px, 7vw, 38px)/1 Inter, system-ui, sans-serif;
  letter-spacing: -.04em;
}

.car-mobile-viewport-restore p {
  margin: 0 0 5px;
  color: #b9bec8;
  font: 600 12px/1.5 Inter, system-ui, sans-serif;
}

.car-mobile-viewport-restore button {
  min-height: 52px;
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 9px;
  color: #fff;
  background: linear-gradient(120deg, #ff4b2b, #e91e63);
  box-shadow: 0 12px 34px rgba(239, 40, 78, .28);
  font: 900 11px/1 Inter, system-ui, sans-serif;
  letter-spacing: .08em;
}

@media (hover: none) and (pointer: coarse) {
  .car-mobile-viewport-restore > div {
    width: min(480px, 76vw);
    gap: 8px;
    padding: 20px 24px;
  }

  .car-mobile-viewport-restore button {
    min-height: 46px;
  }
}

.car-game-garage-menu::before {
  background: linear-gradient(90deg, rgba(0, 0, 0, .28), transparent 42%), repeating-linear-gradient(0deg, rgba(255, 255, 255, .012) 0 1px, transparent 1px 4px) !important;
  mix-blend-mode: normal !important;
}

.car-game-garage-menu::after {
  content: "CARPLAY  •  GARAGEM" !important;
  color: rgba(238, 233, 223, .28) !important;
  font-family: Georgia, "Times New Roman", serif !important;
  letter-spacing: .34em !important;
}

.car-game-garage-menu .car-garage-main {
  padding-left: 22px !important;
  border: 0 !important;
  border-left: 2px solid rgba(238, 233, 223, .62) !important;
  background: linear-gradient(90deg, rgba(0, 0, 0, .9), transparent) !important;
  filter: drop-shadow(16px 25px 20px rgba(0, 0, 0, .64));
}

.car-garage-main::before {
  content: "GARAGEM" !important;
  color: #b9b2a7 !important;
  font-family: Georgia, "Times New Roman", serif !important;
  letter-spacing: .4em !important;
}

.car-game-garage-menu .car-garage-main h1,
.car-garage-section-panel h2 {
  color: #f2eee6 !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-style: normal !important;
  font-weight: 700 !important;
  text-shadow: 0 4px 16px #000 !important;
}

.car-game-garage-menu .car-garage-main p {
  color: #928c82 !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-weight: 400 !important;
}

.car-garage-main-nav {
  gap: 0 !important;
  transform: none !important;
}

.car-game-garage-menu .car-garage-main-nav button {
  height: 48px !important;
  grid-template-columns: 34px 1fr auto !important;
  padding: 0 18px 0 5px !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(238, 233, 223, .09) !important;
  border-left: 2px solid transparent !important;
  border-radius: 0 !important;
  color: #9b968e !important;
  background: transparent !important;
  box-shadow: none !important;
  clip-path: none !important;
  transform: none !important;
}

.car-game-garage-menu .car-garage-main-nav button b,
.car-game-garage-menu .car-garage-main-nav button small {
  font-family: Georgia, "Times New Roman", serif !important;
  font-style: normal !important;
  transform: none !important;
}

.car-game-garage-menu .car-garage-main-nav button:first-child,
.car-game-garage-menu .car-garage-main-nav button:hover,
.car-game-garage-menu .car-garage-main-nav button:focus-visible {
  border-left-color: var(--mw-accent) !important;
  color: #f4efe5 !important;
  background: linear-gradient(90deg, rgba(169, 50, 44, .22), transparent 72%) !important;
  box-shadow: none !important;
  transform: translateX(5px) !important;
}

.car-garage-section-panel {
  border: 0 !important;
  border-left: 2px solid rgba(238, 233, 223, .58) !important;
  border-radius: 0 !important;
  background: linear-gradient(90deg, rgba(0, 0, 0, .95), rgba(4, 4, 4, .8) 72%, rgba(4, 4, 4, .24)) !important;
  box-shadow: 20px 30px 55px rgba(0, 0, 0, .42) !important;
  backdrop-filter: blur(8px) saturate(.72) !important;
}

.car-garage-section-panel header small {
  color: var(--mw-accent) !important;
  font-family: Georgia, "Times New Roman", serif !important;
}

.car-garage-play-panel {
  width: min(760px, 64vw) !important;
  max-height: min(760px, calc(100% - 34px)) !important;
  padding: 28px !important;
}

.car-game-garage-menu.is-editing .car-garage-play-panel {
  width: min(820px, 66vw) !important;
  outline: 1px dashed rgba(169, 50, 44, .45) !important;
  outline-offset: 7px !important;
}

.car-garage-play-panel header::after {
  content: "ESCOLHA SUA CORRIDA" !important;
  color: #756f67 !important;
  font-family: Georgia, "Times New Roman", serif !important;
}

.car-garage-map-list {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
  max-height: 510px !important;
  padding: 2px 5px 16px 0 !important;
  overscroll-behavior: contain;
}

.car-game-garage-menu .car-garage-map-list > button {
  height: 92px !important;
  grid-template-columns: 104px minmax(0, 1fr) 24px !important;
  padding: 0 14px !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(238, 233, 223, .1) !important;
  border-left: 2px solid transparent !important;
  border-radius: 0 !important;
  color: #ddd7cd !important;
  background: transparent !important;
  box-shadow: none !important;
  clip-path: none !important;
}

.car-game-garage-menu .car-garage-map-list > button:hover,
.car-game-garage-menu .car-garage-map-list > button:focus-visible {
  border-left-color: var(--mw-accent) !important;
  background: linear-gradient(90deg, rgba(169, 50, 44, .2), transparent) !important;
  transform: translateX(4px) !important;
}

.car-garage-map-list img,
.car-garage-map-list > button > i {
  width: 104px !important;
  height: 70px !important;
  border-radius: 0 !important;
  filter: grayscale(.72) contrast(1.15) brightness(.72);
}

.car-garage-map-list > button:hover img {
  filter: grayscale(.15) contrast(1.08) brightness(.9);
}

.car-garage-map-list span b {
  font: 700 12px/1.1 Georgia, "Times New Roman", serif !important;
}

.car-game-garage-menu .car-garage-section-panel footer button {
  border: 0 !important;
  border-bottom: 1px solid rgba(238, 233, 223, .18) !important;
  border-radius: 0 !important;
  color: #aaa39a !important;
  background: transparent !important;
}

.car-game-garage-menu .car-garage-section-panel footer button:hover {
  color: #f0ebe2 !important;
  background: linear-gradient(90deg, rgba(169, 50, 44, .22), transparent) !important;
}

/* A roda, o trackpad e o toque continuam rolando; só a barra visual desaparece. */
.car-garage-section-panel,
.car-garage-map-list,
.car-garage-options-panel,
.car-garage-editor,
.car-garage-lighting > div {
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
}

.car-garage-section-panel::-webkit-scrollbar,
.car-garage-map-list::-webkit-scrollbar,
.car-garage-options-panel::-webkit-scrollbar,
.car-garage-editor::-webkit-scrollbar,
.car-garage-lighting > div::-webkit-scrollbar {
  width: 0 !important;
  height: 0 !important;
  display: none !important;
}

.car-garage-editor {
  border: 0 !important;
  border-left: 2px solid rgba(238, 233, 223, .5) !important;
  border-radius: 0 !important;
  color: #e9e4da !important;
  background: linear-gradient(100deg, rgba(0, 0, 0, .98), rgba(7, 7, 7, .94)) !important;
  box-shadow: 24px 30px 70px rgba(0, 0, 0, .68) !important;
  backdrop-filter: blur(10px) saturate(.7) !important;
}

.car-garage-editor header small {
  color: var(--mw-accent) !important;
}

.car-garage-editor button {
  border-radius: 0 !important;
  color: #9d978e !important;
  background: transparent !important;
}

.car-garage-editor-targets button.active,
.car-garage-editor-modes button.active,
.car-garage-editor-space > button.active {
  border-color: var(--mw-accent) !important;
  color: #f1ece3 !important;
  background: rgba(169, 50, 44, .2) !important;
}

.car-garage-editor output[data-garage-transform-values] {
  border-left-color: var(--mw-accent) !important;
  color: #cfc8bd !important;
  background: #050505 !important;
}

.car-garage-editor-space input {
  accent-color: var(--mw-accent) !important;
}

@media (max-width: 900px) {
  .car-garage-play-panel { width: min(650px, 70vw) !important; }
  .car-garage-map-list { grid-template-columns: 1fr !important; }
}

@media (max-width: 700px) {
  .car-garage-play-panel {
    right: 8px !important;
    bottom: 8px !important;
    left: 8px !important;
    width: auto !important;
    max-height: 72vh !important;
    padding: 16px !important;
  }
  .car-game-garage-menu.is-editing .car-garage-play-panel { width: auto !important; }
}

/* Tema final 458: painel industrial da referência, preto com sinalização amarela. */
.car-game-garage-menu {
  --mw-accent: #d6ad24;
  --mw-ink: #080807;
  color: #e8e4d7;
  background: linear-gradient(90deg, rgba(0, 0, 0, .9), rgba(2, 3, 3, .48) 48%, rgba(0, 0, 0, .24)), radial-gradient(circle at 72% 50%, transparent 0 24%, rgba(0, 0, 0, .34) 70%) !important;
}

.car-game-garage-menu::after {
  content: "CARPLAY // GARAGE SYSTEM" !important;
  color: rgba(214, 173, 36, .42) !important;
  font: 800 7px/1 "Arial Narrow", Arial, sans-serif !important;
}

.car-game-garage-menu .car-garage-main,
.car-garage-section-panel,
.car-garage-editor {
  border: 1px solid rgba(210, 198, 149, .36) !important;
  border-radius: 0 !important;
  color: #e8e4d7 !important;
  background: linear-gradient(135deg, rgba(8, 9, 9, .97), rgba(16, 17, 16, .94)) !important;
  box-shadow: 0 22px 65px rgba(0, 0, 0, .7), inset 0 0 38px rgba(0, 0, 0, .4) !important;
  backdrop-filter: blur(8px) saturate(.75) !important;
}

.car-game-garage-menu .car-garage-main::before,
.car-garage-section-panel::before,
.car-garage-editor::before {
  content: "" !important;
  position: absolute;
  top: -9px;
  right: -1px;
  left: -1px;
  height: 8px;
  border: 1px solid rgba(214, 173, 36, .45);
  background: repeating-linear-gradient(135deg, #1a1a17 0 9px, #b18c1d 9px 14px, #1a1a17 14px 23px);
  box-shadow: 0 2px 0 #050505;
  pointer-events: none;
}

.car-game-garage-menu .car-garage-main {
  width: min(460px, 44vw) !important;
  padding: 28px !important;
  border-left: 1px solid rgba(210, 198, 149, .36) !important;
  filter: none !important;
}

.car-game-garage-menu .car-garage-main::after {
  content: "SETAS / MOUSE PARA SELECIONAR" !important;
  color: #6f6a59 !important;
  font: 800 6px/1 "Arial Narrow", Arial, sans-serif !important;
}

.car-garage-main::before {
  color: transparent !important;
}

.car-game-garage-menu .car-garage-main h1,
.car-garage-section-panel h2 {
  color: #f1ecdc !important;
  font-family: "Arial Narrow", Impact, Arial, sans-serif !important;
  font-style: italic !important;
  font-weight: 900 !important;
  letter-spacing: .025em !important;
  text-shadow: 3px 3px 0 #000 !important;
}

.car-game-garage-menu .car-garage-main p,
.car-garage-section-panel header small {
  color: #b39a45 !important;
  font-family: "Arial Narrow", Arial, sans-serif !important;
  font-weight: 800 !important;
}

.car-garage-main-nav {
  padding: 6px;
  border: 1px solid rgba(214, 173, 36, .17);
  background: rgba(0, 0, 0, .3);
}

.car-game-garage-menu .car-garage-main-nav button {
  height: 46px !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(214, 173, 36, .12) !important;
  color: #a9a391 !important;
  font-family: "Arial Narrow", Arial, sans-serif !important;
  background: linear-gradient(90deg, rgba(255, 255, 255, .035), transparent) !important;
}

.car-game-garage-menu .car-garage-main-nav button:first-child,
.car-game-garage-menu .car-garage-main-nav button:hover,
.car-game-garage-menu .car-garage-main-nav button:focus-visible {
  border-left: 4px solid var(--mw-accent) !important;
  color: #fff4c8 !important;
  background: linear-gradient(90deg, rgba(214, 173, 36, .25), rgba(214, 173, 36, .04)) !important;
  box-shadow: inset 0 0 16px rgba(214, 173, 36, .06) !important;
}

.car-garage-section-panel {
  padding: 28px !important;
  overflow: auto !important;
}

.car-garage-section-panel header {
  padding: 5px 8px 14px;
  border-bottom: 1px solid rgba(214, 173, 36, .28) !important;
}

.car-garage-play-panel {
  width: min(1160px, 88vw) !important;
  max-height: min(820px, calc(100% - 44px)) !important;
}

.car-game-garage-menu.is-editing .car-garage-play-panel {
  width: min(1220px, 90vw) !important;
  outline-color: rgba(214, 173, 36, .48) !important;
}

.car-garage-play-panel header::after {
  content: "EVENT SELECT" !important;
  color: rgba(214, 173, 36, .55) !important;
  font: 900 7px/1 monospace !important;
}

.car-garage-map-list {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
  max-height: 590px !important;
}

.car-game-garage-menu .car-garage-map-list > button {
  height: 108px !important;
  grid-template-columns: 120px minmax(0, 1fr) 22px !important;
  border: 1px solid rgba(214, 173, 36, .12) !important;
  border-left: 3px solid rgba(214, 173, 36, .28) !important;
  color: #d8d3c2 !important;
  background: linear-gradient(110deg, rgba(255, 255, 255, .045), rgba(0, 0, 0, .14)) !important;
}

.car-game-garage-menu .car-garage-map-list > button:hover,
.car-game-garage-menu .car-garage-map-list > button:focus-visible {
  border-color: rgba(214, 173, 36, .6) !important;
  border-left-color: var(--mw-accent) !important;
  background: linear-gradient(110deg, rgba(214, 173, 36, .2), rgba(214, 173, 36, .025)) !important;
}

.car-garage-map-list img,
.car-garage-map-list > button > i {
  width: 120px !important;
  height: 82px !important;
  border: 1px solid rgba(214, 173, 36, .2);
  filter: saturate(.45) contrast(1.2) brightness(.72);
}

.car-garage-options-panel {
  width: min(820px, 76vw) !important;
  max-height: min(790px, calc(100% - 38px)) !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
}

.car-garage-options-panel > header,
.car-garage-options-panel > footer,
.car-garage-options-panel > output {
  grid-column: 1 / -1;
}

.car-garage-options-panel label {
  min-height: 48px !important;
  border: 1px solid rgba(214, 173, 36, .12) !important;
  border-radius: 0 !important;
  background: rgba(255, 255, 255, .025) !important;
}

.car-garage-options-panel label:hover {
  border-color: rgba(214, 173, 36, .42) !important;
  background: rgba(214, 173, 36, .055) !important;
}

.car-garage-options-panel select {
  border-radius: 0 !important;
  border-color: rgba(214, 173, 36, .2) !important;
  background: #0b0c0b !important;
}

.car-garage-exit-panel {
  width: min(340px, 38vw) !important;
  max-height: min(670px, calc(100% - 50px)) !important;
}

.car-garage-editor {
  overflow: auto !important;
  border-left: 1px solid rgba(210, 198, 149, .36) !important;
}

.car-garage-editor header small,
.car-garage-editor-actions button:last-child,
.car-garage-editor-space > button.active {
  color: var(--mw-accent) !important;
}

.car-garage-editor-targets button.active,
.car-garage-editor-modes button.active {
  border-color: var(--mw-accent) !important;
  color: #151307 !important;
  background: var(--mw-accent) !important;
}

.car-garage-editor-nudge::before {
  content: "ARRASTE ESQUERDO: MOVER  •  DIREITO: GIRAR";
  grid-column: 1 / -1;
  padding: 6px 8px;
  color: #8d825d;
  background: rgba(214, 173, 36, .035);
  font: 800 6px/1.3 monospace;
  letter-spacing: .08em;
  text-align: center;
}

/* Menus retos na tela: nenhuma rotação 3D herdada dos antigos anchors. */
.car-game-garage-menu .car-garage-spatial-panel {
  transform: translate(-50%, -50%) !important;
  transform-style: flat !important;
  filter: drop-shadow(0 24px 34px rgba(0, 0, 0, .42)) !important;
}

.car-game-garage-menu .car-garage-spatial-panel > * {
  transform: none !important;
}

.car-game-garage-menu .car-garage-spatial-panel::after {
  display: none !important;
}

/* Vidro escuro transparente em todos os menus. */
.car-game-garage-menu .car-garage-main,
.car-game-garage-menu .car-garage-section-panel,
.car-game-garage-menu .car-garage-play-panel {
  background: linear-gradient(145deg, rgba(15, 18, 27, .72), rgba(5, 7, 12, .58)) !important;
  backdrop-filter: blur(18px) saturate(.82) !important;
  -webkit-backdrop-filter: blur(18px) saturate(.82) !important;
}

.car-game-garage-menu .car-garage-play-panel > header,
.car-game-garage-menu .car-garage-section-panel > header {
  background: rgba(10, 12, 18, .48) !important;
}

.car-game-garage-menu .car-garage-map-list > button {
  background: rgba(17, 20, 29, .7) !important;
}

.car-game-garage-menu .car-garage-map-list > button:hover,
.car-game-garage-menu .car-garage-map-list > button:focus-visible,
.car-game-garage-menu .car-garage-main-nav button:hover,
.car-game-garage-menu .car-garage-main-nav button:focus-visible {
  background: rgba(255, 255, 255, .11) !important;
}

/* Layout fixo e regular: posições antigas do editor não controlam mais os painéis. */
.car-game-garage-menu .car-garage-spatial-panel {
  visibility: visible !important;
}

.car-game-garage-menu .car-garage-main {
  top: 50% !important;
  right: auto !important;
  bottom: auto !important;
  left: clamp(28px, 6vw, 92px) !important;
  transform: translateY(-50%) !important;
  transform-origin: left center !important;
}

.car-game-garage-menu .car-garage-play-panel {
  top: 50% !important;
  right: auto !important;
  bottom: auto !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  transform-origin: center !important;
}

.car-game-garage-menu .car-garage-options-panel {
  top: 50% !important;
  right: clamp(24px, 4vw, 64px) !important;
  bottom: auto !important;
  left: auto !important;
  width: min(680px, 58vw) !important;
  transform: translateY(-50%) !important;
  transform-origin: right center !important;
}

.car-game-garage-menu .car-garage-exit-panel {
  top: 50% !important;
  right: auto !important;
  bottom: auto !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  transform-origin: center !important;
}

@media (max-width: 760px) {
  .car-game-garage-menu .car-garage-main,
  .car-game-garage-menu .car-garage-play-panel,
  .car-game-garage-menu .car-garage-options-panel,
  .car-game-garage-menu .car-garage-exit-panel {
    top: 50% !important;
    right: auto !important;
    bottom: auto !important;
    left: 50% !important;
    width: min(92vw, 680px) !important;
    max-height: 88vh !important;
    transform: translate(-50%, -50%) !important;
    transform-origin: center !important;
  }
}

/* Entrada direta da pista: um único loader, estável e sem o texto pulsando. */
.stunt-builder.direct-race-launch::before,
.stunt-builder.direct-race-launch::after {
  content: none !important;
  display: none !important;
  animation: none !important;
}

.stunt-direct-loader {
  position: absolute;
  z-index: 76;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 24px;
  box-sizing: border-box;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  color: #fff;
  background: linear-gradient(90deg, rgba(2, 5, 9, .48), transparent 58%);
  transition: opacity .22s ease, visibility .22s;
  font-family: Inter, system-ui, sans-serif;
}

.stunt-builder.direct-race-launch .stunt-direct-loader {
  z-index: 82;
  visibility: visible;
  opacity: 1;
  pointer-events: all;
}

.stunt-direct-loader > div {
  width: min(470px, 86vw);
  display: grid;
  justify-items: start;
  gap: 10px;
  padding: 34px 38px;
  box-sizing: border-box;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 15px;
  margin-right: auto;
  background: linear-gradient(145deg, rgba(10, 15, 23, .84), rgba(4, 8, 13, .78));
  box-shadow: 0 28px 90px rgba(0, 0, 0, .58);
  text-align: left;
  backdrop-filter: blur(12px) saturate(1.15);
}

.stunt-direct-loader > div > i,
.stunt-shader-loader > div::before {
  content: "";
  width: 38px;
  height: 38px;
  display: block;
  box-sizing: border-box;
  border: 3px solid rgba(255, 255, 255, .1);
  border-top-color: #37d8ff;
  border-right-color: rgba(55, 216, 255, .45);
  border-radius: 50%;
  box-shadow: 0 0 22px rgba(55, 216, 255, .12);
  animation: carTrackLoaderSpin 1s linear infinite;
}

@keyframes carTrackLoaderSpin {
  to { transform: rotate(360deg); }
}

.stunt-direct-loader small,
.stunt-shader-loader small {
  color: #70e5ff !important;
  font: 900 7px/1 Inter, system-ui, sans-serif !important;
  letter-spacing: .2em !important;
}

.stunt-direct-loader strong,
.stunt-shader-loader strong {
  max-width: 100%;
  overflow: hidden;
  color: #fff !important;
  font: 950 clamp(20px, 4vw, 30px)/1.08 Inter, system-ui, sans-serif !important;
  font-style: normal !important;
  letter-spacing: -.035em !important;
  text-overflow: ellipsis;
}

.stunt-direct-loader p,
.stunt-shader-loader p {
  min-height: 18px;
  margin: 0;
  color: #8993a3 !important;
  font: 550 8px/1.5 Inter, system-ui, sans-serif !important;
}

.stunt-direct-loader span,
.stunt-shader-loader span {
  position: relative;
  width: 100%;
  height: 5px !important;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255, 255, 255, .075) !important;
}

.stunt-direct-loader span b {
  position: absolute;
  inset: 0;
  width: 42%;
  border-radius: inherit;
  background: linear-gradient(90deg, transparent, #37d8ff, #9f78ff, transparent);
  animation: carTrackLoaderProgress 1.45s ease-in-out infinite;
}

@keyframes carTrackLoaderProgress {
  from { transform: translateX(-120%); }
  to { transform: translateX(340%); }
}

.stunt-shader-loader {
  z-index: 78 !important;
  background:
    radial-gradient(circle at 50% 42%, rgba(55, 216, 255, .12), transparent 31%),
    linear-gradient(145deg, rgba(6, 9, 15, .99), rgba(3, 5, 9, .99)) !important;
}

/* O loader detalhado continua alimentando o progresso, mas durante a entrada
   direta o painel com debug fica por cima e o mapa permanece visível. */
.stunt-builder.direct-race-launch .stunt-shader-loader {
  opacity: 0;
  pointer-events: none;
}

/* Jogar abre somente a corrida. As ferramentas abaixo pertencem ao fluxo do
   lápis/edição e nunca devem aparecer durante o carregamento de uma pista. */
.stunt-builder.direct-race-launch .stunt-builder-top,
.stunt-builder.direct-race-launch .stunt-library,
.stunt-builder.direct-race-launch .stunt-inspector,
.stunt-builder.direct-race-launch .stunt-help,
.stunt-builder.direct-race-launch .stunt-fps-counter {
  display: none !important;
}

.stunt-mode-picker {
  position: fixed;
  z-index: 160;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 20px;
  background: rgba(2, 4, 8, .78);
  backdrop-filter: blur(14px);
}

.stunt-mode-picker > div {
  width: min(680px, 94vw);
  padding: 28px;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 16px;
  background: linear-gradient(145deg, #111722, #070a10);
  box-shadow: 0 30px 100px rgba(0, 0, 0, .72);
}

.stunt-mode-picker > div > small { color: #ff4968; font-size: 7px; font-weight: 950; letter-spacing: .2em; }
.stunt-mode-picker > div > strong { display: block; margin-top: 7px; font-size: 28px; }
.stunt-mode-picker > div > p { margin: 7px 0 20px; color: #7e8998; font-size: 9px; }
.stunt-mode-picker section { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.stunt-mode-picker section button { min-height: 112px; display: flex; align-items: center; gap: 15px; padding: 18px; border: 1px solid rgba(255,255,255,.12); border-radius: 11px; color: #fff; background: rgba(255,255,255,.035); text-align: left; cursor: pointer; }
.stunt-mode-picker section button:hover { border-color: #ff4968; background: rgba(255,73,104,.09); transform: translateY(-2px); }
.stunt-mode-picker section i { font: 900 35px/1 sans-serif; color: #ff4968; }
.stunt-mode-picker section span { display: grid; gap: 7px; }
.stunt-mode-picker section b { font-size: 12px; }
.stunt-mode-picker section em { color: #84909e; font-size: 8px; font-style: normal; line-height: 1.4; }
.stunt-mode-picker [data-mode-picker-close] { width: 100%; height: 36px; margin-top: 12px; border: 0; color: #77818f; background: transparent; font-size: 7px; font-weight: 900; cursor: pointer; }

.stunt-piece-category.precision-mode { margin-top: 8px; padding-top: 9px; border-top: 1px solid rgba(255,51,79,.3); }
.stunt-piece-category.precision-mode > header { color: #ff526d !important; }
.stunt-piece-icon.landingTarget { border-radius: 50% !important; background: repeating-radial-gradient(circle, #ff334f 0 18%, #ffe052 19% 34%, #f5f5f5 35% 52%, #20242b 53% 70%, #ff334f 71% 100%) !important; }

.stunt-parachute-hint {
  position: absolute;
  z-index: 18;
  top: 92px;
  right: 18px;
  display: grid;
  gap: 5px;
  padding: 12px 14px;
  border: 1px solid rgba(255,255,255,.16);
  border-left: 3px solid #75808d;
  border-radius: 8px;
  color: #fff;
  background: rgba(5, 9, 15, .82);
  backdrop-filter: blur(10px);
}
.stunt-parachute-hint small { color: #ff526d; font-size: 6px; font-weight: 950; letter-spacing: .16em; }
.stunt-parachute-hint strong { font-size: 8px; }
.stunt-parachute-hint span { color: #7d8897; font-size: 6px; }
.stunt-parachute-hint kbd { padding: 4px 7px; border: 1px solid #fff; border-radius: 4px; color: #101418; background: #fff; font: 900 7px/1 monospace; }
.stunt-parachute-hint.can-open { border-left-color: #55e6c1; box-shadow: 0 0 22px rgba(85,230,193,.1); }
.stunt-parachute-hint.open { border-left-color: #ffdf4f; }

@media (max-width: 620px) {
  .stunt-mode-picker section { grid-template-columns: 1fr; }
  .stunt-mode-picker > div { padding: 20px; }
  .stunt-parachute-hint { top: 74px; right: 8px; left: 8px; }
}

.stunt-shader-loader > div {
  width: min(470px, 86vw) !important;
  gap: 10px !important;
  padding: 34px 38px !important;
  border: 1px solid rgba(255, 255, 255, .12) !important;
  border-top: 1px solid rgba(255, 255, 255, .12) !important;
  border-radius: 15px !important;
  background: linear-gradient(145deg, rgba(16, 20, 30, .95), rgba(8, 11, 18, .95)) !important;
  box-shadow: 0 28px 90px rgba(0, 0, 0, .58) !important;
}

.stunt-shader-loader span i {
  background: linear-gradient(90deg, #37d8ff, #9f78ff) !important;
  box-shadow: 0 0 15px rgba(55, 216, 255, .35) !important;
  transition: width .3s ease !important;
}

.stunt-shader-loader output {
  color: #cbd5e4 !important;
  font: 850 8px/1 ui-monospace, monospace !important;
}

@media (prefers-reduced-motion: reduce) {
  .stunt-direct-loader > div > i,
  .stunt-shader-loader > div::before,
  .stunt-direct-loader span b {
    animation: none !important;
  }
}

.stunt-graphics-options [data-graphics-vram] > span.warning b {
  background: linear-gradient(90deg, #e5ce42, #ffad3d) !important;
}

.stunt-graphics-options [data-graphics-vram] > span:not(.danger):not(.warning) b {
  background: linear-gradient(90deg, #31d579, #64efad) !important;
  box-shadow: 0 0 14px rgba(70, 213, 124, .2);
}

.stunt-graphics-options [data-graphics-vram] > small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Componentes idênticos ao painel MODO DE JOGO. */
.car-game-garage-menu {
  --mode-accent: #ff3f66;
  --mode-panel: rgba(8, 10, 16, .9);
  --mode-card: rgba(17, 20, 29, .88);
  --mode-border: rgba(255, 255, 255, .12);
  font-family: Inter, system-ui, sans-serif !important;
}

.car-game-garage-menu .car-garage-main,
.car-game-garage-menu .car-garage-section-panel {
  border: 1px solid var(--mode-border) !important;
  border-radius: 15px !important;
  background: radial-gradient(circle at 82% 3%, rgba(236, 23, 76, .15), transparent 34%), radial-gradient(circle at 10% 78%, rgba(83, 51, 255, .1), transparent 38%), var(--mode-panel) !important;
  box-shadow: 0 28px 90px rgba(0, 0, 0, .58) !important;
}

.car-game-garage-menu .car-garage-main::before,
.car-game-garage-menu .car-garage-section-panel header small {
  color: var(--mode-accent) !important;
  font: 950 7px/1 Inter, system-ui, sans-serif !important;
  letter-spacing: .18em !important;
}

.car-game-garage-menu .car-garage-main h1,
.car-game-garage-menu .car-garage-section-panel h2 {
  color: #fff !important;
  font: 950 clamp(30px, 4vw, 52px)/.94 Inter, system-ui, sans-serif !important;
  letter-spacing: -.055em !important;
}

.car-game-garage-menu .car-garage-main p,
.car-game-garage-menu .car-garage-section-panel header p {
  color: #7e8493 !important;
  font: 500 9px/1.45 Inter, system-ui, sans-serif !important;
  letter-spacing: 0 !important;
}

.car-game-garage-menu .car-garage-main-nav button,
.car-game-garage-menu .car-garage-options-panel label,
.car-game-garage-menu .car-garage-exit-panel > div,
.car-game-garage-menu .car-garage-section-panel footer button {
  border: 1px solid var(--mode-border) !important;
  border-radius: 10px !important;
  background: var(--mode-card) !important;
}

.car-game-garage-menu .car-garage-main-nav button {
  min-height: 58px !important;
  padding: 0 17px !important;
}

.car-game-garage-menu .car-garage-main-nav button:first-child,
.car-game-garage-menu .car-garage-main-nav button:first-child:hover,
.car-game-garage-menu .car-garage-options-panel footer button,
.car-game-garage-menu .car-garage-exit-panel [data-garage-confirm-exit] {
  border-color: transparent !important;
  color: #fff !important;
  background: linear-gradient(120deg, #ff4b2b, #e91e63) !important;
  box-shadow: 0 12px 34px rgba(239, 40, 78, .22) !important;
}

/* Gráficos: cabeçalho e cartões no mesmo ritmo visual da biblioteca. */
.car-game-garage-menu .car-garage-options-panel {
  width: min(900px, 78vw) !important;
  max-height: 84vh !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-content: start !important;
  gap: 10px !important;
  padding: 0 28px 24px !important;
  overflow: auto !important;
}

.car-game-garage-menu .car-garage-options-panel > header {
  position: static !important;
  grid-column: 1 / -1;
  margin: 0 -28px 0 !important;
  padding: 27px 28px 23px !important;
  border-bottom: 1px solid var(--mode-border) !important;
  background: rgba(10, 12, 18, .48) !important;
}

.car-game-garage-menu .car-garage-options-panel > header h2 {
  margin: 7px 0 6px !important;
}

.car-game-garage-menu .car-garage-options-panel label {
  min-height: 68px !important;
  grid-template-columns: minmax(0, 1fr) minmax(130px, 46%) !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 12px !important;
  box-sizing: border-box;
}

.car-game-garage-menu .car-garage-options-panel label:hover {
  border-color: rgba(255, 255, 255, .32) !important;
  background: rgba(255, 255, 255, .07) !important;
}

.car-game-garage-menu .car-garage-options-panel label > span b {
  color: #e7e9ed !important;
  font: 900 7px/1.15 Inter, system-ui, sans-serif !important;
}

.car-game-garage-menu .car-garage-options-panel label > span small {
  margin-top: 5px;
  color: #666e7c !important;
  font: 500 6px/1.25 Inter, system-ui, sans-serif !important;
}

.car-game-garage-menu .car-garage-options-panel select {
  width: 100% !important;
  height: 40px !important;
  padding: 0 11px !important;
  border: 1px solid rgba(255, 255, 255, .16) !important;
  border-radius: 8px !important;
  color: #e7e9ed !important;
  background: #151822 !important;
  font: 700 9px/1 Inter, system-ui, sans-serif !important;
}

.car-game-garage-menu .car-garage-options-panel .car-garage-range {
  grid-template-columns: minmax(0, 1fr) minmax(110px, 40%) 42px !important;
}

.car-game-garage-menu .car-garage-options-panel .car-garage-range input {
  width: 100% !important;
  accent-color: var(--mode-accent) !important;
}

.car-game-garage-menu .car-garage-options-panel > output {
  position: static !important;
  grid-column: 1 / -1;
  margin: 3px 0 0 !important;
  padding: 10px 12px !important;
  border: 1px solid var(--mode-border) !important;
  border-radius: 8px !important;
  color: #8a909e !important;
  background: rgba(255, 255, 255, .035) !important;
}

.car-game-garage-menu .car-garage-options-panel > footer {
  position: static !important;
  grid-column: 1 / -1;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

.car-game-garage-menu .car-garage-options-panel > footer button {
  min-height: 46px !important;
  border-radius: 10px !important;
}

@media (max-width: 760px) {
  .car-game-garage-menu .car-garage-options-panel {
    width: 94vw !important;
    grid-template-columns: 1fr !important;
    padding-right: 15px !important;
    padding-left: 15px !important;
  }

  .car-game-garage-menu .car-garage-options-panel > header {
    margin-right: -15px !important;
    margin-left: -15px !important;
    padding-right: 18px !important;
    padding-left: 18px !important;
  }
}

.stunt-map-card .stunt-edit-map {
  min-width: 42px;
  padding: 0 !important;
  border-color: rgba(255, 255, 255, .32) !important;
  color: #fff !important;
  background: rgba(255, 255, 255, .08) !important;
  font: 900 18px/1 Georgia, serif !important;
}

.stunt-map-card .stunt-edit-map:hover,
.stunt-map-card .stunt-edit-map:focus-visible {
  border-color: #fff !important;
  background: rgba(255, 255, 255, .16) !important;
  outline: none;
}

/* MODO DE JOGO vira um painel flutuante, mantendo o cenário da garagem visível. */
.stunt-race-shell {
  background: transparent !important;
  pointer-events: none;
}

.stunt-race-shell > * {
  pointer-events: auto;
}

.stunt-race-hub {
  inset: auto !important;
  top: 50% !important;
  left: 50% !important;
  width: min(1160px, 90vw) !important;
  height: min(790px, 86vh) !important;
  box-sizing: border-box;
  overflow: auto !important;
  border: 1px solid rgba(255, 255, 255, .16) !important;
  border-radius: 15px !important;
  background: radial-gradient(circle at 82% 4%, rgba(236, 23, 76, .13), transparent 34%), linear-gradient(145deg, rgba(15, 18, 27, .76), rgba(5, 7, 12, .64)) !important;
  box-shadow: 0 28px 90px rgba(0, 0, 0, .62) !important;
  backdrop-filter: blur(18px) saturate(.82) !important;
  -webkit-backdrop-filter: blur(18px) saturate(.82) !important;
  transform: translate(-50%, -50%) !important;
}

.stunt-race-hub > header {
  min-height: 170px !important;
  padding: 22px clamp(22px, 5vw, 72px) !important;
  border-bottom: 1px solid rgba(255, 255, 255, .12) !important;
  background: rgba(10, 12, 18, .5) !important;
}

/* Uma única identidade visual para todos os menus e painéis do jogo. */
.car-game-garage-menu .car-garage-main,
.car-game-garage-menu .car-garage-section-panel,
.car-garage-editor,
.stunt-race-hub,
.stunt-map-menu,
.stunt-engine-cmd,
.stunt-library,
.stunt-inspector,
.stunt-builder-top {
  border-color: rgba(255, 255, 255, .16) !important;
  border-radius: 15px !important;
  color: #fff !important;
  background-color: rgba(8, 10, 17, .72) !important;
  box-shadow: 0 22px 64px rgba(0, 0, 0, .5) !important;
  backdrop-filter: blur(18px) saturate(.82) !important;
  -webkit-backdrop-filter: blur(18px) saturate(.82) !important;
  font-family: Inter, system-ui, sans-serif !important;
}

.stunt-map-menu {
  inset: auto !important;
  top: 50% !important;
  left: 50% !important;
  width: min(1100px, 90vw) !important;
  height: min(760px, 86vh) !important;
  transform: translate(-50%, -50%) !important;
}

.stunt-map-card,
.stunt-map-card:hover,
.stunt-map-card:focus-within,
.stunt-library button,
.stunt-inspector input,
.stunt-inspector [data-properties] button,
.stunt-graphics-options > label,
.stunt-engine-cmd [data-engine-pack] {
  border-color: rgba(255, 255, 255, .14) !important;
}

.stunt-map-card:hover,
.stunt-library button:hover,
.stunt-inspector [data-properties] button:hover,
.stunt-engine-cmd [data-engine-pack]:hover {
  border-color: rgba(255, 255, 255, .72) !important;
  background-color: rgba(255, 255, 255, .09) !important;
}

.stunt-race-hub button,
.stunt-map-menu button,
.stunt-engine-cmd button,
.stunt-builder-top button {
  border-color: rgba(255, 255, 255, .16) !important;
}

@media (max-width: 760px) {
  .stunt-race-hub,
  .stunt-map-menu {
    width: 94vw !important;
    height: 90vh !important;
  }

  .stunt-race-hub > header {
    min-height: 145px !important;
    padding: 17px !important;
  }
}

/* No EDIT, os painéis visuais não bloqueiam o gizmo nem o arraste do canvas. */
.car-game-garage-menu.is-editing [data-garage-panel] {
  pointer-events: none !important;
  user-select: none !important;
}

@media (max-width: 1100px) {
  .car-garage-map-list { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .car-garage-play-panel { width: min(900px, 84vw) !important; }
}

@media (max-width: 760px) {
  .car-garage-play-panel,
  .car-game-garage-menu.is-editing .car-garage-play-panel {
    width: auto !important;
    max-height: 74vh !important;
    padding: 16px !important;
  }
  .car-garage-map-list { grid-template-columns: 1fr !important; }
  .car-garage-options-panel { width: auto !important; grid-template-columns: 1fr !important; }
  .car-garage-map-list img,
  .car-garage-map-list > button > i { width: 94px !important; height: 64px !important; }
  .car-game-garage-menu .car-garage-map-list > button { height: 84px !important; grid-template-columns: 94px minmax(0, 1fr) 20px !important; }
}

/* Controles completos do editor espacial. */
.car-garage-editor-modes {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.car-garage-editor-modes button {
  min-width: 0;
  padding: 0 5px;
}

.car-garage-editor-modes button[data-garage-transform="scale"].active {
  border-color: var(--mw-accent) !important;
  color: #151307 !important;
  background: var(--mw-accent) !important;
}

.car-garage-fly {
  grid-column: 1 / -1;
  height: 38px !important;
  border: 1px solid rgba(214, 173, 36, .28) !important;
  color: #d6c57f !important;
  background: rgba(214, 173, 36, .055) !important;
}

.car-garage-fly.active,
.car-garage-editor.fly-mode .car-garage-fly {
  border-color: var(--mw-accent) !important;
  color: #151307 !important;
  background: var(--mw-accent) !important;
  box-shadow: 0 0 18px rgba(214, 173, 36, .18) !important;
}

.car-garage-editor-nudge {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.car-garage-editor-nudge button {
  min-height: 34px !important;
  border: 1px solid rgba(214, 173, 36, .2) !important;
  color: #d2ccb7 !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, .045), rgba(0, 0, 0, .16)) !important;
  font: 900 7px/1 "Arial Narrow", Arial, sans-serif !important;
}

.car-garage-editor-nudge button:hover {
  border-color: var(--mw-accent) !important;
  color: #fff1b7 !important;
  background: rgba(214, 173, 36, .13) !important;
}

.car-garage-spatial-panel[data-responsive-scale="fit"]::after {
  content: "AJUSTE RESPONSIVO";
  position: absolute;
  right: 8px;
  bottom: -17px;
  color: rgba(214, 173, 36, .52);
  font: 800 5px/1 monospace;
  letter-spacing: .12em;
  pointer-events: none;
}

.car-game-loading-skip {
  margin-top: 12px;
  min-width: min(300px, 76vw);
  min-height: 40px;
  padding: 0 18px;
  border: 1px solid rgba(214, 173, 36, .48);
  color: #e8ddb9;
  background: linear-gradient(135deg, rgba(13, 12, 9, .94), rgba(48, 39, 15, .7));
  box-shadow: 0 12px 34px rgba(0, 0, 0, .42), inset 0 0 18px rgba(214, 173, 36, .04);
  font: 900 8px/1 "Arial Narrow", Arial, sans-serif;
  letter-spacing: .16em;
  cursor: pointer;
}

.car-game-loading-skip:hover,
.car-game-loading-skip:focus-visible {
  border-color: #f2cc45;
  color: #171309;
  background: #d6ad24;
  outline: none;
}

.car-game-loading-skip:disabled { opacity: .55; cursor: wait; }
.car-game-loading-skip[hidden] { display: none !important; }

/* A seleção da garagem usa a mesma linguagem da biblioteca/criador de pistas. */
.car-game-garage-menu .car-garage-play-panel {
  width: min(1180px, 90vw) !important;
  max-height: min(820px, calc(100% - 36px)) !important;
  padding: 0 0 22px !important;
  overflow: hidden !important;
  border: 1px solid rgba(255, 255, 255, .1) !important;
  border-radius: 15px !important;
  color: #fff !important;
  background: radial-gradient(circle at 82% 4%, rgba(236, 23, 76, .19), transparent 34%), radial-gradient(circle at 12% 70%, rgba(83, 51, 255, .13), transparent 36%), rgba(8, 10, 16, .96) !important;
  box-shadow: 0 28px 90px rgba(0, 0, 0, .58) !important;
  backdrop-filter: blur(18px) !important;
}

.car-game-garage-menu .car-garage-play-panel > header {
  display: block !important;
  margin: 0 0 17px !important;
  padding: 28px clamp(24px, 5vw, 72px) 24px !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(255, 255, 255, .07) !important;
  background: linear-gradient(105deg, rgba(10, 12, 18, .97), rgba(14, 15, 25, .72)) !important;
}

.car-game-garage-menu .car-garage-play-panel > header::after { display: none !important; }
.car-game-garage-menu .car-garage-play-panel header small { color: #ff3f66 !important; font: 950 7px/1 Inter, system-ui, sans-serif !important; letter-spacing: .18em !important; }
.car-game-garage-menu .car-garage-play-panel h2 { margin: 7px 0 6px !important; color: #fff !important; font: 950 clamp(28px, 4vw, 48px)/.92 Inter, system-ui, sans-serif !important; letter-spacing: -.055em !important; }
.car-game-garage-menu .car-garage-play-panel h2 em { display: block; color: #ff3f66; font-style: normal; }
.car-game-garage-menu .car-garage-play-panel header p { margin: 0; color: #7e8493; font: 500 9px/1.45 Inter, system-ui, sans-serif; }

.car-game-garage-menu .car-garage-map-list {
  grid-template-columns: repeat(3, minmax(220px, 1fr)) !important;
  gap: 15px !important;
  max-height: 500px !important;
  padding: 0 clamp(24px, 5vw, 72px) 10px !important;
}

.car-game-garage-menu .car-garage-map-list > button {
  position: relative;
  height: 255px !important;
  display: grid !important;
  grid-template: 145px 1fr / 1fr !important;
  gap: 0 !important;
  padding: 0 !important;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .1) !important;
  border-radius: 15px !important;
  color: #fff !important;
  background: #11141d !important;
  box-shadow: 0 18px 44px rgba(0, 0, 0, .25) !important;
  clip-path: none !important;
  transition: transform .2s, border-color .2s !important;
}

.car-game-garage-menu .car-garage-map-list > button:hover,
.car-game-garage-menu .car-garage-map-list > button:focus-visible {
  border-color: var(--race-color) !important;
  background: #151925 !important;
  transform: translateY(-4px) !important;
}

.car-game-garage-menu .car-garage-map-list img,
.car-game-garage-menu .car-garage-map-list > button > i {
  width: 100% !important;
  height: 145px !important;
  border: 0 !important;
  border-radius: 0 !important;
  object-fit: cover;
  color: #fff !important;
  background: radial-gradient(circle at 50% 115%, var(--race-color), transparent 52%), linear-gradient(145deg, #222535, #080911) !important;
  filter: saturate(.72) contrast(1.08) brightness(.8) !important;
}

.car-game-garage-menu .car-garage-map-list > button > span { align-self: stretch; padding: 15px; gap: 5px; box-sizing: border-box; }
.car-game-garage-menu .car-garage-map-list span small { color: var(--race-color) !important; font: 950 6px/1 Inter, system-ui, sans-serif !important; letter-spacing: .13em; }
.car-game-garage-menu .car-garage-map-list span b { color: #fff; font: 900 15px/1.1 Inter, system-ui, sans-serif !important; }
.car-game-garage-menu .car-garage-map-list span em { color: #666e7c !important; font: 700 7px/1 Inter, system-ui, sans-serif !important; }
.car-game-garage-menu .car-garage-map-list > button > strong { position: absolute; right: 13px; bottom: 13px; color: var(--race-color); }
.car-game-garage-menu .car-garage-play-panel > footer { grid-template-columns: 1fr auto; gap: 9px; margin: 8px clamp(24px, 5vw, 72px) 0; }
.car-game-garage-menu .car-garage-play-panel > footer button { height: 44px !important; border: 1px solid rgba(255, 255, 255, .12) !important; border-radius: 9px !important; color: #aeb4c0 !important; background: rgba(255, 255, 255, .035) !important; }
.car-game-garage-menu .car-garage-play-panel > footer [data-garage-open-library] { border: 0 !important; color: #fff !important; background: linear-gradient(120deg, #ff4b2b, #e91e63) !important; box-shadow: 0 12px 34px rgba(239, 40, 78, .24); }

@media (max-width: 900px) {
  .car-game-garage-menu .car-garage-map-list { grid-template-columns: repeat(2, minmax(210px, 1fr)) !important; }
}

@media (max-width: 620px) {
  .car-game-garage-menu .car-garage-play-panel { width: 94vw !important; max-height: 88vh !important; }
  .car-game-garage-menu .car-garage-map-list { grid-template-columns: 1fr !important; padding-right: 14px !important; padding-left: 14px !important; }
  .car-game-garage-menu .car-garage-play-panel > footer { grid-template-columns: 1fr; margin-right: 14px; margin-left: 14px; }
}

.car-game-loading-debug {
  width: min(560px, 86vw);
  max-height: 112px;
  margin: 4px 0 0;
  padding: 9px 11px;
  box-sizing: border-box;
  overflow: auto;
  border: 1px solid rgba(85, 230, 193, .22);
  border-radius: 6px;
  color: #8fe8c7;
  background: rgba(0, 7, 7, .72);
  font: 600 7px/1.45 ui-monospace, SFMono-Regular, Consolas, monospace;
  letter-spacing: 0;
  text-align: left;
  white-space: pre-wrap;
}

@media (hover: none) and (pointer: coarse) {
  .car-game-garage-menu .car-garage-spatial-panel {
    scale: .72 !important;
    transform-origin: center !important;
  }

  .car-game-loading {
    gap: 6px !important;
  }

  .car-game-loading > i {
    width: 30px !important;
    height: 30px !important;
    margin-bottom: 2px !important;
  }

  .car-game-loading-debug {
    width: min(620px, 82vw);
    max-height: 82px;
    padding: 6px 8px;
    font-size: 6px;
  }
}

/* Menu de pausa responsivo: mapa, gráficos e saída permanecem acessíveis. */
.stunt-map-menu {
  grid-template-rows: auto auto minmax(0, 1fr) !important;
  width: min(1100px, calc(100vw - 32px)) !important;
  height: min(760px, calc(100dvh - 32px)) !important;
  max-width: 1100px !important;
  max-height: 760px !important;
  box-sizing: border-box !important;
}

.stunt-map-menu > header,
.stunt-map-menu > nav {
  flex: 0 0 auto;
}

@media (hover: none) and (pointer: coarse) {
  .stunt-map-menu {
    width: calc(100% - max(16px, env(safe-area-inset-left) + env(safe-area-inset-right))) !important;
    height: calc(100% - max(16px, env(safe-area-inset-top) + env(safe-area-inset-bottom))) !important;
    max-width: none !important;
    max-height: none !important;
    border-radius: 11px !important;
  }

  .stunt-map-menu > header {
    min-height: 46px;
    padding: 8px 12px !important;
    box-sizing: border-box;
  }

  .stunt-map-menu > header strong {
    font-size: 15px !important;
  }

  .stunt-map-menu > nav {
    padding: 0 8px !important;
  }

  .stunt-map-menu > nav button {
    min-width: 92px;
    height: 36px !important;
    padding: 0 12px !important;
  }

  .stunt-full-map {
    min-height: 0 !important;
    padding: 7px !important;
  }

  .stunt-graphics-options {
    min-height: 0 !important;
    padding: 7px 10px 10px !important;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }

  .stunt-graphics-options > header {
    gap: 10px !important;
    padding: 4px 2px 8px !important;
  }

  .stunt-graphics-options > label {
    min-height: 44px !important;
    padding: 5px 2px !important;
  }

  .stunt-graphics-options select {
    min-height: 36px;
    font-size: 7px !important;
  }

}

@media (max-width: 560px) {
  .stunt-map-menu {
    width: calc(100vw - 12px) !important;
    height: calc(100dvh - 12px) !important;
  }

  .stunt-graphics-options > header,
  .stunt-graphics-options > label {
    grid-template-columns: 1fr !important;
    gap: 5px !important;
  }

}

.stunt-exit-options {
  min-height: 0;
  display: grid;
  place-items: center;
  padding: 18px;
  box-sizing: border-box;
  background: radial-gradient(circle at 50% 45%, rgba(255, 73, 101, .08), transparent 46%);
}

.stunt-exit-options[hidden] {
  display: none !important;
}

.stunt-exit-options > div {
  width: min(430px, 100%);
  display: grid;
  gap: 10px;
  padding: 25px;
  box-sizing: border-box;
  border: 1px solid rgba(255, 255, 255, .17);
  border-radius: 13px;
  background: linear-gradient(145deg, rgba(17, 21, 30, .96), rgba(7, 9, 14, .96));
  box-shadow: 0 25px 80px rgba(0, 0, 0, .55);
}

.stunt-exit-options small {
  color: #ff687e;
  font: 900 7px/1 Inter, system-ui, sans-serif;
  letter-spacing: .18em;
}

.stunt-exit-options strong {
  color: #fff;
  font: 950 25px/1 Inter, system-ui, sans-serif;
}

.stunt-exit-options p {
  margin: 0 0 5px;
  color: #929baa;
  font: 600 9px/1.45 Inter, system-ui, sans-serif;
}

.stunt-exit-options > div > div {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.stunt-exit-options button {
  min-height: 42px;
  padding: 8px 12px;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 7px;
  color: #dfe5eb;
  background: rgba(255, 255, 255, .06);
  font: 900 7px/1.2 Inter, system-ui, sans-serif;
  cursor: pointer;
}

.stunt-exit-options [data-map-menu-confirm-exit] {
  border-color: #ff536b !important;
  color: #fff;
  background: #b8223c;
}

@media (max-width: 560px) {
  .stunt-exit-options {
    padding: 10px;
  }

  .stunt-exit-options > div {
    padding: 18px;
  }

  .stunt-exit-options strong {
    font-size: 21px;
  }
}

/* Tema único da garagem: o mesmo painel da biblioteca, sem bordas dinâmicas. */
.car-game-garage-menu {
  --garage-border: rgba(255, 255, 255, .16);
  --garage-border-strong: rgba(255, 255, 255, .72);
  --garage-surface: rgba(8, 10, 16, .96);
  --garage-surface-soft: rgba(17, 20, 29, .94);
}

.car-game-garage-menu .car-garage-main,
.car-game-garage-menu .car-garage-section-panel {
  overflow: hidden !important;
  border: 1px solid var(--garage-border) !important;
  border-radius: 15px !important;
  color: #fff !important;
  background: radial-gradient(circle at 86% 0, rgba(236, 23, 76, .12), transparent 36%), linear-gradient(145deg, rgba(17, 20, 29, .97), var(--garage-surface)) !important;
  box-shadow: 0 28px 90px rgba(0, 0, 0, .58) !important;
  backdrop-filter: blur(18px) !important;
}

.car-game-garage-menu .car-garage-main {
  width: min(410px, 44vw) !important;
  padding: 27px !important;
}

.car-game-garage-menu .car-garage-main::before {
  content: "GARAGEM / MENU PRINCIPAL" !important;
  color: #aeb4c0 !important;
  font: 950 7px/1 Inter, system-ui, sans-serif !important;
  letter-spacing: .18em !important;
}

.car-game-garage-menu .car-garage-main::after {
  border-top-color: var(--garage-border) !important;
  color: #666e7c !important;
}

.car-game-garage-menu .car-garage-main h1,
.car-game-garage-menu .car-garage-section-panel h2 {
  color: #fff !important;
  font-family: Inter, system-ui, sans-serif !important;
  font-style: normal !important;
  font-weight: 950 !important;
}

.car-game-garage-menu .car-garage-main-nav {
  gap: 8px !important;
}

.car-game-garage-menu .car-garage-main-nav button,
.car-game-garage-menu .car-garage-section-panel footer button,
.car-game-garage-menu .car-garage-exit-panel button {
  border: 1px solid var(--garage-border) !important;
  border-radius: 9px !important;
  color: #d9dce4 !important;
  background: rgba(255, 255, 255, .045) !important;
  box-shadow: none !important;
  clip-path: none !important;
}

.car-game-garage-menu .car-garage-main-nav button:first-child,
.car-game-garage-menu .car-garage-main-nav button:hover,
.car-game-garage-menu .car-garage-main-nav button:focus-visible,
.car-game-garage-menu .car-garage-section-panel footer button:hover,
.car-game-garage-menu .car-garage-exit-panel button:hover {
  border-color: var(--garage-border-strong) !important;
  color: #fff !important;
  background: rgba(255, 255, 255, .1) !important;
}

.car-game-garage-menu .car-garage-section-panel > header {
  border-bottom-color: var(--garage-border) !important;
}

.car-game-garage-menu .car-garage-section-panel header small,
.car-game-garage-menu .car-garage-play-panel header small {
  color: #aeb4c0 !important;
}

.car-game-garage-menu .car-garage-play-panel h2 em {
  color: #fff !important;
}

.car-game-garage-menu .car-garage-map-list > button,
.car-game-garage-menu .car-garage-map-list > button:hover,
.car-game-garage-menu .car-garage-map-list > button:focus-visible {
  border-color: var(--garage-border) !important;
}

.car-game-garage-menu .car-garage-map-list > button:hover,
.car-game-garage-menu .car-garage-map-list > button:focus-visible {
  border-color: var(--garage-border-strong) !important;
}

.car-game-garage-menu .car-garage-map-list span small,
.car-game-garage-menu .car-garage-map-list > button > strong {
  color: #d8dce6 !important;
}

.car-game-garage-menu .car-garage-play-panel > footer [data-garage-open-library] {
  border: 1px solid var(--garage-border-strong) !important;
  color: #fff !important;
  background: rgba(255, 255, 255, .1) !important;
  box-shadow: none !important;
}

.car-game-garage-menu .car-garage-options-panel {
  border-color: var(--garage-border) !important;
}

.car-game-garage-menu .car-garage-options-panel label,
.car-game-garage-menu .car-garage-options-panel label:hover,
.car-game-garage-menu .car-garage-options-panel select,
.car-game-garage-menu .car-garage-lighting,
.car-game-garage-menu .car-garage-graphics-status {
  border-color: var(--garage-border) !important;
  color: #d9dce4 !important;
  background: rgba(255, 255, 255, .04) !important;
}

.car-game-garage-menu .car-garage-options-panel input,
.car-game-garage-menu .car-garage-options-panel select {
  accent-color: #fff !important;
}

.car-game-garage-menu .car-garage-spatial-panel::after {
  border-color: var(--garage-border) !important;
  background: rgba(8, 10, 16, .62) !important;
}

.car-game-garage-menu.is-editing .car-garage-spatial-panel {
  filter: drop-shadow(0 0 18px rgba(255, 255, 255, .16)) !important;
}

/* Editor de objetos no mesmo padrão dos painéis do editor de corrida. */
.car-garage-editor {
  border: 1px solid rgba(255, 255, 255, .14) !important;
  border-radius: 13px !important;
  color: #fff !important;
  background: rgba(8, 10, 17, .96) !important;
  box-shadow: 0 18px 48px rgba(0, 0, 0, .55) !important;
  backdrop-filter: blur(16px) !important;
  font-family: Inter, system-ui, sans-serif !important;
}

.car-garage-editor > header {
  margin: -17px -17px 14px;
  padding: 15px 17px;
  border-bottom: 1px solid rgba(255, 255, 255, .1);
  background: rgba(255, 255, 255, .018);
}

.car-garage-editor header small,
.car-garage-editor header strong,
.car-garage-editor-actions button:last-child,
.car-garage-editor-space > button.active,
.car-garage-lighting summary,
.car-garage-lighting output {
  color: #e7e9ed !important;
}

.car-garage-editor button,
.car-garage-editor-space label,
.car-garage-editor-nudge button,
.car-garage-editor output[data-garage-transform-values],
.car-garage-lighting,
.car-garage-lighting select {
  border: 1px solid rgba(255, 255, 255, .12) !important;
  border-radius: 8px !important;
  color: #c9ced8 !important;
  background: rgba(255, 255, 255, .04) !important;
}

.car-garage-editor-targets button[data-garage-target^="menu"] {
  border-color: rgba(255, 255, 255, .12) !important;
  color: #c9ced8 !important;
  background: rgba(255, 255, 255, .04) !important;
}

.car-garage-editor-targets button.active,
.car-garage-editor-targets button[data-garage-target^="menu"].active,
.car-garage-editor-modes button.active,
.car-garage-editor-modes button[data-garage-transform="scale"].active,
.car-garage-editor-space > button.active,
.car-garage-fly.active,
.car-garage-editor.fly-mode .car-garage-fly {
  border-color: rgba(255, 255, 255, .86) !important;
  color: #080a11 !important;
  background: #f2f3f5 !important;
  box-shadow: 0 0 18px rgba(255, 255, 255, .12) !important;
}

.car-garage-editor button:hover,
.car-garage-editor-nudge button:hover {
  border-color: rgba(255, 255, 255, .68) !important;
  color: #fff !important;
  background: rgba(255, 255, 255, .1) !important;
}

.car-garage-editor input,
.car-garage-lighting input {
  accent-color: #fff !important;
}

/* O EDIT agora serve somente para escolher e girar câmeras. */
.car-garage-editor > p,
.car-garage-editor-modes,
.car-garage-editor-space,
.car-garage-editor-nudge,
.car-garage-lighting {
  display: none !important;
}

.car-garage-editor-targets {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  max-height: none !important;
  margin: 0 0 10px !important;
}

.car-garage-editor output[data-garage-transform-values] {
  padding: 13px !important;
  border-left: 1px solid rgba(255, 255, 255, .12) !important;
  text-align: center;
}

/* Cada modo mantém o mesmo acabamento, com uma cor própria para orientar a navegação. */
.car-game-garage-menu[data-garage-section="home"] { --section-accent: #ff426d; --section-rgb: 255, 66, 109; }
.car-game-garage-menu[data-garage-section="play"] { --section-accent: #37d8ff; --section-rgb: 55, 216, 255; }
.car-game-garage-menu[data-garage-section="options"] { --section-accent: #9f78ff; --section-rgb: 159, 120, 255; }
.car-game-garage-menu[data-garage-section="exit"] { --section-accent: #ffb13b; --section-rgb: 255, 177, 59; }

.car-game-garage-menu .car-garage-main,
.car-game-garage-menu .car-garage-section-panel {
  background:
    radial-gradient(circle at 88% 5%, rgba(var(--section-rgb, 255, 66, 109), .2), transparent 34%),
    radial-gradient(circle at 8% 92%, rgba(var(--section-rgb, 255, 66, 109), .08), transparent 42%),
    rgba(8, 10, 16, .9) !important;
}

.car-game-garage-menu .car-garage-section-panel {
  border-top: 3px solid var(--section-accent, #ff426d) !important;
}

.car-game-garage-menu .car-garage-section-panel header small,
.car-game-garage-menu .car-garage-section-panel h2 em,
.car-game-garage-menu .car-garage-map-list span small,
.car-game-garage-menu .car-garage-map-list > button > strong {
  color: var(--section-accent, #ff426d) !important;
}

.car-game-garage-menu .car-garage-main-nav button:nth-child(1) { --nav-accent: #37d8ff; --nav-rgb: 55, 216, 255; }
.car-game-garage-menu .car-garage-main-nav button:nth-child(2) { --nav-accent: #9f78ff; --nav-rgb: 159, 120, 255; }
.car-game-garage-menu .car-garage-main-nav button:nth-child(3) { --nav-accent: #ffb13b; --nav-rgb: 255, 177, 59; }

.car-game-garage-menu .car-garage-main-nav button:first-child,
.car-game-garage-menu .car-garage-main-nav button:hover,
.car-game-garage-menu .car-garage-main-nav button:focus-visible {
  border-color: rgba(var(--nav-rgb), .72) !important;
  border-left: 4px solid var(--nav-accent) !important;
  color: #fff !important;
  background: linear-gradient(110deg, rgba(var(--nav-rgb), .3), rgba(var(--nav-rgb), .055)) !important;
  box-shadow: 0 10px 30px rgba(var(--nav-rgb), .14), inset 0 0 18px rgba(var(--nav-rgb), .08) !important;
}

.car-game-garage-menu .car-garage-map-list > button {
  border-left-color: var(--race-color, var(--section-accent)) !important;
}

.car-game-garage-menu .car-garage-map-list > button:hover,
.car-game-garage-menu .car-garage-map-list > button:focus-visible {
  border-color: var(--race-color, var(--section-accent)) !important;
  background: linear-gradient(110deg, color-mix(in srgb, var(--race-color, var(--section-accent)) 22%, #11141d), rgba(17, 20, 29, .86)) !important;
  box-shadow: 0 14px 34px color-mix(in srgb, var(--race-color, var(--section-accent)) 18%, transparent) !important;
  transform: translateY(-2px) !important;
}

.car-game-garage-menu .car-garage-options-panel footer button,
.car-game-garage-menu .car-garage-section-panel footer button:hover,
.car-game-garage-menu .car-garage-section-panel footer button:focus-visible {
  border-color: transparent !important;
  color: #fff !important;
  background: linear-gradient(120deg, var(--section-accent), color-mix(in srgb, var(--section-accent) 62%, #251236)) !important;
  box-shadow: 0 12px 34px rgba(var(--section-rgb), .2) !important;
}

.car-game-garage-menu .car-garage-exit-panel [data-garage-confirm-exit] {
  background: linear-gradient(120deg, #ffb13b, #f06b2d) !important;
  box-shadow: 0 12px 34px rgba(255, 145, 45, .22) !important;
}

@media (prefers-reduced-motion: no-preference) {
  .car-game-garage-menu.camera-moving::before {
    animation: garage-camera-glow .9s ease both;
  }

  @keyframes garage-camera-glow {
    0%, 100% { opacity: .72; }
    50% { opacity: 1; filter: saturate(1.35) brightness(1.08); }
  }
}

/* Gráficos: a lista rola e as ações permanecem sempre alcançáveis. */
.car-game-garage-menu .car-garage-options-panel {
  min-height: 0 !important;
  max-height: min(84vh, calc(100% - 32px)) !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
  touch-action: pan-y;
  scrollbar-width: thin !important;
  scrollbar-color: var(--section-accent, #9f78ff) rgba(255, 255, 255, .06) !important;
}

.car-game-garage-menu .car-garage-options-panel::-webkit-scrollbar {
  width: 9px !important;
  height: 9px !important;
  display: block !important;
}

.car-game-garage-menu .car-garage-options-panel::-webkit-scrollbar-track {
  border-radius: 999px;
  background: rgba(255, 255, 255, .055);
}

.car-game-garage-menu .car-garage-options-panel::-webkit-scrollbar-thumb {
  border: 2px solid rgba(8, 10, 16, .82);
  border-radius: 999px;
  background: var(--section-accent, #9f78ff);
}

.car-game-garage-menu .car-garage-options-panel > footer {
  position: sticky !important;
  z-index: 5;
  right: 0;
  bottom: -1px !important;
  left: 0;
  margin: 2px -4px -5px !important;
  padding: 15px 4px 5px !important;
  background: linear-gradient(transparent, rgba(8, 10, 16, .98) 34%) !important;
}

.car-game-garage-menu .car-garage-options-panel > footer button {
  width: 100%;
  min-height: 48px !important;
  cursor: pointer;
}

@media (max-width: 760px) {
  .car-game-garage-menu .car-garage-options-panel {
    max-height: min(88dvh, calc(100% - 16px)) !important;
    -webkit-overflow-scrolling: touch;
  }
}

/* Menu principal: número, título e descrição compartilham a mesma linha-base. */
.car-game-garage-menu .car-garage-main-nav {
  transform: none !important;
}

.car-game-garage-menu .car-garage-main-nav button {
  display: grid !important;
  grid-template-columns: 32px minmax(82px, 1fr) minmax(96px, auto) !important;
  align-items: center !important;
  justify-content: stretch !important;
  column-gap: 12px !important;
  min-height: 58px !important;
  height: auto !important;
  padding: 9px 15px 9px 10px !important;
  box-sizing: border-box;
  text-align: left !important;
  transform: none !important;
}

.car-game-garage-menu .car-garage-main-nav button::before {
  display: block !important;
  align-self: center !important;
  justify-self: center !important;
  line-height: 1 !important;
  transform: none !important;
}

.car-game-garage-menu .car-garage-main-nav button b,
.car-game-garage-menu .car-garage-main-nav button small {
  align-self: center !important;
  margin: 0 !important;
  line-height: 1.2 !important;
  transform: none !important;
}

.car-game-garage-menu .car-garage-main-nav button b {
  justify-self: start !important;
  font-family: Inter, system-ui, sans-serif !important;
  font-size: 14px !important;
  font-style: normal !important;
  font-weight: 900 !important;
  letter-spacing: .045em !important;
}

.car-game-garage-menu .car-garage-main-nav button small {
  display: block !important;
  justify-self: end !important;
  color: #818897 !important;
  font-family: Inter, system-ui, sans-serif !important;
  font-size: 6px !important;
  font-weight: 750 !important;
  letter-spacing: .055em !important;
  text-align: right !important;
  white-space: nowrap;
}

.car-game-garage-menu .car-garage-main-nav button:first-child,
.car-game-garage-menu .car-garage-main-nav button:hover,
.car-game-garage-menu .car-garage-main-nav button:focus-visible {
  transform: translateX(4px) !important;
}

@media (max-width: 560px) {
  .car-game-garage-menu .car-garage-main-nav button {
    grid-template-columns: 25px minmax(72px, 1fr) minmax(82px, auto) !important;
    column-gap: 8px !important;
    padding-right: 10px !important;
    padding-left: 7px !important;
  }

  .car-game-garage-menu .car-garage-main-nav button b {
    font-size: 12px !important;
  }

  .car-game-garage-menu .car-garage-main-nav button small {
    max-width: 105px;
    font-size: 5px !important;
    white-space: normal;
  }
}

/* OAF · Otimização Adaptativa de FPS. */
.car-oaf-control,
.stunt-oaf-control {
  grid-column: 1 / -1;
  overflow: hidden;
  border: 1px solid rgba(81, 222, 255, .4);
  border-radius: 12px;
  background: radial-gradient(circle at 94% 0, rgba(55, 216, 255, .17), transparent 42%), rgba(10, 18, 25, .9);
  box-shadow: inset 0 0 28px rgba(55, 216, 255, .045), 0 12px 30px rgba(0, 0, 0, .18);
}

.car-game-garage-menu .car-oaf-control > .car-oaf-toggle,
.stunt-graphics-options .stunt-oaf-control > .stunt-oaf-toggle {
  min-height: 66px !important;
  display: grid !important;
  grid-template-columns: 22px minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 13px 15px !important;
  box-sizing: border-box;
  border: 0 !important;
  border-radius: 0 !important;
  color: #fff !important;
  background: transparent !important;
  cursor: pointer;
}

.car-oaf-toggle input,
.stunt-oaf-toggle input {
  width: 19px !important;
  height: 19px !important;
  margin: 0;
  accent-color: #37d8ff !important;
}

.car-oaf-toggle span,
.stunt-oaf-toggle span {
  display: grid;
  gap: 5px;
}

.car-oaf-toggle b,
.stunt-oaf-toggle strong {
  color: #fff !important;
  font: 950 13px/1 Inter, system-ui, sans-serif !important;
  letter-spacing: .08em;
}

.car-oaf-toggle small,
.stunt-oaf-toggle small {
  color: #83cddb !important;
  font: 650 7px/1.2 Inter, system-ui, sans-serif !important;
}

.car-oaf-toggle em,
.stunt-oaf-toggle em {
  padding: 6px 8px;
  border: 1px solid rgba(55, 216, 255, .45);
  border-radius: 999px;
  color: #83ebff;
  background: rgba(55, 216, 255, .08);
  font: 900 6px/1 Inter, system-ui, sans-serif;
  font-style: normal;
  letter-spacing: .14em;
}

.car-oaf-control [data-garage-oaf-settings],
.stunt-oaf-control [data-oaf-settings] {
  display: grid;
  gap: 10px;
  padding: 0 14px 14px;
  border-top: 1px solid rgba(55, 216, 255, .16);
}

.car-oaf-control [data-garage-oaf-settings][hidden],
.stunt-oaf-control [data-oaf-settings][hidden] {
  display: none !important;
}

.car-oaf-control p,
.stunt-oaf-control p {
  margin: 0 -14px;
  padding: 12px 14px;
  color: #96aab1;
  background: rgba(55, 216, 255, .035);
  font: 600 8px/1.5 Inter, system-ui, sans-serif;
}

.car-oaf-control p strong,
.stunt-oaf-control p strong {
  color: #65e2ff;
}

.car-game-garage-menu .car-oaf-control [data-garage-oaf-settings] > label,
.stunt-graphics-options .stunt-oaf-control [data-oaf-settings] > label {
  min-height: 54px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 130px !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 10px 12px !important;
  border: 1px solid rgba(55, 216, 255, .16) !important;
  border-radius: 9px !important;
  background: rgba(255, 255, 255, .035) !important;
}

.car-oaf-control select,
.stunt-oaf-control select {
  width: 100% !important;
  height: 38px !important;
  border: 1px solid rgba(55, 216, 255, .35) !important;
  border-radius: 8px !important;
  color: #fff !important;
  background: #111d25 !important;
  font-weight: 850 !important;
}

.stunt-oaf-control [data-oaf-runtime] {
  padding: 9px 11px;
  border-left: 3px solid #37d8ff;
  color: #75e5ff;
  background: rgba(55, 216, 255, .06);
  font: 900 7px/1.25 Inter, system-ui, sans-serif;
  letter-spacing: .08em;
}

.car-game-garage-menu .car-garage-options-panel label.oaf-locked,
.stunt-graphics-options label.oaf-locked {
  opacity: .28 !important;
  filter: grayscale(1) brightness(.62);
  pointer-events: none !important;
  user-select: none;
}

.car-game-garage-menu .car-garage-options-panel label.oaf-locked select,
.car-game-garage-menu .car-garage-options-panel label.oaf-locked input,
.stunt-graphics-options label.oaf-locked select,
.stunt-graphics-options label.oaf-locked input,
.stunt-graphics-options [data-graphics-default]:disabled {
  cursor: not-allowed !important;
}

.stunt-graphics-options [data-graphics-default]:disabled {
  opacity: .28;
  filter: grayscale(1);
}

@media (max-width: 760px) {
  .car-game-garage-menu .car-oaf-control [data-garage-oaf-settings] > label,
  .stunt-graphics-options .stunt-oaf-control [data-oaf-settings] > label {
    grid-template-columns: minmax(0, 1fr) 105px !important;
  }
}

.stunt-finish-results[hidden] {
  display: none !important;
}

.stunt-finish-results {
  position: absolute;
  z-index: 72;
  top: 50%;
  right: clamp(22px, 5vw, 72px);
  width: min(390px, calc(100vw - 44px));
  box-sizing: border-box;
  padding: 24px;
  border: 1px solid rgba(255, 255, 255, .2);
  border-top: 3px solid #72ffad;
  border-radius: 14px;
  color: #fff;
  background: linear-gradient(145deg, rgba(3, 9, 10, .93), rgba(8, 14, 17, .84));
  box-shadow: 0 28px 80px rgba(0, 0, 0, .64), 0 0 35px rgba(114, 255, 173, .1);
  backdrop-filter: blur(17px) saturate(.9);
  transform: translateY(-50%);
  animation: stuntFinishResultsIn .55s cubic-bezier(.18, .78, .2, 1) both;
}

.stunt-finish-results > small {
  color: #72ffad;
  font: 950 7px/1 Inter, sans-serif;
  letter-spacing: .22em;
}

.stunt-finish-results > strong {
  display: block;
  margin: 8px 0 18px;
  font: 1000 italic 34px/.9 Arial, sans-serif;
  letter-spacing: -.045em;
}

.stunt-finish-results > div {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 6px;
}

.stunt-finish-results > div span {
  min-width: 0;
  display: grid;
  gap: 5px;
  padding: 12px;
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 7px;
  background: rgba(255, 255, 255, .04);
}

.stunt-finish-results span small {
  color: #74878a;
  font: 900 6px/1 Inter, sans-serif;
  letter-spacing: .1em;
}

.stunt-finish-results span b {
  overflow: hidden;
  color: #fff;
  font: 950 13px/1.1 ui-monospace, monospace;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.stunt-finish-results [data-finish-ai] {
  color: #72ffad;
  font-size: 9px;
}

.stunt-finish-results p {
  min-height: 30px;
  margin: 13px 1px 16px;
  color: #88979a;
  font: 650 8px/1.55 Inter, sans-serif;
}

.stunt-finish-results nav {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 7px;
}

.stunt-finish-results button {
  min-height: 42px;
  padding: 0 12px;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 8px;
  color: #fff;
  background: rgba(255, 255, 255, .06);
  font: 950 7px/1 Inter, sans-serif;
  letter-spacing: .05em;
  cursor: pointer;
}

.stunt-finish-results [data-finish-restart] {
  border-color: #72ffad;
  color: #06110b;
  background: #72ffad;
}

.stunt-finish-results button:hover {
  filter: brightness(1.15);
  transform: translateY(-1px);
}

.stunt-finish-results button:disabled {
  cursor: wait;
  opacity: .38;
  filter: grayscale(.65);
  transform: none;
}

.stunt-finish-results.time-only {
  top: 50%;
  bottom: auto;
  right: auto;
  left: 50%;
  width: min(420px, calc(100vw - 44px));
  padding: 22px 28px;
  text-align: center;
  animation: none;
  transform: translate(-50%, -50%);
}

.stunt-finish-results.time-only > small,
.stunt-finish-results.time-only > div span:not(:first-child),
.stunt-finish-results.time-only > p,
.stunt-finish-results.time-only > nav,
.stunt-finish-results.time-only > div span:first-child small {
  display: none;
}

.stunt-finish-results.time-only > strong {
  margin: 0 0 12px;
  font-size: clamp(24px, 4vw, 42px);
}

.stunt-finish-results.time-only > div {
  display: block;
}

.stunt-finish-results.time-only > div span:first-child {
  display: block;
  padding: 0;
  border: 0;
  background: transparent;
}

.stunt-finish-results.time-only [data-finish-time] {
  color: #72ffad;
  font-size: clamp(18px, 3vw, 30px);
}

.stunt-builder.finish-results-visible .stunt-test-hud {
  display: none !important;
  visibility: hidden !important;
}

.stunt-builder.finish-results-visible .stunt-finish-results:not(.time-only) {
  top: 50%;
  right: auto;
  bottom: auto;
  left: 50%;
  transform: translate(-50%, -50%);
  animation: none;
}

@keyframes stuntFinishResultsIn {
  from { opacity: 0; transform: translate(32px, -50%) scale(.96); }
  to { opacity: 1; transform: translate(0, -50%) scale(1); }
}

@media (max-width: 680px) {
  .stunt-finish-results {
    top: auto;
    right: 10px;
    bottom: 52px;
    left: 10px;
    width: auto;
    padding: 17px;
    transform: none;
  }

  .stunt-finish-results > strong {
    margin-bottom: 12px;
    font-size: 26px;
  }

  @keyframes stuntFinishResultsIn {
    from { opacity: 0; transform: translateY(22px) scale(.97); }
    to { opacity: 1; transform: translateY(0) scale(1); }
  }
}

.stunt-performance-report[hidden] {
  display: none !important;
}

.stunt-performance-report {
  position: absolute;
  z-index: 120;
  top: 50%;
  left: 50%;
  width: min(680px, calc(100vw - 34px));
  max-height: min(760px, calc(100vh - 34px));
  display: grid;
  grid-template-rows: auto auto minmax(220px, 1fr) auto auto;
  overflow: hidden;
  box-sizing: border-box;
  border: 1px solid rgba(85, 241, 154, .42);
  border-radius: 15px;
  color: #edfff4;
  background: linear-gradient(145deg, rgba(2, 11, 8, .985), rgba(5, 10, 15, .98));
  box-shadow: 0 34px 110px rgba(0, 0, 0, .82), 0 0 44px rgba(53, 230, 168, .1);
  backdrop-filter: blur(20px);
  transform: translate(-50%, -50%);
  animation: performanceReportIn .32s ease-out both;
  font-family: Inter, system-ui, sans-serif;
}

.stunt-performance-report::before {
  content: "";
  position: fixed;
  z-index: -1;
  inset: 0;
  background: rgba(0, 0, 0, .62);
  backdrop-filter: blur(3px);
}

.stunt-performance-report > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 17px 19px;
  border-bottom: 1px solid rgba(85, 241, 154, .16);
}

.stunt-performance-report > header div {
  display: grid;
  gap: 4px;
}

.stunt-performance-report > header small {
  color: #55f19a;
  font-size: 7px;
  font-weight: 950;
  letter-spacing: .18em;
}

.stunt-performance-report > header strong {
  font-size: 17px;
  font-style: italic;
}

.stunt-performance-report > header button {
  width: 32px;
  height: 32px;
  border: 1px solid rgba(255, 255, 255, .15);
  border-radius: 7px;
  color: #fff;
  background: rgba(255, 255, 255, .05);
  font-size: 18px;
  cursor: pointer;
}

.stunt-performance-report > p {
  margin: 0;
  padding: 11px 19px;
  color: #71897b;
  background: rgba(85, 241, 154, .035);
  font-size: 8px;
}

.stunt-performance-report textarea {
  width: auto;
  min-height: 250px;
  margin: 14px 18px;
  padding: 16px;
  resize: none;
  box-sizing: border-box;
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 9px;
  outline: none;
  color: #cef9dd;
  background: #03100b;
  font: 600 10px/1.65 ui-monospace, SFMono-Regular, Consolas, monospace;
  white-space: pre-wrap;
}

.stunt-performance-report textarea:focus {
  border-color: #55f19a;
  box-shadow: 0 0 0 2px rgba(85, 241, 154, .08);
}

.stunt-performance-report > footer {
  display: grid;
  grid-template-columns: 1fr 1fr .65fr;
  gap: 7px;
  padding: 0 18px 12px;
}

.stunt-performance-report > footer button {
  min-height: 40px;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 8px;
  color: #d9e8de;
  background: rgba(255, 255, 255, .055);
  font-size: 7px;
  font-weight: 950;
  cursor: pointer;
}

.stunt-performance-report [data-performance-report-copy],
.stunt-performance-report [data-performance-report-download] {
  border-color: rgba(85, 241, 154, .42);
  color: #06130c;
  background: #55f19a;
}

.stunt-performance-report > output {
  display: block;
  padding: 9px 18px;
  color: #55f19a;
  background: rgba(85, 241, 154, .05);
  font-size: 6px;
  font-weight: 900;
  letter-spacing: .08em;
}

@keyframes performanceReportIn {
  from { opacity: 0; transform: translate(-50%, calc(-50% + 18px)) scale(.97); }
  to { opacity: 1; transform: translate(-50%, -50%) scale(1); }
}

@media (max-width: 620px) {
  .stunt-performance-report {
    width: calc(100vw - 16px);
    max-height: calc(100vh - 16px);
  }

  .stunt-performance-report > footer {
    grid-template-columns: 1fr 1fr;
  }

  .stunt-performance-report [data-performance-report-dismiss] {
    grid-column: 1 / -1;
  }
}

/* Diagnóstico visível durante a abertura direta de uma corrida. */
.stunt-direct-loader-debug {
  width: 100%;
  max-height: 104px;
  margin: 3px 0 0;
  padding: 8px 10px;
  box-sizing: border-box;
  overflow: auto;
  border: 1px solid rgba(112, 229, 255, .2);
  border-radius: 6px;
  color: #8fe8c7;
  background: rgba(0, 7, 9, .72);
  font: 600 7px/1.45 ui-monospace, SFMono-Regular, Consolas, monospace;
  text-align: left;
  white-space: pre-wrap;
}

/* No toque, o menu usa a tela diretamente em vez da projeção 3D do desktop. */
@media (hover: none) and (pointer: coarse) {
  .car-game-garage-menu {
    padding: 8px !important;
    box-sizing: border-box !important;
  }

  .car-game-garage-menu .car-garage-spatial-panel {
    position: absolute !important;
    top: 50% !important;
    right: auto !important;
    bottom: auto !important;
    left: 50% !important;
    width: calc(100% - 20px) !important;
    max-width: 720px !important;
    max-height: calc(100% - 16px) !important;
    margin: 0 !important;
    scale: 1 !important;
    transform: translate(-50%, -50%) !important;
    transform-origin: center !important;
    visibility: visible !important;
    filter: none !important;
  }

  .car-game-garage-menu .car-garage-spatial-panel::after {
    display: none !important;
  }

  .car-game-garage-menu .car-garage-main {
    width: min(370px, calc(100% - 20px)) !important;
    padding: 15px 17px !important;
    overflow: auto !important;
  }

  .car-game-garage-menu .car-garage-main h1 {
    margin: 8px 0 3px !important;
    font-size: clamp(28px, 10vh, 48px) !important;
    line-height: .92 !important;
  }

  .car-game-garage-menu .car-garage-main p {
    margin: 4px 0 9px !important;
    font-size: 7px !important;
  }

  .car-game-garage-menu .car-garage-main-nav {
    gap: 3px !important;
    padding: 4px !important;
  }

  .car-game-garage-menu .car-garage-main-nav button {
    height: 38px !important;
    min-height: 38px !important;
    padding-right: 10px !important;
  }

  .car-game-garage-menu .car-garage-main::after {
    margin-top: 7px !important;
  }

  .car-game-garage-menu .car-garage-section-panel,
  .car-game-garage-menu .car-garage-play-panel,
  .car-game-garage-menu .car-garage-options-panel,
  .car-game-garage-menu .car-garage-exit-panel {
    width: calc(100% - 20px) !important;
    max-width: 720px !important;
    max-height: calc(100% - 16px) !important;
    padding: 14px !important;
    box-sizing: border-box !important;
    overflow: auto !important;
  }

  .car-game-garage-menu .car-garage-section-panel > header,
  .car-game-garage-menu .car-garage-play-panel > header {
    padding: 2px 4px 9px !important;
  }

  .car-game-garage-menu .car-garage-section-panel h2 {
    margin: 3px 0 !important;
    font-size: clamp(20px, 7vh, 34px) !important;
  }

  .car-game-garage-menu .car-garage-play-panel header p,
  .car-game-garage-menu .car-garage-play-panel header::after {
    display: none !important;
  }

  .car-game-garage-menu .car-garage-map-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 6px !important;
    max-height: calc(100% - 86px) !important;
    padding: 5px 2px 7px !important;
    overflow: auto !important;
  }

  .car-game-garage-menu .car-garage-map-list > button {
    height: 76px !important;
    min-height: 76px !important;
    grid-template-columns: 82px minmax(0, 1fr) 17px !important;
    padding: 0 7px !important;
  }

  .car-game-garage-menu .car-garage-map-list img,
  .car-game-garage-menu .car-garage-map-list > button > i {
    width: 76px !important;
    height: 56px !important;
  }

  .car-game-garage-menu .car-garage-map-list span b {
    font-size: 9px !important;
  }

  .car-game-garage-menu .car-garage-map-list span small,
  .car-game-garage-menu .car-garage-map-list > button > strong {
    font-size: 6px !important;
  }

  .car-game-garage-menu .car-garage-play-panel > footer {
    gap: 5px !important;
    margin: 5px 0 0 !important;
  }

  .car-game-garage-menu .car-garage-play-panel > footer button {
    min-height: 34px !important;
    font-size: 7px !important;
  }

  .car-game-garage-menu .car-garage-options-panel {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 5px !important;
  }

  .car-game-garage-menu .car-garage-options-panel label {
    min-height: 39px !important;
    padding: 6px 8px !important;
  }

  .car-game-garage-menu .car-garage-options-panel label strong,
  .car-game-garage-menu .car-garage-options-panel label small,
  .car-game-garage-menu .car-garage-options-panel select {
    font-size: 6px !important;
  }

  .stunt-direct-loader {
    padding: 8px !important;
  }

  .stunt-direct-loader > div {
    width: min(560px, calc(100% - 12px)) !important;
    max-height: calc(100% - 12px) !important;
    gap: 6px !important;
    padding: 14px 18px !important;
    overflow: auto !important;
  }

  .stunt-direct-loader > div > i {
    width: 28px !important;
    height: 28px !important;
  }

  .stunt-direct-loader strong {
    font-size: clamp(17px, 7vh, 25px) !important;
  }

  .stunt-direct-loader-debug {
    max-height: 76px;
    padding: 6px 8px;
    font-size: 6px;
  }
}

@media (hover: none) and (pointer: coarse) and (max-width: 520px) {
  .car-game-garage-menu .car-garage-map-list,
  .car-game-garage-menu .car-garage-options-panel {
    grid-template-columns: 1fr !important;
  }
}

/* HUD de corrida no celular: informação compacta e controles separados. */
@media (hover: none) and (pointer: coarse) {
  .stunt-builder.testing .stunt-builder-top {
    display: none !important;
  }

  .stunt-builder.testing .stunt-mobile-controls:not([hidden]) {
    position: absolute !important;
    z-index: 35 !important;
    inset: 0 !important;
    display: block !important;
    width: auto !important;
    height: auto !important;
    pointer-events: none !important;
  }

  .stunt-builder.testing .stunt-mobile-steering,
  .stunt-builder.testing .stunt-mobile-throttle {
    position: absolute !important;
    bottom: max(14px, env(safe-area-inset-bottom)) !important;
    box-sizing: border-box !important;
    pointer-events: auto !important;
  }

  .stunt-builder.testing .stunt-mobile-steering {
    right: auto !important;
    left: max(16px, env(safe-area-inset-left)) !important;
    width: 128px !important;
    height: 128px !important;
    flex-basis: 128px !important;
  }

  .stunt-builder.testing .stunt-mobile-steering > i {
    width: 54px !important;
    height: 54px !important;
  }

  .stunt-builder.testing .stunt-mobile-steering > small {
    bottom: 11px !important;
    font-size: 6px !important;
  }

  .stunt-builder.testing .stunt-mobile-throttle {
    right: max(16px, env(safe-area-inset-right)) !important;
    left: auto !important;
    width: 90px !important;
    height: 90px !important;
    padding: 8px !important;
  }

  .stunt-builder.testing .stunt-mobile-throttle b {
    font-size: 8px !important;
  }

  .stunt-builder.testing .stunt-mobile-throttle small {
    font-size: 4.5px !important;
  }

  .stunt-builder.testing > .car-minimap {
    top: max(11px, env(safe-area-inset-top)) !important;
    right: auto !important;
    bottom: auto !important;
    left: max(11px, env(safe-area-inset-left)) !important;
    width: 158px !important;
    height: 88px !important;
  }

  .stunt-builder.testing .car-radio {
    top: calc(100% + 10px) !important;
    right: 0 !important;
    bottom: auto !important;
    left: 0 !important;
    width: 100% !important;
    min-height: 36px !important;
    gap: 4px !important;
    padding: 5px 6px 5px 8px !important;
    box-sizing: border-box !important;
  }

  .stunt-builder.testing .car-radio output {
    padding: 9px 0 0 !important;
    font-size: 6.5px !important;
  }

  .stunt-builder.testing .car-radio output::before {
    top: 5px !important;
    left: 8px !important;
    font-size: 4px !important;
  }

  .stunt-builder.testing .car-radio > div {
    gap: 2px !important;
    padding-top: 7px !important;
  }

  .stunt-builder.testing .car-radio button {
    width: 17px !important;
    height: 17px !important;
    font-size: 5.5px !important;
  }

  .stunt-builder.testing .car-radio [data-radio-toggle] {
    width: 19px !important;
  }

  .stunt-builder.testing .car-driving-hints {
    top: calc(100% + 53px) !important;
    right: 0 !important;
    bottom: auto !important;
    left: 0 !important;
    width: 100% !important;
    gap: 4px !important;
    box-sizing: border-box !important;
  }

  .stunt-builder.testing .car-control-hint,
  .stunt-builder.testing .car-outdoor-hint {
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .stunt-builder.testing .car-control-hint {
    min-height: 0 !important;
    padding: 6px 7px !important;
  }

  .stunt-builder.testing .car-control-hint > small,
  .stunt-builder.testing .car-outdoor-hint > small {
    margin-bottom: 4px !important;
    font-size: 4px !important;
  }

  .stunt-builder.testing .car-hint-primary strong {
    font-size: 6px !important;
    line-height: 1.2 !important;
  }

  .stunt-builder.testing .car-hint-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 4px !important;
  }

  .stunt-builder.testing .car-hint-actions > span {
    min-width: 0 !important;
  }

  .stunt-builder.testing .car-hint-actions b {
    overflow: hidden !important;
    font-size: 4.5px !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .stunt-builder.testing .car-hint-launch {
    display: none !important;
  }

  .stunt-builder.testing .car-game-hud {
    top: max(9px, env(safe-area-inset-top)) !important;
    right: max(9px, env(safe-area-inset-right)) !important;
    bottom: auto !important;
    left: auto !important;
    transform: scale(.58) !important;
    transform-origin: top right !important;
  }

  .stunt-builder.testing:not(.race-cinematic) .stunt-test-hud {
    top: 8px !important;
    width: min(230px, 34%) !important;
    max-width: 34% !important;
    gap: 3px !important;
    padding: 7px 10px !important;
    box-sizing: border-box !important;
  }

  .stunt-builder.testing:not(.race-cinematic) .stunt-test-hud strong {
    max-width: 100% !important;
    overflow: hidden !important;
    font-size: 7px !important;
    text-align: center !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .stunt-builder.testing:not(.race-cinematic) .stunt-test-hud button {
    height: 21px !important;
    padding: 0 7px !important;
    font-size: 4.5px !important;
  }
}

/* Cascata final dos menus: mantém o padrão título → abas → conteúdo. */
.stunt-map-menu > header {
  min-height: 92px !important;
  padding: 18px 24px !important;
}

.stunt-map-menu > header strong {
  margin-top: 5px !important;
  font-size: clamp(25px, 3vw, 38px) !important;
}

.stunt-map-menu > nav {
  justify-content: flex-start !important;
  gap: 6px !important;
  min-height: 52px !important;
  padding: 7px 24px !important;
}

.stunt-map-menu > nav button {
  min-width: 126px !important;
}

@media (hover: none) and (pointer: coarse) {
  .stunt-map-menu {
    grid-template-rows: 48px 40px minmax(0, 1fr) !important;
  }

  .stunt-map-menu > header {
    min-height: 48px !important;
    padding: 7px 12px !important;
  }

  .stunt-map-menu > header strong {
    margin-top: 2px !important;
    font-size: 16px !important;
  }

  .stunt-map-menu > header button {
    height: 30px !important;
  }

  .stunt-map-menu > nav {
    min-height: 40px !important;
    gap: 3px !important;
    padding: 3px 7px !important;
    overflow: hidden !important;
  }

  .stunt-map-menu > nav button {
    min-width: 0 !important;
    flex: 1 1 0 !important;
    height: 34px !important;
    padding: 0 8px !important;
  }

  .stunt-graphics-options {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 8px 10px 14px !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    -webkit-overflow-scrolling: touch;
  }

  .stunt-graphics-options > header {
    width: 100% !important;
    grid-template-columns: minmax(0, 1fr) minmax(160px, 38%) !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 6px 4px 10px !important;
    box-sizing: border-box !important;
  }

  .stunt-graphics-options > header strong {
    font-size: 12px !important;
  }

  .stunt-graphics-options > label {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 50px !important;
    grid-template-columns: minmax(0, 1fr) minmax(145px, 42%) !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 7px 4px !important;
    box-sizing: border-box !important;
  }

  .stunt-graphics-options > label > span,
  .stunt-graphics-options select,
  .stunt-cloud-height-option > div {
    min-width: 0 !important;
  }

  .stunt-graphics-options label strong {
    font-size: 7px !important;
    line-height: 1.25 !important;
  }

  .stunt-graphics-options label small {
    font-size: 5.5px !important;
    line-height: 1.25 !important;
  }

  .stunt-graphics-options select {
    width: 100% !important;
    height: 36px !important;
    padding: 0 8px !important;
    box-sizing: border-box !important;
    font-size: 7px !important;
  }

  .stunt-cloud-height-option > div {
    grid-template-columns: 30px minmax(64px, 1fr) 30px 42px !important;
    gap: 5px !important;
  }

  .stunt-graphics-options .stunt-oaf-control,
  .stunt-rain-runtime,
  .stunt-graphics-options > footer {
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  .stunt-graphics-options .stunt-oaf-control > .stunt-oaf-toggle {
    min-height: 54px !important;
    padding: 9px 11px !important;
  }

  .stunt-graphics-options > footer {
    align-items: center !important;
    flex-direction: row !important;
    padding: 12px 2px 4px !important;
  }

  .stunt-graphics-options > footer output {
    min-width: 0;
    text-align: right;
  }
}

@media (hover: none) and (pointer: coarse) and (orientation: portrait),
       (hover: none) and (pointer: coarse) and (max-width: 560px) {
  .stunt-graphics-options > header,
  .stunt-graphics-options > label {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 6px !important;
  }

  .stunt-graphics-options > footer {
    align-items: stretch !important;
    flex-direction: column !important;
  }

  .stunt-graphics-options > footer output {
    text-align: left;
  }

  .stunt-graphics-options .stunt-oaf-control [data-oaf-settings] > label {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}
