/*
Theme Name: Roman Clarkson
Theme URI: https://romanclarkson.us/
Author: Roman Clarkson / Dandi Noble, LLC
Description: A ledger for one developer's work. Every page is a sheet of account-book paper: a date column, the double red margin rule, the particulars, and an amount column. The log's weekly entries are the lines, each year closes with a subtotal, and the jobs and sites from 1996 onward sit on the same sheet. Child of Twenty Twenty-Five; data comes from the rc-record plugin.
Template: twentytwentyfive
Requires at least: 6.9
Requires PHP: 8.1
Version: 1.1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: roman-clarkson
*/

/* ==========================================================================
   Tokens

   The ground is ledger paper: faintly green, ruled in pale blue, with a
   double red rule down the margin. The red is used for that rule and very
   little else, so the eye reads it as the spine of the record. Commit
   intensity runs in blue-black ink tints, never in red. One face, Besley,
   sets everything; its tabular figures line the columns up. The monospace
   appears only inside literal code.
   ========================================================================== */

:root {
	--rc-paper: #edf1ea;
	--rc-wash: #e1e8de;
	--rc-ink: #17222e;
	--rc-ink-soft: #4d5965;
	--rc-rule: #bccbd8;
	--rc-rule-strong: #8ea5bb;
	--rc-red: #b3263b;
	--rc-heat-0: #e2e8e0;
	--rc-heat-1: #b5c9dc;
	--rc-heat-2: #7d9dbe;
	--rc-heat-3: #43709c;
	--rc-heat-4: #1b3e66;

	--rc-serif: Besley, "Iowan Old Style", Georgia, serif;
	--rc-mono: "Azeret Mono", ui-monospace, "SF Mono", Menlo, monospace;

	--rc-gutter: 1rem;       /* page edge */
	--rc-m: 3.9rem;          /* date column */
	--rc-g: 0.9rem;          /* gap either side of the margin rule */
	--rc-amt: 4.75rem;       /* amount column */
	--rc-max: 76rem;
	--rc-measure: 40rem;

	color-scheme: light only;
}

@media (min-width: 48rem) {
	:root {
		--rc-gutter: clamp(1.5rem, 4vw, 3rem);
		--rc-m: 7rem;
		--rc-g: 1.5rem;
		--rc-amt: 6.5rem;
	}
}

/* ==========================================================================
   Page frame: every region is a sheet with the same margin rule, so the
   rule runs unbroken from masthead to footer.
   ========================================================================== */

body {
	background: var(--rc-paper);
	color: var(--rc-ink);
	font-family: var(--rc-serif);
	font-variant-numeric: lining-nums;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	overflow-x: clip;
}

.wp-site-blocks {
	padding: 0;
}

.wp-site-blocks > * {
	margin-block-start: 0 !important;
}

.rc-masthead__inner,
.rc-sheet,
.rc-foot__inner {
	--rc-rule-x: calc(var(--rc-gutter) + var(--rc-m) + var(--rc-g) / 2);
	box-sizing: border-box;
	max-width: var(--rc-max);
	margin-inline: auto;
	padding-left: calc(var(--rc-gutter) + var(--rc-m) + var(--rc-g));
	padding-right: var(--rc-gutter);
	background-image:
		linear-gradient(var(--rc-red), var(--rc-red)),
		linear-gradient(var(--rc-red), var(--rc-red));
	background-size: 1px 100%, 1px 100%;
	background-position: calc(var(--rc-rule-x) - 2px) 0, calc(var(--rc-rule-x) + 2px) 0;
	background-repeat: no-repeat;
}

.rc-sheet {
	min-height: 60vh;
	padding-bottom: clamp(4rem, 10vw, 7rem);
}

/* Lines that reach back into the date column. */
.rc-ledger,
.rc-year,
.rc-entryhead,
.rc-workhead,
.rc-lessons .wp-block-post-template,
.rc-essay__head,
.rc-masthead__grid,
.rc-arc {
	margin-left: calc(-1 * (var(--rc-m) + var(--rc-g)));
}

a:focus-visible {
	outline: 2px solid var(--rc-red);
	outline-offset: 3px;
	border-radius: 1px;
}

::selection {
	background: var(--rc-heat-1);
	color: var(--rc-ink);
}

/* Figures that must line up in a column. */
.rc-tab {
	font-variant-numeric: tabular-nums lining-nums;
}

/* ==========================================================================
   Masthead
   ========================================================================== */

.rc-masthead__inner {
	display: grid;
	grid-template-columns: var(--rc-m) minmax(0, 1fr);
	column-gap: var(--rc-g);
	align-items: baseline;
	row-gap: 0.35rem;
	margin-left: auto;
	padding-left: var(--rc-gutter);
	padding-top: 1.25rem;
	padding-bottom: 1rem;
	position: relative;
}

.rc-masthead__inner::after {
	content: "";
	position: absolute;
	left: var(--rc-gutter);
	right: var(--rc-gutter);
	bottom: 0;
	border-bottom: 3px double var(--rc-ink);
}

.rc-masthead__inner > * {
	margin: 0 !important;
}

.rc-mark {
	grid-row: 1 / span 2;
	justify-self: end;
	font-family: var(--rc-serif);
	font-weight: 800;
	font-size: 1.125rem;
	letter-spacing: 0.02em;
	color: var(--rc-red);
	text-decoration: none;
}

.rc-name {
	grid-column: 2;
	font-family: var(--rc-serif);
	font-size: 1.25rem;
	font-weight: 600;
	letter-spacing: -0.01em;
	line-height: 1.2;
}

.rc-name a {
	text-decoration: none;
	color: inherit;
}

.rc-nav {
	grid-column: 2;
	font-size: 0.875rem;
}

.rc-nav .wp-block-navigation__container {
	gap: 0.25rem 0.8rem;
}

@media (min-width: 48rem) {
	.rc-nav {
		font-size: 0.9375rem;
	}
	.rc-nav .wp-block-navigation__container {
		gap: 0.25rem 1.1rem;
	}
}

.rc-nav .wp-block-navigation-item__content {
	text-decoration: none;
	padding-block: 0.2rem;
	color: var(--rc-ink);
}

.rc-nav .wp-block-navigation-item__content:hover {
	text-decoration: underline;
	text-decoration-color: var(--rc-red);
	text-underline-offset: 0.3em;
}

.rc-in-log .rc-nav-log a,
.rc-in-work .rc-nav-work a,
.rc-in-projects .rc-nav-projects a,
.rc-in-lessons .rc-nav-lessons a,
.rc-in-about .rc-nav-about a {
	text-decoration: underline;
	text-decoration-color: var(--rc-red);
	text-decoration-thickness: 2px;
	text-underline-offset: 0.3em;
}

