/* GPP Brand Theme for Lean Blueprint */
@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;700&family=Lato:wght@300;400;700&display=swap');

:root {
  --gpp-gold: #d4af37;
  --gpp-gold-light: #f1d374;
  --gpp-black: #030303;
  --gpp-dark: #0d0d0d;
  --gpp-text: #e0e0e0;
}

/* Base */
body {
  background: var(--gpp-black) !important;
  color: var(--gpp-text) !important;
  font-family: 'Lato', sans-serif !important;
}

/* Header */
header {
  background: #0d0d0d !important;
  border-bottom: 1px solid var(--gpp-gold) !important;
  padding: 0.75rem 1.25rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 50 !important;
}

header::before {
  content: "GPPVERIFY — Lean 4 Formal Proofs";
  font-family: 'Cinzel', serif;
  font-size: 0.85rem;
  color: var(--gpp-gold);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

header a { color: var(--gpp-gold) !important; }

/* TOC sidebar */
nav.toc {
  background: #0a0a0a !important;
  border-right: 1px solid #222 !important;
  color: var(--gpp-text) !important;
}

nav.toc a {
  color: #bbb !important;
  font-family: 'Lato', sans-serif !important;
  font-size: 0.85rem !important;
  transition: color 0.2s !important;
}

nav.toc a:hover { color: var(--gpp-gold) !important; }

nav.toc .toc_entry { color: inherit !important; }

/* Main content */
div.content {
  background: var(--gpp-black) !important;
  color: var(--gpp-text) !important;
}

div.content-wrapper {
  max-width: 860px !important;
  margin: 0 auto !important;
  padding: 2rem 1.5rem !important;
}

/* Headings */
h1, h2, h3, h4 {
  font-family: 'Cinzel', serif !important;
  color: var(--gpp-gold) !important;
  letter-spacing: 0.05em !important;
}

h1 { font-size: 1.6rem !important; border-bottom: 1px solid #333 !important; padding-bottom: 0.5rem !important; }
h2 { font-size: 1.2rem !important; margin-top: 2rem !important; }

/* Theorem/lemma boxes */
.theorem, .lemma, .proposition, .corollary, .definition {
  background: #0d1a0d !important;
  border-left: 3px solid var(--gpp-gold) !important;
  border-radius: 4px !important;
  padding: 1rem 1.25rem !important;
  margin: 1.5rem 0 !important;
}

.theorem_thmheading, .lemma_thmheading,
.proposition_thmheading, .corollary_thmheading,
.definition_thmheading {
  color: var(--gpp-gold-light) !important;
  font-family: 'Cinzel', serif !important;
  font-weight: 700 !important;
  font-size: 0.9rem !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  margin-bottom: 0.5rem !important;
}

/* Proof boxes */
.proof {
  background: #111 !important;
  border-left: 2px solid #444 !important;
  padding: 0.75rem 1rem !important;
  margin: 1rem 0 !important;
  font-style: italic !important;
}

/* Links */
a { color: var(--gpp-gold) !important; text-decoration: none !important; }
a:hover { color: var(--gpp-gold-light) !important; text-decoration: underline !important; }

/* TOC toggle icon */
svg#toc-toggle { fill: var(--gpp-gold) !important; width: 1.5rem !important; height: 1.5rem !important; cursor: pointer !important; }

/* Wrapper */
div.wrapper { background: var(--gpp-black) !important; }

/* Mobile */
@media (max-width: 1023px) {
  div.content { display: flex !important; overflow: auto !important; }
  div.wrapper { flex-direction: column !important; }
  nav.toc {
    display: none;
    position: fixed;
    top: 0; left: 0;
    width: 85vw; height: 100vh;
    z-index: 100;
    overflow-y: auto;
    padding: 1rem;
    box-shadow: 2px 0 12px rgba(0,0,0,0.6);
  }
  nav.toc.active { display: flex !important; flex-direction: column !important; }
  div.content-wrapper { padding: 1.25rem 1rem !important; }
}

/* Scrollbar */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: #111; }
::-webkit-scrollbar-thumb { background: #444; border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: var(--gpp-gold); }
