/* Page-specific composition for /styleguide (v3, "one relay, many
   terminals"). This file is layout scaffolding only — the design system
   itself (colour, type, components) lives entirely in system.css. Every
   value below reads a --g-* token; nothing here is a raw hex. */

/* ---- 00 Terminals: one demo per terminal, description beside the block --
   Stacks to a single column on phone so nothing scrolls horizontally and
   the block always stays above its own description. */
.sgt-demo {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(280px, 420px);
	gap: var(--g-6);
	align-items: start;
	margin-bottom: var(--g-8);
}

@media (max-width: 900px) {
	.sgt-demo {
		grid-template-columns: 1fr;
	}
}

.sgt-demo-desc > * + * {
	margin-top: var(--g-3);
}

.sgt-mapping {
	border-left: var(--g-hairline) solid var(--g-rule);
	padding-left: var(--g-3);
}

/* The specimen plate beside a record's spec block, inside a paper or
   screen medium. Stacks under the spec list on very narrow phones. */
.sgt-plate-row {
	display: grid;
	grid-template-columns: 6rem 1fr;
	gap: var(--g-4);
	align-items: start;
	margin: var(--g-3) 0;
}

@media (max-width: 480px) {
	.sgt-plate-row {
		grid-template-columns: 1fr;
	}
}

.sgt-plate-photo {
	width: 100%;
	aspect-ratio: 1;
	overflow: hidden;
}

.sgt-plate-photo img,
.sgt-plate-photo svg {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.sgt-italic {
	font-style: italic;
}

.sgt-accession {
	display: block;
	letter-spacing: var(--g-track-label);
	text-transform: uppercase;
	font-size: var(--g-size-micro);
}

/* ---- Medium rule: the same meter, three media, side by side ---- */
.sgt-medium-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--g-4);
	margin-top: var(--g-4);
}

@media (max-width: 720px) {
	.sgt-medium-grid {
		grid-template-columns: 1fr;
	}
}

.sgt-medium-cell > * + * {
	margin-top: var(--g-2);
}

.sgt-medium-crt,
.sgt-medium-paper {
	padding: var(--g-4);
}

/* system.css repaints .g-legend, .g-spec-key and .g-meter-name for the
   paper medium (--g-paper-ink-faint) and .g-spec-val / .g-record-term
   (--g-paper-ink), but not .g-meter-value: it is left at the default
   --g-ink, a light tone meant for a dark hull, which goes almost invisible
   on paper's cream stock (registry docket, archive card, the medium-rule
   "ink" demo). Filed as a request to add this pairing to system.css's own
   .g-paper block; a token-only local fix until then. */
.g-paper .g-meter-value {
	color: var(--g-paper-ink);
}
