@font-face {
	font-family: 'EB Garamond';
	src: url('/assets/fonts/eb-garamond-cyrillic.woff2') format('woff2');
	font-style: normal;
	font-weight: 400 800;
	font-display: swap;
	unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
	font-family: 'EB Garamond';
	src: url('/assets/fonts/eb-garamond-latin.woff2') format('woff2');
	font-style: normal;
	font-weight: 400 800;
	font-display: swap;
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: 'PT Sans';
	src: url('/assets/fonts/pt-sans-regular-cyrillic.woff2') format('woff2');
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
	font-family: 'PT Sans';
	src: url('/assets/fonts/pt-sans-regular-latin.woff2') format('woff2');
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: 'PT Sans';
	src: url('/assets/fonts/pt-sans-bold-cyrillic.woff2') format('woff2');
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
	font-family: 'PT Sans';
	src: url('/assets/fonts/pt-sans-bold-latin.woff2') format('woff2');
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
	color-scheme: dark;
	--iron-950: #131315;
	--iron-900: #1b1c1f;
	--iron-800: #26282c;
	--iron-700: #33363b;
	--iron-600: #61666e;
	--chalk-100: #e7e6e3;
	--chalk-300: #b9b8b4;
	--chalk-500: #7c8087;
	--coin-500: #be9a3c;
	--coin-300: #d9b75c;
	--gules-400: #d0574e;
	--serif: 'EB Garamond', Georgia, serif;
	--ui: 'PT Sans', 'Segoe UI', sans-serif;
	--shell: 72rem;
}

* { box-sizing: border-box; }

html {
	background: var(--iron-950);
	scroll-behavior: smooth;
}

body {
	margin: 0;
	background: var(--iron-950);
	color: var(--chalk-100);
	font-family: var(--ui);
	font-size: 1rem;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
}

body::before {
	content: '';
	position: fixed;
	z-index: -1;
	inset: 0;
	pointer-events: none;
	background-image: repeating-linear-gradient(135deg, transparent 0 6px, rgb(255 255 255 / 0.009) 6px 7px);
}

a { color: inherit; }
button { color: inherit; font: inherit; }

a:focus-visible,
button:focus-visible {
	outline: 2px solid var(--coin-300);
	outline-offset: 4px;
}

.shell {
	width: min(calc(100% - 3rem), var(--shell));
	margin-inline: auto;
}

.visually-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.site-header {
	position: sticky;
	z-index: 20;
	top: 0;
	background: rgb(27 28 31 / 96%);
	border-bottom: 1px solid var(--iron-700);
}

.site-header--overlay {
	position: absolute;
	inset-inline: 0;
	background: transparent;
	border-color: rgb(231 230 227 / 12%);
}

.site-header__inner {
	display: flex;
	align-items: center;
	min-height: 4.75rem;
	gap: 2rem;
}

.brand {
	display: inline-flex;
	align-items: center;
	gap: 0.7rem;
	font-size: 0.88rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-decoration: none;
	text-transform: uppercase;
}

.brand__mark {
	display: block;
	image-rendering: pixelated;
}

.site-nav {
	display: flex;
	align-items: center;
	gap: 1.7rem;
	margin-left: auto;
}

.site-nav a,
.footer-nav a,
.account-link {
	color: var(--chalk-300);
	font-size: 0.91rem;
	text-decoration: none;
}

.site-nav a:hover,
.footer-nav a:hover { color: var(--chalk-100); }

.account-link {
	padding: 0.5rem 0.82rem;
	border: 1px solid rgb(231 230 227 / 36%);
}

.account-link:hover { border-color: var(--chalk-100); color: var(--chalk-100); }

.menu-toggle {
	display: none;
	width: 2.5rem;
	height: 2.5rem;
	padding: 0.7rem 0.55rem;
	background: transparent;
	border: 1px solid rgb(231 230 227 / 28%);
	cursor: pointer;
}

.menu-toggle span[aria-hidden] {
	display: block;
	height: 1px;
	margin-block: 0.28rem;
	background: currentColor;
}