@media (min-width: 48rem) {
	.rc-masthead__inner {
		grid-template-columns: var(--rc-m) auto minmax(0, 1fr);
		padding-top: 1.75rem;
		padding-bottom: 1.35rem;
	}
	.rc-mark {
		grid-row: 1;
	}
	.rc-nav {
		grid-column: 3;
		justify-self: end;
	}
}

/* ==========================================================================
   Type
   ========================================================================== */

.rc-page-h,
.rc-hero__h {
	font-family: var(--rc-serif);
	font-weight: 500;
	letter-spacing: -0.025em;
	line-height: 1.04;
	text-wrap: balance;
}

.rc-page-h {
	font-size: clamp(2.5rem, 7vw, 4.75rem);
	margin: 0;
	padding-top: clamp(2.5rem, 6vw, 4.5rem);
}

.rc-lede {
	max-width: var(--rc-measure);
	font-size: clamp(1.0625rem, 1.6vw, 1.25rem);
	line-height: 1.55;
	color: var(--rc-ink-soft);
	margin-top: 1rem;
}

.rc-section-h {
	font-size: clamp(1.5rem, 3vw, 2rem);
	font-weight: 500;
	letter-spacing: -0.015em;
	margin-top: clamp(3.5rem, 8vw, 6rem) !important;
	margin-bottom: 0;
}

.rc-empty {
	font-style: italic;
	color: var(--rc-ink-soft);
	padding: 2rem 0;
}

.rc-back {
	margin-top: 3rem !important;
	font-size: 0.9375rem;
}

/* Long-form text: essays, pages, entry notes. */
.rc-prose {
	max-width: var(--rc-measure);
	font-size: clamp(1.0625rem, 1.3vw, 1.1875rem);
	line-height: 1.68;
	hyphens: manual;
}

.rc-prose > * + * {
	margin-block-start: 1.1em;
}

.rc-prose .rc-lede-p {
	font-size: 1.08em;
	color: var(--rc-ink-soft);
}

.rc-prose h2 {
	font-size: clamp(1.4rem, 2.6vw, 1.75rem);
	font-weight: 600;
	margin-block-start: 2.2em;
	margin-block-end: 0;
}

.rc-prose h3 {
	font-size: 1.1875rem;
	font-weight: 700;
	margin-block-start: 1.8em;
}

.rc-prose h2 + *,
.rc-prose h3 + * {
	margin-block-start: 0.5em;
}

.rc-prose ul,
.rc-prose ol {
	padding-left: 1.3em;
}

.rc-prose li + li {
	margin-top: 0.4em;
}

.rc-prose code {
	font-family: var(--rc-mono);
	font-size: 0.82em;
	background: var(--rc-wash);
	padding: 0.1em 0.3em;
	border-radius: 2px;
}

.rc-prose blockquote {
	margin-inline: 0;
	font-size: 1.125em;
}

.rc-prose hr {
	border: 0;
	border-top: 1px solid var(--rc-rule-strong);
	margin-block: 2.5em;
	width: 6rem;
}

.rc-prose a {
	text-decoration-color: var(--rc-rule-strong);
	text-underline-offset: 0.2em;
}

.rc-prose a:hover {
	text-decoration-color: var(--rc-red);
}

.rc-prose figure {
	margin-inline: 0;
}

.rc-prose figure img {
	display: block;
	width: 100%;
	height: auto;
	border: 1px solid var(--rc-rule-strong);
	background: var(--rc-wash);
}

.rc-prose figcaption {
	margin-top: 0.5rem;
	font-size: 0.875rem;
	font-style: italic;
	color: var(--rc-ink-soft);
}

/* Readings listed in a body: book, author, the sections read, the date. */
.rc-prose .rc-readings {
	list-style: none;
	padding: 0;
	border-top: 1px solid var(--rc-ink);
}

.rc-prose .rc-readings li {
	margin: 0;
	padding: 0.6rem 0 0.7rem;
	border-bottom: 1px solid var(--rc-rule);
	line-height: 1.45;
}

.rc-readings__by {
	color: var(--rc-ink-soft);
}

.rc-readings__s {
	display: block;
	font-size: 0.9375rem;
	color: var(--rc-ink-soft);
}

.rc-readings__d {
	font-variant-numeric: tabular-nums;
	font-size: 0.875rem;
	color: var(--rc-ink-soft);
}

/* ==========================================================================
   Home hero
   ========================================================================== */

.rc-hero {
	padding-top: clamp(2.5rem, 7vw, 5.5rem);
}

/* Two sentences that name three things; a size and measure that hold them
   to five or six lines at 1440 without turning into a paragraph. */
.rc-hero__h {
	font-size: clamp(1.625rem, 4.3vw, 3.25rem);
	line-height: 1.08;
	max-width: 30ch;
	margin: 0;
}

/* The names in the heading are links to their records: the underline is
   the ledger's rule blue, thin enough not to fight the display size. */
.rc-hero__h a {
	color: inherit;
	text-decoration-color: var(--rc-rule-strong);
	text-decoration-thickness: 0.045em;
	text-underline-offset: 0.14em;
}

.rc-hero__h a:hover,
.rc-hero__p a:hover {
	text-decoration-color: var(--rc-red);
}

.rc-hero__p {
	max-width: 38rem;
	font-size: clamp(1.0625rem, 1.5vw, 1.1875rem);
	line-height: 1.6;
	color: var(--rc-ink-soft);
	margin-top: clamp(1.1rem, 2.5vw, 1.6rem) !important;
}

.rc-hero__p a {
	text-decoration-color: var(--rc-rule-strong);
	text-underline-offset: 0.2em;
}

/* ==========================================================================
   Stats: a balance line, closed with the double rule of a ledger total.
   ========================================================================== */

.rc-stats {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: clamp(2rem, 5vw, 3.25rem) 0 0 !important;
	border-top: 1px solid var(--rc-ink);
	border-bottom: 3px double var(--rc-ink);
}

.rc-stats__cell {
	padding: 0.75rem 0.9rem 0.85rem 0;
	border-bottom: 1px solid var(--rc-rule);
}

.rc-stats__cell:nth-child(even) {
	padding-left: 0.9rem;
	border-left: 1px solid var(--rc-rule);
}

.rc-stats__cell:nth-last-child(-n + 2) {
	border-bottom: 0;
}

.rc-stats dt {
	font-size: 0.875rem;
	font-style: italic;
	color: var(--rc-ink-soft);
	line-height: 1.3;
}

.rc-stats dd {
	margin: 0.25rem 0 0;
	line-height: 1;
}

