/*
 * NefroQuest — Dashboard Lúmen
 * Página interna opaca, orientada a decisões de aprendizagem.
 * Todo o contrato visual fica deliberadamente restrito ao dashboard.
 */

#nqDashboard[data-nq-ui="lumen"] {
  --nqd-rail: clamp(14.5rem, 17vw, 17.25rem);
  --nqd-content: 96rem;
  --nqd-pad: clamp(1.25rem, 2.6vw, 2.75rem);
  --nqd-rule: rgba(120, 217, 227, .14);
  --nqd-rule-strong: rgba(120, 217, 227, .32);
  --nqd-gold-rule: rgba(234, 203, 115, .4);
  /* Estes cinco apontavam para hex próprios quase idênticos aos tokens do
     sistema — distâncias RGB de 6 a 28. Não quebrava nada visualmente, mas
     garantia que qualquer ajuste futuro em tokens.css não alcançasse a
     Central. Agora derivam da fonte única. As cores sem contraparte
     (bronze, amber, jade, sheet) ficam como estão: promovê-las a token exige
     decidir a função de cada uma, o que é decisão de produto. */
  --nqd-ink: var(--nql-abyss);
  --nqd-sheet: #0d1827;
  --nqd-sheet-raised: #102235;
  --nqd-bronze: #b98955;
  --nqd-cyan: var(--nql-lumen);
  --nqd-violet: var(--nql-corruption-strong);
  /* magenta removido: era uma sexta cor fora do sistema de cinco funções
     (leitura, consistência, atenção, conhecimento, recompensa) */
  --nqd-jade: #67d39d;
  --nqd-coral: var(--nql-danger);
  --nqd-amber: #df934d;
  --nqd-gold: var(--nql-mastery);
  position: fixed;
  z-index: 11000;
  inset: 0;
  width: 100%;
  height: 100dvh;
  /* px, não rem: este piso existe para proteger de VIEWPORT estreito, não
     para acompanhar o tamanho do texto. Em rem ele crescia junto com a fonte
     — quem aumenta a fonte do navegador para 200% fazia 20rem virar 640px
     dentro de uma tela de 390, e o `overflow: hidden` logo abaixo cortava o
     excesso sem deixar rolar até ele. "Sala de Condut…", "Dr. Glome…". */
  min-width: 320px;
  overflow: hidden;
  background:
    radial-gradient(circle at 82% -12%, rgba(120, 217, 227, .08), transparent 34rem),
    var(--nqd-ink);
  color: var(--nql-text);
  font-family: var(--nql-font-body);
  isolation: isolate;
  overscroll-behavior: contain;
}

#nqDashboard[data-nq-ui="lumen"],
#nqDashboard[data-nq-ui="lumen"] *,
#nqDashboard[data-nq-ui="lumen"] *::before,
#nqDashboard[data-nq-ui="lumen"] *::after {
  box-sizing: border-box;
}

#nqDashboard[data-nq-ui="lumen"] :where(button, input, select, textarea) {
  color: inherit;
  font: inherit;
}

#nqDashboard[data-nq-ui="lumen"] :where(button, a) {
  -webkit-tap-highlight-color: transparent;
}

#nqDashboard[data-nq-ui="lumen"] :where(button:not(:disabled), [href], [role="tab"]:not([aria-disabled="true"])) {
  cursor: pointer;
}

#nqDashboard[data-nq-ui="lumen"] :where(img, svg, canvas) {
  display: block;
  max-width: 100%;
}

#nqDashboard[data-nq-ui="lumen"] svg {
  width: 1.05rem;
  height: 1.05rem;
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}

#nqDashboard[data-nq-ui="lumen"] :where(h1, h2, h3, h4, p, ul, ol, dl, dd, figure) {
  margin-block: 0;
}

#nqDashboard[data-nq-ui="lumen"] :where(ul, ol) {
  padding: 0;
  list-style: none;
}

#nqDashboard[data-nq-ui="lumen"] :where(p, h1, h2, h3, h4, li, dd, dt, label, button, span, a) {
  overflow-wrap: anywhere;
}

#nqDashboard[data-nq-ui="lumen"] :focus-visible {
  outline: .125rem solid var(--nql-focus);
  outline-offset: .1875rem;
  box-shadow: var(--nql-shadow-focus);
}

#nqDashboard[data-nq-ui="lumen"] ::selection {
  background: rgba(var(--nql-lumen-rgb), .28);
  color: var(--nql-text);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

#nqDashboard[data-nq-ui="lumen"] [hidden] {
  display: none !important;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-shell {
  display: grid;
  grid-template-columns: var(--nqd-rail) minmax(0, 1fr);
  width: 100%;
  height: 100%;
  background:
    radial-gradient(circle at 93% 4%, rgba(var(--nql-lumen-rgb), .055), transparent 25rem),
    var(--nqd-ink);
}

/* Navegação persistente --------------------------------------------------- */

#nqDashboard[data-nq-ui="lumen"] .nqd-rail {
  position: relative;
  z-index: 3;
  display: flex;
  min-width: 0;
  flex-direction: column;
  padding: 1.35rem 1rem 1rem;
  overflow: hidden;
  border-right: 1px solid var(--nqd-rule);
  background: #080d18;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-rail::after {
  position: absolute;
  right: -1px;
  bottom: 12%;
  width: 1px;
  height: 28%;
  background: var(--nql-mastery);
  content: "";
  opacity: .66;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-rail-header,
#nqDashboard[data-nq-ui="lumen"] .nqd-brand-row {
  display: flex;
  min-height: 3.25rem;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  padding-inline: .4rem;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-brand {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  color: var(--nql-text);
  font-family: var(--nql-font-display);
  font-size: 1.42rem;
  font-weight: 700;
  letter-spacing: -.025em;
  text-decoration: none;
  overflow-wrap: normal;
  white-space: nowrap;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-brand em,
#nqDashboard[data-nq-ui="lumen"] .nqd-brand-accent {
  color: var(--nql-mastery);
  font-style: italic;
  font-weight: 600;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-rail-kicker,
#nqDashboard[data-nq-ui="lumen"] .nqd-eyebrow,
#nqDashboard[data-nq-ui="lumen"] .nqd-instrument-label,
#nqDashboard[data-nq-ui="lumen"] .nqd-meta {
  color: var(--nql-text-muted);
  font-family: var(--nql-font-instrument);
  font-size: .68rem;
  font-weight: 500;
  letter-spacing: .13em;
  line-height: 1.4;
  text-transform: uppercase;
}

/* Cor com função: ouro só para recompensa, ciano só para leitura clínica.
   O padrão do eyebrow era ciano, o que fez ciano virar "cor de qualquer
   metadado" — havia ~10 deles competindo entre si só na Visão geral. Com o
   padrão neutro, a cor volta a marcar significado em vez de ornamento.
   Estes modificadores vêm DEPOIS da regra base de propósito: têm a mesma
   especificidade, então quem vence é a ordem de origem. */
#nqDashboard[data-nq-ui="lumen"] .nqd-eyebrow--reward { color: var(--nqd-gold); }
#nqDashboard[data-nq-ui="lumen"] .nqd-eyebrow--clinical { color: var(--nqd-cyan); }

#nqDashboard[data-nq-ui="lumen"] .nqd-rail-kicker {
  margin: .35rem .4rem 1.2rem;
  color: var(--nql-text-muted);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-profile {
  display: grid;
  grid-template-columns: 3.35rem minmax(0, 1fr);
  align-items: center;
  gap: .85rem;
  margin: 0 .15rem 1.35rem;
  padding: .9rem .55rem .95rem;
  border-block: 1px solid var(--nqd-rule);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-profile-avatar,
#nqDashboard[data-nq-ui="lumen"] .nqd-avatar {
  position: relative;
  width: 3.35rem;
  aspect-ratio: 1;
  overflow: hidden;
  border: 1px solid var(--nqd-gold-rule);
  border-radius: 50%;
  background: var(--nqd-sheet);
}

#nqDashboard[data-nq-ui="lumen"] :where(.nqd-profile-avatar, .nqd-avatar) img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 24%;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-profile-copy {
  min-width: 0;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-profile-name {
  display: block;
  overflow: hidden;
  color: var(--nql-text);
  font-family: var(--nql-font-display);
  font-size: 1.05rem;
  font-weight: 650;
  line-height: 1.1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-profile-level {
  display: block;
  margin-top: .25rem;
  color: var(--nql-text-muted);
  font-family: var(--nql-font-instrument);
  font-size: .66rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-nav {
  display: grid;
  min-height: 0;
  gap: .2rem;
  margin-top: .15rem;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: var(--nqd-rule-strong) transparent;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-nav > [role="tablist"] {
  display: contents;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-nav-item,
#nqDashboard[data-nq-ui="lumen"] .nqd-tab {
  position: relative;
  display: grid;
  grid-template-columns: 1.5rem minmax(0, 1fr) auto;
  width: 100%;
  min-height: 2.9rem;
  align-items: center;
  gap: .65rem;
  padding: .55rem .65rem;
  border: 0;
  border-radius: .25rem;
  background: transparent;
  color: var(--nql-text-muted);
  text-align: left;
  transition: color var(--nql-duration-state) var(--nql-ease-state), background-color var(--nql-duration-state) var(--nql-ease-state);
}

#nqDashboard[data-nq-ui="lumen"] :where(.nqd-nav-item, .nqd-tab) svg {
  width: 1.15rem;
  height: 1.15rem;
  color: currentColor;
}

#nqDashboard[data-nq-ui="lumen"] :where(.nqd-nav-item, .nqd-tab)::before {
  position: absolute;
  top: .55rem;
  bottom: .55rem;
  left: 0;
  width: 2px;
  background: var(--nql-lumen);
  content: "";
  opacity: 0;
}

#nqDashboard[data-nq-ui="lumen"] :where(.nqd-nav-item, .nqd-tab).is-active,
#nqDashboard[data-nq-ui="lumen"] :where(.nqd-nav-item, .nqd-tab)[aria-selected="true"] {
  background: rgba(var(--nql-lumen-rgb), .075);
  color: var(--nql-text);
}

