/* juego.css - Pantalla de juego de los casos interactivos */

.juego-body{
  --amb-1: rgba(194,51,77,0.22);
  --amb-2: rgba(212,175,55,0.14);
  --amb-banner: linear-gradient(135deg, #1a1424 0%, #0b0f17 100%);
  background: var(--noir);
  min-height:100vh;
}
.juego-body::before{opacity:0.05;}

/* Ambientes por escena */
.juego-body[data-ambiente="tormenta"]{--amb-1:rgba(99,102,241,0.22); --amb-2:rgba(148,163,184,0.12); --amb-banner:linear-gradient(160deg,#141b33 0%,#0b0f17 55%,#1d1030 100%);}
.juego-body[data-ambiente="comedor"]{--amb-1:rgba(212,175,55,0.22); --amb-2:rgba(194,51,77,0.14); --amb-banner:linear-gradient(140deg,#3a2414 0%,#1a110c 60%,#0b0f17 100%);}
.juego-body[data-ambiente="noche"]{--amb-1:rgba(59,130,246,0.16); --amb-2:rgba(212,175,55,0.08); --amb-banner:linear-gradient(160deg,#0e1730 0%,#0b0f17 100%);}
.juego-body[data-ambiente="estudio"]{--amb-1:rgba(34,197,94,0.16); --amb-2:rgba(194,51,77,0.2); --amb-banner:linear-gradient(140deg,#0f2a1d 0%,#120d0c 60%,#2a0e16 100%);}
.juego-body[data-ambiente="vestibulo"]{--amb-1:rgba(212,175,55,0.16); --amb-2:rgba(148,163,184,0.12); --amb-banner:linear-gradient(140deg,#24201a 0%,#0f0d0c 60%,#16161f 100%);}
.juego-body[data-ambiente="conservatorio"]{--amb-1:rgba(167,139,250,0.2); --amb-2:rgba(45,212,191,0.12); --amb-banner:linear-gradient(150deg,#211a3a 0%,#0e1a1f 70%,#0b0f17 100%);}
.juego-body[data-ambiente="billar"]{--amb-1:rgba(22,163,74,0.2); --amb-2:rgba(212,175,55,0.14); --amb-banner:linear-gradient(140deg,#0c2a17 0%,#1b130b 70%,#0b0f17 100%);}
.juego-body[data-ambiente="cocina"]{--amb-1:rgba(249,115,22,0.22); --amb-2:rgba(212,175,55,0.12); --amb-banner:linear-gradient(140deg,#3a1d0c 0%,#1a0f0a 60%,#0b0f17 100%);}
.juego-body[data-ambiente="biblioteca"]{--amb-1:rgba(234,88,12,0.18); --amb-2:rgba(212,175,55,0.16); --amb-banner:linear-gradient(140deg,#2c1a0d 0%,#140e0b 60%,#0b0f17 100%);}
.juego-body[data-ambiente="invernadero"]{--amb-1:rgba(132,204,22,0.18); --amb-2:rgba(168,85,247,0.16); --amb-banner:linear-gradient(150deg,#14290f 0%,#0f1a14 50%,#24123a 100%);}
.juego-body[data-ambiente="salon"]{--amb-1:rgba(194,51,77,0.26); --amb-2:rgba(212,175,55,0.2); --amb-banner:linear-gradient(140deg,#3a0f1a 0%,#1a0d10 55%,#2a2010 100%);}
.juego-body[data-ambiente="vagon"]{--amb-1:rgba(251,191,36,0.2); --amb-2:rgba(148,163,184,0.16); --amb-banner:linear-gradient(140deg,#2a1e12 0%,#12141c 60%,#0b0f17 100%);}
.juego-body[data-ambiente="nieve"]{--amb-1:rgba(186,230,253,0.22); --amb-2:rgba(148,163,184,0.18); --amb-banner:linear-gradient(160deg,#1b2733 0%,#0e1520 60%,#0b0f17 100%);}
.juego-body[data-ambiente="casa_oscura"]{--amb-1:rgba(88,28,135,0.3); --amb-2:rgba(194,51,77,0.12); --amb-banner:linear-gradient(160deg,#150b1f 0%,#0a0710 70%,#0b0f17 100%);}
.juego-body[data-ambiente="sotano"]{--amb-1:rgba(20,83,45,0.28); --amb-2:rgba(100,116,139,0.12); --amb-banner:linear-gradient(160deg,#0b1a12 0%,#07100c 70%,#0b0f17 100%);}
.juego-body[data-ambiente="estacion"]{--amb-1:rgba(34,211,238,0.22); --amb-2:rgba(99,102,241,0.18); --amb-banner:linear-gradient(150deg,#081c2a 0%,#0b0f17 60%,#160f2e 100%);}
.juego-body[data-ambiente="alerta"]{--amb-1:rgba(239,68,68,0.3); --amb-2:rgba(34,211,238,0.1); --amb-banner:linear-gradient(150deg,#2a0b10 0%,#0b0f17 70%,#081c2a 100%);}

/* Recurso (cuenta regresiva) */
.chip-recurso{color:#a5f3fc; border-color:rgba(165,243,252,0.3); background:rgba(34,211,238,0.1); font-variant-numeric:tabular-nums;}
.chip-recurso.is-bajo{color:var(--dorado-2); border-color:rgba(241,209,111,0.35); background:rgba(212,175,55,0.12);}
.chip-recurso.is-critico{color:#fda4af; border-color:rgba(253,164,175,0.4); background:rgba(194,51,77,0.18); animation:late 1.2s var(--easing) infinite;}
.chip-recurso[hidden]{display:none;}
.int-confianza{color:#fda4af;}
.accion-coste{flex-shrink:0; padding:2px 8px; border-radius:999px; font-size:0.74rem; font-weight:700; color:#a5f3fc; background:rgba(34,211,238,0.1); border:1px solid rgba(165,243,252,0.25); font-variant-numeric:tabular-nums;}
.inicio-recurso{display:flex; gap:12px; align-items:flex-start; margin:0 0 18px; padding:12px 14px; border-radius:16px; background:rgba(34,211,238,0.07); border:1px solid rgba(165,243,252,0.22);}
.inicio-recurso-icono{font-size:1.4rem; line-height:1;}
.inicio-recurso strong{display:block; color:#cffafe; font-size:0.92rem;}
.inicio-recurso p{margin:4px 0 0; font-size:0.86rem; color:rgba(234,232,225,0.75);}

/* Minijuego: cifrado */
.cf-caja{padding:16px 18px; border-radius:18px; background:rgba(255,255,255,0.035); border:1px solid rgba(255,255,255,0.08); margin-bottom:16px;}
.cf-caja-claro{border-color:rgba(212,175,55,0.3); background:rgba(212,175,55,0.07);}
.cf-rotulo{display:block; font-size:0.72rem; letter-spacing:0.1em; text-transform:uppercase; color:rgba(234,232,225,0.55); margin-bottom:6px;}
.cf-original, .cf-salida{margin:0; font-family:'Courier New',monospace; font-size:1.15rem; letter-spacing:0.08em; line-height:1.6; word-break:break-word;}
.cf-control{display:flex; flex-direction:column; gap:8px; margin-bottom:16px;}
.cf-control label{font-weight:700;}
.cf-valor{display:inline-block; min-width:2ch; color:var(--dorado-2);}
.cf-rango{width:100%; accent-color:var(--dorado);}

.juego-ambiente{position:fixed; inset:0; pointer-events:none; z-index:0; overflow:hidden;}
.amb-orb{position:absolute; border-radius:50%; filter:blur(90px); transition:background 1.2s var(--easing);}
.amb-orb-1{width:46vw; height:46vw; top:-14vw; left:-10vw; background:var(--amb-1);}
.amb-orb-2{width:40vw; height:40vw; bottom:-16vw; right:-8vw; background:var(--amb-2);}
.amb-grano{position:absolute; inset:0; background-image:radial-gradient(rgba(255,255,255,0.05) 1px, transparent 1px); background-size:22px 22px; mask-image:radial-gradient(ellipse at center, #000 30%, transparent 75%);}

/* Barra superior */
.juego-topbar{
  position:sticky; top:12px; z-index:20;
  display:flex; align-items:center; gap:14px;
  max-width:1320px; margin:12px auto 0; padding:10px 14px;
  background:rgba(13,15,23,0.72);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:999px;
  backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px);
  box-shadow:0 18px 40px -18px rgba(0,0,0,0.7);
}
@media (max-width: 1344px){ .juego-topbar{margin-inline:12px;} }
.juego-volver{display:inline-flex; align-items:center; gap:6px; color:var(--hueso); text-decoration:none; font-size:1.4rem; padding:2px 8px; border-radius:999px; transition:background var(--dur) var(--easing);}
.juego-volver:hover{background:rgba(255,255,255,0.06); color:var(--hueso);}
.juego-volver:focus-visible{outline:2px solid var(--dorado); outline-offset:2px;}
.juego-logo{height:34px; width:auto;}
.juego-titulo{display:flex; flex-direction:column; min-width:0; line-height:1.2;}
.juego-titulo strong{font-family:'Playfair Display',serif; font-size:1.02rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.juego-stats{display:flex; align-items:center; gap:8px; margin-left:auto;}

.chip{
  display:inline-flex; align-items:center; gap:6px;
  padding:6px 11px; border-radius:999px;
  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.08);
  font-size:0.82rem; font-weight:600; color:var(--hueso);
  font-variant-numeric:tabular-nums; white-space:nowrap;
}
.chip-dif-facil{color:#86efac; border-color:rgba(134,239,172,0.3); background:rgba(34,197,94,0.1);}
.chip-dif-medio{color:var(--dorado-2); border-color:rgba(241,209,111,0.3); background:rgba(212,175,55,0.1);}
.chip-dif-dificil{color:#fda4af; border-color:rgba(253,164,175,0.3); background:rgba(194,51,77,0.14);}
.chip-error{color:#fda4af; border-color:rgba(253,164,175,0.3); background:rgba(194,51,77,0.12);}

.btn-ayuda{
  display:inline-flex; align-items:center; gap:7px;
  padding:7px 12px; border-radius:999px;
  border:1px solid rgba(241,209,111,0.35);
  background:linear-gradient(135deg, rgba(212,175,55,0.18), rgba(212,175,55,0.06));
  color:var(--dorado-2); font-weight:700; font-size:0.85rem;
  transition:transform var(--dur) var(--easing), box-shadow var(--dur) var(--easing), opacity var(--dur);
}
.btn-ayuda:hover:not(:disabled){transform:translateY(-1px); box-shadow:0 0 22px rgba(212,175,55,0.3);}
.btn-ayuda:active:not(:disabled){transform:scale(0.97);}
.btn-ayuda:disabled{opacity:0.4; cursor:not-allowed;}
.btn-ayuda:focus-visible, .btn-icono:focus-visible, .btn-cerrar:focus-visible{outline:2px solid var(--dorado); outline-offset:2px;}
.badge-num{display:inline-grid; place-items:center; min-width:20px; height:20px; padding:0 6px; border-radius:999px; background:rgba(0,0,0,0.35); font-size:0.72rem; color:var(--hueso); font-variant-numeric:tabular-nums;}

.btn-icono{
  width:36px; height:36px; display:grid; place-items:center;
  border-radius:50%; border:1px solid rgba(255,255,255,0.1);
  background:rgba(255,255,255,0.05); color:var(--hueso); font-size:1.1rem; line-height:1;
  transition:background var(--dur) var(--easing);
}
.btn-icono:hover{background:rgba(255,255,255,0.12);}
.dropdown-bt{background:rgba(15,17,26,0.96); border:1px solid rgba(255,255,255,0.1); border-radius:16px; padding:6px; backdrop-filter:blur(14px); box-shadow:0 24px 50px -20px rgba(0,0,0,0.8);}
.dropdown-bt .dropdown-item{color:var(--hueso); border-radius:10px; padding:8px 12px; font-size:0.9rem;}
.dropdown-bt .dropdown-item:hover, .dropdown-bt .dropdown-item:focus{background:rgba(212,175,55,0.12); color:var(--hueso);}

/* Estructura */
.juego-shell{position:relative; z-index:1; max-width:1320px; margin:0 auto; padding:24px 16px 64px;}
.juego-grid{display:grid; grid-template-columns:minmax(0, 1fr) 380px; gap:24px; align-items:start;}

/* Escena */
.escena{
  position:relative; overflow:hidden;
  border-radius:28px;
  background:rgba(14,16,24,0.78);
  border:1px solid rgba(255,255,255,0.07);
  backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px);
  box-shadow:0 30px 80px -30px rgba(0,0,0,0.85), inset 0 1px 0 rgba(255,255,255,0.04);
  scroll-margin-top:96px;
}
.escena.entra .escena-banner, .escena.entra .narrativa{animation:fadeUp 0.7s var(--easing) both;}
.escena.entra .narrativa{animation-delay:0.08s;}

.escena-banner{position:relative; padding:56px 36px 28px; min-height:210px; display:flex; flex-direction:column; justify-content:flex-end; isolation:isolate;}
.escena-banner-arte{
  position:absolute; inset:0; z-index:-1;
  background:
    radial-gradient(60% 90% at 85% 0%, var(--amb-1), transparent 70%),
    radial-gradient(50% 80% at 10% 100%, var(--amb-2), transparent 70%),
    var(--amb-banner);
  transition:background 1s var(--easing);
}
.escena-banner-arte::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, transparent 35%, rgba(14,16,24,0.95) 100%);
}
.escena-meta{display:flex; align-items:center; gap:12px; margin-bottom:10px;}
.pill-acto{background:rgba(194,51,77,0.18); border-color:rgba(224,78,106,0.4); color:#fecdd3; font-size:0.74rem; letter-spacing:0.08em; text-transform:uppercase; padding:5px 11px; box-shadow:none;}
.escena-lugar{color:rgba(234,232,225,0.7); font-size:0.88rem; letter-spacing:0.04em;}
.escena-titulo{font-family:'Playfair Display',serif; font-weight:800; font-size:clamp(1.9rem, 3.4vw, 2.8rem); letter-spacing:-0.01em; margin:0; color:#fff; text-shadow:0 4px 30px rgba(0,0,0,0.6);}

.escena-cuerpo{padding:8px 36px 36px;}
.narrativa{font-family:'Crimson Text', Georgia, serif; font-size:1.24rem; line-height:1.75; color:rgba(234,232,225,0.92); max-width:68ch;}
.narrativa p{margin:0 0 1em;}
.narrativa p:first-child::first-letter{float:left; font-family:'Playfair Display',serif; font-size:3.4em; line-height:0.82; padding:6px 10px 0 0; color:var(--dorado);}
.esqueleto{height:1.1em; border-radius:8px; background:linear-gradient(90deg, rgba(255,255,255,0.05), rgba(255,255,255,0.1), rgba(255,255,255,0.05)); background-size:200% 100%; animation:brillo 1.4s linear infinite;}
.esqueleto.corta{width:60%;}
.narrativa .esqueleto:first-child::first-letter{float:none;}
@keyframes brillo{to{background-position:-200% 0;}}

.resultado{
  position:relative; margin:4px 0 24px; padding:18px 22px 18px 24px;
  border-radius:18px;
  background:linear-gradient(135deg, rgba(212,175,55,0.1), rgba(194,51,77,0.06));
  border:1px solid rgba(212,175,55,0.2);
  font-family:'Crimson Text', Georgia, serif; font-style:italic; font-size:1.16rem; line-height:1.65;
  color:#f5eedc; max-width:72ch;
}
.resultado::before{content:""; position:absolute; left:0; top:14px; bottom:14px; width:3px; border-radius:3px; background:linear-gradient(180deg, var(--dorado), var(--carmesi));}
.resultado p{margin:0 0 0.6em;}
.resultado p:last-child{margin:0;}
.resultado.entra{animation:fadeUp 0.55s var(--easing) both;}

.ayudas-box{margin:0 0 22px;}
.ayudas-lista{padding:14px 18px; border-radius:16px; background:rgba(212,175,55,0.07); border:1px dashed rgba(241,209,111,0.35);}
.ayudas-titulo{margin:0 0 6px; font-weight:700; font-size:0.85rem; color:var(--dorado-2); letter-spacing:0.02em;}
.ayudas-lista ol{margin:0; padding-left:1.2em; color:rgba(234,232,225,0.88); font-size:0.95rem;}
.ayudas-lista li + li{margin-top:4px;}

/* Acciones */
.acciones{display:flex; flex-direction:column; gap:22px; margin-top:8px;}
.acciones-titulo{font-family:'Manrope',sans-serif; font-size:0.74rem; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; color:rgba(234,232,225,0.5); margin:0 0 10px;}
.acciones-lista{display:grid; grid-template-columns:repeat(auto-fill, minmax(250px, 1fr)); gap:10px;}
.accion{
  position:relative; display:flex; align-items:center; gap:12px; text-align:left;
  width:100%; padding:14px 16px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,0.08);
  background:rgba(255,255,255,0.035);
  color:var(--hueso); font-weight:600; font-size:0.95rem;
  transition:transform 0.25s var(--easing), border-color 0.25s var(--easing), background 0.25s var(--easing), box-shadow 0.25s var(--easing);
}
.accion:hover:not(:disabled){transform:translateY(-2px); border-color:rgba(212,175,55,0.4); background:rgba(212,175,55,0.07); box-shadow:0 14px 30px -16px rgba(212,175,55,0.45);}
.accion:active:not(:disabled){transform:translateY(0) scale(0.99);}
.accion:focus-visible{outline:2px solid var(--dorado); outline-offset:2px;}
.accion-icono{flex:none; width:38px; height:38px; display:grid; place-items:center; border-radius:12px; background:rgba(255,255,255,0.06); font-size:1.1rem;}
.accion-texto{display:flex; flex-direction:column; gap:2px; flex:1; min-width:0;}
.accion-texto small{font-weight:500; font-size:0.78rem; color:rgba(234,232,225,0.55);}
.accion-flecha{margin-left:auto; opacity:0.45; transition:transform 0.25s var(--easing), opacity 0.25s;}
.accion:hover .accion-flecha{transform:translateX(4px); opacity:1;}
.accion-check{margin-left:auto; color:#86efac; font-weight:800;}
.accion-badge{margin-left:auto; font-size:0.7rem; font-weight:700; padding:3px 8px; border-radius:999px; background:rgba(34,197,94,0.14); color:#86efac; border:1px solid rgba(134,239,172,0.3);}
.accion.is-hecha:not(.accion-ir):not(.accion-minijuego){background:rgba(255,255,255,0.02); color:rgba(234,232,225,0.65);}
.accion.is-bloqueada{opacity:0.55; cursor:not-allowed; border-style:dashed;}
.accion-minijuego .accion-icono{background:rgba(167,139,250,0.16);}
.accion-decision .accion-icono{background:rgba(212,175,55,0.16);}
.accion-acusar{border-color:rgba(224,78,106,0.45); background:linear-gradient(135deg, rgba(194,51,77,0.22), rgba(194,51,77,0.06));}
.accion-acusar .accion-icono{background:rgba(194,51,77,0.3);}
.accion-acusar:hover:not(:disabled){border-color:rgba(224,78,106,0.8); background:linear-gradient(135deg, rgba(194,51,77,0.32), rgba(194,51,77,0.1)); box-shadow:0 16px 34px -14px rgba(194,51,77,0.6);}
.accion-final{border-color:rgba(224,78,106,0.25);}
.accion-final .accion-icono{background:rgba(194,51,77,0.16);}

/* Cuaderno */
.cuaderno{
  position:sticky; top:96px;
  max-height:calc(100vh - 120px);
  display:flex; flex-direction:column;
  border-radius:24px;
  background:rgba(14,16,24,0.78);
  border:1px solid rgba(255,255,255,0.07);
  backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px);
  box-shadow:0 30px 70px -30px rgba(0,0,0,0.85);
  overflow:hidden;
}
.cuaderno-cabecera{padding:20px 20px 10px;}
.cuaderno-cabecera h2{font-family:'Playfair Display',serif; font-size:1.25rem; margin:2px 0 0;}
.cuaderno-tabs{display:flex; gap:4px; margin:0 14px; padding:4px; border-radius:14px; background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.06);}
.cuaderno-tab{flex:1; display:inline-flex; align-items:center; justify-content:center; gap:6px; padding:8px 6px; border:0; border-radius:10px; background:transparent; color:rgba(234,232,225,0.65); font-weight:700; font-size:0.84rem; transition:background 0.25s, color 0.25s;}
.cuaderno-tab:hover{color:var(--hueso);}
.cuaderno-tab[aria-selected="true"]{background:rgba(212,175,55,0.14); color:var(--dorado-2); box-shadow:inset 0 0 0 1px rgba(212,175,55,0.25);}
.cuaderno-tab:focus-visible{outline:2px solid var(--dorado); outline-offset:1px;}
.cuaderno-tab.late{animation:late 0.9s var(--easing);}
@keyframes late{30%{transform:scale(1.08); box-shadow:0 0 24px rgba(212,175,55,0.5);}}
.cuaderno-panel{padding:14px; overflow-y:auto; flex:1; scrollbar-width:thin; scrollbar-color:rgba(255,255,255,0.15) transparent;}
.cuaderno-lista{display:flex; flex-direction:column; gap:10px;}
.cuaderno-vacio{color:rgba(234,232,225,0.55); font-size:0.9rem; text-align:center; padding:24px 8px; margin:0;}

.pista{display:flex; gap:12px; padding:12px; border-radius:16px; background:rgba(255,255,255,0.035); border:1px solid rgba(255,255,255,0.06); transition:border-color 0.3s;}
.pista:hover{border-color:rgba(212,175,55,0.25);}
.pista.is-nueva{animation:nueva 2.4s var(--easing); border-color:rgba(212,175,55,0.5);}
@keyframes nueva{0%{background:rgba(212,175,55,0.22); transform:translateX(-6px);} 20%{transform:none;} 100%{background:rgba(255,255,255,0.035);}}
.pista-icono{flex:none; width:40px; height:40px; display:grid; place-items:center; border-radius:12px; background:rgba(212,175,55,0.1); font-size:1.15rem;}
.pista-deduccion .pista-icono{background:rgba(167,139,250,0.16);}
.pista-testimonio .pista-icono{background:rgba(59,130,246,0.14);}
.pista-documento .pista-icono{background:rgba(194,51,77,0.14);}
.pista-cuerpo{min-width:0;}
.pista-cabecera{display:flex; align-items:baseline; justify-content:space-between; gap:8px;}
.pista h3{font-size:0.92rem; font-weight:700; margin:0;}
.pista-cat{flex:none; font-size:0.66rem; font-weight:700; text-transform:uppercase; letter-spacing:0.08em; color:rgba(234,232,225,0.45);}
.pista p{margin:4px 0 0; font-size:0.84rem; line-height:1.5; color:rgba(234,232,225,0.72);}

.personaje{display:flex; gap:12px; padding:12px; border-radius:16px; background:rgba(255,255,255,0.035); border:1px solid rgba(255,255,255,0.06);}
.personaje h3{font-size:0.94rem; font-weight:700; margin:0; display:flex; align-items:center; gap:8px; flex-wrap:wrap;}
.personaje p{margin:2px 0 0; font-size:0.84rem; line-height:1.5; color:rgba(234,232,225,0.72);}
.personaje .personaje-rol{color:var(--dorado-2); font-weight:600; font-size:0.78rem;}
.tag-sospechoso{font-size:0.62rem; font-weight:800; letter-spacing:0.08em; text-transform:uppercase; padding:2px 7px; border-radius:999px; background:rgba(194,51,77,0.18); color:#fecdd3; border:1px solid rgba(224,78,106,0.35);}

.avatar{
  --avatar:#6b7280;
  flex:none; width:42px; height:42px; display:grid; place-items:center;
  border-radius:14px;
  background:linear-gradient(145deg, var(--avatar), color-mix(in srgb, var(--avatar) 50%, #000));
  color:#fff; font-family:'Playfair Display',serif; font-weight:800; font-size:1.15rem;
  box-shadow:0 8px 20px -8px var(--avatar), inset 0 1px 0 rgba(255,255,255,0.25);
}
.avatar-lg{width:52px; height:52px; font-size:1.4rem; border-radius:16px;}
.avatar-xl{width:64px; height:64px; font-size:1.8rem; border-radius:20px;}

.notas{width:100%; min-height:260px; resize:vertical; padding:14px; border-radius:14px; border:1px solid rgba(255,255,255,0.08); background:rgba(255,255,255,0.04); color:var(--hueso); font-family:'Crimson Text',Georgia,serif; font-size:1.05rem; line-height:1.6;}
.notas:focus{outline:none; border-color:rgba(212,175,55,0.45); box-shadow:0 0 0 4px rgba(212,175,55,0.1);}

/* Diálogos */
.dlg{
  padding:0; border:0; background:transparent; color:var(--hueso);
  max-width:min(980px, calc(100vw - 24px)); width:100%;
  max-height:calc(100dvh - 24px);
}
.dlg::backdrop{background:rgba(5,6,10,0.72); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);}
.dlg[open]{animation:dlgEntra 0.45s var(--easing) both;}
@keyframes dlgEntra{from{opacity:0; transform:translateY(18px) scale(0.98);} to{opacity:1; transform:none;}}

.panel, .final, .inicio, .dlg-confirmar{
  position:relative; overflow:hidden;
  border-radius:28px;
  background:linear-gradient(180deg, rgba(22,24,34,0.97), rgba(13,15,22,0.98));
  border:1px solid rgba(255,255,255,0.09);
  box-shadow:0 40px 120px -30px rgba(0,0,0,0.9), inset 0 1px 0 rgba(255,255,255,0.05);
}
.panel{padding:28px; max-height:calc(100dvh - 24px); overflow-y:auto; overflow-x:hidden;}
/* Sin offset negativo a la derecha: generaría desplazamiento horizontal dentro del panel */
.panel-glow, .final-glow{position:absolute; width:420px; height:420px; top:-220px; right:0; border-radius:50%; background:rgba(167,139,250,0.18); filter:blur(80px); pointer-events:none;}
.panel[data-juego="acusacion"] .panel-glow{background:rgba(194,51,77,0.3);}
.panel[data-juego="linea_tiempo"] .panel-glow{background:rgba(212,175,55,0.22);}
.panel[data-juego="interrogatorio"] .panel-glow{background:rgba(59,130,246,0.22);}
.panel.tiembla{animation:tiembla 0.45s ease;}
@keyframes tiembla{20%,60%{transform:translateX(-6px);} 40%,80%{transform:translateX(6px);}}
.panel-cabecera{position:relative; display:flex; justify-content:space-between; align-items:flex-start; gap:16px; margin-bottom:16px;}
.panel-titulo{font-family:'Playfair Display',serif; font-weight:800; font-size:clamp(1.5rem, 2.6vw, 2rem); margin:4px 0 6px; letter-spacing:-0.01em;}
.panel-enunciado{margin:0; color:rgba(234,232,225,0.72); max-width:60ch;}
.panel-herramientas{display:flex; align-items:center; gap:8px; flex:none;}
.btn-cerrar{width:38px; height:38px; border-radius:50%; border:1px solid rgba(255,255,255,0.1); background:rgba(255,255,255,0.05); color:var(--hueso); font-size:1.4rem; line-height:1; transition:background 0.25s, transform 0.25s;}
.btn-cerrar:hover{background:rgba(255,255,255,0.12); transform:rotate(90deg);}
.panel .ayudas-lista{margin-bottom:16px;}
.panel-cuerpo{position:relative;}

.feedback{margin:0 0 16px; padding:12px 16px; border-radius:14px; font-weight:600; font-size:0.92rem; border:1px solid;}
.feedback-error{background:rgba(194,51,77,0.14); border-color:rgba(224,78,106,0.4); color:#fecdd3;}
.feedback-exito{background:rgba(34,197,94,0.12); border-color:rgba(134,239,172,0.35); color:#bbf7d0;}
.feedback-info{background:rgba(59,130,246,0.1); border-color:rgba(147,197,253,0.3); color:#dbeafe;}

.mj-subtitulo{font-family:'Manrope',sans-serif; font-size:0.74rem; font-weight:800; letter-spacing:0.14em; text-transform:uppercase; color:rgba(234,232,225,0.5); margin:0 0 10px;}
.mj-nota{margin:0; font-size:0.8rem; color:rgba(234,232,225,0.55);}
.mj-acciones{display:flex; align-items:center; justify-content:flex-end; gap:12px; flex-wrap:wrap; margin-top:22px;}
.mj-acciones .mj-nota{margin-right:auto;}
.btn-mini{width:30px; height:30px; display:grid; place-items:center; border-radius:9px; border:1px solid rgba(255,255,255,0.1); background:rgba(255,255,255,0.05); color:var(--hueso); font-weight:700; transition:background 0.2s, border-color 0.2s;}
.btn-mini:hover:not(:disabled){background:rgba(212,175,55,0.16); border-color:rgba(212,175,55,0.4);}
.btn-mini:disabled{opacity:0.25;}
.btn-mini:focus-visible{outline:2px solid var(--dorado); outline-offset:1px;}

/* Línea de tiempo */
.lt-eje{display:flex; justify-content:space-between; font-size:0.72rem; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; color:rgba(234,232,225,0.45); margin-bottom:8px; padding:0 4px;}
.lt-lista{list-style:none; margin:0; padding:0 0 0 18px; display:flex; flex-direction:column; gap:8px; position:relative;}
.lt-lista::before{content:""; position:absolute; left:4px; top:16px; bottom:16px; width:2px; background:linear-gradient(180deg, var(--dorado), var(--carmesi)); border-radius:2px; opacity:0.6;}
.lt-item{position:relative; display:flex; align-items:center; gap:12px; padding:12px 14px; border-radius:14px; background:rgba(255,255,255,0.045); border:1px solid rgba(255,255,255,0.08); cursor:grab; transition:transform 0.2s var(--easing), border-color 0.2s, background 0.2s, opacity 0.2s;}
.lt-item::before{content:""; position:absolute; left:-19px; top:50%; width:10px; height:10px; margin-top:-5px; border-radius:50%; background:#0d0f16; border:2px solid var(--dorado);}
.lt-item:hover{border-color:rgba(212,175,55,0.35);}
.lt-item.is-arrastrando{opacity:0.4; cursor:grabbing;}
.lt-item.is-sobre{border-color:var(--dorado); background:rgba(212,175,55,0.1); transform:scale(1.01);}
.lt-item.is-ok{cursor:default; border-color:rgba(134,239,172,0.3); background:rgba(34,197,94,0.07);}
.lt-item.is-ok::before{border-color:#86efac;}
.lt-pos{flex:none; width:26px; height:26px; display:grid; place-items:center; border-radius:8px; background:rgba(212,175,55,0.14); color:var(--dorado-2); font-weight:800; font-size:0.8rem;}
.lt-asa{color:rgba(234,232,225,0.35); font-size:1.1rem;}
.lt-texto{flex:1; font-family:'Crimson Text',Georgia,serif; font-size:1.08rem;}
.lt-botones{display:flex; gap:6px;}

/* Interrogatorio */
.int-sujeto{display:flex; align-items:center; gap:14px; padding:14px; border-radius:18px; background:rgba(255,255,255,0.035); border:1px solid rgba(255,255,255,0.07); margin-bottom:18px;}
.int-sujeto strong{display:block; font-family:'Playfair Display',serif; font-size:1.15rem;}
.int-sujeto small{color:rgba(234,232,225,0.6);}
.int-progreso{margin-left:auto; text-align:right; display:flex; flex-direction:column; align-items:flex-end; gap:4px;}
.int-progreso small{font-size:0.75rem; color:rgba(234,232,225,0.6);}
.int-puntos{display:flex; gap:6px;}
.int-punto{width:12px; height:12px; border-radius:50%; border:2px solid rgba(224,78,106,0.6);}
.int-punto.is-ok{background:var(--carmesi-2); border-color:var(--carmesi-2); box-shadow:0 0 12px rgba(224,78,106,0.7);}
.int-columnas{display:grid; grid-template-columns:1.2fr 1fr; gap:20px;}
.int-declaraciones, .int-pruebas{display:flex; flex-direction:column; gap:8px;}
.int-pruebas{max-height:380px; overflow-y:auto; padding-right:4px;}
.int-decl{position:relative; width:100%; text-align:left; padding:14px 16px; border-radius:16px; border:1px solid rgba(255,255,255,0.08); background:rgba(255,255,255,0.035); color:var(--hueso); transition:border-color 0.25s, background 0.25s, transform 0.25s var(--easing);}
.int-decl:hover:not(:disabled){border-color:rgba(147,197,253,0.4); transform:translateX(3px);}
.int-decl.is-activa{border-color:#93c5fd; background:rgba(59,130,246,0.14); box-shadow:0 0 0 3px rgba(59,130,246,0.15);}
.int-decl:focus-visible, .int-prueba:focus-visible, .td-celda:focus-visible, .td-pista:focus-visible{outline:2px solid var(--dorado); outline-offset:2px;}
.int-decl-texto{margin:0; font-family:'Crimson Text',Georgia,serif; font-size:1.08rem; line-height:1.5;}
.int-decl.is-contradicha{border-color:rgba(224,78,106,0.45); background:rgba(194,51,77,0.08);}
.int-decl.is-contradicha .int-decl-texto{text-decoration:line-through; text-decoration-color:rgba(224,78,106,0.8); color:rgba(234,232,225,0.55);}
.int-sello{position:absolute; top:-9px; right:12px; padding:2px 10px; border-radius:999px; background:var(--carmesi); color:#fff; font-size:0.66rem; font-weight:800; letter-spacing:0.1em; text-transform:uppercase; transform:rotate(2deg);}
.int-revelacion{margin:8px 0 0; font-size:0.92rem; color:#fecdd3; font-style:italic;}
.int-prueba{display:flex; align-items:center; gap:10px; width:100%; text-align:left; padding:10px 12px; border-radius:12px; border:1px solid rgba(255,255,255,0.08); background:rgba(255,255,255,0.03); color:var(--hueso); font-size:0.88rem; font-weight:600; transition:border-color 0.2s, background 0.2s;}
.int-prueba:hover:not(:disabled){border-color:rgba(212,175,55,0.4);}
.int-prueba.is-activa{border-color:var(--dorado); background:rgba(212,175,55,0.14); box-shadow:0 0 0 3px rgba(212,175,55,0.12);}

/* Tablero de deducción */
.td-columnas{display:grid; grid-template-columns:1fr 1.15fr; gap:24px;}
.td-pistas{margin:12px 0 0; padding-left:1.3em; display:flex; flex-direction:column; gap:8px;}
.td-pistas li::marker{color:var(--dorado); font-weight:800;}
.td-pista{width:100%; text-align:left; border:0; background:transparent; color:rgba(234,232,225,0.88); font-size:0.94rem; line-height:1.5; padding:2px 4px; border-radius:6px; transition:color 0.2s, background 0.2s;}
.td-pista:hover{background:rgba(255,255,255,0.04);}
.td-pista.is-tachada{color:rgba(234,232,225,0.35); text-decoration:line-through;}
.td-tabla-envoltura{overflow-x:auto; margin-top:12px; border-radius:16px; border:1px solid rgba(255,255,255,0.08); background:rgba(255,255,255,0.02);}
.td-tabla{width:100%; min-width:520px; table-layout:fixed; border-collapse:separate; border-spacing:0; color:var(--hueso);}
.td-tabla .td-esquina{width:110px;}
.td-tabla caption{caption-side:top; padding:10px 14px; color:var(--dorado-2); font-weight:700; font-size:0.85rem;}
.td-tabla th{font-size:0.8rem; font-weight:700; padding:8px; background:transparent; border:0;}
.td-tabla thead th{color:rgba(234,232,225,0.65); text-align:center; vertical-align:bottom;}
.td-tabla tbody th{text-align:left; white-space:nowrap; padding-left:14px;}
.td-esquina{text-align:left !important; color:rgba(234,232,225,0.4) !important;}
.td-tabla td{padding:3px; text-align:center; border:0; background:transparent;}
.td-celda{width:100%; min-width:40px; height:40px; border-radius:10px; border:1px solid rgba(255,255,255,0.08); background:rgba(255,255,255,0.04); color:var(--hueso); font-size:1.05rem; font-weight:800; transition:background 0.15s, border-color 0.15s, transform 0.15s;}
.td-celda:hover:not(:disabled){border-color:rgba(212,175,55,0.45); transform:scale(1.05);}
.td-v1{color:#fda4af; background:rgba(194,51,77,0.12);}
.td-v2{color:#bbf7d0; background:rgba(34,197,94,0.2); border-color:rgba(134,239,172,0.5); box-shadow:0 0 14px -4px rgba(34,197,94,0.6);}
.td-auto{display:flex; align-items:center; gap:8px; margin-top:12px; font-size:0.84rem; color:rgba(234,232,225,0.7);}
.td-auto input{accent-color:var(--dorado);}

/* Acusación */
.ac-campo{border:0; padding:0; margin:0 0 22px;}
.ac-campo legend{display:flex; align-items:center; gap:10px; font-family:'Playfair Display',serif; font-size:1.2rem; font-weight:700; margin-bottom:12px; float:none; width:auto;}
.ac-num{width:28px; height:28px; display:grid; place-items:center; border-radius:50%; background:rgba(194,51,77,0.25); color:#fecdd3; font-family:'Manrope',sans-serif; font-size:0.85rem; font-weight:800;}
.ac-opciones{display:grid; grid-template-columns:repeat(auto-fill, minmax(260px, 1fr)); gap:10px;}
.ac-opciones-pj{grid-template-columns:repeat(auto-fill, minmax(150px, 1fr));}
.ac-opcion{position:relative; display:flex; align-items:center; gap:12px; padding:14px; border-radius:16px; border:1px solid rgba(255,255,255,0.08); background:rgba(255,255,255,0.035); cursor:pointer; transition:border-color 0.2s, background 0.2s, transform 0.2s var(--easing);}
.ac-opcion:hover{border-color:rgba(224,78,106,0.45); transform:translateY(-2px);}
.ac-opcion-pj{flex-direction:column; text-align:center; padding:18px 12px;}
.ac-opcion-texto{display:flex; flex-direction:column; gap:2px;}
.ac-opcion-texto strong{font-weight:600; font-size:0.94rem; line-height:1.4;}
.ac-opcion-texto small{color:rgba(234,232,225,0.55); font-size:0.78rem;}
.ac-opcion:has(input:checked){border-color:var(--carmesi-2); background:rgba(194,51,77,0.16); box-shadow:0 0 0 3px rgba(194,51,77,0.18), 0 18px 30px -18px rgba(194,51,77,0.8);}
.ac-opcion:has(input:focus-visible){outline:2px solid var(--dorado); outline-offset:2px;}

/* Inicio (dificultad) */
.dlg-inicio{max-width:min(1040px, calc(100vw - 24px));}
.inicio{display:grid; grid-template-columns:0.9fr 1.1fr; max-height:calc(100dvh - 24px);}
.inicio-portada{position:relative; min-height:100%; overflow:hidden;}
.inicio-portada img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.inicio-portada-velo{position:absolute; inset:0; background:linear-gradient(90deg, transparent 50%, rgba(18,20,29,1) 100%), linear-gradient(0deg, rgba(18,20,29,0.6), transparent 40%);}
.inicio-cuerpo{padding:36px 36px 30px; overflow-y:auto;}
.inicio-titulo{font-family:'Playfair Display',serif; font-weight:800; font-size:clamp(1.7rem, 3vw, 2.4rem); line-height:1.08; margin:6px 0 12px; letter-spacing:-0.01em;}
.inicio-sinopsis{font-family:'Crimson Text',Georgia,serif; font-size:1.14rem; line-height:1.6; color:rgba(234,232,225,0.85);}
.inicio-datos{display:flex; flex-wrap:wrap; gap:8px; list-style:none; padding:0; margin:0 0 22px;}
.inicio-datos li{padding:6px 12px; border-radius:999px; background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.08); font-size:0.82rem; font-weight:600;}
.dificultades{border:0; padding:0; margin:0; display:grid; grid-template-columns:repeat(3, 1fr); gap:10px;}
.dificultades legend{font-size:0.74rem; font-weight:800; letter-spacing:0.14em; text-transform:uppercase; color:rgba(234,232,225,0.5); margin-bottom:10px; float:none; width:auto;}
.dificultad{display:flex; flex-direction:column; gap:4px; padding:14px; border-radius:18px; border:1px solid rgba(255,255,255,0.08); background:rgba(255,255,255,0.035); cursor:pointer; transition:border-color 0.2s, background 0.2s, transform 0.2s var(--easing);}
.dificultad:hover{transform:translateY(-2px); border-color:rgba(255,255,255,0.2);}
.dificultad-cabecera{display:flex; justify-content:space-between; align-items:center;}
.dificultad-cabecera strong{font-size:1.02rem;}
.dificultad-mult{font-size:0.75rem; font-weight:800; padding:2px 8px; border-radius:999px; background:rgba(255,255,255,0.08);}
.dificultad-ayudas{font-size:0.8rem; font-weight:700;}
.dificultad small{font-size:0.76rem; line-height:1.4; color:rgba(234,232,225,0.6);}
.dificultad-facil .dificultad-ayudas{color:#86efac;}
.dificultad-medio .dificultad-ayudas{color:var(--dorado-2);}
.dificultad-dificil .dificultad-ayudas{color:#fda4af;}
.dificultad-facil:has(input:checked){border-color:#86efac; background:rgba(34,197,94,0.1); box-shadow:0 0 0 3px rgba(34,197,94,0.15);}
.dificultad-medio:has(input:checked){border-color:var(--dorado); background:rgba(212,175,55,0.1); box-shadow:0 0 0 3px rgba(212,175,55,0.15);}
.dificultad-dificil:has(input:checked){border-color:var(--carmesi-2); background:rgba(194,51,77,0.12); box-shadow:0 0 0 3px rgba(194,51,77,0.18);}
.dificultad:has(input:focus-visible){outline:2px solid var(--dorado); outline-offset:2px;}
.inicio-aviso{margin:16px 0 0; font-size:0.84rem; color:rgba(234,232,225,0.65);}
.inicio-aviso a{color:var(--dorado-2);}
.inicio-acciones{display:flex; justify-content:flex-end; align-items:center; gap:12px; margin-top:22px;}

/* Final */
.final{padding:36px; max-height:calc(100dvh - 24px); overflow-y:auto; overflow-x:hidden;}
.final-perfecto .final-glow{background:rgba(212,175,55,0.3);}
.final-parcial .final-glow{background:rgba(59,130,246,0.25);}
.final-erroneo .final-glow, .final-fatal .final-glow{background:rgba(194,51,77,0.35);}
.final-hero{position:relative; text-align:center; margin-bottom:20px;}
.final-sello{display:grid; place-items:center; width:76px; height:76px; border-radius:24px; font-size:2.2rem; background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.1); margin:0 auto 12px; box-shadow:0 20px 40px -20px rgba(0,0,0,0.8);}
.final-hero .eyebrow{display:block;}
.final-perfecto .final-sello{background:linear-gradient(145deg, rgba(212,175,55,0.35), rgba(212,175,55,0.08)); border-color:rgba(241,209,111,0.5);}
.final-fatal .final-sello, .final-erroneo .final-sello{background:linear-gradient(145deg, rgba(194,51,77,0.35), rgba(194,51,77,0.08)); border-color:rgba(224,78,106,0.5);}
.final-titulo{font-family:'Playfair Display',serif; font-weight:800; font-size:clamp(1.9rem, 4vw, 3rem); letter-spacing:-0.015em; margin:6px 0 10px;}
.final-puntos{display:inline-flex; align-items:baseline; gap:8px;}
.final-puntos-num{font-size:clamp(2.4rem, 5vw, 3.6rem); font-weight:800; font-variant-numeric:tabular-nums; background:linear-gradient(120deg, var(--dorado-2), var(--hueso)); -webkit-background-clip:text; background-clip:text; color:transparent;}
.final-puntos small{color:rgba(234,232,225,0.6); font-weight:600;}
.final-relato{position:relative; max-width:70ch; margin:0 auto 26px; font-family:'Crimson Text',Georgia,serif; font-size:1.16rem; line-height:1.7; color:rgba(234,232,225,0.88);}
.final-relato p:last-child{font-style:italic; color:var(--dorado-2);}
.final-grid{position:relative; display:grid; grid-template-columns:1fr 1fr; gap:16px;}
.final-card{padding:20px; border-radius:20px; background:rgba(255,255,255,0.035); border:1px solid rgba(255,255,255,0.07);}
.final-card h3, .final-logros h3{font-size:0.74rem; font-weight:800; letter-spacing:0.14em; text-transform:uppercase; color:rgba(234,232,225,0.5); margin:0 0 12px;}
.desglose{width:100%; font-size:0.9rem; font-variant-numeric:tabular-nums;}
.desglose th{font-weight:500; color:rgba(234,232,225,0.72); padding:5px 0; background:transparent; border:0;}
.desglose td{text-align:right; font-weight:700; padding:5px 0; background:transparent; border:0;}
.desglose .is-sub th, .desglose .is-sub td{border-top:1px solid rgba(255,255,255,0.08); padding-top:9px;}
.desglose .is-total th, .desglose .is-total td{border-top:1px solid rgba(212,175,55,0.35); padding-top:10px; font-size:1.05rem; color:var(--dorado-2); font-weight:800;}
.final-stats{display:grid; grid-template-columns:repeat(4, 1fr); gap:8px; list-style:none; padding:0; margin:0;}
.final-stats li{display:flex; flex-direction:column; align-items:center; padding:10px 4px; border-radius:14px; background:rgba(255,255,255,0.04);}
.final-stats strong{font-size:1.05rem; font-variant-numeric:tabular-nums;}
.final-stats span{font-size:0.7rem; color:rgba(234,232,225,0.55); text-transform:uppercase; letter-spacing:0.08em;}
.final-cta{margin-top:16px; padding:14px; border-radius:16px; background:rgba(212,175,55,0.08); border:1px solid rgba(212,175,55,0.25);}
.final-cta p{margin:0 0 10px; font-size:0.88rem;}
.final-cta-botones{display:flex; gap:8px; flex-wrap:wrap;}
.rango{margin-top:16px; padding:14px; border-radius:16px; background:rgba(255,255,255,0.04);}
.rango-cabecera{display:flex; align-items:center; gap:12px; margin-bottom:10px;}
.rango-cabecera .chip{margin-left:auto;}
.rango-icono{font-size:1.8rem;}
.rango-cabecera small{display:block; font-size:0.7rem; color:rgba(234,232,225,0.55); text-transform:uppercase; letter-spacing:0.1em;}
.rango-cabecera strong{font-family:'Playfair Display',serif; font-size:1.2rem;}
.final-logros{position:relative; margin-top:18px;}
.logros-grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(220px, 1fr)); gap:10px;}
.logro{display:flex; gap:12px; align-items:center; padding:12px; border-radius:16px; background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.07);}
.logro.is-nuevo{border-color:rgba(212,175,55,0.45); background:rgba(212,175,55,0.08);}
.logro-icono{font-size:1.6rem;}
.logro strong{display:flex; gap:6px; align-items:center; font-size:0.9rem;}
.logro small{display:block; font-size:0.76rem; color:rgba(234,232,225,0.6);}
.tag-nuevo{font-size:0.6rem; font-weight:800; text-transform:uppercase; letter-spacing:0.08em; padding:2px 6px; border-radius:999px; background:var(--dorado); color:#1a120c;}
.final-acciones{position:relative; display:flex; justify-content:center; gap:10px; flex-wrap:wrap; margin-top:26px;}

/* Confirmación */
.dlg-confirmar{max-width:440px; padding:26px;}
.dlg-confirmar p{font-size:1.05rem; margin:0 0 20px;}
.confirmar-acciones{display:flex; justify-content:flex-end; gap:10px;}

/* Toasts */
.toasts{position:fixed; right:18px; bottom:18px; z-index:2000; display:flex; flex-direction:column; gap:8px; max-width:min(380px, calc(100vw - 36px)); pointer-events:none;}
.toast-bt{display:flex; align-items:center; gap:10px; padding:12px 16px; border-radius:16px; background:rgba(18,20,29,0.95); border:1px solid rgba(255,255,255,0.1); color:var(--hueso); font-size:0.9rem; font-weight:600; box-shadow:0 20px 40px -16px rgba(0,0,0,0.8); backdrop-filter:blur(12px); animation:toastEntra 0.4s var(--easing) both;}
.toast-bt.sale{animation:toastSale 0.4s var(--easing) both;}
.toast-pista{border-color:rgba(212,175,55,0.45); box-shadow:0 20px 40px -16px rgba(0,0,0,0.8), 0 0 24px -8px rgba(212,175,55,0.5);}
.toast-error{border-color:rgba(224,78,106,0.5);}
.toast-exito{border-color:rgba(134,239,172,0.45);}
.toast-icono{font-size:1.2rem;}
@keyframes toastEntra{from{opacity:0; transform:translateY(12px) scale(0.96);} to{opacity:1; transform:none;}}
@keyframes toastSale{to{opacity:0; transform:translateX(20px);}}

.is-busy{cursor:progress;}
.is-busy .accion, .is-busy .dlg button{pointer-events:none;}

/* Responsivo */
@media (max-width: 1100px){
  .juego-grid{grid-template-columns:minmax(0,1fr) 330px;}
}
@media (max-width: 991.98px){
  .juego-grid{grid-template-columns:1fr;}
  .cuaderno{position:relative; top:0; max-height:none;}
  .cuaderno-panel{max-height:520px;}
  .int-columnas, .td-columnas, .final-grid{grid-template-columns:1fr;}
  .inicio{grid-template-columns:1fr;}
  .inicio-portada{height:200px; min-height:0;}
  .inicio-portada-velo{background:linear-gradient(180deg, transparent 40%, rgba(18,20,29,1) 100%);}
}
@media (max-width: 640px){
  .juego-topbar{top:8px; gap:8px; padding:8px 10px; border-radius:22px;}
  .juego-titulo .eyebrow{display:none;}
  .juego-titulo strong{font-size:0.9rem;}
  .juego-logo{display:none;}
  .escena{border-radius:22px;}
  .escena-banner{padding:40px 20px 18px; min-height:170px;}
  .escena-cuerpo{padding:4px 20px 24px;}
  .narrativa{font-size:1.12rem;}
  .acciones-lista{grid-template-columns:1fr;}
  .panel, .final{padding:20px; border-radius:22px;}
  .panel-cabecera{flex-direction:column-reverse;}
  .panel-herramientas{align-self:flex-end;}
  .dificultades{grid-template-columns:1fr;}
  .inicio-cuerpo{padding:24px 20px;}
  .inicio-acciones{flex-direction:column-reverse; align-items:stretch;}
  .final-stats{grid-template-columns:repeat(2, 1fr);}
  .lt-item{flex-wrap:wrap;}
  .lt-botones{margin-left:auto;}
}

@media (prefers-reduced-motion: reduce){
  .juego-body *, .juego-body *::before, .juego-body *::after{animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important;}
}