.rc-stats__n {
	font-size: clamp(1.625rem, 3.6vw, 2.25rem);
	font-weight: 500;
	letter-spacing: -0.02em;
	font-variant-numeric: tabular-nums;
}

.rc-stats__unit {
	font-size: 0.9375rem;
	font-style: italic;
	color: var(--rc-ink-soft);
}

@media (min-width: 48rem) {
	.rc-stats {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
	.rc-stats__cell,
	.rc-stats__cell:nth-child(even) {
		border-bottom: 0;
		padding: 0.9rem 1.25rem 1rem;
		border-left: 1px solid var(--rc-rule);
	}
	.rc-stats__cell:first-child {
		padding-left: 0;
		border-left: 0;
	}
}

/* ==========================================================================
   The arc: thirty years on one line
   ========================================================================== */

.rc-arc {
	margin-top: clamp(2rem, 5vw, 3rem) !important;
	margin-bottom: 0;
}

.rc-arc__body {
	position: relative;
}

.rc-arc__grid {
	position: absolute;
	top: 0;
	bottom: 1.2rem;
	left: calc(var(--rc-m) + var(--rc-g));
	right: 0;
	pointer-events: none;
}

.rc-arc__gl {
	position: absolute;
	top: 0;
	bottom: 0;
	border-left: 1px solid var(--rc-rule);
}

.rc-arc__group,
.rc-arc__axis {
	display: grid;
	grid-template-columns: var(--rc-m) minmax(0, 1fr);
	column-gap: var(--rc-g);
	position: relative;
}

.rc-arc__group + .rc-arc__group {
	margin-top: 0.7rem;
}

.rc-arc__glabel {
	text-align: right;
	font-style: italic;
	font-size: 0.8125rem;
	line-height: 1.2;
	color: var(--rc-ink-soft);
	padding-top: 0.05rem;
}

.rc-arc__rows {
	display: grid;
	row-gap: 3px;
}

.rc-arc__row {
	position: relative;
	height: 1.05rem;
}

.rc-arc__bar {
	position: absolute;
	top: 0.2rem;
	height: 0.65rem;
	min-width: 3px;
	background: var(--rc-heat-2);
	color: var(--rc-ink);
	text-decoration: none;
}

.rc-arc__bar--job {
	background: var(--rc-heat-2);
}

.rc-arc__bar--site,
.rc-arc__bar--readings {
	background: var(--rc-heat-3);
}

.rc-arc__bar--log {
	background: var(--rc-heat-4);
}

.rc-arc__bar--milestone {
	width: 0 !important;
	min-width: 0;
	background: none;
}

.rc-arc__bar--milestone::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.02rem;
	width: 0.6rem;
	height: 0.6rem;
	background: var(--rc-red);
	transform: translateX(-50%) rotate(45deg);
}

.rc-arc__bar:hover,
.rc-arc__bar:focus-visible {
	background: var(--rc-red);
}

.rc-arc__bar--milestone:hover,
.rc-arc__bar--milestone:focus-visible {
	background: none;
}

.rc-arc__bar:hover .rc-arc__label,
.rc-arc__bar:focus-visible .rc-arc__label {
	text-decoration: underline;
	text-decoration-color: var(--rc-red);
	text-underline-offset: 0.15em;
}

.rc-arc__label {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	white-space: nowrap;
	font-size: 0.75rem;
	line-height: 1;
	color: var(--rc-ink);
}

/* Label placement is decided per track width (see the arc block): after the
   bar, before it, or inside a long one; --sm-max/--lg-max cap the label at
   the track's edge, and a label that still does not fit is cut short. */
.rc-arc__label {
	max-width: var(--sm-max, none);
	overflow: hidden;
	text-overflow: ellipsis;
}

.rc-arc__bar--sm-after .rc-arc__label {
	left: calc(100% + 0.4rem);
}

.rc-arc__bar--sm-before .rc-arc__label {
	right: calc(100% + 0.4rem);
}

.rc-arc__bar--milestone.rc-arc__bar--sm-before .rc-arc__label {
	right: 0.6rem;
}

.rc-arc__bar--sm-in .rc-arc__label {
	left: 0.45rem;
	color: var(--rc-paper);
}

.rc-arc__bar--sm-in:hover .rc-arc__label,
.rc-arc__bar--sm-in:focus-visible .rc-arc__label {
	text-decoration-color: var(--rc-paper);
}

@media (min-width: 48rem) {
	.rc-arc__label {
		max-width: var(--lg-max, none);
	}
	.rc-arc__bar--sm-after .rc-arc__label,
	.rc-arc__bar--sm-before .rc-arc__label,
	.rc-arc__bar--sm-in .rc-arc__label,
	.rc-arc__bar--milestone.rc-arc__bar--sm-before .rc-arc__label {
		left: auto;
		right: auto;
		color: var(--rc-ink);
	}
	.rc-arc__bar--lg-after .rc-arc__label {
		left: calc(100% + 0.4rem);
	}
	.rc-arc__bar--lg-before .rc-arc__label {
		right: calc(100% + 0.4rem);
	}
	.rc-arc__bar--milestone.rc-arc__bar--lg-before .rc-arc__label {
		right: 0.6rem;
	}
	.rc-arc__bar--lg-in .rc-arc__label {
		left: 0.45rem;
		color: var(--rc-paper);
	}
	.rc-arc__bar--lg-in:hover .rc-arc__label,
	.rc-arc__bar--lg-in:focus-visible .rc-arc__label {
		text-decoration-color: var(--rc-paper);
	}
}

.rc-arc__axis {
	margin-top: 0.5rem;
}

.rc-arc__ticks {
	position: relative;
	height: 1.2rem;
	border-top: 1px solid var(--rc-rule-strong);
}

.rc-arc__tick {
	position: absolute;
	top: 0;
	padding: 0.2rem 0 0 0.25rem;
	border-left: 1px solid var(--rc-rule-strong);
	font-size: 0.6875rem;
	line-height: 1;
	color: var(--rc-ink-soft);
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
}

.rc-arc__tick--now {
	color: var(--rc-red);
	border-left: 0;
	border-right: 1px solid var(--rc-red);
	padding: 0.2rem 0.25rem 0 0;
	transform: translateX(-100%);
}

.rc-arc__caption {
	margin-top: 0.9rem;
	max-width: var(--rc-measure);
	font-size: 0.875rem;
	font-style: italic;
	color: var(--rc-ink-soft);
	line-height: 1.45;
	padding-left: calc(var(--rc-m) + var(--rc-g));
}

