/* PLABS · Mundo Idiomas / Inglés / ES / FR / DE — hub + map (FIXED selectors 20261104) */
@import url("https://fonts.googleapis.com/css2?family=Nunito:wght@600;700;800&family=Space+Grotesk:wght@500;700&display=swap");

body.pl-kids[data-world="idiomas"] #app,
body.pl-kids[data-world="ingles"] #app,
body.pl-kids[data-world="espanol"] #app,
body.pl-kids[data-world="frances"] #app,
body.pl-kids[data-world="aleman"] #app,
body[data-world="idiomas"] #app,
body[data-world="ingles"] #app,
body[data-world="espanol"] #app,
body[data-world="frances"] #app,
body[data-world="aleman"] #app,
#app.theme-idiomas-map,
#app.theme-lingo-map {
  font-family: "Nunito", "Segoe UI", system-ui, sans-serif !important;
  max-width: none !important;
  background:
    radial-gradient(1100px 520px at 12% -8%, rgba(184, 224, 58, 0.12), transparent 55%),
    radial-gradient(900px 480px at 92% 8%, rgba(94, 140, 255, 0.12), transparent 50%),
    #07060f !important;
  color: #e8eefc !important;
}

body.pl-kids[data-world="idiomas"] #starfield,
body.pl-kids[data-world="ingles"] #starfield,
body.pl-kids[data-world="espanol"] #starfield,
body.pl-kids[data-world="frances"] #starfield,
body.pl-kids[data-world="aleman"] #starfield,
body[data-world="idiomas"] #starfield,
body[data-world="ingles"] #starfield,
body[data-world="espanol"] #starfield,
body[data-world="frances"] #starfield,
body[data-world="aleman"] #starfield {
  display: none !important;
}

body.pl-kids[data-world="idiomas"] .hud,
body.pl-kids[data-world="ingles"] .hud,
body.pl-kids[data-world="espanol"] .hud,
body.pl-kids[data-world="frances"] .hud,
body.pl-kids[data-world="aleman"] .hud,
body[data-world="idiomas"] .hud,
body[data-world="ingles"] .hud,
body[data-world="espanol"] .hud,
body[data-world="frances"] .hud,
body[data-world="aleman"] .hud {
  background: rgba(7, 6, 15, 0.9) !important;
  border-bottom: 1px solid rgba(184, 224, 58, 0.22) !important;
  box-shadow: none !important;
  color: #e8eefc !important;
  backdrop-filter: none !important;
}

body.pl-kids[data-world="idiomas"] .hud__name,
body.pl-kids[data-world="ingles"] .hud__name,
body.pl-kids[data-world="espanol"] .hud__name,
body.pl-kids[data-world="frances"] .hud__name,
body.pl-kids[data-world="aleman"] .hud__name,
body[data-world="idiomas"] .hud__name,
body[data-world="ingles"] .hud__name,
body[data-world="espanol"] .hud__name,
body[data-world="frances"] .hud__name,
body[data-world="aleman"] .hud__name,
body.pl-kids[data-world="idiomas"] .stat,
body.pl-kids[data-world="ingles"] .stat,
body.pl-kids[data-world="espanol"] .stat,
body.pl-kids[data-world="frances"] .stat,
body.pl-kids[data-world="aleman"] .stat,
body[data-world="idiomas"] .stat,
body[data-world="ingles"] .stat,
body[data-world="espanol"] .stat,
body[data-world="frances"] .stat,
body[data-world="aleman"] .stat,
body.pl-kids[data-world="idiomas"] .lang,
body.pl-kids[data-world="ingles"] .lang,
body.pl-kids[data-world="espanol"] .lang,
body.pl-kids[data-world="frances"] .lang,
body.pl-kids[data-world="aleman"] .lang,
body[data-world="idiomas"] .lang,
body[data-world="ingles"] .lang,
body[data-world="espanol"] .lang,
body[data-world="frances"] .lang,
body[data-world="aleman"] .lang,
body.pl-kids[data-world="idiomas"] .hud__back,
body.pl-kids[data-world="ingles"] .hud__back,
body.pl-kids[data-world="espanol"] .hud__back,
body.pl-kids[data-world="frances"] .hud__back,
body.pl-kids[data-world="aleman"] .hud__back,
body[data-world="idiomas"] .hud__back,
body[data-world="ingles"] .hud__back,
body[data-world="espanol"] .hud__back,
body[data-world="frances"] .hud__back,
body[data-world="aleman"] .hud__back {
  font-family: "Nunito", "Segoe UI", system-ui, sans-serif !important;
  color: #e8eefc !important;
  background: rgba(255, 255, 255, 0.04) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  box-shadow: none !important;
}