.hero {
	position: relative;
	isolation: isolate;
	display: flex;
	align-items: flex-end;
	min-height: clamp(40rem, 82svh, 56rem);
	overflow: hidden;
}

.hero::before {
	content: '';
	position: absolute;
	z-index: -2;
	inset: 0;
	background: url('/assets/images/hero-fog.webp') 50% 51% / cover no-repeat;
}

.hero::after {
	content: '';
	position: absolute;
	z-index: -1;
	inset: 0;
	background:
		linear-gradient(180deg, rgb(19 19 21 / 84%) 0, rgb(19 19 21 / 28%) 8rem, transparent 18rem),
		linear-gradient(90deg, rgb(19 19 21 / 90%) 0, rgb(19 19 21 / 68%) 28rem, transparent 68%),
		linear-gradient(0deg, var(--iron-950) 0, rgb(19 19 21 / 76%) 7rem, transparent 24rem);
}

.hero__inner {
	padding-block: 9rem clamp(5.5rem, 10vh, 7rem);
}

.hero__copy { max-width: 40rem; }

.hero h1,
.section h2,
.section h3 {
	margin: 0;
	font-family: var(--serif);
	font-weight: 600;
	text-wrap: balance;
}

.hero h1 {
	font-size: clamp(4.5rem, 10vw, 7.75rem);
	font-weight: 500;
	letter-spacing: -0.055em;
	line-height: 0.8;
}

.hero__copy > p {
	max-width: 35rem;
	margin: 2.1rem 0 0;
	color: var(--chalk-300);
	font-family: var(--serif);
	font-size: clamp(1.25rem, 2vw, 1.55rem);
	line-height: 1.4;
}

.hero__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.9rem 1.5rem;
	margin-top: 2.3rem;
}

.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 3rem;
	padding: 0.75rem 1.25rem;
	font-weight: 700;
	text-decoration: none;
}

.button--primary {
	background: var(--coin-500);
	color: #1a1508;
}

.button--primary:hover { background: var(--coin-300); }

