@font-face {
	font-family: Fraunces;
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url("../fonts/fraunces-latin-500-normal.woff2") format("woff2");
}
@font-face {
	font-family: Fraunces;
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url("../fonts/fraunces-latin-700-normal.woff2") format("woff2");
}
@font-face {
	font-family: "Source Serif 4";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/source-serif-4-latin-400-normal.woff2") format("woff2");
}
@font-face {
	font-family: "Source Serif 4";
	font-style: italic;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/source-serif-4-latin-400-italic.woff2") format("woff2");
}
@font-face {
	font-family: "Source Serif 4";
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url("../fonts/source-serif-4-latin-600-normal.woff2") format("woff2");
}
@font-face {
	font-family: "IBM Plex Mono";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/plex-mono-400.woff2") format("woff2");
}
@font-face {
	font-family: "IBM Plex Mono";
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url("../fonts/plex-mono-500.woff2") format("woff2");
}

:root {
	--ps-display: Fraunces, Georgia, "Times New Roman", serif;
	--ps-body: "Source Serif 4", Palatino, "Palatino Linotype", serif;
	--ps-mono: "IBM Plex Mono", ui-monospace, "Cascadia Mono", monospace;
	--void: #07080c;
	--bench: #0e1219;
	--panel: #161b26;
	--ink: #14161c;
	--paper: #f4f6fa;
	--paper-2: #e4e8f0;
	--ivory: #e8eef8;
	--muted: #b4c0d4;
	--copper: #3ec5ff;
	--link: #9ad7ff;
	--link-paper: #0c3d86;
	--amber: #ff5a1f;
	--filament: #ffe14a;
	--phosphor: #c8ff6a;
	--danger: #ff3b30;
	--oxide: #3dff84;
	--arc: #3ec5ff;
	--magenta: #e14bff;
	--steel: #8ea0b8;
	color-scheme: dark;
}

html.ps-power-paper {
	--void: #f5f7fb;
	--bench: #e7ebf2;
	--panel: #dde3ee;
	--ivory: #14161c;
	--muted: #3d4658;
	--link: #0c3d86;
	--copper: #0c4a8a;
	--filament: #ffe14a;
	--arc: #0b4f8a;
	--magenta: #7a1b8a;
	--link-paper: #0c3d86;
	color-scheme: light;
}

*,
*::before,
*::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
	margin: 0;
	background: var(--void);
	color: var(--ivory);
	font-family: var(--ps-body);
	font-size: 1.125rem;
	line-height: 1.65;
	overflow-x: clip;
}

body::before {
	content: "";
	position: fixed;
	inset: 0;
	pointer-events: none;
	z-index: 80;
	opacity: 0.045;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.85'/%3E%3C/svg%3E");
}