body.pl-kids[data-world="idiomas"] .hud__back,
body.pl-kids[data-world="ingles"] .hud__back,
body.pl-kids[data-world="espanol"] .hud__back,
body.pl-kids[data-world="frances"] .hud__back,
body.pl-kids[data-world="aleman"] .hud__back,
body[data-world="idiomas"] .hud__back,
body[data-world="ingles"] .hud__back,
body[data-world="espanol"] .hud__back,
body[data-world="frances"] .hud__back,
body[data-world="aleman"] .hud__back {
  color: #b8e03a !important;
  border-color: rgba(184, 224, 58, 0.35) !important;
}

/* Hub map */
body.pl-kids[data-world="idiomas"] .mapwrap,
body.pl-kids[data-world="ingles"] .mapwrap,
body.pl-kids[data-world="espanol"] .mapwrap,
body.pl-kids[data-world="frances"] .mapwrap,
body.pl-kids[data-world="aleman"] .mapwrap,
body[data-world="idiomas"] .mapwrap,
body[data-world="ingles"] .mapwrap,
body[data-world="espanol"] .mapwrap,
body[data-world="frances"] .mapwrap,
body[data-world="aleman"] .mapwrap,
body.pl-kids[data-world="idiomas"] .mapwrap--lingo,
body.pl-kids[data-world="ingles"] .mapwrap--lingo,
body.pl-kids[data-world="espanol"] .mapwrap--lingo,
body.pl-kids[data-world="frances"] .mapwrap--lingo,
body.pl-kids[data-world="aleman"] .mapwrap--lingo,
body[data-world="idiomas"] .mapwrap--lingo,
body[data-world="ingles"] .mapwrap--lingo,
body[data-world="espanol"] .mapwrap--lingo,
body[data-world="frances"] .mapwrap--lingo,
body[data-world="aleman"] .mapwrap--lingo,
body.pl-kids[data-world="idiomas"] .mapwrap--idiomas,
body.pl-kids[data-world="ingles"] .mapwrap--idiomas,
body.pl-kids[data-world="espanol"] .mapwrap--idiomas,
body.pl-kids[data-world="frances"] .mapwrap--idiomas,
body.pl-kids[data-world="aleman"] .mapwrap--idiomas,
body[data-world="idiomas"] .mapwrap--idiomas,
body[data-world="ingles"] .mapwrap--idiomas,
body[data-world="espanol"] .mapwrap--idiomas,
body[data-world="frances"] .mapwrap--idiomas,
body[data-world="aleman"] .mapwrap--idiomas,
body.pl-kids[data-world="idiomas"] .mapwrap--ingles,
body.pl-kids[data-world="ingles"] .mapwrap--ingles,
body.pl-kids[data-world="espanol"] .mapwrap--ingles,
body.pl-kids[data-world="frances"] .mapwrap--ingles,
body.pl-kids[data-world="aleman"] .mapwrap--ingles,
body[data-world="idiomas"] .mapwrap--ingles,
body[data-world="ingles"] .mapwrap--ingles,
body[data-world="espanol"] .mapwrap--ingles,
body[data-world="frances"] .mapwrap--ingles,
body[data-world="aleman"] .mapwrap--ingles {
  position: relative !important;
  max-width: 960px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 28px 18px 120px !important;
  min-height: calc(100vh - 64px) !important;
  background: transparent !important;
  background-image: none !important;
}

