.identity-band {
  color: var(--white);
  background: var(--ink);
  border-top: 1px solid rgba(255,255,255,0.16);
  border-bottom: 1px solid rgba(255,255,255,0.16);
}
.identity-inner {
  max-width: var(--max);
  margin: auto;
  padding: 1.25rem var(--pad);
  display: grid;
  grid-template-columns: 1.2fr 1.2fr 1fr 0.8fr;
}
.identity-item {
  min-width: 0;
  padding: 0.4rem 1.25rem;
  border-left: 1px solid rgba(255,255,255,0.18);
}
.identity-item:first-child { padding-left: 0; border-left: 0; }
.identity-item:last-child { padding-right: 0; }
.identity-item > span {
  display: block;
  margin-bottom: 0.35rem;
  color: var(--acid);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.identity-item strong { display: block; font: 400 1rem/1.25 var(--serif); }
.identity-item small { display: block; margin-top: 0.3rem; color: rgba(255,255,255,0.64); font-size: 0.7rem; line-height: 1.4; }
.identity-item a { color: inherit; text-underline-offset: 0.2rem; }
.identity-item .identity-primary { text-decoration: none; }
.identity-item .identity-primary:hover,
.identity-item .identity-primary:focus-visible { color: var(--acid); }

a.map-node { color: var(--ink); text-decoration: none; transition: transform 180ms ease, box-shadow 180ms ease; }
a.map-node::after { content: "Explore ↗"; display: block; margin-top: 0.8rem; color: var(--ink); font-size: 0.68rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; }
html[lang^="zh"] a.map-node::after { content: "深入了解 ↗"; }
a.map-node:hover, a.map-node:focus-visible { transform: translateY(-0.3rem); box-shadow: 0 1.2rem 3rem rgba(20,52,47,0.14); }

.updates { background: var(--paper-2); }
.updates-head {
  margin: 4rem 0 3rem;
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 4rem;
  align-items: end;
}
.updates-head h2 { margin: 0; font: 400 clamp(3.2rem, 6.4vw, 7rem)/0.92 var(--serif); letter-spacing: -0.065em; }
.updates-head h2 em { color: var(--coral); font-weight: 400; }
.updates-head p { max-width: 38rem; margin: 0; justify-self: end; color: var(--ink-2); line-height: 1.7; }
.updates-layout { display: grid; grid-template-columns: 1fr minmax(17rem, 0.34fr); gap: 3rem; align-items: start; }
.updates-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--rule); border-left: 1px solid var(--rule); }
.update-card { min-width: 0; padding: 1.6rem; border-right: 1px solid var(--rule); border-bottom: 1px solid var(--rule); background: rgba(255,255,255,0.38); }
.update-meta { display: flex; justify-content: space-between; gap: 1rem; color: var(--ink-2); font-size: 0.7rem; font-weight: 750; text-transform: uppercase; letter-spacing: 0.06em; }
.update-meta span { color: var(--coral); }
.update-card h3 { margin: 2rem 0 0.85rem; font: 400 clamp(1.25rem, 2vw, 1.7rem)/1.14 var(--serif); overflow-wrap: anywhere; }
.update-card p { margin: 0; color: var(--ink-2); font-size: 0.84rem; line-height: 1.6; }
.update-card > a { display: inline-block; margin-top: 1.3rem; font-size: 0.72rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.06em; text-underline-offset: 0.25rem; }
.public-resources { padding: 1.8rem; color: var(--white); background: var(--ink); }
.public-resources > span { color: var(--acid); font-size: 0.68rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; }
.public-resources h3 { margin: 1.2rem 0 0.8rem; font: 400 2rem/1.05 var(--serif); }
.public-resources p { color: rgba(255,255,255,0.7); font-size: 0.82rem; line-height: 1.6; }
.resource-links { display: grid; margin-top: 1.4rem; border-top: 1px solid rgba(255,255,255,0.2); }
.resource-links a { padding: 0.85rem 0; border-bottom: 1px solid rgba(255,255,255,0.2); color: var(--acid); font-size: 0.74rem; text-decoration: none; }
.resource-links a:hover, .resource-links a:focus-visible { color: var(--white); }
.public-resources small { display: block; margin-top: 1.4rem; color: rgba(255,255,255,0.55); font-size: 0.7rem; line-height: 1.5; }