.auth-page { min-height:70vh; padding:clamp(5rem,10vw,9rem) 0; background:linear-gradient(135deg,var(--iron-900),var(--iron-950)); }
.auth-layout { display:grid; grid-template-columns:minmax(0,680px) 1fr; gap:clamp(3rem,10vw,10rem); align-items:center; }
.auth-layout h1 { margin:.5rem 0 1rem; font-family:var(--serif); font-size:clamp(3rem,8vw,6rem); line-height:.9; }
.auth-lead { max-width:620px; font-size:1.25rem; }
.auth-panel { margin-top:2.5rem; padding:clamp(1.5rem,4vw,2.5rem); border:1px solid var(--iron-700); background:rgba(38,40,44,.72); }
.auth-panel h2 { margin-top:0; }
.auth-panel .button { margin-top:1rem; }
.auth-note { margin-top:1.25rem; color:var(--chalk-500); font-size:.9rem; }
.auth-mark { display:grid; place-items:center; }
.auth-mark img { width:min(260px,50vw); image-rendering:pixelated; filter:drop-shadow(0 1.5rem 2.5rem rgba(22,20,18,.18)); }
@media (max-width:760px) { .auth-layout { grid-template-columns:1fr; } .auth-mark { display:none; } }
.account-form { max-width:760px; }
.account-form > h1 { margin:.5rem 0 1rem; font-family:var(--serif); font-size:clamp(3rem,8vw,5rem); }
.linked-identity { display:flex; flex-direction:column; margin:2rem 0; padding-left:1rem; border-left:3px solid var(--coin-500); }
.linked-identity span { color:var(--chalk-500); }
.auth-panel label,.auth-panel input { display:block; width:100%; }
.auth-panel label { margin-bottom:.5rem; font-weight:700; }
.auth-panel input { padding:.85rem 1rem; color:var(--chalk-100); border:1px solid var(--iron-600); background:var(--iron-950); font:inherit; }
.form-error { color:var(--gules-400); font-weight:700; }
.status-list { margin-top:2.5rem; border-top:1px solid var(--iron-700); }
.status-list section { display:grid; grid-template-columns:2rem 1fr; gap:1rem; padding:1.5rem 0; border-bottom:1px solid var(--iron-700); }
.status-list section > span { color:var(--coin-300); font-family:var(--serif); font-size:1.5rem; }
.status-list h2,.status-list p { margin:0 0 .35rem; }
.status-list small { color:var(--chalk-500); overflow-wrap:anywhere; }
.status-list .button { margin-top:1rem; }
.action-notice { padding:1rem; border-left:3px solid var(--coin-500); background:var(--iron-800); }
.session-heading { display:flex; gap:1rem; align-items:baseline; justify-content:space-between; margin-top:2.5rem; border-bottom:1px solid var(--iron-700); }
.session-heading form { margin:0; }
.text-link { padding:0; color:var(--coin-300); border:0; background:none; cursor:pointer; text-decoration:underline; text-underline-offset:.25em; }
.session-list section { display:grid; grid-template-columns:1fr auto; gap:1rem; align-items:center; padding:1.25rem 0; border-bottom:1px solid var(--iron-700); }
.session-list strong,.session-list small { display:block; }
.session-list small,.session-list section > span { color:var(--chalk-500); }
.empty-state { color:var(--chalk-500); padding:1.25rem 0; border-bottom:1px solid var(--iron-700); }
.launcher-device > span { display:block; color:var(--chalk-500); font-size:.875rem; }
.launcher-device > h2 { margin:.2rem 0 1.5rem; }
.launcher-device > code { display:block; margin:.35rem 0 1.75rem; color:var(--chalk-100); font-family:var(--sans); font-size:clamp(1.75rem,7vw,3rem); font-weight:700; letter-spacing:.12em; }
.launcher-device form { display:flex; flex-wrap:wrap; gap:1.25rem; align-items:center; }
.totp-secret { display:block; padding:1rem; overflow-wrap:anywhere; color:var(--coin-300); background:var(--iron-950); font-size:1.05rem; letter-spacing:.08em; }
.admin-shell { display:grid; grid-template-columns:220px minmax(0,1fr); min-height:100vh; }
.admin-nav { display:flex; flex-direction:column; gap:.25rem; padding:1.5rem 1rem; border-right:1px solid var(--iron-700); background:var(--iron-900); }
.admin-nav .brand { margin-bottom:1.5rem; }
.admin-nav > a:not(.brand) { padding:.7rem .8rem; text-decoration:none; }
.admin-nav .is-current { color:var(--iron-950); background:var(--chalk-100); }
.admin-workspace > header { display:flex; justify-content:space-between; min-height:64px; padding:1.25rem 2rem; border-bottom:1px solid var(--iron-700); }
.admin-content { width:min(100%,1000px); padding:clamp(2rem,6vw,5rem); }
.admin-content h1 { font-family:var(--serif); font-size:clamp(3rem,7vw,5rem); }
@media(max-width:760px){.admin-shell{grid-template-columns:1fr}.admin-nav{flex-direction:row;align-items:center;border-right:0;border-bottom:1px solid var(--iron-700)}.admin-nav .brand{margin:0 auto 0 0}.admin-workspace > header{padding:1rem}.admin-content{padding:2rem 1rem}}

.text-link {
	color: var(--chalk-300);
	text-underline-offset: 0.25em;
}

.text-link:hover { color: var(--chalk-100); }

.server-address {
	display: flex;
	align-items: center;
	gap: 0.8rem;
	width: fit-content;
	margin-top: 2.35rem;
	padding-top: 1rem;
	border-top: 1px solid rgb(231 230 227 / 20%);
	font-size: 0.85rem;
}

.server-address span { color: var(--chalk-500); }
.server-address code { color: var(--chalk-100); font: inherit; }

.server-address button {
	padding: 0;
	background: transparent;
	border: 0;
	color: var(--coin-300);
	cursor: pointer;
	font-size: 0.8rem;
}

.section { border-top: 1px solid var(--iron-700); }

