/* Dr Non's Dao exhibition / 2026-10-02.
   One final, named cascade layer replaces mood effects, not earned content.
   Pair = reading identity; triple = study; quartet = bounded artifact.
   Exact source colours remain in fields. Reading uses accessible tint/shade.
   Layout starts with the phone; the only new breakpoint is 768px. */
:root {
  --display: 'Archivo Narrow', 'IBM Plex Sans Thai', 'Noto Sans SC', sans-serif;
  --body: 'Source Sans 3', 'IBM Plex Sans Thai', 'Noto Sans SC', sans-serif;
  --reader: var(--body);
  --paper: #f5f4ee;
  --bone: #e6e7db;
  --ink: #172c32;
  --ink-soft: #263e43;
  --ink-fade: #45595d;
  --ink-mute: #45595d;
  --seal: #82241f;
  --measure: 60ch;
  --sticky-stack: 0px !important;
}
html { scroll-padding-top: 76px; scroll-behavior: auto; scroll-snap-type: none; }
body { font-family: var(--body); background: var(--paper); background-image: none; }
html body, html body.yin-mode {
  --paper: var(--frame-day-ground, #c9e3ec);
  --bone: var(--paper);
  --ink: var(--frame-day-ink, #172c32);
  --ink-soft: var(--ink);
  --ink-fade: var(--ink);
  --ink-mute: var(--ink);
  --seal: var(--ink);
  --seal-deep: var(--ink);
  background: var(--paper);
  color: var(--ink);
  transition: none;
}
html body.yin-mode { --paper: var(--frame-night-ground, #345967); --ink: var(--frame-night-ink, #fff); }
html body .topbar, html body.yin-mode .topbar { background: var(--paper); color: var(--ink); transition: none; }
html body .topbar :is(.topbar-name,.topbar-dao,.tool-btn,.lang-pill,.mb-icon) { color: var(--ink); }
html body .topbar :is(.topbar-name,.topbar-dao,.tool-btn,.lang-pill,.mb-icon) { transition: none; }
html body :is(.letter,.colophon,.movement-interlude) { background: var(--paper); color: var(--ink); }
html body :is(.letter,.colophon) :is(h3,p,em,a,.colo-sig) { color: inherit; }
html body #chapters .movement-interlude { background: var(--study-field); color: var(--study-ink); background-image: none; border: 0; }
html body #chapters .movement-interlude :is(.mi-kicker,.mi-mark,.mi-line,.mi-next,.mi-hinge) { color: inherit; }
html body #chapters .mi-rail span { background: var(--study-field); }
html body #chapters .mi-rail span:nth-child(2) { background: var(--study-second); }
html body #chapters .mi-rail span:nth-child(3) { background: var(--study-third); }
body::before, body::after { content: none !important; }
body .cover::before, body .cover::after { content: none !important; }
body :is(button, input, textarea, select) { font-family: var(--body); }
body :is(button, a, summary):focus-visible { outline: 3px solid currentColor; outline-offset: 4px; }
body :is(button, summary) { touch-action: manipulation; }
body .topbar { height: 60px; background: var(--paper); border: 0; padding: 0 16px; gap: 12px; }
body .topbar-brand { border: 0; flex-shrink: 0; }
body .topbar-dao { font-size: 38px; }
body .topbar-name { font-family: var(--body); font-size: 13px; letter-spacing: 0; }
body .topbar .tool-btn { border: 0; min-height: 44px; }
body .topbar .tool-label { font-size: 14px; letter-spacing: 0; }
body.lang-th .topbar :is(.tool-label,.tool-state,.mb-icon) { font-family: 'IBM Plex Sans Thai', 'Noto Sans Thai', sans-serif; line-height: 1.7; letter-spacing: 0; text-transform: none; }
body.lang-cn .topbar :is(.tool-label,.tool-state,.mb-icon) { font-family: 'Noto Sans SC', sans-serif; line-height: 1.6; letter-spacing: 0; text-transform: none; }
body.lang-th .search-overlay :is(.sr-title,.sr-match,.sr-empty) { font-family: 'IBM Plex Sans Thai', 'Noto Sans Thai', 'Noto Sans SC', sans-serif; line-height: 1.7; letter-spacing: 0; }
body.lang-cn .search-overlay :is(.sr-title,.sr-match,.sr-empty) { font-family: 'Noto Sans SC', 'IBM Plex Sans Thai', sans-serif; line-height: 1.6; letter-spacing: 0; }
/* The index already shows the original Chinese title above its local title. */
body.lang-cn .index-overlay .ix-en { display: none; }
body .topbar.is-mobile-open .tool-label { display: inline; }
body .topbar.is-mobile-open .topbar-tools { background: var(--paper); }
/* Active controls own both sides of their colour pair. The legacy mobile
   menu used room ink for its background while the exhibition retained ink. */
html body .topbar .tool-btn.is-on { background: var(--ink) !important; color: var(--paper) !important; }
html body .topbar .tool-btn.is-on > span { color: inherit !important; }
html body .topbar.is-mobile-open .topbar-brand { display: flex; }
html body .topbar.is-mobile-open .topbar-tools { position: fixed; top: 60px; bottom: auto; left: 0; right: 0; width: 100%; height: auto; max-height: calc(100dvh - 60px); overflow-y: auto; overscroll-behavior: contain; backdrop-filter: none; -webkit-backdrop-filter: none; }
html body .topbar.is-mobile-open .topbar-tools > * { flex-shrink: 0; }
html body .topbar.is-mobile-open .tool-btn:not(.is-on),
html body .topbar.is-mobile-open .lang-toggle { background: var(--paper); color: var(--ink); }
html body .topbar.is-mobile-open .mobile-menu-btn { position: sticky; bottom: 0; min-height: 52px; flex-shrink: 0; }
body .topbar:not(.is-mobile-open) .topbar-brand { display: flex; }
body .topbar .topbar-name { display: none; }
body .topbar:not(.is-mobile-open) :is(.yin-toggle,.quiet-toggle,.pinyin-toggle,.deepwork-btn,.toolbar-explore-toggle) { display: none !important; }
body .topbar .mobile-menu-btn .mb-icon { font-family: var(--body); font-size: 16px; }
body .lang-pill { min-height: 44px; min-width: 36px; }
body .cover { display: grid; min-height: 0; padding: 60px 0 0; overflow: clip; background: #f5f4ee; color: #172c32; }
body .exhibition-entrance { padding: 40px 24px; background: #a7d4e4; color: #172c32; position: relative; }
.exhibition-kicker { font-family: var(--mono); font-size: 12px; letter-spacing: .08em; margin: 0 0 32px; }
body .exhibition-entrance h2 { font-family: var(--display); font-size: clamp(64px, 13vw, 136px); line-height: .95; letter-spacing: -.035em; font-weight: 600; margin: 0 0 28px; }
body .exhibition-entrance > p:not(.exhibition-kicker) { font-size: 20px; line-height: 1.5; max-width: 36ch; margin: 0 0 28px; }
.entrance-actions { display: flex; flex-wrap: wrap; gap: 8px; }
body .entrance-actions :is(a,button) { border: 0; background: #172c32; color: #fff; padding: 14px 18px; font-size: 16px; text-decoration: none; min-height: 48px; }
body .entrance-actions button { background: transparent; color: #172c32; text-decoration: underline; text-underline-offset: 5px; }
.entrance-secondary { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 16px; max-width: 100%; }
body .cover-hero-media { width: 100%; margin: 0; border: 0; background: #82241f; padding: 24px; box-sizing: border-box; }
body .cover-hero-media img { width: 100%; height: auto; object-fit: contain; }
body .cover .cover-stack { display: grid; grid-template-columns: 1fr; padding: 32px 24px; gap: 20px; }
body .cover .cover-cn-vertical { display: none; }
body .cover .cover-text { max-width: 60ch; }
body .cover .cover-title { font-family: var(--display); font-size: 48px; line-height: 1.1; }
body .cover :is(.cover-invite,.cover-sub) { font-family: var(--body); font-size: 17px; font-style: normal; line-height: 1.65; max-width: 60ch; }
body .cover .cover-promise { font-size: 22px; font-family: var(--display); color: #172c32; }
body .cover .cover-meta { padding: 20px 24px 0; border: 0; font-size: 11px; letter-spacing: .04em; }
body .cover .cover-foot { border: 0; padding: 0 24px 28px; margin: 0; }
body .cover .cover-instructions { font-size: 12px; letter-spacing: 0; border: 0; }
body .cover .cover-sub { max-height: none; overflow: visible; opacity: 1; }
body .cover .cover-promise { border: 0; padding: 0; font-style: normal; }
body .cover .cover-paths-btn { border: 0; font-size: 16px; }
body .cover :is(.cover-begin-btn,.cover-about-btn) { border: 0; min-height: 44px; font-family: var(--body); font-size: 16px; letter-spacing: 0; }
body .cover .cover-video-note { color: #45595d; font-size: 14px; }
body .exhibition-map { max-width: 1184px; margin: 0 auto; padding: 0 24px; }
body .exhibition-map > summary { display: flex; justify-content: space-between; gap: 16px; padding: 24px 0; min-height: 44px; font-size: 18px; cursor: pointer; list-style: none; }
body .exhibition-map .dao-map-host { padding: 0 0 28px; }
body .edition-note { border: 0; padding: 24px; font-size: 15px; }

/* The id deliberately outranks legacy mood + quiet-mode declarations. */
html body #chapters .chapter,
html body #chapters .chapter .panel {
  --paper: var(--room-ground);
  --bone: var(--room-ground);
  --ink: var(--room-ink) !important;
  --ink-soft: var(--room-ink) !important;
  --ink-fade: var(--room-ink) !important;
  --ink-mute: var(--room-ink) !important;
  --seal: var(--room-ink);
  background: var(--room-ground) !important;
  color: var(--room-ink) !important;
  background-image: none !important;
  filter: none !important;
  text-shadow: none !important;
}
html body #chapters .chapter { display: block; border: 0; padding: 0 0 48px; margin: 0; content-visibility: visible; contain-intrinsic-size: none; }
html body #chapters .chapter * { text-shadow: none !important; }
html body #chapters .chapter::before,
html body #chapters .chapter::after,
html body #chapters .panel::before,
html body #chapters .panel::after { content: none !important; }
html body #chapters .room-heading { background: var(--pair-field); color: var(--pair-ink); padding: 40px 24px; position: relative; overflow: hidden; }
html body #chapters .room-heading::after { content: ''; position: absolute; right: 0; top: 0; bottom: 0; width: 12px; background: var(--pair-companion); }
.room-number { font-family: var(--mono); font-size: 12px; margin: 0 0 12px; letter-spacing: .06em; }
html body #chapters .room-heading h2 { font-family: var(--display); font-size: clamp(44px, 8vw, 92px); font-weight: 600; line-height: 1.05; letter-spacing: -.025em; max-width: 19ch; margin: 0; color: inherit; }
.room-motive { font-size: 16px; margin: 24px 0 0; line-height: 1.6; }
html body #chapters .chapter-strip { display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 8px; padding: 8px 24px; background: var(--room-ground) !important; color: var(--room-ink) !important; border: 0; min-height: 0; }
html body #chapters .chapter-strip :is(.cs-en,.cs-th,.cs-route,.cs-num-py,.cs-cn-py,.cs-progress) { display: none; }
html body #chapters .chapter-strip .cs-cn { font-size: 28px; padding: 0; color: inherit; }
html body #chapters .chapter-strip .cs-cn-han { color: inherit; }
html body #chapters .chapter-strip .cs-num { font-size: 12px; letter-spacing: 0; color: inherit; }
html body #chapters .chapter-strip { position: static; backdrop-filter: none; }
/* Theme ink and its ground must change together. Legacy 600ms strip / 200ms
   link fades briefly put white ink on the previous pale room. */
html body #chapters .chapter-strip,
html body #chapters .chapter-strip *,
html body #chapters .room-navigation,
html body #chapters .room-navigation * { transition: none; }
html body #chapters .chapter-strip .cs-echo-btn { display: inline-flex; gap: 5px; min-height: 32px; min-width: 32px; border: 0; color: inherit; }
html body #chapters .chapter-strip-tools { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 8px; max-width: 100%; }
html body #chapters .chapter-strip-tools > :is(button,a) { min-height: 32px; margin: 0; }
html body #chapters .cs-echo-copy { display: inline !important; font-size: 14px; font-family: var(--body); }
.room-navigation { display: flex; flex-wrap: wrap; gap: 4px 20px; padding: 0 24px 24px; }
.room-navigation :is(a,button) { color: inherit; background: transparent; border: 0; padding: 6px 0; font-size: 16px; min-height: 32px; text-decoration: underline; text-underline-offset: 5px; }
html body #chapters .chapter .panel { padding: 32px 24px !important; min-height: 0 !important; border: 0 !important; }
html body #chapters .chapter .panel-summary { display: block !important; padding-top: 12px !important; }
html body #chapters .chapter :is(.summary-frame,.reading-frame,.reading-frame--top-aside,.origin-stack,.origin-head,.note-frame,.character-frame,.reflection-frame,.closer-frame) { max-width: 1184px; margin: 0 auto; }
html body #chapters .summary-frame { padding: 0; width: 100%; }
html body #chapters :is(.summary-frame,.insight-card,.origin-stack,.origin-head,.note-frame,.character-frame,.reflection-frame,.closer-frame) { color: var(--room-ink) !important; background: transparent !important; }
html body #chapters .summary-frame::before, html body #chapters .summary-frame::after { content: none !important; }
html body #chapters .summary-frame :is(.su-en,.su-th,.su-cn,.entry-hook) { padding: 0 !important; border: 0 !important; background: transparent !important; }
html body #chapters .summary-frame [data-lang] { margin-bottom: 0 !important; }
html body #chapters :is(.su-en,.su-th,.su-cn) { font-family: var(--body); font-size: clamp(24px, 3vw, 34px); font-weight: 600; font-style: normal; line-height: 1.45; max-width: 36ch; color: inherit !important; margin: 0; letter-spacing: 0; }
html body #chapters :is(.entry-hook,.su-cn-py) { font-size: 14px; line-height: 1.65; color: inherit !important; margin: 0 0 16px; }
html body #chapters .panel-label { max-width: 1184px; margin: 0 auto 20px; color: inherit !important; border: 0; font-family: var(--body); font-size: 14px; letter-spacing: 0; }
html body #chapters .panel-label * { color: inherit !important; }
html body #chapters .reading-frame { display: grid; grid-template-columns: 1fr; gap: 28px; padding: 0; }
html body #chapters .reading-aside { position: static; width: auto; padding: 24px; background: var(--study-field) !important; color: var(--study-ink) !important; border: 0; }
html body #chapters .reading-aside p { color: inherit !important; font-family: var(--body); font-size: 17px; line-height: 1.6; text-transform: none; letter-spacing: 0; }
html body #chapters .reading-aside * { color: inherit !important; }
html body #chapters .insight-card { background: transparent !important; color: inherit; border: 0; padding: 0; min-width: 0; box-shadow: none; }
html body #chapters .insight-badge { color: inherit !important; background: transparent; font-family: var(--mono); font-size: 12px; }
html body #chapters .insight-badge * { color: inherit !important; }
html body #chapters .reading-body { max-width: 60ch; column-count: 1 !important; font-family: var(--body); font-size: 19px; line-height: 1.75; color: inherit !important; }
html body #chapters .rb-p { font-family: var(--body); font-size: inherit; line-height: inherit; color: inherit !important; letter-spacing: 0; }
html body #chapters .reading-pull { max-width: 1184px; padding: 0; margin: 0 auto 28px; border: 0; }
html body #chapters .rp-sentence { font-family: var(--display); font-size: 30px; line-height: 1.3; max-width: 32ch; color: inherit; }
html body #chapters .reading-signpost { border: 0; font-size: 13px; line-height: 1.7; color: inherit; }
html body #chapters .reading-flow > .artifact-cite { display: grid; grid-template-columns: 1fr; gap: 20px; padding: 24px; margin: 32px 0; border: 0 !important; background: var(--artifact-field) !important; color: var(--artifact-ink) !important; max-width: 100%; }
html body #chapters .artifact-cite::before { content: ''; width: 72px; height: 12px; background: var(--artifact-second); border-left: 24px solid var(--artifact-third); border-right: 24px solid var(--artifact-fourth); }
html body #chapters .artifact-cite :is(.ac-subject,.ac-caption,.ac-source) { color: inherit !important; font-family: var(--body); line-height: 1.6; opacity: 1; }
html body #chapters .artifact-cite :is(.ac-subject,.ac-caption,.ac-source) * { color: inherit !important; }
html body #chapters .ac-subject { font-weight: 600; font-size: 22px; }
html body #chapters .ac-caption { font-size: 17px; }
html body #chapters .ac-source { font-size: 13px; margin-top: 14px; }
html body #chapters .artifact-cite .ac-img { width: 100%; height: auto; max-height: 400px; object-fit: contain; filter: none; }
html body #chapters :is(.origin-cn-title,.wordless-title-en) { font-size: 56px; color: inherit !important; }
html body #chapters :is(.origin-en-title,.origin-th-title) { font-family: var(--display); color: inherit !important; }
html body #chapters :is(.cn-line,.origin-stack,.origin-meta,.read-stamp,.read-text) { color: inherit !important; }
html body #chapters .study-drawer { max-width: 1184px; margin: 12px 24px; background: var(--study-field); color: var(--study-ink); }
html body #chapters .study-drawer > summary { display: flex; justify-content: space-between; gap: 16px; align-items: center; padding: 22px 24px; cursor: pointer; list-style: none; font-size: 18px; line-height: 1.5; min-height: 44px; }
.drawer-sign { font-size: 24px; flex-shrink: 0; }
.study-drawer[open] > summary .drawer-sign { transform: rotate(45deg); }
html body #chapters .study-drawer .panel { padding: 28px 24px !important; }
html body #chapters .study-drawer .panel-image { background: var(--room-ground) !important; color: var(--room-ink) !important; padding: 28px 24px; border: 0; }
/* Primary museum images keep their whole frame. The caption is a reading,
   not a replacement title or an attribution of Daoist intent to the artist. */
html body #chapters .panel-open-art { color: var(--study-ink) !important; background: var(--study-field) !important; }
html body #chapters .open-art-label { margin: 0 0 24px; font-size: 14px; }
html body #chapters .open-art-figure { display: grid; grid-template-columns: minmax(0,1fr); align-items: start; gap: 24px; margin: 0; }
html body #chapters .open-art-figure > * { min-width: 0; }
html body #chapters .open-art-image-link { display: block; border: 0; }
/* Keep the entire work within a comfortable viewing field, without enlarging
   a narrow object into a multi-screen pillar. This is not a panel-height token. */
html body #chapters .open-art-image-link img { display: block; width: min(100%, calc(80vh * var(--art-ratio))); width: min(100%, calc(80svh * var(--art-ratio))); height: auto; max-height: none; margin-inline: auto; object-fit: contain; }
html body #chapters .open-art-figure figcaption { min-width: 0; color: inherit; text-transform: none; letter-spacing: 0; }
html body #chapters .open-art-figure h3 { font-family: var(--body); font-size: 1.25rem; line-height: 1.5; margin: 0 0 16px; overflow-wrap: anywhere; color: inherit; }
html body #chapters .open-art-artist { margin: 0 0 24px; font-size: 18px; line-height: 1.6; }
html body #chapters .open-art-looking { font-size: 22px; line-height: 1.65; margin: 0 0 24px; max-width: 58ch; }
html body #chapters :is(.open-art-credit,.open-art-links,.open-art-boundary) { font-size: 14px; line-height: 1.7; margin: 16px 0 0; color: inherit; }
html body #chapters .open-art-links { display: flex; flex-wrap: wrap; gap: 8px 24px; }
html body #chapters .open-art-links a { display: inline-flex; align-items: center; min-height: 44px; color: inherit; text-decoration: underline; text-underline-offset: 4px; }
html body #chapters .open-art-sensitive summary { min-height: 44px; padding: 16px 0; cursor: pointer; font-size: 18px; line-height: 1.6; }
html body #chapters .panel-open-art [data-lang="th"] { font-family: 'IBM Plex Sans Thai', sans-serif; line-height: 1.7; letter-spacing: 0; text-transform: none; }
html body #chapters .panel-open-art [data-lang="cn"] { font-family: 'Noto Sans SC', sans-serif; line-height: 1.6; letter-spacing: 0; text-transform: none; }
body .index-bookmark a { min-height: 44px; display: inline-flex; align-items: center; font-style: normal; }
@media (min-width: 768px) {
  /* The golden split earns its place only when both columns can be read.
     Minimum measures rebalance tablets; enlarged type can wrap to one column. */
  html body #chapters .open-art-figure { display: flex; flex-wrap: wrap; gap: 32px; }
  html body #chapters .open-art-figure > * { flex: 1.618 1 0; min-width: min(100%, 18rem); }
  html body #chapters .open-art-figure figcaption { flex-grow: 1; min-width: min(100%, 18rem); }
}
html body #chapters .image-caption, html body #chapters .image-caption * { color: var(--room-ink) !important; font-family: var(--body); }
html body #chapters .image-caption { background: var(--room-ground) !important; padding: 16px; }
html body #chapters .chapter .panel-video { background: var(--artifact-field) !important; color: var(--artifact-ink) !important; }
html body #chapters .panel-video :is(.vc-line,.vc-credit,.video-status,.panel-label) { color: var(--artifact-ink) !important; }
html body #chapters .panel-video :is(.vc-line,.vc-credit,.video-status,.panel-label) * { color: inherit !important; }
/* Legacy labels used fixed ochre/red ink, unsuitable on reconstructed grounds. */
html body #chapters :is(.drnon-figcap,.ev-tag,.origin-meta em,.origin-num-roman em,.origin-listen-btn,.char-py,.npm-title-py,.illus-ann,.play-summary-mark) { color: var(--room-ink) !important; }
html body #chapters .origin-listen-btn * { color: inherit !important; }
html body #chapters :is(.cn-listen-btn,.cn-walk-btn) { background: transparent; color: var(--room-ink) !important; }
html body #chapters :is(.cn-listen-btn,.cn-walk-btn) * { color: inherit !important; }
html body #chapters :is(.char-btn,.closer-kicker em) { color: var(--room-ink) !important; }
html body #chapters .char-btn * { color: inherit !important; }
html body #chapters :is(.reflection-kicker em,.cd-label) { color: var(--room-ink) !important; }
html body #chapters .cd-label * { color: inherit !important; }
html body #chapters .study-gallery { background: var(--artifact-field); color: var(--artifact-ink); }
html body #chapters .palette-note { max-width: 1184px; margin: 24px; font-size: 14px; }
.palette-note summary { cursor: pointer; padding: 14px 0; min-height: 44px; list-style: none; font-family: var(--mono); }
.palette-note > div { max-width: 60ch; line-height: 1.65; }
.palette-note textarea { width: 100%; box-sizing: border-box; background: var(--room-ground); color: var(--room-ink); border: 0; padding: 16px; font-family: var(--mono); font-size: 13px; line-height: 1.5; resize: vertical; }
.palette-note :is(a,button) { color: inherit; }
.palette-note button { background: var(--room-ink); color: var(--room-ground); border: 0; padding: 12px 20px; min-height: 44px; }
html body #chapters .chapter-foot { border: 0; background: transparent !important; color: inherit !important; padding: 32px 24px; flex-wrap: wrap; gap: 20px; }
html body #chapters .chapter-foot button { color: inherit !important; border: 0; min-height: 44px; }
html body #chapters .chapter-foot .ch-next { max-width: min(48ch,100%); min-width: 0; overflow-wrap: anywhere; white-space: normal; }
html body #chapters .chapter-foot .ch-next > span { max-width: 100%; min-width: 0; }
body :is(.index-overlay,.search-overlay,.notes-overlay) { font-family: var(--body); }
/* Closed rooms have no layout: fallback-script tabs must not enlarge the page. */
body :is(.index-overlay,.tracks-overlay,.notes-overlay):not(.open) { display: none; }
body :is(.index-overlay,.tracks-overlay,.notes-overlay).open { max-width: 100vw; overflow-wrap: anywhere; }
body :is(.index-list,.index-sub,.search-results) { font-family: var(--body); }
html body.yin-mode #chapters .chapter { --room-ground: var(--night-ground) !important; --room-ink: var(--night-ink) !important; }
@media (min-width: 768px) {
  body .topbar .topbar-name { display: inline; }
  body .topbar:not(.is-mobile-open) :is(.yin-toggle,.quiet-toggle,.pinyin-toggle,.deepwork-btn,.toolbar-explore-toggle) { display: inline-flex !important; }
  body .topbar .mobile-menu-btn { display: none !important; }
  body .toolbar-explore { display: block; position: relative; }
  body .toolbar-explore .toolbar-explore-items { display: none; position: absolute; right: 0; top: 100%; min-width: 200px; padding: 12px; }
  body .toolbar-explore.is-open .toolbar-explore-items { display: flex; flex-direction: column; }
  body .toolbar-explore-items .tool-btn { display: flex !important; width: 100%; justify-content: flex-start; }
  body .topbar .tool-label { display: inline; }
  body .topbar .tool-btn > span:first-child:not(.tool-label) { display: none; }
  body .topbar-tools { gap: 8px; }
  body .toolbar-explore-items { background: var(--paper); }
  body .cover { grid-template-columns: 3fr 2fr; }
  body .exhibition-entrance { padding: 64px max(40px, calc((100vw - 1184px)/2)); padding-right: 48px; }
  body .cover-hero-media { display: flex; align-items: center; padding: 40px; }
  body .cover .cover-meta,
  body .cover .cover-stack,
  body .cover .cover-foot { grid-column: 1 / -1; width: min(1184px, calc(100% - 80px)); box-sizing: border-box; margin: 0 auto; padding-left: 0; padding-right: 0; }
  body .cover .cover-stack { grid-template-columns: 1fr; }
  body .cover .cover-text { max-width: 80ch; }
  body .cover .cover-title { font-size: 64px; }
  body .exhibition-map, body .edition-note { padding: 24px 40px; }
  html body #chapters .room-heading { padding: 64px max(40px, calc((100vw - 1184px)/2)); }
  html body #chapters .room-heading::after { width: 24%; }
  html body #chapters .room-heading h2 { max-width: 17ch; position: relative; z-index: 1; width: 70%; }
  html body #chapters .chapter-strip, .room-navigation, html body #chapters .chapter-foot { padding-left: max(40px, calc((100vw - 1184px)/2)); padding-right: max(40px, calc((100vw - 1184px)/2)); }
  html body #chapters .chapter .panel { padding: 40px max(40px, calc((100vw - 1184px)/2)) !important; }
  html body #chapters .chapter .panel-summary { padding-top: 16px !important; }
  html body #chapters .reading-frame { grid-template-columns: 1fr 3fr; gap: 48px; align-items: start; }
  html body #chapters .reading-aside { padding: 24px; }
  html body #chapters .study-drawer, html body #chapters .palette-note { margin-left: max(40px, calc((100vw - 1184px)/2)); margin-right: max(40px, calc((100vw - 1184px)/2)); }
  html body #chapters .study-drawer .panel { padding: 40px !important; }
  html body #chapters .reading-flow > .artifact-cite.has-img { grid-template-columns: 1fr 3fr; }
  html body #chapters .artifact-cite::before { grid-column: 1 / -1; }
}
/* Exhibition composition pass: large type, a shared edge, earned art at scale.
   This supersedes nested legacy widths/floats without deleting their content. */
:root { --layout-max: 1440px; --exhibition-gutter: 24px; }
body .cover :is(h1,h2,p), .idea-routes :is(h2,p,a),
html body #chapters :is(.room-heading h2,.reading-body,.summary-frame,.reading-aside,.artifact-cite) { overflow-wrap: anywhere; min-width: 0; }
body .exhibition-entrance { padding: 48px 24px 36px; }
body .exhibition-entrance h2 { font-size: clamp(64px, 10vw, 160px); }
body .exhibition-entrance > p:not(.exhibition-kicker) { font-size: 22px; max-width: 32ch; }
body .cover-hero-media { padding: 16px; }
body .cover .cover-stack { padding-top: 40px; padding-bottom: 40px; }
body .cover :is(.cover-invite,.cover-sub) { font-size: 22px; line-height: 1.6; }
body .cover .cover-title { font-size: 64px; }
body .cover .cover-dedication { font-size: 14px; line-height: 1.6; letter-spacing: 0; }
body .cover .cover-promise { font-size: 28px; line-height: 1.3; }
.idea-routes { padding: 40px 24px; background: #172c32; color: #f5f4ee; }
.idea-routes h2 { font-family: var(--display); font-size: 44px; line-height: 1.05; margin: 0 0 16px; }
.idea-routes > p { font-size: 22px; line-height: 1.5; margin: 0 0 24px; }
.idea-routes nav { display: grid; gap: 8px; }
.idea-routes a { display: grid; grid-template-columns: 36px 1fr 24px; gap: 12px; align-items: center; color: inherit; padding: 16px 0; min-height: 48px; text-decoration: none; font-size: 22px; line-height: 1.3; }
.idea-number { font-family: var(--mono); font-size: 14px; }
.idea-routes a:hover, .idea-routes a:focus-visible { text-decoration: underline; text-underline-offset: 6px; }
.idea-routes a > :last-child { transition: transform 180ms ease-out; }
.idea-routes a:hover > :last-child, .idea-routes a:focus-visible > :last-child { transform: translate(3px,-3px); }
html body #chapters .room-heading { padding: 24px; }
html body #chapters .room-heading h2 { font-size: clamp(56px, 8vw, 120px); }
.room-mark { display: block; font-family: var(--display); font-size: 88px; font-weight: 700; line-height: 1; margin-top: 24px; color: var(--pair-ink); }
/* Mood is orientation, not a second paragraph competing with the question. */
html body #chapters .room-motive { font-size: 14px; line-height: 1.6; margin-top: 12px; max-width: 38ch; }
html body #chapters .chapter .panel { padding: 28px 24px !important; }
html body #chapters .chapter :is(.summary-frame,.reading-frame,.reading-frame--top-aside,.origin-stack,.origin-head,.note-frame,.character-frame,.reflection-frame,.closer-frame,.reading-pull,.panel-label) { max-width: var(--layout-max); }
html body #chapters .chapter .summary-frame :is(.su-en,.su-th,.su-cn) { font-size: 32px !important; font-weight: 600; line-height: 1.3 !important; max-width: 34ch; }
html body #chapters .reading-pull { width: 100%; text-align: left; margin: 0 auto 32px; }
html body #chapters .reading-pull .rp-sentence { margin: 0; padding: 0; font-size: 32px; line-height: 1.25; font-style: normal; text-align: left; max-width: 32ch; }
html body #chapters .reading-signpost { max-width: var(--layout-max); margin: 0 auto 24px; font-size: 14px; letter-spacing: 0; }
html body #chapters .insight-card { margin: 0; width: 100%; }
html body #chapters .insight-badge { position: static; padding: 0; margin: 0 0 16px; border-radius: 0; font-size: 14px; letter-spacing: 0; }
html body #chapters .reading-flow { width: 100%; min-width: 0; }
html body #chapters .reading-sources a { overflow-wrap: anywhere; word-break: normal; white-space: normal; }
html body #chapters .reading-flow .reading-body,
html body #chapters .reading-body { width: 100%; max-width: 58ch; font-size: 22px !important; line-height: 1.6 !important; white-space: normal; }
html body #chapters .reading-body.pre-line { white-space: pre-line; }
html body #chapters .reading-flow .rb-p { margin: 0 0 1.2em; }
html body #chapters .reading-aside { display: block; padding: 24px; align-self: start; }
html body #chapters .reading-aside > p { font-size: 18px; line-height: 1.5; margin-bottom: 16px; }
html body #chapters .reading-aside :is(.reading-figure,.drnon-figure) { float: none; clear: none; display: block; width: 100%; max-width: none; margin: 24px 0 0; border: 0; padding: 0; background: var(--study-field) !important; color: var(--study-ink) !important; }
html body #chapters .reading-aside figure img { display: block; width: 100%; height: auto; max-height: none; object-fit: contain; }
html body #chapters .reading-aside :is(.rf-caption,.drnon-figcap) { padding: 16px 0 0; border: 0; background: transparent; color: inherit !important; }
html body #chapters .reading-aside :is(.rf-cap,.rf-credit,.drnon-figcap) { font-family: var(--body); font-size: 14px; line-height: 1.5; color: inherit !important; letter-spacing: 0; text-transform: none; }
html body #chapters .reading-flow > .artifact-cite,
html body #chapters .reading-flow > .artifact-cite.has-img { width: 100%; max-width: none; box-sizing: border-box; padding: 24px; margin: 24px 0 40px; gap: 24px; }
html body #chapters .reading-flow > .artifact-cite.has-img .ac-img { width: 100%; height: auto; min-height: 0; max-height: 480px; aspect-ratio: auto; object-fit: contain; margin: 0; }
html body #chapters .artifact-cite .ac-subject { font-size: 28px; line-height: 1.2; }
html body #chapters .artifact-cite .ac-caption { font-size: 22px; line-height: 1.5; }
html body #chapters .artifact-cite .ac-source { font-size: 14px; line-height: 1.5; }
html body #chapters .artifact-cite .ac-body { border: 0; padding: 0; }
html body #chapters .reading-sources { font-family: var(--body); font-size: 14px; line-height: 1.6; color: var(--room-ink); }
html body #chapters .reading-sources :is(li,.rs-label) { color: inherit !important; }
html body #chapters .reading-sources :is(li,.rs-label) * { color: inherit !important; }
html body #chapters .study-drawer > summary { font-size: 22px; }
html body #chapters .room-navigation :is(a,button) { font-size: 16px; }
html body #chapters .room-navigation { padding-bottom: 8px; }
body :is(button, summary):active { transform: scale(.98); }
@media (min-width: 768px) {
  :root { --exhibition-gutter: max(40px, calc((100vw - 1440px)/2)); }
  body .exhibition-entrance { padding: 64px 48px 48px var(--exhibition-gutter); }
  body .cover { grid-template-columns: 1fr; }
  body .exhibition-entrance { display: grid; grid-template-columns: 7fr 4fr; gap: 24px 48px; align-items: center; padding-right: var(--exhibition-gutter); }
  body .exhibition-kicker { grid-column: 1 / -1; margin: 0; }
  body .exhibition-entrance h2 { grid-column: 1; grid-row: 2 / span 2; margin: 0; }
  body .exhibition-entrance > p:not(.exhibition-kicker) { grid-column: 2; margin: 0; }
  body .entrance-actions { grid-column: 2; }
  body .cover-hero-media { padding: 24px var(--exhibition-gutter); }
  body .cover-hero-media img { max-height: 680px; }
  body .cover .cover-meta, body .cover .cover-stack, body .cover .cover-foot { width: min(var(--layout-max), calc(100% - 80px)); }
  body .cover .cover-text { max-width: none; display: grid; grid-template-columns: 1fr 2fr; gap: 16px 48px; align-items: start; }
  body .cover .cover-text > * { grid-column: 2; margin-top: 0; }
  body .cover .cover-text .cover-title { grid-column: 1; grid-row: 1 / span 6; font-size: 88px; max-width: 6ch; }
  body .cover .cover-invite, body .cover .cover-sub { max-width: 56ch; }
  .idea-routes { padding: 48px var(--exhibition-gutter); }
  .idea-routes nav { grid-template-columns: 1fr 1fr; gap: 0 48px; }
  .idea-routes h2 { font-size: 64px; }
  html body #chapters .room-heading { padding: 48px var(--exhibition-gutter); min-height: 240px; display: grid; grid-template-columns: 3fr 1fr; gap: 24px; align-content: center; }
  html body #chapters .room-heading > :not(.room-mark) { grid-column: 1; position: relative; z-index: 1; }
  html body #chapters .room-heading h2 { width: 100%; max-width: 18ch; }
  html body #chapters .room-heading .room-number { margin-bottom: 0; }
  html body #chapters .room-heading .room-motive { margin-top: 0; }
  html body #chapters .room-heading::after { width: 24%; }
  .room-mark { position: absolute; top: 0; right: 0; bottom: 0; width: 24%; display: flex; align-items: center; justify-content: center; z-index: 1; font-size: clamp(88px, 12vw, 200px); margin: 0; }
  /* The decorative folio uses the separately measured companion foreground. */
  html body #chapters .room-mark { color: var(--mark-ink); }
  html body #chapters .chapter-strip, html body #chapters .room-navigation, html body #chapters .chapter-foot { padding-left: var(--exhibition-gutter); padding-right: var(--exhibition-gutter); }
  html body #chapters .chapter .panel { padding: 40px var(--exhibition-gutter) !important; }
  html body #chapters .chapter .summary-frame :is(.su-en,.su-th,.su-cn) { font-size: var(--summary-size,2.75rem) !important; }
  html body #chapters .reading-frame { grid-template-columns: minmax(180px, 1fr) minmax(0, 3fr) !important; gap: 40px; }
  html body #chapters .reading-frame .reading-aside { grid-column: 1; grid-row: 1; }
  html body #chapters .reading-frame .insight-card { grid-column: 2; grid-row: 1; }
  html body #chapters .reading-body, html body #chapters .reading-flow .reading-body { font-size: clamp(22px, 1.8vw, 26px) !important; }
  html body #chapters .reading-pull .rp-sentence { font-size: 44px; max-width: 42ch; }
  html body #chapters .reading-flow > .artifact-cite.has-img { grid-template-columns: 2fr 3fr; padding: 32px; }
  html body #chapters .reading-flow > .artifact-cite.plate--wide.has-img { grid-template-columns: 1fr; }
  html body #chapters .study-drawer, html body #chapters .palette-note { max-width: var(--layout-max); margin-left: var(--exhibition-gutter); margin-right: var(--exhibition-gutter); }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .idea-routes a > :last-child { transition: none !important; transform: none !important; } body :is(button, summary):active { transform: none; } }
/* Shared-edge reading spread. The cover owns one grid, not three nested grids.
   Roles: display invitation; sustained body; readable metadata. Earned artwork
   keeps its full landscape, and the evidence rail supports prose on the right. */
:root { --cover-display: clamp(3.5rem, 7vw, 6.5rem); --cover-body: 1.375rem; --cover-meta: 1rem; }
body .cover { gap: 0; padding: 60px 24px 0; background: #a7d4e4; }
body .exhibition-entrance { display: block; padding: 32px 0 24px; }
body .exhibition-kicker { font-family: var(--body); font-size: var(--cover-meta); letter-spacing: 0; line-height: 1.5; margin: 0 0 24px; }
body .exhibition-entrance h1 { font-family: var(--display); font-size: var(--cover-display); font-weight: 600; line-height: 1.08; letter-spacing: 0; margin: 0 0 24px; color: inherit; }
body .exhibition-entrance > p:not(.exhibition-kicker) { font-size: var(--cover-body); line-height: 1.5; margin: 0 0 24px; max-width: 32ch; }
body .entrance-actions { display: flex; gap: 8px 16px; align-items: center; }
body .entrance-actions :is(a,button) { font-size: var(--cover-meta); line-height: 1.5; padding: 12px 0; }
body .entrance-actions > a:first-child { padding: 12px 20px; }
body .cover-hero-media { display: block; padding: 0 0 24px; background: transparent; align-self: center; }
/* Cancel the legacy 300px phone floor: it letterboxed a 191px image and
   inserted an accidental blank panel between the art and edition credit. */
body .cover-hero-media img { display: block; width: 100%; min-height: 0; max-height: none; object-fit: contain; }
body .cover .cover-meta { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; padding: 24px 0 0; font-family: var(--body); font-size: var(--cover-meta); line-height: 1.5; letter-spacing: 0; }
body .cover .cover-stack { padding: 24px 0 0; gap: 0; }
body .cover .cover-text { display: block; max-width: none; }
body .cover .cover-author { margin-bottom: 24px; }
body .cover .cover-author > * { margin-top: 0; }
body .cover .cover-essay { min-width: 0; }
body .cover .cover-text > * { margin-top: 0; }
body .cover .cover-kicker, body .cover .cover-dedication { font-family: var(--body); font-size: var(--cover-meta); line-height: 1.5; letter-spacing: 0; opacity: 1; margin-bottom: 16px; }
body .cover .cover-title { font-size: var(--cover-display); line-height: 1.08; margin: 0 0 24px; max-width: none; }
body .cover :is(.cover-invite,.cover-sub,.cover-promise) { font-size: var(--cover-body); font-family: var(--body); line-height: 1.6; max-width: 58ch; margin: 0 0 24px; }
body .cover .cover-promise { font-weight: 600; }
body .cover .cover-foot { padding: 0 0 32px; }
body .cover .cover-foot :is(p,button,a,.cpb-lead,.cpb-cta) { font-family: var(--body); font-size: var(--cover-meta) !important; line-height: 1.5; letter-spacing: 0 !important; }
body .cover .cover-cta-row { flex-wrap: wrap; gap: 12px 24px; }
body .cover .cover-cta-row :is(a,button), body .cover .cover-paths-btn { min-height: 44px; }
html body #chapters .reading-pull { margin-bottom: 24px; }
html body #chapters .reading-aside > p { font-size: 22px; line-height: 1.6; }
html body #chapters .reading-aside :is(.rf-cap,.rf-credit,.drnon-figcap) { font-size: 16px; line-height: 1.6; }
@media (min-width: 768px) {
  body .topbar { padding-left: var(--exhibition-gutter); padding-right: var(--exhibition-gutter); }
  body .topbar-brand { align-items: center; gap: 12px; flex-shrink: 1; min-width: 0; }
  body .topbar .topbar-name { font-size: var(--cover-meta); align-self: center; line-height: 1.4; min-width: 0; overflow-wrap: anywhere; }
  body .cover { grid-template-columns: repeat(12,minmax(0,1fr)); column-gap: 32px; padding-left: var(--exhibition-gutter); padding-right: var(--exhibition-gutter); }
  body .exhibition-entrance { grid-column: 1 / 6; grid-row: 1; padding: 40px 0; align-self: center; }
  body .cover-hero-media { grid-column: 6 / 13; grid-row: 1; padding: 40px 0; }
  body .cover .cover-meta, body .cover .cover-stack, body .cover .cover-foot { grid-column: 1 / -1; width: 100%; margin: 0; }
  body .cover .cover-meta { padding-top: 24px; }
  body .cover .cover-text { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); gap: 0 32px; }
  body .cover .cover-essay { grid-column: 1 / 7; grid-row: 1; }
  body .cover .cover-author { grid-column: 8 / 13; grid-row: 1; margin: 0; }
  body .cover .cover-text .cover-title { font-size: var(--cover-display); max-width: none; }
  /* MSH 2026-10-23: the how-to paragraph sits under the author, not under a 500px void */
  body .cover .cover-essay { grid-row: 1 / span 2; }
  body .cover .cover-sub { grid-column: 8 / 13; grid-row: 2; }
  html body #chapters .reading-frame { grid-template-columns: minmax(0,2fr) minmax(0,1fr) !important; gap: 48px; }
  html body #chapters .reading-frame .insight-card { grid-column: 1; grid-row: 1; }
  html body #chapters .reading-frame .reading-aside { grid-column: 2; grid-row: 1; }
  html body #chapters .reading-pull .rp-sentence { max-width: 30ch; }
}
/* Each fixed-colour shell owns its ink too. Saved Yin frame tokens must not
   leak into a light cover through legacy descendant color declarations. */
html body .cover {
  --cover-ground: #a7d4e4; --cover-ink: #172c32;
  --paper: var(--cover-ground); --ink: var(--cover-ink);
  --ink-soft: var(--cover-ink); --ink-fade: var(--cover-ink);
  --ink-mute: var(--cover-ink); --seal: var(--cover-ink);
  background: var(--cover-ground); color: var(--cover-ink);
}
html body.yin-mode .cover { --cover-ground: #345967; --cover-ink: #ffffff; }
html body .cover .exhibition-entrance { background: var(--cover-ground); color: var(--cover-ink); }
html body .cover .cover-promise, html body .cover .cover-video-note { color: var(--cover-ink); }
html body .cover .entrance-actions button { color: var(--cover-ink); }
html body .cover .cover-instructions, html body .cover .cover-instructions span,
html body .cover .cv-dot { color: var(--cover-ink); opacity: 1; }
html body.yin-mode :is(.letter,.colophon) { background: var(--paper); color: var(--ink); }
html body.yin-mode :is(.letter,.colophon) :is(h3,p,em,a,.colo-sig) { color: inherit; }
html body .idea-routes { --ink: #f5f4ee; --ink-soft: #f5f4ee; --seal: #f5f4ee; }
/* Four chapter voices, using already-requested cuts. Body/control roles stay
   stable; script roles are explicit, not accidental Latin fallback. */
html body #chapters .chapter { --chapter-display: var(--display); --chapter-weight: 600; --chapter-cn: 'Noto Sans SC', sans-serif; }
html body #chapters .chapter[data-type-voice="reflective"] { --chapter-display: 'Crimson Pro', Georgia, serif; --chapter-cn: 'Noto Serif SC', serif; }
html body #chapters .chapter[data-type-voice="flowing"] { --chapter-display: 'Cormorant Garamond', Georgia, serif; --chapter-cn: 'Noto Serif SC', serif; }
html body #chapters .chapter[data-type-voice="precise"] { --chapter-display: 'JetBrains Mono', monospace; --chapter-weight: 500; }
/* Native chapter jumps must target the resting box, not a 10px reveal offset
   that disappears after scrolling. Reading rooms are present, never animated in. */
html body #chapters .chapter { transform: none; transition: none; opacity: 1; }
/* Optical presence per display voice / 2026-10-16. Measured cap heights at
   100px: Archivo Narrow 72, Crimson Pro 68, Cormorant 73 with light
   strokes, JetBrains Mono 78 and 44% wider than Archivo. One clamp made the
   mono dominate and the garamond starve; each voice carries its own
   multiplier so doorway titles hold equal presence. */
html body #chapters .chapter[data-type-voice="direct"] { --vo-h: 1.02; }
html body #chapters .chapter[data-type-voice="reflective"] { --vo-h: 1.06; }
html body #chapters .chapter[data-type-voice="flowing"] { --vo-h: 1.08; }
html body #chapters .chapter[data-type-voice="precise"] { --vo-h: 0.92; }
html body #chapters .room-heading h2 { font-family: var(--chapter-display); font-size: calc(clamp(3.5rem,8vw,7.5rem) * var(--vo-h, 1)); font-weight: var(--chapter-weight); line-height: 1.15; letter-spacing: 0; }
html body #chapters .room-heading h2 [data-lang="th"] { font-family: 'IBM Plex Sans Thai', sans-serif; line-height: 1.4; }
html body #chapters .room-heading h2 [data-lang="cn"] { font-family: var(--chapter-cn); line-height: 1.3; }
/* Content-led rooms / 2026-10-02. A shared navigation grammar is not a
   compulsory repeated composition. All colours reuse measured chapter roles. */
html body #chapters .room-question { position: relative; z-index: 2; background: var(--study-field); color: var(--study-ink); padding: 24px; margin: 24px 0 0; min-width: 0; }
html body #chapters .room-question p { color: inherit; margin: 0; letter-spacing: 0; }
html body #chapters .room-question .question-label { font-family: var(--body); font-size: 1rem; margin-bottom: 16px; }
html body #chapters .room-question .question-text { font-family: var(--body); font-size: clamp(1.5rem,3vw,2.75rem); line-height: 1.35; max-width: 28ch; overflow-wrap: anywhere; }
html body #chapters .room-question[data-scale="measured"] .question-text { font-size: clamp(1.375rem,2vw,2rem); line-height: 1.5; }
html body #chapters .room-mark { display: none; }
html body #chapters .room-heading::after { content: none; }
html body #chapters .chapter[data-composition="stillness"] .room-heading { background: var(--room-ground); color: var(--room-ink); }
html body #chapters .chapter[data-composition="stillness"] .room-question { background: transparent; color: inherit; padding: 24px 0 0; }
html body #chapters .chapter[data-composition="current"] .room-heading { background: var(--room-ground); color: var(--room-ink); }
html body #chapters .chapter[data-composition="current"] .room-question { background: var(--pair-field); color: var(--pair-ink); }
html body #chapters .chapter[data-composition="chorus"] .room-heading { background: var(--artifact-field); color: var(--artifact-ink); }
html body #chapters .chapter[data-composition="workshop"] .room-heading { padding-top: 32px; padding-bottom: 24px; }
html body #chapters .chapter[data-density="dense"] .reading-flow .rb-p { margin-bottom: .9em; }
html body #chapters .chapter[data-density="light"] .reading-flow .rb-p { margin-bottom: 1.5em; }
html body #chapters .chapter[data-composition="chorus"] .reading-sources { padding: 24px; background: var(--study-field) !important; color: var(--study-ink) !important; font-size: 1.125rem; }
html body #chapters .chapter[data-composition="tension"] .reading-pull { padding: 24px; box-sizing: border-box; background: var(--artifact-field); color: var(--artifact-ink); }
html body #chapters .chapter[data-composition="tension"] .reading-pull .rp-sentence { color: inherit; }
@media (min-width: 768px) {
  /* Keep the name horizontal when tools consume the tablet toolbar. The Dao
     mark remains visible; on wider screens the full name has room again. */
  html body .topbar .topbar-name { display: block; width: clamp(0px,calc(100vw - 960px),14rem); max-width: 14rem; padding: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  html body #chapters .room-heading { grid-template-columns: minmax(0,7fr) minmax(0,4fr); gap: 24px 48px; min-height: 0; }
  html body #chapters .room-heading > .room-question { grid-column: 2; grid-row: 1 / span 3; margin: 0; align-self: stretch; display: flex; flex-direction: column; justify-content: center; }
  html body #chapters .chapter[data-composition="threshold"] .room-heading { grid-template-columns: minmax(0,8fr) minmax(0,3fr); padding-top: 72px; padding-bottom: 56px; }
  html body #chapters .chapter[data-composition="threshold"] .room-question { align-self: end; }
  html body #chapters .chapter[data-composition="tension"] .room-heading { grid-template-columns: minmax(0,5fr) minmax(0,6fr); }
  html body #chapters .chapter[data-composition="tension"] .room-question { padding: 40px; }
  html body #chapters .chapter[data-composition="current"] .room-heading { grid-template-columns: minmax(0,6fr) minmax(0,5fr); align-items: start; }
  html body #chapters .chapter[data-composition="current"] .room-question { margin-top: 64px; }
  html body #chapters .chapter[data-composition="current"] .reading-frame { grid-template-columns: minmax(0,5fr) minmax(0,3fr) !important; }
  html body #chapters .chapter[data-composition="stillness"] .room-heading { grid-template-columns: minmax(0,1fr); padding-top: 56px; padding-bottom: 32px; }
  html body #chapters .chapter[data-composition="stillness"] .room-heading > .room-question { grid-column: 1; grid-row: auto; max-width: 48ch; justify-content: start; }
  html body #chapters .chapter[data-composition="stillness"] .reading-frame { grid-template-columns: minmax(0,7fr) minmax(0,3fr) !important; }
  html body #chapters .chapter[data-composition="workshop"] .room-heading { grid-template-columns: minmax(0,3fr) minmax(0,2fr); gap: 16px 32px; }
  html body #chapters .chapter[data-composition="workshop"] .room-question { padding: 24px; }
  html body #chapters .chapter-front { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,2fr); padding: 24px var(--exhibition-gutter); gap: 32px; align-items: start; }
  html body #chapters .chapter-front .room-navigation { padding: 0; display: flex; flex-direction: column; align-items: start; gap: 4px; }
  html body #chapters .chapter .chapter-front .panel-summary { padding: 0 !important; }
  html body #chapters .chapter[data-composition="workshop"] .reading-frame { gap: 24px; }
  html body #chapters .chapter[data-composition="workshop"] .reading-sources ul { columns: 2; column-gap: 32px; }
  html body #chapters .chapter[data-composition="workshop"] .reading-sources li { break-inside: avoid; margin-bottom: 12px; }
  html body #chapters .chapter[data-composition="chorus"] .room-heading { grid-template-columns: minmax(0,1fr); }
  html body #chapters .chapter[data-composition="chorus"] .room-heading > .room-question { grid-column: 1; grid-row: auto; width: 75%; box-sizing: border-box; }
  html body #chapters .chapter[data-composition="chorus"] .reading-frame { grid-template-columns: minmax(0,3fr) minmax(0,2fr) !important; }
  html body #chapters .chapter[data-composition="chorus"] .reading-flow > .artifact-cite.has-img { grid-template-columns: 1fr; }
}
/* Reading instruments: the controls are quiet; the argument owns the field.
   Authored doorway prompts can be monumental without enlarging long prose.
   Braun SK4 / early iPod are form/control references, not copied interfaces. */
html body #chapters .chapter[data-statement="authored"] .room-question .question-text { font-family: var(--chapter-display); font-weight: var(--chapter-weight); font-size: clamp(2.5rem,6vw,7rem); line-height: 1.12; max-width: 18ch; }
html body #chapters .chapter[data-statement="authored"] .room-heading h2 { font-size: calc(clamp(3.5rem,4vw,5rem) * var(--vo-h, 1)); overflow-wrap: anywhere; }
html body #chapters .chapter[data-statement="authored"] .room-question .question-text [data-lang="th"] { font-family: 'IBM Plex Sans Thai',sans-serif; line-height: 1.35; }
html body #chapters .chapter[data-statement="authored"] .room-question .question-text [data-lang="cn"] { font-family: var(--chapter-cn); line-height: 1.3; }
html body #chapters .room-navigation { gap: 4px 8px; align-items: center; }
html body #chapters .room-navigation > a:first-child { background: var(--room-ink); color: var(--room-ground); padding: 8px 12px; text-decoration: none; }
html body #chapters .room-navigation :is(a,button) { font-family: var(--body); line-height: 1.5; }
html body #chapters .chapter-object { margin: 24px 0 0; min-width: 0; }
html body #chapters .chapter-object figcaption { font-family: var(--body); font-size: 1rem; line-height: 1.5; max-width: 60ch; margin-top: 16px; color: inherit; }
html body #chapters .void-wall { padding: 24px; background: var(--pair-companion); color: var(--mark-ink); font-size: 1rem; }
html body #chapters .void-space { display: flex; align-items: center; justify-content: center; min-height: 144px; padding: 24px; margin-top: 24px; background: var(--room-ground); color: var(--room-ink); font-family: var(--body); font-size: 1.375rem; line-height: 1.5; text-align: center; }
html body #chapters .treasure-planes { display: grid; grid-template-columns: 1fr; }
html body #chapters .treasure-planes p { margin: 0; padding: 24px; font-family: var(--body); font-size: 2rem; line-height: 1.35; overflow-wrap: anywhere; }
html body #chapters .treasure-planes p:nth-child(1) { background: var(--study-field); color: var(--study-ink); }
html body #chapters .treasure-planes p:nth-child(2) { background: var(--pair-field); color: var(--pair-ink); }
html body #chapters .treasure-planes p:nth-child(3) { background: var(--pair-companion); color: var(--mark-ink); }
@media (min-width: 768px) {
  html body #chapters .chapter[data-statement="authored"] .room-heading { gap: 24px 48px; }
  html body #chapters .chapter[data-statement="authored"] .room-heading > .room-question { justify-content: end; padding: 32px; }
  html body #chapters #ch1 .room-heading { grid-template-columns: minmax(0,3fr) minmax(0,7fr); padding-top: 48px; }
  html body #chapters #ch1 .room-heading > .room-question { align-self: stretch; }
  html body #chapters #ch2 .room-heading { grid-template-columns: minmax(0,4fr) minmax(0,7fr); }
  html body #chapters #ch8 .room-heading { grid-template-columns: minmax(0,1fr); }
  html body #chapters #ch8 .room-heading > .room-question { grid-column: 1; grid-row: auto; width: 78%; margin: 8px 0 0 22%; box-sizing: border-box; }
  html body #chapters #ch8 .room-question .question-text { max-width: 15ch; }
  html body #chapters #ch11 .room-heading { grid-template-columns: minmax(0,5fr) minmax(0,6fr); }
  html body #chapters #ch11 .chapter-object { grid-column: 1 / -1; width: 68%; margin: 8px auto 0; }
  html body #chapters #ch12 .room-heading > .room-question { width: 100%; margin-left: 0; }
  html body #chapters #ch16 .room-heading > .room-question { width: 80%; max-width: none; margin-left: 20%; padding: 0; }
  html body #chapters #ch33 .room-heading { grid-template-columns: minmax(0,2fr) minmax(0,3fr); }
  html body #chapters #ch33 .room-heading > .room-question { grid-column: 2; grid-row: 1 / span 3; width: auto; margin-left: 0; }
  html body #chapters #ch48 .room-heading { grid-template-columns: minmax(0,1fr); }
  html body #chapters #ch48 .room-heading > .room-question { grid-column: 1; grid-row: auto; background: transparent; color: inherit; padding: 0; }
  html body #chapters #ch60 .room-heading { grid-template-columns: minmax(0,2fr) minmax(0,3fr); }
  html body #chapters #ch67 .room-heading > .room-question { width: 100%; margin-left: 0; background: transparent; color: inherit; padding: 0; }
  html body #chapters #ch67 .chapter-object { grid-column: 1 / -1; margin-top: 8px; }
  html body #chapters .treasure-planes { grid-template-columns: minmax(0,5fr) minmax(0,3fr) minmax(0,4fr); }
  html body #chapters .treasure-planes p { min-height: 140px; display: flex; align-items: end; font-size: clamp(2rem,3vw,3rem); }
  html body #chapters #ch76 .room-heading > .room-question { margin-top: 48px; }
  html body #chapters #ch81 .room-question .question-text { max-width: 14ch; }
}
/* Orientation stances / 2026-10-16. Each composition takes a stance in the
   page geometry so the chapter's argument reaches the eye before the word.
   Threshold steps down like a doorway edge; tension shears the title low
   against the question high; current drifts off the gutter; stillness
   composes a centred balance around a quiet void; workshop pins its tool to
   the top of the bench; chorus answers from the other side. Authored
   statement chapters keep their own stances through higher specificity. */
@media (min-width: 768px) {
  html body #chapters .chapter[data-composition="threshold"] .room-question { justify-content: end; }
  html body #chapters .chapter[data-composition="tension"] .room-heading > :is(.room-number,h2,.room-motive) { align-self: end; }
  html body #chapters .chapter[data-composition="tension"] .room-question { justify-content: start; padding: 48px 40px 88px; }
  html body #chapters .chapter[data-composition="tension"]:not([data-statement="authored"]) .room-question .question-text { font-size: clamp(1.75rem,3.4vw,3rem); }
  html body #chapters .chapter[data-composition="current"] .room-question { margin-left: 12%; }
  html body #chapters .chapter[data-composition="stillness"] .room-heading { text-align: center; }
  html body #chapters .chapter[data-composition="stillness"] .room-heading h2 { width: auto; max-width: 17ch; margin-inline: auto; }
  html body #chapters .chapter[data-composition="stillness"] .room-motive { margin-inline: auto; }
  html body #chapters .chapter[data-composition="stillness"] .room-heading > .room-question { margin-inline: auto; }
  html body #chapters .chapter[data-composition="workshop"] .room-question { align-self: start; justify-content: start; }
  html body #chapters .chapter[data-composition="chorus"] .room-heading > .room-question { margin-left: 25%; }
  html body #chapters .chapter[data-composition="chorus"]:not([data-statement="authored"]) .room-question .question-text { font-size: clamp(1.375rem,2.5vw,2.25rem); }
}
/* Text diagrams describe relationships, never quantities. Reading order and
   colour roles are the same in all scripts and both saved themes. */
html body #chapters .chapter[data-heading-scale="measured"] .room-heading h2 { font-size: calc(clamp(2.5rem,5vw,6rem) * var(--vo-h, 1)); line-height: 1.2; }
html body #chapters .argument-planes { display: grid; grid-template-columns: minmax(0,1fr); gap: 0; margin: 0; padding: 0; list-style: none; }
html body #chapters .argument-planes > li { min-width: 0; margin: 0; padding: 24px; background: var(--pair-field); color: var(--pair-ink) !important; }
html body #chapters .argument-planes > li:nth-child(2) { background: var(--study-field); color: var(--study-ink) !important; }
html body #chapters .argument-planes > li:nth-child(3) { background: var(--artifact-field); color: var(--artifact-ink) !important; }
/* The pilot rail explains the essay. It is readable text in Quiet as well. */
html body #chapters .reading-teaching { display: block !important; width: 100%; margin: 32px 0 0; }
html body #chapters .insight-card > .reading-teaching { margin: 0 0 32px; }
html body #chapters .reading-teaching .argument-planes { display: grid; grid-template-columns: minmax(0,1fr); }
html body #chapters .reading-teaching .argument-planes > li { padding: 16px; }
html body #chapters .reading-teaching .argument-planes strong { font-size: 1.375rem; }
html body #chapters .reading-teaching figcaption { color: inherit; font-family: var(--body); font-size: 1rem; line-height: 1.65; margin-top: 16px; text-transform: none; letter-spacing: 0; }
html body #chapters :is(.reading-aside,.reading-teaching) [data-lang="th"] { font-family: 'IBM Plex Sans Thai', 'Noto Sans Thai', sans-serif; line-height: 1.7; letter-spacing: 0; text-transform: none; }
html body #chapters :is(.reading-aside,.reading-teaching) [data-lang="cn"] { font-family: 'Noto Sans SC', sans-serif; line-height: 1.6; letter-spacing: 0; text-transform: none; }
html body #chapters :is(.object-desire,.object-substitution) .argument-planes > li + li::before { content: '↓'; display: block; margin-bottom: 8px; font-size: 1.5rem; }
html body #chapters .object-alarm .argument-planes { grid-template-columns: repeat(2,minmax(0,1fr)); }
html body #chapters .object-alarm .argument-planes > li:last-child { grid-column: 1 / -1; border-top: 2px solid currentColor; }
html body #chapters .object-alarm .argument-planes > li:last-child::before { content: '↘　↙'; display: block; margin-bottom: 8px; }
html body #chapters .object-attention .argument-planes > li + li { border-top: 2px solid currentColor; }
@media (min-width: 768px) {
  html body #chapters .chapter[data-density="dense"][data-composition] .reading-frame { grid-template-columns: minmax(0,61.8fr) minmax(0,38.2fr) !important; gap: 24px; }
}
html body #chapters .argument-planes :is(strong,p,span) { color: inherit !important; }
html body #chapters .argument-planes strong { display: block; font-family: var(--body); font-size: 1.75rem; font-weight: 600; line-height: 1.35; overflow-wrap: anywhere; }
html body #chapters .argument-planes p { font-family: var(--body); font-size: 1.125rem; line-height: 1.6; margin: 12px 0 0; }
html body #chapters .object-subtraction .argument-planes > li { padding-block: 32px; }
html body #chapters .object-subtraction .argument-planes > li:nth-child(2) { padding-block: 24px; }
html body #chapters .object-subtraction .argument-planes > li:nth-child(3) { padding-block: 16px; }
@media (min-width: 768px) {
  html body #chapters .chapter-object.object-argument { grid-column: 1 / -1; width: 100%; }
  html body #chapters .object-opposites .argument-planes,
  html body #chapters .object-flexibility .argument-planes { grid-template-columns: repeat(2,minmax(0,1fr)); }
  html body #chapters .object-water .argument-planes { grid-template-columns: repeat(3,minmax(0,1fr)); }
  html body #chapters .object-subtraction .argument-planes { max-width: 48rem; }
  html body #chapters .object-subtraction .argument-planes > li:nth-child(2) { margin-left: 12%; }
  html body #chapters .object-subtraction .argument-planes > li:nth-child(3) { margin-left: 24%; }
}
@media print {
  .exhibition-entrance, .room-navigation, .palette-note { display: none; }
  html body #chapters .chapter { break-before: page; }
  html body #chapters .room-heading::after { display: none; }
}

/* ── 2026-10-22 audit: legacy-mood leakage + couplet orphan ───────────────
   Chapters 12, 18, 38, 41 carry the pre-Palette `mood-pop` comic frame: a 4px
   border and an 8px hard-offset box-shadow on the summary and the character
   card. The exhibition layer zeroed the padding and the "POW" label but not
   these, so the sentence sat against its own border. Shadows are house-law
   violations (§11.6.4); the character card returns to the 1px hairline every
   other chapter uses. */
html body #chapters .chapter.mood-pop .summary-frame { border: 0; box-shadow: none; }
html body #chapters .chapter.mood-pop .char-brush { border: 1px solid var(--rule, currentColor); box-shadow: none; }
html body #chapters .chapter.mood-pop .origin-cn-title { text-shadow: none; }
/* Chapter 40's two lines are one couplet. At 390px and at 576px the second
   line left a lone 「無。」 / 「用。」 on its own row. Balance splits it evenly. */
/* each clause is one unbreakable unit, so a line only ever breaks at the comma */
html body #chapters .wordless-cn p { font-size: min(44px, 10.5vw); }
html body #chapters .wordless-cn .cl { display: inline-block; }

/* ── Chapter figures (chapter_forms.js) ───────────────────────────────────
   Each chapter's argument as geometry, in its own Palette plates. A figure never
   takes part in layout: it is absolutely placed, so it cannot add a pixel of height
   or narrow a word. exhibition.js measures the width the words actually left unused
   and uses it for a large figure (data-form="wide"); otherwise it is a corner mark.
   Stillness has no field: a small centred mark above the question. */
html body #chapters .room-question { position: relative; }
.chapter-form { display: block; overflow: visible; }
.chapter-form .fa { fill: var(--form-a); } .chapter-form .fb { fill: var(--form-b); } .chapter-form .fc { fill: var(--form-c); }
.chapter-form .sa { fill: none; stroke: var(--form-a); }
/* Corner figures share the label's band. A 52px mark reached the first
   Archivo line once the real font loaded; 44px leaves that line clear. */
html body #chapters .room-question > .chapter-form { position: absolute; top: 12px; right: 12px; width: 44px; height: 44px; }
html body #chapters .room-question:has(> .chapter-form) .question-label { padding-right: 68px; }
html body #chapters .room-question[data-form="wide"] > .chapter-form { top: 50%; right: 24px; width: var(--form-size); height: var(--form-size); transform: translateY(-50%); }
html body #chapters .room-question[data-form="wide"]:has(> .chapter-form) .question-label { padding-right: 0; }
html body #chapters .chapter[data-composition="stillness"] .room-question > .chapter-form { position: static; width: 44px; height: 44px; margin: 0 auto 8px; transform: none; }
html body #chapters .chapter[data-composition="stillness"] .room-question:has(> .chapter-form) { width: min(100%, 48ch); }
html body #chapters .chapter[data-composition="stillness"] .room-question:has(> .chapter-form) .question-label { padding-right: 0; }

/* each clause is one unbreakable unit, so a line only ever breaks at the comma */
html body #chapters .wordless-cn p { font-size: min(44px, 10.5vw); }
html body #chapters .wordless-cn .cl { display: inline-block; }

/* each clause is one unbreakable unit, so a line only ever breaks at the comma */
html body #chapters .wordless-cn p { font-size: min(44px, 10.5vw); }
html body #chapters .wordless-cn .cl { display: inline-block; }
html body #chapters .wordless-cn { max-width: 44rem; margin-inline: auto; }

/* notes are written in paragraphs; the HTML collapsed them into one wall */
html body #chapters .note-body { white-space: pre-line; }

/* 2026-10-30: leading follows the text's job. Small labels do not borrow
   essay spacing; Thai keeps room for stacked marks. Prose is unchanged. */
html body { --label-leading: 1.35; --caption-leading: 1.5; --intro-leading: 1.5; }
html body.lang-th { --label-leading: 1.6; --caption-leading: 1.6; --intro-leading: 1.65; }
html body.lang-cn { --label-leading: 1.45; --caption-leading: 1.55; --intro-leading: 1.65; }
html body :is(.exhibition-kicker,.cover-meta,.cover-kicker,.cover-dedication,.cover-instructions,.cover-video-note) {
  --text-leading: var(--label-leading);
  line-height: var(--text-leading);
}
html body #chapters :is(.entry-hook,.su-cn-py,.room-motive,.reading-signpost,.chapter-type-note,.open-art-label) {
  --text-leading: var(--label-leading);
  line-height: var(--text-leading);
}
html body #chapters :is(.rf-cap,.rf-credit,.drnon-figcap,.reading-sources,.open-art-credit,.open-art-links,.open-art-boundary) {
  --text-leading: var(--caption-leading);
  line-height: var(--text-leading);
}
html body #chapters :is(.open-art-credit,.open-art-links,.open-art-boundary) [data-lang] { line-height: inherit; }
html body #chapters .reading-sources li { margin-bottom: .45em; }
html body #chapters :is(.open-art-credit,.open-art-links,.open-art-boundary) { margin-top: .6em; }
html body .cover :is(.cover-kicker,.cover-dedication) { margin-bottom: .5em; }

/* Owner correction: shared edges compose the spread, not text over artwork. */
html body .cover { grid-template-columns: repeat(6,minmax(0,1fr)); column-gap: 0; padding-top: 76px; }
html body .exhibition-entrance { display: contents; }
html body .exhibition-kicker {
  grid-column: 1 / -1; grid-row: 1; margin: 0 0 8px; width: fit-content;
  max-width: 100%; position: relative;
}
html body .exhibition-entrance h1 {
  grid-column: 1 / -1; grid-row: 2; align-self: start; width: fit-content;
  max-width: 100%; box-sizing: border-box; margin: 0; padding: 0;
  position: relative;
}
html body.lang-th .exhibition-entrance h1 { line-height: 1.2; }
html body.lang-cn .exhibition-entrance h1 { grid-column: 1 / -1; padding-right: 0; font-size: calc(var(--cover-display) * .96); line-height: 1.2; }
html body .cover-hero-media {
  grid-column: 1 / -1; grid-row: 3; align-self: start;
  margin: 12px 0; padding: 0; min-width: 0;
}
.cover-art-link { display: block; cursor: zoom-in; }
html body .exhibition-entrance > p:not(.exhibition-kicker) {
  --text-leading: var(--intro-leading);
  grid-column: 1 / -1; grid-row: 4; position: relative;
  margin: 0; padding: 0;
  max-width: 32ch; line-height: var(--text-leading);
}
html body .entrance-actions {
  grid-column: 1 / -1; grid-row: 5; margin-top: 8px;
  gap: 4px 16px; align-items: center; position: relative;
}
html body .entrance-actions :is(a,button) { --text-leading: var(--label-leading); line-height: var(--text-leading); }
html body .cover .cover-meta {
  grid-column: 1 / -1; grid-row: 6; padding-top: 12px; gap: 4px 16px;
  line-height: var(--label-leading);
}
html body .cover .cover-stack { grid-column: 1 / -1; grid-row: 7; padding-top: 20px; }
html body .cover .cover-foot { grid-column: 1 / -1; grid-row: 8; }
@media (min-width: 768px) {
  html body .cover { --cover-display: clamp(2.75rem,6vw,5.5rem); grid-template-columns: repeat(12,minmax(0,1fr)); column-gap: 24px; padding-top: 84px; }
  /* Pack the text independently: a tall image must not distribute spare
     height between the kicker, question, explanation and actions. */
  html body .exhibition-entrance { display: grid; grid-column: 1 / 6; grid-row: 1; grid-template-columns: minmax(0,1fr); gap: 16px; padding: 0; align-self: start; align-content: start; }
  html body .exhibition-entrance > :is(.exhibition-kicker,h1,p,nav) { grid-column: 1; grid-row: auto; }
  html body .exhibition-kicker { margin-bottom: 0; }
  html body .exhibition-entrance h1 { padding: 0; }
  html body .cover-hero-media { grid-column: 6 / 13; grid-row: 1; align-self: start; margin: 0; }
  html body .exhibition-entrance > p:not(.exhibition-kicker) { grid-column: 1; grid-row: auto; max-width: 28ch; margin: 0; padding: 0; }
  html body .entrance-actions { margin: 0; padding: 0; }
  html body .cover .cover-meta { grid-row: 2; }
  html body .cover .cover-stack { grid-row: 3; }
  html body .cover .cover-foot { grid-row: 4; }
}
/* Filled = primary action; underlined = navigation; plus/cross = disclosure.
   Continuous reading retains its existing typography and chapter voices. */
html body .idea-routes a > :first-child { font-size: 1rem; font-weight: 400; }
html body .idea-routes a > :nth-child(2) { font-weight: 600; text-decoration: underline; text-underline-offset: .2em; text-decoration-thickness: 1px; }
html body #chapters .room-navigation :is(a,button) { min-height: 44px; }
html body #chapters .chapter-strip .chapter-strip-tools > :is(button,a) { min-height: 44px; font-family: var(--body); font-size: 16px; letter-spacing: 0; text-transform: none; text-decoration: underline; text-underline-offset: .2em; }
html body #chapters .chapter-strip-tools .cs-echo-copy { font-size: inherit; letter-spacing: 0; text-transform: none; }
html body .cover .cover-author .cover-title { font-size: 2rem; margin-bottom: .5em; }
html body :is(.exhibition-map,.study-drawer) > summary { font-weight: 600; }
html body :is(.exhibition-map,.study-drawer) > summary > :not(:last-child) { text-decoration: underline; text-underline-offset: .2em; text-decoration-thickness: 1px; }
html body .exhibition-map[open] > summary > :last-child { transform: rotate(45deg); }
html body :is(.cover,.idea-routes,.exhibition-map,#chapters .chapter-strip-tools,#chapters .room-navigation,#chapters .study-drawer) :is(a,button,summary):focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
html body .cover :is(a,button):focus-visible { outline-color: var(--cover-ink); }
html body #chapters .room-navigation :is(a,button):focus-visible { outline-color: var(--room-ink); }
@media print {
  html body .cover { display: block; }
  html body .exhibition-entrance { display: block; }
  html body .exhibition-entrance > p:not(.exhibition-kicker), html body .cover-hero-media { margin-top: 0; }
}
