:root {
  --bg:#050605; --panel:#0b0e0b; --fg:#c9d4c9; --muted:#7f8f7f;
  --green:#00ff66; --green-dim:#0f9d46; --border:#14301c; --warn:#ffcc33; --danger:#ff4d4d;
}
* { box-sizing: border-box; }
html { background:var(--bg); }
body { margin:0; font:16px/1.65 ui-monospace,"Cascadia Code","Fira Code",Consolas,monospace; color:var(--fg); background:var(--bg); }
a { color:var(--green); text-decoration:none; border-bottom:1px dotted var(--green-dim); }
a:hover { color:#fff; text-shadow:0 0 8px var(--green); }
::selection { background:var(--green); color:#000; }

.matrix-rain { position:fixed; inset:0; z-index:-1; opacity:.22; pointer-events:none; }

.ai-banner { background:#000; color:var(--green); border-bottom:1px solid var(--green-dim); text-align:center; padding:.4rem 1rem; font-size:.85rem; letter-spacing:.04em; }
.ai-banner::before { content:"> "; }
.ai-banner::after { content:"_"; animation:blink 1s steps(1) infinite; }
@keyframes blink { 50% { opacity:0; } }

.site-header { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:.5rem; max-width:54rem; margin:0 auto; padding:1rem; border-bottom:1px solid var(--border); }
.site-title { font-weight:700; font-size:1.25rem; color:var(--green); border:0; text-shadow:0 0 10px rgba(0,255,102,.5); }
.site-title::before { content:"$ "; color:var(--green-dim); }
.site-header nav a { margin-left:1rem; color:var(--fg); border:0; }
.site-header nav a:hover { color:var(--green); }

.content { max-width:54rem; margin:0 auto; padding:1rem; }
h1, h2, h3 { color:var(--green); line-height:1.25; }
h1 { text-shadow:0 0 12px rgba(0,255,102,.35); }
h2::before { content:"## "; color:var(--green-dim); }
h3::before { content:"### "; color:var(--green-dim); }

.site-footer { max-width:54rem; margin:2rem auto 0; padding:1rem; border-top:1px solid var(--border); color:var(--muted); font-size:.85rem; }
.byline, .meta { color:var(--muted); font-size:.85rem; }
.summary { color:var(--muted); }

.badge { display:inline-block; padding:.05rem .55rem; border-radius:3px; font-size:.72rem; font-weight:700; border:1px solid; text-transform:uppercase; letter-spacing:.05em; }
.badge-incident { background:#031a0b; border-color:var(--green); color:var(--green); }
.badge-guide { background:#1a1503; border-color:var(--warn); color:var(--warn); }
.badge-study { background:#0a0a1a; border-color:#7c8cff; color:#7c8cff; }

.disclaimer { background:var(--panel); border:1px solid var(--border); border-left:3px solid var(--warn); padding:.5rem 1rem; margin:1rem 0; }
.disclaimer-strong { background:#1a0505; border:1px solid var(--danger); color:#ffb3b3; padding:.5rem .75rem; }

.post-list { list-style:none; padding:0; }
.post-list li { padding:.7rem 0; border-bottom:1px solid var(--border); }
.tag { display:inline-block; border:1px solid var(--green-dim); border-radius:3px; padding:0 .5rem; margin:0 .3rem .3rem 0; font-size:.8rem; }
.tag::before { content:"#"; }

pre { overflow:auto; padding:1rem; background:#000; border:1px solid var(--border); border-radius:4px; color:#9dffb8; }
code { font-size:.9em; color:#9dffb8; }
:not(pre) > code { background:#0b140d; padding:.05rem .3rem; border-radius:3px; }
table { border-collapse:collapse; display:block; overflow-x:auto; }
th, td { border:1px solid var(--border); padding:.3rem .6rem; }
th { background:var(--panel); color:var(--green); }
blockquote { border-left:3px solid var(--green-dim); margin-left:0; padding-left:1rem; color:var(--muted); }
hr { border:0; border-top:1px solid var(--border); }
.post > h1:first-of-type { display:none; } /* lesson bodies start with their own H1; the layout already shows the title */

@media (prefers-reduced-motion: reduce) { .matrix-rain { display:none; } .ai-banner::after { animation:none; } }