.section > .shell {
	padding-block: clamp(4.5rem, 9vw, 7.5rem);
}

.section-heading {
	display: grid;
	grid-template-columns: 4rem minmax(0, 1fr);
	align-items: start;
	gap: 1rem;
	margin-bottom: clamp(3rem, 6vw, 4.75rem);
}

.section-heading__index {
	margin: 0.25rem 0 0;
	color: var(--coin-500);
	font-size: 0.73rem;
	font-weight: 700;
	letter-spacing: 0.13em;
}

.section h2 {
	font-size: clamp(2rem, 4vw, 3.15rem);
	line-height: 1.08;
}

.section-heading div > p,
.section-heading--stacked > p:last-child,
.wiki-layout__intro {
	max-width: 36rem;
	margin: 0.8rem 0 0;
	color: var(--chalk-500);
}

.pillars {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pillars article {
	padding: 0 2.25rem;
	border-left: 1px solid var(--iron-700);
}

.pillars article:first-child { padding-left: 0; border-left: 0; }
.pillars article:last-child { padding-right: 0; }

.pillars span,
.steps span {
	color: var(--chalk-500);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.1em;
}

.pillars h3 {
	margin-top: 2.5rem;
	font-size: clamp(1.55rem, 3vw, 2rem);
}

.pillars p {
	max-width: 18rem;
	margin: 0.8rem 0 0;
	color: var(--chalk-300);
}

.section--start { background: var(--iron-900); }

.start-layout {
	display: grid;
	grid-template-columns: minmax(15rem, 0.8fr) minmax(25rem, 1.4fr);
	gap: clamp(3rem, 9vw, 8rem);
}

.section-heading--stacked {
	display: block;
	margin: 0;
}

.section-heading--stacked h2 { margin-top: 1.1rem; }

.steps {
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: none;
}

.steps li {
	display: grid;
	grid-template-columns: 3rem minmax(0, 1fr);
	align-items: baseline;
	gap: 1rem;
	padding: 1.25rem 0;
	border-bottom: 1px solid var(--iron-700);
}

.steps li:first-child { border-top: 1px solid var(--iron-700); }
.steps p { margin: 0; font-family: var(--serif); font-size: 1.2rem; }

.publications { border-top: 1px solid var(--iron-700); }

.publications a {
	display: grid;
	grid-template-columns: 12rem minmax(14rem, 0.8fr) minmax(16rem, 1fr);
	gap: 1.5rem;
	padding: 1.3rem 0;
	border-bottom: 1px solid var(--iron-700);
	text-decoration: none;
}

.publications span,
.publications p { color: var(--chalk-500); }
.publications p { margin: 0; }
.publications strong { font-family: var(--serif); font-size: 1.1rem; }

.section--wiki { background: var(--iron-900); }

.wiki-layout {
	display: grid;
	grid-template-columns: minmax(16rem, 0.8fr) minmax(24rem, 1.2fr);
	gap: clamp(3rem, 10vw, 9rem);
}

.wiki-layout h2 { margin-top: 1.1rem; }

.wiki-links {
	display: grid;
	align-content: start;
	border-top: 1px solid var(--iron-700);
}

.wiki-links a {
	display: flex;
	justify-content: space-between;
	gap: 2rem;
	padding: 1.2rem 0;
	border-bottom: 1px solid var(--iron-700);
	font-family: var(--serif);
	font-size: 1.17rem;
	text-decoration: none;
}

.wiki-links a:hover { color: var(--coin-300); }

.wiki-page,
.wiki-article-page,
.wiki-missing {
	background:
		radial-gradient(circle at 82% 6%, rgb(190 154 60 / 7%), transparent 30rem),
		var(--iron-950);
}

.wiki-page__hero > .shell {
	padding-block: clamp(4.5rem, 9vw, 7rem) clamp(3.5rem, 7vw, 5.5rem);
}

.wiki-page__hero--compact > .shell { padding-bottom: clamp(2.75rem, 5vw, 4rem); }

.wiki-page__hero h1,
.wiki-missing h1 {
	max-width: 52rem;
	margin: 0.9rem 0 1rem;
	font-family: var(--serif);
	font-size: clamp(3.5rem, 8vw, 6.5rem);
	letter-spacing: -0.045em;
	line-height: 0.92;
}

.wiki-page__hero > .shell > p:not(.section-heading__index),
.wiki-missing p {
	max-width: 42rem;
	margin: 0;
	color: var(--chalk-300);
	font-family: var(--serif);
	font-size: clamp(1.2rem, 2vw, 1.45rem);
}

.wiki-search {
	display: grid;
	grid-template-columns: minmax(14rem, 1fr) minmax(11rem, auto) auto;
	gap: 0.75rem;
	max-width: 52rem;
	margin-top: 2.5rem;
}

.wiki-search input,
.wiki-search select {
	min-height: 3.3rem;
	padding: 0.75rem 1rem;
	border: 1px solid var(--iron-600);
	border-radius: 0;
	background: rgb(19 19 21 / 72%);
	color: var(--chalk-100);
	font: inherit;
}

.wiki-search input:focus,
.wiki-search select:focus { border-color: var(--coin-300); outline: 0; }
.wiki-search .button { min-height: 3.3rem; }

.wiki-index,
.wiki-results { border-top: 1px solid var(--iron-700); }

.wiki-index__layout,
.wiki-results__layout {
	display: grid;
	grid-template-columns: minmax(14rem, 0.55fr) minmax(0, 1.45fr);
	gap: clamp(3rem, 9vw, 8rem);
	padding-block: clamp(4rem, 8vw, 6.5rem);
}

.wiki-kicker {
	margin: 0 0 1.5rem;
	color: var(--chalk-500);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.wiki-sections,
.wiki-materials { border-top: 1px solid var(--iron-700); }

.wiki-sections a {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1.5rem;
	padding: 1rem 0;
	border-bottom: 1px solid var(--iron-700);
	text-decoration: none;
}

.wiki-sections strong { display: block; font-family: var(--serif); font-size: 1.18rem; }
.wiki-sections small { display: block; margin-top: 0.25rem; color: var(--chalk-500); }
.wiki-sections em { color: var(--chalk-500); font-size: 0.8rem; font-style: normal; }
.wiki-sections a:hover strong { color: var(--coin-300); }

.wiki-empty {
	margin: 0;
	padding: 1.25rem 0;
	border-top: 1px solid var(--iron-700);
	border-bottom: 1px solid var(--iron-700);
	color: var(--chalk-500);
}

.wiki-materials article {
	display: grid;
	grid-template-columns: minmax(9rem, 0.45fr) minmax(14rem, 1fr) auto;
	grid-template-rows: auto auto;
	gap: 0.25rem 1.5rem;
	padding: 1.3rem 0;
	border-bottom: 1px solid var(--iron-700);
}

.wiki-materials article > p {
	grid-row: 1 / 3;
	margin: 0;
	color: var(--chalk-500);
	font-size: 0.8rem;
}

.wiki-materials h3 { margin: 0; font-family: var(--serif); font-size: 1.35rem; line-height: 1.2; }
.wiki-materials h3 a { text-decoration: none; }
.wiki-materials h3 a:hover { color: var(--coin-300); }
.wiki-materials article > div { color: var(--chalk-500); }
.wiki-materials__open { grid-column: 3; grid-row: 1 / 3; align-self: center; color: var(--coin-300); font-size: 0.82rem; }

.wiki-results__layout > aside strong { font-family: var(--serif); font-size: 1.35rem; }
.wiki-results__layout > aside p { max-width: 15rem; margin: 0.7rem 0 0; color: var(--chalk-500); }

.wiki-article {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 15rem;
	gap: clamp(3rem, 9vw, 8rem);
	padding-block: clamp(4.5rem, 9vw, 7rem);
}

.wiki-article__header > a,
.wiki-article__header > span { margin-right: 0.45rem; color: var(--chalk-500); font-size: 0.82rem; }
.wiki-article__header > a:hover { color: var(--chalk-100); }

.wiki-article__header h1 {
	max-width: 50rem;
	margin: 1.25rem 0 1rem;
	font-family: var(--serif);
	font-size: clamp(3rem, 7vw, 5.75rem);
	letter-spacing: -0.04em;
	line-height: 0.96;
}

.wiki-article__lead { max-width: 44rem; margin: 0; color: var(--chalk-300); font-family: var(--serif); font-size: clamp(1.2rem, 2vw, 1.5rem); }
.wiki-article__meta { margin: 1.5rem 0 0; color: var(--chalk-500); font-size: 0.82rem; }
.wiki-archive-notice { margin-top: 2rem; padding: 1rem 0; border-block: 1px solid var(--gules-400); color: var(--chalk-300); }
.wiki-article__cover { display: block; width: 100%; margin-top: 3rem; border: 1px solid var(--iron-700); aspect-ratio: 16 / 9; object-fit: cover; }

.wiki-prose {
	max-width: 46rem;
	margin-top: clamp(3rem, 7vw, 5rem);
	color: var(--chalk-300);
	font-family: var(--serif);
	font-size: 1.18rem;
	line-height: 1.72;
}

.wiki-prose h2,
.wiki-prose h3 { scroll-margin-top: 6rem; color: var(--chalk-100); line-height: 1.14; }
.wiki-prose h2 { margin: 3.5rem 0 1rem; font-size: 2.2rem; }
.wiki-prose h3 { margin: 2.5rem 0 0.8rem; font-size: 1.55rem; }
.wiki-prose > :first-child { margin-top: 0; }
.wiki-prose p { margin: 1rem 0; }
.wiki-prose a { color: var(--coin-300); }
.wiki-prose blockquote { margin: 2rem 0; padding: 0.3rem 0 0.3rem 1.5rem; border-left: 2px solid var(--coin-500); color: var(--chalk-100); }
.wiki-prose pre { overflow-x: auto; padding: 1rem; border: 1px solid var(--iron-700); background: var(--iron-900); font-family: monospace; font-size: 0.85rem; }
.wiki-prose code { color: var(--chalk-100); }
.wiki-prose table { width: 100%; margin: 2rem 0; border-collapse: collapse; font-family: var(--ui); font-size: 0.93rem; }
.wiki-prose th,
.wiki-prose td { padding: 0.7rem; border: 1px solid var(--iron-700); text-align: left; }

.wiki-toc {
	position: sticky;
	top: 6.5rem;
	align-self: start;
	padding-top: 1rem;
	border-top: 1px solid var(--iron-700);
}

.wiki-toc p { margin: 0 0 1rem; color: var(--chalk-500); font-size: 0.75rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; }
.wiki-toc a { display: block; padding: 0.35rem 0; color: var(--chalk-300); font-size: 0.85rem; text-decoration: none; }
.wiki-toc a:hover { color: var(--coin-300); }
.wiki-toc__nested { padding-left: 1rem !important; color: var(--chalk-500) !important; }

.wiki-missing > .shell { min-height: 65vh; padding-block: clamp(5rem, 10vw, 8rem); }
.wiki-missing .text-link { display: inline-block; margin-top: 2rem; }

.download-page {
	background:
		radial-gradient(circle at 80% 8%, rgb(190 154 60 / 8%), transparent 28rem),
		var(--iron-950);
}

.download-hero {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(18rem, 0.7fr);
	gap: clamp(2.5rem, 8vw, 7rem);
	padding-block: clamp(5rem, 9vw, 7.5rem) clamp(2.75rem, 5vw, 4rem);
}

.download-intro h1 {
	max-width: 44rem;
	margin: 1rem 0 1.5rem;
	font-family: var(--serif);
	font-size: clamp(3.4rem, 7vw, 5.75rem);
	letter-spacing: -0.045em;
	line-height: 0.92;
}

.download-lead {
	max-width: 40rem;
	margin: 0;
	color: var(--chalk-300);
	font-family: var(--serif);
	font-size: clamp(1.2rem, 2vw, 1.5rem);
}

.download-action {
	align-self: end;
	padding: 1.5rem 0 0 2rem;
	border-left: 1px solid var(--iron-700);
}

.button--download { width: 100%; min-height: 4rem; font-size: 1.05rem; }
.download-action p { margin: 1rem 0 0; color: var(--chalk-500); font-size: 0.85rem; }

.release-details {
	grid-column: 1 / -1;
	margin: 0;
	border-top: 1px solid var(--iron-700);
}

.release-details > div {
	display: grid;
	grid-template-columns: 10rem minmax(0, 1fr);
	gap: 1.5rem;
	padding: 1rem 0;
	border-bottom: 1px solid var(--iron-700);
}

.release-details dt { color: var(--chalk-500); font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.09em; }
.release-details dd { margin: 0; color: var(--chalk-300); }
.release-details code { overflow-wrap: anywhere; color: var(--chalk-300); font-size: 0.78rem; }
.release-details button { margin-left: 1rem; padding: 0; border: 0; background: none; color: var(--coin-300); cursor: pointer; font-size: 0.8rem; }

.download-unavailable {
	align-self: end;
	padding: 1.5rem 0 0 2rem;
	border-left: 2px solid var(--gules-400);
}

.download-unavailable h2 { margin: 0; font-size: 1.25rem; }
.download-unavailable p { margin: 0.6rem 0 0; color: var(--chalk-500); }
.download-section { border-top: 1px solid var(--iron-700); }
.download-section > .shell { padding-block: clamp(4rem, 8vw, 6.5rem); }
.download-section--muted { background: var(--iron-900); }
.download-section .section-heading h2 { font-size: clamp(2rem, 4vw, 3.15rem); line-height: 1.08; }

.download-features {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.download-features article { padding: 0 2.25rem; border-left: 1px solid var(--iron-700); }
.download-features article:first-child { padding-left: 0; border-left: 0; }
.download-features article:last-child { padding-right: 0; }
.download-features span { color: var(--chalk-500); font-size: 0.72rem; letter-spacing: 0.1em; }
.download-features h3 { margin: 2rem 0 0.7rem; font-family: var(--serif); font-size: 1.65rem; }
.download-features p { max-width: 20rem; margin: 0; color: var(--chalk-300); }

.first-launch {
	display: grid;
	grid-template-columns: minmax(15rem, 0.75fr) minmax(25rem, 1.25fr);
	gap: clamp(3rem, 9vw, 8rem);
}

.first-launch h2 { margin: 1rem 0 0; font-size: clamp(2rem, 4vw, 3.15rem); }
.first-launch ol { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--iron-700); }
.first-launch li { display: grid; grid-template-columns: 2rem minmax(0, 1fr); gap: 1rem; padding: 1.15rem 0; border-bottom: 1px solid var(--iron-700); font-family: var(--serif); font-size: 1.15rem; }
.first-launch li span { color: var(--coin-500); font-family: var(--ui); font-size: 0.75rem; }

.other-platforms { border-top: 1px solid var(--iron-700); border-bottom: 1px solid var(--iron-700); }
.other-platforms summary { padding: 1.2rem 0; cursor: pointer; font-family: var(--serif); font-size: 1.35rem; }
.other-platforms > div { border-top: 1px solid var(--iron-700); }
.other-platforms a { display: grid; grid-template-columns: minmax(10rem, 0.5fr) minmax(0, 1fr); gap: 1rem; padding: 1rem 0; border-bottom: 1px solid var(--iron-700); text-decoration: none; }
.other-platforms a:last-child { border-bottom: 0; }
.other-platforms a:hover strong { color: var(--coin-300); }
.other-platforms span { color: var(--chalk-500); overflow-wrap: anywhere; }

.site-footer { border-top: 1px solid var(--iron-700); }

.site-footer__inner {
	display: grid;
	grid-template-columns: auto auto minmax(0, 1fr);
	align-items: center;
	gap: 2rem;
	min-height: 8rem;
}

.site-footer__address { margin: 0; color: var(--chalk-500); font-size: 0.85rem; }

.footer-nav {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 0.75rem 1.4rem;
}

.footer-nav a { font-size: 0.8rem; }

@media (max-width: 760px) {
	.shell { width: min(calc(100% - 2rem), var(--shell)); }
	.site-header__inner { min-height: 4.25rem; gap: 0.7rem; }
	.brand__name { display: none; }
	.account-link { margin-left: auto; }
	.menu-toggle { display: block; }
	.site-nav {
		position: absolute;
		top: calc(100% + 1px);
		inset-inline: 0;
		display: none;
		align-items: stretch;
		gap: 0;
		margin: 0;
		padding: 0.65rem 1rem 1rem;
		background: var(--iron-900);
		border-bottom: 1px solid var(--iron-700);
	}
	.site-nav[data-open] { display: grid; }
	.site-nav a { padding: 0.8rem 0; border-bottom: 1px solid var(--iron-700); }
	.hero { min-height: max(42rem, 92svh); }
	.hero::before { background-position: 54% 50%; }
	.hero::after {
		background:
			linear-gradient(180deg, rgb(19 19 21 / 86%) 0, rgb(19 19 21 / 18%) 8rem, transparent 17rem),
			linear-gradient(0deg, var(--iron-950) 0, rgb(19 19 21 / 88%) 18rem, transparent 78%);
	}
	.hero__inner { padding-block: 8rem 5rem; }
	.hero h1 { font-size: clamp(4.25rem, 22vw, 6.5rem); }
	.hero__copy > p { font-size: 1.2rem; }
	.server-address { display: grid; grid-template-columns: auto auto; }
	.server-address button { grid-column: 1 / -1; width: fit-content; }
	.section-heading { grid-template-columns: 2.5rem minmax(0, 1fr); }
	.pillars { grid-template-columns: 1fr; }
	.pillars article,
	.pillars article:first-child,
	.pillars article:last-child {
		padding: 1.5rem 0;
		border-top: 1px solid var(--iron-700);
		border-left: 0;
	}
	.pillars article:last-child { border-bottom: 1px solid var(--iron-700); }
	.pillars h3 { margin-top: 1rem; }
	.start-layout,
	.wiki-layout { grid-template-columns: 1fr; gap: 3rem; }
	.wiki-search { grid-template-columns: 1fr; }
	.wiki-index__layout,
	.wiki-results__layout,
	.wiki-article { grid-template-columns: 1fr; gap: 3rem; }
	.wiki-materials article { grid-template-columns: 1fr; grid-template-rows: auto; gap: 0.35rem; }
	.wiki-materials article > p,
	.wiki-materials__open { grid-column: 1; grid-row: auto; }
	.wiki-materials__open { margin-top: 0.65rem; }
	.wiki-article > div { display: contents; }
	.wiki-article__header { grid-row: 1; }
	.wiki-toc { position: static; grid-row: 2; }
	.wiki-article__cover { grid-row: 3; margin-top: 0; }
	.wiki-prose { grid-row: 4; margin-top: 0; font-size: 1.08rem; }
	.publications a { grid-template-columns: 1fr; gap: 0.35rem; }
	.download-hero,
	.first-launch { grid-template-columns: 1fr; gap: 3rem; }
	.download-action,
	.download-unavailable { padding-left: 0; padding-top: 1.5rem; border-top: 1px solid var(--iron-700); border-left: 0; }
	.release-details > div { grid-template-columns: 1fr; gap: 0.45rem; }
	.release-details button { display: block; margin: 0.6rem 0 0; }
	.download-features { grid-template-columns: 1fr; }
	.download-features article,
	.download-features article:first-child,
	.download-features article:last-child { padding: 1.5rem 0; border-top: 1px solid var(--iron-700); border-left: 0; }
	.download-features article:last-child { border-bottom: 1px solid var(--iron-700); }
	.download-features h3 { margin-top: 0.75rem; }
	.other-platforms a { grid-template-columns: 1fr; gap: 0.2rem; }
	.site-footer__inner { grid-template-columns: 1fr; gap: 1rem; padding-block: 2.5rem; }
	.footer-nav { justify-content: flex-start; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
}
