/* JotBird — Terminal theme
   Monospace-first, code-native. Matrix-green accents on dark.
   Loaded alongside default.css as an override layer.
*/

:root {
  --jb-bg: #0d1117;
  --jb-surface: #0d1117;
  --jb-text: #c9d1d9;
  --jb-muted: #8b949e;
  --jb-border: #21262d;
  --jb-accent: #00ff41;
  --jb-code-bg: #161b22;
  --jb-toc-bg: rgba(22,27,34,0.5);
  --jb-toc-border: #30363d;
  --jb-toc-link: #58a6ff;
  --jb-shadow: none;
  --jb-radius: 0;
  --jb-font-body: Menlo, Monaco, "Lucida Console", "Liberation Mono",
    "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace;
  --jb-font-mono: Menlo, Monaco, "Lucida Console", "Liberation Mono",
    "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace;
}

html, body {
  background: var(--jb-bg);
  color: var(--jb-text);
}

main.publish {
  max-width: 768px;
  margin: 2.5rem auto 2rem;
  padding: 2rem 2rem;
  background: var(--jb-surface);
  border-radius: 0;
  box-shadow: none;
  font-family: var(--jb-font-body);
  font-size: 0.9rem;
}

@media (max-width: 600px) {
  main.publish {
    margin: 0 auto;
    padding: 1.25rem 1.25rem;
  }
}

/* Typography */

main.publish :where(h1, h2, h3, h4, h5, h6) {
  color: var(--jb-accent);
  font-family: var(--jb-font-body);
  font-weight: 700;
}

main.publish h1 {
  font-size: 2rem;
  border-bottom: 1px solid var(--jb-border);
  padding-bottom: 0.5rem;
}

main.publish h2 {
  font-size: 1.5rem;
  border-bottom: 1px solid var(--jb-border);
  padding-bottom: 0.35rem;
}

main.publish h3 {
  font-size: 1.2rem;
}

main.publish p {
  line-height: 1.7;
}

main.publish li {
  line-height: 1.7;
}

main.publish strong {
  color: #f0f6fc;
}

/* Links */

main.publish a {
  color: var(--jb-accent);
  border-bottom: none;
  text-decoration: none;
}

main.publish a:hover {
  text-decoration: underline;
}

/* Blockquotes */

main.publish blockquote {
  background: transparent;
  border-left: 3px solid var(--jb-accent);
  color: var(--jb-muted);
  padding: 0.25rem 1rem;
}

/* Code — Matrix green inline, dark blocks */

main.publish code {
  background: var(--jb-code-bg);
  color: var(--jb-accent);
  border: 1px solid var(--jb-border);
  border-radius: 6px;
  font-size: 0.95em;
}

main.publish pre {
  background: var(--jb-code-bg);
  border: 1px solid var(--jb-border);
  border-radius: 6px;
  font-size: 0.88rem;
}

main.publish pre code {
  border: none;
  background: transparent;
  color: #e6edf3;
}

/* Tables */

main.publish th,
main.publish td {
  border-color: var(--jb-border);
  font-size: 0.9rem;
}

main.publish th {
  color: var(--jb-accent);
  background: var(--jb-code-bg);
}

/* Rules */

main.publish hr {
  border-top: 1px solid var(--jb-border);
}

/* Details */

main.publish details {
  background: var(--jb-code-bg);
  border-color: var(--jb-border);
  overflow-wrap: anywhere;
}

main.publish summary {
  color: var(--jb-text);
}

/* Kbd */

main.publish kbd {
  background: linear-gradient(180deg, #21262d 0%, #161b22 100%);
  border-color: #30363d;
  box-shadow: inset 0 -1px 0 rgba(255, 255, 255, 0.03);
  color: #c9d1d9;
}

/* Images */

main.publish img {
  border-radius: 4px;
  border: 1px solid var(--jb-border);
}

/* Watermark */

.jb-watermark img {
  filter: invert(1);
}

.jb-watermark-text {
  color: #484f58;
}

.jb-watermark-text a {
  color: var(--jb-accent);
  border-bottom: none;
}

.jb-watermark-text a:hover {
  text-decoration: underline;
}

/* Callouts — adjust for dark background */

.callout {
  background: var(--jb-code-bg) !important;
}

/* Print */

@media print {
  html, body {
    background: #ffffff;
    color: #111827;
  }

  main.publish {
    color: #111827;
    font-family: Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Courier New", monospace;
  }

  main.publish :where(h1, h2, h3, h4, h5, h6) {
    color: #111827;
    border-bottom-color: #e5e7eb;
  }

  main.publish a {
    color: #111827;
  }

  main.publish code {
    background: #f3f4f6;
    color: #111827;
    border-color: #e5e7eb;
  }

  main.publish pre {
    background: #f3f4f6;
    border-color: #e5e7eb;
  }
}
