@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,600&family=Space+Grotesk:wght@400;500;600&family=JetBrains+Mono:wght@400;500&display=swap');

.pc {
	--ink: #0e1424;
	--panel: #141b2e;
	--paper: #eef1f7;
	--muted: #8b93a7;
	--gold: #e8b95c;
	--blue: #6fb3d9;
	--line: rgba(255, 255, 255, 0.09);

	background: var(--ink);
	color: var(--paper);
	font-family: 'Space Grotesk', -apple-system, sans-serif;
	overflow-x: hidden;
}
.pc *, .pc *::before, .pc *::after { box-sizing: border-box; }
.pc a { color: inherit; }

/* Hero -------------------------------------------------------------- */
.pc-hero {
	position: relative;
	min-height: 100vh;
	display: flex;
	align-items: center;
	padding: 6vh 6vw;
	overflow: hidden;
}
.pc-stars { position: absolute; inset: 0; }
.pc-stars span {
	position: absolute;
	background: var(--paper);
	border-radius: 50%;
	opacity: 0;
}
.pc-orbit {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 140vmin;
	height: 140vmin;
	transform: translate(-50%, -50%);
	opacity: 0.5;
	pointer-events: none;
}
.pc-orbit-path {
	fill: none;
	stroke: var(--blue);
	stroke-width: 1;
	stroke-dasharray: 2400;
	stroke-dashoffset: 2400;
}

.pc-hero-inner { position: relative; max-width: 720px; }
.pc-eyebrow {
	font-family: 'JetBrains Mono', monospace;
	font-size: 0.75rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--gold);
	margin: 0 0 1.5rem;
}
.pc-headline {
	font-family: 'Fraunces', serif;
	font-weight: 600;
	font-size: clamp(2.25rem, 6vw, 4.25rem);
	line-height: 1.05;
	margin: 0 0 1.5rem;
}
.pc-line { display: block; overflow: hidden; }
.pc-sub {
	color: var(--muted);
	font-size: 1.05rem;
	max-width: 46ch;
	margin: 0 0 2rem;
}
.pc-cta {
	display: inline-block;
	font-family: 'JetBrains Mono', monospace;
	font-size: 0.85rem;
	text-decoration: none;
	border-bottom: 1px solid var(--blue);
	padding-bottom: 2px;
}
.pc a:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }

/* Log ----------------------------------------------------------------- */
.pc-log { background: var(--panel); padding: 8vh 6vw; }
.pc-log-head h2 {
	font-family: 'Fraunces', serif;
	font-weight: 600;
	font-size: clamp(1.5rem, 3vw, 2.25rem);
	margin: 0 0 0.4rem;
}
.pc-log-head p { color: var(--muted); margin: 0 0 3rem; }
.pc-cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem;
}
.pc-card {
	border-top: 1px solid var(--line);
	padding-top: 1.25rem;
	opacity: 0;
	transform: translateY(24px);
}
.pc-cat {
	font-family: 'JetBrains Mono', monospace;
	font-size: 0.75rem;
	color: var(--blue);
	margin: 0 0 0.75rem;
}
.pc-card h3 { font-family: 'Fraunces', serif; font-weight: 600; font-size: 1.15rem; margin: 0 0 0.6rem; }
.pc-card p:not(.pc-cat):not(.pc-status) { color: var(--muted); font-size: 0.92rem; margin: 0 0 1rem; }
.pc-status {
	font-family: 'JetBrains Mono', monospace;
	font-size: 0.75rem;
	color: var(--gold);
	margin: 0;
}

/* Footer ---------------------------------------------------------------- */
.pc-foot { padding: 3rem 6vw; text-align: center; }
.pc-foot p { color: var(--muted); font-size: 0.8rem; margin: 0; }
.pc-foot code { font-family: 'JetBrains Mono', monospace; background: var(--panel); padding: 2px 6px; border-radius: 3px; }

@media (max-width: 780px) {
	.pc-cards { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
	.pc-line, .pc-sub, .pc-cta, .pc-card { opacity: 1 !important; transform: none !important; }
	.pc-orbit-path { stroke-dashoffset: 0 !important; }
}
