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

/* ============================================================
   GLOBAL TERMINAL THEME — PaperMod overrides
   ============================================================ */

/* Force dark theme variables regardless of PaperMod's toggle */
:root,
[data-theme="light"],
[data-theme="dark"] {
  --theme:    #0d0f0e;
  --entry:    #111413;
  --primary:  #c8d4cc;
  --secondary:#6b7d72;
  --tertiary: #1f2820;
  --content:  #c8d4cc;
  --hljs-bg:  #161a18;
  --code-bg:  #161a18;
  --border:   #1f2820;

  --gz-green:      #3ddc84;
  --gz-green-dim:  #1e6b3e;
  --gz-green-glow: #3ddc8418;
  --gz-yellow:     #e8c547;
  --gz-cyan:       #4fd8c4;
  --gz-red:        #ff4f4f;
  --gz-text-muted: #3d4d43;
  --gz-mono:       'JetBrains Mono', 'Fira Code', monospace;
  --gz-sans:       'Inter', system-ui, sans-serif;
}

/* ── Base ── */
body {
  background: var(--theme) !important;
  font-family: var(--gz-sans) !important;
}

body::before {
  content: '';
  position: fixed;
  inset: 0;
  background: repeating-linear-gradient(
    0deg,
    transparent, transparent 2px,
    rgba(0,0,0,0.025) 2px, rgba(0,0,0,0.025) 4px
  );
  pointer-events: none;
  z-index: 0;
}

/* ── Header / Nav ── */
.header {
  background: #111413 !important;
  border-bottom: 1px solid var(--border) !important;
  box-shadow: none !important;
}

.logo a,
.logo a:visited {
  font-family: var(--gz-mono) !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: var(--gz-green) !important;
  letter-spacing: 0.05em;
}

.logo a:hover { opacity: 0.8; }

#menu a,
#menu a:visited {
  font-family: var(--gz-mono) !important;
  font-size: 0.7rem !important;
  color: var(--secondary) !important;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

#menu a:hover,
#menu a.active {
  color: var(--gz-green) !important;
  background: var(--gz-green-glow) !important;
  border-radius: 3px;
}

/* Hide theme toggle — we're locked to dark */
#theme-toggle,
.moon, .sun { display: none !important; }

/* ── Footer ── */
.footer {
  background: #111413 !important;
  border-top: 1px solid var(--border) !important;
  font-family: var(--gz-mono) !important;
  font-size: 0.65rem !important;
  color: var(--gz-text-muted) !important;
}

.footer a { color: var(--gz-green-dim) !important; }
.footer a:hover { color: var(--gz-green) !important; }

/* ── Post list cards ── */
.post-entry {
  background: #111413 !important;
  border: 1px solid var(--border) !important;
  border-radius: 4px !important;
  transition: border-color 0.15s !important;
  box-shadow: none !important;
}

.post-entry:hover {
  border-color: var(--gz-green-dim) !important;
  background: #111413 !important;
}

.entry-hint-parent,
.post-entry .entry-header h2 {
  font-family: var(--gz-mono) !important;
  font-size: 0.95rem !important;
  color: var(--gz-green) !important;
}

.post-entry .entry-content p {
  color: var(--secondary) !important;
  font-size: 0.82rem !important;
}

.post-entry .entry-footer {
  font-family: var(--gz-mono) !important;
  font-size: 0.65rem !important;
  color: var(--gz-text-muted) !important;
}

/* ── Tags ── */
.post-tags a,
.terms-tags a {
  font-family: var(--gz-mono) !important;
  font-size: 0.62rem !important;
  background: var(--gz-green-glow) !important;
  color: var(--gz-green) !important;
  border: 1px solid var(--gz-green-dim) !important;
  border-radius: 2px !important;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.post-tags a:hover,
.terms-tags a:hover {
  background: #1e6b3e44 !important;
}

/* ── Post single ── */
article.post-single {
  background: transparent !important;
}

.post-header h1.post-title {
  font-family: var(--gz-mono) !important;
  color: #fff !important;
  font-size: 1.8rem !important;
}

.post-description {
  font-family: var(--gz-sans) !important;
  color: var(--secondary) !important;
}

.post-meta,
.post-meta a {
  font-family: var(--gz-mono) !important;
  font-size: 0.68rem !important;
  color: var(--gz-text-muted) !important;
}

/* ── Post content ── */
.post-content h2 {
  font-family: var(--gz-mono) !important;
  color: var(--gz-green) !important;
  border-bottom: 1px solid var(--border);
  padding-bottom: 0.4rem;
}

.post-content h3 {
  font-family: var(--gz-sans) !important;
  color: #d8e8dc !important;
  border-left: 2px solid var(--gz-green-dim);
  padding-left: 0.75rem;
}

.post-content h4 {
  font-family: var(--gz-mono) !important;
  color: var(--gz-cyan) !important;
  font-size: 0.8rem !important;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.post-content a { color: var(--gz-green) !important; }
.post-content strong { color: #d8e8dc; }

.post-content code {
  font-family: var(--gz-mono) !important;
  color: var(--gz-yellow) !important;
  background: #1a1e1b !important;
  border-radius: 3px;
}

.post-content pre,
.post-content .highlight pre {
  background: #161a18 !important;
  border: 1px solid var(--border) !important;
  border-radius: 4px !important;
  font-family: var(--gz-mono) !important;
  font-size: 0.78rem !important;
}

.post-content .highlight {
  border: 1px solid var(--border);
  border-radius: 4px;
}

/* ── Blockquote ── */
.post-content blockquote {
  border-left: 3px solid var(--gz-green-dim) !important;
  background: #111a13 !important;
  color: var(--primary) !important;
  border-radius: 0 4px 4px 0;
}

/* ── Breadcrumbs ── */
.breadcrumbs,
.breadcrumbs a {
  font-family: var(--gz-mono) !important;
  font-size: 0.65rem !important;
  color: var(--gz-text-muted) !important;
}

/* ── Top back-to-top link ── */
#top-link {
  background: var(--gz-green-dim) !important;
  color: #0d0f0e !important;
}

/* ── Scrollbar ── */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: #111413; }
::-webkit-scrollbar-thumb { background: var(--gz-green-dim); border-radius: 3px; }

/* ── Search ── */
#searchbox input {
  background: #111413 !important;
  border: 1px solid var(--border) !important;
  color: var(--primary) !important;
  font-family: var(--gz-mono) !important;
}

/* ── Section list header ── */
.page-header h1 {
  font-family: var(--gz-mono) !important;
  color: var(--gz-green) !important;
}