@media (min-width: 48rem) {
	.rc-arc__row {
		height: 1.1rem;
	}
	.rc-arc__label {
		font-size: 0.8125rem;
	}
	.rc-arc__tick {
		font-size: 0.75rem;
	}
}

/* ==========================================================================
   Heat strip
   ========================================================================== */

.rc-heat {
	margin: 2rem 0 0 !important;
}

.rc-heat__rows {
	display: grid;
	row-gap: 0.55rem;
}

.rc-heat__row,
.rc-heat__axis {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	grid-template-areas: "label sum" "svg svg";
	align-items: end;
	column-gap: 0.75rem;
	row-gap: 0.25rem;
}

.rc-heat__label {
	grid-area: label;
	font-size: 0.875rem;
	font-style: italic;
	color: var(--rc-ink-soft);
	line-height: 1.2;
}

.rc-heat__svg,
.rc-heat__ticks {
	grid-area: svg;
}

.rc-heat__svg {
	display: block;
	width: 100%;
	height: 1.4rem;
	overflow: visible;
}

.rc-heat__sum {
	grid-area: sum;
	font-size: 0.875rem;
	font-variant-numeric: tabular-nums;
	text-align: right;
}

.rc-heat__c--0 { fill: var(--rc-heat-0); }
.rc-heat__c--1 { fill: var(--rc-heat-1); }
.rc-heat__c--2 { fill: var(--rc-heat-2); }
.rc-heat__c--3 { fill: var(--rc-heat-3); }
.rc-heat__c--4 { fill: var(--rc-heat-4); }

.rc-heat__svg a:hover .rc-heat__c,
.rc-heat__svg a:focus .rc-heat__c {
	fill: var(--rc-red);
}

.rc-heat__c.is-mark {
	stroke: var(--rc-red);
	stroke-width: 2.5px;
	vector-effect: non-scaling-stroke;
	paint-order: stroke;
}

.rc-heat__axis {
	grid-template-areas: "svg svg";
}

.rc-heat__axis .rc-heat__label,
.rc-heat__axis .rc-heat__sum {
	display: none;
}

.rc-heat__ticks {
	position: relative;
	height: 1.1rem;
	border-top: 1px solid var(--rc-rule-strong);
}

.rc-heat__tick {
	position: absolute;
	top: 0;
	padding: 0.2rem 0 0 0.25rem;
	border-left: 1px solid var(--rc-rule-strong);
	font-size: 0.6875rem;
	line-height: 1;
	color: var(--rc-ink-soft);
	white-space: nowrap;
}

.rc-heat__tick--minor,
.rc-heat__tick--crowded {
	display: none;
}

.rc-heat__tick--year {
	color: var(--rc-ink);
	border-left-color: var(--rc-ink);
}

.rc-heat__caption {
	margin-top: 0.9rem;
	max-width: var(--rc-measure);
	font-size: 0.875rem;
	font-style: italic;
	color: var(--rc-ink-soft);
	line-height: 1.45;
}

@media (min-width: 48rem) {
	.rc-heat__row,
	.rc-heat__axis {
		grid-template-columns: 9.5rem minmax(0, 1fr) 4.5rem;
		grid-template-areas: "label svg sum";
		align-items: center;
	}
	.rc-heat__axis .rc-heat__label,
	.rc-heat__axis .rc-heat__sum {
		display: block;
	}
	.rc-heat__svg {
		height: 1.6rem;
	}
	.rc-heat__tick--minor {
		display: block;
	}
	.rc-heat__tick--crowded {
		display: none;
	}
	.rc-heat__tick {
		font-size: 0.75rem;
	}
}

/* The strip draws itself once, left to right, on the home page. */
@media (prefers-reduced-motion: no-preference) {
	.rc-home .rc-heat__svg {
		clip-path: inset(0 100% 0 0);
		animation: rc-draw 1.1s cubic-bezier(0.3, 0.6, 0.2, 1) 0.15s forwards;
	}
	.rc-home .rc-heat__row:nth-child(2) .rc-heat__svg { animation-delay: 0.3s; }
	.rc-home .rc-heat__row:nth-child(3) .rc-heat__svg { animation-delay: 0.45s; }
	@keyframes rc-draw {
		to { clip-path: inset(0 0 0 0); }
	}
}

/* ==========================================================================
   The ledger
   ========================================================================== */

.rc-ledger {
	list-style: none;
	padding: 0;
	margin-top: 1.25rem !important;
	margin-bottom: 0;
}

.rc-line,
.rc-year,
.rc-gap,
.rc-ledger__head {
	position: relative;
	display: grid;
	grid-template-columns: var(--rc-m) minmax(0, 1fr);
	column-gap: var(--rc-g);
}

.rc-ledger .rc-year {
	margin-left: 0;
}

/* Column heads, as a printed ledger has them. */
.rc-ledger__head {
	padding-bottom: 0.35rem;
	font-style: italic;
	font-size: 0.8125rem;
	color: var(--rc-ink-soft);
	border-bottom: 1px solid var(--rc-ink);
}

.rc-ledger__head span:first-child {
	text-align: right;
}

.rc-ledger__head span:nth-child(3) {
	display: none;
}

/* Year: opens a section, carries the year's commit subtotal. */
.rc-year {
	align-items: baseline;
	padding-top: 2.75rem;
	padding-bottom: 0.45rem;
	border-bottom: 2px solid var(--rc-ink);
}

.rc-ledger > .rc-year:first-child,
.rc-ledger__head + .rc-year {
	padding-top: 0.5rem;
}

/* On the Work page most years hold one record, so the years sit closer. */
.rc-work .rc-year {
	padding-top: 1.6rem;
}

.rc-work .rc-year__n {
	font-size: clamp(1.25rem, 2.4vw, 1.75rem);
}

.rc-year__n {
	grid-row: 1 / span 2;
	text-align: right;
	font-family: var(--rc-serif);
	font-size: clamp(1.375rem, 3vw, 2.25rem);
	font-weight: 600;
	letter-spacing: -0.02em;
	line-height: 1;
	font-variant-numeric: tabular-nums;
}

.rc-year__sum {
	font-size: 0.875rem;
	font-style: italic;
	color: var(--rc-ink-soft);
}

.rc-year__amt {
	font-size: 0.9375rem;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}

.rc-year__amt:empty {
	display: none;
}

/* Line: one week of one project, or one record from before the log. */
.rc-line {
	padding: 1.1rem 0 1.25rem;
	border-bottom: 1px solid var(--rc-rule);
}

.rc-line::after {
	/* the tick where the line meets the margin rule */
	content: "";
	position: absolute;
	top: 1.65rem;
	left: calc(var(--rc-m) + var(--rc-g) / 2 - 5px);
	width: 10px;
	height: 1px;
	background: var(--rc-red);
}

