:root {
  color-scheme: dark;
  --night: #0c1128;
  --panel: #111a38;
  --panel-alt: #172147;
  --cyan: #61e7e5;
  --yellow: #f4cf68;
  --pink: #e86bb4;
  --green: #9be38b;
  --cream: #f4f1df;
  --muted: #b8bfd7;
  font-family: 'Courier New', Courier, monospace;
}

* { box-sizing: border-box; }
html { background: var(--night); }
body { margin: 0; color: var(--cream); background: var(--night); line-height: 1.55; }
a { color: inherit; }
.site-shell { min-height: 100vh; background: radial-gradient(circle at 80% 10%, #1d2a59 0, transparent 25rem), var(--night); }
.pixel-frame { width: min(1180px, calc(100% - 2rem)); margin: 0 auto; }
.site-header { padding: 2rem 0 1.25rem; border-bottom: 2px solid var(--cyan); }
.site-header-inner { display: flex; justify-content: space-between; gap: 2rem; align-items: end; }
.wordmark { margin: 0; color: var(--cyan); font-size: clamp(1.7rem, 4vw, 3.5rem); line-height: 1; letter-spacing: .04em; text-shadow: 3px 3px 0 var(--pink); }
.status-line, .eyebrow, .category, .status-bar { color: var(--yellow); text-transform: uppercase; letter-spacing: .08em; font-size: .78rem; }
.status-line { margin: .65rem 0 0; }
.main-nav { display: flex; flex-wrap: wrap; justify-content: end; gap: 1rem; font-weight: 700; }
.main-nav a { color: var(--cyan); text-decoration: none; }
.main-nav a:hover, .main-nav a:focus { color: var(--yellow); }
.archive-intro { padding: 3rem 0 2rem; }
.intro-box, .side-panel, .article-card { background: color-mix(in srgb, var(--panel) 92%, transparent); border: 2px solid var(--cyan); box-shadow: 6px 6px 0 #050815; }
.intro-box { padding: clamp(1.25rem, 4vw, 2.5rem); }
h1, h2, h3 { line-height: 1.1; }
h1 { margin: .3rem 0 1rem; color: var(--yellow); font-size: clamp(2rem, 5vw, 4rem); text-shadow: 3px 3px 0 #8d4272; }
h2 { color: var(--cyan); font-size: 1.25rem; }
.intro-box p { max-width: 65ch; color: var(--muted); }
.archive-layout { display: grid; grid-template-columns: minmax(0, 1fr) 20rem; gap: 2rem; align-items: start; padding-bottom: 3rem; }
.article-list { display: grid; gap: 1.25rem; }
.article-card { padding: 1.25rem; border-color: #34447d; }
.article-meta { display: flex; flex-wrap: wrap; gap: 1rem; color: var(--yellow); font-size: .82rem; }
.article-card h2 { margin: .55rem 0 .4rem; color: var(--cream); }
.article-card h2 a { text-decoration: none; }
.article-card h2 a:hover, .article-card h2 a:focus { color: var(--yellow); }
.article-card p { color: var(--muted); margin: .5rem 0; }
.category { display: inline-block; color: var(--pink); border: 1px solid var(--pink); padding: .1rem .4rem; }
.side-stack { display: grid; gap: 1rem; }
.side-panel { padding: 1rem; border-color: var(--yellow); }
.side-panel h2 { margin: 0 0 .7rem; color: var(--yellow); }
.side-panel ul { list-style: none; margin: 0; padding: 0; }
.side-panel li + li { margin-top: .3rem; }
.side-panel a { color: var(--cyan); text-decoration: none; }
.side-panel a:hover, .side-panel a:focus { color: var(--pink); }
.audio-panel { border-color: var(--pink); }
.audio-panel h2 { color: var(--pink); }
.audio-panel audio { width: 100%; }
.audio-link { display: block; padding: .35rem 0; border-top: 1px dashed #53608b; }
.article-page, .page-content { padding: 3rem 0; max-width: 780px; }
.article-page h1, .page-content h1 { font-size: clamp(2rem, 5vw, 3.5rem); }
.article-content { color: var(--cream); font-family: Georgia, serif; font-size: 1.08rem; }
.article-content img { display: block; box-sizing: border-box; width: 100%; max-width: 100%; height: auto; object-fit: contain; margin: 1.5rem auto; }
.article-content figure, .article-content a:has(> img) { display: block; width: 100%; max-width: 100%; margin-inline: auto; }
.article-content figure img, .article-content a > img { margin-inline: 0; }
.article-content table { width: 100%; max-width: 100%; overflow-x: auto; }
.article-content a { color: var(--cyan); }
.article-content pre, .article-content code { white-space: pre-wrap; background: #080c1c; color: var(--green); }
.article-content blockquote { border-left: 4px solid var(--pink); padding-left: 1rem; color: var(--muted); }
.video-embed { position: relative; aspect-ratio: 16 / 9; margin: 1.5rem 0; background: #050815; border: 2px solid var(--pink); }
.video-embed iframe { width: 100%; height: 100%; border: 0; }
.audio-embed { margin: 1.5rem 0; background: #050815; border: 2px solid var(--green); }
.audio-embed iframe { display: block; width: 100%; min-height: 300px; border: 0; }
.comments { margin-top: 3rem; border-top: 2px solid var(--cyan); padding-top: 1rem; }
.comments h2 { color: var(--yellow); }
.comment { border: 1px solid #34447d; padding: 1rem; margin-top: 1rem; background: var(--panel); }
.comment-meta { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .75rem; color: var(--green); font-size: .85rem; }
.comment-content { margin-top: .75rem; color: var(--muted); }
.article-navigation { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-top: 3rem; border-top: 2px solid var(--cyan); padding-top: 1rem; }
.article-navigation a { display: grid; gap: .25rem; min-height: 6rem; padding: 1rem; border: 2px solid var(--yellow); color: var(--cream); text-decoration: none; }
.article-navigation a:last-child { text-align: right; border-color: var(--pink); }
.article-navigation a:hover, .article-navigation a:focus { background: var(--panel-alt); }
.article-navigation span { color: var(--cyan); font-size: .78rem; text-transform: uppercase; letter-spacing: .08em; }
.article-navigation strong { line-height: 1.25; }
.article-navigation small { color: var(--muted); }
.pagination { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 2rem; }
.pagination a, .pagination span { border: 1px solid var(--cyan); padding: .35rem .6rem; text-decoration: none; }
.pagination .active { background: var(--cyan); color: var(--night); }
.site-footer { border-top: 2px solid var(--cyan); padding: 1.25rem 0; color: var(--muted); }
.status-bar { display: flex; justify-content: space-between; gap: 1rem; color: var(--green); }
.missing-content { border: 2px solid var(--pink); padding: 1rem; }
@media (max-width: 760px) {
  .site-header-inner, .status-bar { display: block; }
  .main-nav { justify-content: start; margin-top: 1.25rem; }
  .archive-layout { grid-template-columns: 1fr; }
  .side-panel { box-shadow: none; }
  .intro-box, .article-card { box-shadow: 4px 4px 0 #050815; }
  .article-navigation { grid-template-columns: 1fr; }
  .article-navigation a:last-child { text-align: left; }
}
