/* ── Base ── */
:root {
  --color-bg: #ffffff;
  --color-text: #111;
  --color-link: #184a21;
  --color-code-bg: #bee9aa;
  --color-quote-bg: #bfdeb0;
}

body {
  font-family: 'Open Sans', 'Lato', 'Roboto', sans-serif;
  font-size: 110%;
  color: var(--color-text);
  background-color: var(--color-bg);
  max-width: 600px;
  padding: 1em;
  margin: auto;
}

@media (max-width: 600px) {
  body { font-size: 100%; }
}

h1, h2, h3, h4, h5, h6 {
  font-family: "Helvetica Neue", Arial, sans-serif;
  font-size: 150%;
  letter-spacing: 0.1em;
}

h2, h3, h4, h5, h6 {
  font-variant: small-caps;
}

a {
  color: var(--color-link);
  text-decoration: none;
}

a:hover {
  color: #111;
  background-color: lightblue;
}

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a,
.site-title a {
  color: inherit !important;
}

.entry-content a {
  text-decoration: underline;
}

/* ── Code ── */
code {
  background-color: var(--color-code-bg);
  padding: 0.10em;
  color: #000000;
}

pre {
  background-color: var(--color-code-bg);
  padding: 0.25em;
  border: 1px dashed #aaa;
  overflow: auto;
  margin: 0 0 0.5em 0;
}

pre code {
  background-color: transparent;
  padding: 0;
}

/* ── Blockquote ── */
blockquote {
  background-color: var(--color-quote-bg);
  padding: 0.25em;
  border: 1px dashed #aaa;
}

/* ── Tagline ── */
.tagline {
  margin: 0.1em 0 0.5em;
  font-size: 0.85em;
  font-style: italic;
  color: #444;
}

/* ── Site header ── */
.site-header {
  text-align: center;
}

.site-title {
  font-family: "Helvetica Neue", Arial, sans-serif;
  font-size: 150%;
  letter-spacing: 0.1em;
  margin: 0;
}

/* ── Nav ── */
nav ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  gap: 1em;
  justify-content: flex-start;
}

/* ── Tables ── */
table {
  border-collapse: collapse;
  width: 100%;
}

th, td {
  border: 1px solid #ccc;
  padding: 0.25em 0.5em;
  text-align: left;
}

/* ── Chroma syntax highlighting ── */
/* Generated from: hugo gen chromastyles --style=monokailight */
/* Background */ .bg { color:#272822;background-color:#bee9aa; }
/* PreWrapper */ .chroma { color:#272822;background-color:#bee9aa;-webkit-text-size-adjust:none; }
/* Error */ .chroma .err { color:#960050;background-color:#1e0010 }
/* LineLink */ .chroma .lnlinks { outline:none;text-decoration:none;color:inherit }
/* LineTableTD */ .chroma .lntd { vertical-align:top;padding:0;margin:0;border:0; }
/* LineTable */ .chroma .lntable { border-spacing:0;padding:0;margin:0;border:0; }
/* LineHighlight */ .chroma .hl { background-color:#e1e1e1 }
/* LineNumbersTable */ .chroma .lnt { white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f }
/* LineNumbers */ .chroma .ln { white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f }
/* Line */ .chroma .line { display:flex; }
/* Keyword */ .chroma .k { color:#00a8c8 }
/* KeywordConstant */ .chroma .kc { color:#00a8c8 }
/* KeywordDeclaration */ .chroma .kd { color:#00a8c8 }
/* KeywordNamespace */ .chroma .kn { color:#f92672 }
/* KeywordPseudo */ .chroma .kp { color:#00a8c8 }
/* KeywordReserved */ .chroma .kr { color:#00a8c8 }
/* KeywordType */ .chroma .kt { color:#00a8c8 }
/* Name */ .chroma .n { color:#111 }
/* NameAttribute */ .chroma .na { color:#75af00 }
/* NameClass */ .chroma .nc { color:#75af00 }
/* NameConstant */ .chroma .no { color:#00a8c8 }
/* NameDecorator */ .chroma .nd { color:#75af00 }
/* NameEntity */ .chroma .ni { color:#111 }
/* NameException */ .chroma .ne { color:#75af00 }
/* NameLabel */ .chroma .nl { color:#111 }
/* NameNamespace */ .chroma .nn { color:#111 }
/* NameOther */ .chroma .nx { color:#75af00 }
/* NameProperty */ .chroma .py { color:#111 }
/* NameTag */ .chroma .nt { color:#f92672 }
/* NameBuiltin */ .chroma .nb { color:#111 }
/* NameBuiltinPseudo */ .chroma .bp { color:#111 }
/* NameVariable */ .chroma .nv { color:#111 }
/* NameVariableClass */ .chroma .vc { color:#111 }
/* NameVariableGlobal */ .chroma .vg { color:#111 }
/* NameVariableInstance */ .chroma .vi { color:#111 }
/* NameVariableMagic */ .chroma .vm { color:#111 }
/* NameFunction */ .chroma .nf { color:#75af00 }
/* NameFunctionMagic */ .chroma .fm { color:#75af00 }
/* Literal */ .chroma .l { color:#ae81ff }
/* LiteralDate */ .chroma .ld { color:#d88200 }
/* LiteralString */ .chroma .s { color:#d88200 }
/* LiteralStringAffix */ .chroma .sa { color:#d88200 }
/* LiteralStringBacktick */ .chroma .sb { color:#d88200 }
/* LiteralStringChar */ .chroma .sc { color:#d88200 }
/* LiteralStringDelimiter */ .chroma .dl { color:#d88200 }
/* LiteralStringDoc */ .chroma .sd { color:#d88200 }
/* LiteralStringDouble */ .chroma .s2 { color:#d88200 }
/* LiteralStringEscape */ .chroma .se { color:#8045ff }
/* LiteralStringHeredoc */ .chroma .sh { color:#d88200 }
/* LiteralStringInterpol */ .chroma .si { color:#d88200 }
/* LiteralStringOther */ .chroma .sx { color:#d88200 }
/* LiteralStringRegex */ .chroma .sr { color:#d88200 }
/* LiteralStringSingle */ .chroma .s1 { color:#d88200 }
/* LiteralStringSymbol */ .chroma .ss { color:#d88200 }
/* LiteralNumber */ .chroma .m { color:#ae81ff }
/* LiteralNumberBin */ .chroma .mb { color:#ae81ff }
/* LiteralNumberFloat */ .chroma .mf { color:#ae81ff }
/* LiteralNumberHex */ .chroma .mh { color:#ae81ff }
/* LiteralNumberInteger */ .chroma .mi { color:#ae81ff }
/* LiteralNumberIntegerLong */ .chroma .il { color:#ae81ff }
/* LiteralNumberOct */ .chroma .mo { color:#ae81ff }
/* Operator */ .chroma .o { color:#f92672 }
/* OperatorWord */ .chroma .ow { color:#f92672 }
/* Punctuation */ .chroma .p { color:#111 }
/* Comment */ .chroma .c { color:#75715e }
/* CommentHashbang */ .chroma .ch { color:#75715e }
/* CommentMultiline */ .chroma .cm { color:#75715e }
/* CommentSingle */ .chroma .c1 { color:#75715e }
/* CommentSpecial */ .chroma .cs { color:#75715e }
/* CommentPreproc */ .chroma .cp { color:#75715e }
/* CommentPreprocFile */ .chroma .cpf { color:#75715e }
/* GenericEmph */ .chroma .ge { font-style:italic }
/* GenericStrong */ .chroma .gs { font-weight:bold }