body.pl-kids[data-world="idiomas"] .mapwrap--lingo::before,
body.pl-kids[data-world="ingles"] .mapwrap--lingo::before,
body.pl-kids[data-world="espanol"] .mapwrap--lingo::before,
body.pl-kids[data-world="frances"] .mapwrap--lingo::before,
body.pl-kids[data-world="aleman"] .mapwrap--lingo::before,
body[data-world="idiomas"] .mapwrap--lingo::before,
body[data-world="ingles"] .mapwrap--lingo::before,
body[data-world="espanol"] .mapwrap--lingo::before,
body[data-world="frances"] .mapwrap--lingo::before,
body[data-world="aleman"] .mapwrap--lingo::before,
body.pl-kids[data-world="idiomas"] .mappath,
body.pl-kids[data-world="ingles"] .mappath,
body.pl-kids[data-world="espanol"] .mappath,
body.pl-kids[data-world="frances"] .mappath,
body.pl-kids[data-world="aleman"] .mappath,
body[data-world="idiomas"] .mappath,
body[data-world="ingles"] .mappath,
body[data-world="espanol"] .mappath,
body[data-world="frances"] .mappath,
body[data-world="aleman"] .mappath {
  display: none !important;
}

/* Hide classic path nodes / hero — hub uses .id-hub cards instead */
body.pl-kids[data-world="idiomas"] .node,
body.pl-kids[data-world="ingles"] .node,
body.pl-kids[data-world="espanol"] .node,
body.pl-kids[data-world="frances"] .node,
body.pl-kids[data-world="aleman"] .node,
body[data-world="idiomas"] .node,
body[data-world="ingles"] .node,
body[data-world="espanol"] .node,
body[data-world="frances"] .node,
body[data-world="aleman"] .node,
body.pl-kids[data-world="idiomas"] .map-lingo-hero,
body.pl-kids[data-world="ingles"] .map-lingo-hero,
body.pl-kids[data-world="espanol"] .map-lingo-hero,
body.pl-kids[data-world="frances"] .map-lingo-hero,
body.pl-kids[data-world="aleman"] .map-lingo-hero,
body[data-world="idiomas"] .map-lingo-hero,
body[data-world="ingles"] .map-lingo-hero,
body[data-world="espanol"] .map-lingo-hero,
body[data-world="frances"] .map-lingo-hero,
body[data-world="aleman"] .map-lingo-hero,
body.pl-kids[data-world="idiomas"] .unit-banner--lingo,
body.pl-kids[data-world="ingles"] .unit-banner--lingo,
body.pl-kids[data-world="espanol"] .unit-banner--lingo,
body.pl-kids[data-world="frances"] .unit-banner--lingo,
body.pl-kids[data-world="aleman"] .unit-banner--lingo,
body[data-world="idiomas"] .unit-banner--lingo,
body[data-world="ingles"] .unit-banner--lingo,
body[data-world="espanol"] .unit-banner--lingo,
body[data-world="frances"] .unit-banner--lingo,
body[data-world="aleman"] .unit-banner--lingo {
  display: none !important;
}

body.pl-kids[data-world="idiomas"] .node--lingo.node--active::before,
body.pl-kids[data-world="ingles"] .node--lingo.node--active::before,
body.pl-kids[data-world="espanol"] .node--lingo.node--active::before,
body.pl-kids[data-world="frances"] .node--lingo.node--active::before,
body.pl-kids[data-world="aleman"] .node--lingo.node--active::before,
body[data-world="idiomas"] .node--lingo.node--active::before,
body[data-world="ingles"] .node--lingo.node--active::before,
body[data-world="espanol"] .node--lingo.node--active::before,
body[data-world="frances"] .node--lingo.node--active::before,
body[data-world="aleman"] .node--lingo.node--active::before,
body.pl-kids[data-world="idiomas"] .node--active::before,
body.pl-kids[data-world="ingles"] .node--active::before,
body.pl-kids[data-world="espanol"] .node--active::before,
body.pl-kids[data-world="frances"] .node--active::before,
body.pl-kids[data-world="aleman"] .node--active::before,
body[data-world="idiomas"] .node--active::before,
body[data-world="ingles"] .node--active::before,
body[data-world="espanol"] .node--active::before,
body[data-world="frances"] .node--active::before,
body[data-world="aleman"] .node--active::before {
  content: none !important;
  display: none !important;
}

