/* AX Signal diagnosis shell, entry layout, and shared page structure. */

/* Diagnosis public pages */

.diagnosis-hero {
  padding: var(--space-80) 0;
  background: linear-gradient(135deg, var(--color-navy-900), var(--color-navy-800));
  color: var(--color-paper);
}

.diagnosis-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 330px;
  gap: var(--space-160);
  align-items: center;
}

.diagnosis-hero h1,
.diagnosis-hero p {
  color: var(--color-paper);
}

.diagnosis-question-main > span,
.diagnosis-immediate-action__steps span,
.diagnosis-immediate-axis-list span {
  color: var(--color-blue-600);
  font-size: var(--font-13);
  font-weight: var(--weight-bold);
}

.diagnosis-page-controls {
  display: grid;
  grid-template-columns: minmax(112px, auto) minmax(64px, auto) minmax(132px, auto);
  gap: var(--space-12);
  align-items: center;
  justify-content: center;
}

.diagnosis-toolbar-actions .ui-btn[hidden],
.diagnosis-page-controls .ui-btn[hidden] {
  display: none;
}

.diagnosis-page-summary {
  margin: var(--space-12) 0 0;
  color: var(--color-navy-900);
  font-size: var(--font-13);
  font-weight: var(--weight-bold);
}

.diagnosis-page-controls > span,
.diagnosis-page-controls span {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 0 var(--space-12);
  border-radius: 999px;
  background: var(--color-cloud);
  color: var(--color-muted);
  font-size: var(--font-12);
  font-weight: var(--weight-bold);
  text-align: center;
  white-space: nowrap;
  justify-content: center;
}

.diagnosis-page-controls[hidden],
[data-diagnosis-page-guide][hidden],
[data-diagnosis-group-nav][hidden],
.diagnosis-question[hidden],
.diagnosis-question-group[hidden],
[data-group-head][hidden] {
  display: none;
}

/* Diagnosis flow shell primitives. */

.is-diagnosis-flow .page-main,
.diagnosis-entry-page .page-main,
.diagnosis-flow-page .page-main,
.diagnosis-result-page .page-main {
  background: var(--color-paper);
}

.is-diagnosis-flow .page-hero,
.diagnosis-entry-page .page-hero,
.diagnosis-flow-page .page-hero,
.diagnosis-result-page .page-hero {
  position: relative;
  overflow: hidden;
  padding: var(--space-80) 0 var(--space-48);
  background:
    radial-gradient(ellipse 44% 76% at 92% 0%, color-mix(in srgb, var(--color-blue-600) 10%, transparent), transparent 60%),
    linear-gradient(180deg, var(--color-paper) 0%, var(--color-danger-bg) 100%);
}

.is-diagnosis-flow .page-hero h1,
.diagnosis-entry-page .page-hero h1,
.diagnosis-flow-page .page-hero h1,
.diagnosis-result-page .page-hero h1 {
  max-width: 780px;
  margin-bottom: var(--space-16);
  color: var(--color-navy-900);
  font-size: var(--font-32);
  line-height: var(--leading-tight);
  font-weight: var(--weight-bold);
}

.is-diagnosis-flow .page-hero p,
.diagnosis-entry-page .page-hero p,
.diagnosis-flow-page .page-hero p,
.diagnosis-result-page .page-hero p {
  max-width: 720px;
  color: var(--color-text);
  font-size: var(--font-16);
  line-height: var(--leading-normal);
}

.is-diagnosis-flow .page-guide-card,
.diagnosis-entry-page .page-guide-card,
.diagnosis-flow-page .page-guide-card,
.diagnosis-result-page .page-guide-card {
  display: grid;
  gap: var(--space-12);
  padding: var(--space-24);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-8);
  background: var(--color-paper);
  box-shadow: var(--shadow-soft);
}

.is-diagnosis-flow .page-guide-card h2,
.diagnosis-entry-page .page-guide-card h2,
.diagnosis-flow-page .page-guide-card h2,
.diagnosis-result-page .page-guide-card h2 {
  margin: 0;
  color: var(--color-navy-900);
  font-size: var(--font-20);
  line-height: var(--leading-snug);
  font-weight: var(--weight-bold);
}

.is-diagnosis-flow .page-guide-list,
.diagnosis-entry-page .page-guide-list,
.diagnosis-flow-page .page-guide-list,
.diagnosis-result-page .page-guide-list {
  display: grid;
  gap: var(--space-8);
}

.is-diagnosis-flow .page-guide-list li,
.diagnosis-entry-page .page-guide-list li,
.diagnosis-flow-page .page-guide-list li,
.diagnosis-result-page .page-guide-list li {
  position: relative;
  padding-left: var(--space-16);
  color: var(--color-muted);
  font-size: var(--font-13);
  line-height: var(--leading-compact);
}

.is-diagnosis-flow .page-guide-list li::before,
.diagnosis-entry-page .page-guide-list li::before,
.diagnosis-flow-page .page-guide-list li::before,
.diagnosis-result-page .page-guide-list li::before {
  position: absolute;
  top: .78em;
  left: 0;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--color-copper-600);
  content: "";
}

.diagnosis-entry-section {
  padding: var(--space-80) 0;
}

.diagnosis-entry-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: var(--space-16);
  align-items: start;
  margin-top: 0;
}


.diagnosis-entry-main h2,
.diagnosis-entry-side h2 {
  color: var(--color-navy-900);
  font-size: var(--font-20);
}

.diagnosis-entry-main > p {
  margin-bottom: var(--space-12);
  color: var(--color-muted);
  font-size: var(--font-16);
}

.diagnosis-entry-side {
  position: sticky;
}

.diagnosis-entry-side ul {
  display: grid;
  gap: var(--space-8);
  margin: 2px 0 0;
  padding: 0;
}

.diagnosis-entry-side li {
  display: grid;
  gap: var(--space-4);
  padding: var(--space-12) 0;
  border-top: 1px solid var(--color-line);
}

.diagnosis-entry-side strong {
  color: var(--color-navy-900);
  font-size: var(--font-16);
  font-weight: var(--weight-bold);
}

.diagnosis-entry-side em {
  color: var(--color-muted);
  font-size: var(--font-13);
  font-style: normal;
}

.diagnosis-title-separator {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0 7px;
  color: var(--color-blue-600);
  font-weight: var(--weight-bold);
}

/* Diagnosis save notice */

/* Diagnosis entry page */

.diagnosis-entry-page .page-guide-section {
  display: none;
}

/* Consolidated responsive rules. */

/* ==========================================================================
   Final Media Queries
   ========================================================================== */

@media (max-width: 1180px) {
.diagnosis-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 960px) {
.diagnosis-page-controls {
    display: flex;
    justify-content: space-between;
  }

.diagnosis-entry-layout {
    grid-template-columns: 1fr;
  }
}