.phase-story { min-width: 0; }
.phase-story > p { margin: 0; color: var(--ink-2); line-height: 1.6; }
.phase-milestones { margin: 1rem 0 0; padding: 0; list-style: none; }
.phase-milestones li + li { margin-top: 0.55rem; }
.phase-milestones a { display: grid; grid-template-columns: 3.6rem 1fr; gap: 0.7rem; color: var(--ink-2); font-size: 0.74rem; line-height: 1.45; text-decoration: none; }
.phase-milestones time { color: var(--coral); font-weight: 800; }
.phase-milestones a:hover span, .phase-milestones a:focus-visible span { color: var(--ink); text-decoration: underline; text-underline-offset: 0.2rem; }

.theme-page { min-height: 100vh; }
.theme-header { position: static; border-bottom: 1px solid var(--rule); }
.theme-main { overflow: hidden; }
.theme-hero { padding-top: clamp(5rem, 9vw, 8rem); padding-bottom: clamp(4rem, 7vw, 7rem); }
.theme-breadcrumb { margin: 0 0 3rem; color: var(--ink-2); font-size: 0.74rem; }
.theme-breadcrumb a { text-underline-offset: 0.2rem; }
.theme-hero-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(18rem, 0.9fr); gap: clamp(3rem, 8vw, 9rem); align-items: end; }
.theme-number { color: var(--coral); font: 400 1.15rem var(--serif); }
.theme-hero h1 { max-width: 12ch; margin: 1.3rem 0 1.8rem; font: 400 clamp(4rem, 9vw, 9rem)/0.85 var(--serif); letter-spacing: -0.07em; }
.theme-hero h1 em { color: var(--coral); font-weight: 400; }
.theme-deck { max-width: 45rem; margin: 0; color: var(--ink-2); font-size: clamp(1rem, 1.5vw, 1.2rem); line-height: 1.7; }
.theme-question { padding: 2rem; color: var(--white); background: var(--ink); }
.theme-question span { color: var(--acid); font-size: 0.68rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.theme-question strong { display: block; margin-top: 1rem; font: 400 clamp(1.6rem, 3vw, 2.7rem)/1.08 var(--serif); }
.theme-evidence { background: var(--white); }
.theme-facts { margin-top: 4rem; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--rule); border-left: 1px solid var(--rule); }
.theme-fact { padding: 1.5rem; border-right: 1px solid var(--rule); border-bottom: 1px solid var(--rule); }
.theme-fact span { color: var(--coral); font-size: 0.68rem; font-weight: 800; letter-spacing: 0.07em; text-transform: uppercase; }
.theme-fact h2 { margin: 1.2rem 0 0.7rem; font: 400 1.65rem/1.06 var(--serif); }
.theme-fact p { margin: 0; color: var(--ink-2); font-size: 0.82rem; line-height: 1.6; }
.theme-papers-head { display: grid; grid-template-columns: 1fr 0.8fr; gap: 4rem; margin-bottom: 3rem; align-items: end; }
.theme-papers-head h2 { margin: 0; font: 400 clamp(3rem, 5vw, 5.8rem)/0.92 var(--serif); letter-spacing: -0.05em; }
.theme-papers-head p { margin: 0; color: var(--ink-2); line-height: 1.6; }
.theme-paper-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--rule); border-left: 1px solid var(--rule); }
.theme-paper { padding: 1.6rem; border-right: 1px solid var(--rule); border-bottom: 1px solid var(--rule); background: rgba(255,255,255,0.45); }
.theme-paper-meta { display: flex; justify-content: space-between; gap: 1rem; color: var(--coral); font-size: 0.72rem; font-weight: 800; }
.theme-paper h3 { margin: 1.5rem 0 0.8rem; font: 400 1.45rem/1.16 var(--serif); overflow-wrap: anywhere; }
.theme-paper p { margin: 0; color: var(--ink-2); font-size: 0.8rem; line-height: 1.55; }
.theme-paper a { display: inline-block; margin-top: 1rem; font-size: 0.72rem; font-weight: 800; text-underline-offset: 0.22rem; }
.theme-method { color: var(--white); background: var(--ink); }
.theme-method-grid { display: grid; grid-template-columns: 0.75fr 1.25fr; gap: clamp(3rem, 8vw, 8rem); }
.theme-method h2 { margin: 0; font: 400 clamp(2.7rem, 5vw, 5rem)/0.95 var(--serif); }
.theme-method p { margin: 0; color: rgba(255,255,255,0.7); line-height: 1.75; }
.theme-method a { color: var(--acid); }

