.nova-onboarding-dialog {
  width: min(560px, calc(100vw - 24px));
  max-width: 560px;
  max-height: calc(100dvh - 24px);
  margin: auto;
  padding: 0;
  border: 0;
  border-radius: 8px;
  background: #050520;
  color: #fff;
  box-shadow: 0 28px 90px rgba(4, 3, 25, .52);
  overflow: hidden;
}
.nova-onboarding-dialog::backdrop { background: rgba(8, 6, 31, .76); backdrop-filter: blur(6px); }
.nova-onboarding-shell { position: relative; max-height: calc(100dvh - 24px); overflow: hidden; }
.nova-onboarding-body {
  display: flex;
  flex-direction: column;
  max-height: calc(100dvh - 24px);
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  -webkit-overflow-scrolling: touch;
}
.nova-onboarding-frame { position: relative; flex: 0 0 auto; width: 100%; min-width: 0; margin: 0; overflow: hidden; background: #050520; }
.nova-onboarding-image { display: block; width: 100%; max-width: 100%; height: auto; user-select: none; -webkit-user-drag: none; }
.nova-onboarding-image[hidden],
.nova-onboarding-page[hidden] { display: none; }
.nova-onboarding-page {
  min-height: 100%;
  padding: 22px 16px 18px;
  background: #050520 url('/assets/vero-nova/raster/nova-space-background.webp') center top / cover no-repeat;
  color: #10183f;
  font-family: inherit;
  letter-spacing: 0;
}
.nova-onboarding-header {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 92px;
  padding: 0 56px 14px 2px;
  color: #fff;
}
.nova-onboarding-header > img { width: 54px; height: 54px; border-radius: 8px; object-fit: cover; }
.nova-onboarding-header > div { display: grid; min-width: 0; gap: 2px; }
.nova-onboarding-header span { color: #c9c1ff; font-size: 14px; font-weight: 800; }
.nova-onboarding-header strong { color: #fff; font-size: 19px; line-height: 1.3; }
.nova-onboarding-header small { color: #bfb1ff; font-size: 14px; font-weight: 900; }
.nova-onboarding-panel {
  overflow: hidden;
  padding: 28px 18px 22px;
  border: 1px solid rgba(193, 188, 235, .72);
  border-radius: 8px;
  background: rgba(255, 255, 255, .97);
  box-shadow: 0 18px 42px rgba(5, 6, 39, .28);
}
.nova-onboarding-panel > h3 {
  margin: 0;
  color: #121945;
  font-size: 32px;
  line-height: 1.15;
  text-align: center;
}
.nova-onboarding-subtitle {
  max-width: 430px;
  margin: 10px auto 20px;
  color: #3b4368;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.65;
  text-align: center;
}
.nova-onboarding-hero { display: grid; place-items: center; min-height: 164px; margin: 0 0 12px; }
.nova-onboarding-hero img { display: block; width: 156px; height: 156px; object-fit: contain; }
.nova-onboarding-panel-final .nova-onboarding-hero { min-height: 280px; margin: 0; overflow: hidden; }
.nova-onboarding-panel-final .nova-onboarding-hero img { width: min(100%, 420px); height: 280px; object-fit: contain; }
.nova-onboarding-sections { position: relative; display: grid; gap: 14px; }
.nova-onboarding-section {
  position: relative;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
}
.nova-onboarding-section:not(:last-child)::after {
  content: '';
  position: absolute;
  top: 38px;
  bottom: -14px;
  left: 18px;
  width: 2px;
  background: #c8c3ef;
}
.nova-onboarding-step {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border: 2px solid #8d77ec;
  border-radius: 50%;
  background: #4f36d8;
  color: #fff;
  font-size: 16px;
  font-weight: 900;
}
.nova-onboarding-section h4 { margin: 4px 0 8px; color: #171d4c; font-size: 17px; line-height: 1.35; }
.nova-onboarding-section > div { min-width: 0; }
.nova-onboarding-list {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0 12px;
  border: 1px solid #e1def1;
  border-radius: 8px;
  background: #fff;
  list-style: none;
  box-shadow: 0 7px 18px rgba(27, 23, 78, .06);
}
.nova-onboarding-list li {
  position: relative;
  min-width: 0;
  padding: 11px 8px 11px 24px;
  color: #293052;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.55;
  overflow-wrap: anywhere;
}
.nova-onboarding-list li + li { border-top: 1px solid #eceaf5; }
.nova-onboarding-list li::before { content: ''; position: absolute; top: 18px; left: 4px; width: 7px; height: 7px; border-radius: 50%; background: #5036db; }
.nova-onboarding-levels {
  position: relative;
  display: grid;
  gap: 4px;
  max-width: 430px;
  margin: 6px auto 24px;
  padding: 0;
  list-style: none;
}
.nova-onboarding-levels::before {
  content: '';
  position: absolute;
  top: 38px;
  bottom: 38px;
  left: 25px;
  width: 2px;
  background: #8875e8;
}
.nova-onboarding-levels li {
  position: relative;
  display: grid;
  grid-template-columns: 52px 76px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  min-height: 94px;
  padding: 7px 10px 7px 0;
  border: 1px solid transparent;
  border-radius: 8px;
}
.nova-onboarding-levels li.is-current { border-color: #d9d3f3; background: #f8f7ff; box-shadow: 0 10px 24px rgba(62, 45, 157, .1); }
.nova-onboarding-level-number {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  margin-left: 5px;
  border: 2px solid #a996ff;
  border-radius: 50%;
  background: #4931c4;
  color: #fff;
  font-weight: 900;
}
.nova-onboarding-levels img { width: 76px; height: 76px; object-fit: contain; }
.nova-onboarding-levels li > span:last-child { display: grid; gap: 2px; min-width: 0; }
.nova-onboarding-levels strong { color: #161c4a; font-size: 17px; }
.nova-onboarding-levels small { color: #343b60; font-size: 13px; }
.nova-onboarding-levels em { color: #61698a; font-size: 12px; font-style: normal; line-height: 1.45; }
.nova-onboarding-levels .is-current strong,
.nova-onboarding-levels .is-current em { color: #4328c8; }
.nova-onboarding-close {
  position: absolute;
  z-index: 4;
  top: max(10px, env(safe-area-inset-top));
  right: max(10px, env(safe-area-inset-right));
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, .7);
  border-radius: 50%;
  background: rgba(7, 8, 39, .78);
  color: #fff;
  box-shadow: 0 8px 22px rgba(5, 6, 33, .35);
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
}
.nova-onboarding-navigation {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(54px, auto) minmax(0, 1fr);
  align-items: stretch;
  gap: 10px;
  width: 100%;
  padding: 14px 16px;
  border-top: 1px solid rgba(146, 132, 255, .28);
  background: #080725;
  flex: 0 0 auto;
  margin-top: auto;
}
.nova-onboarding-nav-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  height: 52px;
  min-height: 52px;
  padding: 8px 6px;
  border: 1px solid rgba(255, 255, 255, .55);
  border-radius: 8px;
  color: #fff;
  font: inherit;
  font-size: 13px;
  font-weight: 900;
  line-height: 1.3;
  letter-spacing: 0;
  text-align: center;
  white-space: nowrap;
  cursor: pointer;
  touch-action: manipulation;
}
.nova-onboarding-nav-button-secondary { background: rgba(255, 255, 255, .08); }
.nova-onboarding-nav-button-primary {
  grid-column: 3;
  background: linear-gradient(110deg, #6637ec, #147bea);
  border-color: transparent;
  box-shadow: 0 10px 24px rgba(40, 58, 220, .26);
}
.nova-onboarding-nav-button:hover { filter: brightness(1.08); }
.nova-onboarding-nav-button[hidden],
.nova-onboarding-cancel-button[hidden] { display: none; }
.nova-onboarding-page-label {
  grid-column: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 54px;
  min-height: 52px;
  color: #d9d3ff;
  font-size: 14px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0;
  white-space: nowrap;
}
.nova-onboarding-cancel-button {
  display: block;
  width: 100%;
  min-height: 44px;
  margin: 0;
  padding: 8px 16px 14px;
  border: 0;
  background: #080725;
  color: #cfc8ff;
  font: inherit;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}
.nova-onboarding-close:focus-visible,
.nova-onboarding-nav-button:focus-visible,
.nova-onboarding-cancel-button:focus-visible {
  outline: 4px solid #76dcff;
  outline-offset: -4px;
  box-shadow: 0 0 0 4px rgba(15, 20, 71, .78);
}
.nova-onboarding-error {
  position: absolute;
  z-index: 3;
  inset: 40% 7% auto;
  margin: 0;
  padding: 18px;
  border: 1px solid rgba(255, 255, 255, .35);
  border-radius: 8px;
  background: rgba(9, 11, 49, .94);
  color: #fff;
  text-align: center;
  font-size: 14px;
  line-height: 1.6;
}
.nova-onboarding-sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.student-title-row .student-profile-copy { min-width: 0; flex: 1 1 220px; }
#section-student-dashboard .student-start-guide-button {
  position: relative;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  flex: 0 0 auto;
  min-height: 44px;
  margin-left: auto;
  padding: 10px 14px;
  border: 1px solid rgba(86, 48, 200, .22);
  border-radius: 8px;
  background: rgba(255, 255, 255, .9);
  color: #3d287e;
  box-shadow: 0 10px 24px rgba(31, 10, 97, .1);
  font: inherit;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0;
  white-space: nowrap;
  cursor: pointer;
}
#section-student-dashboard .student-start-guide-button:hover { background: #fff; border-color: rgba(86, 48, 200, .38); }
#section-student-dashboard .student-start-guide-button:focus-visible { outline: 3px solid #45b7ee; outline-offset: 3px; }
@media (max-width: 580px) {
  .nova-onboarding-dialog { width: 100vw; height: 100dvh; max-width: none; max-height: 100dvh; border-radius: 0; }
  .nova-onboarding-shell, .nova-onboarding-body { height: 100dvh; max-height: 100dvh; }
  #section-student-dashboard .student-title-row { flex-wrap: wrap; }
  #section-student-dashboard .student-start-guide-button { flex: 1 1 100%; width: 100%; margin: 8px 0 0; }
  .nova-onboarding-page { padding: 18px 10px 12px; }
  .nova-onboarding-header { min-height: 84px; gap: 10px; padding-right: 52px; }
  .nova-onboarding-header > img { width: 48px; height: 48px; }
  .nova-onboarding-header strong { font-size: 17px; }
  .nova-onboarding-panel { padding: 24px 12px 18px; }
  .nova-onboarding-panel > h3 { font-size: 28px; }
  .nova-onboarding-subtitle { margin-bottom: 16px; font-size: 14px; }
  .nova-onboarding-hero { min-height: 132px; }
  .nova-onboarding-hero img { width: 128px; height: 128px; }
  .nova-onboarding-panel-final .nova-onboarding-hero,
  .nova-onboarding-panel-final .nova-onboarding-hero img { height: 220px; min-height: 220px; }
  .nova-onboarding-section { grid-template-columns: 34px minmax(0, 1fr); gap: 8px; }
  .nova-onboarding-step { width: 34px; height: 34px; font-size: 14px; }
  .nova-onboarding-section:not(:last-child)::after { top: 34px; left: 16px; }
  .nova-onboarding-section h4 { font-size: 16px; }
  .nova-onboarding-list { padding: 0 8px; }
  .nova-onboarding-list li { padding: 10px 4px 10px 20px; font-size: 13px; }
  .nova-onboarding-list li::before { top: 17px; left: 2px; }
  .nova-onboarding-levels li { grid-template-columns: 42px 64px minmax(0, 1fr); gap: 7px; min-height: 82px; padding-right: 6px; }
  .nova-onboarding-levels::before { left: 20px; }
  .nova-onboarding-level-number { width: 36px; height: 36px; margin-left: 2px; }
  .nova-onboarding-levels img { width: 64px; height: 64px; }
  .nova-onboarding-levels strong { font-size: 15px; }
  .nova-onboarding-levels small { font-size: 12px; }
}
@supports not (height: 100dvh) {
  .nova-onboarding-dialog, .nova-onboarding-shell, .nova-onboarding-body { max-height: calc(100vh - 24px); }
  @media (max-width: 580px) { .nova-onboarding-dialog, .nova-onboarding-shell, .nova-onboarding-body { max-height: 100vh; } }
}
@media (prefers-reduced-motion: reduce) { .nova-onboarding-body { scroll-behavior: auto; } }

/* NOVA start guide v4: page-specific infographic layouts. */
.nova-onboarding-page {
  --guide-ink: #11183f;
  --guide-muted: #5f6685;
  --guide-line: #e5e6f4;
  --guide-accent: #6645ef;
  --guide-accent-2: #258bf2;
  --guide-soft: #f0ecff;
  padding: 18px 14px 16px;
  background-color: #050520;
  background-image: url('/assets/vero-nova/raster/nova-space-background.webp');
  background-position: center top;
  background-size: auto 100%;
}
.nova-onboarding-header {
  min-height: 96px;
  padding: 0 58px 14px 4px;
}
.nova-onboarding-header > img {
  width: 52px;
  height: 52px;
  border: 1px solid rgba(255,255,255,.2);
  box-shadow: 0 8px 24px rgba(88, 50, 231, .35);
}
.nova-onboarding-header span { color: #b9afff; }
.nova-onboarding-header strong { font-size: 20px; }
.nova-onboarding-header small { margin-top: 3px; color: #fff; }
.nova-onboarding-panel {
  padding: 0;
  border-color: rgba(204, 208, 241, .9);
  background: #fbfcff;
  color: var(--guide-ink);
  box-shadow: 0 22px 54px rgba(0, 3, 31, .36), 0 0 28px rgba(95, 83, 255, .18);
}
.nova-onboarding-title {
  position: relative;
  z-index: 2;
  padding: 30px 22px 18px;
  text-align: center;
}
.nova-onboarding-title > span {
  display: inline-flex;
  padding: 5px 10px;
  border-radius: 999px;
  background: var(--guide-soft);
  color: var(--guide-accent);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .08em;
}
.nova-onboarding-title h3 {
  margin: 9px 0 0;
  color: var(--guide-ink);
  font-size: 34px;
  line-height: 1.08;
}
.nova-onboarding-title p {
  max-width: 420px;
  margin: 8px auto 0;
  color: var(--guide-muted);
  font-size: 14px;
  font-weight: 750;
  line-height: 1.55;
}
.tone-challenger { --guide-accent:#6b4cf0; --guide-accent-2:#1a9cf4; --guide-soft:#eeeaff; }
.tone-aspirant { --guide-accent:#246be8; --guide-accent-2:#28b7b2; --guide-soft:#e9f2ff; }
.tone-practitioner { --guide-accent:#008f8a; --guide-accent-2:#f0a51b; --guide-soft:#e3f8f5; }
.tone-master { --guide-accent:#8a31d4; --guide-accent-2:#ee4f97; --guide-soft:#f5e7ff; }
.tone-vero { --guide-accent:#6b42cf; --guide-accent-2:#d59612; --guide-soft:#fff2cf; }
.nova-onboarding-grade-visual {
  position: relative;
  min-height: 260px;
  margin: 0 18px 20px;
  overflow: hidden;
  border: 1px solid var(--guide-line);
  border-radius: 8px;
  background: #eef0ff;
  box-shadow: 0 12px 28px rgba(30, 34, 90, .11);
}
.nova-onboarding-grade-robot { position: absolute; inset: 0; }
.nova-onboarding-grade-robot > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 64% center;
  filter: saturate(1.06) contrast(1.03);
}
.nova-onboarding-grade-robot > .nova-onboarding-grade-button {
  position: absolute;
  z-index: 3;
  top: 18px;
  left: 18px;
  display: grid;
  place-items: center;
  width: auto;
  min-width: 112px;
  height: 34px;
  padding: 0 14px;
  border: 1px solid transparent;
  border-radius: 10px;
  font-size: 11px;
  font-weight: 500;
  font-family: inherit;
  line-height: 1;
  letter-spacing: 0;
  white-space: nowrap;
  cursor: default;
  pointer-events: none;
}
.nova-onboarding-grade-button.role-new.active {
  border-color: rgba(217, 119, 6, .22);
  background: linear-gradient(135deg, #fff7d6 0%, #fef3c7 58%, #ffe58a 100%);
  color: #b45309;
  box-shadow: 0 7px 16px rgba(217, 119, 6, .18), 0 0 0 1px rgba(251, 191, 36, .22), inset 0 1px 0 rgba(255,255,255,.72);
}
.nova-onboarding-grade-button.role-aspirant.active {
  border-color: rgba(37, 99, 235, .18);
  background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 56%, #bfdbfe 100%);
  color: #1d4ed8;
  box-shadow: 0 8px 18px rgba(37, 99, 235, .18), 0 0 0 1px rgba(96, 165, 250, .24), inset 0 1px 0 rgba(255,255,255,.68);
}
.nova-onboarding-grade-button.role-practitioner.active {
  border-color: rgba(5, 150, 105, .18);
  background: linear-gradient(135deg, #ecfdf5 0%, #d1fae5 56%, #a7f3d0 100%);
  color: #047857;
  box-shadow: 0 8px 18px rgba(5, 150, 105, .2), 0 0 0 1px rgba(52, 211, 153, .24), inset 0 1px 0 rgba(255,255,255,.68);
}
.nova-onboarding-grade-button.role-master.active {
  border-color: rgba(124, 58, 237, .2);
  background: linear-gradient(135deg, #faf5ff 0%, #f3e8ff 56%, #e9d5ff 100%);
  color: #6d28d9;
  box-shadow: 0 10px 22px rgba(124, 58, 237, .24), 0 0 0 1px rgba(167, 139, 250, .32), 0 0 18px rgba(196, 181, 253, .42), inset 0 1px 0 rgba(255,255,255,.7);
}
.nova-onboarding-grade-button.role-vero.active {
  border-color: rgba(253, 230, 138, .58);
  background: linear-gradient(135deg, #111827 0%, #020617 46%, #312e81 78%, #0f172a 100%);
  color: #fde68a;
  box-shadow: 0 0 0 1px rgba(253, 230, 138, .5), 0 12px 26px rgba(17, 24, 39, .28), 0 0 18px rgba(253, 230, 138, .42), 0 0 30px rgba(129, 140, 248, .28);
}
.nova-onboarding-grade-orbit {
  position: absolute;
  z-index: 2;
  left: 14px;
  right: 14px;
  bottom: 13px;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 4px;
  padding: 8px;
  border: 1px solid rgba(255,255,255,.76);
  border-radius: 8px;
  background: rgba(255,255,255,.82);
  box-shadow: 0 12px 30px rgba(44, 32, 129, .15);
  backdrop-filter: blur(10px);
}
.grade-node {
  display: grid;
  justify-items: center;
  gap: 3px;
  min-width: 0;
  color: #7d8199;
}
.grade-node b {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border: 2px solid #d7d9e8;
  border-radius: 50%;
  background: #fff;
  color: #858aa4;
  font-size: 12px;
}
.grade-node small {
  width: 100%;
  overflow: hidden;
  font-size: 8px;
  font-weight: 850;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.grade-node.is-complete b { border-color: var(--guide-accent-2); color: var(--guide-accent-2); }
.grade-node.is-current { color: var(--guide-accent); }
.grade-node.is-current b {
  border-color: var(--guide-accent);
  background: linear-gradient(135deg, var(--guide-accent), var(--guide-accent-2));
  color: #fff;
  box-shadow: 0 6px 14px color-mix(in srgb, var(--guide-accent) 32%, transparent);
  transform: scale(1.16);
}
.nova-onboarding-block { padding: 0 18px 22px; }
.nova-onboarding-section-title {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 0 0 11px;
}
.nova-onboarding-section-title > span {
  flex: 0 0 auto;
  padding: 4px 7px;
  border-radius: 999px;
  background: var(--guide-accent);
  color: #fff;
  font-size: 9px;
  font-weight: 950;
  letter-spacing: .08em;
}
.nova-onboarding-section-title h4 { margin: 0; color: var(--guide-ink); font-size: 18px; line-height: 1.25; }
.nova-onboarding-feature-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}
.nova-onboarding-feature {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  min-height: 78px;
  padding: 11px;
  border: 1px solid rgba(129, 137, 183, .13);
  border-radius: 8px;
}
.nova-onboarding-feature.feature-1 { background:#eeebff; }
.nova-onboarding-feature.feature-2 { background:#e5f5ff; }
.nova-onboarding-feature.feature-3 { background:#e5f8f1; }
.nova-onboarding-feature.feature-4 { background:#fff1db; }
.nova-onboarding-feature-icon {
  display: grid;
  place-items: center;
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 6px 14px rgba(52, 52, 108, .11);
}
.nova-onboarding-feature-icon img { width: 22px; height: 22px; object-fit: contain; }
.nova-onboarding-feature > div { display: grid; gap: 3px; min-width: 0; }
.nova-onboarding-feature strong { color: #191e47; font-size: 14px; line-height: 1.3; }
.nova-onboarding-feature small { color: #626985; font-size: 11px; font-weight: 700; line-height: 1.35; }
.nova-onboarding-promotion {
  display: grid;
  gap: 14px;
  margin: 0 18px 22px;
  padding: 17px;
  border-radius: 8px;
  background: linear-gradient(120deg, var(--guide-accent), var(--guide-accent-2));
  color: #fff;
  box-shadow: 0 12px 28px color-mix(in srgb, var(--guide-accent) 24%, transparent);
}
.nova-onboarding-promotion > div:first-child span { font-size: 10px; font-weight: 950; letter-spacing: .08em; opacity: .78; }
.nova-onboarding-promotion h4 { margin: 3px 0 0; color: #fff; font-size: 20px; }
.nova-onboarding-unlocks { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 7px; }
.nova-onboarding-unlocks span {
  display: flex;
  align-items: center;
  gap: 7px;
  min-height: 46px;
  padding: 8px;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 8px;
  background: rgba(255,255,255,.15);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.35;
}
.nova-onboarding-unlocks b,
.nova-onboarding-path-steps b,
.nova-onboarding-meaning-list b,
.nova-onboarding-compact-list b,
.nova-onboarding-adjustment-list b {
  display: grid;
  place-items: center;
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: rgba(255,255,255,.9);
  color: var(--guide-accent);
  font-size: 11px;
}
.nova-onboarding-path { padding-bottom: 28px; }
.nova-onboarding-path-steps { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 8px; }
.nova-onboarding-path-steps > span {
  display: grid;
  align-content: start;
  justify-items: center;
  gap: 8px;
  min-width: 0;
  min-height: 104px;
  padding: 12px 7px;
  border: 1px solid var(--guide-line);
  border-radius: 8px;
  background: #fff;
  color: #303754;
  box-shadow: 0 7px 17px rgba(32, 36, 89, .06);
  font-size: 11px;
  font-weight: 800;
  line-height: 1.45;
  text-align: center;
}
.nova-onboarding-path-steps > span > span,
.nova-onboarding-meaning-list > span > span,
.nova-onboarding-compact-list > span > span,
.nova-onboarding-adjustment-list > span > span { min-width: 0; }
.nova-onboarding-path-steps b { background: var(--guide-soft); }
.nova-onboarding-promotion-path { margin-bottom: 28px; }
.nova-onboarding-promotion-path .nova-onboarding-path-steps {
  grid-template-columns: repeat(auto-fit, minmax(88px, 1fr));
}
.nova-onboarding-promotion-path .nova-onboarding-path-steps.items-4 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.nova-onboarding-promotion-path .nova-onboarding-path-steps > span {
  min-height: 94px;
  border-color: rgba(255,255,255,.28);
  background: rgba(255,255,255,.16);
  color: #fff;
  box-shadow: none;
}
.nova-onboarding-promotion-path .nova-onboarding-path-steps b {
  background: #fff;
  color: var(--guide-accent);
}

.nova-onboarding-panel-level { --guide-accent:#5a36e8; --guide-accent-2:#13a8ef; --guide-soft:#eeeaff; }
.nova-onboarding-level-stage {
  margin: 0 18px 24px;
  padding: 18px 14px;
  border: 1px solid #dddff1;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(33, 31, 98, .11);
}
.nova-onboarding-levels { gap: 3px; max-width: none; margin: 0; }
.nova-onboarding-levels::before { left: 25px; background: linear-gradient(#7c5df0, #2c9ff2); }
.nova-onboarding-levels li {
  grid-template-columns: 52px 76px minmax(0,1fr);
  min-height: 96px;
  border-radius: 8px;
}
.nova-onboarding-levels li.is-current {
  border-color: #cfc9ef;
  background: linear-gradient(90deg, #f1edff, #eefaff);
  box-shadow: 0 11px 28px rgba(73, 42, 195, .14);
}
.nova-onboarding-levels img { filter: drop-shadow(0 6px 8px rgba(36, 31, 82, .18)); }
.nova-onboarding-level-summary { display:grid; grid-template-columns: 1fr 1fr; gap: 12px; padding: 0 18px 26px; }
.nova-onboarding-level-summary > section {
  min-width: 0;
  padding: 15px;
  border: 1px solid var(--guide-line);
  border-radius: 8px;
  background: #fff;
}
.nova-onboarding-gain-list { display: grid; gap: 8px; }
.nova-onboarding-gain-list article {
  display:grid;
  grid-template-columns: 34px minmax(0,1fr) auto;
  gap: 8px;
  align-items:center;
  padding: 8px;
  border-radius: 8px;
  background: #f4f2ff;
}
.nova-onboarding-gain-list article > span { display:grid; place-items:center; width:34px; height:34px; border-radius:50%; background:#fff; }
.nova-onboarding-gain-list img { width:18px; height:18px; }
.nova-onboarding-gain-list article > div { display:grid; min-width:0; }
.nova-onboarding-gain-list strong { font-size:12px; }
.nova-onboarding-gain-list small { color:var(--guide-muted); font-size:9px; }
.nova-onboarding-gain-list article > b { color:var(--guide-accent); font-size:12px; white-space:nowrap; }
.nova-onboarding-meaning-list,
.nova-onboarding-compact-list,
.nova-onboarding-adjustment-list { display:grid; gap:8px; }
.nova-onboarding-meaning-list > span,
.nova-onboarding-compact-list > span,
.nova-onboarding-adjustment-list > span {
  display:flex;
  align-items:center;
  gap:8px;
  min-height:46px;
  padding:8px;
  border-radius:8px;
  background:#eef7ff;
  color:#303754;
  font-size:11px;
  font-weight:800;
  line-height:1.4;
}
.nova-onboarding-meaning-list b,
.nova-onboarding-compact-list b { background:#fff; }

.nova-onboarding-panel-points { --guide-accent:#683bdc; --guide-accent-2:#009e9a; --guide-soft:#eee8ff; }
.nova-onboarding-point-hero {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:15px;
  min-height:150px;
  margin:0 18px 22px;
  padding:20px;
  border-radius:8px;
  background: linear-gradient(115deg, #1b1356, #623bd7 55%, #13a2a3);
  color:#fff;
  box-shadow:0 14px 34px rgba(50,31,135,.25);
}
.nova-onboarding-point-hero > span {
  display:grid;
  place-items:center;
  width:82px;
  height:82px;
  border:2px solid rgba(255,255,255,.7);
  border-radius:50%;
  background:linear-gradient(145deg,#9c6cff,#3c20bd);
  box-shadow:0 0 0 8px rgba(255,255,255,.1), 0 10px 24px rgba(0,0,0,.2);
  color:#fff;
  font-size:38px;
  font-weight:950;
}
.nova-onboarding-point-hero > div { display:grid; gap:6px; }
.nova-onboarding-point-hero strong { font-size:17px; }
.nova-onboarding-point-hero small { color:#d9e8ff; font-size:13px; font-weight:700; }
.nova-onboarding-point-flow { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:7px; }
.nova-onboarding-point-flow article { display:grid; justify-items:center; gap:7px; min-width:0; padding:13px 4px; border-radius:8px; }
.nova-onboarding-point-flow .point-1 { background:#eeeaff; }
.nova-onboarding-point-flow .point-2 { background:#e1f4ff; }
.nova-onboarding-point-flow .point-3 { background:#e3f8ed; }
.nova-onboarding-point-flow .point-4 { background:#fff0d8; }
.nova-onboarding-point-flow article > span { display:grid; place-items:center; width:42px; height:42px; border-radius:50%; background:#fff; box-shadow:0 6px 14px rgba(36,33,90,.1); }
.nova-onboarding-point-flow img { width:22px; height:22px; }
.nova-onboarding-point-flow small { font-size:10px; font-weight:850; text-align:center; }
.nova-onboarding-point-flow strong { color:var(--guide-accent); font-size:15px; }
.nova-onboarding-point-columns { display:grid; grid-template-columns:1fr 1fr; gap:12px; padding:0 18px 22px; }
.nova-onboarding-point-columns > section { padding:15px; border:1px solid var(--guide-line); border-radius:8px; background:#fff; }
.nova-onboarding-point-reward .nova-onboarding-compact-list > span { background:#fff4df; }
.nova-onboarding-adjustment { margin:0 18px 28px; padding:15px; border:1px solid #ffd6d9; border-radius:8px; background:#fff5f5; }
.nova-onboarding-adjustment .nova-onboarding-section-title > span { background:#e84855; }
.nova-onboarding-adjustment-list { grid-template-columns:repeat(3,minmax(0,1fr)); }
.nova-onboarding-adjustment-list > span { display:grid; justify-items:center; min-height:82px; background:#fff; color:#b02736; text-align:center; }
.nova-onboarding-adjustment-list b { background:#ffe4e6; color:#c82b3d; }
.nova-onboarding-adjustment p { margin:10px 0 0; color:#7b5360; font-size:11px; font-weight:750; text-align:center; }

.nova-onboarding-panel-final { overflow:hidden; }
.nova-onboarding-final-hero {
  position:relative;
  min-height:340px;
  overflow:hidden;
  background:#24216c;
}
.nova-onboarding-final-hero > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:65% center; filter:saturate(1.12) contrast(1.06); }
.nova-onboarding-final-hero::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(6,8,45,.87),rgba(7,9,45,.2) 72%); }
.nova-onboarding-final-hero > div { position:relative; z-index:1; max-width:68%; padding:58px 24px; color:#fff; }
.nova-onboarding-final-hero span { display:inline-flex; padding:5px 9px; border-radius:999px; background:#fff; color:#3d2dc5; font-size:10px; font-weight:950; letter-spacing:.08em; }
.nova-onboarding-final-hero h3 { margin:11px 0 8px; color:#fff; font-size:30px; line-height:1.15; }
.nova-onboarding-final-hero p { margin:0; color:#e1e5ff; font-size:14px; font-weight:750; line-height:1.55; }
.nova-onboarding-final-checks { padding:24px 18px 12px; }
.nova-onboarding-final-checks article { display:grid; grid-template-columns:32px minmax(0,1fr) auto; gap:10px; align-items:center; min-height:58px; padding:9px 11px; border:1px solid var(--guide-line); border-radius:8px; background:#fff; }
.nova-onboarding-final-checks article + article { margin-top:8px; }
.nova-onboarding-final-checks article > b { display:grid; place-items:center; width:32px; height:32px; border-radius:50%; background:#eeeaff; color:#593bd2; }
.nova-onboarding-final-checks article > span { font-size:13px; font-weight:850; }
.nova-onboarding-final-checks article > strong { color:#168a69; font-size:11px; }
.nova-onboarding-replay { display:flex; align-items:center; gap:12px; margin:10px 18px 26px; padding:14px; border-radius:8px; background:#eef1ff; }
.nova-onboarding-replay img { flex:0 0 44px; width:44px; height:44px; border-radius:8px; }
.nova-onboarding-replay p { margin:0; color:#3e4668; font-size:12px; font-weight:750; line-height:1.5; }

@media (max-width: 580px) {
  .nova-onboarding-page { padding: 14px 8px 10px; }
  .nova-onboarding-header { min-height: 88px; padding: 0 52px 12px 2px; }
  .nova-onboarding-header > img { width: 46px; height: 46px; }
  .nova-onboarding-header strong { font-size: 17px; }
  .nova-onboarding-title { padding: 25px 15px 15px; }
  .nova-onboarding-title h3 { font-size: 30px; }
  .nova-onboarding-title p { font-size: 13px; }
  .nova-onboarding-grade-visual { min-height: 238px; margin: 0 10px 18px; }
  .nova-onboarding-grade-robot > img { object-position: 66% center; }
  .nova-onboarding-grade-orbit { left: 8px; right: 8px; bottom: 8px; padding: 7px 4px; }
  .grade-node b { width: 27px; height: 27px; }
  .grade-node small { font-size: 7px; }
  .nova-onboarding-block { padding-right: 10px; padding-left: 10px; }
  .nova-onboarding-feature { min-height: 74px; padding: 9px; }
  .nova-onboarding-feature-icon { flex-basis: 36px; width: 36px; height: 36px; }
  .nova-onboarding-feature-icon img { width: 19px; height: 19px; }
  .nova-onboarding-feature strong { font-size: 12px; }
  .nova-onboarding-feature small { font-size: 10px; }
  .nova-onboarding-promotion { margin-right: 10px; margin-left: 10px; padding: 14px; }
  .nova-onboarding-promotion h4 { font-size: 18px; }
  .nova-onboarding-unlocks span { font-size: 10px; }
  .nova-onboarding-path-steps > span { min-height: 100px; padding: 10px 4px; font-size: 10px; }
  .nova-onboarding-level-stage { margin-right: 10px; margin-left: 10px; padding: 13px 7px; }
  .nova-onboarding-levels li { grid-template-columns: 40px 66px minmax(0,1fr); min-height: 86px; gap: 6px; }
  .nova-onboarding-levels::before { left: 18px; }
  .nova-onboarding-levels img { width: 66px; height: 66px; }
  .nova-onboarding-level-summary { grid-template-columns:1fr 1fr; gap:8px; padding-right:10px; padding-left:10px; }
  .nova-onboarding-level-summary > section { padding:10px 8px; }
  .nova-onboarding-level-summary .nova-onboarding-section-title { display:grid; gap:5px; }
  .nova-onboarding-level-summary .nova-onboarding-section-title h4 { font-size:14px; }
  .nova-onboarding-gain-list article { grid-template-columns:28px minmax(0,1fr); gap:6px; padding:6px; }
  .nova-onboarding-gain-list article > span { width:28px; height:28px; }
  .nova-onboarding-gain-list article > b { grid-column:2; font-size:11px; }
  .nova-onboarding-meaning-list > span { min-height:54px; padding:7px; font-size:10px; }
  .nova-onboarding-point-hero { min-height:136px; margin-right:10px; margin-left:10px; padding:15px; }
  .nova-onboarding-point-hero > span { width:68px; height:68px; font-size:31px; }
  .nova-onboarding-point-hero strong { font-size:15px; }
  .nova-onboarding-point-flow { gap:5px; }
  .nova-onboarding-point-flow article { padding:10px 2px; }
  .nova-onboarding-point-flow article > span { width:36px; height:36px; }
  .nova-onboarding-point-flow img { width:19px; height:19px; }
  .nova-onboarding-point-flow small { font-size:9px; }
  .nova-onboarding-point-flow strong { font-size:13px; }
  .nova-onboarding-point-columns { grid-template-columns:1fr; padding-right:10px; padding-left:10px; }
  .nova-onboarding-adjustment { margin-right:10px; margin-left:10px; }
  .nova-onboarding-adjustment-list > span { min-height:74px; font-size:10px; }
  .nova-onboarding-final-hero { min-height:300px; }
  .nova-onboarding-final-hero > div { max-width:72%; padding:48px 16px; }
  .nova-onboarding-final-hero h3 { font-size:27px; }
  .nova-onboarding-final-checks { padding-right:10px; padding-left:10px; }
  .nova-onboarding-replay { margin-right:10px; margin-left:10px; }
}
