/* bore.lol — cyberpunk terminal */
:root {
  --bg: #000;
  --fg: #00ff41;
  --dim: #008f11;
  --white: #fff;
  --line: #003300;
  --pixel: "Bitcount Single", monospace;
  --display: "BBH Bogle", "Arial Black", sans-serif;
  --mono: "Datatype", monospace;
}
* { margin: 0; padding: 0; box-sizing: border-box; }
::selection { background: var(--white); color: #000; }
html { font-size: 16px; }
body { background: var(--bg); color: var(--white); font-family: var(--mono); line-height: 1.7; min-height: 100vh; text-shadow: 0 0 3px var(--white); display: flex; flex-direction: column; position: relative; }
body::before { content: ""; position: fixed; inset: 0; background: repeating-linear-gradient(0deg, rgba(0,0,0,.18) 0 1px, transparent 1px 3px); pointer-events: none; z-index: 999; }
.wrap { width: 100%; max-width: 720px; margin: 0 auto; padding: 42px 24px; flex: 1; position: relative; z-index: 1; }
header { margin-bottom: 26px; border-bottom: 1px solid var(--dim); padding-bottom: 24px; }
.prompt { color: var(--white); font-size: 16px; margin-bottom: 14px; }
.prompt .user { color: var(--fg); }
.prompt .cmd { color: var(--white); }
h1 { font-family: var(--pixel); color: var(--fg); font-size: clamp(56px, 10vw, 112px); font-weight: normal; letter-spacing: .15em; text-transform: uppercase; line-height: 1; }
h1 a { color: var(--fg); text-decoration: none; }
h1 a:hover { color: var(--white); }
h1 a::after { content: "_"; animation: blink .8s steps(2) infinite; }
@keyframes blink { 50% { opacity: 0; } }
nav { margin-bottom: 24px; }
nav ul { list-style: none; display: flex; flex-direction: column; gap: 14px; }
nav a { color: var(--fg); text-decoration: none; display: inline-block; width: fit-content; font-family: var(--display); font-size: 2rem; line-height: 1; letter-spacing: .06em; text-transform: uppercase; text-shadow: 0 0 4px var(--fg); }
nav a:hover { color: var(--white); text-shadow: 0 0 6px var(--white), 0 0 14px var(--white); transform: translateX(8px); }
nav a.ext { color: var(--fg); }
.quick-link { display: inline-block; color: var(--fg); font-family: var(--display); font-size: 1.35rem; text-decoration: none; margin-top: 4px; text-transform: uppercase; letter-spacing: .06em; }
.quick-link:hover { color: var(--white); text-shadow: 0 0 6px var(--white); }
main section { margin-bottom: 56px; }
.bio, main p, main li { color: var(--white); }
.bio { font-size: 18px; line-height: 1.8; max-width: 65ch; }
.bio em { color: var(--white); font-style: normal; }
h2, main h3 { font-family: var(--display); font-weight: 700; color: var(--fg); text-transform: uppercase; letter-spacing: .08em; text-shadow: 0 0 4px var(--fg); }
h2 { font-size: 1.35rem; margin-bottom: 20px; }
h2::before { content: "[ "; color: var(--white); }
h2::after { content: " ]"; color: var(--white); }
main h3 { font-size: 1.08rem; margin: 24px 0 12px; }
.entry { display: block; color: var(--white); text-decoration: none; font-size: 1rem; padding: 3px 0; }
.entry .date { color: #aaa; font-size: .8rem; margin-right: 12px; }
.entry::before { content: "> "; color: var(--dim); }
.entry:hover { color: var(--fg); text-shadow: 0 0 6px var(--fg); }
main a { color: var(--white); }
main a:hover { color: var(--fg); text-decoration: underline; }
main ul, main ol { margin: 0 0 1em 1.4em; }
main img { max-width: 100%; height: auto; border: 1px solid var(--dim); }
article.post { margin-bottom: 40px; }
.post-date { color: #aaa; font-size: .8rem; margin-bottom: 20px; }
main code { background: rgba(0,255,65,.1); color: var(--white); padding: 1px 6px; }
main pre { background: rgba(0,255,65,.05); color: var(--white); padding: 14px; overflow-x: auto; border: 1px solid var(--dim); }
.gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; }
.gallery a { display: block; }
.gallery img { width: 100%; aspect-ratio: 1; object-fit: cover; border: 1px solid var(--dim); display: block; }
.gallery a:hover img { border-color: var(--white); box-shadow: 0 0 15px var(--white); }
footer { border-top: 1px solid var(--dim); padding: 20px 24px 28px; max-width: 720px; margin: 0 auto; width: 100%; display: flex; justify-content: space-between; font-size: .8rem; color: var(--dim); }
footer a { color: var(--white); text-decoration: none; }
footer a:hover { color: var(--fg); }
@media (max-width: 480px) { h1 { font-size: 56px; } nav a { font-size: 1.65rem; } }