body.pl-kids[data-world="idiomas"] .map,
body.pl-kids[data-world="ingles"] .map,
body.pl-kids[data-world="espanol"] .map,
body.pl-kids[data-world="frances"] .map,
body.pl-kids[data-world="aleman"] .map,
body[data-world="idiomas"] .map,
body[data-world="ingles"] .map,
body[data-world="espanol"] .map,
body[data-world="frances"] .map,
body[data-world="aleman"] .map {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.id-hub__hero { display: grid; gap: 6px; margin: 0 0 22px; }
.id-hub__kicker {
  margin: 0; font-size: 11px; font-weight: 800; letter-spacing: 0.14em;
  text-transform: uppercase; color: #b8e03a;
  font-family: "Nunito", "Segoe UI", system-ui, sans-serif;
}
.id-hub__title {
  margin: 0; font-family: "Space Grotesk", "Nunito", system-ui, sans-serif;
  font-weight: 700; font-size: clamp(1.55rem, 3vw, 2.1rem);
  letter-spacing: -0.03em; color: #e8eefc; line-height: 1.15;
}
.id-hub__lead {
  margin: 0; max-width: 42rem; font-weight: 600; font-size: 0.98rem;
  line-height: 1.45; color: rgba(232, 238, 252, 0.72);
  font-family: "Nunito", "Segoe UI", system-ui, sans-serif;
}
.id-hub__unit {
  margin: 22px 0 10px; font-size: 12px; font-weight: 800; letter-spacing: 0.08em;
  text-transform: uppercase; color: rgba(184, 224, 58, 0.95);
}
.id-hub__grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 12px;
}
.id-hub__card {
  appearance: none; text-align: left; cursor: pointer;
  border-radius: 16px; border: 1px solid rgba(184, 224, 58, 0.22);
  background: rgba(18, 16, 28, 0.92); color: #e8eefc;
  padding: 14px 14px 12px; display: grid; gap: 6px;
  font-family: "Nunito", system-ui, sans-serif;
  transition: border-color .15s ease, transform .15s ease;
}
.id-hub__card:hover { border-color: rgba(184, 224, 58, 0.55); transform: translateY(-1px); }
.id-hub__card.is-active { border-color: #b8e03a; box-shadow: 0 0 0 1px rgba(184,224,58,.35); }
.id-hub__card.is-done { opacity: .85; }
.id-hub__card.is-locked { opacity: .45; cursor: not-allowed; }
.id-hub__emoji { font-size: 1.45rem; line-height: 1; }
.id-hub__name { font-weight: 800; font-size: .95rem; line-height: 1.25; }
.id-hub__meta { font-size: .78rem; color: rgba(232,238,252,.55); font-weight: 700; }
.id-hub__soon { margin-top: 12px; }
.id-hub__card.is-soon { cursor: default; opacity: .7; }

body.pl-kids[data-world="idiomas"] #lessonModal .lesson,
body.pl-kids[data-world="ingles"] #lessonModal .lesson,
body.pl-kids[data-world="espanol"] #lessonModal .lesson,
body.pl-kids[data-world="frances"] #lessonModal .lesson,
body.pl-kids[data-world="aleman"] #lessonModal .lesson,
body[data-world="idiomas"] #lessonModal .lesson,
body[data-world="ingles"] #lessonModal .lesson,
body[data-world="espanol"] #lessonModal .lesson,
body[data-world="frances"] #lessonModal .lesson,
body[data-world="aleman"] #lessonModal .lesson {
  background: #12101c !important;
  border: 1px solid rgba(184, 224, 58, 0.22) !important;
  color: #e8eefc !important;
}

