:root{
  --bg:#05060a; --panel:#0c1018; --fg:#d6f7e9; --muted:#5f7e74;
  --accent:#39ff14;        /* neon green */
  --link:#00eaff;          /* neon cyan */
  --link-hover:#7dffff;
  --tag:#ff2bd6;           /* neon magenta */
  --border:#15351f;
  --mono:Consolas,'JetBrains Mono','SFMono-Regular',ui-monospace,Menlo,'Cascadia Mono',monospace;
}
*{box-sizing:border-box}
html{background:var(--bg)}
body{margin:0;min-height:100vh;background:var(--bg);color:var(--fg);
  font-family:var(--mono);line-height:1.6;font-size:16px;
  background-image:
    radial-gradient(circle at 50% 0, rgba(57,255,20,.06), transparent 60%),
    repeating-linear-gradient(0deg, rgba(0,234,255,.025) 0 1px, transparent 1px 3px);
  background-repeat:no-repeat, repeat;
  background-size:100% 70vh, auto;
  background-attachment:fixed;
}
a{color:var(--link);text-decoration:none}
a:hover{color:var(--link-hover);text-shadow:0 0 6px rgba(0,234,255,.7)}
::selection{background:var(--accent);color:#05060a}

.site-header{display:flex;justify-content:space-between;align-items:center;
  padding:1rem 1.25rem;border-bottom:1px solid var(--border);position:sticky;top:0;
  background:rgba(5,6,10,.92);backdrop-filter:blur(4px);z-index:5}
.brand{color:var(--accent);font-weight:700;letter-spacing:.02em;
  text-shadow:0 0 8px rgba(57,255,20,.65)}
.brand::after{content:"▋";animation:blink 1.1s steps(1) infinite;color:var(--accent)}
@keyframes blink{50%{opacity:0}}
.site-header nav a{margin-left:1.1rem;color:var(--muted)}
.site-header nav a:hover{color:var(--accent);text-shadow:0 0 6px rgba(57,255,20,.6)}
.site-header nav a.navfav{color:var(--tag);text-shadow:0 0 8px rgba(255,43,214,.8);font-size:1.05rem}
.site-header nav a.navfav:hover{color:#ff7be8;text-shadow:0 0 12px rgba(255,43,214,1)}

main{max-width:760px;margin:0 auto;padding:2rem 1.25rem}
h1{color:var(--accent);text-shadow:0 0 8px rgba(57,255,20,.45);font-size:1.6rem}

/* all titles rendered lowercase (data preserved as-is) */
h1,.post-title,.post-link{text-transform:lowercase}

.post-list{list-style:none;padding:0}
.post-item{padding:1.1rem 0;border-bottom:1px solid var(--border)}
.post-link{font-size:1.15rem;font-weight:700;color:var(--fg)}
.post-link:hover{color:var(--accent);text-shadow:0 0 7px rgba(57,255,20,.6)}
.post-meta{color:var(--muted);font-size:.82rem;margin:.3rem 0}
.post-meta time::before{content:"$ ";color:var(--accent);opacity:.8}
.post-meta .tag{color:var(--tag);margin-left:.55rem}
.post-meta .tag:hover{text-shadow:0 0 7px rgba(255,43,214,.7)}
.post-excerpt{color:var(--fg);opacity:.82}

.post-title{color:var(--accent);font-size:1.9rem;line-height:1.25;margin:.2rem 0;
  text-shadow:0 0 10px rgba(57,255,20,.4)}
.post-body{font-size:1rem;line-height:1.75}
.post-body a{border-bottom:1px dotted rgba(0,234,255,.5)}
.post-body img.post-img,.post-img.feature{max-width:100%;height:auto;border-radius:4px;
  border:1px solid var(--border);margin:1rem 0;
  box-shadow:0 0 14px rgba(0,234,255,.12)}
.post-body pre{background:var(--panel);padding:1rem;overflow:auto;border-radius:4px;
  border:1px solid var(--border);font-size:.88rem;box-shadow:inset 0 0 18px rgba(0,234,255,.05)}
.post-body code{color:var(--accent)}
.post-body blockquote{border-left:2px solid var(--accent);margin:1rem 0;
  padding:.2rem 1rem;color:var(--muted)}

.missing-image{margin:1rem 0}
.missing-image__box{display:flex;align-items:center;justify-content:center;
  min-height:120px;border:1px dashed var(--tag);border-radius:4px;color:var(--tag);
  text-shadow:0 0 6px rgba(255,43,214,.5);
  background:repeating-linear-gradient(45deg,transparent,transparent 10px,
    rgba(255,43,214,.05) 10px,rgba(255,43,214,.05) 20px)}
.missing-image figcaption{font-size:.72rem;color:var(--muted);word-break:break-all;
  margin-top:.35rem}

.pager{display:flex;justify-content:space-between;align-items:center;color:var(--muted);
  margin-top:2rem}
.pager a:hover{color:var(--accent)}

.post-list.compact .post-item{display:flex;justify-content:space-between;gap:1rem;
  padding:.4rem 0}
.post-list.compact time{color:var(--muted)}

.year-list{list-style:none;padding:0;columns:3;font-size:1.05rem}
.year-list .count{color:var(--muted);font-size:.8rem}

.search-box{width:100%;padding:.7rem 1rem;background:var(--panel);
  border:1px solid var(--accent);color:var(--accent);border-radius:4px;font-size:1rem;
  font-family:var(--mono);box-shadow:0 0 12px rgba(57,255,20,.18)}
.search-box::placeholder{color:var(--muted)}
.search-box:focus{outline:none;box-shadow:0 0 16px rgba(57,255,20,.4)}

.site-footer{max-width:760px;margin:3rem auto 2rem;padding:1rem 1.25rem;color:var(--muted);
  border-top:1px solid var(--border);font-size:.85rem}
.prompt{color:var(--accent);text-shadow:0 0 6px rgba(57,255,20,.6)}

.fav{color:var(--tag);text-shadow:0 0 8px rgba(255,43,214,.85);font-size:.9em}
.post-title .fav{font-size:.7em;vertical-align:middle}

/* page content: tables (e.g. concerts list) */
.post-body table{width:100%;border-collapse:collapse;margin:1rem 0;font-size:.9rem}
.post-body th,.post-body td{border:1px solid var(--border);padding:.35rem .5rem;text-align:left}
.post-body th{color:var(--accent);background:var(--panel)}
.post-body tr:nth-child(even) td{background:rgba(0,234,255,.03)}
