@font-face {
  font-family:Bricolage;
  src:url(fonts/bricolage.ttf?v=b56db40c2685) format('truetype');
  font-weight:400 800;
  font-display:swap
}
@font-face {
  font-family:Literata;
  src:url(fonts/literata.ttf?v=1d6eafdc6203) format('truetype');
  font-weight:400 700;
  font-display:swap
}
@font-face {
  font-family:LocalChinese;
  src:url(fonts/chinese.woff2?v=a388ebbd9935) format('woff2');
  font-weight:100 900;
  font-display:swap
}
@font-face {
  font-family:LocalChineseSerif;
  src:url(fonts/chinese-serif.woff2?v=ac1e87a62c61) format('woff2');
  font-weight:200 900;
  font-display:swap
}
:root {
  --bg: #f6f5f1;
  --ink: #222b2c;
  --muted: #606665;
  --line: #d0d2cd;
  --accent: #94462e;
  --surface: #eaece6;
  --display: Literata, LocalChineseSerif, Georgia, serif;
  --body: LocalChinese, 'Helvetica Neue', Arial, sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scrollbar-color: var(--muted) var(--bg); }
body { margin: 0; background: var(--bg); color: var(--ink); font: 16px/1.7 var(--body); -webkit-font-smoothing: antialiased; }
::selection { background: var(--accent); color: white; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 5px; }
a:hover { color: var(--accent); }
a, button, input, summary { -webkit-tap-highlight-color: transparent; }
button, input { font: inherit; color: inherit; }
button { cursor: pointer; }
button:disabled { cursor: default; opacity: .5; }
a:focus-visible, button:focus-visible, input:focus-visible, summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 5px; }
input { caret-color: var(--accent); }
img { display: block; max-width: 100%; }
figure, h1, h2, h3, p { margin: 0; }
h1, h2, h3 { font-weight: 450; text-wrap: balance; }
h1, h2 { font-family: var(--display); }
h1 { font-size: clamp(38px, 4.3vw, 62px); line-height: 1.2; letter-spacing: -.035em; }
h2 { font-size: clamp(24px, 2.3vw, 32px); line-height: 1.4; letter-spacing: -.02em; }
h3 { font-size: 24px; line-height: 1.45; }
svg { width: 20px; height: 20px; flex-shrink: 0; vertical-align: middle; }
[hidden] { display: none !important; }
.skip-link { position: fixed; left: 20px; top: -100px; padding: 12px 20px; z-index: 20; background: var(--ink); color: var(--bg); }
.skip-link:focus { top: 10px; }
.site-header { display: flex; align-items: center; gap: 30px; margin: 0 auto; max-width: 1344px; min-height: 100px; padding: 20px 48px; border-bottom: 1px solid var(--line); }
.site-brand { text-decoration: none; display: flex; gap: 14px; align-items: baseline; margin-right: auto; white-space: nowrap; }
.site-brand span:first-child { font: 26px/1.3 var(--display); }
.site-brand span:last-child { font-size: 14px; }
.site-header nav { display: flex; gap: 24px; }
.site-header nav a, .language-switch, .proposal-link { text-decoration: none; font-size: 14px; }
.site-header nav a[aria-current] { color: var(--accent); text-decoration: underline; text-underline-offset: 8px; }
.proposal-link { color: var(--muted); font-size: 12px; }
.menu-button { display: none; background: none; border: 0; padding: 8px; }
main { max-width: 1248px; margin: auto; padding: 0 48px; }
.site-footer { margin: 100px auto 0; max-width: 1248px; padding: 35px 48px 45px; border-top: 1px solid var(--line); display: flex; justify-content: space-between; gap: 30px; }
.site-footer a { text-decoration: none; }
.site-footer p { font-size: 13px; color: var(--muted); margin-top: 8px; }
.text-link, .back-link { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; }
.text-link:hover, .back-link:hover { text-decoration: underline; }
.link-group { display: flex; gap: 24px; flex-wrap: wrap; }
.button { display: inline-flex; align-items: center; gap: 14px; border: 1px solid var(--line); padding: 11px 17px; text-decoration: none; }
.button-accent { background: var(--ink); color: var(--bg); border-color: var(--ink); }
.button:hover { border-color: var(--accent); }
.section-head { display: flex; align-items: baseline; justify-content: space-between; gap: 32px; margin-bottom: 34px; }
.section-head .text-link { font-size: 14px; flex-shrink: 0; }
.selected-section, .current-research-section, .imaging-feature, .project-gallery, .survey-section, .current-related { margin-top: 96px; }
.research-opening { display: grid; grid-template-columns: 1.1fr 1fr; gap: 72px; padding-top: 70px; }
.research-opening-copy { display: flex; flex-direction: column; align-items: flex-start; }
.research-identity { order: -3; font: 30px/1.4 var(--display); margin-bottom: 7px; }
.research-identity span { margin-left: 16px; font: 19px var(--body); }
.research-role { order: -2; font-size: 14px; color: var(--muted); margin-bottom: 34px; }
.research-focus { font-size: 18px; color: var(--accent); margin: 22px 0 15px; }
.opening-intro { max-width: 47ch; color: var(--muted); line-height: 1.85; }
.research-opening .link-group { margin-top: 28px; font-size: 14px; }
.current-figure img { width: 100%; height: auto; background: #000; }
.current-figure a { display: block; }
.current-figure figcaption { font-size: 11px; line-height: 1.7; margin-top: 12px; color: var(--muted); display: flex; justify-content: space-between; gap: 20px; }
.figure-reading { font: 21px/1.7 var(--display); max-width: 28ch; margin-top: 22px; }
.current-research-section { padding-top: 35px; border-top: 1px solid var(--ink); }
.current-research-layout { display: grid; grid-template-columns: 1fr 1.05fr; gap: 80px; }
.large-copy { font: 28px/1.65 var(--display); max-width: 29ch; }
.current-papers { border-top: 1px solid var(--line); }
.current-paper { padding: 18px 0; border-bottom: 1px solid var(--line); }
.current-paper h3 { font: 21px/1.5 var(--display); }
.current-paper h3 a { display: flex; align-items: baseline; justify-content: space-between; gap: 22px; }
.current-paper p { color: var(--muted); font-size: 12px; margin-top: 7px; }
.research-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 58px 48px; }
.project-row { min-width: 0; }
.project-image { display: block; background: #080b0d; }
.project-image img { width: 100%; aspect-ratio: 1.35; object-fit: contain; }
.project-meta { color: var(--muted); font-size: 12px; display: flex; justify-content: space-between; gap: 20px; margin: 17px 0 10px; }
.project-copy h3 { font: 26px/1.45 var(--display); margin-bottom: 13px; }
.project-copy h3 a { text-decoration: none; }
.project-copy > p:not(.project-meta) { font-size: 15px; color: var(--muted); max-width: 58ch; }
.project-copy > .text-link { margin-top: 16px; font-size: 14px; }
.title-phrase { display: inline; }
.imaging-feature { border-top: 1px solid var(--line); padding-top: 45px; display: grid; grid-template-columns: .8fr 1.2fr; gap: 70px; align-items: center; }
.imaging-feature h2 { margin-bottom: 22px; }
.imaging-feature p { color: var(--muted); margin-bottom: 24px; max-width: 43ch; }
.plate { min-width: 0; }
.plate-open { position: relative; display: block; padding: 0; width: 100%; border: 0; background: #060a0d; overflow: hidden; }
.plate-open img { width: 100%; aspect-ratio: 1; object-fit: contain; }
.plate-open[data-state='annotated'] { background: white; }
.plate-open[data-state='annotated'] img { padding: 10px; }
.plate-zoom { position: absolute; bottom: 12px; right: 12px; width: 32px; height: 32px; background: #fff; color: #18272a; display: grid; place-items: center; opacity: 0; transition: opacity .2s; }
.plate-open:hover .plate-zoom, .plate-open:focus-visible .plate-zoom { opacity: 1; }
.plate figcaption { display: flex; justify-content: space-between; gap: 16px; font-size: 12px; margin-top: 10px; color: var(--muted); }
.page-intro { margin: 65px 0 48px; max-width: 920px; }
.page-intro > p { max-width: 64ch; color: var(--muted); margin-top: 25px; font-size: 18px; }
.page-intro .text-link { margin-top: 22px; }
.research-current { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; margin-bottom: 52px; }
.research-current h2 { margin-bottom: 22px; }
.research-current p { max-width: 50ch; color: var(--muted); margin-bottom: 24px; }
.project-intro { padding-top: 52px; }
.project-intro h1 { margin-top: 34px; }
.project-intro > p { color: var(--muted); margin-top: 24px; }
.current-case { display: grid; grid-template-columns: 1fr 1fr; gap: 65px; align-items: start; margin-top: 65px; }
.prose { max-width: 69ch; }
.prose p { margin-bottom: 24px; line-height: 1.9; }
.prose h2 { margin: 48px 0 18px; font-size: 25px; }
.prose h2:first-child { margin-top: 0; }
.current-case-figure { background: white; color: #252d2e; padding: 10px; }
.current-case-figure img { width: 100%; }
.current-case-figure figcaption { padding: 10px; font-size: 11px; }
.current-case-note { display: grid; grid-template-columns: .6fr 1.4fr; gap: 55px; border-top: 1px solid var(--line); padding-top: 30px; margin-top: 65px; }
.current-case-note p { margin-bottom: 15px; max-width: 68ch; }
.survey-section .section-note { margin: 22px 0; max-width: 80ch; color: var(--muted); }
.project-lead { display: grid; grid-template-columns: 1.2fr 1fr; gap: 65px; align-items: center; margin-top: 65px; }
.project-heading h1 { margin: 35px 0 25px; }
.project-heading-meta { display: flex; flex-wrap: wrap; gap: 15px; font-size: 13px; color: var(--muted); }
.reading-grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: 80px; margin-top: 85px; }
.question-text { font-size: 30px; }
.paper-reference { padding-top: 25px; border-top: 1px solid var(--line); font-size: 13px; margin-top: 40px; }
.paper-reference p { margin-bottom: 12px; }
.project-plates { display: grid; grid-template-columns: 1fr 1fr; gap: 35px; }
.next-project { margin-top: 75px; padding-top: 35px; border-top: 1px solid var(--line); max-width: 800px; }
.next-project a { text-decoration: none; }
.next-project svg { margin-left: 20px; }
.gallery-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 28px; margin: 28px 0; }
.gallery-toolbar > p { max-width: 50ch; color: var(--muted); font-size: 14px; }
.filter-group, .view-switch { display: inline-flex; gap: 22px; flex-wrap: wrap; }
.filter-group button, .view-switch button { background: transparent; border: 0; border-bottom: 1px solid transparent; padding: 7px 0; color: var(--muted); font-size: 13px; }
.filter-group button[aria-pressed='true'], .view-switch button[aria-pressed='true'] { color: var(--ink); border-color: var(--ink); }
.image-gallery { display: grid; grid-template-columns: repeat(3,1fr); gap: 36px 26px; }
.photography-empty { margin-top: 90px; border-top: 1px solid var(--line); padding-top: 30px; display: grid; grid-template-columns: 1fr 2fr; gap: 40px; }
.photography-empty h3 { font: 24px var(--display); margin-bottom: 15px; }
.photography-empty p { color: var(--muted); max-width: 60ch; }
.search-field { max-width: 720px; margin-bottom: 40px; }
.search-field label { display: block; font-size: 13px; color: var(--muted); margin-bottom: 10px; }
.search-field input { width: 100%; background: transparent; border: 0; border-bottom: 1px solid var(--ink); padding: 12px 0; outline-offset: 6px; border-radius: 0; }
.search-field input::placeholder { color: var(--muted); opacity: 1; }
.publication-year { display: grid; grid-template-columns: 110px 1fr; gap: 40px; margin-top: 50px; }
.publication-year > h2 { font-size: 28px; font-variant-numeric: tabular-nums; }
.publication { border-top: 1px solid var(--line); padding: 24px 0 28px; }
.publication h3 { font: 22px/1.55 var(--display); margin-bottom: 14px; }
.publication h3 .text-link { display: inline; }
.publication h3 svg { width: 15px; margin-left: 6px; }
.publication > p { font-size: 14px; color: var(--muted); }
.publication-journal { margin-top: 4px; }
.author-highlight { color: var(--accent); }
.publication-links { display: flex; gap: 20px; flex-wrap: wrap; margin-top: 16px; font-size: 12px; }
.publication-links details { flex-basis: 100%; }
summary { cursor: pointer; width: max-content; }
pre { max-width: 100%; overflow: auto; padding: 20px; background: var(--surface); font-size: 12px; line-height: 1.7; white-space: pre-wrap; overflow-wrap: anywhere; }
.software-section { border-top: 1px solid var(--line); padding-top: 28px; margin-top: 60px; max-width: 800px; }
.software-section p { margin-top: 15px; }
.empty-search { padding: 30px 0; }
.about-layout { display: grid; grid-template-columns: 1.2fr .8fr; gap: 80px; }
.aside-note { font-size: 13px; color: var(--muted); margin-top: 15px; }
.about-details { display: grid; grid-template-columns: 1.2fr .8fr; gap: 80px; margin-top: 70px; padding-top: 30px; border-top: 1px solid var(--line); }
.about-details h2 { margin-bottom: 20px; }
.about-details p { color: var(--muted); margin-bottom: 20px; max-width: 60ch; }
.cv-intro { display: flex; max-width: none; align-items: center; justify-content: space-between; gap: 35px; }
.cv-intro p { margin-top: 22px; }
.cv-section { border-top: 1px solid var(--line); display: grid; grid-template-columns: 230px 1fr; gap: 40px; padding-top: 28px; margin-top: 50px; }
.cv-section h2 { font-size: 25px; }
.cv-row { display: grid; grid-template-columns: 100px 1fr; gap: 25px; margin-bottom: 25px; }
.cv-row time { color: var(--muted); font-size: 14px; font-variant-numeric: tabular-nums; }
.cv-row span { display: block; font-size: 13px; color: var(--muted); margin-top: 5px; }
.pending-note { color: var(--muted); font-size: 13px; margin-top: 40px; max-width: 80ch; }
.project-explorer { display: grid; grid-template-columns: 1.1fr 1fr; gap: 48px; }
.explorer-image { display: block; background: #000; }
.explorer-image img { aspect-ratio: 1.15; width: 100%; object-fit: contain; }
.explorer-description { margin-top: 22px; }
.explorer-description h3 { font-family: var(--display); }
.explorer-description p { color: var(--muted); margin: 15px 0; }
.explorer-choice { display: grid; grid-template-columns: 1fr 20px; width: 100%; gap: 8px 20px; background: transparent; border: 0; border-top: 1px solid var(--line); text-align: left; padding: 22px 0; }
.explorer-choice span { grid-column: 1 / -1; color: var(--muted); font-size: 12px; }
.explorer-choice strong { font-weight: 400; font-family: var(--display); font-size: 21px; }
.explorer-choice[aria-pressed='true'] { color: var(--accent); }
.image-dialog { width: min(1200px,94vw); max-width: none; max-height: 94dvh; border: 1px solid var(--line); background: var(--bg); color: var(--ink); padding: 24px; }
.image-dialog::backdrop { background: rgb(0 0 0 / .8); }
.dialog-top { display: flex; justify-content: space-between; align-items: center; gap: 22px; }
.dialog-top h2 { font: 20px var(--body); }
.dialog-top button { background: transparent; border: 0; padding: 8px; }
.dialog-controls { display: flex; justify-content: space-between; gap: 30px; margin: 15px 0; font-size: 12px; }
.dialog-image-stage { background: #060a0d; display: grid; place-items: center; }
.dialog-image-stage img { max-height: 70dvh; object-fit: contain; }
.image-error { padding: 20px; }
@media (max-width: 1100px) {
  .site-header { gap: 20px; padding: 20px 32px; }
  .site-header nav { gap: 17px; }
  .proposal-link { display: none; }
  main { padding: 0 32px; }
  .research-opening { gap: 40px; }
  .research-opening h1 { font-size: 46px; }
  .research-role { margin-bottom: 26px; }
  .research-opening .opening-intro { font-size: 15px; }
  .current-research-layout, .reading-grid { gap: 48px; }
  .current-case { gap: 40px; }
}
@media (max-width: 760px) {
  .site-header { min-height: 78px; padding: 18px 22px; gap: 18px; position: relative; }
  .site-brand { gap: 10px; }
  .site-brand span:first-child { font-size: 23px; }
  .site-brand span:last-child { font-size: 12px; }
  .menu-button { display: inline-flex; order: 3; }
  .language-switch { font-size: 13px; }
  .site-header nav { display: none; position: absolute; top: 100%; left: 0; right: 0; z-index: 5; background: var(--bg); padding: 22px; border-bottom: 1px solid var(--line); }
  .site-header nav.is-open { display: flex; flex-wrap: wrap; gap: 20px 30px; }
  main { padding: 0 22px; }
  h1 { font-size: 38px; }
  h2 { font-size: 26px; }
  .research-opening { display: flex; flex-direction: column; gap: 42px; padding-top: 38px; }
  .research-opening h1 { font-size: 37px; }
  .research-identity { font-size: 27px; }
  .research-role { font-size: 12px; margin-bottom: 28px; }
  .research-focus { margin-top: 19px; font-size: 17px; }
  .research-opening .opening-intro { max-width: 55ch; }
  .research-opening .link-group { margin-top: 22px; }
  .research-opening-visual { max-width: 500px; width: 100%; }
  .figure-reading { font-size: 21px; }
  .current-figure figcaption { font-size: 10px; gap: 10px; }
  .selected-section, .current-research-section, .imaging-feature, .project-gallery, .survey-section, .current-related { margin-top: 60px; }
  .section-head { display: block; margin-bottom: 25px; }
  .section-head .text-link { margin-top: 15px; }
  .current-research-layout, .research-current, .current-case, .current-case-note, .reading-grid, .imaging-feature, .about-layout, .about-details, .project-lead { grid-template-columns: 1fr; gap: 32px; }
  .large-copy { font-size: 25px; max-width: 42ch; }
  .research-grid { grid-template-columns: 1fr; gap: 45px; }
  .project-copy h3 { font-size: 25px; }
  .project-meta { font-size: 11px; }
  .page-intro { margin: 42px 0 34px; }
  .page-intro > p { font-size: 16px; margin-top: 20px; }
  .project-intro { padding-top: 35px; }
  .project-intro h1 { margin-top: 26px; }
  .current-case { margin-top: 42px; }
  .current-case-figure { max-width: 500px; }
  .project-lead { margin-top: 38px; }
  .project-heading h1 { font-size: 36px; margin-top: 25px; }
  .project-main-figure { max-width: 500px; }
  .reading-grid { margin-top: 50px; }
  .question-text { font-size: 26px; }
  .prose { font-size: 16px; }
  .prose h2 { margin-top: 35px; }
  .project-plates { grid-template-columns: 1fr; gap: 30px; }
  .gallery-toolbar { flex-direction: column; align-items: flex-start; gap: 20px; }
  .image-gallery { grid-template-columns: 1fr 1fr; gap: 25px 15px; }
  .plate figcaption { font-size: 10px; gap: 8px; flex-wrap: wrap; }
  .plate-zoom { opacity: 1; width: 26px; height: 26px; bottom: 8px; right: 8px; }
  .plate-zoom svg { width: 16px; }
  .photography-empty { grid-template-columns: 1fr; gap: 20px; margin-top: 60px; }
  .publication-year { grid-template-columns: 1fr; gap: 18px; margin-top: 38px; }
  .publication h3 { font-size: 21px; }
  .publication-links { column-gap: 16px; }
  .cv-intro { align-items: flex-start; flex-direction: column; gap: 22px; }
  .cv-section { grid-template-columns: 1fr; gap: 24px; margin-top: 35px; }
  .cv-row { grid-template-columns: 80px 1fr; gap: 18px; }
  .project-explorer { grid-template-columns: 1fr; gap: 28px; }
  .site-footer { padding: 28px 22px 35px; margin-top: 65px; flex-direction: column; gap: 25px; }
  .dialog-controls { flex-direction: column; gap: 15px; }
  .image-dialog { padding: 16px; }
  .dialog-top h2 { font-size: 15px; }
  .dialog-controls .link-group { gap: 15px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { transition: none !important; } }
/* The question leads; affiliation belongs in the ordinary introduction. */
.figure-reading { font: 13px/1.7 var(--body); color: var(--muted); max-width: none; margin-top: 14px; }
.current-case { grid-template-areas: 'why observation' 'reading observation'; row-gap: 34px; }
.case-why { grid-area: why; }
.case-reading { grid-area: reading; }
.current-case-figure { grid-area: observation; }
@media (max-width:760px) {
  .current-case { grid-template-areas: 'why' 'observation' 'reading'; }
}
/* Shared content model: two research stories and a separate amateur/pro thread. */
.name-cn { font-size: .48em; display: inline-block; margin-left: 12px; letter-spacing: 0; }
.research-opening .identity-plate .plate-open img { aspect-ratio: 1.12; object-fit: contain; }
.research-pair-section, .image-interlude, .amateur-feature, .research-context, .analysis-section, .collaboration-context, .practice-story, .practice-project { margin-top: 88px; }
.two-stories { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; }
.research-story { border-top: 1px solid var(--line); padding-top: 24px; min-width: 0; }
.research-story h3 { font: 28px/1.45 var(--display); }
.research-story h3 .text-link { display: flex; justify-content: space-between; gap: 18px; align-items: baseline; }
.story-stage { color: var(--muted); font-size: 12px; margin: 12px 0 20px; }
.research-story > p:last-of-type { max-width: 56ch; }
.content-gap { border: 1px solid var(--line); min-height: 155px; padding: 26px; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; background: transparent; }
.content-gap h3 { font: 21px/1.5 var(--display); }
.content-gap p { color: var(--muted); font-size: 13px; margin-top: 12px; max-width: 56ch; }
.gap-status { color: var(--accent); font-size: 12px; margin-top: 25px; }
.research-story .content-gap { margin-top: 28px; }
.image-interlude-spread { display: grid; grid-template-columns: 1.1fr 1.4fr .8fr; align-items: center; gap: 25px; }
.image-interlude-spread > .plate:nth-child(2) { margin-top: 65px; }
.image-interlude-spread > .plate:nth-child(3) { margin-top: 125px; }
.image-interlude .section-note { color: var(--muted); font-size: 13px; max-width: 75ch; margin-top: 25px; }
.amateur-feature { display: grid; grid-template-columns: .8fr 1.2fr; align-items: start; gap: 70px; border-top: 1px solid var(--line); padding-top: 40px; }
.amateur-copy p { margin: 24px 0; color: var(--muted); max-width: 44ch; }
.photo-slot { min-height: 350px; align-items: center; text-align: center; }
.photo-slot p { max-width: 42ch; }
.photo-slot .gap-status { margin-top: 55px; }
.research-context { border-top: 1px solid var(--line); padding-top: 30px; }
.research-context p { margin: 24px 0; max-width: 72ch; color: var(--muted); }
.beagle-opening { display: grid; grid-template-columns: 1.05fr .95fr; gap: 65px; margin-top: 55px; align-items: start; }
.analysis-section .content-gap + .content-gap { margin-top: 28px; }
.analysis-slot { min-height: 330px; }
.cristal-personal { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; margin-top: 50px; }
.cristal-personal > .content-gap:last-child { grid-column: 1 / -1; min-height: 270px; }
.collaboration-context { border-top: 1px solid var(--line); padding-top: 35px; display: grid; grid-template-columns: 1fr .7fr; gap: 75px; }
.collaboration-context .text-link { font-size: 13px; margin-top: 12px; }
.collaboration-context .current-figure { padding: 0; }
.practice-photography .photo-slot { min-height: 440px; }
.practice-story { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; }
.practice-project { display: grid; grid-template-columns: .6fr 1.4fr; gap: 60px; border-top: 1px solid var(--line); padding-top: 35px; }
.image-source-note { margin: 45px 0; max-width: 78ch; }
.image-source-note p { margin: 22px 0; }
.image-source-note .link-group { margin-top: 25px; }
.cv-row time { overflow-wrap: anywhere; }
@media (max-width:1100px) {
  .site-header nav { gap: 15px; }
  .site-header { gap: 19px; }
  .two-stories { gap: 38px; }
  .research-story h3 { font-size: 25px; }
  .beagle-opening, .amateur-feature, .collaboration-context, .practice-story { gap: 38px; }
}
@media (max-width:760px) {
  .name-cn { margin-left: 8px; }
  .research-pair-section, .image-interlude, .amateur-feature, .research-context, .analysis-section, .collaboration-context, .practice-story, .practice-project { margin-top: 55px; }
  .two-stories, .amateur-feature, .beagle-opening, .collaboration-context, .practice-story, .practice-project, .cristal-personal { grid-template-columns: 1fr; gap: 35px; }
  .research-story h3 { font-size: 25px; }
  .content-gap { min-height: 170px; padding: 23px; }
  .content-gap h3 { font-size: 20px; }
  .photo-slot { min-height: 260px; }
  .photo-slot .gap-status { margin-top: 40px; }
  .image-interlude-spread { grid-template-columns: 1fr 1fr; gap: 20px; align-items: start; }
  .image-interlude-spread > .plate:nth-child(2) { grid-column: 1 / -1; grid-row: 2; max-width: 450px; margin-top: 0; }
  .image-interlude-spread > .plate:nth-child(3) { margin-top: 35px; }
  .beagle-opening { margin-top: 40px; }
  .analysis-slot { min-height: 280px; }
  .cristal-personal > .content-gap:last-child { grid-column: auto; min-height: 250px; }
  .practice-photography .photo-slot { min-height: 300px; }
}

/* The v0.5 shared reading system. Each proposal supplies its own composition. */
.v05 { --bg:#10151e; --ink:#eaece9; --muted:#adb6c5; --accent:#b5c9ed; --line:#344053; --surface:#171e2a; --display:Literata,LocalChineseSerif,serif; --body:LocalChinese,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; background:var(--bg); color:var(--ink); font-family:var(--body); color-scheme:dark; }
.v05 a { text-underline-offset:5px; text-decoration-thickness:1px; }
.v05 a:hover { color:var(--accent); }
.v05 button, .v05 summary { cursor:pointer; }
.v05 button:focus-visible,.v05 a:focus-visible,.v05 summary:focus-visible,.v05 input:focus-visible { outline:2px solid var(--accent); outline-offset:5px; }
.v05 ::selection { background:#b5c9ed; color:#10151e; }
.v05 input { caret-color:var(--accent); }
.v05 * { scrollbar-color:#55647d var(--bg); }
.v05 [id] { scroll-margin-top:35px; }
.v05 h1 { font-size:clamp(38px,5vw,64px); max-width:20ch; line-height:1.18; font-weight:450; letter-spacing:-.035em; text-wrap:balance; }
.v05 h2 { font-size:clamp(25px,2.5vw,34px); line-height:1.4; font-weight:450; letter-spacing:-.02em; text-wrap:balance; }
.v05 h3 { font-size:22px; line-height:1.45; font-weight:450; }
.v05 p { max-width:69ch; }
.v05 p + p { margin-top:18px; }
.v05 .v-nav { display:flex; align-items:center; gap:28px; max-width:1440px; min-height:95px; margin:auto; padding:24px 48px; border-bottom:1px solid var(--line); }
.v05 .v-brand { font:450 25px/1.2 var(--display); margin-right:auto; text-decoration:none; white-space:nowrap; }
.v05 .v-brand span { font-size:14px; margin-left:10px; color:var(--muted); }
.v05 .v-nav nav { display:flex; align-items:center; gap:25px; font-size:13px; }
.v05 .v-nav nav a { text-decoration:none; padding:5px 0; }
.v05 .v-nav nav a[aria-current] { color:var(--accent); border-bottom:1px solid currentColor; }
.v05 .cv-direct { display:inline-flex; gap:6px; align-items:center; white-space:nowrap; font-size:13px; text-decoration:none; }
.v05 .cv-direct span { font-size:10px; color:var(--muted); }
.v05 .language-switch { font-size:13px; }
.v05 .v-main { max-width:1280px; margin:auto; padding:0 48px; }
.v05 .v-footer { max-width:1280px; margin:90px auto 0; padding:30px 48px 45px; border-top:1px solid var(--line); display:flex; justify-content:space-between; gap:35px; font-size:12px; }
.v05 .v-footer p { color:var(--muted); margin-top:10px; }
.v05 .v-footer a { display:inline-flex; align-items:center; gap:12px; }
.v05 .identity-role { font-size:14px; line-height:1.7; color:var(--muted); }
.v05 .focus-line { color:var(--accent); font-size:16px; margin-top:20px; }
.v05 .intro { color:var(--muted); font-size:16px; line-height:1.9; margin-top:25px; }
.v05 .name-cn { font-size:.43em; margin-left:12px; color:var(--muted); }
.v05 .plate-open { background:#080b11; border-radius:3px; }
.v05 .plate-open img { padding:0; object-fit:contain; }
.v05 .plate-open[data-state=annotated] img { padding:10px; }
.v05 .plate-open:after { content:''; position:absolute; inset:0; border:1px solid rgba(176,195,225,.14); border-radius:3px; pointer-events:none; }
.v05 .plate figcaption { margin-top:10px; font-size:12px; color:var(--muted); }
.v05 .plate-zoom { opacity:1; width:28px; height:28px; background:#dce4f0; color:#10151e; bottom:10px; right:10px; }
.v05 .image-credit { font-size:12px; line-height:1.75; color:var(--muted); margin-top:14px; }
.v05 .audience-paths { display:grid; gap:0; }
.v05 .audience-paths > a { padding:20px 0; border-top:1px solid var(--line); text-decoration:none; min-width:0; }
.v05 .path-title { display:flex; align-items:center; justify-content:space-between; gap:20px; font-size:18px; line-height:1.6; }
.v05 .path-title svg { flex-shrink:0; }
.v05 .path-note { display:block; color:var(--muted); font-size:12px; line-height:1.8; margin-top:7px; }
.v05 .section-heading { display:flex; align-items:baseline; justify-content:space-between; gap:25px; margin-bottom:30px; }
.v05 .section-heading > a,.v05 .section-heading .link-group { font-size:13px; }
.v05 .work-preview { margin-top:90px; border-top:1px solid var(--line); padding-top:35px; }
.v05 .preview-columns { display:grid; grid-template-columns:1fr 1fr; gap:70px; }
.v05 .preview-columns p { font-size:14px; line-height:1.9; color:var(--muted); margin-top:15px; }
.v05 .practice-preview { margin-top:75px; display:grid; grid-template-columns:.75fr 1.25fr; gap:24px 65px; }
.v05 .practice-preview p { color:var(--muted); font-size:15px; line-height:1.9; }
.v05 .practice-preview > a { grid-column:2; justify-self:start; font-size:13px; }
.v05 .v-intro { padding:65px 0 45px; max-width:1050px; }
.v05 .v-intro > p { font-size:16px; line-height:1.9; color:var(--muted); margin-top:25px; }
.v05 .v-intro .link-group { margin-top:25px; font-size:14px; }
.v05 .study-grid { display:grid; grid-template-columns:1.25fr .75fr; gap:55px 75px; }
.v05 .study-block { border-top:1px solid var(--line); padding-top:26px; min-width:0; }
.v05 .study-block > p { font-size:15px; line-height:1.9; color:var(--muted); margin-top:18px; }
.v05 .study-block .link-group { font-size:13px; margin-top:25px; }
.v05 .earlier-study { grid-column:1 / -1; max-width:900px; }
.v05 .context-plate { max-width:360px; justify-self:end; }
.v05 .context-plate img { width:100%; border-radius:3px; }
.v05 .context-plate figcaption { font-size:12px; line-height:1.8; color:var(--muted); margin-top:12px; }
.v05 .gap-list { display:grid; margin-top:27px; }
.v05 .missing-line { border-top:1px dashed var(--line); padding:13px 0; color:var(--muted); font-size:13px; line-height:1.8; }
.v05 .reserved-space { display:block; min-height:8px; }
.v05 .photo-reserve { min-height:270px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; border:1px dashed #506078; padding:35px; color:var(--muted); background:var(--surface); font-size:14px; }
.v05 .photo-reserve .reserved-space { min-height:40px; }
.v05 .practice-chapter { display:grid; grid-template-columns:1fr 1fr; gap:45px 70px; margin-top:90px; padding-top:35px; border-top:1px solid var(--line); }
.v05 .practice-copy > p { margin-top:24px; font-size:15px; line-height:1.9; color:var(--muted); }
.v05 .practice-copy > a { margin-top:25px; font-size:14px; }
.v05 .practice-notes { grid-column:1 / -1; display:grid; grid-template-columns:1fr 1fr; gap:70px; }
.v05 .practice-notes h3 { font-size:21px; margin-bottom:15px; }
.v05 .practice-body .practice-chapter { margin-top:0; }
.v05 .papers-section { margin-top:70px; padding-top:35px; border-top:1px solid var(--line); }
.v05 .section-note { font-size:12px; line-height:1.8; color:var(--muted); }
.v05 .paper-row { display:grid; grid-template-columns:62px 1fr; gap:25px; border-bottom:1px solid var(--line); padding:25px 0; }
.v05 .paper-row time { color:var(--muted); font-size:13px; font-variant-numeric:tabular-nums; }
.v05 .paper-row h3 { font-size:18px; font-family:var(--display); }
.v05 .paper-row h3 a { text-decoration:none; display:inline; }
.v05 .paper-row p { color:var(--muted); font-size:12px; line-height:1.8; margin-top:8px; }
.v05 .paper-links { display:flex; flex-wrap:wrap; gap:18px; font-size:12px; margin-top:12px; align-items:baseline; }
.v05 .paper-links details { width:100%; }
.v05 details > summary { list-style:revert; font-size:14px; padding:14px 0; line-height:1.7; }
.v05 details pre { font-size:12px; line-height:1.7; color:var(--ink); background:var(--surface); white-space:pre-wrap; overflow-wrap:anywhere; padding:22px; max-width:100%; margin:15px 0; }
.v05 .all-papers { margin-top:15px; }
.v05 .all-papers > summary { display:flex; align-items:center; justify-content:space-between; gap:20px; border-bottom:1px solid var(--line); }
.v05 .all-papers[open] > summary { color:var(--accent); }
.v05 .submission-note { margin-top:20px; }
.v05 .submission-note p { color:var(--muted); font-size:13px; line-height:1.8; margin:12px 0; }
.v05 .cv-digest { margin-top:70px; padding-top:30px; border-top:1px solid var(--line); }
.v05 .record-row { display:grid; grid-template-columns:120px 1fr; gap:30px; margin-top:20px; font-size:14px; }
.v05 .record-row time { color:var(--muted); font-variant-numeric:tabular-nums; }
.v05 .cv-more { padding:15px 0; }
.v05 .cv-more h3 { margin-top:25px; }
.v05 .cv-more p { color:var(--muted); }
.v05 .cv-digest > .section-note { margin-top:20px; }
.v05 .workflow { display:flex; flex-wrap:wrap; gap:8px 28px; margin-top:25px; padding-left:20px; color:var(--accent); font-size:13px; line-height:1.8; }
.v05 .gallery-tools { display:flex; justify-content:space-between; align-items:baseline; gap:30px; border-bottom:1px solid var(--line); padding-bottom:20px; }
.v05 .gallery-tools p { color:var(--muted); font-size:12px; }
.v05 .gallery-curated { display:grid; grid-template-columns:1fr 1fr; gap:65px 30px; padding-top:40px; }
.v05 .curated-item:first-child { grid-column:1 / -1; width:82%; }
.v05 .curated-item:first-child img { aspect-ratio:1.35; }
.v05 .curated-item { min-width:0; }
.v05 .source-link { display:inline-flex; align-items:center; gap:10px; margin-top:8px; font-size:12px; }
.v05 .gallery-archive { margin-top:65px; border-top:1px solid var(--line); padding-top:15px; }
.v05 .gallery-archive > summary { font-family:var(--display); font-size:25px; }
.v05 .archive-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:35px 22px; margin-top:25px; }
.v05 .archive-grid .plate figcaption { font-size:11px; }
.v05 .image-dialog { background:var(--bg); color:var(--ink); border:1px solid var(--line); border-radius:3px; }
.v05 .dialog-image-stage { background:#080b11; }
.v05 .search-field { margin:25px 0; }
.v05 .search-field input { background:var(--surface); color:var(--ink); border-color:var(--line); }
.v05 .story-stage { font-size:12px; color:var(--muted); }
.comparison-v05 main { max-width:1440px; margin:auto; padding:45px 48px 70px; }
.comparison-v05 header h1 { margin:60px 0 25px; max-width:18ch; font-size:clamp(42px,5vw,64px); }
.comparison-v05 header > p { color:var(--muted); font-size:14px; line-height:1.9; }
.comparison-v05 .proposal-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:35px; margin-top:60px; }
.comparison-v05 .proposal-visual { display:block; border:1px solid var(--line); }
.comparison-v05 .proposal-visual img { width:100%; height:auto; }
.comparison-v05 .preview-pending { aspect-ratio:1.6; display:grid; place-items:center; background:var(--surface); }
.comparison-v05 article h2 { margin-top:25px; font-size:27px; }
.comparison-v05 article h2 span { display:block; margin-top:8px; font:13px/1.7 var(--body); color:var(--muted); }
.comparison-v05 article > p { color:var(--muted); font-size:13px; line-height:1.9; margin-top:20px; }
.comparison-v05 article .link-group { margin-top:25px; font-size:14px; }
.comparison-v05 footer { border-top:1px solid var(--line); margin-top:65px; padding-top:25px; font-size:13px; color:var(--muted); display:flex; justify-content:space-between; gap:30px; }
@media(max-width:1100px) { .v05 .v-nav { gap:22px; padding:22px 30px; } .v05 .v-nav nav { gap:18px; font-size:12px; } .v05 .v-main { padding:0 32px; } .v05 .v-footer { padding-left:32px; padding-right:32px; } .v05 .study-grid { gap:45px; } }
@media(max-width:760px) {
 .v05 .v-nav { min-height:0; padding:20px 22px 17px; flex-wrap:wrap; gap:18px; }
 .v05 .v-brand { font-size:23px; }
 .v05 .v-nav nav { order:4; width:100%; justify-content:space-between; gap:14px; font-size:12px; }
 .v05 .v-nav .cv-direct { font-size:12px; } .v05 .cv-direct svg { display:none; }
 .v05 .v-main { padding:0 22px; } .v05 .v-footer { margin-top:60px; padding:25px 22px 35px; flex-direction:column; gap:25px; }
 .v05 h1 { font-size:38px; } .v05 .intro { font-size:14px; line-height:1.85; }
 .v05 .identity-role { font-size:12px; } .v05 .focus-line { font-size:14px; }
 .v05 .path-title { font-size:16px; } .v05 .path-note { font-size:11px; }
 .v05 .section-heading { align-items:start; flex-direction:column; gap:15px; }
 .v05 .work-preview { margin-top:60px; padding-top:27px; } .v05 .preview-columns { grid-template-columns:1fr; gap:35px; }
 .v05 .practice-preview { margin-top:50px; grid-template-columns:1fr; gap:20px; } .v05 .practice-preview > a { grid-column:auto; }
 .v05 .v-intro { padding:40px 0 30px; } .v05 .v-intro > p { font-size:14px; }
 .v05 .study-grid { grid-template-columns:1fr; gap:35px; } .v05 .context-plate { max-width:310px; justify-self:start; } .v05 .earlier-study { grid-column:auto; }
 .v05 .study-block > p { font-size:14px; } .v05 .missing-line { font-size:12px; }
 .v05 .practice-chapter { grid-template-columns:1fr; gap:30px; margin-top:60px; padding-top:27px; } .v05 .practice-notes { grid-column:auto; grid-template-columns:1fr; gap:25px; }
 .v05 .photo-reserve { min-height:230px; padding:28px; } .v05 .papers-section,.v05 .cv-digest { margin-top:50px; }
 .v05 .paper-row { grid-template-columns:42px 1fr; gap:15px; } .v05 .paper-row h3 { font-size:16px; } .v05 .paper-row p { font-size:11px; }
 .v05 .record-row { grid-template-columns:80px 1fr; gap:20px; font-size:13px; }
 .v05 .gallery-tools { align-items:start; flex-direction:column; gap:15px; } .v05 .gallery-curated { grid-template-columns:1fr; gap:40px; padding-top:25px; }
 .v05 .curated-item:first-child { grid-column:auto; width:100%; } .v05 .curated-item:first-child img { aspect-ratio:1; }
 .v05 .archive-grid { grid-template-columns:1fr 1fr; gap:30px 18px; } .v05 .image-credit { font-size:11px; }
 .comparison-v05 main { padding:30px 22px 45px; } .comparison-v05 header h1 { margin-top:35px; font-size:40px; }
 .comparison-v05 .proposal-grid { grid-template-columns:1fr; gap:50px; margin-top:40px; } .comparison-v05 footer { flex-direction:column; }
}
@media(prefers-reduced-motion:no-preference) { .v05 .plate-open img { transition:filter .5s cubic-bezier(.16,1,.3,1); } .v05 .plate-open:hover img { filter:brightness(1.08); } }
/* Round 1: captions carry local contribution boundaries; disclosures fit real copy. */
.v05 .plate figcaption { flex-wrap:wrap; }
.v05 .contribution-credit { flex-basis:100%; padding-top:5px; line-height:1.8; }
.v05 .preview-columns h3 a { text-decoration:none; }
.v05 .preview-columns h3 a:hover { text-decoration:underline; }
.v05 .gallery-archive > summary { width:100%; display:flex; align-items:center; justify-content:space-between; gap:18px; white-space:normal; }
.v05 .gallery-archive > summary > span { min-width:0; }
.v05 .gallery-archive > summary svg { flex-shrink:0; }
.v05 .repo-status { margin-top:14px; }
@media(max-width:760px) { .v05 .gallery-archive > summary { font-size:22px; } }
/* Native disclosures show their current state without a custom widget. */
.v05 .all-papers > summary { width:100%; }
.v05 .all-papers > summary svg,.v05 .gallery-archive > summary svg { transform-origin:center; }
.v05 .all-papers[open] > summary svg,.v05 .gallery-archive[open] > summary svg { transform:rotate(90deg); }
.v05 .version-note { font-size:12px; line-height:1.8; color:var(--muted); margin-top:15px; }
/* Linked reading destinations land immediately, including images loaded by a fragment. */
.v05-root { scroll-behavior:auto; }
/* The document owns the native viewport gutter; body variables do not inherit upward. */
.v05-root { color-scheme:dark; background:#10151e; scrollbar-color:#55647d #10151e; }

.v05.v-index {
  --bg: #10151e;
  --ink: #ebece9;
  --muted: #abb5c5;
  --accent: #b3c8ec;
  --line: #35404f;
  --surface: #171f2b;
  --display: Bricolage, LocalChinese, sans-serif;
  --body: Bricolage, LocalChinese, sans-serif;
  background: var(--bg);
  color: var(--ink);
  font-family: var(--body);
}

.v-index ::selection { background: #b3c8ec; color: #10151e; }
.v-index { scrollbar-color: #596b84 #10151e; caret-color: var(--accent); }
.v-index a { text-underline-offset: .22em; text-decoration-thickness: 1px; }
.v-index a:focus-visible,
.v-index button:focus-visible { outline: 2px solid var(--accent); outline-offset: 5px; }
.v-index .v-nav,
.v-index .v-main { width: min(100% - 88px, 1180px); margin-inline: auto; }
.v-index .v-nav { min-height: 104px; padding-inline: 0; border-bottom: 1px solid var(--line); }
.v-index .v-nav a { color: var(--muted); }
.v-index .v-nav a:hover,
.v-index .v-nav a[aria-current="page"] { color: var(--ink); }
.v-index .v-nav .v-brand { color: var(--ink); }
.v-index .v-main { padding: 76px 0 108px; }
.v-index:not(.route-index) .v-main { padding-top: 0; }
.v-index h1,
.v-index h2,
.v-index h3 { font-weight: 500; text-wrap: balance; }
.v-index h1 { font-family: var(--display); letter-spacing: -.035em; }
.v-index h2,
.v-index h3 { font-family: Literata, LocalChineseSerif, serif; }
.v-index h2 { font-size: clamp(27px, 3vw, 38px); line-height: 1.3; letter-spacing: -.02em; }
.v-index h3 { line-height: 1.4; letter-spacing: -.015em; }
.v-index p { line-height: 1.75; }

.v-index .index-opening {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
  grid-template-areas: "identity plate" "paths plate";
  gap: 38px 76px;
  align-items: start;
}
.v-index .identity { grid-area: identity; min-width: 0; }
.v-index .identity h1 {
  margin: -9px 0 18px;
  font-size: clamp(55px, 6vw, 82px);
  line-height: 1.08;
  white-space: nowrap;
}
.v-index .name-cn {
  display: inline-block;
  margin-left: 13px;
  color: var(--muted);
  font-family: LocalChinese, sans-serif;
  font-size: 27px;
  font-weight: 400;
  letter-spacing: .02em;
  vertical-align: .12em;
}
.v-index .identity-role { margin: 0 0 29px; color: var(--muted); font-size: 15px; }
.v-index .focus-line { margin: 0 0 15px; color: var(--accent); font-size: 25px; line-height: 1.35; letter-spacing: -.02em; }
.v-index .identity .intro { margin: 0; max-width: 44ch; color: var(--ink); font-size: 17px; line-height: 1.8; }
.v-index .index-plate { grid-area: plate; min-width: 0; margin: 0; padding-top: 2px; }
.v-index .index-plate img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  object-fit: contain;
  background: #070b12;
  border: 1px solid #293440;
  border-radius: 3px;
}
.v-index .index-plate figcaption { margin-top: 14px; max-width: 47ch; color: var(--muted); font-size: 12px; line-height: 1.7; }
.v-index .audience-paths { grid-area: paths; min-width: 0; border-top: 1px solid var(--line); }
.v-index .audience-paths > a {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: baseline;
  gap: 3px;
  padding: 16px 0 18px;
  border-bottom: 1px solid var(--line);
  text-decoration: none;
}
.v-index .path-title { color: var(--accent); font-size: 18px; line-height: 1.4; }
.v-index .path-note { color: var(--muted); font-size: 13px; line-height: 1.6; }
.v-index .audience-paths .path-note { margin-top: 0; }
.v-index .audience-paths > a:hover .path-title { color: var(--ink); text-decoration: underline; text-underline-offset: .22em; }
.v-index .audience-paths > a:hover .path-note { color: var(--ink); }

.v-index .work-preview { margin-top: 91px; padding-top: 35px; border-top: 1px solid var(--line); }
.v-index .section-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 24px; margin-bottom: 33px; }
.v-index .section-heading h2 { margin: 0; }
.v-index .section-heading > a { color: var(--accent); font-size: 14px; flex-shrink: 0; }
.v-index .preview-columns { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 78px; }
.v-index .preview-columns article { min-width: 0; }
.v-index .preview-columns h3 { max-width: 25ch; margin: 0 0 15px; font-size: 24px; }
.v-index .preview-columns p { max-width: 55ch; margin: 0; color: var(--muted); font-size: 15px; }

.v-index .v-intro > h1 { max-width: 20ch; margin: 0 0 28px; font-size: clamp(41px, 4.6vw, 62px); line-height: 1.12; }
.v-index .study-block h2 { margin-top: 0; }
.v-index .practice-body { max-width: 1080px; }
.v-index .practice-chapter { margin-top: 65px; padding-top: 31px; border-top: 1px solid var(--line); }
.v-index .practice-chapter h2 { margin: 0 0 23px; }
.v-index .practice-chapter p { max-width: 68ch; }
.v-index .practice-chapter img { border-radius: 3px; }
.v-index .gallery-curated {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  align-items: start;
  gap: 54px 32px;
  margin-top: 0;
  padding-top: 40px;
}
.v-index .gallery-curated > .curated-item { min-width: 0; width: 100%; }
.v-index .gallery-curated > .curated-item:first-child { grid-column: 1 / 8; }
.v-index .gallery-curated > .curated-item:nth-child(2) { grid-column: 8 / 13; padding-top: 70px; }
.v-index .gallery-curated > .curated-item:nth-child(3) { grid-column: 3 / 12; }
.v-index .gallery-curated figure { min-width: 0; margin: 0; }
.v-index .gallery-curated img { width: 100%; height: auto; border-radius: 3px; }
.v-index .gallery-curated figcaption { margin-top: 15px; color: var(--muted); font-size: 13px; line-height: 1.7; }

@media (max-width: 1020px) {
  .v-index .v-nav,
  .v-index .v-main { width: calc(100% - 56px); }
  .v-index .index-opening { gap: 32px 40px; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); }
  .v-index .identity h1 { font-size: 59px; }
  .v-index .name-cn { font-size: 23px; margin-left: 8px; }
  .v-index .audience-paths > a { gap: 5px; }
  .v-index .preview-columns { gap: 48px; }
}

@media (max-width: 760px) {
  .v-index .v-nav,
  .v-index .v-main { width: calc(100% - 40px); }
  .v-index .v-nav { min-height: 86px; }
  .v-index .v-main { padding-block: 43px 76px; }
  .v-index .index-opening { grid-template-columns: minmax(0, 1fr); grid-template-areas: "identity" "paths" "plate"; gap: 28px; }
  .v-index .identity h1 { margin-top: -5px; margin-bottom: 13px; font-size: clamp(51px, 10.5vw, 72px); }
  .v-index .name-cn { font-size: 23px; }
  .v-index .identity-role { margin-bottom: 24px; font-size: 14px; }
  .v-index .focus-line { font-size: 23px; }
  .v-index .identity .intro { max-width: 55ch; font-size: 16px; line-height: 1.8; }
  .v-index .audience-paths > a { gap: 4px; padding-block: 13px; }
  .v-index .path-title { font-size: 17px; }
  .v-index .path-note { font-size: 12px; }
  .v-index .index-plate { width: min(100%, 560px); padding-top: 4px; }
  .v-index .index-plate figcaption { max-width: 56ch; }
  .v-index .work-preview { margin-top: 60px; padding-top: 29px; }
  .v-index .section-heading { align-items: flex-start; gap: 15px; margin-bottom: 28px; }
  .v-index .section-heading h2 { font-size: 29px; }
  .v-index .section-heading > a { padding-top: 7px; font-size: 12px; }
  .v-index .preview-columns { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .v-index .preview-columns h3 { max-width: 30ch; font-size: 23px; }
  .v-index .preview-columns p { max-width: 65ch; }
  .v-index .v-intro > h1 { font-size: clamp(36px, 8.4vw, 52px); }
  .v-index .practice-chapter { margin-top: 48px; padding-top: 25px; }
  .v-index .gallery-curated { grid-template-columns: minmax(0, 1fr); gap: 34px; padding-top: 31px; }
  .v-index .gallery-curated > .curated-item:first-child,
  .v-index .gallery-curated > .curated-item:nth-child(2),
  .v-index .gallery-curated > .curated-item:nth-child(3) { grid-column: 1; padding-top: 0; }
}

@media (prefers-reduced-motion: no-preference) {
  .v-index .path-title,
  .v-index .path-note,
  .v-index .v-nav a { transition: color .18s cubic-bezier(.2, .8, .2, 1); }
}

/* Four developments of Index; the scientific pixels and their full versions remain intact. */
.v06-root { background:#10151e; color-scheme:dark; scroll-behavior:auto; scrollbar-color:#596b84 #10151e; }
.v06 { --bg:#10151e; --ink:#ebeeeF; --muted:#aab7cb; --accent:#bfd2f4; --line:#344152; --surface:#172130; }
.v06 .v-nav { min-height:94px; gap:30px; }
.v06 .v-nav nav { gap:26px; }
.v06 .v-nav .v-brand { font-size:23px; }
.v06 .v-utilities { display:flex; align-items:center; gap:21px; flex-shrink:0; }
.v06 .v-utilities a { display:inline-flex; gap:5px; align-items:center; color:var(--muted); text-decoration:none; font-size:12px; }
.v06 .v-utilities a:hover { color:var(--ink); text-decoration:underline; }
.v06 .v-utilities span { font-size:9px; }
.v06 .v-utilities svg { width:13px; height:13px; }
.v06 .v-main { padding-top:64px; padding-bottom:0; }
.v06 .index-opening { grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr); grid-template-rows:auto 1fr; gap:30px 70px; }
.v06 .identity h1 { font-size:clamp(54px,5.7vw,76px); letter-spacing:-.035em; margin-bottom:18px; }
.v06 .identity-role { font-size:14px; margin-bottom:26px; }
.v06 .identity .intro { font-size:17px; line-height:1.85; max-width:47ch; }
.v06 .index-plate { padding-top:0; }
.v06 .index-plate .plate-open img { aspect-ratio:1; width:100%; object-fit:contain; background:#080b11; border:0; }
.v06 .index-plate .plate-open { width:100%; border:1px solid #2c394b; border-radius:5px; }
.v06 .index-plate figcaption { margin-top:13px; }
.v06 .index-plate .contribution-credit { padding-top:11px; margin-top:0; font-size:11px; }
.v06 .audience-paths > a { padding:14px 0 15px; }
.v06 .audience-paths { align-self:start; }
.v06 .path-title { font-size:17px; }
.v06 .path-note { font-size:12px; }
.v06 .home-note { display:grid; grid-template-columns:minmax(0,1fr); margin-top:74px; padding-top:30px; border-top:1px solid var(--line); }
.v06 .home-note-copy { display:grid; grid-template-columns:1fr 2fr; gap:15px 60px; }
.v06 .home-note h2 { margin:0; font-size:25px; }
.v06 .home-note p { font-size:14px; color:var(--muted); line-height:1.85; max-width:68ch; }
.v06 .home-note .link-group { grid-column:2; font-size:12px; margin-top:0; }
.v06 .v-footer { width:min(100% - 88px,1180px); padding:24px 0 30px; margin:72px auto 0; font-size:11px; }
.v06 .v-footer p { font-size:11px; margin-top:6px; }
.v06 .v-footer a { gap:8px; }
.v06 .v-footer svg { width:15px; height:15px; }
.v06 .v-intro { max-width:960px; padding:56px 0 45px; }
.v06 .v-intro > h1 { font-size:clamp(41px,4.2vw,58px); margin-bottom:22px; }
.v06 .v-intro > p { max-width:69ch; margin-top:0; }
.v06 .chapter-nav { display:flex; flex-wrap:wrap; gap:15px 27px; margin-top:24px; font-size:12px; color:var(--accent); }
.v06 .research-chapter { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr); gap:50px 85px; padding-top:30px; border-top:1px solid var(--line); }
.v06 .chapter-copy { min-width:0; }
.v06 .chapter-copy h2 { font-size:31px; max-width:26ch; margin:0 0 20px; }
.v06 .heading-phrase { display:inline-block; }
.v06 .chapter-copy > p { color:var(--muted); font-size:15px; line-height:1.9; }
.v06 .chapter-copy .story-stage { color:var(--accent); font-size:12px; margin-bottom:15px; }
.v06 .research-chapter .context-plate { width:100%; max-width:370px; margin:0; padding-top:5px; align-self:start; }
.v06 .research-chapter .context-plate img { width:100%; border:1px solid var(--line); border-radius:3px; }
.v06 .gap-list { margin-top:25px; }
.v06 .missing-line { padding:12px 0; }
.v06 .earlier-chapter { margin-top:65px; }
.v06 .research-margin { align-self:start; max-width:33ch; padding-top:8px; font-size:12px; color:var(--muted); line-height:1.85; }
.v06 .research-margin a { display:inline-flex; align-items:center; gap:9px; font-size:12px; margin-top:20px; color:var(--accent); }
.v06 .research-margin svg { width:17px; height:17px; }
.v06 .research-record { display:grid; grid-template-columns:110px minmax(0,1fr); gap:12px 20px; margin:0; font-size:14px; line-height:1.85; }
.v06 .research-record dt { color:var(--muted); }
.v06 .research-record dd { margin:0; color:var(--ink); }
.v06 .result-reserve { min-width:0; align-self:start; padding:22px; border:1px dashed #5a6c86; border-radius:3px; }
.v06 .result-reserve .gap-list { margin:0; }
.v06 .result-reserve .missing-line:first-child { border-top:0; padding-top:0; }
.v06 .result-reserve [data-gap=beagle_figure] .reserved-space { min-height:125px; }
.v06 .research-image-context { min-width:0; width:100%; max-width:370px; justify-self:end; }
.v06 .research-image-context .plate-open { aspect-ratio:1; }
.v06 .research-image-context img { width:100%; height:100%; object-fit:contain; }
.v06 .research-image-context .text-link { margin-top:18px; font-size:12px; }
.v06 .selected-works { border-top:1px solid var(--line); margin-top:65px; padding-top:30px; }
.v06 .selected-works h2 { font-size:29px; margin:0; }
.v06 .selected-works .section-heading { margin-bottom:15px; }
.v06 .selected-works .section-note { max-width:85ch; font-size:12px; margin-bottom:12px; }
.v06 .selected-row { display:grid; grid-template-columns:70px minmax(0,1fr); gap:25px; padding:23px 0 25px; border-bottom:1px solid var(--line); }
.v06 .selected-row time { font-size:12px; color:var(--muted); font-variant-numeric:tabular-nums; padding-top:2px; }
.v06 .selected-row h3 { max-width:76ch; font:450 18px/1.55 var(--body); }
.v06 .selected-row h3 a { display:inline; text-decoration:none; }
.v06 .selected-row h3 a:hover { text-decoration:underline; }
.v06 .selected-row h3 svg { width:14px; height:14px; margin-left:8px; }
.v06 .selected-authors { font-size:12px; color:var(--muted); margin-top:7px; max-width:100%; line-height:1.8; }
.v06 .selected-role { font-size:11px; color:var(--accent); margin-top:7px; line-height:1.8; }
.v06 .practice-example-layout { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:60px 80px; padding-top:30px; border-top:1px solid var(--line); align-items:start; }
.v06 .practice-example-layout h2 { font-size:30px; margin-bottom:20px; }
.v06 .practice-example-layout p { font-size:15px; color:var(--muted); line-height:1.9; }
.v06 .practice-example-layout .text-link { font-size:13px; margin-top:23px; }
.v06 .practice-example-layout .curated-item { min-width:0; }
.v06 .practice-example-layout .image-credit { font-size:11px; }
.v06 .practice-example-layout .source-link { font-size:11px; margin-top:10px; }
.v06 .photography-chapter { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:60px 80px; padding-top:30px; border-top:1px solid var(--line); margin-top:65px; }
.v06 .photography-chapter h2 { font-size:30px; margin-bottom:20px; }
.v06 .photography-chapter p { color:var(--muted); font-size:15px; }
.v06 .photo-reserve { min-height:260px; background:var(--surface); border-color:#5a6c86; border-radius:3px; font-size:13px; }
.v06 .practice-notes { gap:80px; padding-top:30px; border-top:1px solid var(--line); margin-top:65px; }
.v06 .practice-notes h2 { font-size:27px; margin:0 0 22px; }
.v06 .practice-notes .section-note { font-size:11px; margin-top:12px; }
.v06 .practice-image-spread { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr); gap:70px; align-items:center; padding-top:40px; border-top:1px solid var(--line); }
.v06 .practice-image-spread h2 { font-size:34px; margin-bottom:22px; }
.v06 .practice-image-spread p { color:var(--muted); font-size:16px; line-height:1.95; }
.v06 .practice-image-spread .text-link { font-size:13px; margin-top:24px; }
.v06 .practice-image-spread .image-credit { font-size:12px; }
.v06 .version-example .view-switch { display:inline-flex; margin-top:25px; }
.v06 .version-example .plate-open { aspect-ratio:1; }
.v06 .version-example .plate-open img { width:100%; height:100%; object-fit:contain; }
.v06.direction-outline .practice-notes.single-tool, .v06.direction-outline .practice-notes.single-story { display:block; max-width:720px; }
.v06 .gallery-tools { gap:20px; }
.v06 .gallery-curated { padding-top:35px; gap:50px 35px; }
.v06 .gallery-curated > .curated-item:nth-child(2) { padding-top:60px; }
.v06 .gallery-curated > .curated-item:nth-child(3) { grid-column:3 / 11; }
.v06 .gallery-archive { margin-top:55px; }
.v06 .version-note { font-size:12px; color:var(--muted); }
.v06 .figure-sources { display:flex; flex-wrap:wrap; gap:7px 22px; align-items:baseline; }
.v06 .view-switch { flex-shrink:0; }
.v06 .view-switch button { font-size:12px; }
.v06 .plate-open[data-state=annotated] img { border:0; }
.v06 .reading-controls { margin-top:20px; }
.v06 .reading-controls .view-switch { display:inline-flex; }
.v06 .reading-controls > .text-link { display:inline-flex; font-size:12px; margin-top:9px; }
.v06 .reading-notes { min-height:66px; margin-top:13px; }
.v06 .reading-note { color:var(--muted); font-size:12px; line-height:1.85; }
.v06 .reading-note + .reading-note { margin-top:0; }
.v06 .reading-note.for-annotated { display:none; }
.v06 .reading-controls:has([data-view=annotated][aria-pressed=true]) .for-pure { display:none; }
.v06 .reading-controls:has([data-view=annotated][aria-pressed=true]) .for-annotated { display:block; }

/* Concision changes the length and density, rather than shrinking the image. */
.v06.direction-outline { --bg:#11171f; --ink:#e7edf5; --muted:#a7b5c7; --accent:#bacded; --line:#344251; }
.v06.direction-outline .v-main, .v06.direction-outline .v-nav, .v06.direction-outline .v-footer { max-width:1100px; }
.v06.direction-outline .v-main { padding-top:48px; }
.v06.direction-outline .index-opening { grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:27px 75px; }
.v06.direction-outline .identity h1 { font-size:59px; margin-bottom:15px; }
.v06.direction-outline .identity-role { margin-bottom:23px; font-size:13px; }
.v06.direction-outline .identity .intro { font-size:15px; line-height:1.9; }
.v06.direction-outline h2, .v06.direction-outline h3 { font-family:var(--body); }
.v06.direction-outline .audience-paths > a { padding:13px 0; }
.v06.direction-outline .path-title { font-size:16px; }
.v06.direction-outline .path-note { font-size:11px; }
.v06.direction-outline .v-footer { margin-top:55px; }
.v06.direction-outline .v-intro { padding-top:41px; padding-bottom:33px; }
.v06.direction-outline .v-intro > h1 { font-size:44px; }
.v06.direction-outline .v-intro > p { font-size:15px; }
.v06.direction-outline .research-chapter { gap:45px 70px; }
.v06.direction-outline .chapter-copy h2 { font-size:25px; }
.v06.direction-outline .chapter-copy > p { font-size:14px; }
.v06.direction-outline .earlier-chapter, .v06.direction-outline .selected-works { margin-top:44px; }
.v06.direction-outline .selected-row { padding-block:18px; }
.v06.direction-outline .selected-row h3 { font-size:16px; }
.v06.direction-outline .selected-works h2 { font-size:25px; }
.v06.direction-outline .practice-example-layout h2, .v06.direction-outline .photography-chapter h2, .v06.direction-outline .practice-notes h2 { font-size:25px; }
.v06.direction-outline .photography-chapter, .v06.direction-outline .practice-notes { margin-top:45px; }
.v06.direction-outline .gallery-curated { gap:42px 30px; }
.v06.direction-outline .gallery-curated > .curated-item:nth-child(3) { grid-column:2 / 10; }

/* An unhurried reading keeps the split opening, then gives one real image a full spread. */
.v06.direction-afterlight { --bg:#101722; --ink:#eceef2; --muted:#b2bed0; --accent:#c2d4f4; --line:#3a4558; --surface:#192436; }
.v06.direction-afterlight .index-opening { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:36px 75px; }
.v06.direction-afterlight .identity h1 { font-family:Literata,LocalChineseSerif,serif; font-size:clamp(59px,6.2vw,82px); line-height:1.16; }
.v06.direction-afterlight .identity .name-cn { font-family:LocalChineseSerif,serif; font-size:26px; }
.v06.direction-afterlight .identity .intro { font-size:18px; line-height:1.95; }
.v06.direction-afterlight .index-plate { padding-top:15px; }
.v06.direction-afterlight .index-plate .plate-open { border-radius:7px; }
.v06.direction-afterlight .audience-paths > a { padding-block:17px; }
.v06.direction-afterlight .path-title { font-size:18px; }
.v06.direction-afterlight .home-note { grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:75px; align-items:center; margin-top:100px; padding-top:50px; }
.v06.direction-afterlight .home-note-copy { display:block; }
.v06.direction-afterlight .home-note h2 { font-size:34px; margin-bottom:25px; }
.v06.direction-afterlight .home-note p { font-size:16px; line-height:1.95; }
.v06.direction-afterlight .home-note a { margin-top:24px; font-size:13px; }
.v06.direction-afterlight .home-note .plate-open { border:1px solid var(--line); border-radius:5px; }
.v06.direction-afterlight .home-note .plate-open img { width:100%; aspect-ratio:1.2; object-fit:contain; }
.v06.direction-afterlight .home-note .contribution-credit { display:block; margin-top:13px; font-size:11px; }
.v06.direction-afterlight .v-intro { padding-block:65px 55px; }
.v06.direction-afterlight .v-intro > h1 { font-family:Literata,LocalChineseSerif,serif; font-size:clamp(47px,5.5vw,72px); }
.v06.direction-afterlight .v-intro > p { font-size:18px; line-height:1.95; }
.v06.direction-afterlight .research-chapter { gap:65px 90px; padding-top:38px; }
.v06.direction-afterlight .chapter-copy h2 { font-size:36px; }
.v06.direction-afterlight .chapter-copy > p { font-size:17px; line-height:1.95; }
.v06.direction-afterlight .earlier-chapter, .v06.direction-afterlight .selected-works { margin-top:85px; }
.v06.direction-afterlight .earlier-chapter { grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr); }
.v06.direction-afterlight .practice-example-layout { grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr); gap:80px; }
.v06.direction-afterlight .practice-example-layout p, .v06.direction-afterlight .photography-chapter p { font-size:17px; }
.v06.direction-afterlight .photography-chapter { margin-top:85px; }
.v06.direction-afterlight .gallery-curated { display:block; }
.v06.direction-afterlight .gallery-curated > .curated-item { width:min(82%,900px); margin:0 0 75px; padding:0; }
.v06.direction-afterlight .gallery-curated > .curated-item:nth-child(2) { width:65%; margin-left:auto; }
.v06.direction-afterlight .gallery-curated > .curated-item:nth-child(3) { width:90%; margin-inline:auto; }

/* The fourth direction adds a reading action, not another point on the density axis. */
.v06.direction-double { --bg:#111720; --ink:#e9eef6; --muted:#acbbcf; --accent:#b9d1f9; --line:#35465b; }
.v06.direction-double .index-opening { gap:33px 70px; }
.v06.direction-double .identity h1 { font-size:clamp(56px,6vw,79px); }
.v06.direction-double .index-plate { border-bottom:1px solid var(--line); padding-bottom:12px; }
.v06.direction-double .index-plate .plate-open { aspect-ratio:1; }
.v06.direction-double .index-plate .plate-open img { height:100%; }

.comparison-v06 { --bg:#10151e; --ink:#e9edf3; --muted:#abbad0; --accent:#c1d6fa; --line:#36445a; --surface:#182333; background:var(--bg); }
.comparison-v06 main { width:min(100% - 88px,1320px); margin:auto; padding:45px 0 65px; }
.comparison-v06 header { display:grid; grid-template-columns:1fr 1fr; align-items:end; gap:25px 60px; }
.comparison-v06 header > p:first-child { grid-column:1 / -1; font-size:15px; color:var(--muted); }
.comparison-v06 h1 { margin-top:22px; font-size:clamp(40px,4.5vw,60px); line-height:1.25; }
.comparison-v06 header > p:last-child { margin-bottom:5px; font-size:14px; color:var(--muted); line-height:1.9; }
.comparison-v06 .proposal-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:55px 45px; margin-top:55px; }
.comparison-v06 .proposal-visual { display:block; border:1px solid var(--line); border-radius:4px; overflow:hidden; background:var(--surface); }
.comparison-v06 .proposal-visual img { width:100%; height:auto; }
.comparison-v06 article h2 { display:flex; align-items:baseline; flex-wrap:wrap; gap:15px; font-size:29px; margin:20px 0 8px; }
.comparison-v06 article h2 span { font-family:Bricolage,sans-serif; font-size:21px; color:var(--accent); }
.comparison-v06 article p { font-size:13px; line-height:1.9; color:var(--muted); margin-top:8px; }
.comparison-v06 article .proposal-role { color:var(--accent); font-size:11px; }
.comparison-v06 article .link-group { font-size:13px; margin-top:18px; }
.comparison-v06 footer { display:flex; align-items:end; justify-content:space-between; gap:35px; margin-top:65px; padding-top:25px; border-top:1px solid var(--line); }
.comparison-v06 footer p { font-size:12px; color:var(--muted); line-height:1.9; }
.comparison-v06 footer > a { display:inline-flex; align-items:center; gap:9px; flex-shrink:0; font-size:12px; }

@media (max-width:1100px) {
  .v06 .v-nav { gap:22px; }
  .v06 .v-nav nav { gap:20px; }
  .v06 .v-utilities { gap:14px; }
  .v06 .index-opening, .v06.direction-outline .index-opening, .v06.direction-afterlight .index-opening, .v06.direction-double .index-opening { column-gap:45px; }
  .v06 .identity h1 { font-size:60px; }
  .v06.direction-afterlight .identity h1 { font-size:65px; }
  .v06 .identity .intro { font-size:16px; }
  .v06.direction-afterlight .identity .intro { font-size:17px; }
  .v06 .research-chapter, .v06.direction-afterlight .research-chapter { column-gap:50px; }
  .v06 .practice-example-layout, .v06.direction-afterlight .practice-example-layout, .v06 .photography-chapter { gap:45px; }
}
@media (max-width:850px) and (min-width:761px) {
  .v06 .v-nav { flex-wrap:wrap; min-height:110px; gap:14px 25px; padding-block:22px; }
  .v06 .v-nav nav { order:3; width:100%; justify-content:flex-end; }
  .v06 .identity h1, .v06.direction-outline .identity h1, .v06.direction-double .identity h1 { font-size:50px; }
  .v06.direction-afterlight .identity h1 { font-size:53px; }
  .v06 .name-cn, .v06.direction-afterlight .identity .name-cn { font-size:21px; }
  .v06 .identity .intro, .v06.direction-afterlight .identity .intro { font-size:15px; }
  .v06 .identity-role { font-size:12px; }
  .v06 .index-opening, .v06.direction-outline .index-opening, .v06.direction-afterlight .index-opening, .v06.direction-double .index-opening { column-gap:30px; }
}
@media (max-width:760px) {
  .v06 .v-nav { display:grid; grid-template-columns:1fr auto; min-height:112px; gap:17px 15px; padding-block:22px 19px; }
  .v06 .v-nav .v-brand { font-size:21px; }
  .v06 .v-brand span { font-size:12px; margin-left:7px; }
  .v06 .v-nav nav { grid-column:1 / -1; grid-row:2; justify-content:space-between; gap:15px; font-size:12px; }
  .v06 .v-utilities { gap:15px; }
  .v06 .v-utilities a { font-size:11px; }
  .v06 .v-utilities span { font-size:8px; }
  .v06 .v-utilities svg { width:11px; height:11px; }
  .v06 .v-main, .v06.direction-outline .v-main { padding-top:37px; }
  .v06 .index-opening, .v06.direction-outline .index-opening, .v06.direction-afterlight .index-opening, .v06.direction-double .index-opening { grid-template-columns:minmax(0,1fr); grid-template-areas:"identity" "paths" "plate"; gap:26px; }
  .v06 .identity h1, .v06.direction-outline .identity h1, .v06.direction-double .identity h1 { font-size:clamp(49px,11vw,69px); margin-bottom:14px; }
  .v06.direction-afterlight .identity h1 { font-size:clamp(53px,11.5vw,74px); }
  .v06 .name-cn, .v06.direction-afterlight .identity .name-cn { font-size:23px; margin-left:10px; }
  .v06 .identity-role { margin-bottom:21px; font-size:12px; }
  .v06 .identity .intro { font-size:16px; line-height:1.85; max-width:58ch; }
  .v06.direction-outline .identity .intro { font-size:15px; }
  .v06.direction-afterlight .identity .intro { font-size:17px; line-height:1.95; }
  .v06 .path-title, .v06.direction-afterlight .path-title { font-size:17px; }
  .v06 .path-note { font-size:12px; }
  .v06 .index-plate, .v06.direction-afterlight .index-plate { padding-top:4px; width:100%; }
  .v06 .home-note { margin-top:46px; padding-top:25px; }
  .v06 .home-note-copy { display:block; }
  .v06 .home-note h2 { font-size:26px; margin-bottom:18px; }
  .v06 .home-note p { font-size:14px; }
  .v06 .home-note .link-group { margin-top:17px; }
  .v06 .v-footer { width:calc(100% - 40px); margin-top:48px; padding-block:22px 28px; gap:22px; }
  .v06 .v-footer > div { min-width:0; }
  .v06 .v-footer a { display:inline; }
  .v06 .v-footer p { font-size:10px; }
  .v06 .v-intro, .v06.direction-outline .v-intro, .v06.direction-afterlight .v-intro { padding:29px 0 33px; }
  .v06 .v-intro > h1, .v06.direction-outline .v-intro > h1 { font-size:40px; margin-bottom:20px; }
  .v06.direction-afterlight .v-intro > h1 { font-size:47px; }
  .v06 .v-intro > p, .v06.direction-outline .v-intro > p { font-size:15px; }
  .v06.direction-afterlight .v-intro > p { font-size:16px; }
  .v06 .research-chapter, .v06.direction-afterlight .research-chapter, .v06.direction-afterlight .earlier-chapter { grid-template-columns:minmax(0,1fr); gap:29px; padding-top:25px; }
  .v06 .chapter-copy h2, .v06.direction-afterlight .chapter-copy h2 { font-size:29px; }
  .v06 .chapter-copy > p, .v06.direction-afterlight .chapter-copy > p { font-size:15px; }
  .v06 .research-chapter .context-plate { max-width:450px; width:100%; justify-self:start; }
  .v06 .earlier-chapter, .v06 .selected-works, .v06.direction-afterlight .earlier-chapter, .v06.direction-afterlight .selected-works { margin-top:44px; }
  .v06 .research-margin { max-width:60ch; border-top:1px solid var(--line); padding-top:20px; }
  .v06 .research-image-context { max-width:450px; justify-self:start; }
  .v06 .research-record { grid-template-columns:87px minmax(0,1fr); gap:12px 16px; }
  .v06 .result-reserve { padding:19px; }
  .v06 .selected-works .section-heading { flex-wrap:wrap; gap:8px; margin-bottom:17px; }
  .v06 .selected-works h2 { font-size:28px; }
  .v06 .selected-row { grid-template-columns:42px minmax(0,1fr); gap:13px; padding-block:20px; }
  .v06 .selected-row h3, .v06.direction-outline .selected-row h3 { font-size:16px; line-height:1.65; }
  .v06 .selected-authors { font-size:11px; }
  .v06 .practice-example-layout, .v06.direction-afterlight .practice-example-layout, .v06 .photography-chapter { grid-template-columns:minmax(0,1fr); gap:28px; }
  .v06 .practice-image-spread { grid-template-columns:minmax(0,1fr); gap:28px; padding-top:25px; }
  .v06 .practice-image-spread h2 { font-size:30px; }
  .v06 .practice-image-spread p { font-size:15px; }
  .v06 .practice-example-layout h2, .v06 .photography-chapter h2 { font-size:29px; }
  .v06 .practice-example-layout p, .v06.direction-afterlight .practice-example-layout p, .v06.direction-afterlight .photography-chapter p { font-size:15px; }
  .v06 .practice-notes { grid-template-columns:minmax(0,1fr); gap:34px; }
  .v06 .practice-notes h2 { font-size:26px; }
  .v06 .photography-chapter, .v06.direction-afterlight .photography-chapter, .v06 .practice-notes { margin-top:44px; padding-top:25px; }
  .v06 .photo-reserve { min-height:240px; }
  .v06 .gallery-tools { align-items:start; flex-direction:column; gap:8px; }
  .v06 .gallery-tools p { margin:0; }
  .v06 .gallery-curated > .curated-item:nth-child(2), .v06 .gallery-curated > .curated-item:nth-child(3), .v06.direction-outline .gallery-curated > .curated-item:nth-child(3) { grid-column:1; padding-top:0; }
  .v06 .gallery-curated, .v06.direction-outline .gallery-curated { gap:36px; }
  .v06.direction-afterlight .home-note { grid-template-columns:minmax(0,1fr); gap:30px; margin-top:55px; padding-top:30px; }
  .v06.direction-afterlight .home-note h2 { font-size:30px; }
  .v06.direction-afterlight .home-note p { font-size:15px; }
  .v06.direction-afterlight .gallery-curated > .curated-item, .v06.direction-afterlight .gallery-curated > .curated-item:nth-child(2), .v06.direction-afterlight .gallery-curated > .curated-item:nth-child(3) { width:100%; margin:0 0 40px; }
  .v06 .reading-notes { min-height:78px; }
  .comparison-v06 main { width:calc(100% - 40px); padding-top:30px; }
  .comparison-v06 header { grid-template-columns:minmax(0,1fr); gap:22px; }
  .comparison-v06 h1 { font-size:44px; margin-top:8px; }
  .comparison-v06 .proposal-grid { grid-template-columns:minmax(0,1fr); gap:45px; margin-top:37px; }
  .comparison-v06 article h2 { font-size:28px; }
  .comparison-v06 footer { flex-direction:column; align-items:start; gap:20px; margin-top:44px; }
}
@media (max-width:380px) {
  .v06 .v-utilities { gap:10px; }
  .v06 .v-nav { column-gap:8px; }
  .v06 .v-nav .v-brand { font-size:19px; }
  .v06 .v-brand span { font-size:11px; margin-left:5px; }
  .v06 .v-nav nav { font-size:11px; gap:9px; }
}
@media (prefers-reduced-motion:no-preference) {
  .v06 .index-plate .plate-open img { transition:filter .2s cubic-bezier(.16,1,.3,1); }
  .v06 .index-plate .plate-open:hover img { filter:brightness(1.04); }
}

/* Five real photographs extend the established Index world. */
.v07 .photo-figure { min-width:0; margin:0; }
.v07 .photo-open { display:block; position:relative; padding:0; border:1px solid var(--line); border-radius:5px; background:var(--bg); width:100%; overflow:hidden; cursor:zoom-in; }
.v07 .photo-open img { display:block; width:100%; height:auto; }
.v07 .photo-zoom { position:absolute; right:12px; bottom:12px; display:grid; place-items:center; width:28px; height:28px; background:var(--ink); color:var(--bg); }
.v07 .photo-zoom svg { width:16px; height:16px; }
.v07 .photo-figure figcaption { display:flex; justify-content:space-between; flex-wrap:wrap; gap:5px 22px; margin-top:12px; color:var(--muted); font-size:11px; line-height:1.8; }
.v07 .photo-glimpse { display:grid; grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr); gap:65px; align-items:center; margin-top:85px; padding-top:38px; border-top:1px solid var(--line); }
.v07 .glimpse-copy h2 { font-size:31px; line-height:1.35; max-width:15ch; margin-bottom:22px; }
.v07 .glimpse-copy p { color:var(--muted); font-size:15px; line-height:1.9; max-width:40ch; }
.v07 .glimpse-copy .text-link { margin-top:22px; font-size:13px; }
.v07 .photography-intro { max-width:none; }
.v07 .photography-intro > p { max-width:58ch; }
.v07 .sky-pair { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:30px; margin-top:22px; }
.v07 .pair-heading { grid-column:1 / -1; display:flex; align-items:baseline; justify-content:space-between; gap:35px; }
.v07 .pair-heading h2 { font-size:32px; line-height:1.4; margin:0; }
.v07 .pair-heading p { max-width:47ch; color:var(--muted); font-size:14px; line-height:1.9; }
.v07 .sky-background { grid-column:1 / -1; }
.v07 .meteor-note { grid-column:1 / 4; padding-top:20px; align-self:center; }
.v07 .meteor-note h3 { font-size:24px; line-height:1.4; margin:0 0 18px; }
.v07 .meteor-note p { color:var(--muted); font-size:14px; line-height:1.9; }
.v07 .sky-meteors { grid-column:4 / -1; margin-top:10px; }
.v07 .field-radiant { margin-top:100px; padding-top:38px; border-top:1px solid var(--line); }
.v07 .field-radiant .pair-heading { grid-column:8 / -1; display:block; align-self:center; grid-row:1; }
.v07 .field-radiant .pair-heading h2 { margin-bottom:24px; }
.v07 .field-radiant .sky-background { grid-column:1 / 8; grid-row:1; }
.v07 .field-radiant .meteor-note { grid-row:2; }
.v07 .field-radiant .sky-meteors { grid-row:2; }
.v07 .tiangong-spread { margin-top:100px; padding-top:38px; border-top:1px solid var(--line); }
.v07 .tiangong-spread > header { display:flex; align-items:baseline; justify-content:space-between; gap:35px; margin-bottom:30px; }
.v07 .tiangong-spread h2 { font-size:34px; margin:0; }
.v07 .tiangong-spread header p { max-width:47ch; color:var(--muted); font-size:14px; line-height:1.9; }
.v07 .photo-method-note { font-size:12px; color:var(--muted); margin-top:28px; max-width:75ch; line-height:1.9; }
.v07 .imaging-connection { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); align-items:center; gap:80px; margin-top:85px; padding-top:38px; border-top:1px solid var(--line); }
.v07 .imaging-connection h2 { font-size:30px; margin-bottom:24px; }
.v07 .imaging-connection p { color:var(--muted); font-size:15px; line-height:1.9; }
.v07 .imaging-connection .text-link { margin-top:24px; font-size:13px; }
.v07 .imaging-connection .image-credit, .v07 .imaging-connection .source-link { font-size:11px; }
.v07 .photography-entry { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.9fr); gap:70px; align-items:center; padding-block:34px; border-block:1px solid var(--line); margin-top:60px; }
.v07 .photography-entry h2 { font-size:28px; margin-bottom:18px; }
.v07 .photography-entry p { font-size:14px; color:var(--muted); line-height:1.9; }
.v07 .photography-entry .text-link { font-size:13px; margin-top:20px; }
.v07 .photo-entry-image { display:block; border:1px solid var(--line); border-radius:3px; overflow:hidden; }
.v07 .photo-entry-image img { display:block; width:100%; height:auto; }
.v07 .photo-dialog { width:100vw; height:100dvh; max-width:none; max-height:none; margin:0; padding:0; border:0; background:#05070b; color:var(--ink); overflow:hidden; }
.v07 .photo-dialog[open] { display:flex; flex-direction:column; }
.v07 .photo-dialog::backdrop { background:#05070b; }
.v07 .photo-dialog-toolbar { flex:none; display:flex; justify-content:space-between; align-items:center; gap:25px; padding:14px 22px; border-bottom:1px solid var(--line); }
.v07 .photo-dialog-toolbar h2 { font-family:var(--body); font-size:17px; line-height:1.4; margin:0; }
.v07 .photo-dialog-actions { display:flex; align-items:center; gap:22px; flex-shrink:0; }
.v07 .photo-dialog-actions button, .v07 .photo-dialog-actions a { display:inline-flex; align-items:center; gap:7px; border:0; background:transparent; padding:5px; color:var(--ink); font:inherit; font-size:13px; cursor:pointer; text-decoration:none; }
.v07 .photo-dialog-actions a svg { width:14px; height:14px; }
.v07 .photo-dialog-actions [data-photo-close] svg { width:23px; height:23px; }
.v07 .photo-dialog-stage { flex:1; min-height:0; display:grid; place-items:center; overflow:auto; padding:12px; }
.v07 .photo-dialog-stage img { max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; cursor:zoom-in; }
.v07 .photo-dialog-stage.is-zoomed { place-items:start; padding:0; }
.v07 .photo-dialog-stage.is-zoomed img { max-width:none; max-height:none; cursor:zoom-out; }
.v07 .photo-dialog-error { flex:none; color:var(--muted); font-size:13px; padding:12px 22px; }

/* Outline keeps each field in a compact, unequal pair. */
.v07.direction-outline .photo-glimpse { grid-template-columns:minmax(0,1fr) minmax(0,.75fr); gap:55px; margin-top:48px; padding-top:25px; }
.v07.direction-outline .glimpse-copy h2 { font-size:25px; }
.v07.direction-outline .sky-pair { grid-template-columns:minmax(0,1fr) minmax(0,1.4fr); gap:22px 30px; }
.v07.direction-outline .pair-heading { grid-column:1 / -1; display:flex; grid-row:auto; }
.v07.direction-outline .pair-heading h2 { font-size:25px; margin:0; }
.v07.direction-outline .sky-background { grid-column:1; grid-row:2; }
.v07.direction-outline .sky-meteors { grid-column:2; grid-row:2; margin:0; }
.v07.direction-outline .meteor-note { display:none; }
.v07.direction-outline .field-radiant { margin-top:55px; padding-top:28px; }
.v07.direction-outline .tiangong-spread { margin-top:55px; padding-top:28px; }
.v07.direction-outline .tiangong-spread h2 { font-size:25px; }
.v07.direction-outline .imaging-connection { gap:55px; margin-top:55px; }
.v07.direction-outline .imaging-connection h2 { font-size:25px; }

/* Afterlight gives the complete images time and room. */
.v07.direction-afterlight .photo-glimpse { display:flex; flex-direction:column; align-items:stretch; gap:35px; margin-top:100px; padding-top:45px; }
.v07.direction-afterlight .glimpse-copy { display:grid; grid-template-columns:1fr 1fr; gap:15px 75px; }
.v07.direction-afterlight .glimpse-copy h2 { grid-row:span 2; font-size:36px; }
.v07.direction-afterlight .glimpse-copy .text-link { margin-top:0; }
.v07.direction-afterlight .sky-pair { display:block; margin-top:10px; }
.v07.direction-afterlight .pair-heading { display:block; max-width:650px; margin-bottom:35px; }
.v07.direction-afterlight .pair-heading h2 { font-size:39px; margin-bottom:22px; }
.v07.direction-afterlight .pair-heading p { font-size:16px; }
.v07.direction-afterlight .meteor-note { width:70%; margin:40px 0 25px auto; padding:0; }
.v07.direction-afterlight .meteor-note h3 { font-size:28px; }
.v07.direction-afterlight .meteor-note p { max-width:48ch; }
.v07.direction-afterlight .sky-meteors { width:85%; margin-left:auto; }
.v07.direction-afterlight .field-radiant { margin-top:115px; padding-top:48px; }
.v07.direction-afterlight .field-radiant .sky-background { width:85%; }
.v07.direction-afterlight .field-radiant .sky-meteors { width:100%; }
.v07.direction-afterlight .tiangong-spread { margin-top:115px; padding-top:45px; }
.v07.direction-afterlight .tiangong-spread h2 { font-size:39px; }
.v07.direction-afterlight .imaging-connection { grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); margin-top:100px; }

/* Double pairs two independently treated images of each field. */
.v07.direction-double .photo-glimpse { display:block; margin-top:70px; }
.v07.direction-double .glimpse-copy { display:grid; grid-template-columns:1fr 1fr; gap:12px 60px; margin-bottom:30px; }
.v07.direction-double .glimpse-copy h2 { grid-row:span 2; }
.v07.direction-double .glimpse-copy .text-link { margin-top:0; }
.v07 .home-photo-pair { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.v07.direction-double .sky-pair { grid-template-columns:1fr 1fr; gap:28px; }
.v07.direction-double .pair-heading { grid-column:1 / -1; display:flex; grid-row:1; }
.v07.direction-double .pair-heading h2 { margin:0; }
.v07.direction-double .sky-background { grid-column:1; grid-row:2; }
.v07.direction-double .sky-meteors { grid-column:2; grid-row:2; margin:0; }
.v07.direction-double .meteor-note { display:none; }
.v07.direction-double .field-radiant { margin-top:80px; }

@media (max-width:1100px) {
  .v07 .photo-glimpse, .v07 .imaging-connection, .v07 .photography-entry { gap:40px; }
  .v07 .sky-pair { gap:24px; }
  .v07 .pair-heading { gap:25px; }
  .v07 .pair-heading p { max-width:40ch; }
}
@media (max-width:760px) {
  .v07 .photo-glimpse, .v07.direction-outline .photo-glimpse, .v07.direction-afterlight .photo-glimpse { display:flex; flex-direction:column; gap:25px; margin-top:48px; padding-top:26px; align-items:stretch; }
  .v07 .glimpse-copy h2, .v07.direction-outline .glimpse-copy h2, .v07.direction-afterlight .glimpse-copy h2 { font-size:28px; max-width:none; margin-bottom:18px; }
  .v07 .glimpse-copy p { font-size:14px; max-width:60ch; }
  .v07.direction-afterlight .glimpse-copy, .v07.direction-double .glimpse-copy { display:block; margin-bottom:0; }
  .v07.direction-afterlight .glimpse-copy .text-link, .v07.direction-double .glimpse-copy .text-link { margin-top:18px; }
  .v07 .photo-glimpse .home-photo-pair { grid-template-columns:1fr; gap:18px; margin-top:25px; }
  .v07 .sky-pair, .v07.direction-outline .sky-pair, .v07.direction-double .sky-pair { display:flex; flex-direction:column; gap:25px; margin-top:0; }
  .v07 .pair-heading, .v07.direction-outline .pair-heading, .v07.direction-double .pair-heading { display:block; }
  .v07 .pair-heading h2, .v07.direction-outline .pair-heading h2, .v07.direction-afterlight .pair-heading h2 { font-size:29px; margin-bottom:17px; }
  .v07 .pair-heading p, .v07.direction-afterlight .pair-heading p { font-size:14px; max-width:60ch; }
  .v07 .sky-meteors, .v07.direction-afterlight .sky-meteors, .v07.direction-afterlight .field-radiant .sky-background, .v07.direction-afterlight .field-radiant .sky-meteors { width:100%; margin:0; }
  .v07 .meteor-note, .v07.direction-afterlight .meteor-note { padding-top:7px; margin:0; width:100%; }
  .v07 .meteor-note h3, .v07.direction-afterlight .meteor-note h3 { font-size:24px; margin-bottom:14px; }
  .v07 .meteor-note p { font-size:14px; }
  .v07 .field-radiant, .v07.direction-outline .field-radiant, .v07.direction-afterlight .field-radiant, .v07.direction-double .field-radiant { margin-top:50px; padding-top:27px; }
  .v07 .field-radiant .pair-heading h2 { margin-bottom:17px; }
  .v07.direction-afterlight .pair-heading { margin-bottom:25px; }
  .v07.direction-afterlight .sky-background { margin-bottom:25px; }
  .v07.direction-afterlight .meteor-note { margin-bottom:25px; }
  .v07 .tiangong-spread, .v07.direction-outline .tiangong-spread, .v07.direction-afterlight .tiangong-spread { margin-top:50px; padding-top:27px; }
  .v07 .tiangong-spread > header { display:block; margin-bottom:25px; }
  .v07 .tiangong-spread h2, .v07.direction-outline .tiangong-spread h2, .v07.direction-afterlight .tiangong-spread h2 { font-size:29px; margin-bottom:17px; }
  .v07 .tiangong-spread header p { max-width:60ch; }
  .v07 .photo-figure figcaption { font-size:10px; gap:4px 15px; }
  .v07 .photo-method-note { font-size:11px; }
  .v07 .imaging-connection, .v07.direction-afterlight .imaging-connection { display:flex; flex-direction:column; align-items:stretch; gap:28px; margin-top:50px; padding-top:27px; }
  .v07 .imaging-connection h2 { font-size:28px; margin-bottom:20px; }
  .v07 .photography-entry { grid-template-columns:1fr; gap:25px; margin-top:40px; padding-block:27px; }
  .v07 .photography-entry h2 { font-size:27px; }
  .v07 .photo-dialog-toolbar { gap:12px; padding:10px 14px; }
  .v07 .photo-dialog-toolbar h2 { font-size:15px; }
  .v07 .photo-dialog-actions { gap:10px; }
  .v07 .photo-dialog-actions a { display:none; }
  .v07 .photo-dialog-stage { padding:0; }
}

/* Keep the selected seven-panel figure legible within the CRISTAL chapter. */
.v06.direction-afterlight #current.research-chapter { grid-template-columns:minmax(0,1fr); gap:30px; }
.v06.direction-afterlight #current .context-plate { max-width:none; }
.v06.direction-afterlight #current .context-plate img { height:auto; display:block; }

.v06.direction-afterlight #earlier.research-chapter { grid-template-columns:minmax(0,1fr); gap:30px; }
.v06.direction-afterlight #earlier .j1044-photometry { max-width:760px; justify-self:start; }
.v06.direction-afterlight #earlier .j1044-photometry img { height:auto; display:block; }
.v06.direction-afterlight #earlier .fit-ages { margin:12px 0 0; font-size:15px; color:var(--ink); }

/* Each matched photograph pair occupies one frame. */
.v07 .photography-work { margin-top:26px; }
.v07 .photography-work + .photography-work { margin-top:65px; padding-top:32px; border-top:1px solid var(--line); }
.v07 .photo-details { display:flex; flex-wrap:wrap; align-items:end; justify-content:space-between; gap:12px 26px; margin-top:18px; }
.v07 .photo-details h2 { font-size:clamp(24px,3vw,34px); line-height:1.35; margin:0; }
.v07 .photo-details p { font-size:13px; line-height:1.7; color:var(--muted); margin:8px 0 0; }
.v07 .meteor-toggle:not([hidden]) { display:inline-flex; align-items:center; gap:8px; }
.v07 .meteor-toggle { min-height:44px; padding:6px 12px; border:1px solid var(--line); border-radius:4px; color:var(--ink); background:transparent; font:inherit; font-size:13px; cursor:pointer; }
.v07 .meteor-toggle::before { content:""; width:9px; height:9px; border-radius:50%; border:1px solid currentColor; }
.v07 .meteor-toggle[aria-pressed="true"] { color:var(--bg); background:var(--ink); }
.v07 .meteor-toggle[aria-pressed="true"]::before { background:currentColor; }
.v07 .meteor-frame { display:grid; }
.v07 .meteor-frame > .photo-figure { grid-area:1 / 1; }
.v07 .meteor-frame .meteor-on { opacity:0; pointer-events:none; }
.v07 .show-meteors .meteor-on { opacity:1; pointer-events:auto; }
@media (prefers-reduced-motion:no-preference) {
  .v07 .meteor-frame .meteor-on { transition:opacity 220ms ease; }
}