@media (max-width: 1000px) {
  .identity-inner { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .identity-item:nth-child(3) { padding-left: 0; border-left: 0; }
  .identity-item:nth-child(n+3) { margin-top: 1rem; }
  .updates-layout, .theme-hero-grid, .theme-method-grid { grid-template-columns: 1fr; }
  .updates-head, .theme-papers-head { grid-template-columns: 1fr; gap: 1.5rem; }
  .updates-head p { justify-self: start; }
  .theme-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 600px) {
  .identity-inner, .updates-list, .theme-facts, .theme-paper-list { grid-template-columns: 1fr; }
  .identity-item, .identity-item:nth-child(3) { margin: 0; padding: 0.9rem 0; border-left: 0; border-top: 1px solid rgba(255,255,255,0.16); }
  .identity-item:first-child { border-top: 0; }
  .phase-story { grid-column: 1 / -1; }
  .phase-milestones a { grid-template-columns: 3.2rem 1fr; }
  .theme-hero h1 { max-width: none; }
}

@media print {
  .site-header, .hero-visual, .hero-actions, .pub-actions, .publication-tools, .topic-filters, .load-more, .language-switch { display: none !important; }
  body { color: #000; background: #fff; }
  .section-pad { padding: 2rem 0; }
  .reveal, html.js .reveal { opacity: 1 !important; transform: none !important; }
  a { color: #000; text-decoration: none; }
  .selected, .record, .theme-method, .identity-band { color: #000; background: #fff; }
}

@media (max-width: 600px) {
  html[lang^="zh"] .updates-head h2 { font-size: 2.65rem; }
}

.source-availability-note {
  max-width: 66rem;
  margin: 1.35rem 0 0;
  padding-left: 1rem;
  border-left: 2px solid var(--coral);
  color: var(--ink-2);
  font-size: 0.76rem;
  line-height: 1.6;
}
.source-availability-note strong { color: var(--ink); }
.source-availability-note a { color: var(--ink); text-underline-offset: 0.2rem; }

/* One-minute bilingual research film */
.film {
  color: var(--white);
  background:
    radial-gradient(circle at 82% 14%, rgba(213,255,75,0.11), transparent 24rem),
    linear-gradient(145deg, #0b2823, var(--ink));
}
.film-head {
  margin: 4rem 0 2.5rem;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(18rem, 0.65fr);
  gap: clamp(2rem, 7vw, 8rem);
  align-items: end;
}
.film-head h2 {
  margin: 0;
  font: 400 clamp(3.2rem, 7vw, 7.6rem)/0.9 var(--serif);
  letter-spacing: -0.06em;
}
.film-head h2 em { color: var(--acid); font-weight: 400; }
.film-intro p { margin: 0; color: rgba(255,255,255,0.78); line-height: 1.7; }
.film-intro .film-scope {
  margin-top: 1.2rem;
  color: var(--acid);
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.07em;
  line-height: 1.5;
  text-transform: uppercase;
}
.film-player { margin: 0; }
.film-player video {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  border: 1px solid rgba(255,255,255,0.18);
  border-radius: 0.4rem;
  background: #061512;
  box-shadow: 0 2.5rem 6rem rgba(0,0,0,0.28);
}
.film-player figcaption {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin-top: 1px;
  background: rgba(255,255,255,0.18);
}
.film-player figcaption span {
  padding: 1rem 1.2rem;
  color: rgba(255,255,255,0.72);
  background: var(--ink);
  font-size: 0.7rem;
  font-weight: 750;
  letter-spacing: 0.055em;
  line-height: 1.4;
  text-transform: uppercase;
}
@media (max-width: 1000px) {
  .film-head { grid-template-columns: 1fr; gap: 1.5rem; }
}
@media (max-width: 600px) {
  .film-player figcaption { grid-template-columns: 1fr; }
}
@media print {
  .film-player { display: none !important; }
}
