.module-body { background: var(--paper); }
.module-header { min-height: 88px; display: grid; grid-template-columns: 1fr minmax(220px, 360px) 1fr; align-items: center; gap: 2rem; padding: 1rem clamp(1.25rem, 5vw, 5.5rem); position: sticky; top: 0; z-index: 20; background: rgba(251,250,246,.96); border-bottom: 1px solid var(--line); backdrop-filter: blur(16px); }
.module-progress { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: .8rem; color: var(--ink-soft); font-size: .78rem; }
.progress-track { height: 5px; overflow: hidden; background: var(--sand); }
.progress-track span { display: block; width: 0; height: 100%; background: var(--forest); transition: width .3s ease; }
.back-link { justify-self: end; font-size: .85rem; text-underline-offset: .35rem; }
.module-hero { display: grid; grid-template-columns: 1.35fr .65fr; gap: clamp(3rem,8vw,8rem); align-items: end; padding: clamp(4.5rem,9vw,8rem) clamp(1.25rem,5vw,5.5rem); background: var(--cream); border-bottom: 1px solid var(--line); }
.module-hero h1 { max-width: 900px; font-size: clamp(3rem,6vw,6.4rem); }
.module-intro { max-width: 750px; color: var(--ink-soft); font-size: clamp(1.1rem,1.8vw,1.4rem); }
.module-meta { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 2rem; }
.module-meta span { padding: .45rem .75rem; background: var(--white); border: 1px solid var(--line); font-size: .78rem; }
.outcome-card { padding: 2rem; background: var(--forest-deep); color: var(--white); }
.outcome-card ul { margin: 0; padding-left: 1.2rem; }
.outcome-card li + li { margin-top: .8rem; }
.lesson-layout { display: grid; grid-template-columns: minmax(210px,.28fr) minmax(0,1fr); gap: clamp(3rem,7vw,7rem); padding: 0 clamp(1.25rem,5vw,5.5rem); }
.lesson-index { position: sticky; top: 120px; align-self: start; margin-top: 5rem; padding: 1.5rem 0; border-top: 1px solid var(--line); }
.lesson-index a { display: grid; grid-template-columns: 32px 1fr; gap: .65rem; padding: .65rem 0; color: var(--ink-soft); text-decoration: none; border-bottom: 1px solid var(--line); }
.lesson-index a:hover, .lesson-index a:focus-visible { color: var(--ink); }
.lesson-index span { font-family: var(--serif); }
.lesson-content { max-width: 1050px; }
.lesson-section { display: grid; grid-template-columns: 62px minmax(0,1fr); gap: clamp(1.5rem,4vw,4rem); padding: clamp(5rem,9vw,9rem) 0; border-bottom: 1px solid var(--line); scroll-margin-top: 100px; }
.lesson-number { font-family: var(--serif); font-size: 2.5rem; color: var(--sage); }
.lesson-section h2 { max-width: 850px; margin-bottom: 2rem; font-size: clamp(2.3rem,4.5vw,4.6rem); }
.lesson-section > div:last-child > p { max-width: 800px; color: var(--ink-soft); font-size: 1.06rem; }
.concept-flow { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; gap: 1rem; align-items: center; margin: 3rem 0; }
.concept-flow div { min-height: 155px; padding: 1.3rem; background: var(--cream); border-top: 3px solid var(--forest); }
.concept-flow div span { display: block; margin-bottom: 1.2rem; font-family: var(--serif); color: var(--ink-soft); }
.concept-flow strong, .concept-flow small { display: block; }
.concept-flow small { margin-top: .4rem; color: var(--ink-soft); }
.concept-flow b { font-weight: 400; color: var(--ink-soft); }
.two-column-notes { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin: 2rem 0; }
.two-column-notes article { padding: 2rem; background: #dfe5d8; }
.two-column-notes .dark-note { background: var(--forest-deep); color: var(--white); }
.two-column-notes ul { margin-bottom: 0; padding-left: 1.2rem; }
.two-column-notes li + li { margin-top: .55rem; }
.capability-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; margin: 3rem 0; background: var(--line); border: 1px solid var(--line); }
.capability-grid article { min-height: 175px; padding: 1.5rem; background: var(--paper); }
.capability-grid span { font-family: var(--serif); font-size: 1.45rem; }
.capability-grid p { margin-top: .75rem; color: var(--ink-soft); }
.criterion-box { margin: 2rem 0; padding: 2rem; background: var(--cream); border-left: 4px solid var(--forest); }
.criterion-box strong { font-family: var(--serif); font-size: 1.4rem; font-weight: 400; }
.criterion-box p { margin: .6rem 0 0; color: var(--ink-soft); }
.prompt-anatomy { display: grid; grid-template-columns: 1fr 1fr; gap: 0 2rem; margin: 3rem 0; padding: 0; list-style: none; }
.prompt-anatomy li { display: grid; grid-template-columns: 36px 1fr; gap: .8rem; padding: 1rem 0; border-top: 1px solid var(--line); }
.prompt-anatomy li span { font-family: var(--serif); color: var(--ink-soft); }
.prompt-anatomy p { margin: .2rem 0 0; color: var(--ink-soft); }
.prompt-builder { margin-top: 3rem; padding: clamp(1.5rem,4vw,3rem); background: #e8e5dc; }
.builder-heading { display: flex; justify-content: space-between; gap: 2rem; align-items: end; }
.builder-heading h3 { margin: 0; font-size: clamp(1.8rem,3vw,2.8rem); }
.builder-heading > span { max-width: 230px; color: var(--ink-soft); font-size: .8rem; text-align: right; }
.builder-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin: 2rem 0; }
.builder-fields label { display: flex; flex-direction: column; gap: .45rem; font-size: .82rem; font-weight: 700; }
.builder-fields input, .builder-fields textarea { width: 100%; border: 1px solid var(--line); border-radius: 0; background: var(--white); color: var(--ink); padding: .85rem; font: inherit; resize: vertical; }
.prompt-output { min-height: 150px; margin-top: 1.2rem; padding: 1.3rem; white-space: pre-wrap; background: var(--forest-deep); color: var(--white); }
.copy-button { margin-top: .75rem; padding: .55rem 0; border: 0; border-bottom: 1px solid currentColor; background: transparent; color: var(--ink); cursor: pointer; }
.experiment-list { margin: 3rem 0; border-top: 1px solid var(--line); }
.experiment-list article { display: grid; grid-template-columns: 48px 1fr; gap: 1rem; padding: 1.2rem 0; border-bottom: 1px solid var(--line); }
.experiment-list article > span { font-family: var(--serif); font-size: 1.4rem; }
.experiment-list p { margin: .2rem 0 0; color: var(--ink-soft); }
.reflection-box, .privacy-card { margin: 2rem 0; padding: 2rem; background: var(--cream); }
.reflection-box h3, .privacy-card h3 { font-size: 1.6rem; }
.reflection-box li + li, .privacy-card li + li { margin-top: .6rem; }
.verify-sequence { display: flex; flex-wrap: wrap; align-items: center; gap: .7rem; margin: 2rem 0 2.5rem; }
.verify-sequence span { padding: .6rem .8rem; background: var(--forest-deep); color: var(--white); font-size: .8rem; text-transform: uppercase; letter-spacing: .08em; }
.verify-sequence b { color: var(--ink-soft); font-weight: 400; }
.audit-card { margin: 2.5rem 0; padding: 2rem; border: 1px solid var(--line); }
.audit-card ol { margin-bottom: 0; padding-left: 1.4rem; }
.audit-card li + li { margin-top: .8rem; }
.completion-check { display: flex; gap: .8rem; align-items: flex-start; margin-top: 2.5rem; padding: 1rem; background: #dfe5d8; font-weight: 650; cursor: pointer; }
.completion-check input { width: 19px; height: 19px; margin-top: .15rem; accent-color: var(--forest); }
.quiz fieldset { margin: 0 0 1.2rem; padding: 1.5rem; border: 1px solid var(--line); }
.quiz legend { padding: 0 .5rem; font-family: var(--serif); font-size: 1.2rem; }
.quiz fieldset label { display: flex; gap: .7rem; padding: .55rem; cursor: pointer; }
.quiz fieldset label:hover { background: var(--cream); }
.quiz input { margin-top: .3rem; accent-color: var(--forest); }
.quiz-result { min-height: 2rem; margin: 1.2rem 0 0; font-weight: 700; }
.module-closing { padding: clamp(5rem,9vw,9rem) 0; text-align: center; }
.module-closing blockquote { max-width: 850px; margin: 0 auto 2.5rem; font-family: var(--serif); font-size: clamp(1.8rem,3.5vw,3.3rem); line-height: 1.25; }
.closing-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: .75rem; }
.module-hero-process { background: #e8e5dc; }
.before-after { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin: 3rem 0; }
.before-after article { padding: 1.8rem; border: 1px solid var(--line); background: var(--paper); }
.before-after .after-card { background: var(--forest-deep); color: var(--white); }
.before-after blockquote { margin: 1.2rem 0; font-family: var(--serif); font-size: 1.25rem; line-height: 1.4; }
.before-after article > p:last-child { margin-bottom: 0; color: var(--ink-soft); font-size: .88rem; }
.before-after .after-card > p:last-child { color: #dfe5d8; }
.code-card { margin: 3rem 0; background: var(--forest-deep); color: var(--white); }
.code-card-head { display: flex; justify-content: space-between; align-items: center; padding: .9rem 1.2rem; border-bottom: 1px solid rgba(255,255,255,.2); font-size: .82rem; }
.code-card pre { margin: 0; padding: 1.5rem; overflow-x: auto; white-space: pre-wrap; font: .9rem/1.65 ui-monospace, SFMono-Regular, Consolas, monospace; }
.copy-snippet { border: 0; border-bottom: 1px solid currentColor; background: transparent; color: inherit; cursor: pointer; }
.output-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; margin: 3rem 0; background: var(--line); border: 1px solid var(--line); }
.output-grid article { min-height: 175px; padding: 1.4rem; background: var(--paper); }
.output-grid span { font-family: var(--serif); font-size: 1.35rem; }
.output-grid p { color: var(--ink-soft); font-size: .92rem; }
.mini-lab { margin: 2.5rem 0; padding: clamp(1.5rem,4vw,3rem); background: var(--cream); }
.mini-lab h3 { font-size: clamp(1.6rem,3vw,2.4rem); }
.contract-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin: 1.5rem 0; }
.contract-fields label { display: flex; flex-direction: column; gap: .45rem; font-size: .82rem; font-weight: 700; }
.contract-fields input, .contract-fields select { min-height: 46px; padding: .7rem; border: 1px solid var(--line); border-radius: 0; background: var(--white); color: var(--ink); font: inherit; }
.compact-output { min-height: 90px; }
.example-pattern { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin: 3rem 0; padding: 1px; background: var(--line); }
.example-pattern div { padding: 1.5rem; background: var(--paper); }
.example-pattern .new-case { grid-column: 1 / -1; background: var(--cream); }
.example-pattern span { color: var(--ink-soft); font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.example-pattern p { margin-bottom: 0; font-family: var(--serif); font-size: 1.15rem; }
.operation-tabs { display: grid; grid-template-columns: repeat(4,1fr); margin-top: 3rem; border: 1px solid var(--line); border-bottom: 0; }
.operation-tabs button { min-height: 52px; border: 0; border-right: 1px solid var(--line); background: var(--paper); color: var(--ink); font: inherit; cursor: pointer; }
.operation-tabs button:last-child { border-right: 0; }
.operation-tabs button[aria-selected="true"] { background: var(--forest-deep); color: var(--white); }
.operation-panel { min-height: 310px; padding: clamp(1.5rem,4vw,3rem); background: var(--forest-deep); color: var(--white); }
.operation-panel h3 { margin-top: 0; font-size: clamp(2rem,4vw,3.4rem); }
.operation-panel > p:not(.small-caps) { max-width: 680px; color: #dfe5d8; }
.operation-panel > div { display: grid; grid-template-columns: 150px 1fr; gap: 1.5rem; margin: 2rem 0; padding-top: 1.2rem; border-top: 1px solid rgba(255,255,255,.2); }
.operation-panel blockquote { margin: 1.5rem 0 0; padding: 1rem; background: rgba(255,255,255,.08); font-family: var(--serif); }
.operation-challenge { margin: 2rem 0; padding: 2rem; border: 1px solid var(--line); }
.operation-challenge h3 { font-size: 1.6rem; }
.choice-row { display: flex; flex-wrap: wrap; gap: .6rem; }
.choice-row button { padding: .7rem 1rem; border: 1px solid var(--ink); background: transparent; color: var(--ink); cursor: pointer; }
.choice-row button:hover, .choice-row button:focus-visible { background: var(--ink); color: var(--white); }
.choice-feedback { min-height: 1.6rem; margin-bottom: 0; font-weight: 700; }
.iteration-loop { display: grid; grid-template-columns: repeat(4,1fr); gap: 1rem; margin: 3rem 0; }
.iteration-loop div { min-height: 150px; padding: 1.3rem; border-top: 3px solid var(--forest); background: var(--cream); }
.iteration-loop span, .iteration-loop strong, .iteration-loop small { display: block; }
.iteration-loop span { margin-bottom: 1rem; font-family: var(--serif); color: var(--ink-soft); }
.iteration-loop small { margin-top: .45rem; color: var(--ink-soft); }
.prompt-clinic label { display: flex; gap: .7rem; padding: .55rem 0; }
.prompt-clinic input { accent-color: var(--forest); }
.warning-note { margin: 2rem 0; padding: 2rem; background: #dfe5d8; }
.warning-note strong { font-family: var(--serif); font-size: 1.35rem; font-weight: 400; }
.warning-note p { margin-bottom: 0; color: var(--ink-soft); }
.chain-map { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr auto 1fr; gap: .55rem; align-items: center; margin: 3rem 0; }
.chain-map div { min-height: 105px; padding: 1rem; background: var(--cream); border-top: 3px solid var(--forest); }
.chain-map span, .chain-map strong { display: block; }
.chain-map span { margin-bottom: 1rem; font-family: var(--serif); color: var(--ink-soft); }
.chain-map b { font-weight: 400; color: var(--ink-soft); }
.chain-output { display: grid; gap: .7rem; min-height: 150px; margin-top: 1.2rem; padding: 1.3rem; background: var(--forest-deep); color: var(--white); }
.chain-output article { padding: 1rem; border: 1px solid rgba(255,255,255,.2); }
.chain-output span { display: block; margin-bottom: .3rem; color: #bfcab9; font-size: .74rem; text-transform: uppercase; letter-spacing: .08em; }
.chain-output p { margin: 0; }
.agent-bridge { margin: 2.5rem 0; padding: clamp(1.5rem,4vw,3rem); background: var(--forest-deep); color: var(--white); }
.agent-bridge h3 { font-size: clamp(1.8rem,3vw,2.8rem); }
.agent-bridge > p:last-child { color: #dfe5d8; }
.source-note { max-width: 720px; margin: 2.5rem auto 0; color: var(--ink-soft); font-size: .78rem; }
.source-note a { text-underline-offset: .25rem; }
.module-hero-application { background: #dfe5d8; }
.question-ladder { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin: 3rem 0; background: var(--line); border: 1px solid var(--line); }
.question-ladder article { display: grid; grid-template-columns: 42px 1fr; gap: 1rem; min-height: 150px; padding: 1.4rem; background: var(--paper); }
.question-ladder span { font-family: var(--serif); font-size: 1.4rem; color: var(--sage); }
.question-ladder p { margin: .35rem 0 0; color: var(--ink-soft); }
.problem-example article { display: flex; flex-direction: column; justify-content: space-between; }
.task-spectrum { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; margin: 3rem 0; }
.task-spectrum article { min-height: 240px; padding: 1.7rem; background: var(--cream); border-top: 4px solid var(--forest); }
.task-spectrum .high-impact { background: var(--forest-deep); color: var(--white); }
.task-spectrum h3 { margin-top: 1.4rem; font-size: 1.5rem; }
.task-spectrum p { color: var(--ink-soft); }
.task-spectrum .high-impact p { color: #dfe5d8; }
.spectrum-level { font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.inventory-fields { display: grid; gap: .7rem; margin-top: 1.5rem; }
.inventory-fields label { display: grid; grid-template-columns: 80px 1fr; align-items: center; gap: 1rem; font-size: .82rem; font-weight: 700; }
.inventory-fields input { width: 100%; min-height: 46px; padding: .75rem; border: 1px solid var(--line); border-radius: 0; background: var(--white); font: inherit; }
.lab-hint { margin-bottom: 0; color: var(--ink-soft); font-size: .85rem; }
.suitability-tool { margin: 3rem 0; padding: clamp(1.5rem,4vw,3rem); background: #e8e5dc; }
.suitability-head { display: flex; justify-content: space-between; align-items: center; gap: 2rem; margin-bottom: 2rem; }
.suitability-head h3 { margin: 0; font-size: clamp(1.8rem,3vw,2.8rem); }
.score-orbit { flex: 0 0 106px; aspect-ratio: 1; display: flex; align-items: baseline; justify-content: center; padding-top: 1.9rem; border: 1px solid var(--forest); border-radius: 50%; }
.score-orbit strong { font-family: var(--serif); font-size: 2.5rem; font-weight: 400; }
.score-orbit span { color: var(--ink-soft); }
.suitability-tool > label { display: grid; grid-template-columns: minmax(0,1fr) minmax(200px,.65fr); align-items: center; gap: 1rem; padding: .8rem 0; border-top: 1px solid var(--line); font-weight: 650; }
.suitability-tool select { min-height: 44px; padding: .6rem; border: 1px solid var(--line); border-radius: 0; background: var(--white); color: var(--ink); font: inherit; }
.suitability-tool fieldset { margin: 1rem 0; padding: 1.2rem; border: 1px solid var(--line); }
.suitability-tool fieldset label { margin-right: 1.5rem; }
.suitability-result { margin-top: 1rem; padding: 1rem; background: var(--paper); border-left: 4px solid var(--forest); }
.contribution-grid, .metrics-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; margin: 3rem 0; background: var(--line); border: 1px solid var(--line); }
.contribution-grid article, .metrics-grid article { min-height: 180px; padding: 1.4rem; background: var(--paper); }
.contribution-grid span, .metrics-grid span { font-family: var(--serif); font-size: 1.4rem; }
.contribution-grid p, .metrics-grid p { color: var(--ink-soft); }
.contribution-grid small { color: var(--forest); font-weight: 700; }
.responsibility-rule { margin: 2rem 0; padding: 2rem; background: var(--forest-deep); color: var(--white); }
.responsibility-rule blockquote { margin: 1rem 0 0; font-family: var(--serif); font-size: clamp(1.5rem,3vw,2.4rem); line-height: 1.3; }
.workflow-builder { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin: 3rem 0 1rem; padding: 1px; background: var(--line); }
.workflow-column { padding: clamp(1.3rem,3vw,2.2rem); background: var(--cream); }
.workflow-column.assisted-column { background: #dfe5d8; }
.workflow-column label { display: flex; flex-direction: column; gap: .4rem; margin-top: 1rem; font-size: .82rem; font-weight: 700; }
.workflow-column textarea { width: 100%; padding: .75rem; border: 1px solid var(--line); border-radius: 0; background: var(--white); font: inherit; resize: vertical; }
.workflow-output { display: grid; grid-template-columns: repeat(5,1fr); gap: 1px; min-height: 100px; margin-top: 1rem; padding: 1px; background: var(--line); }
.workflow-output article { padding: 1.2rem; background: var(--forest-deep); color: var(--white); }
.workflow-output span { display: block; margin-bottom: .5rem; color: #bfcab9; font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; }
.workflow-output p { margin: 0; }
.pilot-principles { display: grid; grid-template-columns: repeat(4,1fr); gap: 1rem; margin: 3rem 0; }
.pilot-principles article { min-height: 160px; padding: 1.3rem; border-top: 3px solid var(--forest); background: var(--cream); }
.pilot-principles span { font-family: var(--serif); font-size: 1.35rem; }
.pilot-principles p { color: var(--ink-soft); font-size: .9rem; }
.pilot-output { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; min-height: 150px; margin-top: 1.2rem; padding: 1px; background: rgba(255,255,255,.25); }
.pilot-output article { padding: 1.1rem; background: var(--forest-deep); color: var(--white); }
.pilot-output span { display: block; margin-bottom: .4rem; color: #bfcab9; font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; }
.pilot-output p { margin: 0; }
.decision-gate { margin: 2.5rem 0; padding: 2rem; background: var(--cream); }
.decision-gate > div { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; background: var(--line); }
.decision-gate article { padding: 1.4rem; background: var(--paper); }
.decision-gate strong { font-family: var(--serif); font-size: 1.35rem; font-weight: 400; }
.decision-gate p { color: var(--ink-soft); }
.module-hero-verification { background: #e8e5dc; }
.claim-layers, .status-grid, .contrast-canvas { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin: 3rem 0; padding: 1px; background: var(--line); }
.claim-layers article, .status-grid article, .contrast-canvas article { min-height: 155px; padding: 1.4rem; background: var(--paper); }
.claim-layers span, .contrast-canvas span { font-family: var(--serif); font-size: 1.35rem; }
.claim-layers p, .status-grid p, .contrast-canvas p { color: var(--ink-soft); }
.status-grid article { display: grid; grid-template-columns: 16px 1fr; gap: .65rem; align-content: start; }
.status-grid p { grid-column: 2; margin-top: .2rem; }
.status-dot { width: 12px; height: 12px; margin-top: .35rem; border-radius: 50%; background: var(--sage); }
.status-dot.inferred { background: #9c783e; }
.status-dot.proposed { background: #49677a; }
.status-dot.unknown { background: #777; }
.status-practice { margin: 2rem 0; padding: 2rem; background: var(--cream); }
.status-practice h3 { font-size: 1.7rem; }
.evidence-path { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr; gap: .7rem; align-items: center; margin: 3rem 0; }
.evidence-path article { min-height: 170px; padding: 1.2rem; border-top: 3px solid var(--forest); background: var(--cream); }
.evidence-path span, .evidence-path strong { display: block; }
.evidence-path span { margin-bottom: 1rem; font-family: var(--serif); color: var(--ink-soft); }
.evidence-path p { color: var(--ink-soft); font-size: .88rem; }
.evidence-path b { color: var(--ink-soft); font-weight: 400; }
.critical-data-grid, .absence-wheel { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; margin: 3rem 0; background: var(--line); border: 1px solid var(--line); }
.critical-data-grid article, .absence-wheel article { min-height: 150px; padding: 1.3rem; background: var(--paper); }
.critical-data-grid span, .absence-wheel span { font-family: var(--serif); font-size: 1.3rem; }
.critical-data-grid p, .absence-wheel p { color: var(--ink-soft); font-size: .9rem; }
.audit-builder, .decision-builder { margin: 2.5rem 0; padding: clamp(1.5rem,4vw,3rem); background: #dfe5d8; }
.audit-builder h3, .decision-builder h3 { font-size: clamp(1.7rem,3vw,2.6rem); }
.audit-builder label { display: flex; flex-direction: column; gap: .45rem; margin: 1rem 0; font-weight: 700; }
.audit-builder textarea, .audit-builder select { padding: .8rem; border: 1px solid var(--line); border-radius: 0; background: var(--white); font: inherit; }
.audit-output, .decision-output { min-height: 130px; margin-top: 1rem; padding: 1.3rem; white-space: pre-wrap; background: var(--forest-deep); color: var(--white); }
.decision-matrix { display: grid; grid-template-columns: .7fr 1fr 1fr; gap: 1px; margin: 3rem 0; background: var(--line); border: 1px solid var(--line); }
.decision-matrix > * { min-height: 80px; display: flex; align-items: center; padding: 1rem; background: var(--paper); }
.decision-matrix strong { font-family: var(--serif); font-weight: 400; }
.decision-matrix span { background: var(--cream); }
.module-hero-integrator { background: var(--forest-deep); color: var(--white); }
.module-hero-integrator .module-intro { color: #dfe5d8; }
.module-hero-integrator .module-meta span { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.25); }
.module-hero-integrator .outcome-card { background: var(--paper); color: var(--ink); }
.project-entry { display: grid; gap: 1rem; margin: 2rem 0; padding: clamp(1.5rem,4vw,2.5rem); background: var(--cream); }
.project-entry.two-fields { grid-template-columns: 1fr 1fr; }
.project-entry label, .boundary-map label { display: flex; flex-direction: column; gap: .45rem; font-size: .82rem; font-weight: 700; }
.project-entry input, .project-entry textarea, .boundary-map textarea { width: 100%; padding: .8rem; border: 1px solid var(--line); border-radius: 0; background: var(--white); font: inherit; resize: vertical; }
.value-choices { display: grid; grid-template-columns: repeat(3,1fr); gap: .7rem; margin: 2rem 0; }
.value-choices label { padding: 1rem; background: #dfe5d8; cursor: pointer; }
.value-choices input { margin-right: .45rem; accent-color: var(--forest); }
.boundary-map { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin: 3rem 0; background: var(--line); border: 1px solid var(--line); }
.boundary-map article { padding: 1.5rem; background: var(--paper); }
.boundary-map article > span { display: block; margin-bottom: 1.2rem; font-family: var(--serif); font-size: 1.45rem; }
.choreography-grid, .failure-prompts, .learning-scorecard { display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; margin: 3rem 0; background: var(--line); border: 1px solid var(--line); }
.choreography-grid article, .failure-prompts article, .learning-scorecard article { min-height: 180px; padding: 1.3rem; background: var(--paper); }
.choreography-grid span, .failure-prompts span, .learning-scorecard span { font-family: var(--serif); font-size: 1.35rem; }
.choreography-grid p, .failure-prompts p, .learning-scorecard p { color: var(--ink-soft); font-size: .9rem; }
.final-builder { margin: 3rem 0; padding: clamp(1.5rem,4vw,3rem); background: #dfe5d8; }
.final-builder-head { display: flex; justify-content: space-between; align-items: center; gap: 2rem; margin-bottom: 2rem; }
.final-builder-head h3 { margin: 0; font-size: clamp(1.8rem,3vw,2.8rem); }
.readiness-ring { flex: 0 0 112px; aspect-ratio: 1; display: flex; flex-direction: column; justify-content: center; align-items: center; border: 1px solid var(--forest); border-radius: 50%; }
.readiness-ring strong { font-family: var(--serif); font-size: 1.8rem; font-weight: 400; }
.readiness-ring span { color: var(--ink-soft); font-size: .72rem; }
.protocol-output { display: grid; gap: 1px; min-height: 180px; margin-top: 1rem; background: var(--line); }
.protocol-output section { padding: 1.2rem; background: var(--paper); }
.protocol-output h4 { margin: 0 0 .55rem; font-family: var(--serif); font-size: 1.25rem; font-weight: 400; }
.protocol-output p { margin: 0; white-space: pre-wrap; color: var(--ink-soft); }
.protocol-actions { display: flex; flex-wrap: wrap; gap: 1.5rem; }
.project-rubric { margin: 2.5rem 0; padding: 2rem; border: 1px solid var(--line); }
.project-rubric label { display: flex; gap: .7rem; padding: .55rem 0; }
.project-rubric input { accent-color: var(--forest); }
.rubric-result { min-height: 1.5rem; margin-bottom: 0; font-weight: 700; }
.course-completion { padding-inline: clamp(1rem,4vw,3rem); background: var(--forest-deep); color: var(--white); }
.module-footer { margin-top: 0; }

@media (max-width: 900px) {
  .module-header { grid-template-columns: 1fr auto; }
  .module-progress { grid-row: 2; grid-column: 1 / -1; }
  .module-hero { grid-template-columns: 1fr; }
  .lesson-layout { grid-template-columns: 1fr; }
  .lesson-index { position: static; margin: 2rem 0 0; display: grid; grid-template-columns: 1fr 1fr; gap: 0 1rem; }
  .lesson-index .small-caps { grid-column: 1 / -1; }
  .output-grid, .iteration-loop { grid-template-columns: 1fr 1fr; }
  .task-spectrum, .pilot-principles { grid-template-columns: 1fr 1fr; }
  .workflow-output { grid-template-columns: 1fr 1fr; }
  .evidence-path { grid-template-columns: 1fr; }
  .evidence-path b { transform: rotate(90deg); justify-self: center; }
  .chain-map { grid-template-columns: 1fr; }
  .chain-map b { transform: rotate(90deg); justify-self: center; }
}

@media (max-width: 650px) {
  .module-header .brand-line, .module-header .brand-note { display: none; }
  .back-link { font-size: 0; }
  .back-link::after { content: "← Cursos"; font-size: .85rem; }
  .lesson-index { grid-template-columns: 1fr; }
  .lesson-section { grid-template-columns: 1fr; }
  .lesson-number { font-size: 1.5rem; }
  .concept-flow { grid-template-columns: 1fr; }
  .concept-flow b { transform: rotate(90deg); justify-self: center; }
  .two-column-notes, .capability-grid, .prompt-anatomy, .builder-fields, .before-after, .output-grid, .contract-fields, .example-pattern, .iteration-loop, .question-ladder, .task-spectrum, .contribution-grid, .workflow-builder, .workflow-output, .pilot-principles, .pilot-output, .metrics-grid, .decision-gate > div, .claim-layers, .status-grid, .critical-data-grid, .absence-wheel, .contrast-canvas, .project-entry.two-fields, .value-choices, .boundary-map, .choreography-grid, .failure-prompts, .learning-scorecard { grid-template-columns: 1fr; }
  .decision-matrix { grid-template-columns: 1fr; }
  .decision-matrix > div:first-child { display: none; }
  .suitability-head { align-items: flex-start; }
  .suitability-tool > label { grid-template-columns: 1fr; }
  .inventory-fields label { grid-template-columns: 1fr; gap: .35rem; }
  .example-pattern .new-case { grid-column: auto; }
  .operation-tabs { grid-template-columns: 1fr 1fr; }
  .operation-tabs button { border-bottom: 1px solid var(--line); }
  .operation-panel > div { grid-template-columns: 1fr; gap: .5rem; }
  .builder-heading { align-items: flex-start; flex-direction: column; }
  .builder-heading > span { text-align: left; }
  .suitability-head { flex-direction: column; }
  .final-builder-head { align-items: flex-start; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  .progress-track span { transition: none; }
}
