:root {
  --second-look-sage: #91b89b;
  --second-look-blue: #9eaed9;
  --second-look-danger: #dc7b67;
}

.second-look-page {
  background:
    radial-gradient(circle at 14% 4%, rgba(216, 112, 44, .1), transparent 28rem),
    var(--bg);
}

.module-header {
  width: min(1240px, calc(100% - 48px));
  min-height: 92px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid rgba(231, 223, 209, .1);
}

.header-home {
  color: var(--paper-muted);
  font-size: .68rem;
  font-weight: 760;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.header-home span { color: var(--orange-bright); margin-left: .45rem; }
.module-shell { width: min(1240px, calc(100% - 48px)); margin: 0 auto; }
.module-landing { padding: 5rem 0 7rem; }

.landing-copy {
  max-width: 980px;
  padding-bottom: 4.5rem;
}

.landing-copy h1 { max-width: 920px; }
.module-lead { max-width: 790px; color: var(--paper-muted); font-size: 1.08rem; line-height: 1.72; }

.flow-strip {
  margin-top: 2.2rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .8rem;
  color: var(--paper-muted);
  font-size: .66rem;
  font-weight: 760;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.flow-strip span { display: inline-flex; align-items: center; gap: .55rem; }
.flow-strip b { color: var(--orange-bright); font-size: .58rem; }
.flow-strip i { color: rgba(231, 223, 209, .32); font-style: normal; }

.module-manifesto {
  display: grid;
  grid-template-columns: 130px minmax(0, 1.25fr) minmax(260px, .75fr);
  gap: 2rem;
  align-items: start;
  margin-bottom: 6rem;
  padding: 2rem 0;
  border-top: 1px solid rgba(231, 223, 209, .14);
  border-bottom: 1px solid rgba(231, 223, 209, .14);
}

.manifesto-index, .step-number { color: var(--orange); font-size: .62rem; font-weight: 800; letter-spacing: .14em; }
.module-manifesto blockquote { margin: 0; font-family: var(--font-display); font-size: clamp(1.8rem, 3.2vw, 3.2rem); line-height: 1.08; letter-spacing: -.04em; }
.module-manifesto p { margin: .25rem 0 0; color: var(--paper-muted); font-size: .9rem; line-height: 1.65; }

.section-line { display: flex; align-items: end; justify-content: space-between; gap: 3rem; margin-bottom: 2.2rem; }
.section-line h2 { margin-top: .55rem; }
.section-line > p { max-width: 390px; margin: 0; color: var(--paper-muted); font-size: .88rem; line-height: 1.62; }
.case-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }

.case-card {
  min-height: 390px;
  padding: 1.4rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border: 1px solid rgba(231, 223, 209, .14);
  background: linear-gradient(150deg, rgba(255, 255, 255, .045), rgba(255, 255, 255, .012));
  transition: transform .24s ease, border-color .24s ease;
}

.case-card:hover { transform: translateY(-4px); border-color: rgba(247, 163, 90, .48); }
.case-card-sage:hover { border-color: rgba(145, 184, 155, .55); }
.case-card-blue:hover { border-color: rgba(158, 174, 217, .58); }
.case-card-top { display: flex; align-items: center; justify-content: space-between; }
.case-number { font-family: var(--font-display); color: var(--orange-bright); font-size: 2rem; }
.case-card-sage .case-number { color: var(--second-look-sage); }
.case-card-blue .case-number { color: var(--second-look-blue); }
.case-duration { color: var(--paper-muted); font-size: .6rem; letter-spacing: .12em; text-transform: uppercase; }
.case-setting { color: var(--paper-muted); font-size: .61rem; font-weight: 780; letter-spacing: .13em; }
.case-card h3 { margin-bottom: .85rem; }
.case-card p:not(.case-setting) { color: var(--paper-muted); font-size: .88rem; line-height: 1.62; }

.case-start, .back-to-cases {
  border: 0;
  border-top: 1px solid rgba(231, 223, 209, .16);
  background: transparent;
  color: var(--paper);
  padding: 1rem 0 0;
  display: flex;
  justify-content: space-between;
  font: inherit;
  font-size: .66rem;
  font-weight: 780;
  letter-spacing: .12em;
  text-transform: uppercase;
  cursor: pointer;
}

.case-start span { color: var(--orange-bright); font-size: 1.15rem; transition: transform .2s ease; }
.case-start:hover span { transform: translateX(5px); }
.exercise-view { min-height: calc(100vh - 92px); padding: 2rem 0 7rem; }
.back-to-cases { width: auto; gap: .7rem; border-top: 0; color: var(--paper-muted); }
.exercise-placeholder { max-width: 900px; margin: 5rem auto 0; }
.exercise-placeholder > p:not(.eyebrow):not(.case-setting) { max-width: 640px; color: var(--paper-muted); font-size: 1rem; line-height: 1.7; }
.placeholder-plan { margin-top: 3rem; padding: 1.5rem; border-left: 3px solid var(--orange); background: rgba(216, 112, 44, .08); }
.placeholder-plan small, .placeholder-plan strong { display: block; }
.placeholder-plan small { margin-bottom: .7rem; color: var(--orange-bright); font-size: .62rem; letter-spacing: .13em; }

.exercise-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid rgba(231, 223, 209, .1);
}

