/* Crucigrama · motor Crucigrama (sesión de los motores, 19 oct, tanda 2). Mismo aire que Sopa y Destapar. Sin scroll. */
.cr {
  --cr-noche: #1B2A5C; --cr-noche-2: #121c40; --cr-oro: #F5C542; --cr-crema: #fff8e8; --cr-tinta: #2b2140; --cr-bien: #2fa866; --cr-mal: #d9534f;
  position: relative; display: flex; flex-direction: column; width: 100%; height: 100%; min-height: 0; overflow: hidden;
  background: radial-gradient(120% 80% at 50% 0%, #26397a 0%, var(--cr-noche-2) 70%); color: #fff;
  font-family: "Baloo 2", "Nunito", system-ui, sans-serif; user-select: none; -webkit-user-select: none; -webkit-tap-highlight-color: transparent;
}
.cr * { box-sizing: border-box; }
.cr button { font-family: inherit; }
.cr [hidden] { display: none !important; }
.cr button:focus-visible { outline: 3px solid var(--cr-oro); outline-offset: 2px; }
.cr-top { display: flex; align-items: center; gap: 8px; padding: 8px 10px; background: var(--cr-noche); border-bottom: 1px solid rgba(245,197,66,.25); min-height: 72px; flex: 0 0 auto; }
.sj-hay-casa .cr-top { padding-left: 80px; }
.cr-casa { flex: 0 0 auto; width: 56px; height: 56px; border-radius: 18px; border: 2px solid rgba(255,255,255,.25); background: rgba(255,255,255,.08); color: #fff; font-size: 26px; cursor: pointer; }
.cr-globo { flex: 1; min-width: 0; background: var(--cr-crema); color: var(--cr-tinta); border-radius: 18px; padding: 6px 12px; min-height: 56px; display: flex; flex-direction: column; justify-content: center; box-shadow: 0 4px 0 rgba(0,0,0,.18); }
.cr-globo-txt { font-weight: 800; font-size: clamp(18px, 4.4vw, 24px); line-height: 1.15; }
.cr-globo-sub { font-size: 18px; font-weight: 600; opacity: .85; line-height: 1.2; }
.cr-cuerpo { flex: 1; min-height: 0; display: flex; flex-direction: column; gap: 8px; padding: 8px 12px calc(8px + env(safe-area-inset-bottom, 0px)); }
.cr-mesa { flex: 1; min-height: 0; display: flex; align-items: center; justify-content: center; }
.cr-tablero { display: grid; gap: 3px; }
.cr-vacia { visibility: hidden; }
.cr-casilla { position: relative; display: flex; align-items: center; justify-content: center; border-radius: 9px; background: var(--cr-crema); color: var(--cr-tinta); font-weight: 800; cursor: pointer; box-shadow: 0 3px 0 rgba(0,0,0,.25); }
.cr-casilla.sel { background: #ffe7a3; box-shadow: 0 0 0 3px var(--cr-oro), 0 3px 0 rgba(0,0,0,.25); }
.cr-casilla.fija .cr-letra { color: #6b5a8a; }
.cr-casilla.bien { background: var(--cr-bien); color: #fff; }
.cr-casilla.bien .cr-letra { color: #fff; }
.cr-casilla.no { background: var(--cr-mal); color: #fff; animation: cr-no .35s ease; }
.cr-letra { font-size: var(--cr-letra, 22px); line-height: 1; }
.cr-num { position: absolute; top: 2px; left: 4px; font-size: 13px; font-weight: 800; opacity: .7; }
.cr-panel { flex: 0 0 auto; display: flex; flex-direction: column; gap: 8px; }
.cr-pista { display: flex; align-items: center; gap: 10px; min-height: 56px; background: rgba(255,255,255,.08); border-radius: 18px; padding: 6px 12px; }
.cr-pista-cab { font-size: 18px; font-weight: 700; color: var(--cr-oro); flex: 0 0 auto; max-width: 30%; line-height: 1.15; }
.cr-pista-dib { font-size: 44px; line-height: 1; flex: 1; text-align: center; }
.cr-pista-txt { flex: 1; font-size: clamp(18px, 4.4vw, 22px); font-weight: 800; line-height: 1.2; }
.cr-oir { flex: 0 0 auto; width: 52px; height: 52px; border-radius: 16px; border: 2px solid rgba(255,255,255,.25); background: rgba(255,255,255,.1); color: #fff; font-size: 24px; cursor: pointer; margin-left: auto; }
.cr-fichas { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.cr-ficha { width: 52px; height: 56px; border-radius: 14px; border: 0; background: var(--cr-crema); color: var(--cr-tinta); font-size: 26px; font-weight: 800; cursor: pointer; box-shadow: 0 4px 0 rgba(0,0,0,.3); }
.cr-ficha:disabled { opacity: .18; box-shadow: none; cursor: default; }
.cr-abajo { display: flex; align-items: center; gap: 8px; }
.cr-numeros { flex: 1; display: flex; flex-wrap: wrap; gap: 6px; }
.cr-n { min-width: 56px; height: 48px; padding: 0 8px; border-radius: 14px; border: 2px solid rgba(255,255,255,.2); background: rgba(255,255,255,.08); color: #fff; font-size: 18px; cursor: pointer; display: inline-flex; align-items: center; gap: 3px; }
.cr-n.sel { border-color: var(--cr-oro); background: rgba(245,197,66,.2); }
.cr-n.bien { background: var(--cr-bien); border-color: transparent; }
.cr-n:disabled { cursor: default; }
.cr-n-dib { font-size: 20px; }
.cr-dir { opacity: .8; }
.cr-una { flex: 0 0 auto; min-height: 48px; padding: 4px 14px; border-radius: 16px; border: 2px solid rgba(245,197,66,.6); background: rgba(245,197,66,.15); color: #fff; font-size: 18px; font-weight: 800; cursor: pointer; }
.cr-una:disabled { opacity: .45; cursor: default; }
.cr-fin { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: rgba(18,28,64,.82); z-index: 5; }
.cr-fin-caja { background: var(--cr-crema); color: var(--cr-tinta); border-radius: 24px; padding: 22px 26px; text-align: center; box-shadow: 0 6px 0 rgba(0,0,0,.25); }
.cr-fin-caja h2 { margin: 0 0 4px; font-size: 30px; color: #b07a00; }
.cr-fin-caja p { margin: 0; font-size: 18px; font-weight: 700; }
@keyframes cr-no { 0%, 100% { transform: translateX(0); } 25% { transform: translateX(-5px); } 75% { transform: translateX(5px); } }
@media (prefers-reduced-motion: reduce) { .cr-casilla.no { animation: none; } }
@media (min-width: 900px), (orientation: landscape) and (max-height: 520px) {
  .cr-cuerpo { flex-direction: row; }
  .cr-panel { width: min(44%, 460px); justify-content: center; }
}
@media (orientation: landscape) and (max-height: 520px) {
  .cr-top { min-height: 56px; padding: 4px 8px; }
  .cr-globo { min-height: 46px; padding: 3px 10px; }
  .cr-panel { gap: 6px; }
  .cr-ficha { width: 48px; height: 48px; font-size: 22px; }
  .cr-pista { min-height: 48px; padding: 2px 10px; }
  .cr-pista-dib { font-size: 34px; }
}
