:root {
  --paper: #fffefd;
  --ground: #f7f3f0;
  --ink: #201e20;
  --body: #5e5a5e;
  --muted: #706871;
  --accent: #76577f;
  --strong: #57415e;
  --line: #e5e0e5;
  --tint: #f0edf2;
  --practice: #f5f4f6;
  --green: #43695d;
  color: var(--ink);
  background: var(--ground);
  font-family: "Helvetica Neue", "PingFang SC", "Microsoft YaHei", sans-serif;
  font-synthesis: none;
  color-scheme: light;
}
* { box-sizing: border-box; letter-spacing: 0; }
body { margin: 0; }
p, h1, h2, h3, h4, figure, dl, dd { margin: 0; }
a { color: inherit; text-decoration: none; touch-action: manipulation; }
a:hover { color: var(--accent); }
img { display: block; max-width: 100%; }
[hidden] { display: none !important; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 5px; }
[id] { scroll-margin-top: 102px; }
[tabindex="-1"]:focus:not(:focus-visible) { outline: none; }
.page-width { width: calc(100% - 112px); max-width: 1480px; margin-inline: auto; }
.site-header { height: 72px; padding-inline: 56px; display: flex; align-items: center; justify-content: space-between; gap: 20px; position: sticky; top: 0; z-index: 5; background: var(--ground); border-bottom: 1px solid var(--line); }
.wordmark { display: flex; align-items: center; gap: 20px; font-size: 20px; font-weight: 600; }
.wordmark span { border-left: 1px solid var(--line); padding-left: 20px; color: var(--muted); font-size: 13px; font-weight: 400; }
.contact-link { font-size: 14px; white-space: nowrap; }
.skip-link { position: fixed; top: 10px; left: 10px; transform: translateY(-180%); z-index: 10; padding: 14px; background: var(--paper); }
.skip-link:focus { transform: none; }
.case-intro { position: relative; padding-block: 50px 34px; padding-right: 255px; min-height: 320px; }
.breadcrumb { display: flex; flex-wrap: wrap; gap: 12px; color: var(--muted); font-size: 13px; line-height: 1.8; margin-bottom: 23px; }
h1 { font-size: 52px; line-height: 1.3; font-weight: 550; }
.case-subtitle { margin-top: 12px; color: var(--strong); font-size: 24px; line-height: 1.6; font-weight: 450; }
.case-lead { margin-top: 18px; max-width: 770px; font-size: 17px; line-height: 1.9; color: var(--body); }
.case-art { position: absolute; right: 0; top: 45px; width: 190px; aspect-ratio: 4 / 5; }
.case-art img { width: 100%; height: 100%; object-fit: contain; border-radius: 6px; }
.case-art figcaption { font-size: 13px; color: var(--muted); }
.outcomes { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 28px; padding-block: 24px 34px; border-top: 1px solid var(--line); }
.outcome dt { color: var(--strong); font-size: 19px; font-weight: 550; line-height: 1.6; margin-bottom: 8px; }
.outcome dd { font-size: 14px; line-height: 1.85; color: var(--body); }
.outcome dd b { font-weight: 500; color: var(--ink); }
.case-body { display: grid; grid-template-columns: 156px minmax(0,1fr); gap: 30px; align-items: start; padding-top: 12px; }
.contents { align-self: stretch; }
.contents-inner { position: sticky; top: 106px; }
.contents-inner > p { color: var(--muted); font-size: 12px; margin-bottom: 16px; }
.contents nav { display: grid; border-left: 1px solid var(--line); }
.contents a { display: flex; gap: 10px; align-items: baseline; margin-left: -1px; border-left: 2px solid transparent; padding: 13px 0 13px 12px; font-size: 14px; line-height: 1.7; color: var(--muted); }
.contents a span { font-size: 11px; }
.contents a[aria-current] { color: var(--strong); border-color: var(--accent); font-weight: 600; }
.contents small { display: block; margin-top: 30px; font-size: 12px; line-height: 1.85; color: var(--muted); }
.reading-surface { background: var(--paper); min-width: 0; padding-inline: 42px; }
.chapter { padding-block: 44px 50px; }
.chapter + .chapter { border-top: 1px solid var(--line); }
.chapter-heading { margin-bottom: 23px; }
.chapter-number { color: var(--accent); display: block; margin-bottom: 10px; font-size: 12px; }
h2 { font-size: 29px; line-height: 1.5; font-weight: 550; overflow-wrap: anywhere; }
h3 { font-size: 21px; line-height: 1.6; font-weight: 550; margin-bottom: 16px; }
h4 { font-size: 17px; line-height: 1.65; font-weight: 550; }
.chapter p, .chapter li, .chapter dd { color: var(--body); font-size: 15px; line-height: 1.9; }
.chapter p + p { margin-top: 14px; }
.chapter .lead { font-size: 17px; line-height: 1.9; color: var(--ink); max-width: 880px; }
strong { color: var(--strong); font-weight: 550; }
.module { margin-top: 32px; }
.method-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin-top: 25px; gap: 20px; }
.method-grid > div { padding-top: 14px; border-top: 2px solid var(--line); }
.method-grid h4 { color: var(--strong); margin-bottom: 7px; }
.method-grid p { font-size: 14px; }
.responsibility { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; margin-top: 28px; padding-block: 20px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.responsibility h4 { margin-bottom: 6px; }
.responsibility p { font-size: 14px; }
.case-study { background: var(--practice); padding: 25px 28px 27px; margin-top: 32px; }
.case-study > .case-label { color: var(--strong); font-size: 12px; margin-bottom: 8px; }
.case-title { font-size: 20px; margin-bottom: 15px; }
.case-study p { font-size: 15px; }
.case-goals { display: flex; flex-wrap: wrap; gap: 10px 26px; margin-top: 17px; padding-top: 16px; border-top: 1px solid var(--line); }
.case-goals span { font-size: 14px; color: var(--strong); }
.layer-map { display: grid; margin-top: 25px; }
.layer-row { display: grid; grid-template-columns: 120px minmax(0,1fr) 175px; gap: 22px; align-items: start; padding: 18px 0; border-bottom: 1px solid var(--line); }
.layer-row:last-child { border-bottom: 0; }
.layer-row dt { font-size: 16px; color: var(--strong); font-weight: 550; line-height: 1.8; }
.layer-row dd { font-size: 14px; }
.layer-row .layer-purpose { color: var(--muted); border-left: 2px solid var(--line); padding-left: 16px; }
.route { display: flex; align-items: center; gap: 16px; padding: 20px 24px; background: var(--tint); margin: 23px 0; }
.route > span:not(.arrow) { flex: 1; font-size: 15px; line-height: 1.8; color: var(--strong); }
.route small { display: block; color: var(--body); font-size: 12px; }
.arrow { color: var(--accent); flex-shrink: 0; }
.matrix { margin-top: 22px; }
.rule-table { border-collapse: collapse; width: 100%; table-layout: fixed; text-align: left; font-size: 14px; line-height: 1.85; }
.rule-table th,.rule-table td { padding: 15px 13px; vertical-align: top; overflow-wrap: anywhere; }
.rule-table thead { background: var(--tint); color: var(--strong); }
.rule-table thead th { font-weight: 500; border-bottom: 1px solid #d9d1dc; }
.rule-table tbody th { color: var(--strong); font-weight: 550; }
.rule-table tbody td { color: var(--body); }
.rule-table tbody tr:not(:last-child) { border-bottom: 1px solid var(--line); }
.field-label { display: none; }
.chapter .boundary { margin-top: 18px; font-size: 13px; color: var(--muted); line-height: 1.85; }
.decision-record { display: grid; gap: 16px; margin-top: 18px; }
.decision-record > div { display: grid; grid-template-columns: 74px minmax(0,1fr); gap: 18px; }
.decision-record dt { color: var(--strong); font-size: 14px; line-height: 1.9; font-weight: 500; }
.decision-record dd { font-size: 14px; }
.skill-build { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 26px; margin-top: 26px; }
.skill-build > div { position: relative; border-top: 2px solid var(--line); padding-top: 16px; }
.skill-build h4 { margin-bottom: 8px; }
.skill-build p { font-size: 14px; }
.skill-build small { display: block; font-size: 12px; color: var(--accent); margin-bottom: 8px; }
.skill-layers { display: grid; gap: 0; }
.skill-layers > div { display: grid; grid-template-columns: 126px minmax(0,1fr); gap: 22px; padding: 16px 0; border-bottom: 1px solid var(--line); }
.skill-layers > div:last-child { border-bottom: 0; }
.skill-layers dt { font-size: 15px; line-height: 1.8; font-weight: 550; color: var(--strong); }
.skill-layers dd { font-size: 14px; }
.axis-list { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 20px; margin-top: 22px; padding: 22px 0; border-block: 1px solid var(--line); }
.axis-list dt { color: var(--strong); font-size: 14px; margin-bottom: 7px; }
.axis-list dd { font-size: 13px; }
.audit-return { display: grid; grid-template-columns: 1fr 30px 1fr 30px 1fr; gap: 12px; align-items: start; padding-block: 22px; margin-top: 24px; border-block: 1px solid var(--line); }
.audit-return h4 { font-size: 15px; margin-bottom: 7px; }
.audit-return p { font-size: 13px; }
.audit-return .arrow { padding-top: 3px; text-align: center; }
.trace-legend { display: flex; gap: 24px; flex-wrap: wrap; font-size: 13px; color: var(--strong); margin: 24px 0 7px; }
.trace-chain { padding: 0; margin: 0; list-style: none; position: relative; }
.trace-chain li { position: relative; display: grid; grid-template-columns: 170px minmax(0,1fr); column-gap: 28px; padding: 20px 22px 20px 46px; margin-left: 8px; border-bottom: 1px solid var(--line); border-left: 1px solid #bcb0c1; }
.trace-chain li::before { content: "↓"; position: absolute; left: -7px; top: 25px; color: var(--accent); background: var(--paper); font-size: 16px; line-height: 1; }
.trace-chain li::after { content: "↑"; position: absolute; left: 9px; top: 25px; color: var(--green); background: var(--paper); font-size: 16px; line-height: 1; }
.trace-chain li:last-child { border-bottom: 0; }
.trace-chain h4 { font-size: 16px; color: var(--strong); }
.trace-chain p { font-size: 14px; }
.trace-chain .deliverable { display: block; color: var(--muted); font-size: 12px; margin-top: 4px; }
.star-context { display: grid; grid-template-columns: 1.4fr 1fr; gap: 28px; margin-bottom: 22px; }
.star-phase { color: var(--accent); font-size: 12px; display: block; margin-bottom: 9px; }
.star-context h4 { font-size: 16px; margin-bottom: 8px; }
.star-context p { font-size: 14px; }
.star-action { border-top: 1px solid var(--line); padding-top: 22px; }
.star-action h4 { margin-bottom: 12px; }
.star-action p { font-size: 15px; }
.cause-line { margin: 18px 0; padding: 16px 0; color: var(--strong); font-size: 15px; line-height: 1.85; border-block: 1px solid var(--line); }
.star-result { margin-top: 23px; padding-top: 20px; border-top: 1px solid var(--line); }
.star-result h4 { font-size: 16px; margin-bottom: 8px; }
.star-result p { font-size: 14px; }
.release-strip { display: flex; gap: 14px 32px; flex-wrap: wrap; padding-block: 16px; border-block: 1px solid var(--line); margin: 20px 0 0; font-size: 14px; color: var(--strong); }
.closing { font-size: 18px !important; line-height: 1.9 !important; color: var(--ink) !important; margin-top: 30px; }
.case-end { margin-block: 38px; }
.case-end h2 { font-size: 19px; margin-bottom: 19px; }
.related-links { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; }
.related-links a { display: flex; justify-content: space-between; gap: 20px; padding-block: 17px; border-top: 1px solid var(--line); font-size: 16px; line-height: 1.7; }
.related-links strong { font-weight: 500; }
.page-footer { display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap; padding-block: 24px 36px; border-top: 1px solid var(--line); font-size: 13px; color: var(--muted); }
@media(min-width:1700px) { .reading-surface { padding-inline: 56px; } }
@media(max-width:1150px) {
  .page-width { width: calc(100% - 64px); }
  .site-header { padding-inline: 32px; }
  .case-body { grid-template-columns: 140px minmax(0,1fr); gap: 22px; }
  .reading-surface { padding-inline: 28px; }
  h1 { font-size: 46px; } h2 { font-size: 26px; }
  .outcomes { gap: 22px; }
  .layer-row { grid-template-columns: 110px minmax(0,1fr); gap: 18px; }
  .layer-purpose { grid-column: 2; border-left: 0 !important; padding-left: 0 !important; margin-top: -10px; }
  .method-grid { grid-template-columns: 1fr 1fr; gap: 22px; }
  .trace-chain li { grid-template-columns: 140px minmax(0,1fr); gap: 20px; padding-right: 0; }
  .rule-table th,.rule-table td { padding-inline: 10px; }
}
@media(max-width:800px) {
  .page-width { width: calc(100% - 36px); }
  .site-header { height: 64px; padding-inline: 18px; }
  .wordmark { gap: 12px; font-size: 18px; }
  .wordmark span { padding-left: 12px; font-size: 12px; }
  .contact-link { font-size: 13px; }
  .case-intro { min-height: 0; padding: 30px 0 25px; }
  .breadcrumb { font-size: 12px; gap: 8px; margin-bottom: 19px; }
  h1 { font-size: 34px; padding-right: 105px; min-height: 88px; display: flex; align-items: center; }
  .case-subtitle { font-size: 20px; margin-top: 15px; }
  .case-lead { font-size: 15px; margin-top: 12px; }
  .case-art { width: 85px; top: 77px; }
  .outcomes { grid-template-columns: 1fr 1fr; gap: 22px; padding-block: 22px 28px; }
  .outcome dt { font-size: 17px; margin-bottom: 6px; }
  .outcome dd { font-size: 13px; }
  .case-body { display: block; padding-top: 0; }
  .contents { margin-bottom: 22px; }
  .contents-inner { position: static; }
  .contents-inner > p { margin-bottom: 10px; }
  .contents nav { grid-template-columns: repeat(3,minmax(0,1fr)); border: 0; gap: 2px 8px; }
  .contents a { margin-left: 0; font-size: 12px; padding: 8px 0 8px 6px; gap: 5px; }
  .contents small { display: none; }
  .reading-surface { padding-inline: 20px; }
  .chapter { padding-block: 30px 35px; }
  h2 { font-size: 24px; } h3 { font-size: 20px; }
  h3, h4 { text-wrap: balance; }
  .chapter-heading { margin-bottom: 20px; }
  .chapter .lead { font-size: 16px; }
  .module { margin-top: 26px; }
  .responsibility { grid-template-columns: 1fr; gap: 20px; }
  .case-study { padding: 22px 18px; margin-inline: -4px; margin-top: 26px; }
  .layer-row { grid-template-columns: 1fr; gap: 5px; padding-block: 15px; }
  .layer-purpose { grid-column: auto; margin-top: 0; }
  .route { padding: 17px; gap: 10px; flex-direction: column; align-items: stretch; }
  .route .arrow { transform: rotate(90deg); align-self: center; line-height: 1; }
  .route > span:not(.arrow) { font-size: 15px; }
  .route small { font-size: 13px; }
  .rule-table, .rule-table tbody, .rule-table tr { display: block; width: 100%; }
  .rule-table colgroup { display: none; }
  .rule-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .rule-table tbody tr { padding-bottom: 16px; margin-bottom: 16px; }
  .rule-table tbody tr:last-child { padding-bottom: 0; margin-bottom: 0; }
  .rule-table tbody th { display: block; padding: 0 0 10px; font-size: 16px; }
  .rule-table tbody td { display: block; padding: 0 0 10px; font-size: 14px; }
  .rule-table tbody td:last-child { padding-bottom: 0; }
  .field-label { display: block; font-size: 12px; color: var(--muted); margin-bottom: 3px; }
  .decision-record > div { grid-template-columns: 1fr; gap: 4px; }
  .skill-build { grid-template-columns: 1fr; gap: 20px; }
  .skill-build > div { padding-top: 14px; }
  .skill-build small { margin-bottom: 4px; }
  .skill-layers > div { grid-template-columns: 1fr; gap: 5px; }
  .axis-list { grid-template-columns: 1fr 1fr; gap: 20px; }
  .audit-return { grid-template-columns: 1fr; gap: 10px; }
  .audit-return .arrow { transform: rotate(90deg); text-align: left; width: 22px; padding: 0; justify-self: center; }
  .audit-return p { font-size: 14px; }
  .trace-chain li { grid-template-columns: 1fr; padding: 17px 0 17px 36px; gap: 7px; }
  .trace-chain li::before,.trace-chain li::after { top: 22px; }
  .trace-chain .deliverable { margin-top: 2px; }
  .trace-legend { gap: 8px 20px; font-size: 12px; }
  .star-context { grid-template-columns: 1fr; gap: 22px; }
  .star-action p { font-size: 14px; }
  .related-links { grid-template-columns: 1fr; gap: 6px; }
  .page-footer { gap: 16px; }
  [id] { scroll-margin-top: 86px; }
}
@media(max-width:359px) {
  h1 { font-size: 29px; padding-right: 88px; }
  .case-art { width: 73px; top: 79px; }
  .case-subtitle { font-size: 18px; }
  .outcomes { gap: 20px 16px; }
  .reading-surface { padding-inline: 16px; }
  .method-grid { grid-template-columns: 1fr; }
  .contents a { font-size: 11px; }
}
@media(prefers-reduced-motion:reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; } }
@media print {
  :root { --ground: #fff; --paper: #fff; }
  .site-header,.contents,.skip-link,.case-end,.page-footer { display: none; }
  .page-width { width: 100%; max-width: none; }
  .case-body { display: block; }
  .reading-surface { padding: 0; }
  .chapter { padding-block: 25px; break-inside: auto; }
  .chapter-heading,h3,h4 { break-after: avoid; }
  tr,.case-study,.trace-chain li,.layer-row { break-inside: avoid; }
  a { text-decoration: none; }
}

/* v0.2：仅覆盖截图点名模块；其余结构与样式继承v0.1。 */
.case-art { overflow: hidden; border-radius: 6px; }
.case-art img { width: 102.1%; max-width: none; height: auto; transform: translateX(-1.03%); border-radius: 0; }
#goal-definition .method-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px 40px; margin-top: 0; }
#goal-definition .method-grid > div { border: 0; padding: 0; }
#goal-definition .method-grid h4 { font-size: 16px; color: var(--ink); }
#responsibility-group .responsibility { margin-top: 0; border: 0; padding: 0; gap: 40px; }
#responsibility-group .responsibility h4 { font-size: 16px; color: var(--ink); }
#responsibility-group .boundary { margin-top: 15px; }
.reading-route { list-style: decimal-leading-zero; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px; padding: 0 0 0 26px; margin: 0 0 20px; }
.reading-route li { padding-left: 4px; }
.reading-route li::marker { color: var(--muted); font-size: 12px; }
.reading-route span { display: block; font-size: 15px; color: var(--ink); font-weight: 500; }
.reading-route small { display: block; color: var(--body); font-size: 13px; }
#skill-making .skill-build { gap: 12px; margin-top: 0; }
#skill-making .skill-build > div { padding: 18px; border: 1px solid #e5e0e2; border-radius: 4px; background: #f5f4f3; }
#skill-making .skill-build h4 { color: var(--ink); font-size: 16px; line-height: 1.65; margin-bottom: 8px; }
#skill-making .skill-build p { font-size: 15px; line-height: 1.85; overflow-wrap: anywhere; }
#skill-register .axis-list { grid-template-columns: 1fr; gap: 10px; padding: 0; border: 0; margin: 18px 0; }
#skill-register .axis-list > div { display: grid; grid-template-columns: 120px minmax(0,1fr); gap: 18px; }
#skill-register .axis-list dt { color: var(--ink); font-weight: 500; margin: 0; font-size: 14px; line-height: 1.85; }
#skill-register .axis-list dd { font-size: 14px; line-height: 1.85; }
#skill-register .registry-note { font-size: 14px; color: var(--body); }
.audit-resolution { margin-top: 25px; }
.audit-resolution h3 { font-size: 17px; margin-bottom: 8px; }
.audit-resolution p { font-size: 14px; }
#workflow-derivation .check-directions { font-size: 14px; color: var(--body); }
#workflow-derivation .matrix { margin-top: 16px; }
.derivation-table .step-index { display: inline-block; color: var(--muted); font-size: 11px; font-weight: 400; margin-right: 10px; }
.derivation-table tbody th { color: var(--ink); }
.feedback-steps { margin: 0 0 18px; padding-left: 24px; display: grid; gap: 10px; }
.feedback-steps li { padding-left: 6px; }
.feedback-steps li::marker { color: var(--muted); font-size: 12px; }
.feedback-steps h4 { display: inline; color: var(--ink); font-size: 15px; margin-right: 16px; }
.feedback-steps p { display: inline; font-size: 14px; }
#feedback-method > p { font-size: 15px; }
@media(max-width:800px) {
 #goal-definition .method-grid { grid-template-columns: 1fr; gap: 18px; }
 #responsibility-group .responsibility { gap: 18px; }
 .reading-route { grid-template-columns: 1fr; gap: 12px; }
 #skill-making .skill-build > div { padding: 16px; }
 #skill-register .axis-list > div { grid-template-columns: 90px minmax(0,1fr); gap: 12px; }
 .feedback-steps h4,.feedback-steps p { display: block; }
 .feedback-steps h4 { margin-bottom: 3px; }
}

/* v0.3：视觉容器表示归属，连接表示顺序。只作用于本轮修订范围。 */
.case-intro { display: grid; grid-template-columns: minmax(0,1fr) 250px; align-items: center; gap: 52px; padding: 60px 0 66px; min-height: 0; }
.intro-copy { min-width: 0; }
.case-intro .breadcrumb { margin-bottom: 26px; font-size: 14px; }
.case-intro h1 { font-size: 48px; line-height: 1.35; }
.case-intro .case-lead { font-size: 18px; line-height: 1.9; margin-top: 22px; max-width: 780px; }
.case-intro .case-art { position: static; width: 250px; border-radius: 8px; }
.case-intro .outcomes { grid-template-columns: 1fr; gap: 15px; border: 0; padding: 0; margin-top: 26px; }
.case-intro .outcome { display: grid; grid-template-columns: 110px minmax(0,1fr); gap: 18px; }
.case-intro .outcome dt { font-size: 15px; line-height: 1.85; font-weight: 500; margin: 0; }
.case-intro .outcome dd { font-size: 15px; line-height: 1.85; }
.case-intro .outcome dd b { font-weight: 400; color: inherit; }

.goal-contract { border: 1px solid #dcd5df; border-radius: 4px; }
#goal-definition,#responsibility-group { display: grid; grid-template-columns: 165px minmax(0,1fr); }
#responsibility-group { border-top: 1px solid #dcd5df; }
.goal-contract h3 { background: #eeeaf0; color: var(--strong); padding: 22px 20px; margin: 0; font-size: 18px; line-height: 1.65; }
#goal-definition .method-grid { gap: 0; }
#goal-definition .method-grid > div { padding: 20px 24px; }
#goal-definition .method-grid > div:nth-child(odd) { border-right: 1px solid var(--line); }
#goal-definition .method-grid > div:nth-child(n+3) { border-top: 1px solid var(--line); }
#goal-definition .method-grid h4 { margin-bottom: 6px; }
.responsibility-content { min-width: 0; padding: 20px 24px; }
#responsibility-group .responsibility { gap: 24px; }
#responsibility-group .responsibility > div + div { border-left: 1px solid var(--line); padding-left: 24px; }
#responsibility-group .boundary { border-top: 1px solid var(--line); padding-top: 13px; margin-top: 15px; }

.memory-cycle { border: 1px solid #dcd5df; border-radius: 4px; }
#memory-use { padding: 22px 24px; }
#memory-cycle h3 { font-size: 18px; margin-bottom: 18px; }
#memory-use .reading-route { list-style: none; counter-reset: read-step; padding: 0; gap: 28px; margin: 0 0 20px; }
#memory-use .reading-route li { position: relative; padding: 15px 16px; background: #f3f1f4; border: 1px solid #e1dbe4; border-radius: 3px; counter-increment: read-step; }
#memory-use .reading-route span::before { content: "0" counter(read-step); color: var(--muted); font-size: 11px; margin-right: 10px; }
#memory-use .reading-route small { margin-top: 5px; }
#memory-use .reading-route li + li::before { content: "→"; position: absolute; left: -24px; top: 50%; transform: translateY(-50%); font-size: 16px; color: var(--accent); }
#memory-use > p { font-size: 14px; }
#memory-update { padding: 22px 24px; border-top: 1px solid #dcd5df; background: #f5f4f5; }
#memory-update > p { font-size: 14px; }
#memory-update > .boundary { font-size: 13px; }

.registry-frame { margin-top: 20px; border: 1px solid #dcd5df; border-radius: 4px; }
#skill-register .axis-list { display: grid; grid-template-columns: 1fr 1fr; gap: 0; margin: 0; }
#skill-register .axis-list > div { display: block; padding: 18px 22px; }
#skill-register .axis-list > div:nth-child(odd) { border-right: 1px solid var(--line); }
#skill-register .axis-list > div:nth-child(n+3) { border-top: 1px solid var(--line); }
#skill-register .axis-list dt { font-size: 15px; font-weight: 550; margin-bottom: 5px; }
#skill-register .registry-note { margin: 0; padding: 16px 22px; background: #f3f1f4; border-top: 1px solid #dcd5df; font-size: 13px; }

.audit-resolution { display: grid; grid-template-columns: 115px minmax(0,1fr); border: 1px solid var(--line); border-radius: 4px; }
.audit-resolution h3 { padding: 18px; margin: 0; font-size: 15px; color: var(--strong); background: #f0edf2; }
.audit-resolution ol { list-style: none; margin: 0; padding: 0; }
.audit-resolution li { display: grid; grid-template-columns: 115px minmax(0,1fr); gap: 16px; padding: 13px 20px; }
.audit-resolution li + li { border-top: 1px solid var(--line); }
.audit-resolution h4 { font-size: 14px; line-height: 1.85; }
.audit-resolution p { font-size: 14px; line-height: 1.85; }

#workflow-derivation { border: 1px solid #dcd5df; border-radius: 4px; }
.derivation-heading { padding: 20px 22px; background: #f6f4f7; }
.derivation-heading h3 { font-size: 18px; margin-bottom: 12px; }
#workflow-derivation .check-directions { display: flex; flex-wrap: wrap; gap: 12px 30px; font-size: 13px; }
.check-directions span { border-left: 2px solid #b7a7be; padding-left: 10px; }
#workflow-derivation .matrix { margin: 0; }
.derivation-table tbody tr:nth-child(even) { background: #faf9fa; }

.feedback-routing { border: 1px solid #dcd5df; border-radius: 4px; }
.feedback-routing h3 { font-size: 18px; padding: 18px 22px; margin: 0; background: #f3f0f5; }
.feedback-routing dl { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }
.feedback-routing dl > div { padding: 18px 22px; }
.feedback-routing dl > div + div { border-left: 1px solid var(--line); }
.feedback-routing dt { font-size: 14px; color: var(--body); line-height: 1.85; }
.feedback-routing dd { color: var(--ink); font-weight: 550; font-size: 15px; margin-top: 8px; }
.feedback-routing dd::before { content: "↓"; color: var(--accent); margin-right: 9px; font-weight: 400; }
.feedback-routing > p { border-top: 1px solid var(--line); padding: 11px 22px; color: var(--muted); font-size: 13px; }
.feedback-loop { border: 1px solid #dcd5df; border-radius: 4px; }
.feedback-loop h3 { font-size: 18px; padding: 18px 22px 0; margin-bottom: 18px; }
.feedback-loop .feedback-steps { list-style: none; counter-reset: feedback-step; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px; margin: 0; padding: 0 22px 22px; }
.feedback-loop .feedback-steps li { counter-increment: feedback-step; position: relative; padding: 15px; border: 1px solid #e1dbe4; border-radius: 3px; background: #f6f5f7; }
.feedback-loop .feedback-steps h4 { display: block; margin: 0 0 7px; }
.feedback-loop .feedback-steps h4::before { content: "0" counter(feedback-step); font-size: 11px; font-weight: 400; color: var(--muted); margin-right: 10px; }
.feedback-loop .feedback-steps p { display: block; }
.feedback-loop .feedback-steps li + li::before { content: "→"; position: absolute; left: -24px; top: 50%; transform: translateY(-50%); color: var(--accent); }
.feedback-loop .feedback-boundary { border-top: 1px solid #dcd5df; background: #f3f1f4; padding: 16px 22px; margin: 0; font-size: 13px; }

@media(min-width:1440px) { .case-intro h1 { font-size: 54px; } }
@media(max-width:1100px) {
 .case-intro { grid-template-columns: minmax(0,1fr) 200px; gap: 30px; }
 .case-intro .case-art { width: 200px; }
 .case-intro h1 { font-size: 42px; }
 #goal-definition,#responsibility-group { grid-template-columns: 135px minmax(0,1fr); }
 .goal-contract h3 { padding: 20px 16px; font-size: 17px; }
 #goal-definition .method-grid > div { padding: 18px; }
 .responsibility-content { padding: 18px; }
 #responsibility-group .responsibility { grid-template-columns: 1fr; gap: 16px; }
 #responsibility-group .responsibility > div + div { border: 0; padding: 0; }
}
@media(max-width:800px) {
 .case-intro { display: block; position: relative; padding-block: 32px; }
 .case-intro .breadcrumb { font-size: 12px; margin-bottom: 18px; }
 .case-intro h1 { font-size: 32px; line-height: 1.35; padding-right: 106px; min-height: 116px; display: block; }
 .case-intro .case-art { width: 92px; position: absolute; right: 0; top: 78px; }
 .case-intro .case-lead { font-size: 16px; margin-top: 16px; }
 .case-intro .outcomes { margin-top: 22px; gap: 15px; }
 .case-intro .outcome { grid-template-columns: 1fr; gap: 4px; }
 .case-intro .outcome dd { font-size: 14px; }
 #goal-definition,#responsibility-group { display: block; }
 .goal-contract h3 { padding: 14px 16px; border-bottom: 1px solid #dcd5df; }
 #goal-definition .method-grid > div { padding: 16px; }
 #goal-definition .method-grid > div:nth-child(odd) { border-right: 0; }
 #goal-definition .method-grid > div + div { border-top: 1px solid var(--line); }
 .responsibility-content { padding: 16px; }
 #memory-use,#memory-update { padding: 18px 16px; }
 #memory-use .reading-route { gap: 26px; }
 #memory-use .reading-route li + li::before { content: "↓"; left: 50%; top: -25px; transform: translateX(-50%); }
 #skill-register .axis-list { grid-template-columns: 1fr; }
 #skill-register .axis-list > div { padding: 16px; }
 #skill-register .axis-list > div:nth-child(odd) { border-right: 0; }
 #skill-register .axis-list > div + div { border-top: 1px solid var(--line); }
 #skill-register .registry-note { padding: 14px 16px; }
 .audit-resolution { display: block; }
 .audit-resolution h3 { padding: 13px 16px; }
 .audit-resolution li { display: block; padding: 13px 16px; }
 .audit-resolution h4 { margin-bottom: 4px; }
 .derivation-heading { padding: 18px 16px; }
 #workflow-derivation .matrix { padding: 16px; }
 .derivation-table tbody tr:nth-child(even) { background: transparent; }
 .feedback-routing h3 { padding: 16px; }
 .feedback-routing dl { grid-template-columns: 1fr; }
 .feedback-routing dl > div { padding: 15px 16px; }
 .feedback-routing dl > div + div { border-left: 0; border-top: 1px solid var(--line); }
 .feedback-routing > p { padding: 12px 16px; }
 .feedback-loop h3 { padding: 16px 16px 0; }
 .feedback-loop .feedback-steps { grid-template-columns: 1fr; gap: 26px; padding: 0 16px 18px; }
 .feedback-loop .feedback-steps li + li::before { content: "↓"; left: 50%; top: -25px; transform: translateX(-50%); }
 .feedback-loop .feedback-boundary { padding: 14px 16px; }
}
@media print { .case-intro .case-art { position: static; } }

/* v0.4：按语义复用实践入口与卡片结构。 */
.case-intro .outcome dt a { text-decoration: underline; text-decoration-color: var(--line); text-underline-offset: 5px; }
.case-intro .outcome dt a:hover { text-decoration-color: currentColor; }
.case-intro .outcome dt a > span { display: inline-block; }
.chapter .lead { max-width: none; }
#goal-definition,#responsibility-group { display: block; }
#responsibility-group { background: #f5f4f6; }
#responsibility-group .responsibility > div + div { padding-left: 24px; border-left: 1px solid var(--line); }
.memory-principles { border: 1px solid #dcd5df; border-radius: 4px; }
.memory-principles > div { display: grid; grid-template-columns: 145px minmax(0,1fr); }
.memory-principles > div + div { border-top: 1px solid var(--line); }
.memory-principles dt { padding: 17px 20px; background: #f3f0f5; color: var(--strong); font-size: 15px; font-weight: 500; line-height: 1.85; }
.memory-principles dd { padding: 17px 22px; font-size: 14px; }
.memory-storage-frame { border: 1px solid #dcd5df; border-radius: 4px; }
#memory-storage .memory-note { margin: 0; padding: 14px 20px; border-top: 1px solid var(--line); background: #f5f4f6; font-size: 13px; }
#memory-maintain { padding: 22px 24px; border-top: 1px solid #dcd5df; background: #f5f4f5; }
#memory-update { background: var(--paper); }
#memory-maintain > p { font-size: 14px; }
#memory-maintain > .boundary { font-size: 13px; }
#feedback-method .feedback-panel { border: 1px solid #dcd5df; border-radius: 4px; background: var(--paper); }
#feedback-method .feedback-panel > h3 { font-size: 18px; line-height: 1.6; padding: 18px 22px; margin: 0; background: #f3f0f5; border-bottom: 1px solid var(--line); }
#feedback-method .feedback-panel > .panel-note { margin: 0; padding: 14px 22px; background: #f5f4f6; border-top: 1px solid var(--line); font-size: 13px; line-height: 1.9; color: var(--body); }
#feedback-method .feedback-loop .feedback-steps { padding-top: 22px; }
@media(max-width:1100px) {
 #responsibility-group .responsibility { grid-template-columns: 1fr 1fr; }
}
@media(max-width:800px) {
 #responsibility-group .responsibility { grid-template-columns: 1fr; }
 #responsibility-group .responsibility > div + div { border-left: 0; padding-left: 0; border-top: 1px solid var(--line); padding-top: 15px; }
 .memory-principles > div { grid-template-columns: 1fr; }
 .memory-principles dt { padding: 12px 16px; }
 .memory-principles dd { padding: 14px 16px; }
 #memory-storage .rule-table tbody { padding: 16px; }
 #memory-storage .memory-note { padding: 14px 16px; }
 #memory-maintain { padding: 18px 16px; }
 #feedback-method .feedback-panel > h3 { padding: 16px; }
 #feedback-method .feedback-panel > .panel-note { padding: 14px 16px; }
 #feedback-method .feedback-loop .feedback-steps { padding-top: 18px; }
}

/* v0.5：首屏呈现实践动作，01共用网格，Memory独立查找/写入。 */
.case-intro .outcome { grid-template-columns: 144px minmax(0,1fr); gap: 18px; }
#responsibility-group .responsibility-content { padding: 0; display: flow-root; }
#responsibility-group .responsibility { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0; }
#responsibility-group .responsibility > div { padding: 20px 24px; }
#responsibility-group .responsibility > div + div { padding: 20px 24px; border-left: 1px solid var(--line); }
#responsibility-group .boundary { margin: 0 24px 20px; padding-top: 13px; }
#memory-use.memory-lookup { padding: 0; border: 0; background: transparent; }
#memory-use.memory-lookup h3,#memory-write h3 { font-size: 21px; line-height: 1.6; margin-bottom: 16px; }
#memory-use.memory-lookup > p { font-size: 15px; }
#memory-write .matrix { margin-top: 0; }
@media(max-width:1100px) {
 #responsibility-group .responsibility > div,#responsibility-group .responsibility > div + div { padding: 18px; }
 #responsibility-group .boundary { margin-inline: 18px; }
}
@media(max-width:800px) {
 .case-intro .outcome { grid-template-columns: 1fr; gap: 4px; }
 #responsibility-group .responsibility { grid-template-columns: 1fr; }
 #responsibility-group .responsibility > div,#responsibility-group .responsibility > div + div { padding: 16px; border-left: 0; }
 #responsibility-group .responsibility > div + div { border-top: 1px solid var(--line); }
 #responsibility-group .boundary { margin: 0 16px 16px; }
 #memory-use.memory-lookup h3,#memory-write h3 { font-size: 20px; }
}

/* v0.7：底部与已确认案例统一；正文保持v0.6。 */
.case-end { margin-block:0; padding-block:55px; display:grid; grid-template-columns:184px minmax(0,1fr); gap:0; }
.case-end h2 { font-size:24px; margin:0; }
.case-end .related-links { display:block; }
.case-end .related-links a { display:flex; gap:20px; justify-content:space-between; padding:20px 0; border-top:0; border-bottom:1px solid var(--line); font-size:18px; line-height:1.7; }
.case-end .related-links strong { color:inherit; font-weight:500; min-width:0; }
.case-end .related-links a > span { flex-shrink:0; }
@media(max-width:800px) { .case-end { display:block; padding-block:32px; } .case-end h2 { margin-bottom:12px; } }
@media print { .case-end { display:none; } }