/* A milestone is marked on the spine with a lozenge instead of a tick. */
.rc-line--milestone::after {
	top: 1.45rem;
	left: calc(var(--rc-m) + var(--rc-g) / 2 - 4px);
	width: 8px;
	height: 8px;
	transform: rotate(45deg);
}

.rc-line__date {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	text-align: right;
	padding-top: 0.2rem;
	font-variant-numeric: tabular-nums;
}

.rc-line__wk {
	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 1.2;
	color: var(--rc-ink);
	text-decoration: none;
}

.rc-line--work .rc-line__wk {
	font-size: 0.875rem;
}

.rc-line__range {
	margin-top: 0.15rem;
	font-size: 0.75rem;
	color: var(--rc-ink-soft);
	white-space: nowrap;
}

.rc-line__part {
	min-width: 0;
}

.rc-line__part > p,
.rc-line__body > p {
	margin: 0;
}

.rc-line__proj {
	font-size: 0.875rem;
	font-style: italic;
	color: var(--rc-ink-soft);
	line-height: 1.3;
}

.rc-line__title {
	margin: 0.15rem 0 0;
	font-size: clamp(1.125rem, 1.8vw, 1.3125rem);
	font-weight: 600;
	line-height: 1.25;
	letter-spacing: -0.01em;
	text-wrap: pretty;
}

.rc-line__title a {
	text-decoration: none;
	color: var(--rc-ink);
}

.rc-line__title a:hover {
	text-decoration: underline;
	text-decoration-color: var(--rc-red);
	text-underline-offset: 0.18em;
}

.rc-line__hl {
	margin: 0.55rem 0 0;
	padding: 0;
	list-style: none;
	max-width: var(--rc-measure);
	font-size: 0.9375rem;
	line-height: 1.5;
	color: var(--rc-ink-soft);
}

.rc-line__hl li {
	position: relative;
	padding-left: 1.1em;
}

.rc-line__hl li + li {
	margin-top: 0.2rem;
}

.rc-line__hl li::before {
	content: "–";
	position: absolute;
	left: 0;
	color: var(--rc-rule-strong);
}

.rc-line__more,
.rc-line__ex {
	display: inline-block;
	margin-top: 0.35rem;
	font-size: 0.875rem;
	color: var(--rc-ink-soft);
}

.rc-line__amt {
	grid-column: 2;
	display: flex;
	align-items: baseline;
	gap: 0.4rem;
	margin-top: 0.7rem;
	font-variant-numeric: tabular-nums;
}

.rc-line__amt:empty {
	display: none;
}

.rc-line__n {
	font-size: 1rem;
	font-weight: 600;
}

.rc-line__unit {
	font-size: 0.8125rem;
	font-style: italic;
	color: var(--rc-ink-soft);
}

.rc-bar {
	display: block;
	align-self: center;
	height: 3px;
	width: calc(var(--v, 0) * 5rem);
	min-width: 2px;
	background: var(--rc-heat-3);
}

/* Archived site line: a screenshot beside the particulars. */
.rc-line--work .rc-line__part {
	display: grid;
	gap: 0.85rem;
}

.rc-line__shotlink {
	display: block;
	width: 100%;
	max-width: 22rem;
}

.rc-line__shot {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	object-position: top center;
	border: 1px solid var(--rc-rule-strong);
	background: var(--rc-wash);
}

.rc-line__meta {
	margin-top: 0.35rem !important;
	font-size: 0.9375rem;
	color: var(--rc-ink-soft);
	line-height: 1.45;
	max-width: var(--rc-measure);
}

.rc-line--work .rc-verdict {
	margin-top: 0.5rem;
}

.rc-line__links {
	margin-top: 0.35rem !important;
	font-size: 0.8125rem;
}

.rc-line__links a {
	color: var(--rc-ink-soft);
	text-decoration: underline;
	text-decoration-color: var(--rc-rule-strong);
}

.rc-line__links a:hover {
	color: var(--rc-ink);
	text-decoration-color: var(--rc-red);
}

.rc-line__links span {
	color: var(--rc-rule-strong);
	margin: 0 0.15em;
}

/* Silence between records: the rule turns dashed. */
.rc-gap {
	padding: 2.25rem 0;
	border-bottom: 1px solid var(--rc-rule);
	background:
		repeating-linear-gradient(to bottom, var(--rc-red) 0 5px, transparent 5px 11px) calc(var(--rc-m) + var(--rc-g) / 2 - 2px) 0 / 1px 100% no-repeat,
		repeating-linear-gradient(to bottom, var(--rc-red) 0 5px, transparent 5px 11px) calc(var(--rc-m) + var(--rc-g) / 2 + 2px) 0 / 1px 100% no-repeat,
		linear-gradient(var(--rc-paper), var(--rc-paper)) calc(var(--rc-m) + var(--rc-g) / 2 - 3px) 0 / 7px 100% no-repeat;
}

.rc-gap__n {
	text-align: right;
	font-size: 0.875rem;
	font-variant-numeric: tabular-nums;
	color: var(--rc-ink-soft);
}

.rc-gap__text {
	font-style: italic;
	font-size: 0.9375rem;
	color: var(--rc-ink-soft);
}

@media (min-width: 48rem) {
	.rc-line,
	.rc-year,
	.rc-gap,
	.rc-ledger__head {
		grid-template-columns: var(--rc-m) minmax(0, 1fr) var(--rc-amt);
	}
	.rc-ledger__head span:nth-child(3) {
		display: block;
		text-align: right;
	}
	.rc-year__n {
		grid-row: auto;
	}
	.rc-year__amt {
		grid-column: 3;
		text-align: right;
	}
	.rc-year__amt:empty {
		display: block;
	}
	.rc-gap__text {
		grid-column: 2 / span 2;
	}
	.rc-line__amt {
		grid-column: 3;
		grid-row: 1;
		flex-direction: column;
		align-items: flex-end;
		gap: 0.1rem;
		margin-top: 0.15rem;
		text-align: right;
	}
	.rc-line__n {
		font-size: 1.125rem;
	}
	.rc-bar {
		align-self: flex-end;
		width: calc(var(--v, 0) * 100%);
		margin-top: 0.3rem;
	}
	.rc-line--site .rc-line__part {
		grid-template-columns: minmax(0, 15rem) minmax(0, 1fr);
		gap: 1.5rem;
		align-items: start;
	}
}

/* ==========================================================================
   Verdict: a plain note on what the evidence supports
   ========================================================================== */

