/* blog post styles — base16-ocean palette */
@font-face {
  font-family: Fixedsys;
  font-display: block;
  src: url('/fonts/FSEX2.ttf');
}

@font-face {
  font-family: 'Charter';
  font-display: swap;
  src: url('/fonts/charter_regular.woff2') format('woff2');
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'Charter';
  font-display: swap;
  src: url('/fonts/charter_bold.woff2') format('woff2');
  font-weight: bold;
  font-style: normal;
}

@font-face {
  font-family: 'Charter';
  font-display: swap;
  src: url('/fonts/charter_italic.woff2') format('woff2');
  font-weight: normal;
  font-style: italic;
}

@font-face {
  font-family: 'Charter';
  font-display: swap;
  src: url('/fonts/charter_bold_italic.woff2') format('woff2');
  font-weight: bold;
  font-style: italic;
}

/* crt warmup */
@keyframes crt-on {
  0% { opacity: 0; filter: brightness(2) blur(2px); }
  40% { opacity: 1; filter: brightness(1.4) blur(0.5px); }
  100% { opacity: 1; filter: brightness(1) blur(0); }
}

/* selection colors */
::selection {
  background: #96b5b4;
  color: #2b303b;
}

/* scrollbar */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #1b2028; }
::-webkit-scrollbar-thumb { background: #4f5b66; }
::-webkit-scrollbar-thumb:hover { background: #65737e; }

body {
  background-color: #1b2028;
  color: #c0c5ce;
  font-size: 13pt;
  line-height: 1.9;
  font-family: 'Charter', Georgia, serif;
  margin: 0;
  padding: 0;
  animation: crt-on 0.6s ease-out;
}

a {
  text-decoration: none;
  color: #96b5b4;
  transition: background-color 0.05s, color 0.05s;
}

a:hover {
  background-color: #96b5b4;
  color: #2b303b;
}

/* headings stay in fixedsys — the terminal chrome */
h1, h2, h3, h4, h5, h6 {
  color: #a3be8c;
  font-family: "Fixedsys", "Liberation Mono", monospace;
  font-weight: normal;
  text-transform: lowercase;
  text-shadow: 0 0 8px rgba(163, 190, 140, 0.3);
  margin-top: 2em;
  margin-bottom: 0.75em;
}

h1 {
  font-size: 22pt;
}

h2 {
  font-size: 17pt;
}

h3 {
  font-size: 14pt;
}

p {
  margin-bottom: 1.2em;
}

/* code stays monospace */
code {
  font-family: "Fixedsys", "Liberation Mono", monospace;
  font-size: 0.85em;
  background-color: #2b303b;
  padding: 2px 5px;
  border: 1px solid #3a3f4b;
}

pre {
  background-color: #2b303b;
  padding: 1em;
  overflow-x: auto;
  border: 1px solid #3a3f4b;
  border-left: 3px solid #4f5b66;
  line-height: 1.5;
  margin: 1.5em 0;
}

pre code {
  padding: 0;
  background: none;
  border: none;
  font-size: 0.9em;
}

blockquote {
  border-left: 3px solid #96b5b4;
  margin-left: 0;
  margin-right: 0;
  padding-left: 1.2em;
  color: #a7adba;
}

li {
  margin-bottom: 0.4em;
}

.figure,
figure {
  text-align: center;
  font-style: italic;
  color: #a7adba;
  margin: 2em 0;
}

.figure > img,
figure > img,
p > img {
  max-width: 100%;
  background-color: #fff;
  padding: 0.5em;
  border-radius: 3px;
}

.payload {
  padding: 1.5em;
  max-width: 42em;
  margin-left: auto;
  margin-right: auto;
  text-align: left;
}

/* navigation chrome stays terminal-styled */
.home-link {
  font-family: "Fixedsys", "Liberation Mono", monospace;
  text-transform: lowercase;
  color: #96b5b4;
  display: inline-block;
  padding: 5px;
  transition: background-color 0.05s, color 0.05s;
}

.home-link:hover {
  background-color: #96b5b4;
  color: #2b303b;
}

.title-center {
  font-size: 22pt;
  font-family: "Fixedsys", "Liberation Mono", monospace;
  text-transform: lowercase;
  color: #a3be8c;
  margin-top: 0.5em;
  margin-bottom: 0;
  text-shadow: 0 0 10px rgba(163, 190, 140, 0.35);
}

.subtitle-center {
  font-size: 12pt;
  color: #a7adba;
  margin-top: 0.5em;
}

.info {
  font-family: "Fixedsys", "Liberation Mono", monospace;
  text-transform: lowercase;
  font-size: 11pt;
  color: #65737e;
  margin-bottom: 2.5em;
  margin-top: 0.5em;
}

.abstract {
  border-left: 3px solid #96b5b4;
  margin: 2em 0;
  padding-left: 1.2em;
  color: #a7adba;
}

.abstract-title {
  font-family: "Fixedsys", "Liberation Mono", monospace;
  text-transform: lowercase;
  font-size: 13pt;
  color: #a3be8c;
}

.divider {
  font-family: "Fixedsys", "Liberation Mono", monospace;
  text-transform: lowercase;
  color: #4f5b66;
  margin-top: 2em;
  margin-bottom: 0.5em;
  text-shadow: 0 0 6px rgba(79, 91, 102, 0.4);
}