#nqDashboard[data-nq-ui="lumen"] :where(.nqd-nav-item, .nqd-tab).is-active::before,
#nqDashboard[data-nq-ui="lumen"] :where(.nqd-nav-item, .nqd-tab)[aria-selected="true"]::before {
  opacity: 1;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-nav-label {
  font-size: .88rem;
  font-weight: 600;
  line-height: 1.15;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-nav-count {
  min-width: 1.45rem;
  color: var(--nql-text-muted);
  font-family: var(--nql-font-instrument);
  font-size: .62rem;
  text-align: right;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-rail-footer {
  display: grid;
  gap: .4rem;
  margin-top: auto;
  padding-top: .85rem;
  border-top: 1px solid var(--nqd-rule);
}

/* Estrutura editorial ---------------------------------------------------- */

#nqDashboard[data-nq-ui="lumen"] .nqd-main {
  min-width: 0;
  height: 100dvh;
  overflow-y: auto;
  overflow-x: hidden;
  background: #0a101c;
  scrollbar-width: thin;
  scrollbar-color: var(--nqd-rule-strong) transparent;
  overscroll-behavior-y: contain;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-content {
  width: min(100%, var(--nqd-content));
  min-width: 0;
  margin-inline: auto;
  padding: clamp(1rem, 2.1vw, 2rem) var(--nqd-pad) clamp(3rem, 7vw, 6rem);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-pane[hidden] {
  display: none !important;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-pane.is-active,
#nqDashboard[data-nq-ui="lumen"] .nqd-pane:not([hidden]) {
  animation: nqd-reveal var(--nql-duration-panel) var(--nql-ease-enter) both;
}

@keyframes nqd-reveal {
  from {
    opacity: 0;
    transform: translateY(.35rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

#nqDashboard[data-nq-ui="lumen"] .nqd-section {
  min-width: 0;
  padding-block: clamp(1rem, 2vw, 1.75rem);
  border-top: 1px solid var(--nqd-rule);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-section:first-child {
  padding-top: 0;
  border-top: 0;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-section-header,
#nqDashboard[data-nq-ui="lumen"] .nqd-section-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1.2rem;
  margin-bottom: 1rem;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-section-title {
  color: var(--nql-text);
  font-family: var(--nql-font-display);
  font-size: clamp(1.25rem, 2vw, 1.75rem);
  font-weight: 600;
  letter-spacing: -.015em;
  line-height: 1.08;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-section-copy {
  max-width: 66ch;
  margin-top: .35rem;
  color: var(--nql-text-soft);
  font-size: .9rem;
  line-height: 1.5;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-title-lg {
  color: var(--nql-text);
  font-family: var(--nql-font-display);
  font-size: clamp(1.6rem, 3.25vw, 2.7rem);
  font-weight: 550;
  letter-spacing: -.035em;
  line-height: 1;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-display-value {
  color: var(--nql-mastery);
  font-family: var(--nql-font-display);
  font-size: clamp(1.75rem, 3vw, 2.65rem);
  font-variant-numeric: tabular-nums;
  font-weight: 650;
  letter-spacing: -.035em;
  line-height: 1;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-copy {
  color: var(--nql-text-soft);
  font-size: .92rem;
  line-height: 1.55;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-muted {
  color: var(--nql-text-muted);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-instrument-value,
#nqDashboard[data-nq-ui="lumen"] .nqd-number {
  font-family: var(--nql-font-instrument);
  font-variant-numeric: tabular-nums;
}

/* Ações: uma primária, demais deliberadamente silenciosas --------------- */

#nqDashboard[data-nq-ui="lumen"] .nqd-action,
#nqDashboard[data-nq-ui="lumen"] .nqd-icon-action,
#nqDashboard[data-nq-ui="lumen"] .nqd-close,
#nqDashboard[data-nq-ui="lumen"] .nqd-back {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  border: 1px solid var(--nqd-rule-strong);
  border-radius: var(--nql-radius-control);
  background: transparent;
  color: var(--nql-text-soft);
  font-size: .86rem;
  font-weight: 650;
  line-height: 1.15;
  text-decoration: none;
  transition: border-color var(--nql-duration-state) var(--nql-ease-state), color var(--nql-duration-state) var(--nql-ease-state), background-color var(--nql-duration-state) var(--nql-ease-state), transform var(--nql-duration-fast) var(--nql-ease-state);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-action {
  padding: .72rem 1rem;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-primary-action,
#nqDashboard[data-nq-ui="lumen"] .nqd-action--primary,
#nqDashboard[data-nq-ui="lumen"] [data-nqd-primary="true"] {
  display: inline-flex;
  min-height: 3rem;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .78rem 1.05rem;
  border: 1px solid var(--nql-mastery);
  border-radius: var(--nql-radius-control);
  background: var(--nql-mastery);
  color: #10131a;
  font-size: .94rem;
  font-weight: 750;
  line-height: 1.15;
  text-decoration: none;
  transition: background-color var(--nql-duration-state) var(--nql-ease-state), border-color var(--nql-duration-state) var(--nql-ease-state), transform var(--nql-duration-fast) var(--nql-ease-state);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-text-action,
#nqDashboard[data-nq-ui="lumen"] .nqd-action--quiet {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  gap: .45rem;
  padding: .45rem .1rem;
  border: 0;
  border-bottom: 1px solid var(--nqd-rule-strong);
  border-radius: 0;
  background: transparent;
  color: var(--nql-text-soft);
  font-size: .84rem;
  font-weight: 650;
  text-decoration: none;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-icon-action,
#nqDashboard[data-nq-ui="lumen"] .nqd-close {
  width: 2.75rem;
  min-width: 2.75rem;
  padding: 0;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-close svg {
  width: 1.1rem;
  height: 1.1rem;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-brand-close {
  display: inline-grid;
  width: 2.75rem;
  min-width: 2.75rem;
  min-height: 2.75rem;
  padding: 0;
  place-items: center;
  border: 1px solid var(--nqd-rule);
  border-radius: 50%;
  background: rgba(16, 34, 53, .42);
  color: var(--nql-text-soft);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-brand-close svg {
  width: 1.1rem;
  height: 1.1rem;
}

#nqDashboard[data-nq-ui="lumen"] :where(.nqd-action, .nqd-primary-action, .nqd-action--primary, .nqd-text-action, .nqd-action--quiet, .nqd-icon-action):disabled,
#nqDashboard[data-nq-ui="lumen"] :where(.nqd-action, .nqd-primary-action, .nqd-action--primary, .nqd-text-action, .nqd-action--quiet, .nqd-icon-action)[aria-disabled="true"] {
  cursor: not-allowed;
  opacity: .45;
}

/* Visão geral — status, plano, lacuna e marco na mesma condução ---------- */

#nqDashboard[data-nq-ui="lumen"] .nqd-command-grid,
#nqDashboard[data-nq-ui="lumen"] .nqd-overview-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.48fr) minmax(18rem, .72fr);
  gap: clamp(1rem, 2.25vw, 2rem);
  min-width: 0;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-journey,
#nqDashboard[data-nq-ui="lumen"] .nqd-journey-status {
  position: relative;
  min-width: 0;
  min-height: 19.5rem;
  padding: clamp(1.15rem, 2.4vw, 2rem);
  overflow: hidden;
  border: 1px solid var(--nqd-gold-rule);
  border-radius: var(--nql-radius-panel);
  background: var(--nqd-sheet);
  align-self: start;
}

#nqDashboard[data-nq-ui="lumen"] :where(.nqd-journey, .nqd-journey-status)::before {
  position: absolute;
  top: 0;
  right: clamp(1rem, 4vw, 3.5rem);
  left: clamp(1rem, 4vw, 3.5rem);
  height: 2px;
  background: var(--nql-mastery);
  content: "";
}

#nqDashboard[data-nq-ui="lumen"] .nqd-journey-layout {
  display: grid;
  grid-template-columns: clamp(7.25rem, 15vw, 11.75rem) minmax(0, 1fr);
  min-height: 100%;
  align-items: center;
  gap: clamp(1rem, 2.6vw, 2rem);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-character-frame,
#nqDashboard[data-nq-ui="lumen"] .nqd-journey-portrait {
  position: relative;
  width: min(100%, 10rem);
  height: 12.5rem;
  min-height: 0;
  align-self: center;
  overflow: hidden;
  border-right: 1px solid var(--nqd-gold-rule);
}

#nqDashboard[data-nq-ui="lumen"] :where(.nqd-character-frame, .nqd-journey-portrait) img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 24%;
  filter: saturate(.9) contrast(1.04);
}

#nqDashboard[data-nq-ui="lumen"] :where(.nqd-character-frame, .nqd-journey-portrait)::after {
  position: absolute;
  inset: 55% 0 0;
  background: linear-gradient(to bottom, transparent, var(--nqd-sheet));
  content: "";
  pointer-events: none;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-journey-body {
  display: flex;
  min-width: 0;
  height: 100%;
  flex-direction: column;
  justify-content: center;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-journey-title {
  margin-top: .3rem;
  color: var(--nql-text);
  font-family: var(--nql-font-display);
  font-size: clamp(1.8rem, 3.6vw, 3.15rem);
  font-weight: 550;
  letter-spacing: -.04em;
  line-height: .98;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-journey-subtitle {
  margin-top: .45rem;
  color: var(--nql-text-soft);
  font-size: .92rem;
  line-height: 1.4;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-level-line,
#nqDashboard[data-nq-ui="lumen"] .nqd-journey-progress-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 1.25rem;
  color: var(--nql-text-soft);
  font-size: .78rem;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-level-mark {
  color: var(--nql-mastery);
  font-family: var(--nql-font-display);
  font-size: 1.35rem;
  font-weight: 650;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-meter {
  position: relative;
  width: 100%;
  height: .3rem;
  margin-top: .45rem;
  overflow: hidden;
  border-radius: 99rem;
  background: rgba(var(--nql-parchment-rgb), .11);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-meter > :where(span, i),
#nqDashboard[data-nq-ui="lumen"] .nqd-meter-fill {
  display: block;
  width: var(--progress, 0%);
  max-width: 100%;
  height: 100%;
  border-radius: inherit;
  background: var(--nql-lumen);
  transition: width var(--nql-duration-reward) var(--nql-ease-enter);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-meter--gold > :where(span, i),
#nqDashboard[data-nq-ui="lumen"] .nqd-meter--gold .nqd-meter-fill {
  background: var(--nql-mastery);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-journey-actions {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-top: 1.25rem;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-journey-actions .nqd-primary-action,
#nqDashboard[data-nq-ui="lumen"] .nqd-journey-actions .nqd-action--primary {
  min-width: min(100%, 16rem);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-overview-details {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(17rem, .75fr);
  gap: clamp(1rem, 2.4vw, 2rem);
  min-width: 0;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-clinical-brief,
#nqDashboard[data-nq-ui="lumen"] .nqd-gap-brief,
#nqDashboard[data-nq-ui="lumen"] .nqd-milestone {
  min-width: 0;
  padding: 1.15rem 0;
  border-block: 1px solid var(--nqd-rule);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-clinical-brief {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-brief-block {
  min-width: 0;
  padding-left: .9rem;
  border-left: 2px solid var(--nqd-rule-strong);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-brief-block[data-tone="strength"] {
  border-left-color: var(--nql-success);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-brief-block[data-tone="gap"] {
  border-left-color: var(--nqd-bronze);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-brief-block h3,
#nqDashboard[data-nq-ui="lumen"] .nqd-milestone h3 {
  margin-top: .3rem;
  color: var(--nql-text);
  font-family: var(--nql-font-display);
  font-size: 1.12rem;
  font-weight: 600;
  line-height: 1.12;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-brief-block p,
#nqDashboard[data-nq-ui="lumen"] .nqd-milestone p {
  margin-top: .35rem;
  color: var(--nql-text-muted);
  font-size: .78rem;
  line-height: 1.45;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-milestone-line {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: .7rem;
  margin-top: .9rem;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-milestone-line::before,
#nqDashboard[data-nq-ui="lumen"] .nqd-milestone-line::after {
  color: var(--nql-mastery);
  content: "◇";
  font-size: .8rem;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-attention {
  position: relative;
  min-width: 0;
  padding: .9rem 1rem .9rem 1.15rem;
  border-block: 1px solid rgba(185, 137, 85, .34);
  background: rgba(185, 137, 85, .055);
  color: var(--nql-text-soft);
  font-size: .82rem;
  line-height: 1.5;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-attention::before {
  position: absolute;
  top: .8rem;
  bottom: .8rem;
  left: 0;
  width: 2px;
  background: var(--nqd-bronze);
  content: "";
}

#nqDashboard[data-nq-ui="lumen"] .nqd-attention strong {
  color: var(--nql-text);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-attention p + p,
#nqDashboard[data-nq-ui="lumen"] .nqd-attention .nqd-action {
  margin-top: .55rem;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-strength {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
  margin-top: .75rem;
  color: var(--nql-text-soft);
  font-size: .78rem;
  line-height: 1.45;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-strength span {
  color: var(--nql-success);
  font-family: var(--nql-font-instrument);
  letter-spacing: .08em;
  text-transform: uppercase;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-activity {
  margin-top: 1rem;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-activity > h3 {
  margin-bottom: .55rem;
  color: var(--nql-text-soft);
  font-family: var(--nql-font-instrument);
  font-size: .68rem;
  font-weight: 500;
  letter-spacing: .09em;
  text-transform: uppercase;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-activity-strip,
#nqDashboard[data-nq-ui="lumen"] .nqd-summary-strip {
  display: grid;
  grid-template-columns: repeat(var(--columns, 3), minmax(0, 1fr));
  border-block: 1px solid var(--nqd-rule);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-metric {
  min-width: 0;
  padding: .95rem 1rem;
  border-right: 1px solid var(--nqd-rule);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-metric:last-child {
  border-right: 0;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-metric-value {
  display: block;
  color: var(--nql-text);
  font-family: var(--nql-font-display);
  font-size: clamp(1.25rem, 2.2vw, 1.75rem);
  font-variant-numeric: tabular-nums;
  font-weight: 650;
  line-height: 1;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-metric-label {
  display: block;
  margin-top: .35rem;
  color: var(--nql-text-muted);
  font-family: var(--nql-font-instrument);
  font-size: .62rem;
  letter-spacing: .08em;
  line-height: 1.35;
  text-transform: uppercase;
}

/* Ledgers e estados compartilhados -------------------------------------- */

#nqDashboard[data-nq-ui="lumen"] .nqd-ledger,
#nqDashboard[data-nq-ui="lumen"] .nqd-list {
  min-width: 0;
  border-top: 1px solid var(--nqd-rule-strong);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-ledger-row,
#nqDashboard[data-nq-ui="lumen"] .nqd-list-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  min-width: 0;
  align-items: center;
  gap: 1rem;
  min-height: 4.25rem;
  padding: .8rem .2rem;
  border-bottom: 1px solid var(--nqd-rule);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-ledger-main {
  min-width: 0;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-ledger-title {
  color: var(--nql-text);
  font-family: var(--nql-font-display);
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.15;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-ledger-copy {
  margin-top: .22rem;
  color: var(--nql-text-muted);
  font-size: .75rem;
  line-height: 1.4;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-ledger-value {
  color: var(--nql-text-soft);
  font-family: var(--nql-font-instrument);
  font-size: .72rem;
  font-variant-numeric: tabular-nums;
  text-align: right;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-state,
#nqDashboard[data-nq-ui="lumen"] .nqd-tag,
#nqDashboard[data-nq-ui="lumen"] .nqd-chip {
  display: inline-flex;
  min-height: 1.65rem;
  align-items: center;
  gap: .35rem;
  padding: .28rem .5rem;
  border: 1px solid var(--nqd-rule-strong);
  border-radius: 99rem;
  background: transparent;
  color: var(--nql-text-muted);
  font-family: var(--nql-font-instrument);
  font-size: .6rem;
  letter-spacing: .06em;
  line-height: 1;
  text-transform: uppercase;
}

#nqDashboard[data-nq-ui="lumen"] :where(.nqd-state, .nqd-tag, .nqd-chip)[data-state="active"],
#nqDashboard[data-nq-ui="lumen"] :where(.nqd-state, .nqd-tag, .nqd-chip).is-active {
  border-color: rgba(var(--nql-lumen-rgb), .5);
  color: var(--nql-lumen);
}

#nqDashboard[data-nq-ui="lumen"] :where(.nqd-state, .nqd-tag, .nqd-chip)[data-state="complete"],
#nqDashboard[data-nq-ui="lumen"] :where(.nqd-state, .nqd-tag, .nqd-chip)[data-state="mastered"] {
  border-color: rgba(var(--nql-success-rgb), .45);
  color: var(--nql-success);
}

#nqDashboard[data-nq-ui="lumen"] :where(.nqd-state, .nqd-tag, .nqd-chip)[data-state="locked"],
#nqDashboard[data-nq-ui="lumen"] :where(.nqd-state, .nqd-tag, .nqd-chip)[data-state="insufficient"] {
  color: var(--nql-text-muted);
  opacity: .78;
}

#nqDashboard[data-nq-ui="lumen"] :where(.nqd-state, .nqd-tag, .nqd-chip)[data-state="attention"],
#nqDashboard[data-nq-ui="lumen"] :where(.nqd-state, .nqd-tag, .nqd-chip)[data-state="gap"] {
  border-color: rgba(185, 137, 85, .55);
  color: #d5a86e;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-empty,
#nqDashboard[data-nq-ui="lumen"] .nqd-error,
#nqDashboard[data-nq-ui="lumen"] .nqd-loading {
  display: grid;
  min-height: 14rem;
  place-content: center;
  justify-items: center;
  gap: .65rem;
  padding: 2rem;
  border-block: 1px solid var(--nqd-rule);
  color: var(--nql-text-muted);
  text-align: center;
}

#nqDashboard[data-nq-ui="lumen"] :where(.nqd-empty, .nqd-error, .nqd-loading) h2,
#nqDashboard[data-nq-ui="lumen"] :where(.nqd-empty, .nqd-error, .nqd-loading) h3 {
  color: var(--nql-text);
  font-family: var(--nql-font-display);
  font-size: 1.4rem;
  font-weight: 600;
}

#nqDashboard[data-nq-ui="lumen"] :where(.nqd-empty, .nqd-error, .nqd-loading) p {
  max-width: 48ch;
  font-size: .86rem;
  line-height: 1.5;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-error {
  border-color: rgba(var(--nql-danger-rgb), .35);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-loading-line {
  width: min(16rem, 70vw);
  height: 2px;
  background: linear-gradient(90deg, var(--nql-lumen) 38%, var(--nqd-rule) 38%);
}

/* Competências ----------------------------------------------------------- */

#nqDashboard[data-nq-ui="lumen"] .nqd-skills-layout {
  display: block;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-skill-list {
  min-width: 0;
  border-block: 1px solid var(--nqd-rule-strong);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-skill-row {
  display: grid;
  grid-template-columns: minmax(13rem, 1.05fr) minmax(12rem, .95fr);
  min-width: 0;
  align-items: center;
  gap: 1rem;
  padding: 1rem .85rem;
  border-bottom: 1px solid var(--nqd-rule);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-skill-name {
  color: var(--nql-text);
  font-family: var(--nql-font-display);
  font-size: 1rem;
  font-weight: 600;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-skill-sample {
  margin-top: .2rem;
  color: var(--nql-text-muted);
  font-family: var(--nql-font-instrument);
  font-size: .72rem;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-skill-measure {
  min-width: 0;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-skill-values {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: .65rem;
  color: var(--nql-text-muted);
  font-size: .68rem;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-skill-values strong {
  color: var(--nql-text);
  font-family: var(--nql-font-instrument);
  font-size: .78rem;
  font-variant-numeric: tabular-nums;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-skill-note {
  grid-column: 1 / -1;
  color: var(--nql-text-soft);
  font-size: .78rem;
  line-height: 1.4;
  text-align: left;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-skill-row[data-state="insufficient"] .nqd-meter-fill,
#nqDashboard[data-nq-ui="lumen"] .nqd-skill-row[data-state="insufficient"] .nqd-meter > span {
  background: var(--nql-text-muted);
}

/* Mapa de domínio -------------------------------------------------------- */

/* Conquistas ------------------------------------------------------------- */

#nqDashboard[data-nq-ui="lumen"] .nqd-achievement-groups {
  display: grid;
  gap: 1.65rem;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-achievement-summary,
#nqDashboard[data-nq-ui="lumen"] .nqd-library-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: 1.25rem;
  border-block: 1px solid var(--nqd-rule-strong);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-achievement-summary {
  grid-template-columns: auto minmax(0, 1fr);
  align-items: baseline;
  gap: .75rem;
  padding: .85rem 0;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-achievement-summary strong {
  color: var(--nql-mastery);
  font-family: var(--nql-font-display);
  font-size: 1.8rem;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-achievement-summary span {
  color: var(--nql-text-soft);
  font-size: .8rem;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-achievement-group > header {
  display: flex;
  align-items: baseline;
  gap: .7rem;
  margin-bottom: .65rem;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-achievement-group > header span {
  color: var(--nql-lumen);
  font-family: var(--nql-font-instrument);
  font-size: .64rem;
  letter-spacing: .1em;
  text-transform: uppercase;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-achievement-group > header h2 {
  color: var(--nql-text);
  font-family: var(--nql-font-display);
  font-size: 1.25rem;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-achievement-group {
  min-width: 0;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-achievement-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--nqd-rule-strong);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-achievement {
  position: relative;
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr);
  min-width: 0;
  min-height: 7.25rem;
  align-items: start;
  gap: .9rem;
  padding: 1rem;
  border-right: 1px solid var(--nqd-rule);
  border-bottom: 1px solid var(--nqd-rule);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-achievement:nth-child(2n) {
  border-right: 0;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-achievement-mark {
  display: grid;
  width: 3rem;
  aspect-ratio: 1;
  place-items: center;
  border: 1px solid var(--nqd-rule-strong);
  border-radius: 50%;
  color: var(--nql-text-muted);
  font-family: var(--nql-font-display);
  font-size: 1.2rem;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-achievement[data-state="unlocked"] .nqd-achievement-mark,
#nqDashboard[data-nq-ui="lumen"] .nqd-achievement.is-unlocked .nqd-achievement-mark {
  border-color: var(--nqd-gold-rule);
  color: var(--nql-mastery);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-achievement[data-state="locked"] {
  color: var(--nql-text-muted);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-achievement-title {
  color: var(--nql-text);
  font-family: var(--nql-font-display);
  font-size: 1.02rem;
  font-weight: 600;
  line-height: 1.15;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-achievement-copy {
  margin-top: .3rem;
  color: var(--nql-text-muted);
  font-size: .74rem;
  line-height: 1.4;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-achievement-progress {
  margin-top: .65rem;
}

/* Biblioteca ------------------------------------------------------------- */

#nqDashboard[data-nq-ui="lumen"] .nqd-toolbar {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: .8rem;
  margin-bottom: 1rem;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-subnav,
#nqDashboard[data-nq-ui="lumen"] .nqd-skill-priority {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  min-width: 0;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.25rem;
  padding: clamp(1rem, 2vw, 1.4rem);
  border: 1px solid rgba(230, 142, 120, .4);
  border-left: 3px solid var(--nqd-coral);
  border-radius: var(--nql-radius-control);
  background: linear-gradient(105deg, rgba(230, 142, 120, .1), rgba(13, 24, 39, .68) 58%);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-skill-priority.is-forming {
  border-color: rgba(120, 217, 227, .3);
  border-left-color: var(--nqd-cyan);
  background: linear-gradient(105deg, rgba(120, 217, 227, .09), rgba(13, 24, 39, .68) 58%);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-skill-priority h2 {
  margin-top: .35rem;
  color: var(--nql-text);
  font-family: var(--nql-font-display);
  font-size: clamp(1.35rem, 2.4vw, 2rem);
  line-height: 1.1;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-skill-priority p {
  max-width: 65ch;
  margin-top: .4rem;
  color: var(--nql-text-soft);
  font-size: .8rem;
  line-height: 1.45;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-skill-list-section > header {
  margin-bottom: .55rem;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-skill-list-section > header h2 {
  color: var(--nql-text);
  font-family: var(--nql-font-display);
  font-size: 1.25rem;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-ranking-controls {
  min-width: 0;
  align-items: center;
  gap: .8rem;
  margin-bottom: 1rem;
  padding-bottom: .75rem;
  border-bottom: 1px solid var(--nqd-rule);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-subnav {
  justify-content: flex-start;
  overflow-x: auto;
  scrollbar-width: none;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-subnav::-webkit-scrollbar {
  display: none;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-subnav button {
  min-width: max-content;
  min-height: 2.75rem;
  padding: .55rem .75rem;
  border: 0;
  border-bottom: 2px solid transparent;
  background: transparent;
  color: var(--nql-text-muted);
  font-size: .78rem;
  font-weight: 650;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-subnav button[aria-selected="true"],
#nqDashboard[data-nq-ui="lumen"] .nqd-subnav button.is-active {
  border-bottom-color: var(--nql-lumen);
  color: var(--nql-text);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-search {
  position: relative;
  display: block;
  width: min(100%, 31rem);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-search > svg {
  position: absolute;
  z-index: 1;
  top: 50%;
  left: .8rem;
  width: 1rem;
  height: 1rem;
  color: var(--nql-text-muted);
  pointer-events: none;
  transform: translateY(-50%);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-search input,
#nqDashboard[data-nq-ui="lumen"] .nqd-filter,
#nqDashboard[data-nq-ui="lumen"] .nqd-select {
  width: 100%;
  min-height: 2.75rem;
  padding: .65rem .8rem;
  border: 1px solid var(--nqd-rule-strong);
  border-radius: var(--nql-radius-control);
  background: #0b1321;
  color: var(--nql-text);
  font-size: .84rem;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-search input {
  padding-left: 2.35rem;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-search input::placeholder {
  color: var(--nql-text-muted);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-library-list {
  border-top: 1px solid var(--nqd-rule-strong);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-library-summary {
  margin-bottom: 1rem;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-library-summary > span {
  min-width: 0;
  padding: .8rem 1rem;
  border-right: 1px solid var(--nqd-rule);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-library-summary > span:last-child {
  border-right: 0;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-library-summary small,
#nqDashboard[data-nq-ui="lumen"] .nqd-library-summary strong {
  display: block;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-library-summary small {
  color: var(--nql-text-muted);
  font-family: var(--nql-font-instrument);
  font-size: .62rem;
  letter-spacing: .07em;
  text-transform: uppercase;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-library-summary strong {
  margin-top: .18rem;
  color: var(--nql-text);
  font-family: var(--nql-font-display);
  font-size: 1.2rem;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-library-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(9rem, .35fr) auto;
  min-width: 0;
  min-height: 5.2rem;
  align-items: center;
  gap: 1rem;
  padding: .9rem .2rem;
  border-bottom: 1px solid var(--nqd-rule);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-library-item[data-state="locked"] {
  opacity: .68;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-library-title {
  color: var(--nql-text);
  font-family: var(--nql-font-display);
  font-size: 1.07rem;
  font-weight: 600;
  line-height: 1.18;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-library-copy {
  margin-top: .25rem;
  color: var(--nql-text-muted);
  font-size: .75rem;
  line-height: 1.42;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-library-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: .5rem;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-favorite {
  min-height: 2.75rem;
  padding: .55rem .7rem;
  border: 0;
  border-bottom: 1px solid var(--nqd-rule-strong);
  background: transparent;
  color: var(--nql-text-muted);
  font-size: .76rem;
  font-weight: 650;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-favorite.is-active {
  border-bottom-color: var(--nql-mastery);
  color: var(--nql-mastery);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-library-detail {
  grid-column: 1 / -1;
  margin: .2rem 0 .55rem;
  padding: .8rem 1rem;
  border-left: 2px solid var(--nqd-rule-strong);
  background: rgba(var(--nql-lumen-rgb), .035);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-library-detail[hidden] {
  display: none;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-library-detail a {
  display: inline-block;
  margin-top: .55rem;
  color: var(--nql-lumen);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-library-meta {
  color: var(--nql-text-muted);
  font-family: var(--nql-font-instrument);
  font-size: .63rem;
  line-height: 1.45;
  text-align: right;
  text-transform: uppercase;
}

/* Ranking --------------------------------------------------------------- */

#nqDashboard[data-nq-ui="lumen"] .nqd-segmented {
  display: inline-grid;
  grid-auto-flow: column;
  padding: .2rem;
  border: 1px solid var(--nqd-rule);
  border-radius: var(--nql-radius-control);
  background: #080f1b;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-segmented button {
  min-height: 2.75rem;
  padding: .5rem .85rem;
  border: 0;
  border-radius: .2rem;
  background: transparent;
  color: var(--nql-text-muted);
  font-size: .78rem;
  font-weight: 650;
  overflow-wrap: normal;
  white-space: nowrap;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-segmented button[aria-pressed="true"],
#nqDashboard[data-nq-ui="lumen"] .nqd-segmented button.is-active {
  background: rgba(var(--nql-lumen-rgb), .1);
  color: var(--nql-text);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-ranking-context {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) repeat(2, minmax(8rem, .4fr));
  border-block: 1px solid var(--nqd-rule-strong);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-ranking-context > * {
  padding: 1rem;
  border-right: 1px solid var(--nqd-rule);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-ranking-context > :last-child {
  border-right: 0;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-table-wrap,
#nqDashboard[data-nq-ui="lumen"] .nqd-ranking-table-wrap {
  width: 100%;
  overflow-x: auto;
  scrollbar-width: thin;
  scrollbar-color: var(--nqd-rule-strong) transparent;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-ranking-state,
#nqDashboard[data-nq-ui="lumen"] .nqd-ranking-updated {
  color: var(--nql-text-muted);
  font-size: .78rem;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-ranking-state {
  padding: 1.25rem 0;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-ranking-updated {
  margin-top: .65rem;
  text-align: right;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-ranking-table,
#nqDashboard[data-nq-ui="lumen"] table.nqd-table {
  width: 100%;
  min-width: 38rem;
  border-collapse: collapse;
  color: var(--nql-text-soft);
  font-size: .82rem;
}

#nqDashboard[data-nq-ui="lumen"] :where(.nqd-ranking-table, table.nqd-table) td:nth-child(2) strong,
#nqDashboard[data-nq-ui="lumen"] :where(.nqd-ranking-table, table.nqd-table) td:nth-child(2) small {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#nqDashboard[data-nq-ui="lumen"] :where(.nqd-ranking-table, table.nqd-table) td:nth-child(2) small {
  margin-top: .15rem;
  color: var(--nql-text-muted);
  font-size: .69rem;
}

#nqDashboard[data-nq-ui="lumen"] :where(.nqd-ranking-table, table.nqd-table) th {
  padding: .7rem .75rem;
  border-bottom: 1px solid var(--nqd-rule-strong);
  color: var(--nql-text-muted);
  font-family: var(--nql-font-instrument);
  font-size: .61rem;
  font-weight: 500;
  letter-spacing: .08em;
  text-align: left;
  text-transform: uppercase;
}

#nqDashboard[data-nq-ui="lumen"] :where(.nqd-ranking-table, table.nqd-table) td {
  padding: .8rem .75rem;
  border-bottom: 1px solid var(--nqd-rule);
  font-variant-numeric: tabular-nums;
}

#nqDashboard[data-nq-ui="lumen"] :where(.nqd-ranking-table, table.nqd-table) td:first-child {
  color: var(--nql-text-muted);
  font-family: var(--nql-font-instrument);
}

#nqDashboard[data-nq-ui="lumen"] :where(.nqd-ranking-table, table.nqd-table) tr.is-user,
#nqDashboard[data-nq-ui="lumen"] :where(.nqd-ranking-table, table.nqd-table) tr[aria-current="true"] {
  background: rgba(var(--nql-lumen-rgb), .075);
  color: var(--nql-text);
}

/* Revisão vital — Atlas Vivo de Ascensão Clínica ------------------------ */

#nqDashboard[data-nq-ui="lumen"] .nqd-shell {
  background:
    radial-gradient(circle at 88% 4%, rgba(166, 120, 212, .12), transparent 30rem),
    radial-gradient(circle at 62% 105%, rgba(114, 214, 224, .09), transparent 38rem),
    linear-gradient(135deg, #070a13 0 58%, #0b1626 100%);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-rail {
  background:
    radial-gradient(circle at 0 36%, rgba(114, 214, 224, .075), transparent 13rem),
    linear-gradient(180deg, #080d18, #090f1c 58%, #0c101c);
  box-shadow: .75rem 0 2.5rem rgba(0, 0, 0, .18);
}

/* Sem cor de identidade por aba. Ouro em "Visão geral" (que não é recompensa)
   e jade em "Mapa" (que não é consistência) treinavam o olho a ler cor como
   enfeite de navegação — e com isso o coral de "requer atenção" no conteúdo
   perdia força. A barra passa a usar o fallback ciano uniforme, e a cor volta
   a significar estado apenas onde existe dado que a sustente. */

#nqDashboard[data-nq-ui="lumen"] .nqd-nav-item::before {
  background: var(--nqd-tab-accent, var(--nqd-cyan));
  box-shadow: 0 0 .9rem color-mix(in srgb, var(--nqd-tab-accent, var(--nqd-cyan)) 55%, transparent);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-nav-item:is(.is-active, [aria-selected="true"]) {
  background: linear-gradient(90deg, color-mix(in srgb, var(--nqd-tab-accent, var(--nqd-cyan)) 14%, transparent), transparent 88%);
  color: #f3ebda;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-nav-item:is(.is-active, [aria-selected="true"]) .nqd-nav-icon {
  color: var(--nqd-tab-accent, var(--nqd-cyan));
  filter: drop-shadow(0 0 .45rem color-mix(in srgb, var(--nqd-tab-accent, var(--nqd-cyan)) 48%, transparent));
}

#nqDashboard[data-nq-ui="lumen"] .nqd-journey {
  height: 100%;
  align-self: stretch;
  min-height: 17.25rem;
  border-color: rgba(241, 207, 122, .4);
  background:
    radial-gradient(circle at 13% 12%, rgba(241, 207, 122, .14), transparent 13rem),
    radial-gradient(circle at 94% 78%, rgba(166, 120, 212, .12), transparent 18rem),
    linear-gradient(135deg, #101827, #0c1321 62%, #111526);
  box-shadow: 0 1.35rem 3.5rem rgba(0, 0, 0, .24), inset 0 1px rgba(255, 255, 255, .025);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-journey-portrait {
  height: 11.25rem;
  overflow: visible;
  border: 1px solid rgba(241, 207, 122, .42);
  border-radius: .8rem .8rem 2.7rem .8rem;
  box-shadow: 0 .8rem 2rem rgba(0, 0, 0, .36), 0 0 1.6rem rgba(241, 207, 122, .1);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-journey-portrait img {
  overflow: hidden;
  border-radius: inherit;
  filter: saturate(1.08) contrast(1.05);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-journey-portrait::after {
  border-radius: inherit;
  background: linear-gradient(to bottom, transparent 60%, rgba(13, 21, 37, .72));
}

#nqDashboard[data-nq-ui="lumen"] .nqd-next-form {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: .6rem;
  margin-top: .7rem;
  color: var(--nql-text-soft);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-next-form img {
  width: 2.35rem;
  height: 2.35rem;
  object-fit: cover;
  object-position: center 22%;
  border: 1px solid rgba(114, 214, 224, .38);
  border-radius: 50%;
  filter: saturate(.82) brightness(.8);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-next-form :where(small, strong) {
  display: block;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-next-form small {
  color: var(--nqd-cyan);
  font-family: var(--nql-font-instrument);
  font-size: .58rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-next-form strong {
  color: var(--nql-text);
  font-size: .76rem;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-journey-empty {
  display: grid;
  min-height: 14.75rem;
  align-content: center;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-journey-empty > p {
  max-width: 47ch;
  margin-top: .65rem;
  color: var(--nql-text-soft);
  font-size: .86rem;
  line-height: 1.5;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-guardian-preview {
  display: flex;
  align-items: flex-end;
  margin-top: 1.1rem;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-guardian-preview img {
  width: clamp(3.65rem, 7vw, 5.3rem);
  aspect-ratio: 1;
  object-fit: cover;
  object-position: center 22%;
  border: 1px solid var(--nqd-gold-rule);
  border-radius: .7rem .7rem 1.5rem .7rem;
  background: #0a111e;
  box-shadow: 0 .55rem 1.15rem rgba(0, 0, 0, .35);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-guardian-preview img + img {
  margin-left: -.75rem;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-next-actions {
  min-width: 0;
  align-self: start;
  padding: clamp(.95rem, 1.8vw, 1.35rem) 0 0;
  border-top: 1px solid var(--nqd-rule-strong);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-next-actions > header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: .8rem;
  padding-inline: .25rem;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-next-actions > header h2 {
  color: var(--nql-text);
  font-family: var(--nql-font-display);
  font-size: clamp(1.55rem, 2.7vw, 2.15rem);
  font-weight: 600;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-next-actions-list {
  display: grid;
  margin-top: .55rem;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-next-action {
  --nqd-action-accent: var(--nqd-cyan);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  min-width: 0;
  align-items: center;
  gap: .8rem;
  padding: .85rem .25rem;
  border-bottom: 1px solid var(--nqd-rule);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-next-action[data-action-kind="gap"] { --nqd-action-accent: var(--nqd-coral); }
#nqDashboard[data-nq-ui="lumen"] .nqd-next-action[data-action-kind="review"] { --nqd-action-accent: var(--nqd-violet); }
#nqDashboard[data-nq-ui="lumen"] .nqd-next-action[data-action-kind="resume"] { --nqd-action-accent: var(--nqd-gold); }

#nqDashboard[data-nq-ui="lumen"] .nqd-next-action.is-primary {
  margin: .35rem 0 .45rem;
  padding: 1rem;
  border: 1px solid color-mix(in srgb, var(--nqd-action-accent) 42%, transparent);
  border-radius: var(--nql-radius-control);
  background:
    linear-gradient(115deg, color-mix(in srgb, var(--nqd-action-accent) 13%, transparent), transparent 58%),
    rgba(13, 24, 39, .84);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-next-action-copy {
  min-width: 0;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-next-action-copy small {
  display: block;
  color: var(--nqd-action-accent);
  font-family: var(--nql-font-instrument);
  font-size: .61rem;
  letter-spacing: .09em;
  text-transform: uppercase;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-next-action-copy strong {
  display: block;
  margin-top: .22rem;
  color: var(--nql-text);
  font-family: var(--nql-font-display);
  font-size: 1rem;
  line-height: 1.2;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-next-action-copy p {
  margin-top: .22rem;
  color: var(--nql-text-muted);
  font-size: .75rem;
  line-height: 1.4;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-next-action .nqd-text-action {
  color: color-mix(in srgb, var(--nqd-action-accent) 76%, #fff);
  white-space: nowrap;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-overview-details {
  margin-top: clamp(1.1rem, 2.2vw, 1.8rem);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-learning-pulse,
#nqDashboard[data-nq-ui="lumen"] .nqd-reward-section {
  position: relative;
  min-width: 0;
  padding: clamp(1rem, 1.8vw, 1.35rem) 0;
  border-block: 1px solid var(--nqd-rule);
  background: transparent;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-learning-pulse .nqd-section-header,
#nqDashboard[data-nq-ui="lumen"] .nqd-reward-section .nqd-section-header {
  margin-bottom: .7rem;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-summary-strip {
  margin-bottom: .8rem;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-pulse-bars {
  display: grid;
  grid-template-columns: repeat(7, minmax(1.5rem, 1fr));
  height: 7.25rem;
  align-items: end;
  gap: clamp(.3rem, .8vw, .65rem);
  padding: .55rem .4rem .3rem;
  border-bottom: 1px solid var(--nqd-rule-strong);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-pulse-day {
  display: grid;
  height: 100%;
  grid-template-rows: minmax(0, 1fr) auto auto;
  align-items: end;
  justify-items: center;
  gap: .18rem;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-pulse-day i {
  width: min(1rem, 65%);
  height: var(--pulse, 4%);
  min-height: 2px;
  border-radius: 99rem 99rem .15rem .15rem;
  background: linear-gradient(to top, var(--nqd-cyan), var(--nqd-jade));
  box-shadow: 0 0 .65rem rgba(120, 217, 227, .2);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-pulse-day small {
  color: var(--nql-text-muted);
  font-family: var(--nql-font-instrument);
  font-size: .56rem;
  text-transform: uppercase;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-pulse-day strong {
  color: var(--nql-text-soft);
  font-family: var(--nql-font-instrument);
  font-size: .62rem;
  font-variant-numeric: tabular-nums;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-attention {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  border-color: rgba(229, 139, 114, .32);
  background: linear-gradient(90deg, rgba(229, 139, 114, .1), transparent);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-attention::before { background: var(--nqd-coral); }
#nqDashboard[data-nq-ui="lumen"] .nqd-attention p { display: flex; flex-wrap: wrap; align-items: baseline; gap: .4rem; }
#nqDashboard[data-nq-ui="lumen"] .nqd-attention p span { color: var(--nqd-coral); font-family: var(--nql-font-instrument); font-size: .62rem; letter-spacing: .08em; text-transform: uppercase; }
#nqDashboard[data-nq-ui="lumen"] .nqd-attention p small { color: var(--nql-text-muted); }

#nqDashboard[data-nq-ui="lumen"] .nqd-strength {
  align-items: baseline;
  padding: .6rem .75rem;
  border-left: 2px solid var(--nqd-jade);
  background: rgba(103, 211, 157, .055);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-strength span { color: var(--nqd-jade); }
#nqDashboard[data-nq-ui="lumen"] .nqd-strength small { color: var(--nql-text-muted); }

#nqDashboard[data-nq-ui="lumen"] .nqd-milestone {
  display: grid;
  grid-template-columns: 6.5rem minmax(0, 1fr);
  align-items: center;
  gap: 1rem;
  padding: 0;
  border: 0;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-reward-portrait {
  position: relative;
  width: 6.5rem;
  aspect-ratio: 1;
  overflow: hidden;
  border: 1px solid rgba(241, 207, 122, .42);
  border-radius: .9rem;
  background: linear-gradient(145deg, rgba(241, 207, 122, .14), rgba(166, 120, 212, .08));
  box-shadow: 0 0 2rem rgba(241, 207, 122, .12);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-reward-portrait img { width: 100%; height: 100%; object-fit: contain; }
#nqDashboard[data-nq-ui="lumen"] .nqd-reward-copy > small { color: var(--nqd-gold); font-family: var(--nql-font-instrument); font-size: .61rem; letter-spacing: .1em; text-transform: uppercase; overflow-wrap: anywhere; }
#nqDashboard[data-nq-ui="lumen"] .nqd-reward-copy { min-width: 0; }
#nqDashboard[data-nq-ui="lumen"] .nqd-reward-copy h3 { font-size: 1.3rem; }
#nqDashboard[data-nq-ui="lumen"] .nqd-reward-copy > span { display: block; margin-top: .4rem; color: var(--nql-text-muted); font-size: .68rem; }

/* Competências e mapa ganham cor apenas como estado. */
#nqDashboard[data-nq-ui="lumen"] .nqd-skill-row {
  --nqd-skill-accent: var(--nql-text-muted);
  grid-template-columns: .75rem minmax(13rem, 1.05fr) minmax(12rem, .95fr);
  border-left: 0;
  background: linear-gradient(90deg, color-mix(in srgb, var(--nqd-skill-accent) 7%, transparent), transparent 64%);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-ranking-controls {
  display: grid;
  grid-template-columns: auto minmax(16rem, 1fr);
  justify-content: stretch;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-subnav {
  display: flex;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-skill-row::before {
  width: .42rem;
  height: .42rem;
  align-self: center;
  border-radius: 50%;
  background: var(--nqd-skill-accent);
  box-shadow: 0 0 .8rem color-mix(in srgb, var(--nqd-skill-accent) 55%, transparent);
  content: "";
}

#nqDashboard[data-nq-ui="lumen"] .nqd-skill-row > :last-child {
  grid-column: 3;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-skill-identity .nqd-state { margin-top: .35rem; color: var(--nqd-skill-accent); }
#nqDashboard[data-nq-ui="lumen"] .nqd-skill-row[data-state="sample"] { --nqd-skill-accent: #7991a7; }
#nqDashboard[data-nq-ui="lumen"] .nqd-skill-row[data-state="attention"] { --nqd-skill-accent: var(--nqd-coral); }
#nqDashboard[data-nq-ui="lumen"] .nqd-skill-row[data-state="consolidating"] { --nqd-skill-accent: var(--nqd-cyan); }
#nqDashboard[data-nq-ui="lumen"] .nqd-skill-row[data-state="consistent"] { --nqd-skill-accent: var(--nqd-jade); }
#nqDashboard[data-nq-ui="lumen"] .nqd-skill-row .nqd-meter > span { background: var(--nqd-skill-accent); }

#nqDashboard[data-nq-ui="lumen"] .nqd-no-sample {
  display: block;
  margin-top: .45rem;
  color: var(--nql-text-muted);
  font-size: .7rem;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-map-group {
  position: relative;
  min-width: 0;
  border: 0;
  border-bottom: 1px solid var(--nqd-rule);
  background: transparent;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-map-route {
  border-top: 1px solid var(--nqd-rule-strong);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-map-toolbar {
  display: grid;
  grid-template-columns: minmax(16rem, 1fr) auto;
  align-items: center;
  gap: .75rem;
  margin-bottom: .55rem;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-map-filter,
#nqDashboard[data-nq-ui="lumen"] .nqd-library-filter,
#nqDashboard[data-nq-ui="lumen"] .nqd-library-sort {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: .55rem;
  color: var(--nql-text-muted);
  font-size: .72rem;
}

#nqDashboard[data-nq-ui="lumen"] :where(.nqd-map-filter, .nqd-library-filter, .nqd-library-sort) select {
  min-height: 2.75rem;
  padding: .55rem .7rem;
  border: 1px solid var(--nqd-rule-strong);
  border-radius: var(--nql-radius-control);
  background: #0b1321;
  color: var(--nql-text);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-map-result {
  min-height: 1.4rem;
  color: var(--nqd-cyan);
  font-family: var(--nql-font-instrument);
  font-size: .63rem;
  letter-spacing: .06em;
  text-transform: uppercase;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-map-summary {
  position: relative;
  display: grid;
  grid-template-columns: 1rem minmax(0, 1fr) auto 1rem;
  min-height: 4.75rem;
  align-items: center;
  gap: .85rem;
  padding: .8rem .9rem;
  list-style: none;
  color: var(--nql-text);
  cursor: pointer;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-map-summary::-webkit-details-marker { display: none; }

#nqDashboard[data-nq-ui="lumen"] .nqd-map-summary::after {
  display: block;
  width: .7rem;
  height: .7rem;
  border-right: 1px solid var(--nqd-jade);
  border-bottom: 1px solid var(--nqd-jade);
  transform: rotate(45deg) translateY(-.15rem);
  transition: transform var(--nql-duration-state) var(--nql-ease-state);
  content: "";
}

#nqDashboard[data-nq-ui="lumen"] details.nqd-map-group[open] > .nqd-map-summary::after {
  transform: rotate(225deg) translate(-.15rem, -.15rem);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-map-summary strong {
  display: block;
  font-family: var(--nql-font-display);
  font-size: 1.1rem;
  line-height: 1.15;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-map-summary small {
  display: block;
  margin-top: .18rem;
  color: var(--nql-text-muted);
  font-size: .7rem;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-map-summary-state {
  color: var(--nqd-cyan);
  font-family: var(--nql-font-instrument);
  font-size: .61rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-map-lumen {
  width: .72rem;
  height: .72rem;
  border: 2px solid #0c1726;
  border-radius: 50%;
  background: var(--nqd-cyan);
  box-shadow: 0 0 0 1px rgba(120, 217, 227, .6), 0 0 .85rem rgba(120, 217, 227, .42);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-map-group-body {
  padding: 0 0 .85rem 2.8rem;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-map-group-action {
  padding: .2rem .9rem .65rem;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-map-nodes {
  position: relative;
  display: grid;
  padding-left: 1.45rem;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-map-nodes::before {
  position: absolute;
  top: 0;
  bottom: 2.65rem;
  left: .42rem;
  width: 1px;
  background: linear-gradient(var(--nqd-cyan), rgba(120, 217, 227, .16));
  box-shadow: 0 0 .7rem rgba(120, 217, 227, .35);
  content: "";
}

#nqDashboard[data-nq-ui="lumen"] .nqd-map-node {
  --nqd-map-accent: var(--nql-text-muted);
  position: relative;
  display: grid;
  grid-template-columns: minmax(12rem, 1fr) auto;
  min-height: 4.6rem;
  align-items: center;
  gap: .9rem;
  padding: .8rem .65rem;
  border: 0;
  border-bottom: 1px solid var(--nqd-rule);
  background: linear-gradient(90deg, color-mix(in srgb, var(--nqd-map-accent) 5%, transparent), transparent 72%);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-map-node[data-state="sample"] { --nqd-map-accent: #7991a7; }
#nqDashboard[data-nq-ui="lumen"] .nqd-map-node[data-state="attention"] { --nqd-map-accent: var(--nqd-coral); }
#nqDashboard[data-nq-ui="lumen"] .nqd-map-node[data-state="consolidating"] { --nqd-map-accent: var(--nqd-cyan); }
#nqDashboard[data-nq-ui="lumen"] .nqd-map-node[data-state="consistent"] { --nqd-map-accent: var(--nqd-jade); }
#nqDashboard[data-nq-ui="lumen"] .nqd-map-node::before { display: none; }

#nqDashboard[data-nq-ui="lumen"] .nqd-map-node-mark {
  position: absolute;
  z-index: 1;
  top: 50%;
  left: -1.47rem;
  width: .86rem;
  height: .86rem;
  border: 2px solid #0c1726;
  border-radius: 50%;
  background: var(--nqd-map-accent);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--nqd-map-accent) 60%, transparent), 0 0 .8rem color-mix(in srgb, var(--nqd-map-accent) 38%, transparent);
  opacity: 1;
  transform: translateY(-50%);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-map-node .nqd-state { color: var(--nqd-map-accent); }
#nqDashboard[data-nq-ui="lumen"] .nqd-map-node h3 { color: var(--nql-text); font-family: var(--nql-font-display); font-size: 1rem; font-weight: 600; line-height: 1.18; }
#nqDashboard[data-nq-ui="lumen"] .nqd-map-node p { grid-column: 1 / -1; margin-top: -.55rem; color: var(--nql-text-muted); font-size: .72rem; line-height: 1.4; }

/* Conquistas: as artes reais são o principal objeto de desejo. */
#nqDashboard[data-nq-ui="lumen"] .nqd-achievement-spotlight {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 17.5rem) minmax(0, 1fr);
  min-height: 0;
  align-items: center;
  gap: clamp(1.5rem, 4vw, 3.5rem);
  padding: clamp(1.25rem, 2.8vw, 2.5rem);
  overflow: hidden;
  border: 1px solid var(--nqd-gold-rule);
  border-radius: var(--nql-radius-panel);
  background:
    radial-gradient(ellipse at 15% 55%, rgba(234, 203, 115, .09), transparent 26rem),
    linear-gradient(120deg, #111a23, #0b121d 70%);
  box-shadow: 0 1.2rem 3rem rgba(0, 0, 0, .25);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-achievement-spotlight::after {
  position: absolute;
  inset: auto 0 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--nqd-gold), transparent);
  content: "";
}

#nqDashboard[data-nq-ui="lumen"] .nqd-achievement-spotlight-art {
  position: relative;
  width: min(100%, 17.5rem);
  aspect-ratio: 1;
  justify-self: center;
  overflow: hidden;
  border: 0;
  border-radius: .3rem;
  background: #09111b;
  box-shadow: 0 1rem 2rem rgba(0, 0, 0, .35);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-achievement-spotlight-art img { width: 100%; height: 100%; object-fit: contain; border-radius: inherit; }
#nqDashboard[data-nq-ui="lumen"] .nqd-achievement-spotlight-copy .nqd-primary-action { margin-top: .85rem; }
#nqDashboard[data-nq-ui="lumen"] .nqd-achievement-spotlight-copy h2 { margin-top: .5rem; color: var(--nql-text); font-family: var(--nql-font-display); font-size: clamp(1.85rem, 3.5vw, 3rem); line-height: 1.08; }
#nqDashboard[data-nq-ui="lumen"] .nqd-achievement-spotlight-copy p { margin-top: .7rem; color: var(--nql-text-soft); }
#nqDashboard[data-nq-ui="lumen"] .nqd-achievement-spotlight-copy p strong { color: var(--nqd-gold); }
#nqDashboard[data-nq-ui="lumen"] .nqd-achievement-spotlight-copy > small { display: block; margin-top: .45rem; color: var(--nql-text-muted); }

#nqDashboard[data-nq-ui="lumen"] .nqd-badge-path-header {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: .5rem 1rem;
  margin-top: 1.75rem;
}
#nqDashboard[data-nq-ui="lumen"] .nqd-badge-path-header h2 { font-family: var(--nql-font-display); font-size: 1.4rem; }
#nqDashboard[data-nq-ui="lumen"] .nqd-badge-path-header > span { color: var(--nql-text-muted); font-size: .85rem; }

#nqDashboard[data-nq-ui="lumen"] .nqd-badge-path {
  position: relative;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1rem;
  margin-block: 1.25rem 2.75rem;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-badge-path::before {
  position: absolute;
  top: 4.5rem;
  right: 8%;
  left: 8%;
  height: 1px;
  background: var(--nqd-gold-rule);
  content: "";
  opacity: .34;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-badge-node {
  position: relative;
  z-index: 1;
  display: grid;
  justify-items: center;
  align-content: start;
  gap: .65rem;
  min-width: 0;
  text-align: center;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-badge-art {
  display: block;
  width: min(100%, 10rem);
  aspect-ratio: 1;
  overflow: hidden;
  border: 0;
  border-radius: .3rem;
  background: #09111b;
  box-shadow: 0 0 0 .4rem #090f1b;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-badge-art img { width: 100%; height: 100%; object-fit: contain; border-radius: inherit; opacity: 1; }
#nqDashboard[data-nq-ui="lumen"] .nqd-badge-node.is-current .nqd-badge-art { box-shadow: 0 0 0 2px var(--nqd-gold), 0 0 0 .5rem #090f1b; }
#nqDashboard[data-nq-ui="lumen"] .nqd-badge-node-copy strong { display: block; color: var(--nql-text); font-family: var(--nql-font-display); font-size: 1rem; line-height: 1.2; }
#nqDashboard[data-nq-ui="lumen"] .nqd-badge-node-copy small { display: block; margin-top: .3rem; color: var(--nql-text-muted); font-size: .76rem; }
#nqDashboard[data-nq-ui="lumen"] .nqd-badge-state { color: var(--nql-text-muted); font-size: .72rem; }
#nqDashboard[data-nq-ui="lumen"] .nqd-badge-node:is(.is-current, .has-memory) .nqd-badge-state { color: var(--nqd-gold); }
#nqDashboard[data-nq-ui="lumen"] .nqd-badge-node.is-unlocked .nqd-badge-state { color: var(--nqd-cyan); }

#nqDashboard[data-nq-ui="lumen"] .nqd-achievement-catalog-header { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: .7rem; }
#nqDashboard[data-nq-ui="lumen"] .nqd-achievement-catalog-header > div:first-child { flex: 1 1 15rem; }
#nqDashboard[data-nq-ui="lumen"] .nqd-achievement-catalog-header h2 { color: var(--nql-text); font-family: var(--nql-font-display); font-size: 1.4rem; }
#nqDashboard[data-nq-ui="lumen"] .nqd-achievement-catalog-header .nqd-achievement-summary { width: auto; flex: 0 0 auto; margin: 0; padding: .25rem 0; border: 0; white-space: nowrap; }

#nqDashboard[data-nq-ui="lumen"] .nqd-achievement-filters {
  display: inline-flex;
  flex-wrap: wrap;
  gap: .2rem;
  margin-bottom: 1rem;
  padding: .2rem;
  border: 1px solid var(--nqd-rule);
  border-radius: 1.75rem;
  background: rgba(7, 10, 19, .72);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-achievement-filter {
  flex: 0 0 auto;
  min-height: 2.75rem;
  padding: .45rem .85rem;
  border: 0;
  border-radius: 99rem;
  background: transparent;
  color: var(--nql-text-muted);
  font-size: .76rem;
  font-weight: 700;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-achievement-filter:is(.is-active, [aria-pressed="true"]) { background: rgba(234, 203, 115, .13); color: var(--nqd-gold); }

#nqDashboard[data-nq-ui="lumen"] .nqd-achievement-grid { container: nqd-achievements / inline-size; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; border: 0; }
#nqDashboard[data-nq-ui="lumen"] .nqd-achievement {
  --nqd-achievement-accent: var(--nqd-cyan);
  grid-template-columns: minmax(6rem, 36%) minmax(0, 1fr);
  align-items: center;
  gap: 0;
  min-height: 12rem;
  padding: 0;
  border: 1px solid var(--nqd-rule);
  border-radius: .75rem;
  background: #0b1420;
}
#nqDashboard[data-nq-ui="lumen"] .nqd-achievement[data-state="unlocked"] { --nqd-achievement-accent: var(--nqd-gold); border-color: var(--nqd-gold-rule); }
#nqDashboard[data-nq-ui="lumen"] .nqd-achievement-mark {
  width: 100%;
  border: 0;
  border-radius: .65rem 0 0 .65rem;
  overflow: hidden;
  color: var(--nqd-achievement-accent);
  background: #09111b;
}
#nqDashboard[data-nq-ui="lumen"] .nqd-achievement-mark img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; }
#nqDashboard[data-nq-ui="lumen"] .nqd-achievement-body { min-width: 0; padding: 1.1rem; }
#nqDashboard[data-nq-ui="lumen"] .nqd-achievement .nqd-state { padding: 0; border: 0; background: none; letter-spacing: .02em; text-transform: none; font-size: .76rem; }
#nqDashboard[data-nq-ui="lumen"] .nqd-achievement-title { margin-top: .3rem; font-size: 1.3rem; line-height: 1.12; }
#nqDashboard[data-nq-ui="lumen"] .nqd-achievement-copy { display: block; margin-top: .7rem; font-size: .85rem; line-height: 1.5; }

/* Texto ampliado: o espaço para leitura decide quando a arte fica acima. */
@container nqd-achievements (max-width: 17rem) {
  #nqDashboard[data-nq-ui="lumen"] .nqd-achievement { grid-template-columns: minmax(0, 1fr); }
  #nqDashboard[data-nq-ui="lumen"] .nqd-achievement-mark { width: min(100%, 10rem); margin-inline: auto; border-radius: .65rem; }
}

#nqDashboard[data-nq-ui="lumen"] .nqd-achievement-detail {
  margin-top: .45rem;
  color: var(--nql-text-soft);
  font-size: .85rem;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-achievement-detail summary {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  color: var(--nqd-achievement-accent);
  cursor: pointer;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-achievement-detail p {
  padding: .25rem 0 .4rem;
  line-height: 1.45;
}

/* Grimório: duas coleções com identidades distintas. */
#nqDashboard[data-nq-ui="lumen"] .nqd-library-overview {
  display: grid;
  grid-template-columns: minmax(13rem, .38fr) minmax(0, 1fr);
  align-items: end;
  gap: clamp(1rem, 2.4vw, 2rem);
  margin-bottom: 1rem;
  padding: 1rem 0 1.2rem;
  border-block: 1px solid var(--nqd-rule-strong);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-library-summary {
  display: flex;
  min-width: 0;
  flex-direction: column;
  margin: 0;
  border: 0;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-library-summary small { color: var(--nqd-violet); }
#nqDashboard[data-nq-ui="lumen"] .nqd-library-summary strong { margin-top: .3rem; color: var(--nql-text); font-size: clamp(1.45rem, 2.5vw, 2.1rem); line-height: 1.05; }
#nqDashboard[data-nq-ui="lumen"] .nqd-library-summary > span { margin-top: .4rem; padding: 0; border: 0; color: var(--nql-text-muted); font-size: .74rem; }

#nqDashboard[data-nq-ui="lumen"] .nqd-library-tabs { display: flex; gap: .35rem; margin: 1.1rem 0 .8rem; overflow-x: auto; border-bottom: 1px solid var(--nqd-rule); }
#nqDashboard[data-nq-ui="lumen"] .nqd-library-tabs::after { width: .8rem; flex: 0 0 .8rem; content: ""; }
#nqDashboard[data-nq-ui="lumen"] .nqd-library-tabs button { display: flex; min-width: max-content; min-height: 2.9rem; align-items: center; gap: .5rem; padding: .55rem .8rem; border: 0; border-bottom: 2px solid transparent; background: transparent; color: var(--nql-text-muted); font-weight: 700; }
#nqDashboard[data-nq-ui="lumen"] .nqd-library-tabs button strong { min-width: 1.45rem; padding: .15rem .35rem; border-radius: 99rem; background: rgba(166, 120, 212, .12); color: var(--nqd-violet); font-family: var(--nql-font-instrument); font-size: .62rem; }
#nqDashboard[data-nq-ui="lumen"] .nqd-library-tabs button[aria-selected="true"] { border-bottom-color: var(--nqd-violet); color: #efe6f6; }

#nqDashboard[data-nq-ui="lumen"] .nqd-library-tools { display: grid; grid-template-columns: minmax(16rem, 1fr) auto auto; gap: .75rem; margin-bottom: .75rem; }
#nqDashboard[data-nq-ui="lumen"] .nqd-library-collection-status { margin-bottom: .55rem; color: var(--nqd-violet); font-family: var(--nql-font-instrument); font-size: .66rem; letter-spacing: .07em; text-transform: uppercase; }

#nqDashboard[data-nq-ui="lumen"] .nqd-library-list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  container: library-list / inline-size;
  padding: .25rem 0 1.35rem;
  border: 0;
}
#nqDashboard[data-nq-ui="lumen"] .nqd-library-item {
  --library-accent: var(--nqd-violet);
  --library-ink: color-mix(in srgb, var(--library-accent) 65%, #fff);
  position: relative;
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas: "identity" "impact" "actions" "reading";
  align-content: start;
  gap: .55rem 1.4rem;
  min-height: 0;
  padding: 1rem;
  border: 0;
  border-bottom: 1px solid var(--nqd-rule);
  border-left: 2px solid var(--library-accent);
  border-radius: 0;
  background: color-mix(in srgb, var(--library-accent) 3%, #0b111c);
  box-shadow: none;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-library-item::after { content: none; }
#nqDashboard[data-nq-ui="lumen"] .nqd-library-item[data-library-kind="scroll"][data-library-rarity="comum"] { --library-accent: #91a0ad; }
#nqDashboard[data-nq-ui="lumen"] .nqd-library-item[data-library-kind="scroll"][data-library-rarity="raro"] { --library-accent: #67a8ed; }
#nqDashboard[data-nq-ui="lumen"] .nqd-library-item[data-library-kind="scroll"][data-library-rarity="épico"] { --library-accent: var(--nqd-violet); }
#nqDashboard[data-nq-ui="lumen"] .nqd-library-item[data-library-kind="scroll"][data-library-rarity="lendário"] { --library-accent: var(--nqd-gold); }
#nqDashboard[data-nq-ui="lumen"] .nqd-library-main { min-width: 0; grid-area: identity; }
#nqDashboard[data-nq-ui="lumen"] .nqd-library-kicker { display: flex; align-items: center; flex-wrap: wrap; gap: .4rem .55rem; margin-bottom: .35rem; color: var(--library-ink); }
#nqDashboard[data-nq-ui="lumen"] .nqd-library-insignia { display: inline-flex; width: 1.2rem; height: 1.2rem; flex: 0 0 auto; }
#nqDashboard[data-nq-ui="lumen"] .nqd-library-insignia svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
#nqDashboard[data-nq-ui="lumen"] .nqd-library-item .nqd-state { padding: 0; border: 0; background: none; color: var(--library-ink); }
#nqDashboard[data-nq-ui="lumen"] .nqd-library-rarity { padding: .2rem .55rem; border: 1px solid color-mix(in srgb, var(--library-accent) 38%, transparent); border-radius: .25rem; background: color-mix(in srgb, var(--library-accent) 9%, transparent); font-size: .7rem; }
#nqDashboard[data-nq-ui="lumen"] .nqd-library-title { font-size: 1.12rem; line-height: 1.25; overflow-wrap: anywhere; }
#nqDashboard[data-nq-ui="lumen"] .nqd-library-authors { margin-top: .25rem; color: var(--nql-text-soft); font-size: .84rem; line-height: 1.5; }
#nqDashboard[data-nq-ui="lumen"] .nqd-library-publication { margin-top: .15rem; color: var(--nql-text-muted); font-size: .8rem; line-height: 1.5; }
#nqDashboard[data-nq-ui="lumen"] .nqd-library-theme { margin-top: .2rem; color: var(--library-ink); font-size: .74rem; line-height: 1.5; }
#nqDashboard[data-nq-ui="lumen"] .nqd-library-impact { grid-area: impact; padding: 0; border-radius: 0; background: none; color: var(--nql-text-soft); font-size: .86rem; line-height: 1.6; overflow-wrap: anywhere; }
#nqDashboard[data-nq-ui="lumen"] .nqd-library-impact > strong { display: block; margin-bottom: .35rem; color: var(--library-ink); font-size: .76rem; letter-spacing: 0; text-transform: none; }
#nqDashboard[data-nq-ui="lumen"] .nqd-library-actions { grid-area: actions; justify-content: flex-start; align-items: center; flex-wrap: wrap; gap: .5rem; margin: 0; padding: 0; }
#nqDashboard[data-nq-ui="lumen"] .nqd-library-detail { grid-area: reading; max-width: 75ch; margin: .35rem 0 0; padding: 1.2rem 0 0; border: 0; border-top: 1px solid color-mix(in srgb, var(--library-accent) 30%, transparent); background: none; color: var(--nql-text-soft); font-size: .94rem; line-height: 1.75; overflow-wrap: anywhere; }
#nqDashboard[data-nq-ui="lumen"] .nqd-library-reading-section + .nqd-library-reading-section { margin-top: 1.25rem; }
#nqDashboard[data-nq-ui="lumen"] .nqd-library-reading-section h4 { margin-bottom: .5rem; color: var(--library-ink); font-family: var(--nql-font-display); font-size: 1rem; line-height: 1.4; }
#nqDashboard[data-nq-ui="lumen"] .nqd-library-reading-section.is-conclusion { padding: .9rem 1rem; border-left: 2px solid var(--library-accent); background: color-mix(in srgb, var(--library-accent) 6%, transparent); }
#nqDashboard[data-nq-ui="lumen"] .nqd-library-reading-section.is-curiosity h4 { color: var(--nqd-gold); }
#nqDashboard[data-nq-ui="lumen"] .nqd-library-detail a { min-height: 2.75rem; padding-block: .6rem; }
#nqDashboard[data-nq-ui="lumen"] .nqd-library-intro { max-width: 42rem; align-self: center; color: var(--nql-text-muted); font-size: .86rem; line-height: 1.6; }

#nqDashboard[data-nq-ui="lumen"] .nqd-library-locked { display: flex; align-items: flex-start; gap: .8rem; margin-block: 1.25rem; padding-block: 1.25rem; border-block: 1px solid var(--nqd-rule); color: var(--nql-text-muted); font-size: .85rem; line-height: 1.6; }
#nqDashboard[data-nq-ui="lumen"] .nqd-library-locked > svg { width: 1.2rem; height: 1.2rem; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.5; }
#nqDashboard[data-nq-ui="lumen"] .nqd-library-locked strong,
#nqDashboard[data-nq-ui="lumen"] .nqd-library-locked span { display: block; }
#nqDashboard[data-nq-ui="lumen"] .nqd-library-locked p + p { margin-top: .75rem; }
#nqDashboard[data-nq-ui="lumen"] .bib-suggest-section { max-width: 48rem; padding: 0 0 1.5rem; border: 0; }
#nqDashboard[data-nq-ui="lumen"] .bib-suggest-toggle { min-height: 2.75rem; font-size: .9rem; }
#nqDashboard[data-nq-ui="lumen"] :where(.bib-input, .bib-textarea) { width: 100%; min-height: 2.75rem; font-size: 1rem; }
#nqDashboard[data-nq-ui="lumen"] :where(.bib-label, .bib-suggest-desc, .bib-suggest-msg) { font-size: .9rem; line-height: 1.6; color: var(--nql-text-soft); }

/* O retorno continua alcançável quando a fonte cresce no cabeçalho móvel. */
@container dashboard-rail (max-width: 19rem) {
  #nqDashboard[data-nq-ui="lumen"] .nqd-profile { display: none; }
  #nqDashboard[data-nq-ui="lumen"] .nqd-rail-header { flex-wrap: wrap; }
}

/* Ranking: cor concentrada no topo, sem transformar toda a tabela em prêmio. */
#nqDashboard[data-nq-ui="lumen"] .nqd-ranking-personal {
  display: grid;
  grid-template-columns: auto auto minmax(0, 1fr) auto;
  align-items: baseline;
  gap: .45rem 1rem;
  margin-bottom: 1rem;
  padding: .85rem 0;
  border-block: 1px solid var(--nqd-gold-rule);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-ranking-personal > strong { color: var(--nqd-gold); font-family: var(--nql-font-display); font-size: 1.85rem; font-variant-numeric: tabular-nums; }
#nqDashboard[data-nq-ui="lumen"] .nqd-ranking-personal > small,
#nqDashboard[data-nq-ui="lumen"] .nqd-ranking-personal > span:last-child { color: var(--nql-text-muted); font-size: .72rem; }

#nqDashboard[data-nq-ui="lumen"] .nqd-ranking-podium {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: end;
  gap: .65rem;
  margin: .25rem 0 1.1rem;
  padding: 0;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-ranking-podium li {
  display: grid;
  min-width: 0;
  min-height: 5.75rem;
  align-content: center;
  justify-items: center;
  gap: .25rem;
  padding: .75rem .5rem;
  border: 1px solid var(--nqd-rule);
  border-top: 2px solid var(--nqd-cyan);
  background: rgba(16, 34, 53, .52);
  text-align: center;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-ranking-podium li[data-rank="1"] { min-height: 7rem; border-top-color: var(--nqd-gold); background: linear-gradient(to bottom, rgba(234, 203, 115, .11), rgba(16, 34, 53, .52)); }
#nqDashboard[data-nq-ui="lumen"] .nqd-ranking-podium li[data-rank="1"] { grid-column: 2; }
#nqDashboard[data-nq-ui="lumen"] .nqd-ranking-podium li[data-rank="2"] { grid-column: 1; grid-row: 1; }
#nqDashboard[data-nq-ui="lumen"] .nqd-ranking-podium li[data-rank="3"] { grid-column: 3; }
#nqDashboard[data-nq-ui="lumen"] .nqd-ranking-podium li[data-rank="3"] { border-top-color: var(--nqd-amber); }
#nqDashboard[data-nq-ui="lumen"] .nqd-ranking-podium span { color: var(--nqd-gold); font-family: var(--nql-font-instrument); font-size: .68rem; }
#nqDashboard[data-nq-ui="lumen"] .nqd-ranking-podium strong { max-width: 100%; overflow: hidden; color: var(--nql-text); font-family: var(--nql-font-display); text-overflow: ellipsis; white-space: nowrap; }
#nqDashboard[data-nq-ui="lumen"] .nqd-ranking-podium small { color: var(--nql-text-muted); font-size: .68rem; white-space: nowrap; }

#nqDashboard[data-nq-ui="lumen"] .nqd-ranking-context { display: block; margin-bottom: .8rem; padding: .75rem .9rem; border-left: 2px solid var(--nqd-cyan); background: rgba(120, 217, 227, .055); color: var(--nql-text-soft); font-size: .76rem; line-height: 1.4; }

#nqDashboard[data-nq-ui="lumen"] .nqd-ranking-skeleton { display: grid; gap: .55rem; padding-block: .6rem; }
#nqDashboard[data-nq-ui="lumen"] .nqd-ranking-skeleton span { display: block; height: 3.1rem; border: 1px solid var(--nqd-rule); background: linear-gradient(90deg, rgba(120, 217, 227, .04), rgba(177, 125, 218, .07), rgba(120, 217, 227, .04)); }

#nqDashboard[data-nq-ui="lumen"] :where(.nqd-ranking-table, table.nqd-table) tbody tr:nth-child(1) { background: rgba(241, 207, 122, .07); }
#nqDashboard[data-nq-ui="lumen"] :where(.nqd-ranking-table, table.nqd-table) tbody tr:nth-child(2) { background: rgba(114, 214, 224, .045); }
#nqDashboard[data-nq-ui="lumen"] :where(.nqd-ranking-table, table.nqd-table) tbody tr:nth-child(3) { background: rgba(223, 147, 77, .04); }
#nqDashboard[data-nq-ui="lumen"] :where(.nqd-ranking-table, table.nqd-table) tbody tr:nth-child(-n+3) td:first-child { color: var(--nqd-gold); font-weight: 700; }

/* Interação apenas onde hover existe ------------------------------------ */

@media (hover: hover) and (pointer: fine) {
  #nqDashboard[data-nq-ui="lumen"] :where(.nqd-nav-item, .nqd-tab):hover {
    background: rgba(var(--nql-lumen-rgb), .055);
    color: var(--nql-text);
  }

  #nqDashboard[data-nq-ui="lumen"] :where(.nqd-action, .nqd-icon-action, .nqd-close, .nqd-back):not(:disabled):hover {
    border-color: var(--nql-lumen);
    color: var(--nql-text);
  }

  #nqDashboard[data-nq-ui="lumen"] :where(.nqd-primary-action, .nqd-action--primary):not(:disabled):hover {
    border-color: #f7dc93;
    background: #f7dc93;
    transform: translateY(-1px);
  }

  #nqDashboard[data-nq-ui="lumen"] :where(.nqd-text-action, .nqd-action--quiet):not(:disabled):hover {
    border-bottom-color: var(--nql-lumen);
    color: var(--nql-text);
  }

  #nqDashboard[data-nq-ui="lumen"] :where(.nqd-map-node, .nqd-library-item, .nqd-ledger-row):has(button:hover, a:hover) {
    background: rgba(var(--nql-lumen-rgb), .035);
  }
}

/* Compactação desktop: 1366 × 768 preserva o essencial na primeira dobra */

@media (min-width: 61.26rem) and (max-height: 49rem) {
  #nqDashboard[data-nq-ui="lumen"] {
    --nqd-pad: clamp(1rem, 2vw, 1.8rem);
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-rail {
    padding-top: .8rem;
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-rail-kicker {
    margin-bottom: .7rem;
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-profile {
    margin-bottom: .8rem;
    padding-block: .55rem;
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-content {
    padding-top: .65rem;
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-content > .nqd-pane > .nqd-section-header {
    margin-bottom: .7rem;
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-content > .nqd-pane > .nqd-section-header .nqd-section-copy {
    margin-top: .2rem;
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-journey,
  #nqDashboard[data-nq-ui="lumen"] .nqd-journey-status {
    min-height: 15.75rem;
    padding-block: .85rem;
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-character-frame,
  #nqDashboard[data-nq-ui="lumen"] .nqd-journey-portrait {
    height: 10.5rem;
    min-height: 0;
  }

}

@media (min-width: 61.26rem) and (max-width: 86rem) {
  #nqDashboard[data-nq-ui="lumen"] {
    --nqd-rail: 12.5rem;
    --nqd-pad: clamp(.95rem, 1.6vw, 1.4rem);
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-command-grid,
  #nqDashboard[data-nq-ui="lumen"] .nqd-overview-grid {
    grid-template-columns: minmax(0, 1.62fr) minmax(19rem, .78fr);
    gap: 1.15rem;
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-journey-layout {
    grid-template-columns: clamp(6.5rem, 12vw, 9rem) minmax(0, 1fr);
  }

}

/* Tablet ---------------------------------------------------------------- */

@media (max-width: 75rem) {
  #nqDashboard[data-nq-ui="lumen"] {
    --nqd-rail: 14.25rem;
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-command-grid,
  #nqDashboard[data-nq-ui="lumen"] .nqd-overview-grid {
    grid-template-columns: minmax(0, 1.3fr) minmax(16.5rem, .7fr);
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-journey-layout {
    grid-template-columns: 8rem minmax(0, 1fr);
  }

}

@media (max-width: 61.25rem) {
  #nqDashboard[data-nq-ui="lumen"] .nqd-rail { container: dashboard-rail / inline-size; }
  #nqDashboard[data-nq-ui="lumen"] .nqd-shell {
    grid-template: auto minmax(0, 1fr) / minmax(0, 1fr);
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-rail {
    position: relative;
    z-index: 6;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
      "brand profile"
      "nav nav";
    gap: .25rem .75rem;
    padding: .5rem .75rem 0;
    overflow: visible;
    border-right: 0;
    border-bottom: 1px solid var(--nqd-rule);
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-rail::after,
  #nqDashboard[data-nq-ui="lumen"] .nqd-rail-kicker {
    display: none;
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-rail-header,
  #nqDashboard[data-nq-ui="lumen"] .nqd-brand-row {
    grid-area: brand;
    min-height: 2.75rem;
    padding: 0;
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-profile {
    grid-area: profile;
    grid-template-columns: 2.4rem minmax(0, 1fr);
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-profile-avatar,
  #nqDashboard[data-nq-ui="lumen"] .nqd-avatar {
    width: 2.4rem;
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-profile-level {
    display: none;
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-profile-name {
    max-width: 10rem;
    font-family: var(--nql-font-body);
    font-size: .78rem;
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-nav {
    grid-area: nav;
    display: flex;
    margin: 0 -.75rem;
    padding-inline: .75rem;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
    scroll-snap-type: x proximity;
    /* Sem barra de rolagem e sem afordância, a aba cortada na borda lia como
       bug de renderização ("...línico") em vez de "role para o lado". A
       máscara desvanece as bordas e sinaliza que há conteúdo fora da vista.
       O lado esmaecido depende de `data-fade`, escrito por
       _sincronizarFadeDasAbas conforme a posição da rolagem: sem isso a aba
       ativa aparecia apagada pela metade ao chegar na ponta, que é o defeito
       que a máscara existia para evitar. */
    --nqd-fade-esq: transparent 0, #000 .75rem;
    --nqd-fade-dir: #000 calc(100% - 1.25rem), transparent 100%;
    mask-image: linear-gradient(90deg, var(--nqd-fade-esq), var(--nqd-fade-dir));
    -webkit-mask-image: linear-gradient(90deg, var(--nqd-fade-esq), var(--nqd-fade-dir));
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-nav[data-fade="direita"],
  #nqDashboard[data-nq-ui="lumen"] .nqd-nav[data-fade="nenhum"] {
    --nqd-fade-esq: #000 0, #000 0;
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-nav[data-fade="esquerda"],
  #nqDashboard[data-nq-ui="lumen"] .nqd-nav[data-fade="nenhum"] {
    --nqd-fade-dir: #000 100%, #000 100%;
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-nav::-webkit-scrollbar {
    display: none;
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-nav-item,
  #nqDashboard[data-nq-ui="lumen"] .nqd-tab {
    grid-template-columns: 1.25rem auto;
    width: auto;
    min-width: max-content;
    height: 2.75rem;
    min-height: 2.75rem;
    flex: 0 0 auto;
    padding: .55rem .65rem;
    scroll-snap-align: start;
  }

  #nqDashboard[data-nq-ui="lumen"] :where(.nqd-nav-item, .nqd-tab)::before {
    top: auto;
    right: .65rem;
    bottom: 0;
    left: .65rem;
    width: auto;
    height: 2px;
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-nav-count,
  #nqDashboard[data-nq-ui="lumen"] .nqd-rail-footer {
    display: none;
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-main {
    height: 100%;
    min-height: 0;
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-command-grid,
  #nqDashboard[data-nq-ui="lumen"] .nqd-overview-grid,
  #nqDashboard[data-nq-ui="lumen"] .nqd-overview-details {
    grid-template-columns: minmax(0, 1fr);
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-skills-layout {
    grid-template-columns: minmax(0, 1fr);
  }

}

/* Mobile — navegação e leitura de uma mão, sem overflow da página ------- */

@media (max-width: 42rem) {
  #nqDashboard[data-nq-ui="lumen"] {
    --nqd-pad: .9rem;
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-rail {
    grid-template-columns: minmax(0, 1fr) auto;
    padding-inline: .7rem;
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-brand {
    font-size: 1.2rem;
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-profile-copy {
    display: none;
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-nav {
    margin-inline: -.7rem;
    padding-inline: .7rem;
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-content {
    padding-top: .8rem;
    padding-bottom: 4rem;
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-content > .nqd-pane > .nqd-section-header {
    margin-bottom: .75rem;
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-journey,
  #nqDashboard[data-nq-ui="lumen"] .nqd-journey-status {
    min-height: 0;
    padding: .95rem;
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-journey-layout {
    grid-template-columns: 4.7rem minmax(0, 1fr);
    align-items: start;
    gap: .85rem;
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-character-frame,
  #nqDashboard[data-nq-ui="lumen"] .nqd-journey-portrait {
    width: 4.7rem;
    height: 7rem;
    min-height: 0;
    max-height: none;
    border-right: 0;
    border-bottom: 1px solid var(--nqd-gold-rule);
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-journey-title {
    font-size: clamp(1.55rem, 8.5vw, 2rem);
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-journey-subtitle {
    font-size: .78rem;
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-level-line,
  #nqDashboard[data-nq-ui="lumen"] .nqd-journey-progress-head {
    margin-top: .65rem;
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-journey-actions {
    display: grid;
    margin-top: .8rem;
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-journey-actions .nqd-primary-action,
  #nqDashboard[data-nq-ui="lumen"] .nqd-journey-actions .nqd-action--primary {
    width: 100%;
    min-width: 0;
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-next-form img {
    width: 2rem;
    height: 2rem;
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-next-action {
    grid-template-columns: minmax(0, 1fr);
    gap: .35rem;
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-next-action .nqd-text-action,
  #nqDashboard[data-nq-ui="lumen"] .nqd-next-action .nqd-primary-action {
    width: 100%;
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-skill-priority {
    grid-template-columns: minmax(0, 1fr);
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-summary-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-metric:nth-child(2n) {
    border-right: 0;
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-metric:nth-child(n + 3) {
    border-top: 1px solid var(--nqd-rule);
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-attention {
    align-items: stretch;
    flex-direction: column;
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-milestone {
    grid-template-columns: 5rem minmax(0, 1fr);
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-reward-portrait {
    width: 5rem;
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-section-header,
  #nqDashboard[data-nq-ui="lumen"] .nqd-section-heading,
  #nqDashboard[data-nq-ui="lumen"] .nqd-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-toolbar {
    display: grid;
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-search {
    width: 100%;
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-skill-row {
    grid-template-columns: .65rem minmax(0, 1fr);
    gap: .6rem .85rem;
    padding-inline: .4rem;
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-skill-row > .nqd-skill-measure {
    grid-column: 2;
    grid-row: 2;
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-skill-note {
    font-size: .7rem;
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-map-toolbar {
    grid-template-columns: minmax(0, 1fr);
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-map-filter {
    grid-template-columns: 4rem minmax(0, 1fr);
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-map-summary {
    grid-template-columns: .8rem minmax(0, 1fr) .8rem;
    min-height: 4.4rem;
    gap: .65rem;
    padding-inline: .35rem;
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-map-summary-state {
    display: none;
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-map-group-body {
    padding-left: 1.25rem;
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-map-group-action {
    padding-inline: .45rem;
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-map-node {
    grid-template-columns: minmax(0, 1fr) auto;
    min-height: 5.2rem;
    gap: .45rem .65rem;
    padding: .75rem .35rem;
  }


  #nqDashboard[data-nq-ui="lumen"] .nqd-achievement-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-achievement-spotlight {
    grid-template-columns: minmax(0, 1fr);
    min-height: 0;
    gap: .85rem;
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-achievement-spotlight-art {
    width: min(100%, 12rem);
    justify-self: center;
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-achievement-spotlight-copy .nqd-primary-action {
    width: 100%;
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-achievement-spotlight-copy h2 {
    font-size: clamp(1.45rem, 7vw, 2rem);
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-badge-path {
    grid-template-columns: repeat(5, 8.5rem);
    margin-inline: -.9rem;
    padding: .5rem .9rem .8rem;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: thin;
    scrollbar-color: var(--nqd-gold-rule) transparent;
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-badge-path::before {
    right: 2rem;
    left: 2rem;
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-badge-node {
    scroll-snap-align: center;
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-badge-path::-webkit-scrollbar {
    height: 4px;
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-achievement,
  #nqDashboard[data-nq-ui="lumen"] .nqd-achievement:nth-child(2n) {
    min-height: 0;
    border-right: 1px solid var(--nqd-rule);
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-library-item {
    grid-template-columns: minmax(0, 1fr);
    gap: .5rem .75rem;
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-library-overview {
    grid-template-columns: minmax(0, 1fr);
    align-items: stretch;
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-library-tools,
  #nqDashboard[data-nq-ui="lumen"] .nqd-library-list {
    grid-template-columns: minmax(0, 1fr);
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-library-sort,
  #nqDashboard[data-nq-ui="lumen"] .nqd-library-filter {
    grid-template-columns: 4rem minmax(0, 1fr);
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-library-actions {
    justify-content: flex-start;
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-library-meta {
    grid-column: 1;
    text-align: left;
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-library-item > :last-child {
    grid-column: 1;
    grid-row: auto;
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-ranking-controls {
    width: 100%;
    grid-template-columns: minmax(0, 1fr);
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-segmented {
    width: 100%;
    grid-auto-flow: row;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-segmented button {
    min-width: 0;
    padding-inline: .45rem;
    font-size: .72rem;
    white-space: normal;
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-ranking-personal {
    grid-template-columns: minmax(0, 1fr);
    gap: .2rem;
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-ranking-personal > small,
  #nqDashboard[data-nq-ui="lumen"] .nqd-ranking-personal > span:last-child { overflow-wrap: normal; }

  #nqDashboard[data-nq-ui="lumen"] .nqd-ranking-podium {
    gap: .3rem;
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-ranking-podium li {
    min-height: 5rem;
    padding-inline: .3rem;
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-ranking-podium li[data-rank="1"] { min-height: 6rem; }

  #nqDashboard[data-nq-ui="lumen"] .nqd-ranking-table,
  #nqDashboard[data-nq-ui="lumen"] table.nqd-table {
    min-width: 0;
    table-layout: fixed;
    font-size: .76rem;
  }

  #nqDashboard[data-nq-ui="lumen"] :where(.nqd-ranking-table, table.nqd-table) :where(th, td) {
    padding-inline: .45rem;
  }

  #nqDashboard[data-nq-ui="lumen"] :where(.nqd-ranking-table, table.nqd-table) :where(th, td):first-child { width: 2.75rem; }
  #nqDashboard[data-nq-ui="lumen"] :where(.nqd-ranking-table, table.nqd-table) :where(th, td):nth-child(3) { width: 4.7rem; text-align: right; }
  #nqDashboard[data-nq-ui="lumen"] :where(.nqd-ranking-table, table.nqd-table) :where(th, td):nth-child(4) { display: none; }
}

@media (max-width: 23.5rem) {
  #nqDashboard[data-nq-ui="lumen"] .nqd-nav-label {
    font-size: .78rem;
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-journey-layout {
    grid-template-columns: 4rem minmax(0, 1fr);
    gap: .65rem;
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-character-frame,
  #nqDashboard[data-nq-ui="lumen"] .nqd-journey-portrait {
    width: 4rem;
    height: 6.4rem;
    min-height: 0;
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-journey-actions {
    grid-template-columns: minmax(0, 1fr);
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-ranking-context {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  #nqDashboard[data-nq-ui="lumen"] .nqd-ranking-context > :nth-child(3) {
    display: none;
  }
}

/* Preferência do usuário: nenhuma transição ou animação necessária ------- */

@media (prefers-reduced-motion: reduce) {
  #nqDashboard[data-nq-ui="lumen"],
  #nqDashboard[data-nq-ui="lumen"] *,
  #nqDashboard[data-nq-ui="lumen"] *::before,
  #nqDashboard[data-nq-ui="lumen"] *::after {
    scroll-behavior: auto !important;
    animation: none !important;
    transition: none !important;
  }
}

@media (forced-colors: active) {
  #nqDashboard[data-nq-ui="lumen"] :where(.nqd-journey, .nqd-achievement-spotlight, .nqd-map-group) {
    border: 1px solid CanvasText;
  }

  #nqDashboard[data-nq-ui="lumen"] :where(.nqd-primary-action, .nqd-action--primary) {
    border: 2px solid ButtonText;
  }
}

/* ── Memória (FSRS na superfície) ────────────────────────────────────────
   O motor já gravava estabilidade, vencimento e lapsos por card; a Central
   lia apenas `due <= hoje`. Aqui a cor segue funcional: ciano marca o dia
   com revisão prevista, o resto é régua neutra — um dia sem vencimento não
   pode parecer um dia com pouco vencimento. */

/* Ações de estudo — a seção deixou de ser só relatório.
 *
 * Antes a memória mostrava números e terminava ali: quem quisesse estudar
 * precisava sair, achar o seletor de eixos e voltar. Estes dois botões são o
 * caminho direto. O primário é a escolha de eixo; o secundário só existe quando
 * há algo vencido, para não virar botão que não faz nada. */
#nqDashboard[data-nq-ui="lumen"] .nqd-study-actions {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(15rem, 100%), 1fr));
  gap: .7rem;
  margin: .25rem 0 1.1rem;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-study-primary,
#nqDashboard[data-nq-ui="lumen"] .nqd-study-secondary {
  display: flex;
  flex-direction: column;
  gap: .2rem;
  padding: .95rem 1.1rem;
  border-radius: var(--nql-radius-control);
  text-align: left;
  cursor: pointer;
  font-family: var(--nql-font-body);
  transition: border-color .18s ease, background .18s ease;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-study-primary strong,
#nqDashboard[data-nq-ui="lumen"] .nqd-study-secondary strong {
  font-size: .98rem;
  font-weight: 600;
  letter-spacing: .01em;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-study-primary small,
#nqDashboard[data-nq-ui="lumen"] .nqd-study-secondary small {
  font-size: .82rem;
  color: var(--nql-text-muted);
  line-height: 1.4;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-study-primary {
  border: 1px solid rgba(var(--nql-lumen-rgb), .38);
  background: rgba(var(--nql-lumen-rgb), .08);
  color: var(--nql-lumen);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-study-secondary {
  border: 1px solid rgba(var(--nql-mastery-rgb), .34);
  background: rgba(var(--nql-mastery-rgb), .07);
  color: var(--nql-mastery);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-study-primary:hover,
#nqDashboard[data-nq-ui="lumen"] .nqd-study-primary:focus-visible {
  border-color: var(--nql-lumen);
  background: rgba(var(--nql-lumen-rgb), .14);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-study-secondary:hover,
#nqDashboard[data-nq-ui="lumen"] .nqd-study-secondary:focus-visible {
  border-color: var(--nql-mastery);
  background: rgba(var(--nql-mastery-rgb), .13);
}

@media (prefers-reduced-motion: reduce) {
  #nqDashboard[data-nq-ui="lumen"] .nqd-study-primary,
  #nqDashboard[data-nq-ui="lumen"] .nqd-study-secondary { transition: none; }
}

#nqDashboard[data-nq-ui="lumen"] .nqd-memory-horizon {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: .35rem;
  align-items: end;
  margin-top: .85rem;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-memory-day {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .3rem;
  min-height: 3.5rem;
  justify-content: flex-end;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-memory-day i {
  display: block;
  width: 100%;
  height: .125rem;
  border-radius: 999px;
  background: var(--nql-line, rgba(255, 255, 255, .14));
}

#nqDashboard[data-nq-ui="lumen"] .nqd-memory-day.has-due i {
  height: var(--h, .25rem);
  background: var(--nqd-cyan);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-memory-day small {
  font-size: .6rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--nql-text-muted);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-memory-day strong {
  font-size: .82rem;
  color: var(--nql-text);
  min-height: 1em;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-memory-note {
  margin: .75rem 0 0;
  font-size: .76rem;
  color: var(--nql-text-muted);
}

/* ── Radar de competências ───────────────────────────────────────────────
   Removido na 14.50 por plotar 0% onde não havia amostra; volta com o
   polígono ligando apenas os eixos medidos. A legenda numerada acompanha a
   lista abaixo, então o rótulo no canvas fica curto e legível. */

#nqDashboard[data-nq-ui="lumen"] .nqd-radar {
  display: flex;
  justify-content: center;
  padding: .5rem 0 .25rem;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-radar canvas {
  display: block;
}

@media (max-width: 30rem) {
  #nqDashboard[data-nq-ui="lumen"] .nqd-radar canvas {
    max-width: 17rem;
  }
}

/* ── Perfil de competências: gráfico + leitura ───────────────────────────
   O radar sozinho ocupava o centro de um retângulo largo com números nos
   cantos que não traduziam nada — "01", "02" sem chave de leitura em lugar
   algum da tela. A legenda ocupa a área ociosa e transforma o número em
   nome, valor, tamanho de amostra e estado. */

#nqDashboard[data-nq-ui="lumen"] .nqd-radar-layout {
  display: grid;
  grid-template-columns: minmax(0, 22rem) minmax(0, 1fr);
  gap: clamp(1rem, 3vw, 2.25rem);
  align-items: center;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-radar-side {
  display: flex;
  flex-direction: column;
  gap: .9rem;
  min-width: 0;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-radar-legend {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: .18rem;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-radar-legend-row {
  display: grid;
  grid-template-columns: 1.85rem minmax(0, 1fr) auto;
  grid-template-areas: 'key name value' 'key sample value';
  align-items: center;
  column-gap: .6rem;
  padding: .34rem .5rem;
  border-radius: .5rem;
  border-left: .1875rem solid var(--nqd-skill-accent, var(--nql-line));
  background: rgba(255, 255, 255, .022);
}

/* Mesma gramática de estado da lista abaixo — o radar não inventa cor nova */
#nqDashboard[data-nq-ui="lumen"] .nqd-radar-legend-row[data-skill-state='attention'] { --nqd-skill-accent: var(--nqd-coral); }
#nqDashboard[data-nq-ui="lumen"] .nqd-radar-legend-row[data-skill-state='consolidating'] { --nqd-skill-accent: var(--nqd-cyan); }
#nqDashboard[data-nq-ui="lumen"] .nqd-radar-legend-row[data-skill-state='consistent'] { --nqd-skill-accent: var(--nqd-jade); }
#nqDashboard[data-nq-ui="lumen"] .nqd-radar-legend-row[data-skill-state='sample'] { --nqd-skill-accent: #7991a7; }

/* Área sem amostra recua pela cor, não por apagar a linha inteira.
 *
 * `opacity: .62` levava junto o texto de 10,5px: composto sobre o fundo, "01"
 * caía a 2,92:1 e "sem amostra" a 3,46:1 — abaixo do mínimo de 4,5:1. Justo o
 * rótulo que EXPLICA o travessão era o menos legível da linha.
 *
 * E não havia opacidade que salvasse os dois: só a partir de .87 o texto passa,
 * e aí o recuo já não se vê. Opacidade era o instrumento errado.
 *
 * O estado já se diz três vezes — acento cinza-ardósia, valor "—" e as palavras
 * "sem amostra". Some a quarta voz, que era a única a custar leitura. */
#nqDashboard[data-nq-ui="lumen"] .nqd-radar-legend-row[data-sem-amostra] {
  background: none;
  border-left-color: rgba(121, 145, 167, .45);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-radar-key {
  grid-area: key;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: .68rem;
  color: var(--nqd-skill-accent, var(--nql-text-muted));
}

#nqDashboard[data-nq-ui="lumen"] .nqd-radar-name {
  grid-area: name;
  font-size: .84rem;
  color: var(--nql-text);
  overflow-wrap: anywhere;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-radar-sample {
  grid-area: sample;
  font-size: .66rem;
  color: var(--nql-text-muted);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-radar-value {
  grid-area: value;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 1.05rem;
  color: var(--nqd-skill-accent, var(--nql-text));
}

#nqDashboard[data-nq-ui="lumen"] .nqd-radar-reading {
  margin: 0;
  padding: .7rem .8rem;
  border-radius: .6rem;
  border: 1px solid var(--nql-line);
  font-size: .8rem;
  line-height: 1.5;
  color: var(--nql-text-muted);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-radar-reading strong { color: var(--nql-text); }
#nqDashboard[data-nq-ui="lumen"] .nqd-radar-reading b { color: var(--nqd-cyan); font-weight: 600; }

@media (max-width: 58rem) {
  #nqDashboard[data-nq-ui="lumen"] .nqd-radar-layout {
    grid-template-columns: 1fr;
  }
}

/* ── "Como você erra": estado vazio que ensina ───────────────────────── */

#nqDashboard[data-nq-ui="lumen"] .nqd-error-teaser-lede {
  margin: 0 0 .7rem;
  font-size: .84rem;
  line-height: 1.55;
  color: var(--nql-text-muted);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-error-teaser-lede strong { color: var(--nql-text); }

#nqDashboard[data-nq-ui="lumen"] .nqd-error-catalog {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-error-catalog li {
  padding: .3rem .6rem;
  border-radius: 999px;
  border: 1px solid var(--nql-line);
  font-size: .72rem;
  color: var(--nql-text-soft);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-error-teaser-note {
  margin: .7rem 0 0;
  font-size: .72rem;
  color: var(--nql-text-muted);
}

/* Contexto do acumulado sob a métrica de sete dias — o número da janela é o
   destaque, o vitalício é referência, não protagonista. */
#nqDashboard[data-nq-ui="lumen"] .nqd-metric-context {
  display: block;
  margin-top: .12rem;
  font-size: .64rem;
  color: var(--nql-text-muted);
}

/* Mapa sem amostra: a busca e o filtro operavam sobre uma tela de zeros. O
   usuário digitava "gasometria", recebia "1 tema em 1 área", clicava e lia
   "Ainda sem respostas" — gastava os passos e não entendia que a lacuna era
   do histórico, não dele. A toolbar só aparece quando há o que filtrar. */
#nqDashboard[data-nq-ui="lumen"] .nqd-map-priming {
  margin: 0 0 1rem;
  padding: .9rem 1rem;
  border-radius: .7rem;
  border: 1px solid var(--nql-line);
  background: rgba(var(--nql-lumen-rgb), .06);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-map-priming strong {
  display: block;
  margin-bottom: .3rem;
  font-size: .95rem;
  color: var(--nql-text);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-map-priming p {
  margin: 0;
  font-size: .82rem;
  line-height: 1.55;
  color: var(--nql-text-muted);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-map-priming b { color: var(--nqd-cyan); font-weight: 600; }

/* O portão real do nível: acertos, não XP. Fica junto da barra porque é a
   linha que explica por que ela para de andar. */
#nqDashboard[data-nq-ui="lumen"] .nqd-level-gate {
  margin: .45rem 0 0;
  font-size: .74rem;
  line-height: 1.5;
  color: var(--nql-text-muted);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-level-gate strong {
  color: var(--nql-text);
  font-weight: 600;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-level-gate.is-ready strong { color: var(--nqd-gold); }

/* Selo já conquistado em jornada anterior, sendo reconquistado agora: a arte
   volta à saturação plena e ganha anel de posse, para o jogador reconhecer o
   que é dele sem que o desafio da jornada atual desapareça. */
#nqDashboard[data-nq-ui="lumen"] .nqd-badge-node.has-memory .nqd-badge-art {
  filter: none;
  opacity: 1;
  box-shadow: 0 0 0 .15rem var(--nqd-gold), 0 0 0 .4rem #090f1b;
}

#nqDashboard[data-nq-ui="lumen"] .nqd-badge-node.has-memory .nqd-badge-node-copy small {
  color: var(--nqd-gold);
}

/* Evolução entre janelas de sete dias. Cor com função: jade quando sobe,
   coral quando desce, neutro quando estável ou sem base — a variação não é
   celebrada nem dramatizada, só declarada com os dois números. */
#nqDashboard[data-nq-ui="lumen"] .nqd-evolution {
  margin: .6rem 0 0;
  padding: .55rem .7rem;
  border-radius: .5rem;
  border-left: .1875rem solid var(--nql-line);
  font-size: .78rem;
  line-height: 1.5;
  color: var(--nql-text-muted);
}

#nqDashboard[data-nq-ui="lumen"] .nqd-evolution strong { color: var(--nql-text); }
#nqDashboard[data-nq-ui="lumen"] .nqd-evolution[data-trend="sobe"] { border-left-color: var(--nqd-jade); }
#nqDashboard[data-nq-ui="lumen"] .nqd-evolution[data-trend="sobe"] strong { color: var(--nqd-jade); }
#nqDashboard[data-nq-ui="lumen"] .nqd-evolution[data-trend="desce"] { border-left-color: var(--nqd-coral); }
#nqDashboard[data-nq-ui="lumen"] .nqd-evolution.is-forming { font-size: .74rem; }

/* Mantém a leitura quando a fonte ocupa mais espaço que a composição lateral. */
#nqDashboard[data-nq-ui="lumen"] .nqd-journey { container: journey-card / inline-size; }
@container journey-card (max-width: 19rem) {
  #nqDashboard[data-nq-ui="lumen"] .nqd-journey-layout { grid-template-columns: minmax(0, 1fr); }
  #nqDashboard[data-nq-ui="lumen"] .nqd-next-form { flex-wrap: wrap; }
}
#nqDashboard[data-nq-ui="lumen"] .nqd-study-actions > button { min-width: 0; overflow-wrap: anywhere; }
#nqDashboard[data-nq-ui="lumen"] .nqd-pulse-bars { overflow-x: auto; scrollbar-width: thin; }

/* Uma linha por estudo; dentro dela, contexto e ações para decidir a leitura. */
@container library-list (min-width: 48rem) {
  #nqDashboard[data-nq-ui="lumen"] .nqd-library-item {
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) auto;
    grid-template-areas: "identity impact actions" "reading reading reading";
    align-items: center;
  }
  #nqDashboard[data-nq-ui="lumen"] .nqd-library-actions { flex-direction: column; align-items: stretch; }
}
#nqDashboard[data-nq-ui="lumen"] .nqd-library-item > .nqd-library-detail { grid-area: reading; }
#nqDashboard[data-nq-ui="lumen"] .nqd-library-item.is-expanded { background: color-mix(in srgb, var(--library-accent) 6%, #0b111c); }
#nqDashboard[data-nq-ui="lumen"] .nqd-library-overview { display: flex; flex-wrap: wrap; align-items: baseline; gap: .5rem 1.5rem; padding: .4rem 0 .7rem; margin-bottom: .4rem; border-top: 0; }
#nqDashboard[data-nq-ui="lumen"] .nqd-library-summary { display: flex; flex-direction: row; flex-wrap: wrap; align-items: baseline; gap: .35rem .85rem; margin: 0; }
#nqDashboard[data-nq-ui="lumen"] .nqd-library-summary strong { font-size: 1rem; line-height: 1.4; }
#nqDashboard[data-nq-ui="lumen"] .nqd-library-summary small { font-size: .72rem; }
#nqDashboard[data-nq-ui="lumen"] .nqd-library-intro { font-size: .85rem; margin: 0; }
#nqDashboard[data-nq-ui="lumen"] #nqdPane-library > .nqd-section-header { margin-bottom: .65rem; }

#nqDashboard[data-nq-ui="lumen"] .nqd-library-summary :where(small, strong, span) { margin: 0; }

#nqDashboard[data-nq-ui="lumen"] .nqd-library-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
#nqDashboard[data-nq-ui="lumen"] .nqd-library-actions > :where(a, button) { min-width: 0; justify-content: center; text-align: center; overflow-wrap: anywhere; }
@container library-list (max-width: 12rem) {
  #nqDashboard[data-nq-ui="lumen"] .nqd-library-actions { grid-template-columns: minmax(0, 1fr); }
}

/* Conquista ainda não conquistada: arte em cinza, como no popup de
   conquistas e nos selos. A cor fica reservada ao que o jogador já ganhou;
   o texto não é apagado, porque o requisito precisa ser lido. */
#nqDashboard[data-nq-ui="lumen"] .nqd-achievement.is-locked .nqd-achievement-mark img {
  filter: grayscale(1) brightness(.6);
}