.rc-verdict {
	display: inline-block;
	font-style: italic;
	font-size: 0.875rem;
	line-height: 1.3;
	color: var(--rc-ink);
	border-bottom: 1px solid var(--rc-rule-strong);
}

.rc-verdict--plausible {
	color: var(--rc-ink-soft);
}

.rc-verdict--held {
	color: var(--rc-red);
	border-bottom-color: var(--rc-red);
}

/* A live link: the site itself, not an archive of it. Sits above the
   verdict badge so a reader hits the working link first. */
.rc-visit {
	margin: 0.6rem 0 0 !important;
}

.rc-visit a {
	display: inline-block;
	font-size: 0.9375rem;
	font-weight: 600;
	color: var(--rc-ink);
	text-decoration: underline;
	text-decoration-color: var(--rc-red);
	text-underline-offset: 0.15em;
}

.rc-visit a:hover {
	color: var(--rc-red);
}

/* ==========================================================================
   Log filter, pagination
   ========================================================================== */

.rc-filter {
	margin-top: 2rem !important;
}

.rc-filter ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem 1.4rem;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 0.9375rem;
}

.rc-filter a {
	text-decoration: none;
	color: var(--rc-ink);
	padding-block: 0.2rem;
}

.rc-filter a:hover {
	text-decoration: underline;
	text-underline-offset: 0.3em;
}

.rc-filter a[aria-current="page"] {
	text-decoration: underline;
	text-decoration-color: var(--rc-red);
	text-decoration-thickness: 2px;
	text-underline-offset: 0.3em;
}

.rc-filter__n {
	font-size: 0.75rem;
	font-variant-numeric: tabular-nums;
	color: var(--rc-ink-soft);
	vertical-align: 0.35em;
}

.rc-pages {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1rem;
	margin-top: 2rem !important;
	font-size: 0.9375rem;
	font-variant-numeric: tabular-nums;
}

.rc-pages .current {
	color: var(--rc-red);
}

/* ==========================================================================
   Single entry
   ========================================================================== */

.rc-entryhead,
.rc-workhead {
	display: grid;
	grid-template-columns: var(--rc-m) minmax(0, 1fr);
	column-gap: var(--rc-g);
	padding-top: clamp(2.5rem, 6vw, 4.5rem);
}

.rc-entryhead__wk,
.rc-workhead__yrs {
	margin: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	text-align: right;
	font-variant-numeric: tabular-nums;
	padding-top: 0.35rem;
}

.rc-entryhead__year {
	font-size: 0.8125rem;
	color: var(--rc-ink-soft);
}

.rc-entryhead__w {
	font-size: clamp(1.25rem, 3vw, 2.25rem);
	font-weight: 600;
	letter-spacing: -0.03em;
	line-height: 1.05;
	color: var(--rc-red);
}

.rc-workhead__yrs {
	font-size: clamp(0.9375rem, 1.6vw, 1.125rem);
	font-weight: 600;
	color: var(--rc-red);
}

.rc-entryhead__main > *,
.rc-workhead__main > * {
	margin: 0;
}

.rc-entryhead__proj,
.rc-workhead__kind {
	font-style: italic;
	color: var(--rc-ink-soft);
	font-size: 1rem;
}

.rc-entryhead__proj a {
	color: var(--rc-ink);
}

.rc-entryhead__range {
	font-style: normal;
	font-size: 0.875rem;
	margin-left: 0.5rem;
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
}

.rc-entryhead__title,
.rc-workhead__title {
	margin-top: 0.4rem !important;
	font-size: clamp(2rem, 5vw, 3.75rem);
	font-weight: 500;
	line-height: 1.05;
	letter-spacing: -0.025em;
	text-wrap: balance;
	max-width: 22ch;
}

.rc-entryhead__facts,
.rc-workhead__facts,
.rc-card__facts {
	display: flex;
	flex-wrap: wrap;
	gap: 0;
	margin-top: 1.75rem !important;
	border-top: 1px solid var(--rc-ink);
	border-bottom: 1px solid var(--rc-rule);
}

.rc-entryhead__facts > div,
.rc-workhead__facts > div,
.rc-card__facts > div {
	padding: 0.6rem 1.25rem 0.7rem 0;
	margin-right: 1.25rem;
	border-right: 1px solid var(--rc-rule);
}

.rc-entryhead__facts > div:last-child,
.rc-workhead__facts > div:last-child,
.rc-card__facts > div:last-child {
	border-right: 0;
	margin-right: 0;
}

.rc-entryhead__facts dt,
.rc-workhead__facts dt,
.rc-card__facts dt {
	font-size: 0.8125rem;
	font-style: italic;
	color: var(--rc-ink-soft);
}

.rc-entryhead__facts dd,
.rc-card__facts dd {
	margin: 0.15rem 0 0;
	font-size: 1rem;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}

.rc-workhead__facts {
	display: block;
}

.rc-workhead__facts > div {
	display: grid;
	grid-template-columns: 6.5rem minmax(0, 1fr);
	gap: 1rem;
	align-items: baseline;
	margin: 0;
	padding: 0.55rem 0;
	border-right: 0;
	border-bottom: 1px solid var(--rc-rule);
}

.rc-workhead__facts > div:last-child {
	border-bottom: 0;
}

.rc-workhead__facts dd {
	margin: 0;
	font-size: 1rem;
	line-height: 1.45;
}

