/* Layout only. Colours, type and components come from muthirai/muthirai.css
   tokens and classes. No hex values here. */

* {
	box-sizing: border-box;
}
/* Monospace everywhere: point the kit's display face at Roboto Mono */
:root {
	--font-sans: var(--font-mono);
}
body {
	margin: 0;
	background: var(--ground);
	color: var(--ink);
	font-family: var(--font-mono);
}

a {
	color: var(--accent-ink);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}
a:hover {
	color: var(--ink);
}
a:focus-visible {
	outline: var(--border-rule) solid var(--focus);
	outline-offset: 2px;
}

code {
	font-family: var(--font-mono);
	background: var(--surface-sunken);
	padding: 0 var(--space-1);
	overflow-wrap: anywhere;
}

.wrap {
	max-width: 1120px;
	margin: 0 auto;
	padding: 0 var(--space-6);
}

/* ========== Nav ========== */

.nav {
	border-bottom: var(--border-hair) solid var(--ink);
}
.nav .wrap {
	display: flex;
	align-items: center;
	gap: var(--space-5);
	min-height: 56px;
}
.nav .headline {
	margin-right: auto;
}
.nav a {
	display: inline-flex;
	align-items: center;
	gap: var(--space-1);
	color: var(--ink);
	text-decoration: none;
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
.nav a:hover {
	text-decoration: underline;
}

/* ========== Hero ========== */

.hero {
	padding: var(--space-9) 0 var(--space-8);
}
.hero .wrap {
	display: grid;
	grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
	gap: var(--space-7);
	align-items: center;
}
.eyebrow {
	display: flex;
	align-items: center;
	gap: var(--space-3);
}
.hero h1 {
	margin: var(--space-3) 0 var(--space-4);
}
.tagline {
	margin: 0 0 var(--space-5);
	max-width: 56ch;
	font-weight: 400;
}
.art .mu-label {
	width: 100%;
	max-width: 320px;
	margin-left: auto;
}

/* Copyable command: ruled sunken well + button */
.cmd {
	display: flex;
	align-items: center;
	gap: var(--space-3);
	padding: var(--space-2) var(--space-2) var(--space-2) var(--space-3);
	border: var(--border-hair) solid var(--ink);
	background: var(--surface-sunken);
}
.cmd code {
	flex: 1;
	min-width: 0;
	padding: 0;
}

/* ========== Sections ========== */

section.block {
	padding: var(--space-8) 0;
	border-top: var(--border-hair) solid var(--ink);
}
/* Section title: solid code tag, title, hatch rule to the edge */
.kicker {
	display: flex;
	align-items: center;
	gap: var(--space-4);
}
.kicker .mu-tag {
	height: var(--control-m);
	padding: 0 var(--space-3);
	font-size: 16px;
	line-height: 20px;
}
.kicker .mu-rule {
	flex: 1;
	margin: 0;
}
h2 {
	margin: 0;
}
.lede {
	margin: var(--space-4) 0 var(--space-6);
	max-width: 72ch;
}

ol.mu-cells {
	list-style: none;
	margin: 0;
	padding: 0;
}
.kicker + ol,
.kicker + pre.term {
	margin-top: var(--space-6);
}

.features {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}
.features .mu-cell {
	padding: var(--space-5);
	gap: var(--space-2);
}
.features p {
	margin: 0;
}

pre.term {
	margin: 0;
	padding: var(--space-4);
	border: var(--border-hair) solid var(--ink);
	background: var(--surface-sunken);
	color: var(--ink);
	font-family: var(--font-mono);
	font-size: 12px;
	line-height: 18px;
	overflow-x: auto;
}
pre.term .pr,
pre.term .dim {
	color: var(--ink-muted);
}
pre.term .k,
pre.term .bi {
	color: var(--accent-ink);
}
pre.term .ok {
	color: var(--positive);
}

/* Terminal window frame around the demo */
.window {
	border: var(--border-hair) solid var(--ink);
	background: var(--surface-sunken);
}
.window-bar {
	display: flex;
	align-items: center;
	gap: var(--space-2);
	padding: var(--space-2) var(--space-3);
	border-bottom: var(--border-hair) solid var(--ink);
}
.window-bar .dot {
	width: 10px;
	height: 10px;
	border-radius: var(--radius-pill);
	background: var(--ink-muted);
}
.window-title {
	margin-left: var(--space-2);
	color: var(--ink-muted);
}
.window pre.term {
	border: 0;
}

.tail {
	margin: var(--space-5) 0 0;
	color: var(--ink-muted);
}

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

.foot {
	border-top: var(--border-hair) solid var(--ink);
}
.foot .wrap {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: var(--space-4);
	padding-top: var(--space-5);
	padding-bottom: var(--space-6);
	color: var(--ink-muted);
	text-transform: uppercase;
}
.foot .links {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2);
}
.foot .links a {
	color: var(--ink);
}

/* ========== Responsive ========== */

@media (max-width: 860px) {
	.wrap {
		padding: 0 var(--space-4);
	}
	.hero {
		padding: var(--space-7) 0;
	}
	.hero .wrap,
	.features {
		grid-template-columns: 1fr;
	}
	.hero h1.display-xl {
		font-size: 48px;
	}
	.art .mu-label {
		margin-left: 0;
	}
	.nav .wrap {
		gap: var(--space-4);
	}
	.features .mu-cell {
		padding: var(--space-4);
	}
}
