/* Seven-stage Passion Path. Uses the existing Nexus visual system. */
.passion-path-app { width: 100%; }
.journey-shell { width: min(1040px, 100%); margin: 0 auto; }
.journey-shell.wide { width: min(1220px, 100%); }
.journey-stepbar {
  display: flex; align-items: center; justify-content: space-between; gap: 18px;
  margin-bottom: 12px; color: #a9a9b7;
}
.journey-stepbar strong { display: block; color: #fff; font-size: 16px; }
.journey-stepbar span { display: block; margin-top: 4px; font-size: 13px; }
.journey-progress { height: 5px; margin-bottom: 22px; overflow: hidden; border-radius: 999px; background: rgba(255,255,255,.07); }
.journey-progress > div { height: 100%; border-radius: inherit; background: linear-gradient(90deg,#e93658,#a340e7,#3866fa); }
.journey-panel h2 { margin: 0; font-size: clamp(30px,5vw,48px); letter-spacing: -.035em; }
.journey-panel > .section-copy { max-width: 760px; }
.journey-instructions { margin: 26px 0; padding: 22px; border: 1px solid rgba(168,71,232,.2); border-radius: 16px; background: rgba(168,71,232,.055); color: #bbb9c8; line-height: 1.65; }
.journey-instructions strong { color: #fff; }
.journey-question-grid { display: grid; gap: 4px; margin-top: 22px; }
.journey-question-grid .field { padding-top: 18px; border-top: 1px solid rgba(255,255,255,.055); }
.journey-question-grid .field:first-child { border-top: 0; }
.journey-question-number { display: inline-grid; place-items: center; width: 28px; height: 28px; margin-right: 7px; border-radius: 50%; background: rgba(168,71,232,.14); color: #d6b4f1; font-size: 13px; }
.journey-result-list { display: grid; gap: 14px; margin-top: 26px; }
.journey-result-row { position: relative; display: grid; grid-template-columns: 10px 42px minmax(0,1fr) auto; gap: 14px; align-items: center; padding: 18px 18px 18px 0; overflow: hidden; border: 1px solid rgba(255,255,255,.09); border-radius: 16px; background: rgba(255,255,255,.025); }
.journey-result-index { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: linear-gradient(135deg,rgba(233,54,88,.22),rgba(56,102,250,.24)); font-weight: 800; }
.journey-result-fields { display: grid; grid-template-columns: minmax(180px,.7fr) minmax(260px,1.5fr) 90px; gap: 10px; }
.journey-result-fields.no-count { grid-template-columns: minmax(180px,.7fr) minmax(260px,1.5fr); }
.journey-result-fields input { min-width: 0; }
.journey-result-fields textarea { min-height: 84px; }
.journey-result-actions { display: grid; gap: 7px; }
.journey-context-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); gap: 14px; margin: 24px 0; }
.journey-context-card { padding: 18px; border: 1px solid rgba(255,255,255,.09); border-radius: 15px; background: rgba(255,255,255,.025); }
.journey-context-card span { color: #8f8e9c; font-size: 11px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.journey-context-card strong { display: block; margin-top: 8px; font-size: 17px; }
.journey-context-card p { margin: 8px 0 0; color: #aaa8b7; line-height: 1.55; }
.aspiration-standard { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; margin: 22px 0; }
.aspiration-standard article { padding: 17px; border: 1px solid rgba(255,255,255,.09); border-radius: 14px; background: rgba(255,255,255,.025); }
.aspiration-standard strong { color: #d4b1f0; }
.aspiration-standard p { margin: 7px 0 0; color: #91909e; line-height: 1.5; font-size: 13px; }
.passion-generation-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin-top: 20px; }
.passion-generation-card { position: relative; padding: 20px; border: 1px solid rgba(255,255,255,.1); border-radius: 17px; background: rgba(255,255,255,.028); }
.passion-generation-card.recommended { border-color: rgba(168,71,232,.38); box-shadow: 0 0 24px rgba(168,71,232,.08); }
.passion-generation-card h3 { margin: 0 0 8px; }
.passion-generation-card p { margin: 0; color: #a7a5b4; line-height: 1.55; }
.passion-generation-card button { margin-top: 15px; }
.recommended-pill { display: inline-block; margin-bottom: 10px; padding: 5px 9px; border-radius: 999px; color: #d9b5f3; background: rgba(168,71,232,.12); font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.passion-bank-section { margin-top: 30px; padding-top: 28px; border-top: 1px solid rgba(255,255,255,.08); }
.passion-bank-heading { display: flex; justify-content: space-between; gap: 16px; align-items: flex-end; margin-bottom: 16px; }
.passion-bank-heading h3 { margin: 0; }
.passion-bank-heading p { margin: 7px 0 0; color: #8f8e9c; }
.passion-bank-list { display: grid; gap: 10px; }
.passion-bank-item { position: relative; display: grid; grid-template-columns: 10px 42px minmax(0,1fr) auto; gap: 12px; align-items: center; padding: 14px 14px 14px 0; overflow: hidden; border: 1px solid rgba(255,255,255,.09); border-radius: 14px; background: rgba(255,255,255,.025); }
.passion-bank-rank { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: rgba(168,71,232,.14); color: #d9b5f3; font-weight: 800; }
.passion-bank-copy strong { display: block; }
.passion-bank-copy small { display: block; margin-top: 5px; color: #858492; line-height: 1.4; }
.passion-bank-actions { display: flex; gap: 6px; }
.icon-action { width: 34px; height: 34px; padding: 0; border: 1px solid rgba(255,255,255,.1); border-radius: 9px; color: #c8c7d1; background: transparent; }
.inline-add-row { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 10px; }
.skill-choice-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; margin-top: 22px; }
.skill-choice-card { position: relative; display: block; padding: 20px; border: 1px solid rgba(255,255,255,.1); border-radius: 17px; background: rgba(255,255,255,.026); cursor: pointer; }
.skill-choice-card:has(input:checked) { border-color: rgba(168,71,232,.55); background: rgba(168,71,232,.08); box-shadow: 0 0 24px rgba(168,71,232,.11); }
.skill-choice-card input { position: absolute; top: 15px; right: 15px; width: auto; }
.skill-choice-card strong { display: block; padding-right: 22px; font-size: 18px; }
.skill-choice-card p { margin: 8px 0 0; color: #9e9dab; line-height: 1.55; }
.affirmation-choice-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; margin: 24px 0; }
.affirmation-choice { padding: 24px 18px; border: 1px solid rgba(255,255,255,.1); border-radius: 18px; color: #fff; background: rgba(255,255,255,.025); text-align: left; }
.affirmation-choice[aria-pressed="true"] { border-color: rgba(76,214,155,.5); background: rgba(76,214,155,.08); box-shadow: 0 0 22px rgba(76,214,155,.1); }
.affirmation-choice span { display: block; color: #9ae7c4; font-weight: 800; }
.affirmation-choice h3 { margin: 8px 0; }
.affirmation-choice p { margin: 0; color: #9d9caa; line-height: 1.55; }
.alignment-question-list { display: grid; gap: 16px; margin-top: 24px; }
.alignment-question { padding: 20px; border: 1px solid rgba(255,255,255,.09); border-radius: 16px; background: rgba(255,255,255,.025); }
.alignment-question h3 { margin: 0; font-size: 18px; }
.yes-no-row { display: flex; gap: 10px; margin-top: 14px; }
.yes-no-button { min-width: 88px; padding: 11px 17px; border: 1px solid rgba(255,255,255,.11); border-radius: 10px; color: #cbc9d3; background: transparent; font-weight: 800; }
.yes-no-button.selected-yes { border-color: rgba(76,214,155,.5); color: #9ae7c4; background: rgba(76,214,155,.08); }
.yes-no-button.selected-no { border-color: rgba(239,60,92,.45); color: #ffacbb; background: rgba(239,60,92,.07); }
.alignment-guidance { margin: 12px 0 0; color: #e7b0bc; line-height: 1.55; }
.journey-complete-panel { text-align: center; }
.journey-complete-panel .completion-pill { margin-bottom: 18px; }
.journey-summary-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(240px,1fr)); gap: 14px; margin: 28px 0; text-align: left; }
.journey-summary-card { padding: 20px; border: 1px solid rgba(255,255,255,.09); border-radius: 16px; background: rgba(255,255,255,.025); }
.journey-summary-card span { color: #8f8e9c; font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.journey-summary-card strong { display: block; margin-top: 8px; }
.journey-summary-card p { margin: 7px 0 0; color: #9d9caa; line-height: 1.55; }
.admin-stage-nav { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.admin-stage-nav .secondary-button { padding: 10px 14px; }
.journey-lock-panel { text-align: center; }
.journey-lock-panel h2 { margin-top: 10px; }
@media (max-width: 800px) {
  .passion-generation-grid,.skill-choice-grid,.affirmation-choice-grid,.aspiration-standard { grid-template-columns: 1fr; }
  .journey-result-fields,.journey-result-fields.no-count { grid-template-columns: 1fr; }
  .journey-result-row { grid-template-columns: 38px minmax(0,1fr); align-items: start; padding-left: 18px; }
  .journey-result-actions { grid-column: 2; display: flex; }
  .passion-bank-item { grid-template-columns: 38px minmax(0,1fr); padding-left: 14px; }
  .passion-bank-actions { grid-column: 2; }
  .passion-drag-rail { display: none; }
}
@media (max-width: 560px) {
  .journey-stepbar,.passion-bank-heading { align-items: flex-start; flex-direction: column; }
  .inline-add-row { grid-template-columns: 1fr; }
  .yes-no-row { display: grid; grid-template-columns: 1fr 1fr; }
}

/* Update 0009: compact admin navigation, counted answers, and sequential confirmation. */
.journey-panel-title-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
}
.journey-panel-title-row h2 { min-width: 0; }
.admin-step-nav {
  display: flex;
  flex: 0 0 auto;
  gap: 8px;
  padding-top: 3px;
}
.admin-step-arrow {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  padding: 0;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 11px;
  color: #e6e3eb;
  background: rgba(255,255,255,.035);
  font-size: 18px;
  line-height: 1;
  transition: border-color .18s ease, background .18s ease, box-shadow .18s ease, transform .18s ease;
}
.admin-step-arrow:not(:disabled):hover {
  border-color: rgba(168,71,232,.55);
  background: rgba(168,71,232,.12);
  box-shadow: 0 0 20px rgba(168,71,232,.16);
  transform: translateY(-1px);
}
.admin-step-arrow:disabled { opacity: .28; cursor: default; }
.counted-answer-field { position: relative; }
.counted-answer-field textarea { min-height: 132px; padding-bottom: 34px; }
.answer-count {
  position: absolute;
  right: 12px;
  bottom: 10px;
  padding: 3px 7px;
  border-radius: 999px;
  color: #8f8e9c;
  background: rgba(9,9,14,.86);
  font-size: 11px;
  font-weight: 750;
  letter-spacing: .02em;
  pointer-events: none;
}
.answer-count.invalid-count {
  color: #ff9fb0;
  border: 1px solid rgba(239,60,92,.34);
  background: rgba(77,14,27,.92);
  box-shadow: 0 0 12px rgba(239,60,92,.12);
}
.diamond-instruction-list {
  display: grid;
  gap: 8px;
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
}
.diamond-instruction-list li { position: relative; padding-left: 20px; }
.diamond-instruction-list li::before {
  position: absolute;
  left: 2px;
  top: .58em;
  width: 7px;
  height: 7px;
  background: linear-gradient(135deg,#e93658,#a340e7);
  content: "";
  transform: rotate(45deg);
}
.custom-passion-field { margin: 24px 0 0; }
.stage-completion-navigation {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(180px,auto) minmax(0,1fr);
  align-items: center;
  gap: 14px;
  margin-top: 24px;
}
.stage-completion-navigation > :first-child { justify-self: start; }
.stage-completion-navigation > :nth-child(2) { justify-self: center; }
.stage-completion-navigation > :last-child { justify-self: end; }
.affirmation-check { visibility: hidden; }
.affirmation-choice[aria-pressed="true"] .affirmation-check { visibility: visible; }
.alignment-question-locked { opacity: .5; }
.alignment-locked-copy { margin: 10px 0 0; color: #777684; }
.alignment-guidance-wrap {
  margin-top: 14px;
  padding: 15px;
  border: 1px solid rgba(239,60,92,.2);
  border-radius: 12px;
  background: rgba(239,60,92,.045);
}
.alignment-guidance-wrap[hidden] { display: none; }
.alignment-guidance-wrap .alignment-guidance { margin: 0; }
.alignment-action-button { margin-top: 12px; }
.final-affirmation-panel .journey-panel-title-row { text-align: left; }
.final-passion-question {
  max-width: 820px;
  margin: 28px auto 0;
  font-size: clamp(23px,3.4vw,34px);
  line-height: 1.2;
}
.final-yes-no-row { justify-content: center; margin-top: 24px; }
.final-choice-button {
  min-width: 150px;
  padding: 16px 24px;
  border-width: 2px;
  font-size: 18px;
}
.final-choice-button:hover { border-color: rgba(255,255,255,.32); background: rgba(255,255,255,.045); }

@media (max-width: 700px) {
  .journey-panel-title-row { align-items: center; }
  .journey-panel-title-row h2 { font-size: clamp(27px,9vw,40px); }
  .stage-completion-navigation { grid-template-columns: 1fr; }
  .stage-completion-navigation > * { justify-self: stretch !important; }
  .stage-completion-navigation button { width: 100%; }
}

/* Integrated drag rails with keyboard reordering support. */
.journey-result-row > .passion-drag-rail,
.passion-bank-item > .passion-drag-rail {
  align-self: stretch;
  background: linear-gradient(180deg,rgba(233,54,88,.22),rgba(168,71,232,.78),rgba(56,102,250,.24));
}
.journey-result-row > .passion-drag-rail span,
.passion-bank-item > .passion-drag-rail span { background: #17081d; }
.mobile-reorder-button { display: none; }
.journey-result-row.is-dragging,
.passion-bank-item.is-dragging {
  opacity: .48;
  border-color: rgba(168,71,232,.55);
  box-shadow: 0 0 24px rgba(168,71,232,.12);
}
.journey-result-row.drag-target,
.passion-bank-item.drag-target { border-color: rgba(76,214,155,.42); }


/* Update 0014: one integrated drag rail everywhere; no arrow controls. */
.journey-result-row { grid-template-columns: 10px 42px minmax(0,1fr); }
.mobile-reorder-button { display: none !important; }
@media (max-width: 800px) {
  .journey-result-row { grid-template-columns: 10px 34px minmax(0,1fr); padding: 14px 14px 14px 0; }
  .journey-result-fields, .journey-result-fields.no-count { grid-column: 3; }
  .journey-result-index { width: 32px; height: 32px; }
  .passion-bank-item { grid-template-columns: 10px 34px minmax(0,1fr) auto; padding-left: 0; }
  .passion-bank-actions { grid-column: 4; }
  .passion-drag-rail { display: flex; grid-row: 1 / span 2; }
}

/* Update 0.3.2: one-to-five discrete Passion Path answers instead of separators. */
.discovery-question-field{display:grid;gap:13px}
.discovery-answer-manager,.discovery-answer-list{display:grid;gap:10px}
.discovery-answer-row{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;border:1px solid rgba(203,88,232,.13);border-radius:13px;background:rgba(195,62,217,.025)}
.discovery-answer-row input{width:100%;min-width:0}
.discovery-answer-number{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;color:#fff;background:linear-gradient(135deg,#ed3d88,#9847ec);font-size:.75rem;font-weight:900}
.discovery-remove-answer{padding:7px 9px;border:0;color:#a6a2af;background:transparent;font-size:.72rem;font-weight:800}
.discovery-remove-answer:hover:not(:disabled){color:#ff9db5}.discovery-remove-answer:disabled{opacity:.25}
.discovery-add-answer{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;align-items:center;column-gap:12px;width:100%;padding:14px 16px;border:1px dashed rgba(211,85,237,.3);border-radius:13px;color:#d9d4df;background:linear-gradient(135deg,rgba(233,53,139,.035),rgba(123,71,232,.035));text-align:left}
.discovery-add-answer>span{grid-row:1/3;display:grid;place-items:center;width:30px;height:30px;border-radius:9px;color:#fff;background:linear-gradient(135deg,#f24083,#8b4cff);font-size:1rem;font-weight:900}
.discovery-add-answer small{color:#8f8a98}.discovery-add-answer:disabled{display:none}
@media(max-width:650px){.discovery-answer-row{grid-template-columns:28px minmax(0,1fr)}.discovery-remove-answer{grid-column:2;justify-self:start;padding-left:0}}


/* Update 0.3.4: compact stage header, top-right Admin arrows, and centered confirmation actions. */
.journey-stepbar{margin-bottom:8px}
.journey-stepbar-tools{display:flex;align-items:center;justify-content:flex-end;gap:12px}
.journey-stepbar-tools>span{margin:0}
.journey-stepbar-tools .admin-step-nav{padding-top:0}
.journey-progress{margin-bottom:16px}
.journey-panel-title-row{align-items:center}
.journey-panel .actions.actions-centered,
.journey-complete-panel .actions.actions-centered{
  display:flex;
  flex-direction:row;
  justify-content:center;
  align-items:center;
}
.journey-panel .actions.actions-centered>button,
.journey-complete-panel .actions.actions-centered>button{
  flex:0 1 340px;
  width:min(340px,100%);
  max-width:340px;
}
@media(max-width:560px){
  .journey-stepbar-tools{width:100%;justify-content:space-between}
  .journey-stepbar-tools .admin-step-nav{margin-left:auto}
}

/* Update 0.3.6: reusable instruction treatment, integrated Back, and consistent completion actions. */
.journey-step-heading{display:flex;align-items:center;gap:13px;min-width:0}
.journey-step-heading>div:last-child{min-width:0}
.journey-instructions li::marker{color:#d943ff}
.passion-context-card span{color:#dc55ff}
.journey-context-grid-vertical{grid-template-columns:1fr;max-width:760px}
.aspiration-intro{line-height:1.7}
.core-skill-intro{margin-bottom:20px}
.passion-search-continue{justify-content:center!important}
.stage-completion-navigation{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.stage-completion-navigation>button{justify-self:stretch!important;width:100%;min-height:48px}
@media(max-width:700px){.journey-step-heading{align-items:flex-start}.stage-completion-navigation{grid-template-columns:1fr}}


/* 0.4.3: each source value stays visually paired with its own reflection question. */
.reflection-pair-list{display:grid;gap:20px}
.reflection-pair{display:grid;gap:14px;padding:18px;border:1px solid rgba(255,255,255,.09);border-radius:18px;background:linear-gradient(135deg,rgba(255,255,255,.035),rgba(130,65,190,.025))}
.reflection-source-card{width:100%;box-sizing:border-box;min-height:0}
.reflection-source-card span{display:block;color:#dfb7ff;letter-spacing:.04em}
.reflection-source-card span b{color:#fff;font-size:1rem;letter-spacing:0;text-transform:none}
.reflection-question{margin:0}
.reflection-question textarea{width:100%;box-sizing:border-box}

/* Nexus 0.5.0: Passion Path is hot pink through deep purple. */
.journey-shell{--path-pink:#ff2aa6;--path-magenta:#d943ff;--path-purple:#5419c7;--path-soft:rgba(217,67,255,.12)}
.journey-progress>div{background:linear-gradient(90deg,var(--path-pink),var(--path-magenta) 52%,var(--path-purple));box-shadow:0 0 14px rgba(217,67,255,.3)}
.journey-instructions{border-color:rgba(255,42,166,.32);background:linear-gradient(135deg,rgba(255,42,166,.09),rgba(84,25,199,.075));box-shadow:inset 0 0 30px rgba(217,67,255,.04)}
.journey-instructions li::marker{color:var(--path-pink)}
.journey-question-number{background:linear-gradient(135deg,rgba(255,42,166,.22),rgba(84,25,199,.28));color:#ffd0f0;border:1px solid rgba(255,77,184,.22)}
.journey-result-index{background:linear-gradient(135deg,rgba(255,42,166,.35),rgba(84,25,199,.42));box-shadow:0 0 18px rgba(217,67,255,.14)}
.journey-context-card,.journey-summary-card{border-color:rgba(217,67,255,.2);background:linear-gradient(145deg,rgba(255,42,166,.045),rgba(84,25,199,.04))}
.journey-shell .primary-button{background:linear-gradient(105deg,var(--path-pink),var(--path-magenta) 48%,var(--path-purple));box-shadow:0 12px 34px rgba(145,36,219,.24)}
.journey-shell .secondary-button:hover{border-color:rgba(255,68,178,.48);box-shadow:0 0 20px rgba(217,67,255,.12)}
.affirmation-choice[aria-pressed="true"]{border-color:rgba(255,53,174,.62);background:linear-gradient(135deg,rgba(255,42,166,.12),rgba(84,25,199,.1));box-shadow:0 0 28px rgba(217,67,255,.14)}
.affirmation-choice[aria-pressed="true"] span{color:#ff9bd3}
