/* Architectural finish for contemporary teaching Objects.
   This layer supplies no historical provenance or clinical information. */
#gallery .room,
#caseDebrief .debrief-room {
  position: relative;
  min-height: 0;
  color: var(--ink);
  background:
    linear-gradient(90deg, rgba(205,191,159,.16), transparent 10%, transparent 90%, rgba(205,191,159,.16)),
    var(--paper);
  border-top: 9px solid var(--maroon-900);
  border-bottom: 3px double var(--paper-3);
  box-shadow: inset 0 1px var(--paper-3), inset 0 7px var(--paper-2);
}
#gallery .room::before {
  content: "";
  position: absolute;
  inset: 19px 18px;
  width: auto;
  height: auto;
  border: 1px solid var(--paper-3);
  background: none;
  opacity: .7;
  pointer-events: none;
}
#gallery .room .room-index,
#caseDebrief .room-index {
  display: table;
  max-width: 100%;
  padding: 10px 16px;
  border: 3px double var(--paper-3);
  color: var(--maroon-800);
  background: var(--paper-2);
  line-height: 1.5;
  letter-spacing: .12em;
}
#gallery .room h2,
#caseDebrief .debrief-room-copy h3,
#caseDebrief .cg-opening h3 { text-wrap: balance; }
#gallery .room-anatomy {
  color: var(--paper);
  background:
    linear-gradient(90deg, rgba(0,0,0,.18), transparent 12%, transparent 88%, rgba(0,0,0,.18)),
    repeating-linear-gradient(90deg, transparent 0, transparent calc(50% - 2px), rgba(205,191,159,.12) calc(50% - 2px), rgba(205,191,159,.12) 50%),
    var(--maroon-900);
  box-shadow: inset 0 1px var(--paper-3), inset 0 7px var(--maroon-950);
}
#gallery .room-anatomy::before { border-color: rgba(205,191,159,.42); }
#gallery .room-anatomy .room-index { color: var(--paper); background: var(--maroon-950); }
#gallery .room-anatomy .room-copy :is(.encounter-cue, .anatomy-drawers p) { color: var(--paper-2); }

/* Poster mounts retain the entire authored image and its attached label. */
#gallery .source-object,
#caseDebrief .source-object {
  padding: clamp(10px, 1.5vw, 20px);
  border: 8px solid var(--maroon-950);
  outline: 1px solid var(--paper-3);
  outline-offset: -5px;
  background: var(--paper-2);
  box-shadow: 0 2px 0 var(--paper-3), 0 15px 32px rgba(33,6,13,.2);
}
#gallery .source-object .source-image,
#caseDebrief .source-object .source-image {
  aspect-ratio: auto;
  height: auto;
  overflow: visible;
  border: 1px solid var(--paper-3);
  background: var(--paper);
}
#gallery .source-object .source-image img,
#caseDebrief .source-object .source-image img { width: 100%; height: auto; object-fit: contain; }
#gallery .source-object .source-image > span,
#caseDebrief .source-object .source-image > span {
  position: static;
  display: block;
  width: auto;
  max-width: none;
  padding: 9px 12px;
  border-top: 1px solid var(--paper-3);
  color: var(--maroon-800);
  background: var(--paper-2);
  font-size: .67rem;
  line-height: 1.5;
}
#gallery .source-object figcaption,
#caseDebrief .source-object figcaption { margin-top: 14px; padding: 20px; }

