:root {
  --negro: #050505;
  --verde: #39ff14;
  --blanco: #ffffff;
  --amarillo: #ffd60a;
  --azul: #1f6feb;
  --gris: #9ca3af;
  --panel: color-mix(in srgb, var(--blanco) 7%, transparent);
  --panel-strong: color-mix(in srgb, var(--negro) 70%, rgba(var(--azul-rgb, 31, 111, 235), .18));
  --panel-soft: color-mix(in srgb, var(--blanco) 4%, transparent);
  --borde: rgba(var(--blanco-rgb, 255, 255, 255), 0.12);
  --borde-fuerte: rgba(var(--verde-rgb, 57, 255, 20), 0.28);
  --texto-muted: rgba(var(--blanco-rgb, 255, 255, 255), 0.72);
  --accent-primary: var(--verde);
  --accent-secondary: var(--azul);
  --accent-warning: var(--amarillo);
  --sombra: 0 20px 50px rgba(0,0,0,0.28);
}
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; font-family: 'Inter', sans-serif; background: radial-gradient(circle at top, color-mix(in srgb, var(--azul) 28%, var(--negro)) 0%, var(--negro) 55%); color: var(--blanco); }
a { color: inherit; text-decoration: none; }
button, input { font-family: inherit; }
.page-center, .page-container { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 2rem; }
.narrow { max-width: 900px; margin: 0 auto; }
.public-shell, .app-layout, .admin-shell { min-height: 100vh; }
.hero-header, .dashboard-header { padding: 1.5rem 2rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.brand-wrap { display: flex; align-items: center; gap: 1rem; }
.brand-wrap h1, .brand-wrap h2, .brand-wrap h3 { margin: 0; }
.brand-wrap p { margin: .25rem 0 0; color: var(--texto-muted); }
.logo-circle { width: 60px; height: 60px; border-radius: 50%; display: grid; place-items: center; background: linear-gradient(135deg, var(--verde), var(--azul)); color: var(--negro); font-size: 1.6rem; box-shadow: 0 0 30px rgba(var(--verde-rgb, 57,255,20),.35); }
.glass-card { background: var(--panel); border: 1px solid var(--borde); border-radius: 24px; padding: 1.5rem; backdrop-filter: blur(14px); box-shadow: var(--sombra); }
.hero-grid { display: grid; grid-template-columns: 1.3fr .9fr; gap: 1.5rem; padding: 0 2rem 2rem; }
.carousel-card, .login-card { min-height: 420px; }
.slide-item { display: flex; flex-direction: column; justify-content: center; min-height: 340px; padding: 1rem; }
.slide-item h2 { font-size: 2rem; margin-bottom: .6rem; }
.slide-item p { color: #d1d5db; max-width: 560px; }
.login-border-wrap { position: relative; border-radius: 28px; padding: 2px; background: conic-gradient(from 0deg, var(--verde), var(--azul), var(--amarillo), var(--blanco), var(--verde)); animation: spin 5s linear infinite; }
.login-card { background: rgba(8,8,8,.96); border-radius: 26px; height: 100%; }
@keyframes spin { to { filter: hue-rotate(360deg); } }
.form-grid { display: grid; gap: 1rem; }
.form-grid.two-columns { grid-template-columns: 1fr 1fr; }
.form-grid label { display: grid; gap: .5rem; }
.form-grid span { color: #e5e7eb; font-weight: 600; font-size: .95rem; }
.full-width { grid-column: 1 / -1; }
input { width: 100%; padding: .95rem 1rem; border-radius: 14px; border: 1px solid rgba(255,255,255,.15); background: rgba(255,255,255,.06); color: var(--blanco); outline: none; }
input:focus { border-color: var(--verde); box-shadow: 0 0 0 4px rgba(57,255,20,.12); }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: .55rem; border: none; border-radius: 14px; padding: .9rem 1.15rem; font-weight: 700; cursor: pointer; transition: .25s ease; }
.btn:hover { transform: translateY(-2px); }
.btn-primary { background: linear-gradient(135deg, var(--verde), color-mix(in srgb, var(--verde) 55%, var(--amarillo))); color: var(--negro); }
.btn-secondary { background: linear-gradient(135deg, var(--azul), color-mix(in srgb, var(--azul) 70%, var(--blanco))); color: var(--blanco); }
.btn-outline { background: transparent; color: var(--blanco); border: 1px solid rgba(255,255,255,.18); }
.btn-danger { background: linear-gradient(135deg, #ef4444, #b91c1c); color: var(--blanco); }
.btn.sm { padding: .65rem .8rem; border-radius: 12px; font-size: .85rem; }
.login-links { display: flex; justify-content: space-between; gap: 1rem; margin-top: 1rem; font-size: .92rem; }
.link-button { background: none; color: var(--amarillo); border: none; padding: 0; cursor: pointer; }
.info-grid, .stats-grid, .cards-grid, .content-grid, .plan-grid { display: grid; gap: 1rem; }
.info-grid { grid-template-columns: repeat(3, 1fr); padding: 0 2rem 2rem; }
.icon-list { list-style: none; margin: 0; padding: 0; display: grid; gap: .6rem; color: #dbeafe; }
.floating-whatsapp { position: fixed; bottom: max(22px, env(safe-area-inset-bottom)); right: max(22px, env(safe-area-inset-right)); width: 64px; height: 64px; max-width: calc(100vw - 32px); border-radius: 50%; display: grid; place-items: center; background: #25D366; color: #fff; font-size: 1.9rem; box-shadow: 0 15px 40px rgba(37,211,102,.35); z-index: 30; box-sizing: border-box; }
.modal { position: fixed; inset: 0; background: rgba(0,0,0,.7); display: none; align-items: center; justify-content: center; padding: 1rem; z-index: 50; }
.modal.active { display: flex; }
.modal#modalResultadoSimulacro.active { align-items: center; }
.modal-content { width: min(700px, 100%); background: #0f172a; border: 1px solid rgba(255,255,255,.16); border-radius: 24px; padding: 1.5rem; position: relative; }
.modal-content.large { width: min(860px, 100%); }
.modal-close { position: absolute; top: 14px; right: 14px; width: 40px; height: 40px; border-radius: 50%; border: none; background: rgba(255,255,255,.08); color: #fff; cursor: pointer; }
.checkbox-line { display: flex !important; align-items: center; gap: .8rem; }
.alert { padding: .85rem 1rem; border-radius: 14px; margin-bottom: 1rem; }
.alert.error { background: rgba(239,68,68,.18); border: 1px solid rgba(239,68,68,.35); }
.alert.success { background: rgba(34,197,94,.18); border: 1px solid rgba(34,197,94,.35); }
.welcome-banner, .module-hero { margin: 1.5rem 2rem; }
.plan-grid, .stats-grid { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
.plan-card, .stat-card { background: rgba(255,255,255,.04); border-radius: 18px; padding: 1rem; border: 1px solid rgba(255,255,255,.08); }
.course-center { display: flex; justify-content: center; padding: 2rem; }
.course-card.modern { width: min(360px, 100%); text-align: center; background: rgba(255,255,255,.05); border-radius: 24px; border: 1px solid rgba(255,255,255,.1); padding: 1.25rem; box-shadow: var(--sombra); }
.course-image { height: 180px; border-radius: 18px; display: grid; place-items: center; background: linear-gradient(135deg, rgba(31,111,235,.18), rgba(57,255,20,.16)); font-size: 4rem; margin-bottom: 1rem; overflow: hidden; position: relative; }
.course-image.small { height: 120px; font-size: 2.2rem; }
.course-image img { width: 100%; height: 100%; display: block; object-fit: cover; border-radius: inherit; }
.module-layout { display: grid; grid-template-columns: 300px 1fr; gap: 1.25rem; padding: 0 2rem 2rem; }
.side-menu { display: grid; gap: .65rem; align-self: start; position: sticky; top: 20px; }
.side-menu a { padding: .9rem 1rem; border-radius: 14px; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.07); color: #e5e7eb; }
.content-grid { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.module-card { text-align: center; }
.hero-image { width: 180px; height: 180px; border-radius: 24px; display: grid; place-items: center; font-size: 4rem; background: linear-gradient(135deg, rgba(255,214,10,.18), rgba(57,255,20,.15)); }
.module-hero { display: flex; align-items: center; gap: 1.5rem; }
.progress-shell { width: 100%; height: 16px; background: rgba(255,255,255,.08); border-radius: 999px; overflow: hidden; border: 1px solid rgba(255,255,255,.08); }
.progress-bar { height: 100%; background: linear-gradient(90deg, var(--verde), var(--azul), var(--amarillo)); border-radius: 999px; }
.admin-shell { display: grid; grid-template-columns: 300px 1fr; }
.admin-sidebar { min-height: 100vh; padding: 1.25rem; background: rgba(255,255,255,.04); border-right: 1px solid rgba(255,255,255,.08); position: sticky; top: 0; }
.sidebar-brand { display: flex; gap: .9rem; align-items: center; margin-bottom: 1.5rem; }
.admin-sidebar nav { display: grid; gap: .55rem; }
.admin-sidebar nav a { padding: .95rem 1rem; border-radius: 14px; color: #fff; background: rgba(255,255,255,.03); border: 1px solid transparent; }
.admin-sidebar nav a.active, .admin-sidebar nav a:hover { border-color: rgba(57,255,20,.4); background: rgba(57,255,20,.08); }
.admin-main { padding: 1.5rem; }
.table-wrap { overflow: auto; }
table { width: 100%; border-collapse: collapse; }
th, td { padding: .9rem; border-bottom: 1px solid rgba(255,255,255,.08); text-align: left; }
.badge { display: inline-flex; padding: .4rem .65rem; border-radius: 999px; font-weight: 700; font-size: .8rem; }
.badge-warning { background: rgba(var(--amarillo-rgb, 255,214,10),.2); color: color-mix(in srgb, var(--amarillo) 82%, white); }
.action-group { display: flex; flex-wrap: wrap; gap: .55rem; justify-content: center; }
.enroll-count { margin-top: .85rem; color: #c7d2fe; }
.section-title { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.quote-slide { padding: 1.2rem; font-size: 1.1rem; color: #dbeafe; }
.legal-card { line-height: 1.8; }
.text-center { text-align: center; }
.icon-xl { font-size: 3rem; color: var(--amarillo); }
@media (max-width: 1024px) {
  .hero-grid, .info-grid, .module-layout, .admin-shell { grid-template-columns: 1fr; }
  .admin-sidebar { min-height: auto; position: relative; }
}
@media (max-width: 768px) {
  .hero-header, .dashboard-header, .module-hero { padding: 1rem; flex-direction: column; align-items: flex-start; }
  .hero-grid, .info-grid, .course-center, .admin-main, .welcome-banner, .module-layout { padding-left: 1rem; padding-right: 1rem; }
  .form-grid.two-columns { grid-template-columns: 1fr; }
  .login-links { flex-direction: column; }
}
textarea, select { width: 100%; padding: .95rem 1rem; border-radius: 14px; border: 1px solid rgba(255,255,255,.15); background: rgba(255,255,255,.06); color: var(--blanco); outline: none; }
textarea { min-height: 120px; resize: vertical; }
select option { color: #111; }
img { max-width: 100%; display: block; }
.flash { position: fixed; top: 16px; right: 16px; z-index: 100; padding: 1rem 1.2rem; border-radius: 14px; box-shadow: var(--sombra); transition: .3s ease; }
.flash-success { background: rgba(34,197,94,.9); color: #fff; }
.flash-error { background: rgba(239,68,68,.9); color: #fff; }
.flash.hide { opacity: 0; transform: translateY(-10px); }
.badge-success { background: rgba(var(--verde-rgb, 57,255,20),.16); color: color-mix(in srgb, var(--verde) 72%, white); }
.badge-danger { background: rgba(239,68,68,.2); color: #fca5a5; }
.wrap-grid { flex-wrap: wrap; gap: 1rem; }
.left { text-align: left; }
.content-split { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; padding: 1rem 2rem; }
.module-banner { margin: 1rem 2rem; display: flex; gap: 1rem; align-items: center; }
.module-content-stack { display: grid; gap: 1rem; }
.inline-form { display: flex; gap: .5rem; align-items: center; }
.padded-grid { padding: 1rem 2rem 2rem; }
pre { white-space: pre-wrap; word-break: break-word; background: rgba(255,255,255,.03); padding: .8rem; border-radius: 12px; }
details summary { cursor: pointer; margin-bottom: .5rem; }
@media (max-width: 768px) { .content-split { grid-template-columns: 1fr; padding-left: 1rem; padding-right: 1rem; } }

.hero-copy { flex: 1; }
.hero-stats-row { display:flex; flex-wrap:wrap; gap:1rem; margin-top:.7rem; color:#dbeafe; }
.top-tight { padding-top:0; }
.simulacro-highlight { display:flex; align-items:center; justify-content:space-between; gap:1rem; border:1px solid rgba(255,214,10,.22); background:linear-gradient(135deg, rgba(255,214,10,.08), rgba(31,111,235,.08)); }
.simulacro-highlight h2 { margin:.45rem 0; }
.simulacro-highlight-actions { display:flex; align-items:center; }
.mini-tag { display:inline-flex; align-items:center; gap:.5rem; padding:.45rem .75rem; border-radius:999px; background:rgba(255,214,10,.12); color:#ffe066; border:1px solid rgba(255,214,10,.18); font-weight:700; font-size:.82rem; }
.card-topline { display:flex; justify-content:space-between; gap:.75rem; align-items:flex-start; }
.side-count { margin-left:auto; padding:.15rem .55rem; border-radius:999px; background:rgba(57,255,20,.14); color:var(--verde); font-size:.78rem; }
.simulacro-card-preview { border:1px solid rgba(255,214,10,.18); background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,214,10,.04)); }
.simulacro-preview-list { display:grid; gap:.55rem; margin:1rem 0; color:#dbeafe; }
.simulacro-preview-list span { display:flex; gap:.5rem; align-items:center; }
.muted-text { color:#cbd5e1; }

.simulacro-page { background:radial-gradient(circle at top, rgba(31,111,235,.15), transparent 25%), radial-gradient(circle at right, rgba(255,214,10,.08), transparent 18%), #030712; }

.sim-preview-shell { display:grid; grid-template-columns: 140px 1fr; gap:1rem; }
.sim-preview-nav { display:grid; gap:.6rem; }
.sim-preview-nav-item { background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08); color:#fff; border-radius:14px; padding:.6rem; display:grid; gap:.25rem; text-align:left; }
.sim-preview-nav-item span { width:28px; height:28px; display:grid; place-items:center; border-radius:50%; background:rgba(57,255,20,.14); color:#d1fae5; font-weight:800; }
.sim-preview-nav-item.active { border-color: rgba(57,255,20,.55); box-shadow:0 0 0 2px rgba(57,255,20,.15); }
.sim-preview-board { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr); gap:1rem; }
.sim-preview-slide, .sim-preview-panel { display:none; }
.sim-preview-slide.active, .sim-preview-panel.active { display:block; }
.sim-preview-right h4 { color:#ffd60a; margin-top:0; }
.sim-doc-body.preview-mode { min-height: 420px; }
.sim-doc-body.preview-mode img, .sim-doc-body.preview-mode iframe { height:420px; }
.preview-options .sim-option { width:100%; padding:.55rem .75rem; border-radius:14px; border:1px solid rgba(255,255,255,.08); background:rgba(255,255,255,.03); font-size:1rem; }
.preview-options .sim-option.selected { border-color:#ffd60a; }
.preview-options .sim-option.correct { border-color:#22c55e; background:rgba(34,197,94,.08); }
.preview-options .sim-option.wrong { border-color:#ef4444; background:rgba(239,68,68,.08); }
.option-label { font-size:.98rem; color:#e5e7eb; }
.sim-preview-feedback { margin-top:.9rem; padding:.8rem 1rem; border-radius:14px; background:rgba(255,255,255,.04); color:#e5e7eb; }
.sim-preview-feedback.ok { border:1px solid rgba(34,197,94,.45); color:#bbf7d0; }
.sim-preview-feedback.fail { border:1px solid rgba(239,68,68,.45); color:#fecaca; }
@media (max-width: 1100px) { .sim-preview-shell, .sim-preview-board { grid-template-columns:1fr; } }
.simulacro-header { padding-bottom: .75rem; }
.simulacro-shell { padding:0 1.5rem 1.5rem; display:grid; grid-template-columns: 160px 1fr; gap:1rem; }
.simulacro-nav { padding:1rem .75rem; max-height: calc(100vh - 140px); overflow:auto; }
.simulacro-nav-title { font-weight:800; color:#fff; margin-bottom:.8rem; }
.simulacro-question-list { display:grid; gap:.65rem; }
.question-nav-item { width:100%; background:transparent; border:none; color:#fff; display:grid; grid-template-columns: 26px 1fr 16px; align-items:center; gap:.55rem; padding:.45rem; border-radius:14px; cursor:pointer; text-align:left; }
.question-nav-item:hover, .question-nav-item.active { background:rgba(255,255,255,.06); }
.question-index { width:26px; height:26px; display:grid; place-items:center; border-radius:50%; border:2px solid rgba(255,255,255,.45); color:#fff; font-size:.8rem; }
.question-nav-item.answered .question-index { border-color: var(--verde); background: rgba(57,255,20,.15); }
.question-status { width:14px; height:14px; border-radius:50%; border:2px solid rgba(255,255,255,.45); }
.question-nav-item.answered .question-status { border-color: var(--verde); background: rgba(57,255,20,.9); }
.question-label { color:#d1d5db; font-size:.9rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.simulacro-board { display:grid; grid-template-columns: minmax(0, 1.2fr) minmax(320px, .9fr); gap:1rem; }
.simulacro-left, .simulacro-right { min-height: 72vh; }
.sim-question-slide, .sim-answer-panel { display:none; }
.sim-question-slide.active, .sim-answer-panel.active { display:block; }
.sim-doc-toolbar { display:flex; align-items:center; gap:.5rem; background:rgba(255,255,255,.08); padding:.55rem; border-radius:12px; margin-bottom:.8rem; }
.sim-doc-toolbar button { width:34px; height:34px; border:none; border-radius:10px; background:rgba(255,255,255,.08); color:#fff; }
.sim-doc-body { min-height: 62vh; border:1px solid rgba(255,255,255,.08); border-radius:18px; background:#fff; overflow:hidden; transform-origin: top left; transition: transform .2s ease; }
.sim-doc-body img, .sim-doc-body iframe { width:100%; height:62vh; border:none; object-fit:contain; background:#fff; }
.sim-fallback-text { color:#111827; padding:1.5rem; line-height:1.7; min-height:62vh; }
.simulacro-right h3 { color:#ffd60a; margin-top:.2rem; }
.sim-progress-dots { display:grid; grid-template-columns:repeat(8, 1fr); gap:.85rem; margin:1rem 0 1.4rem; }
.sim-dot { width:100%; aspect-ratio:1/1; min-height:44px; border-radius:50%; border:none; background:#e5e7eb; color:#fff; position:relative; cursor:pointer; font-weight:800; }
.sim-dot.active { box-shadow:0 0 0 3px rgba(255,214,10,.45); }
.sim-dot::after { content:''; position:absolute; top:-5px; right:-1px; width:12px; height:12px; border-radius:50%; background:#4ade80; opacity:0; }
.sim-dot.answered::after { opacity:1; }
.sim-dot span { color: #0f172a; font-weight: 900; font-size: .98rem; line-height: 1; display: inline-grid; place-items: center; }
.sim-dot.active span { color: #111827; }
.sim-dot.answered span { color: #0f172a; }
.sim-legend { display:flex; gap:1.5rem; align-items:center; color:#f3f4f6; }
.legend-review { color:#fb923c; }
.legend-answered { color:#4ade80; }
.sim-divider { border:none; border-top:2px solid rgba(255,255,255,.18); margin:1.4rem 0; }
.sim-options { display:grid; gap:1rem; margin-top:1rem; }
.sim-option { display:flex; align-items:center; gap:1rem; background:transparent; border:none; color:#fff; font-size:1.4rem; cursor:pointer; justify-content:flex-start; }
.option-letter { width:24px; text-align:center; }
.option-bubble { width:34px; height:34px; border-radius:50%; border:4px solid #ffd60a; background:transparent; display:inline-block; transition:.2s ease; }
.sim-option.selected .option-bubble { background:#ffd60a; box-shadow:0 0 14px rgba(255,214,10,.45); }
@media (max-width: 1200px) {
  .simulacro-shell, .simulacro-board { grid-template-columns:1fr; }
  .simulacro-nav { max-height:none; }
  .sim-progress-dots { grid-template-columns:repeat(6, 1fr); }
}
@media (max-width: 768px) {
  .simulacro-shell { padding:0 1rem 1rem; }
  .sim-progress-dots { grid-template-columns:repeat(4, 1fr); }
  .simulacro-highlight { flex-direction:column; align-items:flex-start; }
  .sim-option { font-size:1.15rem; }
}

.sim-question-counter{margin:.25rem 0 1rem;color:#f8fafc;font-weight:700;display:flex;justify-content:flex-end;}
.sim-option{width:100%;padding:.2rem 0;border-bottom:1px solid rgba(255,255,255,.06);}
.option-text{color:#f8fafc;font-size:1.08rem;font-weight:600;letter-spacing:.02em;}
.sim-option.selected .option-text{color:#ffe066;}
.review-item{padding:1rem;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);display:grid;gap:.45rem;margin-bottom:.85rem;}
.review-state{display:inline-flex;align-items:center;justify-content:center;padding:.28rem .7rem;border-radius:999px;font-size:.76rem;font-weight:800;text-transform:capitalize;width:max-content;}
.review-state.correcta{background:rgba(34,197,94,.15);color:#86efac;border:1px solid rgba(34,197,94,.35);}
.review-state.incorrecta{background:rgba(239,68,68,.12);color:#fecaca;border:1px solid rgba(239,68,68,.35);}
.review-state.no_respondida{background:rgba(250,204,21,.12);color:#fde68a;border:1px solid rgba(250,204,21,.3);}
.sim-top-actions { gap:.75rem; }
.timer-badge { display:inline-flex; align-items:center; gap:.5rem; padding:.8rem 1rem; border-radius:14px; border:1px solid rgba(255,214,10,.25); background:rgba(255,214,10,.08); color:#ffe066; font-weight:800; }
.sim-summary-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:.75rem; margin:1rem 0; }
.sim-summary-grid div, .result-grid div { padding:.85rem; border-radius:16px; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08); text-align:center; display:grid; gap:.3rem; }
.sim-summary-grid strong, .result-grid strong { font-size:1.25rem; color:#fff; }
.sim-summary-grid span, .result-grid span { color:#cbd5e1; font-size:.86rem; }
.sim-history-panel { margin-top:1.5rem; padding-top:1rem; border-top:1px solid rgba(255,255,255,.12); }
.history-list { display:grid; gap:.65rem; max-height:220px; overflow:auto; }
.history-card { display:grid; gap:.2rem; padding:.8rem; border-radius:14px; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08); }
.history-card.active { border-color: rgba(57,255,20,.45); }
.result-modal-card { max-width:720px; width:min(720px,100%); max-height:min(88vh,900px); overflow:hidden; display:flex; flex-direction:column; }
.result-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin:1rem 0 1.25rem; flex:0 0 auto; }
.result-modal-card .modal-header, .result-modal-card .modal-actions { flex:0 0 auto; }
.result-modal-card .sim-review-list { flex:1 1 auto; min-height:0; max-height:calc(88vh - 270px); overflow:auto; padding-right:.35rem; margin-bottom:1rem; overscroll-behavior:contain; }
.result-modal-card .sim-review-list::-webkit-scrollbar{ width:10px; }
.result-modal-card .sim-review-list::-webkit-scrollbar-thumb{ background:rgba(57,255,20,.25); border-radius:999px; }
.result-modal-card .sim-review-list::-webkit-scrollbar-track{ background:rgba(255,255,255,.05); border-radius:999px; }
@media (max-width: 768px) { .sim-summary-grid, .result-grid { grid-template-columns:1fr 1fr; } }
.progress-shell.compact{height:10px;margin:.5rem 0;}
.card-statuses{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:flex-end;}
.mini-tag.success{background:rgba(34,197,94,.14);border-color:rgba(34,197,94,.25);color:#86efac;}
.activity-viewed{border-color:rgba(34,197,94,.35);box-shadow:0 0 0 1px rgba(34,197,94,.15) inset;}
.content-frame{width:100%;height:clamp(320px,56vh,520px);min-height:320px;max-height:520px;border:none;border-radius:18px;background:#fff;display:block;}
.student-resource-card{display:grid;gap:1rem}
.student-resource-shell{position:relative;display:grid;place-items:center;padding:1rem;border-radius:24px;border:1px solid rgba(255,255,255,.1);background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.02));box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 16px 34px rgba(0,0,0,.18);overflow:hidden;min-height:clamp(320px,56vh,520px)}
.student-resource-shell::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;border:1px solid rgba(57,255,20,.08)}
.student-resource-shell.video-shell::before{border-color:rgba(31,111,235,.22)}
.student-resource-shell.pdf-shell::before,.student-resource-shell.embed-shell::before{border-color:rgba(255,214,10,.18)}
.student-resource-shell.image-shell::before{border-color:rgba(57,255,20,.22)}
.student-resource-media{width:100%;height:clamp(320px,56vh,520px);max-height:520px;object-fit:contain;border-radius:18px;background:#05070c;display:block}
.student-resource-shell.image-shell{padding:1.1rem;background:linear-gradient(180deg,rgba(57,255,20,.06),rgba(31,111,235,.06))}
.student-resource-shell.image-shell .student-resource-media{background:rgba(0,0,0,.22)}
.student-audio-shell{width:min(860px,100%);display:grid;gap:1rem;justify-items:center;text-align:center;padding:1.2rem;border-radius:22px;background:linear-gradient(135deg,rgba(57,255,20,.1),rgba(31,111,235,.1));border:1px solid rgba(255,255,255,.08)}
.student-audio-icon{width:78px;height:78px;border-radius:24px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(57,255,20,.18),rgba(31,111,235,.18));font-size:1.8rem;color:#fff;box-shadow:0 10px 24px rgba(0,0,0,.18)}
.student-audio-copy{display:grid;gap:.35rem}
.student-audio-copy p{margin:0;color:rgba(255,255,255,.78)}
.student-audio-shell audio{width:min(680px,100%)}
.student-resource-code{margin:0;padding:1rem;border-radius:18px;border:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.28);white-space:pre-wrap;word-break:break-word}
@media (max-width: 900px){.content-frame,.student-resource-shell,.student-resource-media{height:320px;min-height:320px;max-height:320px}.student-resource-shell{padding:.75rem}}

.flipbook-shell{display:grid;gap:1rem;}
.flip-page{display:none;min-height:420px;padding:2rem;border-radius:18px;background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.12);box-shadow:inset 0 0 80px rgba(255,255,255,.04);}
.flip-page.active{display:block;animation:flipIn .25s ease;}
@keyframes flipIn{from{transform:rotateY(-12deg);opacity:.65}to{transform:rotateY(0);opacity:1}}
.flip-controls,.template-toolbar{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1rem;}
.builder-items-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;}
.builder-item-card{padding:1rem;border-radius:18px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);}
.builder-pro-shell{display:grid;gap:1.25rem;}
.visual-builder-card{display:grid;gap:1rem;padding:1.2rem;border:1px solid rgba(57,255,20,.18);}
.builder-tabs{display:flex;flex-wrap:wrap;gap:.75rem;}
.builder-tab{border:none;background:rgba(255,255,255,.05);color:#fff;padding:.8rem 1rem;border-radius:14px;cursor:pointer;font-weight:700;}
.builder-tab.active{background:linear-gradient(135deg, rgba(57,255,20,.2), rgba(31,111,235,.22));border:1px solid rgba(57,255,20,.35);}
.builder-panel{display:none;gap:1rem;}
.builder-panel.active{display:grid;}
.builder-stack{display:grid;gap:1rem;}
.builder-card-header{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-bottom:.75rem;}
.builder-items-grid.two{grid-template-columns:repeat(2,minmax(0,1fr));}
.builder-items-grid.three{grid-template-columns:repeat(3,minmax(0,1fr));}
.builder-items-grid.four{grid-template-columns:repeat(4,minmax(0,1fr));}
.top-space{margin-top:.5rem;}
.no-margin{margin:0;}
.builder-preview-shell{padding:1rem;border-radius:18px;background:rgba(255,255,255,.03);border:1px dashed rgba(255,255,255,.18);}
.correct-answer-card{border-color:rgba(34,197,94,.35);background:rgba(34,197,94,.1);}
.wrong-answer-card{border-color:rgba(239,68,68,.35);background:rgba(239,68,68,.1);}
@media (max-width:768px){.builder-items-grid.two,.builder-items-grid.three,.builder-items-grid.four{grid-template-columns:1fr;}}

.advanced-flipbook-card .flipbook-pro{display:grid;grid-template-columns:220px 1fr;gap:1rem;align-items:start}
.flipbook-thumbs{display:grid;gap:.65rem;max-height:520px;overflow:auto;padding-right:.2rem}
.thumb-page{background:rgba(255,255,255,.04);border:1px solid rgba(57,255,20,.15);border-radius:16px;color:#fff;padding:.8rem;text-align:left;display:grid;gap:.2rem;cursor:pointer}
.thumb-page.active{border-color:#39ff14;box-shadow:0 0 0 1px rgba(57,255,20,.4),0 10px 30px rgba(57,255,20,.15)}
.flipbook-stage{display:grid;gap:1rem}
.flip-page{display:none;min-height:420px;background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.08);border-radius:22px;padding:1.5rem;position:relative;overflow:auto}
.flip-page.active{display:block;animation:pageFade .35s ease}
.page-meta{font-size:.85rem;color:#a3a3a3;margin-bottom:.8rem}
.page-body{line-height:1.8;white-space:pre-line}
.flip-progress{display:flex;align-items:center;color:#fff;padding:0 .8rem}
.slides-pro-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}
.slide-pro-card,.infografia-block,.mapa-node,.review-item{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:1rem;color:#fff}
.slide-step{display:inline-flex;padding:.35rem .7rem;border-radius:999px;background:rgba(57,255,20,.12);border:1px solid rgba(57,255,20,.25);margin-bottom:.7rem}
.infografia-stack{display:grid;gap:1rem}.infografia-block{display:grid;grid-template-columns:64px 1fr;gap:1rem;align-items:start}.info-number{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg,#39ff14,#0ea5e9);color:#08110a;font-weight:900;font-size:1.2rem}
.mapa-shell{display:grid;gap:1rem}.mapa-root{margin:0 auto;background:linear-gradient(135deg,#39ff14,#0ea5e9);color:#041208;padding:1rem 1.4rem;border-radius:18px;font-weight:800}.mapa-branches{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}
.game-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.memory-card{position:relative;min-height:180px;background:transparent;border:none;cursor:pointer;transform-style:preserve-3d;transition:transform .5s}.memory-card.flipped{transform:rotateY(180deg)}.memory-front,.memory-back{position:absolute;inset:0;padding:1rem;border-radius:20px;backface-visibility:hidden;border:1px solid rgba(255,255,255,.08);display:grid;place-items:center;text-align:center}.memory-front{background:linear-gradient(145deg,rgba(14,165,233,.15),rgba(255,255,255,.05));color:#fff}.memory-back{background:linear-gradient(145deg,rgba(57,255,20,.18),rgba(255,255,255,.05));color:#fff;transform:rotateY(180deg)}
.ai-chat-shell{display:grid;gap:1rem}.ai-chat-feed{max-height:460px;overflow:auto;display:grid;gap:.8rem}.ai-msg{padding:1rem;border-radius:16px;border:1px solid rgba(255,255,255,.08)}.ai-msg.user{background:rgba(14,165,233,.12)}.ai-msg.assistant{background:rgba(57,255,20,.08)}.ai-chat-form textarea{min-height:110px;width:100%;padding:1rem;border-radius:16px;background:#0c111b;color:#fff;border:1px solid rgba(255,255,255,.1)}
.question-nav-item.marked,.sim-dot.marked{box-shadow:0 0 0 2px #facc15 inset}.sim-review-list{display:grid;gap:.65rem;margin:1rem 0}
@keyframes pageFade{from{opacity:.35;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (max-width: 900px){.advanced-flipbook-card .flipbook-pro{grid-template-columns:1fr}.flipbook-thumbs{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));max-height:none}}


.premium-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem}.kpi-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:1rem 1.1rem;box-shadow:0 12px 30px rgba(0,0,0,.18)}.kpi-card span{display:block;font-size:.86rem;opacity:.75}.kpi-card strong{display:block;font-size:2rem;margin:.35rem 0;color:#fff}.kpi-card small{opacity:.7}.kpi-card.neon strong{color:#7CFC00}.kpi-card.warning strong{color:#facc15}.analytics-grid{display:grid;gap:1rem;margin-top:1rem}.analytics-grid.two-col{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.inline-filter-form label{display:flex;flex-direction:column;gap:.35rem}.inline-filter-form select{min-width:260px}.premium-header{align-items:end}.sim-meta-tags{display:flex;gap:.5rem;flex-wrap:wrap;margin:.25rem 0 .75rem}.review-item{border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:.85rem;margin-bottom:.6rem;background:rgba(255,255,255,.03)}.review-item p{margin:.45rem 0 0}.review-state{display:inline-block;margin-bottom:.35rem;padding:.2rem .5rem;border-radius:999px;background:rgba(255,255,255,.08)}.review-state.correcta{background:rgba(34,197,94,.18);color:#86efac}.review-state.incorrecta{background:rgba(239,68,68,.18);color:#fca5a5}.review-state.no_respondida{background:rgba(250,204,21,.18);color:#fde68a}

.premium-module-banner{border-color:rgba(57,255,20,.28)}
.flipbook-thumbs-wrap{display:grid;gap:.8rem}
.page-quote{margin:1rem 0;padding:1rem 1.2rem;border-left:4px solid var(--page-tone,#39ff14);background:var(--page-soft-strong,rgba(57,255,20,.14));border-radius:0 14px 14px 0;color:var(--page-ink,#1f2937);font-style:italic;font-weight:500}.book-sheet-front .page-body,.book-sheet-front .page-body *{color:var(--page-ink,#1f2937)}
.page-actions-row{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center;margin-top:1rem}
.slide-deck-shell{display:grid;gap:1rem}.slides-pro-grid.single-view .slide-pro-card{display:none}.slides-pro-grid.single-view .slide-pro-card.active{display:block;animation:pageFade .35s ease}.slide-notes,.slide-media-link{margin-top:.75rem;padding:.75rem;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.premium-info-block{align-items:stretch}.stat-pill{display:inline-flex;margin:.35rem 0 .7rem;padding:.35rem .7rem;border-radius:999px;background:rgba(57,255,20,.14);border:1px solid rgba(57,255,20,.22);color:#b8ff9f;font-weight:700}
.premium-map-grid .mapa-node strong i{margin-right:.35rem}
.quiz-shell{margin-top:1.4rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1)}.quiz-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}.quiz-card{padding:1rem;border-radius:18px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);display:grid;gap:.8rem}.quiz-options{display:flex;gap:.5rem;flex-wrap:wrap}.quiz-options .btn.is-correct{background:rgba(34,197,94,.18);border-color:rgba(34,197,94,.45);color:#a7f3d0}.quiz-options .btn.is-wrong{background:rgba(239,68,68,.18);border-color:rgba(239,68,68,.45);color:#fecaca}
.ai-chip-row{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:.9rem}
.rich-item-card{background:rgba(255,255,255,.05);border-color:rgba(14,165,233,.18)}
.builder-item-card.question-builder-card{border-color:rgba(250,204,21,.18)}
.admin-sidebar nav a{position:relative;overflow:hidden}.admin-sidebar nav a::after{content:'';position:absolute;inset:auto 0 0 0;height:2px;background:linear-gradient(90deg,#39ff14,#0ea5e9);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}.admin-sidebar nav a:hover::after{transform:scaleX(1)}
@media (max-width:900px){.quiz-grid{grid-template-columns:1fr}}

/* ===== Landing rebuild requirement-focused ===== */
.landing-shell {
  min-height: 100vh;
  padding: 1.25rem;
  background:
    radial-gradient(circle at top left, rgba(57,255,20,.12), transparent 28%),
    radial-gradient(circle at top right, rgba(31,111,235,.18), transparent 32%),
    linear-gradient(180deg, #04070d 0%, #020202 100%);
}
.landing-topbar {
  width: min(1380px, calc(100% - 0px));
  margin: 0 auto 1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.25rem;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 24px;
  background: rgba(5,10,18,.82);
  box-shadow: 0 18px 45px rgba(0,0,0,.28);
  backdrop-filter: blur(14px);
}
.landing-brand { display: flex; align-items: center; gap: 1rem; }
.landing-logo {
  width: 64px; height: 64px; border-radius: 18px;
  display: grid; place-items: center;
  background: linear-gradient(135deg, rgba(57,255,20,.95), rgba(31,111,235,.95));
  color: #04110a; font-size: 1.6rem; box-shadow: 0 0 30px rgba(57,255,20,.28);
}
.landing-brand h1 { margin: 0; font-size: clamp(1.5rem, 2vw, 2.2rem); }
.landing-brand p { margin: .3rem 0 0; color: #cbd5e1; }
.landing-badges { display: flex; flex-wrap: wrap; gap: .7rem; justify-content: flex-end; }
.landing-badges span, .section-badge, .hero-chip-row span {
  display: inline-flex; align-items: center; gap: .5rem;
  padding: .55rem .9rem; border-radius: 999px;
  border: 1px solid rgba(255,255,255,.1); background: rgba(255,255,255,.05);
}
.section-badge { color: #dbeafe; font-size: .88rem; width: fit-content; }
.landing-carousel, .landing-access-grid, .landing-info-grid, .course-preview-shell {
  width: min(1380px, calc(100% - 0px)); margin: 0 auto;
}
.landing-carousel { padding: 0; overflow: hidden; margin-bottom: 1.25rem; }
.hero-slide {
  min-height: 420px; display: flex; align-items: center;
  padding: 2.5rem 3rem;
  background-size: cover; background-position: center;
}
.hero-slide-one { background: radial-gradient(circle at 15% 20%, rgba(57,255,20,.18), transparent 26%), linear-gradient(120deg, rgba(3,7,18,.98), rgba(7,18,36,.95)); }
.hero-slide-two { background: radial-gradient(circle at 80% 20%, rgba(255,214,10,.16), transparent 24%), linear-gradient(120deg, rgba(2,5,15,.98), rgba(13,25,52,.95)); }
.hero-slide-three { background: radial-gradient(circle at 70% 80%, rgba(31,111,235,.2), transparent 22%), linear-gradient(120deg, rgba(4,4,4,.98), rgba(9,19,34,.95)); }
.hero-copy { max-width: 840px; }
.eyebrow { display: inline-flex; align-items: center; gap: .5rem; color: var(--amarillo); font-weight: 700; margin-bottom: 1rem; }
.hero-copy h2 { margin: 0 0 1rem; font-size: clamp(2rem, 3vw, 3.3rem); line-height: 1.08; max-width: 840px; }
.hero-copy p { margin: 0; color: #d6e0f3; font-size: 1.03rem; max-width: 760px; }
.hero-chip-row { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.25rem; }
.landing-access-grid {
  display: grid; grid-template-columns: 1.1fr .95fr; gap: 1.25rem; margin-bottom: 1.25rem;
}
.access-copy, .auth-card { position: relative; overflow: hidden; }
.access-copy-premium::before, .auth-card-premium::before { content:""; position:absolute; inset:0; pointer-events:none; border-radius:inherit; padding:1px; background:linear-gradient(135deg, rgba(57,255,20,.35), rgba(31,111,235,.25), rgba(255,214,10,.35)); -webkit-mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); -webkit-mask-composite:xor; mask-composite:exclude; }
.access-copy h3, .auth-card h3 { margin: .9rem 0 .75rem; font-size: clamp(1.55rem, 2vw, 2.2rem); }
.access-copy p, .auth-card p { color: #c8d1df; }
.access-feature-list { display: grid; gap: .9rem; margin-top: 1.25rem; }
.access-feature-list article {
  display: grid; grid-template-columns: 54px 1fr; gap: .85rem; align-items: start;
  padding: 1rem; border-radius: 18px; border: 1px solid rgba(255,255,255,.08); background: rgba(255,255,255,.03);
}
.access-feature-list i {
  width: 54px; height: 54px; border-radius: 16px; display: grid; place-items: center;
  background: linear-gradient(135deg, rgba(57,255,20,.22), rgba(31,111,235,.22)); color: var(--verde); font-size: 1.2rem;
}
.access-feature-list strong { display: block; margin-bottom: .2rem; }
.access-feature-list span { color: #cbd5e1; font-size: .95rem; }
.auth-frame {
  position: relative; padding: 2px; border-radius: 30px;
  background: linear-gradient(135deg, rgba(57,255,20,.95), rgba(31,111,235,.95), rgba(255,214,10,.95), rgba(255,255,255,.95));
  box-shadow: 0 0 0 1px rgba(255,255,255,.06), 0 24px 60px rgba(0,0,0,.32);
}
.auth-frame-premium { background: linear-gradient(135deg, rgba(31,111,235,.95), rgba(255,255,255,.72), rgba(57,255,20,.86), rgba(255,214,10,.88)); box-shadow: 0 0 0 1px rgba(255,255,255,.08), 0 26px 70px rgba(0,0,0,.38), 0 0 35px rgba(57,255,20,.14); }
.auth-glow-line {
  position: absolute; inset: -2px; border-radius: 32px;
  background: conic-gradient(from 0deg, var(--verde), var(--azul), var(--amarillo), #fff, var(--verde));
  filter: blur(16px); opacity: .4; z-index: 0; animation: landingGlow 8s linear infinite;
}
@keyframes landingGlow { from { transform: rotate(0deg);} to { transform: rotate(360deg);} }
.auth-card { z-index: 1; min-height: 100%; background: rgba(7,10,16,.97); border-radius: 28px; padding: 1.75rem; }
.auth-card-premium { background: linear-gradient(145deg, rgba(13,22,42,.94), rgba(147,197,253,.12), rgba(163,230,53,.18), rgba(250,204,21,.16)); border: 1px solid rgba(255,255,255,.08); box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 18px 45px rgba(0,0,0,.22); backdrop-filter: blur(18px); }
.access-copy-premium { background: linear-gradient(180deg, rgba(4,8,16,.92), rgba(8,10,16,.98)); border: 1px solid rgba(255,255,255,.08); box-shadow: 0 18px 45px rgba(0,0,0,.24); }
.auth-card-head { margin-bottom: 1rem; }
.auth-form-grid { display: grid; gap: 1rem; }
.auth-form-grid label, .form-grid label { display: grid; gap: .55rem; }
.auth-form-grid span { display: inline-flex; align-items: center; gap: .55rem; font-weight: 700; color: #f3f4f6; }
.auth-form-grid input { min-height: 56px; border-radius: 16px; }
.btn-lg { min-height: 56px; font-size: 1rem; }
.auth-actions-row { display: flex; justify-content: space-between; gap: .75rem; margin-top: 1rem; flex-wrap: wrap; }
.strong-link { font-weight: 700; color: #ffe066; }
.landing-info-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-bottom: 1.25rem;
}
.info-card { min-height: 100%; }
.info-icon {
  width: 58px; height: 58px; border-radius: 18px; display: grid; place-items: center;
  margin-bottom: 1rem; background: linear-gradient(135deg, rgba(255,214,10,.2), rgba(31,111,235,.22));
  color: var(--amarillo); font-size: 1.4rem;
}
.info-card h3 { margin: 0 0 .7rem; }
.course-preview-shell { padding-bottom: 1.25rem; }
.course-preview-card {
  display: grid; grid-template-columns: 340px 1fr; gap: 1.25rem; align-items: stretch;
}
.course-preview-media {
  min-height: 250px; border-radius: 22px; overflow: hidden;
  background: linear-gradient(135deg, rgba(57,255,20,.12), rgba(31,111,235,.12));
}
.course-preview-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.course-preview-placeholder { height: 100%; display: grid; place-items: center; font-size: 4rem; color: var(--verde); }
.course-preview-copy { display: flex; flex-direction: column; justify-content: center; }
.course-preview-copy h3 { margin: .85rem 0; font-size: clamp(1.6rem, 2vw, 2.3rem); }
.course-preview-copy p { color: #d6deea; margin: .35rem 0; }
.muted-text { color: #cbd5e1; }
.flash { position: fixed; top: 18px; right: 18px; z-index: 100; padding: .9rem 1rem; border-radius: 16px; }
.flash-error { background: rgba(239,68,68,.88); }
.flash-success { background: rgba(34,197,94,.88); }
@media (max-width: 1100px) {
  .landing-topbar, .landing-carousel, .landing-access-grid, .landing-info-grid, .course-preview-shell { width: 100%; }
  .landing-access-grid, .course-preview-card, .landing-info-grid { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
  .landing-shell { padding: .75rem; }
  .landing-topbar { padding: 1rem; border-radius: 20px; }
  .landing-topbar, .landing-brand { flex-direction: column; align-items: flex-start; }
  .landing-badges { justify-content: flex-start; }
  .hero-slide { min-height: 370px; padding: 1.5rem; }
  .hero-copy h2 { font-size: 1.8rem; }
  .auth-card, .access-copy, .info-card, .course-preview-card { padding: 1.15rem; }
  .auth-actions-row { flex-direction: column; align-items: flex-start; }
  .floating-whatsapp { width: 54px; height: 54px; bottom: max(14px, env(safe-area-inset-bottom)); right: max(14px, env(safe-area-inset-right)); font-size: 1.65rem; max-width: calc(100vw - 28px); }
}

/* --- Reconstrucción total · bloque 1 admin exacto --- */
body { background: radial-gradient(circle at top, rgba(15,23,42,.85), #020617 55%, #000 100%); color: #e5eefc; }
.premium-shell { min-height: 100vh; display: flex; }
.admin-content-wrap { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.admin-topbar { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:1rem 1.25rem; margin:1rem 1rem 0; border:1px solid rgba(103,232,249,.18); border-radius:22px; background:rgba(2,6,23,.82); backdrop-filter: blur(18px); box-shadow: 0 16px 40px rgba(0,0,0,.32); }
.admin-topbar__left,.admin-topbar__right { display:flex; align-items:center; gap:1rem; }
.icon-toggle,.profile-trigger,.modal-close { background:rgba(15,23,42,.95); border:1px solid rgba(255,255,255,.12); color:#fff; border-radius:16px; }
.icon-toggle { width:48px; height:48px; }
.brand-inline { display:flex; align-items:center; gap:.85rem; }
.brand-inline__logo { width:52px; height:52px; border-radius:16px; display:grid; place-items:center; background:linear-gradient(135deg,#22c55e,#38bdf8); color:#020617; font-size:1.2rem; }
.brand-inline strong { display:block; font-size:1rem; }
.brand-inline small, .profile-meta small, .helper-text { color:#94a3b8; }
.status-chip { padding:.65rem .9rem; border-radius:999px; background:rgba(34,197,94,.12); border:1px solid rgba(34,197,94,.25); color:#bbf7d0; }
.profile-dropdown { position:relative; }
.profile-trigger { display:flex; align-items:center; gap:.75rem; padding:.4rem .75rem .4rem .4rem; cursor:pointer; }
.profile-trigger img, .profile-trigger span { width:44px; height:44px; border-radius:14px; object-fit:cover; display:grid; place-items:center; background:linear-gradient(135deg,#38bdf8,#22c55e); color:#001018; font-weight:800; }
.profile-meta { display:flex; flex-direction:column; text-align:left; }
.profile-menu { position:absolute; right:0; top:calc(100% + 10px); min-width:220px; background:#020617; border:1px solid rgba(255,255,255,.08); border-radius:18px; padding:.5rem; box-shadow:0 18px 40px rgba(0,0,0,.4); display:none; z-index:50; }
.profile-dropdown.open .profile-menu { display:block; }
.profile-menu__item { width:100%; display:flex; align-items:center; gap:.75rem; padding:.8rem .9rem; color:#e5eefc; background:transparent; border:none; border-radius:14px; text-decoration:none; }
.profile-menu__item:hover { background:rgba(148,163,184,.12); }
.profile-menu__item.danger { color:#fda4af; }
.admin-sidebar.premium { width:290px; padding:1rem; border-right:1px solid rgba(255,255,255,.08); background:rgba(1,4,16,.9); position:sticky; top:0; height:100vh; display:flex; flex-direction:column; gap:1rem; }
.sidebar-brand { padding:1rem; border-radius:24px; background:linear-gradient(135deg, rgba(34,197,94,.18), rgba(59,130,246,.14)); border:1px solid rgba(255,255,255,.08); }
.sidebar-brand h3 { margin:0; }
.sidebar-nav { display:grid; gap:.45rem; }
.sidebar-nav a { display:flex; align-items:center; gap:.85rem; padding:.9rem 1rem; border-radius:16px; color:#dbeafe; text-decoration:none; border:1px solid transparent; }
.sidebar-nav a.active, .sidebar-nav a:hover { background:rgba(34,197,94,.12); border-color:rgba(34,197,94,.25); color:#fff; }
.sidebar-footer-note { margin-top:auto; padding:1rem; border-radius:18px; background:rgba(15,23,42,.8); color:#94a3b8; font-size:.92rem; }
.admin-main { padding:1rem; display:flex; flex-direction:column; gap:1rem; flex:1; }
.admin-footerbar { margin:0 1rem 1rem; padding:1rem 1.25rem; border-radius:20px; border:1px solid rgba(255,255,255,.08); background:rgba(2,6,23,.82); display:flex; justify-content:space-between; gap:1rem; color:#94a3b8; }
.page-hero.admin-hero { display:flex; justify-content:space-between; align-items:flex-end; gap:1rem; padding:1.4rem 1.5rem; border-radius:28px; background:linear-gradient(135deg, rgba(15,23,42,.94), rgba(8,47,73,.82)); border:1px solid rgba(255,255,255,.08); }
.page-hero.admin-hero.compact { align-items:center; }
.eyebrow { text-transform:uppercase; letter-spacing:.15em; font-size:.73rem; color:#67e8f9; }
.page-hero h1 { margin:.3rem 0; font-size:2rem; }
.hero-actions { display:flex; gap:.75rem; flex-wrap:wrap; }
.course-admin-grid { grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); }
.admin-course-card { overflow:hidden; border-radius:26px; border:1px solid rgba(255,255,255,.08); background:rgba(15,23,42,.78); }
.admin-course-card .course-card__body { padding:1rem 1.1rem 1.2rem; }
.course-actions-grid { display:grid; gap:.75rem; grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:1rem; }
.enroll-count.premium { margin-top:1rem; padding:.9rem 1rem; border-radius:18px; background:rgba(255,255,255,.04); display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.course-meta { color:#cbd5e1; margin:.35rem 0; }
.modal-shell { position:fixed; inset:0; background:rgba(2,6,23,.72); display:none; align-items:center; justify-content:center; padding:1rem; z-index:200; }
.modal-shell.open { display:flex; }
.premium-modal { width:min(960px, 100%); max-height:90vh; overflow:auto; background:#020817; border:1px solid rgba(255,255,255,.1); border-radius:28px; padding:1.2rem; box-shadow:0 25px 60px rgba(0,0,0,.5); }
.premium-modal.xl { width:min(1100px, 100%); }
.modal-card__header { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin-bottom:1rem; }
.module-builder-layout { display:grid; grid-template-columns:320px 1fr; gap:1rem; align-items:start; }
.module-builder-menu { position:sticky; top:1rem; }
.module-builder-menu nav { display:grid; gap:.55rem; margin-top:1rem; }
.module-builder-menu nav a { display:flex; gap:.75rem; padding:.85rem 1rem; border-radius:16px; background:rgba(255,255,255,.03); color:#dbeafe; text-decoration:none; }
.module-card-xl .course-actions-grid { grid-template-columns:1fr 1fr; }
.badge-success { background:rgba(34,197,94,.16); color:#bbf7d0; }
.hidden-sidebar .admin-sidebar { transform:translateX(-105%); position:fixed; z-index:80; }
.hidden-sidebar .admin-content-wrap { width:100%; }
@media (max-width: 1200px){ .admin-sidebar.premium { position:fixed; z-index:80; transform:translateX(0); } .admin-content-wrap { margin-left:0; } }
@media (max-width: 900px){ .module-builder-layout { grid-template-columns:1fr; } .admin-topbar,.page-hero.admin-hero,.admin-footerbar,.enroll-count.premium { flex-direction:column; align-items:flex-start; } .course-actions-grid { grid-template-columns:1fr; } }

.modules-only-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.course-actions-grid.three-actions{grid-template-columns:repeat(3,minmax(0,1fr))}
.module-builder-menu nav a.active{background:rgba(59,130,246,.18);border-color:rgba(59,130,246,.4)}
.thematic-content-area{display:flex;flex-direction:column;gap:20px;min-width:0}
.action-group.wrap{flex-wrap:wrap}
@media (max-width: 1100px){.modules-only-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width: 700px){.modules-only-grid{grid-template-columns:1fr}.course-actions-grid.three-actions{grid-template-columns:1fr}}

.improved-modules-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
.polished-module-card{position:relative;overflow:hidden;border:1px solid rgba(57,255,20,.18);box-shadow:0 18px 36px rgba(0,0,0,.28)}
.polished-module-card .course-card__body{display:grid;gap:.75rem}
.module-card-topline{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap}
.mini-chip{display:inline-flex;align-items:center;gap:.45rem;padding:.4rem .75rem;border-radius:999px;background:rgba(14,165,233,.12);border:1px solid rgba(14,165,233,.25);font-size:.82rem;color:#bae6fd}
.module-actions-pretty{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem;margin-top:.4rem}
.action-pill{justify-content:center;border-radius:16px;padding:.85rem .8rem;font-weight:800;display:inline-flex;align-items:center;gap:.55rem}
.action-pill.edit{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12)}
.action-pill.danger{background:rgba(239,68,68,.14);border:1px solid rgba(239,68,68,.3);color:#fecaca}
.action-pill.thematic{background:linear-gradient(135deg,rgba(57,255,20,.2),rgba(14,165,233,.18));border:1px solid rgba(57,255,20,.34)}
.table-toolbar{display:flex;justify-content:space-between;gap:1rem;align-items:center;flex-wrap:wrap;margin-bottom:1rem}
.table-search-input{min-width:280px;padding:.9rem 1rem;border-radius:16px;background:#0f172a;border:1px solid rgba(255,255,255,.1);color:#fff}
.row-muted{font-size:.84rem;color:#a5b4fc;margin-top:.25rem}
.compact-actions-grid{display:flex;flex-wrap:wrap;gap:.45rem}
.table-pagination{display:flex;justify-content:flex-end;gap:.45rem;flex-wrap:wrap;margin-top:1rem}
.pager-btn{border:none;background:rgba(255,255,255,.06);color:#fff;padding:.6rem .9rem;border-radius:12px;cursor:pointer}
.pager-btn.active{background:linear-gradient(135deg,rgba(57,255,20,.24),rgba(14,165,233,.22));box-shadow:0 0 0 1px rgba(57,255,20,.3) inset}
.pager-btn:disabled{opacity:.45;cursor:not-allowed}
.polished-type-header{border:1px solid rgba(57,255,20,.18)}
.themed-form label span{display:block;margin-bottom:.45rem;font-weight:700}
.themed-form input,.themed-form select,.themed-form textarea{width:100%}
.btn.btn-dark{background:rgba(15,23,42,.95);border:1px solid rgba(255,255,255,.12);color:#fff}
@media (max-width:1100px){.improved-modules-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.module-actions-pretty{grid-template-columns:1fr}}
@media (max-width:700px){.improved-modules-grid{grid-template-columns:1fr;}.table-search-input{min-width:100%}.compact-actions-grid{display:grid;grid-template-columns:1fr 1fr}.module-actions-pretty{grid-template-columns:1fr}}

.module-actions-pretty{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}
.action-pill{min-height:52px;padding:.9rem 1rem;border-radius:18px;box-shadow:0 10px 24px rgba(0,0,0,.18);font-size:.92rem}
.action-pill span{white-space:nowrap}
.module-actions-pretty form{margin:0}
.compact-actions-grid-pro .btn,.compact-actions-grid-pro form .btn{border-radius:14px;font-weight:700}
.separated-builder-card,.execution-preview-card{border:1px solid rgba(59,130,246,.18);box-shadow:0 18px 36px rgba(0,0,0,.2)}
.preview-stage{display:grid;gap:1rem}
.preview-deck,.preview-book,.preview-game-scenes,.preview-node-list,.preview-sim-questions{display:grid;gap:1rem}
.preview-slide,.preview-page,.preview-scene,.preview-node,.preview-info-card,.review-item{padding:1rem 1.1rem;border-radius:18px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.preview-infografia-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}
.preview-info-card span{display:inline-block;margin-top:.6rem;padding:.35rem .6rem;border-radius:999px;background:rgba(57,255,20,.14);color:#d9f99d}
.preview-scene{border-left:4px solid rgba(57,255,20,.5)}
.preview-node{border-left:4px solid rgba(59,130,246,.5)}
@media (max-width:700px){.compact-actions-grid-pro{grid-template-columns:1fr}.action-pill span{white-space:normal}}


/* ==== Block 5 advanced constructors ==== */
.module-actions-pretty{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-top:1rem}.module-actions-pretty form{margin:0}.action-pill{width:100%;justify-content:center;border-radius:14px;padding:.9rem 1rem;font-weight:800;min-height:48px;box-shadow:0 10px 24px rgba(0,0,0,.22)}.action-pill i{font-size:1rem}.action-pill.edit{background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(226,232,240,.96));color:#0b1220}.action-pill.danger{background:linear-gradient(135deg,#ef4444,#b91c1c);color:#fff}.action-pill.thematic{background:linear-gradient(135deg,#0ea5e9,#39ff14);color:#061108}.polished-module-card .course-card__body{display:grid;gap:.45rem}.polished-module-card h3{margin:.25rem 0 .2rem}.polished-module-card .course-meta{margin:0;color:#d7e2f0}.polished-module-card .course-image.small{height:250px}.polished-module-card .course-image.small img{width:100%;height:100%;object-fit:cover}
.builder-hero-note{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:.35rem}.builder-hero-note span{padding:.45rem .7rem;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);font-size:.84rem}
.builder-mode-title{display:flex;justify-content:space-between;gap:1rem;align-items:center;flex-wrap:wrap;margin-bottom:.9rem}
.builder-item-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:1rem}.builder-item-card label span{display:block;margin-bottom:.35rem;color:#c9d4e2;font-size:.86rem}.builder-item-card input,.builder-item-card textarea,.builder-item-card select{width:100%;padding:.78rem .9rem;border-radius:14px;background:#0c111b;color:#fff;border:1px solid rgba(255,255,255,.1)}.builder-item-card textarea{min-height:100px}
.builder-inline-actions{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.builder-preview-shell pre{white-space:pre-wrap;word-break:break-word}
.preview-stage.advanced-game-stage{display:grid;gap:1rem}.game-runner{position:relative;min-height:520px;border-radius:26px;overflow:hidden;border:1px solid rgba(57,255,20,.18);background:linear-gradient(135deg,rgba(14,165,233,.12),rgba(57,255,20,.08))}.game-runner-bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:brightness(.48)}.game-runner-overlay{position:relative;z-index:1;display:grid;grid-template-columns:220px 1fr;gap:1rem;min-height:520px;padding:1.25rem}.game-avatar-card,.game-scene-card{background:rgba(4,10,18,.72);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.08);border-radius:22px;padding:1rem;color:#fff}.game-avatar-visual{height:170px;border-radius:20px;display:grid;place-items:center;font-size:4rem;background:linear-gradient(135deg,rgba(57,255,20,.18),rgba(14,165,233,.18));margin-bottom:1rem}.scene-object-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem;margin-top:1rem}.scene-object-card{padding:.9rem;border-radius:18px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08)}.decision-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;margin-top:1rem}.decision-btn{padding:.95rem 1rem;border-radius:16px;border:1px solid rgba(57,255,20,.2);background:rgba(57,255,20,.08);color:#fff;cursor:pointer;text-align:left;font-weight:700}.decision-btn:hover{transform:translateY(-1px);border-color:#39ff14}.decision-result{margin-top:1rem;padding:1rem;border-radius:18px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08)}.runner-toolbar{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;justify-content:space-between;margin-bottom:.75rem}
.slide-canvas{min-height:480px;border-radius:24px;overflow:hidden;background:linear-gradient(135deg,rgba(14,165,233,.14),rgba(57,255,20,.08));border:1px solid rgba(255,255,255,.1);padding:1rem;display:grid;grid-template-columns:1fr 320px;gap:1rem}.slide-stage{position:relative;border-radius:22px;background:rgba(4,10,18,.78);padding:1.5rem;color:#fff;display:grid;align-content:space-between}.slide-stage-media{min-height:220px;border-radius:20px;background:rgba(255,255,255,.04);border:1px dashed rgba(255,255,255,.14);display:grid;place-items:center;overflow:hidden}.slide-stage-media img{width:100%;height:100%;object-fit:cover}.slide-hotspots{display:grid;gap:.75rem}.hotspot-btn{padding:.85rem 1rem;border-radius:16px;border:1px solid rgba(14,165,233,.22);background:rgba(14,165,233,.12);color:#fff;font-weight:700;cursor:pointer;text-align:left}
.preview-modal-lite{position:fixed;inset:0;background:rgba(2,6,12,.7);display:none;align-items:center;justify-content:center;padding:1rem;z-index:70}.preview-modal-lite.active{display:flex}.preview-modal-card{width:min(700px,100%);background:#0b1220;border:1px solid rgba(255,255,255,.1);border-radius:24px;padding:1.25rem;color:#fff;box-shadow:0 30px 80px rgba(0,0,0,.45)}
.info-canvas-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.info-rich-card{padding:1rem;border-radius:20px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);color:#fff;display:grid;gap:.6rem}.info-rich-card .info-kpi{font-size:2rem;font-weight:900;color:#39ff14}
.map-preview-shell{display:grid;gap:1rem}.map-root-node{margin:0 auto;padding:1rem 1.4rem;border-radius:20px;background:linear-gradient(135deg,#39ff14,#0ea5e9);color:#061108;font-weight:900}.map-rel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.map-rel-card{padding:1rem;border-radius:18px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08)}
.book-preview-shell{display:grid;grid-template-columns:240px 1fr;gap:1rem}.book-page-list{display:grid;gap:.65rem;max-height:520px;overflow:auto}.book-page-btn{padding:.8rem 1rem;border-radius:16px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04);color:#fff;text-align:left;cursor:pointer}.book-page-btn.active{border-color:#39ff14;box-shadow:0 0 0 1px rgba(57,255,20,.35)}.book-page-stage{padding:1.35rem;border-radius:22px;background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.03));min-height:500px}.book-page-stage .page-media{height:220px;border-radius:18px;overflow:hidden;margin-bottom:1rem;background:rgba(255,255,255,.04)}.book-page-stage .page-media img{width:100%;height:100%;object-fit:cover}
@media (max-width:980px){.slide-canvas,.game-runner-overlay,.book-preview-shell{grid-template-columns:1fr}.module-actions-pretty{grid-template-columns:1fr}}

.pro-card-header{align-items:flex-start}.pro-card-header small{display:block;color:rgba(255,255,255,.68);margin-top:.25rem}
.rich-item-card-juego{border:1px solid rgba(57,255,20,.25);background:linear-gradient(180deg,rgba(57,255,20,.06),rgba(14,165,233,.05))}
.rich-item-card-presentacion,.rich-item-card-libro{border:1px solid rgba(14,165,233,.22)}
.rich-item-card-infografia,.rich-item-card-mapa{border:1px solid rgba(255,214,10,.18)}
.game-builder-grid label:nth-child(3),.game-builder-grid label:nth-child(8),.game-builder-grid label:nth-child(10),.game-builder-grid label:nth-child(13),.game-builder-grid label:nth-child(16){grid-column:1/-1}
.slide-stage h4{margin:.35rem 0 1rem;color:#a5f3fc}.slide-stage-media.secondary{min-height:140px;margin-top:1rem}.slide-stage article,.slide-stage [data-presentation-slide]{animation:fadeIn .25s ease}
@keyframes fadeIn{from{opacity:.4;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (max-width: 980px){.slide-canvas,.game-runner-overlay{grid-template-columns:1fr}.slide-hotspots{order:-1}}

.icon-picker,.media-picker{display:flex;flex-direction:column;gap:10px}
.icon-picker-head{display:flex;gap:10px;align-items:center}
.icon-picker-preview{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:rgba(124,255,0,.12);border:1px solid rgba(124,255,0,.35);font-size:1.2rem}
.icon-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(42px,1fr));gap:8px;max-height:180px;overflow:auto;padding:6px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(255,255,255,.02)}
.icon-choice{height:42px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:#10192a;color:#fff;cursor:pointer}
.icon-choice.active,.icon-choice:hover{border-color:rgba(124,255,0,.65);box-shadow:0 0 0 2px rgba(124,255,0,.12) inset}
.media-picker-actions{display:flex;flex-wrap:wrap;gap:8px}
.media-picker.is-uploading{opacity:.7;pointer-events:none}
.upload-inline-btn input{display:none}
.game-avatar-visual.image img{width:100%;height:100%;object-fit:cover;border-radius:20px}
.slide-media.secondary{margin-top:12px;opacity:.88}
.game-avatar-visual.image img{width:100%;height:100%;object-fit:cover;border-radius:20px}
.scene-thumb{width:100%;height:120px;border-radius:14px;overflow:hidden;margin-bottom:.6rem;background:rgba(255,255,255,.06)}
.scene-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.game-audio-player{position:absolute;left:1rem;bottom:1rem;z-index:3;width:min(340px,calc(100% - 2rem))}
.game-final-panel{margin-top:1rem;padding:1rem;border-radius:18px;background:rgba(8,16,26,.82);border:1px solid rgba(57,255,20,.18)}
.game-final-head{display:flex;gap:1rem;align-items:center;margin-bottom:1rem}.game-final-head i{font-size:2rem;color:#ffd54a}.game-final-list{margin:0;padding-left:1.2rem;display:grid;gap:.75rem}
.game-meta-grid{margin-bottom:1rem}.game-meta-grid textarea{min-height:88px}


.color-picker{display:grid;gap:10px}.color-picker-head{display:grid;grid-template-columns:64px 1fr;gap:10px;align-items:center}.color-picker input[type=color]{width:64px;height:48px;padding:4px;border-radius:14px;border:1px solid rgba(255,255,255,.14);background:#0c111b}
.infografia-sheet,.infografia-sheet-preview{width:min(100%,860px);margin:0 auto;border-radius:26px;background:linear-gradient(180deg,#f8fafc,#eef2ff);color:#0f172a;border:10px solid #ffffff;box-shadow:0 30px 60px rgba(0,0,0,.28);overflow:hidden}.paper-letter{min-height:1056px}.paper-letter.student{min-height:auto}
.infografia-sheet-header{padding:1.2rem 1.4rem 1rem;background:linear-gradient(135deg,#0f172a,#183b69);color:#fff}.infografia-sheet-header h4{margin:.4rem 0 .25rem;font-size:1.7rem}.infografia-sheet-header p{margin:0;color:#dbeafe}
.infografia-sheet-body{display:grid;gap:1rem;padding:1.2rem;background:linear-gradient(180deg,#f8fafc,#eef2ff)}
.infografia-layer-card{display:grid;grid-template-columns:70px 1.45fr minmax(180px,.9fr);gap:1rem;align-items:stretch;padding:1rem;border-radius:22px;background:#fff;border-left:8px solid var(--accent,#7CFF00);box-shadow:0 10px 24px rgba(15,23,42,.08)}
.infografia-layer-index{width:52px;height:52px;border-radius:18px;display:grid;place-items:center;background:var(--accent,#7CFF00);color:#08110a;font-weight:900;font-size:1.1rem;align-self:start;box-shadow:0 8px 18px rgba(0,0,0,.12)}
.infografia-layer-head{display:grid;grid-template-columns:64px 1fr;gap:.85rem;align-items:center}.infografia-icon-badge{width:60px;height:60px;border-radius:18px;display:grid;place-items:center;background:color-mix(in srgb, var(--accent,#7CFF00) 18%, white);border:1px solid color-mix(in srgb, var(--accent,#7CFF00) 45%, white);font-size:1.4rem;color:#0f172a}.infografia-layer-head h5{margin:0;font-size:1.25rem}.infografia-layer-copy p{margin:.8rem 0;line-height:1.7}.infografia-layer-copy small{display:inline-block;color:#475569}
.infografia-layer-media{border-radius:18px;background:#f8fafc;border:1px dashed rgba(15,23,42,.12);display:grid;place-items:center;min-height:180px;overflow:hidden}.infografia-layer-media img{width:100%;height:100%;object-fit:cover;display:block}.infografia-media-empty{display:grid;gap:.5rem;place-items:center;color:#475569;text-align:center;padding:1rem}.infografia-media-empty i{font-size:2rem;color:#183b69}
@media (max-width:900px){.infografia-layer-card{grid-template-columns:60px 1fr}.infografia-layer-media{grid-column:1/-1;min-height:220px}.infografia-sheet,.infografia-sheet-preview{width:100%;border-width:6px}}


/* mapa mental tipo maqueta */
.mindmap-paper.maqueta{background:#f8f5eb;border:1px solid rgba(0,0,0,.08);border-radius:28px;padding:1.35rem;color:#202020;box-shadow:0 20px 45px rgba(0,0,0,.18)}
.mindmap-paper.maqueta .mindmap-paper__header h4,.mindmap-paper.maqueta .mindmap-paper__header p{color:#1f2937}
.mindmap-paper.maqueta .mini-tag{background:#fff7d6;border-color:rgba(202,138,4,.22);color:#6b4f00}
.mindmap-maqueta-board{display:grid;grid-template-columns:220px 1fr;gap:1rem;align-items:start}
.mindmap-topic-column{position:sticky;top:1rem;display:grid;gap:.8rem;align-self:start}
.mindmap-topic-avatar{width:108px;height:108px;border-radius:28px;background:linear-gradient(135deg,#fde68a,#93c5fd);display:grid;place-items:center;border:4px solid #fff;box-shadow:0 10px 24px rgba(0,0,0,.12);overflow:hidden;color:#1f2937;font-size:2rem}
.mindmap-topic-avatar img{width:100%;height:100%;object-fit:cover}
.mindmap-topic-card{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:22px;padding:1rem;box-shadow:0 10px 20px rgba(0,0,0,.06)}
.mindmap-topic-card h5{margin:0 0 .5rem;font-size:1.2rem;color:#111827}.mindmap-topic-card p{margin:0;color:#374151;line-height:1.55}
.mindmap-flow-sheet{display:grid;gap:1rem}
.mindmap-flow-row{position:relative;display:grid;grid-template-columns:34px 180px 1fr;gap:.9rem;align-items:start}
.mindmap-flow-line{position:relative;min-height:100%;border-left:3px solid rgba(55,65,81,.55);margin-left:17px}
.mindmap-flow-line::before{content:'';position:absolute;top:26px;left:-3px;width:22px;height:3px;background:rgba(55,65,81,.55)}
.mindmap-branch-label{background:var(--branch-color);padding:.85rem 1rem;border-radius:16px;font-weight:800;color:#1f2937;box-shadow:0 6px 14px rgba(0,0,0,.08);border:1px solid rgba(0,0,0,.06);align-self:start}
.mindmap-flow-nodes{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.85rem}
.mindmap-flow-node{position:relative;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:18px;padding:.85rem;box-shadow:0 8px 18px rgba(0,0,0,.05);display:grid;gap:.75rem;min-height:140px}
.mindmap-flow-node::before{content:'';position:absolute;left:-18px;top:28px;width:18px;height:2px;background:rgba(55,65,81,.45)}
.mindmap-flow-node.has-media{grid-template-columns:92px 1fr;align-items:start}
.mindmap-flow-thumb{width:92px;height:92px;border-radius:14px;overflow:hidden;background:#eef2ff;border:1px solid rgba(0,0,0,.08)}
.mindmap-flow-thumb img{width:100%;height:100%;object-fit:cover}
.mindmap-flow-copy{display:grid;gap:.45rem}.mindmap-flow-title{display:flex;gap:.55rem;align-items:center;color:#111827}.mindmap-flow-title strong{font-size:1rem}.mindmap-flow-copy p{margin:0;color:#374151;line-height:1.45}.mindmap-flow-meta{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.15rem}.mindmap-paper.maqueta .mindmap-flow-meta .mini-tag{background:#f3f4f6;border-color:rgba(0,0,0,.08);color:#374151}
.mindmap-paper.maqueta .mindmap-node-icon{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:999px;background:var(--branch-color);color:#111827}
.mindmap-paper.maqueta.conceptual .mindmap-topic-avatar{background:linear-gradient(135deg,#c7d2fe,#f5d0fe)}
@media (max-width: 980px){.mindmap-maqueta-board{grid-template-columns:1fr}.mindmap-topic-column{position:static;grid-template-columns:110px 1fr;align-items:center}.mindmap-flow-row{grid-template-columns:20px 1fr}.mindmap-branch-label{grid-column:2}.mindmap-flow-nodes{grid-column:2}.mindmap-flow-line{margin-left:9px}.mindmap-flow-line::before{width:12px}}
@media (max-width: 640px){.mindmap-topic-column{grid-template-columns:1fr}.mindmap-flow-node.has-media{grid-template-columns:1fr}.mindmap-flow-thumb{width:100%;height:180px}.mindmap-flow-row{grid-template-columns:1fr}.mindmap-flow-line{display:none}.mindmap-branch-label,.mindmap-flow-nodes{grid-column:auto}}

.book-preview-pro,.student-book{display:grid;grid-template-columns:220px 1fr;gap:1rem;align-items:start}
.book-inline-controls{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1rem}.book-sheet-page,.book-cover-page{position:absolute;inset:1rem 1rem 5rem 1rem;transition:transform .45s ease,opacity .35s ease,filter .35s ease}.book-cover-page.active,.book-sheet-page.active{display:block;z-index:3}.book-cover-page.is-before,.book-sheet-page.is-before{display:block;opacity:.15;transform:perspective(1400px) rotateY(-70deg) translateX(-38%);filter:blur(1px);pointer-events:none;z-index:1}.book-cover-page.is-after,.book-sheet-page.is-after{display:block;opacity:0;transform:perspective(1400px) rotateY(16deg) translateX(12%);pointer-events:none;z-index:0}.book-sheet-front{height:100%;overflow:auto}.book-cover-page{overflow:hidden}
.book-flip-stage{position:relative;min-height:620px;padding:1rem;border-radius:28px;background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.03));overflow:hidden}.book-cover-page,.book-sheet-page{display:none;min-height:520px;border-radius:24px;background:#f9f6ef;color:#1f2937;box-shadow:0 20px 50px rgba(0,0,0,.25);padding:1.4rem;transform-origin:left center;animation:bookPageIn .35s ease}.flip-page.active,.book-cover-page.active,.book-sheet-page.active{display:block}.book-cover-page{background:linear-gradient(145deg,var(--page-tone,#16324f),#0b1220);color:#fff;display:none}.book-cover-inner{min-height:480px;border-radius:22px;border:1px solid rgba(255,255,255,.12);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:1rem;padding:2rem}.book-cover-icon{width:90px;height:90px;border-radius:24px;display:grid;place-items:center;background:rgba(255,255,255,.12);font-size:2rem}.book-sheet-front{background:linear-gradient(180deg,var(--page-soft,rgba(22,50,79,.10)) 0%,rgba(255,255,255,.96) 22%,rgba(248,245,238,1) 100%);border-left:12px solid var(--page-tone,#16324f);border-radius:20px;padding:1.25rem;min-height:100%;color:var(--page-ink,#1f2937)}.book-sheet-front .mini-tag{background:var(--page-badge-bg,#fff7d6);border-color:var(--page-line,rgba(202,138,4,.18));color:var(--page-badge-ink,#6b4f00)}.book-sheet-head{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-bottom:.75rem}.book-sheet-head h4{margin:0}.book-page-number{font-size:.88rem;color:#6b7280}.book-sheet-grid{display:grid;grid-template-columns:1.2fr .9fr;gap:1rem;align-items:start}.book-sheet-page h3{margin:.2rem 0 .35rem;color:var(--page-ink,#1f2937)}.book-sheet-page h4{margin:0 0 .8rem;color:#374151}.book-quiz-box{margin-top:1rem;padding:1rem;border-radius:18px;background:#fff;border:1px solid var(--page-line,rgba(22,50,79,.12));display:grid;gap:.8rem}.book-quiz-options{display:grid;gap:.65rem}.book-answer-btn{padding:.85rem 1rem;border-radius:14px;border:1px solid rgba(22,50,79,.14);background:#f8fafc;color:#0f172a;text-align:left;cursor:pointer;font-weight:700}.book-answer-btn span{display:inline-grid;place-items:center;width:24px;height:24px;margin-right:.5rem;border-radius:999px;background:var(--page-tone,#16324f);color:#fff;font-size:.8rem}.book-answer-btn.correct{border-color:#16a34a;background:#ecfdf5}.book-answer-btn.wrong{border-color:#dc2626;background:#fef2f2}.book-feedback{min-height:24px;font-weight:700}.book-feedback.ok{color:#166534}.book-feedback.fail{color:#b91c1c}.book-page-stage .page-media,.flipbook-stage .page-media{height:220px;border-radius:18px;overflow:hidden;background:#e5e7eb}.book-page-stage .page-media img,.flipbook-stage .page-media img{width:100%;height:100%;object-fit:cover}.page-actions-row{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1rem}.book-page-btn span,.thumb-page span{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:999px;background:rgba(57,255,20,.15);margin-right:.55rem}.thumb-page.active,.book-page-btn.active{border-color:#39ff14;box-shadow:0 0 0 1px rgba(57,255,20,.35)}@keyframes bookPageIn{from{opacity:0;transform:perspective(1200px) rotateY(-12deg) translateX(20px)}to{opacity:1;transform:perspective(1200px) rotateY(0) translateX(0)}}@media (max-width: 900px){.book-preview-pro,.student-book,.book-sheet-grid{grid-template-columns:1fr}.book-flip-stage{min-height:auto}}
.sim-preview-header-card{display:grid;gap:.45rem;padding:.8rem;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:rgba(255,255,255,.04);color:#fff}
.sim-preview-counter,.sim-preview-timer{font-size:.9rem;color:#cbd5e1}
.sim-preview-nav-item.answered{border-color:rgba(255,214,10,.45)}
.sim-preview-live[hidden], .sim-preview-result[hidden]{display:none !important}
.sim-preview-live{display:block}
.sim-preview-main{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:1rem}
.icfes-options{display:grid;gap:.8rem}
.icfes-choice{justify-content:flex-start}
.sim-preview-result{padding:1.2rem;border:1px solid rgba(255,255,255,.08);border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.02))}
.sim-result-hero{display:grid;gap:.85rem;margin-bottom:1rem}
.review-list{display:grid;gap:.9rem}
.review-item{padding:1rem;border-radius:18px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07)}
.review-item.correcta{border-color:rgba(34,197,94,.35)}
.review-item.incorrecta{border-color:rgba(239,68,68,.35)}
.review-item.sin_respuesta{border-color:rgba(245,158,11,.35)}
@media (max-width: 1100px){.sim-preview-main{grid-template-columns:1fr}}

/* Simulacro layout polish */
.sim-preview-shell{grid-template-columns:160px minmax(0,1fr);align-items:start;gap:1rem}
.sim-preview-nav{position:sticky;top:1rem;max-height:calc(100vh - 180px);overflow:auto;padding-right:.25rem;align-content:start}
.sim-preview-board,.sim-preview-live,.sim-preview-result,.sim-preview-main,.sim-preview-left,.sim-preview-right{min-width:0}
.sim-preview-main{grid-template-columns:minmax(0,1.55fr) minmax(420px,1fr);align-items:stretch;gap:1.1rem}
.sim-preview-left{display:grid;min-width:0}
.sim-preview-slide.active{display:flex;flex-direction:column;gap:.75rem;height:100%}
.sim-preview-panel.active{display:flex;flex-direction:column;gap:.9rem;height:100%}
.sim-preview-right{border-left:1px solid rgba(255,255,255,.06);padding-left:1rem;min-width:0}
.sim-doc-toolbar{width:100%}
.sim-doc-body.preview-mode{min-height:540px;height:calc(100vh - 300px);max-height:calc(100vh - 240px);overflow:auto;border-radius:22px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.02)}
.sim-doc-body.preview-mode img{width:100%;height:100%;max-height:none;object-fit:contain;display:block;background:#f8fafc}
.sim-doc-body.preview-mode iframe{width:100%;min-height:100%;height:100%;display:block;background:#fff}
.sim-doc-body.preview-mode .sim-fallback-text{width:100%;height:100%;overflow:auto;padding:1.25rem}
.preview-options{display:grid;gap:.8rem;max-height:none;overflow:visible;padding-right:0}
.sim-preview-feedback{max-height:140px;overflow:auto}
.sim-preview-result{display:grid;gap:1rem;max-height:calc(100vh - 220px);overflow:auto}
.review-list{max-height:none;overflow:visible}
.review-item{display:grid;gap:.7rem}
.review-item .mini-tag{width:max-content}
@media (max-width: 1400px){.sim-preview-main{grid-template-columns:minmax(0,1.35fr) minmax(380px,.95fr)}}
@media (max-width: 1200px){.sim-preview-main{grid-template-columns:minmax(0,1fr) minmax(340px,.92fr)}.sim-doc-body.preview-mode{height:480px;max-height:480px}}
@media (max-width: 1100px){.sim-preview-shell{grid-template-columns:1fr}.sim-preview-nav{position:relative;top:auto;max-height:none;overflow:visible;padding-right:0}.sim-preview-main{grid-template-columns:1fr}.sim-preview-right{border-left:none;padding-left:0}.sim-doc-body.preview-mode{height:auto;min-height:420px;max-height:none}.preview-options{max-height:none}.sim-preview-result{max-height:none;overflow:visible}}


/* simulacro layout final fix */
.sim-preview-board{display:block !important;min-width:0}
.sim-preview-live{width:100%;min-width:0}
.sim-preview-main{display:grid;grid-template-columns:minmax(360px,1.75fr) minmax(320px,1fr) !important;align-items:stretch;gap:1.15rem;width:100%}
.sim-preview-left,.sim-preview-right{width:100%;min-width:0}
.sim-preview-left{display:block}
.sim-preview-slide.active{display:flex;flex-direction:column;gap:.75rem;width:100%}
.sim-doc-toolbar{width:100%}
.sim-doc-body.preview-mode{width:100%;min-width:0;min-height:560px;height:calc(100vh - 280px);max-height:calc(100vh - 220px);overflow:auto}
.sim-doc-body.preview-mode img,.sim-doc-body.preview-mode iframe{width:100%;height:100%;min-height:100%;display:block}
.sim-preview-result{margin-top:1rem}
@media (max-width: 1280px){.sim-preview-main{grid-template-columns:minmax(320px,1.45fr) minmax(320px,.95fr) !important}.sim-doc-body.preview-mode{min-height:500px;height:500px;max-height:500px}}
@media (max-width: 1100px){.sim-preview-board{display:block !important}.sim-preview-main{grid-template-columns:1fr !important}.sim-doc-body.preview-mode{height:auto;min-height:420px;max-height:none}}


/* presentation pro */
.slide-canvas-pro{grid-template-columns:minmax(0,1.35fr) minmax(320px,.85fr);align-items:stretch}
.slide-stage-pro{min-height:720px;display:grid;align-content:start;gap:1rem}
.slide-stage-pro [data-presentation-slide], .slide-stage-pro .slide-pro-card{display:none;gap:1rem;align-content:start;animation:fadeIn .35s ease}
.slide-stage-pro [data-presentation-slide].active,.slide-stage-pro .slide-pro-card.active{display:grid}
.presentation-main-media{height:440px;min-height:440px;max-height:440px}
.presentation-main-media img{width:100%;height:100%;object-fit:cover;display:block}
.presentation-secondary-media{height:180px;min-height:180px}
.slide-copy-block{padding:1rem 1.1rem;border-radius:18px;background:rgba(255,255,255,.04);border-left:5px solid var(--slide-accent,#39ff14)}
.slide-copy-block p{margin:0;line-height:1.7;color:#e5eef8}
.slide-stage-pro h4{margin:-.25rem 0 .25rem;color:#a5f3fc}
.slide-hotspots-pro{display:grid;gap:1rem;align-content:start}
.slide-action-panel{display:none;gap:1rem}
.slide-action-panel.active{display:grid}
.slide-panel-head{display:flex;justify-content:space-between;align-items:center;gap:1rem}
.slide-action-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}
.slide-action-empty{padding:1rem;border-radius:18px;background:rgba(255,255,255,.04);border:1px dashed rgba(255,255,255,.12);color:#c9d4e2}
.slide-action-btn{display:flex;align-items:center;justify-content:center;gap:.65rem;min-height:72px;padding:1rem;border:0;cursor:pointer;font-weight:800;color:#08110a;background:var(--btn-color,#39ff14);box-shadow:0 10px 24px rgba(0,0,0,.18);transition:transform .18s ease, box-shadow .18s ease}
.slide-action-btn:hover{transform:translateY(-2px);box-shadow:0 16px 30px rgba(0,0,0,.22)}
.slide-action-btn.is-round{border-radius:999px}
.slide-action-btn.is-square{border-radius:18px}
.slide-action-btn.is-rectangle{border-radius:10px}
.slide-action-btn.is-pill{border-radius:999px;padding-inline:1.25rem}
.slide-action-btn.is-star{clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);min-height:110px;padding:1.25rem;color:#08110a;display:grid;place-items:center;text-align:center}
.slide-action-btn.is-star span,.slide-action-btn.is-star i{filter:drop-shadow(0 1px 0 rgba(255,255,255,.25))}
.slide-counter-card{display:flex;justify-content:space-between;align-items:center}
.slide-stage-pro .mini-tag{width:max-content}
@media (max-width:1200px){.slide-canvas-pro{grid-template-columns:1fr}.slide-action-buttons{grid-template-columns:1fr 1fr}.presentation-main-media{height:360px;min-height:360px;max-height:360px}}
@media (max-width:760px){.slide-action-buttons{grid-template-columns:1fr}.presentation-main-media{height:280px;min-height:280px;max-height:280px}}


.preview-modal-card{max-width:860px;max-height:min(86vh,920px);overflow:auto}
.info-modal-media{margin:.9rem 0 1rem;border-radius:18px;overflow:hidden;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.info-modal-media.image img{width:100%;max-height:360px;object-fit:contain;display:block;background:#fff}
.info-modal-media.pdf iframe{width:100%;height:420px;border:0;background:#fff}
.presentation-hero-card{grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);align-items:start;background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.015));padding:1.15rem;border-radius:24px;border:1px solid rgba(255,255,255,.06)}
.presentation-hero-copy{display:grid;gap:.9rem;align-content:start}
.presentation-inline-resource{border-radius:18px;overflow:hidden;background:rgba(255,255,255,.03);border:1px dashed rgba(255,255,255,.1);padding:.55rem}
.presentation-inline-resource img{display:block;width:100%;max-height:220px;object-fit:cover;border-radius:14px}
.presentation-main-media{height:520px;min-height:520px;max-height:520px;border-radius:24px;overflow:hidden;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.06)}
.presentation-main-media img{width:100%;height:100%;object-fit:cover;display:block}
.presentation-main-empty{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(145deg,rgba(14,165,233,.15),rgba(57,255,20,.08));color:#fff}
.slide-hotspots-pro{grid-auto-rows:max-content}
.slide-counter-card{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.1rem;border-radius:20px;background:linear-gradient(145deg,rgba(134,239,172,.18),rgba(14,165,233,.18));border:1px solid rgba(255,255,255,.08)}
.slide-panel-head.stacked{display:grid;gap:.3rem;padding:1rem 1.1rem;border-radius:20px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.slide-panel-head.stacked p{margin:0;color:#d7e2f1}
.slide-action-buttons.is-single-column{grid-template-columns:1fr}
.slide-action-btn{min-height:64px}
.slide-action-btn.is-star{min-height:92px}
.slide-action-btn span{line-height:1.2}
@media (max-width:1200px){.presentation-hero-card{grid-template-columns:1fr}.presentation-main-media{height:400px;min-height:400px;max-height:400px}}
@media (max-width:760px){.presentation-main-media{height:280px;min-height:280px;max-height:280px}}

.brand-inline__logo img,
.logo-circle img,
.landing-logo img,
.branding-preview-logo img,
.branding-preview-icon img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: inherit;
}
.brand-inline__logo {
  width: 48px;
  height: 48px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
}
.config-summary-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:1rem; margin-bottom:1rem; }
.config-mini-card { display:flex; align-items:center; gap:1rem; }
.config-mini-card__icon { width:52px; height:52px; border-radius:18px; display:grid; place-items:center; background:linear-gradient(135deg, rgba(57,255,20,.18), rgba(31,111,235,.18)); color:var(--verde); font-size:1.2rem; }
.config-mini-card strong, .branding-preview-meta strong { display:block; }
.config-mini-card small, .branding-preview-meta small { color:#cbd5e1; }
.config-system-form { display:grid; gap:1rem; }
.config-section { display:grid; gap:1rem; }
.config-branding-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:1rem; }
.branding-preview-card { background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08); border-radius:20px; padding:1rem; display:grid; gap:.85rem; }
.branding-preview-logo, .branding-preview-icon { width:84px; height:84px; border-radius:22px; display:grid; place-items:center; overflow:hidden; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1); font-size:1.75rem; }
.branding-preview-bg { min-height:120px; border-radius:20px; background:linear-gradient(135deg, rgba(31,111,235,.16), rgba(57,255,20,.14)); background-size:cover; background-position:center; display:grid; place-items:center; font-size:2rem; color:#fff; border:1px solid rgba(255,255,255,.08); }
.color-picker-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:1rem; }
input[type="color"] { height:58px; padding:.45rem; }
.config-colors-head { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1rem; }
.color-default-toggle { margin:0; }
.theme-preview-panel { display:grid; grid-template-columns:repeat(5,1fr); gap:.8rem; }
.theme-preview-swatch { min-height:86px; border-radius:18px; border:1px solid rgba(255,255,255,.14); box-shadow:var(--sombra); }
.config-actions-bar { display:flex; align-items:center; justify-content:space-between; gap:1rem; position:sticky; bottom:12px; z-index:5; }
.admin-topbar, .brand-inline { display:flex; align-items:center; gap:.9rem; }
.admin-topbar { justify-content:space-between; margin-bottom:1rem; }
.admin-topbar__right, .profile-trigger { display:flex; align-items:center; gap:.85rem; }
.status-chip { padding:.5rem .85rem; border-radius:999px; border:1px solid rgba(57,255,20,.2); background:rgba(57,255,20,.08); color:#d1fae5; font-weight:700; }
.profile-trigger { background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08); color:#fff; border-radius:16px; padding:.5rem .75rem; cursor:pointer; }
.profile-trigger img, .profile-trigger span { width:44px; height:44px; border-radius:50%; display:grid; place-items:center; background:rgba(255,255,255,.06); object-fit:cover; }
.profile-meta { display:grid; text-align:left; }
.profile-meta small { color:#cbd5e1; }
.profile-dropdown { position:relative; }
.profile-menu { position:absolute; top:calc(100% + 10px); right:0; min-width:220px; background:#0b1020; border:1px solid rgba(255,255,255,.08); border-radius:16px; box-shadow:var(--sombra); padding:.4rem; display:none; }
.profile-dropdown.open .profile-menu { display:block; }
.profile-menu__item { width:100%; display:flex; align-items:center; gap:.7rem; background:transparent; border:none; color:#fff; padding:.8rem .85rem; border-radius:12px; text-align:left; cursor:pointer; }
.profile-menu__item:hover { background:rgba(255,255,255,.06); }
.profile-menu__item.danger { color:#fecaca; }
.sidebar-footer-note { margin-top:1rem; display:flex; gap:.7rem; color:#cbd5e1; font-size:.88rem; }
.landing-logo { width:68px; height:68px; border-radius:22px; display:grid; place-items:center; background:rgba(255,255,255,.06); overflow:hidden; }
@media (max-width: 768px) {
  .config-actions-bar, .config-colors-head, .admin-topbar, .admin-topbar__right { flex-direction:column; align-items:flex-start; }
  .theme-preview-panel { grid-template-columns:repeat(2,1fr); }
}


/* === tema dinamico global y fixes de navegacion === */
html, body {
  background: radial-gradient(circle at top, rgba(var(--azul-rgb), 0.18) 0%, var(--negro) 58%);
  color: var(--blanco);
}
.brand-wrap p,
.section-title small,
.enroll-count,
.quote-slide,
.sidebar-footer-note,
.brand-inline small,
.profile-meta small {
  color: rgba(var(--blanco-rgb), 0.72);
}
.logo-circle,
.brand-inline__logo,
.course-image,
.hero-image {
  background: linear-gradient(135deg, var(--verde), var(--azul));
  color: var(--negro);
  box-shadow: 0 0 30px rgba(var(--verde-rgb), 0.32);
}
.btn-primary {
  background: linear-gradient(135deg, var(--verde), var(--amarillo));
  color: var(--negro);
}
.btn-secondary {
  background: linear-gradient(135deg, var(--azul), rgba(var(--azul-rgb), 0.72));
}
input:focus,
textarea:focus,
select:focus {
  border-color: var(--verde);
  box-shadow: 0 0 0 4px rgba(var(--verde-rgb), 0.14);
}
.admin-topbar {
  border-color: rgba(var(--azul-rgb), 0.26);
  background: linear-gradient(180deg, rgba(var(--negro-rgb), 0.86), rgba(var(--negro-rgb), 0.72));
}
.icon-toggle,
.profile-trigger,
.modal-close,
.modal-card,
.profile-menu,
.sidebar-footer-note,
.glass-card,
.plan-card,
.stat-card,
.course-card.modern,
.table-shell,
.table-wrap,
.config-actions-bar {
  background: rgba(var(--blanco-rgb), 0.04);
  border-color: rgba(var(--blanco-rgb), 0.10);
}
.admin-sidebar.premium {
  background: linear-gradient(180deg, rgba(var(--negro-rgb), 0.98), rgba(var(--azul-rgb), 0.08));
  border-right-color: rgba(var(--verde-rgb), 0.24);
  transition: transform .25s ease, opacity .25s ease;
}
.sidebar-brand {
  background: linear-gradient(135deg, rgba(var(--verde-rgb), 0.18), rgba(var(--azul-rgb), 0.14));
}
.sidebar-nav a {
  background: rgba(var(--blanco-rgb), 0.03);
  color: rgba(var(--blanco-rgb), 0.88);
}
.sidebar-nav a.active,
.sidebar-nav a:hover,
.admin-sidebar nav a.active,
.admin-sidebar nav a:hover {
  background: rgba(var(--verde-rgb), 0.12);
  border-color: rgba(var(--verde-rgb), 0.32);
  color: var(--blanco);
  box-shadow: inset 0 0 0 1px rgba(var(--verde-rgb), 0.12);
}
.admin-sidebar nav a::after {
  background: linear-gradient(90deg, var(--verde), var(--azul));
}
.badge-success {
  background: rgba(var(--verde-rgb), 0.18);
  color: var(--blanco);
}
.badge-warning {
  background: rgba(var(--amarillo-rgb), 0.18);
  color: var(--amarillo);
}
.progress-bar {
  background: linear-gradient(90deg, var(--verde), var(--azul), var(--amarillo));
}
.status-chip,
.mini-tag {
  background: rgba(var(--amarillo-rgb), 0.14);
  color: var(--amarillo);
  border: 1px solid rgba(var(--amarillo-rgb), 0.22);
}
.theme-preview-swatch {
  border: 1px solid rgba(var(--blanco-rgb), 0.16);
}
.sidebar-backdrop {
  position: fixed;
  inset: 0;
  border: none;
  background: rgba(var(--negro-rgb), 0.62);
  opacity: 0;
  pointer-events: none;
  z-index: 70;
  transition: opacity .2s ease;
}
.sidebar-backdrop.active {
  opacity: 1;
  pointer-events: auto;
}
.admin-sidebar.premium.is-hidden {
  transform: translateX(-108%);
}
@media (min-width: 1201px) {
  .sidebar-backdrop.active {
    opacity: 0;
    pointer-events: none;
  }
}

/* ===== Student portal topbar and status widgets ===== */
.student-portal-shell { padding: 1.2rem; position: relative; z-index: 1; }
.student-topbar {
  position: relative; z-index: 140; isolation: isolate; overflow: visible;
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  margin: 0 0 1.2rem; padding: 1rem 1.2rem;
  background: linear-gradient(135deg, rgba(var(--blanco-rgb), .06), rgba(var(--azul-rgb), .10));
}
.student-topbar__brand, .student-topbar__actions, .student-profile-trigger, .student-payment-summary-grid, .student-kpi-row { display:flex; align-items:center; gap:1rem; }
.student-topbar__brand { flex:1; min-width:0; }
.student-topbar__back {
  width:50px; height:50px; border-radius:16px; display:grid; place-items:center;
  background: linear-gradient(135deg, rgba(var(--verde-rgb), .28), rgba(var(--azul-rgb), .32));
  color: var(--blanco); border:1px solid rgba(var(--verde-rgb), .22);
}
.student-topbar__eyebrow { margin:0 0 .2rem; color: rgba(var(--blanco-rgb), .72); font-size:.82rem; text-transform:uppercase; letter-spacing:.08em; }
.student-topbar h2 { margin:0; font-size:clamp(1rem, 2vw, 1.4rem); }
.student-topbar__actions { justify-content:flex-end; flex-wrap:wrap; }
.top-icon-button {
  position:relative; width:52px; height:52px; border-radius:16px; border:1px solid rgba(var(--blanco-rgb), .12);
  background: rgba(var(--blanco-rgb), .05); color: var(--blanco); cursor:pointer; font-size:1.05rem;
  box-shadow: 0 8px 24px rgba(0,0,0,.16);
}
.top-icon-button.has-alert, .top-icon-button.payment.warning { border-color: rgba(var(--amarillo-rgb), .34); box-shadow: 0 0 0 1px rgba(var(--amarillo-rgb), .18), 0 12px 30px rgba(var(--amarillo-rgb), .10); }
.top-icon-button.payment.ok { border-color: rgba(var(--verde-rgb), .3); }
.top-icon-button.payment.danger { border-color: rgba(239,68,68,.42); box-shadow: 0 0 0 1px rgba(239,68,68,.18), 0 12px 30px rgba(239,68,68,.10); }
.top-icon-badge {
  position:absolute; top:-6px; right:-6px; min-width:22px; height:22px; padding:0 6px; border-radius:999px;
  display:grid; place-items:center; background: var(--amarillo); color:#111827; font-weight:800; font-size:.72rem;
}
.student-profile-dropdown { position:relative; z-index:160; }
.student-profile-trigger {
  min-height:56px; padding:.5rem .75rem; border-radius:18px; border:1px solid rgba(var(--blanco-rgb), .1);
  background: rgba(var(--blanco-rgb), .04); color: var(--blanco); cursor:pointer;
}
.student-avatar {
  width:46px; height:46px; border-radius:14px; overflow:hidden; display:grid; place-items:center;
  background: linear-gradient(135deg, rgba(var(--verde-rgb), .85), rgba(var(--azul-rgb), .85)); color:#06110b; font-size:1.1rem;
}
.student-avatar img { width:100%; height:100%; object-fit:cover; display:block; }
.student-profile-meta { display:grid; gap:.12rem; text-align:left; }
.student-profile-meta strong { font-size:.95rem; }
.student-profile-meta span { color: rgba(var(--blanco-rgb), .68); font-size:.8rem; }
.student-profile-caret { color: rgba(var(--blanco-rgb), .72); transition: transform .2s ease; }
.student-profile-dropdown.open .student-profile-caret { transform: rotate(180deg); }
.student-profile-menu {
  position:absolute; z-index: 250; min-width: 230px; right:0; left:auto; top: calc(100% + 10px); padding:.45rem;
  background: color-mix(in srgb, var(--negro) 86%, rgba(var(--azul-rgb), .22)); border:1px solid rgba(var(--blanco-rgb), .08); border-radius:18px;
  box-shadow:0 22px 45px rgba(0,0,0,.26);
}
.profile-menu__item {
  width:100%; display:flex; align-items:center; gap:.75rem; text-decoration:none; color:var(--blanco); background:transparent;
  border:none; padding:.85rem .9rem; border-radius:14px; cursor:pointer; font-size:.95rem;
}
.profile-menu__item:hover { background: rgba(var(--blanco-rgb), .06); }
.profile-menu__item.danger { color: #fecaca; }
.student-hero-panel {
  display:grid; grid-template-columns: 1.2fr .9fr; gap:1rem; margin-bottom:1.2rem;
  background: radial-gradient(circle at top, rgba(var(--blanco-rgb), .12), transparent 48%), linear-gradient(135deg, rgba(var(--blanco-rgb), .04), rgba(var(--azul-rgb), .08));
}
.student-hero-panel.compact { grid-template-columns: 1fr; }
.student-hero-panel h1 { margin:.7rem 0 .45rem; font-size: clamp(1.4rem, 2vw, 2.2rem); }
.student-kpi-row { align-items:stretch; flex-wrap:wrap; justify-content:flex-end; }
.student-kpi-card, .student-payment-stat {
  min-width: 210px; flex:1; padding:1rem 1.05rem; border-radius:20px; border:1px solid rgba(var(--blanco-rgb), .08);
  background: rgba(var(--negro-rgb), .46); box-shadow: inset 0 1px 0 rgba(var(--blanco-rgb), .03);
}
.student-kpi-card span, .student-payment-stat span { display:block; color: rgba(var(--blanco-rgb), .7); font-size:.82rem; margin-bottom:.45rem; }
.student-kpi-card strong, .student-payment-stat strong { display:block; font-size:1.35rem; }
.student-kpi-card small, .student-payment-stat small { color: rgba(var(--blanco-rgb), .66); }
.student-kpi-card.ok, .student-payment-stat.ok { border-color: rgba(var(--verde-rgb), .25); }
.student-kpi-card.warning, .student-payment-stat.warning { border-color: rgba(var(--amarillo-rgb), .28); }
.student-kpi-card.danger, .student-payment-stat.danger { border-color: rgba(239,68,68,.3); }
.student-motivation-block { margin-bottom:1.2rem; }
.student-course-center { padding-left:0; padding-right:0; }
.student-course-card { max-width: 340px; margin-inline:auto; }
.student-modal-card { display:grid; gap:1rem; }
.student-alert-list { display:grid; gap:.9rem; }
.student-alert-list.is-scrollable, .student-modal-card .student-alert-list { max-height: min(62vh, 520px); overflow-y:auto; padding-right:.35rem; }
.student-alert-item {
  display:grid; grid-template-columns: 62px 1fr auto; gap:1rem; align-items:center;
  padding:1rem; border-radius:18px; border:1px solid rgba(var(--blanco-rgb), .08); background: rgba(var(--blanco-rgb), .03);
}
.student-alert-item__icon {
  width:62px; height:62px; border-radius:18px; display:grid; place-items:center; font-size:1.25rem;
  background: linear-gradient(135deg, rgba(var(--verde-rgb), .22), rgba(var(--azul-rgb), .22)); color: var(--verde);
}
.student-alert-item__actions { display:flex; flex-wrap:wrap; gap:.6rem; justify-content:flex-end; }
.student-payment-summary-grid { display:grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap:1rem; align-items:stretch; }
.student-modal-actions { display:flex; justify-content:flex-end; }
.empty-state.compact {
  min-height: 180px; display:grid; place-items:center; text-align:center; gap:.6rem;
  border:1px dashed rgba(var(--blanco-rgb), .12); border-radius:20px; color: rgba(var(--blanco-rgb), .7);
}
.empty-state.compact i { font-size:1.6rem; color: var(--amarillo); }
@media (max-width: 980px) {
  .student-topbar, .student-topbar__actions, .student-profile-trigger { align-items:flex-start; }
  .student-topbar, .student-topbar__brand, .student-topbar__actions { flex-direction:column; }
  .student-topbar__actions { width:100%; }
  .student-profile-trigger { width:100%; }
  .student-hero-panel, .student-payment-summary-grid, .student-alert-item { grid-template-columns:1fr; }
  .student-alert-item__actions, .student-modal-actions { justify-content:flex-start; }
}


/* ===== Dynamic branding hooks for student portal ===== */
.student-brand-logo {
  width: 56px; height: 56px; border-radius: 18px; overflow: hidden; display: grid; place-items: center;
  background: linear-gradient(135deg, rgba(var(--verde-rgb), .22), rgba(var(--azul-rgb), .22));
  border: 1px solid rgba(var(--blanco-rgb), .12); box-shadow: 0 10px 30px rgba(0,0,0,.18); flex-shrink: 0;
}
.student-brand-logo img { width: 100%; height: 100%; object-fit: cover; }
.student-brand-logo i { font-size: 1.4rem; color: var(--blanco); }
.student-brand-copy { display: grid; gap: .15rem; min-width: 0; }
.student-brand-copy small { color: var(--texto-muted); font-size: .78rem; }
.student-topbar__brand .student-topbar__back { flex-shrink: 0; }
.student-kpi-card.ok, .student-payment-stat.ok { border-color: rgba(var(--verde-rgb), .24); box-shadow: inset 0 1px 0 rgba(var(--blanco-rgb), .03), 0 0 0 1px rgba(var(--verde-rgb), .06); }
.student-kpi-card.warning, .student-payment-stat.warning { border-color: rgba(var(--amarillo-rgb), .28); box-shadow: inset 0 1px 0 rgba(var(--blanco-rgb), .03), 0 0 0 1px rgba(var(--amarillo-rgb), .08); }
.student-kpi-card.danger, .student-payment-stat.danger { border-color: rgba(239,68,68,.28); box-shadow: inset 0 1px 0 rgba(var(--blanco-rgb), .03), 0 0 0 1px rgba(239,68,68,.08); }
.student-course-card .course-image { background: linear-gradient(135deg, rgba(var(--verde-rgb), .22), rgba(var(--azul-rgb), .26)); }
.student-course-card .course-image img { width: 100%; height: 100%; object-fit: cover; border-radius: 18px; }
.student-motivation-block, .student-course-card, .student-hero-panel, .student-payment-stat, .student-kpi-card { position: relative; }
.student-motivation-block::before, .student-course-card::before, .student-hero-panel::before {
  content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none;
  border: 1px solid rgba(var(--blanco-rgb), .05);
}


/* ===== Student module thematic navigation ===== */
.student-module-layout { align-items: start; }
.student-topic-menu { position: sticky; top: 16px; z-index: 10; }
.student-topic-menu .student-topic-link {
  width: 100%; display: flex; align-items: center; gap: .75rem; text-align: left; cursor: pointer;
  padding: .9rem 1rem; border-radius: 14px; border: 1px solid rgba(var(--blanco-rgb), .08);
  background: rgba(var(--blanco-rgb), .04); color: var(--blanco);
}
.student-topic-menu .student-topic-link.active {
  background: linear-gradient(135deg, rgba(var(--azul-rgb), .24), rgba(var(--verde-rgb), .20));
  border-color: rgba(var(--verde-rgb), .28); box-shadow: inset 0 1px 0 rgba(var(--blanco-rgb), .06);
}
.student-topic-menu .student-topic-link .side-count { margin-left: auto; }
.student-module-panels .student-module-panel { display: none; }
.student-module-panels .student-module-panel.active { display: block; }
.student-module-banner {
  margin-bottom: 1.2rem;
  display: grid;
  grid-template-columns: minmax(420px, 1.2fr) minmax(300px, .95fr);
  gap: 1.2rem;
  align-items: stretch;
}
.student-module-banner__copy {
  display: grid;
  gap: .85rem;
  align-content: center;
}
.student-module-banner__media {
  min-width: 0;
  display: flex;
  align-items: stretch;
}
.student-module-banner__media .course-image.small {
  width: 100%;
  height: clamp(220px, 27vw, 320px);
  margin: 0;
  padding: 0;
  border-radius: 24px;
  overflow: hidden;
  position: relative;
  border: 1px solid rgba(var(--verde-rgb), .32);
  background:
    radial-gradient(circle at top left, rgba(var(--blanco-rgb), .12), transparent 38%),
    linear-gradient(135deg, rgba(var(--azul-rgb), .20), rgba(var(--verde-rgb), .14)),
    rgba(var(--negro-rgb), .60);
  box-shadow:
    inset 0 1px 0 rgba(var(--blanco-rgb), .10),
    0 18px 34px rgba(0,0,0,.28),
    0 0 0 1px rgba(var(--blanco-rgb), .04);
}
.student-module-banner__media .course-image.small::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255,255,255,.05) 0%, rgba(0,0,0,.10) 100%);
  pointer-events: none;
  z-index: 1;
}
.student-module-banner__media .course-image.small img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
  border-radius: inherit;
}
@media (max-width: 980px) {
  .student-module-banner {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  .student-module-banner__media .course-image.small {
    height: clamp(210px, 44vw, 280px);
  }
  .student-topic-menu { position: static; }
}

body.modal-open { overflow: hidden; }
.modal-shell.open { display:flex; }


/* ===== Student course module cards premium visual fix ===== */
.module-card {
  text-align: center;
  display: grid;
  align-content: start;
  gap: .75rem;
  overflow: hidden;
  position: relative;
  padding: 1.2rem;
  border: 1px solid rgba(var(--azul-rgb), .20);
  background:
    linear-gradient(180deg, rgba(var(--blanco-rgb), .045), rgba(var(--negro-rgb), .16)),
    rgba(var(--negro-rgb), .42);
  box-shadow:
    0 18px 38px rgba(0,0,0,.28),
    inset 0 1px 0 rgba(var(--blanco-rgb), .06),
    0 0 0 1px rgba(var(--verde-rgb), .05);
}
.module-card::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 1px;
  background: linear-gradient(135deg, rgba(var(--verde-rgb), .42), rgba(var(--azul-rgb), .34), rgba(var(--amarillo-rgb), .22));
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
  opacity: .9;
}
.module-card .course-image.small {
  width: min(100%, 1000px);
  height: clamp(220px, 24vw, 320px);
  margin: 0 auto .35rem;
  padding: .9rem;
  border-radius: 22px;
  overflow: hidden;
  position: relative;
  border: 1px solid rgba(var(--verde-rgb), .28);
  background:
    radial-gradient(circle at top, rgba(var(--blanco-rgb), .08), transparent 55%),
    linear-gradient(135deg, rgba(var(--azul-rgb), .16), rgba(var(--verde-rgb), .12)),
    rgba(var(--negro-rgb), .58);
  box-shadow:
    inset 0 1px 0 rgba(var(--blanco-rgb), .10),
    inset 0 0 0 1px rgba(var(--blanco-rgb), .03),
    0 14px 28px rgba(0,0,0,.26),
    0 0 0 1px rgba(var(--blanco-rgb), .03);
}
.module-card .course-image.small::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255,255,255,.02) 0%, rgba(0,0,0,.10) 100%);
  pointer-events: none;
}
.module-card .course-image.small img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
  object-position: center center;
  transform: none;
  border-radius: 16px;
  background: rgba(var(--negro-rgb), .12);
}
.module-card h3 {
  margin: 0;
  font-size: clamp(1rem, 1vw + .8rem, 1.2rem);
  line-height: 1.2;
}
.module-card p {
  margin: 0;
  word-break: break-word;
  color: rgba(var(--blanco-rgb), .82);
}
.module-card .progress-shell {
  margin-top: .15rem;
  box-shadow: inset 0 1px 0 rgba(var(--blanco-rgb), .05);
}
.module-card .btn {
  margin-top: .25rem;
  box-shadow: 0 10px 24px rgba(0,0,0,.22);
}
@media (max-width: 768px) {
  .module-card {
    padding: 1rem;
    gap: .65rem;
  }
  .module-card .course-image.small {
    height: 230px;
    padding: .7rem;
    border-radius: 18px;
  }
}

.auth-form-grid input { background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.14); box-shadow: inset 0 1px 0 rgba(255,255,255,.05); }
.auth-form-grid input:focus { border-color: rgba(57,255,20,.55); box-shadow: 0 0 0 4px rgba(57,255,20,.10), 0 12px 26px rgba(0,0,0,.22); }
.auth-card-premium .btn-primary { background: linear-gradient(90deg, #46ff08, #d4ea09); color: #07120b; border: none; box-shadow: 0 14px 34px rgba(183,255,0,.24); }
.auth-card-premium .btn-primary:hover { filter: brightness(1.03); transform: translateY(-1px); }
.auth-actions-row .strong-link { text-decoration: none; border-bottom: 1px dashed rgba(255,214,10,.35); padding-bottom: 2px; }
.checkbox-line-treatment { align-items: flex-start !important; gap: .9rem; padding: 1rem 1.05rem; border: 1px solid rgba(255,255,255,.08); border-radius: 18px; background: rgba(255,255,255,.03); }
.checkbox-line-treatment input { margin-top: .3rem; width: 18px; height: 18px; accent-color: var(--verde); }
.checkbox-line-treatment span { display: inline-flex; flex-direction: column; gap: .45rem; line-height: 1.45; color: #e5edf8; }
.treatment-link { display: inline-flex; align-items: center; gap: .45rem; width: fit-content; color: #ffe066; font-weight: 800; text-decoration: none; }
.treatment-link::before { content: "\f05a"; font-family: "Font Awesome 6 Free"; font-weight: 900; }
.treatment-link:hover { color: #fff3b0; }
.register-modal-premium { background: linear-gradient(180deg, rgba(5,17,49,.98), rgba(8,21,58,.98)); border: 1px solid rgba(255,255,255,.08); box-shadow: 0 28px 70px rgba(0,0,0,.4), 0 0 0 1px rgba(57,255,20,.08); }
.legal-card-premium { background: linear-gradient(180deg, rgba(6,14,28,.96), rgba(5,9,18,.98)); border: 1px solid rgba(255,255,255,.08); box-shadow: 0 22px 60px rgba(0,0,0,.28); }
.legal-card-premium h1 { margin: .85rem 0 .8rem; }
.legal-lead { color: #dbeafe; font-size: 1.04rem; margin-bottom: 1rem; }
.legal-body { line-height: 1.8; color: #d5deec; white-space: normal; }
.legal-body br + br { content: ""; display: block; margin-bottom: .8rem; }


/* ===== login visual fix: dark palette with green phosphorescent accents ===== */
.auth-frame-premium {
  background: linear-gradient(145deg, rgba(8,12,18,.98), rgba(10,16,24,.98));
  border: 1px solid rgba(57,255,20,.28);
  box-shadow: 0 0 0 1px rgba(57,255,20,.08), 0 28px 70px rgba(0,0,0,.46), 0 0 28px rgba(57,255,20,.10);
}
.auth-glow-line {
  background: conic-gradient(from 0deg, rgba(57,255,20,.95), rgba(8,12,18,.3), rgba(57,255,20,.7), rgba(255,214,10,.4), rgba(57,255,20,.95));
  filter: blur(18px);
  opacity: .24;
}
.auth-card-premium {
  background: linear-gradient(180deg, rgba(5,8,14,.96), rgba(7,11,18,.98));
  border: 1px solid rgba(57,255,20,.20);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 20px 42px rgba(0,0,0,.32);
  backdrop-filter: blur(14px);
}
.access-copy-premium {
  border: 1px solid rgba(57,255,20,.18);
  box-shadow: 0 18px 45px rgba(0,0,0,.28), inset 0 0 0 1px rgba(57,255,20,.05);
}
.access-copy-premium::before, .auth-card-premium::before {
  background: linear-gradient(135deg, rgba(57,255,20,.42), rgba(57,255,20,.10), rgba(255,214,10,.18));
}
.auth-card-premium .section-badge, .access-copy-premium .section-badge {
  background: rgba(57,255,20,.08);
  border: 1px solid rgba(57,255,20,.18);
  color: #d9ffe0;
}
.auth-card-premium h3, .auth-card-premium p, .auth-card-premium span,
.auth-card-premium label, .auth-card-premium .auth-card-head p {
  color: #eef7ef;
}
.auth-form-grid input {
  background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.03));
  border: 1px solid rgba(57,255,20,.18);
  color: #fff;
}
.auth-form-grid input::placeholder { color: rgba(226,232,240,.66); }
.auth-form-grid input:focus {
  border-color: rgba(57,255,20,.65);
  box-shadow: 0 0 0 4px rgba(57,255,20,.12), 0 16px 28px rgba(0,0,0,.24);
}
.auth-card-premium .btn-primary {
  background: linear-gradient(90deg, #39ff14, #d4ea09);
  color: #07120b;
  border: 1px solid rgba(57,255,20,.35);
  box-shadow: 0 14px 34px rgba(57,255,20,.22);
}
.auth-actions-row .strong-link, .treatment-link {
  color: #ffe066;
  border-bottom-color: rgba(255,214,10,.35);
}

/* ===== student simulacro media fix ===== */
.sim-doc-body {
  min-height: 62vh;
  display: grid;
  place-items: center;
  padding: 1rem;
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.98));
}
.sim-doc-body img,
.sim-doc-body iframe {
  width: 100%;
  height: 100%;
  min-height: calc(62vh - 2rem);
  max-height: calc(62vh - 2rem);
  display: block;
  border: none;
  border-radius: 14px;
  background: #fff;
}
.sim-doc-body img {
  object-fit: contain;
  box-shadow: 0 8px 24px rgba(15,23,42,.08);
}
.sim-doc-body iframe {
  overflow: auto;
}
@media (max-width: 768px) {
  .sim-doc-body {
    min-height: 48vh;
    padding: .75rem;
  }
  .sim-doc-body img,
  .sim-doc-body iframe {
    min-height: calc(48vh - 1.5rem);
    max-height: calc(48vh - 1.5rem);
  }
}


/* ===== Motivacion alumno + video bienvenida ===== */
.student-motivation-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;margin:1rem 0 1.5rem;align-items:stretch}
.student-motivation-layout.has-video{grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr)}
.premium-scroll-block{padding:1.1rem 1.1rem 1.35rem;border:1px solid rgba(255,255,255,.08);box-shadow:0 18px 40px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.04)}
.compact-title{margin-bottom:.85rem}
.compact-title .muted-text{margin-top:.15rem}
.motivacion-swiper-pro{overflow:hidden;padding:.15rem .15rem 2rem}
.motivacion-card-slide{height:auto}
.motivacion-card-premium{height:100%;min-height:122px;display:grid;grid-template-columns:68px 1fr;gap:1rem;align-items:center;padding:1.1rem 1.2rem;border-radius:22px;border:1px solid rgba(57,255,20,.16);background:linear-gradient(135deg,rgba(3,10,26,.96),rgba(8,18,44,.92));box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 18px 34px rgba(0,0,0,.2);position:relative;overflow:hidden}
.motivacion-card-premium::after{content:'';position:absolute;inset:0;background:radial-gradient(circle at top right, rgba(57,255,20,.12), transparent 38%), radial-gradient(circle at bottom left, rgba(31,111,235,.14), transparent 42%);pointer-events:none}
.motivacion-card-icon{width:68px;height:68px;border-radius:20px;display:grid;place-items:center;font-size:1.5rem;color:#050505;background:linear-gradient(135deg, rgba(57,255,20,.95), rgba(255,214,10,.9));box-shadow:0 12px 26px rgba(57,255,20,.16)}
.motivacion-card-premium p{margin:0;font-size:1.05rem;line-height:1.65;color:#f8fafc;font-weight:700;position:relative;z-index:1}
.motivacion-swiper-pro .swiper-pagination-bullet{background:rgba(255,255,255,.28);opacity:1;width:10px;height:10px}
.motivacion-swiper-pro .swiper-pagination-bullet-active{background:var(--verde);box-shadow:0 0 0 4px rgba(var(--verde-rgb),.15)}
.welcome-video-sidecard{display:grid;gap:1rem;align-content:center;border:1px solid rgba(57,255,20,.16);box-shadow:0 18px 40px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.04)}
.welcome-video-modal-card{max-width:920px;width:min(920px,100%)}
.welcome-video-player-wrap{border-radius:24px;overflow:hidden;border:1px solid rgba(255,255,255,.1);background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02));padding:.75rem;box-shadow:0 18px 40px rgba(0,0,0,.22)}
.welcome-video-player{display:block;width:100%;max-height:70vh;border-radius:18px;background:#020617}
.motivacion-builder{display:grid;gap:1rem}
.motivacion-row{display:grid;grid-template-columns:260px 1fr auto;gap:1rem;align-items:end;padding:1rem;border-radius:22px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03)}
.glass-card-lite{box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.welcome-video-admin-preview{margin-top:1rem;padding:1rem;border-radius:24px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03)}
.welcome-video-admin-preview video{width:100%;max-height:420px;border-radius:18px;background:#020617}
.switch-line{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.95rem 1rem;border-radius:16px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03)}
.switch-line input[type="checkbox"]{width:20px;height:20px}
@media (max-width:1100px){.student-motivation-layout.has-video,.student-motivation-layout{grid-template-columns:1fr}.motivacion-row{grid-template-columns:1fr}}

/* premium game modes */
.game-play-stage{display:grid;gap:1rem;margin-bottom:1rem}.game-stage-hud{display:flex;gap:.6rem;flex-wrap:wrap}.game-world{position:relative;min-height:420px;border-radius:24px;overflow:hidden;border:1px solid rgba(255,255,255,.10);background:radial-gradient(circle at center, rgba(255,255,255,.08), rgba(0,0,0,.28));box-shadow:inset 0 0 0 1px rgba(57,255,20,.1),0 20px 50px rgba(0,0,0,.25)}.game-world::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,10,18,.12),rgba(4,10,18,.45));pointer-events:none}.game-avatar,.game-hotspot,.game-finish{position:absolute;z-index:2;width:52px;height:52px;border-radius:18px;display:grid;place-items:center;transform:translate(-50%,-50%)}.game-avatar{background:linear-gradient(135deg,#39ff14,#1f6feb);color:#041018;box-shadow:0 12px 30px rgba(57,255,20,.25);border:2px solid rgba(255,255,255,.22)}.game-avatar img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.game-hotspot{background:rgba(255,255,255,.12);border:2px dashed rgba(255,214,10,.75);color:#ffd60a;animation:hotspotPulse 1.4s ease infinite}.game-hotspot.is-complete{background:rgba(57,255,20,.16);border-style:solid;border-color:rgba(57,255,20,.8);color:#39ff14;animation:none}.game-finish{background:rgba(31,111,235,.14);border:2px solid rgba(31,111,235,.65);color:#8ec5ff;opacity:.45}.game-finish.is-active{opacity:1;box-shadow:0 0 0 10px rgba(31,111,235,.14)}@keyframes hotspotPulse{50%{transform:translate(-50%,-50%) scale(1.08)}}
.game-mobile-controls{display:flex;justify-content:center;gap:.75rem;flex-wrap:wrap}.game-mobile-controls button{width:52px;height:52px;border:none;border-radius:16px;background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.1)}.game-mobile-controls>div{display:flex;gap:.75rem}.game-intro-overlay,.game-quiz-overlay{position:absolute;inset:0;z-index:6;display:grid;place-items:center;padding:1.25rem;background:rgba(1,5,12,.72);backdrop-filter:blur(10px)}.game-intro-card,.game-quiz-card{width:min(640px,100%);background:rgba(4,10,18,.92);border:1px solid rgba(255,255,255,.1);border-radius:24px;padding:1.3rem;box-shadow:0 30px 60px rgba(0,0,0,.35)}.game-intro-card h3,.game-quiz-card h4{margin-top:.4rem}.game-intro-instructions,.game-quiz-question{margin:1rem 0;padding:1rem;border-radius:18px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08)}.game-quiz-options{display:grid;gap:.75rem}.game-quiz-options button{padding:1rem;border-radius:16px;border:1px solid rgba(57,255,20,.2);background:linear-gradient(135deg,rgba(57,255,20,.12),rgba(31,111,235,.12));color:#fff;text-align:left;font-weight:700}
.game-runner[data-game-type="laberinto"] .game-world{background-image:linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),radial-gradient(circle at center,rgba(57,255,20,.05),rgba(0,0,0,.32));background-size:54px 54px,54px 54px,cover}.game-runner[data-game-type="pista_atletica"] .game-world{background-image:repeating-linear-gradient(90deg,rgba(255,255,255,.08) 0 12px,transparent 12px 128px),linear-gradient(180deg,rgba(14,165,233,.08),rgba(57,255,20,.05));}.game-runner[data-game-type="escena_crimen"] .game-world{background-image:radial-gradient(circle at 20% 20%,rgba(239,68,68,.18),transparent 20%),radial-gradient(circle at 80% 60%,rgba(255,214,10,.18),transparent 20%),linear-gradient(135deg,rgba(255,255,255,.04),rgba(255,255,255,.01));}.game-runner[data-game-type="convivencia_ciudadana"] .game-world{background-image:linear-gradient(90deg,rgba(255,255,255,.05) 0 33%,transparent 33% 66%,rgba(255,255,255,.05) 66%),linear-gradient(180deg,rgba(34,197,94,.10),rgba(31,111,235,.07));}
@media (min-width:981px){.game-mobile-controls{position:absolute;right:1rem;bottom:1rem;z-index:5;justify-content:flex-end}.game-mobile-controls button{background:rgba(4,10,18,.72)}}


/* ===== Phaser games premium migration ===== */
.phaser-game-shell{display:grid;gap:1.1rem}
.phaser-game-layout{display:grid;grid-template-columns:300px 1fr;gap:1rem;align-items:start}
.phaser-game-sidecard{display:grid;gap:.9rem;padding:1rem;border-radius:22px;border:1px solid rgba(var(--verde-rgb),.18);background:linear-gradient(180deg,rgba(var(--verde-rgb),.06),rgba(var(--azul-rgb),.08))}
.phaser-game-help{padding:.95rem 1rem;border-radius:18px;background:rgba(var(--negro-rgb),.35);border:1px solid rgba(var(--blanco-rgb),.08)}
.phaser-game-stage-shell{display:grid;gap:.8rem}
.phaser-game-topbar{display:flex;flex-wrap:wrap;gap:.7rem}
.phaser-status-pill{display:inline-flex;align-items:center;gap:.45rem;padding:.7rem .85rem;border-radius:999px;border:1px solid rgba(var(--blanco-rgb),.08);background:rgba(var(--negro-rgb),.38);box-shadow:0 8px 20px rgba(0,0,0,.18)}
.phaser-game-canvas-wrap{position:relative;border-radius:28px;overflow:hidden;min-height:620px;background:radial-gradient(circle at top, rgba(var(--azul-rgb),.18), rgba(var(--negro-rgb),.96) 68%);border:1px solid rgba(var(--verde-rgb),.22);box-shadow:0 24px 60px rgba(0,0,0,.32)}
.phaser-game-canvas{width:100%;height:620px}
.phaser-game-intro,.phaser-game-quiz,.phaser-game-result{position:fixed;inset:0;display:grid;place-items:center;background:rgba(2,6,23,.78);backdrop-filter:blur(6px);z-index:1200;padding:1rem}
.phaser-game-intro[hidden],.phaser-game-quiz[hidden],.phaser-game-result[hidden]{display:none !important}

.phaser-game-intro-card,.phaser-game-quiz-card,.phaser-game-result-card{width:min(720px,100%);padding:1.3rem;border-radius:24px;background:linear-gradient(180deg,rgba(5,5,5,.92),rgba(15,23,42,.95));border:1px solid rgba(var(--verde-rgb),.24);box-shadow:0 28px 64px rgba(0,0,0,.35)}
.phaser-game-quiz-options{display:grid;gap:.7rem;margin-top:1rem}
.phaser-game-quiz-options button{width:100%;text-align:left;padding:.95rem 1rem;border-radius:18px;border:1px solid rgba(var(--blanco-rgb),.08);background:rgba(var(--blanco-rgb),.05);color:var(--blanco);font-weight:700;cursor:pointer;transition:.2s ease}
.phaser-game-quiz-options button:hover{border-color:rgba(var(--verde-rgb),.36);transform:translateY(-1px);background:rgba(var(--verde-rgb),.08)}
.phaser-touch-controls{position:absolute;right:18px;bottom:18px;z-index:7;display:grid;gap:.55rem}
.phaser-touch-controls button{width:54px;height:54px;border-radius:18px;border:1px solid rgba(var(--blanco-rgb),.12);background:rgba(var(--negro-rgb),.58);color:var(--blanco);font-size:1.05rem;backdrop-filter:blur(8px)}
.phaser-touch-row{display:flex;gap:.55rem;justify-content:center}
.phaser-game-builder-note{padding:.9rem 1rem;border-radius:18px;background:rgba(var(--azul-rgb),.08);border:1px dashed rgba(var(--azul-rgb),.32);margin:.2rem 0 1rem}
.game-builder-type-chip{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .7rem;border-radius:999px;background:rgba(var(--verde-rgb),.12);border:1px solid rgba(var(--verde-rgb),.28)}
.builder-item-card.phaser-game-builder-card{border:1px solid rgba(var(--verde-rgb),.18);background:linear-gradient(180deg,rgba(var(--blanco-rgb),.04),rgba(var(--azul-rgb),.05))}
.builder-item-card.phaser-game-builder-card .builder-card-header{margin-bottom:.85rem}
.builder-item-card .builder-help{grid-column:1/-1;padding:.8rem .95rem;border-radius:16px;background:rgba(var(--negro-rgb),.26);border:1px solid rgba(var(--blanco-rgb),.08);font-size:.92rem;color:rgba(var(--blanco-rgb),.78)}
@media (max-width: 980px){.phaser-game-layout{grid-template-columns:1fr}.phaser-game-canvas-wrap{min-height:520px}.phaser-game-canvas{height:520px}}
@media (max-width: 768px){.phaser-touch-controls button{width:48px;height:48px}.phaser-game-canvas-wrap{min-height:420px}.phaser-game-canvas{height:420px}}

.builder-media-field { display:grid; gap:.55rem; }
.builder-media-actions { display:flex; flex-wrap:wrap; gap:.55rem; align-items:center; }
.builder-file-input { max-width: 100%; }
.builder-upload-status { color: rgba(255,255,255,.72); font-size:.82rem; }
.builder-inline-help, .field-help { display:block; margin-top:.35rem; color: rgba(255,255,255,.65); font-size:.82rem; }
.phaser-game-builder-card .builder-help { margin-bottom:.85rem; color: rgba(255,255,255,.78); }

.phaser-game-canvas-wrap.is-laberinto{background:radial-gradient(circle at 50% 30%, rgba(var(--verde-rgb),.08), rgba(var(--negro-rgb),.98) 72%), linear-gradient(180deg, rgba(var(--azul-rgb),.08), rgba(var(--negro-rgb),.96));}
.phaser-game-canvas-wrap.is-laberinto::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:32px 32px;opacity:.18;mix-blend-mode:screen;}
.phaser-game-sidecard.is-laberinto{background:linear-gradient(180deg,rgba(var(--verde-rgb),.10),rgba(var(--azul-rgb),.07));box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 20px 40px rgba(0,0,0,.25)}

.builder-readonly-kind{display:grid;gap:.35rem;padding:.95rem 1rem;border-radius:18px;border:1px solid rgba(var(--verde-rgb),.22);background:linear-gradient(180deg,rgba(var(--verde-rgb),.08),rgba(var(--azul-rgb),.06));color:var(--blanco)}
.builder-readonly-kind strong{font-size:1rem}
.builder-readonly-kind small{color:rgba(var(--blanco-rgb),.72)}
.phaser-game-topbar{align-items:center}
.phaser-status-pill{min-width:84px;justify-content:center}

.laberinto-canvas-board{width:100%;height:auto;max-height:620px;display:block;border-radius:26px;background:#020617;box-shadow:inset 0 0 0 1px rgba(57,255,20,.18),0 18px 40px rgba(0,0,0,.28)}
.phaser-game-canvas-wrap.is-laberinto{padding:10px;background:linear-gradient(180deg,rgba(2,6,23,.92),rgba(2,6,23,.75));border:1px solid rgba(57,255,20,.16);border-radius:28px}
.phaser-game-shell .phaser-game-sidecard.is-laberinto{box-shadow:0 20px 40px rgba(0,0,0,.26), inset 0 0 0 1px rgba(57,255,20,.12)}

.phaser-game-quiz[hidden], .phaser-game-result[hidden], .phaser-game-intro[hidden] { display:none !important; }
.laberinto-canvas-board { width:100%; max-width:960px; height:auto; aspect-ratio:960/620; display:block; border-radius:22px; background:#020b25; }
.simple-game-placeholder { min-height:420px; display:grid; place-items:center; text-align:center; color:#e5e7eb; padding:2rem; border-radius:22px; background:rgba(2,11,37,.85); border:1px solid rgba(34,197,94,.2); }

.builder-asset-preview{margin-top:.55rem; border:1px solid rgba(255,255,255,.1); border-radius:14px; min-height:72px; display:flex; align-items:center; justify-content:center; background:rgba(255,255,255,.03); overflow:hidden;}
.builder-asset-preview img{display:block; max-height:120px; width:auto; max-width:100%; object-fit:contain;}
.builder-asset-preview.avatar img{max-height:92px;}
.builder-asset-preview.audio audio{width:100%;}


.phaser-game-quiz-card{max-width:760px; position:relative; overflow:hidden;}
.phaser-game-quiz-card::before{content:""; position:absolute; inset:0; background:radial-gradient(circle at top right, rgba(var(--verde-rgb),.14), transparent 42%); pointer-events:none;}
.phaser-game-quiz-head{display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:.9rem; position:relative; z-index:1;}
.phaser-game-quiz-badge,.phaser-game-quiz-progress{display:inline-flex; align-items:center; gap:.45rem; padding:.48rem .78rem; border-radius:999px; border:1px solid rgba(var(--amarillo-rgb),.18); background:rgba(var(--amarillo-rgb),.08); color:#fde047; font-weight:800;}
.phaser-game-quiz-progress{border-color:rgba(var(--verde-rgb),.18); background:rgba(var(--verde-rgb),.08); color:#dcfce7;}
.phaser-game-quiz-card h4{font-size:1.5rem; margin:.3rem 0 .45rem; position:relative; z-index:1;}
.phaser-game-quiz-card p{position:relative; z-index:1; color:rgba(var(--blanco-rgb),.86);}
.phaser-game-quiz-options button{display:flex; align-items:center; gap:.8rem; position:relative; overflow:hidden;}
.phaser-game-quiz-options button::after{content:""; position:absolute; inset:0; background:linear-gradient(135deg, rgba(var(--verde-rgb),.08), transparent 55%); opacity:0; transition:.22s ease;}
.phaser-game-quiz-options button:hover::after{opacity:1;}
.phaser-answer-key{width:36px; height:36px; border-radius:12px; display:inline-grid; place-items:center; flex:0 0 36px; background:rgba(var(--azul-rgb),.18); border:1px solid rgba(var(--azul-rgb),.36); color:#dbeafe; font-weight:900;}
.phaser-game-quiz-options button.is-correct{border-color:rgba(var(--verde-rgb),.5); background:rgba(var(--verde-rgb),.12); box-shadow:0 0 0 1px rgba(var(--verde-rgb),.24), 0 14px 32px rgba(34,197,94,.16);}
.phaser-game-quiz-options button.is-wrong{border-color:rgba(239,68,68,.5); background:rgba(239,68,68,.12); box-shadow:0 0 0 1px rgba(239,68,68,.24), 0 14px 32px rgba(239,68,68,.14);}
.laberinto-canvas-board{background:#020b25; background-image:linear-gradient(rgba(56,189,248,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(56,189,248,.05) 1px, transparent 1px); background-size:28px 28px;}


.phaser-game-quiz-feedback{margin-top:1rem;padding:.85rem 1rem;border-radius:16px;border:1px solid rgba(var(--blanco-rgb),.08);background:rgba(var(--blanco-rgb),.04);color:rgba(var(--blanco-rgb),.86);font-weight:700}
.phaser-game-quiz-feedback.is-info{border-color:rgba(var(--azul-rgb),.25);background:rgba(var(--azul-rgb),.08);color:#dbeafe}
.phaser-game-quiz-feedback.is-correct{border-color:rgba(var(--verde-rgb),.45);background:rgba(var(--verde-rgb),.14);color:#dcfce7;box-shadow:0 12px 28px rgba(34,197,94,.14)}
.phaser-game-quiz-feedback.is-wrong{border-color:rgba(239,68,68,.45);background:rgba(239,68,68,.12);color:#fee2e2;box-shadow:0 12px 28px rgba(239,68,68,.14)}
.phaser-game-result.is-celebration{background:radial-gradient(circle at top, rgba(var(--verde-rgb),.18), rgba(2,6,23,.76) 42%, rgba(2,6,23,.88));}
.phaser-game-result-card{position:relative;overflow:hidden}
.phaser-game-result-card::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top right, rgba(var(--amarillo-rgb),.14), transparent 35%), radial-gradient(circle at top left, rgba(var(--verde-rgb),.10), transparent 30%);pointer-events:none}
.phaser-game-result-card .game-final-head h4{font-size:1.6rem;margin:0 0 .2rem}
.phaser-game-result-card .game-final-head p{color:#dbeafe}
.game-final-list li{margin:.55rem 0;padding:.55rem .75rem;border-radius:14px;background:rgba(var(--blanco-rgb),.04);border:1px solid rgba(var(--blanco-rgb),.06)}


.phaser-game-result{align-items:center;justify-items:center;overflow:hidden;}
.phaser-game-result-card{width:min(760px,calc(100vw - 2rem));max-height:min(84vh,820px);display:flex;flex-direction:column;overflow:hidden;position:relative;z-index:1;}
.phaser-game-result-card .game-final-head,.phaser-game-result-card .sim-meta-tags,.phaser-game-result-card .hero-actions{flex:0 0 auto;}
.phaser-game-result-card .game-final-list{flex:1 1 auto;min-height:0;max-height:calc(84vh - 260px);overflow:auto;padding-right:.35rem;margin:.85rem 0 1rem 1.2rem;overscroll-behavior:contain;}
.phaser-game-result-card .game-final-list::-webkit-scrollbar{width:10px;}
.phaser-game-result-card .game-final-list::-webkit-scrollbar-thumb{background:rgba(57,255,20,.25);border-radius:999px;}
.phaser-game-result-card .game-final-list::-webkit-scrollbar-track{background:rgba(255,255,255,.05);border-radius:999px;}
.phaser-game-result-card .hero-actions{position:sticky;bottom:0;background:linear-gradient(180deg,rgba(15,23,42,0),rgba(15,23,42,.96) 24%,rgba(15,23,42,.98));padding-top:.8rem;margin-top:auto;}
@media (max-width: 768px){.phaser-game-result-card{width:min(100%,calc(100vw - 1rem));max-height:min(88vh,860px);padding:1rem;}.phaser-game-result-card .game-final-list{max-height:calc(88vh - 240px);}}


/* ===== Pista atlética canvas premium ===== */
.phaser-game-canvas-wrap.is-pista{padding:12px;background:linear-gradient(180deg,rgba(3,7,18,.96),rgba(5,20,40,.92));border:1px solid rgba(var(--amarillo-rgb),.28)}
.pista-canvas-board{width:100%;height:auto;max-height:620px;display:block;border-radius:26px;background:#03111f;box-shadow:inset 0 0 0 1px rgba(250,204,21,.18),0 18px 40px rgba(0,0,0,.28)}
.phaser-game-sidecard.is-pista{background:linear-gradient(180deg,rgba(var(--amarillo-rgb),.08),rgba(var(--azul-rgb),.07));box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 18px 40px rgba(0,0,0,.24)}
.phaser-quiz-state{margin-top:1rem;padding:.85rem 1rem;border-radius:16px;font-weight:700}
.phaser-quiz-state.success{background:rgba(34,197,94,.16);border:1px solid rgba(34,197,94,.35);color:#dcfce7}
.phaser-quiz-state.error{background:rgba(239,68,68,.16);border:1px solid rgba(239,68,68,.35);color:#fee2e2}


/* ===== Pista atlética premium polish ===== */
.phaser-game-quiz.is-pista .phaser-game-quiz-card{
  width:min(760px,100%);
  border-color:rgba(var(--amarillo-rgb),.34);
  background:linear-gradient(180deg,rgba(8,12,24,.96),rgba(10,20,40,.96));
  box-shadow:0 28px 70px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.04);
}
.phaser-game-result.is-pista .phaser-game-result-card{
  width:min(860px,100%);
  border-color:rgba(var(--amarillo-rgb),.38);
  background:
    radial-gradient(circle at top, rgba(var(--amarillo-rgb),.10), transparent 28%),
    linear-gradient(180deg,rgba(5,10,22,.96),rgba(13,23,42,.97));
  box-shadow:0 32px 80px rgba(0,0,0,.46), inset 0 1px 0 rgba(255,255,255,.05);
}
.game-final-list.is-pista{
  max-height:min(42vh,360px);
  overflow:auto;
  padding-right:.45rem;
}
.game-final-list.is-pista li{
  border-color:rgba(var(--amarillo-rgb),.14);
  background:linear-gradient(90deg,rgba(var(--amarillo-rgb),.06),rgba(var(--azul-rgb),.04));
}
.game-final-list.is-pista li:first-child{
  border-color:rgba(var(--amarillo-rgb),.34);
  background:linear-gradient(135deg,rgba(var(--amarillo-rgb),.14),rgba(var(--verde-rgb),.08));
  box-shadow:0 10px 24px rgba(250,204,21,.10);
  color:#fef08a;
  font-weight:800;
}
.phaser-game-topbar .phaser-status-pill.is-premium{
  border-color:rgba(var(--amarillo-rgb),.30);
  box-shadow:0 12px 28px rgba(0,0,0,.22), inset 0 0 0 1px rgba(var(--amarillo-rgb),.08);
}
.phaser-game-topbar .phaser-status-pill.is-danger{
  border-color:rgba(248,113,113,.38);
  color:#fecaca;
}

.phaser-game-result.is-pista .phaser-game-result-card[data-medal="gold"]{border-color:rgba(250,204,21,.55);box-shadow:0 22px 60px rgba(250,204,21,.18), inset 0 0 0 1px rgba(250,204,21,.12);background:linear-gradient(180deg,rgba(49,36,2,.92),rgba(12,18,34,.96));}
.phaser-game-result.is-pista .phaser-game-result-card[data-medal="silver"]{border-color:rgba(226,232,240,.42);box-shadow:0 22px 60px rgba(148,163,184,.16), inset 0 0 0 1px rgba(226,232,240,.1);background:linear-gradient(180deg,rgba(30,41,59,.94),rgba(12,18,34,.96));}
.phaser-game-result.is-pista .phaser-game-result-card[data-medal="bronze"]{border-color:rgba(251,146,60,.46);box-shadow:0 22px 60px rgba(249,115,22,.16), inset 0 0 0 1px rgba(251,146,60,.12);background:linear-gradient(180deg,rgba(67,32,12,.94),rgba(12,18,34,.96));}
.phaser-game-result.is-pista .game-final-head i{font-size:2rem;filter:drop-shadow(0 6px 16px rgba(250,204,21,.25));}
.phaser-game-result.is-pista .hero-actions{position:sticky;bottom:0;padding-top:12px;background:linear-gradient(180deg,rgba(15,23,42,0),rgba(15,23,42,.96) 35%);}


.phaser-game-topbar{display:grid;grid-template-columns:repeat(4,minmax(170px,1fr));gap:1rem}
.phaser-status-pill{min-height:82px;justify-content:flex-start;padding:1rem 1.1rem;border-radius:22px;background:linear-gradient(180deg,rgba(11,27,54,.94),rgba(15,30,61,.92));border:2px solid rgba(250,204,21,.26);box-shadow:0 14px 28px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.06)}
.phaser-pill-icon{width:50px;height:50px;border-radius:18px;display:grid;place-items:center;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.28),rgba(255,255,255,.04));font-size:1.45rem;color:#fde68a;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.phaser-pill-copy{display:grid;gap:.12rem;line-height:1.1}
.phaser-pill-copy small{font-size:.76rem;letter-spacing:.08em;font-weight:900;color:rgba(255,255,255,.82)}
.phaser-pill-copy strong{font-size:1.65rem;color:#fff}
.phaser-game-canvas-wrap.is-pista{padding:14px;background:linear-gradient(180deg,rgba(39,110,197,.16),rgba(5,15,34,.92));border:1px solid rgba(250,204,21,.34);box-shadow:0 28px 72px rgba(16,24,40,.22)}
.pista-canvas-board{border-radius:28px;background:#79b8f4;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18),0 24px 52px rgba(15,23,42,.24)}
.phaser-touch-controls{right:24px;bottom:20px;display:flex;align-items:center;justify-content:space-between;width:calc(100% - 48px);pointer-events:none}
.phaser-touch-controls button{pointer-events:auto;width:70px;height:70px;border-radius:999px;border:1px solid rgba(255,255,255,.22);background:linear-gradient(180deg,rgba(255,255,255,.28),rgba(25,41,68,.38));backdrop-filter:blur(10px);box-shadow:0 18px 32px rgba(15,23,42,.22);font-size:1.35rem}
.phaser-touch-row{display:flex;gap:1rem}
.phaser-touch-controls [data-dir="up"], .phaser-touch-controls [data-dir="down"]{display:none}
.phaser-game-sidecard.is-pista{background:linear-gradient(180deg,rgba(255,255,255,.62),rgba(219,234,254,.38));border:1px solid rgba(59,130,246,.18)}
.phaser-game-quiz.is-pista .phaser-game-quiz-card,.phaser-game-result.is-pista .phaser-game-result-card{border-color:rgba(59,130,246,.24)}
@media (max-width: 980px){.phaser-game-topbar{grid-template-columns:repeat(2,minmax(150px,1fr));}.phaser-status-pill{min-height:74px}.phaser-pill-copy strong{font-size:1.35rem}}
@media (max-width: 768px){.phaser-game-topbar{grid-template-columns:1fr 1fr;gap:.7rem}.phaser-touch-controls button{width:58px;height:58px}.phaser-touch-controls{width:calc(100% - 28px);right:14px}.phaser-pill-icon{width:42px;height:42px}.phaser-pill-copy strong{font-size:1.15rem}}

/* ===== Pista atletica premium second pass ===== */
.phaser-game-canvas-wrap.is-pista{padding:12px;background:linear-gradient(180deg,rgba(4,12,26,.96),rgba(5,16,36,.78));border:1px solid rgba(250,204,21,.18);border-radius:30px;box-shadow:0 28px 64px rgba(2,6,23,.42), inset 0 1px 0 rgba(255,255,255,.05)}
.phaser-game-stage-actions{position:absolute;top:18px;right:18px;z-index:9;display:flex;gap:12px}
.phaser-stage-action{width:68px;height:68px;border-radius:999px;border:1px solid rgba(255,255,255,.2);background:linear-gradient(180deg,rgba(255,255,255,.22),rgba(17,24,39,.34));color:#fff;box-shadow:0 18px 34px rgba(15,23,42,.28);backdrop-filter:blur(10px);font-size:1.45rem;display:grid;place-items:center;transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease}
.phaser-stage-action:hover{transform:translateY(-2px);box-shadow:0 20px 38px rgba(15,23,42,.34);border-color:rgba(250,204,21,.34)}
.phaser-stage-action.is-off{opacity:.68;border-color:rgba(248,113,113,.34)}
.phaser-stage-action.is-paused{border-color:rgba(96,165,250,.42);box-shadow:0 0 0 1px rgba(96,165,250,.18),0 18px 34px rgba(15,23,42,.28)}
.phaser-game-canvas-wrap.is-pista .phaser-touch-controls{right:24px;bottom:18px;width:calc(100% - 48px)}
.phaser-game-canvas-wrap.is-pista .phaser-touch-controls button{background:linear-gradient(180deg,rgba(255,255,255,.22),rgba(18,38,67,.42));border-color:rgba(255,255,255,.24);box-shadow:0 18px 32px rgba(15,23,42,.28)}
.phaser-game-canvas-wrap.is-pista .phaser-touch-controls button:hover{transform:translateY(-1px)}
@media (max-width:768px){
  .phaser-game-stage-actions{top:14px;right:14px;gap:8px}
  .phaser-stage-action{width:54px;height:54px;font-size:1.1rem}
}

.phaser-game-canvas-wrap.is-crime{padding:14px;background:linear-gradient(180deg,rgba(8,15,28,.98),rgba(28,8,10,.86));border:1px solid rgba(239,68,68,.22);border-radius:30px;box-shadow:0 28px 64px rgba(2,6,23,.48), inset 0 1px 0 rgba(255,255,255,.04)}
.phaser-game-canvas-wrap.is-crime::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at top right, rgba(239,68,68,.10), transparent 30%), radial-gradient(circle at bottom left, rgba(250,204,21,.07), transparent 26%)}
.phaser-game-sidecard.is-crime{background:linear-gradient(180deg,rgba(127,29,29,.18),rgba(30,41,59,.18));border:1px solid rgba(239,68,68,.18);box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 18px 40px rgba(0,0,0,.24)}
.crime-scene-canvas{display:block;width:100%;height:100%;border-radius:22px;background:#0b1220}
.crime-case-panel{position:absolute;top:92px;right:22px;z-index:8;width:240px;display:grid;gap:10px;padding:14px 14px 16px;border-radius:22px;background:linear-gradient(180deg,rgba(9,14,24,.88),rgba(17,24,39,.92));border:1px solid rgba(250,204,21,.16);box-shadow:0 22px 44px rgba(0,0,0,.28);backdrop-filter:blur(8px)}
.crime-case-head{display:flex;justify-content:space-between;align-items:center;font-size:.82rem;color:#fde68a;text-transform:uppercase;letter-spacing:.08em}
.crime-case-block{display:grid;gap:6px;padding:10px 12px;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06)}
.crime-case-block small{color:rgba(255,255,255,.62);text-transform:uppercase;letter-spacing:.08em}
.crime-case-block strong,.crime-case-block li{color:#f8fafc}
.crime-case-block ul,.crime-case-block ol{margin:0;padding-left:18px;display:grid;gap:4px}
.crime-case-chip{display:block;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.05);color:#e5e7eb;font-weight:700;font-size:.85rem;margin-top:6px}
.crime-case-chip.is-found{background:rgba(34,197,94,.14);color:#dcfce7;border:1px solid rgba(34,197,94,.24)}
.crime-cinematic-overlay{position:absolute;inset:0;display:grid;place-items:center;background:rgba(2,6,23,.48);backdrop-filter:blur(2px);z-index:20;pointer-events:auto}.crime-cinematic-overlay[hidden]{display:none !important}
.crime-cinematic-card{position:relative;z-index:21;width:min(540px,calc(100% - 2rem));padding:1.4rem 1.5rem;border-radius:24px;background:linear-gradient(180deg,rgba(12,18,34,.96),rgba(28,12,14,.96));border:1px solid rgba(250,204,21,.18);box-shadow:0 28px 60px rgba(0,0,0,.34);text-align:center;pointer-events:auto}
.crime-cinematic-card span{display:inline-block;padding:.45rem .8rem;border-radius:999px;background:rgba(250,204,21,.10);border:1px solid rgba(250,204,21,.22);color:#fde68a;font-weight:800;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}
.crime-cinematic-card h4{margin:.8rem 0 .35rem;font-size:1.65rem}
.crime-cinematic-card p{margin:0;color:#e2e8f0}
.phaser-game-quiz.is-crime .phaser-game-quiz-card,.phaser-game-result.is-crime .phaser-game-result-card{border-color:rgba(239,68,68,.22);background:linear-gradient(180deg,rgba(12,18,34,.95),rgba(36,12,14,.95))}
.phaser-game-result.is-crime .phaser-game-result-card[data-medal="gold"]{border-color:rgba(250,204,21,.55);box-shadow:0 22px 60px rgba(250,204,21,.14), inset 0 0 0 1px rgba(250,204,21,.12)}
@media (max-width: 980px){.crime-case-panel{position:static;width:auto;margin:12px 0 0}.phaser-game-canvas-wrap.is-crime{padding:12px}}
@media (max-width: 768px){.crime-cinematic-card h4{font-size:1.3rem}.crime-case-panel{padding:12px}.phaser-game-canvas-wrap.is-crime .phaser-touch-controls{right:18px;bottom:18px;width:calc(100% - 36px)}}

.crime-investigate-btn{position:absolute;left:24px;top:22px;z-index:14;display:inline-flex;align-items:center;gap:.7rem;padding:.88rem 1.1rem;border-radius:999px;border:1px solid rgba(250,204,21,.34);background:linear-gradient(180deg,rgba(15,23,42,.94),rgba(30,41,59,.96));color:#fff;font-weight:800;box-shadow:0 18px 36px rgba(0,0,0,.28);backdrop-filter:blur(10px);transform:translateY(0) scale(1);transition:transform .18s ease, box-shadow .18s ease, opacity .18s ease;pointer-events:auto;max-width:min(280px,calc(100% - 36px))}
.crime-investigate-btn[hidden]{display:none !important}
.crime-investigate-btn.is-ready{border-color:rgba(250,204,21,.68);background:linear-gradient(180deg,rgba(120,53,15,.96),rgba(15,23,42,.95));box-shadow:0 0 0 1px rgba(250,204,21,.24),0 18px 36px rgba(120,53,15,.25),0 0 28px rgba(250,204,21,.18);animation:crimeInvestigatePulse 1.15s ease-in-out infinite}
.crime-investigate-btn.is-analysis{background:linear-gradient(180deg,rgba(18,73,140,.96),rgba(15,23,42,.96));border-color:rgba(147,197,253,.7);box-shadow:0 0 0 1px rgba(147,197,253,.24),0 18px 36px rgba(15,23,42,.28),0 0 28px rgba(59,130,246,.18)}
.crime-investigate-btn:hover{transform:translateY(-2px) scale(1.01)}
.crime-investigate-btn i{color:#facc15;flex:0 0 auto}
.crime-investigate-btn span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.crime-scene-canvas.is-evidence-hover,.phaser-game-canvas-wrap.is-crime .crime-scene-canvas.is-evidence-hover{cursor:copy}
.crime-evidence-tooltip{position:absolute;z-index:15;display:grid;gap:4px;min-width:220px;max-width:240px;padding:.8rem .95rem;border-radius:18px;background:linear-gradient(180deg,rgba(12,18,34,.96),rgba(22,30,48,.96));border:1px solid rgba(250,204,21,.24);box-shadow:0 18px 36px rgba(0,0,0,.28),0 0 24px rgba(250,204,21,.08);backdrop-filter:blur(10px);pointer-events:none;transform:translateY(0);transition:opacity .18s ease, transform .18s ease, box-shadow .18s ease}
.crime-evidence-tooltip[hidden]{display:none !important}
.crime-evidence-tooltip::after{content:"";position:absolute;left:26px;bottom:-10px;width:18px;height:18px;background:inherit;border-right:1px solid rgba(250,204,21,.24);border-bottom:1px solid rgba(250,204,21,.24);transform:rotate(45deg)}
.crime-evidence-tooltip strong{color:#fff;font-size:.92rem;line-height:1.1}
.crime-evidence-tooltip span{color:#cbd5e1;font-size:.8rem;line-height:1.25}
.crime-evidence-tooltip.is-hover{border-color:rgba(250,204,21,.48);box-shadow:0 18px 36px rgba(0,0,0,.32),0 0 28px rgba(250,204,21,.18);transform:translateY(-2px)}
@keyframes crimeInvestigatePulse{0%,100%{transform:translateY(0) scale(1);box-shadow:0 0 0 1px rgba(250,204,21,.24),0 18px 36px rgba(120,53,15,.25),0 0 14px rgba(250,204,21,.12)}50%{transform:translateY(-1px) scale(1.02);box-shadow:0 0 0 1px rgba(250,204,21,.28),0 18px 36px rgba(120,53,15,.32),0 0 24px rgba(250,204,21,.2)}}
.crime-cinematic-overlay{cursor:pointer}
.crime-cinematic-card{pointer-events:auto}
.crime-cinematic-skip{margin-top:1rem;padding:.82rem 1.15rem;border-radius:999px;border:1px solid rgba(250,204,21,.45);background:rgba(250,204,21,.16);color:#fff;font-weight:800;cursor:pointer;pointer-events:auto;position:relative;z-index:22}
.crime-case-panel{max-width:220px}
.crime-scene-canvas{position:relative;z-index:2}
@media (max-width: 980px){.crime-investigate-btn{left:14px;top:18px;padding:.82rem 1rem;font-size:.92rem;max-width:min(240px,calc(100% - 28px))}.crime-case-panel{max-width:none}}

.phaser-game-canvas-wrap.is-convivencia{padding:14px;background:linear-gradient(180deg,rgba(3,20,34,.98),rgba(9,45,74,.90));border:1px solid rgba(56,189,248,.20);border-radius:30px;box-shadow:0 28px 64px rgba(2,6,23,.42), inset 0 1px 0 rgba(255,255,255,.04)}
.phaser-game-canvas-wrap.is-convivencia::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at top left, rgba(56,189,248,.12), transparent 32%), radial-gradient(circle at bottom right, rgba(250,204,21,.08), transparent 28%)}
.phaser-game-sidecard.is-convivencia{background:linear-gradient(180deg,rgba(8,47,73,.18),rgba(15,23,42,.16));border:1px solid rgba(56,189,248,.18);box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 18px 40px rgba(0,0,0,.22)}
.convivencia-canvas{display:block;width:100%;height:100%;border-radius:22px;background:#0b1220}
.convivencia-case-panel{position:absolute;top:92px;right:22px;z-index:8;width:246px;display:grid;gap:10px;padding:14px 14px 16px;border-radius:22px;background:linear-gradient(180deg,rgba(7,18,33,.88),rgba(15,23,42,.92));border:1px solid rgba(125,211,252,.18);box-shadow:0 22px 44px rgba(0,0,0,.28);backdrop-filter:blur(8px)}
.convivencia-panel-head{display:flex;justify-content:space-between;align-items:center;font-size:.82rem;color:#bae6fd;text-transform:uppercase;letter-spacing:.08em}
.convivencia-panel-block{display:grid;gap:6px;padding:10px 12px;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06)}
.convivencia-panel-block small{color:rgba(255,255,255,.62);text-transform:uppercase;letter-spacing:.08em}
.convivencia-panel-block strong,.convivencia-panel-block p{color:#f8fafc;margin:0}
.convivencia-chip{display:block;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.05);color:#e5e7eb;font-weight:700;font-size:.85rem;margin-top:6px}
.convivencia-chip.is-done{background:rgba(34,197,94,.14);color:#dcfce7;border:1px solid rgba(34,197,94,.24)}
.convivencia-panel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.convivencia-panel-grid div{padding:10px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.05)}
.convivencia-panel-grid small{display:block;color:rgba(255,255,255,.58);text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}
.convivencia-panel-grid strong{color:#fff}
.convivencia-cinematic-overlay{position:absolute;inset:0;display:grid;place-items:center;background:rgba(2,6,23,.42);backdrop-filter:blur(2px);z-index:20;pointer-events:auto;cursor:pointer}.convivencia-cinematic-overlay[hidden]{display:none !important}
.convivencia-cinematic-card{position:relative;z-index:21;width:min(560px,calc(100% - 2rem));padding:1.4rem 1.5rem;border-radius:24px;background:linear-gradient(180deg,rgba(11,25,44,.96),rgba(7,46,74,.96));border:1px solid rgba(125,211,252,.24);box-shadow:0 28px 60px rgba(0,0,0,.34);text-align:center;pointer-events:auto}
.convivencia-cinematic-card span{display:inline-block;padding:.45rem .8rem;border-radius:999px;background:rgba(56,189,248,.10);border:1px solid rgba(125,211,252,.22);color:#bae6fd;font-weight:800;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}
.convivencia-cinematic-card h4{margin:.8rem 0 .35rem;font-size:1.65rem}.convivencia-cinematic-card p{margin:0;color:#e2e8f0}
.convivencia-cinematic-skip{margin-top:1rem;padding:.82rem 1.15rem;border-radius:999px;border:1px solid rgba(125,211,252,.38);background:rgba(56,189,248,.14);color:#fff;font-weight:800;cursor:pointer}
.phaser-game-quiz.is-convivencia .phaser-game-quiz-card,.phaser-game-result.is-convivencia .phaser-game-result-card{border-color:rgba(56,189,248,.22);background:linear-gradient(180deg,rgba(9,20,37,.95),rgba(8,44,71,.95))}
.phaser-game-result.is-convivencia .phaser-game-result-card[data-medal="gold"]{border-color:rgba(250,204,21,.55);box-shadow:0 22px 60px rgba(250,204,21,.12), inset 0 0 0 1px rgba(250,204,21,.10)}
.convivencia-action-btn{position:absolute;left:24px;top:22px;z-index:14;display:inline-flex;align-items:center;gap:.7rem;padding:.88rem 1.1rem;border-radius:999px;border:1px solid rgba(125,211,252,.34);background:linear-gradient(180deg,rgba(15,23,42,.94),rgba(8,47,73,.96));color:#fff;font-weight:800;box-shadow:0 18px 36px rgba(0,0,0,.28);backdrop-filter:blur(10px);transition:transform .18s ease, box-shadow .18s ease;pointer-events:auto;max-width:min(300px,calc(100% - 36px))}
.convivencia-action-btn[hidden]{display:none !important}
.convivencia-action-btn.is-dialogue{box-shadow:0 0 0 1px rgba(250,204,21,.14),0 18px 36px rgba(0,0,0,.28),0 0 22px rgba(250,204,21,.14)}
.convivencia-action-btn.is-observe{box-shadow:0 0 0 1px rgba(56,189,248,.14),0 18px 36px rgba(0,0,0,.28),0 0 22px rgba(56,189,248,.14)}
.convivencia-action-btn.is-resolve{background:linear-gradient(180deg,rgba(14,116,144,.96),rgba(15,23,42,.96));border-color:rgba(34,197,94,.48);box-shadow:0 0 0 1px rgba(34,197,94,.18),0 18px 36px rgba(0,0,0,.28),0 0 26px rgba(34,197,94,.16)}
.convivencia-action-btn:hover{transform:translateY(-2px) scale(1.01)}
.convivencia-tooltip{position:absolute;z-index:15;display:grid;gap:4px;min-width:220px;max-width:240px;padding:.8rem .95rem;border-radius:18px;background:linear-gradient(180deg,rgba(10,19,34,.96),rgba(8,36,56,.96));border:1px solid rgba(125,211,252,.24);box-shadow:0 18px 36px rgba(0,0,0,.28),0 0 24px rgba(56,189,248,.08);backdrop-filter:blur(10px);pointer-events:none;transition:opacity .18s ease, transform .18s ease, box-shadow .18s ease}
.convivencia-tooltip[hidden]{display:none !important}
.convivencia-tooltip::after{content:"";position:absolute;left:26px;bottom:-10px;width:18px;height:18px;background:inherit;border-right:1px solid rgba(125,211,252,.24);border-bottom:1px solid rgba(125,211,252,.24);transform:rotate(45deg)}
.convivencia-tooltip strong{color:#fff;font-size:.92rem;line-height:1.1}.convivencia-tooltip span{color:#cbd5e1;font-size:.8rem;line-height:1.25}.convivencia-tooltip.is-hover{border-color:rgba(125,211,252,.48);box-shadow:0 18px 36px rgba(0,0,0,.32),0 0 28px rgba(56,189,248,.16);transform:translateY(-2px)}
.convivencia-canvas.is-hot,.phaser-game-canvas-wrap.is-convivencia .convivencia-canvas.is-hot{cursor:pointer}
.convivencia-rank-badge{display:flex;align-items:center;gap:14px;padding:14px 16px;margin:14px 0;border-radius:20px;background:linear-gradient(180deg,rgba(15,23,42,.96),rgba(8,47,73,.94));border:1px solid rgba(125,211,252,.18);box-shadow:0 16px 34px rgba(0,0,0,.24)}
.convivencia-rank-badge img{width:72px;height:72px;object-fit:contain;filter:drop-shadow(0 8px 16px rgba(0,0,0,.24))}
.convivencia-rank-badge small{display:block;color:rgba(255,255,255,.62);text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}
.convivencia-rank-badge strong{color:#fff;font-size:1rem}
@media (max-width: 980px){.convivencia-case-panel{position:static;width:auto;margin:12px 0 0}.phaser-game-canvas-wrap.is-convivencia{padding:12px}.convivencia-action-btn{left:14px;top:18px;padding:.82rem 1rem;font-size:.92rem;max-width:min(240px,calc(100% - 28px))}}
@media (max-width: 768px){.convivencia-cinematic-card h4{font-size:1.3rem}.convivencia-case-panel{padding:12px}.phaser-game-canvas-wrap.is-convivencia .phaser-touch-controls{right:18px;bottom:18px;width:calc(100% - 36px)}}

.phaser-game-intro .btn[data-phaser-start]{position:relative;z-index:1203;pointer-events:auto}
.phaser-game-intro.is-dismissed{opacity:0;pointer-events:none}
.convivencia-panel-head strong{display:block;font-size:1rem;line-height:1.2}
.convivencia-chip-row{display:flex;flex-wrap:wrap;gap:.45rem}
.phaser-game-builder-card .builder-help{line-height:1.45}


.phaser-game-canvas-wrap.is-decision{background:linear-gradient(180deg,#0b1220,#020617)}
.tactica-case-panel{position:absolute;right:18px;top:84px;width:310px;padding:16px 16px 14px;border-radius:20px;background:rgba(10,15,30,.82);border:1px solid rgba(148,163,184,.18);backdrop-filter:blur(8px);box-shadow:0 20px 40px rgba(2,6,23,.35);z-index:8;color:#e5eefc}
.tactica-case-panel h4{margin:8px 0 6px;font-size:1.1rem;color:#fff}
.tactica-case-panel p{margin:0 0 10px;color:#bfd2f2;font-size:.92rem;line-height:1.45}
.tactica-guidance-tooltip{position:absolute;left:24px;bottom:22px;max-width:560px;padding:12px 16px;border-radius:16px;background:rgba(8,15,32,.86);border:1px solid rgba(96,165,250,.2);color:#e2e8f0;z-index:8;box-shadow:0 12px 30px rgba(2,6,23,.32)}
.tactica-cinematic-overlay{z-index:10;background:linear-gradient(180deg,rgba(2,6,23,.55),rgba(2,6,23,.78))}
.tactica-cinematic-card{max-width:620px;border:1px solid rgba(96,165,250,.22);background:linear-gradient(180deg,rgba(15,23,42,.95),rgba(15,23,42,.86));box-shadow:0 32px 70px rgba(2,6,23,.5)}
.tactica-decision-option{display:flex;align-items:center;gap:14px;width:100%;padding:14px 16px;border-radius:16px;border:1px solid rgba(148,163,184,.18);background:rgba(15,23,42,.82);color:#e5eefc;transition:.18s ease;cursor:pointer}
.tactica-decision-option:hover{transform:translateY(-1px);border-color:rgba(96,165,250,.45);background:rgba(30,41,59,.94)}
.tactica-decision-option .decision-option-icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;background:rgba(59,130,246,.18);color:#93c5fd;font-size:1.05rem}
.tactica-decision-option .decision-option-copy{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left}
.tactica-decision-option .decision-option-copy strong{font-size:1rem;color:#fff}.tactica-decision-option .decision-option-copy small{font-size:.88rem;color:#cbd5e1;line-height:1.35}
.tactica-decision-option.is-correct{border-color:rgba(74,222,128,.55);box-shadow:0 0 0 2px rgba(74,222,128,.15)}
.tactica-decision-option.is-wrong{border-color:rgba(248,113,113,.55);box-shadow:0 0 0 2px rgba(248,113,113,.15)}

.tactica-command-band{position:absolute;left:24px;right:350px;top:92px;display:flex;align-items:center;gap:14px;padding:12px 16px;border-radius:18px;background:rgba(5,10,22,.84);border:1px solid rgba(96,165,250,.22);box-shadow:0 16px 38px rgba(2,6,23,.35);color:#e2e8f0;z-index:8;backdrop-filter:blur(8px)}
.tactica-command-band[data-kind="success"]{border-color:rgba(74,222,128,.35);background:rgba(6,24,18,.86)}
.tactica-command-band[data-kind="warning"]{border-color:rgba(251,191,36,.35);background:rgba(38,24,8,.86)}
.tactica-command-band[data-kind="danger"]{border-color:rgba(248,113,113,.35);background:rgba(36,12,12,.88)}
.command-band-tag{display:inline-flex;align-items:center;gap:8px;padding:7px 10px;border-radius:999px;background:rgba(59,130,246,.16);color:#93c5fd;font-size:.8rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
.command-band-copy{font-size:.95rem;line-height:1.45;color:#e2e8f0}
.tactica-scene-cast{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 10px}
.tactica-scene-cast span,.tactica-scene-ambient{display:flex;align-items:center;gap:8px;padding:9px 10px;border-radius:12px;background:rgba(15,23,42,.55);border:1px solid rgba(148,163,184,.12);color:#dbeafe;font-size:.86rem}
.tactica-scene-ambient{margin-bottom:12px;color:#bfdbfe}

/* presentation templates exact mockup */
.slide-canvas-pro{grid-template-columns:minmax(0,1.55fr) 280px;gap:1rem}
.slide-stage-pro{min-height:860px}
.presentation-template{position:relative;display:grid;gap:1rem;background-color:var(--slide-bg-color,#f5f5f5);border-radius:0;padding:18px 18px 0;color:#161616;box-shadow:0 18px 45px rgba(0,0,0,.18);border:1px solid rgba(12,34,66,.12);overflow:hidden;background-repeat:no-repeat;background-position:center;background-size:cover}
.presentation-template.has-bg-image{background-image:linear-gradient(rgba(255,255,255,.74), rgba(255,255,255,.78)), var(--slide-bg-image)}
.presentation-template > *{position:relative;z-index:1}
.presentation-template__bg{position:absolute;inset:0;z-index:0;background-repeat:no-repeat;background-position:center;background-size:cover;}
.presentation-template__header{display:grid;justify-items:center;align-content:center;padding:6px 0 0}
.presentation-template__header h3{margin:0;font-size:1.18rem;font-weight:500;letter-spacing:.01em;color:#111}
.presentation-template__grid{display:grid;gap:18px;grid-template-columns:300px 1fr 290px;grid-template-rows:auto auto;align-items:start}
.presentation-template__grid--first{grid-template-areas:'main description description' 'main secondary complement'}
.presentation-template__grid--second{grid-template-areas:'secondary complement main' 'description description main'}
.presentation-box{background:rgba(255,255,255,.92);border:1px solid rgba(45,79,134,.16);border-radius:2px;box-shadow:0 4px 12px rgba(0,0,0,.08);padding:10px;max-width:100%;overflow:hidden}.presentation-template .presentation-box:not(.media-box){background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(242,247,255,.92));border:none;border-radius:18px;box-shadow:0 16px 34px rgba(15,23,42,.10),inset 0 1px 0 rgba(255,255,255,.72)}.presentation-box,.presentation-box p,.presentation-box div,.secondary-text-box,.complement-row,.description-box{overflow-wrap:anywhere;word-break:break-word;hyphens:auto;text-align:justify;text-justify:inter-word}.description-box,.complement-box{overflow:auto}.secondary-text-box,.complement-row{width:100%;border:none;border-radius:14px;background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(246,249,255,.88));box-shadow:0 10px 24px rgba(15,23,42,.08),inset 0 1px 0 rgba(255,255,255,.7)}
.presentation-template .media-box{border-color:#2d4f86;background:#ececec;padding:0;overflow:hidden;position:relative}
.media-box--primary{grid-area:main;min-height:492px;height:492px}
.media-box--secondary{grid-area:secondary;min-height:238px;height:238px}
.description-box{grid-area:description;min-height:145px;font-size:.97rem;line-height:1.45;padding:12px 14px}
.complement-box{grid-area:complement;min-height:145px;padding:10px 14px;display:grid;gap:8px;font-size:.95rem;line-height:1.35;align-content:start}
.secondary-text-box{min-height:64px;padding:.65rem .85rem;border-radius:14px;background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(246,249,255,.88));border:none;font-size:.93rem;line-height:1.35;color:#1d2430}
.complement-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.presentation-template--segundo_tipo .description-box{min-height:180px}
.presentation-template--segundo_tipo .complement-box{min-height:118px}
.presentation-photo-placeholder,.media-box img{width:100%;height:100%;display:grid;place-items:center}
.media-box img{object-fit:cover}
.presentation-photo-placeholder{background:#f0f0f0;color:#737373;font-size:1.1rem;text-shadow:0 2px 7px rgba(0,0,0,.2)}
.shape-recta{border-radius:0}
.shape-redonda{border-radius:999px}
.shape-semi_redonda{border-radius:38px}
.shape-redonda_izquierda{border-radius:42px 8px 8px 42px}
.shape-redonda_derecha{border-radius:8px 42px 42px 8px}
.presentation-actions-strip{position:relative;margin-top:14px;background:linear-gradient(145deg,rgba(6,20,41,.96) 0%,rgba(8,32,65,.94) 35%,rgba(7,49,89,.90) 100%);min-height:178px;padding:28px 32px 30px;border:1px solid rgba(148,163,184,.16);border-bottom:none;border-radius:32px 32px 0 0;box-shadow:0 28px 64px rgba(2,8,23,.38),inset 0 1px 0 rgba(255,255,255,.16),inset 0 -18px 40px rgba(59,130,246,.08);backdrop-filter:blur(16px);display:grid;grid-template-columns:180px 1fr;align-items:center;column-gap:26px;overflow:hidden}
.presentation-actions-strip::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 14% 18%,rgba(255,255,255,.18),transparent 0 22%),radial-gradient(circle at 78% -8%,rgba(96,165,250,.22),transparent 0 28%),linear-gradient(90deg,rgba(255,255,255,.06),transparent 20%,transparent 80%,rgba(255,255,255,.04));pointer-events:none}
.presentation-actions-strip::after{content:"";position:absolute;top:0;left:180px;width:72px;height:18px;clip-path:polygon(50% 0,100% 100%,0 100%);background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(226,232,240,.84));filter:drop-shadow(0 8px 14px rgba(15,23,42,.22))}
.presentation-actions-strip__title{position:relative;color:#f8fbff;font-size:1.12rem;text-align:center;grid-column:2;font-weight:700;letter-spacing:.01em;margin-top:2px;text-shadow:0 2px 14px rgba(0,0,0,.24)}
.presentation-actions-strip__buttons{position:relative;grid-column:2;display:flex;justify-content:space-around;gap:18px;margin-top:16px;flex-wrap:wrap}
.voice-trigger,.circle-action-btn{position:relative;border:1px solid rgba(255,255,255,.16);color:#fff;transition:transform .22s ease, box-shadow .22s ease, filter .22s ease, border-color .22s ease}
.voice-trigger{width:122px;height:122px;border-radius:999px;display:grid;place-items:center;text-align:center;padding:14px;font-size:1rem;line-height:1.2;background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.06));box-shadow:0 18px 40px rgba(15,23,42,.34),inset 0 1px 0 rgba(255,255,255,.24)}
.voice-trigger i{font-size:2.15rem;margin-bottom:6px}
.voice-trigger span{display:block;font-size:.85rem}
.voice-trigger.is-speaking{transform:scale(1.04);box-shadow:0 0 0 8px rgba(125,251,82,.14),0 20px 42px rgba(15,23,42,.38)}
.circle-action-btn{--btn-color:#0ea5e9;width:96px;min-height:96px;border-radius:26px;display:grid;align-content:center;justify-items:center;padding:10px;text-align:center;background:linear-gradient(180deg,color-mix(in srgb,var(--btn-color) 82%,white 18%) 0%,var(--btn-color) 52%,color-mix(in srgb,var(--btn-color) 75%,black 25%) 100%);box-shadow:0 18px 34px color-mix(in srgb,var(--btn-color) 36%,rgba(15,23,42,.65) 64%),inset 0 1px 0 rgba(255,255,255,.25),inset 0 -8px 14px rgba(0,0,0,.16)}
.circle-action-btn::before{content:"";position:absolute;inset:1px;border-radius:inherit;background:linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,0) 38%);pointer-events:none}
.circle-action-btn i{font-size:1.45rem;margin-bottom:6px;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.22)}
.circle-action-btn span{font-size:.78rem;color:#fff;line-height:1.15;font-weight:700;letter-spacing:.01em}
.circle-action-btn.is-round{border-radius:999px}.circle-action-btn.is-square{border-radius:22px}.circle-action-btn.is-rectangle{width:120px;border-radius:24px}.circle-action-btn.is-pill{width:128px;border-radius:999px;padding-inline:14px}.circle-action-btn.is-star{clip-path:polygon(50% 0%,61% 34%,98% 35%,68% 57%,79% 92%,50% 72%,21% 92%,32% 57%,2% 35%,39% 34%);border-radius:0;padding:16px 10px;min-height:104px}
.tone-azul .presentation-actions-strip{background:radial-gradient(circle at top center,rgba(255,255,255,.18),transparent 34%),linear-gradient(135deg,rgba(17,42,88,.96) 0%,rgba(30,83,164,.96) 55%,rgba(31,118,187,.94) 100%)}
.tone-verde .presentation-actions-strip{background:radial-gradient(circle at top center,rgba(255,255,255,.16),transparent 34%),linear-gradient(135deg,rgba(18,78,69,.96) 0%,rgba(31,124,97,.96) 55%,rgba(67,178,138,.92) 100%)}
.tone-vino .presentation-actions-strip{background:radial-gradient(circle at top center,rgba(255,255,255,.16),transparent 34%),linear-gradient(135deg,rgba(89,26,53,.96) 0%,rgba(126,40,79,.96) 55%,rgba(176,72,112,.92) 100%)}
.tone-dorado .presentation-actions-strip{background:radial-gradient(circle at top center,rgba(255,255,255,.18),transparent 34%),linear-gradient(135deg,rgba(128,97,20,.96) 0%,rgba(177,138,34,.96) 55%,rgba(226,184,72,.92) 100%)}
.slide-hotspots-pro{grid-auto-rows:max-content;align-content:start}
.slide-hotspots-pro .slide-action-panel{display:none}
.slide-hotspots-pro .slide-action-panel.active{display:grid}
.slide-counter-card,.slide-panel-head.stacked{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:18px}
.slide-counter-card{padding:1rem}
.slide-panel-head.stacked{padding:1rem 1.1rem}
.slide-panel-head.stacked p{margin:.3rem 0 0;color:#d7e2f1}
@media (max-width: 1200px){
  .slide-canvas-pro{grid-template-columns:1fr}
  .presentation-template__grid{grid-template-columns:1fr 1fr;grid-template-areas:'main main' 'description description' 'secondary complement'}
  .media-box--primary{min-height:360px;height:360px}
  .media-box--secondary{min-height:220px;height:220px}
  .presentation-actions-strip{grid-template-columns:1fr;justify-items:center}
  .presentation-actions-strip::before{left:50%;transform:translateX(-50%)}
  .presentation-actions-strip__title,.presentation-actions-strip__buttons{grid-column:1}
}
@media (max-width: 760px){
  .presentation-template{padding:12px 12px 0}
  .presentation-template__grid{grid-template-columns:1fr;grid-template-areas:'main' 'description' 'secondary' 'complement';gap:12px}
  .media-box--primary{min-height:260px;height:260px}
  .media-box--secondary{min-height:180px;height:180px}
  .presentation-actions-strip{padding:16px 12px 18px;min-height:auto}
  .presentation-actions-strip__buttons{flex-wrap:wrap}
}


/* presentation text + background fixes */
.presentation-template{background-color:var(--slide-bg-color,#f5f5f5) !important;background-repeat:no-repeat;background-size:cover;background-position:center;}
.presentation-template .description-box,
.presentation-template .complement-box,
.presentation-template .secondary-text-box,
.presentation-template .complement-row{
  text-align:justify;
  text-justify:inter-word;
  overflow-wrap:anywhere;
  word-break:break-word;
  hyphens:auto;
}
.presentation-template .description-box,
.presentation-template .complement-box{
  overflow:auto;
}
.presentation-template .description-box{max-height:220px;}
.presentation-template .complement-box{max-height:180px;}
.presentation-template .secondary-text-box,
.presentation-template .complement-row{max-width:100%;}
.presentation-template .description-box,
.presentation-template .complement-box,
.presentation-template .secondary-text-box,
.presentation-template .complement-row,
.presentation-template .presentation-box:not(.media-box){backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);}

.circle-action-btn{cursor:pointer;pointer-events:auto;position:relative;z-index:3}
.circle-action-btn:hover,.voice-trigger:hover{transform:translateY(-4px) scale(1.02);filter:saturate(1.05);border-color:rgba(255,255,255,.28)}
.circle-action-btn:hover{box-shadow:0 24px 40px color-mix(in srgb,var(--btn-color) 42%,rgba(15,23,42,.58) 58%),inset 0 1px 0 rgba(255,255,255,.26),inset 0 -10px 14px rgba(0,0,0,.18)}
.voice-trigger:hover{box-shadow:0 24px 44px rgba(15,23,42,.42),inset 0 1px 0 rgba(255,255,255,.24)}
.circle-action-btn:active,.voice-trigger:active{transform:translateY(0) scale(.98)}
.preview-modal-lite{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:rgba(5,10,20,.55);z-index:9999;padding:1rem}.preview-modal-lite.active{display:flex}.preview-modal-card{max-width:min(720px,96vw);width:100%;max-height:88vh;overflow:auto;background:#fff;color:#111;border-radius:18px;padding:1rem 1.1rem;box-shadow:0 18px 50px rgba(0,0,0,.28)}


/* elegant presentation info modal */
.presentation-info-modal-card{padding:0 !important;overflow:hidden !important;border-radius:24px !important;background:linear-gradient(180deg,#f8fbff 0%,#eef4ff 100%) !important;border:1px solid rgba(34,83,154,.16) !important;box-shadow:0 30px 80px rgba(11,24,52,.30),0 8px 24px rgba(11,24,52,.12) !important;}
.presentation-info-modal__header{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:start;padding:1.1rem 1.25rem 1rem;background:linear-gradient(135deg,#0d3b78 0%,#1367c8 52%,#39a0ff 100%);color:#fff;position:relative;}
.presentation-info-modal__header::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,rgba(255,255,255,.10),rgba(255,255,255,.45),rgba(255,255,255,.10));}
.presentation-info-modal__eyebrow{grid-column:1/-1;display:inline-flex;align-items:center;gap:.45rem;width:max-content;padding:.35rem .7rem;border-radius:999px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.22);font-size:.74rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;}
.presentation-info-modal__titlewrap h3{margin:0;display:flex;align-items:center;gap:.55rem;font-size:1.28rem;color:#fff;}
.presentation-info-modal__titlewrap p{margin:.32rem 0 0;color:rgba(255,255,255,.86);font-size:.93rem;max-width:42ch;}
.presentation-info-modal__close{width:44px;height:44px;border:none;border-radius:14px;background:rgba(255,255,255,.14);color:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.15);transition:transform .18s ease, background .18s ease, box-shadow .18s ease;}
.presentation-info-modal__close:hover{background:rgba(255,255,255,.22);transform:translateY(-1px);box-shadow:0 10px 22px rgba(0,0,0,.16);}
.presentation-info-modal__body{padding:1.15rem 1.25rem 1rem;background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(247,250,255,.98));}
.presentation-info-modal__footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem 1.15rem;background:linear-gradient(180deg,#0f1d33 0%,#122744 100%);color:#fff;border-top:1px solid rgba(17,50,96,.14);}
.presentation-info-modal__hint{display:flex;align-items:center;gap:.6rem;color:rgba(255,255,255,.86);font-size:.92rem;line-height:1.35;}
.presentation-info-modal__footer .btn{border:none;box-shadow:0 14px 28px rgba(0,0,0,.22);background:linear-gradient(135deg,#34d399 0%,#22c55e 100%);color:#072814;font-weight:800;}
.presentation-info-modal__footer .btn:hover{filter:brightness(1.03);transform:translateY(-1px);}
.info-modal-content h4{margin:0 0 .65rem;font-size:1.18rem;line-height:1.2;color:#102647;}
.info-modal-kicker{display:inline-flex;align-items:center;gap:.4rem;margin-bottom:.65rem;padding:.3rem .65rem;border-radius:999px;background:rgba(19,103,200,.10);color:#1752a0;font-size:.73rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;}
.info-modal-copy{margin-top:.8rem;padding:.95rem 1rem;border-radius:16px;background:rgba(16,38,71,.04);border:1px solid rgba(16,38,71,.08);}
.info-modal-copy p{margin:0;color:#24364f;line-height:1.68;text-align:justify;}
.info-modal-media{margin:.4rem 0 .85rem;border-radius:18px;overflow:hidden;border:1px solid rgba(18,39,68,.10);box-shadow:0 16px 36px rgba(18,39,68,.10);background:#fff;}
.info-modal-media.image img{display:block;width:100%;max-height:320px;object-fit:cover;}
.info-modal-media.pdf iframe{display:block;width:100%;height:min(62vh,520px);border:0;background:#fff;}
@media (max-width: 700px){.presentation-info-modal__header,.presentation-info-modal__body,.presentation-info-modal__footer{padding-left:1rem;padding-right:1rem}.presentation-info-modal__footer{flex-direction:column;align-items:stretch}.presentation-info-modal__footer .btn{width:100%;justify-content:center}.presentation-info-modal__close{width:40px;height:40px}.presentation-info-modal__titlewrap h3{font-size:1.08rem;}}

/* ===== Student thematic cards premium upgrade ===== */
.student-module-panels .content-grid {
  grid-template-columns: repeat(auto-fit, minmax(270px, 1fr));
  gap: 1.15rem;
}
.student-content-card {
  position: relative;
  display: grid;
  gap: 1rem;
  min-height: 260px;
  padding: 1.15rem;
  overflow: hidden;
  border-radius: 24px;
  border: 1px solid rgba(var(--blanco-rgb), .09);
  background:
    radial-gradient(circle at top right, rgba(var(--azul-rgb), .20), transparent 34%),
    radial-gradient(circle at bottom left, rgba(var(--verde-rgb), .12), transparent 34%),
    linear-gradient(180deg, rgba(var(--blanco-rgb), .05), rgba(var(--negro-rgb), .22)),
    rgba(var(--negro-rgb), .48);
  box-shadow:
    inset 0 1px 0 rgba(var(--blanco-rgb), .06),
    0 18px 34px rgba(0,0,0,.24),
    0 0 0 1px rgba(var(--azul-rgb), .05);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.student-content-card::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 1px;
  background: linear-gradient(135deg, rgba(var(--verde-rgb), .38), rgba(var(--azul-rgb), .26), rgba(var(--amarillo-rgb), .20));
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
  opacity: .75;
}
.student-content-card:hover {
  transform: translateY(-4px);
  border-color: rgba(var(--verde-rgb), .22);
  box-shadow:
    inset 0 1px 0 rgba(var(--blanco-rgb), .08),
    0 26px 44px rgba(0,0,0,.32),
    0 0 0 1px rgba(var(--verde-rgb), .10),
    0 10px 30px rgba(var(--azul-rgb), .12);
}
.student-content-card.activity-viewed {
  border-color: rgba(var(--verde-rgb), .22);
  box-shadow:
    inset 0 1px 0 rgba(var(--blanco-rgb), .08),
    0 20px 36px rgba(0,0,0,.28),
    0 0 0 1px rgba(var(--verde-rgb), .12);
}
.student-content-card__glow {
  position: absolute;
  width: 160px;
  height: 160px;
  right: -60px;
  top: -60px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(var(--azul-rgb), .18) 0%, rgba(var(--azul-rgb), 0) 72%);
  pointer-events: none;
}
.student-content-card__head {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: .85rem;
  align-items: start;
}
.student-content-card__icon {
  width: 54px;
  height: 54px;
  border-radius: 18px;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  background: linear-gradient(135deg, rgba(var(--azul-rgb), .32), rgba(var(--verde-rgb), .28));
  border: 1px solid rgba(var(--blanco-rgb), .10);
  color: #ffffff;
  box-shadow: inset 0 1px 0 rgba(var(--blanco-rgb), .10), 0 12px 24px rgba(0,0,0,.18);
  font-size: 1.1rem;
}
.student-content-card__titlewrap {
  min-width: 0;
  display: grid;
  gap: .18rem;
}
.student-content-card__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  width: max-content;
  max-width: 100%;
  padding: .32rem .62rem;
  border-radius: 999px;
  background: rgba(var(--blanco-rgb), .06);
  border: 1px solid rgba(var(--blanco-rgb), .08);
  color: rgba(var(--blanco-rgb), .72);
  font-size: .72rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.student-content-card h4 {
  margin: 0;
  color: #ffffff;
  font-size: 1.02rem;
  line-height: 1.25;
}
.student-content-card .card-statuses {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: .42rem;
}
.student-content-card .mini-tag {
  background: rgba(var(--blanco-rgb), .07);
  border-color: rgba(var(--blanco-rgb), .08);
  color: #eaf2ff;
}
.student-content-card .mini-tag.success {
  background: rgba(var(--verde-rgb), .14);
  border-color: rgba(var(--verde-rgb), .24);
  color: #b7f7c7;
}
.student-content-card__desc {
  position: relative;
  margin: 0;
  color: rgba(var(--blanco-rgb), .82);
  line-height: 1.58;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.student-content-card__features {
  gap: .55rem;
}
.student-content-card__features span {
  display: flex;
  align-items: center;
  gap: .55rem;
  padding: .62rem .75rem;
  border-radius: 14px;
  background: rgba(var(--blanco-rgb), .045);
  border: 1px solid rgba(var(--blanco-rgb), .07);
  color: rgba(var(--blanco-rgb), .84);
  font-size: .88rem;
}
.student-content-card__features i,
.student-content-card__meta i {
  color: var(--verde);
}
.student-content-card__footer {
  margin-top: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .8rem;
  flex-wrap: wrap;
}
.student-content-card__footer--stack {
  align-items: stretch;
}
.student-content-card__meta {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .55rem .72rem;
  border-radius: 999px;
  background: rgba(var(--negro-rgb), .32);
  border: 1px solid rgba(var(--blanco-rgb), .08);
  color: rgba(var(--blanco-rgb), .76);
  font-size: .82rem;
  max-width: 100%;
}
.student-content-card .btn.sm {
  min-height: 40px;
  border-radius: 12px;
  padding-inline: .95rem;
  box-shadow: 0 10px 18px rgba(0,0,0,.18);
}
.student-content-card .hero-actions {
  display: flex;
  gap: .6rem;
  flex-wrap: wrap;
}
@media (max-width: 760px) {
  .student-content-card {
    min-height: auto;
  }
  .student-content-card__head {
    grid-template-columns: auto 1fr;
  }
  .student-content-card .card-statuses {
    grid-column: 1 / -1;
    justify-content: flex-start;
  }
  .student-content-card__footer {
    flex-direction: column;
    align-items: stretch;
  }
}

/* Ayuda IA premium */
.ai-help-card--pro{padding:1rem;border-radius:28px;background:radial-gradient(circle at top right,rgba(61,140,255,.18),transparent 30%),linear-gradient(180deg,rgba(8,14,27,.94),rgba(5,10,18,.98));border:1px solid rgba(120,188,255,.14)}
.ai-help-shell{display:grid;grid-template-columns:320px 1fr;gap:1rem}
.ai-help-sidebar,.ai-chat-panel{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:24px;padding:1rem}
.ai-sidebar-head h3{margin:.35rem 0 .25rem;font-size:1.2rem}.ai-sidebar-head p{margin:0;color:#b9c7d8}.ai-sidebar-badge{display:inline-flex;align-items:center;gap:.45rem;padding:.38rem .75rem;border-radius:999px;background:rgba(57,255,20,.10);border:1px solid rgba(57,255,20,.25);color:#bfffb3;font-size:.78rem;font-weight:700}
.ai-sidebar-block{margin-top:1rem;display:grid;gap:.75rem}.ai-mode-switcher{display:grid;grid-template-columns:repeat(3,1fr);gap:.55rem}.ai-mode-btn{padding:.8rem;border-radius:14px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.03);color:#dce7f6;font-weight:700;cursor:pointer}.ai-mode-btn.is-active{background:linear-gradient(135deg,#2c7be5,#28c76f);color:#fff;border-color:transparent;box-shadow:0 12px 30px rgba(44,123,229,.25)}
.ai-session-list{display:grid;gap:.7rem;max-height:420px;overflow:auto}.ai-session-chip{padding:.9rem;border-radius:18px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);cursor:pointer}.ai-session-chip.is-active{border-color:rgba(57,255,20,.45);box-shadow:0 0 0 1px rgba(57,255,20,.2) inset}.ai-session-chip h4{margin:0 0 .35rem;font-size:.96rem}.ai-session-chip p{margin:0;color:#b9c7d8;font-size:.88rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ai-session-chip span,.ai-empty-history{font-size:.8rem;color:#8fa7c1}
.ai-chat-panel__title{margin-bottom:.75rem}.ai-chip-row--pro{flex-wrap:wrap;gap:.65rem}.ai-chat-shell--pro{gap:.9rem}.ai-chat-feed{padding-right:.2rem}.ai-msg{background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08);box-shadow:0 8px 22px rgba(0,0,0,.12)}.ai-msg p{margin:.45rem 0 0;color:#e6eef9;white-space:normal}.ai-msg strong{display:block;color:#fff}.ai-msg.user{background:linear-gradient(180deg,rgba(44,123,229,.18),rgba(44,123,229,.10));border-color:rgba(74,144,226,.28)}.ai-msg.assistant{background:linear-gradient(180deg,rgba(57,255,20,.08),rgba(57,255,20,.03));border-color:rgba(57,255,20,.16)}.ai-msg.assistant.is-featured{border-color:rgba(255,214,10,.28);background:linear-gradient(180deg,rgba(255,214,10,.10),rgba(255,214,10,.03))}.ai-msg.is-typing p{opacity:.8;font-style:italic}
.ai-chat-form--pro{display:grid;gap:.85rem;padding:1rem;border-radius:20px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08)}.ai-form-topline,.ai-chat-actions{display:flex;justify-content:space-between;gap:1rem;align-items:center}.ai-chat-hint{font-size:.86rem;color:#9fb2c8}.ai-chat-form--pro textarea{min-height:130px;background:rgba(7,13,24,.96);border:1px solid rgba(120,188,255,.18);box-shadow:inset 0 0 0 1px rgba(255,255,255,.03)}
.ai-builder-mini-preview{padding:1rem;border-radius:22px;background:linear-gradient(180deg,#0c1627,#09111d);border:1px solid rgba(120,188,255,.15);display:grid;gap:.8rem}.ai-preview-head strong{font-size:1.05rem;color:#fff}.ai-preview-head p{margin:.35rem 0 0;color:#b8c7d8}.ai-preview-modes{display:flex;gap:.5rem;flex-wrap:wrap}.ai-preview-modes span,.ai-preview-chips em{padding:.4rem .7rem;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);font-style:normal;color:#dce7f6;font-size:.82rem}.ai-preview-msg{padding:.85rem;border-radius:18px;background:rgba(57,255,20,.08);border:1px solid rgba(57,255,20,.14);color:#e7f7ea}.ai-preview-chips{display:flex;gap:.5rem;flex-wrap:wrap}
@media (max-width: 980px){.ai-help-shell{grid-template-columns:1fr}.ai-form-topline,.ai-chat-actions{flex-direction:column;align-items:flex-start}.ai-mode-switcher{grid-template-columns:1fr}}


.modal.modal-elevated{z-index:9998}.modal.modal-elevated.active{display:flex}.modal-priority-pay{position:relative;z-index:10000;max-width:min(760px,92vw);box-shadow:0 30px 80px rgba(15,23,42,.55)}
#modalPagoRapidoUsuario{backdrop-filter:blur(8px);background:rgba(2,6,23,.74)}
.student-inline-note{margin-top:1rem;padding:.85rem 1rem;border-radius:14px;background:rgba(59,130,246,.12);border:1px solid rgba(96,165,250,.2);color:#dbeafe;display:flex;gap:.65rem;align-items:flex-start}
.student-onboarding[hidden]{display:none!important}.student-onboarding{position:fixed;inset:0;z-index:12000}.student-onboarding__backdrop{position:absolute;inset:0;background:rgba(2,6,23,.72)}.student-onboarding__spotlight{position:absolute;border-radius:20px;border:2px solid rgba(250,204,21,.9);box-shadow:0 0 0 9999px rgba(2,6,23,.55),0 0 0 10px rgba(250,204,21,.12),0 16px 40px rgba(250,204,21,.2);pointer-events:none}.student-onboarding__card{position:absolute;right:24px;bottom:24px;width:min(420px,calc(100vw - 32px));z-index:2;padding:1.25rem 1.25rem 1.1rem;border:1px solid rgba(255,255,255,.09);background:linear-gradient(180deg,rgba(15,23,42,.96),rgba(15,23,42,.9));box-shadow:0 22px 60px rgba(0,0,0,.35)}.student-onboarding__card h3{margin:.65rem 0 .8rem;color:#fff}.student-onboarding__card ol{margin:0 0 1rem 1.15rem;color:rgba(255,255,255,.84);display:grid;gap:.55rem}.student-onboarding__actions{display:flex;gap:.75rem;flex-wrap:wrap}
.student-modal-card{position:relative;z-index:5}
#auditRealtimeBody tr td{vertical-align:top}

.welcome-video-admin-preview video,.welcome-video-admin-preview iframe{width:100%;max-height:420px;border-radius:18px;background:#020617;display:block;aspect-ratio:16/9;border:0}
.welcome-video-player.welcome-video-embed{min-height:360px;border:0;aspect-ratio:16/9}

.welcome-video-admin-preview video,
.welcome-video-admin-preview iframe{width:100%;max-height:420px;border-radius:18px;background:#020617;display:block;aspect-ratio:16/9;border:0}
.welcome-video-player.welcome-video-embed{min-height:360px;border:0;aspect-ratio:16/9}

/* Modal premium para ampliar imagenes de contenidos visuales */
.content-image-zoomable {
  cursor: zoom-in;
  transition: transform .22s ease, filter .22s ease, box-shadow .22s ease;
}
.content-image-zoomable:hover {
  filter: saturate(1.08) contrast(1.04);
  transform: translateY(-1px) scale(1.01);
}
body.image-zoom-open {
  overflow: hidden;
}
.content-image-zoom-modal {
  position: fixed;
  inset: 0;
  z-index: 13000;
  display: grid;
  place-items: center;
  padding: clamp(1rem, 3vw, 2.5rem);
  pointer-events: none;
  opacity: 0;
  transition: opacity .22s ease;
}
.content-image-zoom-modal.is-open {
  opacity: 1;
  pointer-events: auto;
}
.content-image-zoom-modal__backdrop {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 20% 10%, rgba(55, 125, 255, .20), transparent 32%),
    radial-gradient(circle at 85% 90%, rgba(57, 255, 20, .12), transparent 28%),
    rgba(2, 6, 23, .82);
  backdrop-filter: blur(14px) saturate(1.12);
}
.content-image-zoom-modal__card {
  position: relative;
  width: min(1120px, 94vw);
  max-height: 90vh;
  margin: 0;
  padding: clamp(.75rem, 1.6vw, 1.1rem);
  border-radius: 28px;
  background: linear-gradient(180deg, rgba(15, 23, 42, .92), rgba(6, 12, 24, .96));
  border: 1px solid rgba(255, 255, 255, .12);
  box-shadow: 0 34px 100px rgba(0, 0, 0, .58), inset 0 1px 0 rgba(255, 255, 255, .08);
  transform: translateY(16px) scale(.96);
  transition: transform .26s cubic-bezier(.2,.9,.2,1), opacity .22s ease;
  opacity: 0;
}
.content-image-zoom-modal.is-open .content-image-zoom-modal__card {
  transform: translateY(0) scale(1);
  opacity: 1;
}
.content-image-zoom-modal__media {
  display: grid;
  place-items: center;
  min-height: min(560px, 62vh);
  border-radius: 22px;
  overflow: auto;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .06), rgba(255, 255, 255, .015)),
    rgba(3, 7, 18, .88);
  border: 1px solid rgba(255, 255, 255, .08);
}
.content-image-zoom-modal__media img {
  display: block;
  max-width: 100%;
  max-height: 76vh;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 16px;
  box-shadow: 0 18px 46px rgba(0, 0, 0, .38);
}
.content-image-zoom-modal__close {
  position: absolute;
  top: -14px;
  right: -14px;
  width: 44px;
  height: 44px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, .16);
  color: #fff;
  background: linear-gradient(135deg, rgba(15, 23, 42, .98), rgba(30, 41, 59, .94));
  box-shadow: 0 14px 34px rgba(0, 0, 0, .36);
  cursor: pointer;
}
.content-image-zoom-modal__close:hover {
  transform: translateY(-1px);
  box-shadow: 0 18px 44px rgba(0, 0, 0, .46);
}
.content-image-zoom-modal__caption {
  margin-top: .85rem;
  color: rgba(255, 255, 255, .86);
  font-weight: 700;
  text-align: center;
}
.content-image-zoom-modal__hint {
  margin-top: .65rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  color: rgba(226, 232, 240, .72);
  font-size: .86rem;
}
@media (max-width: 760px) {
  .content-image-zoom-modal {
    padding: .75rem;
  }
  .content-image-zoom-modal__card {
    width: 96vw;
    border-radius: 22px;
    padding: .65rem;
  }
  .content-image-zoom-modal__close {
    top: .55rem;
    right: .55rem;
  }
  .content-image-zoom-modal__media {
    min-height: 48vh;
    border-radius: 18px;
  }
}

/* ===== Ajuste responsive login + WhatsApp flotante (solo móvil) ===== */
.landing-shell,
.landing-access-grid,
.auth-frame,
.auth-card,
.auth-form-grid {
  min-width: 0;
}

.floating-whatsapp {
  left: auto;
  right: max(18px, env(safe-area-inset-right));
  transform: translateZ(0);
  z-index: 80;
}

@media (max-width: 768px) {
  html,
  body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }

  .landing-shell {
    width: 100%;
    max-width: 100vw;
    overflow-x: clip;
  }

  .landing-access-grid,
  .auth-frame,
  .auth-card,
  .auth-form-grid,
  .auth-form-grid label,
  .auth-form-grid input,
  .auth-card .btn,
  .auth-actions-row {
    width: 100%;
    max-width: 100%;
  }

  .auth-frame {
    overflow: hidden;
    border-radius: 24px;
  }

  .auth-glow-line {
    inset: 0;
    filter: blur(8px);
    opacity: .22;
    transform: none;
  }

  .auth-card {
    position: relative;
    overflow: hidden;
  }

  .floating-whatsapp {
    width: 52px;
    height: 52px;
    right: max(12px, env(safe-area-inset-right));
    bottom: max(12px, env(safe-area-inset-bottom));
    max-width: 52px;
    max-height: 52px;
    font-size: 1.55rem;
  }
}

@media (max-width: 380px) {
  .floating-whatsapp {
    width: 48px;
    height: 48px;
    right: max(10px, env(safe-area-inset-right));
    bottom: max(10px, env(safe-area-inset-bottom));
    font-size: 1.45rem;
  }
}

/* ===== Ajuste responsive estudiante: scroll motivador + video bienvenida ===== */
.student-motivation-layout,
.student-motivation-layout > *,
.student-motivation-block,
.premium-scroll-block,
.motivacion-swiper-pro,
.motivacion-swiper-pro .swiper-wrapper,
.motivacion-swiper-pro .swiper-slide,
.motivacion-card-premium,
.welcome-video-sidecard,
.welcome-video-modal-card,
.welcome-video-player-wrap {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

.student-motivation-layout {
  width: 100%;
  overflow-x: clip;
}

.motivacion-swiper-pro {
  width: 100%;
  max-width: 100%;
}

.motivacion-card-premium p {
  overflow-wrap: anywhere;
  word-break: normal;
}

.welcome-video-modal-card {
  width: min(920px, calc(100vw - 24px));
  max-height: calc(100dvh - 24px);
  overflow-y: auto;
}

.welcome-video-player-wrap {
  width: 100%;
}

.welcome-video-player,
.welcome-video-player.welcome-video-embed {
  width: 100%;
  max-width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  min-height: 0;
  max-height: calc(100dvh - 220px);
  object-fit: contain;
}

.welcome-video-player.welcome-video-embed {
  height: min(52vw, 520px);
}

@media (max-width: 1100px) {
  .student-motivation-layout.has-video,
  .student-motivation-layout {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 640px) {
  .student-motivation-layout {
    gap: .85rem;
    margin: .85rem 0 1.15rem;
  }

  .premium-scroll-block,
  .welcome-video-sidecard {
    padding: .9rem;
    border-radius: 20px;
  }

  .motivacion-swiper-pro {
    padding: 0 0 1.75rem;
  }

  .motivacion-card-premium {
    grid-template-columns: 48px 1fr;
    gap: .75rem;
    min-height: auto;
    padding: .85rem;
    border-radius: 18px;
  }

  .motivacion-card-icon {
    width: 48px;
    height: 48px;
    border-radius: 16px;
    font-size: 1.15rem;
  }

  .motivacion-card-premium p {
    font-size: .94rem;
    line-height: 1.45;
  }

  .welcome-video-modal-card {
    width: calc(100vw - 18px);
    max-height: calc(100dvh - 18px);
    padding: .85rem;
    border-radius: 20px;
  }

  .welcome-video-player-wrap {
    padding: .45rem;
    border-radius: 18px;
  }

  .welcome-video-player,
  .welcome-video-player.welcome-video-embed {
    border-radius: 14px;
    height: auto;
    max-height: calc(100dvh - 190px);
  }

  .welcome-video-player.welcome-video-embed {
    height: calc((100vw - 46px) * 0.5625);
  }
}

@media (max-width: 420px) {
  .motivacion-card-premium {
    grid-template-columns: 42px 1fr;
    padding: .75rem;
  }

  .motivacion-card-icon {
    width: 42px;
    height: 42px;
  }

  .welcome-video-sidecard .btn-lg {
    white-space: normal;
    line-height: 1.25;
  }
}


/* Accesos rapidos del detalle del curso */
@media (max-width: 768px) {
}

/* Ajuste responsive puntual: titulo y barra de progreso del curso estudiante */
.module-hero .hero-copy {
  min-width: 0;
  width: 100%;
}
.module-hero .hero-copy h1,
.module-hero .hero-copy p,
.module-hero .hero-stats-row small {
  overflow-wrap: anywhere;
  word-break: break-word;
}
.module-hero .progress-shell {
  max-width: 100%;
}
@media (max-width: 768px) {
  .module-hero {
    width: auto;
    max-width: calc(100% - 2rem);
    margin: 1rem;
    overflow: hidden;
  }
  .module-hero .hero-image {
    width: 100%;
    max-width: 180px;
    height: 140px;
  }
  .module-hero .hero-copy {
    display: grid;
    gap: .55rem;
  }
  .module-hero .hero-copy h1 {
    font-size: clamp(1.45rem, 8vw, 2rem);
    line-height: 1.12;
    margin: 0;
  }
  .module-hero .hero-stats-row {
    width: 100%;
    gap: .45rem;
  }
  .module-hero .hero-stats-row small {
    max-width: 100%;
  }
}

/* Ajuste responsive puntual: modal y modulo de pagos estudiante */
#modalPagosUsuario,
#modalPagoRapidoUsuario {
  overflow-x: hidden;
  overflow-y: auto;
  align-items: flex-start;
  padding: max(1rem, env(safe-area-inset-top)) 1rem max(1rem, env(safe-area-inset-bottom));
}
#modalPagosUsuario .modal-content,
#modalPagoRapidoUsuario .modal-content {
  box-sizing: border-box;
  width: min(860px, calc(100vw - 2rem));
  max-width: calc(100vw - 2rem);
  max-height: calc(100dvh - 2rem);
  overflow: auto;
  margin: auto;
  padding-right: clamp(1rem, 4vw, 1.5rem);
  padding-left: clamp(1rem, 4vw, 1.5rem);
}
#modalPagoRapidoUsuario .modal-priority-pay {
  width: min(760px, calc(100vw - 2rem));
  max-width: calc(100vw - 2rem);
}
#modalPagosUsuario h3,
#modalPagoRapidoUsuario h3,
#modalPagosUsuario .student-payment-stat,
#modalPagoRapidoUsuario .form-grid label,
#modalPagoRapidoUsuario .form-grid input,
#modalPagoRapidoUsuario .form-grid select {
  min-width: 0;
  overflow-wrap: anywhere;
}
#modalPagosUsuario .table-wrap,
.app-layout.student-portal-shell .table-wrap {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.app-layout.student-portal-shell .content-split,
.app-layout.student-portal-shell .glass-card,
.app-layout.student-portal-shell .student-hero-panel,
.app-layout.student-portal-shell .student-kpi-row,
.app-layout.student-portal-shell .student-kpi-card,
.app-layout.student-portal-shell .payment-method-list,
.app-layout.student-portal-shell .payment-method-item,
.app-layout.student-portal-shell .payment-meta-tags,
.app-layout.student-portal-shell .form-grid {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}
.app-layout.student-portal-shell .student-kpi-row,
.app-layout.student-portal-shell .payment-meta-tags,
.app-layout.student-portal-shell .section-title,
#modalPagosUsuario .student-modal-actions {
  flex-wrap: wrap;
}
.app-layout.student-portal-shell h1,
.app-layout.student-portal-shell h3,
.app-layout.student-portal-shell p,
.app-layout.student-portal-shell .mini-tag,
.app-layout.student-portal-shell .btn,
#modalPagosUsuario .btn,
#modalPagoRapidoUsuario .btn {
  overflow-wrap: anywhere;
}
@media (max-width: 768px) {
  #modalPagosUsuario,
  #modalPagoRapidoUsuario {
    justify-content: flex-start;
    padding: .75rem;
  }
  #modalPagosUsuario .modal-content,
  #modalPagoRapidoUsuario .modal-content,
  #modalPagoRapidoUsuario .modal-priority-pay {
    width: calc(100vw - 1.5rem);
    max-width: calc(100vw - 1.5rem);
    max-height: calc(100dvh - 1.5rem);
    border-radius: 20px;
    padding: 1rem;
  }
  #modalPagosUsuario .modal-close,
  #modalPagoRapidoUsuario .modal-close {
    top: .65rem;
    right: .65rem;
  }
  #modalPagosUsuario h3,
  #modalPagoRapidoUsuario h3 {
    padding-right: 2.6rem;
    font-size: 1.05rem;
    line-height: 1.25;
  }
  #modalPagosUsuario .student-payment-summary-grid {
    grid-template-columns: 1fr;
  }
  #modalPagoRapidoUsuario .form-grid,
  .app-layout.student-portal-shell .form-grid {
    grid-template-columns: 1fr;
  }
  #modalPagoRapidoUsuario .form-grid .btn,
  .app-layout.student-portal-shell #studentPaymentForm .btn,
  .app-layout.student-portal-shell .form-grid .btn {
    width: 100%;
  }
  .app-layout.student-portal-shell {
    padding: .85rem;
    overflow-x: hidden;
  }
  .app-layout.student-portal-shell .content-split {
    padding-left: 0;
    padding-right: 0;
  }
  .app-layout.student-portal-shell .glass-card {
    padding: 1rem;
    border-radius: 20px;
  }
  .app-layout.student-portal-shell .section-title {
    flex-direction: column;
    align-items: flex-start;
  }
}
@media (max-width: 420px) {
  #modalPagosUsuario .modal-content,
  #modalPagoRapidoUsuario .modal-content,
  #modalPagoRapidoUsuario .modal-priority-pay {
    width: calc(100vw - 1rem);
    max-width: calc(100vw - 1rem);
    padding: .85rem;
  }
  .app-layout.student-portal-shell {
    padding: .65rem;
  }
  .app-layout.student-portal-shell .glass-card {
    padding: .85rem;
  }
  .app-layout.student-portal-shell .btn,
  #modalPagosUsuario .btn,
  #modalPagoRapidoUsuario .btn {
    width: 100%;
    white-space: normal;
    line-height: 1.2;
  }
}

/* Ajuste responsive solo para controles tactiles y pantalla horizontal de juegos */
.phaser-touch-controls{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  grid-template-rows:auto auto auto;
  align-items:center;
  justify-items:center;
  gap:.5rem;
  pointer-events:none;
}
.phaser-touch-controls > button[data-dir="up"]{grid-column:2;grid-row:1;display:grid;}
.phaser-touch-controls .phaser-touch-row{grid-column:1 / -1;grid-row:2;display:grid;grid-template-columns:auto auto auto;align-items:center;justify-content:center;gap:.65rem;}
.phaser-touch-controls .phaser-touch-row button[data-dir="left"]{grid-column:1;}
.phaser-touch-controls .phaser-touch-row button[data-dir="down"]{grid-column:2;display:grid;}
.phaser-touch-controls .phaser-touch-row button[data-dir="right"]{grid-column:3;}
.phaser-touch-controls [data-dir="up"],
.phaser-touch-controls [data-dir="down"]{display:grid !important;place-items:center;}
.phaser-touch-controls button{touch-action:none;user-select:none;-webkit-user-select:none;}

@media (max-width:768px){
  .phaser-game-canvas-wrap{max-width:100%;overflow:hidden;}
  .phaser-touch-controls,
  .phaser-game-canvas-wrap.is-pista .phaser-touch-controls,
  .phaser-game-canvas-wrap.is-crime .phaser-touch-controls,
  .phaser-game-canvas-wrap.is-convivencia .phaser-touch-controls{
    left:50%;right:auto;bottom:12px;width:auto;transform:translateX(-50%);
  }
  .phaser-touch-controls button{width:52px;height:52px;font-size:1rem;}
  .phaser-touch-controls .phaser-touch-row{gap:.55rem;}
}

@media (max-width:920px) and (orientation:landscape){
  .phaser-game-shell:fullscreen,
  .phaser-game-canvas-wrap:fullscreen{width:100vw;height:100vh;max-width:100vw;max-height:100vh;border-radius:0;margin:0;padding:8px;}
  .phaser-game-canvas-wrap:fullscreen .phaser-game-canvas{height:100%;min-height:0;}
  .phaser-game-canvas-wrap:fullscreen .phaser-touch-controls{bottom:10px;}
  .phaser-game-canvas-wrap:fullscreen .phaser-stage-action{width:48px;height:48px;font-size:1rem;}
  .phaser-game-canvas-wrap:fullscreen .phaser-game-stage-actions{top:10px;right:10px;gap:8px;}
}

/* Ajuste responsive solo para juegos en pantalla vertical de celulares */
@media (max-width: 768px) and (orientation: portrait){
  .phaser-game-stage-shell,
  .phaser-game-canvas-wrap{
    width:100%;
    max-width:100%;
    overflow:hidden;
  }
  .phaser-game-canvas-wrap{
    min-height:0;
    padding:8px 8px 88px;
    border-radius:20px;
  }
  .phaser-game-canvas{
    height:auto;
    min-height:0;
    display:grid;
    place-items:center;
  }
  .phaser-game-canvas canvas,
  .phaser-game-canvas .laberinto-canvas-board,
  .phaser-game-canvas .pista-canvas-board,
  .phaser-game-canvas .crime-scene-canvas,
  .phaser-game-canvas .convivencia-canvas{
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    max-height:calc(100dvh - 245px);
    object-fit:contain;
    display:block;
    margin:0 auto;
  }
  .phaser-touch-controls,
  .phaser-game-canvas-wrap.is-pista .phaser-touch-controls,
  .phaser-game-canvas-wrap.is-crime .phaser-touch-controls,
  .phaser-game-canvas-wrap.is-convivencia .phaser-touch-controls{
    left:50%;
    right:auto;
    bottom:10px;
    width:auto;
    transform:translateX(-50%) scale(.9);
    transform-origin:bottom center;
  }
  .phaser-game-stage-actions{
    top:10px;
    right:10px;
    gap:7px;
  }
  .phaser-stage-action{
    width:42px;
    height:42px;
    font-size:.95rem;
  }
  .phaser-game-intro-card,
  .phaser-game-quiz-card,
  .phaser-game-result-card{
    max-height:calc(100dvh - 24px);
    overflow:auto;
  }
}

@media (max-width: 768px) and (orientation: portrait){
  .phaser-game-canvas-wrap:fullscreen{
    width:100vw;
    height:100dvh;
    max-width:100vw;
    max-height:100dvh;
    margin:0;
    padding:8px 8px 92px;
    border-radius:0;
  }
  .phaser-game-canvas-wrap:fullscreen .phaser-game-canvas{
    height:calc(100dvh - 108px);
    display:flex;
    align-items:center;
    justify-content:center;
  }
  .phaser-game-canvas-wrap:fullscreen .phaser-game-canvas canvas,
  .phaser-game-canvas-wrap:fullscreen .phaser-game-canvas .laberinto-canvas-board,
  .phaser-game-canvas-wrap:fullscreen .phaser-game-canvas .pista-canvas-board,
  .phaser-game-canvas-wrap:fullscreen .phaser-game-canvas .crime-scene-canvas,
  .phaser-game-canvas-wrap:fullscreen .phaser-game-canvas .convivencia-canvas{
    width:100% !important;
    height:100% !important;
    max-height:100%;
    object-fit:contain;
  }
  .phaser-game-canvas-wrap:fullscreen .phaser-touch-controls{
    bottom:12px;
  }
}

/* Ajuste responsive exclusivo para laberinto en celular vertical/horizontal y pantalla completa */
@media (max-width: 920px){
  .phaser-game-canvas-wrap.is-laberinto{
    width:100%;
    max-width:100%;
    min-height:0;
    overflow:hidden;
    padding:8px 8px 90px;
  }
  .phaser-game-canvas-wrap.is-laberinto .phaser-game-canvas{
    height:auto;
    min-height:0;
    display:flex;
    align-items:center;
    justify-content:center;
  }
  .phaser-game-canvas-wrap.is-laberinto .laberinto-canvas-board{
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    max-height:calc(100dvh - 245px);
    object-fit:contain;
    margin:0 auto;
  }
  .phaser-game-canvas-wrap.is-laberinto .phaser-touch-controls{
    left:50%;
    right:auto;
    bottom:10px;
    width:auto;
    transform:translateX(-50%) scale(.9);
    transform-origin:bottom center;
  }
  .phaser-game-canvas-wrap.is-laberinto:fullscreen{
    width:100vw;
    height:100dvh;
    max-width:100vw;
    max-height:100dvh;
    margin:0;
    padding:8px 8px 92px;
    border-radius:0;
  }
  .phaser-game-canvas-wrap.is-laberinto:fullscreen .phaser-game-canvas{
    width:100%;
    height:calc(100dvh - 108px);
    min-height:0;
  }
  .phaser-game-canvas-wrap.is-laberinto:fullscreen .laberinto-canvas-board{
    width:100% !important;
    height:100% !important;
    max-width:100% !important;
    max-height:100% !important;
    object-fit:contain;
  }
}

@media (max-width: 920px) and (orientation: landscape){
  .phaser-game-canvas-wrap.is-laberinto,
  .phaser-game-canvas-wrap.is-laberinto:fullscreen{
    padding:8px 148px 8px 8px;
  }
  .phaser-game-canvas-wrap.is-laberinto .laberinto-canvas-board{
    max-height:calc(100dvh - 36px);
  }
  .phaser-game-canvas-wrap.is-laberinto:fullscreen .phaser-game-canvas{
    height:calc(100dvh - 16px);
  }
  .phaser-game-canvas-wrap.is-laberinto .phaser-touch-controls,
  .phaser-game-canvas-wrap.is-laberinto:fullscreen .phaser-touch-controls{
    left:auto;
    right:12px;
    bottom:50%;
    transform:translateY(50%) scale(.82);
  }
}

/* Ajustes puntuales juegos solicitados: tactica, crimen y convivencia responsive */
@media (max-width: 1180px){
  .phaser-game-canvas-wrap.is-decision,
  .phaser-game-canvas-wrap.is-crime,
  .phaser-game-canvas-wrap.is-convivencia{min-height:0;padding:10px 10px 92px;overflow:hidden;}
  .phaser-game-canvas-wrap.is-decision .phaser-game-canvas,
  .phaser-game-canvas-wrap.is-crime .phaser-game-canvas,
  .phaser-game-canvas-wrap.is-convivencia .phaser-game-canvas{height:auto;min-height:0;display:flex;align-items:center;justify-content:center;}
  .phaser-game-canvas-wrap.is-decision canvas,
  .phaser-game-canvas-wrap.is-crime canvas,
  .phaser-game-canvas-wrap.is-convivencia canvas{width:100% !important;max-width:100% !important;height:auto !important;max-height:calc(100dvh - 230px);object-fit:contain;display:block;margin:0 auto;}
  .tactica-case-panel,.crime-case-panel,.convivencia-case-panel{position:static;width:auto;max-width:100%;margin:10px 0 0;max-height:34dvh;overflow:auto;}
  .tactica-command-band,.tactica-guidance-tooltip,.crime-guidance-tooltip{left:12px;right:12px;max-width:none;}
  .tactica-command-band{top:12px;}
  .tactica-guidance-tooltip,.crime-guidance-tooltip{bottom:86px;}
}

@media (max-width: 920px){
  .phaser-game-canvas-wrap.is-decision .phaser-touch-controls,
  .phaser-game-canvas-wrap.is-crime .phaser-touch-controls,
  .phaser-game-canvas-wrap.is-convivencia .phaser-touch-controls{left:50%;right:auto;bottom:10px;width:auto;transform:translateX(-50%) scale(.88);transform-origin:bottom center;}
  .tactica-case-panel,.crime-case-panel,.convivencia-case-panel{font-size:.92rem;}
  .tactica-scene-cast{grid-template-columns:1fr;}
  .crime-case-grid{grid-template-columns:1fr;}
  .phaser-game-quiz-card{width:min(760px,calc(100vw - 20px));max-height:calc(100dvh - 20px);overflow:auto;padding:1rem;}
  .phaser-game-quiz-head{flex-wrap:wrap;gap:.55rem;}
  .phaser-game-quiz-card h4{font-size:1.18rem;line-height:1.22;}
  .phaser-game-quiz-options{max-height:46dvh;overflow:auto;padding-right:.25rem;}
  .tactica-decision-option,.phaser-game-quiz-options button{padding:.78rem .85rem;border-radius:14px;}
  .tactica-decision-option .decision-option-icon{width:34px;height:34px;min-width:34px;}
  .tactica-decision-option .decision-option-copy strong{font-size:.92rem;}
  .tactica-decision-option .decision-option-copy small{font-size:.8rem;}
}

@media (min-width: 921px){
  .phaser-game-canvas-wrap.is-convivencia .phaser-game-quiz-options,
  .phaser-game-canvas-wrap.is-decision .phaser-game-quiz-options,
  .phaser-game-canvas-wrap.is-crime .phaser-game-quiz-options{grid-template-columns:repeat(2,minmax(0,1fr));}
}

@media (max-width: 920px) and (orientation: landscape){
  .phaser-game-canvas-wrap.is-decision,
  .phaser-game-canvas-wrap.is-crime,
  .phaser-game-canvas-wrap.is-convivencia,
  .phaser-game-canvas-wrap.is-decision:fullscreen,
  .phaser-game-canvas-wrap.is-crime:fullscreen,
  .phaser-game-canvas-wrap.is-convivencia:fullscreen{width:100vw;height:100dvh;max-width:100vw;max-height:100dvh;border-radius:0;margin:0;padding:8px 132px 8px 8px;}
  .phaser-game-canvas-wrap.is-decision .phaser-game-canvas,
  .phaser-game-canvas-wrap.is-crime .phaser-game-canvas,
  .phaser-game-canvas-wrap.is-convivencia .phaser-game-canvas{width:100%;height:calc(100dvh - 16px);}
  .phaser-game-canvas-wrap.is-decision canvas,
  .phaser-game-canvas-wrap.is-crime canvas,
  .phaser-game-canvas-wrap.is-convivencia canvas{width:100% !important;height:100% !important;max-height:100% !important;object-fit:contain;}
  .phaser-game-canvas-wrap.is-decision .phaser-touch-controls,
  .phaser-game-canvas-wrap.is-crime .phaser-touch-controls,
  .phaser-game-canvas-wrap.is-convivencia .phaser-touch-controls{left:auto;right:10px;bottom:50%;transform:translateY(50%) scale(.78);}
  .tactica-case-panel,.crime-case-panel,.convivencia-case-panel{position:absolute;right:132px;top:10px;width:min(280px,34vw);max-height:calc(100dvh - 20px);margin:0;font-size:.78rem;padding:10px;opacity:.96;}
  .tactica-command-band,.tactica-guidance-tooltip,.crime-guidance-tooltip{display:none !important;}
  .convivencia-action-btn,.crime-investigate-btn{left:12px;top:auto;bottom:12px;max-width:min(320px,calc(100vw - 160px));font-size:.82rem;padding:.7rem .85rem;}
}

@media (max-width: 920px) and (orientation: portrait){
  .phaser-game-canvas-wrap.is-decision,
  .phaser-game-canvas-wrap.is-crime,
  .phaser-game-canvas-wrap.is-convivencia{padding:8px 8px 92px;}
  .phaser-game-canvas-wrap.is-decision canvas,
  .phaser-game-canvas-wrap.is-crime canvas,
  .phaser-game-canvas-wrap.is-convivencia canvas{max-height:calc(100dvh - 255px);}
  .convivencia-action-btn,.crime-investigate-btn{left:10px;right:10px;top:10px;width:auto;max-width:none;justify-content:center;font-size:.86rem;padding:.72rem .85rem;}
}

/* Ajuste puntual: modal de registro responsive en celular */
#modalRegistro.active{
  align-items:flex-start;
  justify-content:center;
  overflow-y:auto;
  overflow-x:hidden;
  padding:clamp(.6rem,2.8vw,1rem);
  padding-top:max(.75rem,env(safe-area-inset-top));
  padding-bottom:max(.75rem,env(safe-area-inset-bottom));
}
#modalRegistro .register-modal-premium{
  width:min(860px,100%);
  max-width:calc(100vw - 1.2rem);
  max-height:calc(100dvh - 1.5rem);
  overflow-y:auto;
  overflow-x:hidden;
  margin:auto 0;
  padding:clamp(1rem,3vw,1.5rem);
  box-sizing:border-box;
  -webkit-overflow-scrolling:touch;
}
#modalRegistro .register-modal-premium .form-grid,
#modalRegistro .register-modal-premium .form-grid.two-columns{
  width:100%;
  min-width:0;
}
#modalRegistro .register-modal-premium label,
#modalRegistro .register-modal-premium input,
#modalRegistro .register-modal-premium button{
  max-width:100%;
  min-width:0;
}
#modalRegistro .checkbox-line-treatment{
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr);
  align-items:flex-start;
  gap:.85rem;
  padding:clamp(.85rem,2.8vw,1rem);
  border-radius:18px;
  overflow:hidden;
}
#modalRegistro .checkbox-line-treatment input{
  width:22px;
  min-width:22px;
  height:22px;
  margin-top:.15rem;
}
#modalRegistro .checkbox-line-treatment span{
  display:block;
  min-width:0;
  max-width:100%;
  overflow-wrap:anywhere;
  word-break:normal;
  line-height:1.45;
}
#modalRegistro .checkbox-line-treatment .treatment-link{
  display:block;
  margin-top:.65rem;
}
@media (max-width:640px){
  #modalRegistro .register-modal-premium{
    width:calc(100vw - 1rem);
    max-width:calc(100vw - 1rem);
    border-radius:20px;
    padding:1rem;
  }
  #modalRegistro .register-modal-premium h3{padding-right:2.4rem;font-size:1.15rem;line-height:1.25;}
  #modalRegistro .register-modal-premium .muted-text{font-size:.92rem;}
  #modalRegistro .register-modal-premium .form-grid.two-columns{grid-template-columns:1fr;gap:.85rem;}
  #modalRegistro .register-modal-premium input{min-height:48px;padding:.78rem .9rem;border-radius:14px;}
  #modalRegistro .register-modal-premium .btn{width:100%;white-space:normal;line-height:1.2;}
  #modalRegistro .checkbox-line-treatment{grid-template-columns:26px minmax(0,1fr);font-size:.92rem;}
}

/* Ajuste puntual: libro resumen/metodologia responsive */
.advanced-flipbook-card,
.advanced-flipbook-card *{min-width:0;}
.advanced-flipbook-card .flipbook-pro,
.book-preview-pro,
.student-book{
  width:100%;
  max-width:100%;
}
.advanced-flipbook-card .flipbook-thumbs-wrap,
.advanced-flipbook-card .flipbook-thumbs,
.advanced-flipbook-card .flipbook-stage,
.book-flip-stage{
  max-width:100%;
  overflow-x:hidden;
}
.book-sheet-page,
.book-cover-page{
  max-width:100%;
}
.book-sheet-front,
.book-sheet-front *{
  max-width:100%;
  overflow-wrap:anywhere;
}
.book-sheet-grid{min-width:0;}
.book-inline-controls{flex-wrap:wrap;justify-content:center;}
@media (max-width:900px){
  .advanced-flipbook-card{padding:1rem;border-radius:22px;}
  .advanced-flipbook-card .section-title{flex-direction:column;align-items:flex-start;gap:.55rem;}
  .advanced-flipbook-card .flipbook-pro,
  .book-preview-pro,
  .student-book,
  .book-sheet-grid{grid-template-columns:1fr !important;}
  .advanced-flipbook-card .flipbook-thumbs{display:grid;grid-template-columns:1fr;max-height:38dvh;overflow-y:auto;padding-right:0;}
  .advanced-flipbook-card .thumb-page,
  .advanced-flipbook-card .book-page-btn{width:100%;}
  .book-flip-stage{min-height:0;padding:.75rem;border-radius:22px;overflow:visible;}
  .book-cover-page,
  .book-sheet-page{position:relative;inset:auto;min-height:0;padding:0;box-shadow:none;background:transparent;}
  .book-cover-page.active,
  .book-sheet-page.active{display:block;}
  .book-cover-page.is-before,
  .book-sheet-page.is-before,
  .book-cover-page.is-after,
  .book-sheet-page.is-after{display:none;}
  .book-cover-inner{min-height:320px;padding:1.25rem;}
  .book-sheet-front{min-height:0;border-left-width:8px;border-radius:18px;padding:1rem;overflow:visible;}
  .book-sheet-head{flex-direction:column;align-items:flex-start;gap:.45rem;}
  .book-sheet-page h3{font-size:1.12rem;line-height:1.25;}
  .book-sheet-page h4{font-size:1rem;line-height:1.3;}
  .book-page-stage .page-media,
  .flipbook-stage .page-media{height:auto;min-height:180px;max-height:42dvh;}
  .book-page-stage .page-media img,
  .flipbook-stage .page-media img{height:auto;max-height:42dvh;object-fit:contain;background:#e5e7eb;}
  .book-quiz-box{padding:.85rem;border-radius:16px;}
  .book-answer-btn{white-space:normal;line-height:1.25;}
  .book-inline-controls .btn{flex:1 1 140px;white-space:normal;}
}
@media (max-width:480px){
  .advanced-flipbook-card{padding:.85rem;}
  .advanced-flipbook-card .flipbook-thumbs{max-height:34dvh;}
  .book-flip-stage{padding:.55rem;border-radius:18px;}
  .book-sheet-front{padding:.85rem;border-left-width:6px;}
  .book-cover-inner{min-height:260px;padding:1rem;}
  .book-cover-icon{width:68px;height:68px;border-radius:18px;font-size:1.55rem;}
  .book-quiz-options{gap:.55rem;}
  .book-answer-btn{padding:.75rem .8rem;font-size:.92rem;}
}

/* Correccion puntual: responsive movil solo para juego de decision tactica */
.phaser-game-canvas-wrap.is-decision{
  width:100%;
  max-width:100%;
  overflow:hidden;
  touch-action:manipulation;
}
.phaser-game-canvas-wrap.is-decision .phaser-game-canvas{
  width:100%;
  max-width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.phaser-game-canvas-wrap.is-decision .phaser-game-canvas canvas{
  display:block;
  max-width:100%;
  height:auto;
  object-fit:contain;
}
@media (max-width: 920px){
  .phaser-game-shell:has(.phaser-game-canvas-wrap.is-decision){
    padding:.75rem;
    border-radius:22px;
    overflow:hidden;
  }
  .phaser-game-shell:has(.phaser-game-canvas-wrap.is-decision) .phaser-game-layout{
    grid-template-columns:1fr !important;
    gap:.75rem;
  }
  .phaser-game-shell:has(.phaser-game-canvas-wrap.is-decision) .phaser-game-sidecard.is-decision{
    order:2;
    padding:.85rem;
    border-radius:18px;
  }
  .phaser-game-shell:has(.phaser-game-canvas-wrap.is-decision) .phaser-game-sidecard.is-decision .phaser-game-help,
  .phaser-game-shell:has(.phaser-game-canvas-wrap.is-decision) .phaser-game-sidecard.is-decision .sim-meta-tags{
    display:none;
  }
  .phaser-game-shell:has(.phaser-game-canvas-wrap.is-decision) .phaser-game-sidecard.is-decision h4{
    margin:.2rem 0;
    font-size:1rem;
  }
  .phaser-game-shell:has(.phaser-game-canvas-wrap.is-decision) .phaser-game-sidecard.is-decision p{
    margin:0;
    font-size:.9rem;
    line-height:1.35;
  }
  .phaser-game-shell:has(.phaser-game-canvas-wrap.is-decision) .phaser-game-stage-shell{
    order:1;
    width:100%;
    max-width:100%;
    min-width:0;
  }
  .phaser-game-shell:has(.phaser-game-canvas-wrap.is-decision) .phaser-game-topbar{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:.45rem;
    width:100%;
  }
  .phaser-game-shell:has(.phaser-game-canvas-wrap.is-decision) .phaser-status-pill{
    min-width:0;
    padding:.5rem .45rem;
    border-radius:14px;
  }
  .phaser-game-shell:has(.phaser-game-canvas-wrap.is-decision) .phaser-pill-icon{
    width:28px;
    height:28px;
    min-width:28px;
    font-size:.85rem;
  }
  .phaser-game-shell:has(.phaser-game-canvas-wrap.is-decision) .phaser-pill-copy small{
    font-size:.58rem;
    letter-spacing:.02em;
  }
  .phaser-game-shell:has(.phaser-game-canvas-wrap.is-decision) .phaser-pill-copy strong{
    font-size:.95rem;
  }
  .phaser-game-canvas-wrap.is-decision{
    min-height:0 !important;
    padding:8px !important;
    border-radius:20px;
  }
  .phaser-game-canvas-wrap.is-decision .phaser-game-canvas{
    height:auto !important;
    min-height:0 !important;
  }
  .phaser-game-canvas-wrap.is-decision .phaser-game-canvas canvas{
    width:100% !important;
    height:auto !important;
    max-height:calc(100dvh - 210px);
  }
  .phaser-game-canvas-wrap.is-decision .tactica-case-panel{
    position:static;
    width:100%;
    margin:8px 0 0;
    padding:10px;
    border-radius:16px;
    max-height:30dvh;
    overflow:auto;
  }
  .phaser-game-canvas-wrap.is-decision .tactica-case-panel h4{font-size:1rem;margin:.3rem 0;}
  .phaser-game-canvas-wrap.is-decision .tactica-case-panel p{font-size:.86rem;line-height:1.32;}
  .phaser-game-canvas-wrap.is-decision .crime-case-grid{gap:6px;}
  .phaser-game-canvas-wrap.is-decision .crime-case-row{padding:8px;border-radius:12px;}
  .phaser-game-canvas-wrap.is-decision .tactica-scene-cast{grid-template-columns:1fr;gap:6px;}
  .phaser-game-canvas-wrap.is-decision .tactica-guidance-tooltip,
  .phaser-game-canvas-wrap.is-decision .tactica-command-band{
    position:static;
    width:100%;
    max-width:100%;
    margin:8px 0 0;
    padding:10px 12px;
    border-radius:14px;
  }
  .phaser-game-canvas-wrap.is-decision .phaser-game-stage-actions{
    top:10px;
    right:10px;
    gap:6px;
  }
  .phaser-game-canvas-wrap.is-decision .phaser-stage-action{
    width:40px;
    height:40px;
    font-size:.9rem;
  }
  .phaser-game-quiz-card:has(.tactica-decision-option){
    width:min(100%,calc(100vw - 18px));
    max-height:calc(100dvh - 18px);
    overflow:auto;
    padding:1rem;
    border-radius:20px;
  }
  .phaser-game-quiz-card:has(.tactica-decision-option) h4{font-size:1.15rem;line-height:1.25;}
  .phaser-game-quiz-card:has(.tactica-decision-option) p{font-size:.92rem;line-height:1.35;}
  .tactica-decision-option{
    gap:10px;
    padding:11px 12px;
    border-radius:14px;
  }
  .tactica-decision-option .decision-option-icon{
    width:36px;
    height:36px;
    min-width:36px;
  }
  .tactica-decision-option .decision-option-copy small{
    font-size:.82rem;
    line-height:1.28;
  }
  .tactica-cinematic-card{
    width:min(100%,calc(100vw - 18px));
    max-height:calc(100dvh - 18px);
    overflow:auto;
    padding:1rem;
    border-radius:20px;
  }
}
@media (max-width: 920px) and (orientation: landscape){
  body:has(.phaser-game-canvas-wrap.is-decision:fullscreen){overflow:hidden;}
  .phaser-game-canvas-wrap.is-decision:fullscreen{
    width:100vw !important;
    height:100dvh !important;
    max-width:100vw !important;
    max-height:100dvh !important;
    margin:0 !important;
    padding:6px !important;
    border-radius:0 !important;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(220px,28vw);
    grid-template-rows:minmax(0,1fr);
    gap:6px;
    align-items:stretch;
  }
  .phaser-game-canvas-wrap.is-decision:fullscreen .phaser-game-canvas{
    height:100% !important;
    min-height:0 !important;
    align-self:stretch;
  }
  .phaser-game-canvas-wrap.is-decision:fullscreen .phaser-game-canvas canvas{
    width:100% !important;
    height:100% !important;
    max-height:100% !important;
  }
  .phaser-game-canvas-wrap.is-decision:fullscreen .tactica-case-panel{
    position:static;
    width:auto;
    height:100%;
    max-height:100%;
    margin:0;
    overflow:auto;
    align-self:stretch;
  }
  .phaser-game-canvas-wrap.is-decision:fullscreen .tactica-guidance-tooltip,
  .phaser-game-canvas-wrap.is-decision:fullscreen .tactica-command-band{
    position:absolute;
    left:10px;
    right:calc(28vw + 18px);
    bottom:10px;
    width:auto;
    max-width:none;
    margin:0;
  }
}
@media (max-width: 768px) and (orientation: portrait){
  .phaser-game-canvas-wrap.is-decision .phaser-game-canvas canvas{
    max-height:42dvh;
  }
  .phaser-game-canvas-wrap.is-decision .tactica-case-panel{
    max-height:36dvh;
  }
}

/* Replanteamiento puntual: juego Decision tactica como texto + imagen + decisiones */
.phaser-game-canvas-wrap.is-decision .phaser-game-canvas{display:block;width:100%;min-height:0;overflow:visible;}
.phaser-game-canvas-wrap.is-decision .decision-tactica-game{width:100%;min-height:520px;border-radius:28px;background:linear-gradient(145deg,rgba(8,18,38,.96),rgba(2,6,23,.98));border:1px solid rgba(96,165,250,.28);box-shadow:0 22px 70px rgba(0,0,0,.38);padding:18px;color:#f8fafc;}
.decision-tactica-header{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:14px;}
.decision-tactica-main{display:grid;grid-template-columns:minmax(280px,.95fr) minmax(320px,1.05fr);gap:18px;align-items:stretch;}
.decision-tactica-image{margin:0;min-width:0;border-radius:24px;overflow:hidden;background:rgba(15,23,42,.72);border:1px solid rgba(148,163,184,.18);display:flex;flex-direction:column;}
.decision-tactica-image img{width:100%;height:100%;min-height:360px;object-fit:cover;display:block;}
.decision-tactica-image.is-empty{min-height:320px;background:radial-gradient(circle at 50% 35%,rgba(59,130,246,.28),rgba(15,23,42,.92));}
.decision-tactica-image figcaption{padding:10px 14px;color:#cbd5e1;font-weight:700;font-size:.92rem;background:rgba(2,6,23,.58);}
.decision-tactica-content{min-width:0;border-radius:24px;background:rgba(15,23,42,.72);border:1px solid rgba(148,163,184,.18);padding:18px;display:flex;flex-direction:column;gap:12px;}
.decision-tactica-count{color:#93c5fd;font-size:.85rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;}
.decision-tactica-content h3{margin:0;font-size:clamp(1.35rem,2.5vw,2rem);line-height:1.12;color:#fff;}
.decision-tactica-text,.decision-tactica-objective{margin:0;color:#e2e8f0;line-height:1.48;font-size:1rem;}
.decision-tactica-objective{padding:10px 12px;border-radius:16px;background:rgba(37,99,235,.16);border:1px solid rgba(96,165,250,.24);color:#bfdbfe;}
.decision-tactica-content h4{margin:4px 0 0;color:#fef3c7;font-size:1.08rem;}
.decision-tactica-options{display:grid;gap:10px;}
.decision-tactica-choice{width:100%;border:1px solid rgba(148,163,184,.22);background:rgba(30,41,59,.82);color:#fff;border-radius:18px;padding:12px;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;text-align:left;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease;}
.decision-tactica-choice:hover{transform:translateY(-1px);border-color:rgba(96,165,250,.6);background:rgba(30,64,175,.38);}
.decision-tactica-choice:disabled{cursor:default;opacity:.92;}
.decision-key{width:42px;height:42px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;background:rgba(59,130,246,.25);color:#bfdbfe;font-weight:900;}
.decision-copy{display:flex;flex-direction:column;gap:4px;min-width:0;}.decision-copy strong{line-height:1.3;}.decision-copy small{color:#cbd5e1;font-size:.82rem;}
.decision-tactica-choice.is-correct{border-color:rgba(74,222,128,.7);background:rgba(21,128,61,.28);}.decision-tactica-choice.is-wrong{border-color:rgba(248,113,113,.65);background:rgba(127,29,29,.26);}
.decision-tactica-feedback{border-radius:16px;padding:12px 14px;line-height:1.42;border:1px solid rgba(148,163,184,.2);background:rgba(15,23,42,.8);}.decision-tactica-feedback.is-correct{border-color:rgba(74,222,128,.5);color:#dcfce7;}.decision-tactica-feedback.is-wrong{border-color:rgba(248,113,113,.5);color:#fee2e2;}
.decision-tactica-actions{display:flex;justify-content:flex-end;margin-top:auto;}
@media (max-width:920px){
  .phaser-game-canvas-wrap.is-decision{padding:8px!important;overflow:auto!important;}
  .phaser-game-canvas-wrap.is-decision .decision-tactica-game{min-height:0;padding:12px;border-radius:20px;}
  .decision-tactica-main{grid-template-columns:1fr;gap:12px;}
  .decision-tactica-image img{min-height:180px;max-height:34dvh;}
  .decision-tactica-content{padding:13px;border-radius:18px;gap:10px;}
  .decision-tactica-content h3{font-size:1.25rem;}.decision-tactica-text,.decision-tactica-objective{font-size:.93rem;line-height:1.38;}
  .decision-tactica-choice{padding:10px;border-radius:15px;gap:9px;}.decision-key{width:34px;height:34px;border-radius:12px;}.decision-copy strong{font-size:.92rem;}.decision-copy small{display:none;}
}
@media (max-width:920px) and (orientation:landscape){
  .phaser-game-canvas-wrap.is-decision,.phaser-game-canvas-wrap.is-decision:fullscreen{width:100vw;height:100dvh;max-width:100vw;max-height:100dvh;border-radius:0;margin:0;padding:8px!important;overflow:auto!important;}
  .phaser-game-canvas-wrap.is-decision .decision-tactica-game{min-height:calc(100dvh - 16px);}
  .decision-tactica-main{grid-template-columns:minmax(220px,.9fr) minmax(300px,1.1fr);align-items:stretch;}
  .decision-tactica-image img{height:calc(100dvh - 92px);max-height:none;min-height:220px;}
  .decision-tactica-content{max-height:calc(100dvh - 92px);overflow:auto;}
}

/* Ajuste puntual: Escena del crimen como busqueda de pistas ocultas y bolso probatorio */
.phaser-game-canvas-wrap.is-crime .crime-scene-canvas{width:100% !important;height:auto !important;max-width:100%;display:block;touch-action:none;}
.phaser-game-canvas-wrap.is-crime .crime-case-panel{box-sizing:border-box;max-width:min(340px,calc(100% - 24px));}
.crime-case-block.crime-bag-state{background:linear-gradient(135deg,rgba(250,204,21,.12),rgba(34,197,94,.08));border-color:rgba(250,204,21,.28);}
.crime-case-block.crime-bag-state strong{font-size:1.45rem;color:#fef3c7;display:block;line-height:1.1;margin:.15rem 0;}
.crime-case-chip.is-hidden{opacity:.66;border-style:dashed;color:rgba(226,232,240,.78);}
.crime-case-chip.is-found{background:rgba(34,197,94,.14);border-color:rgba(34,197,94,.38);color:#dcfce7;}
.phaser-game-canvas-wrap.is-crime .crime-investigate-btn{z-index:8;max-width:min(320px,calc(100% - 22px));white-space:normal;line-height:1.15;}
.phaser-game-canvas-wrap.is-crime .crime-evidence-tooltip{z-index:7;max-width:min(260px,calc(100% - 22px));}
.phaser-game-canvas-wrap.is-crime .phaser-game-quiz-card{width:min(720px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;}
.phaser-game-canvas-wrap.is-crime .phaser-game-quiz-options{display:grid;grid-template-columns:1fr;gap:.65rem;}
@media (max-width: 920px){
  .phaser-game-canvas-wrap.is-crime{padding:8px 8px 96px;overflow:hidden;}
  .phaser-game-canvas-wrap.is-crime .phaser-game-canvas{min-height:0;display:flex;align-items:center;justify-content:center;}
  .phaser-game-canvas-wrap.is-crime .crime-scene-canvas{max-height:calc(100dvh - 250px);object-fit:contain;}
  .phaser-game-canvas-wrap.is-crime .crime-case-panel{position:static;width:100%;max-width:100%;margin:.6rem 0 0;font-size:.86rem;max-height:26dvh;overflow:auto;}
  .phaser-game-canvas-wrap.is-crime .crime-case-block{padding:.55rem .65rem;}
  .phaser-game-canvas-wrap.is-crime .crime-investigate-btn{left:10px !important;right:10px !important;top:10px !important;width:auto;max-width:none;justify-content:center;font-size:.86rem;padding:.72rem .85rem;}
  .phaser-game-canvas-wrap.is-crime .crime-evidence-tooltip{display:none;}
}
@media (max-width: 920px) and (orientation: landscape){
  .phaser-game-canvas-wrap.is-crime,
  .phaser-game-canvas-wrap.is-crime:fullscreen{width:100vw;height:100dvh;max-width:100vw;max-height:100dvh;border-radius:0;margin:0;padding:8px 126px 8px 8px;}
  .phaser-game-canvas-wrap.is-crime .phaser-game-canvas{width:100%;height:calc(100dvh - 16px);}
  .phaser-game-canvas-wrap.is-crime .crime-scene-canvas{width:100% !important;height:100% !important;max-height:100% !important;object-fit:contain;}
  .phaser-game-canvas-wrap.is-crime .crime-case-panel{position:absolute;right:126px;top:8px;width:min(280px,32vw);max-height:calc(100dvh - 16px);font-size:.76rem;margin:0;opacity:.96;}
  .phaser-game-canvas-wrap.is-crime .crime-investigate-btn{left:10px !important;right:auto !important;top:auto !important;bottom:10px !important;max-width:min(330px,calc(100vw - 150px));font-size:.78rem;padding:.62rem .75rem;}
}


/* Ajuste exclusivo: Escena del crimen responsive, sin avatar ni controles */
.phaser-game-canvas-wrap.is-crime{box-sizing:border-box;overflow:hidden;display:grid;grid-template-rows:auto 1fr;gap:8px;min-height:min(78dvh,720px);}
.phaser-game-canvas-wrap.is-crime .phaser-touch-controls{display:none !important;}
.phaser-game-canvas-wrap.is-crime .phaser-game-canvas{position:relative;width:100%;height:min(70dvh,640px);min-height:360px;display:block;overflow:hidden;border-radius:20px;}
.phaser-game-canvas-wrap.is-crime .crime-scene-canvas{width:100% !important;height:100% !important;display:block;object-fit:contain;touch-action:manipulation;cursor:crosshair;background:#020617;}
.phaser-game-canvas-wrap.is-crime .crime-case-panel{z-index:7;box-sizing:border-box;max-width:340px;width:min(340px,34vw);max-height:calc(100% - 18px);overflow:auto;}
.phaser-game-canvas-wrap.is-crime .crime-investigate-btn{z-index:9;white-space:normal;line-height:1.15;}
.phaser-game-canvas-wrap.is-crime .crime-evidence-tooltip{z-index:8;pointer-events:none;}
.phaser-game-canvas-wrap.is-crime .phaser-game-quiz-card{width:min(760px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;}
.phaser-game-canvas-wrap.is-crime .phaser-game-quiz-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.65rem;}
.crime-case-chip i{margin-right:.35rem;}
@media (max-width: 760px){
  .phaser-game-shell:has(.phaser-game-canvas-wrap.is-crime) .phaser-game-layout{grid-template-columns:1fr;gap:10px;}
  .phaser-game-shell:has(.phaser-game-canvas-wrap.is-crime) .phaser-game-sidecard{display:none;}
  .phaser-game-canvas-wrap.is-crime{width:100%;min-height:calc(100dvh - 110px);height:calc(100dvh - 110px);padding:8px;}
  .phaser-game-canvas-wrap.is-crime .phaser-game-stage-actions{top:8px;right:8px;transform:scale(.86);transform-origin:top right;}
  .phaser-game-canvas-wrap.is-crime .phaser-game-canvas{height:100%;min-height:0;border-radius:16px;}
  .phaser-game-canvas-wrap.is-crime .crime-case-panel{position:absolute;left:8px;right:8px;bottom:8px;top:auto;width:auto;max-width:none;max-height:34dvh;margin:0;font-size:.82rem;padding:9px;opacity:.96;}
  .phaser-game-canvas-wrap.is-crime .crime-case-head,.phaser-game-canvas-wrap.is-crime .crime-case-block{margin-bottom:6px;}
  .phaser-game-canvas-wrap.is-crime .crime-investigate-btn{left:8px !important;right:8px !important;bottom:calc(34dvh + 16px) !important;top:auto !important;width:auto;max-width:none;justify-content:center;font-size:.84rem;padding:.65rem .8rem;}
  .phaser-game-canvas-wrap.is-crime .crime-evidence-tooltip{display:none !important;}
  .phaser-game-canvas-wrap.is-crime .phaser-game-quiz-card{border-radius:18px;padding:1rem;}
}
@media (max-width: 760px) and (orientation: landscape){
  .phaser-game-canvas-wrap.is-crime{width:100vw;height:100dvh;min-height:100dvh;margin:0;border-radius:0;padding:6px 118px 6px 6px;}
  .phaser-game-canvas-wrap.is-crime .phaser-game-canvas{height:calc(100dvh - 12px);border-radius:14px;}
  .phaser-game-canvas-wrap.is-crime .crime-case-panel{left:auto;right:118px;top:6px;bottom:auto;width:min(280px,32vw);max-height:calc(100dvh - 12px);font-size:.74rem;}
  .phaser-game-canvas-wrap.is-crime .crime-investigate-btn{left:8px !important;right:auto !important;bottom:8px !important;max-width:min(320px,calc(100vw - 140px));font-size:.76rem;padding:.58rem .7rem;}
}

/* Correccion puntual: Convivencia ciudadana responsive PC/celular sin tocar otros juegos */
.phaser-game-stage-shell:has(.phaser-game-canvas-wrap.is-convivencia){
  min-width:0;
  max-width:100%;
}
.phaser-game-stage-shell:has(.phaser-game-canvas-wrap.is-convivencia) .phaser-game-topbar{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(.5rem,1.2vw,.9rem);
}
.phaser-game-canvas-wrap.is-convivencia{
  width:100%;
  max-width:100%;
  overflow:hidden;
}
.phaser-game-canvas-wrap.is-convivencia .phaser-game-canvas{
  position:relative;
  width:100%;
  min-height:0;
  height:auto;
  aspect-ratio:960/620;
  max-height:min(620px,calc(100dvh - 190px));
  overflow:hidden;
}
.phaser-game-canvas-wrap.is-convivencia .convivencia-canvas{
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain;
}
.phaser-game-canvas-wrap.is-convivencia .convivencia-case-panel{
  top:82px;
  right:18px;
  width:clamp(218px,24vw,286px);
  max-height:calc(100% - 104px);
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-width:thin;
  gap:8px;
  padding:12px;
}
.phaser-game-canvas-wrap.is-convivencia .convivencia-panel-block{
  padding:8px 10px;
  gap:4px;
}
.phaser-game-canvas-wrap.is-convivencia .convivencia-chip{
  white-space:normal;
  line-height:1.25;
  padding:6px 9px;
  font-size:.78rem;
}
.phaser-game-canvas-wrap.is-convivencia .convivencia-panel-head{
  align-items:flex-start;
  gap:.5rem;
}

@media (max-width:920px){
  .phaser-game-stage-shell:has(.phaser-game-canvas-wrap.is-convivencia) .phaser-game-topbar{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .phaser-game-stage-shell:has(.phaser-game-canvas-wrap.is-convivencia) .phaser-status-pill{
    min-width:0;
    padding:.7rem;
  }
  .phaser-game-stage-shell:has(.phaser-game-canvas-wrap.is-convivencia) .phaser-pill-copy strong{
    font-size:1.05rem;
  }
  .phaser-game-canvas-wrap.is-convivencia{
    padding:8px !important;
    border-radius:20px;
  }
  .phaser-game-canvas-wrap.is-convivencia .phaser-game-canvas{
    display:flex !important;
    flex-direction:column;
    align-items:stretch;
    gap:10px;
    aspect-ratio:auto;
    height:auto !important;
    max-height:none !important;
    overflow:visible;
  }
  .phaser-game-canvas-wrap.is-convivencia .convivencia-canvas{
    flex:0 0 auto;
    width:100% !important;
    height:auto !important;
    aspect-ratio:960/620;
    max-height:52dvh !important;
    border-radius:16px;
    object-fit:contain;
  }
  .phaser-game-canvas-wrap.is-convivencia .convivencia-case-panel{
    position:relative !important;
    inset:auto !important;
    width:100% !important;
    max-width:100% !important;
    max-height:none !important;
    margin:0 !important;
    padding:10px !important;
    border-radius:16px;
    opacity:1;
    font-size:.86rem;
    display:grid;
    grid-template-columns:1fr;
    overflow:visible;
  }
  .phaser-game-canvas-wrap.is-convivencia .convivencia-panel-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .phaser-game-canvas-wrap.is-convivencia .convivencia-action-btn{
    left:12px !important;
    right:12px !important;
    top:12px !important;
    bottom:auto !important;
    width:auto !important;
    max-width:none !important;
    justify-content:center;
    font-size:.84rem;
    padding:.65rem .8rem;
  }
  .phaser-game-canvas-wrap.is-convivencia .convivencia-tooltip,
  .phaser-game-canvas-wrap.is-convivencia .convivencia-narrator{
    display:none !important;
  }
  .phaser-game-canvas-wrap.is-convivencia .phaser-game-stage-actions{
    top:8px;
    right:8px;
    gap:6px;
  }
  .phaser-game-canvas-wrap.is-convivencia .phaser-stage-action{
    width:38px;
    height:38px;
    font-size:.85rem;
  }
}

@media (max-width:920px) and (orientation:landscape){
  .phaser-game-canvas-wrap.is-convivencia,
  .phaser-game-canvas-wrap.is-convivencia:fullscreen{
    width:100vw;
    height:100dvh;
    max-width:100vw;
    max-height:100dvh;
    margin:0;
    padding:8px !important;
    border-radius:0;
  }
  .phaser-game-canvas-wrap.is-convivencia .phaser-game-canvas,
  .phaser-game-canvas-wrap.is-convivencia:fullscreen .phaser-game-canvas{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(210px,30vw);
    grid-template-rows:1fr;
    gap:8px;
    width:100%;
    height:calc(100dvh - 16px) !important;
    overflow:hidden;
  }
  .phaser-game-canvas-wrap.is-convivencia .convivencia-canvas,
  .phaser-game-canvas-wrap.is-convivencia:fullscreen .convivencia-canvas{
    width:100% !important;
    height:100% !important;
    max-height:100% !important;
    aspect-ratio:auto;
  }
  .phaser-game-canvas-wrap.is-convivencia .convivencia-case-panel,
  .phaser-game-canvas-wrap.is-convivencia:fullscreen .convivencia-case-panel{
    position:relative !important;
    inset:auto !important;
    width:100% !important;
    height:100%;
    max-height:100% !important;
    overflow-y:auto;
    align-self:stretch;
    font-size:.76rem;
    padding:8px !important;
    gap:6px;
  }
  .phaser-game-canvas-wrap.is-convivencia .convivencia-panel-block{
    padding:6px 8px;
  }
  .phaser-game-canvas-wrap.is-convivencia .convivencia-action-btn{
    left:12px !important;
    right:auto !important;
    top:auto !important;
    bottom:12px !important;
    max-width:calc(70vw - 24px) !important;
  }
}

@media (max-width:480px) and (orientation:portrait){
  .phaser-game-stage-shell:has(.phaser-game-canvas-wrap.is-convivencia) .phaser-game-topbar{
    grid-template-columns:1fr 1fr;
    gap:.45rem;
  }
  .phaser-game-canvas-wrap.is-convivencia .convivencia-canvas{
    max-height:42dvh !important;
  }
  .phaser-game-canvas-wrap.is-convivencia .convivencia-case-panel{
    font-size:.82rem;
  }
  .phaser-game-canvas-wrap.is-convivencia .convivencia-panel-head{
    flex-direction:column;
  }
  .phaser-game-canvas-wrap.is-convivencia .convivencia-panel-grid{
    grid-template-columns:1fr 1fr;
  }
}

/* Ajuste final solicitado: solo convivencia modals, controles laberinto/pista y efecto pasa hojas del libro resumen */
@media (max-width: 920px){
  /* Modales de convivencia centradas en celulares */
  .phaser-game-quiz.is-convivencia,
  .phaser-game-result.is-convivencia,
  .phaser-game-intro.is-convivencia{
    position:fixed !important;
    inset:0 !important;
    width:100dvw !important;
    height:100dvh !important;
    max-width:100dvw !important;
    margin:0 !important;
    padding:12px !important;
    display:grid !important;
    place-items:center !important;
    justify-content:center !important;
    align-content:center !important;
    transform:none !important;
    overflow:hidden !important;
  }
  .phaser-game-quiz.is-convivencia[hidden],
  .phaser-game-result.is-convivencia[hidden],
  .phaser-game-intro.is-convivencia[hidden]{display:none !important;}
  .phaser-game-quiz.is-convivencia .phaser-game-quiz-card,
  .phaser-game-result.is-convivencia .phaser-game-result-card,
  .phaser-game-intro.is-convivencia .phaser-game-intro-card{
    width:min(100%, calc(100dvw - 24px)) !important;
    max-width:calc(100dvw - 24px) !important;
    max-height:calc(100dvh - 24px) !important;
    margin:0 auto !important;
    overflow:auto !important;
    transform:none !important;
    box-sizing:border-box !important;
  }
  .phaser-game-quiz.is-convivencia .phaser-game-quiz-options{max-height:44dvh;overflow:auto;}

  /* Laberinto y pista atlética: controles completos solo para celular */
  .phaser-game-canvas-wrap.is-laberinto .phaser-touch-controls,
  .phaser-game-canvas-wrap.is-pista .phaser-touch-controls{
    display:grid !important;
    grid-template-columns:1fr auto 1fr !important;
    grid-template-rows:auto auto auto !important;
    pointer-events:none !important;
    z-index:20 !important;
  }
  .phaser-game-canvas-wrap.is-laberinto .phaser-touch-controls button,
  .phaser-game-canvas-wrap.is-pista .phaser-touch-controls button{
    display:grid !important;
    place-items:center !important;
    pointer-events:auto !important;
    touch-action:none !important;
  }
  .phaser-game-canvas-wrap.is-laberinto .phaser-touch-controls > button[data-dir="up"],
  .phaser-game-canvas-wrap.is-pista .phaser-touch-controls > button[data-dir="up"]{grid-column:2 !important;grid-row:1 !important;}
  .phaser-game-canvas-wrap.is-laberinto .phaser-touch-controls .phaser-touch-row,
  .phaser-game-canvas-wrap.is-pista .phaser-touch-controls .phaser-touch-row{grid-column:1 / -1 !important;grid-row:2 !important;display:grid !important;grid-template-columns:auto auto auto !important;gap:.55rem !important;}
  .phaser-game-canvas-wrap.is-laberinto .phaser-touch-controls button[data-dir="down"],
  .phaser-game-canvas-wrap.is-pista .phaser-touch-controls button[data-dir="down"]{display:grid !important;}
}

@media (max-width: 920px) and (orientation: landscape){
  .phaser-game-canvas-wrap.is-laberinto,
  .phaser-game-canvas-wrap.is-pista,
  .phaser-game-canvas-wrap.is-laberinto:fullscreen,
  .phaser-game-canvas-wrap.is-pista:fullscreen{
    width:100vw !important;
    height:100dvh !important;
    max-width:100vw !important;
    max-height:100dvh !important;
    margin:0 !important;
    border-radius:0 !important;
    padding:8px 148px 8px 8px !important;
  }
  .phaser-game-canvas-wrap.is-laberinto .phaser-game-canvas,
  .phaser-game-canvas-wrap.is-pista .phaser-game-canvas,
  .phaser-game-canvas-wrap.is-laberinto:fullscreen .phaser-game-canvas,
  .phaser-game-canvas-wrap.is-pista:fullscreen .phaser-game-canvas{
    width:100% !important;
    height:calc(100dvh - 16px) !important;
    min-height:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
  }
  .phaser-game-canvas-wrap.is-laberinto .laberinto-canvas-board,
  .phaser-game-canvas-wrap.is-pista .pista-canvas-board,
  .phaser-game-canvas-wrap.is-laberinto:fullscreen .laberinto-canvas-board,
  .phaser-game-canvas-wrap.is-pista:fullscreen .pista-canvas-board{
    width:100% !important;
    height:100% !important;
    max-width:100% !important;
    max-height:100% !important;
    object-fit:contain !important;
  }
  .phaser-game-canvas-wrap.is-laberinto .phaser-touch-controls,
  .phaser-game-canvas-wrap.is-pista .phaser-touch-controls,
  .phaser-game-canvas-wrap.is-laberinto:fullscreen .phaser-touch-controls,
  .phaser-game-canvas-wrap.is-pista:fullscreen .phaser-touch-controls{
    left:auto !important;
    right:12px !important;
    bottom:50% !important;
    transform:translateY(50%) scale(.82) !important;
  }
}

/* Restaurar efecto pasa-hojas del libro resumen sin romper responsive */
@media (max-width: 900px){
  .student-book .book-flip-stage,
  .book-preview-pro .book-flip-stage{
    position:relative !important;
    min-height:min(760px, 76dvh) !important;
    overflow:hidden !important;
    perspective:1400px !important;
  }
  .student-book .book-cover-page,
  .student-book .book-sheet-page,
  .book-preview-pro .book-cover-page,
  .book-preview-pro .book-sheet-page{
    position:absolute !important;
    inset:.65rem .65rem 4.25rem .65rem !important;
    min-height:0 !important;
    padding:.85rem !important;
    border-radius:18px !important;
    box-shadow:0 18px 42px rgba(0,0,0,.24) !important;
    transform-origin:left center !important;
    transition:transform .45s ease, opacity .35s ease, filter .35s ease !important;
  }
  .student-book .book-cover-page.active,
  .student-book .book-sheet-page.active,
  .book-preview-pro .book-cover-page.active,
  .book-preview-pro .book-sheet-page.active{display:block !important;opacity:1 !important;transform:perspective(1400px) rotateY(0) translateX(0) !important;z-index:3 !important;}
  .student-book .book-cover-page.is-before,
  .student-book .book-sheet-page.is-before,
  .book-preview-pro .book-cover-page.is-before,
  .book-preview-pro .book-sheet-page.is-before{display:block !important;opacity:.16 !important;transform:perspective(1400px) rotateY(-70deg) translateX(-34%) !important;filter:blur(1px) !important;pointer-events:none !important;z-index:1 !important;}
  .student-book .book-cover-page.is-after,
  .student-book .book-sheet-page.is-after,
  .book-preview-pro .book-cover-page.is-after,
  .book-preview-pro .book-sheet-page.is-after{display:block !important;opacity:0 !important;transform:perspective(1400px) rotateY(18deg) translateX(12%) !important;pointer-events:none !important;z-index:0 !important;}
  .student-book .book-sheet-front,
  .book-preview-pro .book-sheet-front{height:100% !important;overflow:auto !important;}
}

/* === FIX FINAL SOLICITADO: solo convivencia, laberinto/pista y libro resumen === */
/* 1) Modales de convivencia centradas y fluidas en celulares */
@media (max-width: 768px){
  .phaser-game-quiz.is-convivencia,
  .phaser-game-result.is-convivencia,
  .phaser-game-intro.is-convivencia{
    position:fixed !important;
    inset:0 !important;
    width:100vw !important;
    height:100dvh !important;
    display:grid !important;
    place-items:center !important;
    justify-content:center !important;
    align-content:center !important;
    padding:12px !important;
    margin:0 !important;
    overflow:auto !important;
    transform:none !important;
    box-sizing:border-box !important;
  }
  .phaser-game-quiz.is-convivencia[hidden],
  .phaser-game-result.is-convivencia[hidden],
  .phaser-game-intro.is-convivencia[hidden]{display:none !important;}
  .phaser-game-quiz.is-convivencia .phaser-game-quiz-card,
  .phaser-game-result.is-convivencia .phaser-game-result-card,
  .phaser-game-intro.is-convivencia .phaser-game-intro-card{
    width:min(100%, calc(100vw - 24px)) !important;
    max-width:calc(100vw - 24px) !important;
    max-height:calc(100dvh - 24px) !important;
    margin:auto !important;
    left:auto !important;
    right:auto !important;
    transform:none !important;
    overflow:auto !important;
    box-sizing:border-box !important;
    padding:1rem !important;
    border-radius:20px !important;
  }
  .phaser-game-quiz.is-convivencia .phaser-game-quiz-options{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:.65rem !important;
    max-height:42dvh !important;
    overflow:auto !important;
  }
}

/* 2) Controles de direccion solo bien armados para laberinto y pista atletica en celular */
@media (max-width: 920px){
  .phaser-game-canvas-wrap.is-laberinto .phaser-touch-controls,
  .phaser-game-canvas-wrap.is-pista .phaser-touch-controls{
    position:absolute !important;
    z-index:30 !important;
    display:grid !important;
    grid-template-columns:auto !important;
    grid-template-rows:auto auto !important;
    gap:8px !important;
    width:auto !important;
    pointer-events:none !important;
  }
  .phaser-game-canvas-wrap.is-laberinto .phaser-touch-controls > button[data-dir="up"],
  .phaser-game-canvas-wrap.is-pista .phaser-touch-controls > button[data-dir="up"]{
    display:grid !important;
    place-items:center !important;
    justify-self:center !important;
  }
  .phaser-game-canvas-wrap.is-laberinto .phaser-touch-row,
  .phaser-game-canvas-wrap.is-pista .phaser-touch-row{
    display:grid !important;
    grid-template-columns:auto auto auto !important;
    gap:8px !important;
    align-items:center !important;
    justify-content:center !important;
  }
  .phaser-game-canvas-wrap.is-laberinto .phaser-touch-controls [data-dir],
  .phaser-game-canvas-wrap.is-pista .phaser-touch-controls [data-dir]{
    display:grid !important;
    place-items:center !important;
    pointer-events:auto !important;
    touch-action:none !important;
    width:54px !important;
    height:54px !important;
    min-width:54px !important;
    min-height:54px !important;
    border-radius:999px !important;
  }
}
@media (max-width: 920px) and (orientation:portrait){
  .phaser-game-canvas-wrap.is-laberinto,
  .phaser-game-canvas-wrap.is-pista{
    padding:8px 8px 94px !important;
    overflow:hidden !important;
  }
  .phaser-game-canvas-wrap.is-laberinto .phaser-touch-controls,
  .phaser-game-canvas-wrap.is-pista .phaser-touch-controls{
    left:50% !important;
    right:auto !important;
    bottom:10px !important;
    transform:translateX(-50%) scale(.92) !important;
    transform-origin:bottom center !important;
  }
  .phaser-game-canvas-wrap.is-laberinto .laberinto-canvas-board,
  .phaser-game-canvas-wrap.is-pista .pista-canvas-board{
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    max-height:calc(100dvh - 250px) !important;
    object-fit:contain !important;
  }
}
@media (max-width: 920px) and (orientation:landscape){
  .phaser-game-canvas-wrap.is-laberinto,
  .phaser-game-canvas-wrap.is-pista,
  .phaser-game-canvas-wrap.is-laberinto:fullscreen,
  .phaser-game-canvas-wrap.is-pista:fullscreen{
    width:100vw !important;
    height:100dvh !important;
    max-width:100vw !important;
    max-height:100dvh !important;
    margin:0 !important;
    border-radius:0 !important;
    padding:8px 132px 8px 8px !important;
    overflow:hidden !important;
  }
  .phaser-game-canvas-wrap.is-laberinto .phaser-game-canvas,
  .phaser-game-canvas-wrap.is-pista .phaser-game-canvas,
  .phaser-game-canvas-wrap.is-laberinto:fullscreen .phaser-game-canvas,
  .phaser-game-canvas-wrap.is-pista:fullscreen .phaser-game-canvas{
    width:100% !important;
    height:calc(100dvh - 16px) !important;
    min-height:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
  }
  .phaser-game-canvas-wrap.is-laberinto .laberinto-canvas-board,
  .phaser-game-canvas-wrap.is-pista .pista-canvas-board,
  .phaser-game-canvas-wrap.is-laberinto:fullscreen .laberinto-canvas-board,
  .phaser-game-canvas-wrap.is-pista:fullscreen .pista-canvas-board{
    width:100% !important;
    height:100% !important;
    max-width:100% !important;
    max-height:100% !important;
    object-fit:contain !important;
  }
  .phaser-game-canvas-wrap.is-laberinto .phaser-touch-controls,
  .phaser-game-canvas-wrap.is-pista .phaser-touch-controls,
  .phaser-game-canvas-wrap.is-laberinto:fullscreen .phaser-touch-controls,
  .phaser-game-canvas-wrap.is-pista:fullscreen .phaser-touch-controls{
    left:auto !important;
    right:10px !important;
    bottom:50% !important;
    transform:translateY(50%) scale(.84) !important;
  }
}

/* 3) Libro resumen responsive y con efecto pasa-hojas */
.advanced-flipbook-card .book-flip-stage{
  perspective:1600px !important;
  overflow:hidden !important;
}
.advanced-flipbook-card .flip-page.book-cover-page,
.advanced-flipbook-card .flip-page.book-sheet-page{
  transform-origin:left center !important;
  backface-visibility:hidden !important;
  will-change:transform, opacity !important;
}
.advanced-flipbook-card .flip-page.book-cover-page.active,
.advanced-flipbook-card .flip-page.book-sheet-page.active{
  display:block !important;
  animation:bookPageTurnFinal .46s cubic-bezier(.2,.75,.2,1) both !important;
}
.advanced-flipbook-card .flip-page.book-cover-page.is-before,
.advanced-flipbook-card .flip-page.book-sheet-page.is-before,
.advanced-flipbook-card .flip-page.book-cover-page.is-after,
.advanced-flipbook-card .flip-page.book-sheet-page.is-after{
  display:none !important;
}
@keyframes bookPageTurnFinal{
  0%{opacity:.15;transform:perspective(1400px) rotateY(-72deg) translateX(18px);filter:brightness(.92)}
  55%{opacity:1;transform:perspective(1400px) rotateY(8deg) translateX(0);filter:brightness(1.03)}
  100%{opacity:1;transform:perspective(1400px) rotateY(0) translateX(0);filter:brightness(1)}
}
@media (max-width: 768px){
  .advanced-flipbook-card{
    width:100% !important;
    max-width:100% !important;
    padding:.85rem !important;
    overflow:hidden !important;
  }
  .advanced-flipbook-card .flipbook-pro{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:.75rem !important;
    width:100% !important;
    min-width:0 !important;
  }
  .advanced-flipbook-card .flipbook-thumbs-wrap{
    width:100% !important;
    min-width:0 !important;
  }
  .advanced-flipbook-card .flipbook-thumbs{
    display:flex !important;
    gap:.55rem !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    max-height:none !important;
    padding:.15rem .05rem .55rem !important;
    -webkit-overflow-scrolling:touch !important;
  }
  .advanced-flipbook-card .thumb-page{
    flex:0 0 min(68vw, 260px) !important;
    min-width:0 !important;
  }
  .advanced-flipbook-card .book-flip-stage{
    width:100% !important;
    max-width:100% !important;
    min-height:0 !important;
    padding:.65rem !important;
    border-radius:20px !important;
    overflow:hidden !important;
  }
  .advanced-flipbook-card .book-cover-page,
  .advanced-flipbook-card .book-sheet-page{
    width:100% !important;
    max-width:100% !important;
    min-height:0 !important;
    max-height:none !important;
    padding:.7rem !important;
    border-radius:18px !important;
    box-sizing:border-box !important;
    overflow:auto !important;
  }
  .advanced-flipbook-card .book-cover-inner{
    min-height:360px !important;
    padding:1rem !important;
  }
  .advanced-flipbook-card .book-sheet-front{
    min-height:0 !important;
    padding:.95rem !important;
    border-left-width:8px !important;
    overflow:visible !important;
  }
  .advanced-flipbook-card .book-sheet-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:.85rem !important;
  }
  .advanced-flipbook-card .page-media{
    width:100% !important;
    height:auto !important;
    min-height:160px !important;
    max-height:36dvh !important;
  }
  .advanced-flipbook-card .page-media img{
    width:100% !important;
    height:auto !important;
    max-height:36dvh !important;
    object-fit:contain !important;
  }
  .advanced-flipbook-card .book-quiz-box{
    padding:.8rem !important;
  }
  .advanced-flipbook-card .flip-controls{
    position:sticky !important;
    bottom:0 !important;
    z-index:5 !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:.5rem !important;
    padding:.65rem 0 0 !important;
    background:linear-gradient(180deg,rgba(15,23,42,0),rgba(15,23,42,.96) 30%) !important;
  }
  .advanced-flipbook-card .flip-controls .btn{
    width:100% !important;
    justify-content:center !important;
  }
  .advanced-flipbook-card .flip-progress{
    order:-1 !important;
    text-align:center !important;
  }
}

/* === CORRECCION REAL SOLO CONVIVENCIA: modales centradas en celular === */
@media (max-width: 768px){
  html, body{max-width:100%;overflow-x:hidden;}
  body > .phaser-game-quiz.is-convivencia,
  body > .phaser-game-result.is-convivencia,
  body > .phaser-game-intro.is-convivencia,
  .phaser-game-quiz.is-convivencia,
  .phaser-game-result.is-convivencia,
  .phaser-game-intro.is-convivencia{
    position:fixed !important;inset:0 !important;left:0 !important;right:0 !important;top:0 !important;bottom:0 !important;
    width:100vw !important;max-width:100vw !important;height:100dvh !important;max-height:100dvh !important;
    margin:0 !important;padding:12px !important;box-sizing:border-box !important;
    display:flex !important;align-items:center !important;justify-content:center !important;
    overflow-y:auto !important;overflow-x:hidden !important;transform:none !important;translate:none !important;
    z-index:2147483000 !important;
  }
  body > .phaser-game-quiz.is-convivencia[hidden],
  body > .phaser-game-result.is-convivencia[hidden],
  body > .phaser-game-intro.is-convivencia[hidden],
  .phaser-game-quiz.is-convivencia[hidden],
  .phaser-game-result.is-convivencia[hidden],
  .phaser-game-intro.is-convivencia[hidden]{display:none !important;}
  body > .phaser-game-quiz.is-convivencia .phaser-game-quiz-card,
  body > .phaser-game-result.is-convivencia .phaser-game-result-card,
  body > .phaser-game-intro.is-convivencia .phaser-game-intro-card,
  .phaser-game-quiz.is-convivencia .phaser-game-quiz-card,
  .phaser-game-result.is-convivencia .phaser-game-result-card,
  .phaser-game-intro.is-convivencia .phaser-game-intro-card{
    position:relative !important;left:auto !important;right:auto !important;top:auto !important;bottom:auto !important;
    width:min(420px, calc(100vw - 24px)) !important;min-width:0 !important;max-width:calc(100vw - 24px) !important;
    max-height:calc(100dvh - 24px) !important;margin:auto !important;padding:1rem !important;
    box-sizing:border-box !important;overflow:auto !important;transform:none !important;translate:none !important;border-radius:20px !important;
  }
  body > .phaser-game-quiz.is-convivencia .phaser-game-quiz-card *,
  body > .phaser-game-result.is-convivencia .phaser-game-result-card *,
  body > .phaser-game-intro.is-convivencia .phaser-game-intro-card *{max-width:100%;box-sizing:border-box;overflow-wrap:anywhere;}
  body > .phaser-game-quiz.is-convivencia .phaser-game-quiz-head,
  .phaser-game-quiz.is-convivencia .phaser-game-quiz-head{display:flex !important;flex-wrap:wrap !important;gap:.55rem !important;}
  body > .phaser-game-quiz.is-convivencia .phaser-game-quiz-card h4,
  .phaser-game-quiz.is-convivencia .phaser-game-quiz-card h4{font-size:1.18rem !important;line-height:1.22 !important;}
  body > .phaser-game-quiz.is-convivencia .phaser-game-quiz-card p,
  .phaser-game-quiz.is-convivencia .phaser-game-quiz-card p{font-size:.96rem !important;line-height:1.35 !important;}
  body > .phaser-game-quiz.is-convivencia .phaser-game-quiz-options,
  .phaser-game-quiz.is-convivencia .phaser-game-quiz-options{
    display:grid !important;grid-template-columns:1fr !important;gap:.65rem !important;max-height:42dvh !important;
    overflow-y:auto !important;overflow-x:hidden !important;padding-right:0 !important;
  }
  body > .phaser-game-quiz.is-convivencia .phaser-game-quiz-options button,
  .phaser-game-quiz.is-convivencia .phaser-game-quiz-options button{
    width:100% !important;min-width:0 !important;justify-content:center !important;text-align:center !important;white-space:normal !important;
  }
}
@media (max-width: 920px) and (orientation: landscape){
  body > .phaser-game-quiz.is-convivencia .phaser-game-quiz-card,
  body > .phaser-game-result.is-convivencia .phaser-game-result-card,
  body > .phaser-game-intro.is-convivencia .phaser-game-intro-card{
    width:min(560px, calc(100vw - 28px)) !important;max-height:calc(100dvh - 18px) !important;padding:.85rem !important;
  }
  body > .phaser-game-quiz.is-convivencia .phaser-game-quiz-options{max-height:36dvh !important;}
}

/* === FIX REAL SOLO LABERINTO: modal movil, pantalla completa y avatar === */
@media (max-width: 920px){
  body > .phaser-game-quiz.is-laberinto,
  body > .phaser-game-result.is-laberinto,
  .phaser-game-quiz.is-laberinto,
  .phaser-game-result.is-laberinto{
    position:fixed !important;
    inset:0 !important;
    width:100vw !important;
    max-width:100vw !important;
    height:100dvh !important;
    max-height:100dvh !important;
    margin:0 !important;
    padding:10px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
    transform:none !important;
    left:0 !important;
    right:0 !important;
    top:0 !important;
    bottom:0 !important;
    box-sizing:border-box !important;
    z-index:99999 !important;
  }
  body > .phaser-game-quiz.is-laberinto[hidden],
  body > .phaser-game-result.is-laberinto[hidden],
  .phaser-game-quiz.is-laberinto[hidden],
  .phaser-game-result.is-laberinto[hidden]{display:none !important;}
  body > .phaser-game-quiz.is-laberinto .phaser-game-quiz-card,
  body > .phaser-game-result.is-laberinto .phaser-game-result-card,
  .phaser-game-quiz.is-laberinto .phaser-game-quiz-card,
  .phaser-game-result.is-laberinto .phaser-game-result-card{
    width:calc(100vw - 20px) !important;
    max-width:420px !important;
    max-height:calc(100dvh - 20px) !important;
    margin:0 auto !important;
    padding:1rem !important;
    border-radius:20px !important;
    overflow:auto !important;
    box-sizing:border-box !important;
    transform:none !important;
    left:auto !important;
    right:auto !important;
  }
  body > .phaser-game-quiz.is-laberinto .phaser-game-quiz-card *,
  .phaser-game-quiz.is-laberinto .phaser-game-quiz-card *{max-width:100% !important;box-sizing:border-box !important;overflow-wrap:anywhere !important;}
  .phaser-game-quiz.is-laberinto .phaser-game-quiz-head{display:flex !important;flex-wrap:wrap !important;gap:.5rem !important;align-items:center !important;}
  .phaser-game-quiz.is-laberinto .phaser-game-quiz-card h4{font-size:1.25rem !important;line-height:1.18 !important;margin:.35rem 0 !important;}
  .phaser-game-quiz.is-laberinto .phaser-game-quiz-card p{font-size:.98rem !important;line-height:1.32 !important;}
  .phaser-game-quiz.is-laberinto .phaser-game-quiz-options{display:grid !important;grid-template-columns:1fr !important;gap:.55rem !important;max-height:38dvh !important;overflow:auto !important;padding-right:0 !important;}
  .phaser-game-quiz.is-laberinto .phaser-game-quiz-options button{width:100% !important;min-height:48px !important;padding:.72rem .85rem !important;border-radius:14px !important;}
  .phaser-game-quiz.is-laberinto .phaser-game-quiz-feedback{font-size:.95rem !important;line-height:1.25 !important;padding:.75rem !important;margin-top:.7rem !important;}

  .phaser-game-canvas-wrap.is-laberinto{width:100% !important;max-width:100% !important;overflow:hidden !important;}
  .phaser-game-canvas-wrap.is-laberinto:fullscreen{
    width:100vw !important;height:100dvh !important;max-width:100vw !important;max-height:100dvh !important;margin:0 !important;padding:8px 8px 92px !important;border-radius:0 !important;background:#020617 !important;display:flex !important;align-items:center !important;justify-content:center !important;overflow:hidden !important;
  }
  .phaser-game-canvas-wrap.is-laberinto:fullscreen .phaser-game-canvas{width:100% !important;height:100% !important;min-height:0 !important;display:flex !important;align-items:center !important;justify-content:center !important;}
  .phaser-game-canvas-wrap.is-laberinto .laberinto-canvas-board,
  .phaser-game-canvas-wrap.is-laberinto:fullscreen .laberinto-canvas-board{width:100% !important;max-width:100% !important;height:auto !important;max-height:100% !important;object-fit:contain !important;}
  .phaser-game-canvas-wrap.is-laberinto .phaser-touch-controls{display:grid !important;pointer-events:none !important;z-index:50 !important;}
  .phaser-game-canvas-wrap.is-laberinto .phaser-touch-controls [data-dir]{pointer-events:auto !important;}
}
@media (max-width: 920px) and (orientation:landscape){
  .phaser-game-canvas-wrap.is-laberinto,
  .phaser-game-canvas-wrap.is-laberinto:fullscreen{width:100vw !important;height:100dvh !important;padding:8px 126px 8px 8px !important;border-radius:0 !important;}
  .phaser-game-canvas-wrap.is-laberinto .phaser-game-canvas,
  .phaser-game-canvas-wrap.is-laberinto:fullscreen .phaser-game-canvas{height:calc(100dvh - 16px) !important;}
  .phaser-game-canvas-wrap.is-laberinto .phaser-touch-controls,
  .phaser-game-canvas-wrap.is-laberinto:fullscreen .phaser-touch-controls{right:10px !important;left:auto !important;bottom:50% !important;transform:translateY(50%) scale(.86) !important;}
  body > .phaser-game-quiz.is-laberinto .phaser-game-quiz-card,
  .phaser-game-quiz.is-laberinto .phaser-game-quiz-card{max-width:min(520px, calc(100vw - 24px)) !important;}
}

/* === AJUSTE FINAL SOLO LABERINTO: modales dentro de pantalla completa horizontal movil === */
@media (max-width: 920px){
  .phaser-game-canvas-wrap.is-laberinto:fullscreen > .phaser-game-quiz.is-laberinto,
  .phaser-game-canvas-wrap.is-laberinto:fullscreen > .phaser-game-result.is-laberinto,
  .phaser-game-canvas-wrap.is-laberinto > .phaser-game-quiz.is-laberinto,
  .phaser-game-canvas-wrap.is-laberinto > .phaser-game-result.is-laberinto{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    min-width:0 !important;
    min-height:0 !important;
    padding:10px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
    z-index:999999 !important;
    box-sizing:border-box !important;
  }
  .phaser-game-canvas-wrap.is-laberinto:fullscreen > .phaser-game-quiz.is-laberinto[hidden],
  .phaser-game-canvas-wrap.is-laberinto:fullscreen > .phaser-game-result.is-laberinto[hidden],
  .phaser-game-canvas-wrap.is-laberinto > .phaser-game-quiz.is-laberinto[hidden],
  .phaser-game-canvas-wrap.is-laberinto > .phaser-game-result.is-laberinto[hidden]{display:none !important;}
  .phaser-game-canvas-wrap.is-laberinto:fullscreen > .phaser-game-quiz.is-laberinto .phaser-game-quiz-card,
  .phaser-game-canvas-wrap.is-laberinto:fullscreen > .phaser-game-result.is-laberinto .phaser-game-result-card,
  .phaser-game-canvas-wrap.is-laberinto > .phaser-game-quiz.is-laberinto .phaser-game-quiz-card,
  .phaser-game-canvas-wrap.is-laberinto > .phaser-game-result.is-laberinto .phaser-game-result-card{
    width:min(92vw, 520px) !important;
    max-height:calc(100dvh - 20px) !important;
    margin:auto !important;
    overflow:auto !important;
    box-sizing:border-box !important;
  }
}
@media (max-width: 920px) and (orientation: landscape){
  .phaser-game-canvas-wrap.is-laberinto:fullscreen > .phaser-game-quiz.is-laberinto,
  .phaser-game-canvas-wrap.is-laberinto:fullscreen > .phaser-game-result.is-laberinto,
  .phaser-game-canvas-wrap.is-laberinto > .phaser-game-quiz.is-laberinto,
  .phaser-game-canvas-wrap.is-laberinto > .phaser-game-result.is-laberinto{padding:8px 12px !important;}
  .phaser-game-canvas-wrap.is-laberinto:fullscreen > .phaser-game-quiz.is-laberinto .phaser-game-quiz-card,
  .phaser-game-canvas-wrap.is-laberinto:fullscreen > .phaser-game-result.is-laberinto .phaser-game-result-card,
  .phaser-game-canvas-wrap.is-laberinto > .phaser-game-quiz.is-laberinto .phaser-game-quiz-card,
  .phaser-game-canvas-wrap.is-laberinto > .phaser-game-result.is-laberinto .phaser-game-result-card{
    width:min(760px, calc(100vw - 24px)) !important;
    max-width:min(760px, calc(100vw - 24px)) !important;
    max-height:calc(100dvh - 16px) !important;
    padding:.82rem !important;
    border-radius:18px !important;
  }
  .phaser-game-canvas-wrap.is-laberinto .phaser-game-quiz.is-laberinto .phaser-game-quiz-head{margin-bottom:.45rem !important;}
  .phaser-game-canvas-wrap.is-laberinto .phaser-game-quiz.is-laberinto .phaser-game-quiz-card h4{font-size:1.05rem !important;margin:.18rem 0 !important;}
  .phaser-game-canvas-wrap.is-laberinto .phaser-game-quiz.is-laberinto .phaser-game-quiz-card p{font-size:.88rem !important;line-height:1.22 !important;margin:.25rem 0 !important;}
  .phaser-game-canvas-wrap.is-laberinto .phaser-game-quiz.is-laberinto .phaser-game-quiz-options{grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:.45rem !important;max-height:34dvh !important;margin-top:.45rem !important;}
  .phaser-game-canvas-wrap.is-laberinto .phaser-game-quiz.is-laberinto .phaser-game-quiz-options button{min-height:42px !important;padding:.56rem .62rem !important;font-size:.88rem !important;}
  .phaser-game-canvas-wrap.is-laberinto .phaser-game-quiz.is-laberinto .phaser-game-quiz-feedback{font-size:.84rem !important;padding:.58rem !important;margin-top:.48rem !important;}
}

/* === AJUSTE SOLO PISTA ATLETICA: responsive movil, pantalla completa horizontal y modales === */
@media (max-width: 920px){
  .phaser-game-canvas-wrap.is-pista{
    width:100% !important;
    max-width:100% !important;
    overflow:hidden !important;
    position:relative !important;
  }
  .phaser-game-canvas-wrap.is-pista:fullscreen{
    width:100vw !important;
    height:100dvh !important;
    max-width:none !important;
    max-height:none !important;
    padding:8px 126px 8px 8px !important;
    border-radius:0 !important;
    background:#020617 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    box-sizing:border-box !important;
  }
  .phaser-game-canvas-wrap.is-pista .phaser-game-canvas,
  .phaser-game-canvas-wrap.is-pista:fullscreen .phaser-game-canvas{
    width:100% !important;
    height:100% !important;
    min-height:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
  }
  .phaser-game-canvas-wrap.is-pista .pista-canvas-board,
  .phaser-game-canvas-wrap.is-pista:fullscreen .pista-canvas-board{
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    max-height:100% !important;
    object-fit:contain !important;
    display:block !important;
  }
  .phaser-game-canvas-wrap.is-pista .phaser-touch-controls,
  .phaser-game-canvas-wrap.is-pista:fullscreen .phaser-touch-controls{
    display:grid !important;
    pointer-events:none !important;
    z-index:60 !important;
  }
  .phaser-game-canvas-wrap.is-pista .phaser-touch-controls [data-dir],
  .phaser-game-canvas-wrap.is-pista:fullscreen .phaser-touch-controls [data-dir]{
    pointer-events:auto !important;
  }
  .phaser-game-canvas-wrap.is-pista:fullscreen .phaser-touch-controls{
    position:absolute !important;
    right:10px !important;
    left:auto !important;
    bottom:50% !important;
    transform:translateY(50%) scale(.86) !important;
  }
  .phaser-game-canvas-wrap.is-pista > .phaser-game-quiz.is-pista,
  .phaser-game-canvas-wrap.is-pista > .phaser-game-result.is-pista,
  .phaser-game-canvas-wrap.is-pista:fullscreen > .phaser-game-quiz.is-pista,
  .phaser-game-canvas-wrap.is-pista:fullscreen > .phaser-game-result.is-pista,
  body > .phaser-game-quiz.is-pista,
  body > .phaser-game-result.is-pista{
    position:fixed !important;
    inset:0 !important;
    width:100vw !important;
    height:100dvh !important;
    max-width:none !important;
    transform:none !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:10px 12px !important;
    box-sizing:border-box !important;
    overflow:auto !important;
    z-index:999999 !important;
  }
  .phaser-game-canvas-wrap.is-pista > .phaser-game-quiz.is-pista[hidden],
  .phaser-game-canvas-wrap.is-pista > .phaser-game-result.is-pista[hidden],
  .phaser-game-canvas-wrap.is-pista:fullscreen > .phaser-game-quiz.is-pista[hidden],
  .phaser-game-canvas-wrap.is-pista:fullscreen > .phaser-game-result.is-pista[hidden],
  body > .phaser-game-quiz.is-pista[hidden],
  body > .phaser-game-result.is-pista[hidden]{
    display:none !important;
  }
  .phaser-game-canvas-wrap.is-pista > .phaser-game-quiz.is-pista .phaser-game-quiz-card,
  .phaser-game-canvas-wrap.is-pista > .phaser-game-result.is-pista .phaser-game-result-card,
  .phaser-game-canvas-wrap.is-pista:fullscreen > .phaser-game-quiz.is-pista .phaser-game-quiz-card,
  .phaser-game-canvas-wrap.is-pista:fullscreen > .phaser-game-result.is-pista .phaser-game-result-card,
  body > .phaser-game-quiz.is-pista .phaser-game-quiz-card,
  body > .phaser-game-result.is-pista .phaser-game-result-card{
    width:min(520px, calc(100vw - 24px)) !important;
    max-width:calc(100vw - 24px) !important;
    max-height:calc(100dvh - 20px) !important;
    overflow:auto !important;
    box-sizing:border-box !important;
    border-radius:20px !important;
    padding:clamp(14px, 3.5vw, 22px) !important;
  }
  .phaser-game-quiz.is-pista .phaser-game-quiz-card *,
  .phaser-game-result.is-pista .phaser-game-result-card *{
    max-width:100% !important;
    box-sizing:border-box !important;
    overflow-wrap:anywhere !important;
  }
  .phaser-game-quiz.is-pista .phaser-game-quiz-head{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:.5rem !important;
    align-items:center !important;
  }
  .phaser-game-quiz.is-pista .phaser-game-quiz-card h4{
    font-size:clamp(1.05rem, 4.8vw, 1.35rem) !important;
    line-height:1.18 !important;
    margin:.25rem 0 !important;
  }
  .phaser-game-quiz.is-pista .phaser-game-quiz-card p{
    font-size:clamp(.92rem, 3.8vw, 1rem) !important;
    line-height:1.32 !important;
  }
  .phaser-game-quiz.is-pista .phaser-game-quiz-options{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:.55rem !important;
    max-height:38dvh !important;
    overflow:auto !important;
    padding-right:0 !important;
  }
  .phaser-game-quiz.is-pista .phaser-game-quiz-options button{
    width:100% !important;
    min-height:48px !important;
    padding:.72rem .85rem !important;
    border-radius:14px !important;
  }
  .phaser-game-quiz.is-pista .phaser-game-quiz-feedback{
    font-size:.95rem !important;
    line-height:1.25 !important;
    padding:.75rem !important;
    margin-top:.7rem !important;
  }
}
@media (max-width: 920px) and (orientation: portrait){
  .phaser-game-canvas-wrap.is-pista:fullscreen{
    padding:8px !important;
  }
  .phaser-game-canvas-wrap.is-pista:fullscreen .phaser-touch-controls{
    right:50% !important;
    bottom:8px !important;
    transform:translateX(50%) scale(.82) !important;
  }
}

/* Ajuste final exclusivo: Escena del crimen - bolso flotante, elementos reales y responsive PC/celular */
.phaser-game-canvas-wrap.is-crime .phaser-game-canvas{
  position:relative !important;
  overflow:hidden !important;
}
.phaser-game-canvas-wrap.is-crime .crime-case-panel[hidden]{
  display:none !important;
}
.phaser-game-canvas-wrap.is-crime .crime-bag-toggle{
  position:absolute;
  right:clamp(10px,1.5vw,18px);
  bottom:clamp(10px,1.5vw,18px);
  z-index:22;
  display:inline-flex;
  align-items:center;
  gap:.48rem;
  border:1px solid rgba(250,204,21,.45);
  border-radius:999px;
  padding:.7rem .9rem;
  background:linear-gradient(135deg,rgba(15,23,42,.96),rgba(20,83,45,.92));
  color:#fef9c3;
  font-weight:900;
  box-shadow:0 16px 38px rgba(0,0,0,.36);
  cursor:pointer;
  max-width:calc(100% - 20px);
}
.phaser-game-canvas-wrap.is-crime .crime-bag-toggle b{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:2.45rem;
  padding:.2rem .45rem;
  border-radius:999px;
  background:rgba(34,197,94,.18);
  color:#dcfce7;
  border:1px solid rgba(34,197,94,.35);
}
.phaser-game-canvas-wrap.is-crime .crime-bag-toggle.is-complete{
  border-color:rgba(34,197,94,.72);
  box-shadow:0 0 0 3px rgba(34,197,94,.14),0 16px 38px rgba(0,0,0,.36);
}
.phaser-game-canvas-wrap.is-crime .crime-case-panel{
  position:absolute !important;
  right:clamp(10px,1.5vw,18px) !important;
  bottom:calc(clamp(10px,1.5vw,18px) + 58px) !important;
  top:auto !important;
  left:auto !important;
  z-index:23 !important;
  width:min(360px,calc(100% - 20px)) !important;
  max-width:calc(100% - 20px) !important;
  max-height:min(72%,520px) !important;
  overflow:auto !important;
  margin:0 !important;
  padding:12px !important;
  border-radius:18px !important;
  background:linear-gradient(180deg,rgba(15,23,42,.98),rgba(2,44,34,.94)) !important;
  box-shadow:0 22px 60px rgba(0,0,0,.42) !important;
}
.phaser-game-canvas-wrap.is-crime .crime-case-head{
  display:flex !important;
  align-items:center !important;
  gap:.55rem !important;
}
.phaser-game-canvas-wrap.is-crime .crime-case-head strong{
  flex:1 1 auto;
}
.phaser-game-canvas-wrap.is-crime .crime-case-close{
  width:32px;
  height:32px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(15,23,42,.78);
  color:#fff;
  cursor:pointer;
}
.phaser-game-canvas-wrap.is-crime .crime-case-chip{
  display:flex !important;
  align-items:center !important;
  gap:.45rem !important;
  white-space:normal !important;
  line-height:1.2 !important;
}
.phaser-game-canvas-wrap.is-crime .crime-case-chip i{
  flex:0 0 auto;
  width:18px;
  text-align:center;
}
.phaser-game-canvas-wrap.is-crime .crime-case-chip span{
  min-width:0;
  overflow-wrap:anywhere;
}
@media (min-width: 921px){
  .phaser-game-canvas-wrap.is-crime .crime-scene-canvas{
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
  }
}
@media (max-width: 760px){
  .phaser-game-canvas-wrap.is-crime,
  .phaser-game-canvas-wrap.is-crime:fullscreen{
    width:100vw !important;
    max-width:100vw !important;
    height:100dvh !important;
    min-height:100dvh !important;
    max-height:100dvh !important;
    margin:0 !important;
    border-radius:0 !important;
    padding:6px !important;
    overflow:hidden !important;
  }
  .phaser-game-canvas-wrap.is-crime .phaser-game-canvas,
  .phaser-game-canvas-wrap.is-crime:fullscreen .phaser-game-canvas{
    width:100% !important;
    height:calc(100dvh - 12px) !important;
    min-height:0 !important;
    border-radius:14px !important;
  }
  .phaser-game-canvas-wrap.is-crime .crime-scene-canvas,
  .phaser-game-canvas-wrap.is-crime:fullscreen .crime-scene-canvas{
    width:100% !important;
    height:100% !important;
    max-height:100% !important;
    object-fit:contain !important;
  }
  .phaser-game-canvas-wrap.is-crime .crime-bag-toggle,
  .phaser-game-canvas-wrap.is-crime:fullscreen .crime-bag-toggle{
    right:10px !important;
    bottom:10px !important;
    font-size:.82rem !important;
    padding:.6rem .72rem !important;
  }
  .phaser-game-canvas-wrap.is-crime .crime-case-panel,
  .phaser-game-canvas-wrap.is-crime:fullscreen .crime-case-panel{
    left:10px !important;
    right:10px !important;
    bottom:64px !important;
    top:auto !important;
    width:auto !important;
    max-width:none !important;
    max-height:48dvh !important;
    font-size:.82rem !important;
    border-radius:16px !important;
  }
  .phaser-game-canvas-wrap.is-crime .crime-case-block{
    padding:.58rem .66rem !important;
    margin-bottom:6px !important;
  }
}
@media (max-width: 920px) and (orientation: landscape){
  .phaser-game-canvas-wrap.is-crime,
  .phaser-game-canvas-wrap.is-crime:fullscreen{
    padding:6px !important;
  }
  .phaser-game-canvas-wrap.is-crime .phaser-game-canvas,
  .phaser-game-canvas-wrap.is-crime:fullscreen .phaser-game-canvas{
    height:calc(100dvh - 12px) !important;
  }
  .phaser-game-canvas-wrap.is-crime .crime-case-panel,
  .phaser-game-canvas-wrap.is-crime:fullscreen .crime-case-panel{
    left:auto !important;
    right:10px !important;
    bottom:64px !important;
    width:min(330px,38vw) !important;
    max-height:calc(100dvh - 82px) !important;
    font-size:.76rem !important;
  }
}

/* Ajuste exclusivo Escena del crimen: pista visual temporal y aviso de elemento encontrado */
.phaser-game-canvas-wrap.is-crime .crime-evidence-toast{
  position:absolute;
  left:50%;
  top:clamp(12px,2vw,20px);
  transform:translate(-50%,-12px) scale(.96);
  z-index:28;
  display:flex;
  align-items:center;
  gap:.7rem;
  max-width:min(420px,calc(100% - 24px));
  padding:.78rem 1rem;
  border-radius:18px;
  border:1px solid rgba(34,197,94,.45);
  background:linear-gradient(135deg,rgba(5,46,22,.96),rgba(15,23,42,.96));
  color:#fff;
  box-shadow:0 18px 48px rgba(0,0,0,.36),0 0 0 3px rgba(34,197,94,.12);
  opacity:0;
  pointer-events:none;
  transition:opacity .22s ease,transform .22s ease;
}
.phaser-game-canvas-wrap.is-crime .crime-evidence-toast.is-visible{
  opacity:1;
  transform:translate(-50%,0) scale(1);
}
.phaser-game-canvas-wrap.is-crime .crime-evidence-toast i{
  width:38px;
  height:38px;
  flex:0 0 38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:rgba(34,197,94,.2);
  color:#bbf7d0;
}
.phaser-game-canvas-wrap.is-crime .crime-evidence-toast small{
  display:block;
  color:#bbf7d0;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  font-size:.68rem;
}
.phaser-game-canvas-wrap.is-crime .crime-evidence-toast strong{
  display:block;
  color:#fff;
  font-size:.96rem;
  line-height:1.15;
  overflow-wrap:anywhere;
}
@media (max-width:760px){
  .phaser-game-canvas-wrap.is-crime .crime-evidence-toast,
  .phaser-game-canvas-wrap.is-crime:fullscreen .crime-evidence-toast{
    top:10px;
    max-width:calc(100% - 18px);
    padding:.68rem .78rem;
    border-radius:16px;
  }
  .phaser-game-canvas-wrap.is-crime .crime-evidence-toast i,
  .phaser-game-canvas-wrap.is-crime:fullscreen .crime-evidence-toast i{
    width:34px;
    height:34px;
    flex-basis:34px;
  }
}

/* Replanteamiento final: Decisión táctica como juego de escalera responsive */
.phaser-game-canvas-wrap.is-decision{overflow:hidden!important;}
.phaser-game-canvas-wrap.is-decision .phaser-game-canvas{width:100%;min-height:0;overflow:visible!important;}
.decision-ladder-game{width:100%;min-height:620px;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:14px;padding:14px;border-radius:28px;background:linear-gradient(145deg,rgba(2,6,23,.98),rgba(8,20,48,.96));border:1px solid rgba(96,165,250,.28);box-shadow:0 26px 80px rgba(0,0,0,.42);color:#f8fafc;box-sizing:border-box;}
.decision-ladder-stage{position:relative;min-height:560px;border-radius:24px;overflow:hidden;border:1px solid rgba(148,163,184,.22);background:#020617;}
.decision-ladder-bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:saturate(1.08) contrast(1.04);}
.decision-ladder-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,6,23,.86),rgba(2,6,23,.24) 48%,rgba(2,6,23,.78)),radial-gradient(circle at 72% 20%,rgba(59,130,246,.22),transparent 38%);}
.decision-ladder-left{position:absolute;left:20px;top:20px;width:min(48%,440px);z-index:2;display:grid;gap:12px;}
.decision-ladder-kicker{width:max-content;max-width:100%;border-radius:999px;background:rgba(234,179,8,.18);border:1px solid rgba(250,204,21,.38);color:#fde68a;padding:8px 12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;}
.decision-ladder-left h3{margin:0;font-size:clamp(1.6rem,3vw,2.5rem);line-height:1.05;text-shadow:0 4px 16px rgba(0,0,0,.38);}
.decision-ladder-left p{margin:0;color:#e2e8f0;line-height:1.45;font-weight:650;}
.decision-ladder-objective{border-radius:18px;padding:12px 14px;background:rgba(15,23,42,.72);border:1px solid rgba(96,165,250,.24);color:#bfdbfe;font-weight:800;line-height:1.35;}
.decision-ladder-canvas{position:absolute;right:20px;top:34px;bottom:34px;width:min(45%,420px);z-index:2;}
.decision-ladder-steps{position:absolute;inset:0;display:flex;flex-direction:column-reverse;justify-content:space-between;align-items:stretch;gap:8px;}
.decision-ladder-step{height:52px;border-radius:18px;background:linear-gradient(135deg,rgba(15,23,42,.86),rgba(30,41,59,.72));border:1px solid rgba(148,163,184,.2);display:flex;align-items:center;justify-content:space-between;padding:0 18px;color:#cbd5e1;font-weight:950;box-shadow:0 10px 24px rgba(0,0,0,.2);}
.decision-ladder-step:nth-child(even){transform:translateX(-34px);}
.decision-ladder-step.is-current{border-color:rgba(250,204,21,.92);box-shadow:0 0 0 3px rgba(250,204,21,.13),0 16px 36px rgba(0,0,0,.3);color:#fef3c7;}
.decision-ladder-step.is-done{background:linear-gradient(135deg,rgba(22,163,74,.85),rgba(21,128,61,.72));border-color:rgba(74,222,128,.44);color:#ecfdf5;}
.decision-ladder-avatar{--ladder-pos:0%;position:absolute;left:50%;bottom:var(--ladder-pos);transform:translate(-50%,50%);width:72px;height:72px;border-radius:24px;background:linear-gradient(135deg,#fde68a,#f59e0b);color:#111827;display:flex;align-items:center;justify-content:center;font-size:2rem;box-shadow:0 16px 34px rgba(0,0,0,.38),0 0 0 8px rgba(250,204,21,.16);z-index:3;transition:bottom .72s cubic-bezier(.2,.95,.2,1);}
.decision-ladder-avatar.is-climbing{animation:decisionClimb .75s ease both;}.decision-ladder-avatar.is-sliding{animation:decisionSlide .85s ease both;}
@keyframes decisionClimb{0%{transform:translate(-50%,50%) scale(1)}35%{transform:translate(-50%,34%) scale(1.09) rotate(-6deg)}100%{transform:translate(-50%,50%) scale(1)}}
@keyframes decisionSlide{0%{transform:translate(-50%,50%) rotate(0)}35%{transform:translate(-50%,64%) rotate(10deg)}70%{transform:translate(-50%,40%) rotate(-7deg)}100%{transform:translate(-50%,50%) rotate(0)}}
.decision-ladder-panel{border-radius:24px;background:rgba(15,23,42,.9);border:1px solid rgba(148,163,184,.22);padding:16px;display:flex;flex-direction:column;gap:12px;min-width:0;max-height:560px;overflow:auto;}
.decision-ladder-panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#93c5fd;font-weight:950;text-transform:uppercase;letter-spacing:.06em;font-size:.82rem;}
.decision-ladder-panel h4{margin:0;color:#fff;font-size:1.22rem;line-height:1.22;}
.decision-ladder-options{display:grid;gap:10px;}
.decision-ladder-option{width:100%;border:1px solid rgba(148,163,184,.22);background:rgba(30,41,59,.84);color:#fff;border-radius:18px;padding:12px;display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;text-align:left;font-weight:850;cursor:pointer;}
.decision-ladder-option:hover{border-color:rgba(96,165,250,.62);background:rgba(30,64,175,.36);}
.decision-ladder-option:disabled{cursor:default;opacity:.92;}.decision-ladder-option.is-correct{border-color:rgba(74,222,128,.7);background:rgba(21,128,61,.35);}.decision-ladder-option.is-wrong{border-color:rgba(248,113,113,.7);background:rgba(127,29,29,.34);}
.decision-ladder-key{width:34px;height:34px;border-radius:12px;background:rgba(96,165,250,.22);color:#bfdbfe;display:inline-flex;align-items:center;justify-content:center;font-weight:950;}
.decision-ladder-feedback{border-radius:18px;border:1px solid rgba(96,165,250,.28);background:rgba(15,23,42,.72);padding:12px 14px;color:#bfdbfe;font-weight:800;line-height:1.35;}.decision-ladder-feedback.is-correct{border-color:rgba(74,222,128,.5);color:#dcfce7;background:rgba(20,83,45,.34);}.decision-ladder-feedback.is-wrong{border-color:rgba(248,113,113,.5);color:#fee2e2;background:rgba(127,29,29,.28);}
@media (max-width:920px){
  .phaser-game-canvas-wrap.is-decision,.phaser-game-canvas-wrap.is-decision:fullscreen{width:100vw!important;height:100dvh!important;max-width:100vw!important;max-height:100dvh!important;border-radius:0!important;margin:0!important;padding:8px!important;overflow:auto!important;}
  .decision-ladder-game{min-height:calc(100dvh - 16px);grid-template-columns:1fr;gap:10px;padding:10px;border-radius:18px;}
  .decision-ladder-stage{min-height:54dvh;border-radius:18px;}
  .decision-ladder-left{left:12px;top:12px;width:calc(100% - 24px);gap:8px;}
  .decision-ladder-left h3{font-size:1.35rem;}.decision-ladder-left p{font-size:.92rem;line-height:1.28;}.decision-ladder-objective{font-size:.86rem;padding:9px 10px;}
  .decision-ladder-canvas{right:10px;left:10px;top:44%;bottom:12px;width:auto;}
  .decision-ladder-step{height:38px;border-radius:14px;padding:0 12px;font-size:.88rem;}.decision-ladder-step:nth-child(even){transform:translateX(-12px);}
  .decision-ladder-avatar{width:56px;height:56px;border-radius:18px;font-size:1.55rem;}
  .decision-ladder-panel{max-height:none;border-radius:18px;padding:12px;gap:9px;overflow:visible;}.decision-ladder-panel h4{font-size:1rem;}.decision-ladder-option{border-radius:14px;padding:10px;font-size:.9rem;}.decision-ladder-feedback{border-radius:14px;padding:10px;font-size:.88rem;}
}
@media (max-width:920px) and (orientation:landscape){
  .phaser-game-canvas-wrap.is-decision,.phaser-game-canvas-wrap.is-decision:fullscreen{overflow:hidden!important;}
  .decision-ladder-game{height:calc(100dvh - 16px);min-height:0;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);}
  .decision-ladder-stage{min-height:0;height:100%;}.decision-ladder-left{width:48%;}.decision-ladder-canvas{left:auto;right:12px;top:14px;bottom:14px;width:45%;}
  .decision-ladder-panel{max-height:calc(100dvh - 36px);overflow:auto;}.decision-ladder-left h3{font-size:1.25rem;}.decision-ladder-left p,.decision-ladder-objective{font-size:.82rem;}
}


/* Decision tactica como escalera: ajuste real constructor/ejecucion responsive */
.decision-ladder-step{border-color:color-mix(in srgb,var(--step-color,#facc15) 55%,rgba(148,163,184,.25));}
.decision-ladder-step.is-current{border-color:var(--step-color,#facc15);box-shadow:0 0 0 3px color-mix(in srgb,var(--step-color,#facc15) 22%,transparent),0 16px 36px rgba(0,0,0,.3);}
.decision-ladder-step i{color:var(--step-color,#facc15);}
.decision-ladder-step.is-done i{color:#ecfdf5;}
.phaser-game-canvas-wrap.is-decision{overflow:hidden;}
.phaser-game-canvas-wrap.is-decision:fullscreen{width:100vw;height:100dvh;padding:0;border-radius:0;background:#020617;}
.phaser-game-canvas-wrap.is-decision:fullscreen .phaser-game-canvas{height:100dvh;min-height:100dvh;}
.phaser-game-canvas-wrap.is-decision:fullscreen .decision-ladder-game{height:100dvh;min-height:0;border-radius:0;border:0;}
@media (max-width:920px){.phaser-game-canvas-wrap.is-decision{min-height:calc(100dvh - 10px);}.phaser-game-canvas-wrap.is-decision .phaser-game-canvas{min-height:calc(100dvh - 10px);}.decision-ladder-game{width:100%;min-height:calc(100dvh - 10px);grid-template-columns:1fr;padding:8px;border-radius:18px;overflow:auto;}.decision-ladder-stage{min-height:50dvh;}.decision-ladder-panel{position:relative;z-index:4;}.decision-ladder-options{grid-template-columns:1fr;}}
@media (max-width:920px) and (orientation:landscape){.decision-ladder-game{height:100dvh;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);overflow:hidden;border-radius:0;}.decision-ladder-stage{height:calc(100dvh - 16px);min-height:0;}.decision-ladder-panel{max-height:calc(100dvh - 16px);overflow:auto;}.decision-ladder-left{width:46%;}.decision-ladder-canvas{left:auto;right:10px;top:12px;bottom:12px;width:46%;}}
@media (max-width:540px){.decision-ladder-left{position:relative;left:auto;top:auto;width:auto;padding:12px;}.decision-ladder-stage{display:flex;flex-direction:column;min-height:auto;}.decision-ladder-canvas{position:relative;left:auto;right:auto;top:auto;bottom:auto;width:auto;height:42dvh;margin:0 12px 12px;}.decision-ladder-panel{font-size:.92rem;}}

/* Decision tactica escalera real: canvas, constructor y modales responsive */
.phaser-game-canvas-wrap.is-decision{position:relative;overflow:hidden;max-width:100%;background:radial-gradient(circle at 50% 0%,rgba(59,130,246,.20),rgba(2,6,23,.98));}
.phaser-game-canvas-wrap.is-decision .phaser-game-canvas{width:100%;min-height:620px;display:flex;align-items:stretch;justify-content:center;}
.decision-ladder-canvas2d{width:100%;height:auto;min-height:520px;display:block;border-radius:24px;box-shadow:0 24px 70px rgba(0,0,0,.42);background:#020617;touch-action:manipulation;}
.phaser-game-quiz.is-decision-ladder,.phaser-game-result.is-decision-ladder,.phaser-game-intro.is-decision-ladder{position:absolute!important;inset:0!important;display:flex;align-items:center;justify-content:center;padding:16px;box-sizing:border-box;z-index:80;background:rgba(2,6,23,.62);backdrop-filter:blur(8px);}
.phaser-game-quiz.is-decision-ladder[hidden],.phaser-game-result.is-decision-ladder[hidden],.phaser-game-intro.is-decision-ladder[hidden]{display:none!important;}
.phaser-game-quiz.is-decision-ladder .phaser-game-quiz-card,.phaser-game-result.is-decision-ladder .phaser-game-result-card,.phaser-game-intro.is-decision-ladder .phaser-game-intro-card{width:min(94vw,560px);max-height:min(86dvh,620px);overflow:auto;border-radius:24px;box-sizing:border-box;margin:0 auto;transform:none!important;left:auto!important;right:auto!important;}
.decision-ladder-modal-option{width:100%;border:1px solid rgba(148,163,184,.24);background:rgba(15,23,42,.92);color:#fff;border-radius:18px;padding:13px;display:grid;grid-template-columns:42px 1fr;gap:10px;align-items:center;text-align:left;font-weight:850;line-height:1.28;}
.decision-ladder-modal-option strong{width:38px;height:38px;border-radius:12px;background:rgba(96,165,250,.22);color:#bfdbfe;display:inline-flex;align-items:center;justify-content:center;}
.decision-ladder-modal-option.is-correct{border-color:rgba(74,222,128,.74);background:rgba(22,101,52,.88);}.decision-ladder-modal-option.is-wrong{border-color:rgba(248,113,113,.78);background:rgba(127,29,29,.88);}
@media (max-width:920px){.phaser-game-canvas-wrap.is-decision{width:100vw;max-width:100vw;min-height:100dvh;border-radius:0!important;margin:0!important;padding:6px!important;box-sizing:border-box;}.phaser-game-canvas-wrap.is-decision .phaser-game-canvas{min-height:calc(100dvh - 12px);}.decision-ladder-canvas2d{height:calc(100dvh - 12px);min-height:0;border-radius:16px;object-fit:contain;}.phaser-game-quiz.is-decision-ladder,.phaser-game-result.is-decision-ladder,.phaser-game-intro.is-decision-ladder{position:fixed!important;inset:0!important;padding:10px;z-index:9999;}.phaser-game-quiz.is-decision-ladder .phaser-game-quiz-card,.phaser-game-result.is-decision-ladder .phaser-game-result-card,.phaser-game-intro.is-decision-ladder .phaser-game-intro-card{width:calc(100vw - 20px)!important;max-width:calc(100vw - 20px)!important;max-height:calc(100dvh - 20px)!important;border-radius:20px;padding:14px!important;}.decision-ladder-modal-option{grid-template-columns:34px 1fr;padding:10px;border-radius:15px;font-size:.92rem;}.decision-ladder-modal-option strong{width:32px;height:32px;border-radius:10px;}}
@media (max-width:920px) and (orientation:landscape){.phaser-game-canvas-wrap.is-decision,.phaser-game-canvas-wrap.is-decision:fullscreen{height:100dvh;width:100vw;padding:0!important;overflow:hidden!important;}.phaser-game-canvas-wrap.is-decision .phaser-game-canvas{height:100dvh;min-height:0;}.decision-ladder-canvas2d{height:100dvh;width:100vw;border-radius:0;object-fit:fill;}.phaser-game-quiz.is-decision-ladder .phaser-game-quiz-card{width:min(78vw,720px)!important;max-width:78vw!important;max-height:calc(100dvh - 16px)!important;}}

/* Decision tactica: controles visibles para subir escalones en celular/pantalla completa */
.phaser-game-canvas-wrap.is-decision .phaser-touch-controls.is-decision-ladder-controls{
  display:grid !important;
  z-index:50;
  pointer-events:none;
}
.phaser-game-canvas-wrap.is-decision .phaser-touch-controls.is-decision-ladder-controls button{
  pointer-events:auto;
  touch-action:manipulation;
}
.phaser-game-canvas-wrap.is-decision .phaser-touch-controls.is-decision-ladder-controls [data-dir="left"],
.phaser-game-canvas-wrap.is-decision .phaser-touch-controls.is-decision-ladder-controls [data-dir="down"]{
  opacity:.42;
}
@media (max-width:920px){
  .phaser-game-canvas-wrap.is-decision .phaser-touch-controls.is-decision-ladder-controls{
    left:50%;right:auto;bottom:10px;width:auto;transform:translateX(-50%);
  }
  .phaser-game-canvas-wrap.is-decision:fullscreen{
    width:100vw;height:100dvh;padding:8px !important;border-radius:0;background:#020617;
  }
  .phaser-game-canvas-wrap.is-decision:fullscreen .phaser-game-canvas{
    width:100%;height:100%;align-items:center;justify-content:center;
  }
  .phaser-game-canvas-wrap.is-decision:fullscreen .phaser-game-canvas canvas{
    width:100% !important;height:100% !important;max-height:none;object-fit:contain;
  }
  .phaser-game-canvas-wrap.is-decision:fullscreen .phaser-touch-controls.is-decision-ladder-controls{
    bottom:14px;
  }
  .phaser-game-canvas-wrap.is-decision:fullscreen .phaser-game-stage-actions{
    top:12px;right:12px;
  }
}

/* FIX FINAL decision tactica escalera: celular pantalla completa uniforme */
@media (max-width: 920px){
  html:has(.phaser-game-canvas-wrap.is-decision),
  body:has(.phaser-game-canvas-wrap.is-decision){
    overflow-x:hidden;
  }
  .phaser-game-canvas-wrap.is-decision{
    position:relative !important;
    width:100vw !important;
    max-width:100vw !important;
    min-height:100dvh !important;
    height:100dvh !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    overflow:hidden !important;
    background:#020617 !important;
    box-shadow:none !important;
  }
  .phaser-game-canvas-wrap.is-decision:fullscreen{
    width:100vw !important;
    height:100dvh !important;
    max-width:100vw !important;
    max-height:100dvh !important;
    padding:0 !important;
    overflow:hidden !important;
  }
  .phaser-game-canvas-wrap.is-decision .phaser-game-canvas{
    width:100vw !important;
    height:100dvh !important;
    min-height:100dvh !important;
    max-height:100dvh !important;
    display:block !important;
    overflow:hidden !important;
    background:#020617 !important;
  }
  .phaser-game-canvas-wrap.is-decision .decision-ladder-canvas2d{
    width:100vw !important;
    height:100dvh !important;
    min-width:100vw !important;
    min-height:100dvh !important;
    max-width:100vw !important;
    max-height:100dvh !important;
    display:block !important;
    border-radius:0 !important;
    object-fit:fill !important;
    margin:0 !important;
    box-shadow:none !important;
  }
  .phaser-game-canvas-wrap.is-decision .phaser-game-stage-actions{
    top:max(8px, env(safe-area-inset-top)) !important;
    right:max(8px, env(safe-area-inset-right)) !important;
    gap:8px !important;
    z-index:90 !important;
  }
  .phaser-game-canvas-wrap.is-decision .phaser-stage-action{
    width:44px !important;
    height:44px !important;
    border-radius:999px !important;
    font-size:.95rem !important;
  }
  .phaser-game-canvas-wrap.is-decision .phaser-touch-controls.is-decision-ladder-controls{
    position:absolute !important;
    left:50% !important;
    right:auto !important;
    bottom:max(10px, env(safe-area-inset-bottom)) !important;
    width:auto !important;
    transform:translateX(-50%) scale(.82) !important;
    transform-origin:bottom center !important;
    z-index:95 !important;
  }
  .phaser-game-canvas-wrap.is-decision .phaser-touch-controls.is-decision-ladder-controls button{
    width:64px !important;
    height:64px !important;
    border-radius:999px !important;
  }
  .phaser-game-quiz.is-decision-ladder,
  .phaser-game-result.is-decision-ladder,
  .phaser-game-intro.is-decision-ladder{
    position:fixed !important;
    inset:0 !important;
    width:100vw !important;
    height:100dvh !important;
    padding:max(10px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left)) !important;
    z-index:9999 !important;
  }
}
@media (max-width: 920px) and (orientation: landscape){
  .phaser-game-canvas-wrap.is-decision .phaser-touch-controls.is-decision-ladder-controls{
    left:auto !important;
    right:max(8px, env(safe-area-inset-right)) !important;
    bottom:50% !important;
    transform:translateY(50%) scale(.72) !important;
  }
  .phaser-game-canvas-wrap.is-decision .phaser-stage-action{
    width:40px !important;
    height:40px !important;
  }
}

/* === LIBRO RESUMEN INTERACTIVO: responsive y modernizacion PC/movil === */
.advanced-flipbook-card{
  position:relative;
  isolation:isolate;
  width:100%;
  max-width:100%;
  overflow:hidden;
  border-radius:30px;
  border:1px solid rgba(255,255,255,.12);
  background:
    radial-gradient(circle at 8% 0%, rgba(57,255,20,.16), transparent 34%),
    radial-gradient(circle at 92% 8%, rgba(250,204,21,.16), transparent 34%),
    linear-gradient(145deg, rgba(17,24,39,.92), rgba(3,7,18,.96));
  box-shadow:0 24px 70px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.08);
}
.advanced-flipbook-card .section-title{
  align-items:center;
  gap:.9rem;
}
.advanced-flipbook-card .section-title h3{
  font-size:clamp(1.35rem,2.1vw,2rem);
  letter-spacing:-.035em;
}
.advanced-flipbook-card .section-title .mini-tag{
  border-radius:999px;
  padding:.55rem .9rem;
  background:linear-gradient(135deg, rgba(250,204,21,.18), rgba(57,255,20,.14));
  border-color:rgba(250,204,21,.32);
}
.advanced-flipbook-card .flipbook-pro{
  display:grid;
  grid-template-columns:minmax(210px, 260px) minmax(0,1fr);
  gap:1.15rem;
  align-items:start;
  width:100%;
  max-width:100%;
}
.advanced-flipbook-card .flipbook-thumbs-wrap{
  min-width:0;
  padding:.85rem;
  border-radius:24px;
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}
.advanced-flipbook-card .flipbook-thumbs-wrap input{
  width:100%;
  border-radius:18px;
  min-height:48px;
  background:rgba(255,255,255,.075);
  border:1px solid rgba(255,255,255,.16);
}
.advanced-flipbook-card .flipbook-thumbs{
  display:grid;
  gap:.7rem;
  max-height:clamp(360px, 58vh, 620px);
  overflow:auto;
  padding:.15rem .2rem .15rem 0;
}
.advanced-flipbook-card .thumb-page{
  display:flex;
  align-items:center;
  gap:.7rem;
  width:100%;
  min-width:0;
  border-radius:18px;
  padding:.82rem .9rem;
  background:linear-gradient(135deg, rgba(255,255,255,.075), rgba(255,255,255,.035));
  transition:transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.advanced-flipbook-card .thumb-page:hover{transform:translateY(-2px);}
.advanced-flipbook-card .thumb-page span{
  flex:0 0 34px;
  width:34px;
  height:34px;
  margin:0;
  background:linear-gradient(135deg, rgba(57,255,20,.28), rgba(250,204,21,.22));
}
.advanced-flipbook-card .thumb-page small{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.advanced-flipbook-card .book-flip-stage{
  width:100%;
  max-width:100%;
  min-width:0;
  min-height:clamp(520px, 68vh, 760px);
  padding:1.1rem;
  border-radius:28px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.025)),
    radial-gradient(circle at 50% 0%, rgba(57,255,20,.10), transparent 42%);
  border:1px solid rgba(255,255,255,.10);
  overflow:hidden;
}
.advanced-flipbook-card .book-cover-page,
.advanced-flipbook-card .book-sheet-page{
  width:100%;
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
  border:1px solid rgba(255,255,255,.12);
}
.advanced-flipbook-card .book-sheet-front{
  box-sizing:border-box;
  min-width:0;
  min-height:100%;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.65);
}
.advanced-flipbook-card .book-sheet-grid{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);
  gap:1.15rem;
  min-width:0;
}
.advanced-flipbook-card .page-body,
.advanced-flipbook-card .page-quote{
  overflow-wrap:anywhere;
  line-height:1.55;
}
.advanced-flipbook-card .flip-controls{
  display:grid;
  grid-template-columns:minmax(120px,1fr) auto minmax(120px,1fr);
  align-items:center;
  gap:.75rem;
  margin-top:1rem;
  padding:.75rem;
  border-radius:22px;
  background:rgba(3,7,18,.42);
  border:1px solid rgba(255,255,255,.10);
  backdrop-filter:blur(14px);
}
.advanced-flipbook-card .flip-controls .btn{
  min-height:46px;
  border-radius:16px;
  justify-content:center;
}
.advanced-flipbook-card .flip-progress{
  min-width:72px;
  text-align:center;
  font-weight:900;
  color:#fff;
}
@media (max-width: 768px){
  .advanced-flipbook-card{
    margin-inline:auto !important;
    padding:clamp(.85rem, 3vw, 1.1rem) !important;
    border-radius:24px !important;
    overflow:hidden !important;
  }
  .advanced-flipbook-card .section-title{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:.6rem !important;
    margin-bottom:.9rem !important;
  }
  .advanced-flipbook-card .section-title h3{
    font-size:1.45rem !important;
    line-height:1.12 !important;
  }
  .advanced-flipbook-card .flipbook-pro{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:.9rem !important;
    width:100% !important;
    max-width:100% !important;
  }
  .advanced-flipbook-card .flipbook-thumbs-wrap{
    padding:.7rem !important;
    border-radius:20px !important;
    width:100% !important;
    max-width:100% !important;
    overflow:hidden !important;
  }
  .advanced-flipbook-card .flipbook-thumbs{
    display:flex !important;
    flex-wrap:nowrap !important;
    gap:.6rem !important;
    width:100% !important;
    max-width:100% !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    max-height:none !important;
    padding:.25rem .05rem .65rem !important;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
  }
  .advanced-flipbook-card .thumb-page{
    flex:0 0 clamp(150px, 72vw, 240px) !important;
    width:auto !important;
    scroll-snap-align:start;
  }
  .advanced-flipbook-card .book-flip-stage{
    display:flex !important;
    flex-direction:column !important;
    width:100% !important;
    max-width:100% !important;
    min-height:0 !important;
    padding:.65rem !important;
    border-radius:22px !important;
    overflow:hidden !important;
  }
  .advanced-flipbook-card .flip-page.book-cover-page,
  .advanced-flipbook-card .flip-page.book-sheet-page{
    flex:0 0 auto !important;
    width:100% !important;
    max-width:100% !important;
    min-height:0 !important;
    max-height:none !important;
    padding:.55rem !important;
    border-radius:18px !important;
    overflow:visible !important;
    box-shadow:0 14px 36px rgba(0,0,0,.25) !important;
  }
  .advanced-flipbook-card .book-cover-inner{
    min-height:300px !important;
    padding:1rem !important;
    border-radius:18px !important;
  }
  .advanced-flipbook-card .book-sheet-front{
    width:100% !important;
    min-height:0 !important;
    padding:.9rem !important;
    border-left-width:7px !important;
    border-radius:16px !important;
    overflow:visible !important;
  }
  .advanced-flipbook-card .book-sheet-head{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:.45rem !important;
  }
  .advanced-flipbook-card .book-sheet-grid{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:.85rem !important;
  }
  .advanced-flipbook-card .book-sheet-page h3{
    font-size:1.18rem !important;
    line-height:1.2 !important;
  }
  .advanced-flipbook-card .page-media{
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    aspect-ratio:16 / 10;
    border-radius:16px !important;
  }
  .advanced-flipbook-card .page-media img{
    width:100% !important;
    height:100% !important;
    max-height:none !important;
    object-fit:contain !important;
  }
  .advanced-flipbook-card .book-quiz-box{
    padding:.82rem !important;
    border-radius:16px !important;
  }
  .advanced-flipbook-card .book-answer-btn{
    width:100% !important;
    white-space:normal !important;
    line-height:1.25 !important;
    padding:.8rem .85rem !important;
  }
  .advanced-flipbook-card .flip-controls{
    position:static !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    width:100% !important;
    max-width:100% !important;
    gap:.55rem !important;
    margin-top:.7rem !important;
    padding:.65rem !important;
    background:rgba(3,7,18,.72) !important;
  }
  .advanced-flipbook-card .flip-progress{order:-1 !important;}
  .advanced-flipbook-card .flip-controls .btn{
    width:100% !important;
    min-height:50px !important;
  }
}
@media (max-width: 420px){
  .advanced-flipbook-card{padding:.75rem !important;border-radius:20px !important;}
  .advanced-flipbook-card .section-title h3{font-size:1.28rem !important;}
  .advanced-flipbook-card .flipbook-thumbs-wrap input{min-height:44px !important;font-size:.94rem !important;}
  .advanced-flipbook-card .thumb-page{flex-basis:78vw !important;padding:.72rem !important;}
  .advanced-flipbook-card .book-flip-stage{padding:.5rem !important;border-radius:18px !important;}
  .advanced-flipbook-card .flip-page.book-cover-page,
  .advanced-flipbook-card .flip-page.book-sheet-page{padding:.45rem !important;border-radius:16px !important;}
  .advanced-flipbook-card .book-sheet-front{padding:.75rem !important;border-left-width:6px !important;}
  .advanced-flipbook-card .book-cover-inner{min-height:260px !important;}
  .advanced-flipbook-card .book-cover-icon{width:64px !important;height:64px !important;border-radius:18px !important;font-size:1.45rem !important;}
}

/* === FIX REAL FINAL: Libro resumen responsive movil sin tocar otros juegos === */
.advanced-flipbook-card{isolation:isolate;}
.advanced-flipbook-card .flipbook-pro,
.advanced-flipbook-card .flipbook-thumbs-wrap,
.advanced-flipbook-card .flipbook-stage,
.advanced-flipbook-card .flip-page,
.advanced-flipbook-card .book-sheet-front{box-sizing:border-box;min-width:0;}

@media (max-width: 768px){
  .advanced-flipbook-card{
    width:calc(100vw - 20px) !important;
    max-width:calc(100vw - 20px) !important;
    margin-left:calc(50% - 50vw + 10px) !important;
    margin-right:10px !important;
    padding:12px !important;
    border-radius:24px !important;
    overflow:hidden !important;
    background:linear-gradient(145deg,rgba(8,35,29,.96),rgba(8,12,28,.98) 58%,rgba(40,34,10,.92)) !important;
  }
  .advanced-flipbook-card .section-title{
    margin:0 0 12px !important;
    gap:8px !important;
  }
  .advanced-flipbook-card .section-title h3{
    font-size:clamp(1.25rem, 6vw, 1.7rem) !important;
    line-height:1.08 !important;
    text-wrap:balance !important;
  }
  .advanced-flipbook-card .mini-tag{max-width:100%;}
  .advanced-flipbook-card .flipbook-pro{
    display:flex !important;
    flex-direction:column !important;
    gap:12px !important;
    width:100% !important;
    max-width:100% !important;
  }
  .advanced-flipbook-card .flipbook-thumbs-wrap{
    width:100% !important;
    max-width:100% !important;
    padding:10px !important;
    border-radius:22px !important;
    overflow:hidden !important;
    background:rgba(255,255,255,.055) !important;
    border:1px solid rgba(255,255,255,.12) !important;
  }
  .advanced-flipbook-card .flipbook-thumbs-wrap label span{
    display:block !important;
    margin-bottom:6px !important;
    font-size:.92rem !important;
    font-weight:800 !important;
  }
  .advanced-flipbook-card .flipbook-thumbs-wrap input{
    width:100% !important;
    height:46px !important;
    min-height:46px !important;
    padding:0 14px !important;
    border-radius:16px !important;
    font-size:.95rem !important;
  }
  .advanced-flipbook-card .flipbook-thumbs{
    display:flex !important;
    flex-wrap:nowrap !important;
    gap:8px !important;
    width:100% !important;
    max-width:100% !important;
    max-height:none !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    padding:10px 0 4px !important;
    scroll-snap-type:x mandatory !important;
    -webkit-overflow-scrolling:touch !important;
  }
  .advanced-flipbook-card .thumb-page{
    flex:0 0 132px !important;
    width:132px !important;
    min-height:58px !important;
    padding:9px 10px !important;
    border-radius:16px !important;
    scroll-snap-align:start !important;
  }
  .advanced-flipbook-card .thumb-page small{
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
  .advanced-flipbook-card .book-flip-stage{
    display:flex !important;
    flex-direction:column !important;
    width:100% !important;
    max-width:100% !important;
    min-height:58dvh !important;
    max-height:none !important;
    padding:10px !important;
    border-radius:22px !important;
    overflow:visible !important;
    background:linear-gradient(160deg,rgba(15,23,42,.92),rgba(2,6,23,.98)) !important;
    border:1px solid rgba(255,255,255,.12) !important;
  }
  .advanced-flipbook-card .flip-page.book-cover-page,
  .advanced-flipbook-card .flip-page.book-sheet-page{
    display:none !important;
    position:relative !important;
    inset:auto !important;
    width:100% !important;
    max-width:100% !important;
    min-height:auto !important;
    padding:0 !important;
    border-radius:20px !important;
    overflow:visible !important;
    box-shadow:none !important;
    transform:none !important;
    animation:none !important;
  }
  .advanced-flipbook-card .flip-page.book-cover-page.active,
  .advanced-flipbook-card .flip-page.book-sheet-page.active{
    display:block !important;
  }
  .advanced-flipbook-card .book-cover-inner{
    min-height:360px !important;
    padding:20px 14px !important;
    border-radius:20px !important;
  }
  .advanced-flipbook-card .book-sheet-front{
    width:100% !important;
    min-height:360px !important;
    padding:14px !important;
    border-left:6px solid var(--page-tone,#39ff14) !important;
    border-radius:20px !important;
    overflow:visible !important;
  }
  .advanced-flipbook-card .book-sheet-head{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:7px !important;
    margin-bottom:10px !important;
  }
  .advanced-flipbook-card .book-sheet-grid{
    display:block !important;
    width:100% !important;
  }
  .advanced-flipbook-card .page-body,
  .advanced-flipbook-card .page-quote{
    font-size:.95rem !important;
    line-height:1.5 !important;
    overflow-wrap:anywhere !important;
  }
  .advanced-flipbook-card .page-media{
    width:100% !important;
    height:auto !important;
    max-height:none !important;
    aspect-ratio:16/10 !important;
    margin-top:12px !important;
    border-radius:16px !important;
  }
  .advanced-flipbook-card .page-media img{
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
  }
  .advanced-flipbook-card .book-quiz-box{
    margin-top:12px !important;
    padding:12px !important;
    border-radius:18px !important;
  }
  .advanced-flipbook-card .book-answer-btn{
    width:100% !important;
    min-height:44px !important;
    padding:10px 12px !important;
    border-radius:14px !important;
    font-size:.94rem !important;
    line-height:1.25 !important;
    white-space:normal !important;
  }
  .advanced-flipbook-card .flip-controls{
    position:relative !important;
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    grid-template-areas:"progress progress" "prev next" !important;
    gap:8px !important;
    width:100% !important;
    max-width:100% !important;
    margin:10px 0 0 !important;
    padding:10px !important;
    border-radius:18px !important;
    background:rgba(2,6,23,.68) !important;
  }
  .advanced-flipbook-card .flip-progress{
    grid-area:progress !important;
    order:0 !important;
    min-width:0 !important;
    text-align:center !important;
    font-size:.95rem !important;
  }
  .advanced-flipbook-card .flip-controls [data-flip-prev]{grid-area:prev !important;}
  .advanced-flipbook-card .flip-controls [data-flip-next]{grid-area:next !important;}
  .advanced-flipbook-card .flip-controls .btn{
    width:100% !important;
    min-height:46px !important;
    padding:0 10px !important;
    border-radius:15px !important;
    font-size:.94rem !important;
    justify-content:center !important;
  }
}

@media (max-width: 380px){
  .advanced-flipbook-card{width:calc(100vw - 12px) !important;max-width:calc(100vw - 12px) !important;margin-left:calc(50% - 50vw + 6px) !important;padding:10px !important;}
  .advanced-flipbook-card .thumb-page{flex-basis:116px !important;width:116px !important;}
  .advanced-flipbook-card .book-flip-stage{padding:8px !important;}
  .advanced-flipbook-card .book-sheet-front{padding:12px !important;}
  .advanced-flipbook-card .flip-controls .btn{font-size:.88rem !important;}
}

/* ULTRA PRO presentation experience - visual layer only */
.slide-canvas-pro{position:relative;grid-template-columns:minmax(0,1fr) 250px;gap:1rem;padding:1rem;border-radius:28px;background:radial-gradient(circle at 15% 8%,rgba(20,184,166,.22),transparent 28%),radial-gradient(circle at 78% 0%,rgba(57,255,20,.10),transparent 26%),linear-gradient(145deg,rgba(2,8,23,.92),rgba(3,28,17,.88));border:1px solid rgba(148,255,206,.18);box-shadow:0 30px 90px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.08);overflow:hidden}
.slide-stage-pro{min-height:clamp(560px,72vh,900px);border-radius:24px;padding:1rem;background:linear-gradient(180deg,rgba(2,10,20,.86),rgba(2,6,23,.72));border:1px solid rgba(255,255,255,.08);box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.presentation-toolbar-pro{position:relative;z-index:5;border-radius:18px;padding:.75rem 1rem;background:rgba(2,8,23,.74);border:1px solid rgba(255,255,255,.10);box-shadow:0 16px 40px rgba(0,0,0,.22);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.presentation-toolbar-pro strong{display:flex;align-items:center;gap:.55rem;color:#f8fafc;letter-spacing:.01em}.presentation-toolbar-actions{display:flex;gap:.45rem}.presentation-toolbar-actions .btn{border-radius:14px;min-width:42px;min-height:42px;background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.14);box-shadow:inset 0 1px 0 rgba(255,255,255,.12)}
.presentation-progress-stories{display:flex;gap:6px;height:7px;margin:-.35rem .15rem .55rem;position:relative;z-index:6}.presentation-progress-stories span{display:block;flex:1;border-radius:999px;background:rgba(255,255,255,.13);overflow:hidden;box-shadow:inset 0 1px 0 rgba(255,255,255,.10)}.presentation-progress-stories span::before{content:"";display:block;height:100%;width:0;background:linear-gradient(90deg,#39ff14,#00d4ff,#ffd60a);border-radius:inherit;transition:width .45s ease}.presentation-progress-stories span.is-done::before,.presentation-progress-stories span.is-active::before{width:100%}
.presentation-template{min-height:clamp(470px,62vh,780px) !important;border-radius:28px !important;padding:28px 28px 0 !important;background-image:radial-gradient(circle at 12% 0%,rgba(255,255,255,.18),transparent 28%),radial-gradient(circle at 88% 12%,rgba(57,255,20,.11),transparent 25%),linear-gradient(135deg,color-mix(in srgb,var(--slide-bg-color,#5131bc) 72%,#07111f 28%),color-mix(in srgb,var(--slide-bg-color,#5131bc) 68%,#1e293b 32%)) !important;border:1px solid rgba(255,255,255,.16) !important;box-shadow:0 28px 70px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.12) !important;color:#f8fafc !important;isolation:isolate;transform-origin:center;transition:opacity .34s ease,transform .42s cubic-bezier(.2,.8,.2,1),filter .42s ease}.presentation-template::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent,rgba(255,255,255,.07),transparent);transform:translateX(-120%);animation:presentationShimmer 5.8s ease-in-out infinite;pointer-events:none;z-index:0}.presentation-template.active{animation:presentationEnter .48s cubic-bezier(.2,.8,.2,1)}
.presentation-template__header h3{font-size:clamp(1.35rem,2.6vw,2.35rem) !important;font-weight:900 !important;color:#fff !important;text-shadow:0 10px 28px rgba(0,0,0,.32);letter-spacing:-.035em}.presentation-template__header{padding:2px 0 12px !important;justify-items:start !important}.presentation-template__grid{gap:clamp(14px,1.7vw,24px) !important;grid-template-columns:minmax(190px,290px) minmax(0,1fr) minmax(190px,280px) !important;align-items:stretch !important}.presentation-box{border-radius:24px !important;border:1px solid rgba(255,255,255,.24) !important;background:rgba(255,255,255,.87) !important;box-shadow:0 22px 52px rgba(2,8,23,.24),inset 0 1px 0 rgba(255,255,255,.7) !important;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.presentation-template .media-box{background:linear-gradient(145deg,rgba(255,255,255,.95),rgba(226,232,240,.88)) !important;overflow:hidden}.presentation-template .media-box img{transform:scale(1.01);filter:saturate(1.08) contrast(1.03)}.presentation-photo-placeholder{background:linear-gradient(145deg,#f8fafc,#e5e7eb) !important;color:#64748b !important;font-weight:800;letter-spacing:.03em;text-shadow:none !important}.description-box,.complement-box,.secondary-text-box,.complement-row{color:#0f172a !important;font-size:clamp(.92rem,1.05vw,1.04rem);line-height:1.55 !important}.description-box{min-height:150px !important}.media-box--primary{height:clamp(340px,44vh,520px) !important;min-height:clamp(340px,44vh,520px) !important}.media-box--secondary{height:clamp(180px,22vh,260px) !important;min-height:clamp(180px,22vh,260px) !important}
.presentation-actions-strip{border-radius:34px 34px 0 0 !important;background:radial-gradient(circle at 15% 12%,rgba(255,255,255,.18),transparent 22%),linear-gradient(135deg,rgba(15,23,42,.94),rgba(30,64,175,.86),rgba(20,184,166,.72)) !important;border:1px solid rgba(255,255,255,.20) !important;border-bottom:none !important;box-shadow:0 -2px 0 rgba(255,255,255,.06),0 28px 70px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.18) !important}.voice-trigger,.circle-action-btn{cursor:pointer}.voice-trigger:hover,.circle-action-btn:hover{transform:translateY(-5px) scale(1.035);filter:saturate(1.14);box-shadow:0 26px 52px rgba(0,0,0,.30),0 0 0 8px rgba(255,255,255,.06)}.circle-action-btn{width:106px;min-height:106px}.slide-hotspots-pro{position:sticky;top:1rem;align-self:start}.slide-counter-card,.slide-panel-head.stacked{background:linear-gradient(145deg,rgba(74,222,128,.18),rgba(20,184,166,.12)) !important;border:1px solid rgba(187,247,208,.16) !important;border-radius:22px !important;box-shadow:0 18px 45px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.08) !important}.slide-counter-card strong,.slide-panel-head.stacked strong{color:#f8fafc}.slide-panel-head.stacked p{color:#cbd5e1 !important}
.presentation-template.active .presentation-template__header,.presentation-template.active .presentation-box,.presentation-template.active .presentation-actions-strip{animation:blockReveal .55s ease both}.presentation-template.active .presentation-box:nth-child(1){animation-delay:.05s}.presentation-template.active .presentation-box:nth-child(2){animation-delay:.12s}.presentation-template.active .presentation-box:nth-child(3){animation-delay:.18s}.presentation-template.active .presentation-box:nth-child(4){animation-delay:.24s}.presentation-template.active .presentation-actions-strip{animation-delay:.30s}
.slide-canvas-pro.is-fullscreen{position:fixed !important;inset:0 !important;z-index:99999 !important;width:100vw !important;height:100dvh !important;max-width:none !important;border-radius:0 !important;padding:12px !important;grid-template-columns:minmax(0,1fr) 260px !important;background:#020617 !important}.slide-canvas-pro.is-fullscreen .slide-stage-pro{min-height:calc(100dvh - 24px);height:calc(100dvh - 24px);overflow:auto}.slide-canvas-pro.is-fullscreen .presentation-template{min-height:calc(100dvh - 120px) !important}.slide-canvas-pro.is-fullscreen .slide-hotspots-pro{top:12px}.slide-canvas-pro.is-fullscreen [data-presentation-fullscreen] i::before{content:"\f066"}
@keyframes presentationEnter{from{opacity:0;transform:translateX(26px) scale(.975);filter:blur(8px)}to{opacity:1;transform:none;filter:none}}@keyframes blockReveal{from{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:none}}@keyframes presentationShimmer{0%,58%{transform:translateX(-120%)}82%,100%{transform:translateX(120%)}}
@media (max-width:1200px){.slide-canvas-pro{grid-template-columns:1fr}.slide-hotspots-pro{position:relative;top:auto;order:-1;grid-template-columns:1fr 1fr}.presentation-template__grid{grid-template-columns:1fr 1fr !important;grid-template-areas:'main main' 'description description' 'secondary complement' !important}.slide-canvas-pro.is-fullscreen{grid-template-columns:1fr !important;overflow:auto}.slide-canvas-pro.is-fullscreen .slide-stage-pro{height:auto;min-height:100dvh}.slide-canvas-pro.is-fullscreen .slide-hotspots-pro{display:none}}
@media (max-width:760px){.slide-canvas-pro{padding:.55rem;border-radius:20px;margin-inline:-.35rem}.slide-stage-pro{padding:.55rem;border-radius:18px;min-height:auto}.presentation-toolbar-pro{padding:.6rem .65rem}.presentation-toolbar-pro strong{font-size:.85rem}.presentation-toolbar-actions .btn{min-width:38px;min-height:38px}.presentation-template{border-radius:22px !important;padding:16px 14px 0 !important;min-height:auto !important}.presentation-template__header{justify-items:center !important;text-align:center}.presentation-template__grid{grid-template-columns:1fr !important;grid-template-areas:'main' 'description' 'secondary' 'complement' !important}.media-box--primary{height:260px !important;min-height:260px !important}.media-box--secondary{height:170px !important;min-height:170px !important}.description-box,.complement-box{max-height:none !important;overflow:visible !important}.presentation-actions-strip{grid-template-columns:1fr !important;padding:18px 12px 20px !important;gap:12px}.presentation-actions-strip::after{display:none}.voice-trigger{width:94px;height:94px}.circle-action-btn{width:90px;min-height:90px}.presentation-actions-strip__buttons{gap:10px;justify-content:center}.slide-hotspots-pro{display:none}.slide-canvas-pro.is-fullscreen{padding:0 !important;overflow:auto}.slide-canvas-pro.is-fullscreen .slide-stage-pro{border-radius:0;min-height:100dvh;padding:8px}.slide-canvas-pro.is-fullscreen .presentation-template{border-radius:18px !important}}
html.presentation-fullscreen-lock,html.presentation-fullscreen-lock body{overflow:hidden !important;background:#020617 !important}

/* ===== Expertos PRO: admin table + student drawer ===== */
.expertos-admin-page .expertos-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,rgba(18,119,161,.42),rgba(11,18,33,.92));border:1px solid rgba(74,222,128,.18);box-shadow:0 24px 70px rgba(0,0,0,.35)}
.expertos-admin-page .expertos-hero:after{content:"";position:absolute;right:-8%;top:-40%;width:420px;height:420px;background:radial-gradient(circle,rgba(55,255,74,.26),transparent 63%);filter:blur(12px);pointer-events:none}.expertos-toolbar-card{border:1px solid rgba(148,163,184,.16);background:linear-gradient(180deg,rgba(15,23,42,.92),rgba(3,7,18,.86));box-shadow:0 24px 70px rgba(0,0,0,.38)}.expertos-filters{display:grid;grid-template-columns:minmax(220px,280px) minmax(220px,1fr);gap:12px;align-items:center}.expertos-filters select,.expertos-filters input{width:100%;min-height:46px;border-radius:16px;border:1px solid rgba(148,163,184,.22);background:rgba(15,23,42,.78);color:#fff;padding:0 15px;outline:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}.expert-admin-table-wrap{margin-top:18px;border-radius:24px;border:1px solid rgba(148,163,184,.16);background:rgba(2,6,23,.48);overflow:hidden}.expert-admin-table{width:100%;border-collapse:separate;border-spacing:0;color:#f8fafc}.expert-admin-table thead th{padding:15px 16px;text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#93c5fd;background:linear-gradient(180deg,rgba(30,41,59,.9),rgba(15,23,42,.82));border-bottom:1px solid rgba(148,163,184,.14)}.expert-admin-table tbody tr{transition:transform .2s ease,background .2s ease,box-shadow .2s ease}.expert-admin-table tbody tr:hover{background:rgba(59,130,246,.08);box-shadow:inset 3px 0 0 rgba(57,255,20,.75)}.expert-admin-table td{padding:16px;border-bottom:1px solid rgba(148,163,184,.1);vertical-align:middle}.expert-admin-video-cell{display:flex;gap:14px;align-items:center;min-width:300px}.expert-admin-video-cell strong{display:block;font-size:14px;color:#fff}.expert-admin-video-cell small{display:block;max-width:360px;margin-top:4px;color:#cbd5e1;line-height:1.35}.expert-admin-thumb{width:126px;height:74px;border-radius:18px;overflow:hidden;background:linear-gradient(135deg,rgba(37,99,235,.25),rgba(74,222,128,.17));border:1px solid rgba(148,163,184,.18);box-shadow:0 14px 30px rgba(0,0,0,.32);flex:0 0 auto}.expert-admin-thumb video{width:100%;height:100%;object-fit:cover;display:block}.expert-admin-thumb__external{height:100%;display:grid;place-items:center;color:#fff;text-align:center;font-weight:800}.expert-admin-thumb__external i{display:block;font-size:24px;color:#39ff14;text-shadow:0 0 20px rgba(57,255,20,.5)}.expert-admin-thumb__external span{font-size:11px;color:#cbd5e1}.expert-course-pill,.expert-admin-status{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:8px 11px;font-size:12px;font-weight:800;white-space:nowrap}.expert-course-pill{background:rgba(250,204,21,.12);border:1px solid rgba(250,204,21,.3);color:#fde047}.expert-admin-status.is-on{background:rgba(34,197,94,.15);border:1px solid rgba(34,197,94,.32);color:#86efac}.expert-admin-status.is-off{background:rgba(148,163,184,.12);border:1px solid rgba(148,163,184,.22);color:#cbd5e1}.expert-admin-table td p{margin:.25rem 0 0;color:#cbd5e1;font-size:13px}.expert-link{display:inline-flex;align-items:center;gap:7px;color:#93c5fd;font-weight:800;text-decoration:none}.expert-link:hover{color:#39ff14}.expert-admin-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.expert-admin-actions form{margin:0}.expert-admin-pagination{padding:16px 0 0}.expertos-student-launch-wrap{display:flex;justify-content:flex-end;padding:14px 30px 0;position:sticky;top:78px;z-index:20;pointer-events:none}.expertos-student-launch{pointer-events:auto;display:flex;align-items:center;gap:12px;border:1px solid rgba(57,255,20,.35);background:linear-gradient(135deg,rgba(57,255,20,.95),rgba(14,165,233,.92));color:#03130a;border-radius:999px;padding:12px 18px;box-shadow:0 18px 42px rgba(57,255,20,.2),0 0 0 6px rgba(57,255,20,.08);cursor:pointer;transition:transform .22s ease,box-shadow .22s ease}.expertos-student-launch:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 24px 55px rgba(14,165,233,.25),0 0 0 8px rgba(57,255,20,.1)}.expertos-student-launch span{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:rgba(2,6,23,.18);font-size:18px}.expertos-student-launch strong{display:block;font-size:15px}.expertos-student-launch small{display:block;font-size:11px;opacity:.78}.expertos-student-drawer{position:fixed;inset:0;z-index:10000;pointer-events:none;visibility:hidden}.expertos-student-drawer.is-open{pointer-events:auto;visibility:visible}.expertos-drawer-backdrop{position:absolute;inset:0;background:rgba(2,6,23,.68);backdrop-filter:blur(8px);opacity:0;transition:opacity .32s ease}.expertos-student-drawer.is-open .expertos-drawer-backdrop{opacity:1}.expertos-drawer-panel{position:absolute;top:0;right:0;width:min(470px,100vw);height:100dvh;display:flex;flex-direction:column;gap:16px;padding:22px;background:linear-gradient(145deg,rgba(7,15,28,.98),rgba(13,37,34,.96));border-left:1px solid rgba(74,222,128,.24);box-shadow:-34px 0 90px rgba(0,0,0,.55);transform:translateX(106%);transition:transform .38s cubic-bezier(.22,1,.36,1);overflow:hidden}.expertos-student-drawer.is-open .expertos-drawer-panel{transform:translateX(0)}.expertos-drawer-panel:before{content:"";position:absolute;inset:-30% -10% auto auto;width:310px;height:310px;background:radial-gradient(circle,rgba(57,255,20,.2),transparent 65%);filter:blur(10px);pointer-events:none}.expertos-drawer-header{position:relative;display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:18px;border-radius:24px;background:linear-gradient(135deg,rgba(30,64,175,.32),rgba(16,185,129,.14));border:1px solid rgba(148,163,184,.14)}.expertos-drawer-header h2{margin:.25rem 0 .25rem;font-size:25px;color:#fff}.expertos-drawer-header p{margin:0;color:#cbd5e1;line-height:1.35}.expertos-drawer-header .modal-close{width:42px;height:42px;border-radius:16px;background:rgba(15,23,42,.76);border:1px solid rgba(255,255,255,.16);color:#fff}.expertos-drawer-tools{position:relative;display:grid;gap:10px}.expertos-drawer-tools input{width:100%;height:48px;border-radius:16px;border:1px solid rgba(148,163,184,.18);background:rgba(2,6,23,.62);color:#fff;padding:0 15px;outline:none}.expertos-student-list{position:relative;display:grid;gap:14px;overflow:auto;padding-right:4px;scrollbar-width:thin}.expert-student-card{display:grid;grid-template-columns:158px 1fr;gap:14px;padding:12px;border-radius:22px;background:linear-gradient(135deg,rgba(15,23,42,.86),rgba(30,41,59,.55));border:1px solid rgba(148,163,184,.14);box-shadow:0 14px 34px rgba(0,0,0,.28);transition:transform .2s ease,border-color .2s ease}.expert-student-card:hover{transform:translateY(-2px);border-color:rgba(57,255,20,.32)}.expert-student-card.is-viewed{opacity:.82}.expert-student-card__media{position:relative;min-height:98px;border-radius:17px;overflow:hidden;background:linear-gradient(135deg,rgba(37,99,235,.28),rgba(16,185,129,.16));border:1px solid rgba(255,255,255,.1)}.expert-student-card__media video,.expert-student-card__media iframe{width:100%;height:100%;min-height:98px;display:block;border:0;object-fit:cover}.expert-student-card__placeholder{height:100%;min-height:98px;display:grid;place-items:center;color:#fff;text-align:center}.expert-student-card__placeholder i{font-size:30px;color:#39ff14}.expert-view-badge{position:absolute;left:8px;bottom:8px;display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;background:rgba(2,6,23,.74);border:1px solid rgba(255,255,255,.12);color:#fff;font-size:11px;font-weight:800;backdrop-filter:blur(6px)}.expert-student-card__body h3{margin:0 0 5px;color:#fff;font-size:15px}.expert-student-card__body p{margin:0 0 8px;color:#cbd5e1;font-size:13px;line-height:1.35}.expert-student-card__meta{font-size:12px;color:#93c5fd;margin-bottom:10px}.expert-student-card__actions{display:flex;gap:8px;flex-wrap:wrap}.expert-student-pagination{position:relative;padding-top:4px}.expert-student-pagination button,.expert-admin-pagination button{border:1px solid rgba(148,163,184,.18);background:rgba(15,23,42,.75);color:#fff;border-radius:12px;padding:8px 11px;margin:2px;cursor:pointer}.expert-student-pagination button.active,.expert-admin-pagination button.active{background:linear-gradient(135deg,#39ff14,#facc15);color:#03130a;font-weight:900}
body.expert-drawer-open{overflow:hidden}
@media (max-width:900px){.expertos-filters{grid-template-columns:1fr}.expert-admin-table thead{display:none}.expert-admin-table,.expert-admin-table tbody,.expert-admin-table tr,.expert-admin-table td{display:block;width:100%}.expert-admin-table tr{padding:14px;border-bottom:1px solid rgba(148,163,184,.16)}.expert-admin-table td{padding:9px 0;border:0}.expert-admin-table td:before{content:attr(data-label);display:block;margin-bottom:6px;color:#93c5fd;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.expert-admin-video-cell{min-width:0}.expert-admin-actions{justify-content:flex-start}.expertos-student-launch-wrap{top:70px;padding:10px 14px 0}.expertos-student-launch{padding:10px 12px}.expertos-student-launch span{width:36px;height:36px}.expertos-drawer-panel{width:100vw;padding:14px}.expertos-drawer-header{padding:14px}.expertos-drawer-header h2{font-size:22px}.expert-student-card{grid-template-columns:1fr}.expert-student-card__media,.expert-student-card__media video,.expert-student-card__media iframe,.expert-student-card__placeholder{min-height:190px}.expertos-student-list{padding-bottom:22px}.expert-admin-thumb{width:112px;height:66px}}

/* Mario Saber: canvas 2D independiente, moderno y horizontal */
.phaser-game-canvas-wrap.is-mario-saber{position:relative;overflow:hidden;background:linear-gradient(180deg,#0ea5e9,#7dd3fc 52%,#166534 52%,#14532d);}
.phaser-game-canvas-wrap.is-mario-saber .phaser-game-canvas{width:100%;min-height:560px;display:flex;align-items:center;justify-content:center;}
.phaser-game-canvas-wrap.is-mario-saber .phaser-game-canvas canvas{max-width:100%;aspect-ratio:16/9;background:#7dd3fc;box-shadow:0 22px 70px rgba(2,6,23,.38);}
.phaser-game-canvas-wrap.is-mario-saber .phaser-touch-controls{display:grid;}
.phaser-game-canvas-wrap.is-mario-saber .phaser-game-quiz,.phaser-game-canvas-wrap.is-mario-saber .phaser-game-result,.phaser-game-canvas-wrap.is-mario-saber .phaser-game-intro{position:absolute!important;inset:0!important;display:flex;align-items:center;justify-content:center;padding:16px;z-index:80;background:rgba(2,6,23,.58);backdrop-filter:blur(8px);}
.phaser-game-canvas-wrap.is-mario-saber .phaser-game-quiz[hidden],.phaser-game-canvas-wrap.is-mario-saber .phaser-game-result[hidden],.phaser-game-canvas-wrap.is-mario-saber .phaser-game-intro[hidden]{display:none!important;}
@media (max-width:920px){.phaser-game-canvas-wrap.is-mario-saber,.phaser-game-canvas-wrap.is-mario-saber:fullscreen{width:100vw!important;height:100dvh!important;max-width:100vw!important;max-height:100dvh!important;border-radius:0!important;margin:0!important;padding:0!important;overflow:hidden!important;background:#020617;}.phaser-game-canvas-wrap.is-mario-saber .phaser-game-canvas{height:100dvh!important;min-height:0!important;}.phaser-game-canvas-wrap.is-mario-saber .phaser-game-canvas canvas{width:100vw!important;height:100dvh!important;border-radius:0!important;object-fit:fill;}.phaser-game-canvas-wrap.is-mario-saber .phaser-game-quiz-card,.phaser-game-canvas-wrap.is-mario-saber .phaser-game-result-card,.phaser-game-canvas-wrap.is-mario-saber .phaser-game-intro-card{width:min(92vw,640px)!important;max-height:calc(100dvh - 20px)!important;overflow:auto;}.phaser-game-canvas-wrap.is-mario-saber .phaser-touch-controls{position:absolute;left:12px;right:12px;bottom:12px;z-index:50;pointer-events:none;}.phaser-game-canvas-wrap.is-mario-saber .phaser-touch-controls button{pointer-events:auto;min-width:54px;min-height:54px;border-radius:16px;background:rgba(15,23,42,.64);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.25);color:#fff;}.phaser-game-canvas-wrap.is-mario-saber .phaser-touch-controls>[data-dir="up"]{position:absolute;right:0;bottom:0;}.phaser-game-canvas-wrap.is-mario-saber .phaser-touch-row{position:absolute;left:0;bottom:0;display:flex;gap:8px;}.phaser-game-canvas-wrap.is-mario-saber .phaser-touch-row [data-dir="down"]{display:none;}}

/* Mario Saber: controles tactiles corregidos para celular horizontal */
@media (max-width: 1180px), (hover: none), (pointer: coarse){
  .phaser-game-canvas-wrap.is-mario-saber .phaser-touch-controls,
  .phaser-game-canvas-wrap.is-mario-saber:fullscreen .phaser-touch-controls{
    position:fixed !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    width:100vw !important;
    height:100dvh !important;
    transform:none !important;
    display:block !important;
    z-index:2147483000 !important;
    pointer-events:none !important;
  }
  .phaser-game-canvas-wrap.is-mario-saber .phaser-touch-controls .phaser-touch-row,
  .phaser-game-canvas-wrap.is-mario-saber:fullscreen .phaser-touch-controls .phaser-touch-row{
    position:absolute !important;
    left:calc(18px + env(safe-area-inset-left)) !important;
    right:auto !important;
    bottom:calc(16px + env(safe-area-inset-bottom)) !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:14px !important;
    width:auto !important;
    transform:none !important;
    pointer-events:none !important;
  }
  .phaser-game-canvas-wrap.is-mario-saber .phaser-touch-controls button,
  .phaser-game-canvas-wrap.is-mario-saber:fullscreen .phaser-touch-controls button{
    pointer-events:auto !important;
    touch-action:none !important;
    -webkit-tap-highlight-color:transparent !important;
    width:66px !important;
    height:66px !important;
    min-width:66px !important;
    min-height:66px !important;
    border-radius:22px !important;
    border:2px solid rgba(255,255,255,.55) !important;
    background:linear-gradient(180deg,rgba(255,255,255,.35),rgba(15,23,42,.72)) !important;
    color:#fff !important;
    box-shadow:0 16px 34px rgba(2,6,23,.38), inset 0 1px 0 rgba(255,255,255,.35) !important;
    backdrop-filter:blur(12px) !important;
    -webkit-backdrop-filter:blur(12px) !important;
    display:grid !important;
    place-items:center !important;
    font-size:1.45rem !important;
  }
  .phaser-game-canvas-wrap.is-mario-saber .phaser-touch-controls button[data-dir="down"],
  .phaser-game-canvas-wrap.is-mario-saber:fullscreen .phaser-touch-controls button[data-dir="down"]{
    display:none !important;
  }
  .phaser-game-canvas-wrap.is-mario-saber .phaser-touch-controls > button[data-dir="up"],
  .phaser-game-canvas-wrap.is-mario-saber:fullscreen .phaser-touch-controls > button[data-dir="up"]{
    position:absolute !important;
    right:calc(18px + env(safe-area-inset-right)) !important;
    bottom:calc(16px + env(safe-area-inset-bottom)) !important;
    left:auto !important;
    top:auto !important;
    width:86px !important;
    height:86px !important;
    min-width:86px !important;
    min-height:86px !important;
    border-radius:999px !important;
    grid-column:auto !important;
    grid-row:auto !important;
    display:grid !important;
    gap:2px !important;
    place-items:center !important;
    font-size:1.75rem !important;
  }
  .phaser-game-canvas-wrap.is-mario-saber .phaser-touch-controls > button[data-dir="up"] small,
  .phaser-game-canvas-wrap.is-mario-saber:fullscreen .phaser-touch-controls > button[data-dir="up"] small{
    display:block !important;
    margin-top:-10px !important;
    font-size:.72rem !important;
    line-height:1 !important;
    font-weight:900 !important;
    letter-spacing:.02em !important;
  }
}

@media (max-height: 520px) and (orientation: landscape){
  .phaser-game-canvas-wrap.is-mario-saber .phaser-touch-controls .phaser-touch-row,
  .phaser-game-canvas-wrap.is-mario-saber:fullscreen .phaser-touch-controls .phaser-touch-row{
    left:calc(12px + env(safe-area-inset-left)) !important;
    bottom:calc(10px + env(safe-area-inset-bottom)) !important;
    gap:10px !important;
  }
  .phaser-game-canvas-wrap.is-mario-saber .phaser-touch-controls button,
  .phaser-game-canvas-wrap.is-mario-saber:fullscreen .phaser-touch-controls button{
    width:58px !important;
    height:58px !important;
    min-width:58px !important;
    min-height:58px !important;
    border-radius:18px !important;
  }
  .phaser-game-canvas-wrap.is-mario-saber .phaser-touch-controls > button[data-dir="up"],
  .phaser-game-canvas-wrap.is-mario-saber:fullscreen .phaser-touch-controls > button[data-dir="up"]{
    right:calc(12px + env(safe-area-inset-right)) !important;
    bottom:calc(10px + env(safe-area-inset-bottom)) !important;
    width:72px !important;
    height:72px !important;
    min-width:72px !important;
    min-height:72px !important;
  }
}

/* Crucigrama Saber premium responsive polish */
.phaser-game-canvas-wrap.is-crucigrama-saber{padding:14px;background:linear-gradient(180deg,rgba(4,12,26,.96),rgba(6,20,42,.88));border:1px solid rgba(56,189,248,.24);box-shadow:0 32px 80px rgba(2,6,23,.52), inset 0 1px 0 rgba(255,255,255,.06);}
.phaser-game-canvas-wrap.is-crucigrama-saber .phaser-game-canvas{height:auto;min-height:0;display:flex;align-items:center;justify-content:center;}
.phaser-game-canvas-wrap.is-crucigrama-saber canvas{width:100% !important;max-width:100% !important;height:auto !important;display:block;border-radius:24px;box-shadow:0 24px 60px rgba(2,6,23,.42);}
.phaser-game-canvas-wrap.is-crucigrama-saber .phaser-game-stage-actions{z-index:8;}
.phaser-game-canvas-wrap.is-crucigrama-saber .phaser-game-intro-card,.phaser-game-canvas-wrap.is-crucigrama-saber .phaser-game-result-card{background:linear-gradient(135deg,rgba(15,23,42,.96),rgba(8,47,73,.92));border:1px solid rgba(125,211,252,.28);box-shadow:0 28px 70px rgba(2,6,23,.55), inset 0 1px 0 rgba(255,255,255,.08);}
@media (max-width: 980px){.phaser-game-canvas-wrap.is-crucigrama-saber{min-height:0;padding:10px}.phaser-game-canvas-wrap.is-crucigrama-saber canvas{max-height:calc(100dvh - 240px);object-fit:contain}}
.phaser-game-canvas-wrap.is-crucigrama-saber:fullscreen{width:100vw;height:100vh;max-width:100vw;max-height:100vh;border-radius:0;margin:0;padding:8px;background:#020617}
.phaser-game-canvas-wrap.is-crucigrama-saber:fullscreen .phaser-game-canvas{height:100%;min-height:0}
.phaser-game-canvas-wrap.is-crucigrama-saber:fullscreen canvas{width:100% !important;height:100% !important;max-height:100% !important;object-fit:contain;border-radius:18px}

/* Simulacro: editor enriquecido y visualizacion condicional de enunciados */
.sim-rich-text { line-height: 1.65; color: inherit; }
.sim-rich-text p { margin: 0 0 .8rem; }
.sim-rich-text ul, .sim-rich-text ol { margin: .6rem 0 .8rem 1.3rem; padding-left: 1rem; }
.sim-answer-enunciado { margin: .65rem 0 1rem; padding: .85rem 1rem; border-radius: 14px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.08); color: #f8fafc; }
.sim-rich-editor-wrap { display: grid; gap: .45rem; }
.sim-rich-editor-toolbar { display: flex; flex-wrap: wrap; gap: .35rem; padding: .45rem; border: 1px solid rgba(255,255,255,.12); border-radius: 14px 14px 0 0; background: rgba(15,23,42,.72); }
.sim-rich-editor-toolbar button { min-width: 34px; height: 32px; border: 1px solid rgba(255,255,255,.14); border-radius: 9px; background: rgba(255,255,255,.08); color: #fff; cursor: pointer; }
.sim-rich-editor-toolbar button:hover { border-color: rgba(57,255,20,.55); box-shadow: 0 0 0 2px rgba(57,255,20,.12); }
.sim-rich-editor { min-height: 150px; padding: .9rem 1rem; border: 1px solid rgba(255,255,255,.14); border-top: 0; border-radius: 0 0 14px 14px; background: rgba(255,255,255,.06); color: #fff; outline: none; line-height: 1.55; }
.sim-rich-editor:focus { border-color: rgba(57,255,20,.45); box-shadow: 0 0 0 3px rgba(57,255,20,.1); }
.sim-rich-source { display: none !important; }

/* Reto Trivia Saber - módulo independiente */
.reto-trivia-shell{position:relative;overflow:hidden;border-radius:28px;padding:1.1rem;border:1px solid rgba(250,204,21,.18);background:linear-gradient(135deg,rgba(2,6,23,.92),rgba(15,23,42,.96));box-shadow:0 28px 70px rgba(0,0,0,.36)}
.reto-trivia-bg{position:absolute;inset:0;background:radial-gradient(circle at 18% 20%,rgba(56,189,248,.2),transparent 32%),radial-gradient(circle at 82% 10%,rgba(250,204,21,.14),transparent 26%),linear-gradient(135deg,rgba(8,47,73,.88),rgba(2,6,23,.94));opacity:.96;z-index:0}
.reto-trivia-shell[style*="url('http"] .reto-trivia-bg,.reto-trivia-shell[style*="url('/"] .reto-trivia-bg{background-image:linear-gradient(135deg,rgba(2,6,23,.78),rgba(15,23,42,.86)),var(--reto-bg-url);background-size:cover;background-position:center}
.reto-trivia-shell>*:not(.reto-trivia-bg){position:relative;z-index:1}.reto-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem;border-radius:24px;background:rgba(2,6,23,.58);border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(12px)}
.reto-hero h3{font-size:clamp(1.5rem,3vw,2.45rem);margin:.45rem 0}.reto-hero p{max-width:820px;color:rgba(255,255,255,.82)}.reto-controls{display:flex;gap:.65rem}.reto-circle-btn{width:52px;height:52px;border-radius:18px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.08);color:#fff;font-size:1.05rem;cursor:pointer;box-shadow:0 12px 28px rgba(0,0,0,.22)}
.reto-lobby-grid{display:grid;grid-template-columns:330px 1fr;gap:1rem;margin-top:1rem}.reto-panel,.reto-stage-panel{border:1px solid rgba(255,255,255,.1);background:rgba(2,6,23,.62);backdrop-filter:blur(14px);border-radius:26px;padding:1rem;box-shadow:0 24px 54px rgba(0,0,0,.24)}
.reto-rival-list{display:grid;gap:.7rem;margin-top:.8rem}.reto-rival-card,.reto-request-card{display:flex;align-items:center;gap:.75rem;width:100%;border-radius:18px;border:1px solid rgba(255,255,255,.1);background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(56,189,248,.08));color:#fff;padding:.85rem;text-align:left;cursor:pointer}.reto-rival-card:hover{border-color:rgba(250,204,21,.45);transform:translateY(-1px)}
.reto-avatar{width:44px;height:44px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,#facc15,#22c55e);color:#07111f;font-weight:900;box-shadow:0 8px 22px rgba(250,204,21,.25);flex:0 0 auto}.reto-rival-card small{display:block;color:rgba(255,255,255,.62);margin-top:.15rem}.reto-empty{padding:.85rem;border-radius:16px;background:rgba(255,255,255,.06);color:rgba(255,255,255,.72);border:1px dashed rgba(255,255,255,.12)}.reto-inbox{margin-top:1rem;display:grid;gap:.7rem}.reto-request-card{display:grid;align-items:start}.reto-stage-panel{min-height:520px;display:grid;align-content:start}.reto-intro-card{padding:1.2rem;border-radius:24px;background:linear-gradient(135deg,rgba(14,165,233,.16),rgba(250,204,21,.08));border:1px solid rgba(255,255,255,.12)}.reto-intro-card ul{margin:.8rem 0 0;padding-left:1.15rem;color:rgba(255,255,255,.8)}
.reto-arena{display:grid;gap:1rem}.reto-scoreboard{display:grid;grid-template-columns:1fr auto 1fr;gap:.75rem;align-items:center}.reto-player{display:flex;gap:.75rem;align-items:center;padding:.85rem;border-radius:20px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1)}.reto-player strong,.reto-player small{display:block}.reto-player small{color:rgba(255,255,255,.65)}.reto-player.is-turn{border-color:rgba(250,204,21,.55);box-shadow:0 0 0 1px rgba(250,204,21,.2),0 16px 36px rgba(250,204,21,.12)}.reto-turn{display:grid;place-items:center;min-width:150px;padding:.8rem;border-radius:22px;background:rgba(250,204,21,.1);border:1px solid rgba(250,204,21,.28);text-align:center}.reto-turn strong{font-size:2rem;color:#facc15}.reto-question-card-live{padding:1.1rem;border-radius:26px;background:rgba(15,23,42,.78);border:1px solid rgba(56,189,248,.16);box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}.reto-progress{display:flex;justify-content:space-between;gap:.75rem;align-items:center;margin-bottom:.85rem;color:#fde047;font-weight:900}.reto-question-card-live h4{font-size:clamp(1.25rem,2vw,1.8rem);line-height:1.25}.reto-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin-top:1rem}.reto-options button{display:flex;gap:.8rem;align-items:center;border:none;border-radius:18px;background:linear-gradient(135deg,rgba(30,64,175,.75),rgba(14,165,233,.34));color:#fff;padding:1rem;cursor:pointer;border:1px solid rgba(255,255,255,.12);font-weight:800;text-align:left}.reto-options button:disabled{opacity:.52;cursor:not-allowed}.reto-options button span{width:38px;height:38px;border-radius:14px;display:grid;place-items:center;background:#facc15;color:#0f172a;font-weight:900}.reto-options button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 15px 30px rgba(14,165,233,.18)}.reto-feedback{margin-top:1rem;padding:.9rem 1rem;border-radius:18px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);font-weight:800}.reto-feedback.is-correct{background:rgba(34,197,94,.15);border-color:rgba(34,197,94,.45);color:#dcfce7}.reto-feedback.is-wrong{background:rgba(239,68,68,.13);border-color:rgba(239,68,68,.45);color:#fee2e2}.reto-result-card{padding:1.3rem;border-radius:28px;background:linear-gradient(135deg,rgba(250,204,21,.15),rgba(34,197,94,.11),rgba(14,165,233,.1));border:1px solid rgba(250,204,21,.22);animation:retoWin .7s ease both}.reto-result-burst{width:74px;height:74px;border-radius:26px;display:grid;place-items:center;background:#facc15;color:#0f172a;font-size:2rem;box-shadow:0 20px 45px rgba(250,204,21,.24)}.reto-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}.reto-result-grid>div{display:grid;gap:.4rem;padding:1rem;border-radius:20px;background:rgba(2,6,23,.5);border:1px solid rgba(255,255,255,.1)}.reto-winner{font-size:1.2rem}.reto-question-card textarea{min-height:120px}@keyframes retoWin{from{opacity:0;transform:scale(.96) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}
@media (max-width:980px){.reto-lobby-grid,.reto-scoreboard{grid-template-columns:1fr}.reto-options{grid-template-columns:1fr}.reto-stage-panel{min-height:auto}.reto-hero{flex-direction:column}.reto-controls{align-self:flex-end}}

/* Reto Trivia Saber PRO v2 - mejora visual independiente */
.reto-trivia-shell{
  isolation:isolate;
  padding:clamp(14px,2vw,24px);
  border-radius:34px;
  border:1px solid rgba(255,255,255,.16);
  background:linear-gradient(145deg,rgba(3,7,18,.94),rgba(6,20,45,.92) 45%,rgba(14,33,64,.9));
  box-shadow:0 36px 90px rgba(0,0,0,.48), inset 0 1px 0 rgba(255,255,255,.08);
}
.reto-trivia-bg::before,.reto-trivia-bg::after{content:"";position:absolute;inset:auto;pointer-events:none;border-radius:999px;filter:blur(18px);opacity:.65;animation:retoFloat 8s ease-in-out infinite alternate}
.reto-trivia-bg::before{width:360px;height:360px;left:-110px;top:-80px;background:radial-gradient(circle,rgba(56,189,248,.34),transparent 68%)}
.reto-trivia-bg::after{width:320px;height:320px;right:-80px;bottom:-120px;background:radial-gradient(circle,rgba(250,204,21,.28),transparent 70%);animation-delay:-2s}
.reto-hero,.reto-panel,.reto-stage-panel,.reto-intro-card,.reto-question-card-live,.reto-result-card{
  backdrop-filter:blur(18px) saturate(125%);
  -webkit-backdrop-filter:blur(18px) saturate(125%);
}
.reto-hero{background:linear-gradient(135deg,rgba(15,23,42,.66),rgba(14,165,233,.12));border-color:rgba(255,255,255,.14);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 22px 50px rgba(0,0,0,.22)}
.reto-hero h3{letter-spacing:-.04em;text-shadow:0 10px 32px rgba(14,165,233,.24)}
.reto-hero .mini-tag,.reto-progress span,.reto-turn span{border:1px solid rgba(250,204,21,.25);background:rgba(250,204,21,.1);color:#fde047}
.reto-lobby-grid{align-items:stretch}.reto-panel,.reto-stage-panel{background:linear-gradient(145deg,rgba(2,6,23,.74),rgba(15,23,42,.55));border-color:rgba(148,163,184,.16)}
.reto-rival-card,.reto-request-card{position:relative;overflow:hidden;background:linear-gradient(135deg,rgba(255,255,255,.1),rgba(14,165,233,.09));transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
.reto-rival-card::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.16),transparent);transform:translateX(-120%);transition:transform .65s ease}.reto-rival-card:hover::after{transform:translateX(120%)}
.reto-rival-card:hover{box-shadow:0 18px 42px rgba(14,165,233,.16)}
.reto-avatar{border-radius:18px;background:linear-gradient(135deg,#bef264,#22c55e 48%,#06b6d4);box-shadow:0 12px 30px rgba(34,197,94,.28),inset 0 1px 0 rgba(255,255,255,.36)}
.reto-player{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.reto-player.is-turn{transform:translateY(-2px);animation:retoTurnPulse 1.6s ease-in-out infinite}
.reto-turn{background:linear-gradient(135deg,rgba(250,204,21,.18),rgba(14,165,233,.09));box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 18px 38px rgba(250,204,21,.1)}
.reto-question-card-live{background:linear-gradient(160deg,rgba(15,23,42,.84),rgba(30,64,175,.18));border-color:rgba(56,189,248,.24)}
.reto-question-card-live h4{font-size:clamp(1.35rem,2.3vw,2.15rem);font-weight:950;letter-spacing:-.03em;color:#fff}
.reto-options button{position:relative;overflow:hidden;min-height:76px;background:linear-gradient(135deg,rgba(37,99,235,.78),rgba(14,165,233,.28));box-shadow:inset 0 1px 0 rgba(255,255,255,.12);transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}
.reto-options button::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 20%,rgba(255,255,255,.18),transparent 35%);opacity:.8}.reto-options button>*{position:relative;z-index:1}
.reto-options button span{box-shadow:0 10px 22px rgba(250,204,21,.22),inset 0 1px 0 rgba(255,255,255,.36)}
.reto-options button:hover:not(:disabled){filter:saturate(1.1);box-shadow:0 18px 42px rgba(14,165,233,.2)}
.reto-feedback{border-radius:18px;background:rgba(15,23,42,.62);box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.reto-result-card{min-height:420px;place-content:center;text-align:center;background:linear-gradient(135deg,rgba(250,204,21,.2),rgba(34,197,94,.13),rgba(14,165,233,.14));box-shadow:0 26px 60px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.12)}
.reto-result-burst{margin:0 auto 1rem;animation:retoTrophy .9s cubic-bezier(.2,1.6,.32,1) both}
@keyframes retoFloat{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(18px,12px,0) scale(1.08)}}
@keyframes retoTurnPulse{0%,100%{box-shadow:0 0 0 0 rgba(250,204,21,.28)}50%{box-shadow:0 0 0 8px rgba(250,204,21,0)}}
@keyframes retoTrophy{0%{opacity:0;transform:scale(.5) rotate(-10deg)}70%{transform:scale(1.08) rotate(3deg)}100%{opacity:1;transform:scale(1) rotate(0)}}
@media (max-width:760px){.reto-trivia-shell{border-radius:24px;padding:.75rem}.reto-hero{border-radius:22px}.reto-lobby-grid{gap:.8rem}.reto-panel,.reto-stage-panel{border-radius:22px;padding:.85rem}.reto-options button{min-height:64px}.reto-scoreboard{gap:.55rem}.reto-turn{min-width:100%;}.reto-controls{position:sticky;top:.5rem;z-index:3}}

/* Reto Trivia Saber - mejoras pro de sincronizacion, audio y UI */
.reto-live-dot{display:inline-flex;align-items:center;gap:.35rem;margin-left:.45rem;padding:.18rem .5rem;border-radius:999px;background:rgba(34,197,94,.14);color:#86efac;border:1px solid rgba(34,197,94,.28);font-size:.68rem;text-transform:uppercase;letter-spacing:.05em}
.reto-live-dot::before{content:"";width:.42rem;height:.42rem;border-radius:50%;background:#22c55e;box-shadow:0 0 12px rgba(34,197,94,.9);animation:retoPulseLive 1.4s ease-in-out infinite}
@keyframes retoPulseLive{0%,100%{transform:scale(.72);opacity:.55}50%{transform:scale(1.1);opacity:1}}
.reto-trivia-shell{isolation:isolate;background:linear-gradient(135deg,rgba(1,10,24,.96),rgba(8,18,42,.96));border:1px solid rgba(125,211,252,.18);box-shadow:0 32px 90px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.08)}
.reto-trivia-shell::before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(120deg,transparent,rgba(255,255,255,.08),transparent);transform:translateX(-100%);animation:retoSheen 9s ease-in-out infinite;z-index:1;pointer-events:none}.reto-trivia-shell>*:not(.reto-trivia-bg){z-index:2}@keyframes retoSheen{0%,72%{transform:translateX(-110%)}100%{transform:translateX(110%)}}
.reto-trivia-bg{background:radial-gradient(circle at 12% 18%,rgba(14,165,233,.34),transparent 30%),radial-gradient(circle at 80% 16%,rgba(250,204,21,.18),transparent 24%),radial-gradient(circle at 70% 82%,rgba(168,85,247,.18),transparent 28%),linear-gradient(135deg,#06142b 0%,#082f49 46%,#020617 100%)}
.reto-trivia-bg::before{background:radial-gradient(circle,rgba(56,189,248,.40),transparent 68%)}.reto-trivia-bg::after{background:radial-gradient(circle,rgba(250,204,21,.34),transparent 70%)}
.reto-hero,.reto-panel,.reto-stage-panel,.reto-intro-card,.reto-question-card-live,.reto-result-card{box-shadow:0 18px 46px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.08)}
.reto-hero{background:linear-gradient(135deg,rgba(15,23,42,.72),rgba(2,6,23,.52));border-color:rgba(125,211,252,.18)}
.reto-controls .reto-circle-btn{transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.reto-controls .reto-circle-btn:hover{transform:translateY(-2px) scale(1.03);box-shadow:0 12px 30px rgba(56,189,248,.24)}.reto-trivia-shell.music-on [data-reto-toggle-music]{background:linear-gradient(135deg,#22c55e,#84cc16);color:#052e16;box-shadow:0 0 0 4px rgba(34,197,94,.16),0 14px 32px rgba(34,197,94,.24)}
.reto-rival-card,.reto-request-card{position:relative;overflow:hidden;transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}.reto-rival-card:hover,.reto-request-card:hover{transform:translateY(-2px);border-color:rgba(250,204,21,.35);box-shadow:0 16px 34px rgba(0,0,0,.24)}.reto-request-live{animation:retoRequestIn .35s ease both;background:linear-gradient(135deg,rgba(22,163,74,.18),rgba(15,23,42,.72))!important;border-color:rgba(34,197,94,.35)!important}.reto-request-live small{display:block;color:#a7f3d0;margin-top:.2rem}@keyframes retoRequestIn{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}
.reto-scoreboard{background:rgba(2,6,23,.30);border-radius:24px;padding:.35rem}.reto-player{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.reto-player.is-turn{transform:translateY(-2px);border-color:rgba(250,204,21,.65)!important;box-shadow:0 0 0 4px rgba(250,204,21,.12),0 18px 38px rgba(250,204,21,.12)}.reto-player.is-turn .reto-avatar{animation:retoAvatarTurn 1.1s ease-in-out infinite}@keyframes retoAvatarTurn{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}
.reto-turn{background:linear-gradient(180deg,rgba(250,204,21,.14),rgba(15,23,42,.86));border:1px solid rgba(250,204,21,.28);box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.reto-question-card-live h4{font-size:clamp(1.15rem,2vw,1.85rem);line-height:1.25;margin:.8rem 0 1rem}.reto-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.reto-options button{position:relative;overflow:hidden;border:1px solid rgba(125,211,252,.18);background:linear-gradient(135deg,rgba(15,23,42,.94),rgba(30,64,175,.22));box-shadow:inset 0 1px 0 rgba(255,255,255,.08);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.reto-options button:not(:disabled):hover{transform:translateY(-2px);border-color:rgba(250,204,21,.48);box-shadow:0 14px 32px rgba(0,0,0,.24),0 0 0 4px rgba(250,204,21,.10)}.reto-options button:disabled{opacity:.65;filter:saturate(.75)}.reto-options button span{display:inline-grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:linear-gradient(135deg,#facc15,#f97316);color:#111827;margin-right:.55rem;box-shadow:0 8px 18px rgba(250,204,21,.24)}
.reto-feedback{border-radius:16px;padding:.85rem 1rem;background:rgba(15,23,42,.72);border:1px solid rgba(148,163,184,.16);transition:background .2s ease,border-color .2s ease,transform .2s ease}.reto-feedback.is-correct{background:rgba(34,197,94,.14);border-color:rgba(34,197,94,.38);color:#bbf7d0;animation:retoFeedback .35s ease}.reto-feedback.is-wrong{background:rgba(239,68,68,.14);border-color:rgba(239,68,68,.38);color:#fecaca;animation:retoFeedback .35s ease}@keyframes retoFeedback{0%{transform:scale(.98)}65%{transform:scale(1.015)}100%{transform:scale(1)}}
.reto-result-card{background:linear-gradient(135deg,rgba(15,23,42,.92),rgba(30,64,175,.34));border:1px solid rgba(250,204,21,.22);text-align:center}.reto-result-burst{width:72px;height:72px;margin:0 auto 1rem;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#facc15,#f97316);color:#111827;font-size:2rem;box-shadow:0 0 0 8px rgba(250,204,21,.12),0 18px 38px rgba(250,204,21,.22);animation:retoTrophy .8s ease both}@keyframes retoTrophy{from{transform:scale(.5) rotate(-16deg);opacity:0}to{transform:none;opacity:1}}
@media (max-width:900px){.reto-options{grid-template-columns:1fr}.reto-lobby-grid{grid-template-columns:1fr}.reto-stage-panel{min-height:520px}}@media (max-width:560px){.reto-scoreboard{grid-template-columns:1fr}.reto-player,.reto-turn{width:100%}.reto-hero{flex-direction:column}.reto-controls{width:100%;justify-content:flex-end}.reto-options button{min-height:58px}}

/* Reto Trivia Saber v4 - turnos, avatares y modal global */
.reto-avatar{overflow:hidden;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#a3e635,#22c55e);color:#052e16;font-weight:900;box-shadow:0 8px 22px rgba(34,197,94,.25)}
.reto-avatar img{width:100%;height:100%;object-fit:cover;display:block;border-radius:inherit}.reto-player.is-turn{border-color:rgba(250,204,21,.75)!important;box-shadow:0 0 0 4px rgba(250,204,21,.12),0 18px 44px rgba(250,204,21,.14)!important;transform:translateY(-2px)}
.reto-my-turn .reto-question-card-live{box-shadow:0 0 0 3px rgba(34,197,94,.18),0 28px 70px rgba(34,197,94,.14);border-color:rgba(34,197,94,.55)}
.reto-turn-toast{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.92);z-index:20;min-width:min(420px,88vw);padding:1.25rem 1.4rem;border-radius:28px;background:linear-gradient(135deg,rgba(6,78,59,.94),rgba(15,23,42,.96));border:1px solid rgba(134,239,172,.5);box-shadow:0 30px 90px rgba(0,0,0,.55),0 0 55px rgba(34,197,94,.28);text-align:center;color:#fff;opacity:0;pointer-events:none}.reto-turn-toast.show{animation:retoTurnPop 2.8s ease both}.reto-turn-toast i{font-size:2rem;color:#fde047;filter:drop-shadow(0 0 12px rgba(250,204,21,.55))}.reto-turn-toast strong{display:block;font-size:clamp(1.45rem,3vw,2.1rem);margin:.45rem 0 .15rem}.reto-turn-toast span{color:#bbf7d0;font-weight:700}@keyframes retoTurnPop{0%{opacity:0;transform:translate(-50%,-50%) scale(.82)}12%,78%{opacity:1;transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-52%) scale(.96)}}
.reto-request-head{display:flex;align-items:center;gap:.65rem}.reto-request-head .reto-avatar{width:42px;height:42px;border-radius:16px;flex:0 0 42px}.reto-rival-card .reto-avatar,.reto-player .reto-avatar{width:44px;height:44px;border-radius:16px;flex:0 0 44px}.reto-options button:not(:disabled){position:relative;overflow:hidden}.reto-options button:not(:disabled)::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.16),transparent);transform:translateX(-110%);animation:retoOptionShine 2.6s ease-in-out infinite}@keyframes retoOptionShine{0%,55%{transform:translateX(-110%)}100%{transform:translateX(110%)}}
.reto-global-modal{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;padding:1rem}.reto-global-modal.show{display:flex}.reto-global-backdrop{position:absolute;inset:0;background:rgba(2,6,23,.72);backdrop-filter:blur(10px)}.reto-global-card{position:relative;width:min(480px,94vw);border-radius:32px;padding:1.4rem;background:radial-gradient(circle at 20% 0%,rgba(56,189,248,.22),transparent 34%),linear-gradient(135deg,rgba(15,23,42,.98),rgba(2,6,23,.98));border:1px solid rgba(250,204,21,.28);box-shadow:0 35px 110px rgba(0,0,0,.65),inset 0 1px 0 rgba(255,255,255,.08);color:#fff;animation:retoModalIn .32s ease both}.reto-global-card h3{font-size:clamp(1.35rem,3vw,2rem);margin:.7rem 0 .35rem}.reto-global-card p{color:#dbeafe}.reto-global-close{position:absolute;top:.8rem;right:.8rem;width:36px;height:36px;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.08);color:#fff;font-size:1.3rem;cursor:pointer}.reto-global-avatar{width:74px;height:74px;border-radius:26px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:linear-gradient(135deg,#facc15,#22c55e);color:#052e16;font-size:2rem;font-weight:900;box-shadow:0 16px 42px rgba(250,204,21,.22)}.reto-global-avatar img{width:100%;height:100%;object-fit:cover}.reto-global-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1rem}.reto-global-actions .btn{flex:1;justify-content:center}@keyframes retoModalIn{from{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:760px){.reto-turn-toast{top:42%;}.reto-global-card{border-radius:26px}.reto-global-actions{flex-direction:column}.reto-rival-card .reto-avatar,.reto-player .reto-avatar{width:40px;height:40px;border-radius:14px}}

.reto-waiting-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.45rem;width:100%;min-height:150px;border-radius:24px;border:1px solid rgba(250,204,21,.28);background:radial-gradient(circle at 50% 0%,rgba(250,204,21,.16),transparent 42%),linear-gradient(135deg,rgba(15,23,42,.78),rgba(30,64,175,.42));box-shadow:inset 0 1px 0 rgba(255,255,255,.08);color:#fff;text-align:center;padding:1.2rem}.reto-waiting-card i{width:54px;height:54px;border-radius:20px;display:grid;place-items:center;background:linear-gradient(135deg,#facc15,#a3e635);color:#052e16;box-shadow:0 18px 45px rgba(250,204,21,.24)}.reto-waiting-card strong{font-size:1.05rem}.reto-waiting-card span{color:#cbd5e1;font-size:.92rem;max-width:420px}

/* Reto trivia: ocultar correctamente al cancelar/cerrar */
.reto-intro-card[hidden],.reto-arena[hidden],.reto-result-card[hidden]{display:none!important}


/* Modal de ayuda inicial: registro o inicio de sesión */
.access-help-modal { width: min(780px, 94vw); overflow: hidden; color: #fff; border: 1px solid rgba(57,255,20,.18); background: radial-gradient(circle at 15% 10%, rgba(57,255,20,.16), transparent 34%), radial-gradient(circle at 88% 22%, rgba(255,214,10,.13), transparent 32%), linear-gradient(180deg, rgba(5,12,26,.98), rgba(4,8,18,.99)); box-shadow: 0 30px 90px rgba(0,0,0,.58), 0 0 0 1px rgba(57,255,20,.06); }
.access-help-modal__shine { position:absolute; inset:0; pointer-events:none; background:linear-gradient(135deg, rgba(255,255,255,.10), transparent 36%, rgba(57,255,20,.06)); opacity:.75; }
.access-help-modal__hero, .access-help-modal__grid, .access-help-modal__links { position:relative; z-index:1; }
.access-help-modal__hero { padding-right: 2.6rem; }
.access-help-modal__hero h3 { margin:.75rem 0 .45rem; font-size:clamp(1.45rem, 3vw, 2.2rem); line-height:1.08; }
.access-help-modal__hero p { margin:0; color:#dbeafe; line-height:1.55; max-width:62ch; }
.access-help-modal__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin-top:1.25rem; }
.access-help-option { padding:1rem; border-radius:22px; border:1px solid rgba(255,255,255,.10); background:rgba(255,255,255,.055); box-shadow:inset 0 1px 0 rgba(255,255,255,.05); display:flex; flex-direction:column; gap:.7rem; }
.access-help-option__icon { width:48px; height:48px; border-radius:16px; display:grid; place-items:center; background:rgba(57,255,20,.10); color:#d7ff2f; border:1px solid rgba(57,255,20,.22); font-size:1.2rem; }
.access-help-option h4 { margin:0; font-size:1.12rem; }
.access-help-option p { margin:0; color:#cbd5e1; line-height:1.45; flex:1; }
.access-help-option .btn { width:100%; justify-content:center; margin-top:.15rem; }
.access-help-modal__links { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:.8rem; margin-top:1rem; padding-top:1rem; border-top:1px solid rgba(255,255,255,.10); }
.access-help-modal .link-button { color:#ffe066; font-weight:800; }
@media (max-width: 680px) { .access-help-modal { width:min(94vw, 520px); max-height:88vh; overflow:auto; padding:1.15rem; border-radius:22px; } .access-help-modal__hero { padding-right:2.2rem; } .access-help-modal__grid { grid-template-columns:1fr; } .access-help-modal__links { align-items:flex-start; flex-direction:column; } }

/* Ajuste responsivo puntual para la modal inicial en celulares */
@media (max-width: 680px) {
  #modalAyudaAcceso.modal.active {
    align-items: flex-start;
    justify-content: center;
    padding: max(.65rem, env(safe-area-inset-top)) .65rem max(.65rem, env(safe-area-inset-bottom));
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
  #modalAyudaAcceso .access-help-modal {
    width: min(94vw, 520px);
    max-height: calc(100dvh - 1.3rem);
    margin: 0 auto;
    padding: .95rem;
    border-radius: 20px;
    overflow-y: auto;
  }
  #modalAyudaAcceso .modal-close {
    top: .6rem;
    right: .6rem;
    width: 34px;
    height: 34px;
  }
  #modalAyudaAcceso .section-badge {
    font-size: .72rem;
    padding: .35rem .55rem;
  }
  #modalAyudaAcceso .access-help-modal__hero {
    padding-right: 2.1rem;
  }
  #modalAyudaAcceso .access-help-modal__hero h3 {
    font-size: 1.35rem;
    margin: .55rem 0 .35rem;
  }
  #modalAyudaAcceso .access-help-modal__hero p,
  #modalAyudaAcceso .access-help-option p {
    font-size: .92rem;
    line-height: 1.35;
  }
  #modalAyudaAcceso .access-help-modal__grid {
    gap: .75rem;
    margin-top: .85rem;
  }
  #modalAyudaAcceso .access-help-option {
    padding: .82rem;
    border-radius: 18px;
    gap: .5rem;
  }
  #modalAyudaAcceso .access-help-option__icon {
    width: 40px;
    height: 40px;
    border-radius: 14px;
  }
  #modalAyudaAcceso .access-help-option h4 {
    font-size: 1rem;
  }
  #modalAyudaAcceso .access-help-modal__links {
    margin-top: .75rem;
    padding-top: .75rem;
    gap: .55rem;
  }
}

@media (max-width: 380px) {
  #modalAyudaAcceso .access-help-modal {
    max-height: calc(100dvh - .8rem);
    padding: .8rem;
  }
  #modalAyudaAcceso .access-help-option__icon {
    display: none;
  }
}

/* Mario Saber - vidas con corazones y avatar con animacion */
[data-phaser-game] .mario-life-heart{display:inline-flex;align-items:center;justify-content:center;margin-right:2px;font-size:1.05rem;line-height:1;filter:drop-shadow(0 0 8px rgba(244,63,94,.55));transform-origin:center;animation:marioHeartBeat 1.25s ease-in-out infinite;}
[data-phaser-game] .mario-life-heart.is-empty{filter:none;color:rgba(148,163,184,.48);animation:none;transform:scale(.92);}
[data-phaser-game] .mario-life-heart.is-full{color:#fb7185;text-shadow:0 0 10px rgba(244,63,94,.6);}
[data-phaser-game] .mario-life-count{margin-left:.35rem;font-size:.86rem;color:rgba(255,255,255,.78);vertical-align:middle;}
@keyframes marioHeartBeat{0%,100%{transform:scale(1)}35%{transform:scale(1.16)}55%{transform:scale(.98)}}
@media(max-width:760px){[data-phaser-game] .mario-life-heart{font-size:.98rem;margin-right:1px}[data-phaser-game] .mario-life-count{font-size:.78rem}}


/* Mundo aventura - temática individual moderna */
.world-level-card{position:relative;overflow:hidden;border-color:rgba(56,189,248,.24)!important;background:linear-gradient(135deg,rgba(14,165,233,.10),rgba(34,197,94,.07),rgba(15,23,42,.4))!important;box-shadow:0 18px 48px rgba(0,0,0,.22)}
.world-level-main-head strong{font-size:1.08rem}.world-builder-banner{display:flex;gap:.9rem;align-items:flex-start;padding:1rem;margin:.75rem 0 1rem;border-radius:20px;background:linear-gradient(135deg,rgba(34,197,94,.13),rgba(14,165,233,.11));border:1px solid rgba(125,211,252,.22)}
.world-builder-banner i{display:grid;place-items:center;width:42px;height:42px;border-radius:16px;background:rgba(250,204,21,.14);color:#fde047;font-size:1.25rem}.world-builder-banner p{margin:0;color:rgba(255,255,255,.82);line-height:1.45}
.world-questions-panel{margin-top:1rem;padding:1rem;border-radius:22px;background:rgba(2,6,23,.34);border:1px solid rgba(255,255,255,.08)}
.world-questions-title{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.85rem}.world-questions-title strong{color:#e0f2fe}
.world-question-card{padding:1rem;margin:.75rem 0;border-radius:20px;background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(15,23,42,.28));border:1px solid rgba(250,204,21,.16)}
.world-question-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.world-question-head strong{display:flex;align-items:center;gap:.45rem;color:#fde047}.world-question-head i{filter:drop-shadow(0 0 8px rgba(250,204,21,.45))}
.phaser-game-canvas-wrap.is-mundo-aventura,.phaser-game-canvas-wrap.is-mundo_aventura{background:radial-gradient(circle at 20% 10%,rgba(56,189,248,.16),transparent 32%),radial-gradient(circle at 80% 0%,rgba(34,197,94,.12),transparent 35%),#020617;border-color:rgba(125,211,252,.25);box-shadow:0 28px 70px rgba(2,6,23,.42)}
.phaser-game-canvas canvas{width:100%;height:100%;display:block;border-radius:24px}

/* Mundo aventura - constructor moderno por niveles */
.world-level-card{border:1px solid rgba(125,211,252,.28)!important;background:linear-gradient(145deg,rgba(15,23,42,.96),rgba(8,47,73,.68))!important;box-shadow:0 22px 55px rgba(2,6,23,.32);border-radius:24px!important;overflow:hidden}
.world-level-main-head{background:linear-gradient(90deg,rgba(14,165,233,.20),rgba(34,197,94,.12));padding:16px;border-radius:18px;margin-bottom:12px}
.world-builder-banner{display:flex;gap:14px;align-items:flex-start;padding:14px 16px;border-radius:18px;background:rgba(14,165,233,.10);border:1px solid rgba(125,211,252,.20);margin:12px 0}
.world-builder-banner i{font-size:28px;color:#fde047}.world-builder-banner p{margin:0;color:#dbeafe;line-height:1.45}.world-questions-panel{margin-top:16px;padding:14px;border:1px solid rgba(148,163,184,.20);border-radius:20px;background:rgba(2,6,23,.28)}
.world-questions-title,.world-question-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.world-question-card{padding:14px;margin:12px 0;border-radius:18px;background:linear-gradient(135deg,rgba(15,23,42,.92),rgba(30,41,59,.78));border:1px solid rgba(250,204,21,.22)}
.phaser-game-canvas-wrap.is-mundo-aventura .phaser-game-canvas canvas{border-radius:22px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14),0 24px 60px rgba(2,6,23,.36)}

/* Mundo aventura premium: pista larga, mapa y constructor moderno */
.mundo-aventura-canvas-premium{width:100%;max-width:100%;aspect-ratio:16/9;border-radius:26px;display:block;background:#020617;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18),0 30px 80px rgba(2,6,23,.45)}
.phaser-game-canvas-wrap.is-mundo-aventura,.phaser-game-canvas-wrap.is-mundo_aventura{background:radial-gradient(circle at 15% 0%,rgba(56,189,248,.28),transparent 34%),radial-gradient(circle at 82% 18%,rgba(34,197,94,.18),transparent 36%),linear-gradient(135deg,#020617,#0f172a);border:1px solid rgba(125,211,252,.32);box-shadow:0 30px 90px rgba(2,6,23,.48)}
.phaser-game-canvas-wrap.is-mundo-aventura .phaser-game-quiz-card{border-radius:28px;border:1px solid rgba(125,211,252,.3);background:linear-gradient(145deg,rgba(15,23,42,.96),rgba(30,41,59,.94));box-shadow:0 30px 90px rgba(2,6,23,.5)}
.phaser-game-canvas-wrap.is-mundo-aventura .phaser-game-quiz-options button{border-radius:18px;border:1px solid rgba(125,211,252,.22);background:linear-gradient(135deg,rgba(14,165,233,.15),rgba(34,197,94,.12));transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease}
.phaser-game-canvas-wrap.is-mundo-aventura .phaser-game-quiz-options button:hover{transform:translateY(-2px);box-shadow:0 16px 35px rgba(14,165,233,.22);border-color:rgba(125,211,252,.55)}
.world-level-card{border:1px solid rgba(14,165,233,.18)!important;background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(240,249,255,.92))!important;box-shadow:0 22px 60px rgba(15,23,42,.12)!important;border-radius:26px!important;overflow:hidden}
.world-level-main-head{background:linear-gradient(135deg,#0f172a,#0369a1 58%,#16a34a);color:white;margin:-18px -18px 18px;padding:18px!important}
.world-level-main-head small{color:rgba(255,255,255,.8)!important}.world-builder-banner{background:linear-gradient(135deg,rgba(14,165,233,.12),rgba(34,197,94,.11));border:1px solid rgba(14,165,233,.2);border-radius:22px;padding:14px 16px;margin-bottom:16px;display:flex;gap:12px;align-items:flex-start}.world-builder-banner i{font-size:26px;color:#0284c7}.world-builder-banner p{margin:0;color:#334155}.world-questions-panel{margin-top:18px;border:1px dashed rgba(14,165,233,.32);border-radius:24px;padding:16px;background:rgba(248,250,252,.72)}.world-questions-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.world-question-card{border:1px solid rgba(148,163,184,.24);background:white;border-radius:22px;padding:15px;margin:12px 0;box-shadow:0 12px 34px rgba(15,23,42,.08)}.world-question-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.world-question-head strong{color:#0f172a}.world-question-head i{color:#f59e0b}
@media (max-width: 760px){.mundo-aventura-canvas-premium{border-radius:18px}.world-questions-title{flex-direction:column;align-items:flex-start}.world-level-main-head{flex-direction:column;align-items:flex-start!important}.phaser-game-canvas-wrap.is-mundo-aventura .phaser-touch-controls{display:flex}}


/* Mundo aventura - pulido final estudiante: controles solo móvil y UI más premium */
.phaser-game-canvas-wrap.is-mundo-aventura .phaser-touch-controls,
.phaser-game-canvas-wrap.is-mundo_aventura .phaser-touch-controls{display:none !important;}
.phaser-game-canvas-wrap.is-mundo-aventura .phaser-touch-controls [data-dir="down"],
.phaser-game-canvas-wrap.is-mundo_aventura .phaser-touch-controls [data-dir="down"]{display:none !important;}
@media (hover:none) and (pointer:coarse), (max-width: 760px){
  .phaser-game-canvas-wrap.is-mundo-aventura .phaser-touch-controls,
  .phaser-game-canvas-wrap.is-mundo_aventura .phaser-touch-controls{
    display:grid !important;grid-template-columns:76px 76px 1fr 82px;grid-template-rows:82px;align-items:end;gap:12px;left:14px;right:14px;bottom:12px;width:auto;transform:none;pointer-events:none;z-index:15;
  }
  .phaser-game-canvas-wrap.is-mundo-aventura .phaser-touch-controls > button[data-dir="up"],
  .phaser-game-canvas-wrap.is-mundo_aventura .phaser-touch-controls > button[data-dir="up"]{display:grid !important;grid-column:4;grid-row:1;width:78px;height:78px;border-radius:999px;background:linear-gradient(135deg,rgba(34,197,94,.85),rgba(14,165,233,.72));box-shadow:0 18px 40px rgba(14,165,233,.35);}
  .phaser-game-canvas-wrap.is-mundo-aventura .phaser-touch-controls .phaser-touch-row,
  .phaser-game-canvas-wrap.is-mundo_aventura .phaser-touch-controls .phaser-touch-row{display:contents;}
  .phaser-game-canvas-wrap.is-mundo-aventura .phaser-touch-controls button,
  .phaser-game-canvas-wrap.is-mundo_aventura .phaser-touch-controls button{pointer-events:auto;width:70px;height:70px;border-radius:999px;border:1px solid rgba(255,255,255,.30);background:linear-gradient(180deg,rgba(255,255,255,.32),rgba(15,23,42,.38));backdrop-filter:blur(14px);box-shadow:0 16px 35px rgba(2,6,23,.28);color:#fff;}
  .phaser-game-canvas-wrap.is-mundo-aventura .phaser-touch-controls button[data-dir="left"],
  .phaser-game-canvas-wrap.is-mundo_aventura .phaser-touch-controls button[data-dir="left"]{grid-column:1;grid-row:1;}
  .phaser-game-canvas-wrap.is-mundo-aventura .phaser-touch-controls button[data-dir="right"],
  .phaser-game-canvas-wrap.is-mundo_aventura .phaser-touch-controls button[data-dir="right"]{grid-column:2;grid-row:1;}
}

/* Mundo aventura: resultado premium con confeti */
.phaser-game-canvas-wrap.is-mundo-aventura .world-result-premium,
.phaser-game-canvas-wrap.is-mundo_aventura .world-result-premium{overflow:hidden;border-radius:28px!important;background:radial-gradient(circle at 20% 0%,rgba(56,189,248,.22),transparent 34%),radial-gradient(circle at 90% 10%,rgba(250,204,21,.18),transparent 30%),linear-gradient(145deg,rgba(2,6,23,.96),rgba(15,23,42,.94))!important;border:1px solid rgba(125,211,252,.36)!important;box-shadow:0 30px 90px rgba(2,6,23,.58), inset 0 0 0 1px rgba(255,255,255,.08)!important}
.phaser-game-canvas-wrap.is-mundo-aventura .world-result-summary,
.phaser-game-canvas-wrap.is-mundo_aventura .world-result-summary{margin:14px 0 4px;display:grid;gap:14px;position:relative;z-index:2}
.world-result-hero{display:flex;gap:14px;align-items:center;padding:14px;border-radius:22px;background:linear-gradient(135deg,rgba(14,165,233,.18),rgba(34,197,94,.12));border:1px solid rgba(125,211,252,.25)}
.world-result-badge{width:58px;height:58px;border-radius:20px;display:grid;place-items:center;background:linear-gradient(135deg,#facc15,#fb923c);box-shadow:0 18px 40px rgba(250,204,21,.28);font-size:30px;animation:worldBadgePop 1.1s ease-in-out infinite alternate}
.world-result-hero strong{display:block;color:#fff;font-size:1.15rem;margin-bottom:4px}.world-result-hero span{display:block;color:rgba(255,255,255,.78);line-height:1.45}.world-result-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.world-result-stats b{display:grid;gap:2px;place-items:center;padding:12px;border-radius:18px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.10)}.world-result-stats em{font-style:normal;font-size:1.35rem;color:#fde047}.world-result-stats small{color:rgba(255,255,255,.72);font-weight:700}.world-result-confetti{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:1}.world-result-confetti i{position:absolute;top:-30px;font-style:normal;font-size:18px;animation:worldConfetti 2.8s cubic-bezier(.12,.55,.25,1) var(--d,0s) forwards;transform:translateX(0) rotate(0deg)}@keyframes worldConfetti{to{top:108%;transform:translateX(var(--x,0)) rotate(var(--r,360deg));opacity:.05}}@keyframes worldBadgePop{from{transform:translateY(0) scale(1)}to{transform:translateY(-3px) scale(1.05)}}@media(max-width:760px){.world-result-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.world-result-hero{align-items:flex-start}.world-result-badge{width:48px;height:48px;border-radius:16px;font-size:24px}}


/* Upgrade PRO Mundo Aventura: animaciones, física y feedback visual del jugador */
.phaser-game-canvas-wrap.is-mundo-aventura .phaser-game-canvas,
.phaser-game-canvas-wrap.is-mundo_aventura .phaser-game-canvas{position:relative;overflow:hidden;border-radius:28px;background:radial-gradient(circle at 50% 0%,rgba(125,211,252,.16),transparent 38%),#020617;}
.phaser-game-canvas-wrap.is-mundo-aventura .phaser-game-canvas:before,
.phaser-game-canvas-wrap.is-mundo_aventura .phaser-game-canvas:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);transform:translateX(-120%);animation:mundoShine 7s ease-in-out infinite;z-index:1;}
.phaser-game-canvas-wrap.is-mundo-aventura .mundo-aventura-canvas-premium,
.phaser-game-canvas-wrap.is-mundo_aventura .mundo-aventura-canvas-premium{filter:saturate(1.08) contrast(1.03);}
.phaser-game-canvas-wrap.is-mundo-aventura .phaser-game-quiz-card,
.phaser-game-canvas-wrap.is-mundo_aventura .phaser-game-quiz-card{animation:mundoQuizPop .22s ease-out;}
.phaser-game-canvas-wrap.is-mundo-aventura .phaser-game-quiz-options button.is-correct{border-color:rgba(34,197,94,.85)!important;box-shadow:0 0 0 3px rgba(34,197,94,.16),0 18px 42px rgba(34,197,94,.18)!important;transform:translateY(-2px) scale(1.01);}
.phaser-game-canvas-wrap.is-mundo-aventura .phaser-game-quiz-options button.is-wrong{border-color:rgba(239,68,68,.85)!important;box-shadow:0 0 0 3px rgba(239,68,68,.16),0 18px 42px rgba(239,68,68,.18)!important;animation:mundoShake .28s ease-in-out;}
@keyframes mundoShine{0%,72%{transform:translateX(-120%);opacity:0}78%{opacity:.45}100%{transform:translateX(120%);opacity:0}}
@keyframes mundoQuizPop{from{transform:translateY(10px) scale(.98);opacity:.72}to{transform:translateY(0) scale(1);opacity:1}}
@keyframes mundoShake{0%,100%{transform:translateX(0)}25%{transform:translateX(-4px)}50%{transform:translateX(4px)}75%{transform:translateX(-2px)}}

/* Mundo aventura: misiones + cofres + touch premium */
.mundo-aventura-canvas-premium{touch-action:none;-webkit-user-select:none;user-select:none;image-rendering:auto;}
.phaser-game-canvas-wrap:fullscreen .mundo-aventura-canvas-premium{width:100vw!important;height:100vh!important;max-height:100vh!important;object-fit:contain;background:#020617;}
.phaser-game-canvas-wrap:fullscreen{background:radial-gradient(circle at 50% 20%,#0ea5e9 0,#042f2e 55%,#020617 100%);display:flex;align-items:center;justify-content:center;overflow:hidden;}
.phaser-game-canvas-wrap:fullscreen .phaser-touch-controls{position:fixed;z-index:50;bottom:max(16px,env(safe-area-inset-bottom));left:18px;right:18px;width:auto;display:flex;justify-content:space-between;pointer-events:none;}
.phaser-game-canvas-wrap:fullscreen .phaser-touch-controls button{pointer-events:auto;touch-action:none;box-shadow:0 14px 35px rgba(2,6,23,.42), inset 0 1px 0 rgba(255,255,255,.25);}
@media (min-width: 921px){.phaser-game-canvas-wrap:not(:fullscreen) .phaser-touch-controls{display:none!important;}}

/* Mundo aventura: corrección touch móvil fullscreen + mapa más premium */
.phaser-game-canvas-wrap.is-mundo-aventura .phaser-game-quiz,
.phaser-game-canvas-wrap.is-mundo_aventura .phaser-game-quiz,
.phaser-game-canvas-wrap.is-mundo-aventura [data-phaser-quiz],
.phaser-game-canvas-wrap.is-mundo_aventura [data-phaser-quiz]{touch-action:manipulation;z-index:80;}
.phaser-game-canvas-wrap.is-mundo-aventura .phaser-game-quiz-options button,
.phaser-game-canvas-wrap.is-mundo_aventura .phaser-game-quiz-options button{touch-action:manipulation;cursor:pointer;min-height:54px;position:relative;z-index:90;}
.phaser-game-canvas-wrap:fullscreen [data-phaser-quiz],
.phaser-game-canvas-wrap:fullscreen [data-phaser-result],
.phaser-game-canvas-wrap:fullscreen [data-phaser-intro]{position:fixed!important;inset:0!important;z-index:100!important;touch-action:manipulation;}
.phaser-game-canvas-wrap:fullscreen .phaser-game-quiz-card,
.phaser-game-canvas-wrap:fullscreen .phaser-game-result-card,
.phaser-game-canvas-wrap:fullscreen .phaser-game-intro-card{max-width:min(92vw,720px);max-height:88vh;overflow:auto;-webkit-overflow-scrolling:touch;}
.phaser-game-canvas-wrap.is-mundo-aventura .mundo-answer-touch,
.phaser-game-canvas-wrap.is-mundo_aventura .mundo-answer-touch{-webkit-tap-highlight-color:transparent;}

/* Pulido final Mundo Aventura: responsive, microanimaciones y acabado premium solo jugador */
.phaser-game-canvas-wrap.is-mundo-aventura .phaser-game-title,
.phaser-game-canvas-wrap.is-mundo_aventura .phaser-game-title,
.phaser-game-canvas-wrap.is-mundo-aventura .phaser-game-intro-card,
.phaser-game-canvas-wrap.is-mundo_aventura .phaser-game-intro-card,
.phaser-game-canvas-wrap.is-mundo-aventura .phaser-game-result-card,
.phaser-game-canvas-wrap.is-mundo_aventura .phaser-game-result-card{max-width:100%;overflow-wrap:anywhere;word-break:normal;hyphens:auto;}
.phaser-game-canvas-wrap.is-mundo-aventura .phaser-game-canvas,
.phaser-game-canvas-wrap.is-mundo_aventura .phaser-game-canvas{box-shadow:0 26px 80px rgba(2,6,23,.52), inset 0 0 0 1px rgba(255,255,255,.13);}
.phaser-game-canvas-wrap.is-mundo-aventura .phaser-game-canvas:after,
.phaser-game-canvas-wrap.is-mundo_aventura .phaser-game-canvas:after{content:"";position:absolute;inset:0;border-radius:28px;pointer-events:none;background:radial-gradient(circle at 18% 14%,rgba(255,255,255,.16),transparent 18%),linear-gradient(180deg,rgba(255,255,255,.05),transparent 30%,rgba(2,6,23,.14));z-index:2;mix-blend-mode:screen;}
.phaser-game-canvas-wrap.is-mundo-aventura .phaser-game-quiz-card,
.phaser-game-canvas-wrap.is-mundo_aventura .phaser-game-quiz-card{backdrop-filter:blur(18px);}
@media(max-width:760px){
  .phaser-game-canvas-wrap.is-mundo-aventura .phaser-game-title,
  .phaser-game-canvas-wrap.is-mundo_aventura .phaser-game-title{font-size:clamp(1.05rem,4vw,1.35rem);line-height:1.15;}
  .phaser-game-canvas-wrap.is-mundo-aventura .phaser-game-intro-card,
  .phaser-game-canvas-wrap.is-mundo_aventura .phaser-game-intro-card,
  .phaser-game-canvas-wrap.is-mundo-aventura .phaser-game-result-card,
  .phaser-game-canvas-wrap.is-mundo_aventura .phaser-game-result-card{max-width:calc(100vw - 22px);padding:16px!important;}
}

/* Patrulla del Saber - temática independiente */
.phaser-game-canvas-wrap.is-patrulla-saber{background:radial-gradient(circle at 20% 0%,rgba(59,130,246,.26),transparent 34%),radial-gradient(circle at 80% 20%,rgba(250,204,21,.14),transparent 32%),linear-gradient(135deg,#020617,#172554);border:1px solid rgba(147,197,253,.36);box-shadow:0 30px 90px rgba(2,6,23,.52)}
.phaser-game-canvas-wrap.is-patrulla-saber .phaser-game-canvas{position:relative;overflow:hidden;border-radius:28px;background:#020617;box-shadow:0 28px 80px rgba(2,6,23,.52),inset 0 0 0 1px rgba(255,255,255,.12)}
.patrulla-saber-canvas{width:100%;max-width:100%;aspect-ratio:16/9;display:block;border-radius:28px;background:#0f172a;filter:saturate(1.08) contrast(1.04)}
.patrulla-action-btn{position:absolute;left:18px;bottom:18px;z-index:35;border:1px solid rgba(255,255,255,.32);background:linear-gradient(135deg,rgba(37,99,235,.92),rgba(14,165,233,.82));color:#fff;border-radius:999px;padding:12px 18px;font-weight:800;box-shadow:0 18px 44px rgba(2,6,23,.36);backdrop-filter:blur(14px);cursor:pointer;touch-action:manipulation}
.patrulla-action-btn:hover{transform:translateY(-1px);box-shadow:0 22px 50px rgba(37,99,235,.42)}
.phaser-game-canvas-wrap.is-patrulla-saber .phaser-game-quiz-card{border-radius:28px;border:1px solid rgba(147,197,253,.32);background:radial-gradient(circle at 20% 0%,rgba(59,130,246,.24),transparent 32%),linear-gradient(145deg,rgba(15,23,42,.97),rgba(30,41,59,.95));box-shadow:0 30px 90px rgba(2,6,23,.55);backdrop-filter:blur(18px)}
.phaser-game-canvas-wrap.is-patrulla-saber .phaser-game-quiz-options button{min-height:56px;border-radius:18px;border:1px solid rgba(147,197,253,.28);background:linear-gradient(135deg,rgba(37,99,235,.18),rgba(14,165,233,.12));touch-action:manipulation;position:relative;z-index:90}
.phaser-game-canvas-wrap.is-patrulla-saber .phaser-game-quiz-options button.is-correct{border-color:rgba(34,197,94,.75);box-shadow:0 0 0 3px rgba(34,197,94,.15)}
.phaser-game-canvas-wrap.is-patrulla-saber .phaser-game-quiz-options button.is-wrong{border-color:rgba(239,68,68,.78);box-shadow:0 0 0 3px rgba(239,68,68,.14)}
.police-banner{background:linear-gradient(135deg,rgba(37,99,235,.12),rgba(250,204,21,.08));border-color:rgba(147,197,253,.26)}
.police-level-card{border-color:rgba(147,197,253,.24)!important;background:linear-gradient(145deg,rgba(15,23,42,.04),rgba(37,99,235,.05))!important}
.police-question-card{border-left:4px solid rgba(37,99,235,.7)}
.phaser-game-canvas-wrap.is-patrulla-saber .phaser-touch-controls{display:flex!important;pointer-events:none;z-index:45}
.phaser-game-canvas-wrap.is-patrulla-saber .phaser-touch-controls button{pointer-events:auto;touch-action:none;border:1px solid rgba(255,255,255,.34);background:linear-gradient(180deg,rgba(255,255,255,.32),rgba(15,23,42,.45));color:#fff;box-shadow:0 16px 35px rgba(2,6,23,.28);backdrop-filter:blur(14px)}
@media (max-width:760px){.patrulla-action-btn{left:12px;bottom:96px;padding:11px 14px;font-size:.88rem}.phaser-game-canvas-wrap.is-patrulla-saber .phaser-touch-controls{display:flex!important}.patrulla-saber-canvas{border-radius:18px}}

/* Upgrade PRO Patrulla del Saber - experiencia jugador */
.phaser-game-canvas-wrap.is-patrulla-saber{
  background:
    radial-gradient(circle at 18% 10%,rgba(56,189,248,.34),transparent 30%),
    radial-gradient(circle at 82% 18%,rgba(250,204,21,.18),transparent 34%),
    linear-gradient(135deg,#020617,#0f172a 48%,#172554);
  box-shadow:0 34px 100px rgba(2,6,23,.6), inset 0 0 0 1px rgba(255,255,255,.08);
}
.phaser-game-canvas-wrap.is-patrulla-saber .phaser-game-canvas{box-shadow:0 32px 90px rgba(2,6,23,.55), inset 0 0 0 1px rgba(255,255,255,.14)}
.patrulla-saber-canvas{filter:saturate(1.14) contrast(1.06) drop-shadow(0 24px 50px rgba(2,6,23,.32))}
.patrulla-action-btn{background:linear-gradient(135deg,rgba(37,99,235,.96),rgba(6,182,212,.9),rgba(34,197,94,.86));box-shadow:0 20px 55px rgba(14,165,233,.34),inset 0 0 0 1px rgba(255,255,255,.22)}
.phaser-game-canvas-wrap.is-patrulla-saber .phaser-game-quiz-card{animation:patrullaModalIn .22s ease-out both}
@keyframes patrullaModalIn{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
.phaser-game-canvas-wrap.is-patrulla-saber .phaser-game-quiz-options button{transition:transform .14s ease, box-shadow .14s ease, border-color .14s ease}
.phaser-game-canvas-wrap.is-patrulla-saber .phaser-game-quiz-options button:hover{transform:translateY(-1px);box-shadow:0 16px 34px rgba(14,165,233,.18)}

/* === Patrulla del Saber: micro-pulido ultra premium (solo experiencia visual, sin tocar constructor) === */
.phaser-game-canvas-wrap.is-patrulla-saber{
  background:
    radial-gradient(circle at 15% 10%, rgba(56,189,248,.28), transparent 30%),
    radial-gradient(circle at 88% 12%, rgba(250,204,21,.18), transparent 26%),
    radial-gradient(circle at 50% 100%, rgba(34,197,94,.13), transparent 35%),
    linear-gradient(135deg,#020617,#0f172a 42%,#172554 100%);
  box-shadow:0 38px 110px rgba(2,6,23,.58), inset 0 0 0 1px rgba(255,255,255,.12);
}
.phaser-game-canvas-wrap.is-patrulla-saber .phaser-game-canvas::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  border-radius:28px;
  background:
    linear-gradient(115deg, transparent 0 22%, rgba(255,255,255,.08) 28%, transparent 36% 100%),
    radial-gradient(circle at 50% 12%, rgba(255,255,255,.08), transparent 30%);
  mix-blend-mode:screen;
  animation:patrullaLightSweep 8s ease-in-out infinite;
  z-index:3;
}
@keyframes patrullaLightSweep{
  0%,100%{opacity:.18;transform:translateX(-4%)}
  50%{opacity:.42;transform:translateX(4%)}
}
.patrulla-saber-canvas{
  filter:saturate(1.2) contrast(1.08) drop-shadow(0 26px 60px rgba(2,6,23,.34));
}
.patrulla-action-btn{
  letter-spacing:.01em;
  transform:translateZ(0);
  transition:transform .16s ease, box-shadow .16s ease, filter .16s ease;
}
.patrulla-action-btn:active{transform:scale(.97);filter:brightness(1.08)}
.phaser-game-canvas-wrap.is-patrulla-saber .phaser-game-quiz-card{
  border-radius:30px;
  background:
    radial-gradient(circle at 18% 0%, rgba(56,189,248,.26), transparent 33%),
    radial-gradient(circle at 92% 18%, rgba(250,204,21,.14), transparent 29%),
    linear-gradient(145deg,rgba(15,23,42,.98),rgba(30,41,59,.96));
  box-shadow:0 34px 100px rgba(2,6,23,.62), inset 0 0 0 1px rgba(255,255,255,.10);
}
.phaser-game-canvas-wrap.is-patrulla-saber .phaser-game-quiz-card h4,
.phaser-game-canvas-wrap.is-patrulla-saber .phaser-game-quiz-title{
  text-wrap:balance;
}
.phaser-game-canvas-wrap.is-patrulla-saber .phaser-game-quiz-options button{
  background:
    linear-gradient(135deg,rgba(37,99,235,.24),rgba(14,165,233,.13)),
    rgba(255,255,255,.04);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);
}
.phaser-game-canvas-wrap.is-patrulla-saber .phaser-game-quiz-options button:active{transform:scale(.985)}
.phaser-game-canvas-wrap.is-patrulla-saber .phaser-game-result-card{
  border-radius:30px;
  background:
    radial-gradient(circle at 20% 0%,rgba(250,204,21,.20),transparent 30%),
    radial-gradient(circle at 92% 12%,rgba(34,197,94,.17),transparent 28%),
    linear-gradient(145deg,rgba(15,23,42,.98),rgba(30,41,59,.96));
  box-shadow:0 36px 100px rgba(2,6,23,.64), inset 0 0 0 1px rgba(255,255,255,.12);
}
@media (max-width:760px){
  .phaser-game-canvas-wrap.is-patrulla-saber .phaser-game-canvas::before{border-radius:18px}
  .phaser-game-canvas-wrap.is-patrulla-saber .phaser-game-quiz-card{max-height:82vh;overflow:auto}
}

/* Pulido final Patrulla: botones de resultado y ciudad premium */
.is-patrulla-saber [data-phaser-result] [data-phaser-restart],
.is-patrulla-saber .phaser-game-result [data-phaser-restart]{
  min-width: 190px;
  border-radius: 999px;
  background: linear-gradient(135deg,#0ea5e9,#2563eb,#7c3aed);
  box-shadow: 0 18px 45px rgba(37,99,235,.28), inset 0 1px 0 rgba(255,255,255,.28);
  letter-spacing: .01em;
}
.is-patrulla-saber [data-phaser-result] [data-phaser-restart]:hover,
.is-patrulla-saber .phaser-game-result [data-phaser-restart]:hover{
  transform: translateY(-2px) scale(1.02);
  filter: saturate(1.1) brightness(1.05);
}
.is-patrulla-saber .patrulla-action-btn{
  backdrop-filter: blur(14px);
  box-shadow: 0 18px 44px rgba(15,23,42,.24), inset 0 1px 0 rgba(255,255,255,.22);
}

/* ===== Pista atletica - pulido visual PRO solo experiencia estudiante ===== */
.phaser-game-canvas-wrap.is-pista{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 22% 12%, rgba(250,204,21,.18), transparent 28%),
    radial-gradient(circle at 86% 18%, rgba(59,130,246,.20), transparent 30%),
    linear-gradient(180deg, rgba(7,16,34,.96), rgba(10,34,64,.84));
  border:1px solid rgba(250,204,21,.30);
  box-shadow:0 34px 86px rgba(2,6,23,.38), inset 0 1px 0 rgba(255,255,255,.08);
}
.phaser-game-canvas-wrap.is-pista::before{
  content:"";
  position:absolute;
  inset:-40% -20%;
  pointer-events:none;
  background:
    linear-gradient(120deg, transparent 0 42%, rgba(255,255,255,.10) 48%, transparent 54% 100%),
    radial-gradient(circle at 60% 0%, rgba(255,255,255,.12), transparent 24%);
  animation:pistaLightSweep 9s linear infinite;
}
.phaser-game-canvas-wrap.is-pista::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  border-radius:30px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08), inset 0 -35px 80px rgba(15,23,42,.20);
}
@keyframes pistaLightSweep{0%{transform:translateX(-24%) rotate(0deg)}100%{transform:translateX(24%) rotate(0deg)}}
.pista-canvas-board{
  position:relative;
  border-radius:30px;
  background:#7cc6ff;
  filter:saturate(1.08) contrast(1.03);
}
.phaser-game-quiz.is-pista .phaser-game-quiz-card,
.phaser-game-result.is-pista .phaser-game-result-card{
  border-radius:28px;
  border:1px solid rgba(250,204,21,.25);
  background:
    radial-gradient(circle at top left, rgba(250,204,21,.16), transparent 34%),
    linear-gradient(180deg, rgba(15,23,42,.96), rgba(11,24,48,.96));
  box-shadow:0 28px 72px rgba(2,6,23,.42), inset 0 1px 0 rgba(255,255,255,.08);
}
.phaser-game-quiz.is-pista [data-phaser-quiz-options] button{
  border-radius:18px;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.phaser-game-quiz.is-pista [data-phaser-quiz-options] button:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(59,130,246,.18);}
.phaser-touch-controls.is-pista button{
  backdrop-filter: blur(12px);
  background:linear-gradient(180deg, rgba(255,255,255,.94), rgba(219,234,254,.84));
  border-color:rgba(59,130,246,.24);
  box-shadow:0 12px 30px rgba(15,23,42,.22);
}


/* Pista atlética - upgrade olímpico visual solo experiencia estudiante */
.phaser-game-stage:has(.pista-canvas-board),
.phaser-game-canvas-wrap:has(.pista-canvas-board) {
  background: radial-gradient(circle at 50% 0%, rgba(125,211,252,.22), transparent 44%), linear-gradient(135deg, rgba(15,23,42,.94), rgba(30,64,175,.72));
}
.pista-canvas-board {
  border-radius: 28px;
  box-shadow: 0 30px 90px rgba(15,23,42,.34), 0 0 0 1px rgba(255,255,255,.18) inset, 0 0 45px rgba(56,189,248,.14);
  background: #0f172a;
}
.phaser-game-stage .phaser-touch-controls.is-pista button,
.phaser-touch-controls.is-pista button {
  backdrop-filter: blur(14px);
  background: linear-gradient(135deg, rgba(255,255,255,.92), rgba(191,219,254,.78));
  color: #0f172a;
  border: 1px solid rgba(255,255,255,.72);
  box-shadow: 0 14px 34px rgba(15,23,42,.24), 0 0 18px rgba(59,130,246,.22);
}
.phaser-game-result.is-pista,
.phaser-game-quiz.is-pista {
  backdrop-filter: blur(18px);
}


/* === AJUSTE FINAL: CONTROLES DEL LABERINTO MEJOR UBICADOS EN CELULARES Y PANTALLA COMPLETA === */
@media (max-width: 920px){
  .phaser-game-canvas-wrap.is-laberinto,
  .phaser-game-canvas-wrap.is-laberinto:fullscreen{
    --lab-touch-size: 58px;
    --lab-touch-gap: 10px;
  }

  .phaser-game-canvas-wrap.is-laberinto .phaser-touch-controls,
  .phaser-game-canvas-wrap.is-laberinto:fullscreen .phaser-touch-controls{
    position:absolute !important;
    z-index:90 !important;
    display:grid !important;
    grid-template-columns:auto !important;
    grid-template-rows:auto auto !important;
    gap:var(--lab-touch-gap) !important;
    width:auto !important;
    pointer-events:none !important;
    padding:10px 12px !important;
    border-radius:22px !important;
    border:1px solid rgba(148,163,184,.22) !important;
    background:linear-gradient(180deg, rgba(2,6,23,.76), rgba(15,23,42,.54)) !important;
    box-shadow:0 18px 42px rgba(2,6,23,.38) !important;
    backdrop-filter:blur(12px) !important;
    -webkit-backdrop-filter:blur(12px) !important;
  }

  .phaser-game-canvas-wrap.is-laberinto .phaser-touch-controls > button[data-dir="up"],
  .phaser-game-canvas-wrap.is-laberinto:fullscreen .phaser-touch-controls > button[data-dir="up"]{
    display:grid !important;
    place-items:center !important;
    justify-self:center !important;
  }

  .phaser-game-canvas-wrap.is-laberinto .phaser-touch-controls .phaser-touch-row,
  .phaser-game-canvas-wrap.is-laberinto:fullscreen .phaser-touch-controls .phaser-touch-row{
    display:grid !important;
    grid-template-columns:auto auto auto !important;
    align-items:center !important;
    justify-content:center !important;
    gap:var(--lab-touch-gap) !important;
  }

  .phaser-game-canvas-wrap.is-laberinto .phaser-touch-controls [data-dir],
  .phaser-game-canvas-wrap.is-laberinto:fullscreen .phaser-touch-controls [data-dir]{
    width:var(--lab-touch-size) !important;
    height:var(--lab-touch-size) !important;
    min-width:var(--lab-touch-size) !important;
    min-height:var(--lab-touch-size) !important;
    display:grid !important;
    place-items:center !important;
    pointer-events:auto !important;
    touch-action:none !important;
    user-select:none !important;
    -webkit-user-select:none !important;
    border-radius:18px !important;
    border:1px solid rgba(255,255,255,.18) !important;
    background:linear-gradient(180deg, rgba(255,255,255,.22), rgba(30,41,59,.42)) !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.12), 0 12px 24px rgba(2,6,23,.24) !important;
    color:#fff !important;
    font-size:1.05rem !important;
  }

  .phaser-game-canvas-wrap.is-laberinto .phaser-touch-controls [data-dir]:active,
  .phaser-game-canvas-wrap.is-laberinto:fullscreen .phaser-touch-controls [data-dir]:active{
    transform:scale(.96) !important;
  }
}

@media (max-width: 920px) and (orientation: portrait){
  .phaser-game-canvas-wrap.is-laberinto,
  .phaser-game-canvas-wrap.is-laberinto:fullscreen{
    padding:8px 8px calc(env(safe-area-inset-bottom, 0px) + 118px) !important;
    overflow:hidden !important;
  }

  .phaser-game-canvas-wrap.is-laberinto .laberinto-canvas-board,
  .phaser-game-canvas-wrap.is-laberinto:fullscreen .laberinto-canvas-board{
    max-height:calc(100dvh - 272px) !important;
  }

  .phaser-game-canvas-wrap.is-laberinto .phaser-touch-controls,
  .phaser-game-canvas-wrap.is-laberinto:fullscreen .phaser-touch-controls{
    left:50% !important;
    right:auto !important;
    bottom:calc(env(safe-area-inset-bottom, 0px) + 10px) !important;
    transform:translateX(-50%) !important;
    transform-origin:bottom center !important;
  }
}

@media (max-width: 920px) and (orientation: landscape){
  .phaser-game-canvas-wrap.is-laberinto,
  .phaser-game-canvas-wrap.is-laberinto:fullscreen{
    width:100vw !important;
    height:100dvh !important;
    max-width:100vw !important;
    max-height:100dvh !important;
    margin:0 !important;
    border-radius:0 !important;
    overflow:hidden !important;
    padding:8px calc(env(safe-area-inset-right, 0px) + 150px) 8px 8px !important;
  }

  .phaser-game-canvas-wrap.is-laberinto .phaser-game-canvas,
  .phaser-game-canvas-wrap.is-laberinto:fullscreen .phaser-game-canvas{
    width:100% !important;
    height:calc(100dvh - 16px) !important;
    min-height:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
  }

  .phaser-game-canvas-wrap.is-laberinto .laberinto-canvas-board,
  .phaser-game-canvas-wrap.is-laberinto:fullscreen .laberinto-canvas-board{
    width:100% !important;
    height:100% !important;
    max-width:100% !important;
    max-height:100% !important;
    object-fit:contain !important;
  }

  .phaser-game-canvas-wrap.is-laberinto .phaser-touch-controls,
  .phaser-game-canvas-wrap.is-laberinto:fullscreen .phaser-touch-controls{
    left:auto !important;
    right:calc(env(safe-area-inset-right, 0px) + 12px) !important;
    bottom:calc(env(safe-area-inset-bottom, 0px) + 12px) !important;
    transform:none !important;
    transform-origin:bottom right !important;
  }
}


/* === Patrulla del Saber: ajuste final móvil / pantalla completa / tacto === */
.phaser-game-canvas-wrap.is-patrulla-saber,
.phaser-game-canvas-wrap.is-patrulla-saber .patrulla-saber-canvas{
  touch-action:none !important;
  -webkit-user-select:none !important;
  user-select:none !important;
}
.phaser-game-canvas-wrap.is-patrulla-saber .phaser-touch-controls{
  position:absolute !important;
  z-index:80 !important;
  pointer-events:none !important;
}
.phaser-game-canvas-wrap.is-patrulla-saber .phaser-touch-controls [data-dir]{
  pointer-events:auto !important;
  touch-action:none !important;
  -webkit-tap-highlight-color:transparent !important;
}
@media (max-width:920px){
  .phaser-game-canvas-wrap.is-patrulla-saber,
  .phaser-game-canvas-wrap.is-patrulla-saber:fullscreen{
    --patrulla-pad:58px;
    --patrulla-gap:10px;
    width:100% !important;
    max-width:100% !important;
    overflow:hidden !important;
  }
  .phaser-game-canvas-wrap.is-patrulla-saber .phaser-touch-controls,
  .phaser-game-canvas-wrap.is-patrulla-saber:fullscreen .phaser-touch-controls{
    display:grid !important;
    grid-template-columns:auto !important;
    grid-template-rows:auto auto !important;
    gap:var(--patrulla-gap) !important;
    width:auto !important;
    padding:10px 12px !important;
    border-radius:22px !important;
    background:linear-gradient(180deg,rgba(2,6,23,.76),rgba(15,23,42,.48)) !important;
    border:1px solid rgba(255,255,255,.18) !important;
    box-shadow:0 18px 42px rgba(2,6,23,.38), inset 0 1px 0 rgba(255,255,255,.08) !important;
    backdrop-filter:blur(12px) !important;
    -webkit-backdrop-filter:blur(12px) !important;
  }
  .phaser-game-canvas-wrap.is-patrulla-saber .phaser-touch-controls > button[data-dir="up"],
  .phaser-game-canvas-wrap.is-patrulla-saber:fullscreen .phaser-touch-controls > button[data-dir="up"]{
    display:grid !important;
    grid-column:1 !important;
    grid-row:1 !important;
    justify-self:center !important;
  }
  .phaser-game-canvas-wrap.is-patrulla-saber .phaser-touch-controls .phaser-touch-row,
  .phaser-game-canvas-wrap.is-patrulla-saber:fullscreen .phaser-touch-controls .phaser-touch-row{
    display:grid !important;
    grid-template-columns:auto auto auto !important;
    gap:var(--patrulla-gap) !important;
    justify-content:center !important;
    align-items:center !important;
  }
  .phaser-game-canvas-wrap.is-patrulla-saber .phaser-touch-controls [data-dir],
  .phaser-game-canvas-wrap.is-patrulla-saber:fullscreen .phaser-touch-controls [data-dir]{
    width:var(--patrulla-pad) !important;
    height:var(--patrulla-pad) !important;
    min-width:var(--patrulla-pad) !important;
    min-height:var(--patrulla-pad) !important;
    display:grid !important;
    place-items:center !important;
    border-radius:18px !important;
    border:1px solid rgba(255,255,255,.24) !important;
    background:linear-gradient(180deg,rgba(255,255,255,.28),rgba(15,23,42,.48)) !important;
    color:#fff !important;
    font-size:1.1rem !important;
    box-shadow:0 12px 28px rgba(2,6,23,.32), inset 0 1px 0 rgba(255,255,255,.14) !important;
  }
  .phaser-game-canvas-wrap.is-patrulla-saber .patrulla-action-btn,
  .phaser-game-canvas-wrap.is-patrulla-saber:fullscreen .patrulla-action-btn{
    z-index:82 !important;
    touch-action:none !important;
  }
}
@media (max-width:920px) and (orientation:portrait){
  .phaser-game-canvas-wrap.is-patrulla-saber,
  .phaser-game-canvas-wrap.is-patrulla-saber:fullscreen{
    padding-bottom:calc(env(safe-area-inset-bottom,0px) + 118px) !important;
  }
  .phaser-game-canvas-wrap.is-patrulla-saber .phaser-touch-controls,
  .phaser-game-canvas-wrap.is-patrulla-saber:fullscreen .phaser-touch-controls{
    left:50% !important;
    right:auto !important;
    bottom:calc(env(safe-area-inset-bottom,0px) + 10px) !important;
    transform:translateX(-50%) !important;
    transform-origin:bottom center !important;
  }
  .phaser-game-canvas-wrap.is-patrulla-saber .patrulla-action-btn,
  .phaser-game-canvas-wrap.is-patrulla-saber:fullscreen .patrulla-action-btn{
    left:12px !important;
    bottom:calc(env(safe-area-inset-bottom,0px) + 106px) !important;
  }
}
@media (max-width:920px) and (orientation:landscape){
  .phaser-game-canvas-wrap.is-patrulla-saber:fullscreen{
    width:100vw !important;
    height:100dvh !important;
    max-width:100vw !important;
    max-height:100dvh !important;
    margin:0 !important;
    border-radius:0 !important;
    padding:8px calc(env(safe-area-inset-right,0px) + 136px) 8px 8px !important;
    background:#020617 !important;
  }
  .phaser-game-canvas-wrap.is-patrulla-saber:fullscreen .phaser-game-canvas{
    height:calc(100dvh - 16px) !important;
    min-height:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
  }
  .phaser-game-canvas-wrap.is-patrulla-saber:fullscreen .patrulla-saber-canvas{
    width:100% !important;
    height:100% !important;
    max-width:100% !important;
    max-height:100% !important;
    object-fit:contain !important;
    border-radius:18px !important;
  }
  .phaser-game-canvas-wrap.is-patrulla-saber .phaser-touch-controls,
  .phaser-game-canvas-wrap.is-patrulla-saber:fullscreen .phaser-touch-controls{
    left:auto !important;
    right:calc(env(safe-area-inset-right,0px) + 10px) !important;
    bottom:calc(env(safe-area-inset-bottom,0px) + 10px) !important;
    transform:none !important;
    transform-origin:bottom right !important;
  }
  .phaser-game-canvas-wrap.is-patrulla-saber:fullscreen .patrulla-action-btn{
    left:12px !important;
    bottom:calc(env(safe-area-inset-bottom,0px) + 12px) !important;
  }
}


/* Escena del crimen - pasada ultra final premium */
.crime-cinematic-card.is-ultra {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(250,204,21,.26);
  box-shadow: 0 28px 90px rgba(2,6,23,.46), inset 0 1px 0 rgba(255,255,255,.08);
}
.crime-cinematic-card.is-ultra::before {
  content: '';
  position: absolute;
  inset: -40%;
  background:
    radial-gradient(circle at 20% 20%, rgba(56,189,248,.12), transparent 22%),
    radial-gradient(circle at 82% 24%, rgba(250,204,21,.11), transparent 24%),
    linear-gradient(120deg, transparent 0%, rgba(255,255,255,.06) 45%, transparent 62%);
  animation: crimeCinematicSweep 3.2s linear infinite;
  pointer-events: none;
}
.crime-cinematic-card.is-ultra > * { position: relative; z-index: 1; }
.crime-cinematic-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .55rem;
  margin: .9rem 0 .75rem;
}
.crime-cinematic-steps b {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .35rem;
  border-radius: 14px;
  padding: .62rem .5rem;
  color: #f8fafc;
  background: rgba(15,23,42,.62);
  border: 1px solid rgba(255,255,255,.08);
  font-size: .78rem;
}
.crime-cinematic-steps i { color: #facc15; }

.crime-result-ultra {
  background:
    radial-gradient(circle at 12% 0%, rgba(250,204,21,.18), transparent 34%),
    radial-gradient(circle at 88% 4%, rgba(56,189,248,.16), transparent 34%),
    linear-gradient(180deg, rgba(2,6,23,.98), rgba(15,23,42,.94)) !important;
  border: 1px solid rgba(250,204,21,.24) !important;
  box-shadow: 0 34px 90px rgba(2,6,23,.48), inset 0 1px 0 rgba(255,255,255,.08) !important;
}
.crime-result-ultra h4::after {
  content: ' · CASO RESUELTO PREMIUM';
  color: #facc15;
  font-size: .72em;
}

.phaser-game-quiz.is-crime .phaser-game-quiz-card {
  background:
    radial-gradient(circle at top left, rgba(56,189,248,.14), transparent 32%),
    radial-gradient(circle at bottom right, rgba(250,204,21,.10), transparent 30%),
    linear-gradient(180deg, rgba(2,6,23,.98), rgba(15,23,42,.95)) !important;
  border: 1px solid rgba(148,163,184,.20) !important;
  box-shadow: 0 26px 72px rgba(2,6,23,.46), inset 0 1px 0 rgba(255,255,255,.06) !important;
}
.phaser-game-quiz.is-crime [data-phaser-quiz-options] button {
  border-radius: 18px !important;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
}
.phaser-game-quiz.is-crime [data-phaser-quiz-options] button:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 32px rgba(56,189,248,.16);
  border-color: rgba(250,204,21,.28) !important;
}

.crime-case-panel {
  border: 1px solid rgba(250,204,21,.18) !important;
  box-shadow: 0 24px 68px rgba(2,6,23,.42), inset 0 1px 0 rgba(255,255,255,.06) !important;
}
.crime-bag-toggle {
  box-shadow: 0 18px 44px rgba(2,6,23,.32), inset 0 1px 0 rgba(255,255,255,.08) !important;
}

@keyframes crimeCinematicSweep {
  0% { transform: rotate(0deg) translateX(-6%); opacity: .8; }
  50% { opacity: 1; }
  100% { transform: rotate(360deg) translateX(-6%); opacity: .8; }
}

@media (max-width: 720px) {
  .crime-cinematic-steps { grid-template-columns: 1fr; }
  .crime-cinematic-card.is-ultra { max-width: min(92vw, 460px); }
}


/* Correccion movil Patrulla del Saber: fullscreen seguro sin bloquear intro */
.phaser-game-canvas-wrap.is-patrulla-saber .patrulla-saber-canvas{
  touch-action:none !important;
  -webkit-tap-highlight-color:transparent !important;
}
@media (max-width:920px){
  .phaser-game-canvas-wrap.is-patrulla-saber .phaser-game-intro[hidden],
  .phaser-game-canvas-wrap.is-patrulla-saber .phaser-game-quiz[hidden],
  .phaser-game-canvas-wrap.is-patrulla-saber .phaser-game-result[hidden]{
    display:none !important;
    pointer-events:none !important;
  }
  .phaser-game-canvas-wrap.is-patrulla-saber:fullscreen,
  .phaser-game-canvas-wrap.is-patrulla-saber:-webkit-full-screen{
    width:100vw !important;
    height:100dvh !important;
    max-width:100vw !important;
    max-height:100dvh !important;
    margin:0 !important;
    border-radius:0 !important;
    overflow:hidden !important;
  }
  .phaser-game-canvas-wrap.is-patrulla-saber:fullscreen .phaser-game-canvas,
  .phaser-game-canvas-wrap.is-patrulla-saber:-webkit-full-screen .phaser-game-canvas{
    width:100% !important;
    min-height:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
  }
  .phaser-game-canvas-wrap.is-patrulla-saber:fullscreen .patrulla-saber-canvas,
  .phaser-game-canvas-wrap.is-patrulla-saber:-webkit-full-screen .patrulla-saber-canvas{
    width:100% !important;
    max-width:100% !important;
    height:100% !important;
    max-height:100% !important;
    object-fit:contain !important;
  }
}
@media (max-width:920px) and (orientation:portrait){
  .phaser-game-canvas-wrap.is-patrulla-saber:fullscreen,
  .phaser-game-canvas-wrap.is-patrulla-saber:-webkit-full-screen{
    padding:8px 8px 92px !important;
  }
  .phaser-game-canvas-wrap.is-patrulla-saber:fullscreen .phaser-game-canvas,
  .phaser-game-canvas-wrap.is-patrulla-saber:-webkit-full-screen .phaser-game-canvas{
    height:calc(100dvh - 108px) !important;
  }
}
@media (max-width:920px) and (orientation:landscape){
  .phaser-game-canvas-wrap.is-patrulla-saber:fullscreen,
  .phaser-game-canvas-wrap.is-patrulla-saber:-webkit-full-screen{
    padding:8px 148px 8px 8px !important;
  }
  .phaser-game-canvas-wrap.is-patrulla-saber:fullscreen .phaser-game-canvas,
  .phaser-game-canvas-wrap.is-patrulla-saber:-webkit-full-screen .phaser-game-canvas{
    height:calc(100dvh - 16px) !important;
  }
  .phaser-game-canvas-wrap.is-patrulla-saber:fullscreen .phaser-touch-controls,
  .phaser-game-canvas-wrap.is-patrulla-saber:-webkit-full-screen .phaser-touch-controls{
    left:auto !important;
    right:12px !important;
    bottom:50% !important;
    transform:translateY(50%) scale(.82) !important;
  }
}

/* Ajuste puntual: imagenes de modulos completas dentro de su contenedor */
.module-card .course-image.small img,
.student-module-banner__media .course-image.small img,
.polished-module-card .course-image.small img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  transform: none !important;
}

/* Ajuste puntual final: imagenes de modulos completas, sin recorte, en PC y movil */
.module-card .course-image.small,
.student-module-banner__media .course-image.small,
.polished-module-card .course-image.small {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  padding: 0 !important;
  display: block !important;
  overflow: hidden !important;
}
.module-card .course-image.small img,
.student-module-banner__media .course-image.small img,
.polished-module-card .course-image.small img {
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: none !important;
  display: block !important;
  object-fit: contain !important;
  object-position: center center !important;
  transform: none !important;
}

/* Ajuste puntual v3: banner de modulos completo, con alto maximo de 300px */
.module-card .course-image.small,
.student-module-banner__media .course-image.small,
.polished-module-card .course-image.small {
  height: clamp(180px, 24vw, 300px) !important;
  max-height: 300px !important;
  min-height: 0 !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
  overflow: hidden !important;
}
.module-card .course-image.small img,
.student-module-banner__media .course-image.small img,
.polished-module-card .course-image.small img {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 300px !important;
  display: block !important;
  object-fit: contain !important;
  object-position: center center !important;
  transform: none !important;
}
@media (max-width: 768px) {
  .module-card .course-image.small,
  .student-module-banner__media .course-image.small,
  .polished-module-card .course-image.small {
    height: clamp(160px, 52vw, 260px) !important;
    max-height: 260px !important;
  }
  .module-card .course-image.small img,
  .student-module-banner__media .course-image.small img,
  .polished-module-card .course-image.small img {
    max-height: 260px !important;
  }
}

/* Ajuste puntual v4: banner de modulos a todo el ancho y maximo 300px de alto */
.module-card .course-image.small,
.student-module-banner__media .course-image.small,
.polished-module-card .course-image.small {
  width: 100% !important;
  height: 300px !important;
  max-height: 300px !important;
  min-height: 0 !important;
  padding: 0 !important;
  display: block !important;
  overflow: hidden !important;
}
.module-card .course-image.small img,
.student-module-banner__media .course-image.small img,
.polished-module-card .course-image.small img {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  display: block !important;
  object-fit: fill !important;
  object-position: center center !important;
  transform: none !important;
}
@media (max-width: 768px) {
  .module-card .course-image.small,
  .student-module-banner__media .course-image.small,
  .polished-module-card .course-image.small {
    height: 260px !important;
    max-height: 260px !important;
  }
}


/* Ajuste puntual solicitado: estado visual de contenidos dentro de tematicas */
.student-content-card.activity-viewed {
  border-color: rgba(57, 255, 20, .78);
  animation: thematicViewedBorderGlow 2.8s ease-in-out infinite;
}
.student-content-card.activity-viewed::before {
  background: linear-gradient(135deg, rgba(57, 255, 20, .92), rgba(34, 211, 238, .52), rgba(57, 255, 20, .72));
  opacity: .95;
}
.student-content-card.activity-not-viewed {
  border-color: rgba(255, 64, 64, .78);
  box-shadow:
    inset 0 1px 0 rgba(var(--blanco-rgb), .06),
    0 18px 34px rgba(0,0,0,.24),
    0 0 0 1px rgba(255, 64, 64, .42);
}
.student-content-card.activity-not-viewed::before {
  background: linear-gradient(135deg, rgba(255, 64, 64, .95), rgba(255, 130, 130, .40), rgba(255, 64, 64, .72));
  opacity: .92;
}
.student-content-card .mini-tag.danger {
  background: rgba(255, 64, 64, .14);
  border-color: rgba(255, 64, 64, .48);
  color: #ffcaca;
}
@keyframes thematicViewedBorderGlow {
  0%, 100% {
    box-shadow:
      inset 0 1px 0 rgba(var(--blanco-rgb), .08),
      0 20px 36px rgba(0,0,0,.28),
      0 0 0 1px rgba(57, 255, 20, .38),
      0 0 12px rgba(57, 255, 20, .18);
  }
  50% {
    box-shadow:
      inset 0 1px 0 rgba(var(--blanco-rgb), .10),
      0 20px 36px rgba(0,0,0,.28),
      0 0 0 1px rgba(57, 255, 20, .95),
      0 0 24px rgba(57, 255, 20, .36);
  }
}


/* Fix puntual solicitado: en celulares la intro de Patrulla del Saber debe poder desplazarse.
   Solo se activa mientras la pantalla de intro está visible; el canvas mantiene controles táctiles al iniciar. */
@media (max-width:920px){
  .phaser-game-canvas-wrap.is-patrulla-saber.is-patrulla-intro-open{
    touch-action:pan-y !important;
    overflow:visible !important;
  }
  .phaser-game-canvas-wrap.is-patrulla-saber.is-patrulla-intro-open .phaser-game-canvas,
  .phaser-game-canvas-wrap.is-patrulla-saber.is-patrulla-intro-open .patrulla-saber-canvas{
    touch-action:auto !important;
  }
  .phaser-game-canvas-wrap.is-patrulla-saber.is-patrulla-intro-open [data-phaser-intro]{
    touch-action:pan-y !important;
    overflow-y:auto !important;
    -webkit-overflow-scrolling:touch !important;
    overscroll-behavior:contain !important;
    max-height:100dvh !important;
  }
  .phaser-game-canvas-wrap.is-patrulla-saber.is-patrulla-intro-open .phaser-game-intro-card{
    max-height:calc(100dvh - 24px) !important;
    overflow-y:auto !important;
    -webkit-overflow-scrolling:touch !important;
  }
}

/* Zoom interno mejorado para imagenes de infografia en modal */
.content-image-zoom-modal__toolbar {
  position: absolute;
  top: 12px;
  left: 50%;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  padding: .35rem;
  border-radius: 999px;
  background: rgba(15, 23, 42, .82);
  border: 1px solid rgba(255, 255, 255, .16);
  box-shadow: 0 16px 34px rgba(0, 0, 0, .32);
  backdrop-filter: blur(12px);
  transform: translateX(-50%);
}
.content-image-zoom-modal__toolbar button {
  min-width: 40px;
  height: 38px;
  display: inline-grid;
  place-items: center;
  border: 0;
  border-radius: 999px;
  color: #fff;
  background: rgba(255, 255, 255, .12);
  font-weight: 800;
  cursor: pointer;
}
.content-image-zoom-modal__toolbar button:hover {
  background: rgba(255, 255, 255, .22);
  transform: translateY(-1px);
}
.content-image-zoom-modal__toolbar [data-zoom-reset] {
  min-width: 58px;
  padding: 0 .7rem;
  font-size: .82rem;
}
.content-image-zoom-modal__media {
  touch-action: pan-x pan-y;
}
.content-image-zoom-modal__media img {
  transform-origin: center center;
  transition: transform .18s ease;
  cursor: zoom-in;
}
.content-image-zoom-modal.is-fullscreen {
  padding: 0;
}
.content-image-zoom-modal.is-fullscreen .content-image-zoom-modal__card {
  width: 100vw;
  height: 100vh;
  max-height: 100vh;
  border-radius: 0;
  padding: clamp(.75rem, 1.5vw, 1.25rem);
}
.content-image-zoom-modal.is-fullscreen .content-image-zoom-modal__media {
  height: calc(100vh - 130px);
  min-height: 0;
}
.content-image-zoom-modal.is-fullscreen .content-image-zoom-modal__media img {
  max-width: none;
  max-height: none;
}
.info-modal-media.image img {
  cursor: zoom-in;
}
@media (max-width: 760px) {
  .content-image-zoom-modal__toolbar {
    top: auto;
    bottom: .75rem;
    max-width: calc(100vw - 1.5rem);
  }
  .content-image-zoom-modal__toolbar button {
    min-width: 36px;
    height: 36px;
  }
  .content-image-zoom-modal.is-fullscreen .content-image-zoom-modal__media {
    height: calc(100vh - 112px);
  }
}

/* mapa conceptual estudiante: jerarquia real con conectores */
.conceptmap-sheet{background:#f8fafc;border:1px solid rgba(15,23,42,.10);border-radius:28px;padding:1.35rem;color:#0f172a;box-shadow:0 20px 45px rgba(0,0,0,.16);overflow:auto}
.conceptmap-header{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.45rem;margin-bottom:1rem}.conceptmap-header h4{margin:.1rem 0 0;color:#0f172a;font-size:1.35rem}.conceptmap-header p{margin:0;color:#475569}.conceptmap-header .mini-tag{background:#e0e7ff;border-color:rgba(99,102,241,.22);color:#3730a3}
.conceptmap-canvas{min-width:760px;display:grid;justify-items:center;gap:0;padding:.5rem .5rem 1rem;background:radial-gradient(circle at 50% 0%,rgba(99,102,241,.08),transparent 34%),linear-gradient(180deg,#fff,#f8fafc);border-radius:24px;border:1px solid rgba(15,23,42,.06)}
.conceptmap-root,.conceptmap-card{position:relative;background:#fff;border:2px solid rgba(79,70,229,.26);border-radius:20px;box-shadow:0 10px 24px rgba(15,23,42,.08)}
.conceptmap-root{width:min(520px,80%);padding:1rem 1.15rem;display:grid;grid-template-columns:auto 1fr;gap:.8rem;align-items:center;text-align:left}.conceptmap-root.has-media{grid-template-columns:110px auto 1fr}.conceptmap-root h5{margin:0 0 .25rem;font-size:1.25rem;color:#111827}.conceptmap-root p,.conceptmap-card p{margin:0;color:#334155;line-height:1.48}.conceptmap-media,.conceptmap-card-media{overflow:hidden;background:#eef2ff;border:1px solid rgba(79,70,229,.15)}.conceptmap-media{width:96px;height:82px;border-radius:16px}.conceptmap-card-media{height:120px;border-radius:16px 16px 0 0}.conceptmap-media img,.conceptmap-card-media img{width:100%;height:100%;object-fit:cover;cursor:zoom-in}
.conceptmap-node-icon{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:999px;background:var(--branch-color,#c7d2fe);color:#111827;flex:0 0 auto}.conceptmap-root>.conceptmap-node-icon{background:#c7d2fe;color:#312e81}
.conceptmap-root-connector{height:62px;position:relative;display:grid;place-items:center}.conceptmap-root-connector::before{content:'';position:absolute;top:0;bottom:0;left:50%;border-left:3px solid rgba(79,70,229,.42)}.conceptmap-root-connector span,.conceptmap-branch-link span,.conceptmap-card-connector span{position:relative;z-index:1;background:#eef2ff;border:1px solid rgba(79,70,229,.20);color:#3730a3;border-radius:999px;padding:.32rem .75rem;font-size:.78rem;font-weight:800;box-shadow:0 4px 12px rgba(15,23,42,.07)}
.conceptmap-levels{width:100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem;align-items:start;position:relative}.conceptmap-levels::before{content:'';position:absolute;top:0;left:8%;right:8%;border-top:3px solid rgba(79,70,229,.28)}
.conceptmap-branch{position:relative;display:grid;justify-items:center;gap:.65rem;padding-top:1.7rem}.conceptmap-branch::before{content:'';position:absolute;top:0;left:50%;height:1.7rem;border-left:3px solid rgba(79,70,229,.28)}.conceptmap-branch-link{position:relative;z-index:1;min-height:28px;display:grid;place-items:center}.conceptmap-branch-link span{background:var(--branch-color,#e0e7ff);color:#1f2937;border-color:rgba(15,23,42,.10)}
.conceptmap-chain{width:100%;display:grid;gap:2.25rem}.conceptmap-card{display:grid;overflow:visible}.conceptmap-card.has-media{padding-top:0}.conceptmap-card-body{display:grid;gap:.55rem;padding:.95rem}.conceptmap-card-title{display:flex;align-items:center;gap:.55rem;color:#111827}.conceptmap-card-title strong{font-size:1rem}.conceptmap-card-connector{position:absolute;top:-2.05rem;left:50%;transform:translateX(-50%);height:2.05rem;display:grid;place-items:center;min-width:110px}.conceptmap-card-connector::before{content:'';position:absolute;top:0;bottom:0;left:50%;border-left:3px solid rgba(79,70,229,.30)}.conceptmap-card-connector span{background:#fff;color:#475569;border-color:rgba(100,116,139,.22);white-space:nowrap}.conceptmap-empty{margin-top:1rem;display:grid;justify-items:center;text-align:center;gap:.45rem;padding:1.2rem;border-radius:18px;background:#fff;border:1px dashed rgba(79,70,229,.35);color:#334155}.conceptmap-empty i{font-size:1.6rem;color:#4f46e5}
@media (max-width: 900px){.conceptmap-canvas{min-width:0}.conceptmap-root,.conceptmap-root.has-media{width:100%;grid-template-columns:1fr;text-align:center;justify-items:center}.conceptmap-levels{grid-template-columns:1fr}.conceptmap-levels::before{display:none}.conceptmap-chain{gap:1.8rem}.conceptmap-branch{padding-top:1rem}.conceptmap-branch::before{height:1rem}}

/* modernizacion visual mapa conceptual estudiante - solo estilos */
.student-conceptmap.conceptmap-sheet{
  background:linear-gradient(135deg,#f8fafc 0%,#eef2ff 52%,#f8fafc 100%);
  border:1px solid rgba(99,102,241,.16);
  border-radius:32px;
  padding:1.55rem;
  box-shadow:0 24px 70px rgba(15,23,42,.14);
}
.student-conceptmap .conceptmap-header{
  position:relative;
  padding:1.2rem 1rem 1.35rem;
  margin-bottom:1.15rem;
  border-radius:26px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(255,255,255,.82);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 14px 32px rgba(79,70,229,.08);
  overflow:hidden;
}
.student-conceptmap .conceptmap-header::before{
  content:'';
  position:absolute;
  inset:-45% auto auto 50%;
  width:380px;
  height:380px;
  transform:translateX(-50%);
  border-radius:999px;
  background:radial-gradient(circle,rgba(99,102,241,.20),rgba(168,85,247,.10) 42%,transparent 68%);
  pointer-events:none;
}
.student-conceptmap .conceptmap-header > *{position:relative;z-index:1}
.student-conceptmap .conceptmap-header h4{
  font-size:clamp(1.35rem,2.4vw,2rem);
  letter-spacing:-.035em;
  color:#0f172a;
}
.student-conceptmap .conceptmap-header p{
  max-width:720px;
  font-size:.96rem;
  color:#475569;
}
.student-conceptmap .conceptmap-header .mini-tag{
  background:rgba(238,242,255,.88);
  color:#4338ca;
  border-color:rgba(99,102,241,.24);
  box-shadow:0 8px 22px rgba(79,70,229,.10);
}
.student-conceptmap .conceptmap-canvas{
  padding:1.15rem 1.05rem 1.35rem;
  border-radius:28px;
  background:
    radial-gradient(circle at 12% 8%,rgba(14,165,233,.10),transparent 28%),
    radial-gradient(circle at 88% 12%,rgba(168,85,247,.10),transparent 30%),
    linear-gradient(180deg,rgba(255,255,255,.86),rgba(248,250,252,.92));
  border:1px solid rgba(148,163,184,.20);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.84);
}
.student-conceptmap .conceptmap-root,
.student-conceptmap .conceptmap-card{
  border:1px solid rgba(99,102,241,.22);
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  box-shadow:0 18px 42px rgba(15,23,42,.10),0 1px 0 rgba(255,255,255,.85) inset;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.student-conceptmap .conceptmap-root:hover,
.student-conceptmap .conceptmap-card:hover{
  transform:translateY(-4px);
  border-color:rgba(79,70,229,.42);
  box-shadow:0 24px 55px rgba(15,23,42,.15),0 0 0 4px rgba(99,102,241,.08);
}
.student-conceptmap .conceptmap-root{
  border-radius:26px;
  padding:1.15rem 1.25rem;
}
.student-conceptmap .conceptmap-root::after{
  content:'';
  position:absolute;
  inset:auto 18px -1px 18px;
  height:4px;
  border-radius:999px 999px 0 0;
  background:linear-gradient(90deg,#6366f1,#8b5cf6,#06b6d4);
}
.student-conceptmap .conceptmap-root h5,
.student-conceptmap .conceptmap-card-title strong{
  color:#0f172a;
  letter-spacing:-.02em;
}
.student-conceptmap .conceptmap-root h5{font-size:1.32rem}
.student-conceptmap .conceptmap-root p,
.student-conceptmap .conceptmap-card p{color:#475569}
.student-conceptmap .conceptmap-node-icon{
  box-shadow:0 10px 22px rgba(15,23,42,.12),inset 0 1px 0 rgba(255,255,255,.65);
  border:1px solid rgba(255,255,255,.72);
}
.student-conceptmap .conceptmap-root > .conceptmap-node-icon{
  background:linear-gradient(135deg,#6366f1,#8b5cf6);
  color:#fff;
}
.student-conceptmap .conceptmap-media,
.student-conceptmap .conceptmap-card-media{
  background:#eef2ff;
  border:1px solid rgba(99,102,241,.16);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.6);
}
.student-conceptmap .conceptmap-media img,
.student-conceptmap .conceptmap-card-media img{
  transition:transform .28s ease,filter .28s ease;
}
.student-conceptmap .conceptmap-media:hover img,
.student-conceptmap .conceptmap-card-media:hover img{
  transform:scale(1.05);
  filter:saturate(1.08) contrast(1.04);
}
.student-conceptmap .conceptmap-root-connector::before,
.student-conceptmap .conceptmap-levels::before,
.student-conceptmap .conceptmap-branch::before,
.student-conceptmap .conceptmap-card-connector::before{
  border-color:rgba(99,102,241,.34);
}
.student-conceptmap .conceptmap-root-connector span,
.student-conceptmap .conceptmap-card-connector span{
  background:rgba(255,255,255,.88);
  color:#4338ca;
  border-color:rgba(99,102,241,.20);
  box-shadow:0 10px 24px rgba(79,70,229,.10);
}
.student-conceptmap .conceptmap-branch-link span{
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 12px 26px rgba(15,23,42,.09);
  font-size:.8rem;
}
.student-conceptmap .conceptmap-card{
  border-radius:24px;
  overflow:hidden;
}
.student-conceptmap .conceptmap-card::before{
  content:'';
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  background:var(--branch-color,#c7d2fe);
  opacity:.95;
}
.student-conceptmap .conceptmap-card-body{
  padding:1rem 1rem 1.05rem 1.1rem;
}
.student-conceptmap .conceptmap-card-title{
  align-items:flex-start;
}
.student-conceptmap .conceptmap-card-title .conceptmap-node-icon{
  width:36px;
  height:36px;
}
.student-conceptmap .conceptmap-empty{
  background:rgba(255,255,255,.84);
  border-color:rgba(99,102,241,.28);
  box-shadow:0 16px 34px rgba(15,23,42,.08);
}
@media (prefers-reduced-motion:no-preference){
  .student-conceptmap .conceptmap-root,
  .student-conceptmap .conceptmap-branch{
    animation:conceptmapFadeUp .45s ease both;
  }
  .student-conceptmap .conceptmap-branch:nth-child(2){animation-delay:.04s}
  .student-conceptmap .conceptmap-branch:nth-child(3){animation-delay:.08s}
  .student-conceptmap .conceptmap-branch:nth-child(4){animation-delay:.12s}
  .student-conceptmap .conceptmap-branch:nth-child(5){animation-delay:.16s}
}
@keyframes conceptmapFadeUp{
  from{opacity:0;transform:translateY(12px)}
  to{opacity:1;transform:translateY(0)}
}
@media (max-width:900px){
  .student-conceptmap.conceptmap-sheet{padding:1rem;border-radius:24px}
  .student-conceptmap .conceptmap-header{border-radius:20px;padding:1rem .85rem}
  .student-conceptmap .conceptmap-canvas{padding:.85rem;border-radius:22px}
  .student-conceptmap .conceptmap-root:hover,
  .student-conceptmap .conceptmap-card:hover{transform:none}
}

/* modernizacion visual mapa mental estudiante - solo estilos */
.mindmap-paper.maqueta.mental{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 12% 12%,rgba(14,165,233,.16),transparent 30%),
    radial-gradient(circle at 92% 8%,rgba(168,85,247,.14),transparent 28%),
    linear-gradient(135deg,#f8fafc 0%,#eef2ff 48%,#fff7ed 100%);
  border:1px solid rgba(99,102,241,.16);
  border-radius:34px;
  padding:1.55rem;
  box-shadow:0 26px 70px rgba(15,23,42,.15);
}
.mindmap-paper.maqueta.mental::before{
  content:'';
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(15,23,42,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(15,23,42,.035) 1px,transparent 1px);
  background-size:28px 28px;
  mask-image:linear-gradient(180deg,rgba(0,0,0,.55),transparent 82%);
  pointer-events:none;
}
.mindmap-paper.maqueta.mental > *{position:relative;z-index:1}
.mindmap-paper.maqueta.mental .mindmap-paper__header{
  padding:1.05rem 1.15rem;
  margin-bottom:1rem;
  border-radius:26px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(255,255,255,.84);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 16px 36px rgba(59,130,246,.09);
}
.mindmap-paper.maqueta.mental .mindmap-paper__header h4{
  letter-spacing:-.035em;
  font-size:clamp(1.35rem,2.4vw,2rem);
  color:#0f172a;
}
.mindmap-paper.maqueta.mental .mindmap-paper__header p{color:#475569}
.mindmap-paper.maqueta.mental .mini-tag{
  background:rgba(255,255,255,.72);
  border-color:rgba(99,102,241,.18);
  color:#334155;
  box-shadow:0 8px 20px rgba(15,23,42,.06);
}
.mindmap-paper.maqueta.mental .mindmap-maqueta-board{
  grid-template-columns:minmax(220px,260px) 1fr;
  gap:1.25rem;
}
.mindmap-paper.maqueta.mental .mindmap-topic-column{
  gap:.95rem;
  padding:.85rem;
  border-radius:30px;
  background:rgba(255,255,255,.62);
  border:1px solid rgba(255,255,255,.82);
  box-shadow:0 18px 42px rgba(15,23,42,.10);
  backdrop-filter:blur(10px);
}
.mindmap-paper.maqueta.mental .mindmap-topic-avatar{
  width:122px;
  height:122px;
  border-radius:32px;
  background:linear-gradient(135deg,#38bdf8,#a78bfa 52%,#fbbf24);
  border:5px solid rgba(255,255,255,.92);
  box-shadow:0 18px 34px rgba(79,70,229,.20),0 0 0 8px rgba(255,255,255,.46);
  transition:transform .22s ease,box-shadow .22s ease;
}
.mindmap-paper.maqueta.mental .mindmap-topic-avatar:hover{
  transform:translateY(-3px) rotate(-1deg) scale(1.02);
  box-shadow:0 24px 44px rgba(79,70,229,.24),0 0 0 8px rgba(255,255,255,.55);
}
.mindmap-paper.maqueta.mental .mindmap-topic-card{
  background:rgba(255,255,255,.86);
  border:1px solid rgba(148,163,184,.20);
  border-radius:26px;
  padding:1.05rem;
  box-shadow:0 14px 32px rgba(15,23,42,.08);
}
.mindmap-paper.maqueta.mental .mindmap-topic-card h5{
  color:#0f172a;
  letter-spacing:-.02em;
}
.mindmap-paper.maqueta.mental .mindmap-topic-card p{color:#475569}
.mindmap-paper.maqueta.mental .mindmap-flow-sheet{
  gap:1.1rem;
  padding:.25rem 0;
}
.mindmap-paper.maqueta.mental .mindmap-flow-row{
  grid-template-columns:42px minmax(160px,210px) 1fr;
  gap:1rem;
  padding:.35rem 0;
}
.mindmap-paper.maqueta.mental .mindmap-flow-line{
  margin-left:20px;
  border-left:0;
  background:linear-gradient(180deg,transparent,rgba(99,102,241,.38),rgba(14,165,233,.38),transparent);
  width:4px;
  border-radius:999px;
}
.mindmap-paper.maqueta.mental .mindmap-flow-line::before{
  top:30px;
  left:0;
  width:32px;
  height:4px;
  border-radius:999px;
  background:linear-gradient(90deg,rgba(99,102,241,.46),rgba(14,165,233,.28));
}
.mindmap-paper.maqueta.mental .mindmap-flow-line::after{
  content:'';
  position:absolute;
  top:24px;
  left:-7px;
  width:18px;
  height:18px;
  border-radius:999px;
  background:var(--branch-color,#c7d2fe);
  border:4px solid rgba(255,255,255,.92);
  box-shadow:0 8px 18px rgba(15,23,42,.14);
}
.mindmap-paper.maqueta.mental .mindmap-branch-label{
  position:relative;
  overflow:hidden;
  border-radius:999px;
  padding:.82rem 1.1rem;
  background:linear-gradient(135deg,var(--branch-color,#c7d2fe),rgba(255,255,255,.82));
  border:1px solid rgba(255,255,255,.78);
  color:#0f172a;
  letter-spacing:-.01em;
  box-shadow:0 14px 30px rgba(15,23,42,.10);
}
.mindmap-paper.maqueta.mental .mindmap-branch-label::after{
  content:'';
  position:absolute;
  inset:1px;
  border-radius:inherit;
  background:linear-gradient(180deg,rgba(255,255,255,.38),transparent 60%);
  pointer-events:none;
}
.mindmap-paper.maqueta.mental .mindmap-flow-nodes{
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:1rem;
}
.mindmap-paper.maqueta.mental .mindmap-flow-node{
  overflow:hidden;
  min-height:150px;
  border-radius:24px;
  padding:1rem;
  background:rgba(255,255,255,.86);
  border:1px solid rgba(148,163,184,.18);
  box-shadow:0 14px 34px rgba(15,23,42,.08);
  backdrop-filter:blur(8px);
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.mindmap-paper.maqueta.mental .mindmap-flow-node::before{
  left:-22px;
  top:34px;
  width:22px;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg,rgba(99,102,241,.34),rgba(14,165,233,.26));
}
.mindmap-paper.maqueta.mental .mindmap-flow-node::after{
  content:'';
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  background:linear-gradient(180deg,var(--branch-color,#c7d2fe),rgba(255,255,255,0));
  opacity:.95;
}
.mindmap-paper.maqueta.mental .mindmap-flow-node:hover{
  transform:translateY(-4px);
  border-color:rgba(99,102,241,.34);
  box-shadow:0 22px 46px rgba(15,23,42,.13);
}
.mindmap-paper.maqueta.mental .mindmap-flow-node.has-media{
  grid-template-columns:104px 1fr;
  gap:1rem;
}
.mindmap-paper.maqueta.mental .mindmap-flow-thumb{
  width:104px;
  height:104px;
  border-radius:20px;
  border:1px solid rgba(99,102,241,.16);
  background:linear-gradient(135deg,#eef2ff,#f8fafc);
  box-shadow:0 10px 24px rgba(15,23,42,.08);
}
.mindmap-paper.maqueta.mental .mindmap-flow-thumb img{
  transition:transform .28s ease,filter .28s ease;
  cursor:zoom-in;
}
.mindmap-paper.maqueta.mental .mindmap-flow-node:hover .mindmap-flow-thumb img{transform:scale(1.06)}
.mindmap-paper.maqueta.mental .mindmap-flow-title{
  color:#0f172a;
  gap:.65rem;
}
.mindmap-paper.maqueta.mental .mindmap-flow-title strong{
  font-size:1.03rem;
  letter-spacing:-.015em;
}
.mindmap-paper.maqueta.mental .mindmap-flow-copy p{
  color:#475569;
  line-height:1.55;
}
.mindmap-paper.maqueta.mental .mindmap-node-icon{
  width:34px;
  height:34px;
  color:#0f172a;
  border:2px solid rgba(255,255,255,.75);
  box-shadow:0 8px 18px rgba(15,23,42,.10);
}
.mindmap-paper.maqueta.mental .mindmap-flow-meta .mini-tag{
  background:rgba(248,250,252,.86);
  border-color:rgba(148,163,184,.22);
  color:#475569;
  box-shadow:none;
}
.mindmap-paper.maqueta.mental .mindmap-flow-node,
.mindmap-paper.maqueta.mental .mindmap-branch-label,
.mindmap-paper.maqueta.mental .mindmap-topic-column{
  animation:mentalMapSoftIn .45s ease both;
}
@keyframes mentalMapSoftIn{
  from{opacity:0;transform:translateY(10px)}
  to{opacity:1;transform:translateY(0)}
}
@media (max-width:980px){
  .mindmap-paper.maqueta.mental .mindmap-maqueta-board{grid-template-columns:1fr}
  .mindmap-paper.maqueta.mental .mindmap-topic-column{position:static;grid-template-columns:130px 1fr;align-items:center}
  .mindmap-paper.maqueta.mental .mindmap-flow-row{grid-template-columns:28px 1fr}
  .mindmap-paper.maqueta.mental .mindmap-branch-label{grid-column:2}
  .mindmap-paper.maqueta.mental .mindmap-flow-nodes{grid-column:2}
  .mindmap-paper.maqueta.mental .mindmap-flow-line{margin-left:12px}
  .mindmap-paper.maqueta.mental .mindmap-flow-line::before{width:16px}
}
@media (max-width:640px){
  .mindmap-paper.maqueta.mental{padding:1rem;border-radius:26px}
  .mindmap-paper.maqueta.mental .mindmap-topic-column{grid-template-columns:1fr;justify-items:start}
  .mindmap-paper.maqueta.mental .mindmap-topic-avatar{width:112px;height:112px}
  .mindmap-paper.maqueta.mental .mindmap-flow-row{grid-template-columns:1fr;gap:.7rem}
  .mindmap-paper.maqueta.mental .mindmap-flow-line{display:none}
  .mindmap-paper.maqueta.mental .mindmap-branch-label,.mindmap-paper.maqueta.mental .mindmap-flow-nodes{grid-column:auto}
  .mindmap-paper.maqueta.mental .mindmap-flow-node.has-media{grid-template-columns:1fr}
  .mindmap-paper.maqueta.mental .mindmap-flow-thumb{width:100%;height:190px}
}

/* ===== UX modernizado estudiante: loaders, notificaciones y dashboard ===== */
.modal.modal-smooth.active { animation: studentModalBackdropIn .18s ease both; }
.modal.modal-smooth .modal-content { transform: translateY(14px) scale(.98); opacity: 0; transition: transform .24s ease, opacity .24s ease; }
.modal.modal-smooth.active .modal-content { transform: translateY(0) scale(1); opacity: 1; }
@keyframes studentModalBackdropIn { from { background: rgba(0,0,0,0); } to { background: rgba(0,0,0,.7); } }

.student-modal-title { display:flex; align-items:center; gap:.65rem; padding-right:2.7rem; margin:.2rem 0 .35rem; }
.student-modal-title i { color: var(--amarillo); filter: drop-shadow(0 0 12px rgba(var(--amarillo-rgb), .32)); }
.student-alert-list { scrollbar-width: thin; scrollbar-color: rgba(var(--verde-rgb), .65) rgba(var(--blanco-rgb), .08); }
.student-alert-list::-webkit-scrollbar { width: 8px; }
.student-alert-list::-webkit-scrollbar-track { background: rgba(var(--blanco-rgb), .06); border-radius: 999px; }
.student-alert-list::-webkit-scrollbar-thumb { background: linear-gradient(var(--verde), var(--azul)); border-radius: 999px; }
.student-alert-list.animate-items .student-alert-item { animation: studentAlertIn .32s ease both; }
.student-alert-list.animate-items .student-alert-item:nth-child(2) { animation-delay: .04s; }
.student-alert-list.animate-items .student-alert-item:nth-child(3) { animation-delay: .08s; }
.student-alert-list.animate-items .student-alert-item:nth-child(4) { animation-delay: .12s; }
@keyframes studentAlertIn { from { opacity:0; transform: translateY(10px); } to { opacity:1; transform: translateY(0); } }
.student-alert-item { transition: transform .22s ease, border-color .22s ease, background .22s ease; }
.student-alert-item:hover { transform: translateY(-2px); border-color: rgba(var(--verde-rgb), .28); background: rgba(var(--blanco-rgb), .055); }

.empty-state-modern { background: radial-gradient(circle at top, rgba(var(--verde-rgb), .10), rgba(var(--blanco-rgb), .025)); }
.empty-state-modern i { width: 54px; height: 54px; border-radius: 18px; display:grid; place-items:center; background: rgba(var(--amarillo-rgb), .12); margin-inline:auto; }
.empty-state-modern p { margin:0; font-weight:800; color: var(--blanco); }
.empty-state-modern small { color: rgba(var(--blanco-rgb), .64); max-width: 420px; }

.student-dashboard-section { margin-top: 1.25rem; }
.student-course-grid-pro { display:grid; grid-template-columns: repeat(auto-fit, minmax(290px, 1fr)); gap: 1.15rem; align-items: stretch; }
.student-course-card-pro { max-width: none; width: 100%; padding: 0; overflow:hidden; text-align:left; border-radius: 28px; background: linear-gradient(180deg, rgba(var(--blanco-rgb), .075), rgba(var(--blanco-rgb), .035)); border-color: rgba(var(--blanco-rgb), .12); transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease; }
.student-course-card-pro:hover { transform: translateY(-4px); border-color: rgba(var(--verde-rgb), .28); box-shadow: 0 28px 70px rgba(0,0,0,.34); }
.student-course-card-pro__image { height: 210px; margin: 0; border-radius: 0; }
.student-course-card-pro__image::after { content:""; position:absolute; inset:auto 0 0; height:42%; background:linear-gradient(0deg, rgba(0,0,0,.58), transparent); pointer-events:none; }
.student-course-status { position:absolute; top: 1rem; right: 1rem; z-index:2; display:inline-flex; align-items:center; gap:.45rem; padding:.45rem .7rem; border-radius:999px; font-size:.78rem; font-weight:800; text-transform:capitalize; backdrop-filter: blur(10px); border:1px solid rgba(var(--blanco-rgb), .15); }
.student-course-status.is-active { background: rgba(var(--verde-rgb), .18); color: color-mix(in srgb, var(--verde) 84%, white); }
.student-course-status.is-pending { background: rgba(var(--amarillo-rgb), .16); color: color-mix(in srgb, var(--amarillo) 82%, white); }
.student-course-card-pro__body { display:grid; gap: 1rem; padding: 1.15rem; }
.student-course-card-pro__body h3 { margin:.6rem 0 0; font-size:1.15rem; line-height:1.2; }
.student-progress-overview { display:grid; gap:.55rem; padding: .95rem; border-radius: 18px; background: rgba(var(--negro-rgb), .32); border:1px solid rgba(var(--blanco-rgb), .08); }
.student-progress-overview__header { display:flex; justify-content:space-between; align-items:center; gap:1rem; }
.student-progress-overview__header span { color: rgba(var(--blanco-rgb), .72); font-size:.88rem; }
.student-progress-overview__header strong { font-size:1.35rem; color: var(--verde); }
.student-progress-shell { height: 12px; background: rgba(var(--blanco-rgb), .08); }
.student-progress-overview small { color: rgba(var(--blanco-rgb), .66); }
.student-last-material-card { display:grid; gap:.25rem; padding:.95rem; border-radius:18px; background: linear-gradient(135deg, rgba(var(--azul-rgb), .16), rgba(var(--verde-rgb), .08)); border:1px solid rgba(var(--blanco-rgb), .08); }
.student-last-material-card span { color: rgba(var(--blanco-rgb), .72); font-size:.84rem; }
.student-last-material-card strong { color: var(--blanco); line-height:1.25; }
.student-last-material-card small, .student-next-hint { color: rgba(var(--blanco-rgb), .66); }
.student-continue-btn { width:100%; min-height: 48px; box-shadow: 0 15px 35px rgba(var(--verde-rgb), .18); }
.student-next-hint { margin: -.35rem 0 0; font-size:.86rem; }

.student-toast { position: fixed; left: 50%; bottom: max(22px, env(safe-area-inset-bottom)); transform: translate(-50%, 18px); z-index: 10000; display:flex; align-items:center; gap:.65rem; padding:.85rem 1rem; border-radius:999px; color: var(--negro); background: linear-gradient(135deg, var(--verde), color-mix(in srgb, var(--verde) 65%, var(--amarillo))); box-shadow: 0 18px 42px rgba(0,0,0,.32); opacity:0; transition: opacity .22s ease, transform .22s ease; font-weight:800; }
.student-toast.show { opacity:1; transform: translate(-50%, 0); }

@media (max-width: 680px) {
  .student-course-grid-pro { grid-template-columns: 1fr; }
  .student-course-card-pro__image { height: 180px; }
  .student-toast { width: calc(100vw - 2rem); justify-content:center; border-radius:18px; }
}

.student-modules-btn { margin-top: .15rem; }

/* Ajuste visual solicitado: solo simulacros - etiqueta notable y textos justificados */
.simulacro-page .sim-fallback-text > .mini-tag{
  background:linear-gradient(135deg,#f59e0b 0%,#facc15 50%,#fde047 100%);
  color:#111827;
  border:1px solid rgba(120,53,15,.28);
  box-shadow:0 10px 24px rgba(250,204,21,.28), inset 0 1px 0 rgba(255,255,255,.45);
  font-weight:900;
  letter-spacing:.02em;
  text-transform:uppercase;
}
.simulacro-page .sim-fallback-text > .mini-tag i{
  color:#92400e;
}
.simulacro-page .sim-fallback-text h3,
.simulacro-page .sim-answer-panel h4{
  text-align:justify;
  text-justify:inter-word;
  text-align-last:left;
  line-height:1.45;
}
.simulacro-page .sim-rich-text,
.simulacro-page .sim-rich-text p,
.simulacro-page .sim-answer-enunciado,
.simulacro-page .sim-answer-enunciado p{
  text-align:justify;
  text-justify:inter-word;
  text-align-last:left;
  line-height:1.75;
}
.simulacro-page .sim-option{
  text-align:left;
  align-items:flex-start;
}
.simulacro-page .sim-option .option-letter,
.simulacro-page .sim-option .option-bubble{
  flex:0 0 auto;
}
.simulacro-page .sim-option .option-text{
  flex:1 1 auto;
  display:block;
  min-width:0;
  text-align:justify;
  text-justify:inter-word;
  text-align-last:left;
  line-height:1.45;
}
@media (max-width: 768px){
  .simulacro-page .sim-rich-text,
  .simulacro-page .sim-rich-text p,
  .simulacro-page .sim-answer-enunciado,
  .simulacro-page .sim-answer-enunciado p,
  .simulacro-page .sim-option .option-text{
    text-align:left;
  }
}
