/* Traffic Panic — la paleta de Race Panic y el encaje del lienzo vertical.
   Toda la interfaz del juego se dibuja dentro del canvas; el CSS lo centra y
   lo escala conservando la proporción 3:5, como Orbit Panic. */

:root {
  --fondo: #12141a;
  --fondo-lienzo: #1b1e26;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  background: var(--fondo);
  color: #e6e8ee;
  font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
  overscroll-behavior: none;
}

/* El juego ocupa la primera pantalla entera. 100dvh sigue a la barra del
   navegador del móvil; 100vh es el respaldo sin dvh. Las muescas y barras
   gestuales, fuera. */
#escena {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  min-height: 100dvh;
  padding: env(safe-area-inset-top) env(safe-area-inset-right)
    env(safe-area-inset-bottom) env(safe-area-inset-left);
}

/* Resolución lógica fija (600x1000) escalada por CSS hasta lo que quepa,
   dejando debajo el alto del pie (--pie): el lienzo vertical llena el alto, y
   un pie flotante, como el de Race Panic, caería encima del juego.
   juego.js multiplica el lienzo por la densidad de la pantalla y aLienzo()
   deshace este escalado para el puntero. */
:root {
  --pie: 26px;
}

#lienzo {
  width: min(100vw, calc((100vh - var(--pie)) * 3 / 5));
  width: min(100vw, calc((100dvh - var(--pie)) * 3 / 5));
  height: auto;
  aspect-ratio: 3 / 5;
  background: var(--fondo-lienzo);
  display: block;
  cursor: pointer;

  /* Táctil: el lienzo se come el gesto. Sin esto, arrastrar desplaza la página
     y un doble toque hace zoom justo cuando se intenta frenar. */
  touch-action: none;
  user-select: none;
  -webkit-user-select: none;
  -webkit-tap-highlight-color: transparent;
}

/* Pie: enlaces a los demás juegos Panic y «Cookies» (reabre el aviso de cookies
   común, vendor/pnyk/consentimiento.js). Discreto, en una línea debajo del
   lienzo; en una pantalla estrecha se parte y la escena crece con él. */
#pie {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: baseline;
  gap: 2px 12px;
  min-height: var(--pie);
  padding: 4px 8px;
  color: #8b93a7;
  font: 12px system-ui, -apple-system, "Segoe UI", sans-serif;
  opacity: 0.6;
}

#pie:hover,
#pie:focus-within {
  opacity: 1;
}

#otros {
  margin: 0;
}

#pie a {
  color: inherit;
}

#cookies {
  padding: 0;
  background: none;
  border: 0;
  color: inherit;
  font: inherit;
  text-decoration: underline;
  cursor: pointer;
}