body.pl-kids[data-world="idiomas"] .lesson__title,
body.pl-kids[data-world="ingles"] .lesson__title,
body.pl-kids[data-world="espanol"] .lesson__title,
body.pl-kids[data-world="frances"] .lesson__title,
body.pl-kids[data-world="aleman"] .lesson__title,
body[data-world="idiomas"] .lesson__title,
body[data-world="ingles"] .lesson__title,
body[data-world="espanol"] .lesson__title,
body[data-world="frances"] .lesson__title,
body[data-world="aleman"] .lesson__title {
  font-family: "Space Grotesk", "Nunito", system-ui, sans-serif !important;
  color: #e8eefc !important;
}

body.pl-kids[data-world="idiomas"] .lesson__goal,
body.pl-kids[data-world="ingles"] .lesson__goal,
body.pl-kids[data-world="espanol"] .lesson__goal,
body.pl-kids[data-world="frances"] .lesson__goal,
body.pl-kids[data-world="aleman"] .lesson__goal,
body[data-world="idiomas"] .lesson__goal,
body[data-world="ingles"] .lesson__goal,
body[data-world="espanol"] .lesson__goal,
body[data-world="frances"] .lesson__goal,
body[data-world="aleman"] .lesson__goal {
  color: rgba(232, 238, 252, 0.75) !important;
}

body.pl-kids[data-world="idiomas"] .lesson__close,
body.pl-kids[data-world="ingles"] .lesson__close,
body.pl-kids[data-world="espanol"] .lesson__close,
body.pl-kids[data-world="frances"] .lesson__close,
body.pl-kids[data-world="aleman"] .lesson__close,
body[data-world="idiomas"] .lesson__close,
body[data-world="ingles"] .lesson__close,
body[data-world="espanol"] .lesson__close,
body[data-world="frances"] .lesson__close,
body[data-world="aleman"] .lesson__close {
  color: #b8e03a !important;
}

body.pl-kids[data-world="idiomas"] #lessonModal:has(.pl-idiomaslab) .plux-dock,
body.pl-kids[data-world="ingles"] #lessonModal:has(.pl-idiomaslab) .plux-dock,
body.pl-kids[data-world="espanol"] #lessonModal:has(.pl-idiomaslab) .plux-dock,
body.pl-kids[data-world="frances"] #lessonModal:has(.pl-idiomaslab) .plux-dock,
body.pl-kids[data-world="aleman"] #lessonModal:has(.pl-idiomaslab) .plux-dock,
body[data-world="idiomas"] #lessonModal:has(.pl-idiomaslab) .plux-dock,
body[data-world="ingles"] #lessonModal:has(.pl-idiomaslab) .plux-dock,
body[data-world="espanol"] #lessonModal:has(.pl-idiomaslab) .plux-dock,
body[data-world="frances"] #lessonModal:has(.pl-idiomaslab) .plux-dock,
body[data-world="aleman"] #lessonModal:has(.pl-idiomaslab) .plux-dock {
  border-color: rgba(184, 224, 58, 0.25) !important;
}

