/*
 * NB Invicta Group — Design System 2.0
 * Shared visual foundation for the ecosystem.
 */

:root {
  color-scheme: light;
  --nb-canvas: #f4f7fb;
  --nb-canvas-deep: #eaf0f8;
  --nb-surface: #ffffff;
  --nb-surface-soft: #f8faff;
  --nb-ink: #081a33;
  --nb-muted: #52647c;
  --nb-faint: #74839a;
  --nb-line: rgba(8, 26, 51, 0.11);
  --nb-line-strong: rgba(8, 26, 51, 0.18);
  --nb-accent: #164fbf;
  --nb-accent-strong: #0a347f;
  --nb-accent-rgb: 22, 79, 191;
  --nb-accent-2: #2f7df0;
  --nb-soft: #eaf2ff;
  --nb-success: #087a55;
  --nb-warning: #a95a09;
  --nb-danger: #b42336;
  --nb-radius-sm: 12px;
  --nb-radius-md: 18px;
  --nb-radius-lg: 26px;
  --nb-radius-xl: 36px;
  --nb-shadow-sm: 0 8px 24px rgba(8, 26, 51, 0.06);
  --nb-shadow-md: 0 18px 48px rgba(8, 26, 51, 0.1);
  --nb-shadow-lg: 0 28px 80px rgba(8, 26, 51, 0.15);
  --nb-page: min(1180px, calc(100% - 32px));
  --nb-reading: min(780px, calc(100% - 32px));
  --nb-space-1: 0.375rem;
  --nb-space-2: 0.625rem;
  --nb-space-3: 0.875rem;
  --nb-space-4: 1.125rem;
  --nb-space-5: 1.5rem;
  --nb-space-6: 2rem;
  --nb-space-7: 2.75rem;
  --nb-space-8: 4rem;
  --nb-transition: 180ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

html[data-nb-project="navegaletras"] {
  --nb-accent: #9e263b;
  --nb-accent-strong: #691426;
  --nb-accent-rgb: 158, 38, 59;
  --nb-accent-2: #d95b70;
  --nb-soft: #fff0f2;
}

html[data-nb-project="faturacerta"] {
  --nb-accent: #087b60;
  --nb-accent-strong: #075144;
  --nb-accent-rgb: 8, 123, 96;
  --nb-accent-2: #12a28b;
  --nb-soft: #e9f8f4;
}

html[data-nb-project="bussola-jovem"] {
  --nb-accent: #5553cf;
  --nb-accent-strong: #33318e;
  --nb-accent-rgb: 85, 83, 207;
  --nb-accent-2: #45a6ed;
  --nb-soft: #f0efff;
}

html[data-nb-project="leiclara"] {
  --nb-accent: #163e6a;
  --nb-accent-strong: #0a284a;
  --nb-accent-rgb: 22, 62, 106;
  --nb-accent-2: #b88a35;
  --nb-soft: #eef4fa;
}

html[data-nb-project="vaidecarro"] {
  --nb-accent: #1464d8;
  --nb-accent-strong: #172235;
  --nb-accent-rgb: 20, 100, 216;
  --nb-accent-2: #4b92fa;
  --nb-soft: #eaf3ff;
}

html[data-nb-project="mesacheia"] {
  --nb-accent: #397b36;
  --nb-accent-strong: #245722;
  --nb-accent-rgb: 57, 123, 54;
  --nb-accent-2: #e57a22;
  --nb-soft: #f0f7e9;
}

html[data-nb-project="treinoaserio"] {
  --nb-accent: #d63f34;
  --nb-accent-strong: #1c2533;
  --nb-accent-rgb: 214, 63, 52;
  --nb-accent-2: #f17f3a;
  --nb-soft: #fff0ed;
}

html[data-nb-project="vailonge"] {
  --nb-accent: #078b8c;
  --nb-accent-strong: #075f64;
  --nb-accent-rgb: 7, 139, 140;
  --nb-accent-2: #ee746f;
  --nb-soft: #e8f9f7;
}

html[data-nb-project="paisdeprimeira"] {
  --nb-accent: #6e8f7b;
  --nb-accent-strong: #496957;
  --nb-accent-rgb: 110, 143, 123;
  --nb-accent-2: #df9b87;
  --nb-soft: #f3f6ed;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 7rem;
  background: var(--nb-canvas);
}

body {
  margin: 0;
  min-height: 100vh;
  overflow-x: clip;
  color: var(--nb-ink);
  background:
    radial-gradient(circle at 12% -8%, rgba(var(--nb-accent-rgb), 0.11), transparent 31rem),
    radial-gradient(circle at 92% 9%, rgba(47, 125, 240, 0.08), transparent 28rem),
    linear-gradient(180deg, #ffffff 0%, var(--nb-canvas) 44%, #f9fbfd 100%);
  font-family: Inter, "Aptos", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.58;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

body,
button,
input,
select,
textarea {
  font-family: inherit;
}

::selection {
  color: #fff;
  background: var(--nb-accent);
}

img {
  max-width: 100%;
}

.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}

a {
  text-underline-offset: 0.2em;
}

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid rgba(var(--nb-accent-rgb), 0.32);
  outline-offset: 3px;
}

h1,
h2,
h3 {
  color: var(--nb-ink);
  text-wrap: balance;
}

h1 {
  font-size: clamp(2.45rem, 6vw, 5.35rem);
  line-height: 0.98;
  letter-spacing: -0.06em;
}

h2 {
  font-size: clamp(1.7rem, 3.4vw, 2.75rem);
  line-height: 1.08;
  letter-spacing: -0.04em;
}

h3 {
  font-size: clamp(1.08rem, 2vw, 1.35rem);
  line-height: 1.22;
  letter-spacing: -0.025em;
}

.skip-link {
  position: fixed !important;
  top: 0.75rem;
  left: 0.75rem;
  z-index: 10000;
  transform: translateY(-160%);
  border-radius: 999px;
  padding: 0.75rem 1rem;
  color: #fff !important;
  background: var(--nb-accent-strong) !important;
  font-weight: 850;
  transition: transform var(--nb-transition);
}

.skip-link:focus {
  transform: translateY(0);
}

/* Shared header */
.site-header {
  position: sticky !important;
  top: 0;
  z-index: 900 !important;
  border-bottom: 1px solid var(--nb-line) !important;
  background: rgba(255, 255, 255, 0.88) !important;
  box-shadow: 0 8px 30px rgba(8, 26, 51, 0.045) !important;
  -webkit-backdrop-filter: blur(18px) saturate(145%);
  backdrop-filter: blur(18px) saturate(145%);
}

.site-header-wrap {
  width: var(--nb-page) !important;
  margin: 0 auto !important;
  padding: 0.7rem 0 !important;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.site-header-top {
  min-width: 0;
  flex: 1;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 0.7rem !important;
  flex-wrap: nowrap !important;
}

.site-brand {
  min-width: max-content;
  display: inline-flex !important;
  align-items: center;
  gap: 0.65rem;
  color: var(--nb-ink) !important;
  text-decoration: none !important;
  font-weight: 900 !important;
  letter-spacing: -0.025em;
}

.site-brand img {
  width: 42px !important;
  height: 42px !important;
  max-width: 42px !important;
  object-fit: contain !important;
  border-radius: 13px;
  background: #fff;
  padding: 3px;
  box-shadow: 0 6px 18px rgba(8, 26, 51, 0.09);
}

.site-brand span {
  color: var(--nb-ink) !important;
  white-space: nowrap;
}

.project-nb-home-link {
  order: -10;
  flex: 0 0 auto;
  min-height: 42px !important;
  display: inline-flex !important;
  align-items: center;
  gap: 0.45rem;
  border: 1px solid var(--nb-line) !important;
  border-radius: 14px !important;
  padding: 0.35rem 0.65rem !important;
  color: var(--nb-accent-strong) !important;
  background: var(--nb-soft) !important;
  text-decoration: none !important;
  font-weight: 950 !important;
  transition: transform var(--nb-transition), border-color var(--nb-transition), background var(--nb-transition);
}

.project-nb-home-link:hover {
  transform: translateY(-1px);
  border-color: rgba(var(--nb-accent-rgb), 0.32) !important;
  background: #fff !important;
}

.project-nb-home-link img {
  width: 30px !important;
  height: 30px !important;
  object-fit: contain !important;
}

.site-main-nav {
  display: flex !important;
  align-items: center;
  gap: 0.25rem !important;
  margin-left: auto;
}

.site-main-nav-right {
  margin-left: 0;
}

.site-main-nav a,
.site-category-menu > summary {
  min-height: 42px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent !important;
  border-radius: 999px !important;
  padding: 0.62rem 0.86rem !important;
  color: var(--nb-muted) !important;
  background: transparent !important;
  text-decoration: none !important;
  font-size: 0.94rem !important;
  font-weight: 800 !important;
  line-height: 1;
  cursor: pointer;
  transition: color var(--nb-transition), background var(--nb-transition), border-color var(--nb-transition);
}

.site-main-nav a:hover,
.site-main-nav a[aria-current="page"],
.site-main-nav a.is-strong,
.site-category-menu > summary:hover,
.site-category-menu[open] > summary {
  color: var(--nb-accent-strong) !important;
  border-color: rgba(var(--nb-accent-rgb), 0.16) !important;
  background: var(--nb-soft) !important;
}

.site-category-menu {
  position: relative;
  flex: 0 0 auto;
}

.site-category-menu > summary {
  list-style: none;
}

.site-category-menu > summary::-webkit-details-marker {
  display: none;
}

.site-category-menu > summary::after {
  content: "";
  width: 0.42rem;
  height: 0.42rem;
  margin-left: 0.55rem;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg) translateY(-2px);
  transition: transform var(--nb-transition);
}

.site-category-menu[open] > summary::after {
  transform: rotate(225deg) translate(-2px, -1px);
}

.site-category-panel {
  position: absolute !important;
  top: calc(100% + 0.75rem) !important;
  right: 0 !important;
  left: auto !important;
  width: min(860px, calc(100vw - 2rem)) !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 0.8rem !important;
  border: 1px solid var(--nb-line) !important;
  border-radius: var(--nb-radius-lg) !important;
  padding: 0.9rem !important;
  background: rgba(255, 255, 255, 0.98) !important;
  box-shadow: var(--nb-shadow-lg) !important;
}

.site-menu-group {
  margin: 0 !important;
  border: 1px solid var(--nb-line) !important;
  border-radius: var(--nb-radius-md) !important;
  padding: 0.9rem !important;
  background: linear-gradient(180deg, var(--nb-surface-soft), #fff) !important;
}

.site-menu-group h3 {
  margin: 0 0 0.55rem !important;
  font-size: 0.8rem !important;
  text-transform: uppercase;
  letter-spacing: 0.09em !important;
  color: var(--nb-accent) !important;
}

.site-menu-links {
  display: grid;
  gap: 0.3rem;
}

.site-menu-links a {
  display: grid !important;
  gap: 0.08rem !important;
  border-radius: 12px !important;
  padding: 0.62rem 0.7rem !important;
  color: var(--nb-ink) !important;
  text-decoration: none !important;
  transition: background var(--nb-transition), transform var(--nb-transition);
}

.site-menu-links a:hover {
  transform: translateX(2px);
  background: var(--nb-soft) !important;
}

.site-menu-links span {
  font-weight: 850 !important;
}

.site-menu-links small {
  color: var(--nb-muted) !important;
  font-size: 0.78rem;
}

.nb-mobile-menu-button {
  display: none;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  border: 1px solid var(--nb-line);
  border-radius: 999px;
  padding: 0.6rem 0.85rem;
  color: var(--nb-ink);
  background: #fff;
  font-weight: 850;
  cursor: pointer;
}

.nb-mobile-menu-button::before {
  content: "";
  width: 1rem;
  height: 0.72rem;
  border-top: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  box-shadow: inset 0 4px 0 -2px currentColor;
}

/* Shared components */
.nb-button-v2,
.nb-button-secondary-v2,
.nb-button-quiet-v2 {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  border-radius: 999px;
  padding: 0.78rem 1.15rem;
  text-decoration: none;
  font-weight: 850;
  line-height: 1;
  transition: transform var(--nb-transition), box-shadow var(--nb-transition), background var(--nb-transition);
}

.nb-button-v2 {
  border: 1px solid var(--nb-accent);
  color: #fff !important;
  background: linear-gradient(135deg, var(--nb-accent-strong), var(--nb-accent));
  box-shadow: 0 10px 25px rgba(var(--nb-accent-rgb), 0.22);
}

.nb-button-secondary-v2 {
  border: 1px solid var(--nb-line-strong);
  color: var(--nb-ink) !important;
  background: var(--nb-surface);
}

.nb-button-quiet-v2 {
  min-height: 42px;
  border: 1px solid transparent;
  color: var(--nb-accent-strong) !important;
  background: var(--nb-soft);
}

.nb-button-v2:hover,
.nb-button-secondary-v2:hover,
.nb-button-quiet-v2:hover {
  transform: translateY(-2px);
  box-shadow: var(--nb-shadow-sm);
}

.section-chip,
.tool-kicker,
.clean-kicker-v57,
.nb-eyebrow-v2 {
  width: max-content;
  display: inline-flex !important;
  align-items: center;
  gap: 0.45rem;
  border: 1px solid rgba(var(--nb-accent-rgb), 0.17) !important;
  border-radius: 999px !important;
  padding: 0.42rem 0.7rem !important;
  color: var(--nb-accent-strong) !important;
  background: var(--nb-soft) !important;
  font-size: 0.77rem !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: 0.055em !important;
  text-transform: uppercase;
}

.nb-section-v2 {
  width: var(--nb-page);
  margin: 0 auto;
  padding: var(--nb-space-8) 0 0;
}

.nb-section-head-v2 {
  max-width: 760px;
  margin-bottom: 1.65rem;
}

.nb-section-head-v2 h2 {
  margin: 0.7rem 0 0.55rem;
}

.nb-section-head-v2 p {
  margin: 0;
  color: var(--nb-muted);
  font-size: 1.04rem;
}

.nb-card-v2,
.nb-page-card,
.content-depth,
.settings-card,
.clean-card-v57,
.master-card-v65,
.tool-card,
.check-card,
.guide-side-card,
.privacy-card,
.stat-box,
.trophy-card,
.media-card,
.level-card {
  border: 1px solid var(--nb-line) !important;
  border-radius: var(--nb-radius-lg) !important;
  color: var(--nb-ink);
  background: var(--nb-surface) !important;
  box-shadow: var(--nb-shadow-sm) !important;
}

.nb-page-card,
.content-depth,
.settings-card,
.guide-side-card {
  padding: clamp(1.2rem, 3vw, 2rem) !important;
}

.nb-page-card p,
.content-depth p,
.clean-card-v57 p,
.master-card-v65 p,
.tool-card p,
.check-card p,
.guide-side-card p {
  color: var(--nb-muted);
}

.clean-card-v57,
.master-card-v65,
.tool-card,
.check-card,
.guide-side-card,
.level-card,
.media-card {
  transition: transform var(--nb-transition), box-shadow var(--nb-transition), border-color var(--nb-transition);
}

:where(.clean-card-v57, .master-card-v65, .tool-card, .check-card, .guide-side-card, .level-card, .media-card):hover {
  transform: translateY(-4px) !important;
  border-color: rgba(var(--nb-accent-rgb), 0.28) !important;
  box-shadow: var(--nb-shadow-md) !important;
}

.project-badge,
.badge,
.tag,
.progress-pill {
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(var(--nb-accent-rgb), 0.15) !important;
  border-radius: 999px !important;
  padding: 0.36rem 0.62rem !important;
  color: var(--nb-accent-strong) !important;
  background: var(--nb-soft) !important;
  font-size: 0.78rem !important;
  font-weight: 850 !important;
}

:where(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
  width: 100%;
  min-height: 48px;
  border: 1px solid var(--nb-line-strong) !important;
  border-radius: var(--nb-radius-sm) !important;
  padding: 0.72rem 0.85rem !important;
  color: var(--nb-ink) !important;
  background: var(--nb-surface) !important;
  font: inherit;
  box-shadow: 0 1px 0 rgba(8, 26, 51, 0.02);
  transition: border-color var(--nb-transition), box-shadow var(--nb-transition);
}

:where(input:not([type="checkbox"]):not([type="radio"]), select, textarea):focus {
  border-color: rgba(var(--nb-accent-rgb), 0.55) !important;
  box-shadow: 0 0 0 4px rgba(var(--nb-accent-rgb), 0.1) !important;
  outline: 0;
}

select option {
  color: #081a33;
  background: #fff;
}

button,
.nb-form button,
.bj-button,
.light-button,
.soft-btn,
.danger-light-button {
  min-height: 44px;
  border-radius: 999px !important;
  font-weight: 850 !important;
}

table {
  width: 100%;
  border-collapse: separate !important;
  border-spacing: 0;
  overflow: hidden;
  border: 1px solid var(--nb-line) !important;
  border-radius: var(--nb-radius-md);
  background: var(--nb-surface);
}

th,
td {
  border-bottom: 1px solid var(--nb-line) !important;
  padding: 0.8rem 0.9rem !important;
  text-align: left;
}

th {
  color: var(--nb-ink);
  background: var(--nb-soft);
}

tr:last-child > * {
  border-bottom: 0 !important;
}

.alert,
.nb-alert-v2,
.local-only-note,
.quiz-result-panel {
  border: 1px solid rgba(var(--nb-accent-rgb), 0.2) !important;
  border-radius: var(--nb-radius-md) !important;
  padding: 1rem !important;
  color: var(--nb-ink) !important;
  background: var(--nb-soft) !important;
}

.nb-alert-v2[data-tone="success"] {
  border-color: rgba(8, 122, 85, 0.25) !important;
  background: #eaf8f2 !important;
}

.nb-alert-v2[data-tone="warning"] {
  border-color: rgba(169, 90, 9, 0.25) !important;
  background: #fff6e8 !important;
}

/* Homepage */
.nb-home-v2 {
  padding-bottom: var(--nb-space-8);
}

.nb-home-hero-v2 {
  position: relative;
  width: var(--nb-page);
  min-height: 640px;
  margin: clamp(1rem, 3vw, 2rem) auto 0;
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(360px, 0.96fr);
  gap: clamp(2rem, 6vw, 5.5rem);
  align-items: center;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: clamp(28px, 5vw, 48px);
  padding: clamp(2rem, 6vw, 5rem);
  color: #fff;
  background:
    radial-gradient(circle at 76% 16%, rgba(77, 141, 255, 0.42), transparent 22rem),
    radial-gradient(circle at 12% 90%, rgba(24, 99, 214, 0.36), transparent 24rem),
    linear-gradient(140deg, #061a36 0%, #082b61 52%, #0d4ca2 100%);
  box-shadow: 0 30px 90px rgba(5, 34, 74, 0.22);
}

.nb-home-hero-v2::before,
.nb-home-hero-v2::after {
  content: "";
  position: absolute;
  pointer-events: none;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 50%;
}

.nb-home-hero-v2::before {
  width: 34rem;
  height: 34rem;
  right: -11rem;
  top: -15rem;
}

.nb-home-hero-v2::after {
  width: 24rem;
  height: 24rem;
  left: -13rem;
  bottom: -14rem;
}

.nb-home-hero-copy-v2 {
  position: relative;
  z-index: 2;
}

.nb-home-hero-copy-v2 .nb-eyebrow-v2 {
  border-color: rgba(255, 255, 255, 0.18) !important;
  color: #dbeaff !important;
  background: rgba(255, 255, 255, 0.1) !important;
}

.nb-home-hero-copy-v2 h1 {
  max-width: 780px;
  margin: 1rem 0 1.2rem;
  color: #fff;
}

.nb-home-hero-copy-v2 h1 span {
  color: #79adff;
}

.nb-home-hero-copy-v2 > p {
  max-width: 670px;
  margin: 0;
  color: #dce9fb;
  font-size: clamp(1.05rem, 2vw, 1.25rem);
}

.nb-hero-actions-v2 {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1.6rem;
}

.nb-home-hero-v2 .nb-button-v2 {
  border-color: #fff;
  color: #082b61 !important;
  background: #fff;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.17);
}

.nb-home-hero-v2 .nb-button-secondary-v2 {
  border-color: rgba(255, 255, 255, 0.25);
  color: #fff !important;
  background: rgba(255, 255, 255, 0.08);
}

.nb-hero-trust-v2 {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem 1.1rem;
  margin-top: 1.75rem;
  color: #cbdcf4;
  font-size: 0.9rem;
  font-weight: 750;
}

.nb-hero-trust-v2 span {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
}

.nb-hero-trust-v2 span::before {
  content: "";
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 50%;
  background: #7eb5ff;
  box-shadow: 0 0 0 4px rgba(126, 181, 255, 0.13);
}

.nb-ecosystem-visual-v2 {
  position: relative;
  z-index: 2;
  min-height: 440px;
  display: grid;
  place-items: center;
}

.nb-ecosystem-ring-v2 {
  position: absolute;
  width: min(410px, 100%);
  aspect-ratio: 1;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 50%;
  box-shadow:
    0 0 0 2.5rem rgba(255, 255, 255, 0.025),
    0 0 0 5.5rem rgba(255, 255, 255, 0.018);
  animation: nb-ring-breathe 7s ease-in-out infinite;
}

.nb-ecosystem-core-v2 {
  position: relative;
  z-index: 3;
  width: 190px;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 42px;
  padding: 1rem;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 28px 60px rgba(0, 0, 0, 0.25);
  transform: rotate(-2deg);
}

.nb-ecosystem-core-v2 img {
  width: 150px;
  height: 150px;
  object-fit: contain;
}

.nb-orbit-logo-v2 {
  position: absolute;
  z-index: 4;
  width: 76px;
  height: 76px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: 24px;
  padding: 0.5rem;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 16px 34px rgba(0, 0, 0, 0.22);
  animation: nb-float 5s ease-in-out infinite;
}

.nb-orbit-logo-v2 img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.nb-orbit-logo-v2:nth-of-type(1) { top: 4%; left: 13%; animation-delay: -0.7s; }
.nb-orbit-logo-v2:nth-of-type(2) { top: 1%; right: 11%; animation-delay: -2.1s; }
.nb-orbit-logo-v2:nth-of-type(3) { top: 40%; right: -1%; animation-delay: -3.2s; }
.nb-orbit-logo-v2:nth-of-type(4) { right: 13%; bottom: 1%; animation-delay: -1.4s; }
.nb-orbit-logo-v2:nth-of-type(5) { left: 14%; bottom: 2%; animation-delay: -4.1s; }
.nb-orbit-logo-v2:nth-of-type(6) { top: 42%; left: -2%; animation-delay: -2.7s; }

@keyframes nb-ring-breathe {
  0%, 100% { transform: scale(0.98); opacity: 0.72; }
  50% { transform: scale(1.03); opacity: 1; }
}

@keyframes nb-float {
  0%, 100% { transform: translateY(-4px) rotate(-1deg); }
  50% { transform: translateY(5px) rotate(2deg); }
}

.nb-start-grid-v2 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.nb-start-card-v2 {
  position: relative;
  min-height: 225px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  overflow: hidden;
  border: 1px solid var(--nb-line);
  border-radius: var(--nb-radius-lg);
  padding: 1.45rem;
  color: var(--nb-ink);
  background: var(--nb-surface);
  box-shadow: var(--nb-shadow-sm);
  text-decoration: none;
  transition: transform var(--nb-transition), box-shadow var(--nb-transition), border-color var(--nb-transition);
}

.nb-start-card-v2::after {
  content: "";
  position: absolute;
  right: -2.5rem;
  bottom: -3rem;
  width: 8rem;
  height: 8rem;
  border-radius: 50%;
  background: var(--nb-soft);
}

.nb-start-card-v2:hover {
  transform: translateY(-4px);
  border-color: rgba(var(--nb-accent-rgb), 0.28);
  box-shadow: var(--nb-shadow-md);
}

.nb-start-icon-v2 {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  color: var(--nb-accent-strong);
  background: var(--nb-soft);
  font-size: 1.35rem;
  font-weight: 950;
}

.nb-start-card-v2 h3 {
  margin: 1rem 0 0.45rem;
}

.nb-start-card-v2 p {
  margin: 0 0 1rem;
  color: var(--nb-muted);
}

.nb-start-card-v2 strong {
  margin-top: auto;
  color: var(--nb-accent);
}

.nb-project-grid-v2 {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 1rem;
}

.nb-project-card-v2 {
  --project-color: var(--nb-accent);
  position: relative;
  grid-column: span 4;
  min-height: 330px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  overflow: hidden;
  border: 1px solid var(--nb-line);
  border-radius: var(--nb-radius-lg);
  padding: 1.35rem;
  color: var(--nb-ink);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(255, 255, 255, 0.99)),
    var(--project-color);
  box-shadow: var(--nb-shadow-sm);
  text-decoration: none;
  transition: transform var(--nb-transition), border-color var(--nb-transition), box-shadow var(--nb-transition);
}

.nb-project-card-v2::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: var(--project-color);
}

.nb-project-card-v2::after {
  content: "";
  position: absolute;
  width: 12rem;
  height: 12rem;
  right: -6rem;
  top: -6rem;
  border-radius: 50%;
  opacity: 0.08;
  background: var(--project-color);
}

.nb-project-card-v2:hover {
  transform: translateY(-5px);
  border-color: color-mix(in srgb, var(--project-color) 40%, transparent);
  box-shadow: var(--nb-shadow-md);
}

.nb-project-card-v2[data-project="navegaletras"] { --project-color: #9e263b; }
.nb-project-card-v2[data-project="faturacerta"] { --project-color: #087b60; }
.nb-project-card-v2[data-project="bussola-jovem"] { --project-color: #5553cf; }
.nb-project-card-v2[data-project="leiclara"] { --project-color: #163e6a; }
.nb-project-card-v2[data-project="vaidecarro"] { --project-color: #1464d8; }
.nb-project-card-v2[data-project="mesacheia"] { --project-color: #397b36; }
.nb-project-card-v2[data-project="treinoaserio"] { --project-color: #d63f34; }
.nb-project-card-v2[data-project="vailonge"] { --project-color: #078b8c; }
.nb-project-card-v2[data-project="paisdeprimeira"] { --project-color: #6e8f7b; }

.nb-project-card-v2[data-state="development"],
.nb-project-card-v2[data-state="soon"] {
  border-style: dashed;
  background: linear-gradient(180deg, #fff, #f7f9fc);
}

.nb-project-top-v2 {
  width: 100%;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.nb-project-logo-v2 {
  width: 92px;
  height: 92px;
  display: grid;
  place-items: center;
  border: 1px solid var(--nb-line);
  border-radius: 24px;
  padding: 0.55rem;
  background: #fff;
}

.nb-project-logo-v2 img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.nb-project-status-v2 {
  display: inline-flex;
  align-items: center;
  gap: 0.42rem;
  border-radius: 999px;
  padding: 0.38rem 0.62rem;
  color: #07533d;
  background: #e8f7f0;
  font-size: 0.73rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.045em;
}

.nb-project-status-v2::before {
  content: "";
  width: 0.42rem;
  height: 0.42rem;
  border-radius: 50%;
  background: #0b8b64;
}

[data-state="development"] .nb-project-status-v2 {
  color: #875109;
  background: #fff3dc;
}

[data-state="development"] .nb-project-status-v2::before {
  background: #d07d0b;
}

[data-state="soon"] .nb-project-status-v2 {
  color: #5e6674;
  background: #eef1f5;
}

[data-state="soon"] .nb-project-status-v2::before {
  background: #7b8492;
}

.nb-project-card-v2 h3 {
  margin: 1rem 0 0.35rem;
  font-size: 1.45rem;
}

.nb-project-card-v2 p {
  margin: 0;
  color: var(--nb-muted);
}

.nb-project-tags-v2 {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin: 0.85rem 0;
}

.nb-project-tags-v2 span {
  border: 1px solid var(--nb-line);
  border-radius: 999px;
  padding: 0.3rem 0.55rem;
  color: var(--nb-muted);
  background: var(--nb-surface-soft);
  font-size: 0.76rem;
  font-weight: 800;
}

.nb-project-enter-v2 {
  margin-top: auto;
  color: var(--project-color);
  font-weight: 900;
}

.nb-personal-grid-v2 {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 1rem;
}

.nb-personal-card-v2 {
  min-height: 250px;
  border: 1px solid var(--nb-line);
  border-radius: var(--nb-radius-lg);
  padding: clamp(1.3rem, 3vw, 2rem);
  background: var(--nb-surface);
  box-shadow: var(--nb-shadow-sm);
}

.nb-personal-card-v2 h3 {
  margin: 0.55rem 0 0.5rem;
  font-size: 1.4rem;
}

.nb-personal-card-v2 > p {
  color: var(--nb-muted);
}

.nb-dynamic-list-v2 {
  display: grid;
  gap: 0.65rem;
  margin-top: 1rem;
}

.nb-dynamic-link-v2 {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 0.3rem 1rem;
  align-items: center;
  border: 1px solid var(--nb-line);
  border-radius: 16px;
  padding: 0.8rem 0.9rem;
  color: var(--nb-ink);
  background: var(--nb-surface-soft);
  text-decoration: none;
}

.nb-dynamic-link-v2 strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.nb-dynamic-link-v2 small {
  grid-column: 1;
  color: var(--nb-muted);
}

.nb-dynamic-link-v2 > span {
  grid-column: 2;
  grid-row: 1 / span 2;
  color: var(--nb-accent);
  font-weight: 900;
}

.nb-tool-grid-v2 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.nb-tool-card-v2 {
  min-height: 205px;
  display: flex;
  flex-direction: column;
  border: 1px solid var(--nb-line);
  border-radius: var(--nb-radius-lg);
  padding: 1.25rem;
  color: var(--nb-ink);
  background: var(--nb-surface);
  box-shadow: var(--nb-shadow-sm);
  text-decoration: none;
  transition: transform var(--nb-transition), border-color var(--nb-transition), box-shadow var(--nb-transition);
}

.nb-tool-card-v2:hover {
  transform: translateY(-4px);
  border-color: rgba(var(--nb-accent-rgb), 0.28);
  box-shadow: var(--nb-shadow-md);
}

.nb-tool-card-v2 span {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  color: var(--nb-accent-strong);
  background: var(--nb-soft);
  font-weight: 950;
}

.nb-tool-card-v2 h3 {
  margin: 0.9rem 0 0.4rem;
}

.nb-tool-card-v2 p {
  margin: 0;
  color: var(--nb-muted);
}

.nb-tool-card-v2 strong {
  margin-top: auto;
  padding-top: 0.8rem;
  color: var(--nb-accent);
}

.nb-news-grid-v2 {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr 0.85fr;
  gap: 1rem;
}

.nb-news-card-v2 {
  border: 1px solid var(--nb-line);
  border-radius: var(--nb-radius-lg);
  padding: 1.35rem;
  background: var(--nb-surface);
  box-shadow: var(--nb-shadow-sm);
}

.nb-news-card-v2:first-child {
  color: #fff;
  background: linear-gradient(145deg, #0a2d61, #124f9e);
}

.nb-news-card-v2:first-child h3,
.nb-news-card-v2:first-child p {
  color: #fff;
}

.nb-news-card-v2 time {
  color: var(--nb-faint);
  font-size: 0.82rem;
  font-weight: 800;
}

.nb-news-card-v2:first-child time {
  color: #bed5f4;
}

.nb-news-card-v2 h3 {
  margin: 0.75rem 0 0.45rem;
}

.nb-news-card-v2 p {
  margin: 0;
  color: var(--nb-muted);
}

.nb-free-banner-v2 {
  width: var(--nb-page);
  margin: var(--nb-space-8) auto 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1.5rem;
  align-items: center;
  border: 1px solid rgba(var(--nb-accent-rgb), 0.15);
  border-radius: var(--nb-radius-xl);
  padding: clamp(1.5rem, 4vw, 2.6rem);
  background:
    radial-gradient(circle at 95% 10%, rgba(47, 125, 240, 0.14), transparent 16rem),
    var(--nb-soft);
}

.nb-free-banner-v2 h2 {
  margin: 0 0 0.5rem;
}

.nb-free-banner-v2 p {
  max-width: 740px;
  margin: 0;
  color: var(--nb-muted);
}

/* NavegaLetras home */
.nl-home-v2 {
  padding-bottom: var(--nb-space-8);
}

.nl-hero-v2 {
  position: relative;
  width: var(--nb-page);
  margin: clamp(1rem, 3vw, 2rem) auto 0;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(330px, 0.95fr);
  gap: clamp(2rem, 5vw, 4.5rem);
  align-items: center;
  overflow: hidden;
  border: 1px solid rgba(158, 38, 59, 0.15);
  border-radius: clamp(28px, 5vw, 46px);
  padding: clamp(2rem, 5vw, 4.5rem);
  background:
    radial-gradient(circle at 92% 4%, rgba(158, 38, 59, 0.18), transparent 24rem),
    linear-gradient(135deg, #fffaf7, #fff 55%, #fff0f2);
  box-shadow: var(--nb-shadow-md);
}

.nl-hero-v2::before {
  content: "N";
  position: absolute;
  right: -0.04em;
  bottom: -0.38em;
  color: rgba(158, 38, 59, 0.035);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 34rem;
  font-weight: 700;
  line-height: 1;
  pointer-events: none;
}

.nl-hero-copy-v2,
.nl-hero-panel-v2 {
  position: relative;
  z-index: 1;
}

.nl-hero-copy-v2 h1 {
  max-width: 740px;
  margin: 0.9rem 0 1rem;
  color: #42101b;
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 700;
}

.nl-hero-copy-v2 h1 span {
  color: #a2293f;
}

.nl-hero-copy-v2 > p {
  max-width: 680px;
  margin: 0;
  color: #6c4b52;
  font-size: clamp(1.03rem, 2vw, 1.2rem);
}

.nl-search-v2 {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 0.55rem;
  align-items: center;
  margin-top: 1.45rem;
  border: 1px solid rgba(158, 38, 59, 0.18);
  border-radius: 999px;
  padding: 0.38rem;
  background: #fff;
  box-shadow: 0 12px 32px rgba(105, 20, 38, 0.09);
}

.nl-search-v2 > span {
  padding-left: 0.7rem;
  color: #9e263b;
}

.nl-search-v2 input {
  min-height: 44px !important;
  border: 0 !important;
  border-radius: 999px !important;
  padding-inline: 0.2rem !important;
  box-shadow: none !important;
  color: #42101b !important;
  background: #fff !important;
}

.nl-search-v2 input::placeholder {
  color: #876c72;
  opacity: 1;
}

.nl-search-v2 button {
  min-height: 44px;
  border: 0;
  border-radius: 999px;
  padding: 0.65rem 1rem;
  color: #fff;
  background: #9e263b;
  font-weight: 850;
  cursor: pointer;
}

.nl-hero-panel-v2 {
  border: 1px solid rgba(158, 38, 59, 0.16);
  border-radius: 30px;
  padding: 1.25rem;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 22px 55px rgba(105, 20, 38, 0.12);
}

.nl-hero-brand-v2 {
  display: flex;
  align-items: center;
  gap: 0.9rem;
  border-bottom: 1px solid rgba(158, 38, 59, 0.1);
  padding-bottom: 1rem;
}

.nl-hero-brand-v2 img {
  width: 80px;
  height: 80px;
  object-fit: contain;
  border-radius: 22px;
  background: #fff8f4;
}

.nl-hero-brand-v2 h2 {
  margin: 0 0 0.2rem;
  color: #42101b;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.45rem;
}

.nl-hero-brand-v2 p {
  margin: 0;
  color: #7b5c63;
  font-size: 0.9rem;
}

.nl-stat-grid-v2 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.65rem;
  margin-top: 0.9rem;
}

.nl-stat-v2 {
  border: 1px solid rgba(158, 38, 59, 0.1);
  border-radius: 18px;
  padding: 0.8rem;
  background: #fff8f8;
}

.nl-stat-v2 strong {
  display: block;
  color: #7c1d31;
  font-size: 1.45rem;
  line-height: 1.1;
}

.nl-stat-v2 span {
  color: #745961;
  font-size: 0.8rem;
}

.nl-dashboard-grid-v2 {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(300px, 0.75fr);
  gap: 1rem;
}

.nl-dashboard-card-v2 {
  border: 1px solid var(--nb-line);
  border-radius: var(--nb-radius-lg);
  padding: clamp(1.25rem, 3vw, 1.8rem);
  background: var(--nb-surface);
  box-shadow: var(--nb-shadow-sm);
}

.nl-dashboard-card-v2 h3 {
  margin: 0.55rem 0 0.35rem;
  font-size: 1.35rem;
}

.nl-dashboard-card-v2 > p {
  margin: 0;
  color: var(--nb-muted);
}

.nl-subject-list-v2 {
  display: grid;
  gap: 0.9rem;
  margin-top: 1.2rem;
}

.nl-subject-v2 {
  display: grid;
  grid-template-columns: minmax(110px, 0.65fr) minmax(140px, 1fr) 3rem;
  gap: 0.75rem;
  align-items: center;
}

.nl-subject-v2 strong {
  font-size: 0.92rem;
}

.nl-progress-track-v2 {
  height: 10px;
  overflow: hidden;
  border-radius: 999px;
  background: #f2e7e9;
}

.nl-progress-track-v2 span {
  display: block;
  height: 100%;
  width: 0;
  border-radius: inherit;
  background: linear-gradient(90deg, #9e263b, #dc6276);
  transition: width 500ms ease;
}

.nl-subject-v2 > span {
  color: var(--nb-muted);
  font-size: 0.82rem;
  font-weight: 850;
  text-align: right;
}

.nl-timer-v2 {
  margin-top: 1rem;
  text-align: center;
}

.nl-timer-display-v2 {
  color: #641629;
  font-variant-numeric: tabular-nums;
  font-size: clamp(2.8rem, 8vw, 4.7rem);
  font-weight: 900;
  line-height: 1;
  letter-spacing: -0.055em;
}

.nl-timer-actions-v2 {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin-top: 1rem;
}

.nl-timer-actions-v2 button {
  min-height: 42px;
  border: 1px solid rgba(158, 38, 59, 0.16);
  border-radius: 999px;
  padding: 0.55rem 0.85rem;
  color: #691426;
  background: #fff3f5;
  cursor: pointer;
}

.nl-timer-actions-v2 button[data-action="start"] {
  border-color: #9e263b;
  color: #fff;
  background: #9e263b;
}

.nl-recommendation-v2 {
  margin-top: 1rem;
  border: 1px solid rgba(158, 38, 59, 0.14);
  border-radius: 18px;
  padding: 1rem;
  background: #fff7f8;
}

.nl-recommendation-v2 strong {
  display: block;
  color: #691426;
}

.nl-recommendation-v2 p {
  margin: 0.3rem 0 0.7rem;
  color: #6c5057;
  font-size: 0.9rem;
}

.nl-route-grid-v2 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.nl-route-card-v2 {
  min-height: 235px;
  display: flex;
  flex-direction: column;
  border: 1px solid rgba(158, 38, 59, 0.12);
  border-radius: var(--nb-radius-lg);
  padding: 1.2rem;
  color: var(--nb-ink);
  background: var(--nb-surface);
  box-shadow: var(--nb-shadow-sm);
  text-decoration: none;
  transition: transform var(--nb-transition), border-color var(--nb-transition), box-shadow var(--nb-transition);
}

.nl-route-card-v2:hover {
  transform: translateY(-4px);
  border-color: rgba(158, 38, 59, 0.3);
  box-shadow: var(--nb-shadow-md);
}

.nl-route-icon-v2 {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: 15px;
  color: #7c1d31;
  background: #fff0f2;
  font-weight: 950;
}

.nl-route-card-v2 h3 {
  margin: 0.9rem 0 0.4rem;
  color: #42101b;
}

.nl-route-card-v2 p {
  margin: 0;
  color: var(--nb-muted);
}

.nl-route-card-v2 strong {
  margin-top: auto;
  padding-top: 0.8rem;
  color: #9e263b;
}

.nl-work-grid-v2,
.nl-game-grid-v2 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.nl-work-card-v2,
.nl-game-card-v2 {
  min-height: 205px;
  display: flex;
  flex-direction: column;
  border: 1px solid var(--nb-line);
  border-radius: var(--nb-radius-lg);
  padding: 1.2rem;
  color: var(--nb-ink);
  background: var(--nb-surface);
  box-shadow: var(--nb-shadow-sm);
  text-decoration: none;
  transition: transform var(--nb-transition), box-shadow var(--nb-transition);
}

.nl-work-card-v2 {
  position: relative;
  overflow: hidden;
}

.nl-work-card-v2::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: #9e263b;
}

.nl-work-card-v2:hover,
.nl-game-card-v2:hover {
  transform: translateY(-4px);
  box-shadow: var(--nb-shadow-md);
}

.nl-work-card-v2 small,
.nl-game-card-v2 small {
  color: #9e263b;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.nl-work-card-v2 h3,
.nl-game-card-v2 h3 {
  margin: 0.7rem 0 0.35rem;
  color: #42101b;
}

.nl-work-card-v2 p,
.nl-game-card-v2 p {
  margin: 0;
  color: var(--nb-muted);
}

.nl-work-card-v2 strong,
.nl-game-card-v2 strong {
  margin-top: auto;
  padding-top: 0.8rem;
  color: #9e263b;
}

.nl-history-v2 {
  display: grid;
  gap: 0.65rem;
  margin-top: 1rem;
}

.nl-history-item-v2 {
  border: 1px solid var(--nb-line);
  border-radius: 16px;
  padding: 0.8rem 0.9rem;
  background: var(--nb-surface-soft);
}

.nl-history-item-v2 strong {
  display: block;
}

.nl-history-item-v2 span {
  color: var(--nb-muted);
  font-size: 0.85rem;
}

.nl-empty-v2 {
  border: 1px dashed var(--nb-line-strong);
  border-radius: 16px;
  padding: 1rem;
  color: var(--nb-muted);
  background: var(--nb-surface-soft);
}

/* Oral and adaptive study tools */
.nl-tool-shell-v2 {
  width: var(--nb-page);
  margin: clamp(1rem, 3vw, 2rem) auto 0;
  padding-bottom: var(--nb-space-8);
}

.nl-tool-hero-v2 {
  overflow: hidden;
  border: 1px solid rgba(158, 38, 59, 0.14);
  border-radius: var(--nb-radius-xl);
  padding: clamp(1.6rem, 5vw, 3.8rem);
  background: linear-gradient(135deg, #fffaf7, #fff0f2);
  box-shadow: var(--nb-shadow-md);
}

.nl-tool-hero-v2 h1 {
  max-width: 760px;
  margin: 0.85rem 0 0.8rem;
  color: #42101b;
  font-family: Georgia, "Times New Roman", serif;
}

.nl-tool-hero-v2 p {
  max-width: 760px;
  margin: 0;
  color: #6c4b52;
  font-size: 1.06rem;
}

.nl-tool-layout-v2 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.42fr);
  gap: 1rem;
  margin-top: 1rem;
}

.nl-tool-panel-v2 {
  border: 1px solid var(--nb-line);
  border-radius: var(--nb-radius-lg);
  padding: clamp(1.2rem, 3vw, 1.8rem);
  background: var(--nb-surface);
  box-shadow: var(--nb-shadow-sm);
}

.nl-tool-panel-v2 h2,
.nl-tool-panel-v2 h3 {
  margin-top: 0;
}

.nl-prompt-v2 {
  min-height: 160px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(158, 38, 59, 0.15);
  border-radius: var(--nb-radius-lg);
  padding: 1.5rem;
  color: #42101b;
  background: #fff7f8;
  text-align: center;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.3rem, 3vw, 2rem);
  font-weight: 700;
}

.nl-tool-actions-v2 {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin-top: 1rem;
}

.nl-tool-actions-v2 button {
  border: 1px solid rgba(158, 38, 59, 0.18);
  border-radius: 999px;
  padding: 0.65rem 0.9rem;
  color: #691426;
  background: #fff3f5;
  cursor: pointer;
}

.nl-tool-actions-v2 button[data-primary="true"] {
  border-color: #9e263b;
  color: #fff;
  background: #9e263b;
}

.nl-oral-timer-v2 {
  margin: 1rem 0;
  color: #691426;
  font-variant-numeric: tabular-nums;
  font-size: clamp(2.5rem, 7vw, 4.5rem);
  font-weight: 900;
  letter-spacing: -0.05em;
  text-align: center;
}

.nl-checklist-v2 {
  display: grid;
  gap: 0.55rem;
}

.nl-checklist-v2 label {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  border: 1px solid var(--nb-line);
  border-radius: 14px;
  padding: 0.7rem;
  color: var(--nb-muted);
  background: var(--nb-surface-soft);
}

.nl-checklist-v2 input {
  margin-top: 0.18rem;
  accent-color: #9e263b;
}

.nl-question-v2 {
  border: 1px solid rgba(158, 38, 59, 0.15);
  border-radius: var(--nb-radius-lg);
  padding: clamp(1.2rem, 3vw, 1.8rem);
  background: #fffafb;
}

.nl-question-v2 h2 {
  margin: 0.6rem 0 1rem;
  color: #42101b;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.45rem, 3vw, 2.15rem);
}

.nl-options-v2 {
  display: grid;
  gap: 0.65rem;
}

.nl-options-v2 button {
  min-height: 52px;
  border: 1px solid var(--nb-line-strong);
  border-radius: 16px !important;
  padding: 0.8rem 0.9rem;
  color: var(--nb-ink);
  background: #fff;
  text-align: left;
  cursor: pointer;
}

.nl-options-v2 button:hover {
  border-color: rgba(158, 38, 59, 0.36);
  background: #fff7f8;
}

.nl-options-v2 button.is-correct {
  border-color: rgba(8, 122, 85, 0.45);
  color: #07543d;
  background: #eaf8f2;
}

.nl-options-v2 button.is-wrong {
  border-color: rgba(180, 35, 54, 0.42);
  color: #8f172a;
  background: #fff0f2;
}

.nl-answer-feedback-v2 {
  margin-top: 0.9rem;
  border-radius: 16px;
  padding: 0.9rem;
  color: var(--nb-muted);
  background: var(--nb-soft);
}

.nl-adaptive-meta-v2 {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin-bottom: 0.8rem;
}

.nl-adaptive-meta-v2 span {
  border-radius: 999px;
  padding: 0.36rem 0.62rem;
  color: #691426;
  background: #fff0f2;
  font-size: 0.78rem;
  font-weight: 850;
}

/* Footer */
.site-footer {
  margin-top: var(--nb-space-8) !important;
  border-top: 0 !important;
  padding: clamp(2rem, 5vw, 4rem) 0 1.6rem !important;
  color: #dce8f7 !important;
  background:
    radial-gradient(circle at 10% 0%, rgba(47, 125, 240, 0.18), transparent 24rem),
    #07182f !important;
}

.site-footer-wrap {
  width: var(--nb-page) !important;
  margin: 0 auto !important;
}

.site-footer-grid {
  display: grid !important;
  grid-template-columns: minmax(240px, 1.35fr) repeat(3, minmax(130px, 0.75fr)) minmax(180px, 0.9fr) !important;
  gap: clamp(1.2rem, 3vw, 2.2rem) !important;
}

.site-footer section {
  min-width: 0;
  border: 0 !important;
  padding: 0 !important;
  color: #dce8f7 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.site-footer h3 {
  margin: 0 0 0.8rem !important;
  color: #fff !important;
  font-size: 0.95rem;
  letter-spacing: 0;
}

.site-footer p,
.site-footer span,
.site-footer small {
  color: #aec1d8 !important;
}

.site-footer a {
  color: #dce8f7 !important;
  text-decoration: none;
}

.site-footer a:hover {
  color: #fff !important;
}

.site-footer-brand img {
  width: 100px !important;
  height: 74px !important;
  object-fit: contain !important;
  border-radius: 20px;
  padding: 0.35rem;
  background: #fff;
}

.site-powered {
  width: max-content;
  display: block !important;
  margin: 0.75rem 0 !important;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 999px;
  padding: 0.35rem 0.55rem;
  font-size: 0.72rem;
  font-weight: 850;
}

.site-footer-links {
  display: grid !important;
  gap: 0.48rem !important;
}

.site-footer-links a {
  width: fit-content;
  margin: 0 !important;
  color: #c4d3e5 !important;
  font-size: 0.88rem;
}

.site-partner-card {
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-radius: 18px !important;
  padding: 0.75rem !important;
  background: rgba(255, 255, 255, 0.05) !important;
}

.site-partner-card img {
  width: 120px !important;
  height: 55px !important;
  object-fit: contain !important;
}

.site-partner-card p {
  margin: 0.55rem 0 0 !important;
  font-size: 0.78rem;
}

.site-footer-bottom {
  margin-top: 2rem !important;
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  border-top: 1px solid rgba(255, 255, 255, 0.12) !important;
  padding-top: 1.2rem !important;
  font-size: 0.83rem;
}

.site-footer-mini {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
}

/* Dark theme */
html[data-nb-theme="dark"] {
  color-scheme: dark;
  --nb-canvas: #071526;
  --nb-canvas-deep: #06101d;
  --nb-surface: #0f223a;
  --nb-surface-soft: #122a47;
  --nb-ink: #f2f6fc;
  --nb-muted: #bdcbe0;
  --nb-faint: #96a9c2;
  --nb-line: rgba(220, 233, 250, 0.13);
  --nb-line-strong: rgba(220, 233, 250, 0.22);
  --nb-soft: #18365a;
  --nb-shadow-sm: 0 10px 28px rgba(0, 0, 0, 0.18);
  --nb-shadow-md: 0 20px 50px rgba(0, 0, 0, 0.25);
  --nb-shadow-lg: 0 30px 90px rgba(0, 0, 0, 0.34);
}

html[data-nb-theme="dark"] body {
  color: var(--nb-ink) !important;
  background:
    radial-gradient(circle at 12% -8%, rgba(var(--nb-accent-rgb), 0.17), transparent 31rem),
    linear-gradient(180deg, #071426, #091b2f 55%, #071526) !important;
}

html[data-nb-theme="dark"] .site-header {
  border-color: var(--nb-line) !important;
  background: rgba(7, 21, 38, 0.9) !important;
}

html[data-nb-theme="dark"] .site-brand img,
html[data-nb-theme="dark"] .project-nb-home-link img {
  background: #fff !important;
}

html[data-nb-theme="dark"] .site-category-panel,
html[data-nb-theme="dark"] .site-menu-group,
html[data-nb-theme="dark"] .nb-mobile-menu-button {
  color: var(--nb-ink) !important;
  background: var(--nb-surface) !important;
}

html[data-nb-theme="dark"] .site-menu-group {
  background: linear-gradient(180deg, var(--nb-surface-soft), var(--nb-surface)) !important;
}

html[data-nb-theme="dark"] :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
  color: var(--nb-ink) !important;
  background: #10243d !important;
}

html[data-nb-theme="dark"] select option {
  color: #f2f6fc;
  background: #10243d;
}

html[data-nb-theme="dark"] .nb-home-hero-v2 {
  background:
    radial-gradient(circle at 76% 16%, rgba(77, 141, 255, 0.38), transparent 22rem),
    linear-gradient(140deg, #031126 0%, #082b61 56%, #0d4ca2 100%) !important;
}

html[data-nb-theme="dark"] .nb-project-card-v2,
html[data-nb-theme="dark"] .nb-start-card-v2,
html[data-nb-theme="dark"] .nb-tool-card-v2,
html[data-nb-theme="dark"] .nb-news-card-v2,
html[data-nb-theme="dark"] .nb-personal-card-v2,
html[data-nb-theme="dark"] .nl-dashboard-card-v2,
html[data-nb-theme="dark"] .nl-route-card-v2,
html[data-nb-theme="dark"] .nl-work-card-v2,
html[data-nb-theme="dark"] .nl-game-card-v2,
html[data-nb-theme="dark"] .nl-tool-panel-v2 {
  color: var(--nb-ink) !important;
  background: var(--nb-surface) !important;
}

html[data-nb-theme="dark"] .nb-section-v2 {
  border-color: transparent !important;
  background: transparent !important;
}

html[data-nb-theme="dark"] .nb-project-logo-v2,
html[data-nb-theme="dark"] .nb-orbit-logo-v2,
html[data-nb-theme="dark"] .nb-ecosystem-core-v2,
html[data-nb-theme="dark"] .nl-hero-brand-v2 img {
  background: #fff !important;
}

html[data-nb-theme="dark"] .nb-project-tags-v2 span,
html[data-nb-theme="dark"] .nb-dynamic-link-v2,
html[data-nb-theme="dark"] .nl-history-item-v2,
html[data-nb-theme="dark"] .nl-empty-v2 {
  color: var(--nb-muted) !important;
  background: var(--nb-surface-soft) !important;
}

html[data-nb-theme="dark"] .nl-hero-v2,
html[data-nb-theme="dark"] .nl-tool-hero-v2 {
  border-color: rgba(217, 91, 112, 0.22) !important;
  background:
    radial-gradient(circle at 90% 0%, rgba(158, 38, 59, 0.2), transparent 20rem),
    linear-gradient(135deg, #20131c, #101c2e) !important;
}

html[data-nb-theme="dark"] .nl-hero-copy-v2 h1,
html[data-nb-theme="dark"] .nl-hero-brand-v2 h2,
html[data-nb-theme="dark"] .nl-route-card-v2 h3,
html[data-nb-theme="dark"] .nl-work-card-v2 h3,
html[data-nb-theme="dark"] .nl-game-card-v2 h3,
html[data-nb-theme="dark"] .nl-tool-hero-v2 h1,
html[data-nb-theme="dark"] .nl-question-v2 h2 {
  color: #fff4f6 !important;
}

html[data-nb-theme="dark"] .nl-hero-copy-v2 > p,
html[data-nb-theme="dark"] .nl-hero-brand-v2 p,
html[data-nb-theme="dark"] .nl-tool-hero-v2 p {
  color: #d9c3c9 !important;
}

html[data-nb-theme="dark"] .nl-hero-panel-v2,
html[data-nb-theme="dark"] .nl-stat-v2,
html[data-nb-theme="dark"] .nl-search-v2,
html[data-nb-theme="dark"] .nl-question-v2,
html[data-nb-theme="dark"] .nl-prompt-v2 {
  color: var(--nb-ink) !important;
  background: #13243a !important;
}

html[data-nb-theme="dark"] .nl-search-v2 input {
  color: #fff !important;
  background: #13243a !important;
}

html[data-nb-theme="dark"] .nl-search-v2 input::placeholder {
  color: #cbb5bb;
}

html[data-nb-theme="dark"] .nl-progress-track-v2 {
  background: #36212b;
}

html[data-nb-theme="dark"] .nb-free-banner-v2 {
  background:
    radial-gradient(circle at 95% 10%, rgba(47, 125, 240, 0.12), transparent 16rem),
    var(--nb-surface) !important;
}

html[data-nb-theme="dark"] .nb-project-status-v2 {
  color: #bff1dd !important;
  background: #123d35 !important;
}

html[data-nb-theme="dark"] [data-state="development"] .nb-project-status-v2 {
  color: #ffdf9e !important;
  background: #493517 !important;
}

html[data-nb-theme="dark"] [data-state="soon"] .nb-project-status-v2 {
  color: #d6dfec !important;
  background: #28394f !important;
}

html[data-nb-theme="dark"] .site-footer section {
  border-color: transparent !important;
  color: #dce8f7 !important;
  background: transparent !important;
}

/* Responsive */
@media (max-width: 1050px) {
  .site-main-nav a,
  .site-category-menu > summary {
    padding-inline: 0.68rem !important;
    font-size: 0.88rem !important;
  }

  .site-brand span {
    display: none;
  }

  .nb-home-hero-v2,
  .nl-hero-v2 {
    grid-template-columns: 1fr;
  }

  .nb-home-hero-v2 {
    min-height: auto;
  }

  .nb-ecosystem-visual-v2 {
    width: min(520px, 100%);
    margin: 0 auto;
  }

  .nb-project-card-v2 {
    grid-column: span 6;
  }

  .nb-tool-grid-v2,
  .nl-route-grid-v2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .site-footer-grid {
    grid-template-columns: 1.4fr repeat(2, 1fr) !important;
  }
}

@media (max-width: 820px) {
  :root {
    --nb-page: min(100% - 24px, 1180px);
  }

  .site-header-wrap {
    align-items: flex-start;
  }

  .site-header-top {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.55rem !important;
  }

  .site-brand {
    min-width: 0;
  }

  .site-brand span {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .nb-mobile-menu-button {
    display: inline-flex;
  }

  .site-header:not(.nb-menu-open) .site-main-nav,
  .site-header:not(.nb-menu-open) .site-category-menu {
    display: none !important;
  }

  .site-header.nb-menu-open .site-main-nav,
  .site-header.nb-menu-open .site-category-menu {
    grid-column: 1 / -1;
    width: 100%;
  }

  .site-header.nb-menu-open .site-main-nav {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0 !important;
  }

  .site-header.nb-menu-open .site-main-nav a {
    border-color: var(--nb-line) !important;
    border-radius: 14px !important;
    background: var(--nb-surface-soft) !important;
  }

  .site-header.nb-menu-open .site-category-menu {
    display: block !important;
  }

  .site-header.nb-menu-open .site-category-menu > summary {
    width: 100%;
    border-color: var(--nb-line) !important;
    border-radius: 14px !important;
    background: var(--nb-surface-soft) !important;
  }

  .site-category-panel {
    position: static !important;
    width: 100% !important;
    margin-top: 0.55rem !important;
    grid-template-columns: 1fr !important;
    box-shadow: var(--nb-shadow-md) !important;
  }

  .nb-start-grid-v2,
  .nl-work-grid-v2,
  .nl-game-grid-v2 {
    grid-template-columns: 1fr 1fr;
  }

  .nb-personal-grid-v2,
  .nl-dashboard-grid-v2,
  .nl-tool-layout-v2,
  .nb-free-banner-v2 {
    grid-template-columns: 1fr;
  }

  .nb-news-grid-v2 {
    grid-template-columns: 1fr;
  }

  .site-footer-grid {
    grid-template-columns: 1fr 1fr !important;
  }
}

@media (max-width: 600px) {
  :root {
    --nb-page: min(100% - 20px, 1180px);
    --nb-space-8: 3rem;
  }

  html {
    scroll-padding-top: 5rem;
  }

  h1 {
    font-size: clamp(2.2rem, 13vw, 3.65rem);
  }

  .site-header-wrap {
    width: min(100% - 16px, 1180px) !important;
  }

  .project-nb-home-link {
    padding-inline: 0.5rem !important;
  }

  .project-nb-home-link span {
    font-size: 0.82rem;
  }

  .site-brand span {
    font-size: 0.92rem;
  }

  .site-brand img {
    width: 38px !important;
    height: 38px !important;
  }

  .nb-mobile-menu-button {
    width: 42px;
    padding-inline: 0;
    font-size: 0;
  }

  .nb-home-hero-v2,
  .nl-hero-v2 {
    border-radius: 28px;
    padding: 1.5rem;
  }

  .nb-home-hero-v2 {
    margin-top: 0.7rem;
  }

  .nb-home-hero-copy-v2 > p,
  .nl-hero-copy-v2 > p {
    font-size: 1rem;
  }

  .nb-hero-actions-v2 {
    display: grid;
  }

  .nb-hero-actions-v2 > * {
    width: 100%;
  }

  .nb-ecosystem-visual-v2 {
    min-height: 330px;
  }

  .nb-ecosystem-ring-v2 {
    width: 290px;
  }

  .nb-ecosystem-core-v2 {
    width: 136px;
    border-radius: 30px;
  }

  .nb-ecosystem-core-v2 img {
    width: 110px;
    height: 110px;
  }

  .nb-orbit-logo-v2 {
    width: 56px;
    height: 56px;
    border-radius: 17px;
  }

  .nb-start-grid-v2,
  .nb-project-grid-v2,
  .nb-tool-grid-v2,
  .nl-route-grid-v2,
  .nl-work-grid-v2,
  .nl-game-grid-v2 {
    grid-template-columns: 1fr;
  }

  .nb-project-card-v2 {
    grid-column: 1 / -1;
    min-height: 300px;
  }

  .nb-tool-grid-v2,
  .nl-route-grid-v2 {
    display: grid;
  }

  .nb-start-card-v2,
  .nb-tool-card-v2,
  .nl-route-card-v2,
  .nl-work-card-v2,
  .nl-game-card-v2 {
    min-height: auto;
  }

  .nl-search-v2 {
    grid-template-columns: auto minmax(0, 1fr);
    border-radius: 20px;
  }

  .nl-search-v2 button {
    grid-column: 1 / -1;
    width: 100%;
  }

  .nl-stat-grid-v2 {
    grid-template-columns: 1fr 1fr;
  }

  .nl-subject-v2 {
    grid-template-columns: 1fr 2.6rem;
  }

  .nl-subject-v2 .nl-progress-track-v2 {
    grid-column: 1 / -1;
    grid-row: 2;
  }

  .site-footer-grid {
    grid-template-columns: 1fr !important;
  }

  .site-footer-bottom {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}

html[data-nb-motion="reduced"] *,
html[data-nb-motion="reduced"] *::before,
html[data-nb-motion="reduced"] *::after {
  animation-duration: 0.01ms !important;
  animation-iteration-count: 1 !important;
  scroll-behavior: auto !important;
  transition-duration: 0.01ms !important;
}