@media (max-width: 47.99rem) {
	.rc-entryhead__facts,
	.rc-card__facts {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.rc-entryhead__facts > div,
	.rc-card__facts > div {
		margin: 0;
		padding: 0.6rem 0.75rem 0.7rem 0;
		border-right: 0;
		border-bottom: 1px solid var(--rc-rule);
	}
	.rc-entryhead__facts > div:nth-child(even),
	.rc-card__facts > div:nth-child(even) {
		padding-left: 0.75rem;
		border-left: 1px solid var(--rc-rule);
	}
	.rc-entryhead__facts > div:nth-last-child(-n + 2):nth-child(odd),
	.rc-entryhead__facts > div:last-child,
	.rc-card__facts > div:nth-last-child(-n + 2) {
		border-bottom: 0;
	}
}

.rc-entryhead__note {
	margin-top: 0.75rem !important;
	font-style: italic;
	color: var(--rc-red);
	font-size: 0.9375rem;
}

.rc-entry .rc-prose {
	margin-top: 2.25rem !important;
}

.rc-hl {
	max-width: var(--rc-measure);
	margin-top: 2.5rem !important;
}

.rc-hl__h,
.rc-snaps__h {
	font-size: 1.25rem;
	font-weight: 600;
	margin: 0 0 0.5rem;
}

.rc-hl__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.rc-hl__list li {
	position: relative;
	padding: 0.55rem 0 0.6rem 1.2em;
	border-bottom: 1px solid var(--rc-rule);
	line-height: 1.5;
}

.rc-hl__list li::before {
	content: "–";
	position: absolute;
	left: 0;
	color: var(--rc-red);
}

.rc-around {
	margin-top: 3.5rem !important;
	padding-top: 1.25rem;
	border-top: 3px double var(--rc-ink);
}

.rc-around .rc-heat {
	margin-top: 0 !important;
}

.rc-prevnext {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0;
	margin-top: 1.5rem;
}

.rc-prevnext a {
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
	padding: 0.9rem 0;
	border-bottom: 1px solid var(--rc-rule);
	text-decoration: none;
	color: var(--rc-ink);
}

.rc-prevnext a:hover .rc-prevnext__t {
	text-decoration: underline;
	text-decoration-color: var(--rc-red);
}

.rc-prevnext__k {
	font-size: 0.8125rem;
	font-style: italic;
	color: var(--rc-ink-soft);
	font-variant-numeric: tabular-nums;
}

.rc-prevnext__t {
	font-size: 1.0625rem;
	font-weight: 600;
	line-height: 1.3;
}

.rc-prevnext .is-empty {
	display: none;
}

.rc-around__all {
	margin-top: 1rem;
	font-size: 0.9375rem;
}

@media (min-width: 48rem) {
	.rc-prevnext {
		grid-template-columns: 1fr 1fr;
		column-gap: 2rem;
	}
	.rc-prevnext .is-empty {
		display: block;
	}
	.rc-prevnext__next {
		text-align: right;
		align-items: flex-end;
	}
}

/* ==========================================================================
   Work item
   ========================================================================== */

.rc-workhead .rc-verdict {
	margin-top: 0.9rem !important;
}

.rc-shot {
	margin: 2.5rem 0 0 !important;
	max-width: 62rem;
}

.rc-shot a,
.rc-shot img {
	display: block;
}

.rc-shot img {
	width: 100%;
	height: auto;
	border: 1px solid var(--rc-ink);
	background: var(--rc-wash);
}

.rc-shot figcaption {
	margin-top: 0.6rem;
	font-size: 0.875rem;
	font-style: italic;
	color: var(--rc-ink-soft);
}

.rc-snaps {
	max-width: 48rem;
	margin-top: 3rem !important;
	padding-top: 1.25rem;
	border-top: 3px double var(--rc-ink);
}

.rc-snaps__list {
	list-style: none;
	margin: 0;
	padding: 0;
	border-top: 1px solid var(--rc-ink);
}

.rc-snaps__list li {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 0.15rem 1rem;
	padding: 0.65rem 0;
	border-bottom: 1px solid var(--rc-rule);
	align-items: baseline;
}

.rc-snaps__date {
	font-size: 0.875rem;
	font-variant-numeric: tabular-nums;
	grid-column: 1;
}

.rc-snaps__label {
	grid-column: 1;
	font-size: 0.9375rem;
	color: var(--rc-ink-soft);
}

.rc-snaps__go {
	grid-column: 2;
	grid-row: 1 / span 2;
	font-size: 0.9375rem;
	white-space: nowrap;
}

@media (min-width: 48rem) {
	.rc-snaps__list li {
		grid-template-columns: 8rem minmax(0, 1fr) auto;
	}
	.rc-snaps__label {
		grid-column: 2;
		grid-row: 1;
	}
	.rc-snaps__go {
		grid-column: 3;
		grid-row: 1;
	}
}

.rc-workitem .rc-prose {
	margin-top: 2.5rem !important;
}

.rc-workitem .rc-prevnext--work {
	margin-top: 3rem;
	padding-top: 0.25rem;
	border-top: 1px solid var(--rc-ink);
}

.rc-snaps + .rc-prevnext--work {
	border-top: 0;
	padding-top: 0;
	margin-top: 2rem;
}

/* ==========================================================================
   Jobs held (About page)
   ========================================================================== */

.rc-prose .rc-cv {
	list-style: none;
	padding: 0;
	border-top: 1px solid var(--rc-ink);
}

.rc-cv__row {
	display: grid;
	grid-template-columns: 5.5rem minmax(0, 1fr);
	gap: 0.75rem;
	align-items: baseline;
	margin: 0 !important;
	padding: 0.55rem 0 0.6rem;
	border-bottom: 1px solid var(--rc-rule);
	font-size: 0.9375em;
	line-height: 1.45;
}

.rc-cv__yrs {
	font-variant-numeric: tabular-nums;
	color: var(--rc-ink-soft);
	white-space: nowrap;
}

.rc-cv__row.is-current .rc-cv__yrs {
	color: var(--rc-red);
}

.rc-prose .rc-cv__t {
	text-decoration: none;
}

.rc-prose .rc-cv__t:hover {
	text-decoration: underline;
	text-decoration-color: var(--rc-red);
}

@media (min-width: 48rem) {
	.rc-cv__row {
		grid-template-columns: 7rem minmax(0, 1fr);
		gap: 1rem;
	}
}

/* ==========================================================================
   Project cards (Projects page)
   ========================================================================== */

.rc-card {
	margin-top: 1.5rem !important;
	max-width: 52rem;
}

.rc-card__facts {
	margin-top: 0 !important;
}

.rc-card .rc-heat {
	margin-top: 1.25rem !important;
}

.rc-card__more {
	margin-top: 1rem;
	font-size: 0.9375rem;
}

/* A Projects page section title sits in the margin column like a year. */
.rc-prose .rc-project-h {
	margin-top: 3.5rem;
	padding-top: 1rem;
	border-top: 2px solid var(--rc-ink);
	font-size: clamp(1.75rem, 3.6vw, 2.5rem);
	font-weight: 500;
	letter-spacing: -0.02em;
}

.rc-prose .rc-project-h:first-child {
	margin-top: 1.5rem;
}

.rc-prose .rc-card,
.rc-prose .rc-heat {
	max-width: none;
}

.rc-page .rc-prose {
	margin-top: 1.75rem !important;
}

/* ==========================================================================
   Lessons
   ========================================================================== */

.rc-lessons {
	margin-top: 2.5rem !important;
}

.rc-lessons .wp-block-post-template {
	list-style: none;
	padding: 0;
	border-top: 2px solid var(--rc-ink);
}

.rc-lessons .wp-block-post-template > li {
	margin: 0 !important;
	border-bottom: 1px solid var(--rc-rule);
}

.rc-lesson,
.rc-essay__head {
	display: grid;
	grid-template-columns: var(--rc-m) minmax(0, 1fr);
	column-gap: var(--rc-g);
	position: relative;
}

.rc-lesson {
	padding: 1.25rem 0 1.4rem;
}

.rc-lesson > *,
.rc-essay__head > * {
	margin: 0 !important;
}

.rc-lesson__date,
.rc-essay__date {
	grid-row: 1 / span 2;
	text-align: right;
	font-size: 0.8125rem;
	font-variant-numeric: tabular-nums;
	padding-top: 0.45rem;
	color: var(--rc-ink-soft);
}

.rc-lesson__title,
.rc-lesson__ex {
	grid-column: 2;
}

.rc-lesson__title {
	font-size: clamp(1.375rem, 2.8vw, 1.875rem);
	font-weight: 500;
	letter-spacing: -0.015em;
}

.rc-lesson__title a {
	text-decoration: none;
}

.rc-lesson__title a:hover {
	text-decoration: underline;
	text-decoration-color: var(--rc-red);
}

.rc-lesson__ex {
	margin-top: 0.5rem !important;
	max-width: var(--rc-measure);
	color: var(--rc-ink-soft);
	font-size: 1rem;
	line-height: 1.55;
}

.rc-lesson__ex .wp-block-post-excerpt__excerpt {
	margin: 0;
}

.rc-essay__head {
	padding-top: clamp(2.5rem, 6vw, 4.5rem);
}

.rc-essay__head .rc-page-h {
	grid-column: 2;
	max-width: 20ch;
	padding-top: 0;
}

.rc-essay__date {
	padding-top: 0.9rem;
}

.rc-essay .rc-prose {
	margin-top: 2.5rem !important;
}

/* ==========================================================================
   Old blog (2006 to 2009): /blog/ by year, and the single post head.
   ========================================================================== */

.rc-ob-jump ul {
	list-style: none;
	padding: 0;
	margin: 2rem 0 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem 1.25rem;
	font-size: 0.9375rem;
}

.rc-ob-jump a {
	text-decoration: none;
	color: var(--rc-ink);
}

.rc-ob-jump a:hover {
	text-decoration: underline;
	text-decoration-color: var(--rc-red);
	text-underline-offset: 0.3em;
}

.rc-ob-jump__n,
.rc-ob-year__n {
	color: var(--rc-ink-soft);
	font-size: 0.8125rem;
	font-variant-numeric: tabular-nums;
}

.rc-ob-year {
	margin-top: 2.5rem;
	scroll-margin-top: 1.5rem;
}

.rc-ob-year__h {
	margin: 0 0 0 calc(-1 * (var(--rc-m) + var(--rc-g)));
	display: grid;
	grid-template-columns: var(--rc-m) minmax(0, 1fr);
	column-gap: var(--rc-g);
	align-items: baseline;
	font-size: clamp(1.5rem, 3vw, 2rem);
	font-weight: 500;
	letter-spacing: -0.015em;
	padding-bottom: 0.4rem;
	border-bottom: 2px solid var(--rc-ink);
}

.rc-ob-year__h .rc-ob-year__n {
	grid-column: 2;
	grid-row: 1;
	justify-self: end;
	font-weight: 400;
	letter-spacing: 0;
}

.rc-ob-list {
	list-style: none;
	padding: 0;
	margin: 0 0 0 calc(-1 * (var(--rc-m) + var(--rc-g)));
}

.rc-ob {
	display: grid;
	grid-template-columns: var(--rc-m) minmax(0, 1fr);
	column-gap: var(--rc-g);
	align-items: baseline;
	padding: 0.6rem 0 0.65rem;
	border-bottom: 1px solid var(--rc-rule);
}

.rc-ob__date {
	text-align: right;
	font-size: 0.8125rem;
	font-variant-numeric: tabular-nums;
	color: var(--rc-ink-soft);
	white-space: nowrap;
}

.rc-ob__title {
	font-size: 1.0625rem;
	line-height: 1.4;
	text-decoration: none;
	color: var(--rc-ink);
	overflow-wrap: anywhere;
}

.rc-ob__title:hover {
	text-decoration: underline;
	text-decoration-color: var(--rc-red);
	text-underline-offset: 0.25em;
}

.rc-oldhead__note {
	grid-column: 2;
	margin-bottom: 0.9rem !important;
	font-size: 0.9375rem;
	font-style: italic;
	color: var(--rc-ink-soft);
}

.rc-oldhead .rc-essay__date {
	grid-row: 1 / span 2;
	padding-top: 0.15rem;
}

.rc-oldhead .rc-page-h {
	font-size: clamp(2rem, 5.5vw, 3.5rem);
	max-width: 24ch;
	overflow-wrap: break-word;
}

.rc-oldpost .rc-prose {
	overflow-wrap: anywhere;
}

.rc-oldpost .rc-prose img {
	max-width: 100%;
	height: auto;
}

.rc-oldpost .rc-prose table {
	display: block;
	max-width: 100%;
	overflow-x: auto;
}

.rc-oldpost .rc-prose pre {
	max-width: 100%;
	overflow-x: auto;
}

.rc-obnav ul {
	list-style: none;
	padding: 0;
	margin: 3rem 0 0;
	max-width: var(--rc-measure);
	border-top: 1px solid var(--rc-rule);
}

.rc-obnav li {
	padding: 0.75rem 0;
	border-bottom: 1px solid var(--rc-rule);
}

.rc-obnav li span {
	display: block;
	font-size: 0.8125rem;
	color: var(--rc-ink-soft);
}

.rc-foot__links {
	margin-top: 0.6rem !important;
}

.rc-foot__links a {
	color: var(--rc-ink-soft);
	text-underline-offset: 0.25em;
}

/* ==========================================================================
   Footer
   ========================================================================== */

.rc-foot__inner {
	position: relative;
	padding-top: 1.5rem;
	padding-bottom: 3rem;
	font-size: 0.875rem;
	color: var(--rc-ink-soft);
}

.rc-foot__inner::before {
	content: "";
	position: absolute;
	top: 0;
	left: var(--rc-gutter);
	right: var(--rc-gutter);
	border-top: 3px double var(--rc-ink);
}

.rc-foot__inner > * {
	margin: 0 !important;
	max-width: var(--rc-measure);
}

.rc-foot__credit {
	color: var(--rc-ink);
	font-weight: 600;
}

.rc-foot__note {
	margin-top: 0.3rem !important;
	font-style: italic;
}

/* ==========================================================================
   Print: the ledger prints as a ledger.
   ========================================================================== */

@media print {
	.rc-nav,
	.rc-filter,
	.rc-heat__caption,
	.rc-arc__caption {
		display: none;
	}
	body {
		background: #fff;
	}
}
