/* ==========================================================================
   CV — page layout only.

   This file adds no colours, sizes or spacing of its own. Every value here is
   a token from ../css/styles.css, and the page structure is the system's
   bands: one Aside band per section, a sticky label beside the entries.
   ========================================================================== */

/* An entry is the ledger row one step down: who, then the roles held there,
   then what the work was. A hairline divides them, as it divides everything
   else on this site. */
.entry {
	display: flex;
	flex-direction: column;
	gap: var(--s2);
	padding: var(--s5) 0;
	border-top: var(--rule-w) solid var(--rule);
}

/* The first entry sits directly under the section label, so it needs no rule
   above it — the band already carries one. */
.entry--first {
	padding-top: 0;
	border-top: 0;
}

.entry:last-child {
	padding-bottom: 0;
}

/* A brand mark and the name it belongs to. The mark carries its own light
   ground, baked into the file rather than set here — its colours were chosen
   against one, and that is what lets a single file read in both schemes. The
   same licence a screenshot has, and the same reason. */
.entry__head {
	display: flex;
	align-items: center;
	gap: var(--s3);
}

.entry__mark {
	flex: none;
	width: 35px;
	height: 35px;
}

/* No mark yet. An empty slot follows the scheme, because a gap is interface
   rather than content. */
.entry__mark--none {
	background: var(--fill);
}

.entry__org {
	font-weight: 500;
}

/* Title on the left, dates on the right, as far apart as the column allows.
   Flex rather than a nested grid: bands lay out the page, flex lays out a
   component. */
.entry__role {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--s4);
	color: var(--ink-muted);
}

/* Nothing on this page is unfinished except the entry that says so. */
.entry--todo {
	color: var(--ink-muted);
}

@media (max-width: 800px) {
	.entry__role {
		flex-direction: column;
		gap: 0;
	}
}

/* --- Print ----------------------------------------------------------- */

/* Command-P is the download button: the page already is the document, so
   paper gets the same CV with the web taken out. Ink on white whatever the
   screen preferred, no bars riding the top of anything, no entry split
   across a sheet, and the trail's link reads as the letterhead it is. */
/* Colour needs no attention here: the dark palette is screen-only in the
   system itself, so print always draws from the light tokens. */
@media print {
	.stick,
	.label {
		position: static;
		padding-block: 0;
		background: none;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.entry {
		break-inside: avoid;
	}

	.band {
		break-inside: auto;
	}
}
