/* ============================================================
   THEME: cyan tape
   Override layer — load AFTER site.css.
   Direction: linen paper, mono-forward, ASCII rules, brutalist.
   Serif swap: EB Garamond.
   Accent: teal #0D8C8C (cyan tape on linen).
   ============================================================ */

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

:root {
  /* Palette: linen paper, deep ink, teal accent */
  --paper:        #F4F2EC;
  --paper-2:      #E5E2DA;
  --ink:          #0F1A1C;
  --ink-2:        #16282B;
  --muted:        #3F5054;
  --muted-2:      #7A8D91;
  --hairline:     #C0CDD0;
  --hairline-strong: #94A2A6;

  --glacial:      #0D8C8C;   /* teal accent */
  --glacial-2:    #0A6A6A;
  --moss:         #466B5B;
  --ember:        #0D8C8C;

  /* Type swap */
  --font-serif:   'EB Garamond', 'Noto Serif Thai', Georgia, serif;
  --font-sans:    'JetBrains Mono', 'IBM Plex Mono', 'Sarabun', monospace;
  --font-mono:    'JetBrains Mono', 'IBM Plex Mono', monospace;
  --font-thai-display: 'Noto Serif Thai', 'EB Garamond', serif;
  --font-thai-body:    'IBM Plex Sans Thai Looped', 'Sarabun', sans-serif;

  /* Sharper edges */
  --r-sm: 0;
  --r-md: 0;
  --r-none: 0;
}

html, body { background: var(--paper); }

/* Body in serif but slightly larger / loftier — bookish feel */
body {
  font-family: var(--font-serif);
  font-size: 20px;
  line-height: 1.55;
}

/* Wordmark: brackets instead of dot */
.wordmark {
  font-family: var(--font-mono);
  font-style: normal;
  font-weight: 500;
  font-size: 15px;
  letter-spacing: 0;
  text-transform: lowercase;
}
.wordmark::before { content: '~/'; color: var(--muted-2); }
.wordmark__dot { display: none; }

/* Nav: mono, lowercase, with brackets on active */
.site-nav { gap: 18px; font-family: var(--font-mono); font-size: 13px; }
.site-nav__item { text-transform: lowercase; padding: 4px 6px; }
.site-nav__item:hover { color: var(--glacial); background: var(--paper-2); }
.site-nav__item.is-active {
  color: var(--glacial);
  text-decoration: none;
  background: none;
}
.site-nav__item.is-active::before { content: '['; color: var(--glacial); margin-right: 2px; }
.site-nav__item.is-active::after  { content: ']'; color: var(--glacial); margin-left: 2px; }

/* Header: harder line, no sticky blur */
.site-header { border-bottom: 1.5px solid var(--ink); background: var(--paper); }

/* Footer: ASCII rule */
.site-footer { border-top: 1.5px solid var(--ink); }
.site-footer__col h4 { font-family: var(--font-mono); }
.site-footer__col a { font-family: var(--font-mono); font-size: 12px; }

/* ASCII rules — replace hairlines with dashed/dotted brutalist lines */
.timeline__rule,
.journal__section-rule,
.almanac__head-rule,
.ledger__head-rule {
  flex: 1;
  height: 0;
  background: transparent;
  border-top: 1px dashed var(--hairline-strong);
}

hr,
.home-index__head,
.tl__node::before {
  border-color: var(--hairline-strong);
}

/* Buttons: brutalist — sharp corners, thick border */
.btn,
.home-index__cta-primary,
.hello__cta-primary,
button[type="button"].btn--primary {
  border-radius: 0;
  border: 1.5px solid var(--ink);
  font-family: var(--font-mono);
  text-transform: lowercase;
  font-weight: 500;
  letter-spacing: 0;
}
.home-index__cta-primary {
  background: var(--ink);
  color: var(--paper);
  padding: 10px 18px;
  font-size: 13px;
}
.home-index__cta-primary::before { content: '→ '; }
.home-index__cta-primary:hover { background: var(--glacial); border-color: var(--glacial); }
.home-index__cta-link {
  font-family: var(--font-mono);
  text-decoration: underline;
  text-decoration-style: dashed;
  text-underline-offset: 5px;
  font-size: 13px;
}

/* Headings: slimmer, italic only when truly emphatic */
h1, h2, h3, h4 { font-family: var(--font-serif); letter-spacing: 0; }

.home-index__title {
  font-family: var(--font-serif);
  font-weight: 500;
  font-size: 38px;
  line-height: 1.22;
  letter-spacing: -0.005em;
}
.home-index__title em { font-style: italic; font-weight: 600; color: var(--glacial); }
.home-index__sub {
  font-family: var(--font-serif);
  font-style: italic;
  color: var(--muted);
  font-size: 19px;
}

/* Section headers across pages — mono eyebrows, ASCII rules */
.timeline__title,
.journal__section-title,
.almanac__head-label,
.ledger__head-label {
  font-family: var(--font-mono);
  font-style: normal;
  font-weight: 600;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--ink);
}
.timeline__title::before,
.journal__section-title::before { content: '## '; color: var(--muted-2); font-weight: 400; }

.timeline__meta,
.journal__section-meta {
  font-family: var(--font-mono);
  font-size: 11px;
  text-transform: lowercase;
  letter-spacing: 0;
  color: var(--muted);
}