:focus:not(:focus-visible) { outline: none; }
:focus-visible {
	outline: 2px solid var(--filament);
	outline-offset: 3px;
}
html.ps-power-paper :focus-visible { outline-color: #0c3d86; }

::selection { background: #e14bff; color: #140814; }

img { max-width: 100%; height: auto; display: block; }
h1, h2, h3, h4 { font-family: var(--ps-display); font-weight: 500; line-height: 1.12; letter-spacing: -0.02em; }
p { margin: 0 0 1rem; }
a { color: var(--link); }
.ps-sr {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.wp-site-blocks { position: relative; z-index: 1; min-height: 100vh; }
.wp-site-blocks > * { margin-block-start: 0; margin-block-end: 0; }

.ps-skip {
	position: absolute;
	left: 0.75rem;
	top: -4rem;
	z-index: 90;
	background: var(--filament);
	color: #14120a;
	padding: 0.6rem 0.9rem;
	text-decoration: none;
}
.ps-skip:focus { top: 0.75rem; }

.ps-mast {
	position: sticky;
	top: 0;
	z-index: 40;
	background: color-mix(in srgb, var(--void) 86%, transparent);
	border-bottom: 1px solid color-mix(in srgb, var(--arc) 70%, transparent);
	box-shadow: 0 1px 0 color-mix(in srgb, var(--magenta) 45%, transparent), 0 12px 40px rgba(0, 0, 0, 0.28);
}
.ps-mast__row {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	max-width: none;
	margin: 0 auto;
	padding: 0.5rem clamp(0.9rem, 2vw, 2rem);
}
.ps-brand {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 44px;
	color: var(--ivory);
	text-decoration: none;
}
.ps-brand__index {
	font-family: var(--ps-mono);
	font-size: 0.68rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--copper);
}
.ps-brand__name {
	font-family: var(--ps-display);
	font-weight: 700;
	font-size: 1.2rem;
	letter-spacing: 0.01em;
	line-height: 1;
}
.ps-nav { margin-left: auto; }
.ps-nav__list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.15rem;
	list-style: none;
	margin: 0;
	padding: 0;
}
.ps-nav__list a,
.ps-contact-link {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0 0.5rem;
	color: var(--ivory);
	text-decoration: none;
	font-family: var(--ps-mono);
	font-size: 0.75rem;
	letter-spacing: 0.04em;
}
.ps-nav__list a[aria-current="page"] {
	color: var(--filament);
	box-shadow: inset 0 -2px 0 var(--copper);
}
.ps-mast__tools { display: flex; align-items: center; gap: 0.35rem; }
.ps-door { display: none; }

.ps-power,
.ps-console-key,
.ps-door,
.ps-text-btn,
.ps-search button {
	min-height: 44px;
	min-width: 44px;
	border: 1px solid color-mix(in srgb, var(--copper) 70%, transparent);
	background: transparent;
	color: var(--ivory);
	font-family: var(--ps-mono);
	font-size: 0.72rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	cursor: pointer;
}
.ps-power {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0 0.7rem;
}
.ps-power__lamp {
	width: 0.55rem;
	height: 0.55rem;
	border-radius: 50%;
	background: var(--oxide);
	box-shadow: 0 0 6px var(--oxide);
}
.ps-keycap {
	display: block;
	width: 0.95rem;
	height: 0.7rem;
	margin: 0 auto;
	border: 1px solid var(--copper);
	border-bottom-width: 3px;
	border-radius: 2px;
}
.ps-tubes {
	display: flex;
	justify-content: flex-end;
	gap: 0.35rem;
	max-width: none;
	margin: 0 auto;
	padding: 0 clamp(0.9rem, 2vw, 2rem) 0.4rem;
}
.ps-tube { width: 18px; height: 32px; color: #243044; }
.ps-tube rect:first-of-type { fill: rgba(12, 20, 32, 0.4); stroke: currentColor; }
.ps-tube__filament { fill: #1a2433; }
.ps-tube.is-lit { color: #8fd4ff; }
.ps-tube.is-lit .ps-tube__filament { fill: var(--arc); filter: drop-shadow(0 0 4px var(--arc)); }
.ps-tube:nth-child(2).is-lit { color: #b6ff6a; }
.ps-tube:nth-child(2).is-lit .ps-tube__filament { fill: var(--oxide); filter: drop-shadow(0 0 4px var(--oxide)); }
.ps-tube:nth-child(3).is-lit { color: #f0a0ff; }
.ps-tube:nth-child(3).is-lit .ps-tube__filament { fill: var(--magenta); filter: drop-shadow(0 0 4px var(--magenta)); }
.ps-tube path { stroke: currentColor; fill: none; }

.ps-main { padding: 1.4rem 1rem 4rem; }
.ps-hero,
.ps-section,
.ps-sheet,
.ps-fuse { max-width: 1120px; margin-inline: auto; }
.ps-hero {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(16rem, 0.85fr);
	gap: 1.75rem;
	align-items: end;
}
.ps-kicker {
	font-family: var(--ps-mono);
	font-size: 0.75rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--magenta);
	margin-bottom: 0.4rem;
}
.ps-hero h1 {
	font-size: clamp(3.1rem, 8vw, 6.2rem);
	font-weight: 700;
	margin: 0 0 0.4rem;
	letter-spacing: -0.035em;
	line-height: 0.92;
	text-shadow: 0 0 28px rgba(62, 197, 255, 0.28);
}
.ps-lead { font-size: clamp(1.2rem, 2vw, 1.45rem); margin-bottom: 0.6rem; }
.ps-deck { color: var(--muted); max-width: 42rem; }
.ps-hero__actions { display: flex; flex-wrap: wrap; gap: 0.6rem; margin-top: 1.2rem; }
.ps-hero__side { display: grid; gap: 0.8rem; }
.ps-frame {
	padding: 0.45rem;
	background: #07080c;
	border: 1px solid color-mix(in srgb, var(--arc) 75%, transparent);
	box-shadow: 0 0 0 1px color-mix(in srgb, var(--magenta) 45%, transparent), 0 0 28px rgba(62, 197, 255, 0.28);
}
.ps-hero__photo figcaption,
.ps-meter figcaption {
	font-family: var(--ps-mono);
	font-size: 0.72rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--muted);
	margin-top: 0.35rem;
}

.ps-meter__well { position: relative; }
.ps-meter__face { width: 100%; height: auto; color: var(--arc); filter: drop-shadow(0 0 8px rgba(62, 197, 255, 0.45)); }
.ps-meter__face text {
	fill: currentColor;
	font-family: var(--ps-mono);
	font-size: 11px;
	letter-spacing: 0.22em;
}
.ps-needle {
	position: absolute;
	left: 50%;
	bottom: 14%;
	width: 2px;
	height: 42%;
	background: linear-gradient(var(--filament), var(--danger));
	border-radius: 2px;
	transform-origin: center bottom;
	transform: translateX(-50%) rotate(var(--ps-angle, 0deg));
	transition: transform 0.45s ease;
}
.ps-needle::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: -5px;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--arc);
	box-shadow: 0 0 8px var(--arc);
	transform: translateX(-50%);
}

.ps-lamps {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 0.55rem;
	max-width: 1120px;
	margin: 1.6rem auto 0;
}
.ps-lamp {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.35rem;
	min-height: 5.5rem;
	padding: 0.75rem;
	text-decoration: none;
	color: var(--ivory);
	background: color-mix(in srgb, var(--panel) 88%, transparent);
	border: 1px solid color-mix(in srgb, var(--arc) 35%, transparent);
}
.ps-lamp.is-live { box-shadow: inset 0 3px 0 var(--filament), 0 0 22px rgba(255, 225, 74, 0.16); }
.ps-lamp.is-testing { box-shadow: inset 0 3px 0 var(--arc), 0 0 22px rgba(62, 197, 255, 0.18); }
.ps-lamp.is-bench { box-shadow: inset 0 3px 0 var(--magenta), 0 0 22px rgba(225, 75, 255, 0.16); }
.ps-lamp.is-failed { box-shadow: inset 0 3px 0 var(--danger), 0 0 22px rgba(255, 59, 48, 0.18); }
.ps-lamp.is-survived { box-shadow: inset 0 3px 0 var(--oxide), 0 0 22px rgba(61, 255, 132, 0.16); }
.ps-lamp:hover,
.ps-lamp:focus-visible { border-color: var(--copper); }
.ps-lamp__name { font-family: var(--ps-mono); font-size: 0.72rem; letter-spacing: 0.04em; text-transform: uppercase; }
.ps-lamp__count { font-family: var(--ps-mono); color: var(--filament); font-size: 1.15rem; }
.ps-lamp__bulb,
.ps-bulb {
	width: 0.8rem;
	height: 0.8rem;
	border-radius: 50%;
	background: var(--steel);
	box-shadow: inset 0 -2px 0 rgba(0, 0, 0, 0.35);
	display: inline-block;
	flex: none;
}
.ps-lamp.is-live .ps-lamp__bulb,
.ps-bulb.is-live,
.is-live > a .ps-bulb,
.ps-kicker .ps-bulb.is-live,
.is-live .ps-bulb { background: var(--filament); box-shadow: 0 0 10px var(--filament); }
.ps-lamp.is-testing .ps-lamp__bulb,
.ps-bulb.is-testing,
.is-testing .ps-bulb { background: var(--arc); box-shadow: 0 0 10px var(--arc); }
.ps-lamp.is-bench .ps-lamp__bulb,
.ps-bulb.is-bench,
.is-bench .ps-bulb { background: var(--magenta); box-shadow: 0 0 10px var(--magenta); }
.ps-lamp.is-failed .ps-lamp__bulb,
.ps-bulb.is-failed,
.is-failed .ps-bulb { background: var(--danger); box-shadow: 0 0 10px var(--danger); }
.ps-lamp.is-survived .ps-lamp__bulb,
.ps-bulb.is-survived,
.is-survived .ps-bulb { background: var(--oxide); box-shadow: 0 0 10px var(--oxide); }

.ps-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0.55rem 1rem;
	background: var(--filament);
	color: #14120a;
	text-decoration: none;
	font-family: var(--ps-mono);
	font-size: 0.75rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	border: 1px solid transparent;
	border-radius: 2px;
	cursor: pointer;
}
.ps-btn:hover { background: var(--arc); color: #071018; }
.ps-btn--ghost {
	background: transparent;
	color: var(--ivory);
	border-color: var(--arc);
}
.ps-btn--ghost:hover { background: var(--magenta); color: #140814; }

.ps-section { margin-top: 3rem; }
.ps-section__head {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 1rem;
	margin-bottom: 0.9rem;
}
.ps-section__head h2 { margin: 0; font-size: clamp(1.7rem, 3vw, 2.3rem); }
.ps-section__head a {
	font-family: var(--ps-mono);
	font-size: 0.75rem;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	text-decoration: none;
}
.ps-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
	gap: 0.9rem;
}
.ps-card {
	background: var(--paper);
	color: var(--ink);
	border: 1px solid #d5dbe6;
	box-shadow: 0 14px 30px rgba(0, 0, 0, 0.35), inset 4px 0 0 var(--arc);
}
.ps-card.is-live { box-shadow: 0 14px 30px rgba(0, 0, 0, 0.35), inset 4px 0 0 var(--filament); }
.ps-card.is-testing { box-shadow: 0 14px 30px rgba(0, 0, 0, 0.35), inset 4px 0 0 var(--arc); }
.ps-card.is-bench { box-shadow: 0 14px 30px rgba(0, 0, 0, 0.35), inset 4px 0 0 var(--magenta); }
.ps-card.is-failed { box-shadow: 0 14px 30px rgba(0, 0, 0, 0.35), inset 4px 0 0 var(--danger); }
.ps-card.is-survived { box-shadow: 0 14px 30px rgba(0, 0, 0, 0.35), inset 4px 0 0 var(--oxide); }
.ps-card:nth-child(even) { transform: rotate(0.35deg); }
.ps-card:nth-child(odd) { transform: rotate(-0.25deg); }
.ps-card__link {
	display: flex;
	flex-direction: column;
	min-height: 100%;
	color: inherit;
	text-decoration: none;
}
.ps-card__media img { width: 100%; height: 11rem; object-fit: cover; }
.ps-card__body { padding: 0.95rem 1rem 1.1rem; }
.ps-card__kicker,
.ps-card__status {
	display: flex;
	align-items: center;
	gap: 0.4rem;
	margin: 0;
	font-family: var(--ps-mono);
	font-size: 0.7rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #3d4658;
}
.ps-card h3 { margin: 0.35rem 0; font-size: 1.55rem; }
.ps-card p { color: #2c3340; }
.ps-card__status { margin-top: 0.6rem; color: #3d4658; }
.ps-empty { color: var(--muted); font-style: italic; }

.ps-board { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.45rem; }
.ps-board a {
	display: grid;
	grid-template-columns: auto 1fr;
	column-gap: 0.75rem;
	align-items: center;
	min-height: 44px;
	padding: 0.7rem 0.8rem;
	text-decoration: none;
	color: var(--ivory);
	background: var(--panel);
	border: 1px solid color-mix(in srgb, var(--copper) 30%, transparent);
}
.ps-board__name {
	font-family: var(--ps-mono);
	font-size: 0.72rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}
.ps-board__item { grid-column: 2; color: var(--muted); }

.ps-apparatus {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	gap: 1.4rem;
	align-items: center;
}
.ps-apparatus__photo img,
.ps-about-photo img,
.ps-specimen img { width: 100%; height: auto; }
.ps-about-photo { margin: 0 0 1.2rem; }

.ps-sheet { padding-top: 0.4rem; }
.ps-dossier > h1,
.ps-page > h1,
.ps-shelf-head h1 {
	font-size: clamp(2.4rem, 6vw, 4.4rem);
	margin: 0.2rem 0 0.6rem;
}
.ps-crumbs ol {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem 0.5rem;
	list-style: none;
	margin: 0 0 1rem;
	padding: 0;
	font-family: var(--ps-mono);
	font-size: 0.72rem;
	letter-spacing: 0.04em;
}
.ps-crumbs a { text-decoration: none; }
.ps-crumbs li:not(:last-child)::after { content: "/"; margin-left: 0.5rem; color: var(--muted); }
.ps-facts {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1.2rem;
	font-family: var(--ps-mono);
	font-size: 0.8rem;
	color: var(--muted);
}
.ps-ticks { display: inline-flex; gap: 3px; margin-left: 0.35rem; vertical-align: middle; }
.ps-ticks i { width: 8px; height: 14px; background: #2a3344; display: block; font-style: normal; }
.ps-ticks i.is-on { background: var(--amber); }
.ps-outcome {
	margin: 1.2rem 0;
	padding: 0.2rem 0 0.2rem 1rem;
	border-left: 3px solid var(--copper);
}
.ps-dossier.is-failed .ps-outcome { border-left-color: var(--danger); }
.ps-specimen { margin: 1rem 0; }
.ps-paper {
	background: var(--paper);
	color: var(--ink);
	padding: clamp(1.15rem, 3vw, 2.3rem);
	margin-top: 1rem;
	border: 1px solid #d5dbe6;
}
.ps-paper h1,
.ps-paper h2,
.ps-paper h3 { color: var(--ink); }
.ps-paper h1 { font-size: clamp(2.1rem, 4vw, 3.2rem); }
.ps-paper a { color: var(--link-paper); }
.ps-paper p,
.ps-paper li { max-width: 68ch; }
.ps-paper .ps-lead { color: #2c3340; }
.ps-note .ps-kicker,
.ps-page .ps-kicker { margin-bottom: 0; }
.ps-form-card { margin-top: 1.2rem; }
.ps-form label,
.ps-search label {
	display: block;
	margin-bottom: 0.3rem;
	font-family: var(--ps-mono);
	font-size: 0.72rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}
.ps-form label span { text-transform: none; letter-spacing: 0; color: #3d4658; }
.ps-form input,
.ps-form textarea,
.ps-search input {
	width: 100%;
	min-height: 44px;
	padding: 0.55rem 0.7rem;
	font: inherit;
	color: var(--ink);
	background: #ffffff;
	border: 1px solid #c5ceda;
	border-radius: 2px;
}
.ps-form textarea { min-height: 9rem; }
.ps-form p { margin: 0 0 0.9rem; }
.ps-hp {
	position: absolute;
	left: -9999px;
	height: 0;
	overflow: hidden;
}
.ps-form__status { color: #215c32; }
.ps-form__error { color: #8d2418; }
.ps-search { display: grid; gap: 0.4rem; align-content: start; }
.ps-search button { padding: 0 0.9rem; }

.ps-legend { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.55rem; }
.ps-legend a {
	display: flex;
	gap: 0.75rem;
	align-items: center;
	min-height: 44px;
	color: var(--ivory);
	text-decoration: none;
}
.ps-legend strong { display: block; font-family: var(--ps-mono); font-size: 0.78rem; letter-spacing: 0.05em; text-transform: uppercase; }
.ps-legend em { display: block; font-style: normal; color: var(--muted); }

.ps-pager { margin-top: 1.4rem; }
.ps-pager ul { display: flex; flex-wrap: wrap; gap: 0.4rem; list-style: none; margin: 0; padding: 0; }
.ps-pager a,
.ps-pager span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
	padding: 0 0.7rem;
	color: var(--ivory);
	text-decoration: none;
	border: 1px solid color-mix(in srgb, var(--copper) 45%, transparent);
	font-family: var(--ps-mono);
	font-size: 0.75rem;
}
.ps-pager .current { color: var(--filament); border-color: var(--copper); }

.ps-fuse { min-height: 46vh; padding-top: 2rem; }
.ps-fuse__lamp {
	width: 1.1rem;
	height: 1.1rem;
	border-radius: 50%;
	background: #2a1218;
	box-shadow: inset 0 0 0 2px var(--danger), 0 0 14px rgba(255, 59, 48, 0.45);
	margin-bottom: 0.8rem;
}
.ps-fuse .ps-search { max-width: 28rem; margin: 1rem 0; }

.ps-related { margin-top: 2rem; }
.ps-related h2 { font-size: 1.6rem; }

.ps-foot {
	background: var(--bench);
	border-top: 1px solid color-mix(in srgb, var(--copper) 45%, transparent);
	padding: 2.2rem 1rem 1.6rem;
}
.ps-foot__grid {
	max-width: 1120px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1.3fr 0.8fr 1fr;
	gap: 1.5rem;
}
.ps-plate-no {
	font-family: var(--ps-mono);
	font-size: 0.7rem;
	letter-spacing: 0.14em;
	color: var(--magenta);
	margin: 0;
}
.ps-foot__name { font-family: var(--ps-display); font-size: 1.7rem; margin: 0.25rem 0; }
.ps-foot__links { list-style: none; margin: 0; padding: 0; }
.ps-foot__links a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	color: var(--ivory);
	text-decoration: none;
}
.ps-warning {
	max-width: 1120px;
	margin: 1.2rem auto 0;
	font-family: var(--ps-mono);
	font-size: 0.72rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--muted);
}

.ps-paper table { width: 100%; border-collapse: collapse; max-width: none; }
.ps-paper th,
.ps-paper td { border-bottom: 1px solid #d5dbe6; text-align: left; padding: 0.55rem 0.4rem; vertical-align: top; }
.ps-paper th { font-family: var(--ps-mono); font-size: 0.72rem; letter-spacing: 0.06em; text-transform: uppercase; }
.ps-paper .wp-block-pullquote {
	border-top: 1px solid var(--magenta);
	border-bottom: 1px solid var(--magenta);
	padding: 0.4rem 0;
	margin: 1.4rem 0;
	color: var(--ink);
}
.ps-paper .wp-block-pullquote blockquote { margin: 0; }
.ps-paper .wp-block-pullquote p {
	font-family: var(--ps-display);
	font-size: clamp(1.5rem, 3vw, 2rem);
	line-height: 1.25;
	max-width: 24ch;
}
.ps-paper code {
	font-family: var(--ps-mono);
	font-size: 0.86em;
	background: var(--paper-2);
	padding: 0.05em 0.3em;
}

.ps-cabinet,
.ps-console { border: 0; }
.ps-cabinet {
	width: 100vw;
	height: 100dvh;
	max-width: 100vw;
	max-height: 100dvh;
	margin: 0;
	padding: 1.2rem;
	background: var(--void);
	color: var(--ivory);
}
.ps-cabinet__top,
.ps-console__top { display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.ps-cabinet .ps-nav__list { flex-direction: column; margin-top: 1rem; }
.ps-cabinet .ps-nav__list a {
	font-family: var(--ps-display);
	font-size: clamp(1.8rem, 6vw, 2.6rem);
	letter-spacing: 0;
	text-transform: none;
	min-height: 52px;
}
.ps-cabinet .ps-btn { margin-top: 1rem; }
.ps-cabinet::backdrop,
.ps-console::backdrop { background: rgba(4, 6, 12, 0.82); }

.ps-console {
	width: min(42rem, calc(100% - 1.5rem));
	padding: 0;
	background: #1a1e16;
	color: var(--phosphor);
	border: 1px solid #6d7a52;
}
.ps-console__bezel { padding: 0.85rem; }
.ps-console h2 {
	margin: 0;
	font-family: var(--ps-mono);
	font-size: 0.78rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	font-weight: 500;
}
.ps-console .ps-text-btn { color: var(--phosphor); border-color: #6d7a52; }
.ps-console__screen {
	margin-top: 0.7rem;
	min-height: 14rem;
	max-height: 46vh;
	overflow: auto;
	padding: 0.8rem;
	background: #12140f;
	color: #e7ffc4;
	font-family: var(--ps-mono);
	font-size: 0.85rem;
	line-height: 1.45;
}
.ps-console__line { margin: 0 0 0.35rem; }
.ps-console__line.is-cmd { color: #ffd27a; }
.ps-console__line.is-cmd::before { content: "> "; }
.ps-console__form { display: flex; gap: 0.45rem; margin-top: 0.65rem; }
.ps-console__form label {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
}
.ps-console__form input {
	flex: 1;
	min-height: 44px;
	padding: 0 0.65rem;
	background: #0e100c;
	color: #e7ffc4;
	border: 1px solid #3d4a32;
	font-family: var(--ps-mono);
	font-size: 0.9rem;
}
.ps-console__form button {
	min-height: 44px;
	padding: 0 0.9rem;
	background: #d6f5a0;
	color: #14160f;
	border: 0;
	font-family: var(--ps-mono);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	cursor: pointer;
}

body.ps-canvas-page {
	background:
		radial-gradient(ellipse at 18% 0%, rgba(225, 75, 255, 0.32), transparent 46%),
		radial-gradient(ellipse at 84% 100%, rgba(62, 197, 255, 0.26), transparent 48%),
		var(--void);
	color: var(--ivory);
}
.ps-return {
	position: fixed;
	z-index: 30;
	top: 0.75rem;
	left: 0.75rem;
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0 0.85rem;
	color: var(--ivory);
	text-decoration: none;
	border: 1px solid color-mix(in srgb, var(--arc) 70%, transparent);
	font-family: var(--ps-mono);
	font-size: 0.72rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	background: rgba(7, 8, 12, 0.72);
}
.ps-canvas { min-height: 100vh; }
.ps-poster {
	max-width: 940px;
	margin: 0 auto;
	padding: 6.5rem 1.2rem 3rem;
	text-align: center;
}
.ps-poster h1 {
	font-size: clamp(3.3rem, 9vw, 6.8rem);
	font-weight: 500;
	line-height: 0.9;
	margin: 0.2rem 0 0.8rem;
	color: #f4f7ff;
	text-shadow: 0 0 28px rgba(225, 75, 255, 0.35);
}
.ps-poster > p,
.ps-poster .wp-block-paragraph { color: #d5deee; font-size: 1.3rem; }
.ps-poster__lamp { margin: 1.2rem auto; }
.ps-poster__lamp img { width: min(100%, 760px); margin-inline: auto; }
.ps-claims {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
	margin: 1.5rem 0;
	text-align: left;
}
.ps-claims .wp-block-column {
	padding: 1rem;
	background: rgba(10, 14, 22, 0.72);
	border-top: 2px solid var(--filament);
}
.ps-claims h3 { margin-top: 0; font-size: 1.5rem; }
.ps-canvas .wp-block-details {
	text-align: left;
	border-top: 1px solid color-mix(in srgb, var(--arc) 55%, transparent);
	padding: 0.35rem 0;
}
.ps-canvas summary {
	min-height: 44px;
	display: flex;
	align-items: center;
	cursor: pointer;
	font-family: var(--ps-display);
	font-size: 1.35rem;
}
.ps-canvas .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	margin-top: 1rem;
	padding: 0.8rem 1.5rem;
	border-radius: 999px;
	background: var(--filament);
	color: #14120a;
	text-decoration: none;
	font-family: var(--ps-display);
	font-size: 1.3rem;
}

html.ps-power-hot .ps-power__lamp {
	background: var(--filament);
	box-shadow: 0 0 10px var(--amber);
}
html.ps-power-hot .ps-tube__filament { fill: #ff7a1a; }
html.ps-power-hot .ps-labscape { filter: saturate(1.25) brightness(1.08); }
html.ps-power-paper .ps-power__lamp {
	background: #fffdf8;
	box-shadow: none;
	border: 1px solid var(--ink);
}
html.ps-power-paper .ps-card,
html.ps-power-paper .ps-paper,
html.ps-power-paper .ps-lamp,
html.ps-power-paper .ps-board a { box-shadow: none; }
html.ps-power-paper .ps-mast { background: color-mix(in srgb, var(--void) 94%, transparent); }
html.ps-power-paper .ps-hero h1,
html.ps-power-paper .ps-poster h1 { text-shadow: none; color: var(--ink); }
html.ps-power-paper .ps-labscape { display: none; }
html.ps-power-paper .ps-frame { box-shadow: none; }
html.ps-power-paper body.ps-canvas-page { background: var(--void); color: var(--ink); }
html.ps-power-paper .ps-poster .wp-block-paragraph,
html.ps-power-paper .ps-poster > p { color: #2a3140; }
html.ps-power-paper .ps-return { color: var(--ink); background: #fff; border-color: var(--ink); }
html.ps-power-paper .ps-lamp__count,
html.ps-power-paper .ps-pager .current,
html.ps-power-paper .ps-nav__list a[aria-current="page"] { color: #0c3d86; }

@media (prefers-reduced-motion: no-preference) {
	html.ps-power-hot .ps-tube.is-lit .ps-tube__filament {
		animation: ps-glow 2.8s ease-in-out infinite;
	}
	html.ps-overload .ps-mast,
	html.ps-overload .ps-hero {
		animation: ps-flicker 0.12s steps(2, end) 8;
	}
}
@keyframes ps-glow {
	50% { fill: #fff6d4; }
}
@keyframes ps-flicker {
	50% { opacity: 0.55; }
}

@media (max-width: 860px) {
	html.ps-js .ps-nav--bar { display: none; }
	html.ps-js .ps-door { display: inline-flex; align-items: center; justify-content: center; padding: 0 0.7rem; }
	html.ps-js .ps-contact-link { display: none; }
	.ps-hero,
	.ps-apparatus,
	.ps-foot__grid,
	.ps-claims { grid-template-columns: 1fr; }
	.ps-lamps { grid-template-columns: 1fr; }
	.ps-lamp {
		flex-direction: row;
		align-items: center;
		min-height: 44px;
	}
	.ps-lamp__name { flex: 1; }
	.ps-nav { margin-left: 0; }
	.ps-mast__row { flex-wrap: wrap; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*,
	*::before,
	*::after {
		animation: none !important;
		transition: none !important;
	}
	.ps-card,
	.ps-card:nth-child(even),
	.ps-card:nth-child(odd) { transform: none; }
}

.ps-labscape {
	position: fixed;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	overflow: hidden;
}
.ps-labscape__glow {
	position: absolute;
	inset: 0;
	background:
		radial-gradient(ellipse 34vw 48vh at 0% 78%, rgba(62, 197, 255, 0.34), transparent 70%),
		radial-gradient(ellipse 30vw 42vh at 100% 20%, rgba(225, 75, 255, 0.32), transparent 68%),
		radial-gradient(ellipse 28vw 38vh at 100% 84%, rgba(61, 255, 132, 0.22), transparent 70%),
		radial-gradient(ellipse 26vw 34vh at 0% 16%, rgba(255, 59, 48, 0.22), transparent 70%),
		radial-gradient(ellipse 22vw 28vh at 16% 46%, rgba(255, 225, 74, 0.12), transparent 72%),
		radial-gradient(ellipse 50vw 30vh at 50% 110%, rgba(62, 197, 255, 0.1), transparent 70%);
}
.ps-labscape__glow::after {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse 46% 82% at 50% 42%, rgba(7, 8, 12, 0.78), transparent 76%);
}
.ps-labscape__edge {
	position: absolute;
	top: 0;
	bottom: 0;
	width: 7px;
	opacity: 0.9;
}
.ps-labscape__edge--left {
	left: 0;
	background: linear-gradient(#3ec5ff, #e14bff, #ffe14a, #3dff84);
	box-shadow: 0 0 16px rgba(62, 197, 255, 0.65);
}
.ps-labscape__edge--right {
	right: 0;
	background: linear-gradient(#ff3b30, #ffe14a, #3ec5ff, #e14bff);
	box-shadow: 0 0 16px rgba(225, 75, 255, 0.6);
}
.ps-labscape__wing {
	position: absolute;
	top: 0;
	height: 100%;
	display: none;
}
.ps-labscape__wing--left { left: 0; }
.ps-labscape__wing--right { right: 0; }
.ps-beacon { transform-box: fill-box; transform-origin: center; }
.ps-bubble { transform-box: fill-box; transform-origin: center; }
@media (min-width: 1360px) {
	.ps-labscape__wing {
		display: block;
		width: calc((100vw - 1160px) / 2);
		max-width: 560px;
	}
}
@media (max-width: 860px) {
	.ps-labscape__glow { opacity: 0.85; }
	.ps-labscape__edge { width: 5px; }
}
@media (prefers-reduced-motion: no-preference) {
	.ps-beacon { animation: ps-beacon 1.35s ease-in-out infinite; }
	.ps-bubble { animation: ps-bubble 2.6s ease-in infinite; }
	.ps-arc { stroke-dasharray: 10 8; animation: ps-dash 1.05s linear infinite; }
	.ps-trace { stroke-dasharray: 16 12; animation: ps-dash 1.5s linear infinite; }
	.ps-d1 { animation-delay: 0.45s; }
	.ps-d2 { animation-delay: 0.9s; }
	.ps-d3 { animation-delay: 1.35s; }
}
@keyframes ps-beacon { 50% { opacity: 0.25; } }
@keyframes ps-bubble {
	0% { transform: translateY(8px); opacity: 0; }
	25% { opacity: 0.95; }
	100% { transform: translateY(-42px); opacity: 0; }
}
@keyframes ps-dash { to { stroke-dashoffset: -72; } }

@media print {
	body::before,
	.ps-mast,
	.ps-foot,
	.ps-return,
	.ps-tubes,
	.ps-labscape,
	.ps-console,
	.ps-cabinet { display: none !important; }
	body,
	.ps-paper,
	.ps-card { background: #fff; color: #000; box-shadow: none; }
	.ps-paper a { color: #000; }
}
