/**------- Base: fonts, the grey radial background of every menu, the 1920 x 1080 plan scaled to the window -------*/
/* The XD background is a near-circle about 1044 x 962 px on the board (fitted on the exported mockups to 1.2 grey
   levels); sized with the plan's scale, it keeps the same look on any window and carries on past a 16:9 board. */
@font-face { font-family: "Orbitron"; src: url("../polices-6c0411b7af/Orbitron-wght.ttf") format("truetype"); font-weight: 400 900; font-display: block; }
@font-face { font-family: "Russo One"; src: url("../polices-6c0411b7af/RussoOne-Regular.ttf") format("truetype"); font-display: block; }
@font-face { font-family: "Roboto"; src: url("../polices-6c0411b7af/Roboto-wdth-wght-latin.ttf") format("truetype"); font-weight: 100 900; font-stretch: 75% 100%; font-display: block; }
@font-face { font-family: "Rubik"; src: url("../polices-6c0411b7af/Rubik-Italic-latin.ttf") format("truetype"); font-style: italic; font-weight: 400; font-display: block; }

:root { --echelle: 1; --rouge-titre: rgb(255, 0, 0); --encre: rgb(42, 6, 6); --cyan: rgb(0, 174, 239); --rose: rgb(255, 33, 166); }
html, body { margin: 0; height: 100%; overflow: hidden; background: radial-gradient(calc(1044px * var(--echelle)) calc(962px * var(--echelle)) at 50% 50%, rgb(135, 134, 134) 0%, rgb(74, 74, 74) 100%); font-family: "Russo One", sans-serif; color: #fff; user-select: none; }
#scene3d { position: fixed; inset: 0; width: 100%; height: 100%; display: block; }
#ecrans { position: fixed; inset: 0; pointer-events: none; }
/* The XD plans are 1920 x 1080: every screen is laid out in that space and scaled to fit, centred (16:9 kept, the
   background carries on around it on other formats). */
.plan { position: absolute; left: 50%; top: 50%; width: 1920px; height: 1080px; transform: translate(-50%, -50%) scale(var(--echelle)); transform-origin: center; pointer-events: auto; }
/* The credit is a signature, not a message: small and barely there, on every board. */
.plan-svg [id^="credit-"] { font-size: 13px; opacity: .22; }
.titre-jeu { position: absolute; left: 0; right: 0; top: 30px; text-align: center; font-family: "Orbitron", sans-serif; font-weight: 900; font-size: 92px; letter-spacing: 2px; color: var(--rouge-titre); -webkit-text-stroke: 4px #160303; paint-order: stroke fill; text-shadow: 0 6px 6px rgba(0, 0, 0, .45); transform: skewX(-12deg); margin: 0; }

/* Phone message and upright-tablet notice: built for any narrow screen, unlike the 1920 x 1080 boards. */
.ecran-mobile { position: fixed; inset: 0; z-index: 10; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6vh; padding: 0 5vw; pointer-events: auto; background: radial-gradient(calc(1044px * var(--echelle)) calc(962px * var(--echelle)) at 50% 50%, rgb(135, 134, 134) 0%, rgb(74, 74, 74) 100%); }
.ecran-mobile[hidden] { display: none; }
.titre-mobile { width: 90vw; max-width: 900px; height: auto; overflow: visible; }
.message-mobile { margin: 0; font: clamp(20px, 6vw, 44px) "Russo One", sans-serif; color: var(--encre); text-align: center; }
