.desk { position: fixed; inset: 0; background:
  radial-gradient(ellipse 60% 45% at var(--fx-desk-glow-at, 40% 0%), var(--fx-desk-glow, rgba(255,186,105,.12)), var(--fx-desk-glow-2, rgba(255,186,105,.04)) 60%, transparent 85%),
  radial-gradient(ellipse 80% 85% at 48% 50%, transparent var(--fx-desk-vig-stop, 52%), var(--fx-desk-vig, rgba(0,0,0,.58)) 100%),
  linear-gradient(180deg, var(--fx-desk-0, #19212d) 0%, var(--fx-desk-1, #141b26) 60%, var(--fx-desk-2, #0f141c) 100%); }
.desk-grain { position: absolute; inset: 0; background: var(--noise); mix-blend-mode: overlay; opacity: .35; pointer-events: none; }
.desk-lamp { position: absolute; inset: 0; pointer-events: none; background: radial-gradient(ellipse 64% 78% at 48% 52%, transparent 62%, rgba(6,8,14,.2) 100%); }
/* overflow: lo que la locura dibuja fuera del plano (los tentáculos que entran desde el borde) no asoma en las franjas de los costados (1280×720, 1920×1080). */
.stage { position: fixed; left: 50%; top: 50%; width: 1440px; height: 900px; transform: translate(-50%, -50%) scale(var(--scale, 1)); transform-origin: center; overflow: hidden; }
.screen { position: absolute; inset: 0; }
/* «PUERTO UMBRAL» (Plan 10F): doce letras y un espacio, unos 260 px; entra con el progreso y la navegación */
.wordmark { font: 900 24px/1 var(--f-display); letter-spacing: .14em; white-space: nowrap; color: #f0e4c8; text-shadow: 0 1px 0 rgba(0,0,0,.6); }
.boot { display: grid; place-content: center; gap: 18px; text-align: center; }
.boot .wordmark { font-size: 64px; }
.boot p { font-size: 16px; color: rgba(236,223,195,.7); }