/* Ivory specimen mounts and recessed dark fields replace floating cards. */
#gallery .prep-object,
#caseDebrief .prep-object {
  min-width: 0;
  padding: clamp(10px, 1.3vw, 18px);
  border: 5px solid var(--maroon-950);
  background: var(--paper-2);
  box-shadow: inset 0 0 0 1px var(--paper-3), 0 12px 24px rgba(33,6,13,.16);
}
#gallery .prep-media,
#caseDebrief .prep-media {
  border: 3px double var(--paper-3);
  background:
    linear-gradient(120deg, rgba(242,234,217,.035), transparent 40%),
    var(--maroon-900);
  box-shadow: inset 0 0 24px rgba(0,0,0,.24);
}
#gallery .prep-media::after,
#caseDebrief .prep-media::after { inset: 10px; border-color: rgba(205,191,159,.28); }
#gallery .prep-status,
#caseDebrief .prep-status {
  color: var(--maroon-950);
  background: var(--paper-2);
  border: 1px solid var(--paper-3);
  letter-spacing: .1em;
  box-shadow: 0 2px 6px rgba(0,0,0,.2);
}
#gallery .object-label,
#caseDebrief .object-label {
  color: var(--ink);
  background: var(--paper);
  border: 3px double var(--paper-3);
  padding: clamp(16px, 2vw, 24px);
  box-shadow: inset 0 0 0 4px var(--paper);
}
#gallery .prep-object .object-label,
#caseDebrief .prep-object .object-label { max-width: none; margin-top: 14px; }
#gallery .object-label .object-marker,
#caseDebrief .object-label .object-marker {
  color: var(--maroon-800);
  padding-bottom: 10px;
  margin-bottom: 14px;
  border-bottom: 1px solid var(--paper-3);
  line-height: 1.6;
}
#gallery .object-label :is(.credit, .object-spec),
#caseDebrief .object-label :is(.credit, .object-spec, .cg-credit, .cg-boundary) { color: var(--ink-soft); opacity: 1; }
#gallery .object-label a,
#caseDebrief .object-label a { color: var(--maroon-800); }
#gallery .room-anatomy .object-label .carry-forward { border-color: var(--paper-3); }
#gallery .room-anatomy .object-label .carry-forward span { color: var(--maroon-800); }
#gallery .tube-stage {
  border: 10px solid var(--maroon-950);
  outline: 1px solid var(--paper-3);
  outline-offset: -6px;
  background:
    radial-gradient(ellipse at 50% 40%, var(--maroon-700), transparent 70%),
    var(--maroon-900);
  box-shadow: inset 0 0 0 1px var(--paper-3), inset 0 -28px 38px rgba(0,0,0,.22), 0 15px 28px rgba(33,6,13,.18);
}
#gallery .hotspot { border: 3px double var(--paper-3); background: var(--maroon-950); color: var(--paper); box-shadow: 0 2px 8px rgba(0,0,0,.35); }
#gallery .hotspot[aria-pressed="true"] { background: var(--paper); color: var(--maroon-950); box-shadow: 0 0 0 4px var(--coral); }
#gallery .detail-readout { background: var(--paper-2); border: 1px solid var(--paper-3); box-shadow: inset 0 0 0 3px var(--paper); }
#gallery .detail-readout .detail-number { color: var(--maroon-800); }
#gallery .monument-label { align-self: center; }

/* The existing route and cuff studies sit on library folio boards. */
#gallery :is(.route-diptych, .cuff-study-object) { padding: clamp(12px, 2vw, 24px); border: 6px solid var(--maroon-900); background: var(--paper-2); box-shadow: inset 0 0 0 1px var(--paper-3), 0 12px 30px rgba(33,6,13,.13); }
#gallery .route-plate { border: 3px double var(--paper-3); }
#gallery .route-diptych .object-label,
#gallery .cuff-study-object .object-label { margin-top: 16px; }
#gallery .cuff-function-plate { border: 3px double var(--paper-3); }
#gallery .anatomy-drawers { border: 1px solid var(--paper-3); padding-inline: 16px; background: rgba(33,6,13,.16); }
#gallery .anatomy-drawers summary { min-height: 44px; display: list-item; padding-block: 8px; }
#gallery .resource-grid { padding: 14px; gap: 12px; border: 8px solid var(--maroon-950); background: var(--maroon-900); box-shadow: inset 0 0 0 1px var(--paper-3), 0 12px 28px rgba(33,6,13,.15); }
#gallery .resource-grid :is(a, article) { border: 3px double var(--paper-3); background: var(--paper-2); color: var(--ink); box-shadow: inset 0 0 0 4px var(--paper); }
#gallery .resource-grid a:hover { background: var(--paper); }
#gallery .resource-grid span { color: var(--maroon-800); }
#gallery .media-cabinet { border: 6px solid var(--maroon-900); background: var(--paper-2); box-shadow: inset 0 0 0 1px var(--paper-3); }