body.pl-kids[data-world="idiomas"] #lessonModal:has(.pl-idiomaslab) .plux-dock__body,
body.pl-kids[data-world="ingles"] #lessonModal:has(.pl-idiomaslab) .plux-dock__body,
body.pl-kids[data-world="espanol"] #lessonModal:has(.pl-idiomaslab) .plux-dock__body,
body.pl-kids[data-world="frances"] #lessonModal:has(.pl-idiomaslab) .plux-dock__body,
body.pl-kids[data-world="aleman"] #lessonModal:has(.pl-idiomaslab) .plux-dock__body,
body[data-world="idiomas"] #lessonModal:has(.pl-idiomaslab) .plux-dock__body,
body[data-world="ingles"] #lessonModal:has(.pl-idiomaslab) .plux-dock__body,
body[data-world="espanol"] #lessonModal:has(.pl-idiomaslab) .plux-dock__body,
body[data-world="frances"] #lessonModal:has(.pl-idiomaslab) .plux-dock__body,
body[data-world="aleman"] #lessonModal:has(.pl-idiomaslab) .plux-dock__body,
body.pl-kids[data-world="idiomas"] #lessonModal:has(.pl-idiomaslab) .plux-aku,
body.pl-kids[data-world="ingles"] #lessonModal:has(.pl-idiomaslab) .plux-aku,
body.pl-kids[data-world="espanol"] #lessonModal:has(.pl-idiomaslab) .plux-aku,
body.pl-kids[data-world="frances"] #lessonModal:has(.pl-idiomaslab) .plux-aku,
body.pl-kids[data-world="aleman"] #lessonModal:has(.pl-idiomaslab) .plux-aku,
body[data-world="idiomas"] #lessonModal:has(.pl-idiomaslab) .plux-aku,
body[data-world="ingles"] #lessonModal:has(.pl-idiomaslab) .plux-aku,
body[data-world="espanol"] #lessonModal:has(.pl-idiomaslab) .plux-aku,
body[data-world="frances"] #lessonModal:has(.pl-idiomaslab) .plux-aku,
body[data-world="aleman"] #lessonModal:has(.pl-idiomaslab) .plux-aku {
  color: #e8eefc !important;
}

body.pl-kids[data-world="idiomas"] #lessonModal:has(.pl-idiomaslab) .plux-dock .btn,
body.pl-kids[data-world="ingles"] #lessonModal:has(.pl-idiomaslab) .plux-dock .btn,
body.pl-kids[data-world="espanol"] #lessonModal:has(.pl-idiomaslab) .plux-dock .btn,
body.pl-kids[data-world="frances"] #lessonModal:has(.pl-idiomaslab) .plux-dock .btn,
body.pl-kids[data-world="aleman"] #lessonModal:has(.pl-idiomaslab) .plux-dock .btn,
body[data-world="idiomas"] #lessonModal:has(.pl-idiomaslab) .plux-dock .btn,
body[data-world="ingles"] #lessonModal:has(.pl-idiomaslab) .plux-dock .btn,
body[data-world="espanol"] #lessonModal:has(.pl-idiomaslab) .plux-dock .btn,
body[data-world="frances"] #lessonModal:has(.pl-idiomaslab) .plux-dock .btn,
body[data-world="aleman"] #lessonModal:has(.pl-idiomaslab) .plux-dock .btn,
body.pl-kids[data-world="idiomas"] #lessonModal:has(.pl-idiomaslab) .plux-dock button,
body.pl-kids[data-world="ingles"] #lessonModal:has(.pl-idiomaslab) .plux-dock button,
body.pl-kids[data-world="espanol"] #lessonModal:has(.pl-idiomaslab) .plux-dock button,
body.pl-kids[data-world="frances"] #lessonModal:has(.pl-idiomaslab) .plux-dock button,
body.pl-kids[data-world="aleman"] #lessonModal:has(.pl-idiomaslab) .plux-dock button,
body[data-world="idiomas"] #lessonModal:has(.pl-idiomaslab) .plux-dock button,
body[data-world="ingles"] #lessonModal:has(.pl-idiomaslab) .plux-dock button,
body[data-world="espanol"] #lessonModal:has(.pl-idiomaslab) .plux-dock button,
body[data-world="frances"] #lessonModal:has(.pl-idiomaslab) .plux-dock button,
body[data-world="aleman"] #lessonModal:has(.pl-idiomaslab) .plux-dock button {
  font-family: "Nunito", system-ui, sans-serif !important;
}
