@import url('https://fonts.googleapis.com/css2?family=Courier+Prime:ital,wght@0,400;0,700;1,400&display=swap');

* { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --bg: #f8f6f2;
  --fg: #111;
  --muted: #aaa;
  --accent: #1a6b5a;
}

[data-theme="dark"] {
  --bg: #111;
  --fg: #ccc8bc;
  --muted: #444;
  --accent: #1a6b5a;
}

body {
  background: var(--bg);
  color: var(--fg);
  font-family: 'Courier Prime', monospace;
  font-size: 14px;
  line-height: 1.8;
  max-width: 560px;
  margin: 0 auto;
  padding: 64px 20px 80px;
  transition: background 0.1s, color 0.1s;
}

a { color: var(--accent); text-decoration: none; }
a:hover { text-decoration: underline; }

p, li { font-size: 0.9rem; }

/* header */
header { margin-bottom: 40px; }
header h1 { font-size: 1rem; font-weight: 700; }
.tagline { color: var(--muted); font-size: 0.85rem; margin-top: 4px; }

nav { margin-top: 10px; display: flex; gap: 16px; font-size: 0.82rem; flex-wrap: wrap; }
nav a { color: var(--muted); }
nav a:hover { color: var(--accent); text-decoration: none; }

.toggle {
  background: none;
  border: none;
  padding: 0;
  font-family: inherit;
  font-size: 0.82rem;
  color: var(--muted);
  cursor: pointer;
}
.toggle:hover { color: var(--accent); }

/* bio */
.bio {
  font-size: 0.88rem;
  color: var(--muted);
  margin-bottom: 44px;
  line-height: 1.65;
}

/* section headings */
h2 {
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--muted);
  margin: 36px 0 10px;
}

/* lists */
ul { list-style: none; }

li {
  padding: 5px 0;
  border-bottom: 1px solid color-mix(in srgb, var(--muted) 25%, transparent);
}

li:first-child {
  border-top: 1px solid color-mix(in srgb, var(--muted) 25%, transparent);
}

.li-name { font-weight: 700; color: var(--accent); }
.li-desc { color: var(--fg); }
.li-meta { font-size: 0.77rem; color: var(--muted); font-style: italic; margin-top: 2px; }

/* writing list */
.writing-li {
  display: flex;
  justify-content: space-between;
  gap: 12px;
}

.writing-li a { color: var(--fg); }
.writing-li a:hover { color: var(--accent); }
.yr { color: var(--muted); font-size: 0.77rem; flex-shrink: 0; align-self: center; }

/* now */
.now { font-size: 0.87rem; color: var(--muted); }
.now em { color: var(--fg); font-style: normal; }

/* footer */
footer {
  margin-top: 52px;
  font-size: 0.77rem;
  color: var(--muted);
  display: flex;
  gap: 12px;
}

/* project page */
.back { font-size: 0.82rem; color: var(--muted); display: inline-block; margin-bottom: 32px; }
.back:hover { color: var(--accent); text-decoration: none; }

h3 {
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin: 28px 0 8px;
}

.project-title {
  font-size: 1.1rem;
  font-weight: 700;
  margin-bottom: 6px;
}

.project-meta {
  font-size: 0.77rem;
  color: var(--muted);
  font-style: italic;
  margin-bottom: 24px;
}

.links { display: flex; gap: 16px; margin-top: 36px; font-size: 0.82rem; }
