/*
 * Correcciones estructurales del portal estudiante.
 * Este archivo se carga después del tema general para evitar reglas históricas
 * contradictorias en el inicio y en el capítulo conversacional de MIA.
 */

body.student-home-page .app-content {
  min-height:calc(100dvh - 76px);
  display:flex;
  padding:clamp(12px, 1.7vw, 24px);
}

/* Centro integrado de logros, niveles, badges y certificados. */
html { scroll-behavior: smooth; }
.achievements-hub {
  display: grid;
  gap: 22px;
  padding-bottom: 48px;
}
.recognition-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(330px, .85fr);
  gap: clamp(24px, 5vw, 72px);
  align-items: center;
  min-height: 440px;
  padding: clamp(28px, 5vw, 64px);
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--app-line) 72%, var(--brand) 28%);
  border-radius: 8px;
  background:
    linear-gradient(115deg, color-mix(in srgb, var(--app-panel) 96%, #10152c 4%), color-mix(in srgb, var(--app-panel-2) 88%, #003f3a 12%));
  box-shadow: 0 28px 80px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.08);
}
.recognition-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .24;
  background-image: linear-gradient(color-mix(in srgb, var(--app-line) 38%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--app-line) 38%, transparent) 1px, transparent 1px);
  background-size: 44px 44px;
  mask-image: linear-gradient(90deg, transparent 8%, #000 70%);
}
.recognition-hero > * { position: relative; z-index: 1; }
.recognition-hero-copy { display: grid; gap: 18px; }
.recognition-kicker {
  width: max-content;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--brand);
  font-size: .76rem;
  font-weight: 800;
  text-transform: uppercase;
}
.recognition-kicker svg { width: 17px; }
.recognition-hero h1 {
  margin: 0;
  max-width: 760px;
  font-size: clamp(2.4rem, 5vw, 5.25rem);
  line-height: .98;
  letter-spacing: 0;
}
.recognition-hero h1 span { color: var(--brand); }
.recognition-hero-copy > p {
  max-width: 630px;
  margin: 0;
  color: var(--app-muted);
  font-size: 1.05rem;
  line-height: 1.65;
}
.recognition-nav { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 6px; }
.recognition-nav a {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0 14px;
  border: 1px solid color-mix(in srgb, var(--app-line) 82%, var(--app-text) 18%);
  border-radius: 6px;
  color: var(--app-text);
  background: color-mix(in srgb, var(--app-panel-2) 82%, transparent);
  font-size: .88rem;
  font-weight: 700;
  transition: border-color .2s ease, background .2s ease, transform .2s ease;
}
.recognition-nav a:hover { border-color: var(--brand); background: color-mix(in srgb, var(--brand) 12%, var(--app-panel)); transform: translateY(-2px); }
.recognition-nav svg { width: 17px; }
.level-feature {
  display: grid;
  gap: 16px;
  padding: clamp(22px, 3vw, 32px);
  border: 1px solid color-mix(in srgb, var(--brand) 44%, var(--app-line));
  border-radius: 8px;
  background: color-mix(in srgb, var(--app-panel-2) 88%, transparent);
  box-shadow: 0 24px 60px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.1);
  backdrop-filter: blur(18px);
}
.level-feature-top { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 14px; align-items: center; }
.level-emblem {
  width: 60px;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  border: 1px solid color-mix(in srgb, var(--brand) 60%, white 20%);
  border-radius: 50%;
  color: #061b19;
  background: linear-gradient(145deg, #bafff3, var(--brand));
  box-shadow: 0 0 32px color-mix(in srgb, var(--brand) 28%, transparent);
}
.level-emblem svg { width: 27px; height: 27px; }
.level-feature-top small, .level-feature-top strong { display: block; }
.level-feature-top small { color: var(--app-muted); font-size: .76rem; text-transform: uppercase; font-weight: 800; }
.level-feature-top strong { margin-top: 3px; font-size: clamp(1.5rem, 3vw, 2.25rem); line-height: 1; }
.level-feature-top b { align-self: start; color: var(--brand); font-size: .76rem; }
.level-feature > p { margin: 0; color: var(--app-muted); }
.level-progress-copy { display: flex; justify-content: space-between; gap: 16px; color: var(--app-muted); font-size: .78rem; }
.level-progress-copy strong { color: var(--app-text); }
.level-progress, .badge-progress {
  height: 7px;
  overflow: hidden;
  border-radius: 999px;
  background: color-mix(in srgb, var(--app-line) 76%, transparent);
}
.level-progress span, .badge-progress span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--brand), #8ef6ff); }
.recognition-points { width: 100%; justify-content: flex-start; padding-top: 2px; }
.level-path {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 1px;
  overflow: hidden;
  border: 1px solid var(--app-line);
  border-radius: 8px;
  background: var(--app-line);
}
.level-step {
  min-height: 132px;
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 18px;
  color: var(--app-muted);
  background: color-mix(in srgb, var(--app-panel) 96%, transparent);
}
.level-step > span { width: 42px; aspect-ratio: 1; display: grid; place-items: center; border-radius: 50%; background: color-mix(in srgb, var(--app-line) 68%, transparent); }
.level-step > span svg, .level-step > svg { width: 19px; }
.level-step div { min-width: 0; }
.level-step small, .level-step strong { display: block; }
.level-step small { font-size: .7rem; font-weight: 800; text-transform: uppercase; }
.level-step strong { margin-top: 3px; color: var(--app-text); font-size: 1.05rem; }
.level-step p { margin: 5px 0 0; font-size: .78rem; line-height: 1.35; }
.level-step.is-reached > span { color: #061b19; background: var(--brand); }
.level-step.is-current { box-shadow: inset 0 -3px 0 var(--brand); background: color-mix(in srgb, var(--brand) 8%, var(--app-panel)); }
.level-step.is-current > svg { color: var(--brand); }
.recognition-overview { display: grid; grid-template-columns: 1.8fr repeat(3, minmax(150px, .65fr)); gap: 12px; }
.recognition-overview article, .learning-grid > article {
  border: 1px solid color-mix(in srgb, var(--app-line) 82%, var(--app-text) 8%);
  border-radius: 8px;
  background: color-mix(in srgb, var(--app-panel) 94%, transparent);
  box-shadow: 0 16px 42px rgba(0,0,0,.14);
}
.overview-progress { display: grid; grid-template-columns: auto minmax(0,1fr); gap: 20px; align-items: center; padding: 20px; }
.overview-progress .achievement-ring { width: 126px; }
.overview-progress .achievement-ring strong { font-size: 2rem; }
.overview-progress span { color: var(--brand); font-size: .74rem; font-weight: 800; text-transform: uppercase; }
.overview-progress h2 { margin: 4px 0 5px; font-size: 1.25rem; }
.overview-progress p { margin: 0; color: var(--app-muted); font-size: .84rem; }
.overview-metric { min-height: 160px; display: grid; align-content: center; gap: 8px; padding: 20px; }
.overview-metric svg { width: 24px; color: var(--brand); }
.overview-metric strong { font-size: 2.35rem; line-height: 1; }
.overview-metric span { color: var(--app-muted); font-size: .82rem; }
.recognition-section {
  scroll-margin-top: 24px;
  display: grid;
  gap: 24px;
  padding: clamp(24px, 4vw, 42px);
  border: 1px solid color-mix(in srgb, var(--app-line) 82%, var(--app-text) 8%);
  border-radius: 8px;
  background: color-mix(in srgb, var(--app-panel) 95%, transparent);
}
.recognition-section-head { display: grid; grid-template-columns: minmax(0,1fr) minmax(260px, .65fr); gap: 30px; align-items: end; }
.recognition-section-head > div { display: grid; grid-template-columns: auto minmax(0,1fr); gap: 3px 12px; align-items: center; }
.section-icon { grid-row: 1 / 3; width: 48px; aspect-ratio: 1; display: grid; place-items: center; border-radius: 6px; color: #061b19; background: var(--brand); }
.section-icon svg { width: 23px; }
.recognition-section-head small { color: var(--brand); font-size: .72rem; font-weight: 800; text-transform: uppercase; }
.recognition-section-head h2 { margin: 0; font-size: clamp(1.45rem, 3vw, 2.3rem); }
.recognition-section-head > p { margin: 0; color: var(--app-muted); line-height: 1.6; }
.recognition-section-head.compact { grid-template-columns: 1fr; }
.badge-showcase { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 14px; }
.achievement-badge {
  --badge-a: #59ead5;
  --badge-b: #087d73;
  position: relative;
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 16px;
  padding: 24px 18px 18px;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--badge-a) 32%, var(--app-line));
  border-radius: 8px;
  background: linear-gradient(160deg, color-mix(in srgb, var(--badge-a) 11%, var(--app-panel-2)), var(--app-panel));
  transition: transform .22s ease, border-color .22s ease;
}
.achievement-badge:hover { transform: translateY(-4px); border-color: var(--badge-a); }
.achievement-badge.badge-tone-2 { --badge-a: #ffca5c; --badge-b: #b26b18; }
.achievement-badge.badge-tone-3 { --badge-a: #72b7ff; --badge-b: #345dcc; }
.achievement-badge.badge-tone-4 { --badge-a: #ff8bd7; --badge-b: #9a3b83; }
.badge-seal { width: 94px; height: 108px; display: grid; place-items: center; margin: 0 auto; clip-path: polygon(50% 0, 88% 14%, 100% 55%, 75% 88%, 50% 100%, 25% 88%, 0 55%, 12% 14%); background: linear-gradient(145deg, var(--badge-a), var(--badge-b)); filter: drop-shadow(0 14px 18px rgba(0,0,0,.2)); }
.badge-seal span { width: 70px; aspect-ratio: 1; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.5); border-radius: 50%; color: white; background: rgba(7,17,17,.2); box-shadow: inset 0 0 0 5px rgba(255,255,255,.08); }
.badge-seal svg { width: 30px; height: 30px; }
.badge-info { min-width: 0; text-align: center; }
.badge-info small { color: var(--badge-a); font-size: .7rem; font-weight: 900; text-transform: uppercase; }
.badge-info h3 { min-height: 2.5em; margin: 6px 0; font-size: 1.08rem; line-height: 1.25; }
.badge-info p { margin: 0 0 14px; color: var(--app-muted); font-size: .75rem; }
.achievement-badge.is-locked { filter: saturate(.2); opacity: .7; }
.achievement-badge.is-locked:hover { filter: saturate(.5); opacity: .9; }
.special-badges { display: grid; gap: 12px; padding-top: 4px; }
.special-badges > h3, .certifiable-routes > h3 { margin: 0; font-size: 1rem; }
.special-badges > div { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; }
.special-badges article { display: grid; grid-template-columns: auto 1fr; gap: 14px; padding: 16px; border-left: 3px solid var(--brand); background: color-mix(in srgb, var(--app-panel-2) 76%, transparent); }
.special-badges article > span { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; color: #061b19; background: var(--brand); }
.special-badges strong { display: block; }
.special-badges p { margin: 3px 0; color: var(--app-muted); font-size: .82rem; }
.special-badges small { color: var(--brand); font-size: .7rem; }
.learning-grid { display: grid; grid-template-columns: minmax(260px,.8fr) minmax(0,1.2fr); gap: 14px; }
.learning-grid > article { padding: 22px; }
.learning-bars { display: grid; gap: 14px; }
.learning-bars > div:not(.mega-bar) { display: flex; justify-content: space-between; gap: 14px; color: var(--app-muted); }
.learning-bars strong { color: var(--app-text); }
.integrated-certificate-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; }
.integrated-certificate {
  position: relative;
  display: grid;
  grid-template-columns: 74px minmax(0,1fr);
  gap: 18px;
  padding: 24px;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--brand) 24%, var(--app-line));
  border-radius: 8px;
  background: linear-gradient(135deg, color-mix(in srgb, var(--app-panel-2) 96%, transparent), color-mix(in srgb, var(--brand) 7%, var(--app-panel)));
}
.integrated-certificate::after { content: ""; position: absolute; right: 18px; top: 18px; width: 58px; height: 58px; border: 1px solid color-mix(in srgb, var(--brand) 16%, transparent); transform: rotate(45deg); }
.certificate-ribbon { grid-row: 1 / 3; min-height: 180px; display: flex; flex-direction: column; align-items: center; justify-content: space-between; padding: 16px 10px; color: #061b19; background: var(--brand); }
.certificate-ribbon svg { width: 31px; }
.certificate-ribbon span { writing-mode: vertical-rl; transform: rotate(180deg); font-size: .66rem; font-weight: 900; text-transform: uppercase; }
.certificate-main { align-self: center; min-width: 0; }
.certificate-main small { color: var(--brand); font-weight: 800; text-transform: uppercase; }
.certificate-main h3 { margin: 6px 0 8px; padding-right: 42px; font-size: clamp(1.25rem, 2.5vw, 1.8rem); }
.certificate-main p { margin: 0 0 15px; color: var(--app-muted); }
.certificate-main code { color: var(--app-text); font-size: .72rem; }
.integrated-certificate .certificate-actions { grid-column: 2; position: relative; z-index: 1; }
.certificate-empty-integrated { grid-column: 1 / -1; display: grid; grid-template-columns: auto minmax(0,1fr); gap: 22px; align-items: center; padding: clamp(24px, 5vw, 46px); border: 1px dashed color-mix(in srgb, var(--brand) 38%, var(--app-line)); border-radius: 8px; background: color-mix(in srgb, var(--brand) 5%, var(--app-panel-2)); }
.certificate-empty-integrated > span { width: 76px; aspect-ratio: 1; display: grid; place-items: center; border-radius: 50%; color: var(--brand); background: color-mix(in srgb, var(--brand) 12%, transparent); }
.certificate-empty-integrated > span svg { width: 36px; }
.certificate-empty-integrated small { color: var(--brand); font-weight: 800; text-transform: uppercase; }
.certificate-empty-integrated h3 { margin: 5px 0; font-size: 1.5rem; }
.certificate-empty-integrated p { margin: 0 0 15px; color: var(--app-muted); }
.certifiable-routes { display: grid; gap: 10px; padding-top: 6px; }
.certifiable-routes article { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 15px; align-items: center; padding: 14px 16px; border: 1px solid var(--app-line); border-radius: 6px; background: color-mix(in srgb, var(--app-panel-2) 76%, transparent); }
.route-progress-ring { width: 54px; aspect-ratio: 1; display: grid; place-items: center; border-radius: 50%; background: radial-gradient(circle, var(--app-panel) 0 57%, transparent 59%), conic-gradient(var(--brand) var(--route-progress), var(--app-line) 0); }
.route-progress-ring b { font-size: .7rem; }
.certifiable-routes strong { display: block; }
.certifiable-routes p { margin: 3px 0 0; color: var(--app-muted); font-size: .8rem; }
.certifiable-routes article > svg { width: 20px; color: var(--brand); }

@media (max-width: 1100px) {
  .recognition-hero { grid-template-columns: 1fr; min-height: auto; }
  .recognition-overview { grid-template-columns: repeat(3, 1fr); }
  .overview-progress { grid-column: 1 / -1; }
  .level-path, .badge-showcase { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 760px) {
  .achievements-hub { gap: 14px; }
  .recognition-hero { padding: 24px 18px; }
  .recognition-hero h1 { font-size: clamp(2.15rem, 12vw, 3.5rem); }
  .level-feature-top { grid-template-columns: auto minmax(0,1fr); }
  .level-feature-top b { grid-column: 2; }
  .level-path, .badge-showcase, .recognition-overview, .learning-grid, .integrated-certificate-grid, .special-badges > div { grid-template-columns: 1fr; }
  .overview-progress { grid-column: auto; grid-template-columns: 1fr; text-align: center; }
  .overview-progress .achievement-ring { margin: 0 auto; }
  .recognition-section { padding: 22px 16px; }
  .recognition-section-head { grid-template-columns: 1fr; gap: 15px; }
  .integrated-certificate { grid-template-columns: 58px minmax(0,1fr); padding: 16px; }
  .certificate-ribbon { min-height: 160px; }
  .certificate-actions .btn { width: auto; }
}
@media (max-width: 480px) {
  .recognition-nav { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); }
  .recognition-nav a { justify-content: center; padding: 0 8px; font-size: .72rem; }
  .recognition-nav svg { display: none; }
  .level-progress-copy { display: grid; gap: 4px; }
  .certificate-empty-integrated { grid-template-columns: 1fr; }
  .skill-mini-row { grid-template-columns: 1fr auto; }
  .skill-mini-row div { grid-column: 1 / -1; grid-row: 2; }
}

body.student-home-page {
  overflow-x:hidden;
}

body.student-home-page .home-mia-entry {
  width:100%;
  min-width:0;
  display:flex;
  padding:0;
}

body.student-home-page .home-mia-hero {
  position:relative;
  isolation:isolate;
  width:100%;
  min-height:calc(100dvh - 100px);
  height:auto;
  max-height:none;
  display:grid;
  grid-template-columns:minmax(210px, 290px) minmax(0, 1fr);
  align-items:center;
  gap:clamp(18px, 2.5vw, 34px);
  padding:clamp(18px, 2.4vw, 30px);
  overflow:hidden;
}

body.student-home-page .home-mia-hero .mia-coach-presence {
  width:100%;
  height:clamp(330px, 48vh, 480px);
  min-height:0;
  max-height:480px;
  align-self:center;
}

body.student-home-page .home-mia-hero .mia-presence-card {
  width:min(250px, 92%);
  height:100%;
  min-height:0;
  max-height:none;
}

body.student-home-page .home-mia-hero .mia-presence-card img {
  width:min(178px, 76%);
  max-width:178px;
  max-height:230px;
  object-fit:contain;
}

body.student-home-page .home-mia-hero .dashboard-mia-copy {
  width:100%;
  max-width:860px;
  min-width:0;
  display:grid;
  align-content:center;
  justify-items:stretch;
  gap:clamp(10px, 1.2vw, 14px);
}

body.student-home-page .home-mia-hero .dashboard-mia-copy h1 {
  max-width:760px;
  margin:0;
  font-size:clamp(30px, 3.8vw, 52px);
  line-height:1.03;
}

body.student-home-page .home-mia-hero .dashboard-mia-copy > p {
  max-width:690px;
  margin:0;
  font-size:clamp(15px, 1.25vw, 18px);
  line-height:1.42;
}

body.student-home-page .mia-home-chat {
  width:min(100%, 760px);
  min-height:108px;
}

body.student-home-page .mia-home-thread {
  width:100%;
  min-height:108px;
  max-height:146px;
  display:grid;
  align-content:center;
  gap:8px;
  overflow:auto;
  padding:0;
}

body.student-home-page .mia-home-message {
  width:min(100%, 720px);
  min-height:94px;
  max-height:138px;
  margin:0;
  padding:13px 15px;
  overflow:auto;
}

body.student-home-page .mia-home-message > div {
  min-width:0;
  display:grid;
  gap:5px;
}

body.student-home-page .mia-home-message strong {
  color:var(--theme-accent, var(--brand));
  font-size:13px;
}

body.student-home-page .mia-home-message p {
  min-height:42px;
  margin:0;
  font-size:clamp(14px, 1.1vw, 16px);
  line-height:1.4;
}

body.student-home-page .mia-home-message p.is-typing:after {
  content:"";
  display:inline-block;
  width:2px;
  height:.92em;
  margin-left:4px;
  border-radius:2px;
  vertical-align:-.08em;
  background:var(--theme-accent, var(--brand));
  animation:homeMiaCaret .72s ease-in-out infinite;
}

body.student-home-page .mia-home-guide.is-refreshing {
  animation:homeMiaRewrite .46s ease both;
}

body.student-home-page .home-primary-action {
  margin:0;
}

body.student-home-page .home-primary-action .btn {
  min-height:44px;
  width:max-content;
  padding:0 18px;
  font-size:15px;
}

body.student-home-page .mia-home-prompt {
  width:min(100%, 760px);
  min-height:92px;
  margin:0;
  padding:12px 14px;
  border-radius:20px;
}

body.student-home-page .mia-home-prompt textarea {
  min-height:38px;
  max-height:72px;
  resize:none;
  font-size:clamp(15px, 1.2vw, 17px);
}

body.student-home-page .mia-home-prompt-actions button {
  width:42px;
  height:42px;
}

@keyframes homeMiaCaret {
  50% { opacity:.2; }
}

@keyframes homeMiaRewrite {
  from { opacity:.2; transform:translateY(7px); }
  to { opacity:1; transform:translateY(0); }
}

/* El test conversacional no es un video: abandona la proporción 16:9. */
body.mia-conversation-course-page .lesson-stage-conversation {
  aspect-ratio:auto;
  min-height:clamp(560px, 68vh, 720px);
  height:auto;
  overflow:hidden;
}

body.mia-conversation-course-page .mia-chapter-experience {
  position:relative;
  inset:auto;
  width:100%;
  min-height:clamp(560px, 68vh, 720px);
  height:auto;
  display:grid;
  grid-template-columns:minmax(180px, 270px) minmax(0, 1fr);
  align-items:stretch;
  gap:clamp(16px, 2.2vw, 28px);
  padding:clamp(18px, 2.4vw, 30px);
  overflow:hidden;
}

body.mia-conversation-course-page .mia-chapter-visual {
  min-height:0;
  height:auto;
  max-height:none;
}

body.mia-conversation-course-page .mia-chapter-visual img {
  width:min(165px, 72%);
  max-height:220px;
}

body.mia-conversation-course-page .mia-chapter-dialogue {
  min-width:0;
  min-height:0;
  align-content:center;
  gap:10px;
  padding:0;
}

body.mia-conversation-course-page .mia-chapter-dialogue h2 {
  max-width:620px;
  margin:0;
  font-size:clamp(28px, 3.2vw, 46px);
  line-height:1.02;
}

body.mia-conversation-course-page .mia-chapter-subtitle {
  font-size:clamp(14px, 1.15vw, 17px);
}

body.mia-conversation-course-page .mia-chapter-thread {
  min-height:104px;
  max-height:168px;
}

@media (max-width: 900px) {
  body.student-home-page .app-workspace {
    min-height:0;
  }

  body.student-home-page .app-content {
    min-height:0;
    display:block;
    padding:12px;
  }

  body.student-home-page .home-mia-hero {
    min-height:0;
    grid-template-columns:minmax(150px, 210px) minmax(0, 1fr);
    align-items:center;
    padding:16px;
  }

  body.student-home-page .home-mia-hero .mia-coach-presence {
    height:300px;
  }

  body.student-home-page .home-mia-hero .dashboard-mia-copy h1 {
    font-size:clamp(28px, 5.2vw, 42px);
  }

  body.mia-conversation-course-page .lesson-stage-conversation,
  body.mia-conversation-course-page .mia-chapter-experience {
    min-height:0;
  }

  body.mia-conversation-course-page .mia-chapter-experience {
    grid-template-columns:180px minmax(0, 1fr);
  }
}

@media (min-width: 681px) and (max-width: 840px) {
  body.student-home-page .home-mia-hero {
    min-height:calc(100dvh - 376px);
  }
}

@media (max-width: 680px) {
  body.student-home-page .home-mia-hero {
    grid-template-columns:1fr;
    gap:12px;
  }

  body.student-home-page .home-mia-hero .mia-coach-presence {
    order:1;
    height:190px;
    max-height:190px;
  }

  body.student-home-page .home-mia-hero .mia-presence-card {
    width:min(210px, 78%);
  }

  body.student-home-page .home-mia-hero .mia-presence-card img {
    max-height:145px;
  }

  body.student-home-page .home-mia-hero .dashboard-mia-copy {
    order:2;
    gap:10px;
  }

  body.student-home-page .home-mia-hero .dashboard-mia-copy h1 {
    font-size:clamp(27px, 9vw, 38px);
  }

  body.student-home-page .mia-home-chat,
  body.student-home-page .mia-home-thread {
    min-height:116px;
  }

  body.student-home-page .mia-home-message {
    min-height:104px;
    max-height:148px;
  }

  body.student-home-page .home-primary-action .btn {
    width:100%;
    justify-content:center;
  }

  body.student-home-page .mia-home-prompt-actions span {
    padding:0 10px;
    font-size:12px;
  }

  body.mia-conversation-course-page .mia-chapter-experience {
    grid-template-columns:1fr;
    padding:13px;
  }

  body.mia-conversation-course-page .mia-chapter-visual {
    min-height:170px;
    max-height:205px;
  }

  body.mia-conversation-course-page .mia-chapter-visual img {
    max-height:140px;
  }

  body.mia-conversation-course-page .mia-chapter-dialogue {
    align-content:start;
  }

  body.mia-conversation-course-page .mia-chapter-dialogue h2 {
    font-size:clamp(27px, 9vw, 38px);
  }
}

@media (max-width: 420px) {
  body.student-home-page .app-content {
    padding:8px;
  }

  body.student-home-page .home-mia-hero {
    padding:12px;
    border-radius:18px;
  }

  body.student-home-page .home-mia-hero .mia-coach-presence {
    height:168px;
  }

  body.student-home-page .home-mia-hero .dashboard-mia-copy h1 {
    font-size:30px;
  }

  body.student-home-page .mia-home-prompt-actions span {
    max-width:210px;
  }
}

/* Navegación del estudiante: jerarquía clara, temas accesibles y contraste estable. */
:root[data-theme="neo-pop"],
:root[data-theme="pixel"],
:root[data-theme="cosmic"] {
  color-scheme:dark;
}

:root[data-theme="candy"],
:root[data-theme="solar"] {
  color-scheme:light;
}

.app-sidebar {
  overflow-x:hidden;
  overflow-y:auto;
  scrollbar-width:thin;
  scrollbar-color:color-mix(in srgb, var(--brand) 55%, transparent) transparent;
}

.side-nav .side-section,
.side-nav .side-link,
.theme-drawer summary,
.theme-drawer .sidebar-theme-picker button {
  color:var(--app-text);
}

.side-nav .side-section {
  color:color-mix(in srgb, var(--app-muted) 88%, var(--app-text) 12%);
}

.theme-drawer .sidebar-theme-picker {
  position:static;
  inset:auto;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  margin-top:4px;
  padding:10px;
  background:color-mix(in srgb, var(--app-panel-2) 96%, var(--app-bg-bottom) 4%);
  border-color:color-mix(in srgb, var(--app-line) 70%, var(--app-text) 18%);
}

.theme-drawer .sidebar-theme-picker button {
  min-width:0;
  min-height:46px;
  grid-template-columns:30px minmax(0, 1fr);
  gap:8px;
  justify-items:start;
  padding:7px 9px;
  font-size:12px;
  line-height:1.15;
  text-align:left;
  background:color-mix(in srgb, var(--app-panel) 90%, transparent);
}

.theme-drawer .sidebar-theme-picker button > span {
  width:28px;
  height:28px;
}

.theme-drawer .sidebar-theme-picker button:focus-visible,
.side-link:focus-visible {
  outline:3px solid color-mix(in srgb, var(--brand) 62%, transparent);
  outline-offset:2px;
}

/* Mi avance: la matrícula más reciente y aún no completada ocupa el primer plano. */
body.student-progress-page .app-content,
body.student-progress-page .ecosystems-page {
  min-width:0;
}

.active-experience {
  display:grid;
  grid-template-columns:minmax(260px, .82fr) minmax(0, 1.18fr);
  gap:clamp(20px, 3vw, 42px);
  align-items:stretch;
  padding:clamp(18px, 2.4vw, 30px);
  border:1px solid color-mix(in srgb, var(--app-line) 66%, var(--brand) 34%);
  border-radius:24px;
  color:var(--app-text);
  background:
    radial-gradient(circle at 12% 18%, color-mix(in srgb, var(--brand) 24%, transparent), transparent 34%),
    linear-gradient(135deg, color-mix(in srgb, var(--app-panel) 96%, transparent), color-mix(in srgb, var(--app-panel-2) 92%, transparent));
  box-shadow:0 24px 70px rgba(0,0,0,.22), inset 0 1px 0 color-mix(in srgb, var(--app-text) 10%, transparent);
}

.active-experience-cover {
  position:relative;
  min-height:300px;
  overflow:hidden;
  border-radius:18px;
  color:#fff;
  background:linear-gradient(145deg, color-mix(in srgb, var(--brand) 24%, #101b2a), #10141d);
  border:1px solid color-mix(in srgb, var(--app-text) 16%, transparent);
}

.active-experience-cover:after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, transparent 34%, rgba(4,10,14,.74));
}

.active-experience-cover img {
  width:100%;
  height:100%;
  min-height:300px;
  object-fit:cover;
  filter:saturate(1.08) contrast(1.05);
  transition:transform .45s ease;
}

.active-experience-cover:hover img {
  transform:scale(1.035);
}

.active-experience-art {
  min-height:300px;
  display:grid;
  place-items:center;
  background:
    radial-gradient(circle, color-mix(in srgb, var(--brand) 38%, transparent), transparent 36%),
    linear-gradient(145deg, #251941, #0a2930);
}

.active-experience-art svg {
  width:76px;
  height:76px;
  color:var(--brand);
}

.active-experience-status {
  position:absolute;
  z-index:2;
  left:16px;
  bottom:16px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:36px;
  padding:0 12px;
  border-radius:999px;
  color:#071111;
  background:color-mix(in srgb, var(--brand) 82%, #fff 18%);
  font-size:13px;
  font-weight:600;
  box-shadow:0 10px 28px rgba(0,0,0,.26);
}

.active-experience-status svg {
  width:16px;
  height:16px;
}

.active-experience-copy {
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
}

.active-experience-kicker {
  color:var(--brand);
  font-size:13px;
  font-weight:600;
  text-transform:uppercase;
}

.active-experience-copy h2 {
  max-width:860px;
  margin:10px 0 8px;
  color:var(--app-text);
  font-size:clamp(28px, 3.5vw, 50px);
  line-height:1.04;
  overflow-wrap:anywhere;
}

.active-experience-copy > p {
  margin:0;
  color:var(--app-muted);
  line-height:1.5;
}

.active-experience-metrics {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:22px 0 12px;
}

.active-experience-metrics span {
  min-height:38px;
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:0 12px;
  border:1px solid color-mix(in srgb, var(--app-line) 70%, var(--app-text) 18%);
  border-radius:999px;
  color:var(--app-muted);
  background:color-mix(in srgb, var(--app-panel-2) 88%, transparent);
}

.active-experience-metrics strong {
  color:var(--app-text);
}

.active-experience-progress {
  width:100%;
  max-width:680px;
  margin-bottom:20px;
}

.active-experience-actions {
  width:100%;
  display:flex;
  align-items:flex-end;
  flex-wrap:wrap;
  gap:12px;
}

.active-experience-actions .btn {
  min-height:48px;
}

.experience-switcher {
  min-width:min(100%, 360px);
  display:grid;
  gap:6px;
}

.experience-switcher label {
  color:var(--app-muted);
  font-size:12px;
}

.experience-switcher > div {
  display:grid;
  grid-template-columns:minmax(0, 1fr) 48px;
  gap:8px;
}

.experience-switcher select {
  width:100%;
  min-width:0;
  min-height:48px;
  padding:0 38px 0 12px;
  border:1px solid color-mix(in srgb, var(--app-line) 68%, var(--app-text) 20%);
  border-radius:10px;
  color:var(--app-text);
  background:var(--app-panel-2);
  font:inherit;
  text-overflow:ellipsis;
}

.experience-switcher select:focus {
  outline:3px solid color-mix(in srgb, var(--brand) 34%, transparent);
  border-color:var(--brand);
}

.experience-switcher .btn {
  width:48px;
  padding:0;
}

body.student-progress-page :where(.ecosystem-block, .experience-card, .ecosystem-progress) {
  color:var(--app-text);
}

body.student-progress-page :where(.ecosystem-head p, .experience-body p, .section-title-row p, .ecosystem-progress span) {
  color:var(--app-muted);
}

body.student-progress-page :where(.experience-body h3, .section-title-row h3, .ecosystem-head h2) {
  color:var(--app-text);
  overflow-wrap:anywhere;
}

@media (max-width: 840px) {
  .theme-drawer .sidebar-theme-picker {
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .active-experience {
    grid-template-columns:minmax(190px, .75fr) minmax(0, 1.25fr);
    gap:18px;
  }

  .active-experience-cover,
  .active-experience-cover img,
  .active-experience-art {
    min-height:250px;
  }
}

@media (max-width: 680px) {
  .side-nav .side-section {
    margin-top:12px;
  }

  .theme-drawer .sidebar-theme-picker {
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .active-experience {
    grid-template-columns:1fr;
    padding:14px;
    border-radius:20px;
  }

  .active-experience-cover,
  .active-experience-cover img,
  .active-experience-art {
    min-height:210px;
    max-height:250px;
  }

  .active-experience-actions,
  .active-experience-actions > .btn,
  .experience-switcher {
    width:100%;
  }

  .active-experience-actions > .btn {
    justify-content:center;
  }
}

@media (max-width: 390px) {
  .theme-drawer .sidebar-theme-picker {
    grid-template-columns:1fr;
  }
}

/* Capítulo conversacional: pregunta activa e historial persistente. */
body.mia-conversation-course-page .lesson-stage-conversation,
body.mia-conversation-course-page .mia-chapter-experience {
  min-height:0;
  height:auto;
}

body.mia-conversation-course-page .mia-chapter-experience {
  display:block;
  padding:clamp(16px, 2vw, 26px);
}

body.mia-conversation-course-page .mia-chapter-dialogue {
  display:grid;
  gap:16px;
  padding:0;
}

body.mia-conversation-course-page .mia-chapter-heading {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  padding-bottom:14px;
  border-bottom:1px solid color-mix(in srgb, var(--app-text) 16%, transparent);
}

body.mia-conversation-course-page .mia-chapter-heading > span {
  color:var(--brand);
  font-size:13px;
  font-weight:700;
  text-transform:uppercase;
}

body.mia-conversation-course-page .mia-chapter-heading h2 {
  max-width:none;
  margin:0;
  font-size:clamp(25px, 3vw, 40px);
  line-height:1.06;
  text-align:right;
}

body.mia-conversation-course-page .mia-chapter-workspace {
  display:grid;
  grid-template-columns:minmax(0, 1.35fr) minmax(260px, .65fr);
  gap:16px;
  min-height:430px;
}

body.mia-conversation-course-page .mia-chapter-active,
body.mia-conversation-course-page .mia-chapter-history {
  min-width:0;
  border:1px solid color-mix(in srgb, var(--brand) 28%, var(--app-line));
  border-radius:16px;
  background:color-mix(in srgb, var(--app-panel) 94%, transparent);
}

body.mia-conversation-course-page .mia-chapter-active {
  display:flex;
  flex-direction:column;
  gap:14px;
  padding:clamp(15px, 2vw, 22px);
}

body.mia-conversation-course-page .mia-chapter-current {
  display:grid;
  grid-template-columns:42px minmax(0, 1fr);
  gap:12px;
  align-items:start;
  padding:16px;
  border:1px solid color-mix(in srgb, var(--brand) 45%, var(--app-line));
  border-radius:14px;
  background:linear-gradient(135deg, color-mix(in srgb, var(--brand) 12%, var(--app-panel)), var(--app-panel) 72%);
}

body.mia-conversation-course-page .mia-chapter-current strong {
  display:block;
  margin-bottom:5px;
  color:var(--brand);
  font-size:13px;
}

body.mia-conversation-course-page .mia-chapter-current p {
  margin:0;
  color:var(--app-text);
  font-size:clamp(16px, 1.35vw, 19px);
  line-height:1.48;
}

body.mia-conversation-course-page .mia-chapter-current p.is-entering {
  animation:mia-message-enter .38s ease both;
}

@keyframes mia-message-enter {
  from { opacity:0; transform:translateY(6px); }
  to { opacity:1; transform:translateY(0); }
}

body.mia-conversation-course-page .mia-chapter-guidance {
  display:flex;
  gap:9px;
  align-items:flex-start;
  margin:0;
  padding:10px 12px;
  border-radius:10px;
  color:var(--app-muted);
  background:color-mix(in srgb, var(--brand) 8%, var(--app-panel));
  font-size:14px;
  line-height:1.45;
}

body.mia-conversation-course-page .mia-chapter-guidance svg {
  flex:0 0 auto;
  width:18px;
  color:var(--brand);
}

body.mia-conversation-course-page .mia-chapter-control {
  margin-top:auto;
  padding:0;
  border:0;
  background:transparent;
}

body.mia-conversation-course-page .mia-open-answer,
body.mia-conversation-course-page .mia-chapter-control [data-mia-control] {
  display:grid;
  gap:10px;
}

body.mia-conversation-course-page .mia-chapter-control textarea.field {
  display:block;
  width:100%;
  min-height:92px;
  max-height:180px;
  resize:vertical;
}

body.mia-conversation-course-page .mia-continue-button {
  justify-self:end;
  display:inline-flex !important;
  visibility:visible !important;
  opacity:1 !important;
}

body.mia-conversation-course-page .mia-control-feedback {
  display:none;
  margin:0;
  color:#ffd7d7;
  font-size:13px;
}

body.mia-conversation-course-page .mia-control-feedback.is-visible { display:block; }

body.mia-conversation-course-page .mia-chip-grid button.selected {
  border-color:var(--brand);
  background:var(--brand);
  color:#061313;
}

body.mia-conversation-course-page .mia-chapter-history {
  display:flex;
  flex-direction:column;
  overflow:hidden;
}

body.mia-conversation-course-page .mia-chapter-history > header {
  padding:14px 15px;
  border-bottom:1px solid color-mix(in srgb, var(--app-text) 14%, transparent);
}

body.mia-conversation-course-page .mia-chapter-history > header div {
  display:flex;
  align-items:center;
  gap:8px;
}

body.mia-conversation-course-page .mia-chapter-history > header svg {
  width:18px;
  color:var(--brand);
}

body.mia-conversation-course-page .mia-chapter-history > header small {
  display:block;
  margin-top:4px;
  color:var(--app-muted);
  line-height:1.35;
}

body.mia-conversation-course-page .mia-chapter-thread {
  flex:1;
  min-height:320px;
  max-height:480px;
  padding:13px;
  overflow:auto;
  scrollbar-width:thin;
  scrollbar-color:var(--brand) transparent;
}

body.mia-conversation-course-page .mia-chapter-thread:empty:after {
  content:'La conversación aparecerá aquí a medida que avancemos.';
  display:block;
  padding:18px 8px;
  color:var(--app-muted);
  font-size:13px;
  text-align:center;
}

body.mia-conversation-course-page .mia-chapter-thread .mia-chapter-bubble {
  width:100%;
  max-width:100%;
  padding:10px 11px;
  border-radius:12px;
  border-color:color-mix(in srgb, var(--brand) 34%, var(--app-line));
  background:linear-gradient(135deg, color-mix(in srgb, var(--brand) 12%, var(--app-panel)), var(--app-panel));
  font-size:13px;
}

body.mia-conversation-course-page .mia-chapter-thread .mia-chapter-bubble.user {
  width:calc(100% - 20px);
  margin-left:20px;
  border-color:var(--app-line);
  background:color-mix(in srgb, var(--app-panel-2) 92%, var(--theme-glow-b, transparent));
}

body.mia-conversation-course-page .mia-chapter-thread .mia-chapter-bubble p,
body.mia-conversation-course-page .mia-chip-grid button,
body.mia-conversation-course-page .mia-chapter-control textarea.field {
  color:var(--app-text);
}

body.mia-conversation-course-page .mia-chip-grid button {
  border-color:var(--app-line);
  background:color-mix(in srgb, var(--app-text) 8%, var(--app-panel));
}

body.mia-conversation-course-page .mia-scale div,
body.mia-conversation-course-page .mia-chapter-progress {
  color:var(--app-muted);
}

body.mia-conversation-course-page .mia-chapter-control textarea.field {
  border-color:var(--app-line);
  background:var(--app-panel-2);
}

body.mia-conversation-course-page .mia-chapter-progress {
  grid-template-columns:minmax(0, 1fr) auto;
  align-items:center;
  margin-top:0;
}

body.mia-conversation-course-page .mia-chapter-progress > div { grid-column:1 / -1; }

body.mia-conversation-course-page .mia-save-status {
  display:inline-flex;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
  color:var(--app-muted);
  font-size:12px;
}

body.mia-conversation-course-page .mia-save-status svg {
  width:15px;
  height:15px;
}

body.mia-conversation-course-page .mia-save-status.saved { color:var(--brand); }
body.mia-conversation-course-page .mia-save-status.local { color:#ffd166; }
body.mia-conversation-course-page .mia-save-status.saving svg { animation:mia-save-spin 1s linear infinite; }

@keyframes mia-save-spin { to { transform:rotate(360deg); } }

/* La distribución responde al ancho real del aula, no solo al viewport. */
body.mia-conversation-course-page .mia-chapter-dialogue {
  container: mia-dialogue / inline-size;
}

body.mia-conversation-course-page .mia-chapter-workspace {
  grid-template-columns:minmax(340px, 1.15fr) minmax(280px, .85fr);
}

body.mia-conversation-course-page .mia-chapter-current > div,
body.mia-conversation-course-page .mia-chapter-history > header,
body.mia-conversation-course-page .mia-chapter-bubble p {
  min-width:0;
  max-width:100%;
  overflow-wrap:break-word;
  word-break:normal;
}

body.mia-conversation-course-page .mia-chapter-current p {
  width:100%;
  max-width:none;
}

@container mia-dialogue (max-width: 720px) {
  body.mia-conversation-course-page .mia-chapter-workspace {
    grid-template-columns:minmax(0, 1fr);
    min-height:0;
  }

  body.mia-conversation-course-page .mia-chapter-active,
  body.mia-conversation-course-page .mia-chapter-history {
    width:100%;
  }

  body.mia-conversation-course-page .mia-chapter-history {
    order:2;
  }

  body.mia-conversation-course-page .mia-chapter-thread {
    min-height:180px;
    max-height:300px;
  }
}

@media (max-width: 900px) {
  body.mia-conversation-course-page .mia-chapter-workspace {
    grid-template-columns:1fr;
    min-height:0;
  }

  body.mia-conversation-course-page .mia-chapter-history { order:2; }
  body.mia-conversation-course-page .mia-chapter-thread {
    min-height:180px;
    max-height:300px;
  }
}

@media (max-width: 560px) {
  body.mia-conversation-course-page .mia-chapter-experience { padding:11px; }
  body.mia-conversation-course-page .mia-chapter-heading {
    display:block;
    padding-bottom:11px;
  }
  body.mia-conversation-course-page .mia-chapter-heading h2 {
    margin-top:5px;
    font-size:clamp(23px, 8vw, 31px);
    text-align:left;
  }
  body.mia-conversation-course-page .mia-chapter-active { padding:12px; }
  body.mia-conversation-course-page .mia-chapter-current {
    grid-template-columns:34px minmax(0, 1fr);
    padding:12px;
  }
  body.mia-conversation-course-page .mia-chapter-current p { font-size:15px; }
  body.mia-conversation-course-page .mia-continue-button {
    width:100%;
    justify-content:center;
  }
}
/* MIA transversal: una conversación continua en todo el portal estudiante. */
.mia-global {
  position: fixed;
  left: max(14px, env(safe-area-inset-left));
  right: auto;
  bottom: 22px;
  z-index: 1200;
  color: var(--student-text, #f7fbff);
  transform: translate(var(--mia-move-x, 0), var(--mia-move-y, 0));
}

.mia-global-launcher {
  position: relative;
  width: 64px;
  height: 82px;
  min-height: 82px;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 60px 16px;
  align-items: center;
  gap: 3px;
  padding: 0;
  border: 0;
  border-radius: 0;
  color: #f8ffff;
  background: transparent;
  box-shadow: none;
  text-align: center;
  cursor: pointer;
  isolation: isolate;
  overflow: visible;
}

.mia-global-launcher::after,
.mia-global-panel::after {
  content: "";
  position: absolute;
  inset: -70% auto -70% -35%;
  width: 28%;
  pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.72), transparent);
  filter: blur(5px);
  transform: rotate(16deg) translateX(-260%);
  animation: miaGlobalShine 4.8s ease-in-out infinite;
  z-index: 0;
}
.mia-global-launcher::after { display: none; }
.mia-global-launcher > *,
.mia-global-panel > * { position: relative; z-index: 1; }

.mia-global-launcher-avatar,
.mia-global-panel-avatar {
  overflow: hidden;
  display: grid;
  place-items: center;
  border: 2px solid var(--student-accent, #22e3cd);
  border-radius: 50%;
  background: #18243b;
}

.mia-global-launcher-avatar { width: 60px; height: 60px; box-shadow: 0 10px 28px rgba(3,8,28,.42), 0 0 22px color-mix(in srgb, var(--student-accent, #22e3cd) 38%, transparent); }
.mia-global-launcher-name { display: block; color: var(--student-text, #f7fbff); font-size: .7rem; line-height: 1; text-align: center; text-shadow: 0 2px 8px rgba(0,0,0,.65); }
.mia-global-launcher-name strong { font-size: inherit; font-weight: 600; }
.mia-global-launcher-avatar img,
.mia-global-panel-avatar img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 24%; }
.mia-global-launcher strong,
.mia-global-launcher small { display: block; letter-spacing: 0; }
.mia-global-launcher strong { font-size: 1rem; font-weight: 650; }
.mia-global-launcher small { margin-top: 2px; color: rgba(245, 255, 255, .76); font-size: .76rem; }
.mia-global-launcher > svg { width: 20px; color: var(--student-accent, #22e3cd); }

.mia-global-panel {
  position: absolute;
  left: 0;
  right: auto;
  bottom: 0;
  width: min(430px, calc(100vw - 32px));
  height: min(680px, calc(100vh - 34px));
  display: grid;
  grid-template-rows: auto auto auto minmax(0, 1fr) auto auto;
  overflow: hidden;
  border: 1px solid rgba(34, 227, 205, .46);
  border-color: color-mix(in srgb, var(--student-accent, #22e3cd) 46%, transparent);
  border-radius: 8px;
  background: linear-gradient(155deg, rgba(24, 19, 57, .985), rgba(8, 38, 56, .985));
  box-shadow: 0 28px 80px rgba(3, 6, 24, .58);
  opacity: 0;
  visibility: hidden;
  transform: translateY(18px) scale(.98);
  transform-origin: bottom left;
  transition: opacity .22s ease, transform .22s ease, visibility .22s;
  isolation: isolate;
}

.mia-global.is-open .mia-global-panel { opacity: 1; visibility: visible; transform: none; }
.mia-global.is-open .mia-global-launcher { opacity: 0; pointer-events: none; }
.mia-global-panel > header { position: relative; z-index: 7; display: grid; grid-template-columns: 48px 1fr 26px 36px 36px; align-items: center; gap: 7px; padding: 14px 15px; border-bottom: 1px solid rgba(255,255,255,.1); cursor: move; }
.mia-global-panel-avatar { width: 48px; height: 48px; }
.mia-global-panel header strong,
.mia-global-panel header small { display: block; letter-spacing: 0; }
.mia-global-panel header strong { font-size: 1.08rem; font-weight: 650; }
.mia-global-panel header small { margin-top: 2px; color: rgba(244,252,255,.7); font-size: .76rem; }
.mia-global-panel header button { width: 36px; height: 36px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.14); border-radius: 50%; color: inherit; background: rgba(255,255,255,.06); cursor: pointer; }
.mia-global-panel header button svg { width: 18px; }
.mia-global.is-minimized .mia-global-panel { height: auto; grid-template-rows: auto; }
.mia-global.is-minimized .mia-global-panel > :not(header) { display: none; }
.mia-global-drag-icon { width: 26px; height: 32px; display: grid; place-items: center; color: rgba(235,255,255,.56); cursor: grab; touch-action: none; }
.mia-global-drag-icon svg { width: 19px; }
.mia-global.is-dragging .mia-global-drag-icon { cursor: grabbing; }
.mia-global-context { display: flex; gap: 8px; align-items: center; padding: 9px 15px; color: rgba(239,252,255,.78); background: rgba(34,227,205,.07); font-size: .78rem; }
.mia-global-context svg { width: 16px; flex: 0 0 auto; color: var(--student-accent, #22e3cd); }
.mia-global-nav { position: relative; z-index: 6; display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 7px; padding: 10px 14px 0; }
.mia-global-nav a { min-width: 0; display: flex; align-items: center; justify-content: center; gap: 6px; padding: 8px 6px; border: 1px solid rgba(78,230,218,.24); border-radius: 7px; color: #ecffff; background: rgba(18,96,105,.2); font-size: .72rem; text-decoration: none; transition: background .18s ease, border-color .18s ease, transform .18s ease; }
.mia-global-nav a:hover { border-color: rgba(94,246,232,.58); background: rgba(31,157,155,.27); transform: translateY(-1px); }
.mia-global-nav svg { width: 15px; flex: 0 0 auto; color: var(--student-accent, #22e3cd); }
.mia-global-thread { min-height: 0; overflow-y: auto; display: flex; flex-direction: column; gap: 11px; padding: 16px; scrollbar-width: thin; scrollbar-color: var(--student-accent, #22e3cd) transparent; }
.mia-global-message { display: flex; gap: 8px; align-items: flex-end; max-width: 88%; animation: miaGlobalEnter .25s ease both; }
.mia-global-message p { margin: 0; padding: 10px 12px; border-radius: 8px; font-size: .9rem; line-height: 1.5; letter-spacing: 0; overflow-wrap: anywhere; }
.mia-global-message img { width: 28px; height: 28px; flex: 0 0 auto; object-fit: cover; object-position: 50% 24%; border: 1px solid var(--student-accent, #22e3cd); border-radius: 50%; }
.mia-global-message.assistant p { color: #effeff; background: rgba(17, 108, 113, .34); border: 1px solid rgba(62, 232, 217, .26); }
.mia-global-message.user { align-self: flex-end; }
.mia-global-message.user p { color: #fff; background: rgba(114, 83, 174, .42); border: 1px solid rgba(202, 174, 255, .24); }
.mia-global-message.is-loading p { opacity: .72; animation: miaGlobalPulse 1.1s ease-in-out infinite; }
.mia-global-actions { display: flex; gap: 7px; overflow-x: auto; padding: 0 15px 10px; }
.mia-global-actions:empty { display: none; }
.mia-global-actions a { flex: 0 0 auto; padding: 7px 10px; border: 1px solid rgba(65,235,218,.34); border-radius: 999px; color: #eaffff; background: rgba(33,226,205,.1); font-size: .78rem; text-decoration: none; }
.mia-global-form { position: relative; display: grid; grid-template-columns: 1fr 42px; gap: 8px; align-items: end; margin: 0 14px 14px; padding: 8px; border: 1px solid rgba(112, 232, 227, .34); border-radius: 8px; background: rgba(6, 18, 40, .78); }
.mia-global-form textarea { width: 100%; min-height: 48px; max-height: 130px; resize: vertical; border: 0; outline: 0; padding: 7px; color: #f7fbff; background: transparent; font: inherit; font-size: .88rem; line-height: 1.4; }
.mia-global-form textarea::placeholder { color: rgba(242,250,255,.56); }
.mia-global-form button { width: 42px; height: 42px; display: grid; place-items: center; border: 0; border-radius: 50%; color: #071b22; background: var(--student-accent, #22e3cd); cursor: pointer; }
.mia-global-form button svg { width: 19px; }

@keyframes miaGlobalEnter { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
@keyframes miaGlobalPulse { 50% { opacity: .45; } }
@keyframes miaGlobalShine {
  0%, 64% { transform: rotate(16deg) translateX(-260%); opacity: 0; }
  72% { opacity: .78; }
  88%, 100% { transform: rotate(16deg) translateX(720%); opacity: 0; }
}

@media (max-width: 720px) {
  .mia-global { left: max(10px, env(safe-area-inset-left)); right: auto; bottom: 76px; }
  .mia-global-launcher { width: 64px; height: 82px; min-height: 82px; grid-template-columns: 1fr; grid-template-rows: 60px 16px; padding: 0; }
  .mia-global-panel { position: fixed; inset: auto 8px 8px; width: auto; height: min(680px, calc(100dvh - 16px)); transform-origin: bottom left; }
  .mia-global-drag-icon { display: none; }
  .mia-global-panel > header { grid-template-columns: 48px 1fr 36px 36px; cursor: default; }
  .mia-global-nav { overflow-x: auto; grid-template-columns: repeat(2, minmax(120px,1fr)); }
}

/* Video de bienvenida: modal interno reconocido como diálogo y controlado por la API de YouTube. */
body.experience-video-open { overflow: hidden; }
.experience-video-modal { position: fixed; inset: 0; z-index: 2100; display: grid; place-items: center; padding: clamp(12px, 3vw, 36px); opacity: 0; visibility: hidden; transition: opacity .22s ease, visibility .22s; }
.experience-video-modal.is-visible { opacity: 1; visibility: visible; }
.experience-video-backdrop { position: absolute; inset: 0; background: rgba(2, 7, 15, .82); backdrop-filter: blur(12px); }
.experience-video-dialog { position: relative; width: min(960px, 100%); max-height: calc(100dvh - 24px); overflow: auto; border: 1px solid rgba(66, 235, 219, .36); border-radius: 8px; color: #f7ffff; background: linear-gradient(145deg, #17142f, #073944); box-shadow: 0 30px 100px rgba(0,0,0,.58), 0 0 44px rgba(34,227,205,.12); }
.experience-video-dialog > header { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 15px 18px; }
.experience-video-dialog > header span { display: block; color: #72eee1; font-size: .76rem; }
.experience-video-dialog > header h2 { margin: 3px 0 0; font-size: clamp(1rem, 2.2vw, 1.45rem); font-weight: 600; letter-spacing: 0; }
.experience-video-dialog > header button { width: 40px; height: 40px; flex: 0 0 auto; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; color: #fff; background: rgba(255,255,255,.07); cursor: pointer; }
.experience-video-dialog > header button svg { width: 19px; }
.experience-video-frame { position: relative; width: 100%; aspect-ratio: 16 / 9; min-height: 200px; overflow: hidden; background: #000; }
.experience-video-frame iframe { width: 100%; height: 100%; border: 0; }
.experience-video-play { position: absolute; inset: 0; margin: auto; width: max-content; height: 50px; display: inline-flex; align-items: center; gap: 9px; padding: 0 18px; border: 0; border-radius: 999px; color: #071b22; background: #26e1ce; font: inherit; font-weight: 600; cursor: pointer; box-shadow: 0 12px 34px rgba(0,0,0,.4); }
.experience-video-play[hidden] { display: none; }
.experience-video-play svg { width: 19px; }
.experience-video-dialog > p { margin: 0; padding: 13px 18px 16px; color: rgba(241,252,255,.74); font-size: .88rem; }
@media (max-width: 600px) {
  .experience-video-modal { padding: 8px; }
  .experience-video-dialog { max-height: calc(100dvh - 16px); }
  .experience-video-dialog > header { padding: 12px; }
  .experience-video-dialog > p { padding: 11px 12px 13px; font-size: .8rem; }
}

@media (prefers-reduced-motion: reduce) {
  .mia-global-panel, .mia-global-message, .mia-global-message.is-loading p { animation: none; transition: none; }
}

/* Aula v14: jerarquia clara y reconocimiento visible de capitulos completados. */
body.student-course-page .class-list a {
  position:relative;
  overflow:hidden;
  border-radius:8px;
  transition:border-color .2s ease, background .2s ease, box-shadow .2s ease, transform .2s ease;
}

body.student-course-page .class-list a:hover {
  transform:translateY(-1px);
  border-color:color-mix(in srgb, var(--brand) 42%, rgba(255,255,255,.14));
}

body.student-course-page .class-list a.is-completed {
  border-color:rgba(34,227,205,.48);
  border-color:color-mix(in srgb, var(--brand) 48%, rgba(255,255,255,.12));
  background:linear-gradient(90deg, rgba(34,227,205,.14), transparent 58%), #111b1b;
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--brand) 18%, transparent), transparent 58%),
    #111b1b;
  box-shadow:inset 3px 0 0 var(--brand), 0 12px 30px rgba(0,0,0,.2);
}

body.student-course-page .class-list a.active {
  border-color:var(--brand);
  background:
    radial-gradient(circle at 92% 12%, color-mix(in srgb, var(--brand) 28%, transparent), transparent 34%),
    linear-gradient(135deg, color-mix(in srgb, var(--brand) 15%, #10201f), #111717);
  box-shadow:0 0 0 1px color-mix(in srgb, var(--brand) 24%, transparent), 0 14px 34px rgba(0,0,0,.26);
}

body.student-course-page .class-list a.is-completed > span {
  color:#071b1a;
  background:#59ead9;
  background:linear-gradient(145deg, #e4fffb, var(--brand));
  box-shadow:0 0 0 4px color-mix(in srgb, var(--brand) 13%, transparent), 0 6px 18px color-mix(in srgb, var(--brand) 24%, transparent);
}

body.student-course-page .class-list strong {
  font-size:15px;
  font-weight:750;
  line-height:1.24;
}

body.student-course-page .class-list .chapter-position {
  margin-top:4px;
  color:#73e6da;
  color:color-mix(in srgb, var(--brand) 68%, #dce8e6);
  font-size:12px;
  font-weight:650;
}

body.student-course-page .class-list .chapter-meta {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px;
  margin-top:8px;
}

body.student-course-page .class-list .chapter-meta > span {
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:3px 8px;
  border-radius:999px;
  color:#c9d7d5;
  background:rgba(255,255,255,.07);
  font-size:11px;
  font-weight:650;
}

body.student-course-page .class-list .chapter-meta > .chapter-complete-label {
  color:#071b1a;
  background:#59ead9;
  background:linear-gradient(90deg, var(--brand), color-mix(in srgb, var(--brand) 52%, #fff));
}

body.student-course-page .class-list a.is-completed > svg {
  color:var(--brand);
  filter:drop-shadow(0 0 7px color-mix(in srgb, var(--brand) 56%, transparent));
}

@media (max-width: 760px) {
  body.student-course-page .class-list strong { font-size:14px; }
  body.student-course-page .class-list a { padding:12px; }
}

/* Inicio: MIA vuelve a ser la experiencia central, sin duplicar el widget flotante. */
body.student-home-page .mia-global {
  display:none;
}

.sr-only {
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0, 0, 0, 0) !important;
  white-space:nowrap !important;
  border:0 !important;
}

body.student-home-page .app-content {
  min-height:0;
  display:block;
  padding:clamp(12px, 1.7vw, 24px);
}

body.student-home-page .home-mia-entry {
  min-height:0;
  display:block;
  padding:0;
}

body.student-home-page .home-mia-hero {
  width:100%;
  min-height:0;
  height:auto;
  max-height:none;
  grid-template-columns:minmax(190px, 270px) minmax(0, 1fr);
  align-items:center;
  gap:clamp(18px, 2.4vw, 32px);
  padding:clamp(18px, 2.4vw, 30px);
  overflow:hidden;
}

body.student-home-page .home-mia-hero .mia-coach-presence {
  width:100%;
  height:clamp(330px, 42vw, 430px);
  min-height:0;
  max-height:430px;
}

body.student-home-page .home-mia-hero .mia-presence-card {
  width:min(240px, 92%);
  height:100%;
  min-height:0;
}

body.student-home-page .home-mia-hero .mia-presence-card img {
  width:min(176px, 78%);
  max-width:176px;
  max-height:230px;
  object-fit:contain;
}

body.student-home-page .home-mia-hero .dashboard-mia-copy {
  width:100%;
  max-width:900px;
  min-width:0;
  display:grid;
  align-content:center;
  justify-items:stretch;
  gap:12px;
}

body.student-home-page .home-mia-hero .dashboard-mia-copy > h1 {
  max-width:780px;
  margin:0;
  color:#f8ffff;
  font-size:clamp(32px, 4vw, 54px);
  line-height:1.02;
}

body.student-home-page .home-mia-hero .dashboard-mia-copy > p {
  max-width:760px;
  margin:0;
  color:rgba(245,255,255,.84);
  font-size:clamp(15px, 1.2vw, 18px);
  line-height:1.45;
}

body.student-home-page .mia-home-chat {
  width:min(100%, 800px);
  min-height:0;
}

body.student-home-page .mia-home-thread {
  width:100%;
  min-height:112px;
  max-height:220px;
  display:flex;
  flex-direction:column;
  gap:9px;
  overflow-y:auto;
  padding:2px 4px 2px 0;
}

body.student-home-page .mia-home-message {
  width:min(100%, 760px);
  min-height:0;
  max-height:none;
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin:0;
  padding:12px 14px;
  overflow:visible;
}

body.student-home-page .mia-home-message.user {
  width:min(88%, 650px);
}

body.student-home-page .mia-home-message > img {
  width:34px;
  height:34px;
  flex:0 0 auto;
  object-fit:cover;
  object-position:50% 24%;
  border:1px solid #30e8d4;
  border-radius:50%;
  box-shadow:0 0 0 3px rgba(48,232,212,.10);
}

body.student-home-page .mia-home-message > div {
  min-width:0;
  display:grid;
  gap:3px;
}

body.student-home-page .mia-home-message strong {
  color:#39f0db;
  font-size:12px;
  letter-spacing:0;
}

body.student-home-page .mia-home-message p {
  min-height:0;
  margin:0;
  color:rgba(255,255,255,.92);
  font-size:clamp(14px, 1vw, 16px);
  line-height:1.45;
}

body.student-home-page .mia-home-message p.is-typing:after {
  content:"";
  display:inline-block;
  width:2px;
  height:.92em;
  margin-left:4px;
  vertical-align:-.08em;
  background:#39f0db;
  animation:homeMiaCaret .72s ease-in-out infinite;
}

.home-guided-actions {
  width:min(100%, 800px);
  display:flex;
  flex-wrap:wrap;
  gap:9px;
}

.home-guided-actions .btn {
  min-height:42px;
  gap:8px;
  padding:0 14px;
  font-size:14px;
}

.home-guided-actions .btn span {
  min-height:24px;
  display:inline-flex;
  align-items:center;
  padding:0 7px;
  border-radius:999px;
  background:rgba(255,255,255,.13);
  font-size:11px;
}

body.student-home-page .mia-home-prompt {
  width:min(100%, 800px);
  min-height:94px;
  display:grid;
  gap:8px;
  margin:0;
  padding:12px 14px;
  border:1px solid rgba(96,235,226,.38);
  border-radius:18px;
  background:rgba(7,21,49,.78);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}

body.student-home-page .mia-home-prompt textarea {
  width:100%;
  min-height:42px;
  max-height:92px;
  padding:4px 2px;
  resize:vertical;
  border:0;
  outline:0;
  color:#f7ffff;
  background:transparent;
  font:inherit;
  font-size:15px;
  line-height:1.45;
}

body.student-home-page .mia-home-prompt textarea::placeholder {
  color:rgba(239,250,255,.62);
}

.mia-home-actions {
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:8px;
}

.mia-home-actions:empty {
  display:none;
}

.mia-home-actions a {
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:34px;
  padding:0 10px;
  border:1px solid rgba(66,236,220,.34);
  border-radius:999px;
  color:#edffff;
  background:rgba(26,177,166,.16);
  font-size:12px;
}

.mia-home-actions a svg {
  width:15px;
  height:15px;
  color:#39f0db;
}

.mia-home-quick-prompts {
  width:min(100%, 800px);
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}

.mia-home-quick-prompts button {
  min-height:34px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:0 10px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  color:rgba(249,255,255,.88);
  background:rgba(255,255,255,.07);
  font:inherit;
  font-size:12px;
  cursor:pointer;
}

.mia-home-quick-prompts button:hover,
.mia-home-quick-prompts button:focus-visible {
  border-color:rgba(65,239,220,.62);
  background:rgba(40,226,207,.15);
}

.mia-home-quick-prompts svg {
  width:14px;
  height:14px;
  color:#39f0db;
}

@media (max-width: 900px) {
  body.student-home-page .home-mia-hero {
    grid-template-columns:minmax(150px, 205px) minmax(0, 1fr);
    align-items:center;
    padding:16px;
  }

  body.student-home-page .home-mia-hero .mia-coach-presence {
    height:300px;
  }

  body.student-home-page .home-mia-hero .dashboard-mia-copy > h1 {
    font-size:clamp(29px, 5vw, 42px);
  }
}

/* MIA v113: destello orbital fino, contenido dentro del borde del textarea. */
@property --mia-orbit-angle {
  syntax: "<angle>";
  inherits: false;
  initial-value: 0deg;
}

:where(
  .mia-global-form textarea,
  body.student-home-page .mia-home-prompt textarea,
  body.mia-conversation-course-page .mia-chapter-control textarea.field,
  body.mia-test-page .mia-answer-panel textarea.field,
  body.coach-page .coach-form textarea.field
) {
  --mia-orbit-angle: 0deg;
  border:1px solid transparent !important;
  background:
    linear-gradient(135deg, rgba(8,25,57,.96), rgba(11,35,65,.90)) padding-box,
    conic-gradient(
      from var(--mia-orbit-angle),
      rgba(63,226,255,.20) 0deg,
      rgba(63,226,255,.20) 40deg,
      transparent 74deg,
      transparent 220deg,
      rgba(73,255,222,.30) 260deg,
      #7ffff0 279deg,
      rgba(255,255,255,.96) 286deg,
      #56d7ff 293deg,
      rgba(73,255,222,.30) 310deg,
      transparent 332deg,
      rgba(63,226,255,.20) 360deg
    ) border-box !important;
  background-size:100% 100% !important;
  background-position:center !important;
  box-shadow:0 0 0 1px rgba(83,240,225,.10), 0 0 12px rgba(45,224,207,.05);
  animation:miaWritingBorderOrbit 6.8s linear infinite !important;
}

:where(
  .mia-global-form textarea,
  body.student-home-page .mia-home-prompt textarea,
  body.mia-conversation-course-page .mia-chapter-control textarea.field,
  body.mia-test-page .mia-answer-panel textarea.field,
  body.coach-page .coach-form textarea.field
):focus {
  box-shadow:0 0 0 1px rgba(135,255,244,.34), 0 0 17px rgba(57,227,213,.13);
  animation-duration:4.2s !important;
}

@keyframes miaWritingBorderOrbit {
  0%, 12% { --mia-orbit-angle:0deg; }
  64%, 76% { --mia-orbit-angle:360deg; }
  100% { --mia-orbit-angle:360deg; }
}

@media (prefers-reduced-motion: reduce) {
  :where(
    .mia-global-form textarea,
    body.student-home-page .mia-home-prompt textarea,
    body.mia-conversation-course-page .mia-chapter-control textarea.field,
    body.mia-test-page .mia-answer-panel textarea.field,
    body.coach-page .coach-form textarea.field
  ) {
    animation:none !important;
  }
}

@media (max-width: 680px) {
  body.student-home-page .app-content {
    padding:9px;
  }

  body.student-home-page .home-mia-hero {
    grid-template-columns:1fr;
    gap:12px;
    padding:13px;
    border-radius:18px;
  }

  body.student-home-page .home-mia-hero .mia-coach-presence {
    height:178px;
    max-height:178px;
  }

  body.student-home-page .home-mia-hero .mia-presence-card {
    width:min(210px, 78%);
  }

  body.student-home-page .home-mia-hero .mia-presence-card img {
    max-height:140px;
  }

  body.student-home-page .home-mia-hero .dashboard-mia-copy > h1 {
    font-size:clamp(28px, 9vw, 38px);
  }

  body.student-home-page .mia-home-thread {
    min-height:120px;
    max-height:240px;
  }

  .home-guided-actions,
  .home-guided-actions .btn {
    width:100%;
  }

  .home-guided-actions .btn {
    justify-content:center;
  }

  .mia-home-quick-prompts {
    display:grid;
    grid-template-columns:1fr;
  }

  .mia-home-quick-prompts button {
    width:100%;
    justify-content:flex-start;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.student-home-page .mia-home-message p.is-typing:after {
    animation:none;
  }
}

/* Móvil v116: logo y acciones comparten la barra superior, pegada al navegador. */
.mobile-app-logo {
  display:none;
}

@media (max-width:840px) {
  html,
  body,
  body > .app-shell {
    margin-top:0 !important;
    padding-top:0 !important;
  }

  body > .app-shell {
    top:0 !important;
    min-height:100dvh;
  }

  .app-topbar {
    display:flex;
    align-items:center;
    gap:10px;
    min-height:64px;
    margin:0 !important;
    padding:8px 10px !important;
  }

  .mobile-app-logo {
    display:flex;
    flex:0 0 auto;
    align-items:center;
    width:104px;
    height:42px;
  }

  .mobile-app-logo img {
    display:block;
    width:100%;
    max-height:42px;
    object-fit:contain;
    object-position:left center;
  }

  .app-sidebar > .app-logo {
    display:none;
  }

  .student-topbar-clean .app-actions {
    width:min-content;
    min-width:0;
    flex:1 1 auto;
    justify-content:flex-end !important;
    margin-left:auto;
    padding:0;
  }
}

/* MIA v114: el hilo se reduce; el espacio para responder nunca sale del panel. */
.mia-global-panel {
  display:flex !important;
  flex-direction:column;
  grid-template-rows:none !important;
}

.mia-global-panel > header,
.mia-global-context,
.mia-global-nav,
.mia-global-actions,
.mia-global-form {
  flex:0 0 auto;
}

.mia-global-thread {
  flex:1 1 auto;
  min-height:0;
}

.mia-global-form {
  position:relative;
  z-index:4;
  margin-top:auto;
}

/* El desplazamiento se conserva también en pantallas táctiles. */
@media (max-width:720px) {
  .mia-global {
    transform:translate(var(--mia-move-x, 0), var(--mia-move-y, 0)) !important;
  }
}

/* En móvil, las acciones de la cuenta preceden al logo y al contenido. */
@media (max-width:840px) {
  .app-workspace {
    display:contents;
  }

  .app-topbar {
    order:-1;
    position:sticky;
    top:0;
  }

  .app-sidebar {
    order:0;
  }

  .app-content {
    order:1;
  }
}

/* La última regla conserva el destello dentro del borde y vence estilos previos. */
:where(
  .mia-global-form textarea,
  body.student-home-page .mia-home-prompt textarea,
  body.mia-conversation-course-page .mia-chapter-control textarea.field,
  body.mia-test-page .mia-answer-panel textarea.field,
  body.coach-page .coach-form textarea.field
) {
  --mia-orbit-angle:0deg;
  border:1px solid transparent !important;
  background:
    linear-gradient(135deg, rgba(8,25,57,.96), rgba(11,35,65,.90)) padding-box,
    conic-gradient(from var(--mia-orbit-angle), rgba(63,226,255,.20) 0deg, rgba(63,226,255,.20) 40deg, transparent 74deg, transparent 220deg, rgba(73,255,222,.30) 260deg, #7ffff0 279deg, rgba(255,255,255,.96) 286deg, #56d7ff 293deg, rgba(73,255,222,.30) 310deg, transparent 332deg, rgba(63,226,255,.20) 360deg) border-box !important;
  background-size:100% 100% !important;
  background-position:center !important;
  box-shadow:0 0 0 1px rgba(83,240,225,.10), 0 0 12px rgba(45,224,207,.05);
  animation:miaWritingBorderOrbit 6.8s linear infinite !important;
}

:where(
  .mia-global-form textarea,
  body.student-home-page .mia-home-prompt textarea,
  body.mia-conversation-course-page .mia-chapter-control textarea.field,
  body.mia-test-page .mia-answer-panel textarea.field,
  body.coach-page .coach-form textarea.field
):focus {
  box-shadow:0 0 0 1px rgba(135,255,244,.34), 0 0 17px rgba(57,227,213,.13);
  animation-duration:4.2s !important;
}

@media (prefers-reduced-motion: reduce) {
  :where(
    .mia-global-form textarea,
    body.student-home-page .mia-home-prompt textarea,
    body.mia-conversation-course-page .mia-chapter-control textarea.field,
    body.mia-test-page .mia-answer-panel textarea.field,
    body.coach-page .coach-form textarea.field
  ) {
    animation:none !important;
  }
}

/* Inicio v10: composicion compacta de MIA y chat sin desbordamientos. */
body.student-home-page,
body.student-home-page .app-workspace,
body.student-home-page .app-content,
body.student-home-page .home-mia-entry,
body.student-home-page .home-mia-hero,
body.student-home-page .dashboard-mia-copy,
body.student-home-page .mia-home-intro,
body.student-home-page .mia-home-heading,
body.student-home-page .mia-home-chat,
body.student-home-page .mia-home-thread,
body.student-home-page .mia-home-message,
body.student-home-page .mia-home-message > div,
body.student-home-page .mia-home-prompt {
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
}

body.student-home-page .app-content {
  min-height:0;
  overflow:visible;
}

body.student-home-page .home-mia-entry {
  width:min(100%, 1240px);
  margin:0 auto;
  overflow:visible;
}

body.student-home-page .home-mia-hero {
  width:100%;
  min-height:0;
  height:auto;
  max-height:none;
  display:block;
  padding:clamp(16px, 2.3vw, 28px);
  overflow:hidden;
}

body.student-home-page .home-mia-hero .dashboard-mia-copy {
  width:min(100%, 980px);
  max-width:980px;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0, 1fr);
  align-content:start;
  gap:12px;
}

body.student-home-page .mia-home-intro {
  display:grid;
  grid-template-columns:112px minmax(0, 1fr);
  align-items:center;
  gap:clamp(14px, 2vw, 24px);
}

body.student-home-page .mia-home-portrait {
  position:relative;
  isolation:isolate;
  width:112px;
  height:132px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  overflow:hidden;
  border:1px solid rgba(88,239,222,.42);
  border-radius:8px;
  background:linear-gradient(155deg, rgba(91,42,111,.82), rgba(8,77,91,.86));
  box-shadow:0 14px 34px rgba(4,10,27,.28);
}

body.student-home-page .mia-home-portrait-glow {
  position:absolute;
  z-index:-1;
  inset:18px 8px 6px;
  border-radius:48% 52% 44% 56%;
  background:radial-gradient(circle at 45% 42%, rgba(255,205,111,.95), rgba(247,116,206,.42) 45%, rgba(36,231,211,.08) 72%);
  filter:blur(2px);
  animation:miaHomePortraitGlow 5.4s ease-in-out infinite;
}

body.student-home-page .mia-home-portrait img {
  position:absolute;
  inset:auto 0 0;
  width:100%;
  height:122px;
  display:block;
  object-fit:contain;
  object-position:center bottom;
  filter:drop-shadow(0 9px 13px rgba(2,8,24,.32));
}

body.student-home-page .mia-home-portrait > span:last-child {
  position:relative;
  z-index:2;
  width:calc(100% - 12px);
  margin:0 6px 6px;
  padding:5px 7px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.18);
  border-radius:6px;
  color:#f8ffff;
  background:rgba(6,21,42,.82);
  font-size:10px;
  line-height:1.15;
  text-align:center;
  text-overflow:ellipsis;
  white-space:nowrap;
  backdrop-filter:blur(8px);
}

body.student-home-page .mia-home-heading {
  display:grid;
  gap:8px;
}

body.student-home-page .mia-home-heading .pill {
  width:max-content;
  max-width:100%;
}

body.student-home-page .mia-home-heading h1,
body.student-home-page .home-mia-hero .dashboard-mia-copy .mia-home-heading h1 {
  max-width:760px;
  margin:0;
  color:#f8ffff;
  font-size:clamp(30px, 4vw, 50px);
  line-height:1.02;
  overflow-wrap:anywhere;
}

body.student-home-page .mia-home-heading p {
  max-width:720px;
  margin:0;
  color:rgba(246,255,255,.86);
  font-size:clamp(14px, 1.15vw, 17px);
  line-height:1.45;
  overflow-wrap:anywhere;
}

body.student-home-page .mia-home-chat,
body.student-home-page .home-guided-actions,
body.student-home-page .mia-home-prompt {
  width:100%;
  max-width:100%;
}

body.student-home-page .mia-home-thread {
  width:100%;
  min-height:0;
  max-height:220px;
  display:flex;
  flex-direction:column;
  gap:9px;
  padding:0 5px 0 0;
  overflow-x:hidden;
  overflow-y:auto;
  scrollbar-width:thin;
  scrollbar-color:rgba(49,234,214,.65) transparent;
}

body.student-home-page .mia-home-message {
  flex:0 0 auto;
  width:min(100%, 820px);
  min-height:0;
  max-height:none;
  overflow:visible;
}

body.student-home-page .mia-home-message.user {
  width:min(88%, 720px);
  margin-left:auto;
}

body.student-home-page .mia-home-message p {
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:normal;
}

body.student-home-page .mia-home-prompt {
  min-height:92px;
  overflow:hidden;
}

body.student-home-page .mia-home-prompt textarea {
  min-width:0;
  max-width:100%;
  resize:none;
  overflow-x:hidden;
  overflow-y:auto;
}

@keyframes miaHomePortraitGlow {
  0%, 100% { opacity:.72; transform:scale(.96) translateY(2px); }
  50% { opacity:1; transform:scale(1.04) translateY(-2px); }
}

@media (max-width: 680px) {
  body.student-home-page .home-mia-hero {
    padding:13px;
  }

  body.student-home-page .mia-home-intro {
    grid-template-columns:78px minmax(0, 1fr);
    gap:11px;
  }

  body.student-home-page .mia-home-portrait {
    width:78px;
    height:96px;
  }

  body.student-home-page .mia-home-portrait img {
    height:90px;
  }

  body.student-home-page .mia-home-portrait > span:last-child {
    display:none;
  }

  body.student-home-page .mia-home-heading h1,
  body.student-home-page .home-mia-hero .dashboard-mia-copy .mia-home-heading h1 {
    font-size:clamp(25px, 8vw, 34px);
  }

  body.student-home-page .mia-home-heading p {
    font-size:14px;
  }

  body.student-home-page .mia-home-thread {
    max-height:205px;
  }

  body.student-home-page .mia-home-message.user {
    width:94%;
  }

  body.student-home-page .home-guided-actions {
    display:grid;
    grid-template-columns:1fr;
  }

  body.student-home-page .home-guided-actions .btn {
    width:100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.student-home-page .mia-home-portrait-glow {
    animation:none;
  }
}

/* Mis ecosistemas v11: una sola superficie con el fondo del tema elegido. */
body.student-progress-page .ecosystems-page {
  width:min(100%, 1240px);
  min-width:0;
  margin:0 auto;
  gap:18px;
}

body.student-progress-page .ecosystem-theme-surface {
  position:relative;
  isolation:isolate;
  min-width:0;
  overflow:hidden;
  padding:clamp(20px, 3vw, 38px);
  border:1px solid rgba(255,255,255,.20);
  border-radius:24px;
  color:#f8ffff;
  background:
    linear-gradient(100deg, rgba(7,13,32,.95) 0%, rgba(10,25,43,.88) 48%, rgba(15,11,38,.78) 100%),
    var(--student-banner-image) center/cover no-repeat;
  box-shadow:0 26px 78px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.12);
}

body.student-progress-page .ecosystem-theme-surface:before {
  content:"";
  position:absolute;
  z-index:-1;
  inset:-30%;
  pointer-events:none;
  background:
    linear-gradient(115deg, transparent 24%, rgba(255,255,255,.12) 40%, transparent 56%),
    radial-gradient(circle at 18% 24%, var(--theme-glow-a), transparent 28%),
    radial-gradient(circle at 82% 18%, var(--theme-glow-b), transparent 26%);
  filter:blur(24px);
  opacity:.72;
  animation:ecosystemThemeLight 16s ease-in-out infinite alternate;
}

body.student-progress-page .ecosystem-theme-surface > * {
  position:relative;
  z-index:1;
}

body.student-progress-page .ecosystem-theme-surface :where(.ecosystem-head h2, .section-title-row h3, .experience-body h3) {
  color:#f8ffff;
}

body.student-progress-page .ecosystem-theme-surface :where(.ecosystem-head p, .section-title-row p, .experience-body p, .ecosystem-progress span) {
  color:rgba(241,251,255,.82);
}

body.student-progress-page .ecosystem-theme-surface .pill {
  color:#f8ffff;
  background:rgba(24,18,61,.72);
  border-color:rgba(255,255,255,.20);
  backdrop-filter:blur(10px);
}

body.student-progress-page .ecosystem-theme-surface .ecosystem-progress,
body.student-progress-page .ecosystem-theme-surface .experience-card {
  color:#f8ffff;
  background:rgba(14,16,40,.78);
  border-color:rgba(255,255,255,.18);
  box-shadow:0 18px 48px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter:blur(14px);
}

body.student-progress-page .ecosystem-theme-surface .experience-body .progress {
  background:rgba(255,255,255,.16);
}

@keyframes ecosystemThemeLight {
  from { opacity:.54; transform:translate3d(-2%, -1%, 0) scale(1); }
  to { opacity:.86; transform:translate3d(2%, 1%, 0) scale(1.04); }
}

@media (max-width: 680px) {
  body.student-progress-page .ecosystem-theme-surface {
    padding:16px;
    border-radius:18px;
    background:
      linear-gradient(180deg, rgba(7,13,32,.94), rgba(10,20,40,.86)),
      var(--student-banner-image) center/cover no-repeat;
  }

  body.student-progress-page .ecosystem-theme-surface .ecosystem-head h2 {
    font-size:clamp(28px, 9vw, 40px);
  }
}

@media (prefers-reduced-motion: reduce) {
  body.student-progress-page .ecosystem-theme-surface:before {
    animation:none;
  }
}

/* MIA flotante v12: lanzador circular y panel siempre contenido en el viewport. */
.mia-global-launcher,
.mia-global-launcher:hover,
.mia-global-launcher:focus-visible {
  width:64px;
  height:82px;
  min-width:64px;
  min-height:82px;
  display:grid;
  grid-template-columns:64px;
  grid-template-rows:64px 14px;
  justify-items:center;
  gap:3px;
  padding:0;
  overflow:visible;
  border:0;
  border-radius:0;
  color:#f8ffff;
  background:transparent;
  box-shadow:none;
  transform:none;
}

.mia-global-launcher-avatar {
  width:64px;
  height:64px;
  border:2px solid var(--student-accent, #22e3cd);
  border-radius:50%;
  background:#18243b;
  box-shadow:0 10px 28px rgba(3,8,28,.42), 0 0 24px color-mix(in srgb, var(--student-accent, #22e3cd) 42%, transparent);
}

.mia-global-launcher-name {
  width:max-content;
  max-width:72px;
  display:block;
  overflow:hidden;
  color:#f8ffff;
  font-size:11px;
  line-height:14px;
  text-align:center;
  text-overflow:ellipsis;
  white-space:nowrap;
  text-shadow:0 2px 8px rgba(0,0,0,.85);
}

.mia-global-panel {
  width:min(420px, calc(100vw - 28px));
  height:min(620px, calc(100dvh - 28px));
  max-width:calc(100vw - 28px);
  max-height:calc(100dvh - 28px);
  overflow:hidden;
  pointer-events:none;
}

.mia-global.is-open .mia-global-panel {
  pointer-events:auto;
}

.mia-global-panel > header {
  min-width:0;
}

.mia-global-panel > header > div {
  min-width:0;
}

.mia-global-panel > header > div small {
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.mia-global-panel header button,
.mia-global-panel [data-mia-global-close],
.mia-global-panel [data-mia-global-minimize] {
  position:relative;
  z-index:12;
  display:grid;
  flex:0 0 auto;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}

.mia-global-thread,
.mia-global-form,
.mia-global-form textarea {
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
}

@media (max-width: 720px) {
  .mia-global {
    left:max(10px, env(safe-area-inset-left));
    right:auto;
    bottom:max(70px, calc(env(safe-area-inset-bottom) + 62px));
    transform:translate(var(--mia-move-x, 0), var(--mia-move-y, 0)) !important;
  }

  .mia-global-panel {
    position:fixed;
    inset:max(8px, env(safe-area-inset-top)) 8px max(8px, env(safe-area-inset-bottom)) 8px;
    width:auto;
    height:auto;
    max-width:none;
    max-height:none;
    border-radius:8px;
    transform-origin:bottom left;
  }

  .mia-global-panel > header {
    grid-template-columns:42px minmax(0, 1fr) 38px 38px;
    gap:6px;
    padding:10px;
  }

  .mia-global-panel-avatar {
    width:42px;
    height:42px;
  }

  .mia-global-panel header strong {
    font-size:1rem;
  }

  .mia-global-panel header small {
    font-size:11px;
  }

  .mia-global-context {
    padding:8px 11px;
    font-size:12px;
  }

  .mia-global-nav {
    grid-template-columns:repeat(2, minmax(0, 1fr));
    padding:8px 10px 0;
    overflow:visible;
  }

  .mia-global-thread {
    padding:11px;
  }

  .mia-global-form {
    margin:0 10px 10px;
  }
}

@media (max-width: 380px), (max-height: 620px) {
  .mia-global-context {
    display:none;
  }

  .mia-global-nav {
    padding-top:7px;
  }

  .mia-global-message p {
    padding:8px 10px;
    font-size:13px;
  }
}

/* Reproductor de bienvenida v13: diálogo audiovisual de la experiencia. */
body.experience-video-open {
  overflow:hidden;
}

.experience-video-modal {
  position:fixed;
  inset:0;
  z-index:2100;
  display:grid;
  place-items:center;
  padding:clamp(10px, 2.6vw, 32px);
}

.experience-video-modal.is-visible .experience-video-dialog {
  animation:experienceVideoEnter .42s cubic-bezier(.2,.8,.2,1) both;
}

.experience-video-backdrop {
  background:
    radial-gradient(circle at 22% 18%, color-mix(in srgb, var(--brand) 18%, transparent), transparent 30%),
    radial-gradient(circle at 82% 82%, rgba(255,98,202,.12), transparent 28%),
    rgba(2,7,18,.90);
  backdrop-filter:blur(16px) saturate(.82);
}

.experience-video-dialog {
  position:relative;
  isolation:isolate;
  width:min(1020px, 100%);
  max-height:calc(100dvh - 20px);
  display:grid;
  grid-template-rows:auto minmax(0, 1fr) auto;
  overflow:hidden;
  border:1px solid rgba(103,240,225,.38);
  border-radius:8px;
  color:#f7ffff;
  background:linear-gradient(145deg, rgba(25,20,56,.985), rgba(7,39,54,.99));
  box-shadow:0 34px 110px rgba(0,0,0,.68), 0 0 60px rgba(36,224,205,.13), inset 0 1px 0 rgba(255,255,255,.10);
}

.experience-video-dialog:before {
  content:"";
  position:absolute;
  z-index:-1;
  inset:0 0 auto;
  height:3px;
  background:linear-gradient(90deg, #25f4d0, #8ef6ff 48%, #ff7fd5);
  box-shadow:0 0 24px rgba(37,244,208,.42);
}

.experience-video-dialog > header {
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:14px 16px;
  border-bottom:1px solid rgba(255,255,255,.09);
  background:rgba(7,15,34,.42);
}

.experience-video-heading {
  min-width:0;
  display:grid;
  grid-template-columns:42px minmax(0, 1fr);
  align-items:center;
  gap:11px;
}

.experience-video-mark {
  width:42px;
  height:42px;
  display:grid !important;
  place-items:center;
  border:1px solid rgba(96,241,224,.42);
  border-radius:50%;
  color:#071b22 !important;
  background:linear-gradient(135deg, #25f4d0, #a7fff2);
  box-shadow:0 8px 24px rgba(37,244,208,.22);
}

.experience-video-mark svg {
  width:18px;
  fill:currentColor;
}

.experience-video-heading > div {
  min-width:0;
}

.experience-video-heading > div > span {
  display:block;
  margin-bottom:3px;
  color:#72eee1;
  font-size:11px;
  font-weight:600;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.experience-video-dialog > header h2 {
  max-width:820px;
  margin:0;
  overflow:hidden;
  color:#f8ffff;
  font-size:clamp(16px, 2vw, 22px);
  font-weight:550;
  line-height:1.18;
  letter-spacing:0;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.experience-video-dialog > header button {
  position:relative;
  z-index:3;
  width:40px;
  height:40px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.18);
  border-radius:50%;
  color:#fff;
  background:rgba(255,255,255,.07);
  cursor:pointer;
  transition:background .18s ease, border-color .18s ease, transform .18s ease;
}

.experience-video-dialog > header button:hover,
.experience-video-dialog > header button:focus-visible {
  border-color:rgba(102,242,226,.62);
  background:rgba(37,244,208,.14);
  transform:scale(1.04);
}

.experience-video-shell {
  min-height:0;
  padding:clamp(8px, 1.4vw, 14px);
  background:
    radial-gradient(circle at 50% 0, rgba(55,236,219,.11), transparent 42%),
    rgba(2,7,18,.54);
}

.experience-video-frame {
  position:relative;
  width:100%;
  min-height:0;
  aspect-ratio:16 / 9;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  border-radius:6px;
  background:#02050a;
  box-shadow:0 18px 54px rgba(0,0,0,.42);
}

.experience-video-frame > div:first-child,
.experience-video-frame iframe {
  width:100%;
  height:100%;
  border:0;
}

.experience-video-loading {
  position:absolute;
  inset:0;
  z-index:3;
  display:grid;
  place-content:center;
  justify-items:center;
  gap:12px;
  color:rgba(239,255,252,.78);
  background:
    radial-gradient(circle at center, rgba(27,119,120,.28), transparent 36%),
    #040812;
  transition:opacity .25s ease, visibility .25s ease;
}

.experience-video-loading.is-hidden {
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}

.experience-video-loading > span {
  width:44px;
  height:44px;
  border:2px solid rgba(255,255,255,.14);
  border-top-color:#25f4d0;
  border-right-color:#8ef6ff;
  border-radius:50%;
  animation:experienceVideoSpin .9s linear infinite;
}

.experience-video-loading p {
  margin:0;
  font-size:13px;
}

.experience-video-play {
  z-index:4;
  min-height:48px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:999px;
  color:#071b22;
  background:linear-gradient(135deg, #25f4d0, #bafff5);
  box-shadow:0 14px 42px rgba(0,0,0,.48), 0 0 28px rgba(37,244,208,.18);
}

.experience-video-footer {
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:12px 16px 14px;
  border-top:1px solid rgba(255,255,255,.09);
  background:rgba(7,15,34,.42);
}

.experience-video-footer p {
  min-width:0;
  display:flex;
  align-items:flex-start;
  gap:8px;
  margin:0;
  color:rgba(241,252,255,.76);
  font-size:13px;
  line-height:1.4;
}

.experience-video-footer p svg,
.experience-video-auto svg {
  width:16px;
  flex:0 0 auto;
  color:#66ecdd;
}

.experience-video-auto {
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:rgba(241,252,255,.72);
  font-size:11px;
  white-space:nowrap;
}

@keyframes experienceVideoEnter {
  from { opacity:0; transform:translateY(14px) scale(.985); }
  to { opacity:1; transform:none; }
}

@keyframes experienceVideoSpin {
  to { transform:rotate(360deg); }
}

@media (max-width: 600px) {
  .experience-video-modal {
    align-items:center;
    padding:8px;
  }

  .experience-video-dialog {
    width:100%;
    max-height:calc(100dvh - 16px);
  }

  .experience-video-dialog > header {
    padding:11px;
  }

  .experience-video-heading {
    grid-template-columns:36px minmax(0, 1fr);
    gap:8px;
  }

  .experience-video-mark {
    width:36px;
    height:36px;
  }

  .experience-video-dialog > header h2 {
    font-size:15px;
  }

  .experience-video-shell {
    padding:6px;
  }

  .experience-video-footer {
    align-items:flex-start;
    padding:10px 11px 12px;
  }

  .experience-video-footer p {
    font-size:12px;
  }

  .experience-video-auto {
    display:none;
  }
}

@media (max-height: 590px) and (orientation: landscape) {
  .experience-video-dialog {
    width:min(860px, 100%);
  }

  .experience-video-dialog > header {
    padding:8px 11px;
  }

  .experience-video-mark {
    width:34px;
    height:34px;
  }

  .experience-video-footer {
    display:none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .experience-video-modal.is-visible .experience-video-dialog,
  .experience-video-loading > span {
    animation:none;
  }
}
/* Keep the authenticated desktop shell flush with the browser viewport. */
@media (min-width: 841px) {
  html,
  body {
    margin-top:0 !important;
    padding-top:0 !important;
    top:0 !important;
    transform:none !important;
  }

  body > .app-shell {
    margin-top:0 !important;
    top:-26px !important;
    margin-bottom:-26px !important;
    transform:none !important;
  }
}

/* Mi avance v16: menos texto y experiencias grandes, apiladas y accionables. */
body.student-progress-page .ecosystem-theme-surface {
  gap:14px;
}

body.student-progress-page .ecosystem-theme-surface .ecosystem-head {
  align-items:center;
}

body.student-progress-page .ecosystem-theme-surface .ecosystem-head h2 {
  max-width:820px;
  margin:10px 0 0;
  font-size:clamp(34px, 4.4vw, 58px);
}

body.student-progress-page .ecosystem-theme-surface .ecosystem-progress {
  width:220px;
  padding:16px 18px;
  border-radius:16px;
}

body.student-progress-page .ecosystem-theme-surface .ecosystem-progress strong {
  font-size:38px;
  line-height:1;
}

body.student-progress-page .ecosystem-theme-surface .ecosystem-progress span {
  margin:5px 0 10px;
  font-size:13px;
}

body.student-progress-page .ecosystem-theme-surface .section-title-row {
  margin-top:8px;
}

body.student-progress-page .ecosystem-theme-surface .section-title-row h3 {
  margin:0;
  font-size:22px;
}

body.student-progress-page .ecosystem-theme-surface .experience-grid {
  grid-template-columns:minmax(0, 1fr);
  gap:14px;
}

body.student-progress-page .ecosystem-theme-surface .experience-card {
  position:relative;
  isolation:isolate;
  min-height:260px;
  display:grid;
  grid-template-columns:minmax(280px, .78fr) minmax(0, 1.22fr);
  border-radius:20px;
  border-color:color-mix(in srgb, var(--brand) 48%, rgba(255,255,255,.24));
  box-shadow:
    0 20px 52px rgba(0,0,0,.30),
    0 0 30px color-mix(in srgb, var(--brand) 16%, transparent),
    inset 0 1px 0 rgba(255,255,255,.14);
  transition:transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

body.student-progress-page .ecosystem-theme-surface .experience-card::before {
  content:"";
  position:absolute;
  z-index:3;
  inset:-70% -38%;
  pointer-events:none;
  background:linear-gradient(112deg, transparent 43%, rgba(255,255,255,.22) 49%, transparent 55%);
  transform:translateX(-36%);
  animation:experienceCardShine 5.8s ease-in-out infinite;
}

body.student-progress-page .ecosystem-theme-surface .experience-card::after {
  content:"";
  position:absolute;
  z-index:3;
  top:18px;
  right:20px;
  width:7px;
  height:7px;
  pointer-events:none;
  border-radius:50%;
  background:#fff;
  box-shadow:
    -18px 22px 0 -2px var(--brand),
    10px 36px 0 -2px rgba(255,255,255,.86),
    -34px 52px 0 -2px color-mix(in srgb, var(--brand) 82%, #fff);
  animation:experienceCardSpark 2.4s ease-in-out infinite;
}

body.student-progress-page .ecosystem-theme-surface .experience-card:hover {
  transform:translateY(-3px);
  border-color:color-mix(in srgb, var(--brand) 78%, #fff 22%);
  box-shadow:
    0 25px 64px rgba(0,0,0,.34),
    0 0 42px color-mix(in srgb, var(--brand) 24%, transparent),
    inset 0 1px 0 rgba(255,255,255,.18);
}

body.student-progress-page .ecosystem-theme-surface .experience-card.is-next {
  border-width:2px;
  box-shadow:
    0 24px 64px rgba(0,0,0,.34),
    0 0 44px color-mix(in srgb, var(--brand) 26%, transparent),
    inset 0 1px 0 rgba(255,255,255,.18);
}

body.student-progress-page .ecosystem-theme-surface .experience-cover,
body.student-progress-page .ecosystem-theme-surface .experience-cover img,
body.student-progress-page .ecosystem-theme-surface .experience-fallback {
  min-height:260px;
  height:100%;
}

body.student-progress-page .ecosystem-theme-surface .experience-body {
  position:relative;
  z-index:4;
  align-content:center;
  gap:13px;
  padding:clamp(22px, 3vw, 38px);
}

body.student-progress-page .ecosystem-theme-surface .experience-kicker {
  width:max-content;
  max-width:100%;
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--brand);
  font-size:13px;
  font-weight:700;
}

body.student-progress-page .ecosystem-theme-surface .experience-kicker svg {
  width:18px;
  height:18px;
}

body.student-progress-page .ecosystem-theme-surface .experience-body h3 {
  max-width:740px;
  font-size:clamp(25px, 3vw, 38px);
  line-height:1.08;
}

body.student-progress-page .ecosystem-theme-surface .experience-progress-copy {
  font-size:14px;
}

body.student-progress-page .ecosystem-theme-surface .experience-body .btn {
  width:max-content;
  min-width:180px;
  justify-content:center;
  margin-top:4px;
  box-shadow:0 10px 28px color-mix(in srgb, var(--brand) 30%, transparent);
}

@keyframes experienceCardShine {
  0%, 36% { transform:translateX(-42%); opacity:0; }
  48% { opacity:.9; }
  64%, 100% { transform:translateX(42%); opacity:0; }
}

@keyframes experienceCardSpark {
  0%, 100% { opacity:.32; transform:scale(.72) rotate(0deg); }
  50% { opacity:1; transform:scale(1.2) rotate(90deg); }
}

@media (max-width: 760px) {
  body.student-progress-page .ecosystem-theme-surface .ecosystem-head {
    grid-template-columns:minmax(0, 1fr);
  }

  body.student-progress-page .ecosystem-theme-surface .ecosystem-progress {
    width:100%;
  }

  body.student-progress-page .ecosystem-theme-surface .experience-card {
    grid-template-columns:minmax(0, 1fr);
  }

  body.student-progress-page .ecosystem-theme-surface .experience-cover,
  body.student-progress-page .ecosystem-theme-surface .experience-cover img,
  body.student-progress-page .ecosystem-theme-surface .experience-fallback {
    min-height:210px;
  }

  body.student-progress-page .ecosystem-theme-surface .experience-body {
    padding:20px;
  }

  body.student-progress-page .ecosystem-theme-surface .experience-body .btn {
    width:100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.student-progress-page .ecosystem-theme-surface .experience-card::before,
  body.student-progress-page .ecosystem-theme-surface .experience-card::after {
    animation:none;
  }
}

/* Logo oficial: la version original es cuadrada; esta copia recortada conserva escala legible. */
.app-logo img[src*="inmersiva-academy-logo-blanco"],
.public-topbar .brand img[src*="inmersiva-academy-logo-blanco"] {
  width:auto;
  object-fit:contain;
  object-position:center;
  filter:drop-shadow(0 8px 18px rgba(0,0,0,.34));
}

.app-logo {
  min-height:112px;
}

.app-logo img[src*="inmersiva-academy-logo-blanco"] {
  max-width:126px;
  width:126px;
  max-height:104px;
}

.public-topbar .brand {
  min-height:82px;
}

.public-topbar .brand img[src*="inmersiva-academy-logo-blanco"] {
  width:94px;
  max-width:94px;
  height:78px;
  max-height:78px;
}

@media (max-width: 1180px) {
  .app-logo {
    min-height:96px;
  }

  .app-logo img[src*="inmersiva-academy-logo-blanco"] {
    width:112px;
    max-width:112px;
    max-height:92px;
  }

  .public-topbar .brand img[src*="inmersiva-academy-logo-blanco"] {
    width:86px;
    max-width:86px;
    height:72px;
    max-height:72px;
  }
}

@media (max-width: 840px) {
  .app-logo {
    min-height:100px;
  }

  .app-logo img[src*="inmersiva-academy-logo-blanco"] {
    width:108px;
    max-width:108px;
    max-height:90px;
  }

  .public-topbar .brand {
    min-height:62px;
  }

  .public-topbar .brand img[src*="inmersiva-academy-logo-blanco"] {
    width:70px;
    max-width:70px;
    height:58px;
    max-height:58px;
  }
}

/* MIA v111: un borde de luz continuo concentra la atención en cada conversación. */
:where(.mia-global-form, body.student-home-page .mia-home-prompt, body.mia-conversation-course-page .mia-chapter-control, body.mia-test-page .mia-answer-panel, body.coach-page .coach-form) {
  position:relative;
  isolation:isolate;
  border-color:transparent !important;
  box-shadow:0 0 0 1px rgba(104,246,232,.20), 0 0 24px rgba(47,231,213,.12);
}

:where(.mia-global-form, body.student-home-page .mia-home-prompt, body.mia-conversation-course-page .mia-chapter-control, body.mia-test-page .mia-answer-panel, body.coach-page .coach-form)::before {
  content:"";
  position:absolute;
  z-index:-1;
  inset:-2px;
  pointer-events:none;
  border-radius:inherit;
  background:conic-gradient(from 20deg, transparent 0deg, transparent 36deg, rgba(122,255,241,.30) 54deg, #7effef 82deg, rgba(255,255,255,.92) 96deg, #39d8ff 112deg, rgba(122,255,241,.24) 132deg, transparent 158deg, transparent 360deg);
  filter:drop-shadow(0 0 8px rgba(83,250,231,.72));
  animation:miaPromptBorderFlow 5.8s linear infinite;
}

:where(.mia-global-form, body.student-home-page .mia-home-prompt, body.mia-conversation-course-page .mia-chapter-control, body.mia-test-page .mia-answer-panel, body.coach-page .coach-form) > * {
  position:relative;
  z-index:1;
}

:where(.mia-global-form, body.student-home-page .mia-home-prompt, body.mia-conversation-course-page .mia-chapter-control, body.mia-test-page .mia-answer-panel, body.coach-page .coach-form):focus-within {
  box-shadow:0 0 0 1px rgba(136,255,243,.52), 0 0 34px rgba(47,231,213,.24), inset 0 0 22px rgba(53,203,255,.06);
}

:where(.mia-global-form, body.student-home-page .mia-home-prompt, body.mia-conversation-course-page .mia-chapter-control, body.mia-test-page .mia-answer-panel, body.coach-page .coach-form):focus-within::before {
  animation-duration:3.8s;
  filter:drop-shadow(0 0 12px rgba(116,255,239,.92));
}

@keyframes miaPromptBorderFlow {
  to { transform:rotate(1turn); }
}

/* El lanzador y el encabezado del panel se pueden mover con ratón o toque. */
.mia-global-launcher,
.mia-global-panel > header {
  touch-action:none;
}

.mia-global-panel > header {
  cursor:grab;
}

.mia-global.is-dragging .mia-global-launcher,
.mia-global.is-dragging .mia-global-panel > header {
  cursor:grabbing;
}

@media (max-width: 720px) {
  .mia-global-panel {
    position:absolute;
    inset:auto auto 0 0;
    width:min(430px, calc(100vw - 16px));
    height:min(680px, calc(100dvh - 16px));
  }

  .mia-global-panel > header {
    cursor:grab;
  }
}

@media (prefers-reduced-motion: reduce) {
  :where(.mia-global-form, body.student-home-page .mia-home-prompt, body.mia-conversation-course-page .mia-chapter-control, body.mia-test-page .mia-answer-panel, body.coach-page .coach-form)::before {
    animation:none;
  }
}

/* MIA v112: el destello vive solo en el borde del área de escritura. */
:where(.mia-global-form, body.student-home-page .mia-home-prompt, body.mia-conversation-course-page .mia-chapter-control, body.mia-test-page .mia-answer-panel, body.coach-page .coach-form)::before {
  display:none;
}

.mia-global-form {
  border-color:rgba(112,232,227,.34) !important;
  box-shadow:none !important;
}

body.student-home-page .mia-home-prompt {
  border-color:rgba(96,235,226,.38) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06) !important;
}

body.mia-conversation-course-page .mia-chapter-control {
  border:0 !important;
  box-shadow:none !important;
}

:where(body.mia-test-page .mia-answer-panel, body.coach-page .coach-form) {
  box-shadow:none !important;
}

:where(
  .mia-global-form textarea,
  body.student-home-page .mia-home-prompt textarea,
  body.mia-conversation-course-page .mia-chapter-control textarea.field,
  body.mia-test-page .mia-answer-panel textarea.field,
  body.coach-page .coach-form textarea.field
) {
  border:1px solid transparent !important;
  border-radius:12px;
  padding:10px 12px !important;
  background:
    linear-gradient(135deg, rgba(8,25,57,.94), rgba(11,35,65,.88)) padding-box,
    linear-gradient(104deg, transparent 0%, transparent 35%, rgba(100,247,235,.32) 43%, #74fff0 47%, rgba(255,255,255,.95) 50%, #41d7ff 53%, rgba(100,247,235,.28) 58%, transparent 66%, transparent 100%) border-box !important;
  background-size:100% 100%, 250% 100% !important;
  background-position:center, 165% center !important;
  background-clip:padding-box, border-box !important;
  box-shadow:0 0 0 1px rgba(83,240,225,.12), 0 0 16px rgba(45,224,207,.07);
  animation:miaWritingBorderSweep 5.6s ease-in-out infinite;
}

:where(
  .mia-global-form textarea,
  body.student-home-page .mia-home-prompt textarea,
  body.mia-conversation-course-page .mia-chapter-control textarea.field,
  body.mia-test-page .mia-answer-panel textarea.field,
  body.coach-page .coach-form textarea.field
):focus {
  box-shadow:0 0 0 1px rgba(128,255,243,.44), 0 0 24px rgba(57,227,213,.18);
  animation-duration:3.6s;
}

@keyframes miaWritingBorderSweep {
  0%, 16% { background-position:center, 165% center; }
  52%, 66% { background-position:center, -65% center; }
  100% { background-position:center, -65% center; }
}

/* MIA v113 final: chispa que recorre únicamente el borde del área de escritura. */
:where(
  .mia-global-form textarea,
  body.student-home-page .mia-home-prompt textarea,
  body.mia-conversation-course-page .mia-chapter-control textarea.field,
  body.mia-test-page .mia-answer-panel textarea.field,
  body.coach-page .coach-form textarea.field
) {
  --mia-orbit-angle:0deg;
  border:1px solid transparent !important;
  background:
    linear-gradient(135deg, rgba(8,25,57,.96), rgba(11,35,65,.90)) padding-box,
    conic-gradient(from var(--mia-orbit-angle), rgba(63,226,255,.20) 0deg, rgba(63,226,255,.20) 40deg, transparent 74deg, transparent 220deg, rgba(73,255,222,.30) 260deg, #7ffff0 279deg, rgba(255,255,255,.96) 286deg, #56d7ff 293deg, rgba(73,255,222,.30) 310deg, transparent 332deg, rgba(63,226,255,.20) 360deg) border-box !important;
  background-size:100% 100% !important;
  background-position:center !important;
  box-shadow:0 0 0 1px rgba(83,240,225,.10), 0 0 12px rgba(45,224,207,.05);
  animation:miaWritingBorderOrbit 6.8s linear infinite !important;
}

:where(
  .mia-global-form textarea,
  body.student-home-page .mia-home-prompt textarea,
  body.mia-conversation-course-page .mia-chapter-control textarea.field,
  body.mia-test-page .mia-answer-panel textarea.field,
  body.coach-page .coach-form textarea.field
):focus {
  box-shadow:0 0 0 1px rgba(135,255,244,.34), 0 0 17px rgba(57,227,213,.13);
  animation-duration:4.2s !important;
}

@media (prefers-reduced-motion: reduce) {
  :where(
    .mia-global-form textarea,
    body.student-home-page .mia-home-prompt textarea,
    body.mia-conversation-course-page .mia-chapter-control textarea.field,
    body.mia-test-page .mia-answer-panel textarea.field,
    body.coach-page .coach-form textarea.field
  ) {
    animation:none;
  }
}

/* Móvil v115: la barra llega al borde superior y sus acciones se agrupan a la derecha. */
@media (max-width:840px) {
  html,
  body {
    margin-top:0 !important;
    padding-top:0 !important;
  }

  body > .app-shell {
    margin-top:0 !important;
    padding-top:0 !important;
    top:0 !important;
  }

  .app-topbar {
    margin-top:0 !important;
    padding-top:8px !important;
  }

  .student-topbar-clean .app-actions {
    justify-content:flex-end !important;
    margin-left:auto;
  }
}

/* Móvil v117: una única barra continua, preparada para pantallas estrechas. */
@media (max-width:840px) {
  body > .app-shell {
    width:100%;
    overflow-x:hidden;
  }

  .app-topbar {
    width:100%;
    min-height:72px;
    border-radius:0;
    border-left:0;
    border-right:0;
    box-shadow:none;
  }

  .mobile-app-logo {
    width:clamp(112px, 31vw, 148px);
    height:52px;
  }

  .mobile-app-logo img {
    max-height:52px;
    filter:drop-shadow(0 4px 10px rgba(0,0,0,.28));
  }

  .student-topbar-clean .app-actions {
    gap:7px;
    justify-content:flex-end !important;
  }
}

@media (max-width:480px) {
  .app-topbar {
    min-height:66px;
    gap:7px;
    padding-inline:8px !important;
  }

  .mobile-app-logo {
    width:clamp(96px, 29vw, 118px);
    height:46px;
  }

  .mobile-app-logo img {
    max-height:46px;
  }

  .student-topbar-clean .app-actions {
    gap:5px;
  }

  .student-topbar-clean .profile-menu-name {
    display:none;
  }

  .student-topbar-clean .user-chip {
    padding-inline:9px;
    font-size:12px;
  }
}

/* v122: el chequeo es una primera pantalla, con orientación antes del contenido. */
.chapter-checkin-gate.is-checkin-active { display:block; }
.chapter-checkin-gate.is-checkin-active .classroom-main { width:min(940px,100%); margin:0 auto; }
.chapter-checkin-gate.is-checkin-active .classroom-panel,
.chapter-checkin-gate.is-checkin-active .lesson-stage,
.chapter-checkin-gate.is-checkin-active .lesson-underbar,
.chapter-checkin-gate.is-checkin-active .course-notebook-callout,
.chapter-checkin-gate.is-checkin-active .chapter-nav-bar,
.chapter-checkin-gate.is-checkin-active .lesson-detail-panel { display:none; }
.chapter-checkin-gate.is-checkin-active .chapter-arrival { margin:0; min-height:330px; padding:clamp(20px,3.5vw,38px); }
.chapter-arrival { grid-template-columns:minmax(0,1fr) minmax(190px,.62fr); }
.chapter-arrival-copy { align-self:center; }
.chapter-arrival-copy strong { font-size:clamp(1.2rem,2vw,1.55rem); line-height:1.2; }
.chapter-arrival-copy p { max-width:580px; font-size:.92rem; line-height:1.55; }
.chapter-arrival-mia { display:flex; align-items:center; justify-content:flex-end; gap:11px; padding:10px 0; }
.chapter-arrival-mia img,.chapter-arrival-result-head img { width:58px; height:58px; border:1px solid rgba(94,241,222,.6); border-radius:50%; object-fit:cover; background:#123040; box-shadow:0 0 0 5px rgba(83,232,211,.08),0 8px 22px rgba(3,15,27,.3); animation:chapterMiaFloat 4.8s ease-in-out infinite; }
.chapter-arrival-mia div { display:grid; gap:3px; max-width:170px; }
.chapter-arrival-mia strong { color:var(--theme-accent,var(--brand)); font-size:.9rem; }
.chapter-arrival-mia span { color:var(--app-text); font-size:.78rem; line-height:1.35; }
.chapter-arrival-options { grid-column:1 / -1; margin-top:2px; }
.chapter-arrival-options button svg { animation:chapterIconPulse 3.8s ease-in-out infinite; }
.chapter-arrival-options button:nth-child(2) svg { animation-delay:.35s; }
.chapter-arrival-options button:nth-child(3) svg { animation-delay:.7s; }
.chapter-arrival-options button:nth-child(4) svg { animation-delay:1.05s; }
.chapter-arrival-options button:nth-child(5) svg { animation-delay:1.4s; }
.chapter-arrival-detail { padding-top:17px; border-top:1px solid rgba(170,233,238,.12); }
.chapter-arrival-detail .btn { min-width:138px; justify-content:center; }
.chapter-arrival-practice { grid-template-columns:1fr; gap:12px; padding:clamp(17px,2.5vw,26px); border:1px solid rgba(87,231,214,.36); border-left:3px solid var(--theme-accent,var(--brand)); background:linear-gradient(115deg,rgba(14,56,68,.58),rgba(46,30,78,.42)); }
.chapter-arrival-result-head { display:flex; align-items:center; gap:13px; }
.chapter-arrival-result-head img { width:46px; height:46px; }
.chapter-arrival-result-head div { display:grid; gap:4px; }
.chapter-arrival-result-head strong { color:var(--app-text); font-size:clamp(1rem,1.8vw,1.22rem); }
.chapter-arrival-practice > p { margin:0; color:var(--app-text); font-size:.94rem; line-height:1.5; }
.chapter-arrival-practice ol { display:grid; gap:7px; margin:0; padding-left:21px; color:var(--app-muted); line-height:1.45; }
.chapter-arrival-result-actions { display:flex; justify-content:flex-end; gap:10px; padding-top:4px; }
.chapter-arrival-result-actions .btn { justify-content:center; }
@keyframes chapterIconPulse { 0%,100% { transform:translateY(0); filter:drop-shadow(0 0 0 rgba(54,243,218,0)); } 50% { transform:translateY(-3px); filter:drop-shadow(0 4px 6px rgba(54,243,218,.35)); } }
@keyframes chapterMiaFloat { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-4px); } }
@media (max-width:700px) { .chapter-checkin-gate.is-checkin-active .chapter-arrival { min-height:0; } .chapter-arrival { grid-template-columns:1fr; } .chapter-arrival-mia { justify-content:flex-start; padding:0; } .chapter-arrival-options { grid-column:auto; } .chapter-arrival-detail { gap:12px; } .chapter-arrival-detail label { width:100%; justify-content:space-between; } .chapter-arrival-detail input { flex:1; } .chapter-arrival-detail .btn { width:100%; margin:4px 0 0; } }
@media (max-width:460px) { .chapter-checkin-gate.is-checkin-active .classroom-main { width:100%; } .chapter-arrival { padding:18px 14px; } .chapter-arrival-options { grid-template-columns:repeat(2,minmax(0,1fr)); } .chapter-arrival-options button:last-child { grid-column:1 / -1; } .chapter-arrival-result-actions { flex-direction:column-reverse; } .chapter-arrival-result-actions .btn { width:100%; } }
@media (prefers-reduced-motion:reduce) { .chapter-arrival-mia img,.chapter-arrival-result-head img,.chapter-arrival-options button svg { animation:none; } }

/* v120: Libreta de conciencia, una herramienta íntima y reutilizable. */
.consciousness-notebook-page .app-content { padding:clamp(16px, 2.8vw, 40px); }
.consciousness-notebook { width:min(1180px,100%); margin:0 auto; }
.notebook-hero { position:relative; min-height:205px; display:flex; align-items:center; justify-content:space-between; gap:28px; padding:clamp(24px,4vw,48px); overflow:hidden; border:1px solid rgba(75,234,218,.34); border-radius:8px; color:#f7ffff; background:linear-gradient(118deg,#071f2c 0%,#12354c 51%,#352153 100%); box-shadow:0 20px 50px rgba(3,12,29,.22); }
.notebook-hero:before { content:""; position:absolute; inset:-30% 28% auto auto; width:260px; height:260px; border:1px solid rgba(89,250,225,.34); border-radius:50%; box-shadow:0 0 0 26px rgba(89,250,225,.04),0 0 0 54px rgba(89,250,225,.025); }
.notebook-hero-copy { position:relative; z-index:1; max-width:670px; }
.notebook-kicker { display:inline-flex; align-items:center; gap:8px; color:#6ff5df; font-size:.78rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; }
.notebook-kicker svg { width:18px; }
.notebook-hero h1 { margin:10px 0 8px; color:#fff; font-size:clamp(2rem,4.3vw,4.1rem); line-height:1; letter-spacing:0; }
.notebook-hero h1 em { color:#66f5df; font-style:normal; }
.notebook-hero p { max-width:580px; margin:0; color:rgba(244,255,255,.8); font-size:clamp(1rem,1.5vw,1.14rem); line-height:1.5; }
.notebook-hero-art { position:relative; z-index:1; flex:0 0 180px; width:180px; height:160px; }
.notebook-hero-art span,.notebook-hero-art i,.notebook-hero-art b { position:absolute; border:1px solid rgba(102,245,223,.62); border-radius:50%; }
.notebook-hero-art span { inset:12px; animation:notebookOrbit 10s linear infinite; }
.notebook-hero-art i { inset:35px; border-color:rgba(238,205,255,.55); animation:notebookOrbit 7s linear reverse infinite; }
.notebook-hero-art b { inset:67px; background:#6ff5df; box-shadow:0 0 26px #6ff5df; }
.notebook-hero-art strong { position:absolute; inset:0; display:grid; place-items:center; color:#fff; font-size:.82rem; letter-spacing:.09em; text-transform:uppercase; }
.notebook-course-tabs { display:flex; gap:8px; margin:20px 0; overflow:auto; padding-bottom:3px; }
.notebook-course-tabs a { display:inline-flex; flex:0 0 auto; align-items:center; gap:8px; padding:10px 13px; border:1px solid var(--app-line); border-radius:6px; color:var(--app-text); background:var(--app-surface); font-size:.88rem; text-decoration:none; }
.notebook-course-tabs a svg { width:17px; color:var(--theme-accent,var(--brand)); }
.notebook-course-tabs a.is-active { border-color:var(--theme-accent,var(--brand)); color:var(--theme-accent,var(--brand)); box-shadow:0 5px 16px rgba(22,225,196,.12); }
.notebook-workspace { display:grid; grid-template-columns:minmax(0,1fr) minmax(275px,.55fr); gap:20px; align-items:start; }
.notebook-page { position:relative; overflow:hidden; padding:clamp(20px,3.2vw,36px); border:1px solid rgba(75,234,218,.3); border-radius:8px; background:linear-gradient(145deg,rgba(9,35,51,.96),rgba(25,23,58,.96)); box-shadow:0 18px 38px rgba(4,12,28,.14); }
.notebook-page:before { content:""; position:absolute; top:0; bottom:0; left:clamp(18px,4vw,42px); width:1px; background:rgba(255,157,206,.23); }
.notebook-page > * { position:relative; }
.notebook-page > header,.notebook-shelf > header { display:flex; justify-content:space-between; gap:14px; align-items:center; }
.notebook-page > header > span { color:#74f6e2; font-weight:700; font-size:1.06rem; }
.notebook-page > header small { display:flex; align-items:center; gap:6px; color:rgba(233,248,255,.65); font-size:.76rem; }
.notebook-page > header small svg { width:14px; }
.notebook-invitation { max-width:700px; margin:19px 0 22px; color:rgba(241,252,255,.84); line-height:1.5; }
.notebook-mood { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 22px; padding:0; border:0; }
.notebook-mood legend { width:100%; margin-bottom:9px; color:#b7d0df; font-size:.82rem; }
.notebook-mood label { position:relative; }
.notebook-mood input { position:absolute; opacity:0; pointer-events:none; }
.notebook-mood span { display:block; padding:7px 10px; border:1px solid rgba(160,224,233,.2); border-radius:999px; color:#d8eff5; background:rgba(255,255,255,.035); font-size:.78rem; cursor:pointer; }
.notebook-mood input:checked + span { border-color:#69f1dd; color:#06222b; background:#69f1dd; font-weight:700; }
.notebook-field { display:grid; gap:8px; margin-top:15px; }
.notebook-field > span { color:#9eeadd; font-size:.89rem; font-weight:700; }
.notebook-field textarea { width:100%; min-height:122px; resize:vertical; padding:13px 15px; border:0; border-bottom:1px solid rgba(143,231,225,.3); border-radius:0; outline:0; color:#efffff; background:repeating-linear-gradient(to bottom,transparent 0,transparent 31px,rgba(147,222,228,.12) 32px); font:inherit; line-height:1.55; }
.notebook-field textarea:focus { border-bottom-color:#72f5df; box-shadow:0 9px 20px rgba(42,236,208,.08); }
.notebook-field textarea::placeholder { color:rgba(227,246,250,.44); }
.notebook-field-pair { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.notebook-field-pair textarea { min-height:92px; }
.notebook-form-actions { display:flex; justify-content:space-between; gap:16px; align-items:center; margin-top:25px; }
.notebook-form-actions small { display:flex; align-items:center; gap:7px; color:rgba(232,250,255,.62); font-size:.76rem; }
.notebook-form-actions small svg { width:16px; color:#69f1dd; }
.notebook-shelf { padding:18px; border:1px solid var(--app-line); border-radius:8px; background:var(--app-surface); }
.notebook-shelf > header span { color:var(--app-text); font-weight:700; }
.notebook-shelf > header strong { color:var(--theme-accent,var(--brand)); font-size:.8rem; }
.notebook-entries { display:grid; gap:11px; max-height:650px; margin-top:16px; overflow:auto; padding-right:3px; }
.notebook-entry { padding:14px; border-left:2px solid var(--theme-accent,var(--brand)); background:rgba(12,42,59,.06); }
.notebook-entry > div { display:flex; justify-content:space-between; gap:10px; color:var(--app-muted); font-size:.72rem; }
.notebook-entry-mood { color:var(--theme-accent,var(--brand)); font-weight:700; text-transform:capitalize; }
.notebook-entry p { display:-webkit-box; margin:9px 0; overflow:hidden; color:var(--app-text); line-height:1.43; -webkit-line-clamp:4; -webkit-box-orient:vertical; }
.notebook-entry small { display:flex; gap:6px; color:var(--app-muted); font-size:.76rem; }
.notebook-entry small svg { width:14px; color:var(--theme-accent,var(--brand)); }
.notebook-empty,.notebook-unavailable { display:grid; justify-items:center; text-align:center; }
.notebook-empty { padding:38px 15px; color:var(--app-muted); }
.notebook-empty svg,.notebook-unavailable > svg { width:30px; height:30px; color:var(--theme-accent,var(--brand)); }
.notebook-unavailable { gap:13px; padding:clamp(35px,7vw,80px) 20px; margin-top:20px; border:1px solid var(--app-line); border-radius:8px; background:var(--app-surface); }
.notebook-unavailable h2 { margin:0; color:var(--app-text); }
.notebook-unavailable p { max-width:500px; margin:0; color:var(--app-muted); line-height:1.5; }
.course-notebook-callout { display:grid; grid-template-columns:auto 1fr auto; gap:14px; align-items:center; margin:15px 0; padding:13px 15px; border:1px solid rgba(83,235,214,.32); border-radius:8px; background:linear-gradient(100deg,rgba(22,225,196,.1),rgba(116,74,179,.1)); }
.course-notebook-icon { width:39px; height:39px; display:grid; place-items:center; border-radius:50%; color:#08232d; background:#6ff5df; box-shadow:0 0 18px rgba(88,242,219,.35); }
.course-notebook-icon svg { width:20px; }
.course-notebook-callout strong { color:var(--app-text); }
.course-notebook-callout p { margin:3px 0 0; color:var(--app-muted); font-size:.85rem; }
.course-notebook-callout a { display:inline-flex; align-items:center; gap:5px; color:var(--theme-accent,var(--brand)); font-size:.84rem; font-weight:700; text-decoration:none; white-space:nowrap; }
.course-notebook-callout a svg { width:15px; }
.creator-notebook-list { display:grid; gap:16px; margin-top:24px; }
.creator-notebook-card { display:grid; gap:16px; padding:20px; border:1px solid var(--app-line, var(--line)); border-radius:8px; background:var(--app-surface, var(--surface)); }
.creator-notebook-card header { display:flex; align-items:center; gap:11px; }
.creator-notebook-card header > svg { width:28px; height:28px; color:var(--brand); }
.creator-notebook-card h2 { margin:0; font-size:1.08rem; }
.creator-notebook-card small { color:var(--muted); }
.toggle-label { display:flex; align-items:center; gap:7px; margin-left:auto; font-size:.85rem; }
.creator-notebook-fields { display:grid; grid-template-columns:180px minmax(0,1fr); gap:14px; }
.creator-notebook-card > label,.creator-notebook-fields label { display:grid; gap:6px; color:var(--muted); font-size:.82rem; }
.creator-notebook-card textarea { min-height:80px; }
@keyframes notebookOrbit { to { transform:rotate(360deg); } }
@media (max-width:760px) { .notebook-hero { min-height:0; padding:24px; } .notebook-hero-art { display:none; } .notebook-workspace { grid-template-columns:1fr; } .notebook-shelf { max-height:none; } .notebook-entries { max-height:350px; } }
@media (max-width:520px) { .consciousness-notebook-page .app-content { padding:11px; } .notebook-hero { padding:22px 18px; } .notebook-hero h1 { font-size:2.15rem; } .notebook-page { padding:20px 15px; } .notebook-page > header { align-items:flex-start; flex-direction:column; } .notebook-field-pair,.creator-notebook-fields { grid-template-columns:1fr; } .notebook-form-actions,.course-notebook-callout { align-items:flex-start; flex-direction:column; } .course-notebook-callout { display:flex; } .notebook-form-actions .btn { width:100%; justify-content:center; } }
@media (prefers-reduced-motion:reduce) { .notebook-hero-art span,.notebook-hero-art i { animation:none; } }

/* v124: biblioteca visual de herramientas para el trabajo real. */
.student-tools-page .app-content { padding:clamp(12px,2vw,28px); }
.student-tools { width:min(1240px,100%); margin:0 auto; }
.student-tools-hero { position:relative; min-height:clamp(420px,58vw,610px); display:flex; align-items:flex-end; overflow:hidden; border:1px solid rgba(255,255,255,.14); border-radius:8px; color:#fff; background:#101821; box-shadow:0 28px 72px rgba(0,0,0,.3); isolation:isolate; }
.student-tools-hero::before { content:""; position:absolute; z-index:1; inset:0; background:linear-gradient(90deg,rgba(5,10,18,.94) 0%,rgba(5,10,18,.78) 34%,rgba(5,10,18,.22) 68%,rgba(5,10,18,.08) 100%),linear-gradient(0deg,rgba(5,10,18,.82),transparent 48%); }
.student-tools-hero::after { content:""; position:absolute; z-index:2; left:0; bottom:0; width:42%; height:3px; background:linear-gradient(90deg,var(--theme-accent,var(--brand)),#8bf7e8,transparent); animation:toolsAccentPulse 4s ease-in-out infinite; }
.student-tools-hero > img { position:absolute; z-index:0; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; animation:toolsHeroBreath 16s ease-in-out infinite alternate; }
.student-tools-hero-copy { position:relative; z-index:3; width:min(650px,68%); display:grid; gap:16px; padding:clamp(30px,5vw,68px); }
.student-tools-hero-copy > span,.student-tools-heading > div > span { display:inline-flex; align-items:center; gap:7px; width:max-content; color:#72f4df; font-size:.75rem; font-weight:800; text-transform:uppercase; }
.student-tools-hero-copy > span svg { width:17px; }
.student-tools-hero h1 { margin:0; color:#fff; font-size:clamp(2.6rem,5.5vw,5.6rem); line-height:.98; letter-spacing:0; text-wrap:balance; }
.student-tools-hero-copy > p { max-width:590px; margin:0; color:rgba(255,255,255,.8); font-size:clamp(.98rem,1.5vw,1.15rem); line-height:1.62; }
.student-tools-hero-meta { display:flex; flex-wrap:wrap; gap:18px; align-items:center; margin-top:8px; }
.student-tools-hero-meta span { display:inline-flex; align-items:center; gap:7px; color:rgba(255,255,255,.78); font-size:.82rem; }
.student-tools-hero-meta strong { color:#72f4df; font-size:1.25rem; }
.student-tools-hero-meta svg { width:17px; color:#72f4df; }
.student-tools-scroll { position:absolute; z-index:3; right:24px; bottom:24px; display:inline-flex; align-items:center; gap:8px; color:rgba(255,255,255,.72); font-size:.72rem; font-weight:700; text-transform:uppercase; }
.student-tools-scroll svg { width:17px; animation:toolsArrow 1.8s ease-in-out infinite; }
.student-tools-section { margin-top:clamp(34px,5vw,62px); }
.student-tools-heading { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:20px; }
.student-tools-heading h2 { margin:5px 0 0; color:var(--app-text); font-size:clamp(1.4rem,2.4vw,2rem); }
.student-tools-heading p { margin:7px 0 0; color:var(--app-muted); font-size:.9rem; }
.student-tools-heading > strong { flex:0 0 auto; padding:7px 11px; border:1px solid var(--app-line); border-radius:999px; color:var(--theme-accent,var(--brand)); font-size:.76rem; }
.student-tools-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.student-tool-card { position:relative; min-width:0; display:grid; grid-template-rows:auto 1fr auto; overflow:hidden; border:1px solid color-mix(in srgb,var(--app-line) 82%,var(--app-text) 8%); border-radius:8px; background:color-mix(in srgb,var(--app-surface) 96%,transparent); box-shadow:0 18px 46px rgba(0,0,0,.18); transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease; animation:toolsCardEnter .65s both; }
.student-tool-card:nth-child(2) { animation-delay:.08s; }
.student-tool-card:nth-child(3) { animation-delay:.16s; }
.student-tool-card:hover { transform:translateY(-7px); border-color:color-mix(in srgb,var(--theme-accent,var(--brand)) 55%,var(--app-line)); box-shadow:0 28px 68px rgba(0,0,0,.28); }
.student-tool-media { position:relative; min-height:260px; overflow:hidden; background:#182129; }
.student-tool-media::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 45%,rgba(5,10,16,.86)); }
.student-tool-media img { width:100%; height:100%; min-height:260px; object-fit:cover; transition:transform .7s cubic-bezier(.2,.8,.2,1),filter .4s ease; }
.student-tool-card:hover .student-tool-media img { transform:scale(1.045); filter:saturate(1.06) contrast(1.03); }
.student-tool-media .student-tool-icon { position:absolute; z-index:2; left:18px; top:18px; }
.student-tool-media > small { position:absolute; z-index:2; left:18px; bottom:17px; display:inline-flex; align-items:center; margin:0; color:#fff; font-size:.72rem; font-weight:800; text-transform:uppercase; }
.student-tool-icon { width:48px; height:48px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.45); border-radius:7px; color:#07242d; background:#6ef4df; box-shadow:0 10px 28px rgba(0,0,0,.28); }
.student-tool-icon svg { width:23px; height:23px; }
.student-tool-body { display:grid; align-content:start; padding:22px 22px 17px; }
.student-tool-body > span { color:var(--theme-accent,var(--brand)); font-size:.73rem; font-weight:800; text-transform:uppercase; }
.student-tool-card h3,.student-tool-empty h3 { margin:6px 0 9px; color:var(--app-text); font-size:clamp(1.25rem,2vw,1.6rem); }
.student-tool-card p,.student-tool-empty p { margin:0; color:var(--app-muted); line-height:1.55; }
.student-tool-body small { display:flex; align-items:center; gap:6px; margin-top:16px; color:var(--app-muted); font-size:.75rem; }
.student-tool-body small svg { width:14px; color:var(--theme-accent,var(--brand)); }
.student-tool-card > a { min-height:52px; display:flex; align-items:center; justify-content:space-between; gap:10px; margin:0 22px 22px; padding:0 15px; border:1px solid color-mix(in srgb,var(--theme-accent,var(--brand)) 55%,transparent); border-radius:6px; color:var(--app-text); background:color-mix(in srgb,var(--theme-accent,var(--brand)) 10%,transparent); font-size:.84rem; font-weight:800; text-decoration:none; transition:background .2s ease,color .2s ease; }
.student-tool-card > a:hover { color:#071b1a; background:var(--theme-accent,var(--brand)); }
.student-tool-card > a svg { width:18px; transition:transform .2s ease; }
.student-tool-card > a:hover svg { transform:translate(2px,-2px); }
.student-tool-empty { grid-column:1 / -1; display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:18px; padding:22px; border:1px dashed var(--app-line); border-radius:8px; background:color-mix(in srgb,var(--app-surface) 92%,transparent); }
.student-tool-empty > svg { width:36px; height:36px; color:var(--theme-accent,var(--brand)); }
.student-tools-next { padding-top:34px; border-top:1px solid var(--app-line); }
.student-tools-next .student-tools-grid { grid-template-columns:1fr; }
.student-tool-card.compact-tool-card { min-height:132px; grid-template-columns:auto minmax(0,1fr) auto; grid-template-rows:1fr; align-items:center; gap:17px; padding:20px; box-shadow:none; }
.student-tool-card.compact-tool-card .student-tool-body { padding:0; }
.student-tool-card.is-locked,.student-tool-card.is-future { opacity:.68; }
.student-tool-card.is-locked:hover,.student-tool-card.is-future:hover { opacity:.9; transform:translateY(-3px); }
.student-tool-card.is-locked .student-tool-icon { color:var(--app-muted); background:color-mix(in srgb,var(--app-line) 76%,transparent); box-shadow:none; }
.student-tool-card.is-locked > small { display:flex; align-items:center; gap:6px; margin:0; color:var(--app-muted); font-size:.76rem; }
.student-tool-card.is-locked > small svg { width:15px; }
.student-tool-card.is-future { border-style:dashed; }
.student-tool-card.is-future .student-tool-icon { color:var(--theme-accent,var(--brand)); background:color-mix(in srgb,var(--theme-accent,var(--brand)) 12%,transparent); box-shadow:none; }
@keyframes toolsHeroBreath { from { transform:scale(1); } to { transform:scale(1.025); } }
@keyframes toolsAccentPulse { 0%,100% { opacity:.55; transform:scaleX(.72); transform-origin:left; } 50% { opacity:1; transform:scaleX(1); transform-origin:left; } }
@keyframes toolsArrow { 0%,100% { transform:translateY(0); } 50% { transform:translateY(5px); } }
@keyframes toolsCardEnter { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:translateY(0); } }
@media (max-width:820px) { .student-tools-hero-copy { width:82%; } .student-tools-grid { grid-template-columns:1fr; } .student-tool-media { min-height:300px; } .student-tool-media img { min-height:300px; } }
@media (max-width:620px) { .student-tools-page .app-content { padding:10px; } .student-tools-hero { min-height:520px; align-items:flex-end; } .student-tools-hero::before { background:linear-gradient(0deg,rgba(5,10,18,.96) 0%,rgba(5,10,18,.7) 54%,rgba(5,10,18,.12) 100%); } .student-tools-hero > img { object-position:62% center; } .student-tools-hero-copy { width:100%; padding:24px 18px 58px; } .student-tools-hero h1 { font-size:clamp(2.25rem,12vw,3.3rem); } .student-tools-scroll { left:18px; right:auto; bottom:18px; } .student-tools-heading { align-items:flex-start; flex-direction:column; } .student-tool-media,.student-tool-media img { min-height:225px; } .student-tool-body { padding:19px 17px 14px; } .student-tool-card > a { margin:0 17px 17px; } .student-tool-empty { grid-template-columns:auto minmax(0,1fr); padding:17px; } .student-tool-empty > .btn { grid-column:1 / -1; width:100%; justify-content:center; } .student-tool-card.compact-tool-card { grid-template-columns:auto minmax(0,1fr); padding:16px; } .student-tool-card.is-locked > small { grid-column:2; } }
@media (prefers-reduced-motion:reduce) { .student-tools-hero > img,.student-tools-hero::after,.student-tools-scroll svg,.student-tool-card { animation:none; } .student-tool-card,.student-tool-media img { transition:none; } }

/* v121: chequeo de llegada y biblioteca visual de prácticas para MIA. */
.chapter-arrival { display:grid; grid-template-columns:minmax(180px,.8fr) minmax(0,1.35fr); gap:16px; align-items:center; margin-bottom:16px; padding:16px; border:1px solid rgba(87,231,214,.28); border-radius:8px; background:linear-gradient(110deg,rgba(20,224,196,.09),rgba(122,80,177,.08)); }
.chapter-arrival-copy > span,.chapter-arrival-practice > span { display:inline-flex; align-items:center; gap:6px; color:var(--theme-accent,var(--brand)); font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; }
.chapter-arrival-copy > span svg,.chapter-arrival-practice > span svg { width:16px; }
.chapter-arrival-copy strong { display:block; margin:6px 0 4px; color:var(--app-text); font-size:1rem; }
.chapter-arrival-copy p { margin:0; color:var(--app-muted); font-size:.8rem; line-height:1.4; }
.chapter-arrival-options { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:7px; }
.chapter-arrival-options button { min-height:72px; display:grid; place-items:center; gap:4px; padding:7px 4px; border:1px solid var(--app-line); border-radius:6px; color:var(--app-text); background:var(--app-surface); font:inherit; font-size:.7rem; cursor:pointer; transition:transform .16s ease,border-color .16s ease,background .16s ease; }
.chapter-arrival-options button svg { width:20px; color:var(--theme-accent,var(--brand)); }
.chapter-arrival-options button:hover,.chapter-arrival-options button.is-selected { transform:translateY(-2px); border-color:var(--theme-accent,var(--brand)); background:rgba(72,237,213,.12); }
.chapter-arrival-detail { grid-column:1 / -1; display:flex; align-items:center; gap:18px; padding:10px 2px 0; }
.chapter-arrival-detail label { display:flex; align-items:center; gap:8px; color:var(--app-muted); font-size:.76rem; white-space:nowrap; }
.chapter-arrival-detail input { accent-color:var(--theme-accent,var(--brand)); }
.chapter-arrival-detail output { width:18px; color:var(--theme-accent,var(--brand)); font-weight:700; text-align:center; }
.chapter-arrival-detail .btn { margin-left:auto; }
.chapter-arrival-practice { grid-column:1 / -1; display:grid; grid-template-columns:1fr auto; gap:5px 18px; align-items:center; padding:13px; border-left:2px solid var(--theme-accent,var(--brand)); background:rgba(6,31,45,.08); }
.chapter-arrival-practice strong { color:var(--app-text); }
.chapter-arrival-practice p { margin:0; color:var(--app-muted); font-size:.86rem; }
.chapter-arrival-practice a { grid-column:2; grid-row:1 / span 3; display:inline-flex; align-items:center; gap:5px; color:var(--theme-accent,var(--brand)); font-size:.8rem; font-weight:700; text-decoration:none; white-space:nowrap; }
.wellbeing-practices-page .app-content { padding:clamp(12px,2vw,28px); }
.wellbeing-practices { width:min(1240px,100%); margin:0 auto; }
.wellbeing-practices-hero { position:relative; min-height:clamp(430px,55vw,590px); display:flex; align-items:flex-end; overflow:hidden; border:1px solid rgba(255,255,255,.14); border-radius:8px; color:#fff; background:#111c23; box-shadow:0 28px 72px rgba(0,0,0,.28); isolation:isolate; }
.wellbeing-practices-hero::before { content:""; position:absolute; z-index:1; inset:0; background:linear-gradient(90deg,rgba(5,11,17,.94) 0%,rgba(5,11,17,.76) 40%,rgba(5,11,17,.14) 72%),linear-gradient(0deg,rgba(5,11,17,.78),transparent 54%); }
.wellbeing-practices-hero::after { content:""; position:absolute; z-index:2; left:0; bottom:0; width:45%; height:3px; background:linear-gradient(90deg,#70f4df,#8ae1ff,transparent); animation:wellbeingPulse 4s ease-in-out infinite; }
.wellbeing-practices-hero > img { position:absolute; inset:0; z-index:0; width:100%; height:100%; object-fit:cover; object-position:center; animation:wellbeingHeroBreath 15s ease-in-out infinite alternate; }
.wellbeing-practices-hero > div { position:relative; z-index:3; width:min(650px,70%); display:grid; gap:15px; padding:clamp(30px,5vw,66px); }
.wellbeing-practices-hero > div > span { display:inline-flex; align-items:center; gap:7px; width:max-content; color:#72f4df; font-size:.76rem; font-weight:800; text-transform:uppercase; }
.wellbeing-practices-hero > div > span svg { width:17px; }
.wellbeing-practices-hero h1 { margin:0; color:#fff; font-size:clamp(2.6rem,5.4vw,5.4rem); line-height:.98; letter-spacing:0; text-wrap:balance; }
.wellbeing-practices-hero p { max-width:590px; margin:0; color:rgba(245,255,255,.82); font-size:clamp(.98rem,1.5vw,1.14rem); line-height:1.58; }
.wellbeing-hero-meta { display:flex; flex-wrap:wrap; gap:18px; align-items:center; margin-top:7px; }
.wellbeing-hero-meta span { display:inline-flex; align-items:center; gap:7px; color:rgba(255,255,255,.78); font-size:.82rem; }
.wellbeing-hero-meta strong { color:#72f4df; font-size:1.25rem; }
.wellbeing-hero-meta svg { width:17px; color:#72f4df; }
.wellbeing-practice-nav { position:sticky; z-index:20; top:12px; display:flex; gap:7px; margin:18px 0 28px; padding:8px; overflow-x:auto; border:1px solid var(--app-line); border-radius:8px; background:color-mix(in srgb,var(--app-panel) 92%,transparent); box-shadow:0 12px 30px rgba(0,0,0,.18); backdrop-filter:blur(18px); scrollbar-width:thin; }
.wellbeing-practice-nav a { flex:0 0 auto; min-height:40px; display:inline-flex; align-items:center; gap:7px; padding:0 11px; border:1px solid transparent; border-radius:5px; color:var(--app-muted); font-size:.74rem; font-weight:700; text-decoration:none; }
.wellbeing-practice-nav a:hover,.wellbeing-practice-nav a.is-active { border-color:color-mix(in srgb,var(--theme-accent,var(--brand)) 45%,var(--app-line)); color:var(--app-text); background:color-mix(in srgb,var(--theme-accent,var(--brand)) 10%,transparent); }
.wellbeing-practice-nav a span { color:var(--theme-accent,var(--brand)); font-size:.68rem; }
.wellbeing-practice-grid { display:grid; gap:22px; }
.wellbeing-practice { position:relative; display:grid; grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr); min-height:570px; overflow:hidden; border:1px solid color-mix(in srgb,var(--app-line) 82%,var(--app-text) 8%); border-radius:8px; background:color-mix(in srgb,var(--app-surface) 96%,transparent); box-shadow:0 20px 55px rgba(0,0,0,.2); scroll-margin-top:84px; animation:wellbeingCardEnter .62s both; }
.wellbeing-practice:nth-child(even) .wellbeing-practice-media { grid-column:2; grid-row:1; }
.wellbeing-practice:nth-child(even) .wellbeing-practice-content { grid-column:1; grid-row:1; }
.wellbeing-practice.is-selected { border-color:var(--theme-accent,var(--brand)); box-shadow:0 0 0 2px color-mix(in srgb,var(--theme-accent,var(--brand)) 18%,transparent),0 26px 64px rgba(0,0,0,.25); }
.wellbeing-practice-media { position:relative; min-height:100%; overflow:hidden; background:#152129; }
.wellbeing-practice-media::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(5,10,16,.03) 45%,rgba(5,10,16,.82)); }
.wellbeing-practice-media img { width:100%; height:100%; min-height:570px; object-fit:cover; transition:transform .8s cubic-bezier(.2,.8,.2,1),filter .4s ease; }
.wellbeing-practice:hover .wellbeing-practice-media img { transform:scale(1.035); filter:saturate(1.05) contrast(1.02); }
.wellbeing-practice-media > span { position:absolute; z-index:2; left:20px; top:18px; color:rgba(255,255,255,.88); font-size:2.6rem; font-weight:300; line-height:1; }
.wellbeing-practice-media > small { position:absolute; z-index:2; left:20px; bottom:18px; display:inline-flex; align-items:center; gap:7px; color:#fff; font-size:.78rem; font-weight:800; }
.wellbeing-practice-media > small svg { width:17px; color:#72f4df; }
.wellbeing-practice-content { display:grid; align-content:center; gap:18px; padding:clamp(24px,3.5vw,44px); }
.wellbeing-practice-content > header { display:grid; grid-template-columns:auto minmax(0,1fr); gap:13px; align-items:center; }
.wellbeing-practice-icon { width:50px; height:50px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.25); border-radius:7px; color:#08252e; background:#70f4df; box-shadow:0 10px 24px rgba(32,218,191,.18); }
.wellbeing-practice-icon svg { width:24px; }
.wellbeing-practice-content header small { color:var(--theme-accent,var(--brand)); font-size:.7rem; font-weight:800; text-transform:uppercase; }
.wellbeing-practice h2 { margin:3px 0 0; color:var(--app-text); font-size:clamp(1.45rem,2.7vw,2.15rem); }
.wellbeing-practice-summary { margin:0; color:var(--app-muted); font-size:1rem; line-height:1.55; }
.wellbeing-practice-how { display:grid; gap:10px; }
.wellbeing-practice-how > strong,.wellbeing-practice-example strong { color:var(--app-text); font-size:.78rem; text-transform:uppercase; }
.wellbeing-practice-how ol { counter-reset:practice-step; display:grid; gap:9px; margin:0; padding:0; list-style:none; }
.wellbeing-practice-how li { counter-increment:practice-step; display:grid; grid-template-columns:27px minmax(0,1fr); gap:10px; align-items:start; color:var(--app-text); font-size:.86rem; line-height:1.45; }
.wellbeing-practice-how li::before { content:counter(practice-step); width:27px; height:27px; display:grid; place-items:center; border:1px solid color-mix(in srgb,var(--theme-accent,var(--brand)) 42%,var(--app-line)); border-radius:50%; color:var(--theme-accent,var(--brand)); font-size:.69rem; font-weight:800; }
.wellbeing-practice-example { display:grid; grid-template-columns:auto minmax(0,1fr); gap:11px; padding:14px; border-left:3px solid var(--theme-accent,var(--brand)); background:color-mix(in srgb,var(--theme-accent,var(--brand)) 7%,var(--app-panel-2)); }
.wellbeing-practice-example > svg { width:20px; color:var(--theme-accent,var(--brand)); }
.wellbeing-practice-example p { margin:4px 0 0; color:var(--app-muted); font-size:.82rem; line-height:1.48; }
.wellbeing-practice button { width:max-content; min-height:42px; display:inline-flex; align-items:center; gap:7px; padding:0 13px; border:1px solid color-mix(in srgb,var(--theme-accent,var(--brand)) 55%,var(--app-line)); border-radius:5px; color:var(--app-text); background:color-mix(in srgb,var(--theme-accent,var(--brand)) 9%,transparent); font:inherit; font-size:.79rem; font-weight:800; cursor:pointer; transition:background .2s ease,color .2s ease,transform .2s ease; }
.wellbeing-practice button:hover { color:#071b1a; background:var(--theme-accent,var(--brand)); transform:translateY(-2px); }
.wellbeing-practice button[data-saved="1"] { color:#071b1a; background:#70f4df; cursor:default; transform:none; }
.wellbeing-practice button svg { width:16px; }
@keyframes wellbeingHeroBreath { from { transform:scale(1); } to { transform:scale(1.025); } }
@keyframes wellbeingPulse { 0%,100% { opacity:.55; transform:scaleX(.72); transform-origin:left; } 50% { opacity:1; transform:scaleX(1); transform-origin:left; } }
@keyframes wellbeingCardEnter { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:translateY(0); } }
@media (max-width:900px) { .wellbeing-practice { grid-template-columns:1fr; min-height:0; } .wellbeing-practice:nth-child(even) .wellbeing-practice-media,.wellbeing-practice:nth-child(even) .wellbeing-practice-content { grid-column:1; grid-row:auto; } .wellbeing-practice-media,.wellbeing-practice-media img { min-height:clamp(300px,65vw,480px); max-height:480px; } }
@media (max-width:760px) { .chapter-arrival { grid-template-columns:1fr; } .chapter-arrival-options { grid-template-columns:repeat(3,minmax(0,1fr)); } .chapter-arrival-detail { align-items:flex-start; flex-wrap:wrap; } .chapter-arrival-detail .btn { width:100%; margin-left:0; justify-content:center; } .wellbeing-practices-hero > div { width:82%; } }
@media (max-width:560px) { .wellbeing-practices-page .app-content { padding:10px; } .wellbeing-practices-hero { min-height:520px; } .wellbeing-practices-hero::before { background:linear-gradient(0deg,rgba(5,11,17,.96),rgba(5,11,17,.65) 56%,rgba(5,11,17,.08)); } .wellbeing-practices-hero > img { object-position:60% center; } .wellbeing-practices-hero > div { width:100%; padding:24px 18px; } .wellbeing-practices-hero h1 { font-size:clamp(2.3rem,12vw,3.35rem); } .wellbeing-practice-nav { top:8px; margin-top:10px; } .wellbeing-practice-media,.wellbeing-practice-media img { min-height:260px; } .wellbeing-practice-content { padding:22px 17px; } .wellbeing-practice button { width:100%; justify-content:center; } }
@media (prefers-reduced-motion:reduce) { .wellbeing-practices-hero > img,.wellbeing-practices-hero::after,.wellbeing-practice { animation:none; } .wellbeing-practice-media img,.wellbeing-practice button { transition:none; } }
@media (max-width:440px) { .chapter-arrival { padding:13px; } .chapter-arrival-options { grid-template-columns:repeat(2,minmax(0,1fr)); } .chapter-arrival-options button:last-child { grid-column:1 / -1; } .chapter-arrival-practice { display:block; } .chapter-arrival-practice strong,.chapter-arrival-practice p,.chapter-arrival-practice a { display:block; margin-top:6px; } }

/* Móvil v118: sin banda previa; el encabezado comienza directamente al borde superior. */
@media (max-width:840px) {
  .app-shell {
    display:flex;
    flex-direction:column;
    min-height:100dvh;
    background:var(--app-bg-bottom);
  }

  .app-shell::before {
    display:none;
  }

  .app-workspace {
    display:contents !important;
  }

  .app-topbar {
    order:0;
    position:sticky;
    inset:0 auto auto 0;
    z-index:40;
    width:100%;
    min-height:68px;
    margin:0 !important;
    padding:8px 10px !important;
    background:var(--app-sidebar) !important;
    border:0;
    border-bottom:1px solid var(--app-line);
  }

  .app-sidebar {
    order:1;
    width:100%;
    min-height:0;
    margin:0;
    padding:14px 12px 12px;
  }

  .app-content {
    order:2;
    width:100%;
  }

  .mobile-app-logo {
    width:clamp(104px, 31vw, 132px);
    height:48px;
  }

  .mobile-app-logo img {
    max-height:48px;
  }

  .student-topbar-clean .app-actions {
    min-width:0;
    overflow-x:auto;
    justify-content:flex-end !important;
  }
}

@media (max-width:380px) {
  .app-topbar {
    gap:5px;
    padding-inline:7px !important;
  }

  .mobile-app-logo {
    width:88px;
    height:42px;
  }

  .mobile-app-logo img {
    max-height:42px;
  }

  .student-topbar-clean .topbar-points {
    padding-inline:5px;
  }
}

/* v119: variante oscura para superficies claras. */
.academy-logo-dark {
  display:none !important;
}

:root[data-theme="light"] .academy-logo-light,
:root[data-theme="candy"] .academy-logo-light,
:root[data-theme="solar"] .academy-logo-light {
  display:none !important;
}

:root[data-theme="light"] .academy-logo-dark,
:root[data-theme="candy"] .academy-logo-dark,
:root[data-theme="solar"] .academy-logo-dark {
  display:block !important;
  filter:drop-shadow(0 4px 10px rgba(7,17,17,.14)) !important;
}

/* v119: los puntos permanecen completos y la barra no se desplaza lateralmente. */
@media (max-width:840px) {
  .student-topbar-clean .app-actions {
    width:auto !important;
    min-width:0;
    overflow:visible !important;
    flex:1 1 auto;
  }

  .student-topbar-clean .topbar-points {
    flex:0 0 auto;
    min-width:76px;
  }
}

@media (max-width:480px) {
  .mobile-app-logo {
    width:90px;
    height:48px;
  }

  .student-topbar-clean .app-actions {
    gap:5px;
  }

  .student-topbar-clean .topbar-points {
    min-width:72px;
    padding:4px 7px 4px 4px;
    gap:6px;
  }

  .student-topbar-clean .topbar-points .mia-points-icon {
    width:30px;
    height:30px;
  }

  .student-topbar-clean .topbar-points .mia-points-copy strong {
    font-size:15px;
  }

  .student-topbar-clean .user-chip {
    max-width:72px;
    padding-inline:8px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  .student-topbar-clean .logout-link {
    padding-inline:8px;
  }
}

/* v122 final: mantiene la pantalla de llegada por encima de reglas históricas. */
.chapter-checkin-gate.is-checkin-active { display:block; }
.chapter-checkin-gate.is-checkin-active .classroom-main { width:min(940px,100%); margin:0 auto; }
.chapter-checkin-gate.is-checkin-active .classroom-panel,
.chapter-checkin-gate.is-checkin-active .lesson-stage,
.chapter-checkin-gate.is-checkin-active .lesson-underbar,
.chapter-checkin-gate.is-checkin-active .course-notebook-callout,
.chapter-checkin-gate.is-checkin-active .chapter-nav-bar,
.chapter-checkin-gate.is-checkin-active .lesson-detail-panel { display:none; }
.chapter-checkin-gate.is-checkin-active .chapter-arrival { display:grid; grid-template-columns:minmax(0,1fr) minmax(190px,.62fr); min-height:330px; margin:0; padding:clamp(20px,3.5vw,38px); }
.chapter-checkin-gate.is-checkin-active .chapter-arrival-options,
.chapter-checkin-gate.is-checkin-active .chapter-arrival-detail,
.chapter-checkin-gate.is-checkin-active .chapter-arrival-practice { grid-column:1 / -1; }
@media (max-width:700px) { .chapter-checkin-gate.is-checkin-active .chapter-arrival { grid-template-columns:1fr; min-height:0; } }

/* v1.22.1: decisión de chequeo y capítulos siempre disponibles. */
.chapter-checkin-gate.is-checkin-active { display:grid; grid-template-columns:minmax(0,1fr) 360px; }
.chapter-checkin-gate.is-checkin-active .classroom-main { width:auto; margin:0; }
.chapter-checkin-gate.is-checkin-active .classroom-panel { display:grid; }
.chapter-checkin-gate.is-checkin-active .chapter-arrival { grid-template-columns:1fr; min-height:0; }
.chapter-checkin-gate.is-checkin-active.is-chapters-hidden { grid-template-columns:minmax(0,1fr); }
.chapter-checkin-gate.is-checkin-active.is-chapters-hidden .classroom-panel { display:none; }
.chapter-panel-control { display:flex; justify-content:flex-end; min-height:34px; }
.chapter-panel-toggle { display:inline-flex; align-items:center; gap:7px; min-height:34px; padding:0 11px; border:1px solid rgba(87,231,214,.36); border-radius:6px; color:var(--app-text); background:rgba(12,31,52,.7); font:inherit; font-size:.78rem; font-weight:700; cursor:pointer; }
.chapter-panel-toggle:hover { border-color:var(--theme-accent,var(--brand)); color:var(--theme-accent,var(--brand)); }
.chapter-panel-toggle svg { width:16px; height:16px; color:var(--theme-accent,var(--brand)); }
.chapter-arrival-copy { display:grid; align-content:start; gap:0; }
.chapter-arrival-copy .chapter-arrival-mia { justify-content:flex-start; padding:14px 0 2px; }
.chapter-arrival-mia div { max-width:440px; }
.chapter-arrival-mia span[data-checkin-mia-message] { min-height:2.7em; color:var(--app-text); }
.chapter-arrival-mia span[data-checkin-mia-message]::after { content:""; display:inline-block; width:2px; height:.95em; margin-left:3px; vertical-align:-.14em; background:var(--theme-accent,var(--brand)); animation:chapterTypingCursor .8s steps(1) infinite; }
.chapter-arrival-choice { display:flex; flex-wrap:wrap; gap:10px; padding-top:12px; }
.chapter-arrival-choice .btn { min-height:44px; justify-content:center; }
.chapter-arrival-guidance { grid-column:1 / -1; margin:3px 0 0; padding:10px 12px; border-left:2px solid var(--theme-accent,var(--brand)); color:var(--app-text); background:rgba(65,224,204,.07); font-size:.86rem; line-height:1.45; }
.chapter-arrival[hidden],.chapter-arrival-options[hidden],.chapter-arrival-choice[hidden],.chapter-arrival-guidance[hidden],.chapter-arrival-detail[hidden],.chapter-arrival-practice[hidden] { display:none; }
.chapter-arrival-practice { margin-top:4px; }
@keyframes chapterTypingCursor { 50% { opacity:0; } }
@media (max-width:980px) { .chapter-checkin-gate.is-checkin-active { grid-template-columns:minmax(0,1fr) 300px; } }
@media (max-width:760px) { .chapter-checkin-gate.is-checkin-active { grid-template-columns:1fr; } .chapter-checkin-gate.is-checkin-active .classroom-panel { position:static; } .chapter-panel-control { justify-content:flex-start; } }
@media (max-width:460px) { .chapter-arrival-choice { display:grid; grid-template-columns:1fr; } .chapter-arrival-choice .btn { width:100%; } }

/* v1.23: Libreta para reconocer pilotos automáticos. */
.notebook-hero { isolation:isolate; min-height:300px; background:#092638; }
.notebook-hero:before { display:none; }
.notebook-hero-copy { max-width:590px; }
.notebook-hero-image { position:absolute; inset:0 0 0 auto; z-index:0; width:66%; height:100%; object-fit:cover; object-position:right center; opacity:.9; }
.notebook-hero:after { content:""; position:absolute; inset:0; z-index:0; background:linear-gradient(90deg,#092638 0%,rgba(9,38,56,.96) 33%,rgba(9,38,56,.2) 72%,rgba(9,38,56,.04)); }
.notebook-hero h1 { max-width:520px; }
.notebook-page { border-color:rgba(75,234,218,.42); background:linear-gradient(135deg,rgba(7,34,49,.98),rgba(22,26,62,.97)); }
.notebook-invitation { font-size:1rem; }
.autopilot-intro { display:grid; grid-template-columns:132px minmax(0,1fr); gap:17px; align-items:center; margin:22px 0; padding:13px; border:1px solid rgba(100,239,220,.26); border-radius:8px; background:rgba(8,53,67,.5); }
.autopilot-intro img { width:132px; aspect-ratio:1; object-fit:cover; border-radius:6px; border:1px solid rgba(94,239,221,.45); }
.autopilot-intro span { display:inline-flex; align-items:center; gap:6px; color:var(--theme-accent,var(--brand)); font-size:.76rem; font-weight:800; text-transform:uppercase; }
.autopilot-intro span svg { width:15px; }
.autopilot-intro strong { display:block; margin:5px 0; color:var(--app-text); font-size:1.05rem; }
.autopilot-intro p { margin:0; color:var(--app-muted); font-size:.86rem; line-height:1.5; }
.autopilot-list { display:grid; gap:11px; padding-top:4px; }
.autopilot-list-head { display:flex; align-items:end; justify-content:space-between; gap:14px; }
.autopilot-list-head > div { display:grid; gap:4px; }
.autopilot-list-head span { color:#9eeadd; font-size:.94rem; font-weight:800; }
.autopilot-list-head small { color:var(--app-muted); font-size:.78rem; }
.notebook-add-autopilot { display:inline-flex; flex:0 0 auto; align-items:center; gap:6px; min-height:34px; padding:0 9px; border:1px solid rgba(108,246,222,.4); border-radius:6px; color:var(--theme-accent,var(--brand)); background:rgba(76,236,214,.07); font:inherit; font-size:.76rem; font-weight:800; cursor:pointer; }
.notebook-add-autopilot:hover { background:rgba(76,236,214,.16); }
.notebook-add-autopilot svg { width:15px; }
.autopilot-card { position:relative; display:grid; grid-template-columns:42px minmax(0,1fr); gap:13px; padding:15px; border:1px solid rgba(151,218,231,.2); border-radius:8px; background:rgba(5,20,39,.25); }
.autopilot-card:focus-within { border-color:rgba(101,244,220,.58); box-shadow:0 0 0 3px rgba(75,234,218,.08); }
.autopilot-card-number { width:34px; height:34px; display:grid; place-items:center; border:1px solid rgba(105,245,221,.5); border-radius:50%; color:#76f5e1; font-size:.75rem; font-weight:900; }
.autopilot-card-fields { display:grid; grid-template-columns:minmax(170px,.6fr) minmax(0,1fr); gap:14px; }
.notebook-field input { width:100%; min-height:42px; padding:9px 12px; border:1px solid rgba(143,231,225,.25); border-radius:6px; outline:0; color:var(--app-text); background:rgba(6,25,43,.64); font:inherit; }
.notebook-field input:focus { border-color:#72f5df; box-shadow:0 0 0 3px rgba(42,236,208,.08); }
.autopilot-card .notebook-field { margin:0; }
.autopilot-card textarea { min-height:96px; }
.autopilot-remove { position:absolute; top:8px; right:8px; width:28px; height:28px; display:grid; place-items:center; padding:0; border:0; border-radius:50%; color:var(--app-muted); background:transparent; cursor:pointer; }
.autopilot-remove:hover { color:#fff; background:rgba(255,132,172,.18); }
.autopilot-remove svg { width:16px; }
.notebook-reflection { margin-top:23px; }
.notebook-entry-autopilots { display:grid; gap:8px; margin-top:10px; }
.notebook-entry-autopilots > div { padding:9px 10px; border-left:2px solid var(--theme-accent,var(--brand)); background:rgba(75,234,218,.05); }
.notebook-entry-autopilots strong { color:var(--app-text); font-size:.83rem; }
.notebook-entry-autopilots p { display:block; margin:4px 0 0; color:var(--app-muted); font-size:.78rem; -webkit-line-clamp:initial; }
@media (max-width:720px) { .notebook-hero { min-height:315px; } .notebook-hero-image { width:100%; opacity:.38; } .notebook-hero:after { background:rgba(7,31,48,.72); } .autopilot-card-fields { grid-template-columns:1fr; } }
@media (max-width:500px) { .autopilot-intro { grid-template-columns:82px minmax(0,1fr); gap:11px; } .autopilot-intro img { width:82px; } .autopilot-list-head { align-items:flex-start; flex-direction:column; } .notebook-add-autopilot { width:100%; justify-content:center; } .autopilot-card { grid-template-columns:1fr; } .autopilot-card-number { width:30px; height:30px; } }

/* v1.23.1: guía y fichas enriquecidas de pilotos automáticos. */
.autopilot-intro { border-color:rgba(94,239,221,.42); background:linear-gradient(120deg,rgba(9,64,74,.74),rgba(27,31,75,.62)); }
.autopilot-intro { grid-template-columns:1fr; }
.autopilot-intro span { color:#72f5df; }
.autopilot-example { display:grid; grid-template-columns:145px minmax(0,1fr); gap:17px; align-items:start; margin:0 0 23px; padding:16px; border:1px solid rgba(255,166,116,.32); border-radius:8px; background:linear-gradient(115deg,rgba(99,52,57,.3),rgba(10,42,58,.48)); }
.autopilot-example > img { width:145px; aspect-ratio:1; object-fit:cover; border:1px solid rgba(255,190,142,.42); border-radius:6px; box-shadow:0 12px 28px rgba(2,8,24,.26); }
.autopilot-example span { color:#ffcb9f; font-size:.74rem; font-weight:800; text-transform:uppercase; }
.autopilot-example strong { display:block; margin:3px 0 7px; color:var(--app-text); font-size:1rem; }
.autopilot-example p { margin:5px 0; color:var(--app-muted); font-size:.84rem; line-height:1.5; }
.autopilot-example p b { color:#e8f9f7; }
.autopilot-card { overflow:hidden; padding:0; border-color:rgba(116,234,221,.27); background:linear-gradient(135deg,rgba(8,48,61,.7),rgba(24,22,61,.62)); box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 12px 26px rgba(2,11,29,.12); }
.autopilot-card:before { content:""; position:absolute; inset:0 auto 0 0; width:4px; background:linear-gradient(#69f1dd,#a973ef); }
.autopilot-card-number { position:relative; z-index:1; width:42px; height:42px; margin:16px 0 0 14px; border-color:rgba(115,247,224,.7); background:#092e43; box-shadow:0 0 20px rgba(74,238,211,.15); }
.autopilot-card-fields { gap:0; }
.autopilot-card .notebook-field { min-height:128px; padding:15px 16px; border-left:1px solid rgba(137,230,227,.12); border-bottom:1px solid rgba(137,230,227,.12); background:rgba(3,19,41,.14); }
.autopilot-card .notebook-field:nth-child(odd) { border-left:0; }
.autopilot-card .notebook-field:nth-last-child(-n+2) { border-bottom:0; }
.autopilot-card .notebook-field > span { display:flex; align-items:center; gap:7px; }
.autopilot-title-field > span { color:#79f5e1!important; }
.autopilot-title-field > span svg { width:17px; color:#79f5e1; }
.autopilot-card textarea { min-height:76px; padding:9px 0 0; background:transparent; }
.autopilot-card textarea { overflow-y:auto; scrollbar-width:none; -ms-overflow-style:none; }
.autopilot-card textarea::-webkit-scrollbar { width:0; height:0; }
.notebook-page textarea { scrollbar-width:none; -ms-overflow-style:none; }
.notebook-page textarea::-webkit-scrollbar { width:0; height:0; }
.autopilot-card .notebook-field input { margin-top:5px; border-color:rgba(122,239,220,.26); background:rgba(2,20,42,.42); }
.notebook-form-actions > div { display:grid; justify-items:stretch; gap:9px; }
.notebook-form-actions > div .btn { min-height:42px; }
.notebook-entry-autopilots small { display:block; margin-top:5px; color:var(--app-muted); font-size:.74rem; line-height:1.4; }
.notebook-entry-autopilots small b { color:#a8f2e4; }
@media (max-width:720px) { .autopilot-card .notebook-field { border-left:0; } .autopilot-card .notebook-field:nth-last-child(2) { border-bottom:1px solid rgba(137,230,227,.12); } }
@media (max-width:520px) { .autopilot-example { grid-template-columns:1fr; } .autopilot-example > img { width:100%; max-width:220px; } .autopilot-card-number { margin:13px 0 0 13px; } .notebook-form-actions > div { width:100%; } .notebook-form-actions > div .btn { width:100%; justify-content:center; } }

/* v1.24: selector de avatares profesionales. */
.professional-avatar-groups { display:grid; gap:22px; }
.professional-avatar-group { display:grid; gap:10px; }
.professional-avatar-group-head { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-bottom:8px; border-bottom:1px solid var(--app-line); }
.professional-avatar-group-head strong { color:var(--app-text); font-size:.8rem; text-transform:uppercase; }
.professional-avatar-group-head span { color:var(--app-muted); font-size:.74rem; font-weight:700; }
.professional-avatar-group .avatar-options { grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.professional-avatar-group .avatar-option { position:relative; display:grid; grid-template-columns:68px minmax(0,1fr); align-items:center; justify-items:stretch; gap:11px; min-height:92px; padding:10px; overflow:hidden; border-radius:8px; text-align:left; background:linear-gradient(135deg,color-mix(in srgb,var(--app-panel-2) 92%,#102d38),var(--app-panel-2)); }
.professional-avatar-group .avatar-option:after { content:""; position:absolute; inset:0 auto 0 0; width:3px; background:transparent; transition:background .18s ease; }
.professional-avatar-group .avatar-option:hover:after,
.professional-avatar-group .avatar-option:focus:after,
.professional-avatar-group .avatar-option.active:after { background:var(--brand); }
.professional-avatar-group .avatar-option-image { width:68px; height:68px; max-width:none; overflow:hidden; border:1px solid color-mix(in srgb,var(--brand) 24%,var(--app-line)); border-radius:7px; background:color-mix(in srgb,var(--app-panel) 80%,#d7edef); }
.professional-avatar-group .avatar-option-image img { width:100%; height:100%; border:0; border-radius:0; box-shadow:none; object-fit:cover; object-position:center top; }
.professional-avatar-group .avatar-option-copy { display:grid; gap:4px; min-width:0; max-width:none; overflow:visible; white-space:normal; }
.professional-avatar-group .avatar-option-copy strong { overflow:hidden; color:var(--app-text); font-size:.84rem; text-overflow:ellipsis; white-space:nowrap; }
.professional-avatar-group .avatar-option-copy small { overflow:hidden; color:var(--app-muted); font-size:.69rem; font-weight:700; text-overflow:ellipsis; white-space:nowrap; }
.professional-avatar-group .avatar-option-check { position:absolute; top:7px; right:7px; display:grid; place-items:center; width:19px; height:19px; max-width:none; border:1px solid var(--app-line); border-radius:50%; color:transparent; background:var(--app-panel); opacity:.58; }
.professional-avatar-group .avatar-option-check svg { width:12px; height:12px; stroke-width:3; }
.professional-avatar-group .avatar-option.active .avatar-option-check { border-color:var(--brand); color:#05292d; background:var(--brand); opacity:1; }
@media (max-width:1100px) { .professional-avatar-group .avatar-options { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:560px) { .avatar-picker { padding:14px; } .professional-avatar-group .avatar-options { grid-template-columns:1fr; } .professional-avatar-group .avatar-option { grid-template-columns:64px minmax(0,1fr); min-height:84px; } .professional-avatar-group .avatar-option-image { width:64px; height:64px; } }

/* v1.25: wordmark oficial adaptable a temas claros y oscuros. */
.app-logo {
  min-height:88px;
  padding:14px 10px;
}
.app-logo .academy-logo {
  width:min(220px, 100%);
  max-width:220px;
  height:auto;
  max-height:none;
  object-fit:contain;
  object-position:center;
  filter:drop-shadow(0 7px 16px rgba(0,0,0,.28));
}
.public-topbar .brand {
  width:230px;
  min-height:64px;
}
.public-topbar .brand .academy-logo {
  width:220px;
  max-width:220px;
  height:auto;
  max-height:none;
  object-fit:contain;
}
.mobile-app-logo .academy-logo {
  width:100%;
  max-width:100%;
  height:auto;
  max-height:none;
  object-fit:contain;
}
:root[data-theme="candy"] .academy-logo-dark,
:root[data-theme="solar"] .academy-logo-dark {
  filter:drop-shadow(0 5px 12px rgba(7,17,17,.16)) !important;
}
@media (max-width:1180px) {
  .app-logo { min-height:82px; padding-inline:8px; }
  .app-logo .academy-logo { width:min(204px, 100%); max-width:204px; }
  .public-topbar .brand { width:210px; }
  .public-topbar .brand .academy-logo { width:200px; max-width:200px; }
}
@media (max-width:840px) {
  .mobile-app-logo { width:128px; height:42px; }
  .mobile-app-logo .academy-logo { width:128px; max-width:128px; }
  .public-topbar .brand { width:184px; min-height:56px; }
  .public-topbar .brand .academy-logo { width:176px; max-width:176px; }
}
@media (max-width:480px) {
  .mobile-app-logo { width:104px; height:36px; }
  .mobile-app-logo .academy-logo { width:104px; max-width:104px; }
  .public-topbar .brand { width:150px; min-height:50px; }
  .public-topbar .brand .academy-logo { width:144px; max-width:144px; }
}
@media (max-width:380px) {
  .mobile-app-logo { width:90px; height:32px; }
  .mobile-app-logo .academy-logo { width:90px; max-width:90px; }
}

/* v1.26: portada pública alineada con la experiencia real de Academy. */
body.academy-public-home {
  --academy-ink:#0a0a0a;
  --academy-deep:#0b1212;
  --academy-teal:#2dd4bf;
  --academy-teal-dark:#007564;
  --academy-surface:#f5f7f7;
  --academy-line:#e3e7e7;
  margin:0;
  overflow-x:hidden;
  color:var(--academy-ink);
  background:#fff;
}
body.academy-public-home .public-topbar {
  position:relative;
  grid-template-columns:auto minmax(0,1fr);
  min-height:78px;
  padding:7px max(24px, calc((100vw - 1240px) / 2));
  background:#111;
  border-bottom-color:rgba(255,255,255,.11);
  box-shadow:none;
}
body.academy-public-home .public-topbar .brand {
  grid-column:1;
  justify-self:start;
  width:218px;
  min-height:58px;
}
body.academy-public-home .public-topbar .brand .academy-logo {
  width:208px;
  max-width:208px;
}
body.academy-public-home .public-topbar .nav {
  grid-column:2;
  justify-self:end;
  gap:22px;
}
body.academy-public-home .public-topbar .nav > a:not(.btn) {
  color:rgba(255,255,255,.76);
}
body.academy-public-home .public-topbar .nav > a:not(.btn):hover {
  color:#fff;
}
body.academy-public-home .public-topbar .btn.small {
  min-height:42px;
  padding:0 20px;
  border-radius:6px;
  background:var(--academy-teal);
  border-color:var(--academy-teal);
  box-shadow:none;
}
.academy-home {
  width:100%;
  overflow:hidden;
  background:#fff;
}
.academy-home * { box-sizing:border-box; }
.academy-home-hero {
  position:relative;
  isolation:isolate;
  height:calc(100svh - 108px);
  min-height:620px;
  max-height:760px;
  overflow:hidden;
  color:#fff;
  background:var(--academy-deep);
}
.academy-home-hero-bg,
.academy-home-hero-shade {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
.academy-home-hero-bg {
  z-index:-3;
  object-fit:cover;
  object-position:center center;
  filter:saturate(.86) contrast(1.04);
}
.academy-home-hero-shade {
  z-index:-2;
  background:
    linear-gradient(90deg,rgba(4,13,13,.98) 0%,rgba(4,16,15,.93) 39%,rgba(4,14,14,.46) 67%,rgba(4,12,12,.18) 100%),
    linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.46));
}
.academy-home-hero-inner {
  width:min(1240px,calc(100% - 48px));
  height:100%;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(400px,.92fr);
  align-items:center;
  gap:32px;
}
.academy-home-hero-copy {
  position:relative;
  z-index:3;
  max-width:710px;
  padding:42px 0 76px;
}
.academy-home-kicker {
  display:inline-flex;
  align-items:center;
  gap:9px;
  color:#8ff4e6;
  font-size:13px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:0;
}
.academy-home-kicker svg { width:18px; height:18px; }
.academy-home-kicker.dark { color:var(--academy-teal-dark); }
.academy-home-hero h1 {
  max-width:690px;
  margin:22px 0 22px;
  color:#fff;
  font-size:64px;
  line-height:1.01;
  letter-spacing:0;
}
.academy-home-hero h1 span { color:var(--academy-teal); }
.academy-home-hero-copy > p {
  max-width:650px;
  margin:0;
  color:rgba(255,255,255,.78);
  font-size:19px;
  line-height:1.58;
}
.academy-home-actions {
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  margin-top:30px;
}
.academy-home-btn {
  min-height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:0 20px;
  border:1px solid transparent;
  border-radius:6px;
  font-weight:850;
  transition:transform .18s ease,background .18s ease,border-color .18s ease,color .18s ease;
}
.academy-home-btn:hover { transform:translateY(-2px); }
.academy-home-btn svg { width:18px; height:18px; }
.academy-home-btn.primary {
  color:#062420;
  background:var(--academy-teal);
  border-color:var(--academy-teal);
}
.academy-home-btn.secondary {
  color:#fff;
  background:rgba(10,10,10,.28);
  border-color:rgba(255,255,255,.4);
  backdrop-filter:blur(12px);
}
.academy-home-btn.dark {
  margin-top:26px;
  color:#fff;
  background:var(--academy-ink);
  border-color:var(--academy-ink);
}
.academy-home-proof {
  display:flex;
  align-items:center;
  gap:20px;
  flex-wrap:wrap;
  margin-top:28px;
  padding-top:20px;
  border-top:1px solid rgba(255,255,255,.18);
}
.academy-home-proof span {
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:rgba(255,255,255,.74);
  font-size:12px;
  font-weight:750;
}
.academy-home-proof svg { width:16px; color:var(--academy-teal); }
.academy-home-mia {
  position:relative;
  z-index:2;
  align-self:end;
  min-height:590px;
}
.academy-home-mia > img {
  position:absolute;
  right:-56px;
  bottom:-72px;
  width:540px;
  max-width:none;
  filter:drop-shadow(0 28px 48px rgba(0,0,0,.34));
}
.academy-home-mia-message {
  position:absolute;
  z-index:3;
  left:-34px;
  bottom:68px;
  width:330px;
  padding:17px 18px;
  border:1px solid rgba(143,244,230,.48);
  border-radius:8px;
  background:rgba(7,26,25,.88);
  box-shadow:0 18px 44px rgba(0,0,0,.34);
  backdrop-filter:blur(18px);
}
.academy-home-mia-message:after {
  content:"";
  position:absolute;
  right:-9px;
  bottom:31px;
  width:16px;
  height:16px;
  border-top:1px solid rgba(143,244,230,.48);
  border-right:1px solid rgba(143,244,230,.48);
  background:rgba(7,26,25,.92);
  transform:rotate(45deg);
}
.academy-home-mia-message span {
  display:flex;
  align-items:center;
  gap:7px;
  color:#8ff4e6;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
}
.academy-home-mia-message span svg { width:15px; }
.academy-home-mia-message strong {
  display:block;
  margin:8px 0 5px;
  color:#fff;
  font-size:22px;
  transition:opacity .2s ease,transform .2s ease;
}
.academy-home-mia-message strong.is-changing { opacity:0; transform:translateY(5px); }
.academy-home-mia-message p {
  margin:0;
  color:rgba(255,255,255,.7);
  font-size:13px;
  line-height:1.45;
}
.academy-home-scroll {
  position:absolute;
  z-index:5;
  left:50%;
  bottom:18px;
  display:flex;
  align-items:center;
  gap:8px;
  color:rgba(255,255,255,.7);
  font-size:11px;
  font-weight:750;
  transform:translateX(-50%);
}
.academy-home-scroll span {
  width:22px;
  height:34px;
  border:1px solid rgba(255,255,255,.42);
  border-radius:12px;
}
.academy-home-scroll span:after {
  content:"";
  display:block;
  width:3px;
  height:7px;
  margin:6px auto 0;
  border-radius:2px;
  background:var(--academy-teal);
  animation:academyHomeScroll 1.7s ease-in-out infinite;
}
.academy-product-section {
  padding:104px max(24px,calc((100vw - 1240px) / 2)) 116px;
  color:#fff;
  background:#0a0a0a;
}
.academy-home-heading { max-width:820px; }
.academy-home-heading > span {
  color:var(--academy-teal-dark);
  font-size:12px;
  font-weight:850;
  text-transform:uppercase;
}
.academy-home-heading h2 {
  margin:12px 0 18px;
  color:var(--academy-ink);
  font-size:48px;
  line-height:1.08;
  letter-spacing:0;
}
.academy-home-heading p {
  max-width:720px;
  margin:0;
  color:#5c6363;
  font-size:17px;
  line-height:1.65;
}
.academy-product-section .academy-home-heading > span,
.academy-home-heading.light > span { color:#73ebdc; }
.academy-product-section .academy-home-heading h2,
.academy-home-heading.light h2 { color:#fff; }
.academy-product-section .academy-home-heading p { color:rgba(255,255,255,.63); }
.academy-product-stage {
  position:relative;
  min-height:700px;
  margin-top:62px;
}
.academy-product-stage:before {
  content:"";
  position:absolute;
  inset:8% 4% 7%;
  border:1px solid rgba(45,212,191,.18);
  border-radius:8px;
  background:#0e1717;
}
.academy-product-shot {
  position:absolute;
  z-index:2;
  margin:0;
}
.academy-product-shot img {
  display:block;
  width:100%;
  border:1px solid rgba(255,255,255,.17);
  border-radius:8px;
  box-shadow:0 24px 62px rgba(0,0,0,.46);
}
.academy-product-shot figcaption {
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:2px 10px;
  align-items:center;
  margin-top:13px;
}
.academy-product-shot figcaption span {
  grid-row:1 / span 2;
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border:1px solid rgba(45,212,191,.5);
  border-radius:50%;
  color:var(--academy-teal);
  font-size:11px;
  font-weight:850;
}
.academy-product-shot figcaption strong { color:#fff; font-size:14px; }
.academy-product-shot figcaption small { color:rgba(255,255,255,.56); font-size:11px; }
.academy-product-shot.is-main { top:0; left:0; width:66%; }
.academy-product-shot.is-experience { top:115px; right:0; width:43%; }
.academy-product-shot.is-skills { right:5%; bottom:0; width:29%; }
.academy-product-shot.is-main:hover { transform:translateY(-4px); }
.academy-product-shot.is-experience:hover { transform:translateY(-4px); }
.academy-product-shot.is-skills:hover { transform:translateY(-4px); }
.academy-product-shot { transition:transform .2s ease; }
.academy-emotional-section {
  width:min(1240px,calc(100% - 48px));
  margin:0 auto;
  padding:112px 0;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,.92fr);
  align-items:center;
  gap:72px;
}
.academy-emotional-media { position:relative; }
.academy-emotional-media img {
  display:block;
  width:100%;
  aspect-ratio:4 / 3;
  border-radius:8px;
  object-fit:cover;
  object-position:center;
}
.academy-emotional-media > span {
  position:absolute;
  left:18px;
  bottom:18px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:38px;
  padding:0 12px;
  border-radius:6px;
  color:#fff;
  background:rgba(10,10,10,.78);
  backdrop-filter:blur(12px);
  font-size:12px;
  font-weight:800;
}
.academy-emotional-media > span svg { width:17px; color:var(--academy-teal); }
.academy-emotional-copy h2,
.academy-ecosystem-copy h2 {
  margin:15px 0 20px;
  color:var(--academy-ink);
  font-size:46px;
  line-height:1.08;
  letter-spacing:0;
}
.academy-emotional-copy > p,
.academy-ecosystem-copy > p {
  margin:0;
  color:#5c6363;
  font-size:17px;
  line-height:1.65;
}
.academy-emotional-points {
  display:grid;
  gap:0;
  margin-top:28px;
  border-top:1px solid var(--academy-line);
}
.academy-emotional-points div {
  display:grid;
  grid-template-columns:110px minmax(0,1fr);
  gap:18px;
  padding:16px 0;
  border-bottom:1px solid var(--academy-line);
}
.academy-emotional-points strong { color:var(--academy-teal-dark); }
.academy-emotional-points span { color:#43494a; }
.academy-method-section {
  padding:104px max(24px,calc((100vw - 1240px) / 2)) 112px;
  color:#fff;
  background:#101313;
}
.academy-method-flow {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  margin-top:54px;
  border-top:1px solid rgba(255,255,255,.16);
  border-bottom:1px solid rgba(255,255,255,.16);
}
.academy-method-flow article {
  position:relative;
  min-height:290px;
  padding:34px 26px 30px;
  border-right:1px solid rgba(255,255,255,.16);
}
.academy-method-flow article:last-child { border-right:0; }
.academy-method-flow article > span {
  position:absolute;
  top:20px;
  right:20px;
  color:rgba(255,255,255,.19);
  font-size:54px;
  font-weight:900;
}
.academy-method-flow article > svg {
  width:34px;
  height:34px;
  margin:52px 0 22px;
  color:var(--academy-teal);
}
.academy-method-flow h3 { margin:0 0 12px; color:#fff; font-size:22px; }
.academy-method-flow p { margin:0; color:rgba(255,255,255,.61); line-height:1.55; }
.academy-ecosystem-section {
  width:min(1240px,calc(100% - 48px));
  margin:0 auto;
  padding:112px 0;
  display:grid;
  grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);
  align-items:center;
  gap:72px;
}
.academy-ecosystem-meta {
  display:flex;
  gap:20px;
  flex-wrap:wrap;
  margin-top:26px;
  padding-top:20px;
  border-top:1px solid var(--academy-line);
}
.academy-ecosystem-meta span { color:#5c6363; font-size:13px; }
.academy-ecosystem-meta strong { margin-right:5px; color:var(--academy-ink); font-size:20px; }
.academy-ecosystem-visual {
  position:relative;
  min-height:500px;
  overflow:hidden;
  border-radius:8px;
  color:#fff;
  background:#101313;
}
.academy-ecosystem-visual:after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.04) 28%,rgba(0,0,0,.88) 100%);
}
.academy-ecosystem-visual > img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .45s ease;
}
.academy-ecosystem-visual:hover > img { transform:scale(1.025); }
.academy-ecosystem-visual > div {
  position:absolute;
  z-index:2;
  left:30px;
  right:30px;
  bottom:28px;
}
.academy-ecosystem-visual span {
  color:#8ff4e6;
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
}
.academy-ecosystem-visual h3 {
  max-width:580px;
  margin:9px 0 13px;
  color:#fff;
  font-size:34px;
  line-height:1.12;
}
.academy-ecosystem-visual small {
  display:flex;
  align-items:center;
  gap:8px;
  color:rgba(255,255,255,.72);
}
.academy-ecosystem-visual small svg { width:17px; }
.academy-home-cta {
  padding:94px max(24px,calc((100vw - 1080px) / 2));
  text-align:center;
  color:#fff;
  background:#0a0a0a;
}
.academy-home-cta > span { color:var(--academy-teal); font-size:12px; font-weight:850; text-transform:uppercase; }
.academy-home-cta h2 {
  max-width:900px;
  margin:14px auto 28px;
  color:#fff;
  font-size:44px;
  line-height:1.1;
  letter-spacing:0;
}
.academy-home-cta > div { display:flex; align-items:center; justify-content:center; gap:22px; flex-wrap:wrap; }
.academy-home-link {
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#fff;
  font-weight:800;
  border-bottom:1px solid rgba(255,255,255,.42);
}
.academy-home-link svg { width:17px; }
body.academy-public-home > .footer {
  max-width:none;
  margin:0;
  padding:30px max(24px,calc((100vw - 1240px) / 2));
  color:rgba(255,255,255,.55);
  background:#0a0a0a;
  border-top-color:rgba(255,255,255,.12);
}
[data-home-reveal] {
  opacity:0;
  transform:translateY(20px);
  transition:opacity .65s ease,transform .65s ease;
}
[data-home-reveal].is-visible { opacity:1; transform:none; }
@keyframes academyHomeScroll {
  0%,100% { opacity:.25; transform:translateY(0); }
  50% { opacity:1; transform:translateY(9px); }
}
@media (max-width:1050px) {
  .academy-home-hero h1 { font-size:52px; }
  .academy-home-hero-inner { grid-template-columns:minmax(0,1fr) 390px; }
  .academy-home-mia > img { right:-92px; width:490px; }
  .academy-home-mia-message { left:-30px; width:300px; }
  .academy-product-stage { min-height:610px; }
  .academy-method-flow { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .academy-method-flow article:nth-child(2) { border-right:0; }
  .academy-method-flow article:nth-child(-n+2) { border-bottom:1px solid rgba(255,255,255,.16); }
  .academy-emotional-section,
  .academy-ecosystem-section { gap:42px; }
  .academy-emotional-copy h2,
  .academy-ecosystem-copy h2 { font-size:40px; }
}
@media (max-width:840px) {
  body.academy-public-home .public-topbar { grid-template-columns:1fr auto; min-height:68px; padding:6px 16px; }
  body.academy-public-home .public-topbar .brand { grid-column:1; width:176px; min-height:52px; }
  body.academy-public-home .public-topbar .brand .academy-logo { width:168px; max-width:168px; }
  body.academy-public-home .public-topbar .menu-toggle { display:flex; grid-column:2; justify-self:end; color:#fff; background:#1b1b1b; border-color:#343434; }
  body.academy-public-home .public-topbar .nav { grid-column:1 / -1; width:100%; display:none; padding:12px 0 8px; }
  body.academy-public-home .public-topbar .nav.is-open { display:flex; }
  .academy-home-hero { height:auto; min-height:780px; max-height:none; }
  .academy-home-hero-shade { background:linear-gradient(180deg,rgba(4,13,13,.93),rgba(4,14,14,.65) 58%,rgba(4,12,12,.96)); }
  .academy-home-hero-inner { width:min(100% - 32px,700px); grid-template-columns:1fr; align-content:start; gap:0; }
  .academy-home-hero-copy { padding:58px 0 0; }
  .academy-home-hero h1 { font-size:46px; }
  .academy-home-mia { min-height:390px; }
  .academy-home-mia > img { right:-60px; bottom:-94px; width:420px; }
  .academy-home-mia-message { left:0; bottom:42px; width:290px; }
  .academy-home-scroll { display:none; }
  .academy-product-section,
  .academy-method-section { padding:82px 24px; }
  .academy-home-heading h2 { font-size:40px; }
  .academy-product-stage { min-height:880px; margin-top:44px; }
  .academy-product-stage:before { inset:4% 0; }
  .academy-product-shot.is-main { top:0; width:92%; }
  .academy-product-shot.is-experience { top:375px; width:72%; }
  .academy-product-shot.is-skills { right:0; bottom:0; width:42%; }
  .academy-emotional-section,
  .academy-ecosystem-section { width:min(100% - 40px,700px); padding:82px 0; grid-template-columns:1fr; }
  .academy-ecosystem-visual { min-height:430px; }
}
@media (max-width:560px) {
  .academy-home-hero { min-height:735px; }
  .academy-home-hero-inner { position:relative; display:block; }
  .academy-home-hero-copy { padding-top:42px; }
  .academy-home-hero h1 { margin-top:18px; font-size:36px; line-height:1.05; }
  .academy-home-hero-copy > p { font-size:16px; }
  .academy-home-actions { display:grid; }
  .academy-home-btn { width:100%; }
  .academy-home-proof { gap:12px; }
  .academy-home-proof span { width:100%; }
  .academy-home-mia { position:absolute; z-index:1; grid-area:1 / 1; inset:0; width:100%; min-height:0; pointer-events:none; }
  .academy-home-mia > img { top:86px; right:-104px; bottom:auto; width:350px; opacity:.5; filter:saturate(.88) drop-shadow(0 24px 38px rgba(0,0,0,.28)); }
  .academy-home-mia-message { display:none; }
  .academy-home-hero-copy { z-index:3; }
  .academy-home-heading h2,
  .academy-emotional-copy h2,
  .academy-ecosystem-copy h2,
  .academy-home-cta h2 { font-size:32px; }
  .academy-product-stage { min-height:610px; }
  .academy-product-shot figcaption small { display:none; }
  .academy-product-shot.is-main { width:100%; }
  .academy-product-shot.is-experience { top:245px; width:88%; }
  .academy-product-shot.is-skills { width:52%; }
  .academy-emotional-points div { grid-template-columns:1fr; gap:5px; }
  .academy-method-flow { grid-template-columns:1fr; }
  .academy-method-flow article { min-height:230px; border-right:0; border-bottom:1px solid rgba(255,255,255,.16); }
  .academy-method-flow article:last-child { border-bottom:0; }
  .academy-method-flow article > svg { margin-top:34px; }
  .academy-ecosystem-visual { min-height:390px; }
  .academy-ecosystem-visual > div { left:20px; right:20px; bottom:20px; }
  .academy-ecosystem-visual h3 { font-size:27px; }
  .academy-home-cta { padding:72px 20px; }
  .academy-home-cta > div { display:grid; }
}
@media (prefers-reduced-motion:reduce) {
  .academy-home-scroll span:after { animation:none; }
  [data-home-reveal] { opacity:1; transform:none; transition:none; }
  .academy-product-shot,
  .academy-ecosystem-visual > img,
  .academy-home-btn { transition:none; }
}

/* v1.27: catálogo B2B para líderes de talento y desarrollo organizacional. */
body.academy-public-catalog {
  --decision-teal:#2dd4bf;
  --decision-teal-dark:#007564;
  --decision-ink:#0a0a0a;
  --decision-paper:#ffffff;
  --decision-soft:#f3f6f5;
  --decision-line:#dce4e2;
  --decision-warm:#f4c95d;
  color:var(--decision-ink);
  background:var(--decision-paper);
}
body.academy-public-catalog .public-topbar {
  position:relative;
  z-index:40;
  min-height:78px;
  padding:8px max(24px,calc((100vw - 1240px) / 2));
  color:#fff;
  background:#090d0d;
  border-bottom:1px solid rgba(255,255,255,.1);
}
body.academy-public-catalog .public-topbar .brand { min-height:58px; }
body.academy-public-catalog .public-topbar .brand .academy-logo { width:210px; max-width:210px; }
body.academy-public-catalog .public-topbar .nav a { color:rgba(255,255,255,.76); }
body.academy-public-catalog .public-topbar .nav a:hover { color:var(--decision-teal); }
body.academy-public-catalog .public-access-btn { color:#052822; background:var(--decision-teal); border-color:var(--decision-teal); }
body.academy-public-catalog .academy-home-btn.primary {
  color:#052822;
  background:var(--decision-teal);
  border-color:var(--decision-teal);
}
body.academy-public-catalog .academy-home-btn.primary:hover { background:#5ae4d1; border-color:#5ae4d1; }
.decision-catalog { overflow:hidden; background:#fff; }
.decision-hero {
  position:relative;
  min-height:760px;
  display:grid;
  align-items:stretch;
  overflow:hidden;
  color:#fff;
  background:#071110;
}
.decision-hero-bg {
  position:absolute;
  z-index:0;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.decision-hero-shade { position:absolute; z-index:1; inset:0; background:rgba(3,12,12,.73); }
.decision-hero-inner {
  position:relative;
  z-index:2;
  width:min(1240px,calc(100% - 48px));
  min-height:100%;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr);
  align-items:center;
  gap:54px;
  padding:72px 0 58px;
}
.decision-hero-copy { position:relative; z-index:3; max-width:770px; }
.decision-kicker {
  display:inline-flex;
  align-items:center;
  gap:9px;
  color:#8ff4e6;
  font-size:12px;
  font-weight:850;
  text-transform:uppercase;
}
.decision-kicker svg { width:18px; height:18px; }
.decision-kicker.dark { color:var(--decision-teal-dark); }
.decision-hero h1 {
  max-width:780px;
  margin:22px 0 24px;
  color:#fff;
  font-size:64px;
  line-height:1.01;
  letter-spacing:0;
}
.decision-hero-copy > p {
  max-width:690px;
  margin:0;
  color:rgba(255,255,255,.78);
  font-size:19px;
  line-height:1.62;
}
.decision-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.decision-audience {
  display:flex;
  flex-wrap:wrap;
  gap:10px 18px;
  margin-top:28px;
  padding-top:20px;
  border-top:1px solid rgba(255,255,255,.2);
}
.decision-audience span { color:rgba(255,255,255,.72); font-size:12px; font-weight:750; }
.decision-audience span:before { content:""; width:6px; height:6px; display:inline-block; margin-right:8px; border-radius:50%; background:var(--decision-teal); }
.decision-hero-mia { position:relative; align-self:end; min-height:640px; }
.decision-hero-mia > img {
  position:absolute;
  right:-84px;
  bottom:-76px;
  width:590px;
  max-width:none;
  filter:drop-shadow(0 28px 52px rgba(0,0,0,.42));
}
.decision-mia-prompt {
  position:absolute;
  z-index:3;
  left:-72px;
  bottom:74px;
  width:350px;
  padding:18px;
  border:1px solid rgba(143,244,230,.5);
  border-radius:8px;
  background:rgba(6,27,26,.9);
  box-shadow:0 22px 54px rgba(0,0,0,.34);
  backdrop-filter:blur(18px);
}
.decision-mia-prompt > span { display:flex; align-items:center; gap:7px; color:#8ff4e6; font-size:11px; font-weight:850; text-transform:uppercase; }
.decision-mia-prompt > span svg { width:16px; }
.decision-mia-prompt strong { display:block; margin:9px 0 6px; color:#fff; font-size:22px; line-height:1.16; transition:opacity .2s ease,transform .2s ease; }
.decision-mia-prompt strong.is-changing { opacity:0; transform:translateY(5px); }
.decision-mia-prompt p { margin:0; color:rgba(255,255,255,.7); font-size:13px; line-height:1.5; }
.decision-signal-band {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  color:#fff;
  background:#0a0a0a;
  border-top:1px solid rgba(255,255,255,.12);
  border-bottom:1px solid rgba(255,255,255,.12);
}
.decision-signal-band article {
  min-height:170px;
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  align-content:center;
  gap:12px;
  padding:30px max(24px,calc((100vw - 1240px) / 8));
  border-right:1px solid rgba(255,255,255,.12);
}
.decision-signal-band article:last-child { border-right:0; }
.decision-signal-band svg { width:30px; color:var(--decision-teal); }
.decision-signal-band strong,.decision-signal-band span { display:block; }
.decision-signal-band strong { margin-bottom:6px; font-size:15px; }
.decision-signal-band span { color:rgba(255,255,255,.6); font-size:12px; line-height:1.5; }
.decision-experience {
  width:min(1240px,calc(100% - 48px));
  margin:0 auto;
  padding:112px 0;
  display:grid;
  grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);
  align-items:center;
  gap:70px;
}
.decision-experience-media {
  position:relative;
  min-height:620px;
  display:block;
  overflow:hidden;
  border-radius:8px;
  color:#fff;
  background:#0b1817;
}
.decision-experience-media:after { content:""; position:absolute; inset:0; background:rgba(4,17,16,.18); transition:background .24s ease; }
.decision-experience-media:hover:after { background:rgba(4,17,16,.05); }
.decision-experience-media > img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .55s ease; }
.decision-experience-media:hover > img { transform:scale(1.025); }
.decision-experience-media > span {
  position:absolute;
  z-index:2;
  top:20px;
  left:20px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:38px;
  padding:0 12px;
  border-radius:6px;
  color:#072822;
  background:var(--decision-teal);
  font-size:12px;
  font-weight:850;
}
.decision-experience-media > span svg { width:16px; }
.decision-experience-media > div {
  position:absolute;
  z-index:2;
  right:20px;
  bottom:20px;
  width:150px;
  padding:16px;
  border:1px solid rgba(255,255,255,.25);
  border-radius:8px;
  background:rgba(8,17,17,.82);
  backdrop-filter:blur(14px);
}
.decision-experience-media > div strong,.decision-experience-media > div small { display:block; }
.decision-experience-media > div strong { color:var(--decision-teal); font-size:34px; line-height:1; }
.decision-experience-media > div small { margin-top:5px; color:rgba(255,255,255,.72); font-size:11px; }
.decision-experience-copy h2,.decision-mia-copy h2 {
  margin:15px 0 20px;
  color:var(--decision-ink);
  font-size:48px;
  line-height:1.07;
  letter-spacing:0;
}
.decision-experience-copy > p,.decision-mia-copy > p { margin:0; color:#596261; font-size:17px; line-height:1.68; }
.decision-outcomes { margin-top:28px; border-top:1px solid var(--decision-line); }
.decision-outcomes > div { display:grid; grid-template-columns:38px 1fr; gap:2px 12px; padding:17px 0; border-bottom:1px solid var(--decision-line); }
.decision-outcomes span { grid-row:1 / span 2; width:32px; height:32px; display:grid; place-items:center; border:1px solid #9bbcb7; border-radius:50%; color:var(--decision-teal-dark); font-size:11px; font-weight:850; }
.decision-outcomes strong { color:#101616; font-size:15px; }
.decision-outcomes small { color:#687170; font-size:12px; line-height:1.45; }
.decision-mia-section {
  min-height:720px;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(420px,.9fr);
  align-items:center;
  gap:70px;
  padding:100px max(24px,calc((100vw - 1240px) / 2));
  overflow:hidden;
  color:#fff;
  background:#0a0f0f;
}
.decision-mia-copy { position:relative; z-index:3; }
.decision-mia-copy h2 { color:#fff; }
.decision-mia-copy > p { color:rgba(255,255,255,.68); }
.decision-mia-list { display:grid; gap:0; margin-top:30px; border-top:1px solid rgba(255,255,255,.14); }
.decision-mia-list span { display:flex; align-items:center; gap:11px; padding:16px 0; border-bottom:1px solid rgba(255,255,255,.14); color:rgba(255,255,255,.84); font-size:14px; font-weight:700; }
.decision-mia-list svg { width:20px; color:var(--decision-teal); }
.decision-mia-visual { position:relative; min-height:590px; }
.decision-mia-visual > img { position:absolute; z-index:2; right:-24px; bottom:-100px; width:590px; max-width:none; filter:drop-shadow(0 26px 52px rgba(0,0,0,.5)); }
.decision-orbit { position:absolute; z-index:1; border:1px solid rgba(45,212,191,.32); border-radius:50%; animation:decisionOrbitPulse 4s ease-in-out infinite; }
.decision-orbit:after { content:""; position:absolute; width:9px; height:9px; border-radius:50%; background:var(--decision-teal); box-shadow:0 0 18px rgba(45,212,191,.8); }
.decision-orbit.orbit-a { width:430px; height:430px; right:20px; top:60px; }
.decision-orbit.orbit-a:after { right:35px; top:74px; }
.decision-orbit.orbit-b { width:330px; height:330px; right:70px; top:110px; animation-delay:-2s; }
.decision-orbit.orbit-b:after { left:24px; bottom:82px; background:var(--decision-warm); box-shadow:0 0 18px rgba(244,201,93,.65); }
.decision-mia-note { position:absolute; z-index:4; left:-20px; bottom:30px; width:285px; padding:17px; border:1px solid rgba(45,212,191,.45); border-radius:8px; background:rgba(9,29,28,.9); backdrop-filter:blur(15px); }
.decision-mia-note span,.decision-mia-note strong { display:block; }
.decision-mia-note span { color:#8ff4e6; font-size:10px; font-weight:850; text-transform:uppercase; }
.decision-mia-note strong { margin-top:7px; color:#fff; font-size:18px; line-height:1.25; }
.decision-evidence { padding:110px max(24px,calc((100vw - 1240px) / 2)); color:#fff; background:#101616; }
.decision-evidence > header { max-width:850px; margin-bottom:54px; }
.decision-evidence > header > span,.decision-architecture > header > span { color:#8ff4e6; font-size:12px; font-weight:850; text-transform:uppercase; }
.decision-evidence > header h2,.decision-architecture > header h2 { margin:13px 0 18px; color:#fff; font-size:48px; line-height:1.08; letter-spacing:0; }
.decision-evidence > header p,.decision-architecture > header p { max-width:730px; margin:0; color:rgba(255,255,255,.62); font-size:17px; line-height:1.65; }
.decision-evidence-flow { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border:1px solid rgba(255,255,255,.15); border-radius:8px; }
.decision-evidence-flow article { position:relative; min-height:310px; padding:28px; border-right:1px solid rgba(255,255,255,.15); }
.decision-evidence-flow article:last-child { border-right:0; }
.decision-evidence-flow article > span { color:rgba(255,255,255,.35); font-size:12px; font-weight:850; }
.decision-evidence-flow article > svg { width:34px; height:34px; display:block; margin-top:70px; color:var(--decision-teal); }
.decision-evidence-flow h3 { margin:18px 0 10px; color:#fff; font-size:21px; }
.decision-evidence-flow p { margin:0; color:rgba(255,255,255,.58); font-size:13px; line-height:1.55; }
.decision-architecture { padding:112px max(24px,calc((100vw - 1240px) / 2)); background:#fff; }
.decision-architecture > header { max-width:850px; margin-bottom:58px; }
.decision-architecture > header > span { color:var(--decision-teal-dark); }
.decision-architecture > header h2 { color:var(--decision-ink); }
.decision-architecture > header p { color:#5c6564; }
.decision-school { border-top:2px solid var(--decision-ink); border-bottom:1px solid var(--decision-line); }
.decision-school + .decision-school { margin-top:66px; }
.decision-school-head { display:grid; grid-template-columns:60px minmax(0,1fr) 140px; align-items:start; gap:22px; padding:28px 0; }
.decision-school-head > span { width:54px; height:54px; display:grid; place-items:center; border-radius:50%; color:#052822; background:var(--decision-teal); font-size:11px; font-weight:900; }
.decision-school-head small { color:#687170; font-size:11px; font-weight:800; text-transform:uppercase; }
.decision-school-head h3 { margin:5px 0 8px; color:#101515; font-size:30px; line-height:1.1; }
.decision-school-head p { max-width:720px; margin:0; color:#66706f; font-size:14px; line-height:1.55; }
.decision-school-head > div:last-child { padding-left:20px; border-left:1px solid var(--decision-line); }
.decision-school-head > div:last-child strong,.decision-school-head > div:last-child small { display:block; }
.decision-school-head > div:last-child strong { color:var(--decision-teal-dark); font-size:34px; line-height:1; }
.decision-ecosystem-row { display:grid; grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr); gap:54px; padding:38px 0; border-top:1px solid var(--decision-line); }
.decision-ecosystem-row > div:first-child small { color:var(--decision-teal-dark); font-size:11px; font-weight:850; text-transform:uppercase; }
.decision-ecosystem-row h4 { margin:8px 0 12px; color:#101515; font-size:27px; line-height:1.14; }
.decision-ecosystem-row p { margin:0; color:#66706f; font-size:14px; line-height:1.6; }
.decision-course-list { display:grid; }
.decision-course-list a { position:relative; display:grid; gap:6px; padding:18px 48px 18px 0; color:#101515; border-bottom:1px solid var(--decision-line); }
.decision-course-list a:first-child { border-top:1px solid var(--decision-line); }
.decision-course-list a > span { display:flex; align-items:center; gap:7px; color:var(--decision-teal-dark); font-size:10px; font-weight:850; text-transform:uppercase; }
.decision-course-list a > span svg { width:15px; }
.decision-course-list a > strong { font-size:18px; line-height:1.25; }
.decision-course-list a > small { color:#727a79; font-size:12px; }
.decision-course-list a > svg { position:absolute; right:4px; top:50%; width:22px; color:var(--decision-teal-dark); transform:translateY(-50%); transition:transform .2s ease; }
.decision-course-list a:hover > svg { transform:translate(4px,-50%); }
.decision-cta { padding:100px max(24px,calc((100vw - 1040px) / 2)); text-align:center; color:#fff; background:#090d0d; }
.decision-cta > span { color:#8ff4e6; font-size:12px; font-weight:850; text-transform:uppercase; }
.decision-cta h2 { margin:14px auto 18px; max-width:930px; color:#fff; font-size:48px; line-height:1.08; letter-spacing:0; }
.decision-cta p { max-width:660px; margin:0 auto; color:rgba(255,255,255,.62); font-size:17px; line-height:1.6; }
.decision-cta > div { display:flex; justify-content:center; align-items:center; gap:22px; margin-top:30px; }
.decision-text-link { display:inline-flex; align-items:center; gap:8px; color:#fff; font-size:14px; font-weight:800; }
.decision-text-link svg { width:18px; color:var(--decision-teal); }
body.academy-public-catalog > .footer { max-width:none; margin:0; padding:30px max(24px,calc((100vw - 1240px) / 2)); color:rgba(255,255,255,.55); background:#0a0a0a; border-top-color:rgba(255,255,255,.12); }
[data-catalog-reveal] { opacity:0; transform:translateY(20px); transition:opacity .65s ease,transform .65s ease; }
[data-catalog-reveal].is-visible { opacity:1; transform:none; }
@keyframes decisionOrbitPulse { 0%,100% { opacity:.45; transform:scale(.98); } 50% { opacity:1; transform:scale(1.02); } }
@media (max-width:1080px) {
  .decision-hero-inner { grid-template-columns:minmax(0,1fr) 390px; }
  .decision-hero h1 { font-size:52px; }
  .decision-hero-mia > img { right:-125px; width:540px; }
  .decision-mia-prompt { left:-60px; width:310px; }
  .decision-signal-band { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .decision-signal-band article:nth-child(2) { border-right:0; }
  .decision-signal-band article:nth-child(-n+2) { border-bottom:1px solid rgba(255,255,255,.12); }
  .decision-experience,.decision-mia-section { gap:44px; }
  .decision-experience-copy h2,.decision-mia-copy h2 { font-size:40px; }
  .decision-evidence-flow { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .decision-evidence-flow article:nth-child(2) { border-right:0; }
  .decision-evidence-flow article:nth-child(-n+2) { border-bottom:1px solid rgba(255,255,255,.15); }
}
@media (max-width:840px) {
  body.academy-public-catalog .public-topbar { grid-template-columns:1fr auto; min-height:68px; padding:6px 16px; }
  body.academy-public-catalog .public-topbar .brand { grid-column:1; width:176px; min-height:52px; }
  body.academy-public-catalog .public-topbar .brand .academy-logo { width:168px; max-width:168px; }
  body.academy-public-catalog .public-topbar .menu-toggle { display:flex; grid-column:2; justify-self:end; color:#fff; background:#1b1b1b; border-color:#343434; }
  body.academy-public-catalog .public-topbar .nav { grid-column:1 / -1; width:100%; display:none; padding:12px 0 8px; }
  body.academy-public-catalog .public-topbar .nav.is-open { display:flex; }
  .decision-hero { min-height:820px; }
  .decision-hero-inner { width:min(100% - 32px,700px); grid-template-columns:1fr; align-content:start; gap:0; padding-top:84px; }
  .decision-hero-copy { z-index:4; }
  .decision-hero h1 { font-size:46px; }
  .decision-hero-mia { position:absolute; z-index:2; inset:0; pointer-events:none; }
  .decision-hero-mia > img { right:-100px; bottom:-130px; width:470px; opacity:.62; }
  .decision-mia-prompt { display:none; }
  .decision-experience { width:min(100% - 40px,700px); padding:82px 0; grid-template-columns:1fr; }
  .decision-experience-media { min-height:470px; }
  .decision-mia-section { grid-template-columns:1fr; padding:82px max(20px,calc((100vw - 700px) / 2)); }
  .decision-mia-visual { min-height:470px; }
  .decision-evidence,.decision-architecture { padding:82px 24px; }
  .decision-evidence > header h2,.decision-architecture > header h2,.decision-cta h2 { font-size:40px; }
  .decision-school-head { grid-template-columns:60px minmax(0,1fr); }
  .decision-school-head > div:last-child { grid-column:2; padding:0; border-left:0; }
  .decision-ecosystem-row { grid-template-columns:1fr; gap:28px; }
}
@media (max-width:560px) {
  .decision-hero { min-height:760px; }
  .decision-hero-inner { display:block; padding-top:54px; }
  .decision-hero h1 { margin-top:18px; font-size:37px; }
  .decision-hero-copy > p { font-size:16px; }
  .decision-actions { display:grid; }
  .decision-actions .academy-home-btn { width:100%; }
  .decision-audience { gap:10px; }
  .decision-audience span { width:100%; }
  .decision-hero-mia > img { right:-110px; bottom:-90px; width:370px; opacity:.5; }
  .decision-signal-band { grid-template-columns:1fr; }
  .decision-signal-band article { min-height:130px; border-right:0; border-bottom:1px solid rgba(255,255,255,.12); }
  .decision-signal-band article:last-child { border-bottom:0; }
  .decision-experience-media { min-height:390px; }
  .decision-experience-copy h2,.decision-mia-copy h2,.decision-evidence > header h2,.decision-architecture > header h2,.decision-cta h2 { font-size:32px; }
  .decision-mia-section { min-height:auto; }
  .decision-mia-visual { min-height:400px; }
  .decision-mia-visual > img { right:-115px; bottom:-78px; width:470px; }
  .decision-orbit.orbit-a { width:320px; height:320px; right:-35px; }
  .decision-orbit.orbit-b { width:240px; height:240px; right:5px; }
  .decision-mia-note { left:0; bottom:10px; width:250px; }
  .decision-evidence-flow { grid-template-columns:1fr; }
  .decision-evidence-flow article { min-height:250px; border-right:0; border-bottom:1px solid rgba(255,255,255,.15); }
  .decision-evidence-flow article:last-child { border-bottom:0; }
  .decision-evidence-flow article > svg { margin-top:34px; }
  .decision-school-head { grid-template-columns:1fr; }
  .decision-school-head > div:last-child { grid-column:auto; }
  .decision-cta { padding:72px 20px; }
  .decision-cta > div { display:grid; }
}
@media (prefers-reduced-motion:reduce) {
  [data-catalog-reveal] { opacity:1; transform:none; transition:none; }
  .decision-orbit { animation:none; }
  .decision-experience-media > img,.decision-course-list a > svg { transition:none; }
}

/* v1.28: perfil funcional, avatares profesionales y temas con identidad. */
body.student-profile-page .app-content { padding:clamp(18px,2.5vw,38px); }
.student-profile { width:min(1240px,100%); margin:0 auto; display:grid; gap:22px; }
.profile-identity {
  min-height:260px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) minmax(370px,.72fr);
  align-items:center;
  gap:30px;
  padding:34px;
  overflow:hidden;
  border:1px solid var(--app-line);
  border-radius:8px;
  color:var(--app-text);
  background:linear-gradient(120deg,color-mix(in srgb,var(--brand) 14%,var(--app-panel)),var(--app-panel) 48%,var(--app-panel-2));
  box-shadow:0 24px 70px rgba(0,0,0,.18);
}
.profile-identity-avatar { position:relative; width:148px; height:148px; display:grid; place-items:center; border:2px solid color-mix(in srgb,var(--brand) 72%,#fff); border-radius:50%; background:var(--app-panel-2); box-shadow:0 0 0 9px color-mix(in srgb,var(--brand) 11%,transparent),0 24px 46px rgba(0,0,0,.22); overflow:visible; }
.profile-identity-avatar img,.profile-avatar-stage-image img { width:100%; height:100%; display:block; object-fit:cover; border-radius:inherit; }
.profile-identity-avatar > span { font-size:62px; font-weight:900; color:var(--brand); }
.profile-identity-avatar > svg { position:absolute; right:2px; bottom:7px; width:34px; height:34px; padding:8px; border-radius:50%; color:#06231f; background:var(--brand); box-shadow:0 8px 18px rgba(0,0,0,.26); }
.profile-eyebrow { display:flex; align-items:center; gap:8px; color:var(--brand); font-size:12px; font-weight:900; text-transform:uppercase; }
.profile-eyebrow svg { width:17px; }
.profile-identity-copy h1 { margin:12px 0 8px; color:var(--app-text); font-size:clamp(38px,5vw,64px); line-height:1; }
.profile-identity-copy > p { margin:0; color:var(--app-muted); font-size:15px; }
.profile-identity-meta { display:flex; gap:10px; flex-wrap:wrap; margin-top:20px; }
.profile-identity-meta span { min-height:34px; display:flex; align-items:center; gap:7px; padding:0 11px; border:1px solid var(--app-line); border-radius:6px; color:var(--app-text); background:color-mix(in srgb,var(--app-panel-2) 84%,transparent); font-size:12px; font-weight:800; }
.profile-identity-meta svg { width:15px; color:var(--brand); }
.profile-identity-stats { display:grid; grid-template-columns:95px 95px minmax(170px,1fr); border:1px solid var(--app-line); border-radius:8px; background:color-mix(in srgb,var(--app-panel-2) 86%,transparent); }
.profile-identity-stats article { min-width:0; padding:23px 7px; text-align:center; border-right:1px solid var(--app-line); }
.profile-identity-stats article:last-child { border-right:0; }
.profile-identity-stats strong,.profile-identity-stats span { display:block; overflow-wrap:anywhere; }
.profile-identity-stats strong { color:var(--brand); font-size:clamp(20px,2vw,30px); line-height:1; }
.profile-identity-stats article:last-child strong { font-size:18px; white-space:nowrap; }
.profile-identity-stats span { margin-top:8px; color:var(--app-muted); font-size:10px; font-weight:800; text-transform:uppercase; }
.profile-feedback { min-height:54px; display:flex; align-items:center; gap:10px; padding:12px 16px; border:1px solid; border-radius:7px; font-weight:800; }
.profile-feedback svg { width:20px; }
.profile-feedback.success { color:color-mix(in srgb,var(--brand) 72%,var(--app-text)); border-color:color-mix(in srgb,var(--brand) 42%,var(--app-line)); background:color-mix(in srgb,var(--brand) 10%,var(--app-panel)); }
.profile-feedback.error { color:#ffb9c0; border-color:rgba(255,100,120,.38); background:rgba(125,24,43,.24); }
.profile-workspace { display:grid; grid-template-columns:245px minmax(0,1fr); gap:22px; align-items:start; }
.profile-section-nav { position:sticky; top:98px; display:grid; gap:5px; padding:12px; border:1px solid var(--app-line); border-radius:8px; background:color-mix(in srgb,var(--app-panel) 96%,transparent); box-shadow:0 18px 46px rgba(0,0,0,.12); }
.profile-section-nav > span { padding:8px 10px 11px; color:var(--app-muted); font-size:11px; font-weight:900; text-transform:uppercase; }
.profile-section-nav a { min-height:66px; display:grid; grid-template-columns:28px minmax(0,1fr); grid-template-rows:auto auto; column-gap:10px; align-content:center; padding:9px 10px; border:1px solid transparent; border-radius:6px; color:var(--app-text); }
.profile-section-nav a:hover,.profile-section-nav a:focus,.profile-section-nav a.active { border-color:color-mix(in srgb,var(--brand) 34%,var(--app-line)); background:color-mix(in srgb,var(--brand) 9%,var(--app-panel-2)); }
.profile-section-nav svg { grid-row:1 / 3; width:20px; align-self:center; color:var(--brand); }
.profile-section-nav b { font-size:13px; }
.profile-section-nav small { margin-top:3px; color:var(--app-muted); font-size:10px; line-height:1.25; }
.profile-sections,.profile-settings-form { display:grid; gap:22px; }
.profile-section { scroll-margin-top:96px; padding:28px; border:1px solid var(--app-line); border-radius:8px; color:var(--app-text); background:color-mix(in srgb,var(--app-panel) 96%,transparent); box-shadow:0 18px 48px rgba(0,0,0,.12); }
.profile-section-heading { display:grid; grid-template-columns:48px minmax(0,1fr); gap:14px; align-items:start; margin-bottom:26px; padding-bottom:20px; border-bottom:1px solid var(--app-line); }
.profile-section-heading > span { width:48px; height:48px; display:grid; place-items:center; border:1px solid color-mix(in srgb,var(--brand) 40%,var(--app-line)); border-radius:7px; color:var(--brand); background:color-mix(in srgb,var(--brand) 10%,var(--app-panel-2)); }
.profile-section-heading > span svg { width:22px; }
.profile-section-heading small { color:var(--brand); font-size:10px; font-weight:900; text-transform:uppercase; }
.profile-section-heading h2 { margin:4px 0 5px; color:var(--app-text); font-size:28px; line-height:1.1; }
.profile-section-heading p { margin:0; color:var(--app-muted); font-size:14px; line-height:1.55; }
.profile-field-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.profile-field-grid label,.profile-password-form > label { display:grid; gap:8px; color:var(--app-text); font-size:13px; font-weight:850; }
.profile-field-grid label > small,.profile-password-form label > small { color:var(--app-muted); font-size:11px; font-weight:600; line-height:1.4; }
.profile-field-grid input,.profile-field-grid select,.profile-password-field input { width:100%; min-height:48px; padding:0 13px; border:1px solid var(--app-line); border-radius:6px; outline:none; color:var(--app-text); background:var(--app-panel-2); font:inherit; }
.profile-field-grid input:focus,.profile-field-grid select:focus,.profile-password-field input:focus { border-color:var(--brand); box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 15%,transparent); }
.profile-readonly-field { grid-column:1 / -1; }
.profile-readonly-field input { opacity:.7; cursor:not-allowed; }
.profile-avatar-studio { display:grid; grid-template-columns:190px minmax(0,1fr); gap:26px; align-items:start; }
.profile-avatar-stage { position:sticky; top:104px; display:grid; justify-items:center; gap:7px; padding:18px; border-right:1px solid var(--app-line); }
.profile-avatar-stage-image { width:136px; height:136px; display:grid; place-items:center; border:2px solid var(--brand); border-radius:50%; overflow:hidden; background:var(--app-panel-2); box-shadow:0 0 0 8px color-mix(in srgb,var(--brand) 10%,transparent); }
.profile-avatar-stage-image span { color:var(--brand); font-size:54px; font-weight:900; }
.profile-avatar-stage > strong { margin-top:11px; }
.profile-avatar-stage > small { color:var(--app-muted); text-align:center; }
.profile-text-action { display:inline-flex; align-items:center; gap:6px; margin-top:8px; padding:0; border:0; color:var(--brand); background:none; font:inherit; font-size:11px; font-weight:850; cursor:pointer; }
.profile-text-action svg { width:14px; }
.profile-avatar-library { display:grid; gap:20px; }
.profile-avatar-group { display:grid; gap:10px; }
.profile-avatar-group > div:first-child { display:flex; justify-content:space-between; gap:10px; align-items:end; }
.profile-avatar-group > div:first-child strong { font-size:14px; }
.profile-avatar-group > div:first-child span { color:var(--app-muted); font-size:10px; }
.profile-avatar-options { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; }
.profile-avatar-option { position:relative; min-width:0; display:grid; justify-items:center; gap:4px; padding:9px 7px 10px; border:1px solid var(--app-line); border-radius:7px; color:var(--app-text); background:var(--app-panel-2); font:inherit; cursor:pointer; transition:transform .18s ease,border-color .18s ease,background .18s ease; }
.profile-avatar-option:hover { transform:translateY(-2px); border-color:color-mix(in srgb,var(--brand) 52%,var(--app-line)); }
.profile-avatar-option.active { border-color:var(--brand); background:color-mix(in srgb,var(--brand) 11%,var(--app-panel-2)); box-shadow:0 0 0 2px color-mix(in srgb,var(--brand) 14%,transparent); }
.profile-avatar-option > span { width:74px; height:74px; overflow:hidden; border-radius:50%; border:1px solid var(--app-line); background:var(--app-panel); }
.profile-avatar-option img { width:100%; height:100%; object-fit:cover; }
.profile-avatar-option b { max-width:100%; overflow:hidden; text-overflow:ellipsis; font-size:11px; }
.profile-avatar-option small { color:var(--app-muted); font-size:9px; }
.profile-avatar-option > svg { position:absolute; right:6px; top:6px; width:19px; height:19px; padding:4px; border-radius:50%; color:#06231f; background:var(--brand); opacity:0; }
.profile-avatar-option.active > svg { opacity:1; }
.profile-upload-control { min-height:72px; display:grid; grid-template-columns:42px minmax(0,1fr) auto; gap:12px; align-items:center; padding:12px; border:1px dashed color-mix(in srgb,var(--brand) 48%,var(--app-line)); border-radius:7px; color:var(--app-text); background:color-mix(in srgb,var(--brand) 5%,var(--app-panel-2)); cursor:pointer; }
.profile-upload-control > span { width:42px; height:42px; display:grid; place-items:center; border-radius:6px; color:var(--brand); background:color-mix(in srgb,var(--brand) 11%,var(--app-panel)); }
.profile-upload-control svg { width:19px; }
.profile-upload-control strong,.profile-upload-control small { display:block; }
.profile-upload-control small { margin-top:4px; color:var(--app-muted); font-size:10px; }
.profile-upload-control > b { min-height:34px; display:flex; align-items:center; padding:0 11px; border:1px solid var(--app-line); border-radius:5px; font-size:10px; }
.profile-upload-control input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.profile-theme-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.profile-theme-options button { min-height:96px; display:grid; grid-template-columns:64px minmax(0,1fr) 22px; gap:13px; align-items:center; padding:14px; border:1px solid var(--app-line); border-radius:7px; color:var(--app-text); background:var(--app-panel-2); font:inherit; text-align:left; cursor:pointer; transition:border-color .18s ease,transform .18s ease; }
.profile-theme-options button:hover { transform:translateY(-2px); border-color:color-mix(in srgb,var(--brand) 50%,var(--app-line)); }
.profile-theme-options button.active { border-color:var(--brand); box-shadow:inset 3px 0 0 var(--brand),0 0 0 2px color-mix(in srgb,var(--brand) 10%,transparent); }
.profile-theme-options button > span:nth-child(2) strong,.profile-theme-options button > span:nth-child(2) small { display:block; }
.profile-theme-options button > span:nth-child(2) small { margin-top:5px; color:var(--app-muted); font-size:10px; line-height:1.35; }
.profile-theme-options button > svg { width:20px; color:var(--brand); opacity:.2; }
.profile-theme-options button.active > svg { opacity:1; }
.profile-theme-swatch { width:64px; height:54px; display:grid; grid-template-columns:repeat(3,1fr); overflow:hidden; border:1px solid rgba(255,255,255,.15); border-radius:6px; }
.profile-theme-swatch i { display:block; }
.profile-theme-options [data-theme-choice="neo-pop"] .profile-theme-swatch i:nth-child(1) { background:#25f4d0; }.profile-theme-options [data-theme-choice="neo-pop"] .profile-theme-swatch i:nth-child(2) { background:#ff4fcd; }.profile-theme-options [data-theme-choice="neo-pop"] .profile-theme-swatch i:nth-child(3) { background:#24143f; }
.profile-theme-options [data-theme-choice="pixel"] .profile-theme-swatch i:nth-child(1) { background:#68e1fd; }.profile-theme-options [data-theme-choice="pixel"] .profile-theme-swatch i:nth-child(2) { background:#ff5c8a; }.profile-theme-options [data-theme-choice="pixel"] .profile-theme-swatch i:nth-child(3) { background:#0b2a48; }
.profile-theme-options [data-theme-choice="candy"] .profile-theme-swatch i:nth-child(1) { background:#ff69c8; }.profile-theme-options [data-theme-choice="candy"] .profile-theme-swatch i:nth-child(2) { background:#8ed8ff; }.profile-theme-options [data-theme-choice="candy"] .profile-theme-swatch i:nth-child(3) { background:#fff1a8; }
.profile-theme-options [data-theme-choice="solar"] .profile-theme-swatch i:nth-child(1) { background:#35d888; }.profile-theme-options [data-theme-choice="solar"] .profile-theme-swatch i:nth-child(2) { background:#14c8b6; }.profile-theme-options [data-theme-choice="solar"] .profile-theme-swatch i:nth-child(3) { background:#ffd166; }
.profile-theme-options [data-theme-choice="cosmic"] .profile-theme-swatch i:nth-child(1) { background:#b892ff; }.profile-theme-options [data-theme-choice="cosmic"] .profile-theme-swatch i:nth-child(2) { background:#8ef6ff; }.profile-theme-options [data-theme-choice="cosmic"] .profile-theme-swatch i:nth-child(3) { background:#201242; }
.profile-save-bar { min-height:72px; display:flex; align-items:center; justify-content:space-between; gap:18px; padding:12px 14px 12px 18px; border:1px solid color-mix(in srgb,var(--brand) 34%,var(--app-line)); border-radius:8px; color:var(--app-text); background:color-mix(in srgb,var(--app-panel) 94%,transparent); box-shadow:0 18px 46px rgba(0,0,0,.18); }
.profile-save-bar > div { display:flex; align-items:center; gap:9px; color:var(--app-muted); font-size:11px; }
.profile-save-bar svg { width:17px; color:var(--brand); }
.profile-save-bar .btn,.profile-password-actions .btn,.profile-certificate-callout .btn { gap:8px; color:#06231f; background:var(--brand); }
.profile-password-form { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.profile-password-field { position:relative; }
.profile-password-field input { padding-right:45px; }
.profile-password-field button { position:absolute; top:5px; right:5px; width:38px; height:38px; display:grid; place-items:center; border:0; border-radius:5px; color:var(--app-muted); background:transparent; cursor:pointer; }
.profile-password-field button:hover { color:var(--brand); background:color-mix(in srgb,var(--brand) 8%,var(--app-panel)); }
.profile-password-field svg { width:17px; }
.profile-password-actions { grid-column:1 / -1; display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:6px; padding-top:18px; border-top:1px solid var(--app-line); }
.profile-password-actions > span { display:flex; align-items:center; gap:8px; color:var(--app-muted); font-size:11px; }
.profile-password-actions > span svg { width:16px; color:var(--brand); }
.profile-certificate-callout { display:grid; grid-template-columns:56px minmax(0,1fr) auto; gap:18px; align-items:center; padding:26px; border:1px solid color-mix(in srgb,var(--brand) 30%,var(--app-line)); border-radius:8px; color:var(--app-text); background:linear-gradient(110deg,color-mix(in srgb,var(--brand) 12%,var(--app-panel)),var(--app-panel)); }
.profile-certificate-callout > span { width:56px; height:56px; display:grid; place-items:center; border-radius:50%; color:#06231f; background:var(--brand); }
.profile-certificate-callout > span svg { width:27px; }
.profile-certificate-callout small { color:var(--brand); font-size:10px; font-weight:900; text-transform:uppercase; }
.profile-certificate-callout h2 { margin:4px 0; color:var(--app-text); font-size:25px; }
.profile-certificate-callout p { margin:0; color:var(--app-muted); font-size:12px; }

@media (max-width:1120px) {
  .profile-identity { grid-template-columns:auto minmax(0,1fr); }
  .profile-identity-stats { grid-column:1 / -1; }
  .profile-workspace { grid-template-columns:1fr; }
  .profile-section-nav { position:static; grid-template-columns:repeat(5,minmax(0,1fr)); }
  .profile-section-nav > span { display:none; }
  .profile-section-nav a { min-height:74px; grid-template-columns:1fr; justify-items:center; text-align:center; }
  .profile-section-nav svg { grid-row:auto; }
  .profile-section-nav small { display:none; }
}
@media (max-width:780px) {
  body.student-profile-page .app-content { padding:12px; }
  .profile-identity { grid-template-columns:1fr; justify-items:start; padding:24px 20px; }
  .profile-identity-avatar { width:112px; height:112px; }
  .profile-identity-stats { width:100%; grid-template-columns:repeat(3,minmax(0,1fr)); }
  .profile-section-nav { grid-template-columns:repeat(3,minmax(0,1fr)); overflow:visible; }
  .profile-section { padding:20px 16px; }
  .profile-field-grid,.profile-theme-options,.profile-password-form { grid-template-columns:1fr; }
  .profile-readonly-field { grid-column:auto; }
  .profile-avatar-studio { grid-template-columns:1fr; }
  .profile-avatar-stage { position:static; border-right:0; border-bottom:1px solid var(--app-line); }
  .profile-avatar-options { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .profile-password-actions { grid-column:auto; align-items:stretch; flex-direction:column; }
  .profile-certificate-callout { grid-template-columns:56px minmax(0,1fr); }
  .profile-certificate-callout .btn { grid-column:1 / -1; }
}
@media (max-width:520px) {
  .profile-identity-copy h1 { font-size:36px; }
  .profile-identity-copy > p { overflow-wrap:anywhere; }
  .profile-identity-stats { grid-template-columns:1fr; }
  .profile-identity-stats article { display:flex; align-items:center; justify-content:space-between; border-right:0; border-bottom:1px solid var(--app-line); text-align:left; }
  .profile-identity-stats article:last-child { border-bottom:0; }
  .profile-identity-stats span { margin:0; }
  .profile-section-nav { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .profile-section-heading { grid-template-columns:40px minmax(0,1fr); }
  .profile-section-heading > span { width:40px; height:40px; }
  .profile-section-heading h2 { font-size:23px; }
  .profile-avatar-options { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .profile-avatar-option > span { width:62px; height:62px; }
  .profile-upload-control { grid-template-columns:42px minmax(0,1fr); }
  .profile-upload-control > b { grid-column:1 / -1; justify-content:center; }
  .profile-theme-options button { grid-template-columns:54px minmax(0,1fr) 18px; padding:11px; }
  .profile-theme-swatch { width:54px; }
  .profile-save-bar { position:static; align-items:stretch; flex-direction:column; }
  .profile-save-bar .btn { width:100%; }
}
@media (prefers-reduced-motion:reduce) { .profile-avatar-option,.profile-theme-options button { transition:none; } }

/* v1.29: portada unificada, producto móvil y mayor presencia de MIA. */
body.academy-public-catalog {
  --academy-teal:var(--decision-teal);
  --academy-ink:var(--decision-ink);
  --academy-line:var(--decision-line);
}
body.academy-unified-home .public-topbar .nav { margin-left:auto; }
body.academy-unified-home .public-topbar .nav .public-access-btn { min-width:112px; }
.academy-unified-home .academy-ecosystem-section { background:#fff; }
.academy-unified-home .academy-ecosystem-copy h2 { color:var(--decision-ink); }
.academy-unified-home .academy-ecosystem-copy > p { color:#596261; }
.academy-unified-home .academy-ecosystem-meta { border-top-color:var(--decision-line); }
.academy-unified-home .academy-ecosystem-meta span { color:#586261; }
.academy-unified-home .academy-ecosystem-meta strong { color:var(--decision-ink); }
.academy-unified-home .academy-home-btn.dark { background:#090d0d; border-color:#090d0d; }
.academy-unified-home .academy-home-btn { position:relative; overflow:hidden; isolation:isolate; box-shadow:0 12px 28px rgba(0,0,0,.16); }
.academy-unified-home .academy-home-btn:before { content:""; position:absolute; z-index:-1; top:-40%; bottom:-40%; left:-40%; width:28%; background:rgba(255,255,255,.3); transform:skewX(-24deg) translateX(-280%); transition:transform .55s ease; }
.academy-unified-home .academy-home-btn:hover { transform:translateY(-3px); box-shadow:0 18px 38px rgba(0,0,0,.24); }
.academy-unified-home .academy-home-btn:hover:before { transform:skewX(-24deg) translateX(620%); }
.academy-unified-home .academy-home-btn svg { transition:transform .2s ease; }
.academy-unified-home .academy-home-btn:hover svg { transform:translate(3px,-1px); }
.decision-hero-mia > img { animation:unifiedMiaFloat 4.8s ease-in-out infinite; transform-origin:50% 100%; }
.decision-mia-prompt { animation:unifiedMiaPrompt 4.8s ease-in-out infinite; }
.decision-mia-visual > img { animation:unifiedMiaFloat 5.4s ease-in-out infinite reverse; }
.decision-mia-energy { position:absolute; z-index:3; width:9px; height:9px; border-radius:50%; background:var(--decision-teal); box-shadow:0 0 0 5px rgba(45,212,191,.08),0 0 22px rgba(45,212,191,.8); animation:unifiedMiaSignal 2.7s ease-in-out infinite; }
.decision-mia-energy.energy-a { right:36px; top:31%; }
.decision-mia-energy.energy-b { right:5px; top:48%; animation-delay:-.9s; background:var(--decision-warm); box-shadow:0 0 0 5px rgba(244,201,93,.08),0 0 22px rgba(244,201,93,.7); }
.decision-mia-energy.energy-c { right:88px; top:17%; animation-delay:-1.8s; }
.decision-mia-pulse { position:absolute; z-index:1; right:52px; top:92px; width:365px; height:365px; border:1px solid rgba(45,212,191,.28); border-radius:50%; animation:unifiedMiaPulse 3.2s ease-out infinite; }
@keyframes unifiedMiaFloat { 0%,100% { transform:translate3d(0,0,0) rotate(0); } 50% { transform:translate3d(0,-13px,0) rotate(.4deg); } }
@keyframes unifiedMiaPrompt { 0%,100% { transform:translateY(0); box-shadow:0 22px 54px rgba(0,0,0,.34); } 50% { transform:translateY(-7px); box-shadow:0 30px 66px rgba(0,0,0,.44),0 0 28px rgba(45,212,191,.1); } }
@keyframes unifiedMiaSignal { 0%,100% { opacity:.35; transform:scale(.72); } 50% { opacity:1; transform:scale(1.25); } }
@keyframes unifiedMiaPulse { 0% { opacity:.6; transform:scale(.78); } 75%,100% { opacity:0; transform:scale(1.15); } }
@media (max-width:840px) {
  body.academy-unified-home .public-topbar { grid-template-columns:1fr auto; }
  body.academy-unified-home .public-topbar .menu-toggle { display:none !important; }
  body.academy-unified-home .public-topbar .nav { grid-column:2; width:auto; display:flex; padding:0; }
  .academy-unified-home .academy-ecosystem-section { width:min(100% - 40px,700px); padding:82px 0; grid-template-columns:1fr; }
}
@media (max-width:560px) {
  body.academy-unified-home .public-topbar .brand { width:168px; }
  body.academy-unified-home .public-topbar .nav .public-access-btn { min-width:92px; padding:0 13px; }
  .academy-unified-home .academy-ecosystem-visual { min-height:390px; }
}
@media (prefers-reduced-motion:reduce) {
  .academy-unified-home .academy-home-btn:before,.decision-hero-mia > img,.decision-mia-prompt,.decision-mia-visual > img,.decision-mia-energy,.decision-mia-pulse { animation:none; }
}

/* v1.30: portada depurada, halo luminoso de MIA y escritura visible. */
.academy-unified-home .decision-hero-mia,
.academy-unified-home .decision-mia-visual {
  isolation:isolate;
}
.academy-unified-home .decision-hero-mia::before,
.academy-unified-home .decision-mia-visual::before {
  content:"";
  position:absolute;
  z-index:0;
  width:520px;
  height:520px;
  border-radius:50%;
  pointer-events:none;
  background:
    radial-gradient(circle at 50% 50%,rgba(79,255,232,.35) 0 8%,rgba(45,212,191,.19) 22%,rgba(66,153,225,.12) 42%,transparent 69%),
    conic-gradient(from 0deg,transparent 0 18%,rgba(89,255,232,.22) 24%,transparent 31% 60%,rgba(244,201,93,.16) 68%,transparent 76%);
  filter:blur(12px);
  opacity:.88;
  animation:miaLightBreathe 4.6s ease-in-out infinite,miaLightTurn 13s linear infinite;
}
.academy-unified-home .decision-hero-mia::before {
  right:-46px;
  bottom:-86px;
}
.academy-unified-home .decision-mia-visual::before {
  right:-12px;
  top:28px;
}
.academy-unified-home .decision-hero-mia::after,
.academy-unified-home .decision-mia-visual::after {
  content:"";
  position:absolute;
  z-index:1;
  width:180px;
  height:520px;
  pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(143,244,230,.24),rgba(255,255,255,.16),transparent);
  filter:blur(16px);
  opacity:0;
  transform:rotate(24deg) translateX(-210px);
  animation:miaLightSweep 5.8s ease-in-out infinite;
}
.academy-unified-home .decision-hero-mia::after {
  right:80px;
  bottom:-120px;
}
.academy-unified-home .decision-mia-visual::after {
  right:130px;
  top:24px;
  animation-delay:-2.2s;
}
.academy-unified-home .decision-mia-prompt strong {
  min-height:2.35em;
}
.academy-unified-home .decision-mia-prompt strong.is-typing::after {
  content:"";
  display:inline-block;
  width:2px;
  height:.92em;
  margin-left:4px;
  vertical-align:-.1em;
  background:#8ff4e6;
  box-shadow:0 0 10px rgba(143,244,230,.85);
  animation:miaTypingCaret .7s steps(1,end) infinite;
}
@keyframes miaLightBreathe {
  0%,100% { opacity:.56; scale:.91; }
  50% { opacity:1; scale:1.06; }
}
@keyframes miaLightTurn {
  to { rotate:360deg; }
}
@keyframes miaLightSweep {
  0%,16% { opacity:0; transform:rotate(24deg) translateX(-210px); }
  42% { opacity:.72; }
  72%,100% { opacity:0; transform:rotate(24deg) translateX(250px); }
}
@keyframes miaTypingCaret {
  0%,48% { opacity:1; }
  49%,100% { opacity:0; }
}
@media (prefers-reduced-motion:reduce) {
  .academy-unified-home .decision-hero-mia::before,
  .academy-unified-home .decision-hero-mia::after,
  .academy-unified-home .decision-mia-visual::before,
  .academy-unified-home .decision-mia-visual::after,
  .academy-unified-home .decision-mia-prompt strong.is-typing::after {
    animation:none;
  }
}

/* v1.31: movimiento vivo de MIA, mensajes escritos y recorridos luminosos. */
@property --academy-button-light {
  syntax:"<angle>";
  initial-value:0deg;
  inherits:false;
}
.academy-unified-home .academy-home-btn {
  z-index:0;
}
.academy-unified-home .academy-home-btn::after {
  content:"";
  position:absolute;
  z-index:4;
  inset:0;
  padding:1.5px;
  border-radius:inherit;
  pointer-events:none;
  background:conic-gradient(from var(--academy-button-light),transparent 0 56%,rgba(126,255,235,.18) 65%,#82ffe9 71%,#fff 74%,#f4c95d 77%,rgba(126,255,235,.2) 83%,transparent 91%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  mask-composite:exclude;
  filter:drop-shadow(0 0 6px rgba(83,240,225,.78));
  animation:academyButtonContour 3.2s linear infinite;
}
.academy-unified-home .academy-home-btn:nth-child(2)::after { animation-delay:-1.6s; }
.academy-unified-home .decision-hero-mia > img {
  animation:unifiedMiaFloat 4.2s ease-in-out infinite,miaPortraitGlow 3.6s ease-in-out infinite;
}
.academy-unified-home .decision-mia-visual > img {
  animation:unifiedMiaFloat 4.8s ease-in-out infinite reverse,miaPortraitGlow 4s ease-in-out infinite -1.4s;
}
.academy-unified-home .decision-mia-prompt {
  animation:unifiedMiaPrompt 4.2s ease-in-out infinite;
}
.academy-unified-home .decision-mia-prompt strong,
.academy-unified-home .decision-mia-note strong {
  transition:opacity .16s ease,transform .16s ease,filter .16s ease;
}
.academy-unified-home .decision-mia-prompt strong.is-changing,
.academy-unified-home .decision-mia-note strong.is-changing {
  opacity:0;
  filter:blur(5px);
  transform:translateY(5px) scale(.96);
}
.academy-unified-home .decision-mia-prompt.is-refreshing,
.academy-unified-home .decision-mia-note.is-refreshing {
  animation:miaMessageRefresh .42s ease both;
}
.academy-unified-home .decision-mia-note strong {
  min-height:2.5em;
}
.academy-unified-home .decision-mia-prompt strong.is-typing::after,
.academy-unified-home .decision-mia-note strong.is-typing::after {
  content:"";
  display:inline-block;
  width:2px;
  height:.92em;
  margin-left:4px;
  vertical-align:-.1em;
  background:#8ff4e6;
  box-shadow:0 0 10px rgba(143,244,230,.9);
  animation:miaTypingCaret .65s steps(1,end) infinite;
}
.academy-unified-home .decision-mia-energy {
  animation:unifiedMiaSignal 2.1s ease-in-out infinite,miaSparkDrift 4.6s ease-in-out infinite;
}
.academy-unified-home .decision-orbit.orbit-a { animation:miaOrbitForward 10s linear infinite; }
.academy-unified-home .decision-orbit.orbit-b { animation:miaOrbitReverse 8s linear infinite; }
.decision-mia-spark {
  position:absolute;
  z-index:4;
  width:7px;
  height:7px;
  border-radius:50%;
  pointer-events:none;
  background:#73ffe9;
  box-shadow:0 0 5px #fff,0 0 18px rgba(70,244,218,.95),0 0 36px rgba(70,244,218,.48);
  animation:miaSparkTwinkle 1.8s ease-in-out infinite,miaSparkDrift 5s ease-in-out infinite;
}
.decision-mia-spark.spark-a { top:18%; right:8%; }
.decision-mia-spark.spark-b { top:43%; left:12%; width:5px; height:5px; animation-delay:-.7s,-1.8s; }
.decision-mia-spark.spark-c { right:20%; bottom:16%; width:9px; height:9px; background:#f4c95d; box-shadow:0 0 5px #fff,0 0 18px rgba(244,201,93,.9),0 0 34px rgba(244,201,93,.42); animation-delay:-1.25s,-3s; }
@keyframes academyButtonContour { to { --academy-button-light:360deg; } }
@keyframes miaPortraitGlow {
  0%,100% { filter:drop-shadow(0 26px 52px rgba(0,0,0,.5)) drop-shadow(0 0 0 rgba(45,212,191,0)); }
  50% { filter:drop-shadow(0 30px 58px rgba(0,0,0,.5)) drop-shadow(0 0 20px rgba(45,212,191,.32)); }
}
@keyframes miaMessageRefresh {
  0% { opacity:1; transform:translateY(0) scale(1); }
  46% { opacity:.34; transform:translateY(3px) scale(.985); }
  100% { opacity:1; transform:translateY(0) scale(1); }
}
@keyframes miaSparkTwinkle {
  0%,100% { opacity:.22; scale:.55; }
  45% { opacity:1; scale:1.45; }
  60% { opacity:.65; scale:.9; }
}
@keyframes miaSparkDrift {
  0%,100% { translate:0 0; }
  50% { translate:7px -12px; }
}
@keyframes miaOrbitForward { to { rotate:360deg; } }
@keyframes miaOrbitReverse { to { rotate:-360deg; } }
@media (prefers-reduced-motion:reduce) {
  .academy-unified-home .academy-home-btn::after { animation-duration:5.8s; }
  .academy-unified-home .decision-hero-mia > img,
  .academy-unified-home .decision-mia-visual > img { animation-duration:7s,6s; }
  .academy-unified-home .decision-mia-prompt { animation-duration:7s; }
  .academy-unified-home .decision-mia-energy,
  .decision-mia-spark { animation-duration:3.8s,7s; }
}

/* v1.32: narrativa experiencial y demo pública de dos capítulos. */
.decision-problem-solution {
  display:grid;
  grid-template-columns:1fr 1fr;
  color:#111817;
  background:#fff;
}
.decision-problem,.decision-solution { padding:100px max(34px,calc((100vw - 1240px) / 2)); }
.decision-problem { padding-right:70px; background:#f3f6f5; }
.decision-solution { padding-left:70px; color:#fff; background:#0a1514; }
.decision-problem > span,.decision-solution > span { display:flex; align-items:center; gap:8px; color:var(--decision-teal-dark); font-size:11px; font-weight:850; text-transform:uppercase; }
.decision-solution > span { color:#8ff4e6; }
.decision-problem > span svg,.decision-solution > span svg { width:18px; }
.decision-problem h2,.decision-solution h2 { margin:15px 0 17px; font-size:42px; line-height:1.08; letter-spacing:0; }
.decision-solution h2 { color:#fff; }
.decision-problem > p { margin:0; color:#5d6866; font-size:16px; line-height:1.62; }
.decision-pain-list { display:grid; gap:0; margin-top:30px; border-top:1px solid #c5d1cf; }
.decision-pain-list article { display:grid; grid-template-columns:42px minmax(0,1fr); gap:13px; padding:18px 0; border-bottom:1px solid #c5d1cf; }
.decision-pain-list article > svg { width:38px; height:38px; padding:9px; border:1px solid #9ab6b1; border-radius:50%; color:var(--decision-teal-dark); }
.decision-pain-list strong,.decision-pain-list small { display:block; }
.decision-pain-list strong { font-size:14px; }
.decision-pain-list small { margin-top:5px; color:#65706e; font-size:11px; line-height:1.5; }
.decision-solution-lead { margin:0; padding:20px; border:1px solid rgba(143,244,230,.32); border-radius:8px; color:rgba(255,255,255,.86); background:rgba(45,212,191,.08); font-size:17px; line-height:1.62; }
.decision-solution-lead strong { display:block; color:#fff; font-size:18px; line-height:1.4; }
.decision-solution-lead p { margin:9px 0 0; color:rgba(255,255,255,.7); font-size:14px; line-height:1.58; }
.decision-solution-flow { margin:26px 0; border-top:1px solid rgba(255,255,255,.14); }
.decision-solution-flow > div { display:grid; grid-template-columns:34px minmax(0,1fr); gap:11px; padding:14px 0; border-bottom:1px solid rgba(255,255,255,.14); }
.decision-solution-flow b { width:30px; height:30px; display:grid; place-items:center; border:1px solid rgba(143,244,230,.42); border-radius:50%; color:#8ff4e6; font-size:10px; }
.decision-solution-flow strong,.decision-solution-flow small { display:block; }
.decision-solution-flow strong { color:#fff; font-size:14px; }
.decision-solution-flow small { margin-top:4px; color:rgba(255,255,255,.56); font-size:11px; line-height:1.45; }
.decision-journey {
  padding:110px max(24px,calc((100vw - 1240px) / 2));
  color:#101616;
  background:#eef5f3;
}
.decision-journey > header { max-width:860px; margin-bottom:50px; }
.decision-journey > header > span { color:var(--decision-teal-dark); font-size:12px; font-weight:850; text-transform:uppercase; }
.decision-journey > header h2 { max-width:820px; margin:13px 0 18px; font-size:48px; line-height:1.08; letter-spacing:0; }
.decision-journey > header p { max-width:720px; margin:0; color:#596563; font-size:17px; line-height:1.65; }
.decision-journey-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid #b9cbc7; border-bottom:1px solid #b9cbc7; }
.decision-journey-grid article { min-height:330px; padding:26px 24px; border-right:1px solid #b9cbc7; }
.decision-journey-grid article:last-child { border-right:0; }
.decision-journey-grid article > span { color:#65726f; font-size:11px; font-weight:850; }
.decision-journey-grid article > svg { width:34px; height:34px; display:block; margin-top:72px; color:var(--decision-teal-dark); }
.decision-journey-grid h3 { margin:18px 0 10px; font-size:20px; line-height:1.2; }
.decision-journey-grid p { margin:0; color:#5f6b69; font-size:13px; line-height:1.55; }
.decision-privacy { display:grid; grid-template-columns:48px minmax(0,1fr); gap:17px; align-items:center; max-width:850px; margin-top:36px; }
.decision-privacy > svg { width:44px; height:44px; padding:10px; border:1px solid #80afa7; border-radius:50%; color:var(--decision-teal-dark); }
.decision-privacy strong { font-size:15px; }
.decision-privacy p { margin:5px 0 0; color:#5e6967; font-size:13px; line-height:1.55; }

body.academy-demo-page { color:#f7fbfa; background:#07100f; }
body.academy-demo-page .public-topbar { position:relative; z-index:20; background:#07100f; border-bottom-color:rgba(255,255,255,.12); }
body.academy-demo-page > .footer { max-width:none; margin:0; padding:30px max(24px,calc((100vw - 1240px) / 2)); color:rgba(255,255,255,.55); background:#07100f; border-top-color:rgba(255,255,255,.12); }
.academy-demo { min-height:100vh; background:radial-gradient(circle at 85% 4%,rgba(45,212,191,.15),transparent 28%),#07100f; }
.demo-hero { width:min(1240px,calc(100% - 48px)); margin:0 auto; display:grid; grid-template-columns:minmax(0,1fr) 260px; align-items:end; gap:70px; padding:78px 0 56px; }
.demo-hero > div:first-child { max-width:850px; }
.demo-back { display:inline-flex; align-items:center; gap:8px; margin-bottom:48px; color:rgba(255,255,255,.68); font-size:12px; font-weight:750; }
.demo-back svg { width:16px; }
.demo-hero h1 { max-width:850px; margin:18px 0 20px; color:#fff; font-size:54px; line-height:1.03; letter-spacing:0; }
.demo-hero p { max-width:760px; margin:0; color:rgba(255,255,255,.68); font-size:17px; line-height:1.65; }
.demo-hero p strong { color:#fff; }
.demo-hero-progress { padding:20px; border:1px solid rgba(143,244,230,.32); border-radius:8px; background:rgba(10,31,29,.76); }
.demo-hero-progress span,.demo-hero-progress strong { display:block; }
.demo-hero-progress span { color:#8ff4e6; font-size:10px; font-weight:850; text-transform:uppercase; }
.demo-hero-progress strong { margin:7px 0 14px; color:#fff; font-size:15px; }
.demo-hero-progress > div { height:5px; overflow:hidden; border-radius:4px; background:rgba(255,255,255,.12); }
.demo-hero-progress i { width:35%; height:100%; display:block; background:var(--decision-teal); box-shadow:0 0 18px rgba(45,212,191,.6); transition:width .4s ease; }
.demo-shell { width:min(1380px,calc(100% - 48px)); min-height:760px; margin:0 auto 80px; display:grid; grid-template-columns:300px minmax(0,1fr); border:1px solid rgba(255,255,255,.14); border-radius:8px; overflow:hidden; background:#0c1514; box-shadow:0 30px 80px rgba(0,0,0,.34); }
.demo-chapters { padding:28px 18px; border-right:1px solid rgba(255,255,255,.12); background:#091211; }
.demo-chapters > span { display:block; padding:0 10px 18px; color:#8ff4e6; font-size:10px; font-weight:850; }
.demo-chapters button { width:100%; display:grid; grid-template-columns:30px minmax(0,1fr) 18px; gap:10px; align-items:start; padding:16px 10px; border:0; border-top:1px solid rgba(255,255,255,.1); text-align:left; color:rgba(255,255,255,.66); background:transparent; cursor:pointer; }
.demo-chapters button:last-child { border-bottom:1px solid rgba(255,255,255,.1); }
.demo-chapters button:disabled { cursor:not-allowed; opacity:.48; }
.demo-chapters button.is-active { color:#fff; background:rgba(45,212,191,.09); }
.demo-chapters button.is-complete b { color:#06231f; background:var(--decision-teal); border-color:var(--decision-teal); }
.demo-chapters b { width:28px; height:28px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.22); border-radius:50%; font-size:10px; }
.demo-chapters strong,.demo-chapters small { display:block; }
.demo-chapters strong { font-size:13px; line-height:1.3; }
.demo-chapters small { margin-top:5px; color:rgba(255,255,255,.43); font-size:10px; line-height:1.4; }
.demo-chapters svg { width:16px; }
.demo-stage { min-width:0; background:#f6f9f8; }
.demo-chapter { min-height:760px; padding:54px; color:#111817; animation:demoChapterIn .42s ease both; }
.demo-chapter[hidden] { display:none; }
.demo-chapter-heading { max-width:800px; margin-bottom:34px; }
.demo-chapter-heading > span { color:var(--decision-teal-dark); font-size:11px; font-weight:850; text-transform:uppercase; }
.demo-chapter-heading h2 { margin:10px 0 13px; font-size:42px; line-height:1.08; letter-spacing:0; }
.demo-chapter-heading p { margin:0; color:#5c6866; font-size:15px; line-height:1.65; }
.demo-mia-checkin { min-height:530px; display:grid; grid-template-columns:minmax(300px,.82fr) minmax(380px,1.18fr); overflow:hidden; border:1px solid #bfd1cd; border-radius:8px; background:#0b1716; }
.demo-mia-portrait { position:relative; min-height:530px; overflow:hidden; background:radial-gradient(circle at 55% 40%,rgba(40,211,188,.18),transparent 52%),#091312; }
.demo-mia-portrait > img { position:absolute; z-index:2; bottom:-82px; left:50%; width:470px; max-width:none; transform:translateX(-50%); filter:drop-shadow(0 24px 46px rgba(0,0,0,.42)); animation:unifiedMiaFloat 4.8s ease-in-out infinite; }
.demo-mia-portrait .decision-orbit.orbit-a { width:360px; height:360px; right:calc(50% - 180px); top:42px; }
.demo-mia-portrait .decision-orbit.orbit-b { width:280px; height:280px; right:calc(50% - 140px); top:82px; }
.demo-mia-dialogue { display:flex; flex-direction:column; justify-content:center; padding:46px; color:#fff; }
.demo-mia-dialogue > span { display:flex; align-items:center; gap:8px; color:#8ff4e6; font-size:11px; font-weight:850; text-transform:uppercase; }
.demo-mia-dialogue > span svg { width:17px; }
.demo-mia-dialogue > strong { max-width:560px; margin:14px 0 12px; font-size:30px; line-height:1.16; }
.demo-mia-dialogue > p { max-width:560px; margin:0; color:rgba(255,255,255,.63); font-size:14px; line-height:1.55; }
.demo-mood-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin:25px 0; }
.demo-mood-options button { min-height:54px; display:flex; align-items:center; gap:9px; padding:0 14px; border:1px solid rgba(255,255,255,.16); border-radius:6px; color:rgba(255,255,255,.82); background:rgba(255,255,255,.04); cursor:pointer; }
.demo-mood-options button:hover,.demo-mood-options button.is-selected { color:#06231f; background:var(--decision-teal); border-color:var(--decision-teal); }
.demo-mood-options svg { width:18px; }
.demo-mia-response { min-height:74px; display:grid; grid-template-columns:42px minmax(0,1fr); gap:10px; align-items:start; margin-bottom:22px; padding:12px; border:1px solid rgba(143,244,230,.3); border-radius:6px; background:rgba(45,212,191,.08); }
.demo-mia-response[hidden] { display:none; }
.demo-mia-response strong { width:42px; height:42px; display:grid; place-items:center; border-radius:50%; color:#06231f; background:var(--decision-teal); font-size:10px; }
.demo-mia-response span { color:rgba(255,255,255,.78); font-size:12px; line-height:1.5; }
.demo-mia-dialogue .academy-home-btn { align-self:flex-start; }
.demo-mia-dialogue .academy-home-btn:disabled { filter:grayscale(1); opacity:.42; cursor:not-allowed; }
.demo-arrival-detail { display:grid; gap:16px; margin:24px 0; padding:18px 0; border-top:1px solid rgba(255,255,255,.14); border-bottom:1px solid rgba(255,255,255,.14); }
.demo-arrival-detail[hidden],.demo-arrival-result[hidden] { display:none; }
.demo-arrival-detail label { display:grid; grid-template-columns:minmax(0,1fr) minmax(180px,.85fr); align-items:center; gap:18px; color:rgba(255,255,255,.74); font-size:12px; font-weight:750; }
.demo-arrival-detail label > span { display:grid; grid-template-columns:minmax(0,1fr) 28px; align-items:center; gap:8px; }
.demo-arrival-detail input { width:100%; accent-color:var(--decision-teal); }
.demo-arrival-detail output { color:#8ff4e6; font-size:14px; font-weight:850; text-align:right; }
.demo-arrival-result { display:grid; gap:14px; margin-top:24px; padding:18px; border:1px solid rgba(143,244,230,.3); border-radius:8px; background:rgba(45,212,191,.08); }
.demo-arrival-result > div { display:grid; grid-template-columns:40px minmax(0,1fr); align-items:center; gap:12px; }
.demo-arrival-result > div > svg { width:38px; height:38px; padding:9px; border-radius:50%; color:#06231f; background:var(--decision-teal); }
.demo-arrival-result small,.demo-arrival-result strong { display:block; }
.demo-arrival-result small { color:#8ff4e6; font-size:9px; font-weight:850; text-transform:uppercase; }
.demo-arrival-result strong { margin-top:4px; color:#fff; font-size:17px; }
.demo-arrival-result > p { margin:0; color:rgba(255,255,255,.65); font-size:12px; line-height:1.55; }
.demo-conversation-chapter { padding:0; background:#07110f; }
.academy-demo-page .demo-conversation-chapter .mia-chapter-experience { min-height:760px; margin:0; border:0; border-radius:0; }
.academy-demo-page .demo-conversation-chapter .mia-chapter-dialogue { width:100%; }
.academy-demo-page .demo-conversation-chapter .mia-chapter-current p { min-height:4.6em; }
.academy-demo-page .demo-conversation-chapter .mia-control-feedback { color:#ffd27a; }
.academy-demo-page .demo-conversation-chapter .mia-save-status.saved { color:#8ff4e6; }
.demo-video-frame { position:relative; aspect-ratio:16 / 9; overflow:hidden; border-radius:8px; background:#06100f; box-shadow:0 24px 56px rgba(0,0,0,.22); }
.demo-video-frame iframe { width:100%; height:100%; display:block; border:0; }
.demo-transfer { display:grid; grid-template-columns:54px minmax(0,1fr); gap:18px; margin:26px 0; padding:22px 0; border-top:1px solid #c5d2cf; border-bottom:1px solid #c5d2cf; }
.demo-transfer > svg { width:48px; height:48px; padding:12px; border-radius:50%; color:#06231f; background:var(--decision-teal); }
.demo-transfer span,.demo-transfer strong { display:block; }
.demo-transfer span { color:var(--decision-teal-dark); font-size:10px; font-weight:850; text-transform:uppercase; }
.demo-transfer strong { max-width:760px; margin-top:6px; font-size:18px; line-height:1.35; }
.demo-transfer p { margin:7px 0 0; color:#63706d; font-size:12px; line-height:1.5; }
.demo-waitlist { display:grid; grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr); gap:64px; align-items:center; color:#fff; background:radial-gradient(circle at 15% 25%,rgba(45,212,191,.17),transparent 34%),#0a1514; }
.demo-waitlist-copy > span { display:inline-flex; align-items:center; gap:8px; color:#8ff4e6; font-size:11px; font-weight:850; text-transform:uppercase; }
.demo-waitlist-copy > span svg { width:18px; }
.demo-waitlist-copy h2 { margin:16px 0; color:#fff; font-size:44px; line-height:1.05; letter-spacing:0; }
.demo-waitlist-copy > p { color:rgba(255,255,255,.66); line-height:1.65; }
.demo-waitlist-copy > div { margin-top:34px; padding-top:24px; border-top:1px solid rgba(255,255,255,.14); }
.demo-waitlist-copy > div strong,.demo-waitlist-copy > div small { display:block; }
.demo-waitlist-copy > div small { margin-top:7px; color:rgba(255,255,255,.52); line-height:1.5; }
.demo-waitlist-form { padding:30px; border:1px solid rgba(143,244,230,.3); border-radius:8px; background:rgba(255,255,255,.05); }
.demo-waitlist-form form { display:grid; gap:15px; }
.demo-waitlist-form label { display:grid; gap:7px; color:rgba(255,255,255,.68); font-size:11px; font-weight:750; }
.demo-waitlist-form input,.demo-waitlist-form textarea { width:100%; border:1px solid rgba(255,255,255,.18); border-radius:5px; color:#fff; background:#111d1c; }
.demo-waitlist-form input { height:48px; padding:0 13px; }
.demo-waitlist-form textarea { padding:12px 13px; resize:vertical; }
.demo-form-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.demo-waitlist-form .demo-consent { grid-template-columns:18px minmax(0,1fr); align-items:start; gap:10px; line-height:1.45; font-weight:500; }
.demo-consent input { width:18px; height:18px; margin:0; accent-color:var(--decision-teal); }
.demo-honeypot { position:absolute !important; left:-9999px !important; width:1px !important; height:1px !important; }
.demo-form-error { margin:0 0 16px; padding:12px; border:1px solid rgba(255,123,123,.45); border-radius:5px; color:#ffd3d3; background:rgba(151,32,32,.18); font-size:12px; }
.demo-success { display:flex; gap:16px; align-items:center; min-height:180px; }
.demo-success > svg { width:54px; height:54px; color:var(--decision-teal); }
.demo-success strong,.demo-success small { display:block; }
.demo-success strong { font-size:22px; }
.demo-success small { margin-top:8px; color:rgba(255,255,255,.6); line-height:1.5; }
@keyframes demoChapterIn { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:none; } }

@media (max-width:1080px) {
  .decision-problem-solution { grid-template-columns:1fr; }
  .decision-problem,.decision-solution { padding:82px max(24px,calc((100vw - 700px) / 2)); }
  .decision-journey-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .decision-journey-grid article:nth-child(2) { border-right:0; }
  .decision-journey-grid article:nth-child(-n+2) { border-bottom:1px solid #b9cbc7; }
  .demo-hero { grid-template-columns:1fr; gap:32px; }
  .demo-hero-progress { max-width:420px; }
  .demo-shell { grid-template-columns:250px minmax(0,1fr); }
  .demo-chapter { padding:38px; }
  .demo-mia-checkin { grid-template-columns:1fr; }
  .demo-mia-portrait { min-height:380px; }
  .demo-mia-dialogue { padding:36px; }
  .demo-waitlist { grid-template-columns:1fr; }
}
@media (max-width:760px) {
  .decision-problem,.decision-solution { padding:72px 20px; }
  .decision-problem h2,.decision-solution h2 { font-size:34px; }
  .decision-journey { padding:82px 20px; }
  .decision-journey > header h2 { font-size:36px; }
  .decision-journey-grid { grid-template-columns:1fr; }
  .decision-journey-grid article { min-height:245px; border-right:0; border-bottom:1px solid #b9cbc7; }
  .decision-journey-grid article:nth-child(2) { border-bottom:1px solid #b9cbc7; }
  .decision-journey-grid article:last-child { border-bottom:0; }
  .decision-journey-grid article > svg { margin-top:34px; }
  .demo-hero { width:min(100% - 32px,700px); padding:50px 0 38px; }
  .demo-back { margin-bottom:34px; }
  .demo-hero h1 { font-size:38px; }
  .demo-shell { width:min(100% - 24px,700px); grid-template-columns:1fr; }
  .demo-chapters { display:grid; grid-template-columns:repeat(4,minmax(145px,1fr)); padding:12px; overflow-x:auto; border-right:0; border-bottom:1px solid rgba(255,255,255,.12); scrollbar-width:thin; }
  .demo-chapters > span { grid-column:1 / -1; padding:0 4px 10px; }
  .demo-chapters button { grid-template-columns:28px minmax(0,1fr); border:0; border-right:1px solid rgba(255,255,255,.1); }
  .demo-chapters button:last-child { border:0; }
  .demo-chapters button > svg,.demo-chapters small { display:none; }
  .demo-chapter { min-height:auto; padding:30px 22px; }
  .demo-chapter-heading h2 { font-size:32px; }
  .demo-mia-portrait { min-height:330px; }
  .demo-mia-portrait > img { width:390px; }
  .demo-mia-dialogue { padding:28px 20px; }
  .demo-mia-dialogue > strong { font-size:25px; }
  .demo-arrival-detail label { grid-template-columns:1fr; gap:7px; }
  .academy-demo-page .demo-conversation-chapter .mia-chapter-experience { min-height:auto; }
  .demo-waitlist { gap:38px; }
  .demo-waitlist-copy h2 { font-size:36px; }
  .demo-waitlist-form { padding:22px 16px; }
}
@media (max-width:520px) {
  .demo-hero h1 { font-size:33px; }
  .demo-chapters strong { font-size:10px; }
  .demo-mood-options,.demo-form-row { grid-template-columns:1fr; }
  .demo-mia-portrait { min-height:300px; }
  .demo-mia-portrait > img { bottom:-60px; width:340px; }
  .demo-mia-dialogue .academy-home-btn,.demo-chapter > .academy-home-btn { width:100%; }
  .demo-transfer { grid-template-columns:42px minmax(0,1fr); }
  .demo-transfer > svg { width:40px; height:40px; padding:10px; }
}
@media (prefers-reduced-motion:reduce) {
  .demo-chapter,.demo-mia-portrait > img { animation:none; }
  .demo-hero-progress i { transition:none; }
}

/* v1.33: portada condensada y demostración visual del recorrido de MIA. */
.academy-condensed-home .decision-problem,
.academy-condensed-home .decision-solution { padding-top:82px; padding-bottom:82px; }
.academy-condensed-home .decision-experience { padding:86px 0; }
.academy-condensed-home .decision-experience-media { min-height:520px; }
.academy-condensed-home .decision-cta { padding-top:78px; padding-bottom:78px; }
.decision-mia-product {
  min-height:820px;
  display:grid;
  grid-template-columns:minmax(350px,.72fr) minmax(620px,1.28fr);
  align-items:center;
  gap:58px;
  padding:78px max(24px,calc((100vw - 1240px) / 2));
  overflow:hidden;
  color:#fff;
  background:radial-gradient(circle at 78% 24%,rgba(45,212,191,.13),transparent 32%),#071110;
}
.decision-mia-product-copy { position:relative; z-index:3; }
.decision-mia-product-copy h2 { margin:15px 0 18px; color:#fff; font-size:46px; line-height:1.07; letter-spacing:0; }
.decision-mia-product-copy > p { margin:0; color:rgba(255,255,255,.67); font-size:16px; line-height:1.65; }
.decision-mia-product-points { display:grid; margin:28px 0; border-top:1px solid rgba(255,255,255,.14); }
.decision-mia-product-points > span { display:grid; grid-template-columns:28px minmax(0,1fr); gap:3px 10px; padding:15px 0; border-bottom:1px solid rgba(255,255,255,.14); }
.decision-mia-product-points svg { grid-row:1 / span 2; width:22px; color:var(--decision-teal); }
.decision-mia-product-points strong { color:#fff; font-size:13px; }
.decision-mia-product-points small { color:rgba(255,255,255,.54); font-size:11px; line-height:1.45; }
.decision-mia-product-visuals { min-width:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; align-items:end; }
.decision-mia-phone { min-width:0; margin:0; display:grid; justify-items:center; }
.decision-mia-phone.phone-now { transform:translateY(-26px); }
.decision-mia-phone.phone-progress { transform:translateY(26px); }
.decision-mia-phone img { width:100%; max-width:342px; height:auto; display:block; filter:drop-shadow(0 28px 48px rgba(0,0,0,.42)); }
.decision-mia-phone figcaption { width:min(100%,342px); margin-top:12px; padding-top:13px; border-top:1px solid rgba(255,255,255,.14); }
.decision-mia-phone figcaption span,.decision-mia-phone figcaption strong { display:block; }
.decision-mia-phone figcaption span { color:#8ff4e6; font-size:9px; font-weight:850; text-transform:uppercase; }
.decision-mia-phone figcaption strong { margin-top:5px; color:#fff; font-size:12px; line-height:1.4; }
@media (max-width:1080px) {
  .decision-mia-product { min-height:auto; grid-template-columns:1fr; padding:82px max(24px,calc((100vw - 700px) / 2)); }
  .decision-mia-product-copy { max-width:700px; }
  .decision-mia-product-visuals { max-width:700px; }
  .decision-mia-phone.phone-now,.decision-mia-phone.phone-progress { transform:none; }
}
@media (max-width:620px) {
  .academy-condensed-home .decision-problem-solution { min-width:0; overflow:hidden; }
  .academy-condensed-home .decision-problem,
  .academy-condensed-home .decision-solution { min-width:0; padding:52px 20px; }
  .academy-condensed-home .decision-problem h2,
  .academy-condensed-home .decision-solution h2 { font-size:31px; }
  .academy-condensed-home .decision-pain-list,
  .academy-condensed-home .decision-solution-flow {
    width:100%;
    display:grid;
    grid-template-columns:none;
    grid-auto-flow:column;
    grid-auto-columns:minmax(238px,76vw);
    gap:12px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    padding-bottom:12px;
    border-top:0;
    scrollbar-width:thin;
  }
  .academy-condensed-home .decision-pain-list article,
  .academy-condensed-home .decision-solution-flow > div {
    min-height:142px;
    align-content:start;
    scroll-snap-align:start;
    padding:17px 16px;
    border-bottom:0;
    border-left:1px solid #aebfbc;
  }
  .academy-condensed-home .decision-solution-flow > div { border-left-color:rgba(143,244,230,.3); }
  .academy-condensed-home .decision-experience { padding:54px 0; gap:32px; }
  .academy-condensed-home .decision-experience-media { min-height:300px; }
  .academy-condensed-home .decision-experience-copy h2 { font-size:30px; }
  .academy-condensed-home .decision-outcomes { margin-top:20px; }
  .academy-condensed-home .decision-outcomes > div { padding:12px 0; }
  .academy-condensed-home .decision-cta { padding:54px 20px; }
  .decision-mia-product { padding:54px 20px; gap:28px; }
  .decision-mia-product-copy h2 { font-size:32px; }
  .decision-mia-product-points { margin:20px 0; }
  .decision-mia-product-points > span { padding:11px 0; }
  .decision-mia-product-visuals { width:calc(100vw - 20px); margin-right:-20px; grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:minmax(230px,72vw); gap:14px; overflow-x:auto; scroll-snap-type:x mandatory; padding:0 20px 18px 0; scrollbar-width:thin; }
  .decision-mia-phone { scroll-snap-align:start; }
  .decision-mia-phone img { max-width:240px; }
}

/* v1.34: la antesala publica replica la presencia de MIA en el dashboard. */
.demo-mia-dashboard {
  min-height:530px;
  display:grid;
  align-content:start;
  gap:22px;
  padding:32px;
  overflow:hidden;
  border:1px solid rgba(88,239,222,.32);
  border-radius:8px;
  color:#f8ffff;
  background:radial-gradient(circle at 12% 8%,rgba(121,62,145,.28),transparent 32%),linear-gradient(145deg,#0a1918,#0b1420);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.academy-demo-page .mia-global { display:none !important; }
.academy-demo-page .demo-chapter-heading h2 { color:#111817; }
.academy-demo-page .demo-chapters em { display:none; font-style:normal; }
.demo-mia-dashboard .mia-home-intro { min-width:0; display:grid; grid-template-columns:112px minmax(0,1fr); align-items:center; gap:24px; }
.demo-mia-dashboard .mia-home-portrait { position:relative; isolation:isolate; width:112px; height:132px; display:flex; align-items:flex-end; justify-content:center; overflow:hidden; border:1px solid rgba(88,239,222,.42); border-radius:8px; background:linear-gradient(155deg,rgba(91,42,111,.82),rgba(8,77,91,.86)); box-shadow:0 14px 34px rgba(4,10,27,.28); }
.demo-mia-dashboard .mia-home-portrait-glow { position:absolute; z-index:-1; inset:18px 8px 6px; border-radius:48% 52% 44% 56%; background:radial-gradient(circle at 45% 42%,rgba(255,205,111,.95),rgba(247,116,206,.42) 45%,rgba(36,231,211,.08) 72%); filter:blur(2px); animation:miaHomePortraitGlow 5.4s ease-in-out infinite; }
.demo-mia-dashboard .mia-home-portrait img { position:absolute; inset:auto 0 0; width:100%; height:122px; display:block; object-fit:contain; object-position:center bottom; filter:drop-shadow(0 9px 13px rgba(2,8,24,.32)); }
.demo-mia-dashboard .mia-home-portrait > span:last-child { position:relative; z-index:2; width:calc(100% - 12px); margin:0 6px 6px; padding:5px 7px; overflow:hidden; border:1px solid rgba(255,255,255,.18); border-radius:6px; color:#f8ffff; background:rgba(6,21,42,.82); font-size:10px; line-height:1.15; text-align:center; text-overflow:ellipsis; white-space:nowrap; backdrop-filter:blur(8px); }
.demo-mia-dashboard .mia-home-heading { min-width:0; display:grid; gap:8px; }
.demo-mia-dashboard .mia-home-heading .pill { width:max-content; max-width:100%; }
.demo-mia-dashboard .mia-home-heading h3 { margin:0; color:#f8ffff; font-size:clamp(30px,4vw,48px); line-height:1.02; letter-spacing:0; }
.demo-mia-dashboard .mia-home-heading p { max-width:670px; margin:0; color:rgba(246,255,255,.76); font-size:15px; line-height:1.5; }
.demo-mia-dashboard .mia-home-chat { min-width:0; display:grid; gap:13px; padding-top:20px; border-top:1px solid rgba(255,255,255,.12); }
.demo-mia-dashboard .mia-home-thread { display:flex; flex-direction:column; gap:9px; }
.demo-mia-dashboard .mia-home-message { width:min(100%,760px); display:flex; align-items:flex-start; gap:10px; margin:0; padding:12px 14px; border:1px solid rgba(96,235,226,.22); border-radius:8px; background:rgba(33,116,111,.14); }
.demo-mia-dashboard .mia-home-message > img { width:34px; height:34px; flex:0 0 auto; object-fit:cover; object-position:50% 24%; border:1px solid #30e8d4; border-radius:50%; box-shadow:0 0 0 3px rgba(48,232,212,.1); }
.demo-mia-dashboard .mia-home-message > div { min-width:0; display:grid; gap:3px; }
.demo-mia-dashboard .mia-home-message strong { color:#39f0db; font-size:12px; }
.demo-mia-dashboard .mia-home-message p { min-height:1.45em; margin:0; color:rgba(255,255,255,.92); font-size:15px; line-height:1.45; }
.demo-mia-dashboard-guidance { margin:0; color:rgba(255,255,255,.58); font-size:12px; line-height:1.5; }
.demo-mia-dashboard .demo-mood-options { margin:4px 0 0; }
.demo-mia-dashboard .demo-arrival-detail { margin:4px 0 0; }
.demo-mia-dashboard .demo-arrival-result { margin-top:4px; }
@media (max-width:620px) {
  .academy-demo-page .demo-hero { width:min(100% - 24px,700px); padding:34px 0 28px; }
  .academy-demo-page .demo-back { margin-bottom:22px; }
  .academy-demo-page .demo-hero h1 { font-size:31px; }
  .academy-demo-page .demo-hero p { font-size:15px; line-height:1.55; }
  .academy-demo-page .demo-shell { width:calc(100% - 12px); margin-bottom:44px; }
  .academy-demo-page .demo-chapters { position:sticky; z-index:9; top:0; grid-template-columns:repeat(5,minmax(0,1fr)); gap:0; padding:9px 7px; overflow:hidden; box-shadow:0 8px 22px rgba(0,0,0,.24); }
  .academy-demo-page .demo-chapters > span { padding:0 5px 8px; }
  .academy-demo-page .demo-chapters button { min-width:0; grid-template-columns:1fr; justify-items:center; gap:5px; padding:9px 3px; text-align:center; }
  .academy-demo-page .demo-chapters button span { min-width:0; }
  .academy-demo-page .demo-chapters button strong,
  .academy-demo-page .demo-chapters button small { display:none; }
  .academy-demo-page .demo-chapters button em { display:block; color:inherit; font-size:9px; font-weight:800; line-height:1.15; white-space:nowrap; }
  .academy-demo-page .demo-chapters b { width:27px; height:27px; }
  .academy-demo-page .demo-chapter { padding:26px 16px; }
  .academy-demo-page .demo-chapter-heading { margin-bottom:24px; }
  .academy-demo-page .demo-chapter-heading h2 { font-size:29px; }
  .demo-mia-dashboard { min-height:0; padding:20px 16px; }
  .demo-mia-dashboard .mia-home-intro { grid-template-columns:78px minmax(0,1fr); gap:12px; }
  .demo-mia-dashboard .mia-home-portrait { width:78px; height:96px; }
  .demo-mia-dashboard .mia-home-portrait img { height:90px; }
  .demo-mia-dashboard .mia-home-portrait > span:last-child { display:none; }
  .demo-mia-dashboard .mia-home-heading h3 { font-size:29px; }
  .demo-mia-dashboard .mia-home-heading p { font-size:13px; }
}
@media (prefers-reduced-motion:reduce) {
  .demo-mia-dashboard .mia-home-portrait-glow { animation:none; }
}

/* v1.35: portada movil mas breve y alternancia equilibrada de superficies. */
.academy-condensed-home .decision-mia-product {
  color:#111817;
  border-top:1px solid #d8e1df;
  background:radial-gradient(circle at 82% 18%,rgba(45,212,191,.1),transparent 30%),#fff;
}
.academy-condensed-home .decision-mia-product-copy h2 { color:#111817; }
.academy-condensed-home .decision-mia-product-copy > p { color:#596563; }
.academy-condensed-home .decision-mia-product-points { border-top-color:#ccd7d4; }
.academy-condensed-home .decision-mia-product-points > span { border-bottom-color:#ccd7d4; }
.academy-condensed-home .decision-mia-product-points strong { color:#111817; }
.academy-condensed-home .decision-mia-product-points small { color:#65716f; }
.academy-condensed-home .decision-mia-phone img { filter:drop-shadow(0 24px 38px rgba(7,22,20,.2)); }
.academy-condensed-home .decision-mia-phone figcaption { border-top-color:#ccd7d4; }
.academy-condensed-home .decision-mia-phone figcaption span { color:var(--decision-teal-dark); }
.academy-condensed-home .decision-mia-phone figcaption strong { color:#111817; }
@media (max-width:560px) {
  .academy-condensed-home .decision-hero { min-height:710px; }
  .academy-condensed-home .decision-hero-inner { padding-top:42px; }
  .academy-condensed-home .decision-hero h1 { font-size:35px; }
  .academy-condensed-home .decision-mia-product { padding-top:50px; padding-bottom:50px; }
  .academy-condensed-home .decision-mia-product-copy h2 { font-size:30px; }
  .academy-condensed-home .decision-cta { padding-top:50px; padding-bottom:50px; }
  .academy-condensed-home .decision-solution-lead { padding:17px; }
  .academy-condensed-home .decision-solution-lead strong { font-size:16px; }
  .academy-condensed-home .decision-solution-lead p { font-size:13px; }
}

/* v1.36: conversacion de seis interacciones antes del chequeo emocional. */
.demo-mia-prelude { min-height:620px; }
.demo-mia-dashboard .mia-home-thread { max-height:280px; padding-right:5px; overflow-y:auto; scrollbar-width:thin; scrollbar-color:rgba(49,234,214,.58) transparent; }
.demo-mia-dashboard .mia-home-message.user { width:min(88%,650px); margin-left:auto; justify-content:flex-end; border-color:rgba(255,255,255,.13); background:rgba(255,255,255,.08); }
.demo-mia-dashboard .mia-home-message.user p { color:#f7ffff; }
.demo-mia-dashboard .mia-home-prompt { position:relative; min-height:90px; display:grid; gap:8px; margin:0; padding:12px 14px; overflow:hidden; border:1px solid rgba(96,235,226,.38); border-radius:8px; background:rgba(7,21,35,.78); box-shadow:inset 0 1px 0 rgba(255,255,255,.06); }
.demo-mia-dashboard .mia-home-prompt[hidden] { display:none; }
.demo-mia-dashboard .mia-home-prompt textarea { width:100%; min-height:42px; max-height:92px; padding:4px 2px; resize:vertical; border:0; outline:0; color:#f7ffff; background:transparent; font:inherit; font-size:15px; line-height:1.45; }
.demo-mia-dashboard .mia-home-prompt textarea::placeholder { color:rgba(239,250,255,.56); }
.demo-mia-dashboard .mia-home-prompt-actions { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.demo-mia-dashboard .mia-home-prompt-actions > span { display:inline-flex; align-items:center; gap:6px; color:rgba(239,250,255,.58); font-size:10px; }
.demo-mia-dashboard .mia-home-prompt-actions svg { width:15px; }
.demo-mia-dashboard .mia-home-prompt-actions button { width:36px; height:36px; display:grid; place-items:center; border:0; border-radius:50%; color:#06231f; background:var(--decision-teal); cursor:pointer; }
.demo-mia-dashboard .mia-home-prompt-actions button:disabled { opacity:.5; cursor:wait; }
.demo-prelude-status { display:grid; grid-template-columns:auto minmax(90px,1fr); align-items:center; gap:14px; color:#8ff4e6; font-size:10px; font-weight:800; text-transform:uppercase; }
.demo-prelude-status > div { height:4px; overflow:hidden; border-radius:4px; background:rgba(255,255,255,.12); }
.demo-prelude-status i { height:100%; display:block; background:var(--decision-teal); box-shadow:0 0 14px rgba(45,212,191,.5); transition:width .28s ease; }
.demo-mia-prelude .mia-home-actions .academy-home-btn { width:100%; justify-content:center; }
@media (max-width:620px) {
  .demo-mia-prelude { min-height:0; }
  .academy-demo-page .demo-chapters button em { font-size:8px; }
  .demo-mia-dashboard .mia-home-thread { max-height:330px; }
  .demo-prelude-status { grid-template-columns:1fr; gap:7px; }
}

/* v1.37: mayor jerarquia del sistema experiencial y contraste de rotulos. */
.academy-condensed-home .decision-system-kicker {
  display:inline-flex;
  width:max-content;
  max-width:100%;
  align-items:center;
  padding:9px 12px;
  border:1px solid rgba(143,244,230,.52);
  border-radius:6px;
  color:#d9fffa;
  background:rgba(4,24,22,.78);
  box-shadow:0 0 24px rgba(45,212,191,.16);
}
.academy-condensed-home .decision-mia-product .decision-kicker { color:#006f64; }
.academy-condensed-home .decision-mia-product .decision-kicker svg { color:#009b8d; }
@media (max-width:560px) {
  .academy-condensed-home .decision-system-kicker {
    width:100%;
    align-items:flex-start;
    padding:9px 10px;
    font-size:10px;
    line-height:1.35;
  }
}

/* v1.38: cierre comercial, contacto y presencia corporativa de Inmersiva. */
.academy-condensed-home .decision-cta {
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:#07100f;
}
.academy-condensed-home .decision-cta::before {
  content:"";
  position:absolute;
  z-index:-1;
  top:0;
  bottom:0;
  left:-28%;
  width:24%;
  border-left:1px solid rgba(81,255,228,.16);
  border-right:1px solid rgba(81,255,228,.08);
  background:linear-gradient(90deg,transparent,rgba(45,212,191,.11),transparent);
  transform:skewX(-12deg);
  animation:decisionPanelSweep 8s ease-in-out infinite;
}
.academy-condensed-home .decision-cta h2 {
  position:relative;
  max-width:760px;
  margin:0 auto 20px;
  color:#fff;
  font-size:clamp(40px,5vw,68px);
  line-height:1.02;
  letter-spacing:0;
  text-shadow:0 0 28px rgba(105,255,232,.13);
}
@supports ((background-clip:text) or (-webkit-background-clip:text)) {
  .academy-condensed-home .decision-cta h2 {
    color:transparent;
    background:linear-gradient(105deg,#fff 0%,#fff 40%,#75ffe9 49%,#fff 58%,#fff 100%);
    background-size:260% 100%;
    background-position:100% 0;
    -webkit-background-clip:text;
    background-clip:text;
    animation:decisionTextSweep 6.8s ease-in-out infinite;
  }
}
.academy-condensed-home .decision-cta h2::after {
  content:"";
  display:block;
  width:74px;
  height:2px;
  margin:24px auto 0;
  background:linear-gradient(90deg,transparent,#4ff5dc,transparent);
  box-shadow:0 0 18px rgba(79,245,220,.62);
  animation:decisionLinePulse 3.4s ease-in-out infinite;
}
.academy-condensed-home .decision-cta p { max-width:720px; color:rgba(255,255,255,.72); }
.academy-condensed-home .decision-hero .decision-impact-heading {
  position:relative;
  color:#fff;
  text-shadow:0 0 30px rgba(105,255,232,.16);
}
@supports ((background-clip:text) or (-webkit-background-clip:text)) {
  .academy-condensed-home .decision-hero .decision-impact-heading {
    color:transparent;
    background:linear-gradient(105deg,#fff 0%,#fff 40%,#75ffe9 49%,#fff 58%,#fff 100%);
    background-size:260% 100%;
    background-position:100% 0;
    -webkit-background-clip:text;
    background-clip:text;
    animation:decisionTextSweep 6.8s ease-in-out infinite;
  }
}
.academy-condensed-home .decision-hero .decision-impact-heading::after {
  content:"";
  display:block;
  width:96px;
  height:2px;
  margin:24px 0 0;
  background:linear-gradient(90deg,#4ff5dc,rgba(79,245,220,.08),transparent);
  box-shadow:0 0 18px rgba(79,245,220,.62);
  transform-origin:left center;
  animation:decisionLinePulse 3.4s ease-in-out infinite;
}
@keyframes decisionPanelSweep {
  0%,18% { left:-28%; opacity:0; }
  45% { opacity:1; }
  72%,100% { left:108%; opacity:0; }
}
@keyframes decisionTextSweep {
  0%,24% { background-position:100% 0; }
  64%,100% { background-position:-100% 0; }
}
@keyframes decisionLinePulse {
  0%,100% { opacity:.48; transform:scaleX(.72); }
  50% { opacity:1; transform:scaleX(1); }
}

.academy-contact {
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(460px,1.18fr);
  gap:clamp(48px,7vw,104px);
  align-items:start;
  padding:clamp(72px,8vw,112px) max(24px,calc((100vw - 1240px) / 2));
  color:#101817;
  background:#fff;
}
.academy-contact-copy > span {
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#007d70;
  font-size:11px;
  font-weight:850;
  text-transform:uppercase;
}
.academy-contact-copy > span svg { width:18px; }
.academy-contact-copy h2 { margin:16px 0 20px; color:#0e1716; font-size:clamp(34px,4vw,52px); line-height:1.06; letter-spacing:0; }
.academy-contact-copy > p { max-width:560px; margin:0; color:#5d6967; font-size:16px; line-height:1.65; }
.academy-contact-direct { display:grid; gap:0; margin-top:34px; border-top:1px solid #d7e0de; }
.academy-contact-direct a { display:grid; grid-template-columns:38px minmax(0,1fr); gap:12px; align-items:center; padding:17px 0; color:#101817; border-bottom:1px solid #d7e0de; }
.academy-contact-direct a > svg { width:22px; color:#009b8d; transition:transform .2s ease; }
.academy-contact-direct a:hover > svg { transform:translateX(3px); }
.academy-contact-direct small,.academy-contact-direct strong { display:block; }
.academy-contact-direct small { margin-bottom:3px; color:#71807d; font-size:10px; font-weight:800; text-transform:uppercase; }
.academy-contact-direct strong { overflow-wrap:anywhere; font-size:14px; }
.academy-contact-copy .academy-contact-response { display:flex; align-items:center; gap:8px; margin-top:22px; color:#006f64; font-size:12px; font-weight:750; }
.academy-contact-response svg { width:17px; }
.academy-contact-form { padding:clamp(24px,4vw,40px); border:1px solid #cbd7d4; border-radius:8px; background:#f7faf9; box-shadow:0 24px 58px rgba(7,27,24,.09); }
.academy-contact-form form { display:grid; gap:18px; }
.academy-contact-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; }
.academy-contact-form label { display:grid; gap:7px; color:#34423f; font-size:11px; font-weight:800; }
.academy-contact-form input,.academy-contact-form textarea { width:100%; border:1px solid #bdcbc8; border-radius:5px; outline:0; color:#101817; background:#fff; font:inherit; font-size:14px; transition:border-color .2s ease,box-shadow .2s ease; }
.academy-contact-form input { height:48px; padding:0 13px; }
.academy-contact-form textarea { min-height:130px; padding:12px 13px; resize:vertical; line-height:1.5; }
.academy-contact-form input:focus,.academy-contact-form textarea:focus { border-color:#009b8d; box-shadow:0 0 0 3px rgba(0,155,141,.12); }
.academy-contact-form input::placeholder,.academy-contact-form textarea::placeholder { color:#8b9694; }
.academy-contact-form .academy-contact-consent { grid-template-columns:18px minmax(0,1fr); align-items:start; gap:10px; color:#66726f; font-size:11px; font-weight:550; line-height:1.5; }
.academy-contact-consent input { width:18px; height:18px; margin:1px 0 0; accent-color:#009b8d; }
.academy-contact-form .academy-home-btn { width:100%; justify-content:center; }
.academy-contact-trap { position:absolute !important; left:-10000px !important; width:1px !important; height:1px !important; overflow:hidden !important; }
.academy-contact-error { margin:0 0 16px; padding:12px 14px; border-left:3px solid #bb3b3b; color:#772626; background:#fff1f1; font-size:13px; line-height:1.5; }
.academy-contact-success { min-height:280px; display:grid; grid-template-columns:48px minmax(0,1fr); gap:18px; align-content:center; align-items:start; }
.academy-contact-success > svg { width:42px; height:42px; color:#009b8d; }
.academy-contact-success strong,.academy-contact-success small { display:block; }
.academy-contact-success strong { color:#101817; font-size:24px; }
.academy-contact-success small { margin-top:8px; color:#62706d; font-size:14px; line-height:1.55; }

.inmersiva-footer { max-width:none; margin:0; padding:64px max(24px,calc((100vw - 1240px) / 2)) 24px; color:#d8e2e0; border:0; background:#07100f; }
.inmersiva-footer-main { display:grid; grid-template-columns:minmax(270px,1.45fr) repeat(3,minmax(140px,.55fr)); gap:48px; padding-bottom:48px; }
.inmersiva-footer-main > div,.inmersiva-footer-main > nav { display:grid; align-content:start; gap:10px; }
.inmersiva-footer-main > nav > strong,.inmersiva-footer-contact > strong { margin-bottom:6px; color:#75ffe9; font-size:11px; text-transform:uppercase; }
.inmersiva-footer-main a,.inmersiva-footer-main span { color:rgba(226,239,236,.7); font-size:13px; line-height:1.5; }
.inmersiva-footer-main a:hover { color:#fff; }
.inmersiva-footer-brand-logo {
  display:inline-flex;
  width:min(230px,100%);
  align-items:center;
  opacity:.98;
  transition:opacity .2s ease,transform .2s ease;
}
.inmersiva-footer-brand-logo:hover { opacity:1; transform:translateY(-2px); }
.inmersiva-footer-brand-logo img {
  display:block;
  width:100%;
  height:auto;
  filter:grayscale(1) brightness(0) invert(1);
}
.inmersiva-footer-brand p { max-width:330px; margin:8px 0 0; color:#fff; font-size:17px; line-height:1.45; }
.inmersiva-footer-brand small { max-width:360px; color:rgba(226,239,236,.55); font-size:12px; line-height:1.55; }
.inmersiva-footer-bottom { display:flex; justify-content:space-between; gap:20px; padding-top:22px; color:rgba(226,239,236,.48); border-top:1px solid rgba(255,255,255,.13); font-size:11px; }
.inmersiva-footer-bottom a { display:inline-flex; align-items:center; gap:5px; color:#8ff4e6; }
.inmersiva-footer-bottom svg { width:14px; }

@media (max-width:900px) {
  .academy-contact { grid-template-columns:1fr; }
  .inmersiva-footer-main { grid-template-columns:1.2fr repeat(2,1fr); }
  .inmersiva-footer-contact { grid-column:2; }
}
@media (max-width:560px) {
  .academy-condensed-home .decision-cta h2 { font-size:38px; }
  .academy-contact { grid-template-columns:1fr; gap:38px; padding:58px 20px; }
  .academy-contact-copy h2 { font-size:34px; }
  .academy-contact-fields { grid-template-columns:1fr; }
  .academy-contact-form { padding:22px 16px; }
  .inmersiva-footer { padding:50px 20px 22px; }
  .inmersiva-footer-main { grid-template-columns:1fr 1fr; gap:34px 24px; }
  .inmersiva-footer-brand { grid-column:1 / -1; }
  .inmersiva-footer-contact { grid-column:auto; }
  .inmersiva-footer-bottom { display:grid; }
}
@media (prefers-reduced-motion:reduce) {
  .academy-condensed-home .decision-cta::before,
  .academy-condensed-home .decision-cta h2,
  .academy-condensed-home .decision-cta h2::after,
  .academy-condensed-home .decision-hero .decision-impact-heading,
  .academy-condensed-home .decision-hero .decision-impact-heading::after { animation:none; }
}

/* v1.39: MIA despejada y mensajes visibles en escritorio y móvil. */
.academy-condensed-home .decision-hero-copy > p { max-width:590px; }
.academy-condensed-home .decision-audience {
  position:relative;
  border-top:0;
}
.academy-condensed-home .decision-audience::before {
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:min(100%,540px);
  height:1px;
  background:linear-gradient(90deg,rgba(255,255,255,.25),rgba(143,244,230,.2) 72%,transparent);
}
.academy-condensed-home .decision-hero-mia > img { z-index:2; }
.academy-condensed-home .decision-mia-prompt {
  z-index:6;
  left:-130px;
  bottom:118px;
  width:330px;
  overflow:hidden;
  border-color:rgba(126,255,235,.72);
  background:linear-gradient(145deg,rgba(5,30,28,.96),rgba(8,22,25,.94));
  box-shadow:0 22px 54px rgba(0,0,0,.4),0 0 28px rgba(45,212,191,.14);
}
.academy-condensed-home .decision-mia-prompt > * { position:relative; z-index:2; }
.academy-condensed-home .decision-mia-prompt::after {
  content:"";
  position:absolute;
  z-index:1;
  inset:-1px;
  padding:1.5px;
  border-radius:inherit;
  pointer-events:none;
  background:conic-gradient(from var(--academy-button-light),transparent 0 54%,rgba(126,255,235,.2) 63%,#8ff4e6 70%,#fff 73%,rgba(244,201,93,.8) 77%,transparent 88%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  mask-composite:exclude;
  filter:drop-shadow(0 0 7px rgba(82,245,221,.82));
  animation:academyButtonContour 4.6s linear infinite;
}
.academy-condensed-home .decision-mia-prompt strong.is-typing {
  color:#e9fffb;
  text-shadow:0 0 16px rgba(99,255,232,.44);
}
.academy-condensed-home .decision-mia-prompt.is-entering { animation:miaPromptEnter .62s cubic-bezier(.2,.8,.2,1) both; }
.academy-condensed-home .decision-mia-prompt.is-refreshing { animation:miaPromptExit .42s ease both; }
@keyframes miaPromptEnter {
  0% { opacity:.25; transform:translateY(12px) scale(.97); filter:blur(5px); }
  58% { opacity:1; transform:translateY(-3px) scale(1.012); filter:blur(0); box-shadow:0 28px 68px rgba(0,0,0,.46),0 0 42px rgba(64,239,214,.28); }
  100% { opacity:1; transform:translateY(0) scale(1); filter:blur(0); }
}
@keyframes miaPromptExit {
  0% { opacity:1; transform:translateY(0) scale(1); }
  52% { opacity:.24; transform:translateY(-5px) scale(.985); filter:blur(4px); }
  100% { opacity:.06; transform:translateY(8px) scale(.97); filter:blur(7px); }
}
@media (max-width:840px) {
  .academy-condensed-home .decision-hero { min-height:auto; }
  .academy-condensed-home .decision-hero-inner {
    width:min(100% - 32px,700px);
    min-height:0;
    display:grid;
    grid-template-columns:minmax(0,1fr);
    align-content:start;
    gap:0;
    padding:58px 0 54px;
  }
  .academy-condensed-home .decision-hero-copy { display:contents; }
  .academy-condensed-home .decision-system-kicker { order:1; }
  .academy-condensed-home .decision-hero h1 { order:2; }
  .academy-condensed-home .decision-hero-copy > p { order:3; }
  .academy-condensed-home .decision-hero-mia {
    position:relative;
    z-index:3;
    inset:auto;
    order:4;
    min-height:450px;
    margin-top:12px;
    overflow:visible;
    pointer-events:none;
  }
  .academy-condensed-home .decision-actions { position:relative; z-index:7; order:5; margin-top:18px; }
  .academy-condensed-home .decision-audience { position:relative; z-index:7; order:6; }
  .academy-condensed-home .decision-hero-mia > img {
    right:-10px;
    bottom:-24px;
    width:430px;
    max-width:none;
    opacity:1;
  }
  .academy-condensed-home .decision-mia-prompt {
    display:block;
    left:0;
    bottom:20px;
    width:min(310px,76%);
    padding:15px;
  }
  .academy-condensed-home .decision-mia-prompt strong { min-height:2.35em; font-size:19px; }
  .academy-condensed-home .decision-mia-prompt p { font-size:12px; }
}
@media (max-width:560px) {
  .academy-condensed-home .decision-hero-inner { display:grid; padding-top:42px; }
  .academy-condensed-home .decision-hero-mia { min-height:390px; margin-top:8px; }
  .academy-condensed-home .decision-hero-mia > img { right:-24px; bottom:-16px; width:370px; }
  .academy-condensed-home .decision-mia-prompt { left:0; bottom:8px; width:248px; padding:13px; }
  .academy-condensed-home .decision-mia-prompt > span { font-size:9px; }
  .academy-condensed-home .decision-mia-prompt strong { margin-top:7px; font-size:17px; }
  .academy-condensed-home .decision-mia-prompt p { display:none; }
  .academy-condensed-home .decision-actions { margin-top:16px; }
  .academy-condensed-home .decision-audience { margin-top:22px; }
}
@media (prefers-reduced-motion:reduce) {
  .academy-condensed-home .decision-mia-prompt::after { animation:none; }
  .academy-condensed-home .decision-mia-prompt.is-entering,
  .academy-condensed-home .decision-mia-prompt.is-refreshing { animation:none; }
}