.case-position { color: var(--paper-muted); font-size: .61rem; font-weight: 760; letter-spacing: .14em; }
.stage-nav { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-bottom: 1px solid rgba(231, 223, 209, .14); }
.stage-chip { min-height: 62px; display: flex; align-items: center; gap: .7rem; color: rgba(231, 223, 209, .42); font-size: .64rem; font-weight: 760; letter-spacing: .1em; text-transform: uppercase; }
.stage-chip b { color: rgba(231, 223, 209, .28); font-size: .56rem; }
.stage-chip.is-done { color: var(--paper-muted); }
.stage-chip.is-done b { color: var(--second-look-sage); }
.stage-chip.is-current { color: var(--paper); box-shadow: inset 0 -2px var(--orange-bright); }
.stage-chip.is-current b { color: var(--orange-bright); }

.exercise-layout { display: grid; grid-template-columns: minmax(260px, 330px) minmax(0, 1fr); gap: clamp(2rem, 4vw, 4.5rem); align-items: start; padding-top: 2.5rem; }
.case-rail { position: sticky; top: 1.2rem; }
.case-rail h2 { margin: .75rem 0 1.5rem; font-size: clamp(2.2rem, 3.6vw, 3.7rem); }
.patient-snapshot, .inherited-plan { padding: 1.25rem; border: 1px solid rgba(231, 223, 209, .13); background: rgba(255, 255, 255, .025); }
.patient-snapshot > span, .inherited-plan > span { display: block; margin-bottom: .65rem; color: var(--paper-muted); font-size: .57rem; font-weight: 800; letter-spacing: .13em; }
.patient-snapshot strong { display: block; font-size: .9rem; line-height: 1.5; }
.patient-snapshot p { margin: .75rem 0 0; color: var(--paper-muted); font-size: .82rem; line-height: 1.62; }
.inherited-plan { margin-top: .75rem; border-left: 3px solid var(--orange); background: rgba(216, 112, 44, .07); }
.inherited-plan blockquote { margin: 0; color: var(--paper); font-family: var(--font-display); font-size: 1.18rem; line-height: 1.45; }
.rail-note { margin-top: 1rem; color: rgba(231, 223, 209, .5); font-size: .72rem; line-height: 1.55; }

.stage-panel { min-width: 0; padding-bottom: 3rem; }
.stage-heading { max-width: 860px; margin-bottom: 2.2rem; }
.stage-heading h1 { margin-bottom: 1.25rem; font-size: clamp(2.65rem, 5.2vw, 5.3rem); }
.stage-heading h1:focus { outline: none; }
.stage-heading > p:last-child { max-width: 720px; color: var(--paper-muted); font-size: .98rem; line-height: 1.68; }
.selection-status { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: .8rem; color: var(--paper-muted); font-size: .65rem; letter-spacing: .1em; text-transform: uppercase; }
.selection-status strong, .question-title-line > strong { color: var(--paper); font-size: .72rem; }

