/* =====================================================================
   MIDNIGHT RUN · estilos del juego dentro de la web de ICE.CIRCLE CUSTOMS
   Se carga después de ../estilos.css (cabecera, pie, botones y colores de la web).
   1) Colores y letras del juego enlazados a los de la marca
   2) Estilos originales del juego (el dorado pasa a ser el cian)
   3) El marco de la página con el diseño de la web
   ===================================================================== */
:root {
  --bg: var(--negro);
  --panel: var(--negro-2);
  --line: #243031;
  --text: #f3f7f7;
  --muted: var(--gris-noche);
  --gold: var(--cian);            /* el color de acento del juego es el cian de la marca */
  --mono: var(--letra-mono);
  --sans: var(--letra-texto);
}
body.pagina-juego { background: var(--negro); color: var(--text); color-scheme: dark; }

/* ---------- 2) Estilos del juego ---------- */
*{box-sizing:border-box}
button,a{-webkit-tap-highlight-color:transparent}
button{font:inherit;color:inherit;cursor:pointer}
button:disabled{cursor:wait;opacity:.45}
button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--gold);outline-offset:5px}
button{border:0}
a{color:inherit}
button,canvas{touch-action:manipulation}
[hidden]{display:none!important}
.eyebrow{font:10px var(--mono);letter-spacing:1.8px;color:var(--muted);margin:0 0 15px}
.arcade{border:1px solid #3d424a;background:#0e121a;box-shadow:0 20px 60px #0003}
.arcade-topbar{height:40px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;background:#171c23;font:9px var(--mono);letter-spacing:1.3px}
.arcade-topbar>span,.arcade-topbar>div{display:flex;align-items:center;gap:12px}
.live-dot{display:block;width:5px;height:5px;background:var(--gold)}
.utility-button{display:flex;align-items:center;gap:8px;background:none;padding:6px 3px;font:9px var(--mono);letter-spacing:1px;color:#b7bdc6}
.utility-button:hover{color:var(--gold)}
.utility-button svg{width:17px;height:17px}
.toolbar-divider{width:1px;height:14px;background:#373d47}
.game-viewport{position:relative;aspect-ratio:16/9;overflow:hidden;outline:none;background:#141c35;isolation:isolate}
#game{display:block;width:100%;height:100%;image-rendering:pixelated}
.scanlines{position:absolute;inset:0;pointer-events:none;z-index:2;background:repeating-linear-gradient(transparent 0,transparent 3px,#00000012 3px,#00000012 4px);opacity:.5}
.game-hud{position:absolute;top:5%;left:4%;right:4%;display:flex;justify-content:space-between;text-shadow:2px 2px #0a0b13;font-family:var(--mono);z-index:3;pointer-events:none}
.hud-score>span,.hud-best>span{font-size:9px;letter-spacing:2px;display:block;margin-bottom:5px}
.hud-score strong{font-size:clamp(21px,3.2vw,44px);font-weight:700;letter-spacing:3px}
.hud-best{text-align:right}
.hud-best strong{font-size:clamp(16px,2vw,27px);color:var(--gold);letter-spacing:2px}
.hud-location{text-align:center;padding-top:4px;font-size:10px;letter-spacing:2px}
.hud-location small{display:block;font-size:7px;letter-spacing:1px;color:#c4bbc6;margin-top:7px}
.overlay{position:absolute;inset:0;z-index:4}
.start-screen{background:linear-gradient(90deg,#090e1ddb 0%,#0b112368 40%,transparent 72%);display:flex;align-items:center;padding:5%}
.menu-copy{width:50%}
.start-kicker{font:9px var(--mono);letter-spacing:1.8px;color:var(--gold);margin:0 0 17px}
.overlay h2{font-size:clamp(30px,4.7vw,65px);line-height:.95;letter-spacing:-2px;font-weight:900;font-style:italic;margin:0 0 20px}
.overlay h2 span{color:var(--gold)}
.start-description{font-size:13px;line-height:1.8;color:#c3c7ce;margin:0 0 22px}
.primary-button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:46px;padding:15px 22px;background:var(--gold);color:#070909;font:bold 11px var(--mono);letter-spacing:.6px;border:1px solid var(--gold)}
.primary-button:hover:not(:disabled){background:#8ffcff;transform:translateY(-1px)}
.secondary-button{display:block;background:#0e142375;border:1px solid #adb2c54d;padding:12px 16px;font:9px var(--mono);letter-spacing:1px;margin-top:10px}
.secondary-button:hover{background:#28303e}
.start-hint{display:block;font:8px var(--mono);letter-spacing:1.3px;margin-top:14px;color:#a5abb8}
.menu-car-caption{position:absolute;right:5%;bottom:6%;text-align:right;text-shadow:1px 2px #050915;font-family:var(--mono)}
.menu-car-caption>span{font-size:9px;letter-spacing:3px;color:var(--gold)}
.menu-car-caption strong{display:block;font-family:var(--sans);font-size:28px;margin:6px 0;letter-spacing:-.7px}
.menu-car-caption small{font-size:8px;letter-spacing:2px;color:#b3b9c4}
.state-screen{background:#080e1ce8;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px}
.state-screen p:not(.start-kicker){font-size:12px;color:#b8bfcd;margin:0 0 15px}
.result-score{font:bold 46px var(--mono);color:var(--gold)}
.result-label{font:8px var(--mono);letter-spacing:3px;margin:4px 0 22px}
.win-screen{padding:5%;background:linear-gradient(90deg,#101522df,transparent 85%)}
.win-screen p:not(.start-kicker){font-size:12px}
.win-screen>strong{display:block;color:var(--gold);font:12px var(--mono);margin:20px 0}
.win-screen h2{font-size:clamp(30px,4vw,56px)}
.countdown{position:absolute;inset:0;z-index:5;display:grid;place-items:center;font:bold italic 100px var(--mono);text-shadow:4px 4px #191628;color:var(--gold);pointer-events:none}
.game-bottom-hud{position:absolute;bottom:5%;left:4%;right:4%;display:flex;justify-content:space-between;align-items:end;z-index:3;text-shadow:2px 2px #081020;pointer-events:none}
.car-name span{display:block;font:8px var(--mono);color:var(--gold);letter-spacing:2px}
.car-name b{display:block;font:bold 16px var(--sans);margin:5px 0}
.car-name small{font:7px var(--mono);letter-spacing:2px;color:#b1b8c6}
.difficulty{width:120px;margin-bottom:4px;font:8px var(--mono);letter-spacing:1px}
.difficulty b{color:var(--gold);font-size:14px;margin-left:6px}
.difficulty small{font-size:7px;color:#c2c6d0}
.difficulty-track{height:3px;background:#ffffff30;margin-top:8px}
.difficulty-track i{display:block;background:var(--gold);height:100%;width:0}
.speed-display{position:relative;display:flex;align-items:baseline;gap:6px;padding-bottom:10px;font-family:var(--mono)}
.speed-display strong{font:bold italic clamp(28px,4vw,52px) var(--sans);letter-spacing:-2px}
.speed-display>span:not(.gear){font-size:8px}
.gear{border:1px solid #bff7f877;min-width:22px;text-align:center;padding:3px;font-size:16px;color:var(--gold);margin-right:4px}
.rev-bars{display:flex;position:absolute;bottom:0;right:0;gap:3px}
.rev-bars i{height:4px;width:7px;background:#f3f0e533;transform:skewX(-17deg)}
.rev-bars .on{background:var(--gold)}
.rev-bars i:nth-child(n+12).on{background:#e57871}
.pause-button{position:absolute;right:4%;top:21%;z-index:5;background:#111a2a99;border:1px solid #a6b1c755;font-size:15px;padding:7px 12px}
.game-toast{position:absolute;top:25%;width:100%;text-align:center;z-index:4;color:var(--gold);font:bold 11px var(--mono);text-shadow:2px 2px #080c18;pointer-events:none}
.curve-indicator{position:absolute;top:34%;left:50%;transform:translateX(-50%);z-index:3;background:#172238cf;color:#b8fdff;border:1px solid #00ffff55;padding:7px 10px;white-space:nowrap;font:9px var(--mono)}
.touch-controls{display:none}
.under-game{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:23px 0 26px}
.controls{display:flex;align-items:center;gap:18px;color:#959eaa;font-size:9px}
.controls>span{white-space:nowrap}
.controls-title{font:8px var(--mono);letter-spacing:1px;color:#6e7885}
.controls b{font-weight:400;margin-left:6px}
.controls kbd{display:inline-flex;align-items:center;justify-content:center;min-width:23px;height:23px;border:1px solid #404854;border-bottom:2px solid #404854;font:10px var(--mono);color:#d3d6dc;margin-right:3px}
.under-game>p{margin:0;text-align:right;font:8px var(--mono);letter-spacing:.6px;color:var(--gold);line-height:1.8}
.under-game>p span{display:block;color:#7d8693}
.collection-strip{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:32px 0}
.collection-strip .eyebrow{font-size:8px;letter-spacing:1.3px;margin-bottom:10px}
.collection-strip h2{font-size:23px;font-weight:400;letter-spacing:-.8px;margin:0}
.collection-strip>p{font:9px/1.9 var(--mono);color:#7f8996;letter-spacing:1px}
.collection-strip button{color:var(--gold)}
dialog{border:1px solid #484c53;background:#13181f;color:var(--text);padding:38px;width:min(520px,calc(100% - 28px));max-height:calc(100dvh - 32px);overflow:auto;box-shadow:0 35px 100px #000b}
dialog::backdrop{background:#04070cdb;backdrop-filter:blur(8px)}
dialog h2{font-size:30px;letter-spacing:-1px;margin:0 0 20px}
dialog p:not(.eyebrow){font-size:13px;line-height:1.8;color:#a8b0bb}
dialog .dialog-note{font-size:11px;color:#798694}
.dialog-close{position:absolute;right:18px;top:14px;font-size:28px;color:#b0b6c1;background:transparent;padding:3px 7px}
dialog dl{margin:24px 0}
dialog dl>div{display:flex;gap:20px;padding:10px 0;border-bottom:1px solid #303640;font-size:11px}
dialog dt{width:100px;flex-shrink:0;color:var(--gold);font-family:var(--mono)}
dialog dd{margin:0;color:#b5bdc7}
.garage-dialog{width:min(1110px,calc(100% - 40px));padding:28px}
.garage-heading{display:flex;justify-content:space-between;position:relative}
.garage-heading .dialog-close{position:static;align-self:flex-start}
.garage-heading h2{font-size:35px;letter-spacing:-1.5px;font-weight:900;font-style:italic;margin-bottom:24px}
.garage-heading h2 span{color:var(--gold)}
.garage-heading .eyebrow{font-size:8px;margin-bottom:9px}
.garage-showcase{display:grid;grid-template-columns:1.7fr 1fr;background:#0e141c;border:1px solid #2f3742;min-height:290px}
.garage-stage{position:relative;overflow:hidden;display:flex;align-items:center;background:radial-gradient(ellipse at 50% 65%,#35404e6e,transparent 65%)}
.garage-number{position:absolute;top:-5px;left:20px;font:bold italic 190px var(--sans);color:#c6d8e307;letter-spacing:-14px}
.garage-stage canvas{position:relative;z-index:2;width:100%;height:auto;image-rendering:pixelated}
.garage-floor{position:absolute;bottom:-90px;left:-50%;width:200%;height:200px;transform:perspective(190px) rotateX(50deg);background:linear-gradient(#69768e24 1px,transparent 1px),linear-gradient(90deg,#69768e24 1px,transparent 1px);background-size:42px 28px;border-top:1px solid #66718544}
.stage-caption{position:absolute;bottom:16px;left:20px;color:#647384;font:6px var(--mono);letter-spacing:1.8px}
.garage-info{padding:28px 26px;border-left:1px solid #2e3540}
.garage-info>.eyebrow{font-size:8px;color:var(--gold);margin-bottom:17px}
.garage-info>span:not(.paint){font:9px var(--mono);letter-spacing:2px;color:#969fab}
.garage-info h3{font-size:32px;letter-spacing:-1.4px;margin:7px 0 12px}
.paint{font:9px var(--mono);color:#b4bbc4;display:flex;align-items:center;gap:7px}
.paint i{width:9px;height:9px;display:block;background:#efc63e}
.garage-info #garage-description{font-size:11px;line-height:1.7;margin:14px 0;color:#8e9aa9}
.garage-spec{border-top:1px solid #2c3440;padding-top:14px}
.garage-spec>small{font:7px var(--mono);letter-spacing:1px;color:#9ba5b2}
.garage-spec>strong{display:block;font:bold 24px var(--mono);margin-top:6px;color:#d7dde6}
.garage-spec strong span{font-weight:400;font-size:17px;color:#626e7e}
.garage-spec strong small{font-size:9px;color:#9ba5b2}
.garage-spec p{font-size:9px!important;line-height:1.6!important;margin:7px 0 0}
.car-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-top:16px}
.car-card{padding:9px 10px 13px;text-align:left;background:#191f28;border:1px solid #303947;min-width:0;position:relative}
.car-card:hover{border-color:#778494;background:#222a36}
.car-card[aria-pressed=true]{border-color:var(--gold);background:#0c2729}
.car-card[aria-pressed=true]::after{content:"";position:absolute;top:10px;right:10px;width:4px;height:4px;background:var(--gold)}
.car-card canvas{display:block;width:100%;aspect-ratio:2/1;image-rendering:pixelated;margin-bottom:10px}
.car-card small{font:7px var(--mono);letter-spacing:1px;color:#8e9aa9;display:block;margin-bottom:5px}
.car-card strong{font-size:11px;display:block;white-space:nowrap}
.garage-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:21px}
.garage-footer>span{font:9px var(--mono);color:#9ca8b7;line-height:1.6;max-width:50%}
.arcade:fullscreen{display:flex;flex-direction:column;justify-content:center;width:100vw;height:100dvh;background:#080b12;border:0}
.arcade:fullscreen .game-viewport{width:min(100vw,calc((100dvh - var(--toolbar-height,40px))*16/9));height:auto;aspect-ratio:16/9;flex:none;align-self:center}
.arcade:fullscreen .arcade-topbar{flex:none;width:100%}
@media(pointer:coarse){.playing .touch-controls{display:flex;position:absolute;left:3%;right:3%;bottom:3%;z-index:6;justify-content:space-between;pointer-events:none}
.touch-controls button{pointer-events:auto;width:57px;height:47px;background:#101b2ba3;border:1px solid #b1c1db6e;color:#d8fdff;font:20px var(--mono);touch-action:none;user-select:none}
.touch-controls .touch-brake{font-size:8px;letter-spacing:1px;margin-left:auto;margin-right:12px}
.playing .game-bottom-hud{bottom:19%}}
@media(max-width:1000px){.collection-strip>p{display:none}
.under-game{align-items:flex-start}
.controls{gap:10px}
.controls-title{display:none}
.garage-info{padding:20px}
.garage-info h3{font-size:27px}}
@media(max-width:650px){.arcade-topbar{padding:0 10px;font-size:7px;height:34px;letter-spacing:.6px}
.utility-button{font-size:7px}
.game-viewport{aspect-ratio:4/3;min-height:290px}
.start-screen{padding:6%;align-items:flex-start}
.menu-copy{width:72%}
.start-kicker{font-size:6px;letter-spacing:1px;margin-bottom:12px}
.overlay h2{font-size:36px;letter-spacing:-1.3px;margin-bottom:14px}
.start-description{font-size:9px;line-height:1.7;margin-bottom:13px}
.primary-button{font-size:9px;min-height:38px;padding:11px 13px;gap:10px}
.secondary-button{font-size:8px;padding:9px 12px;margin-top:8px}
.start-hint{font-size:6px;letter-spacing:.5px;margin-top:10px}
.menu-car-caption{right:5%;bottom:6%}
.menu-car-caption>span{font-size:7px}
.menu-car-caption strong{font-size:18px;margin:4px 0}
.menu-car-caption small{font-size:6px}
.game-hud{top:5%}
.hud-score>span,.hud-best>span{font-size:6px;letter-spacing:1px}
.hud-score strong{font-size:24px;letter-spacing:1px}
.hud-best strong{font-size:17px}
.hud-location{font-size:7px;letter-spacing:.5px}
.hud-location small{display:none}
.game-bottom-hud{bottom:5%}
.car-name b{font-size:10px}
.car-name span{font-size:6px;letter-spacing:1px}
.car-name small{font-size:5px}
.difficulty{width:80px;font-size:6px;letter-spacing:0}
.difficulty b{font-size:11px}
.difficulty small{font-size:5px}
.speed-display strong{font-size:31px}
.speed-display>span:not(.gear){font-size:6px}
.gear{font-size:11px;min-width:18px}
.rev-bars{gap:2px}
.rev-bars i{width:5px;height:3px}
.curve-indicator{font-size:7px;padding:5px 8px;top:31%}
.game-toast{font-size:8px}
.pause-button{top:20%;font-size:10px;padding:6px 10px}
.under-game{padding:17px 0;display:block}
.controls{justify-content:center;font-size:8px}
.controls kbd{width:21px;min-width:21px;height:21px}
.under-game>p{text-align:center;margin-top:15px;font-size:7px}
.under-game>p span{display:inline;margin-left:5px;font-size:6px}
.collection-strip{padding:22px 0;gap:14px}
.collection-strip h2{font-size:16px;letter-spacing:-.4px}
.collection-strip .eyebrow{font-size:6px;letter-spacing:.7px}
.collection-strip button{font-size:8px}
.state-screen h2{font-size:36px;margin-bottom:10px}
.state-screen .result-score{font-size:32px}
.state-screen p:not(.start-kicker){font-size:10px;margin-bottom:8px}
.result-label{font-size:6px;margin-bottom:13px}
.win-screen{padding:7%}
.win-screen p:not(.start-kicker){font-size:10px}
.win-screen>strong{font-size:10px;margin:13px 0}
.garage-dialog{width:calc(100% - 16px);max-height:calc(100dvh - 16px);padding:17px}
.garage-heading h2{font-size:27px;margin-bottom:18px}
.garage-heading .eyebrow{font-size:6px}
.garage-showcase{grid-template-columns:1fr;min-height:0}
.garage-stage{height:205px}
.garage-stage canvas{height:205px;width:100%;object-fit:contain}
.garage-number{font-size:150px}
.stage-caption{font-size:5px;bottom:10px}
.garage-info{border-left:0;border-top:1px solid #2e3540;padding:16px;display:grid;grid-template-columns:1fr auto;gap:0 15px}
.garage-info>.eyebrow{grid-column:1/-1;margin:0 0 9px;font-size:6px}
.garage-info h3{grid-column:1;font-size:23px;margin:5px 0 8px}
.garage-info .paint{grid-column:1;font-size:8px}
.garage-info #garage-description{grid-column:1/-1;font-size:10px;margin:10px 0 0}
.garage-spec{grid-column:2;grid-row:2/5;border:0;padding:0;text-align:right}
.garage-spec>small{font-size:5px}
.garage-spec>strong{font-size:16px}
.garage-spec strong small{font-size:6px}
.garage-spec p{font-size:6px!important;max-width:120px}
.car-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:10px}
.car-card{padding:7px 7px 9px}
.car-card canvas{margin-bottom:4px;max-height:57px}
.car-card small{font-size:5px;letter-spacing:.7px;margin-bottom:4px}
.car-card strong{font-size:9px}
.garage-footer{padding-top:14px;gap:10px}
.garage-footer>span{font-size:7px}
.garage-footer .primary-button{font-size:8px}
.countdown{font-size:80px}
dialog:not(.garage-dialog){padding:28px 24px}
.arcade:fullscreen .game-viewport{min-height:0}
.arcade{--toolbar-height:34px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.distance-readout{display:block;margin-top:5px;font:9px var(--mono);color:#c4cbd7;letter-spacing:1px}
.brake-warning,.edge-warning{position:absolute;z-index:4;pointer-events:none;font:bold 9px var(--mono);letter-spacing:.6px;text-shadow:1px 1px #081020}
.brake-warning{top:25%;left:4%;color:var(--cian)}
.edge-warning{top:40%;left:50%;transform:translateX(-50%);color:#ffe3d2;background:#922d26dd;padding:7px 9px;white-space:nowrap}
@media(max-width:650px){.distance-readout{font-size:6px;margin-top:4px}
.brake-warning{font-size:6px;top:27%}
.edge-warning{font-size:7px}}
.boost-button{--charge:100%;--boost-color:var(--gold);position:absolute;z-index:5;right:4%;bottom:24%;width:82px;height:82px;padding:4px;border-radius:50%;background:conic-gradient(var(--boost-color) var(--charge),#43506766 0);box-shadow:0 0 0 1px #00ffff40,0 4px 20px #0005;touch-action:manipulation;user-select:none}
.boost-core{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;width:100%;height:100%;border-radius:50%;background:#101a29;border:1px solid #fff2;pointer-events:none}
.boost-core canvas{width:62px;height:auto;image-rendering:pixelated}
.boost-core strong{font:bold 12px var(--mono);letter-spacing:1px;color:var(--boost-color)}
.boost-core small{font:8px var(--mono);color:#dbe4ed;letter-spacing:.4px}
.boost-button:disabled{opacity:1;cursor:default}
.boost-button:hover:not(:disabled){--boost-color:#b8fdff;box-shadow:0 0 18px #00ffff55}
.boost-button.is-active{--boost-color:#ff8650;box-shadow:0 0 22px #ff6a334a}
.boost-button.is-charging{--boost-color:#94bfd6}
.boost-button.is-charging .boost-core strong{font-size:9px;letter-spacing:0}
.controls{flex-wrap:wrap}
.controls kbd.space-key{width:auto;padding:0 5px}
@media(max-width:650px){.boost-button{width:64px;height:64px;right:4%;bottom:28%;padding:3px}
.boost-core{gap:4px}
.boost-core canvas{width:48px}
.boost-core strong{font-size:10px}
.boost-core small{font-size:7px}
.controls{gap:9px}}
@media(pointer:coarse){.boost-button{width:57px;height:57px;bottom:3%;left:40%;right:auto;transform:translateX(-50%);z-index:6;padding:3px}
.boost-core{gap:3px}
.boost-core canvas{width:42px}
.boost-core strong{font-size:9px}
.boost-core small{font-size:6px}
.boost-button.is-charging .boost-core strong{font-size:7px}}

/* ---------- 3) Marco de la página con el diseño de la web ---------- */
.cabecera-juego {
  background: rgba(7, 9, 9, .88);
  -webkit-backdrop-filter: blur(14px) saturate(1.3);
  backdrop-filter: blur(14px) saturate(1.3);
  box-shadow: 0 1px 0 rgba(255, 255, 255, .08);
  color: var(--blanco);
}
.cabecera-nav a[aria-current="page"] { color: var(--cian); }
.cabecera-nav a[aria-current="page"]::after { transform: scaleX(1); }
.juego-main { padding-top: calc(env(safe-area-inset-top, 0px) + 70px); }

.juego-intro {
  position: relative; isolation: isolate;
  display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end;
  gap: 24px 56px; padding-block: clamp(40px, 6vw, 72px) clamp(24px, 3vw, 36px);
}
.juego-intro .antetitulo { color: var(--cian); }
.juego-intro-tribal {
  position: absolute; z-index: -1; right: 0; top: -18%;
  width: min(34vw, 340px); height: auto; aspect-ratio: 749 / 727;
  fill: var(--cian); opacity: .12; pointer-events: none;
}
.juego-intro-izq { min-width: 0; }
.juego-titulo {
  margin: 14px 0 0;
  font: italic 800 clamp(2.5rem, 7.4vw, 6rem)/.9 var(--letra-display);
  font-stretch: 125%; letter-spacing: -.02em; text-transform: uppercase;
}
.juego-titulo span { color: var(--cian); text-shadow: 0 0 26px rgba(0, 255, 255, .45); }
.juego-titulo sup {
  margin-left: 6px; vertical-align: top;
  font: 500 .9rem/1 var(--letra-mono); font-style: normal; color: var(--gris-noche);
}
.juego-intro-dcha { display: grid; gap: 16px; max-width: 42ch; min-width: 0; }
.juego-intro-texto { margin: 0; color: var(--gris-noche); line-height: 1.6; }
.juego-intro-texto strong { color: var(--blanco); font-weight: 600; }
.juego-acciones { display: flex; flex-wrap: wrap; gap: 10px; }
.juego-acciones small {
  padding: 3px 6px; border-radius: 4px; background: var(--negro); color: var(--cian);
  font: 500 .68rem/1 var(--letra-mono); font-style: normal; letter-spacing: .06em;
}
.juego-acciones .boton-borde { background: transparent; }
.juego-acciones .boton:disabled { opacity: .4; cursor: not-allowed; transform: none; box-shadow: none; }

/* Marco del juego */
.arcade {
  border: 1px solid #243334; border-radius: var(--radio); overflow: hidden;
  background: #0a0f0f; box-shadow: 0 30px 80px -34px rgba(0, 255, 255, .35);
}
.arcade:fullscreen { border-radius: 0; }
.arcade-topbar { background: var(--negro-2); }
.live-dot { border-radius: 50%; box-shadow: 0 0 8px var(--cian); }

/* Botones y letras del juego con el estilo de la marca (los tamaños son los del juego) */
.primary-button {
  border-radius: 10px;
  font-family: var(--letra-display); font-style: italic; font-weight: 800; font-stretch: 112%;
  letter-spacing: .04em; text-transform: uppercase;
}
.primary-button:hover:not(:disabled) { box-shadow: 0 10px 26px -10px rgba(0, 255, 255, .9); }
.secondary-button { border-radius: 8px; }
.overlay h2, .garage-heading h2, dialog h2 { font-family: var(--letra-display); font-stretch: 100%; text-transform: uppercase; }
.speed-display strong, .menu-car-caption strong, .car-name b, .garage-info h3, .garage-number {
  font-family: var(--letra-display);
}
.eyebrow { font-family: var(--letra-mono); text-transform: uppercase; letter-spacing: .14em; }
.controls kbd { border-radius: 6px; }

/* Debajo del juego */
.under-game { padding-inline: 2px; }
.collection-strip { border-color: rgba(255, 255, 255, .1); }
.collection-strip h2 {
  margin: 0;
  font: italic 800 clamp(1.1rem, 2vw, 1.5rem)/1.1 var(--letra-display);
  font-stretch: 112%; letter-spacing: 0; text-transform: uppercase;
}
.collection-strip .text-button {
  display: inline-flex; align-items: center; gap: 8px; flex: none;
  padding: 12px 18px; border: 1.5px solid rgba(255, 255, 255, .35); border-radius: 10px;
  background: none; color: var(--blanco);
  font: italic 800 .78rem/1 var(--letra-display); font-stretch: 112%; letter-spacing: .04em; text-transform: uppercase;
  transition: border-color .2s, color .2s, transform .2s var(--curva);
}
.collection-strip .text-button:hover:not(:disabled) { border-color: var(--cian); color: var(--cian); transform: translateY(-2px); }

/* Ventanas (garaje y controles) */
dialog { border-radius: 16px; border-color: #243334; background: #0d1414; }
.garage-showcase { border-radius: 12px; overflow: hidden; }
.car-card { border-radius: 10px; }

/* Pie */
.pagina-juego .pie { margin-top: clamp(40px, 6vw, 72px); border-top: 1px solid rgba(255, 255, 255, .08); }

@media (max-width: 650px) {
  /* el juego ocupa todo el ancho del móvil sin salirse por la derecha */
  .juego-marco { padding-inline: 10px; }
  .game-viewport { width: 100%; min-height: 0; }
  .juego-intro { padding-block: 28px 18px; }
  .juego-intro-tribal { width: 46vw; top: -6%; }
  .collection-strip { flex-wrap: wrap; }
}
