/* Persistent Nexus shell: left navigation and top member toolbar. */
.app-shell { min-height:100vh; display:grid; grid-template-columns:260px minmax(0,1fr); }
.sidebar {
  position:fixed; inset:0 auto 0 0; z-index:1100; width:260px; display:flex; flex-direction:column;
  padding:22px 16px; background:rgba(12,12,17,.96); border-right:1px solid rgba(255,255,255,.09);
  box-shadow:20px 0 60px rgba(0,0,0,.22); backdrop-filter:blur(20px);
}
.sidebar-brand { display:flex; align-items:center; gap:12px; padding:8px 10px 24px; }
.sidebar-mark { display:grid; place-items:center; width:39px; height:39px; border-radius:13px; background:linear-gradient(135deg,rgba(233,54,88,.24),rgba(56,102,250,.28)); color:#fff; font-size:20px; }
.sidebar-brand strong,.sidebar-brand span { display:block; }
.sidebar-brand-copy { display:grid; gap:2px; }
.sidebar-brand-name { display:flex; align-items:center; gap:7px; }
.sidebar-brand strong { font-size:18px; }
.sidebar-brand-copy > span { margin-top:2px; color:#858594; font-size:12px; }
.sidebar-nav { display:grid; gap:6px; }
.nav-heading { margin:20px 10px 7px; color:#696977; font-size:10px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.nav-item { width:100%; display:grid; grid-template-columns:26px minmax(0,1fr) auto; align-items:center; gap:8px; padding:12px 11px; border:1px solid transparent; border-radius:12px; color:#b8b8c4; background:transparent; text-align:left; font-weight:700; }
.nav-item:hover:not(:disabled) { color:#fff; background:rgba(255,255,255,.045); }
.nav-item.active { color:#fff; border-color:rgba(168,71,232,.28); background:linear-gradient(90deg,rgba(233,54,88,.09),rgba(56,102,250,.09)); }
.nav-item small { color:#777785; font-size:10px; text-transform:uppercase; }
.nav-item.disabled { opacity:.52; }
.nav-icon { text-align:center; color:#b88de0; }
.sidebar-footer { margin-top:auto; padding:18px 10px 4px; border-top:1px solid rgba(255,255,255,.07); }
.sidebar-footer span,.sidebar-footer small { display:block; }
.sidebar-footer span { overflow:hidden; text-overflow:ellipsis; font-weight:700; }
.sidebar-footer small { margin-top:4px; color:#777785; }
.app-column { grid-column:2; min-width:0; }
.app-toolbar {
  position:sticky; top:0; z-index:900; min-height:78px; display:grid; grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center; gap:16px; padding:14px 28px; border-bottom:1px solid rgba(255,255,255,.08);
  background:rgba(9,9,12,.82); backdrop-filter:blur(20px);
}
.toolbar-eyebrow { color:#777785; font-size:10px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.toolbar-title { margin:3px 0 0; font-size:21px; letter-spacing:-.02em; }
.toolbar-actions { display:flex; gap:9px; }
.toolbar-button,.menu-button { padding:10px 14px; border:1px solid rgba(255,255,255,.12); border-radius:11px; color:#d1d1da; background:rgba(255,255,255,.035); font-weight:700; transition: color .16s ease, border-color .16s ease, background .16s ease, box-shadow .16s ease, transform .16s ease; }
.toolbar-button.logout:hover { border-color:rgba(239,60,92,.55); color:#ffacbb; background:rgba(239,60,92,.08); box-shadow:0 0 9px rgba(239,60,92,.22),0 0 24px rgba(239,60,92,.14); transform:translateY(-1px); }
.menu-button { display:none; width:42px; padding:10px; }
.app-content { width:100%; padding:30px 30px 72px; outline:none; }
.sidebar-backdrop { display:none; position:fixed; inset:0; z-index:1000; border:0; background:rgba(0,0,0,.58); }
@media(max-width:850px){
  .app-shell{display:block}.app-column{grid-column:auto}.sidebar{transform:translateX(-105%);transition:transform .2s ease}.sidebar.open{transform:translateX(0)}
  .sidebar-backdrop.visible{display:block}.menu-button{display:inline-grid;place-items:center}.app-toolbar{padding:12px 14px}.app-content{padding:22px 14px 60px}
  .toolbar-title{font-size:18px}.toolbar-actions{gap:6px}.toolbar-button{padding:9px 11px;font-size:13px}
}

/* Free-access members can see member tools but they are clearly locked. */
.nav-item.locked { border-color:rgba(255,183,77,.12); }
.nav-item.locked .nav-access-label { color:#e8b86a; }

/* Requested navigation states: profile progression and active toolbar tools. */
.profile-nav-item .nav-copy {
  min-width: 0;
  display: grid;
  gap: 2px;
}
.profile-nav-item .nav-copy > span {
  white-space: nowrap;
}
.profile-nav-item .nav-copy small {
  display: block;
  white-space: nowrap;
}
.profile-nav-item.profile-complete:not(.profile-identified) {
  border-color: rgba(185, 90, 239, .34);
  background: linear-gradient(90deg, rgba(185, 61, 211, .11), rgba(90, 80, 224, .08));
  box-shadow: inset 0 0 20px rgba(172, 75, 230, .07), 0 0 18px rgba(172, 75, 230, .09);
}
.profile-nav-item.profile-identified {
  border-color: rgba(210, 105, 255, .48);
  background: linear-gradient(90deg, rgba(233, 54, 88, .12), rgba(168, 71, 232, .15), rgba(56, 102, 250, .12));
  animation: identifiedProfileNavGlow 2.6s ease-in-out infinite alternate;
}
.toolbar-button.account-active {
  border-color: rgba(245, 206, 78, .54);
  color: #ffe48b;
  background: rgba(245, 206, 78, .09);
  box-shadow: 0 0 20px rgba(245, 206, 78, .16);
}
.toolbar-button.members-active {
  border-color: rgba(76, 214, 155, .5);
  color: #9ae7c4;
  background: rgba(76, 214, 155, .09);
  box-shadow: 0 0 20px rgba(76, 214, 155, .15);
}
@keyframes identifiedProfileNavGlow {
  from { box-shadow: inset 0 0 18px rgba(200, 74, 245, .09), 0 0 12px rgba(190, 78, 242, .12); }
  to { box-shadow: inset 0 0 27px rgba(104, 90, 255, .14), 0 0 26px rgba(190, 78, 242, .27); }
}
@media (prefers-reduced-motion: reduce) {
  .profile-nav-item.profile-identified { animation: none; }
}

/* Seven-stage Passion Path navigation states. */
.journey-nav-item .nav-icon {
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border: 1px solid rgba(184,141,224,.34);
  border-radius: 50%;
  font-size: 11px;
  font-weight: 800;
}
.journey-nav-item.journey-complete .nav-icon {
  color: #9ae7c4;
  border-color: rgba(76,214,155,.46);
  background: rgba(76,214,155,.08);
}
.journey-nav-item.journey-complete .nav-access-label { color: #77c9a5; }
.journey-nav-item.locked:not(:disabled) { border-color: rgba(255,183,77,.12); }
.journey-nav-item:disabled { opacity: .48; }

/* Passion Path dropdown and attention states. */
.sidebar-nav {
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  padding-right: 2px;
}
.journey-nav-group { display: grid; gap: 4px; }
.passion-path-toggle {
  margin-top: 12px;
  grid-template-columns: 26px minmax(0,1fr) auto;
  transition: opacity .2s ease, color .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease;
}
.passion-path-toggle .nav-icon { color: #d7b2f4; }
.journey-toggle-chevron { color: #8f8e9c; transition: transform .2s ease; }
.journey-nav-group.menu-open .journey-toggle-chevron { transform: rotate(180deg); }
.journey-nav-menu {
  display: none;
  width: 100%;
  gap: 6px;
  margin: 0;
  padding: 0;
}
.journey-nav-group.menu-open .journey-nav-menu {
  display: grid;
  animation: journeyMenuReveal .2s ease both;
}
.journey-nav-menu .journey-nav-item {
  width: 100%;
  margin: 0;
  padding-left: 11px;
}
.journey-nav-group.menu-open .passion-path-toggle {
  opacity: .34;
  color: #868493;
  border-color: transparent;
  background: transparent;
  box-shadow: none;
  animation: none;
}
.journey-nav-group.journey-incomplete:not(.menu-open) .passion-path-toggle {
  border-color: rgba(185,90,239,.55);
  color: #fff;
  background: linear-gradient(90deg,rgba(233,54,88,.12),rgba(56,102,250,.13));
  animation: passionPathAttention 1.6s ease-in-out infinite alternate;
}
.journey-nav-group.menu-open .journey-nav-item.journey-next-attention {
  border-color: rgba(185,90,239,.62);
  color: #fff;
  background: linear-gradient(90deg,rgba(233,54,88,.14),rgba(56,102,250,.15));
  animation: nextJourneyStageAttention 1.35s ease-in-out infinite alternate;
}
@keyframes journeyMenuReveal {
  from { opacity: 0; transform: translateY(-5px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes passionPathAttention {
  from { box-shadow: inset 0 0 14px rgba(185,90,239,.08), 0 0 10px rgba(185,90,239,.12); }
  to { box-shadow: inset 0 0 25px rgba(88,102,250,.16), 0 0 28px rgba(185,90,239,.34); }
}
@keyframes nextJourneyStageAttention {
  from { box-shadow: inset 0 0 14px rgba(185,90,239,.09), 0 0 10px rgba(185,90,239,.12); transform: translateX(0); }
  to { box-shadow: inset 0 0 25px rgba(88,102,250,.17), 0 0 26px rgba(185,90,239,.31); transform: translateX(2px); }
}

/* Top toolbar hover colors match Logout with distinct Nexus colors. */
.toolbar-actions #membersButton:hover:not(:disabled),
.toolbar-actions #membersButton:focus-visible,
#membersButton.members-hover,
#membersButton.members-active {
  border-color: rgba(76,214,155,.68);
  color: #aef2d2;
  background: rgba(76,214,155,.12);
  box-shadow: 0 0 9px rgba(76,214,155,.28), 0 0 26px rgba(76,214,155,.18), inset 0 0 16px rgba(76,214,155,.05);
  transform: translateY(-1px);
}
.toolbar-actions #profileButton:hover:not(:disabled),
.toolbar-actions #profileButton:focus-visible,
#profileButton.account-hover,
#profileButton.account-active {
  border-color: rgba(245,206,78,.72);
  color: #ffeb9c;
  background: rgba(245,206,78,.12);
  box-shadow: 0 0 9px rgba(245,206,78,.28), 0 0 26px rgba(245,206,78,.18), inset 0 0 16px rgba(245,206,78,.05);
  transform: translateY(-1px);
}
@media (prefers-reduced-motion: reduce) {
  .journey-nav-group.journey-incomplete:not(.menu-open) .passion-path-toggle,
  .journey-nav-group.menu-open .journey-nav-item.journey-next-attention { animation: none; }
}

/* 0011: The next Passion Path destination uses one consistent edge-orbit glow.
   The selection itself remains still while the highlight travels around it. */
@property --journey-edge-angle {
  syntax: "<angle>";
  inherits: false;
  initial-value: 0deg;
}
.journey-nav-group.journey-incomplete:not(.menu-open) .passion-path-toggle,
.journey-nav-group.menu-open .journey-nav-item.journey-next-attention {
  position: relative;
  isolation: isolate;
  overflow: visible;
  border-color: rgba(185,90,239,.58);
  color: #fff;
  background: linear-gradient(90deg,rgba(233,54,88,.12),rgba(56,102,250,.13));
  box-shadow: inset 0 0 20px rgba(139,76,238,.1), 0 0 19px rgba(185,90,239,.2);
  animation: journeyAttentionGlow 1.55s ease-in-out infinite alternate;
  transform: none;
}
.journey-nav-group.journey-incomplete:not(.menu-open) .passion-path-toggle::before,
.journey-nav-group.menu-open .journey-nav-item.journey-next-attention::before {
  content: "";
  position: absolute;
  inset: -2px;
  z-index: 2;
  padding: 2px;
  border-radius: 14px;
  pointer-events: none;
  background: conic-gradient(
    from var(--journey-edge-angle),
    transparent 0deg 220deg,
    rgba(88,102,250,.3) 245deg,
    rgba(185,90,239,.95) 275deg,
    rgba(255,205,244,1) 292deg,
    rgba(233,54,88,.78) 312deg,
    transparent 342deg 360deg
  );
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  filter: drop-shadow(0 0 7px rgba(185,90,239,.64));
  animation: journeyEdgeOrbit 2.1s linear infinite;
}
@keyframes journeyEdgeOrbit {
  to { --journey-edge-angle: 360deg; }
}
@keyframes journeyAttentionGlow {
  from { box-shadow: inset 0 0 15px rgba(139,76,238,.07), 0 0 11px rgba(185,90,239,.15); }
  to { box-shadow: inset 0 0 24px rgba(88,102,250,.14), 0 0 28px rgba(185,90,239,.31); }
}
@media (prefers-reduced-motion: reduce) {
  .journey-nav-group.journey-incomplete:not(.menu-open) .passion-path-toggle,
  .journey-nav-group.menu-open .journey-nav-item.journey-next-attention,
  .journey-nav-group.journey-incomplete:not(.menu-open) .passion-path-toggle::before,
  .journey-nav-group.menu-open .journey-nav-item.journey-next-attention::before { animation: none; }
}

/* Ignite navigation uses the same nested pattern with a powder-blue identity. */
.ignite-toggle { margin-top: 4px; }
.ignite-toggle .nav-icon { color: #a8dcff; }
.ignite-nav-item .nav-icon {
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border: 1px solid rgba(168,220,255,.34);
  border-radius: 50%;
  color: #bfe7ff;
  font-size: 11px;
  font-weight: 800;
}
.ignite-nav-item.journey-complete .nav-icon {
  color: #071018;
  border-color: rgba(168,220,255,.72);
  background: #a8dcff;
}
.ignite-nav-item.journey-complete .nav-access-label { color: #9bd8fb; }
.journey-nav-group.menu-open .ignite-toggle {
  opacity: .34;
  color: #868493;
  border-color: transparent;
  background: transparent;
  box-shadow: none;
}
.journey-nav-group.ignite-incomplete:not(.menu-open) .ignite-toggle,
.journey-nav-group.menu-open .ignite-nav-item.ignite-next-attention {
  position: relative;
  isolation: isolate;
  overflow: visible;
  border-color: rgba(168,220,255,.58);
  color: #fff;
  background: linear-gradient(90deg,rgba(90,173,232,.1),rgba(168,220,255,.13));
  box-shadow: inset 0 0 20px rgba(96,184,240,.1), 0 0 19px rgba(96,184,240,.19);
  transform: none;
}
.journey-nav-group.ignite-incomplete:not(.menu-open) .ignite-toggle::before,
.journey-nav-group.menu-open .ignite-nav-item.ignite-next-attention::before {
  content: "";
  position: absolute;
  inset: -2px;
  z-index: 2;
  padding: 2px;
  border-radius: 14px;
  pointer-events: none;
  background: conic-gradient(from var(--journey-edge-angle), transparent 0deg 220deg, rgba(74,155,218,.28) 245deg, rgba(112,202,255,.95) 278deg, rgba(225,247,255,1) 294deg, rgba(106,190,246,.75) 318deg, transparent 344deg 360deg);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  filter: drop-shadow(0 0 7px rgba(112,202,255,.55));
  animation: journeyEdgeOrbit 2.1s linear infinite;
}
@media (prefers-reduced-motion: reduce) {
  .journey-nav-group.ignite-incomplete:not(.menu-open) .ignite-toggle::before,
  .journey-nav-group.menu-open .ignite-nav-item.ignite-next-attention::before { animation: none; }
}

/* 0.2.4 shell details. */
.sidebar-brand-name { flex-wrap: nowrap; }
.ignite-toggle-label { min-width: 0; white-space: nowrap; font-size: clamp(.76rem, .85vw, .95rem); }
.app-toolbar { grid-template-columns: auto minmax(150px, auto) minmax(150px, 1fr) auto; }
.toolbar-heading { min-width: 0; }
.toolbar-welcome { margin: 0; color: #a8a8b4; font-size: clamp(.84rem, 1.2vw, 1rem); font-weight: 700; }
.toolbar-welcome .gradient-text { font-weight: 900; }
@media(max-width:850px){
  .app-toolbar { grid-template-columns: auto minmax(105px,1fr) auto; }
  .toolbar-welcome { display: none; }
}

/* Update 0.2.5: Ignite highlights only the next available step. */
.ignite-nav-item.active:not(.ignite-next-attention) {
  color: inherit;
  border-color: transparent;
  background: transparent;
  box-shadow: none;
}

/* 0.3.0 navigation hierarchy and member menu. */
.sidebar-footer { position:relative; }
.member-menu-button { width:100%; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px; border:1px solid transparent; border-radius:14px; color:#eeeaf4; background:transparent; text-align:left; transition:border-color .16s,box-shadow .16s,background .16s; }
.member-menu-button:hover,.member-menu-button.menu-open { border-color:rgba(98,184,255,.42); background:rgba(71,158,232,.07); box-shadow:0 0 22px rgba(61,160,235,.16); }
.member-menu-copy { display:grid; gap:3px; min-width:0; }
.member-menu-copy strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.member-menu-copy small { color:#888593; }
.member-menu-chevron { color:#79caff; transition:transform .16s; }
.member-menu-button.menu-open .member-menu-chevron { transform:rotate(180deg); }
.member-menu { position:absolute; left:0; right:0; bottom:calc(100% + 9px); z-index:30; display:grid; gap:5px; padding:8px; border:1px solid rgba(99,185,255,.25); border-radius:14px; background:rgba(13,13,19,.98); box-shadow:0 18px 48px rgba(0,0,0,.46),0 0 25px rgba(52,143,221,.1); }
.member-menu-item { width:100%; padding:12px 13px; border:0; border-radius:10px; color:#d9d6df; background:transparent; text-align:left; font-weight:750; }
.member-menu-item:hover,.member-menu-item.active { color:#fff; background:rgba(78,168,240,.11); }
.member-menu-logout:hover { color:#ff9aac; background:rgba(239,60,92,.08); }
.toolbar-welcome { margin-left:auto; color:#b5b2bf; white-space:nowrap; }
.toolbar-actions { margin-left:0; }
.profile-toolbar-button { white-space:nowrap; }
.onboarding-toggle,.onboarding-nav-item { --nav-accent:#f2a03d; }
.onboarding-nav-group.onboarding-incomplete > .onboarding-toggle,.onboarding-nav-item.onboarding-next-attention { border-color:rgba(255,174,66,.5); background:rgba(255,160,43,.09); box-shadow:0 0 22px rgba(255,145,32,.18); }
.onboarding-nav-item.onboarding-next-attention { animation:onboardingPulse 2.2s ease-in-out infinite; }
@keyframes onboardingPulse{50%{box-shadow:0 0 34px rgba(255,145,32,.35)}}
/* Selected is a quiet fixed state. Only the next incomplete item animates. */
.nav-item.active { border-color:rgba(112,198,255,.38); background:rgba(112,198,255,.075); box-shadow:inset 0 0 0 1px rgba(112,198,255,.08); }
.nav-item.active.journey-next-attention,.nav-item.active.ignite-next-attention { box-shadow:0 0 26px rgba(81,180,241,.23),inset 0 0 0 1px rgba(112,198,255,.12); }
.ignite-nav-item.active:not(.ignite-next-attention) { border-color:rgba(112,198,255,.38)!important; background:rgba(112,198,255,.075)!important; box-shadow:inset 0 0 0 1px rgba(112,198,255,.08)!important; }
@media(max-width:850px){.toolbar-welcome{display:none}.profile-toolbar-button{font-size:.78rem;padding-inline:11px}}

/* Update 0.3.1: centered current view, profile hover, nested statuses, and shared next-step shine. */
.app-toolbar { grid-template-columns:auto minmax(250px,1fr) minmax(180px,auto) minmax(250px,1fr); }
.toolbar-member-cluster { display:flex; align-items:center; gap:12px; min-width:0; justify-self:start; }
.toolbar-heading { justify-self:center; text-align:center; min-width:0; }
.toolbar-balance { min-width:0; }
.toolbar-welcome { margin:0; font-size:clamp(1rem,1.5vw,1.18rem); }
.profile-toolbar-button:hover,.profile-toolbar-button:focus-visible {
  color:#f4d8ff;
  border-color:rgba(190,90,239,.64);
  background:rgba(168,71,232,.11);
  box-shadow:0 0 11px rgba(168,71,232,.3),0 0 30px rgba(122,76,238,.2);
  transform:translateY(-1px);
}
.nav-item { grid-template-rows:auto auto; align-items:center; }
.nav-item > .nav-icon { grid-row:1 / 3; }
.nav-item > .nav-copy,.nav-item > span:nth-child(2) { grid-column:2; grid-row:1; }
.nav-item > .nav-access-label { grid-column:2; grid-row:2; justify-self:start; margin-top:-2px; line-height:1.15; }
.onboarding-nav-item .nav-access-label { color:#e7a443; }
#membersButton:hover,#membersButton.active { color:#9ae7c4; background:rgba(76,214,155,.1); box-shadow:inset 0 0 0 1px rgba(76,214,155,.18); }

.onboarding-nav-group.onboarding-incomplete:not(.menu-open) > .onboarding-toggle,
.onboarding-nav-group.menu-open .onboarding-nav-item.onboarding-next-attention {
  position:relative; isolation:isolate; overflow:visible;
  border-color:rgba(255,174,66,.6);
  background:linear-gradient(90deg,rgba(255,187,61,.12),rgba(241,111,31,.12));
  box-shadow:inset 0 0 20px rgba(255,151,34,.1),0 0 20px rgba(255,151,34,.2);
  animation:onboardingPulse 1.7s ease-in-out infinite alternate;
}
.onboarding-nav-group.onboarding-incomplete:not(.menu-open) > .onboarding-toggle::before,
.onboarding-nav-group.menu-open .onboarding-nav-item.onboarding-next-attention::before {
  content:""; position:absolute; inset:-2px; z-index:2; padding:2px; border-radius:14px; pointer-events:none;
  background:conic-gradient(from var(--journey-edge-angle),transparent 0deg 220deg,rgba(255,160,42,.25) 246deg,rgba(255,190,70,.96) 278deg,#fff0b5 294deg,rgba(241,101,33,.8) 318deg,transparent 344deg 360deg);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor; mask-composite:exclude;
  filter:drop-shadow(0 0 7px rgba(255,159,45,.6));
  animation:journeyEdgeOrbit 2.1s linear infinite;
}
.onboarding-nav-group.menu-open > .onboarding-toggle { opacity:.34; color:#868493; border-color:transparent; background:transparent; box-shadow:none; animation:none; }
@media(max-width:1050px){
  .app-toolbar{grid-template-columns:auto minmax(0,1fr) auto}
  .toolbar-heading{justify-self:end;text-align:right}
  .toolbar-balance{display:none}
}
@media(max-width:850px){
  .app-toolbar{grid-template-columns:auto minmax(0,1fr)}
  .toolbar-heading{justify-self:end}
  .toolbar-member-cluster{display:none}
}
@media(prefers-reduced-motion:reduce){
  .onboarding-nav-group.onboarding-incomplete:not(.menu-open) > .onboarding-toggle,
  .onboarding-nav-group.menu-open .onboarding-nav-item.onboarding-next-attention,
  .onboarding-nav-group.onboarding-incomplete:not(.menu-open) > .onboarding-toggle::before,
  .onboarding-nav-group.menu-open .onboarding-nav-item.onboarding-next-attention::before{animation:none}
}

/* Update 0.3.2: centered location label, stable icons, universal back control, and collapsed journey groups. */
.toolbar-eyebrow[hidden]{display:none}
.toolbar-title{font-size:clamp(1.2rem,1.8vw,1.55rem);letter-spacing:-.025em}
.profile-toolbar-button{border-color:rgba(181,98,244,.34);box-shadow:inset 0 0 0 1px rgba(181,98,244,.04)}
.nav-icon-emoji{font-size:1rem;line-height:1;filter:saturate(.9)}
.nav-item:not(:has(.nav-access-label)) > .nav-icon{grid-row:1;align-self:center}
.onboarding-nav-group.onboarding-incomplete:not(.menu-open) > .onboarding-toggle::before,
.onboarding-nav-group.menu-open .onboarding-nav-item.onboarding-next-attention::before{display:none}
.onboarding-nav-group.onboarding-incomplete:not(.menu-open) > .onboarding-toggle,
.onboarding-nav-group.menu-open .onboarding-nav-item.onboarding-next-attention{overflow:hidden;animation:onboardingPulse 1.7s ease-in-out infinite alternate}
.app-content{position:relative;scroll-margin-top:80px}
.universal-back-button{position:relative;z-index:15;display:inline-flex;align-items:center;gap:7px;margin:0 0 16px;padding:9px 13px;border:1px solid rgba(255,255,255,.12);border-radius:10px;color:#cbc8d2;background:rgba(255,255,255,.025);font-weight:800}
.universal-back-button:hover,.universal-back-button:focus-visible{color:#fff;border-color:rgba(165,83,239,.45);background:rgba(168,71,232,.07)}
@media(max-width:850px){
  .toolbar-heading{justify-self:center;text-align:center;grid-column:2}
  .universal-back-button{margin-bottom:12px}
}

/* Update 0.3.3: standardized journey numbering, section icons, and onboarding edge shine. */
.nav-category-icon{grid-row:1;align-self:center;width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.onboarding-toggle{color:#ffb34f}.passion-path-toggle{color:#d96cff}.ignite-toggle{color:#a8dcff}
.onboarding-toggle .nav-category-icon,.passion-path-toggle .nav-category-icon,.ignite-toggle .nav-category-icon{color:inherit}
.onboarding-nav-item .nav-icon,.journey-nav-item .nav-icon,.ignite-nav-item .nav-icon{
  display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:transparent;
  font-size:11px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums
}
.onboarding-nav-item .nav-icon{color:#ffb34f;border:1px solid rgba(255,179,79,.68)}
.journey-nav-item .nav-icon{color:#d96cff;border:1px solid rgba(217,108,255,.62)}
.ignite-nav-item .nav-icon{color:#a8dcff;border:1px solid rgba(168,220,255,.62)}
.onboarding-nav-item.journey-complete .nav-icon{color:#171007;border-color:#ffb34f;background:#ffb34f}
.journey-nav-item.journey-complete .nav-icon{color:#16091b;border-color:#d96cff;background:#d96cff}
.ignite-nav-item.journey-complete .nav-icon{color:#071018;border-color:#a8dcff;background:#a8dcff}
.onboarding-nav-item.journey-complete .nav-access-label,
.journey-nav-item.journey-complete .nav-access-label,
.ignite-nav-item.journey-complete .nav-access-label{color:#9ae7c4!important}
.onboarding-nav-item:not(.journey-complete) .nav-access-label{color:#ffbd69}
.journey-nav-item:not(.journey-complete) .nav-access-label{color:#d99cff}
.ignite-nav-item:not(.journey-complete) .nav-access-label{color:#bfe7ff}

/* Restore the perimeter shine and remove the incorrect pulsing/vertical-only treatment. */
.onboarding-nav-group.onboarding-incomplete:not(.menu-open) > .onboarding-toggle,
.onboarding-nav-group.menu-open .onboarding-nav-item.onboarding-next-attention{
  position:relative;isolation:isolate;overflow:visible;animation:none;
  border-color:rgba(255,174,66,.6);color:#fff;
  background:linear-gradient(90deg,rgba(255,187,61,.12),rgba(241,111,31,.12));
  box-shadow:inset 0 0 20px rgba(255,151,34,.1),0 0 20px rgba(255,151,34,.2)
}
.onboarding-nav-group.onboarding-incomplete:not(.menu-open) > .onboarding-toggle::before,
.onboarding-nav-group.menu-open .onboarding-nav-item.onboarding-next-attention::before{
  display:block;content:"";position:absolute;inset:-2px;z-index:2;padding:2px;border-radius:14px;pointer-events:none;
  background:conic-gradient(from var(--journey-edge-angle),transparent 0deg 220deg,rgba(255,160,42,.25) 246deg,rgba(255,190,70,.96) 278deg,#fff0b5 294deg,rgba(241,101,33,.8) 318deg,transparent 344deg 360deg);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;
  filter:drop-shadow(0 0 7px rgba(255,159,45,.6));animation:journeyEdgeOrbit 2.1s linear infinite
}
@media(prefers-reduced-motion:reduce){
  .onboarding-nav-group.onboarding-incomplete:not(.menu-open) > .onboarding-toggle::before,
  .onboarding-nav-group.menu-open .onboarding-nav-item.onboarding-next-attention::before{animation:none}
}


/* Update 0.3.4: category-only toolbar, white category labels, improved Home icon, and edge-aligned navigation scrolling. */
.app-toolbar{position:sticky}
.toolbar-heading{
  position:absolute;
  left:50%;
  top:50%;
  width:max-content;
  max-width:min(42vw,460px);
  transform:translate(-50%,-50%);
  justify-self:auto;
  text-align:center;
  pointer-events:none;
}
.toolbar-title{margin:0;font-size:clamp(1.28rem,2vw,1.62rem);white-space:nowrap}
.toolbar-eyebrow{display:none!important}
.toolbar-welcome{font-size:clamp(1.14rem,1.7vw,1.38rem);font-weight:800}
.home-nav-icon{
  grid-row:1;
  align-self:center;
  justify-self:center;
  width:25px;
  height:25px;
  fill:none;
  stroke:#c86dff;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.onboarding-toggle,.passion-path-toggle,.ignite-toggle{color:#fff}
.onboarding-toggle .nav-category-icon{color:#ffb34f}
.passion-path-toggle .nav-category-icon{color:#d96cff}
.ignite-toggle .nav-category-icon{color:#a8dcff}
.onboarding-toggle>span:nth-child(2),
.passion-path-toggle>span:nth-child(2),
.ignite-toggle>span:nth-child(2){color:#fff}
.journey-nav-group.menu-open>.onboarding-toggle,
.journey-nav-group.menu-open>.passion-path-toggle,
.journey-nav-group.menu-open>.ignite-toggle{opacity:1;color:#fff}
.sidebar-nav{
  margin-right:-16px;
  padding-right:16px;
}
.app-content{padding-top:22px}
.app-content.has-universal-back{position:relative}
.universal-back-button{
  position:absolute;
  top:14px;
  left:18px;
  z-index:30;
  margin:0;
}
@media(max-width:1180px){
  .toolbar-heading{max-width:34vw}
  .toolbar-title{font-size:clamp(1.12rem,2vw,1.4rem)}
}
@media(max-width:850px){
  .toolbar-heading{top:50%;left:50%;max-width:58vw;transform:translate(-50%,-50%);text-align:center}
  .toolbar-title{font-size:1.15rem}
  .app-content.has-universal-back{padding-top:58px}
  .universal-back-button{top:10px;left:14px}
}

/* Keep the floating Back control on the same compact row without covering the active Step heading. */
@media(min-width:851px){
  .app-content.has-universal-back .journey-stepbar,
  .app-content.has-universal-back .ignite-stage-header>div:first-child{
    box-sizing:border-box;
    padding-left:112px;
  }
  .app-content.has-universal-back .onboarding-shell>section:first-child{
    box-sizing:border-box;
    padding-left:132px;
  }
}

/* Update 0.3.5: saturated persistent navigation numbers and statuses. */
.onboarding-nav-item .nav-icon{color:#ffad2f;border-color:rgba(255,173,47,.82)}
.journey-nav-item .nav-icon{color:#d943ff;border-color:rgba(217,67,255,.8)}
.ignite-nav-item .nav-icon{color:#69caff;border-color:rgba(105,202,255,.82)}
.onboarding-nav-item.journey-complete .nav-icon{color:#171007;border-color:#ffad2f;background:#ffad2f}
.journey-nav-item.journey-complete .nav-icon{color:#16091b;border-color:#d943ff;background:#d943ff}
.ignite-nav-item.journey-complete .nav-icon{color:#071018;border-color:#69caff;background:#69caff}
.onboarding-nav-item:not(.journey-complete) .nav-access-label{color:#ffad2f}
.journey-nav-item:not(.journey-complete) .nav-access-label{color:#dc55ff}
.ignite-nav-item:not(.journey-complete) .nav-access-label{color:#69caff}
.onboarding-nav-item.journey-complete .nav-access-label,
.journey-nav-item.journey-complete .nav-access-label,
.ignite-nav-item.journey-complete .nav-access-label{color:#48e39b!important}
.onboarding-toggle .nav-category-icon{color:#ffad2f}
.passion-path-toggle .nav-category-icon{color:#d943ff}
.ignite-toggle .nav-category-icon{color:#69caff}

/* Update 0.3.6: universal Back lives inside every journey header. */
.app-content.has-universal-back{padding-top:22px}
.universal-back-slot{display:flex;align-items:center;flex:0 0 auto}
.universal-back-slot:empty{display:none}
.universal-back-slot .universal-back-button,
.universal-back-button{
  position:static;
  inset:auto;
  margin:0;
  min-height:38px;
  padding:8px 12px;
}
@media(min-width:851px){
  .app-content.has-universal-back .journey-stepbar,
  .app-content.has-universal-back .ignite-stage-header>div:first-child,
  .app-content.has-universal-back .onboarding-shell>section:first-child{padding-left:0}
}
@media(max-width:850px){.app-content.has-universal-back{padding-top:22px}}

/* 0.4.2 reusable perimeter-attention animation. Color is supplied per context. */
.onboarding-nav-group.onboarding-incomplete:not(.menu-open) > .onboarding-toggle,
.onboarding-nav-group.menu-open .onboarding-nav-item.onboarding-next-attention,
.onboarding-next-demo,
.next-step-spotlight {
  --nexus-attention-rgb:255,174,66;
  --nexus-attention-bright:#fff0b5;
  position:relative;
  isolation:isolate;
  overflow:visible;
}
.onboarding-nav-group.onboarding-incomplete:not(.menu-open) > .onboarding-toggle::before,
.onboarding-nav-group.menu-open .onboarding-nav-item.onboarding-next-attention::before,
.onboarding-next-demo::before,
.next-step-spotlight::after {
  content:"";
  position:absolute;
  inset:-2px;
  z-index:3;
  padding:2px;
  border-radius:inherit;
  pointer-events:none;
  background:conic-gradient(from var(--nexus-attention-angle),transparent 0deg 220deg,rgba(var(--nexus-attention-rgb),.25) 246deg,rgba(var(--nexus-attention-rgb),.96) 278deg,var(--nexus-attention-bright) 294deg,rgba(var(--nexus-attention-rgb),.8) 318deg,transparent 344deg 360deg);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  filter:drop-shadow(0 0 7px rgba(var(--nexus-attention-rgb),.62));
  animation:nexusAttentionOrbit 2.1s linear infinite;
}
@media(prefers-reduced-motion:reduce){
  .onboarding-nav-group.onboarding-incomplete:not(.menu-open) > .onboarding-toggle::before,
  .onboarding-nav-group.menu-open .onboarding-nav-item.onboarding-next-attention::before,
  .onboarding-next-demo::before,
  .next-step-spotlight::after{animation:none}
}


/* 0.4.3 Community bridge */
.community-nav-item{position:relative;text-decoration:none}
.community-nav-icon{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.nav-external-mark{margin-left:auto;color:rgba(255,255,255,.48);font-size:.78rem}
.community-nav-item:hover .nav-external-mark{color:#fff}

/* 0.4.4 community treatment */
.community-nav-item{color:#fff!important}
.community-nav-item .community-nav-icon{color:#b566ff;stroke:#b566ff;filter:drop-shadow(0 0 8px rgba(181,102,255,.42))}
.auth-alternate-button{display:block;width:100%;margin-top:11px;color:#c7b3ff;text-align:center;background:none;border:0;cursor:pointer}
.auth-alternate-button:hover{color:#fff;text-decoration:underline}

/* Nexus 0.4.7: onboarding navigation color-only update and community handoff state. */
.onboarding-toggle,.onboarding-nav-item{--nav-accent:#d84fff}
.onboarding-toggle .nav-category-icon{color:#d84fff}
.onboarding-nav-item .nav-icon{color:#ff5fa2;border-color:rgba(216,79,255,.82)}
.onboarding-nav-item.journey-complete .nav-icon{color:#fff;border-color:#c44dff;background:linear-gradient(135deg,#ff3d6e,#c44dff)}
.onboarding-nav-item:not(.journey-complete) .nav-access-label{color:#ff6eb6}
.onboarding-nav-group.onboarding-incomplete:not(.menu-open)>.onboarding-toggle,
.onboarding-nav-group.menu-open .onboarding-nav-item.onboarding-next-attention{--nexus-attention-rgb:216,79,255;--nexus-attention-bright:#ffd8f2;border-color:rgba(224,79,255,.62);background:linear-gradient(90deg,rgba(255,61,110,.13),rgba(155,77,255,.14));box-shadow:inset 0 0 20px rgba(211,65,255,.11),0 0 20px rgba(205,62,255,.22)}
.community-nav-item.is-loading{opacity:.72;pointer-events:none}
.community-nav-item.is-loading .nav-external-mark{animation:communityLinkPulse .8s ease-in-out infinite alternate}
@keyframes communityLinkPulse{to{color:#dca4ff;filter:drop-shadow(0 0 6px rgba(181,102,255,.7))}}
@media(prefers-reduced-motion:reduce){.community-nav-item.is-loading .nav-external-mark{animation:none}}

/* Nexus 0.5.0 navigation identities. */
.nav-external-mark{display:none!important}
.onboarding-toggle,.onboarding-nav-item{--nav-accent:#ff3f91}
.onboarding-toggle{color:#ff648f}
.onboarding-toggle .nav-category-icon,.onboarding-nav-item .nav-icon{color:#ff6aa4;border-color:rgba(255,63,145,.46)}
.onboarding-nav-group.onboarding-incomplete>.onboarding-toggle,.onboarding-nav-item.onboarding-next-attention{border-color:rgba(255,63,145,.58);background:linear-gradient(90deg,rgba(255,41,79,.13),rgba(255,63,145,.11),rgba(125,53,232,.13));box-shadow:0 0 24px rgba(172,52,225,.2)}
.passion-path-toggle .nav-category-icon{color:#ff34b1}
.journey-nav-group.journey-incomplete:not(.menu-open) .passion-path-toggle,
.journey-nav-group.menu-open .journey-nav-item.journey-next-attention{border-color:rgba(255,52,177,.62);background:linear-gradient(90deg,rgba(255,42,166,.15),rgba(84,25,199,.17));box-shadow:inset 0 0 20px rgba(217,67,255,.11),0 0 21px rgba(124,39,218,.22)}
.journey-nav-group.journey-incomplete:not(.menu-open) .passion-path-toggle::before,
.journey-nav-group.menu-open .journey-nav-item.journey-next-attention::before{background:conic-gradient(from var(--journey-edge-angle),transparent 0deg 220deg,rgba(84,25,199,.38) 245deg,rgba(217,67,255,.96) 276deg,rgba(255,225,246,1) 293deg,rgba(255,42,166,.9) 316deg,transparent 344deg 360deg);filter:drop-shadow(0 0 8px rgba(217,67,255,.7))}
.ignite-toggle .nav-icon{color:#8bd5ff}
.journey-nav-group.ignite-incomplete:not(.menu-open) .ignite-toggle,
.journey-nav-group.menu-open .ignite-nav-item.ignite-next-attention{border-color:rgba(91,174,255,.62);background:linear-gradient(90deg,rgba(184,233,255,.1),rgba(36,80,232,.14),rgba(86,52,216,.12));box-shadow:inset 0 0 21px rgba(77,168,255,.1),0 0 22px rgba(36,80,232,.2)}
.journey-nav-group.ignite-incomplete:not(.menu-open) .ignite-toggle::before,
.journey-nav-group.menu-open .ignite-nav-item.ignite-next-attention::before{background:conic-gradient(from var(--journey-edge-angle),transparent 0deg 220deg,rgba(86,52,216,.35) 245deg,rgba(77,168,255,.96) 278deg,rgba(226,248,255,1) 294deg,rgba(36,80,232,.86) 319deg,transparent 344deg 360deg);filter:drop-shadow(0 0 8px rgba(77,168,255,.62))}

/* Nexus 0.5.1: all sidebar Step numbers share the Ignite number structure and inherit their journey theme. */
.onboarding-nav-item .nav-icon,
.journey-nav-item .nav-icon,
.ignite-nav-item .nav-icon{
  position:relative;
  border:0!important;
  background:transparent!important;
  isolation:isolate
}
.onboarding-nav-item .nav-icon::before,
.journey-nav-item .nav-icon::before,
.ignite-nav-item .nav-icon::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  padding:1px;
  border-radius:50%;
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude
}
.onboarding-nav-item .nav-icon{
  color:var(--nexus-foundation-pink)!important
}
.onboarding-nav-item .nav-icon::before{
  background:linear-gradient(135deg,var(--nexus-foundation-red),var(--nexus-foundation-pink) 50%,var(--nexus-foundation-purple))
}
.journey-nav-item .nav-icon{
  color:var(--nexus-passion-magenta)!important
}
.journey-nav-item .nav-icon::before{
  background:linear-gradient(135deg,var(--nexus-passion-pink),var(--nexus-passion-magenta) 48%,var(--nexus-passion-purple))
}
.ignite-nav-item .nav-icon{
  color:var(--nexus-ignite-powder)!important
}
.ignite-nav-item .nav-icon::before{
  background:linear-gradient(135deg,var(--nexus-ignite-powder),var(--nexus-ignite-blue) 42%,var(--nexus-ignite-electric) 76%,var(--nexus-ignite-violet))
}
.onboarding-nav-item.journey-complete .nav-icon,
.journey-nav-item.journey-complete .nav-icon,
.ignite-nav-item.journey-complete .nav-icon{
  color:#fff!important
}
.onboarding-nav-item.journey-complete .nav-icon::before{
  padding:0;
  -webkit-mask:none;
  mask:none;
  background:linear-gradient(135deg,var(--nexus-foundation-red),var(--nexus-foundation-pink) 48%,var(--nexus-foundation-purple))
}
.journey-nav-item.journey-complete .nav-icon::before{
  padding:0;
  -webkit-mask:none;
  mask:none;
  background:linear-gradient(135deg,var(--nexus-passion-pink),var(--nexus-passion-magenta) 48%,var(--nexus-passion-purple))
}
.ignite-nav-item.journey-complete .nav-icon::before{
  padding:0;
  -webkit-mask:none;
  mask:none;
  background:linear-gradient(135deg,var(--nexus-ignite-powder),var(--nexus-ignite-blue) 42%,var(--nexus-ignite-electric) 76%,var(--nexus-ignite-violet))
}

/* Nexus 0.5.2: Profile workspace navigation and completed-step legibility. */
.profile-nav-icon,
.nav-symbol-icon svg{
  width:21px;
  height:21px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round
}
.nav-symbol-icon{
  display:grid!important;
  place-items:center
}
.nav-symbol-icon svg{width:15px;height:15px}
.skills-nav-item .nav-symbol-icon svg{fill:currentColor;stroke:none}
.profile-main-nav.profile-next-attention{
  --nexus-attention-rgb:255,52,127;
  --nexus-attention-bright:#ffd8ea;
  position:relative;
  isolation:isolate;
  color:#fff;
  border-color:rgba(255,63,145,.64);
  background:linear-gradient(90deg,rgba(255,41,79,.15),rgba(255,63,145,.12),rgba(125,53,232,.15));
  box-shadow:inset 0 0 22px rgba(255,49,122,.1),0 0 22px rgba(149,52,229,.2)
}
.profile-main-nav.profile-next-attention::before{
  content:"";
  position:absolute;
  inset:-2px;
  z-index:3;
  padding:2px;
  border-radius:inherit;
  pointer-events:none;
  background:conic-gradient(from var(--nexus-attention-angle),transparent 0deg 220deg,rgba(125,53,232,.38) 245deg,rgba(255,63,145,.96) 278deg,#ffd8ea 294deg,rgba(255,41,79,.88) 318deg,transparent 344deg 360deg);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  filter:drop-shadow(0 0 8px rgba(213,54,205,.68));
  animation:nexusAttentionOrbit var(--nexus-attention-duration) linear infinite
}
.onboarding-nav-item.journey-complete .nav-icon,
.journey-nav-item.journey-complete .nav-icon,
.ignite-nav-item.journey-complete .nav-icon{
  color:rgba(12,12,17,.64)!important
}
@media(prefers-reduced-motion:reduce){.profile-main-nav.profile-next-attention::before{animation:none}}

/* Nexus 0.6.0: preserve button placement while giving attention glows the full sidebar width. */
.sidebar-nav{margin-right:-24px;padding-right:24px;overflow-x:clip}
.onboarding-nav-item.onboarding-next-attention,
.journey-nav-group.onboarding-incomplete:not(.menu-open)>.onboarding-toggle,
.profile-main-nav.profile-next-attention{
  border-color:rgba(255,63,145,.64)!important;
  background:linear-gradient(90deg,rgba(255,41,79,.15),rgba(255,63,145,.12),rgba(125,53,232,.15))!important;
  box-shadow:inset 0 0 22px rgba(255,49,122,.1),0 0 24px rgba(149,52,229,.22)!important
}
.onboarding-nav-item.onboarding-next-attention::before,
.profile-main-nav.profile-next-attention::before{
  background:conic-gradient(from var(--nexus-attention-angle),transparent 0deg 220deg,rgba(125,53,232,.38) 245deg,rgba(255,63,145,.96) 278deg,#ffe4f0 294deg,rgba(255,41,79,.88) 318deg,transparent 344deg 360deg)!important;
  filter:drop-shadow(0 0 8px rgba(213,54,205,.68))!important
}