/* Timeline */
.tl__year { font-family: var(--font-mono); font-style: normal; font-weight: 600; font-size: 13px; letter-spacing: 0; }
.tl__month { font-family: var(--font-mono); }
.tl__title { font-family: var(--font-serif); font-weight: 600; font-size: 22px; letter-spacing: -0.005em; }
.tl__text { font-family: var(--font-serif); }
.tl__kind { font-family: var(--font-mono); }
.tl__dot { border-radius: 0; width: 9px; height: 9px; transform: rotate(45deg); }
.tl--now .tl__dot { background: var(--glacial); border-color: var(--glacial); box-shadow: none; }

/* Journal masthead */
.journal__title {
  font-family: var(--font-serif);
  font-style: italic;
  font-weight: 500;
  font-size: 72px;
  letter-spacing: -0.02em;
}
.journal__subtitle { font-family: var(--font-serif); }
.journal__masthead-meta { font-family: var(--font-mono); border-top: 1px dashed var(--hairline-strong); border-bottom: 1px dashed var(--hairline-strong); }
.journal__rule-top { font-family: var(--font-mono); }

/* Hello card */
.hello { border-bottom: 1px dashed var(--hairline-strong); }
.hello__lede { font-family: var(--font-serif); font-style: normal; }
.hello__lede em { font-style: italic; color: var(--glacial); }
.hello__rail-meta { font-family: var(--font-mono); }
.hello__facts { border-top: 1px dashed var(--hairline-strong); border-bottom: 1px dashed var(--hairline-strong); }
.hello__facts span { font-family: var(--font-mono); }
.hello__facts strong { font-family: var(--font-serif); font-style: italic; }
.hello__cta-primary { background: var(--ink); color: var(--paper); border: 1.5px solid var(--ink); }
.hello__cta-primary:hover { background: var(--glacial); border-color: var(--glacial); }
.hello__cta-link { font-family: var(--font-mono); text-decoration: underline dashed; text-underline-offset: 5px; }

/* Entries (journal rows) */
.entry { border-top: 1px dashed var(--hairline-strong); }
.entry:hover { background: var(--paper-2); }
.entry__day { font-family: var(--font-mono); font-style: normal; font-weight: 600; }
.entry__month, .entry__year { font-family: var(--font-mono); }
.entry__eyebrow { font-family: var(--font-mono); }
.entry__title { font-family: var(--font-serif); font-weight: 600; letter-spacing: -0.005em; }
.entry__excerpt { font-family: var(--font-serif); font-style: italic; }
.entry__foot { font-family: var(--font-mono); }

/* Tags — bracket pills */
.tag {
  font-family: var(--font-mono);
  background: transparent;
  border: 1px dashed var(--hairline-strong);
  padding: 2px 8px;
  color: var(--ink);
}
.tag::before { content: ''; margin: 0; }
.tag::after  { content: ''; }
.tag:hover { border-color: var(--glacial); color: var(--glacial); background: var(--paper-2); }

/* Post page — bookish */
.post__title { font-family: var(--font-serif); font-weight: 600; letter-spacing: -0.005em; }
.post__body { font-family: var(--font-serif); font-size: 20px; }
.post__body h2 { font-family: var(--font-serif); font-weight: 600; }
.post__body blockquote { font-family: var(--font-serif); font-style: italic; }
.post__back { font-family: var(--font-mono); }
.post__back::before { content: '← '; }
.meta--row, .meta { font-family: var(--font-mono); }

/* Archive */
.archive__title { font-family: var(--font-serif); font-style: italic; font-weight: 500; }
.archive__year-num { font-family: var(--font-mono); font-style: normal; font-weight: 700; color: var(--glacial); }

/* Tagview */
.tagview__title { font-family: var(--font-serif); font-style: italic; }
.tagview__hash { color: var(--glacial); font-family: var(--font-mono); font-style: normal; }

/* Search overlay */
.search-overlay__panel { border-radius: 0; border: 1.5px solid var(--ink); }
.search-overlay__input { font-family: var(--font-mono); }
.search-overlay__hint { font-family: var(--font-mono); }
.search-overlay__hint kbd { border-radius: 0; font-family: var(--font-mono); }

/* 404 */
.notfound__num { font-family: var(--font-mono); font-style: normal; color: var(--glacial); }

/* Almanac / Ledger headings */
.almanac__hero-title,
.ledger__intro,
.almanac__card-title { font-family: var(--font-serif); }

/* Links — terminal blue underline replaced with vermilion dashed */
a { color: var(--glacial); text-decoration: underline; text-decoration-style: solid; text-underline-offset: 4px; }
a:hover { color: var(--glacial-2); }

/* Selection */
::selection { background: var(--ink); color: var(--paper); }

/* Code blocks — boxier */
pre, code, kbd {
  font-family: var(--font-mono);
  background: var(--paper-2);
  border-radius: 0;
}
pre { border: 1px solid var(--hairline-strong); }
.post__body pre { border: 1px solid var(--hairline-strong); border-radius: 0; }

/* Eyebrow: prefix with arrow */
.eyebrow { font-family: var(--font-mono); }
.entry__eyebrow .dot { display: none; }
.entry__eyebrow::before { content: '/ '; color: var(--muted-2); }

/* Site footer wordmark */
.site-footer .wordmark { font-size: 13px; }