.information-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; }
.information-card, .option-card, .handover-option {
  width: 100%; min-height: 92px; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: .85rem; align-items: start;
  border: 1px solid rgba(231, 223, 209, .13); background: rgba(255, 255, 255, .025); color: var(--paper); padding: 1rem; text-align: left; font: inherit; cursor: pointer;
  transition: border-color .18s ease, background .18s ease, transform .18s ease;
}
.information-card:hover:not(:disabled), .option-card:hover:not(:disabled), .handover-option:hover:not(:disabled) { transform: translateY(-2px); border-color: rgba(247, 163, 90, .45); }
.information-card > span:nth-child(2), .option-card > span:nth-child(2), .handover-option > span:nth-child(2) { font-size: .84rem; line-height: 1.5; }
.information-card i, .option-card i, .handover-option i { color: rgba(231, 223, 209, .34); font-size: .88rem; font-style: normal; }
.choice-prefix { min-width: 1.8rem; color: var(--paper-muted); font-size: .57rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.information-card.is-selected, .option-card.is-selected, .handover-option.is-selected { border-color: rgba(247, 163, 90, .62); background: rgba(216, 112, 44, .1); }
.information-card.is-selected i, .option-card.is-selected i, .handover-option.is-selected i { color: var(--orange-bright); }
.information-card:disabled:not(.is-selected), .option-card:disabled:not(.is-selected), .handover-option:disabled:not(.is-selected), .decision-card:disabled:not(.is-selected) { opacity: .42; cursor: not-allowed; }

.stage-actions { margin-top: 1.5rem; min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; border-top: 1px solid rgba(231, 223, 209, .12); }
.stage-actions > span { color: var(--paper-muted); font-size: .65rem; letter-spacing: .08em; text-transform: uppercase; }
.primary-button, .secondary-button { border: 0; padding: .95rem 1.15rem; font: inherit; font-size: .67rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; cursor: pointer; }
.primary-button { background: var(--orange); color: #1b110b; }
.primary-button:hover:not(:disabled) { background: var(--orange-bright); }
.primary-button:disabled { opacity: .35; cursor: not-allowed; }
.primary-button b, .primary-button span { margin-left: .75rem; font-size: 1rem; }
.secondary-button { border: 1px solid rgba(231, 223, 209, .2); background: transparent; color: var(--paper); }

.stage-feedback { margin-top: 1.5rem; padding: 1.4rem; border-left: 3px solid var(--orange); background: rgba(216, 112, 44, .07); }
.stage-feedback.feedback-good { border-color: var(--second-look-sage); background: rgba(145, 184, 155, .07); }
.feedback-label { color: var(--orange-bright); font-size: .58rem; font-weight: 800; letter-spacing: .13em; }
.feedback-good .feedback-label { color: var(--second-look-sage); }
.stage-feedback h3 { margin: .7rem 0; font-size: clamp(1.55rem, 2.8vw, 2.3rem); }
.stage-feedback > p { margin: 0; color: var(--paper-muted); font-size: .86rem; line-height: 1.6; }
.feedback-list { margin-top: 1rem; display: grid; gap: .4rem; }
.feedback-list strong { margin-bottom: .2rem; font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; }
.feedback-list span { color: var(--paper-muted); font-size: .8rem; line-height: 1.45; }
.feedback-list span::before { content: '→'; margin-right: .5rem; color: var(--orange-bright); }

.question-block { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 1rem; padding: 1.6rem 0; border-top: 1px solid rgba(231, 223, 209, .12); }
.question-index { width: 36px; height: 36px; display: grid; place-items: center; border: 1px solid rgba(247, 163, 90, .4); color: var(--orange-bright); font-family: var(--font-display); }
.question-content h2 { margin: 0 0 1.2rem; font-family: var(--font-display); font-size: clamp(1.55rem, 2.8vw, 2.45rem); line-height: 1.12; letter-spacing: -.035em; }
.question-title-line { display: flex; justify-content: space-between; gap: 1rem; align-items: baseline; }
.option-stack { display: grid; gap: .55rem; }
.option-card { min-height: 72px; align-items: center; }
.compact-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.update-card { margin-bottom: 1.8rem; border: 1px solid rgba(220, 123, 103, .42); background: linear-gradient(135deg, rgba(220, 123, 103, .13), rgba(255, 255, 255, .02)); }
.update-card header { display: flex; gap: 1rem; align-items: center; padding: .85rem 1.1rem; border-bottom: 1px solid rgba(231, 223, 209, .1); }
.update-card header span { color: var(--second-look-danger); font-family: var(--font-display); font-size: 1.25rem; }
.update-card header strong { font-size: .66rem; letter-spacing: .12em; text-transform: uppercase; }
.update-card > p { margin: 0; padding: 1.35rem; font-family: var(--font-display); font-size: clamp(1.3rem, 2.35vw, 1.9rem); line-height: 1.42; }
.decision-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; }
.decision-card { min-height: 150px; position: relative; border: 1px solid rgba(231, 223, 209, .14); background: rgba(255, 255, 255, .025); color: var(--paper); padding: 1.1rem 2.5rem 1.1rem 1.1rem; text-align: left; font: inherit; cursor: pointer; }
.decision-card > span { display: block; font-family: var(--font-display); font-size: 1.35rem; }
.decision-card p { margin: .55rem 0 0; color: var(--paper-muted); font-size: .78rem; line-height: 1.55; }
.decision-card i { position: absolute; top: 1.1rem; right: 1.1rem; color: var(--orange-bright); font-style: normal; }
.decision-card.is-selected { border-color: var(--orange-bright); background: rgba(216, 112, 44, .1); }

.handover-layout { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(250px, .75fr); gap: 1rem; align-items: start; }
.handover-options { display: grid; gap: .55rem; }
.handover-option { min-height: 74px; align-items: center; }
.handover-preview { position: sticky; top: 1.2rem; min-height: 420px; border: 1px solid rgba(158, 174, 217, .32); background: rgba(158, 174, 217, .055); padding: 1.2rem; }
.preview-label { display: block; padding-bottom: .8rem; border-bottom: 1px solid rgba(231, 223, 209, .12); color: var(--second-look-blue); font-size: .58rem; font-weight: 800; letter-spacing: .13em; }
.handover-preview > div { padding: .8rem 0; border-bottom: 1px solid rgba(231, 223, 209, .08); }
.handover-preview small { color: var(--paper-muted); font-size: .53rem; font-weight: 760; letter-spacing: .11em; text-transform: uppercase; }
.handover-preview p { margin: .3rem 0 0; font-size: .8rem; line-height: 1.5; }
.empty-preview { margin-top: 1rem; color: var(--paper-muted); font-family: var(--font-display); font-size: 1.25rem; line-height: 1.5; }
.model-handover { margin-top: 1rem; border-top: 1px solid rgba(231, 223, 209, .12); padding-top: 1rem; }
.model-handover summary { color: var(--orange-bright); font-size: .68rem; font-weight: 760; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
.model-handover p { margin: .9rem 0 0; color: var(--paper); font-family: var(--font-display); font-size: 1.15rem; line-height: 1.55; }

.debrief-heading { max-width: 940px; }
.score-band { display: grid; grid-template-columns: minmax(220px, .75fr) minmax(0, 1.25fr); gap: 1rem; margin-bottom: 1rem; }
.score-total, .score-domains { border: 1px solid rgba(231, 223, 209, .13); background: rgba(255, 255, 255, .025); }
.score-total { padding: 1.4rem; display: flex; flex-direction: column; justify-content: center; }
.score-total span, .debrief-card > span, .closing-thought > span { color: var(--paper-muted); font-size: .57rem; font-weight: 800; letter-spacing: .13em; }
.score-total strong { margin: .6rem 0; font-family: var(--font-display); font-size: clamp(1.8rem, 3.2vw, 2.8rem); line-height: 1.05; }
.score-total small { color: var(--orange-bright); }
.score-domains { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.score-tile { padding: 1rem; border-right: 1px solid rgba(231, 223, 209, .08); border-bottom: 1px solid rgba(231, 223, 209, .08); }
.score-tile span { display: block; color: var(--paper-muted); font-size: .62rem; }
.score-tile strong { display: block; margin: .45rem 0; font-family: var(--font-display); font-size: 1.8rem; }
.score-tile > i { display: block; height: 2px; background: rgba(231, 223, 209, .1); }
.score-tile > i b { display: block; height: 100%; background: var(--orange-bright); }
.debrief-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.debrief-card { min-height: 280px; padding: 1.2rem; border: 1px solid rgba(231, 223, 209, .13); }
.debrief-card ul { margin: 1rem 0 0; padding: 0; list-style: none; }
.debrief-card li { padding: .7rem 0 .7rem 1rem; border-top: 1px solid rgba(231, 223, 209, .08); color: var(--paper-muted); font-size: .79rem; line-height: 1.5; position: relative; }
.debrief-card li::before { content: '·'; position: absolute; left: 0; color: var(--orange-bright); }
.weaken-card { border-color: rgba(220, 123, 103, .28); }
.support-card { border-color: rgba(145, 184, 155, .25); }
.closing-thought { margin-top: 1rem; padding: 1.5rem; border-left: 3px solid var(--orange-bright); background: rgba(216, 112, 44, .07); }
.closing-thought p { margin: .7rem 0 0; font-family: var(--font-display); font-size: clamp(1.3rem, 2.4vw, 2rem); line-height: 1.4; }
.final-actions { display: flex; justify-content: flex-end; gap: .75rem; margin-top: 1.5rem; }

@media (max-width: 900px) {
  .module-manifesto { grid-template-columns: 1fr; gap: 1rem; }
  .case-grid { grid-template-columns: 1fr; }
  .case-card { min-height: 310px; }
  .exercise-layout { grid-template-columns: 1fr; }
  .case-rail { position: static; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
  .case-rail > .case-setting, .case-rail > h2, .rail-note { grid-column: 1 / -1; }
  .inherited-plan { margin-top: 0; }
  .handover-layout { grid-template-columns: 1fr; }
  .handover-preview { position: static; min-height: 0; }
  .debrief-grid { grid-template-columns: 1fr; }
  .debrief-card { min-height: 0; }
}

@media (max-width: 640px) {
  .module-header, .module-shell { width: min(100% - 32px, 1240px); }
  .module-header { min-height: 76px; }
  .header-home { font-size: 0; }
  .header-home span { font-size: 1.1rem; }
  .module-landing { padding-top: 3.5rem; }
  .landing-copy { padding-bottom: 3rem; }
  .flow-strip { align-items: flex-start; flex-direction: column; }
  .flow-strip i { display: none; }
  .module-manifesto { margin-bottom: 4rem; }
  .section-line { align-items: start; flex-direction: column; gap: 1rem; }
  .exercise-view { padding-top: 1rem; }
  .stage-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .stage-chip { min-height: 48px; font-size: .56rem; }
  .exercise-layout { padding-top: 1.5rem; }
  .case-rail { grid-template-columns: 1fr; }
  .case-rail > * { grid-column: 1; }
  .information-grid, .compact-options, .decision-grid { grid-template-columns: 1fr; }
  .question-block { grid-template-columns: 1fr; }
  .question-index { width: 30px; height: 30px; }
  .stage-actions { align-items: stretch; flex-direction: column; padding-top: 1rem; }
  .stage-actions .primary-button { width: 100%; }
  .score-band { grid-template-columns: 1fr; }
  .score-domains { grid-template-columns: 1fr; }
  .final-actions { flex-direction: column; }
  .final-actions button { width: 100%; }
}
