/* Drawing-sheet details are decorative. Evidence colors remain in RVDS. */
.product {
  position: relative;
  isolation: isolate;
}
/* The continuous sheet is visible only outside the reading column. */
.product::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: -1;
  opacity: 0.75;
  pointer-events: none;
  background-image: var(--rv-grid-field);
  background-size: var(--rv-grid-scale);
  mask-image: linear-gradient(
    90deg,
    #000,
    transparent max(24px, calc((100vw - 1200px) / 2)),
    transparent calc(100% - max(24px, calc((100vw - 1200px) / 2))),
    #000
  );
}
.search-hero:has(.vin-scene) {
  position: relative;
  isolation: isolate;
  background-color: var(--rv-canvas);
}
.search-hero:has(.vin-scene)::before {
  content: '';
  position: absolute;
  z-index: -1;
  inset: -16px -24px 40px;
  pointer-events: none;
  background-image: var(--rv-grid-field);
  background-size: var(--rv-grid-scale);
  mask-image:
    linear-gradient(90deg, transparent 28%, #000 62%, #000 96%, transparent),
    linear-gradient(transparent, #000 12%, #000 74%, transparent);
  mask-composite: intersect;
}
.vin-scene-heading {
  border-color: var(--rv-steel-line);
}
.vin-demo-caption,
.vin-strip-label {
  color: var(--rv-technical-ink);
}
.vin-strip > span {
  color: var(--rv-technical-ink);
  background: var(--rv-steel-paper);
  border-color: var(--rv-steel-line);
}
.vin-vehicle::before {
  content: '';
  position: absolute;
  inset: 18px 0 23px;
  pointer-events: none;
  z-index: -1;
  background:
    linear-gradient(#8c959066, #8c959066) left top / 13px 1px,
    linear-gradient(#8c959066, #8c959066) left top / 1px 13px,
    linear-gradient(#8c959066, #8c959066) right bottom / 13px 1px,
    linear-gradient(#8c959066, #8c959066) right bottom / 1px 13px;
  background-repeat: no-repeat;
}
.vin-vehicle::after {
  content: '';
  position: absolute;
  bottom: 18px;
  inset-inline: 12%;
  height: 5px;
  border-bottom: 1px solid #8c959033;
  background: repeating-linear-gradient(
    90deg,
    #8c959045 0 1px,
    transparent 1px 24px
  );
  pointer-events: none;
}
.archive-measure-scale {
  position: absolute;
  bottom: 25px;
  inset-inline: 12%;
  display: flex;
  justify-content: space-around;
  font: 6px/1 var(--rv-font-metadata);
  letter-spacing: 1px;
  color: var(--rv-technical-mark);
  pointer-events: none;
}
.archive-drawing-index {
  position: absolute;
  bottom: 1px;
  inset-inline: 0;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  font: 7px/1.5 var(--rv-font-metadata);
  letter-spacing: 1px;
  color: var(--rv-technical-ink);
  pointer-events: none;
}
.vin-concepts button {
  color: var(--rv-technical-ink);
  border-bottom-color: var(--rv-steel-line);
}
.vin-concepts button:hover {
  background: var(--rv-steel-paper);
}
.vin-concepts button[aria-pressed='true'] {
  color: var(--rv-ink);
  border-bottom-color: var(--rv-ink);
}
/* Structural rules and interaction states are steel, not verification signals. */
.vin-scene {
  --scan-accent: var(--rv-steel);
}
.vin-report {
  background: #111814;
}
.vin-progress-track {
  background: #3b4740;
}
.vin-progress {
  background: #aeb9b2;
}
.vin-concepts button:focus-visible {
  outline-color: var(--rv-technical-ink);
}
.vin-story-controls button:focus-visible {
  outline-color: var(--rv-steel);
}
/* White document panes and a pale steel index alternate below the hero. */
.home-ecosystem {
  border-color: var(--rv-steel-line);
}
.ecosystem-directory {
  --rv-muted: var(--rv-technical-ink);
  position: relative;
  isolation: isolate;
  padding: 26px 30px 30px;
  background: var(--rv-steel-paper);
  border: 1px solid var(--rv-steel-line);
}
.ecosystem-directory::before {
  content: 'CONSTRUCTOR / INDEX';
  position: absolute;
  inset: auto 20px 10px auto;
  z-index: -1;
  pointer-events: none;
  font: 650 clamp(24px, 4vw, 54px) / 1 var(--rv-font-display);
  letter-spacing: -2px;
  color: #58665f08;
}
.ecosystem-directory::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background-image: var(--rv-grid-field);
  background-size: var(--rv-grid-scale);
  mask-image: linear-gradient(
    90deg,
    #000,
    transparent 18%,
    transparent 82%,
    #000
  );
}
.archive-section-index {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding-bottom: 14px;
  margin-bottom: 22px;
  border-bottom: 1px solid var(--rv-steel-line);
  color: var(--rv-technical-ink);
  font: 8px/1.6 var(--rv-font-metadata);
  letter-spacing: 1.2px;
}
.archive-section-index::before {
  content: '+';
  font-size: 15px;
  font-weight: 400;
  line-height: 12px;
  color: var(--rv-technical-mark);
}
.archive-section-index > :first-child {
  margin-right: auto;
}
.ecosystem-names,
.ecosystem-names li {
  border-color: #b8c1bc99;
}
.ecosystem-segments button {
  border-color: var(--rv-steel-line);
  color: var(--rv-technical-ink);
  background: #ffffff35;
}
.ecosystem-segments button[aria-pressed='true'] {
  color: var(--rv-on-registry);
  background: var(--rv-registry);
  border-color: var(--rv-registry);
}
.ecosystem-reference {
  background: #edf0ea;
  border-color: var(--rv-steel-line);
}
.ecosystem-example,
.ecosystem-figure {
  border-color: var(--rv-steel-line);
}
.ecosystem-detail[data-branch='market'] {
  --rv-muted: var(--rv-technical-ink);
  background: var(--rv-steel-paper);
}
.ecosystem-edges path {
  stroke: #8c9590;
  stroke-dasharray: 3 3;
}
.ecosystem-edges .is-active {
  stroke: #d8dcd7;
  stroke-dasharray: none;
}
.ecosystem-node {
  background: #252d28;
  border-color: #69766e;
}
.ecosystem-hub,
.ecosystem-graph {
  background: #111814;
}
.ecosystem-hub {
  border-color: #8c9590;
}
.ecosystem-hub-record {
  color: #d8dcd7;
  border-color: #58665f;
}
.ecosystem-node[aria-pressed='true'] {
  border-color: #d8dcd7;
  box-shadow: inset 2px 0 #d8dcd7;
}
.ecosystem-node:focus-visible {
  outline-color: #d8dcd7;
}
.ecosystem-graph::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -2;
  pointer-events: none;
  background-image: radial-gradient(circle, #c0cbc429 1px, transparent 1.5px);
  background-size: 48px 48px;
  mask-image: linear-gradient(transparent, #000 24%, #000 76%, transparent);
}
.ecosystem-competition {
  position: relative;
  isolation: isolate;
  border-top: 0;
  padding-top: 0;
}
.ecosystem-competition::before {
  content: '';
  position: absolute;
  inset: 0 -16px;
  z-index: -1;
  pointer-events: none;
  background:
    linear-gradient(90deg, var(--rv-grid-major) 1px, transparent 1px),
    linear-gradient(var(--rv-grid-major) 1px, transparent 1px);
  background-size: 120px 120px;
  mask-image: linear-gradient(
    90deg,
    #000,
    transparent 12%,
    transparent 86%,
    #000
  );
}
.ecosystem-record-chain {
  border-color: var(--rv-steel-line);
  color: var(--rv-technical-ink);
}
.home-dossier {
  position: relative;
  isolation: isolate;
  background: var(--rv-canvas);
  border-color: var(--rv-steel-line);
}
/* Chronology rules occupy gutters; evidence text keeps a quiet reading surface. */
.home-dossier::before,
#documented-records::before,
.history-group::after,
[data-research-scope='historical'] .research-results::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background-image: linear-gradient(var(--rv-grid-major) 1px, transparent 1px);
  background-size: 100% 24px;
  mask-image: linear-gradient(
    90deg,
    #000,
    transparent 10%,
    transparent 90%,
    #000
  );
}
#documented-records,
.research-results,
.vehicle-grid {
  position: relative;
  isolation: isolate;
}
.vehicle-grid::before,
[data-research-scope='market'] .research-results::before {
  content: '';
  position: absolute;
  inset: -16px;
  z-index: -1;
  pointer-events: none;
  background-image: var(--rv-grid-field);
  background-size: var(--rv-grid-scale);
  mask-image: linear-gradient(
    90deg,
    #000,
    transparent 12%,
    transparent 88%,
    #000
  );
}
.research-row-body {
  background: var(--rv-canvas);
}
.home-dossier-photo {
  padding: 10px;
  border: 1px solid var(--rv-steel-line);
  background: #edf0ea;
}
.home-dossier-photo .photo-provenance {
  padding: 12px 4px 4px;
}
.home-profile-identity,
.technical-label,
.identifier-namespaces {
  color: var(--rv-technical-ink);
}
.home-profile,
.home-profile .text-action,
.dossier-preview-states > div,
.record-summary,
.record-summary > article + article,
.history-group + .history-group {
  border-color: var(--rv-steel-line);
}
.identity-dossier :is(th, td),
.table-scroll :is(th, td) {
  border-color: var(--rv-steel-line);
}
.identity-dossier th,
.table-scroll th {
  color: var(--rv-technical-ink);
  background: var(--rv-steel-paper);
}
.history-group {
  position: relative;
  isolation: isolate;
}
.history-group::before {
  content: '';
  position: absolute;
  top: 0;
  left: -12px;
  width: 4px;
  height: 128px;
  border-left: 1px solid #8c959040;
  background: repeating-linear-gradient(#8c959050 0 1px, transparent 1px 16px);
  mask-image: linear-gradient(#000, transparent);
  pointer-events: none;
}
@media (max-width: 700px) {
  .search-hero:has(.vin-scene)::before {
    inset-inline: 0;
    mask-image: linear-gradient(
      transparent 30%,
      #000 53%,
      #000 70%,
      transparent 85%
    );
    mask-composite: add;
  }
  .ecosystem-directory {
    padding: 18px;
  }
  .ecosystem-directory::before {
    display: none;
  }
  .archive-section-index {
    gap: 10px;
    letter-spacing: 0.5px;
  }
  .archive-drawing-index {
    font-size: 6px;
    letter-spacing: 0.4px;
  }
  .archive-measure-scale {
    display: none;
  }
}
@media (forced-colors: active) {
  .product::before,
  .search-hero::before,
  .vin-vehicle::before,
  .vin-vehicle::after,
  .ecosystem-directory::before,
  .ecosystem-directory::after,
  .ecosystem-graph::before,
  .ecosystem-competition::before,
  .history-group::before,
  .history-group::after,
  .home-dossier::before,
  #documented-records::before,
  .vehicle-grid::before,
  .research-results::before,
  .vin-stage-content::before,
  .archive-measure-scale,
  .archive-drawing-index,
  .archive-section-index {
    display: none;
  }
}
@media print {
  .product::before,
  .search-hero::before,
  .ecosystem-directory::after,
  .ecosystem-graph::before,
  .home-dossier::before,
  #documented-records::before,
  .history-group::after,
  .vehicle-grid::before,
  .research-results::before,
  .vin-stage-content::before,
  .archive-measure-scale {
    display: none;
  }
}