/* Case Galleries: framed working comparisons and a quiet writing table. */
#caseDebrief .debrief-reveal {
  border-block: 8px solid var(--maroon-950);
  background:
    linear-gradient(90deg, transparent 20px, rgba(205,191,159,.25) 20px, rgba(205,191,159,.25) 21px, transparent 21px, transparent calc(100% - 21px), rgba(205,191,159,.25) calc(100% - 21px), rgba(205,191,159,.25) calc(100% - 20px), transparent calc(100% - 20px)),
    var(--maroon-900);
  box-shadow: inset 0 1px var(--paper-3), inset 0 -1px var(--paper-3);
}
#caseDebrief .debrief-rooms { color: var(--paper); background: var(--maroon-950); border-bottom: 3px double var(--paper-3); }
#caseDebrief .debrief-rooms a { color: var(--paper-2); }
#caseDebrief .debrief-rooms a:is(:hover, .is-current, [aria-current="location"]) { color: var(--paper); border-color: var(--coral-bright); }
#caseDebrief .cg-object { padding: clamp(10px, 1.6vw, 22px); border: 8px solid var(--maroon-950); background: var(--paper-2); box-shadow: inset 0 0 0 1px var(--paper-3), 0 15px 30px rgba(33,6,13,.18); }
#caseDebrief .cg-split-view { border: 3px double var(--paper-3); gap: 3px; }
#caseDebrief .cg-route-panel,
#caseDebrief .cg-connection-field { background: var(--maroon-900); box-shadow: inset 0 0 0 1px rgba(205,191,159,.28), inset 0 0 30px rgba(0,0,0,.16); }
#caseDebrief .cg-route-panel h4 { padding-bottom: 14px; border-bottom: 1px solid var(--paper-3); }
#caseDebrief .cg-object-control { border: 3px double var(--paper-3); margin-top: 10px; color: var(--maroon-900); background: var(--paper); }
#caseDebrief .cg-feedback { border-inline: 1px solid var(--paper-3); border-bottom: 1px solid var(--paper-3); }
#caseDebrief .cg-object-label { max-width: none; }
#caseDebrief .cg-comparison-controls { padding: 0 0 12px; background: var(--paper-2); }
#caseDebrief .cg-comparison-controls button { border: 3px double var(--maroon-800); }
#caseDebrief .cg-comparison-text > div { padding: 24px; border: 3px double var(--paper-3); background: var(--paper-2); }
#caseDebrief .cg-references { border-color: var(--paper-3); }
#caseDebrief .debrief-exit { border-top: 9px solid var(--maroon-900); background: var(--paper-2); box-shadow: inset 0 1px var(--paper-3), inset 0 7px var(--paper); }
#caseDebrief :is(.cg-return-links .button, .debrief-exit .button) { border-radius: 0; }
#caseDebrief textarea { border: 3px double var(--ink-soft); background: var(--paper); color: var(--ink); box-shadow: inset 0 2px 5px rgba(27,23,19,.08); }

#gallery .room :focus-visible,
#caseDebrief :focus-visible { outline: 3px solid var(--paper); outline-offset: 1px; box-shadow: 0 0 0 5px var(--maroon-800); }
#caseDebrief .debrief-rooms a:focus-visible { outline-offset: -3px; box-shadow: none; }

@media (max-width: 820px) {
  #gallery .source-object,
  #caseDebrief .source-object { transform: none; }
  #gallery .room::before { inset-inline: 10px; }
  #gallery .prep-object,
  #caseDebrief .prep-object { border-width: 4px; }
}
@media (max-width: 520px) {
  #gallery .room,
  #caseDebrief .debrief-room { border-top-width: 6px; }
  #gallery .source-object,
  #caseDebrief .source-object { padding: 8px; border-width: 5px; }
  #gallery .source-object figcaption,
  #caseDebrief .source-object figcaption { padding: 14px; }
  #gallery .object-label,
  #caseDebrief .object-label { padding: 14px; }
  #gallery .prep-object,
  #caseDebrief .prep-object { padding: 8px; }
  #gallery .tube-stage { border-width: 6px; }
  #gallery :is(.route-diptych, .cuff-study-object) { padding: 8px; border-width: 4px; }
  #gallery .resource-grid { padding: 8px; border-width: 5px; }
  #caseDebrief .cg-object { padding: 8px; border-width: 5px; }
  #caseDebrief .cg-route-panel { padding: 16px 8px; }
  #caseDebrief .cg-comparison-text > div { padding: 18px; }
  #caseDebrief .cg-connection-field { padding-inline: 0; }
}
@media (prefers-reduced-motion: reduce) {
  #gallery .source-object,
  #caseDebrief .source-object { transform: none; }
}
