/* ── PND Journal — Dark Theme ─────────────────────────────── */
* { box-sizing: border-box; margin: 0; padding: 0; }

body {
  background: #0d0d0d;
  color: #e0e0e0;
  font-family: 'Segoe UI', system-ui, sans-serif;
  font-size: 14px;
  padding: 28px 32px;
  max-width: 980px;
  margin: 0 auto;
}

.header-logo {
  display: block;
  width: 100%;
  height: auto;
  margin-bottom: 24px;
  border-radius: 10px;
}

h1 { font-size: 24px; color: #fff; margin-bottom: 4px; }
.tagline { color: #666; font-size: 13px; margin-bottom: 36px; }
.top-credit {
  color: #444;
  font-size: 12px;
  margin-bottom: 24px;
  padding-bottom: 14px;
  border-bottom: 1px solid #1a1a1a;
}

a { color: #88CCFF; text-decoration: none; }
a:hover { text-decoration: underline; }

h2 {
  font-size: 12px; color: #888; margin-bottom: 14px;
  letter-spacing: 0.08em; text-transform: uppercase;
  border-bottom: 1px solid #222; padding-bottom: 6px;
}
section { margin-bottom: 40px; }

/* ── Cards ────────────────────────────────────────────────── */
.card-list { list-style: none; }
.card-list li {
  background: #141414;
  border: 1px solid #2a2a2a;
  border-radius: 10px;
  padding: 16px 20px;
  margin-bottom: 12px;
  transition: border-color 0.15s, background 0.15s;
}
.card-list li:hover {
  border-color: #3a3a3a;
  background: #181818;
}
.card-list a {
  display: block;
  color: #e0e0e0;
  font-weight: 700;
  font-size: 15px;
  margin-bottom: 4px;
}
.card-list a:hover { text-decoration: none; color: #88CCFF; }
.card-list .desc {
  color: #777;
  font-size: 12px;
  line-height: 1.6;
}

/* ── Entry list (daily/weekly index pages) ────────────────── */
.entry-list { list-style: none; }
.entry-list li {
  background: #141414;
  border: 1px solid #2a2a2a;
  border-radius: 10px;
  padding: 14px 20px;
  margin-bottom: 10px;
  transition: border-color 0.15s, background 0.15s;
}
.entry-list li:hover {
  border-color: #3a3a3a;
  background: #181818;
}
.entry-list a {
  display: block;
  color: #e0e0e0;
  font-weight: 600;
  font-size: 14px;
}
.entry-list a:hover { color: #88CCFF; text-decoration: none; }
.entry-date {
  color: #888;
  font-size: 12px;
  margin-top: 2px;
}
.entry-summary {
  color: #777;
  font-size: 12px;
  line-height: 1.6;
  margin-top: 4px;
}

/* ── Breadcrumb nav ───────────────────────────────────────── */
.nav-breadcrumb {
  color: #555;
  font-size: 12px;
  margin-bottom: 20px;
}
.nav-breadcrumb a { color: #88CCFF; }

/* ── Journal content (individual entry pages) ─────────────── */
.journal-content {
  line-height: 1.8;
  font-size: 14px;
  color: #ddd;
  margin-top: 24px;
}
.journal-content h2 {
  font-size: 16px;
  color: #fff;
  text-transform: none;
  letter-spacing: normal;
  border-bottom: 1px solid #222;
  padding-bottom: 6px;
  margin-top: 32px;
  margin-bottom: 12px;
}
.journal-content h3 {
  font-size: 14px;
  color: #ccc;
  margin-top: 24px;
  margin-bottom: 8px;
}
.journal-content p { margin-bottom: 12px; }
.journal-content ul, .journal-content ol {
  margin: 8px 0 12px 20px;
  color: #ccc;
}
.journal-content li { margin-bottom: 4px; }
.journal-content strong { color: #fff; }
.journal-content em { color: #999; }
.journal-content code {
  background: #1a1a1a;
  padding: 2px 6px;
  border-radius: 4px;
  font-size: 13px;
  color: #88CCFF;
}
.journal-content table {
  width: 100%;
  border-collapse: collapse;
  margin: 12px 0;
  font-size: 13px;
}
.journal-content th {
  text-align: left;
  color: #888;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 8px 12px;
  border-bottom: 1px solid #333;
}
.journal-content td {
  padding: 8px 12px;
  border-bottom: 1px solid #1a1a1a;
  color: #ccc;
}
.journal-content .positive { color: #66cc66; }
.journal-content .negative { color: #cc6666; }
.journal-content .neutral  { color: #ccaa44; }

/* ── Empty state ──────────────────────────────────────────── */
.empty-state {
  color: #555;
  font-size: 13px;
  padding: 32px 0;
  text-align: center;
}

/* ── Footer ───────────────────────────────────────────────── */
.footer {
  margin-top: 32px;
  color: #444;
  font-size: 12px;
  border-top: 1px solid #1a1a1a;
  padding-top: 14px;
  line-height: 1.8;
}

/* ── Responsive ───────────────────────────────────────────── */
@media (max-width: 600px) {
  body { padding: 16px; }
  h1 { font-size: 20px; }
  .tagline { font-size: 12px; }
  .card-list li, .entry-list li { padding: 14px 16px; }
  .card-list a { font-size: 14px; }
}
