.acta-room-hero {
  background:
    radial-gradient(circle at 92% 0, rgba(209, 172, 86, .22), transparent 34rem),
    linear-gradient(145deg, #10242b 0%, #173840 68%, #1d4750 100%);
  color: #f8f5ed;
  padding: clamp(3.5rem, 8vw, 7rem) 0 3rem;
}

.acta-room-hero .eyebrow,
.acta-room-hero .lead { color: #e8eee9; }

.acta-room-hero-grid {
  align-items: end;
  display: grid;
  gap: 2rem;
  grid-template-columns: minmax(0, 1.6fr) minmax(18rem, .8fr);
}

.acta-room-hero h1 {
  color: #fff;
  font-size: clamp(2.35rem, 5.8vw, 5rem);
  letter-spacing: -.045em;
  line-height: .96;
  margin: .5rem 0 1.25rem;
  max-width: 14ch;
}

.acta-room-rule {
  background: rgba(6, 20, 24, .46);
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 1rem;
  box-shadow: 0 1.25rem 3rem rgba(1, 12, 15, .24);
  padding: 1.25rem;
}

.acta-room-rule strong,
.acta-room-rule span { display: block; }
.acta-room-rule strong { color: #f2d38a; margin-bottom: .45rem; }
.acta-room-rule span { color: #eef3ef; font-size: .92rem; line-height: 1.55; }

.acta-room-boundary {
  background: #fff9e9;
  border: 1px solid #e4ca82;
  border-left: .35rem solid #aa7419;
  border-radius: .8rem;
  color: #392c15;
  margin: 1.5rem 0;
  padding: 1rem 1.15rem;
}

.acta-room-boundary strong { color: #69450c; }

.acta-perimeter-legend {
  display: grid;
  gap: .65rem;
  grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
  margin: 1rem 0 1.5rem;
}

.acta-perimeter-chip,
.acta-perimeter-ribbon {
  border: 1px solid #ccd7d2;
  border-left: .4rem solid #6f7c80;
  border-radius: .7rem;
  display: grid;
  gap: .25rem;
  padding: .75rem .85rem;
}

.acta-perimeter-chip strong,
.acta-perimeter-ribbon strong { color: #173840; font-size: .82rem; }
.acta-perimeter-chip span,
.acta-perimeter-ribbon span { color: #52676e; font-size: .76rem; line-height: 1.4; }

[data-perimeter="pre_sale_montelanza"] { --perimeter-colour: #446b92; --perimeter-bg: #eef5fb; }
[data-perimeter="project_lpb_aweswell_gil"] { --perimeter-colour: #157465; --perimeter-bg: #eaf7f3; }
[data-perimeter="adverse_montelanza_molina"] { --perimeter-colour: #a34f2d; --perimeter-bg: #fff1e9; }
[data-perimeter="adverse_acosta_matos"] { --perimeter-colour: #913640; --perimeter-bg: #fff0f2; }
[data-perimeter="mixed_or_contested"] { --perimeter-colour: #70549c; --perimeter-bg: #f5f0fb; }
[data-perimeter="unresolved"] { --perimeter-colour: #68767b; --perimeter-bg: #f2f5f5; }

/*
 * Perimeter colour is deliberately paired with a printed code and label.
 * Mixed and unresolved records also use different border/pattern treatments,
 * so their meaning survives monochrome printing and colour-vision variation.
 */
.acta-perimeter-code {
  background: var(--perimeter-colour, #52676e);
  border: 1px solid rgba(0, 0, 0, .16);
  border-radius: .3rem;
  color: #fff;
  display: inline-block;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .035em;
  line-height: 1;
  margin-right: .28rem;
  padding: .27rem .38rem;
  text-transform: uppercase;
  vertical-align: .08rem;
}

.acta-lane-badge {
  align-items: center;
  background: var(--perimeter-bg, #f2f5f5);
  border: 1px solid var(--perimeter-colour, #68767b);
  border-radius: 999px;
  color: #173840;
  display: inline-flex;
  flex-wrap: wrap;
  font-size: .75rem;
  font-weight: 750;
  gap: .38rem;
  line-height: 1.25;
  max-width: 100%;
  padding: .28rem .55rem .28rem .32rem;
}

.acta-lane-badge b {
  background: var(--perimeter-colour, #52676e);
  border-radius: 999px;
  color: #fff;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: .7rem;
  letter-spacing: .035em;
  padding: .22rem .38rem;
}

[data-perimeter="mixed_or_contested"].acta-perimeter-chip,
[data-perimeter="mixed_or_contested"].acta-perimeter-ribbon,
[data-perimeter="mixed_or_contested"].acta-lane-badge,
[data-perimeter="mixed_or_contested"].acta-document-card,
[data-perimeter="mixed_or_contested"].acta-related-marker {
  background-image: repeating-linear-gradient(135deg, transparent 0, transparent 9px, rgba(112, 84, 156, .08) 9px, rgba(112, 84, 156, .08) 17px);
}

[data-perimeter="unresolved"].acta-perimeter-chip,
[data-perimeter="unresolved"].acta-perimeter-ribbon,
[data-perimeter="unresolved"].acta-lane-badge,
[data-perimeter="unresolved"].acta-document-card,
[data-perimeter="unresolved"].acta-related-marker {
  border-style: dashed;
}

.acta-perimeter-chip[data-perimeter],
.acta-perimeter-ribbon[data-perimeter] {
  background-color: var(--perimeter-bg);
  border-left-color: var(--perimeter-colour);
}

.acta-room-controls {
  align-items: end;
  background: #fff;
  border: 1px solid #dce4df;
  border-radius: 1rem;
  box-shadow: 0 .7rem 2rem rgba(17, 44, 52, .08);
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(15rem, 1.4fr) minmax(11rem, .8fr) auto;
  margin: 1.4rem 0 1rem;
  padding: 1rem;
  position: sticky;
  top: .75rem;
  z-index: 6;
}

.acta-room-field { display: grid; gap: .35rem; }
.acta-room-field label { color: #31454b; font-size: .78rem; font-weight: 750; letter-spacing: .055em; text-transform: uppercase; }
.acta-room-field input,
.acta-room-field select {
  background: #f7faf8;
  border: 1px solid #bdcbc5;
  border-radius: .65rem;
  color: #142a31;
  font: inherit;
  min-height: 2.8rem;
  padding: .6rem .75rem;
  width: 100%;
}

.acta-room-field input:focus,
.acta-room-field select:focus,
.acta-room-toggle:focus-visible,
.acta-room-actions a:focus-visible {
  outline: .2rem solid #c68e24;
  outline-offset: .15rem;
}

.acta-room-count {
  align-items: center;
  color: #42575d;
  display: flex;
  font-size: .9rem;
  justify-content: flex-end;
  min-height: 2.8rem;
  white-space: nowrap;
}

.acta-room-stats {
  display: grid;
  gap: .75rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: 1.2rem;
}

.acta-room-stat {
  background: #edf4f0;
  border: 1px solid #d4e1db;
  border-radius: .8rem;
  padding: .9rem 1rem;
}

.acta-room-stat span,
.acta-room-stat strong { display: block; }
.acta-room-stat span { color: #607178; font-size: .75rem; letter-spacing: .05em; text-transform: uppercase; }
.acta-room-stat strong { color: #173840; font-size: 1.65rem; margin-top: .15rem; }

.acta-room-list { display: grid; gap: 1rem; }

.acta-event-hero {
  background: linear-gradient(145deg, #10242b, #1c4851);
  color: #fff;
  padding: clamp(3rem, 7vw, 6rem) 0 2.5rem;
}

.acta-event-hero-grid {
  align-items: end;
  display: grid;
  gap: 2rem;
  grid-template-columns: minmax(0, 1.45fr) minmax(17rem, .55fr);
}

.acta-event-hero h1 { color: #fff; font-size: clamp(2.2rem, 5vw, 4.3rem); letter-spacing: -.04em; line-height: 1; margin: .5rem 0 1rem; }
.acta-event-hero .lead { color: #e6f0ed; }
.acta-event-hero .acta-perimeter-ribbon strong { color: #10242b; }
.acta-event-hero .acta-perimeter-ribbon span { color: #30464d; }
.acta-event-narrow { max-width: 1040px; }

.acta-fact-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-bottom: 1rem;
}

.acta-fact-grid article,
.acta-convener,
.acta-basis,
.acta-source-gap {
  background: #fff;
  border: 1px solid #d9e2de;
  border-radius: .85rem;
  padding: 1rem 1.1rem;
}

.acta-fact-grid span { color: #607178; display: block; font-size: .74rem; letter-spacing: .05em; margin-bottom: .35rem; text-transform: uppercase; }
.acta-fact-grid strong { color: #173840; }
.acta-convener,
.acta-basis { margin: 1rem 0; }
.acta-convener h2,
.acta-basis h2 { font-size: 1.2rem; margin: 0 0 .55rem; }
.acta-convener p,
.acta-basis p { margin: 0; }

.acta-lineage-facts {
  display: grid;
  gap: .8rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 1rem 0;
}

.acta-lineage-facts article {
  background: #f8faf9;
  border: 1px solid #d9e2de;
  border-top: .22rem solid var(--perimeter-colour, #68767b);
  border-radius: .75rem;
  min-width: 0;
  padding: .9rem 1rem;
}

.acta-lineage-facts span {
  color: #53676d;
  display: block;
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .055em;
  margin-bottom: .35rem;
  text-transform: uppercase;
}

.acta-lineage-facts strong {
  color: #173840;
  font-size: .88rem;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

/* Principal Owners' Community lineages above the six evidential subtypes. */
[data-principal-lineage="A"] { --principal-colour: #315f8a; --principal-bg: #eaf3fb; }
[data-principal-lineage="B"] { --principal-colour: #0f7564; --principal-bg: #e7f7f2; }
[data-principal-lineage="C"] { --principal-colour: #963f32; --principal-bg: #fff0ec; }
[data-principal-lineage="D"] { --principal-colour: #684f91; --principal-bg: #f3eff9; }

.acta-principal-legend {
  display: grid;
  gap: .75rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 1rem 0;
}

.acta-principal-lineage {
  background: var(--principal-bg, #f4f6f6);
  border: 1px solid #cbd8d3;
  border-left: .48rem solid var(--principal-colour, #68767b);
  border-radius: .75rem;
  display: grid;
  gap: .32rem;
  padding: .85rem 1rem;
}

[data-principal-lineage="C"].acta-principal-lineage {
  border-left-color: #a34f2d;
  box-shadow: inset -.35rem 0 0 #913640;
}

[data-principal-lineage="D"].acta-principal-lineage {
  background-image: repeating-linear-gradient(135deg, transparent 0, transparent 9px, rgba(104, 79, 145, .08) 9px, rgba(104, 79, 145, .08) 17px);
  border-style: dashed;
}

.acta-principal-lineage strong { color: #173840; font-size: .9rem; }
.acta-principal-lineage span { color: #4d6268; font-size: .78rem; line-height: 1.48; }

.acta-owner-role-control {
  background: #fff;
  border: 1px solid #d4dfda;
  border-radius: .9rem;
  margin: 1rem 0;
  padding: 1.05rem;
}

.acta-owner-role-control > header h2 { color: #173840; font-size: 1.25rem; margin: .15rem 0 .8rem; }

.acta-owner-role-grid {
  display: grid;
  gap: .75rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: .9rem;
}

.acta-owner-role-grid article {
  background: #f8faf9;
  border: 1px solid #d8e2de;
  border-top: .23rem solid var(--principal-colour, #68767b);
  border-radius: .72rem;
  padding: .9rem;
}

.acta-owner-role-grid article[data-role-status="unresolved"],
.acta-owner-role-grid article[data-role-status="unlocated"],
.acta-owner-role-grid article[data-role-status="open"] { border-top-style: dashed; }
.acta-owner-role-grid span { color: #53676d; display: block; font-size: .7rem; font-weight: 850; letter-spacing: .055em; margin-bottom: .38rem; text-transform: uppercase; }
.acta-owner-role-grid strong { color: #173840; display: block; font-size: .88rem; line-height: 1.48; }
.acta-owner-role-grid small,
.acta-role-table small { color: #65767b; display: block; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: .65rem; margin-top: .45rem; overflow-wrap: anywhere; }

.acta-owner-role-overview {
  background: #fbfcfb;
  border: 1px solid #d8e2de;
  border-radius: .9rem;
  margin: 1.25rem 0;
  padding: 1rem;
}

.acta-role-table-wrap { border: 1px solid #d6e0db; border-radius: .8rem; overflow-x: auto; }
.acta-role-table { border-collapse: collapse; min-width: 82rem; width: 100%; }
.acta-role-table th,
.acta-role-table td { border-bottom: 1px solid #dbe4e0; color: #294147; font-size: .76rem; line-height: 1.45; padding: .72rem; text-align: left; vertical-align: top; }
.acta-role-table thead th { background: #173840; color: #fff; font-size: .68rem; letter-spacing: .04em; position: sticky; text-transform: uppercase; top: 0; }
.acta-role-table tbody th { background: var(--principal-bg, #f4f6f6); border-left: .4rem solid var(--principal-colour, #68767b); min-width: 12rem; }
.acta-role-table tbody tr[data-principal-lineage="D"] th { border-left-style: dashed; }
.acta-role-table a { color: #174e62; font-weight: 800; }
.acta-phase-code { background: var(--principal-colour, #68767b); border-radius: .25rem; color: #fff; display: inline-block; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: .67rem; margin-top: .45rem; padding: .2rem .35rem; }

.acta-document-chain {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 21rem), 1fr));
}

.acta-document-card {
  background: var(--perimeter-bg, #fff);
  border: 1px solid #d5dfda;
  border-left: .35rem solid var(--perimeter-colour, #68767b);
  border-radius: .85rem;
  min-width: 0;
  padding: 1rem;
}

.acta-document-card > header {
  align-items: flex-start;
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  justify-content: space-between;
}

.acta-document-stage {
  background: #fff;
  border: 1px solid #bccbc5;
  border-radius: 999px;
  color: #354d54;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .045em;
  padding: .3rem .5rem;
  text-transform: uppercase;
}

.acta-document-id {
  color: #52676e;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: .72rem;
  overflow-wrap: anywhere;
}

.acta-document-card h3 {
  color: #173840;
  font-size: 1.05rem;
  line-height: 1.35;
  margin: .65rem 0;
}

.acta-document-card dl { display: grid; gap: .5rem; margin: 0; }
.acta-document-card dl > div { border-top: 1px solid rgba(82, 103, 110, .2); padding-top: .5rem; }
.acta-document-card dt { color: #53676d; font-size: .68rem; font-weight: 800; letter-spacing: .045em; text-transform: uppercase; }
.acta-document-card dd { color: #263f46; font-size: .8rem; line-height: 1.45; margin: .18rem 0 0; overflow-wrap: anywhere; }

.acta-continuity-wrap {
  background: #fff;
  border: 1px solid #d6e0db;
  border-radius: .85rem;
  overflow-x: auto;
}

.acta-continuity-table { border-collapse: collapse; min-width: 42rem; width: 100%; }
.acta-continuity-table th,
.acta-continuity-table td { border-bottom: 1px solid #e0e7e3; padding: .72rem .85rem; text-align: left; vertical-align: top; }
.acta-continuity-table tr:last-child > * { border-bottom: 0; }
.acta-continuity-table th { background: #edf4f0; color: #173840; font-size: .76rem; line-height: 1.35; width: 13rem; }
.acta-continuity-table td { color: #354b52; font-size: .83rem; line-height: 1.5; }

.acta-analysis-stats {
  display: grid;
  gap: .85rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 1.25rem 0;
}

.acta-analysis-stats article,
.acta-two-basket article {
  background: #fff;
  border: 1px solid #d5dfda;
  border-radius: .85rem;
  padding: 1rem;
}

.acta-analysis-stats span,
.acta-analysis-stats strong { display: block; }
.acta-analysis-stats span { color: #64757a; font-size: .72rem; font-weight: 750; letter-spacing: .055em; text-transform: uppercase; }
.acta-analysis-stats strong { color: #173840; font-size: 1.35rem; margin: .25rem 0 .45rem; }
.acta-analysis-stats p { color: #41565d; font-size: .84rem; line-height: 1.5; margin: 0; }

.acta-two-basket {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 1.25rem 0;
}

.acta-two-basket article:first-child { border-top: .3rem solid #27734d; }
.acta-two-basket article:last-child { border-top: .3rem solid #9a493f; }
.acta-two-basket h3 { color: #173840; font-size: 1.12rem; margin: 0 0 .55rem; }
.acta-two-basket p { margin: 0; }
.acta-actor-table small { color: #607178; }

.acta-criminal-boundary {
  background: #fff8e5;
  border: 1px solid #e3c978;
  border-left: .35rem solid #a87318;
  border-radius: .8rem;
  color: #3d3017;
  line-height: 1.6;
  margin: 1.25rem 0;
  padding: 1rem 1.15rem;
}

.acta-criminal-boundary strong { color: #6c480b; }

.acta-full-ocr {
  background: #f8faf9;
  border: 1px solid #d8e1dc;
  border-radius: .85rem;
  color: #1b3037;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: .84rem;
  line-height: 1.55;
  max-height: 70vh;
  overflow: auto;
  padding: 1.1rem;
  white-space: pre-wrap;
}

.acta-source-gallery {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
}

.acta-source-page {
  background: #fff;
  border: 1px solid #d4ded9;
  border-radius: .75rem;
  color: #26434b;
  display: grid;
  gap: .5rem;
  overflow: hidden;
  padding: .55rem;
  text-decoration: none;
}

.acta-source-page img { aspect-ratio: 1 / 1.3; background: #eef2ef; object-fit: contain; width: 100%; }
.acta-source-page span { font-size: .8rem; font-weight: 750; padding: 0 .2rem .2rem; }
.acta-related { columns: 2; }
.acta-related-marker {
  align-items: flex-start;
  background: var(--perimeter-bg, #f2f5f5);
  border: 1px solid #d5dfda;
  border-left: .28rem solid var(--perimeter-colour, #68767b);
  border-radius: .65rem;
  break-inside: avoid;
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  margin: 0 0 .65rem;
  padding: .65rem;
}
.acta-related-marker > a { flex: 1 1 12rem; font-weight: 750; padding-top: .25rem; }
.acta-prev-next { border-block: 1px solid #d8e1dc; display: flex; gap: 1rem; justify-content: space-between; margin: 1.2rem 0; padding: 1rem 0; }

.acta-record {
  background: #fff;
  border: 1px solid #d8e1dc;
  border-radius: 1rem;
  box-shadow: 0 .55rem 1.8rem rgba(15, 42, 49, .07);
  overflow: clip;
}

.acta-record[data-perimeter] { box-shadow: inset .34rem 0 0 var(--perimeter-colour), 0 .55rem 1.8rem rgba(15, 42, 49, .07); }
.acta-record .acta-perimeter-ribbon { margin-bottom: .85rem; }

.acta-record[data-state="located-package-complete-public"] { border-left: .35rem solid #27734d; }
.acta-record[data-state="located-package-partial"] { border-left: .35rem solid #b17a18; }
.acta-record[data-state="referenced-original-not-located"],
.acta-record[data-state="no-acta-located"] { border-left: .35rem solid #a4473e; }
.acta-record[data-state="non-acta-event"] { border-left: .35rem solid #54748c; }

.acta-record-head {
  align-items: start;
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 1.2rem 1.25rem 1rem;
}

.acta-record-meta {
  align-items: center;
  color: #5b6e73;
  display: flex;
  flex-wrap: wrap;
  font-size: .78rem;
  gap: .45rem .75rem;
  letter-spacing: .04em;
  margin-bottom: .4rem;
  text-transform: uppercase;
}

.acta-record-id {
  background: #eef3f0;
  border-radius: .35rem;
  color: #294149;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  padding: .2rem .4rem;
  text-transform: none;
}

.acta-record h2 {
  color: #17333b;
  font-size: clamp(1.25rem, 2.8vw, 1.75rem);
  letter-spacing: -.02em;
  line-height: 1.15;
  margin: 0;
}

.acta-status {
  border: 1px solid currentColor;
  border-radius: 999px;
  display: inline-flex;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .045em;
  line-height: 1.1;
  max-width: 16rem;
  padding: .45rem .65rem;
  text-align: center;
  text-transform: uppercase;
}

.acta-status.complete { background: #e7f5ec; color: #246845; }
.acta-status.partial { background: #fff6dd; color: #835a0e; }
.acta-status.missing { background: #fff0ee; color: #933e37; }
.acta-status.event { background: #edf4f8; color: #415f74; }

.acta-record-body {
  border-top: 1px solid #e2e8e4;
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(0, 1.35fr) minmax(15rem, .65fr);
  padding: 1rem 1.25rem 1.25rem;
}

.acta-record-summary { color: #354b52; line-height: 1.62; margin: 0; }
.acta-record-note { color: #68797e; font-size: .86rem; line-height: 1.5; margin: .7rem 0 0; }

.acta-record-availability {
  background: #f5f8f6;
  border: 1px solid #e0e7e3;
  border-radius: .7rem;
  display: grid;
  gap: .4rem;
  padding: .8rem .9rem;
}

.acta-record-availability div {
  align-items: baseline;
  display: flex;
  gap: .6rem;
  justify-content: space-between;
}

.acta-record-availability span { color: #66777c; font-size: .78rem; }
.acta-record-availability strong { color: #243d44; font-size: .82rem; text-align: right; }

.acta-room-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  margin-top: 1rem;
}

.acta-room-actions a,
.acta-room-toggle {
  background: #173b43;
  border: 1px solid #173b43;
  border-radius: .55rem;
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  font: inherit;
  font-size: .82rem;
  font-weight: 750;
  line-height: 1.2;
  padding: .6rem .72rem;
  text-decoration: none;
}

.acta-room-actions a.secondary,
.acta-room-toggle { background: transparent; color: #173b43; }
.acta-room-actions a[aria-disabled="true"] { cursor: not-allowed; opacity: .5; }

.acta-preview-wrap {
  border-top: 1px solid #e2e8e4;
  padding: 0 1.25rem 1.25rem;
}

.acta-preview-grid {
  display: grid;
  gap: .8rem;
  grid-template-columns: repeat(auto-fill, minmax(9rem, 1fr));
  margin-top: 1rem;
}

.acta-preview-grid[hidden] { display: none; }
.acta-preview {
  background: #edf1ee;
  border: 1px solid #d5ddd8;
  border-radius: .5rem;
  color: #30464c;
  overflow: hidden;
  text-decoration: none;
}

.acta-preview img { aspect-ratio: .707; display: block; object-fit: cover; width: 100%; }
.acta-preview span { display: block; font-size: .75rem; padding: .45rem .55rem; }

.acta-room-empty {
  background: #fff;
  border: 1px dashed #aabbb4;
  border-radius: 1rem;
  color: #4e6268;
  padding: 2rem;
  text-align: center;
}

.acta-room-noscript { background: #fff3d4; border: 1px solid #d9ad4f; border-radius: .75rem; color: #60420b; padding: 1rem; }

.acta-gap-grid { display: grid; gap: 1rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.acta-gap-grid article { background: #fff; border: 1px solid #e0d5d1; border-radius: .8rem; padding: 1rem; }
.acta-gap-grid h3 { color: #7a3e37; margin-top: 0; }

/* Five-gate historical LPH lifecycle and canonical-reference control. */
.acta-lph-room-link { margin: 1rem 0 0; }
.acta-lph-event-control {
  border-top: 1px solid #d8e1dc;
  margin-top: 1.4rem;
  padding-top: 1.4rem;
}
.lph-gate-flow,
.lph-event-gates {
  display: grid;
  gap: .75rem;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.lph-gate-flow article,
.lph-event-gates article,
.lph-version-grid article {
  background: #fff;
  border: 1px solid #d8e1dc;
  border-radius: .8rem;
  min-width: 0;
  padding: .9rem;
}
.lph-gate-flow article { position: relative; }
.lph-gate-flow article:not(:last-child)::after {
  color: #65787d;
  content: "→";
  font-size: 1.25rem;
  font-weight: 900;
  position: absolute;
  right: -.65rem;
  top: 1.1rem;
  z-index: 2;
}
.lph-gate-flow h2 { font-size: 1rem; line-height: 1.2; margin: .55rem 0; }
.lph-gate-flow p { color: #465b61; font-size: .83rem; line-height: 1.45; }
.lph-gate-flow small,
.lph-event-gates small { color: #53686d; font-weight: 750; }
.lph-gate-code,
.lph-status-code {
  align-items: center;
  background: #183d45;
  border-radius: 999px;
  color: #fff;
  display: inline-flex;
  font: 800 .75rem/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  justify-content: center;
  min-height: 1.85rem;
  min-width: 1.85rem;
  padding: .35rem;
}
.lph-event-gates article { border-top: .34rem solid var(--lph-colour, #6b7478); }
.lph-event-gates header { align-items: center; display: flex; gap: .45rem; }
.lph-event-gates header strong { flex: 1; font-size: .86rem; line-height: 1.25; }
.lph-event-gates p { color: #40565c; font-size: .82rem; line-height: 1.46; }
.lph-evidence-links { display: flex; flex-wrap: wrap; gap: .28rem; margin-top: .6rem; }
.lph-evidence-links a { overflow-wrap: anywhere; }
.lph-evidence-links code { font-size: .68rem; }

[data-lph-status="facial-concern"] { --lph-colour: #b53e31; --lph-bg: #fff0ed; --lph-text: #7f271e; }
[data-lph-status="contested"] { --lph-colour: #a96900; --lph-bg: #fff5d9; --lph-text: #704700; }
[data-lph-status="located-open"] { --lph-colour: #266b8d; --lph-bg: #eaf5fa; --lph-text: #1d526c; }
[data-lph-status="unlocated"] { --lph-colour: #616b70; --lph-bg: #eef1f2; --lph-text: #3f4a4f; }
[data-lph-status="reference-only"] { --lph-colour: #704a91; --lph-bg: #f3ecfa; --lph-text: #54366f; }
[data-lph-status="not-applicable"] { --lph-colour: #819096; --lph-bg: #f4f6f6; --lph-text: #536066; }
[data-lph-status] .lph-status-code { background: var(--lph-colour); }

.lph-status-legend {
  display: grid;
  gap: .65rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 1rem;
}
.lph-status-legend article {
  background: var(--lph-bg);
  border: 1px solid var(--lph-colour);
  border-left-width: .35rem;
  border-radius: .65rem;
  color: var(--lph-text);
  display: grid;
  gap: .35rem;
  grid-template-columns: auto 1fr;
  padding: .75rem;
}
.lph-status-legend article b {
  align-items: center;
  background: var(--lph-colour);
  border-radius: 999px;
  color: #fff;
  display: inline-flex;
  height: 1.85rem;
  justify-content: center;
  width: 1.85rem;
}
.lph-status-legend article span { font-size: .78rem; grid-column: 1 / -1; line-height: 1.4; }
.lph-matrix-wrap,
.lph-ledger-wrap { overflow-x: auto; padding-bottom: .35rem; }
.lph-timeline-matrix,
.lph-canonical-ledger { border-collapse: collapse; min-width: 82rem; width: 100%; }
.lph-timeline-matrix th,
.lph-timeline-matrix td,
.lph-canonical-ledger th,
.lph-canonical-ledger td {
  border: 1px solid #cfd9d5;
  padding: .7rem;
  text-align: left;
  vertical-align: top;
}
.lph-timeline-matrix thead th,
.lph-canonical-ledger thead th { background: #173b43; color: #fff; position: sticky; top: 0; }
.lph-timeline-matrix tbody th { background: #f7f9f8; min-width: 14rem; }
.lph-timeline-matrix td { background: var(--lph-bg); border-top: .28rem solid var(--lph-colour); color: var(--lph-text); min-width: 13.5rem; }
.lph-timeline-matrix td > strong { display: block; font-size: .78rem; margin: .4rem 0; }
.lph-timeline-matrix td p { color: inherit; font-size: .78rem; line-height: 1.42; }
.lph-canonical-ledger { min-width: 92rem; }
.lph-canonical-ledger tbody tr:nth-child(even) { background: #f6f8f7; }
.lph-canonical-ledger td { color: #40565c; font-size: .78rem; line-height: 1.4; }
.lph-canonical-ledger code { font-size: .72rem; overflow-wrap: anywhere; }
.lph-version-grid { display: grid; gap: .8rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.lph-version-grid p { color: #40565c; font-size: .84rem; line-height: 1.5; }

.acta-criminal-interconnect {
  background: linear-gradient(145deg, #fff7f4 0%, #f6f1f8 48%, #edf5f5 100%);
  border-block: 1px solid #dacdca;
}
.cross-grade-legend { display: flex; flex-wrap: wrap; gap: .55rem; margin-bottom: 1rem; }
.cross-grade-legend span {
  align-items: center;
  background: var(--cross-bg, #f1f4f4);
  border: 1px solid var(--cross-colour, #66767a);
  border-radius: 999px;
  color: var(--cross-text, #3e4d51);
  display: inline-flex;
  font-size: .75rem;
  gap: .4rem;
  padding: .35rem .6rem;
}
.cross-grade-legend b,
.cross-track-map article > b,
.cross-track-map header > b {
  background: var(--cross-colour, #66767a);
  border-radius: .3rem;
  color: #fff;
  font: 800 .67rem/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  padding: .28rem .34rem;
}
[data-cross-grade="direct-documentary"] { --cross-colour: #235f78; --cross-bg: #e9f4f8; --cross-text: #17495e; }
[data-cross-grade="attributed-criminal-hypothesis"] { --cross-colour: #ad3429; --cross-bg: #fff0ed; --cross-text: #7d241d; }
[data-cross-grade="reliance-open"] { --cross-colour: #a86400; --cross-bg: #fff4d5; --cross-text: #704400; }
[data-cross-grade="institutional-notice"] { --cross-colour: #67448a; --cross-bg: #f2ebf9; --cross-text: #4e336a; }
.cross-track-map { display: grid; gap: 1rem; }
.cross-track-spine {
  display: grid;
  gap: .8rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.cross-track-spine article {
  background: var(--cross-bg);
  border: 1px solid var(--cross-colour);
  border-top-width: .35rem;
  border-radius: .75rem;
  display: grid;
  gap: .55rem;
  min-width: 0;
  padding: .8rem;
  position: relative;
}
.cross-track-spine article:not(:last-child)::after {
  color: #8f2c24;
  content: "→";
  font-size: 1.35rem;
  font-weight: 900;
  position: absolute;
  right: -.72rem;
  top: 1.1rem;
  z-index: 2;
}
.cross-track-spine article strong { color: var(--cross-text); font-size: .85rem; line-height: 1.35; }
.cross-track-spine article div { display: flex; flex-wrap: wrap; gap: .25rem; }
.cross-track-spine code { font-size: .65rem; overflow-wrap: anywhere; }
.cross-track-hub {
  align-items: center;
  background: #7f271f;
  border-radius: .8rem;
  color: #fff;
  display: grid;
  gap: .35rem;
  justify-items: center;
  padding: .9rem 1rem;
  text-align: center;
}
.cross-track-hub::before { content: "↓"; font-size: 1.35rem; font-weight: 900; }
.cross-track-hub span { font-size: .84rem; max-width: 58rem; }
.cross-track-branches {
  display: grid;
  gap: .75rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.cross-track-branches article {
  background: var(--cross-bg);
  border: 1px solid var(--cross-colour);
  border-left-width: .35rem;
  border-radius: .75rem;
  min-width: 0;
  padding: .85rem;
}
.cross-track-branches header { align-items: start; display: flex; gap: .45rem; }
.cross-track-branches h3 { color: var(--cross-text); font-size: .9rem; line-height: 1.25; margin: 0; }
.cross-track-branches p { color: #43585e; font-size: .8rem; line-height: 1.45; }
.cross-track-branches a { font-size: .78rem; font-weight: 800; }

@media (max-width: 820px) {
  .acta-room-hero-grid,
  .acta-event-hero-grid,
  .acta-fact-grid,
  .acta-analysis-stats,
  .acta-two-basket,
  .acta-lineage-facts,
  .acta-principal-legend,
  .acta-owner-role-grid,
  .lph-gate-flow,
  .lph-event-gates,
  .lph-version-grid,
  .lph-status-legend,
  .cross-track-spine,
  .cross-track-branches,
  .acta-record-body { grid-template-columns: 1fr; }
  .lph-gate-flow article:not(:last-child)::after { bottom: -.72rem; content: "↓"; left: 1.15rem; right: auto; top: auto; }
  .cross-track-spine article:not(:last-child)::after { bottom: -.75rem; content: "↓"; left: 1.15rem; right: auto; top: auto; }
  .acta-room-controls { grid-template-columns: 1fr 1fr; position: static; }
  .acta-room-count { justify-content: start; }
  .acta-room-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .acta-gap-grid { grid-template-columns: 1fr; }
  .acta-related { columns: 1; }
  .acta-prev-next { align-items: flex-start; flex-direction: column; }
  .acta-event-page .nav-toggle { min-height: 2.75rem; min-width: 2.75rem; }
  .acta-event-page .main-nav.open { max-height: calc(100vh - 5.5rem); overflow-y: auto; }
}

@media (max-width: 560px) {
  .acta-room-controls,
  .acta-room-stats,
  .acta-record-head { grid-template-columns: 1fr; }
  .acta-record-head { gap: .65rem; }
  .acta-status { justify-self: start; }
  .acta-lane-badge { border-radius: .65rem; }
}

@media (prefers-reduced-motion: reduce) {
  .acta-room-controls { scroll-behavior: auto; }
}
