/*
  LinguaBoost Lab unified lesson skeleton.
  Scope: body.nge-unified-lab only. This layer normalizes the lesson shell
  without changing exercise markup, text, counts, or game logic.
*/

body.nge-unified-lab {
  --nge-max: min(100% - 48px, 1240px);
  --nge-topbar-h: 62px;
  --nge-radius-lg: 24px;
  --nge-radius-md: 18px;
  --nge-radius-sm: 12px;
  --nge-line: color-mix(in srgb, var(--accent2, var(--accent, #7a4df3)) 18%, rgba(16, 16, 18, .14));
  --nge-shadow: 0 24px 70px color-mix(in srgb, var(--accent2, var(--accent, #7a4df3)) 12%, transparent);
  --nge-card: var(--card, var(--surface, #fffdf8));
  --nge-ink: var(--ink, var(--text, #151319));
  --nge-muted: var(--muted, #67616f);
  font-family: var(--body, "Manrope", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
  color: var(--nge-ink);
}

body.nge-unified-lab .topbar,
body.nge-unified-lab .lab-topbar,
body.nge-unified-lab .friendly-topbar {
  width: 100% !important;
  min-height: var(--nge-topbar-h) !important;
  padding: 10px max(24px, calc((100vw - 1240px) / 2 + 24px)) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  border-bottom: 1px solid rgba(20, 20, 24, .08) !important;
  background: color-mix(in srgb, var(--bg, #fff9ef) 86%, rgba(255, 255, 255, .82)) !important;
  box-shadow: 0 12px 36px rgba(24, 20, 38, .07) !important;
  backdrop-filter: blur(14px);
}

body.nge-unified-lab .brand,
body.nge-unified-lab .lab-brand,
body.nge-unified-lab .friendly-brand {
  min-width: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  text-decoration: none !important;
}

body.nge-unified-lab .brand-name,
body.nge-unified-lab .lab-brand span,
body.nge-unified-lab .brand-text,
body.nge-unified-lab .logo-text {
  font-family: var(--display, "Unbounded", "Manrope", system-ui, sans-serif) !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  line-height: 1.05 !important;
}

body.nge-unified-lab .topbar-nav,
body.nge-unified-lab .lab-nav,
body.nge-unified-lab .friendly-nav {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  margin-left: auto !important;
  min-width: 0 !important;
}

body.nge-unified-lab .top-link,
body.nge-unified-lab .lab-back,
body.nge-unified-lab .lab-nav a,
body.nge-unified-lab .topbar-nav a,
body.nge-unified-lab .school-top-link {
  min-height: 34px !important;
  padding: 8px 12px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: var(--nge-radius-sm) !important;
  font-family: var(--mono, "JetBrains Mono", Consolas, monospace) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  color: var(--nge-muted) !important;
  text-decoration: none !important;
}

body.nge-unified-lab .top-link:hover,
body.nge-unified-lab .lab-nav a:hover,
body.nge-unified-lab .school-top-link:hover {
  background: color-mix(in srgb, var(--accent, #ff8a3d) 13%, transparent) !important;
  color: var(--accent2, var(--accent, #7a4df3)) !important;
}

body.nge-unified-lab .nge-shell-topbar {
  position: sticky !important;
  top: 0 !important;
  z-index: 100 !important;
  width: 100% !important;
  min-height: var(--nge-topbar-h) !important;
  padding: 8px max(24px, calc((100vw - 1240px) / 2 + 24px)) !important;
  display: grid !important;
  grid-template-columns: minmax(220px, 1fr) auto auto !important;
  align-items: center !important;
  column-gap: 18px !important;
  row-gap: 8px !important;
  border-bottom: 1px solid rgba(20, 20, 24, .08) !important;
  background: color-mix(in srgb, var(--bg, #fff9ef) 88%, rgba(255, 255, 255, .88)) !important;
  box-shadow: 0 12px 36px rgba(24, 20, 38, .07) !important;
  backdrop-filter: blur(14px);
}

body.nge-unified-lab .nge-shell-brand {
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: 38px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 10px !important;
  color: inherit !important;
  text-decoration: none !important;
}

body.nge-unified-lab .nge-shell-mark {
  width: 38px !important;
  height: 38px !important;
  display: inline-grid !important;
  place-items: center !important;
  border-radius: 50% !important;
  background: var(--accent2, var(--accent, #7a4df3)) !important;
  color: #fff !important;
  font-family: var(--display, "Unbounded", "Manrope", system-ui, sans-serif) !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
}

body.nge-unified-lab .nge-shell-copy {
  min-width: 0 !important;
  display: grid !important;
  gap: 3px !important;
  line-height: 1 !important;
}

body.nge-unified-lab .nge-shell-name {
  display: block !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  font-family: var(--display, "Unbounded", "Manrope", system-ui, sans-serif) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  color: var(--nge-ink) !important;
}

body.nge-unified-lab .nge-shell-tag {
  display: block !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  font-family: var(--mono, "JetBrains Mono", Consolas, monospace) !important;
  font-size: 9px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
  color: var(--nge-muted) !important;
}

body.nge-unified-lab .nge-shell-nav {
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  white-space: nowrap !important;
}

body.nge-unified-lab .nge-shell-link {
  min-height: 32px !important;
  padding: 8px 10px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: var(--nge-radius-sm) !important;
  background: transparent !important;
  color: var(--nge-muted) !important;
  font-family: var(--mono, "JetBrains Mono", Consolas, monospace) !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
}

body.nge-unified-lab .nge-shell-link:hover,
body.nge-unified-lab .nge-shell-link.is-active {
  background: color-mix(in srgb, var(--accent, #ff8a3d) 13%, transparent) !important;
  color: var(--accent2, var(--accent, #7a4df3)) !important;
}

body.nge-unified-lab .nge-level-badge {
  width: 46px !important;
  height: 46px !important;
  flex: 0 0 46px !important;
  display: inline-grid !important;
  place-items: center !important;
  border-radius: 50% !important;
  background: var(--accent2, var(--accent, #7a4df3)) !important;
  color: #fff !important;
  font-family: var(--display, "Unbounded", "Manrope", system-ui, sans-serif) !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  line-height: .9 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  white-space: normal !important;
}

body.nge-unified-lab .nge-shell-controls {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
}

body.nge-unified-lab .nge-shell-controls + .nge-level-badge {
  margin-left: -8px !important;
}

body.nge-unified-lab main,
body.nge-unified-lab .lesson-shell,
body.nge-unified-lab .lesson-wrap {
  width: 100% !important;
}

body.nge-unified-lab .hero,
body.nge-unified-lab .lab-hero,
body.nge-unified-lab .hero-banner {
  width: var(--nge-max) !important;
  max-width: 1240px !important;
  min-height: clamp(360px, 38vw, 500px) !important;
  margin: 22px auto 16px !important;
  border: 1px solid var(--nge-line) !important;
  border-radius: var(--nge-radius-lg) !important;
  overflow: hidden !important;
  box-shadow: var(--nge-shadow) !important;
}

body.nge-unified-lab .hero:not(.hero-banner),
body.nge-unified-lab .lab-hero {
  padding: clamp(26px, 4vw, 48px) !important;
}

body.nge-unified-lab .hero-banner {
  padding: 0 !important;
}

body.nge-unified-lab .lab-hero-inner,
body.nge-unified-lab .hero-banner-overlay,
body.nge-unified-lab .hero-card {
  min-height: clamp(320px, 34vw, 460px) !important;
  display: grid !important;
  align-items: center !important;
  gap: clamp(22px, 4vw, 52px) !important;
}

body.nge-unified-lab .lab-hero-inner,
body.nge-unified-lab .hero-card {
  grid-template-columns: minmax(0, 1.25fr) minmax(180px, .75fr) !important;
}

body.nge-unified-lab .hero-banner-overlay {
  padding: clamp(28px, 4vw, 52px) !important;
}

body.nge-unified-lab .hero-eyebrow,
body.nge-unified-lab .eyebrow,
body.nge-unified-lab .lab-kicker,
body.nge-unified-lab .breadcrumb {
  font-family: var(--mono, "JetBrains Mono", Consolas, monospace) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
  color: var(--accent2, var(--accent, #7a4df3)) !important;
}

body.nge-unified-lab .hero h1,
body.nge-unified-lab .hero-title,
body.nge-unified-lab .hero-h1,
body.nge-unified-lab .lab-hero-title,
body.nge-unified-lab .lesson-hero-title {
  max-width: 760px !important;
  margin: 10px 0 16px !important;
  font-family: var(--display, "Unbounded", "Manrope", system-ui, sans-serif) !important;
  font-size: clamp(32px, 5vw, 64px) !important;
  font-weight: 900 !important;
  line-height: .98 !important;
  letter-spacing: 0 !important;
  color: var(--nge-ink) !important;
}

body.nge-unified-lab .hero h1 em,
body.nge-unified-lab .hero-title em,
body.nge-unified-lab .lab-hero-title em,
body.nge-unified-lab .lesson-hero-title em {
  color: var(--accent2, var(--accent, #7a4df3)) !important;
  font-style: normal !important;
}

body.nge-unified-lab .hero p,
body.nge-unified-lab .hero-lead,
body.nge-unified-lab .lab-hero-lead,
body.nge-unified-lab .lesson-hero-lead {
  max-width: 720px !important;
  font-family: var(--body, "Manrope", system-ui, sans-serif) !important;
  font-size: clamp(15px, 1.35vw, 17px) !important;
  line-height: 1.65 !important;
  color: var(--nge-muted) !important;
}

body.nge-unified-lab .hero-meta,
body.nge-unified-lab .hero-chips,
body.nge-unified-lab .lab-hero-badges {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin-top: 16px !important;
}

body.nge-unified-lab .meta-pill,
body.nge-unified-lab .chip,
body.nge-unified-lab .lab-badge,
body.nge-unified-lab .subtitle-pill,
body.nge-unified-lab .hero-pill,
body.nge-unified-lab .section-badge {
  min-height: 28px !important;
  padding: 6px 12px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  font-family: var(--mono, "JetBrains Mono", Consolas, monospace) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
}

body.nge-unified-lab .progress-header,
body.nge-unified-lab .step-tracker,
body.nge-unified-lab .a1-system-hud {
  width: var(--nge-max) !important;
  max-width: 1240px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  border-radius: var(--nge-radius-md) !important;
  border: 1px solid var(--nge-line) !important;
  background: color-mix(in srgb, var(--nge-card) 88%, rgba(255, 255, 255, .72)) !important;
  box-shadow: 0 16px 44px rgba(24, 20, 38, .07) !important;
}

body.nge-unified-lab .progress-header,
body.nge-unified-lab .step-tracker,
body.nge-unified-lab .adventure-progress {
  min-height: 54px !important;
  padding: 10px 16px !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}

body.nge-unified-lab .step-count,
body.nge-unified-lab .step-name,
body.nge-unified-lab .score,
body.nge-unified-lab .stars,
body.nge-unified-lab .a1-hud-title,
body.nge-unified-lab .a1-hud-meta {
  font-family: var(--mono, "JetBrains Mono", Consolas, monospace) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
}

body.nge-unified-lab .step-track,
body.nge-unified-lab .progress-rail::before {
  height: 8px !important;
  border-radius: 999px !important;
  background: color-mix(in srgb, var(--accent2, var(--accent, #7a4df3)) 12%, transparent) !important;
}

body.nge-unified-lab .step-fill {
  height: 100% !important;
  border-radius: inherit !important;
  background: linear-gradient(90deg, var(--accent, #ff8a3d), var(--accent2, #7a4df3)) !important;
}

body.nge-unified-lab .info-icon,
body.nge-unified-lab .flow-icon,
body.nge-unified-lab .cert-star {
  position: relative !important;
  overflow: hidden !important;
  color: var(--accent2, var(--accent, #7a4df3)) !important;
  font-size: 0 !important;
  line-height: 0 !important;
}

body.nge-unified-lab .info-icon::before,
body.nge-unified-lab .info-icon::after,
body.nge-unified-lab .flow-icon::before,
body.nge-unified-lab .flow-icon::after,
body.nge-unified-lab .cert-star::before,
body.nge-unified-lab .cert-star::after {
  content: "" !important;
  position: absolute !important;
  display: block !important;
  box-sizing: border-box !important;
}

body.nge-unified-lab .info-icon::before {
  inset: 10px !important;
  border: 2px solid currentColor !important;
  border-radius: 50% !important;
}

body.nge-unified-lab .info-icon::after {
  width: 10px !important;
  height: 10px !important;
  left: 50% !important;
  top: 50% !important;
  border-radius: 50% !important;
  background: currentColor !important;
  transform: translate(-50%, -50%) !important;
}

body.nge-unified-lab .info-icon-command::before {
  width: 18px !important;
  height: 12px !important;
  left: 9px !important;
  top: 12px !important;
  border-radius: 3px !important;
  border-width: 2px !important;
  transform: skewY(-10deg) !important;
}

body.nge-unified-lab .info-icon-command::after {
  width: 8px !important;
  height: 14px !important;
  left: 23px !important;
  top: 12px !important;
  border-radius: 2px !important;
  transform: none !important;
}

body.nge-unified-lab .info-icon-place::before {
  width: 16px !important;
  height: 22px !important;
  left: 50% !important;
  top: 8px !important;
  border-radius: 10px 10px 10px 2px !important;
  transform: translateX(-50%) rotate(-45deg) !important;
}

body.nge-unified-lab .info-icon-place::after {
  width: 6px !important;
  height: 6px !important;
}

body.nge-unified-lab .info-icon-object::before {
  inset: 10px !important;
  border-radius: 4px !important;
}

body.nge-unified-lab .info-icon-object::after {
  width: 14px !important;
  height: 2px !important;
  top: 13px !important;
  border-radius: 2px !important;
}

body.nge-unified-lab .info-icon-time::before {
  inset: 8px !important;
}

body.nge-unified-lab .info-icon-time::after {
  width: 10px !important;
  height: 10px !important;
  left: 18px !important;
  top: 12px !important;
  border-radius: 0 !important;
  background: transparent !important;
  border-left: 2px solid currentColor !important;
  border-bottom: 2px solid currentColor !important;
  transform: none !important;
}

body.nge-unified-lab .flow-icon::before {
  width: 18px !important;
  height: 18px !important;
  inset: 50% auto auto 50% !important;
  border: 2px solid currentColor !important;
  border-radius: 6px !important;
  transform: translate(-50%, -50%) !important;
}

body.nge-unified-lab .flow-icon::after {
  width: 10px !important;
  height: 2px !important;
  left: 50% !important;
  top: 50% !important;
  background: currentColor !important;
  transform: translate(-50%, -50%) rotate(-32deg) !important;
}

body.nge-unified-lab .cert-star::before {
  inset: 13px !important;
  border: 3px solid currentColor !important;
  border-radius: 50% !important;
}

body.nge-unified-lab .cert-star::after {
  width: 18px !important;
  height: 18px !important;
  left: 50% !important;
  top: 50% !important;
  border-right: 3px solid currentColor !important;
  border-bottom: 3px solid currentColor !important;
  transform: translate(-50%, -56%) rotate(45deg) !important;
}

body.nge-unified-lab .star-bar {
  width: var(--nge-max) !important;
  max-width: 1240px !important;
  margin: 12px auto 8px !important;
  padding: 0 16px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.nge-unified-lab .progress-rail {
  width: var(--nge-max) !important;
  max-width: 1240px !important;
  margin: 0 auto 18px !important;
  padding: 0 16px !important;
  display: grid !important;
  grid-template-columns: repeat(var(--rail-count, 6), minmax(0, 1fr)) !important;
  gap: 8px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.nge-unified-lab .rail {
  width: var(--nge-max) !important;
  max-width: 1240px !important;
  margin: 0 auto 18px !important;
  padding: 0 16px !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.nge-unified-lab .progress-rail .rail-step {
  width: auto !important;
  min-width: 0 !important;
  height: 8px !important;
  border-radius: 999px !important;
  background: color-mix(in srgb, var(--accent2, var(--accent, #7a4df3)) 14%, transparent) !important;
  box-shadow: none !important;
}

body.nge-unified-lab .progress-rail .rail-step.done,
body.nge-unified-lab .progress-rail .rail-step.is-done,
body.nge-unified-lab .progress-rail .rail-step.completed,
body.nge-unified-lab .progress-rail .rail-step[data-state="done"] {
  background: linear-gradient(90deg, var(--accent, #ff8a3d), var(--accent2, #7a4df3)) !important;
}

body.nge-unified-lab .reset-progress {
  min-height: 34px !important;
  padding: 8px 12px !important;
  border-radius: var(--nge-radius-sm) !important;
  font-family: var(--mono, "JetBrains Mono", Consolas, monospace) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
}

body.nge-unified-lab .section {
  width: var(--nge-max) !important;
  max-width: 1240px !important;
  margin: 22px auto !important;
  border-radius: var(--nge-radius-lg) !important;
  border: 1px solid var(--nge-line) !important;
  background: var(--nge-card) !important;
  box-shadow: 0 16px 48px rgba(24, 20, 38, .06) !important;
  overflow: hidden !important;
}

body.nge-unified-lab .section-header,
body.nge-unified-lab .section-head {
  min-height: 74px !important;
  padding: 16px 22px !important;
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  border-bottom: 1px solid var(--nge-line) !important;
  background: color-mix(in srgb, var(--nge-card) 86%, var(--accent, #ff8a3d) 8%) !important;
}

body.nge-unified-lab .section > .section-title {
  min-height: 58px !important;
  margin: 0 !important;
  padding: 16px 22px !important;
  display: flex !important;
  align-items: center !important;
  border-bottom: 1px solid var(--nge-line) !important;
  background: color-mix(in srgb, var(--nge-card) 86%, var(--accent, #ff8a3d) 8%) !important;
}

body.nge-unified-lab .section-title,
body.nge-unified-lab .section-head h2 {
  font-family: var(--display, "Unbounded", "Manrope", system-ui, sans-serif) !important;
  font-size: clamp(17px, 1.7vw, 24px) !important;
  font-weight: 800 !important;
  line-height: 1.18 !important;
  letter-spacing: 0 !important;
  color: var(--nge-ink) !important;
}

body.nge-unified-lab .section-num {
  width: 38px !important;
  height: 38px !important;
  flex: 0 0 38px !important;
  display: inline-grid !important;
  place-items: center !important;
  border-radius: 50% !important;
  background: var(--accent2, var(--accent, #7a4df3)) !important;
  color: #fff !important;
  font-family: var(--mono, "JetBrains Mono", Consolas, monospace) !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

body.nge-unified-lab .section-body {
  padding: clamp(18px, 3vw, 30px) !important;
}

@media (max-width: 760px) {
  body.nge-unified-lab {
    --nge-max: min(100% - 28px, 1240px);
  }

  body.nge-unified-lab .topbar,
  body.nge-unified-lab .lab-topbar,
  body.nge-unified-lab .friendly-topbar {
    min-height: 58px !important;
    padding: 9px 14px !important;
  }

  body.nge-unified-lab .nge-shell-topbar {
    min-height: 58px !important;
    padding: 8px 14px !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
  }

  body.nge-unified-lab .nge-shell-nav,
  body.nge-unified-lab .nge-shell-controls {
    display: none !important;
  }

  body.nge-unified-lab .nge-shell-brand {
    grid-template-columns: 34px minmax(0, 1fr) !important;
  }

  body.nge-unified-lab .nge-shell-mark {
    width: 34px !important;
    height: 34px !important;
    font-size: 11px !important;
  }

  body.nge-unified-lab .nge-level-badge {
    width: 42px !important;
    height: 42px !important;
    font-size: 12px !important;
  }

  body.nge-unified-lab .topbar-nav,
  body.nge-unified-lab .lab-nav,
  body.nge-unified-lab .friendly-nav {
    display: none !important;
  }

  body.nge-unified-lab .hero,
  body.nge-unified-lab .lab-hero,
  body.nge-unified-lab .hero-banner {
    min-height: 330px !important;
    margin-top: 16px !important;
    border-radius: 18px !important;
  }

  body.nge-unified-lab .lab-hero-inner,
  body.nge-unified-lab .hero-card,
  body.nge-unified-lab .hero-banner-overlay {
    min-height: 300px !important;
    grid-template-columns: 1fr !important;
  }

  body.nge-unified-lab .hero h1,
  body.nge-unified-lab .hero-title,
  body.nge-unified-lab .hero-h1,
  body.nge-unified-lab .lab-hero-title,
  body.nge-unified-lab .lesson-hero-title {
    font-size: clamp(29px, 10vw, 42px) !important;
  }

  body.nge-unified-lab .section-header,
  body.nge-unified-lab .section-head,
  body.nge-unified-lab .section > .section-title {
    padding: 14px 16px !important;
  }
}

/* Restore the previous compact lesson-banner treatment and lift copy higher. */
body.nge-unified-lab .friendly-hero,
body.nge-unified-lab .hero.friendly-hero {
  width: min(100% - 48px, 1480px) !important;
  max-width: 1480px !important;
  height: clamp(480px, 38vw, 560px) !important;
  min-height: clamp(480px, 38vw, 560px) !important;
  margin: 26px auto 18px !important;
  padding: 0 !important;
  border: 1px solid rgba(142, 112, 255, .18) !important;
  border-radius: 24px !important;
  overflow: hidden !important;
  box-shadow: 0 20px 48px rgba(45, 32, 112, .07) !important;
}

body.nge-unified-lab .friendly-hero-inner,
body.nge-unified-lab .hero-inner.friendly-hero-inner {
  min-height: 100% !important;
  display: grid !important;
  grid-template-columns: minmax(470px, .92fr) minmax(420px, 1.08fr) !important;
  align-items: start !important;
  gap: clamp(26px, 3.6vw, 54px) !important;
  padding: clamp(22px, 2.4vw, 34px) clamp(48px, 5.4vw, 78px) !important;
}

body.nge-unified-lab .hero-copy-panel {
  width: min(590px, 100%) !important;
  max-width: 590px !important;
  padding: 0 !important;
  align-self: start !important;
  transform: translateY(-32px) !important;
}

body.nge-unified-lab .friendly-photo,
body.nge-unified-lab .hero-photo.friendly-photo {
  width: 100% !important;
  height: clamp(330px, 27vw, 430px) !important;
  min-height: clamp(330px, 27vw, 430px) !important;
  max-height: 430px !important;
  align-self: start !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}

body.nge-unified-lab .friendly-photo .hero-img,
body.nge-unified-lab img[data-hero-img] {
  height: 100% !important;
  min-height: 0 !important;
  object-fit: cover !important;
  object-position: center !important;
}

body.nge-unified-lab .friendly-title {
  max-width: 590px !important;
  margin: 0 0 14px !important;
  font-size: clamp(38px, 3.55vw, 54px) !important;
  line-height: 1.02 !important;
  letter-spacing: 0 !important;
  text-wrap: balance !important;
}

body.nge-unified-lab .friendly-lead {
  width: min(100%, 560px) !important;
  max-width: 560px !important;
  min-height: 0 !important;
  margin-bottom: 12px !important;
  padding: 12px 16px !important;
  font-size: 15px !important;
  line-height: 1.36 !important;
}

body.nge-unified-lab .friendly-meta,
body.nge-unified-lab .hero-meta {
  width: min(100%, 560px) !important;
  gap: 10px !important;
  margin-bottom: 12px !important;
}

body.nge-unified-lab .info-pill,
body.nge-unified-lab .hero-meta > * {
  min-height: 62px !important;
  padding: 10px 14px !important;
  border-radius: 16px !important;
  grid-template-columns: 38px minmax(0, 1fr) !important;
}

html[data-theme*="dark"] body.nge-unified-lab .friendly-hero,
html[data-theme*="dark"] body.nge-unified-lab .hero.friendly-hero,
html[data-theme*="black"] body.nge-unified-lab .friendly-hero,
html[data-theme*="black"] body.nge-unified-lab .hero.friendly-hero,
[data-theme*="dark"] body.nge-unified-lab .friendly-hero,
[data-theme*="dark"] body.nge-unified-lab .hero.friendly-hero,
[data-theme*="black"] body.nge-unified-lab .friendly-hero,
[data-theme*="black"] body.nge-unified-lab .hero.friendly-hero {
  border-color: rgba(255, 255, 255, .08) !important;
  background:
    radial-gradient(760px 260px at 92% 0%, rgba(255, 111, 24, .20), transparent 72%),
    linear-gradient(135deg, #12101b 0%, #171221 58%, #331d1f 100%) !important;
  box-shadow: 0 22px 52px rgba(0, 0, 0, .26) !important;
}

@media (max-width: 1100px) {
  body.nge-unified-lab .friendly-hero,
  body.nge-unified-lab .hero.friendly-hero {
    height: auto !important;
    min-height: 0 !important;
  }

  body.nge-unified-lab .friendly-hero-inner,
  body.nge-unified-lab .hero-inner.friendly-hero-inner {
    grid-template-columns: 1fr !important;
    padding: 34px !important;
  }

  body.nge-unified-lab .hero-copy-panel {
    width: 100% !important;
    max-width: 680px !important;
    transform: none !important;
  }
}

@media (max-width: 700px) {
  body.nge-unified-lab .friendly-hero,
  body.nge-unified-lab .hero.friendly-hero {
    width: calc(100vw - 20px) !important;
    max-width: calc(100vw - 20px) !important;
    margin-top: 16px !important;
    border-radius: 16px !important;
  }

  body.nge-unified-lab .friendly-hero-inner,
  body.nge-unified-lab .hero-inner.friendly-hero-inner {
    padding: 22px !important;
  }

  body.nge-unified-lab .friendly-title {
    font-size: clamp(32px, 11vw, 42px) !important;
  }
}

/* Codex A1 skeleton bar stabilization: single-line topbar and clean rails. */
body.nge-unified-lab .nge-shell-topbar {
  position: sticky !important;
  top: 0 !important;
  z-index: 100 !important;
  min-height: 56px !important;
  padding: 8px max(24px, calc((100vw - 1240px) / 2 + 24px)) !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 14px !important;
  border-bottom: 1px solid color-mix(in srgb, var(--accent2, #7a4df3) 18%, transparent) !important;
  background: color-mix(in srgb, var(--surface, var(--card, #fff)) 90%, transparent) !important;
  box-shadow: none !important;
  backdrop-filter: blur(14px) !important;
}

body.nge-unified-lab .nge-shell-brand {
  flex: 0 1 300px !important;
  min-width: 210px !important;
  grid-template-columns: 34px minmax(0, 1fr) !important;
  gap: 9px !important;
}

body.nge-unified-lab .nge-shell-mark {
  width: 34px !important;
  height: 34px !important;
  border-radius: 10px !important;
  font-size: 11px !important;
}

body.nge-unified-lab .nge-shell-name {
  font-size: 14px !important;
}

body.nge-unified-lab .nge-shell-tag {
  font-size: 8px !important;
  letter-spacing: .10em !important;
}

body.nge-unified-lab .nge-shell-nav {
  flex: 1 1 auto !important;
  min-width: 360px !important;
  justify-content: center !important;
  gap: 8px !important;
}

body.nge-unified-lab .nge-shell-link {
  min-height: 32px !important;
  padding: 8px 10px !important;
  border-radius: 10px !important;
  font-size: 9px !important;
  letter-spacing: .06em !important;
}

body.nge-unified-lab .nge-shell-controls {
  flex: 0 0 auto !important;
  gap: 8px !important;
}

body.nge-unified-lab .palette-select,
body.nge-unified-lab .btn-tool {
  height: 34px !important;
  min-height: 34px !important;
  border-radius: 8px !important;
  font-size: 10px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

body.nge-unified-lab .palette-select {
  width: 118px !important;
  max-width: 118px !important;
}

body.nge-unified-lab .audience-switch {
  flex: 0 0 210px !important;
  width: 210px !important;
  min-width: 210px !important;
  height: 34px !important;
  margin-left: 0 !important;
  order: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
  padding: 3px !important;
  border-radius: 10px !important;
}

body.nge-unified-lab .audience-btn {
  height: 28px !important;
  min-height: 28px !important;
  border-radius: 7px !important;
  font-size: 9px !important;
  line-height: 1 !important;
}

body.nge-unified-lab .nge-level-badge {
  flex: 0 0 42px !important;
  width: 42px !important;
  height: 42px !important;
  font-size: 12px !important;
}

body.nge-unified-lab .step-tracker,
body.nge-unified-lab .lesson-score-card,
body.nge-unified-lab .progress-rail,
body.nge-unified-lab .rail,
body.nge-unified-lab .star-bar,
body.nge-unified-lab .a1-system-hud {
  width: min(100% - 56px, 1240px) !important;
  max-width: 1240px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.nge-unified-lab .step-tracker {
  min-height: 44px !important;
  padding: 10px 14px !important;
  grid-template-columns: auto minmax(0, 1fr) auto !important;
  border-radius: 14px !important;
}

body.nge-unified-lab .lesson-score-card {
  padding: 14px 18px !important;
  border-radius: 14px !important;
}

@media (max-width: 1180px) {
  body.nge-unified-lab .nge-shell-topbar {
    flex-wrap: wrap !important;
    row-gap: 8px !important;
  }

  body.nge-unified-lab .nge-shell-nav {
    order: 5 !important;
    flex: 1 0 100% !important;
    min-width: 0 !important;
    justify-content: flex-start !important;
  }
}

@media (max-width: 760px) {
  body.nge-unified-lab .nge-shell-topbar {
    min-height: 58px !important;
    padding: 8px 14px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
  }

  body.nge-unified-lab .nge-shell-nav,
  body.nge-unified-lab .nge-shell-controls,
  body.nge-unified-lab .audience-switch {
    display: none !important;
  }

  body.nge-unified-lab .step-tracker,
  body.nge-unified-lab .lesson-score-card,
  body.nge-unified-lab .progress-rail,
  body.nge-unified-lab .rail,
  body.nge-unified-lab .star-bar,
  body.nge-unified-lab .a1-system-hud {
    width: min(100% - 28px, 1240px) !important;
  }
}

/* Codex A1 friendly topbar skeleton lock. */
body.nge-unified-lab .friendly-topbar,
body.nge-unified-lab .topbar.friendly-topbar {
  position: sticky !important;
  top: 0 !important;
  z-index: 100 !important;
  min-height: 56px !important;
  padding: 8px max(24px, calc((100vw - 1240px) / 2 + 24px)) !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 14px !important;
  overflow: visible !important;
  border-bottom: 1px solid color-mix(in srgb, var(--accent2, #7a4df3) 18%, transparent) !important;
  background: color-mix(in srgb, var(--surface, var(--card, #fff)) 90%, transparent) !important;
  box-shadow: none !important;
  backdrop-filter: blur(14px) !important;
}

body.nge-unified-lab .friendly-brand {
  flex: 0 1 285px !important;
  min-width: 210px !important;
  gap: 9px !important;
}

body.nge-unified-lab .boost-logo-mark,
body.nge-unified-lab .boost-flame {
  width: 34px !important;
  height: 34px !important;
}

body.nge-unified-lab .friendly-brand .brand-name {
  font-size: 17px !important;
  line-height: 1 !important;
}

body.nge-unified-lab .lab-tag {
  min-height: 22px !important;
  padding: 0 7px !important;
  border-radius: 6px !important;
  font-size: 10px !important;
}

body.nge-unified-lab .friendly-nav {
  flex: 1 1 auto !important;
  min-width: 330px !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 8px !important;
  margin-left: 0 !important;
  white-space: nowrap !important;
}

body.nge-unified-lab .friendly-nav .top-link {
  min-height: 32px !important;
  padding: 8px 10px !important;
  border-radius: 10px !important;
  font-family: var(--mono, "JetBrains Mono", Consolas, monospace) !important;
  font-size: 9px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
}

body.nge-unified-lab .friendly-topbar .audience-switch {
  flex: 0 0 210px !important;
  width: 210px !important;
  min-width: 210px !important;
  height: 34px !important;
  margin-left: 0 !important;
  order: 0 !important;
  padding: 3px !important;
  border-radius: 10px !important;
}

body.nge-unified-lab .friendly-topbar .audience-btn {
  height: 28px !important;
  min-height: 28px !important;
  border-radius: 7px !important;
  font-size: 9px !important;
  line-height: 1 !important;
}

body.nge-unified-lab .friendly-tools {
  flex: 0 0 auto !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-left: 0 !important;
}

body.nge-unified-lab .friendly-tools .btn-tool,
body.nge-unified-lab .friendly-tools .palette-select {
  height: 34px !important;
  min-height: 34px !important;
  border-radius: 8px !important;
  font-size: 10px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

body.nge-unified-lab .friendly-tools .palette-select {
  width: 118px !important;
  max-width: 118px !important;
}

body.nge-unified-lab .friendly-topbar .level-bubble {
  width: 42px !important;
  height: 34px !important;
  min-width: 42px !important;
  border-radius: 8px !important;
  font-size: 11px !important;
}

body.nge-unified-lab .friendly-topbar .menu-btn {
  display: none !important;
}

@media (max-width: 1180px) {
  body.nge-unified-lab .friendly-topbar,
  body.nge-unified-lab .topbar.friendly-topbar {
    flex-wrap: wrap !important;
    row-gap: 8px !important;
  }

  body.nge-unified-lab .friendly-nav {
    order: 5 !important;
    flex: 1 0 100% !important;
    min-width: 0 !important;
    justify-content: flex-start !important;
  }
}

@media (max-width: 760px) {
  body.nge-unified-lab .friendly-topbar,
  body.nge-unified-lab .topbar.friendly-topbar {
    min-height: 58px !important;
    padding: 8px 14px !important;
  }

  body.nge-unified-lab .friendly-nav,
  body.nge-unified-lab .friendly-topbar .audience-switch,
  body.nge-unified-lab .friendly-tools .palette-select {
    display: none !important;
  }
}


/* Codex 2026-05-09: final A1 friendly/violet lock. This must stay after older skeleton rules. */
html[data-theme="violet"] body.nge-unified-lab,
body.nge-unified-lab[data-theme="violet"] {
  background: linear-gradient(135deg, #20162d 0%, #2a1f3b 50%, #302235 100%) !important;
  color: #fff8ff !important;
}

html[data-theme="violet"] body.nge-unified-lab .friendly-topbar,
html[data-theme="violet"] body.nge-unified-lab .topbar.friendly-topbar,
html[data-theme="black-lab"] body.nge-unified-lab .friendly-topbar,
html[data-theme="black-lab"] body.nge-unified-lab .topbar.friendly-topbar {
  min-height: 58px !important;
  padding: 9px max(24px, calc((100vw - 1240px) / 2 + 24px)) !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: clamp(8px, 1.2vw, 14px) !important;
  background: rgba(37, 28, 51, .92) !important;
  border-bottom: 1px solid rgba(255,255,255,.12) !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

body.nge-unified-lab .friendly-topbar,
body.nge-unified-lab .topbar.friendly-topbar {
  flex-wrap: nowrap !important;
  overflow: hidden !important;
}

body.nge-unified-lab .friendly-brand {
  flex: 0 1 260px !important;
  min-width: 180px !important;
  max-width: 300px !important;
}

body.nge-unified-lab .friendly-nav {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scrollbar-width: none !important;
}
body.nge-unified-lab .friendly-nav::-webkit-scrollbar { display: none !important; }
body.nge-unified-lab .friendly-nav .top-link {
  flex: 0 0 auto !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

body.nge-unified-lab .friendly-topbar .audience-switch,
body.nge-unified-lab .friendly-tools .palette-select,
body.nge-unified-lab .friendly-topbar .menu-btn {
  display: none !important;
}

body.nge-unified-lab .friendly-tools {
  flex: 0 0 auto !important;
  margin-left: 0 !important;
  gap: 6px !important;
}
body.nge-unified-lab .friendly-tools .btn-tool {
  width: 36px !important;
  min-width: 36px !important;
  height: 34px !important;
  padding: 0 !important;
  border-radius: 9px !important;
}
body.nge-unified-lab .friendly-topbar .level-bubble {
  width: 42px !important;
  height: 34px !important;
  min-width: 42px !important;
  border-radius: 9px !important;
  box-shadow: none !important;
}

html[data-theme="violet"] body.nge-unified-lab .friendly-hero,
html[data-theme="violet"] body.nge-unified-lab .hero.friendly-hero,
html[data-theme="black-lab"] body.nge-unified-lab .friendly-hero,
html[data-theme="black-lab"] body.nge-unified-lab .hero.friendly-hero {
  width: min(calc(100vw - 48px), 1240px) !important;
  max-width: min(calc(100vw - 48px), 1240px) !important;
  height: clamp(390px, 31vw, 500px) !important;
  min-height: clamp(390px, 31vw, 500px) !important;
  margin: 8px auto 18px !important;
  padding: 0 !important;
  border-radius: 18px !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  overflow: hidden !important;
  box-shadow: 0 22px 46px rgba(0,0,0,.22) !important;
  background:
    linear-gradient(90deg, rgba(37,28,51,.96) 0%, rgba(37,28,51,.90) 39%, rgba(37,28,51,.38) 58%, rgba(37,28,51,0) 73%),
    linear-gradient(135deg, #251c33 0%, #32243f 100%) !important;
}

html[data-theme="violet"] body.nge-unified-lab .friendly-hero-inner,
html[data-theme="violet"] body.nge-unified-lab .hero-inner.friendly-hero-inner,
html[data-theme="black-lab"] body.nge-unified-lab .friendly-hero-inner,
html[data-theme="black-lab"] body.nge-unified-lab .hero-inner.friendly-hero-inner {
  grid-template-columns: minmax(380px, .78fr) minmax(540px, 1.22fr) !important;
  align-items: start !important;
  gap: clamp(28px, 4vw, 64px) !important;
  padding: clamp(30px, 3.2vw, 46px) clamp(42px, 5.2vw, 72px) !important;
}

html[data-theme="violet"] body.nge-unified-lab .hero-copy-panel,
html[data-theme="black-lab"] body.nge-unified-lab .hero-copy-panel {
  transform: none !important;
  width: min(500px, 100%) !important;
  max-width: 500px !important;
}

html[data-theme="violet"] body.nge-unified-lab .friendly-title,
html[data-theme="black-lab"] body.nge-unified-lab .friendly-title {
  color: #fff8ff !important;
  max-width: 520px !important;
  margin: 0 0 10px !important;
  font-size: clamp(44px, 4.45vw, 66px) !important;
  line-height: .88 !important;
  letter-spacing: 0 !important;
  text-shadow: none !important;
}

html[data-theme="violet"] body.nge-unified-lab .friendly-title em,
html[data-theme="black-lab"] body.nge-unified-lab .friendly-title em {
  color: #ff8a70 !important;
}

html[data-theme="violet"] body.nge-unified-lab .friendly-eyebrow,
html[data-theme="violet"] body.nge-unified-lab .friendly-lead,
html[data-theme="violet"] body.nge-unified-lab .info-pill,
html[data-theme="black-lab"] body.nge-unified-lab .friendly-eyebrow,
html[data-theme="black-lab"] body.nge-unified-lab .friendly-lead,
html[data-theme="black-lab"] body.nge-unified-lab .info-pill {
  background: rgba(255,255,255,.84) !important;
  color: #17112e !important;
  border-color: rgba(255,255,255,.24) !important;
  box-shadow: none !important;
}

html[data-theme="violet"] body.nge-unified-lab .friendly-photo,
html[data-theme="violet"] body.nge-unified-lab .hero-photo.friendly-photo,
html[data-theme="black-lab"] body.nge-unified-lab .friendly-photo,
html[data-theme="black-lab"] body.nge-unified-lab .hero-photo.friendly-photo {
  height: 100% !important;
  min-height: 100% !important;
  max-height: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

html[data-theme="violet"] body.nge-unified-lab .friendly-photo .hero-img,
html[data-theme="violet"] body.nge-unified-lab img[data-hero-img],
html[data-theme="black-lab"] body.nge-unified-lab .friendly-photo .hero-img,
html[data-theme="black-lab"] body.nge-unified-lab img[data-hero-img] {
  height: 100% !important;
  width: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  filter: none !important;
}

@media (max-width: 1180px) {
  body.nge-unified-lab .friendly-topbar,
  body.nge-unified-lab .topbar.friendly-topbar {
    flex-wrap: nowrap !important;
  }
  body.nge-unified-lab .friendly-nav {
    order: 0 !important;
    flex: 1 1 auto !important;
  }
}
/* Codex 2026-05-09: final friendly polish for A1 violet hero internals. */
html[data-theme="violet"] body.nge-unified-lab .friendly-eyebrow,
html[data-theme="black-lab"] body.nge-unified-lab .friendly-eyebrow {
  width: auto !important;
  max-width: max-content !important;
  min-height: 30px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 18px !important;
  margin: 0 0 10px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.86) !important;
  color: #ff6f18 !important;
  border: 1px solid rgba(255,111,24,.28) !important;
  font: 800 12px/1 var(--mono, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace) !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
}
html[data-theme="violet"] body.nge-unified-lab .friendly-eyebrow::before,
html[data-theme="black-lab"] body.nge-unified-lab .friendly-eyebrow::before {
  content: none !important;
}
html[data-theme="violet"] body.nge-unified-lab .friendly-lead,
html[data-theme="black-lab"] body.nge-unified-lab .friendly-lead {
  width: min(100%, 500px) !important;
  max-width: 500px !important;
  min-height: 44px !important;
  margin: 0 0 8px !important;
  padding: 10px 14px !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,.84) !important;
  color: #3f3671 !important;
  border: 1px solid rgba(142,112,255,.18) !important;
  font-size: 14px !important;
  line-height: 1.25 !important;
}
html[data-theme="violet"] body.nge-unified-lab .info-pill,
html[data-theme="black-lab"] body.nge-unified-lab .info-pill,
html[data-theme="violet"] body.nge-unified-lab .hero-meta > *,
html[data-theme="black-lab"] body.nge-unified-lab .hero-meta > * {
  min-height: 44px !important;
  padding: 8px 12px !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,.80) !important;
  color: #17112e !important;
  border: 1px solid rgba(142,112,255,.22) !important;
}
html[data-theme="violet"] body.nge-unified-lab .friendly-photo,
html[data-theme="black-lab"] body.nge-unified-lab .friendly-photo {
  box-shadow: none !important;
}
/* Codex 2026-05-09: A1 dark/violet hero surface + width lock. */
html[data-theme="violet"] body.nge-unified-lab.lb-level-a1 .friendly-hero,
html[data-theme="violet"] body.nge-unified-lab.lb-level-a1 .hero.friendly-hero,
html[data-theme="black-lab"] body.nge-unified-lab.lb-level-a1 .friendly-hero,
html[data-theme="black-lab"] body.nge-unified-lab.lb-level-a1 .hero.friendly-hero {
  width: min(calc(100% - 2cm), 1320px) !important;
  max-width: 1320px !important;
  margin: 24px auto 18px !important;
  background:
    linear-gradient(90deg, rgba(31, 22, 45, .98) 0%, rgba(31, 22, 45, .92) 40%, rgba(31, 22, 45, .38) 62%, rgba(31, 22, 45, 0) 78%),
    linear-gradient(135deg, #1f162d 0%, #2a1f3b 54%, #34233f 100%) !important;
  border-color: rgba(198, 177, 255, .18) !important;
  box-shadow: 0 22px 54px rgba(0, 0, 0, .24) !important;
}

html[data-theme="violet"] body.nge-unified-lab.lb-level-a1 .friendly-hero-inner,
html[data-theme="violet"] body.nge-unified-lab.lb-level-a1 .hero-inner.friendly-hero-inner,
html[data-theme="black-lab"] body.nge-unified-lab.lb-level-a1 .friendly-hero-inner,
html[data-theme="black-lab"] body.nge-unified-lab.lb-level-a1 .hero-inner.friendly-hero-inner {
  grid-template-columns: minmax(360px, .84fr) minmax(0, 1.16fr) !important;
  gap: clamp(24px, 3.4vw, 52px) !important;
}

html[data-theme="violet"] body.nge-unified-lab.lb-level-a1 .friendly-eyebrow,
html[data-theme="black-lab"] body.nge-unified-lab.lb-level-a1 .friendly-eyebrow {
  background: rgba(185, 147, 255, .11) !important;
  color: #d8c5ff !important;
  border-color: rgba(198, 177, 255, .28) !important;
}

html[data-theme="violet"] body.nge-unified-lab.lb-level-a1 .friendly-lead,
html[data-theme="black-lab"] body.nge-unified-lab.lb-level-a1 .friendly-lead {
  background: rgba(25, 17, 39, .66) !important;
  color: rgba(247, 242, 255, .90) !important;
  border-color: rgba(198, 177, 255, .18) !important;
}

html[data-theme="violet"] body.nge-unified-lab.lb-level-a1 .info-pill,
html[data-theme="violet"] body.nge-unified-lab.lb-level-a1 .hero-meta > *,
html[data-theme="black-lab"] body.nge-unified-lab.lb-level-a1 .info-pill,
html[data-theme="black-lab"] body.nge-unified-lab.lb-level-a1 .hero-meta > * {
  background: rgba(25, 17, 39, .58) !important;
  color: #f7f2ff !important;
  border-color: rgba(198, 177, 255, .20) !important;
}

html[data-theme="violet"] body.nge-unified-lab.lb-level-a1 .info-icon,
html[data-theme="black-lab"] body.nge-unified-lab.lb-level-a1 .info-icon {
  color: #cdb7ff !important;
}

html[data-theme="violet"] body.nge-unified-lab.lb-level-a1 .hero-actions .ghost,
html[data-theme="violet"] body.nge-unified-lab.lb-level-a1 .hero-actions .btn.ghost,
html[data-theme="black-lab"] body.nge-unified-lab.lb-level-a1 .hero-actions .ghost,
html[data-theme="black-lab"] body.nge-unified-lab.lb-level-a1 .hero-actions .btn.ghost {
  background: rgba(25, 17, 39, .48) !important;
  color: #f7f2ff !important;
  border-color: rgba(198, 177, 255, .24) !important;
}

@media (max-width: 1100px) {
  html[data-theme="violet"] body.nge-unified-lab.lb-level-a1 .friendly-hero,
  html[data-theme="violet"] body.nge-unified-lab.lb-level-a1 .hero.friendly-hero,
  html[data-theme="black-lab"] body.nge-unified-lab.lb-level-a1 .friendly-hero,
  html[data-theme="black-lab"] body.nge-unified-lab.lb-level-a1 .hero.friendly-hero {
    width: min(calc(100% - 28px), 1320px) !important;
  }

  html[data-theme="violet"] body.nge-unified-lab.lb-level-a1 .friendly-hero-inner,
  html[data-theme="violet"] body.nge-unified-lab.lb-level-a1 .hero-inner.friendly-hero-inner,
  html[data-theme="black-lab"] body.nge-unified-lab.lb-level-a1 .friendly-hero-inner,
  html[data-theme="black-lab"] body.nge-unified-lab.lb-level-a1 .hero-inner.friendly-hero-inner {
    grid-template-columns: 1fr !important;
  }
}

/* Codex 2026-05-09: final A1 dark/violet lower-section lock. Keep this last. */
html[data-theme="violet"] body.nge-unified-lab,
html[data-theme="black-lab"] body.nge-unified-lab {
  background:
    radial-gradient(circle at 78% 4%, var(--hero-glow1, rgba(168,85,247,.28)), transparent 38%),
    radial-gradient(circle at 10% 38%, var(--hero-glow2, rgba(255,111,24,.14)), transparent 34%),
    linear-gradient(180deg, var(--bg, #130d24) 0%, var(--bg-2, #1d1433) 100%) !important;
  color: var(--text, #f7f2ff) !important;
}

html[data-theme="violet"] body.nge-unified-lab .friendly-topbar,
html[data-theme="violet"] body.nge-unified-lab .topbar.friendly-topbar,
html[data-theme="black-lab"] body.nge-unified-lab .friendly-topbar,
html[data-theme="black-lab"] body.nge-unified-lab .topbar.friendly-topbar {
  position: sticky !important;
  top: 0 !important;
  z-index: 100 !important;
  width: 100% !important;
  min-height: 58px !important;
  padding: 8px max(24px, calc((100vw - 1240px) / 2 + 24px)) !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 12px !important;
  overflow: hidden !important;
  background: rgba(19, 13, 36, .92) !important;
  border-bottom: 1px solid rgba(198, 177, 255, .18) !important;
  box-shadow: 0 16px 38px rgba(0, 0, 0, .22) !important;
  backdrop-filter: blur(16px) !important;
}

html[data-theme="violet"] body.nge-unified-lab .friendly-brand,
html[data-theme="black-lab"] body.nge-unified-lab .friendly-brand {
  flex: 0 1 260px !important;
  min-width: 188px !important;
}

html[data-theme="violet"] body.nge-unified-lab .friendly-nav,
html[data-theme="black-lab"] body.nge-unified-lab .friendly-nav {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  justify-content: center !important;
  overflow-x: auto !important;
  scrollbar-width: none !important;
}

html[data-theme="violet"] body.nge-unified-lab .friendly-nav::-webkit-scrollbar,
html[data-theme="black-lab"] body.nge-unified-lab .friendly-nav::-webkit-scrollbar {
  display: none !important;
}

html[data-theme="violet"] body.nge-unified-lab .friendly-nav .top-link,
html[data-theme="black-lab"] body.nge-unified-lab .friendly-nav .top-link,
html[data-theme="violet"] body.nge-unified-lab .friendly-tools .btn-tool,
html[data-theme="black-lab"] body.nge-unified-lab .friendly-tools .btn-tool,
html[data-theme="violet"] body.nge-unified-lab .friendly-topbar .level-bubble,
html[data-theme="black-lab"] body.nge-unified-lab .friendly-topbar .level-bubble {
  flex: 0 0 auto !important;
  color: #f7f2ff !important;
  background: rgba(255, 255, 255, .07) !important;
  border-color: rgba(198, 177, 255, .18) !important;
  box-shadow: none !important;
}

html[data-theme="violet"] body.nge-unified-lab .friendly-topbar .audience-switch,
html[data-theme="violet"] body.nge-unified-lab .friendly-tools .palette-select,
html[data-theme="violet"] body.nge-unified-lab .friendly-topbar .menu-btn,
html[data-theme="black-lab"] body.nge-unified-lab .friendly-topbar .audience-switch,
html[data-theme="black-lab"] body.nge-unified-lab .friendly-tools .palette-select,
html[data-theme="black-lab"] body.nge-unified-lab .friendly-topbar .menu-btn {
  display: none !important;
}

html[data-theme="violet"] body.nge-unified-lab .lesson-flow,
html[data-theme="violet"] body.nge-unified-lab .flow-card,
html[data-theme="violet"] body.nge-unified-lab .learn-panel,
html[data-theme="violet"] body.nge-unified-lab .lesson-score-card,
html[data-theme="violet"] body.nge-unified-lab .step-tracker,
html[data-theme="violet"] body.nge-unified-lab .block,
html[data-theme="violet"] body.nge-unified-lab .section,
html[data-theme="black-lab"] body.nge-unified-lab .lesson-flow,
html[data-theme="black-lab"] body.nge-unified-lab .flow-card,
html[data-theme="black-lab"] body.nge-unified-lab .learn-panel,
html[data-theme="black-lab"] body.nge-unified-lab .lesson-score-card,
html[data-theme="black-lab"] body.nge-unified-lab .step-tracker,
html[data-theme="black-lab"] body.nge-unified-lab .block,
html[data-theme="black-lab"] body.nge-unified-lab .section {
  background: rgba(32, 23, 49, .94) !important;
  color: var(--text, #f7f2ff) !important;
  border-color: rgba(198, 177, 255, .18) !important;
  box-shadow: 0 22px 56px rgba(0, 0, 0, .26) !important;
}

html[data-theme="violet"] body.nge-unified-lab .learn-panel,
html[data-theme="black-lab"] body.nge-unified-lab .learn-panel {
  background:
    linear-gradient(135deg, rgba(32, 23, 49, .98) 0%, rgba(43, 33, 66, .94) 100%) !important;
}

html[data-theme="violet"] body.nge-unified-lab .step-tracker,
html[data-theme="black-lab"] body.nge-unified-lab .step-tracker {
  background: rgba(25, 17, 39, .95) !important;
  backdrop-filter: blur(14px) !important;
}

html[data-theme="violet"] body.nge-unified-lab .flow-card::after,
html[data-theme="black-lab"] body.nge-unified-lab .flow-card::after {
  color: rgba(216, 197, 255, .72) !important;
}

html[data-theme="violet"] body.nge-unified-lab .lesson-flow h2,
html[data-theme="violet"] body.nge-unified-lab .learn-panel h2,
html[data-theme="violet"] body.nge-unified-lab .flow-card strong,
html[data-theme="violet"] body.nge-unified-lab .block-title,
html[data-theme="violet"] body.nge-unified-lab .section-title,
html[data-theme="violet"] body.nge-unified-lab .lesson-score-card strong,
html[data-theme="black-lab"] body.nge-unified-lab .lesson-flow h2,
html[data-theme="black-lab"] body.nge-unified-lab .learn-panel h2,
html[data-theme="black-lab"] body.nge-unified-lab .flow-card strong,
html[data-theme="black-lab"] body.nge-unified-lab .block-title,
html[data-theme="black-lab"] body.nge-unified-lab .section-title,
html[data-theme="black-lab"] body.nge-unified-lab .lesson-score-card strong {
  color: #fff8ff !important;
}

html[data-theme="violet"] body.nge-unified-lab .flow-card small,
html[data-theme="violet"] body.nge-unified-lab .learn-grid span,
html[data-theme="violet"] body.nge-unified-lab .block-intro,
html[data-theme="violet"] body.nge-unified-lab .block-kicker,
html[data-theme="violet"] body.nge-unified-lab .lesson-score-card,
html[data-theme="black-lab"] body.nge-unified-lab .flow-card small,
html[data-theme="black-lab"] body.nge-unified-lab .learn-grid span,
html[data-theme="black-lab"] body.nge-unified-lab .block-intro,
html[data-theme="black-lab"] body.nge-unified-lab .block-kicker,
html[data-theme="black-lab"] body.nge-unified-lab .lesson-score-card {
  color: rgba(247, 242, 255, .78) !important;
}

html[data-theme="violet"] body.nge-unified-lab .flow-num,
html[data-theme="violet"] body.nge-unified-lab .block-num,
html[data-theme="black-lab"] body.nge-unified-lab .flow-num,
html[data-theme="black-lab"] body.nge-unified-lab .block-num {
  background: #ff6f18 !important;
  color: #fff !important;
}

@media (max-width: 1180px) {
  html[data-theme="violet"] body.nge-unified-lab .friendly-topbar,
  html[data-theme="violet"] body.nge-unified-lab .topbar.friendly-topbar,
  html[data-theme="black-lab"] body.nge-unified-lab .friendly-topbar,
  html[data-theme="black-lab"] body.nge-unified-lab .topbar.friendly-topbar {
    flex-wrap: nowrap !important;
  }
}

@media (max-width: 760px) {
  html[data-theme="violet"] body.nge-unified-lab .friendly-topbar,
  html[data-theme="violet"] body.nge-unified-lab .topbar.friendly-topbar,
  html[data-theme="black-lab"] body.nge-unified-lab .friendly-topbar,
  html[data-theme="black-lab"] body.nge-unified-lab .topbar.friendly-topbar {
    min-height: 56px !important;
    padding: 8px 14px !important;
  }

  html[data-theme="violet"] body.nge-unified-lab .friendly-nav,
  html[data-theme="black-lab"] body.nge-unified-lab .friendly-nav {
    display: none !important;
  }
}

/* Codex 2026-05-09: A1 lesson width contract.
   Keeps hero, flow, progress, blocks, score and footer on the same rail. */
body.nge-unified-lab.lb-level-a1 {
  --a1-rail: min(calc(100% - 2cm), 1320px);
}

body.nge-unified-lab.lb-level-a1 .friendly-hero,
body.nge-unified-lab.lb-level-a1 .hero.friendly-hero,
body.nge-unified-lab.lb-level-a1 .lesson-flow,
body.nge-unified-lab.lb-level-a1 .learn-panel,
body.nge-unified-lab.lb-level-a1 .step-tracker,
body.nge-unified-lab.lb-level-a1 .progress-header,
body.nge-unified-lab.lb-level-a1 .a1-system-hud,
body.nge-unified-lab.lb-level-a1 .lesson-score-card,
body.nge-unified-lab.lb-level-a1 .block,
body.nge-unified-lab.lb-level-a1 .section,
body.nge-unified-lab.lb-level-a1 .round-panel,
body.nge-unified-lab.lb-level-a1 .lesson-foot,
body.nge-unified-lab.lb-level-a1 .copyright {
  box-sizing: border-box !important;
  width: var(--a1-rail) !important;
  max-width: 1320px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.nge-unified-lab.lb-level-a1 .lesson-flow,
body.nge-unified-lab.lb-level-a1 .learn-panel {
  margin-top: 22px !important;
}

body.nge-unified-lab.lb-level-a1 .step-tracker,
body.nge-unified-lab.lb-level-a1 .progress-header,
body.nge-unified-lab.lb-level-a1 .a1-system-hud {
  margin-top: 0 !important;
  margin-bottom: 18px !important;
}

@media (max-width: 820px) {
  body.nge-unified-lab.lb-level-a1 {
    --a1-rail: min(calc(100% - 28px), 1320px);
  }
}
/* Codex 2026-05-09: A1 row lock after shared skeleton. */
body.nge-unified-lab.lb-level-a1 .friendly-brand .brand-boost,
body.nge-unified-lab.lb-level-a1 .brand-boost,
html[data-theme="violet"] body.nge-unified-lab.lb-level-a1 .friendly-brand .brand-boost,
html[data-theme="black-lab"] body.nge-unified-lab.lb-level-a1 .friendly-brand .brand-boost {
  color: #ff690a !important;
}
body.nge-unified-lab.lb-level-a1 .friendly-topbar .audience-switch {
  flex: 0 0 218px !important;
  width: 218px !important;
  min-width: 218px !important;
  height: 42px !important;
  padding: 5px !important;
  gap: 4px !important;
  border-radius: 14px !important;
  border-color: rgba(168, 132, 255, .72) !important;
}
body.nge-unified-lab.lb-level-a1 .friendly-topbar .audience-btn {
  height: 30px !important;
  min-height: 30px !important;
  border-radius: 9px !important;
  letter-spacing: 0 !important;
}
body.nge-unified-lab.lb-level-a1 .audience-btn.is-active,
body.nge-unified-lab.lb-level-a1[data-audience="kids"] .audience-btn[data-audience-btn="kids"],
body.nge-unified-lab.lb-level-a1[data-audience="adults"] .audience-btn[data-audience-btn="adults"] {
  background: #ff690a !important;
  color: #fff !important;
  box-shadow: 0 10px 22px rgba(255, 105, 10, .24) !important;
}
body.nge-unified-lab.lb-level-a1 .friendly-hero,
body.nge-unified-lab.lb-level-a1 .hero.friendly-hero,
html[data-theme="violet"] body.nge-unified-lab.lb-level-a1 .friendly-hero,
html[data-theme="violet"] body.nge-unified-lab.lb-level-a1 .hero.friendly-hero,
html[data-theme="black-lab"] body.nge-unified-lab.lb-level-a1 .friendly-hero,
html[data-theme="black-lab"] body.nge-unified-lab.lb-level-a1 .hero.friendly-hero {
  height: 560px !important;
  min-height: 560px !important;
  margin-top: 26px !important;
  margin-bottom: 18px !important;
}
body.nge-unified-lab.lb-level-a1 .friendly-hero-inner,
body.nge-unified-lab.lb-level-a1 .hero-inner.friendly-hero-inner,
html[data-theme="violet"] body.nge-unified-lab.lb-level-a1 .friendly-hero-inner,
html[data-theme="violet"] body.nge-unified-lab.lb-level-a1 .hero-inner.friendly-hero-inner,
html[data-theme="black-lab"] body.nge-unified-lab.lb-level-a1 .friendly-hero-inner,
html[data-theme="black-lab"] body.nge-unified-lab.lb-level-a1 .hero-inner.friendly-hero-inner {
  min-height: 560px !important;
  grid-template-columns: minmax(390px, .82fr) 1.18fr !important;
  align-items: stretch !important;
  gap: 0 !important;
  padding: 0 !important;
}
body.nge-unified-lab.lb-level-a1 .hero-copy-panel,
html[data-theme="violet"] body.nge-unified-lab.lb-level-a1 .hero-copy-panel,
html[data-theme="black-lab"] body.nge-unified-lab.lb-level-a1 .hero-copy-panel {
  width: min(560px, 100%) !important;
  max-width: 560px !important;
  align-self: stretch !important;
  padding: clamp(42px, 6vw, 72px) 28px clamp(42px, 5vw, 64px) clamp(28px, 4vw, 56px) !important;
  transform: none !important;
}
body.nge-unified-lab.lb-level-a1 .friendly-title,
body.nge-unified-lab.lb-level-a1 .hero-title.friendly-title {
  max-width: 560px !important;
  margin-bottom: 18px !important;
  letter-spacing: 0 !important;
}
body.nge-unified-lab.lb-level-a1 .friendly-lead,
body.nge-unified-lab.lb-level-a1 .hero-lead.friendly-lead {
  max-width: 520px !important;
  margin-bottom: 28px !important;
}
body.nge-unified-lab.lb-level-a1 .friendly-meta,
body.nge-unified-lab.lb-level-a1 .hero-meta.friendly-meta {
  max-width: 470px !important;
  margin-bottom: 26px !important;
}
body.nge-unified-lab.lb-level-a1 .friendly-photo,
body.nge-unified-lab.lb-level-a1 .hero-photo.friendly-photo,
body.nge-unified-lab.lb-level-a1 .friendly-photo .hero-img,
body.nge-unified-lab.lb-level-a1 .hero-photo.friendly-photo .hero-img {
  height: 100% !important;
  min-height: 560px !important;
  max-height: none !important;
}

/* Codex 2026-05-09: keep every A1 hero banner inside its frame, including long A1-05/A1-08 copy. */
body.nge-unified-lab.lb-level-a1 .friendly-hero,
body.nge-unified-lab.lb-level-a1 .hero.friendly-hero,
html[data-theme="violet"] body.nge-unified-lab.lb-level-a1 .friendly-hero,
html[data-theme="violet"] body.nge-unified-lab.lb-level-a1 .hero.friendly-hero,
html[data-theme="black-lab"] body.nge-unified-lab.lb-level-a1 .friendly-hero,
html[data-theme="black-lab"] body.nge-unified-lab.lb-level-a1 .hero.friendly-hero {
  height: auto !important;
  min-height: clamp(540px, 35vw, 600px) !important;
}

body.nge-unified-lab.lb-level-a1 .friendly-hero-inner,
body.nge-unified-lab.lb-level-a1 .hero-inner.friendly-hero-inner,
html[data-theme="violet"] body.nge-unified-lab.lb-level-a1 .friendly-hero-inner,
html[data-theme="violet"] body.nge-unified-lab.lb-level-a1 .hero-inner.friendly-hero-inner,
html[data-theme="black-lab"] body.nge-unified-lab.lb-level-a1 .friendly-hero-inner,
html[data-theme="black-lab"] body.nge-unified-lab.lb-level-a1 .hero-inner.friendly-hero-inner {
  min-height: clamp(540px, 35vw, 600px) !important;
}

body.nge-unified-lab.lb-level-a1 .hero-copy-panel,
html[data-theme="violet"] body.nge-unified-lab.lb-level-a1 .hero-copy-panel,
html[data-theme="black-lab"] body.nge-unified-lab.lb-level-a1 .hero-copy-panel {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  min-height: 100% !important;
  padding-top: clamp(26px, 2.8vw, 44px) !important;
  padding-bottom: clamp(22px, 2.4vw, 36px) !important;
}

body.nge-unified-lab.lb-level-a1 .friendly-title,
body.nge-unified-lab.lb-level-a1 .hero-title.friendly-title {
  font-size: clamp(38px, 3.35vw, 56px) !important;
  line-height: .98 !important;
  margin-bottom: 12px !important;
  overflow-wrap: anywhere !important;
  text-wrap: balance !important;
}

body.nge-unified-lab.lb-level-a1 .friendly-lead,
body.nge-unified-lab.lb-level-a1 .hero-lead.friendly-lead {
  font-size: clamp(14px, 1.05vw, 16px) !important;
  line-height: 1.3 !important;
  margin-bottom: 12px !important;
  padding: 12px 16px !important;
}

body.nge-unified-lab.lb-level-a1 .friendly-meta,
body.nge-unified-lab.lb-level-a1 .hero-meta.friendly-meta {
  gap: 10px !important;
  margin-bottom: 12px !important;
}

body.nge-unified-lab.lb-level-a1 .friendly-meta .info-pill,
body.nge-unified-lab.lb-level-a1 .hero-meta.friendly-meta .info-pill,
body.nge-unified-lab.lb-level-a1 .hero-meta > * {
  min-height: 62px !important;
  padding: 10px 14px !important;
}

body.nge-unified-lab.lb-level-a1 .hero-actions {
  margin-top: 0 !important;
  gap: 8px !important;
}

body.nge-unified-lab.lb-level-a1 .hero-actions .btn,
body.nge-unified-lab.lb-level-a1 .hero-actions a.btn {
  min-height: 44px !important;
  padding: 12px 20px !important;
  line-height: 1.15 !important;
}

html[data-theme="violet"] body.nge-unified-lab.lb-level-a1 .hero-actions .btn.primary,
html[data-theme="violet"] body.nge-unified-lab.lb-level-a1 .hero-actions a.btn.primary,
html[data-theme="violet"] body.nge-unified-lab.lb-level-a1 .btn.primary,
html[data-theme="violet"] body.nge-unified-lab.lb-level-a1 a.btn.primary,
html[data-theme="black-lab"] body.nge-unified-lab.lb-level-a1 .hero-actions .btn.primary,
html[data-theme="black-lab"] body.nge-unified-lab.lb-level-a1 .hero-actions a.btn.primary,
html[data-theme="black-lab"] body.nge-unified-lab.lb-level-a1 .btn.primary,
html[data-theme="black-lab"] body.nge-unified-lab.lb-level-a1 a.btn.primary {
  background: #ff690a !important;
  background-image: none !important;
  border-color: #ff690a !important;
  color: #fff !important;
  box-shadow: 0 12px 24px rgba(255, 105, 10, .26) !important;
}

html[data-theme="violet"] body.nge-unified-lab.lb-level-a1 .hero-actions .btn.primary:hover,
html[data-theme="violet"] body.nge-unified-lab.lb-level-a1 .hero-actions a.btn.primary:hover,
html[data-theme="violet"] body.nge-unified-lab.lb-level-a1 .btn.primary:hover,
html[data-theme="violet"] body.nge-unified-lab.lb-level-a1 a.btn.primary:hover,
html[data-theme="black-lab"] body.nge-unified-lab.lb-level-a1 .hero-actions .btn.primary:hover,
html[data-theme="black-lab"] body.nge-unified-lab.lb-level-a1 .hero-actions a.btn.primary:hover,
html[data-theme="black-lab"] body.nge-unified-lab.lb-level-a1 .btn.primary:hover,
html[data-theme="black-lab"] body.nge-unified-lab.lb-level-a1 a.btn.primary:hover {
  background: #ff7a1f !important;
  border-color: #ff7a1f !important;
  box-shadow: 0 14px 28px rgba(255, 105, 10, .34) !important;
}

html[data-theme="violet"] body.nge-unified-lab.lb-level-a1 .hero-actions .btn.primary:active,
html[data-theme="violet"] body.nge-unified-lab.lb-level-a1 .hero-actions a.btn.primary:active,
html[data-theme="violet"] body.nge-unified-lab.lb-level-a1 .btn.primary:active,
html[data-theme="violet"] body.nge-unified-lab.lb-level-a1 a.btn.primary:active,
html[data-theme="black-lab"] body.nge-unified-lab.lb-level-a1 .hero-actions .btn.primary:active,
html[data-theme="black-lab"] body.nge-unified-lab.lb-level-a1 .hero-actions a.btn.primary:active,
html[data-theme="black-lab"] body.nge-unified-lab.lb-level-a1 .btn.primary:active,
html[data-theme="black-lab"] body.nge-unified-lab.lb-level-a1 a.btn.primary:active {
  background: #e95f08 !important;
  border-color: #e95f08 !important;
}

body.nge-unified-lab.lb-level-a1 .friendly-photo,
body.nge-unified-lab.lb-level-a1 .hero-photo.friendly-photo,
body.nge-unified-lab.lb-level-a1 .friendly-photo .hero-img,
body.nge-unified-lab.lb-level-a1 .hero-photo.friendly-photo .hero-img {
  min-height: clamp(540px, 35vw, 600px) !important;
}

@media (min-width: 1101px) and (max-width: 1360px) {
  body.nge-unified-lab.lb-level-a1 .friendly-title,
  body.nge-unified-lab.lb-level-a1 .hero-title.friendly-title {
    font-size: clamp(36px, 3.35vw, 48px) !important;
  }

  body.nge-unified-lab.lb-level-a1 .friendly-lead,
  body.nge-unified-lab.lb-level-a1 .hero-lead.friendly-lead {
    font-size: 14px !important;
  }

  body.nge-unified-lab.lb-level-a1 .friendly-meta,
  body.nge-unified-lab.lb-level-a1 .hero-meta.friendly-meta {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 1100px) {
  body.nge-unified-lab.lb-level-a1 .friendly-hero,
  body.nge-unified-lab.lb-level-a1 .hero.friendly-hero,
  html[data-theme="violet"] body.nge-unified-lab.lb-level-a1 .friendly-hero,
  html[data-theme="violet"] body.nge-unified-lab.lb-level-a1 .hero.friendly-hero,
  html[data-theme="black-lab"] body.nge-unified-lab.lb-level-a1 .friendly-hero,
  html[data-theme="black-lab"] body.nge-unified-lab.lb-level-a1 .hero.friendly-hero {
    height: auto !important;
    min-height: 0 !important;
  }
  body.nge-unified-lab.lb-level-a1 .friendly-hero-inner,
  body.nge-unified-lab.lb-level-a1 .hero-inner.friendly-hero-inner,
  html[data-theme="violet"] body.nge-unified-lab.lb-level-a1 .friendly-hero-inner,
  html[data-theme="violet"] body.nge-unified-lab.lb-level-a1 .hero-inner.friendly-hero-inner,
  html[data-theme="black-lab"] body.nge-unified-lab.lb-level-a1 .friendly-hero-inner,
  html[data-theme="black-lab"] body.nge-unified-lab.lb-level-a1 .hero-inner.friendly-hero-inner {
    grid-template-columns: 1fr !important;
  }
  body.nge-unified-lab.lb-level-a1 .friendly-photo,
  body.nge-unified-lab.lb-level-a1 .hero-photo.friendly-photo,
  body.nge-unified-lab.lb-level-a1 .friendly-photo .hero-img,
  body.nge-unified-lab.lb-level-a1 .hero-photo.friendly-photo .hero-img {
    min-height: 300px !important;
  }
}
/* Codex 2026-05-09: replace old pictograms with the approved LinguaBoost icon candidates. */
body.nge-unified-lab {
  --lb-icon-book-open: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 7v14'/%3E%3Cpath d='M3 5a2 2 0 0 1 2-2h4a3 3 0 0 1 3 3v15a3 3 0 0 0-3-3H5a2 2 0 0 1-2-2z'/%3E%3Cpath d='M21 5a2 2 0 0 0-2-2h-4a3 3 0 0 0-3 3v15a3 3 0 0 1 3-3h4a2 2 0 0 0 2-2z'/%3E%3C/svg%3E");
  --lb-icon-route: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 19V5'/%3E%3Cpath d='M18 19V5'/%3E%3Cpath d='M6 8h8l4 4-4 4H6'/%3E%3Cpath d='M10 5h4'/%3E%3C/svg%3E");
  --lb-icon-list-checks: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 11 3 3L22 4'/%3E%3Cpath d='M21 12v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11'/%3E%3Cpath d='M7 8h4'/%3E%3Cpath d='M7 16h6'/%3E%3C/svg%3E");
  --lb-icon-circle-check-big: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='m8 12 3 3 6-7'/%3E%3Cpath d='M18 3v4h4'/%3E%3C/svg%3E");
  --lb-icon-target: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Ccircle cx='12' cy='12' r='5'/%3E%3Ccircle cx='12' cy='12' r='1.5'/%3E%3C/svg%3E");
  --lb-icon-dumbbell: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6.5 6.5 11 11'/%3E%3Cpath d='m21 14-4 4'/%3E%3Cpath d='m18 11-7 7'/%3E%3Cpath d='m3 10 4-4'/%3E%3Cpath d='m6 13 7-7'/%3E%3C/svg%3E");
  --lb-icon-flag: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 22V4'/%3E%3Cpath d='M5 4c3-2 5 1 8 0 2-.6 4-1.5 6 0v10c-2-1.5-4-.6-6 0-3 1-5-2-8 0'/%3E%3C/svg%3E");
  --lb-icon-trophy: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 21h8'/%3E%3Cpath d='M12 17v4'/%3E%3Cpath d='M7 4h10v5a5 5 0 0 1-10 0z'/%3E%3Cpath d='M7 7H4a3 3 0 0 0 3 3'/%3E%3Cpath d='M17 7h3a3 3 0 0 1-3 3'/%3E%3C/svg%3E");
  --lb-icon-clock: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E");
  --lb-icon-languages: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 8 6 6'/%3E%3Cpath d='m4 14 6-6 2-3'/%3E%3Cpath d='M2 5h12'/%3E%3Cpath d='M7 2h1'/%3E%3Cpath d='m22 22-5-10-5 10'/%3E%3Cpath d='M14 18h6'/%3E%3C/svg%3E");
  --lb-icon-graduation-cap: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 10 12 5 2 10l10 5z'/%3E%3Cpath d='M6 12v4c3 2 9 2 12 0v-4'/%3E%3Cpath d='M22 10v6'/%3E%3C/svg%3E");
  --lb-icon-badge-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3.2 14.1 5l2.8-.2.9 2.7 2.4 1.5-1 2.6 1 2.6-2.4 1.5-.9 2.7-2.8-.2L12 20.8 9.9 19l-2.8.2-.9-2.7-2.4-1.5 1-2.6-1-2.6 2.4-1.5.9-2.7 2.8.2z'/%3E%3Cpath d='m8.5 12 2.2 2.2 4.8-5'/%3E%3C/svg%3E");
}
body.nge-unified-lab .info-icon,
body.nge-unified-lab .flow-icon,
body.nge-unified-lab .cert-star {
  position: relative !important;
  display: inline-grid !important;
  place-items: center !important;
  overflow: hidden !important;
  font-size: 0 !important;
  line-height: 0 !important;
  color: #ff690a !important;
  background: color-mix(in srgb, currentColor 10%, transparent) !important;
  border: 1.5px solid color-mix(in srgb, currentColor 48%, transparent) !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}
body.nge-unified-lab .info-icon::after,
body.nge-unified-lab .flow-icon::after,
body.nge-unified-lab .cert-star::after {
  content: none !important;
}
body.nge-unified-lab .info-icon::before,
body.nge-unified-lab .flow-icon::before,
body.nge-unified-lab .cert-star::before {
  content: "" !important;
  position: static !important;
  display: block !important;
  width: 22px !important;
  height: 22px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: currentColor !important;
  transform: none !important;
  -webkit-mask: var(--lb-icon-target) center / contain no-repeat !important;
  mask: var(--lb-icon-target) center / contain no-repeat !important;
}
body.nge-unified-lab .hero-meta .info-pill:first-child .info-icon::before,
body.nge-unified-lab .info-icon-object::before,
body.nge-unified-lab .info-icon-place::before,
body.nge-unified-lab .info-icon-command::before {
  -webkit-mask-image: var(--lb-icon-graduation-cap) !important;
  mask-image: var(--lb-icon-graduation-cap) !important;
}
body.nge-unified-lab .info-icon-time::before,
body.nge-unified-lab .hero-meta .info-pill:nth-child(2) .info-icon::before {
  -webkit-mask-image: var(--lb-icon-clock) !important;
  mask-image: var(--lb-icon-clock) !important;
}
body.nge-unified-lab .hero-meta .info-pill:first-child .info-icon { color: #ff690a !important; }
body.nge-unified-lab .hero-meta .info-pill:nth-child(2) .info-icon { color: #ff690a !important; }
body.nge-unified-lab .hero-meta .info-pill:nth-child(2) .info-icon:not(.info-icon-time)::before {
  -webkit-mask-image: var(--lb-icon-trophy) !important;
  mask-image: var(--lb-icon-trophy) !important;
}
body.nge-unified-lab .lesson-flow .flow-card:nth-child(1) .flow-icon { color: #a77cff !important; }
body.nge-unified-lab .lesson-flow .flow-card:nth-child(1) .flow-icon::before {
  -webkit-mask-image: var(--lb-icon-route) !important;
  mask-image: var(--lb-icon-route) !important;
}
body.nge-unified-lab .lesson-flow .flow-card:nth-child(2) .flow-icon { color: #a77cff !important; }
body.nge-unified-lab .lesson-flow .flow-card:nth-child(2) .flow-icon::before {
  -webkit-mask-image: var(--lb-icon-dumbbell) !important;
  mask-image: var(--lb-icon-dumbbell) !important;
}
body.nge-unified-lab .lesson-flow .flow-card:nth-child(3) .flow-icon { color: #ff690a !important; }
body.nge-unified-lab .lesson-flow .flow-card:nth-child(3) .flow-icon::before {
  -webkit-mask-image: var(--lb-icon-book-open) !important;
  mask-image: var(--lb-icon-book-open) !important;
}
body.nge-unified-lab .lesson-flow .flow-card:nth-child(4) .flow-icon { color: #22c878 !important; }
body.nge-unified-lab .lesson-flow .flow-card:nth-child(4) .flow-icon::before {
  -webkit-mask-image: var(--lb-icon-list-checks) !important;
  mask-image: var(--lb-icon-list-checks) !important;
}
body.nge-unified-lab .lesson-flow .flow-card:nth-child(5) .flow-icon { color: #ff690a !important; }
body.nge-unified-lab .lesson-flow .flow-card:nth-child(5) .flow-icon::before {
  -webkit-mask-image: var(--lb-icon-flag) !important;
  mask-image: var(--lb-icon-flag) !important;
}
body.nge-unified-lab.lb-page-a1-08-final-mission .lesson-flow .flow-card:nth-child(1) .flow-icon::before {
  -webkit-mask-image: var(--lb-icon-route) !important;
  mask-image: var(--lb-icon-route) !important;
}
body.nge-unified-lab.lb-page-a1-08-final-mission .lesson-flow .flow-card:nth-child(2) .flow-icon { color: #ff690a !important; }
body.nge-unified-lab.lb-page-a1-08-final-mission .lesson-flow .flow-card:nth-child(2) .flow-icon::before {
  -webkit-mask-image: var(--lb-icon-target) !important;
  mask-image: var(--lb-icon-target) !important;
}
body.nge-unified-lab.lb-page-a1-08-final-mission .lesson-flow .flow-card:nth-child(3) .flow-icon::before {
  -webkit-mask-image: var(--lb-icon-dumbbell) !important;
  mask-image: var(--lb-icon-dumbbell) !important;
}
body.nge-unified-lab.lb-page-a1-08-final-mission .lesson-flow .flow-card:nth-child(4) .flow-icon { color: #22c878 !important; }
body.nge-unified-lab.lb-page-a1-08-final-mission .lesson-flow .flow-card:nth-child(4) .flow-icon::before {
  -webkit-mask-image: var(--lb-icon-circle-check-big) !important;
  mask-image: var(--lb-icon-circle-check-big) !important;
}
body.nge-unified-lab.lb-page-a1-08-final-mission .lesson-flow .flow-card:nth-child(5) .flow-icon { color: #22c878 !important; }
body.nge-unified-lab.lb-page-a1-08-final-mission .lesson-flow .flow-card:nth-child(5) .flow-icon::before {
  -webkit-mask-image: var(--lb-icon-trophy) !important;
  mask-image: var(--lb-icon-trophy) !important;
}
body.nge-unified-lab .certificate-card .cert-star {
  color: #22c878 !important;
  background: color-mix(in srgb, currentColor 12%, transparent) !important;
  border-color: color-mix(in srgb, currentColor 48%, transparent) !important;
}
body.nge-unified-lab .certificate-card .cert-star::before {
  width: 28px !important;
  height: 28px !important;
  -webkit-mask-image: var(--lb-icon-badge-check) !important;
  mask-image: var(--lb-icon-badge-check) !important;
}
body.nge-unified-lab .certificate-card.is-earned .cert-star::before {
  -webkit-mask-image: var(--lb-icon-circle-check-big) !important;
  mask-image: var(--lb-icon-circle-check-big) !important;
}
body.nge-unified-lab .flow-icon {
  position: absolute !important;
  width: 46px !important;
  height: 42px !important;
  left: 24px !important;
  top: 62px !important;
  right: auto !important;
  bottom: auto !important;
  transform: none !important;
}

body.nge-unified-lab .lesson-flow .flow-card {
  position: relative !important;
  min-height: 142px !important;
  padding: 52px 22px 22px 96px !important;
  align-content: start !important;
  justify-content: start !important;
  text-align: left !important;
}

body.nge-unified-lab .lesson-flow .flow-card strong,
body.nge-unified-lab .lesson-flow .flow-card small {
  display: block !important;
  max-width: 100% !important;
  text-align: left !important;
}

body.nge-unified-lab .lesson-flow .flow-card .flow-num {
  position: absolute !important;
  left: 24px !important;
  top: 24px !important;
}

@media (max-width: 720px) {
  body.nge-unified-lab .lesson-flow .flow-card {
    min-height: 128px !important;
    padding: 46px 18px 20px 84px !important;
  }

  body.nge-unified-lab .flow-icon {
    left: 20px !important;
    top: 56px !important;
  }

  body.nge-unified-lab .lesson-flow .flow-card .flow-num {
    left: 20px !important;
    top: 20px !important;
  }
}
body.nge-unified-lab .info-icon {
  width: 42px !important;
  height: 42px !important;
  border-radius: 11px !important;
}
/* Codex 2026-05-09: A1 topbar typography weight lock. */
body.nge-unified-lab.lb-level-a1 .friendly-topbar,
body.nge-unified-lab.lb-level-a1 .topbar.friendly-topbar {
  font-family: var(--body, "Manrope", system-ui, sans-serif) !important;
  font-weight: 500 !important;
}
body.nge-unified-lab.lb-level-a1 .friendly-brand .brand-name,
body.nge-unified-lab.lb-level-a1 .brand.friendly-brand .brand-name,
html[data-theme="violet"] body.nge-unified-lab.lb-level-a1 .friendly-brand .brand-name,
html[data-theme="black-lab"] body.nge-unified-lab.lb-level-a1 .friendly-brand .brand-name {
  font-family: var(--body, "Manrope", system-ui, sans-serif) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
}
body.nge-unified-lab.lb-level-a1 .friendly-brand .lab-tag,
body.nge-unified-lab.lb-level-a1 .friendly-brand-copy small,
body.nge-unified-lab.lb-level-a1 .brand-copy small,
body.nge-unified-lab.lb-level-a1 .brand-subtitle,
html[data-theme="violet"] body.nge-unified-lab.lb-level-a1 .friendly-brand .lab-tag,
html[data-theme="black-lab"] body.nge-unified-lab.lb-level-a1 .friendly-brand .lab-tag {
  font-family: var(--body, "Manrope", system-ui, sans-serif) !important;
  font-size: 9px !important;
  font-weight: 600 !important;
  line-height: 1.05 !important;
  letter-spacing: .06em !important;
}
body.nge-unified-lab.lb-level-a1 .friendly-nav .top-link,
body.nge-unified-lab.lb-level-a1 .topbar-nav .top-link,
html[data-theme="violet"] body.nge-unified-lab.lb-level-a1 .friendly-nav .top-link,
html[data-theme="black-lab"] body.nge-unified-lab.lb-level-a1 .friendly-nav .top-link {
  font-family: var(--body, "Manrope", system-ui, sans-serif) !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: .055em !important;
  line-height: 1 !important;
}
body.nge-unified-lab.lb-level-a1 .friendly-nav .top-link.active,
body.nge-unified-lab.lb-level-a1 .friendly-nav .top-link:hover,
html[data-theme="violet"] body.nge-unified-lab.lb-level-a1 .friendly-nav .top-link.active,
html[data-theme="black-lab"] body.nge-unified-lab.lb-level-a1 .friendly-nav .top-link.active {
  font-weight: 650 !important;
}
body.nge-unified-lab.lb-level-a1 .friendly-tools .btn-tool,
body.nge-unified-lab.lb-level-a1 .friendly-tools .palette-select,
body.nge-unified-lab.lb-level-a1 .friendly-topbar .audience-btn,
body.nge-unified-lab.lb-level-a1 .friendly-topbar .level-bubble,
body.nge-unified-lab.lb-level-a1 .nge-level-badge,
html[data-theme="violet"] body.nge-unified-lab.lb-level-a1 .friendly-tools .btn-tool,
html[data-theme="violet"] body.nge-unified-lab.lb-level-a1 .friendly-tools .palette-select,
html[data-theme="violet"] body.nge-unified-lab.lb-level-a1 .friendly-topbar .audience-btn,
html[data-theme="violet"] body.nge-unified-lab.lb-level-a1 .nge-level-badge,
html[data-theme="black-lab"] body.nge-unified-lab.lb-level-a1 .friendly-tools .btn-tool,
html[data-theme="black-lab"] body.nge-unified-lab.lb-level-a1 .friendly-tools .palette-select,
html[data-theme="black-lab"] body.nge-unified-lab.lb-level-a1 .friendly-topbar .audience-btn,
html[data-theme="black-lab"] body.nge-unified-lab.lb-level-a1 .nge-level-badge {
  font-family: var(--body, "Manrope", system-ui, sans-serif) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: .035em !important;
  line-height: 1 !important;
}
body.nge-unified-lab.lb-level-a1 .friendly-topbar .audience-btn.is-active,
body.nge-unified-lab.lb-level-a1[data-audience="kids"] .audience-btn[data-audience-btn="kids"],
body.nge-unified-lab.lb-level-a1[data-audience="adults"] .audience-btn[data-audience-btn="adults"] {
  font-weight: 650 !important;
}
body.nge-unified-lab.lb-level-a1 .nge-level-badge,
body.nge-unified-lab.lb-level-a1 .level-bubble {
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
}
/* Codex 2026-05-09: A1 topbar typography final light pass. */
body.nge-unified-lab.lb-level-a1 .friendly-brand .brand-name,
body.nge-unified-lab.lb-level-a1 .brand.friendly-brand .brand-name,
html[data-theme="violet"] body.nge-unified-lab.lb-level-a1 .friendly-brand .brand-name,
html[data-theme="black-lab"] body.nge-unified-lab.lb-level-a1 .friendly-brand .brand-name {
  font-family: var(--body, "Manrope", system-ui, sans-serif) !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
body.nge-unified-lab.lb-level-a1 .friendly-brand .lab-tag,
body.nge-unified-lab.lb-level-a1 .friendly-brand-copy small,
body.nge-unified-lab.lb-level-a1 .brand-copy small,
body.nge-unified-lab.lb-level-a1 .brand-subtitle {
  font-family: var(--body, "Manrope", system-ui, sans-serif) !important;
  font-size: 9px !important;
  font-weight: 500 !important;
  letter-spacing: .045em !important;
  text-transform: uppercase !important;
}
body.nge-unified-lab.lb-level-a1 .friendly-nav .top-link,
body.nge-unified-lab.lb-level-a1 .topbar-nav .top-link,
html[data-theme="violet"] body.nge-unified-lab.lb-level-a1 .friendly-nav .top-link,
html[data-theme="black-lab"] body.nge-unified-lab.lb-level-a1 .friendly-nav .top-link {
  font-family: var(--body, "Manrope", system-ui, sans-serif) !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  letter-spacing: .045em !important;
}
body.nge-unified-lab.lb-level-a1 .friendly-nav .top-link.active,
body.nge-unified-lab.lb-level-a1 .friendly-nav .top-link:hover {
  font-weight: 550 !important;
}
body.nge-unified-lab.lb-level-a1 .friendly-tools .btn-tool,
body.nge-unified-lab.lb-level-a1 .friendly-tools .palette-select,
body.nge-unified-lab.lb-level-a1 .friendly-topbar .audience-btn,
html[data-theme="violet"] body.nge-unified-lab.lb-level-a1 .friendly-tools .btn-tool,
html[data-theme="violet"] body.nge-unified-lab.lb-level-a1 .friendly-tools .palette-select,
html[data-theme="violet"] body.nge-unified-lab.lb-level-a1 .friendly-topbar .audience-btn,
html[data-theme="black-lab"] body.nge-unified-lab.lb-level-a1 .friendly-tools .btn-tool,
html[data-theme="black-lab"] body.nge-unified-lab.lb-level-a1 .friendly-tools .palette-select,
html[data-theme="black-lab"] body.nge-unified-lab.lb-level-a1 .friendly-topbar .audience-btn {
  font-family: var(--body, "Manrope", system-ui, sans-serif) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: .02em !important;
  text-transform: none !important;
}
body.nge-unified-lab.lb-level-a1 .friendly-topbar .audience-btn.is-active,
body.nge-unified-lab.lb-level-a1[data-audience="kids"] .audience-btn[data-audience-btn="kids"],
body.nge-unified-lab.lb-level-a1[data-audience="adults"] .audience-btn[data-audience-btn="adults"] {
  font-weight: 600 !important;
}
body.nge-unified-lab.lb-level-a1 .nge-level-badge,
body.nge-unified-lab.lb-level-a1 .level-bubble,
html[data-theme="violet"] body.nge-unified-lab.lb-level-a1 .nge-level-badge,
html[data-theme="black-lab"] body.nge-unified-lab.lb-level-a1 .nge-level-badge {
  font-family: var(--body, "Manrope", system-ui, sans-serif) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}
/* Codex 2026-05-09: A1 skeleton topbar light typography. */
body.nge-unified-lab.lb-level-a1 .nge-shell-topbar {
  font-family: var(--body, "Manrope", system-ui, sans-serif) !important;
  font-weight: 400 !important;
}
body.nge-unified-lab.lb-level-a1 .nge-shell-name {
  font-family: var(--body, "Manrope", system-ui, sans-serif) !important;
  font-size: 18px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
body.nge-unified-lab.lb-level-a1 .nge-shell-tag {
  font-family: var(--body, "Manrope", system-ui, sans-serif) !important;
  font-size: 9px !important;
  font-weight: 400 !important;
  letter-spacing: .045em !important;
  text-transform: uppercase !important;
}
body.nge-unified-lab.lb-level-a1 .nge-shell-link {
  font-family: var(--body, "Manrope", system-ui, sans-serif) !important;
  font-size: 10px !important;
  font-weight: 400 !important;
  letter-spacing: .045em !important;
  text-transform: none !important;
}
body.nge-unified-lab.lb-level-a1 .nge-shell-link.is-active,
body.nge-unified-lab.lb-level-a1 .nge-shell-link:hover {
  font-weight: 500 !important;
}
body.nge-unified-lab.lb-level-a1 .nge-shell-controls .btn-tool,
body.nge-unified-lab.lb-level-a1 .nge-shell-controls .palette-select,
body.nge-unified-lab.lb-level-a1 .audience-switch .audience-btn {
  font-family: var(--body, "Manrope", system-ui, sans-serif) !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  letter-spacing: .015em !important;
  text-transform: none !important;
}
body.nge-unified-lab.lb-level-a1 .audience-switch .audience-btn.is-active,
body.nge-unified-lab.lb-level-a1[data-audience="kids"] .audience-btn[data-audience-btn="kids"],
body.nge-unified-lab.lb-level-a1[data-audience="adults"] .audience-btn[data-audience-btn="adults"] {
  font-weight: 500 !important;
}
body.nge-unified-lab.lb-level-a1 .nge-level-badge {
  font-family: var(--body, "Manrope", system-ui, sans-serif) !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
body.nge-unified-lab.lb-level-a1 .nge-shell-mark {
  font-family: var(--body, "Manrope", system-ui, sans-serif) !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}
/* Codex 2026-05-09: A1 shell typography restore to Manrope row. */
body.nge-unified-lab.lb-level-a1 .nge-shell-topbar,
body.nge-unified-lab.lb-level-a1 .nge-shell-topbar * {
  font-family: var(--body, "Manrope", "Inter", "Segoe UI", sans-serif) !important;
  letter-spacing: 0 !important;
}

body.nge-unified-lab.lb-level-a1 .nge-shell-name {
  font-size: clamp(20px, 1.25vw, 23px) !important;
  font-weight: 560 !important;
  line-height: 1 !important;
  text-transform: none !important;
}

body.nge-unified-lab.lb-level-a1 .nge-shell-tag {
  font-size: 10px !important;
  font-weight: 520 !important;
  line-height: 1.25 !important;
  letter-spacing: 0.045em !important;
  text-transform: uppercase !important;
}

body.nge-unified-lab.lb-level-a1 .nge-shell-link {
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  text-transform: none !important;
}

body.nge-unified-lab.lb-level-a1 .nge-shell-link.active {
  font-weight: 560 !important;
}

body.nge-unified-lab.lb-level-a1 .nge-shell-controls .btn-tool,
body.nge-unified-lab.lb-level-a1 .nge-shell-controls .palette-select,
body.nge-unified-lab.lb-level-a1 .nge-shell-controls .audience-btn {
  font-size: 14px !important;
  font-weight: 520 !important;
  line-height: 1 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

body.nge-unified-lab.lb-level-a1 .nge-shell-controls .audience-btn.active,
body.nge-unified-lab.lb-level-a1 .nge-shell-controls .audience-btn[aria-pressed="true"] {
  font-weight: 620 !important;
}

body.nge-unified-lab.lb-level-a1 .nge-shell-level {
  font-size: 20px !important;
  font-weight: 620 !important;
  letter-spacing: 0 !important;
}
/* Codex 2026-05-09: A1 info-bar icons orange lock. */
body.nge-unified-lab.lb-level-a1 .hero-meta .info-icon,
body.nge-unified-lab.lb-level-a1 .friendly-meta .info-icon,
body.nge-unified-lab.lb-level-a1 .lab-hero-badges .info-icon {
  color: #ff690a !important;
  border-color: rgba(255, 105, 10, .78) !important;
  background: rgba(255, 105, 10, .10) !important;
  box-shadow: inset 0 0 0 1px rgba(255, 105, 10, .16) !important;
}

body.nge-unified-lab.lb-level-a1 .hero-meta .info-icon::before,
body.nge-unified-lab.lb-level-a1 .friendly-meta .info-icon::before,
body.nge-unified-lab.lb-level-a1 .lab-hero-badges .info-icon::before {
  color: #ff690a !important;
  background: currentColor !important;
}

body.nge-unified-lab.lb-level-a1 .hero-meta .info-pill,
body.nge-unified-lab.lb-level-a1 .friendly-meta .info-pill {
  --icon-accent: #ff690a !important;
}
/* Codex 2026-05-09: A1-08 dark surface pass. */
html[data-theme="violet"] body.nge-unified-lab.lb-page-a1-08-final-mission,
html[data-theme="black-lab"] body.nge-unified-lab.lb-page-a1-08-final-mission {
  --a108-surface: rgba(22, 15, 35, .92);
  --a108-surface-2: rgba(31, 22, 48, .90);
  --a108-surface-3: rgba(43, 31, 66, .86);
  --a108-line: rgba(198, 177, 255, .22);
  --a108-line-strong: rgba(255, 105, 10, .38);
  --a108-text: #fff8ff;
  --a108-muted: #d8ccef;
  --a108-faint: #b7a7d4;
}

html[data-theme="violet"] body.nge-unified-lab.lb-page-a1-08-final-mission .lesson-flow,
html[data-theme="violet"] body.nge-unified-lab.lb-page-a1-08-final-mission .learn-panel,
html[data-theme="violet"] body.nge-unified-lab.lb-page-a1-08-final-mission .step-tracker,
html[data-theme="violet"] body.nge-unified-lab.lb-page-a1-08-final-mission .lesson-score-card,
html[data-theme="violet"] body.nge-unified-lab.lb-page-a1-08-final-mission .block,
html[data-theme="violet"] body.nge-unified-lab.lb-page-a1-08-final-mission .round-panel,
html[data-theme="violet"] body.nge-unified-lab.lb-page-a1-08-final-mission .certificate-shell,
html[data-theme="black-lab"] body.nge-unified-lab.lb-page-a1-08-final-mission .lesson-flow,
html[data-theme="black-lab"] body.nge-unified-lab.lb-page-a1-08-final-mission .learn-panel,
html[data-theme="black-lab"] body.nge-unified-lab.lb-page-a1-08-final-mission .step-tracker,
html[data-theme="black-lab"] body.nge-unified-lab.lb-page-a1-08-final-mission .lesson-score-card,
html[data-theme="black-lab"] body.nge-unified-lab.lb-page-a1-08-final-mission .block,
html[data-theme="black-lab"] body.nge-unified-lab.lb-page-a1-08-final-mission .round-panel,
html[data-theme="black-lab"] body.nge-unified-lab.lb-page-a1-08-final-mission .certificate-shell {
  background: linear-gradient(180deg, var(--a108-surface) 0%, rgba(18, 12, 30, .92) 100%) !important;
  border-color: var(--a108-line) !important;
  color: var(--a108-text) !important;
  box-shadow: 0 24px 70px rgba(5, 2, 12, .30) !important;
}

html[data-theme="violet"] body.nge-unified-lab.lb-page-a1-08-final-mission .flow-card,
html[data-theme="violet"] body.nge-unified-lab.lb-page-a1-08-final-mission .info-card,
html[data-theme="violet"] body.nge-unified-lab.lb-page-a1-08-final-mission .text-card,
html[data-theme="violet"] body.nge-unified-lab.lb-page-a1-08-final-mission .error-card,
html[data-theme="violet"] body.nge-unified-lab.lb-page-a1-08-final-mission .prompt-card,
html[data-theme="violet"] body.nge-unified-lab.lb-page-a1-08-final-mission .summary-card,
html[data-theme="violet"] body.nge-unified-lab.lb-page-a1-08-final-mission .round-tab,
html[data-theme="violet"] body.nge-unified-lab.lb-page-a1-08-final-mission .test-task,
html[data-theme="violet"] body.nge-unified-lab.lb-page-a1-08-final-mission .story-bank,
html[data-theme="violet"] body.nge-unified-lab.lb-page-a1-08-final-mission .story-output,
html[data-theme="violet"] body.nge-unified-lab.lb-page-a1-08-final-mission .practice-item,
html[data-theme="violet"] body.nge-unified-lab.lb-page-a1-08-final-mission .unlock-item,
html[data-theme="violet"] body.nge-unified-lab.lb-page-a1-08-final-mission .course-card,
html[data-theme="violet"] body.nge-unified-lab.lb-page-a1-08-final-mission .now-item,
html[data-theme="black-lab"] body.nge-unified-lab.lb-page-a1-08-final-mission .flow-card,
html[data-theme="black-lab"] body.nge-unified-lab.lb-page-a1-08-final-mission .info-card,
html[data-theme="black-lab"] body.nge-unified-lab.lb-page-a1-08-final-mission .text-card,
html[data-theme="black-lab"] body.nge-unified-lab.lb-page-a1-08-final-mission .error-card,
html[data-theme="black-lab"] body.nge-unified-lab.lb-page-a1-08-final-mission .prompt-card,
html[data-theme="black-lab"] body.nge-unified-lab.lb-page-a1-08-final-mission .summary-card,
html[data-theme="black-lab"] body.nge-unified-lab.lb-page-a1-08-final-mission .round-tab,
html[data-theme="black-lab"] body.nge-unified-lab.lb-page-a1-08-final-mission .test-task,
html[data-theme="black-lab"] body.nge-unified-lab.lb-page-a1-08-final-mission .story-bank,
html[data-theme="black-lab"] body.nge-unified-lab.lb-page-a1-08-final-mission .story-output,
html[data-theme="black-lab"] body.nge-unified-lab.lb-page-a1-08-final-mission .practice-item,
html[data-theme="black-lab"] body.nge-unified-lab.lb-page-a1-08-final-mission .unlock-item,
html[data-theme="black-lab"] body.nge-unified-lab.lb-page-a1-08-final-mission .course-card,
html[data-theme="black-lab"] body.nge-unified-lab.lb-page-a1-08-final-mission .now-item {
  background: var(--a108-surface-2) !important;
  border-color: var(--a108-line) !important;
  color: var(--a108-text) !important;
}

html[data-theme="violet"] body.nge-unified-lab.lb-page-a1-08-final-mission .flow-card strong,
html[data-theme="violet"] body.nge-unified-lab.lb-page-a1-08-final-mission .flow-card small,
html[data-theme="violet"] body.nge-unified-lab.lb-page-a1-08-final-mission .lesson-flow h2,
html[data-theme="violet"] body.nge-unified-lab.lb-page-a1-08-final-mission .learn-panel h2,
html[data-theme="violet"] body.nge-unified-lab.lb-page-a1-08-final-mission .block-title,
html[data-theme="violet"] body.nge-unified-lab.lb-page-a1-08-final-mission .round-title-line h3,
html[data-theme="black-lab"] body.nge-unified-lab.lb-page-a1-08-final-mission .flow-card strong,
html[data-theme="black-lab"] body.nge-unified-lab.lb-page-a1-08-final-mission .flow-card small,
html[data-theme="black-lab"] body.nge-unified-lab.lb-page-a1-08-final-mission .lesson-flow h2,
html[data-theme="black-lab"] body.nge-unified-lab.lb-page-a1-08-final-mission .learn-panel h2,
html[data-theme="black-lab"] body.nge-unified-lab.lb-page-a1-08-final-mission .block-title,
html[data-theme="black-lab"] body.nge-unified-lab.lb-page-a1-08-final-mission .round-title-line h3 {
  color: var(--a108-text) !important;
}

html[data-theme="violet"] body.nge-unified-lab.lb-page-a1-08-final-mission .block-intro,
html[data-theme="violet"] body.nge-unified-lab.lb-page-a1-08-final-mission .flow-card small,
html[data-theme="violet"] body.nge-unified-lab.lb-page-a1-08-final-mission .round-stats,
html[data-theme="violet"] body.nge-unified-lab.lb-page-a1-08-final-mission .summary-card small,
html[data-theme="violet"] body.nge-unified-lab.lb-page-a1-08-final-mission .story-score,
html[data-theme="violet"] body.nge-unified-lab.lb-page-a1-08-final-mission .story-output ol,
html[data-theme="violet"] body.nge-unified-lab.lb-page-a1-08-final-mission .unlock-item,
html[data-theme="violet"] body.nge-unified-lab.lb-page-a1-08-final-mission .minitask-detail,
html[data-theme="black-lab"] body.nge-unified-lab.lb-page-a1-08-final-mission .block-intro,
html[data-theme="black-lab"] body.nge-unified-lab.lb-page-a1-08-final-mission .flow-card small,
html[data-theme="black-lab"] body.nge-unified-lab.lb-page-a1-08-final-mission .round-stats,
html[data-theme="black-lab"] body.nge-unified-lab.lb-page-a1-08-final-mission .summary-card small,
html[data-theme="black-lab"] body.nge-unified-lab.lb-page-a1-08-final-mission .story-score,
html[data-theme="black-lab"] body.nge-unified-lab.lb-page-a1-08-final-mission .story-output ol,
html[data-theme="black-lab"] body.nge-unified-lab.lb-page-a1-08-final-mission .unlock-item,
html[data-theme="black-lab"] body.nge-unified-lab.lb-page-a1-08-final-mission .minitask-detail {
  color: var(--a108-muted) !important;
}

html[data-theme="violet"] body.nge-unified-lab.lb-page-a1-08-final-mission .certificate,
html[data-theme="black-lab"] body.nge-unified-lab.lb-page-a1-08-final-mission .certificate {
  background: radial-gradient(circle at 86% 12%, rgba(255, 105, 10, .16), transparent 30%), radial-gradient(circle at 12% 90%, rgba(122, 95, 207, .22), transparent 36%), #171025 !important;
  border-color: var(--a108-line-strong) !important;
  color: var(--a108-text) !important;
}

html[data-theme="violet"] body.nge-unified-lab.lb-page-a1-08-final-mission .cert-title,
html[data-theme="violet"] body.nge-unified-lab.lb-page-a1-08-final-mission .cert-course,
html[data-theme="violet"] body.nge-unified-lab.lb-page-a1-08-final-mission .cert-content p,
html[data-theme="black-lab"] body.nge-unified-lab.lb-page-a1-08-final-mission .cert-title,
html[data-theme="black-lab"] body.nge-unified-lab.lb-page-a1-08-final-mission .cert-course,
html[data-theme="black-lab"] body.nge-unified-lab.lb-page-a1-08-final-mission .cert-content p {
  color: var(--a108-text) !important;
}

html[data-theme="violet"] body.nge-unified-lab.lb-page-a1-08-final-mission .cert-kicker,
html[data-theme="violet"] body.nge-unified-lab.lb-page-a1-08-final-mission .cert-meta small,
html[data-theme="black-lab"] body.nge-unified-lab.lb-page-a1-08-final-mission .cert-kicker,
html[data-theme="black-lab"] body.nge-unified-lab.lb-page-a1-08-final-mission .cert-meta small {
  color: var(--a108-muted) !important;
}

html[data-theme="violet"] body.nge-unified-lab.lb-page-a1-08-final-mission .cert-meta,
html[data-theme="black-lab"] body.nge-unified-lab.lb-page-a1-08-final-mission .cert-meta {
  background: rgba(255, 255, 255, .07) !important;
  border-color: var(--a108-line) !important;
  color: var(--a108-text) !important;
}

html[data-theme="violet"] body.nge-unified-lab.lb-page-a1-08-final-mission .write-box,
html[data-theme="violet"] body.nge-unified-lab.lb-page-a1-08-final-mission .cert-input,
html[data-theme="violet"] body.nge-unified-lab.lb-page-a1-08-final-mission .choice,
html[data-theme="violet"] body.nge-unified-lab.lb-page-a1-08-final-mission .word-chip,
html[data-theme="violet"] body.nge-unified-lab.lb-page-a1-08-final-mission .test-build-chip,
html[data-theme="violet"] body.nge-unified-lab.lb-page-a1-08-final-mission .build-output,
html[data-theme="violet"] body.nge-unified-lab.lb-page-a1-08-final-mission .drop-slot,
html[data-theme="black-lab"] body.nge-unified-lab.lb-page-a1-08-final-mission .write-box,
html[data-theme="black-lab"] body.nge-unified-lab.lb-page-a1-08-final-mission .cert-input,
html[data-theme="black-lab"] body.nge-unified-lab.lb-page-a1-08-final-mission .choice,
html[data-theme="black-lab"] body.nge-unified-lab.lb-page-a1-08-final-mission .word-chip,
html[data-theme="black-lab"] body.nge-unified-lab.lb-page-a1-08-final-mission .test-build-chip,
html[data-theme="black-lab"] body.nge-unified-lab.lb-page-a1-08-final-mission .build-output,
html[data-theme="black-lab"] body.nge-unified-lab.lb-page-a1-08-final-mission .drop-slot {
  background: var(--a108-surface-3) !important;
  border-color: var(--a108-line) !important;
  color: var(--a108-text) !important;
}
