/* Las páginas de juego y desenlace usan la tipografía y los colores editoriales. */
.game-page,.unlock-page{background:#090909;color:#f5f3ef;min-height:100dvh;overflow-x:hidden}
.game-page-header{display:flex;align-items:center;gap:clamp(16px,3vw,40px);min-height:60px;padding:10px clamp(14px,3vw,42px);border-bottom:4px solid var(--red);font-size:11px;font-weight:800;letter-spacing:.11em}
.game-page-header a{text-decoration:none}.game-page-header a:hover{color:#e33b40}
.back-mobile{display:none}
.game-page-brand{font-size:17px;color:#fff}.game-page-header>span{margin-left:auto;color:#bdb3b1}
.game-page-main{max-width:1500px;margin:auto;padding:clamp(12px,2vh,25px) clamp(12px,3vw,42px) 25px}
.game-page-main .game-column{margin:auto;max-width:1450px}.game-page-main .game-frame{aspect-ratio:760/500;max-height:calc(100dvh - 165px);margin:auto}
.game-page-main .game-frame:fullscreen{max-height:none;width:100vw;height:100dvh;aspect-ratio:auto;background:#000}
.game-page-main .game-frame:fullscreen iframe{width:100%;height:100%}
.fullscreen-exit{display:none;position:absolute;top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));z-index:20;min-width:82px;min-height:44px;padding:9px 14px;border:1px solid #fff;background:#090909dd;color:#fff;font-size:12px;font-weight:800;letter-spacing:.08em;cursor:pointer}
.game-page-main .game-frame:fullscreen .fullscreen-exit{display:block}
.rotate-hint{display:none;text-align:center;font-size:11px;letter-spacing:.12em;color:#bdb3b1}
.unlock-main{padding:clamp(35px,8vw,115px) clamp(18px,5vw,70px);background:linear-gradient(125deg,#080808 30%,#27090c 100%)}
.unlock-card{max-width:1100px;margin:auto;border-top:7px solid var(--red);padding:clamp(24px,4vw,60px) 0}
.unlock-card h1{font:normal clamp(52px,10vw,135px)/.93 Georgia,serif;letter-spacing:-.055em;margin:18px 0 26px}
.unlock-hero{font-size:clamp(21px,3vw,42px);font-weight:800;line-height:1.16;letter-spacing:.05em;margin:0 0 20px}
.unlock-chapter-title{font:normal clamp(29px,4vw,48px)/1.1 Georgia,serif;margin:0 0 12px}
.unlock-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:32px;align-items:center}
.unlock-actions a,.unlock-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 17px;border:1px solid #bdb3b1;background:transparent;color:#fff;text-decoration:none;font-size:12px;font-weight:800;letter-spacing:.08em;cursor:pointer}
.unlock-actions #watch-chapter{background:var(--red);border-color:var(--red)}
.unlock-actions button{background:var(--red);border-color:var(--red)}.unlock-actions button:disabled{opacity:.58;cursor:not-allowed}
.unlock-actions #film-pending{flex-basis:100%;order:1;color:#d3c5c5;font-size:13px;margin:0}.unlock-actions #film-pending[hidden]{display:none}
.unlock-page .player-archive{max-width:none}.unlock-page .player-archive-board{width:min(670px,100%)}
@media(max-width:700px){.game-page-header{flex-wrap:wrap;gap:4px 16px}.game-page-header>span{width:100%;margin:0}.back-desktop{display:none}.back-mobile{display:inline}.game-page-main .game-column{border-width:4px}.game-page-main .game-frame{max-height:none}.game-page-main .game-toolbar{flex-wrap:wrap}.rotate-hint{display:block}.unlock-actions{display:grid;grid-template-columns:1fr}.unlock-actions #film-pending{order:0}}
@media(orientation:landscape) and (max-height:600px) and (max-width:950px){.game-page-header{min-height:38px;padding:4px 12px}.game-page-header span{display:none}.game-page-main{padding:4px 8px}.game-page-main .game-frame{height:calc(100dvh - 93px);aspect-ratio:auto}.game-page-main .game-topline{display:none}.rotate-hint{display:none}}

/* Recompensa breve y acciones secundarias legibles. */
.unlock-summary{font-size:18px;line-height:1.5}
.unlock-actions a{font-size:14px;line-height:1.45;max-width:100%;white-space:normal;overflow-wrap:anywhere}
.unlock-actions a[hidden]{display:none}
.unlock-actions #watch-film{flex-basis:100%;justify-content:flex-start;border:0;border-bottom:1px solid #645657;padding-left:0;color:#cfc4c3}
.unlock-actions #watch-film:hover{color:#fff}
.unlock-card h1{overflow-wrap:normal}
@media(max-width:700px){.unlock-main{padding:34px 18px}.unlock-card h1{font-size:clamp(48px,12vw,84px)}.unlock-hero{font-size:clamp(20px,5.5vw,29px)}.unlock-actions #watch-film{justify-content:center;padding:12px 17px;border:1px solid #645657}}
.game-page-header{font-size:13px;letter-spacing:.07em}.game-page-header a{min-height:44px;display:inline-flex;align-items:center}
@media(orientation:landscape) and (max-height:600px) and (max-width:950px){.game-page-main .game-frame{height:calc(100dvh - 110px)}}

/* Aprovechar la ventana disponible sin modificar el canvas ni sus controles. */
@media(orientation:landscape) and (max-height:600px) and (max-width:1100px){
  .game-page{height:100vh;height:100dvh;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr)}
  .game-page-header{min-height:44px;padding:0 max(8px,env(safe-area-inset-right)) 0 max(8px,env(safe-area-inset-left));gap:12px;box-sizing:border-box;flex-wrap:nowrap}
  .game-page-header>span,.game-page-header .back-desktop{display:none}
  .game-page-header .back-mobile{display:inline-flex;align-items:center;gap:6px}
  .game-page-header #back-to-site{margin-left:auto}
  .game-page-main{width:100%;height:100%;min-height:0;box-sizing:border-box;padding:0 max(4px,env(safe-area-inset-right)) 0 max(4px,env(safe-area-inset-left))}
  .game-page-main .game-column{height:100%;min-height:0;box-sizing:border-box;display:grid;grid-template-rows:minmax(0,1fr) 44px;border-width:0;box-shadow:none}
  .game-page-main .game-frame{height:100%;min-height:0;max-height:none;aspect-ratio:auto}
  .game-page-main .game-topline,.game-page-main .desktop-hint,.game-page-main .mobile-hint,.rotate-hint{display:none}
  .game-page-main .game-toolbar{min-height:0;padding:0 6px;justify-content:flex-end;box-sizing:border-box;flex-wrap:nowrap}
  .game-page-main .game-toolbar button{min-height:44px;padding:4px 10px;font-size:12px}
}
.game-expanded{overflow:hidden}
.game-expanded .game-page-main .game-column{position:fixed;inset:0;z-index:1000;width:100%;max-width:none;height:100vh;height:100dvh;margin:0;padding:0 env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);box-sizing:border-box;display:grid;grid-template-rows:minmax(0,1fr) 44px;border:0;box-shadow:none;background:#000}
.game-expanded .game-page-main .game-topline,.game-expanded .game-page-main .desktop-hint,.game-expanded .game-page-main .mobile-hint{display:none}
.game-expanded .game-page-main .game-frame{width:100%;height:100%;min-height:0;max-height:none;aspect-ratio:auto}
.game-expanded .fullscreen-exit{display:inline-flex;align-items:center;gap:6px}
.game-expanded .game-page-main .game-toolbar{min-height:0;padding:0 6px;justify-content:flex-end;flex-wrap:nowrap;box-sizing:border-box}
.game-expanded .game-page-main .game-toolbar button{min-height:44px;padding:4px 10px;font-size:12px}
