/* V9: shared tokens, distinct actions. Same design language does not mean repeated scene layouts. */
:root{--interaction-line:var(--rule);--choice-radius:6px;--feedback-ease:cubic-bezier(.2,.8,.2,1)}
.action-label{font-size:11px;font-weight:600;line-height:1.5;letter-spacing:.025em;color:var(--muted);margin-bottom:8px}.discovery h3{font-size:clamp(16px,4.4vw,23px);line-height:1.45;letter-spacing:-.025em}.discovery-feedback{font-size:12px;line-height:1.75;min-height:4em;overflow-wrap:anywhere}.discovery-feedback strong{display:block;color:var(--red-deep);font-size:11px;margin-bottom:3px}.discovery button[data-response]{min-height:46px;font-size:12px;border:1px solid var(--interaction-line);border-radius:var(--choice-radius);padding:8px;line-height:1.5}.discovery button[data-result=supported]{background:var(--red);color:var(--white);border-color:var(--red)}.discovery button[data-result=reconsider]{background:var(--paper);border-style:dashed;border-color:var(--red)}.feedback-in{animation:feedback-in 300ms var(--feedback-ease)}@keyframes feedback-in{from{opacity:.25;transform:translateY(6px)}to{opacity:1;transform:none}}.discovery.is-connected .action-label:after{content:' · 已查看依据';color:var(--red)}
.atlas{gap:12px}.atlas-heading h2{font-size:clamp(35px,10vw,60px)}.atlas-heading>p:last-child{font-size:14px}.journey-pair strong{font-size:26px}.route-prompt{margin-top:12px;padding-top:12px;border-top:1px solid var(--rule)}.route-prompt h3{font-size:18px}.route-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:9px 0}.route-choices button{display:flex;align-items:center;justify-content:center;gap:10px}.route-choices span{font-size:30px;line-height:1;font-weight:800}.route-prompt .discovery-feedback{min-height:5.25em}.route-prompt.has-answer{border-color:var(--red)}
.turning{gap:13px}.turning-explanation{display:grid;gap:9px}.setback-strip{border-left:3px solid var(--red);padding-left:10px;font-size:12px;line-height:1.6}.setback-strip b,.setback-strip span{display:block}.setback-strip b{font-size:13px}.turning-explanation>.action-label{margin:0}.decision-files{display:grid;grid-template-columns:1fr 1fr;gap:9px}.decision-file{background:var(--paper);padding:12px;text-align:left;position:relative;border-top:3px solid var(--red);display:grid;grid-template-rows:auto auto minmax(100px,1fr);align-content:start;overflow:clip}.decision-file h3{font-size:23px;color:var(--red-deep);margin:6px 0 9px}.file-number{font-size:10px;letter-spacing:.14em;color:var(--muted)}.file-teaser{font-size:16px;font-family:var(--font-display);color:var(--red-deep);line-height:1.7}.file-teaser span{display:block;font:11px/1.5 var(--font-body);margin-top:15px}.file-fact{display:none;font-size:13px;line-height:1.8}.decision-file[aria-expanded=true] .file-fact{display:block;animation:feedback-in 300ms var(--ease)}.decision-file[aria-expanded=true] .file-teaser{display:none}.decision-file[aria-expanded=true]{background:var(--paper-light);box-shadow:inset 0 0 0 1px var(--rule)}#turning-feedback{min-height:3.5em}.turning-explanation .text-link{margin:0;font-size:11px}
.tactics{gap:10px}.tactics-heading>p:last-child{font-size:12px;margin-top:8px}.tactics-reading{display:grid;gap:8px}.tactical-decision{border-left:3px solid var(--red);padding-left:12px}.tactical-decision h3{font-size:16px;line-height:1.55}.tactical-choices{display:flex;gap:8px;margin-block:8px}.tactical-choices button{flex:1}.tactical-decision .discovery-feedback{font-size:12px;min-height:5em}.crossing-controls button{min-height:62px}.crossing-controls b{font-size:18px}.crossing-caption{min-height:75px;margin:0;padding:0}.crossing-caption h3{font-size:15px;margin:0 0 4px}.crossing-caption p{font-size:12px;line-height:1.7}
.bridge-operation{row-gap:12px}.bridge-question{grid-column:1/-1;border-top:1px solid var(--outline-light);padding-top:12px}.bridge-question .action-label{color:var(--gold)}.bridge-choices{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}.bridge-question button[data-response]{border-color:var(--outline-light)}.bridge-question button[data-result=supported]{background:var(--paper-light);color:var(--red-deep);border-color:var(--white)}.bridge-question button[data-result=reconsider]{background:var(--red-deep);color:var(--white);border-color:var(--gold)}.bridge-question .discovery-feedback{font-size:12px;min-height:5.25em}.bridge-question .discovery-feedback strong{color:var(--gold)}.bridge-question.is-connected .action-label:after{color:var(--gold)}.bridge-heading h2{font-size:clamp(31px,8.8vw,54px)}.bridge-number strong{font-size:75px}.bridge-description p{font-size:13px}.bridge-operation .bridge-description h3{font-size:25px}
.mountain-observations>.action-label{padding-left:10px;margin-bottom:2px}.mountain-observations button{min-height:70px}.mountain-observations button[aria-pressed=true]{background:var(--paper-light);box-shadow:inset 3px 0 var(--red)}.mountain-observations button[aria-pressed=true] i{color:var(--red);font-size:22px}.condition-reading{min-height:154px}.condition-reading p{font-size:14px}.condition-reading h3{font-size:21px}.mountain-observations.is-connected .action-label:after{display:block}
.people-story{padding:19px 16px 8px}.people-story>.action-label{margin-block:10px}.people-sequence{display:flex;align-items:center;justify-content:space-between;gap:5px;margin-block:8px}.people-sequence>span{display:grid;place-items:center;min-height:62px;flex:1;background:var(--paper);border:1px dashed var(--rule);border-radius:4px;padding:4px;font-size:24px;color:var(--muted);line-height:1.5;text-align:center}.people-sequence>span.filled{font-size:12px;background:var(--red);border-style:solid;border-color:var(--red);color:var(--white);animation:feedback-in 250ms var(--ease)}.people-sequence>i{font-size:16px;color:var(--red)}.people-actions{gap:4px;display:flex;border:0;margin-top:10px}.people-actions button{border:1px solid var(--rule);padding:7px 5px;flex:1;min-height:44px;font-size:11px;background:var(--paper-light);border-radius:4px}.people-actions button.placed{opacity:.45;background:var(--paper);cursor:default}.people-story #people-reading{font-size:12px;min-height:5.25em}.people-story #sequence-reset{font-size:10px;min-height:34px;margin-top:0}.people-number strong{font-size:clamp(104px,37vw,166px);line-height:1.14}
.artifact{gap:12px}.artifact-reading{display:grid;gap:8px}.artifact-reading .observation{font-size:13px;min-height:3.5em;line-height:1.75}.artifact-proof{border-top:1px solid var(--rule);padding-top:10px}.artifact-proof h3{font-size:17px}.proof-choices{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-block:8px}.artifact-proof .discovery-feedback{min-height:5.25em;font-size:12px}.artifact-reading .text-link{min-height:36px;font-size:10px}.shoe-exhibit{grid-template-rows:minmax(0,1fr) auto auto}.artifact-heading h2{font-size:clamp(31px,9vw,54px)}
.reunion{grid-template-rows:auto minmax(0,1fr) auto;gap:11px}.reunion-middle{grid-template-columns:minmax(0,1fr) minmax(0,.68fr);align-items:stretch;min-height:0}.reunion-middle figure{grid-column:2;grid-row:1;min-height:0}.reunion-match{grid-column:1;grid-row:1;display:grid;align-content:start;gap:9px}.reunion-match .reunion-month{color:var(--gold);font-size:11px;padding:0;line-height:1.6}.date-tokens{display:flex;gap:9px}.date-tokens button{display:flex;align-items:baseline;padding:5px 10px;background:var(--white);color:var(--red-deep);border-radius:4px;border:2px solid var(--white);flex:1;justify-content:center;gap:3px}.date-tokens b{font-family:var(--font-display);font-size:35px;line-height:1.3}.date-tokens small{font-size:10px}.date-tokens button[aria-pressed=true]{background:var(--red-deep);color:var(--white);border-color:var(--gold)}.date-tokens button:disabled{opacity:.45}.meeting-targets{display:grid;gap:10px}.meeting-targets>button{display:flex;align-items:center;gap:8px;text-align:left;min-height:85px;padding:8px 5px;border-block:1px solid var(--outline-light);line-height:1.5}.meeting-targets .date-slot{font-family:var(--font-display);font-size:32px;min-width:42px;border:1px dashed var(--outline-light);padding:6px 2px;text-align:center;color:var(--gold)}.meeting-targets b{font-family:var(--font-display);font-size:21px}.meeting-targets small{display:block;font-size:9px}.meeting-targets i{font-size:16px;margin-left:auto}.meeting-targets.awaiting-date>button:not(:disabled){border-color:var(--gold);background:var(--surface-light)}.meeting-targets .is-matched .date-slot{border-style:solid;background:var(--paper-light);color:var(--red-deep)}#match-feedback{font-size:12px;line-height:1.8;min-height:7.2em}#match-reveal{font-size:11px;color:var(--gold);min-height:36px}.reunion-end{padding-top:4px}.reunion-conclusion{font-size:25px}.match-nudge{animation:match-nudge 300ms var(--ease)}@keyframes match-nudge{25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}
.finale{gap:11px}.finale-heading h2{font-size:clamp(29px,8.5vw,49px)}.spirit-answer{min-height:140px}.spirit-answer p{font-size:13px;min-height:3.5em}.discovery-recap{margin-top:8px;border-top:1px solid var(--rule);padding-top:8px;display:flex;align-items:center;justify-content:space-between;gap:6px}.discovery-recap p{white-space:nowrap;font-size:10px;line-height:1.5}.discovery-recap p>b{font-family:var(--font-display);font-size:23px;color:var(--red)}#discovery-links{display:flex;gap:2px;align-items:center}.knowledge-link{font-size:14px;min-width:15px;min-height:44px;color:var(--rule)}.knowledge-link.is-connected{color:var(--red)}.final-actions{margin-top:4px;padding-top:2px;gap:8px}.final-actions button{font-size:12px;min-height:44px}.final-actions button:first-child{background:var(--red);color:var(--white);border-radius:4px;padding:7px 12px}.journal-list article{border-top:1px solid var(--rule);padding:14px 0}.journal-list small{color:var(--muted)}.journal-list .is-read small{color:var(--red)}.journal-list h3{font-size:20px;margin:6px 0}.journal-list p{font-size:14px}.journal-list button{color:var(--red);font-size:13px;text-decoration:underline;text-underline-offset:5px}
@media(max-height:740px){.action-label{font-size:10px;margin-bottom:6px}.discovery-feedback{font-size:11px}.atlas-heading{padding-bottom:3px}.atlas-heading>p:last-child{font-size:12px}.route-prompt{margin-top:8px;padding-top:8px}.route-prompt h3{font-size:16px}.route-choices{margin:6px 0}.journey-pair strong{font-size:23px}.turning-title h2{font-size:36px}.turning-explanation{gap:6px}.decision-file{padding:9px;grid-template-rows:auto auto minmax(84px,1fr)}.decision-file h3{font-size:20px;margin:4px 0 6px}.file-fact{font-size:12px;line-height:1.7}.file-teaser{font-size:14px}.file-teaser span{margin-top:10px}.setback-strip{font-size:11px}.setback-strip b{font-size:12px}.tactical-decision h3{font-size:14px}.tactical-decision .discovery-feedback{font-size:11px}.tactical-choices{margin:6px 0}.crossing-controls button{min-height:55px}.crossing-caption{min-height:67px}.crossing-caption h3{font-size:13px}.crossing-caption p{font-size:11px}.bridge-operation{row-gap:8px;padding-block:6px}.bridge-question{padding-top:8px}.bridge-question .discovery-feedback{font-size:11px}.bridge-number strong{font-size:59px}.bridge-operation .bridge-description h3{font-size:21px}.bridge-description p{font-size:12px}.condition-reading{min-height:130px}.condition-reading h3{font-size:18px}.condition-reading p{font-size:12px}.mountain-observations button{min-height:60px}.people-story{padding:13px 12px 5px}.people-story>.action-label{margin-block:7px}.people-sequence>span{min-height:50px}.people-sequence>span.filled{font-size:11px}.people-story #people-reading{font-size:11px}.people-number strong{font-size:112px}.artifact-reading .observation{font-size:12px}.artifact-proof{padding-top:7px}.artifact-proof h3{font-size:15px}.artifact-proof .discovery-feedback{font-size:11px}.reunion-match{gap:6px}.date-tokens b{font-size:29px}.meeting-targets>button{min-height:69px;gap:6px}.meeting-targets .date-slot{min-width:36px;font-size:28px;padding:4px 1px}.meeting-targets b{font-size:18px}#match-feedback{font-size:11px;min-height:7.2em}.reunion-conclusion{font-size:21px}.finale-heading h2{font-size:29px}.spirit-answer{min-height:127px}.spirit-answer p{font-size:12px}.final-actions button{font-size:11px}.discovery-recap{padding-top:4px;margin-top:4px}.discovery-recap p{font-size:9px}.discovery-recap p>b{font-size:20px}}
@media(max-height:600px){.slide{gap:7px}.atlas-heading h2{font-size:29px}.atlas-heading>p:last-child{font-size:11px}.atlas-heading .eyebrow{margin-bottom:3px}.route-prompt h3{font-size:14px}.route-choices span{font-size:22px}.route-prompt .discovery-feedback{font-size:10px;min-height:5.25em}.discovery button[data-response]{font-size:10px;min-height:44px;padding:6px}.journey-pair strong{font-size:19px}.journey-pair small{font-size:8px}.turning-explanation{gap:4px}.decision-file{padding:7px;grid-template-rows:auto auto minmax(89px,1fr)}.decision-file h3{font-size:18px}.file-fact{font-size:11px;line-height:1.65}.file-teaser{font-size:13px}.file-teaser span{font-size:10px;margin-top:8px}.file-number{font-size:9px}.setback-strip{font-size:10px}.setback-strip b{font-size:11px}#turning-feedback{font-size:10px;min-height:3.5em}.turning-explanation .text-link{font-size:9px;min-height:32px}.tactics-heading>p:last-child{font-size:10px;margin-top:5px}.tactics-reading{gap:5px}.tactical-decision h3{font-size:12px;line-height:1.55}.tactical-decision{padding-left:9px}.tactical-decision .discovery-feedback{font-size:10px;min-height:5.25em}.crossing-controls button{min-height:45px}.crossing-controls b{font-size:16px}.crossing-controls span,.crossing-controls small{font-size:8px}.crossing-caption{min-height:59px}.crossing-caption h3{font-size:12px}.crossing-caption p{font-size:10px}.bridge-heading h2{font-size:26px}.bridge-number strong{font-size:48px}.bridge-description p{font-size:10px}.bridge-operation .bridge-description h3{font-size:18px}.bridge-question .action-label{font-size:9px}.bridge-question .discovery-feedback{font-size:10px;min-height:5.25em}.mountain-observations{gap:4px}.mountain-observations button{min-height:48px}.mountain-observations b{font-size:14px}.mountain-observations span{font-size:9px}.condition-reading{min-height:123px}.condition-reading h3{font-size:16px}.condition-reading p{font-size:11px}.mountain-heading h2{font-size:33px}.people-number strong{font-size:82px}.people-heading h2{font-size:25px}.people-story{padding:10px 10px 3px}.people-story>p:nth-child(2){font-size:11px}.people-story>.action-label{font-size:9px;margin-block:5px}.people-sequence>span{min-height:44px}.people-sequence>span.filled{font-size:10px}.people-actions{margin-top:6px}.people-actions button{font-size:9px;min-height:44px}.people-story #people-reading{font-size:10px}.people-story #sequence-reset{min-height:27px;font-size:9px}.artifact-heading h2{font-size:25px}.artifact-reading{gap:4px}.artifact-reading .observation{font-size:10px;min-height:3.5em}.artifact-proof h3{font-size:13px}.artifact-proof .discovery-feedback{font-size:10px}.artifact-reading .text-link{font-size:9px;min-height:31px}.proof-choices{margin-block:6px}.reunion-middle{gap:8px}.reunion-match .reunion-month{font-size:9px}.date-tokens b{font-size:25px}.meeting-targets>button{min-height:61px}.meeting-targets .date-slot{font-size:23px;min-width:31px}.meeting-targets b{font-size:16px}.meeting-targets small{font-size:8px}#match-feedback{font-size:10px;min-height:7.2em}#match-reveal{font-size:9px;min-height:30px}.reunion-conclusion{font-size:18px}.finale-heading h2{font-size:25px}.finale-heading>p:last-child{font-size:10px}.spirit-answer{min-height:120px}.spirit-answer p{font-size:11px}.discovery-recap{padding-top:2px;margin-top:2px}.discovery-recap p>b{font-size:18px}.discovery-recap p{font-size:8px}.knowledge-link{min-width:13px}.final-actions button{font-size:10px;min-height:40px}.final-actions button:first-child{padding:6px 9px}}
@media(min-width:650px){.route-prompt h3{font-size:22px}.discovery-feedback{font-size:15px}.file-fact{font-size:16px}.decision-file{grid-template-rows:auto auto minmax(120px,1fr)}.tactical-decision h3{font-size:20px}.tactical-decision .discovery-feedback{font-size:14px}.crossing-caption p{font-size:14px}.bridge-question .discovery-feedback{font-size:15px}.people-story #people-reading{font-size:15px}.artifact-proof .discovery-feedback{font-size:14px}.date-tokens b{font-size:45px}.meeting-targets b{font-size:27px}.meeting-targets small{font-size:12px}#match-feedback{font-size:15px}.knowledge-link{min-width:22px}.finale-heading h2{font-size:45px}}
@media(prefers-reduced-motion:reduce){.feedback-in,.match-nudge{animation:none!important}}

/* Review fixes: the matching activity owns enough space; dark panel text stays light. */
.people-number strong{line-height:1.45}.people-number{padding-bottom:0}.finale-heading{padding-bottom:7px}
.reunion{grid-template-rows:auto auto minmax(0,1fr);background:var(--paper-light);gap:10px}.reunion:after{content:'';position:absolute;inset:55% 0 0;background:var(--red);z-index:-1}.reunion-heading{padding-top:3px}.year-contrast{margin-bottom:10px}.year-contrast strong{font-size:clamp(35px,10.7vw,54px)}.reunion-heading h2{font-size:27px;line-height:1.25}.reunion-heading h2>span{display:inline;padding-left:0}.reunion-middle{background:var(--red);padding:12px;gap:10px}.reunion-match{color:var(--white)}#match-feedback{min-height:5.4em}.reunion-end{align-self:end;padding:0 0 6px}.reunion-end>p:first-child{min-height:0;font-size:10px}.reunion-conclusion{font-size:23px;line-height:1.35;padding-top:6px;margin-top:6px}
@media(max-height:740px){.reunion{gap:8px}.reunion-heading h2{font-size:23px}.year-contrast strong{font-size:34px}.reunion-middle{padding:10px;gap:8px}.reunion-match{gap:5px}.meeting-targets{gap:6px}.meeting-targets>button{min-height:62px;padding-block:5px}.meeting-targets small{font-size:8px}.date-tokens button{padding:3px 6px}.date-tokens b{font-size:27px}#match-feedback{font-size:10px;min-height:5.4em}.reunion-end>p:first-child{font-size:9px}.reunion-conclusion{font-size:20px;line-height:1.25}.reunion-month{font-size:9px}.people-number strong{line-height:1.45}}
@media(max-height:600px){.reunion-heading h2{font-size:20px}.year-contrast strong{font-size:29px}.year-contrast{margin-bottom:6px}.year-contrast span{font-size:8px;margin-top:4px}.reunion-middle{padding:8px}.reunion-match{gap:4px}.reunion-match .reunion-month{font-size:8px}.meeting-targets>button{min-height:55px}.meeting-targets b{font-size:15px}.meeting-targets .date-slot{font-size:22px;min-width:29px;padding:3px 1px}.date-tokens b{font-size:23px}.date-tokens button{min-height:44px}.reunion-conclusion{font-size:17px}.reunion-end>p:first-child{font-size:8px;line-height:1.6}.reunion-end{padding-bottom:2px}.reunion-end .reunion-conclusion br{display:none}.people-number strong{line-height:1.45}}

#discovery-links{gap:4px}.knowledge-link{display:grid;place-items:center;min-width:0;min-height:0;width:15px;height:15px;border:1px solid var(--rule);border-radius:50%;font-size:9px;line-height:1;color:var(--muted);position:relative}.knowledge-link.is-connected{border-color:var(--red);background:var(--red);color:var(--white)}.knowledge-link:not(:last-child):after{content:'';position:absolute;left:100%;top:50%;height:1px;width:5px;background:var(--rule)}.knowledge-link.is-connected:not(:last-child):after{background:var(--red)}
@media(max-height:600px){#discovery-links{gap:3px}.knowledge-link{width:12px;height:12px;font-size:8px}}

/* Settle actionable content before the deck unlocks, so touch targets stop moving. */
.is-active .entrance-title{animation-duration:500ms;animation-delay:60ms}.is-active .entrance-media{animation-duration:620ms;animation-delay:100ms}.is-active .entrance-fact{animation-duration:440ms;animation-delay:180ms}.is-active .turning-title{animation-duration:500ms;animation-delay:170ms}
