:root {
  --bg: #0a0d10;
  --bg-2: #0e1216;
  --fg: #c7d1d9;
  --dim: #57626c;
  --dimmer: #3a434b;
  --border: rgba(199,209,217,0.10);
  --green: #6fcf6f;
  --cyan: #4fc9c9;
  --magenta: #d17fd1;
  --yellow: #d1c56f;
  --red: #e07a7a;
  --font-m: ui-monospace,'Cascadia Code','SF Mono','JetBrains Mono',Consolas,monospace;
}
/* Deliberately single-theme: an oldschool IRC/terminal log is a dark-on-light-text convention by
   cultural definition — a "light mode" would undercut the entire visual premise. Committed, not
   an oversight. */
*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--bg)}
body{
  background:var(--bg);color:var(--fg);font-family:var(--font-m);line-height:1.7;
  font-size:15px;-webkit-font-smoothing:antialiased;
}
a{color:var(--green);text-decoration:none}
a:hover{text-decoration:underline}
a:focus-visible{outline:2px solid var(--green);outline-offset:2px}
.wrap{max-width:720px;margin:0 auto;padding:0 20px}

/* terminal chrome */
.chrome{border-bottom:1px solid var(--border);padding:14px 0;background:var(--bg-2)}
.chrome-row{display:flex;align-items:center;gap:10px}
.dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}
.dot.r{background:var(--red)}
.dot.y{background:var(--yellow)}
.dot.g{background:var(--green)}
.chrome-title{color:var(--dim);font-size:12.5px;margin-left:6px;letter-spacing:.02em}
.chrome-title b{color:var(--fg);font-weight:600}
.chrome-link{margin-left:auto;color:var(--dim);font-size:12.5px}
.chrome-link:hover{color:var(--green)}
.chrome-link + .chrome-link{margin-left:16px}

/* topic / MOTD */
.topic{padding:26px 0 22px;border-bottom:1px solid var(--border)}
.topic-line{color:var(--dim);font-size:13.5px;line-height:1.8}
.topic-line b{color:var(--fg)}
.topic-line.no-track{color:var(--green);font-size:12px;margin-top:6px}
.cursor{display:inline-block;width:8px;height:15px;background:var(--green);vertical-align:-2px;
  animation:blink 1.1s steps(1) infinite}
@media (prefers-reduced-motion:reduce){.cursor{animation:none;opacity:.7}}
@keyframes blink{0%,49%{opacity:1}50%,100%{opacity:0}}

/* log entries */
.log{padding:30px 0 60px}
.entry{padding:22px 0;border-bottom:1px solid var(--border)}
.entry:last-child{border-bottom:none}
.entry-line{font-size:13px;color:var(--dim);margin-bottom:6px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.entry-line time{font-variant-numeric:tabular-nums}
.nick{font-weight:700}
.nick.c-green{color:var(--green)}
.nick.c-cyan{color:var(--cyan)}
.nick.c-magenta{color:var(--magenta)}
.nick.c-yellow{color:var(--yellow)}
.entry-title{font-size:17px;font-weight:700;margin-bottom:8px}
.entry-title a,.entry-title button.entry-title-btn{color:var(--fg)}
.entry-title a:hover,.entry-title button.entry-title-btn:hover{color:var(--green)}
.entry-teaser{color:var(--dim);font-size:14px;line-height:1.7;margin-bottom:10px;max-width:62ch}
.tags{display:flex;gap:12px;flex-wrap:wrap;font-size:12.5px}
.tags a{color:var(--cyan)}
.tags a:hover{color:var(--green)}

.empty-note{color:var(--dimmer);font-size:13px;padding:20px 0;font-style:normal}

/* user-submitted post body (rendered by renderSafeMarkdownLite) */
.entry-body{color:var(--fg);font-size:14.5px;line-height:1.75;margin:10px 0;max-width:64ch}
.entry-body p{margin-bottom:12px}
.entry-body p:last-child{margin-bottom:0}
.entry-body code{background:var(--bg-2);border:1px solid var(--border);border-radius:3px;padding:1px 5px;font-size:0.92em}
.entry-body pre{background:var(--bg-2);border:1px solid var(--border);border-radius:6px;padding:12px 14px;overflow-x:auto;margin:12px 0}
.entry-body pre code{background:none;border:none;padding:0}
.entry-actions{display:flex;gap:16px;align-items:center;margin-top:10px;font-size:12.5px}
.entry-actions button{background:none;border:none;color:var(--dim);font-family:inherit;font-size:inherit;cursor:pointer;padding:0}
.entry-actions button:hover{color:var(--red)}
.entry-actions .report-ok{color:var(--green)}

/* write form */
.write-toggle{display:block;width:100%;text-align:left;background:none;border:1px dashed var(--border);
  border-radius:6px;color:var(--dim);font-family:inherit;font-size:13.5px;padding:12px 16px;cursor:pointer;margin:22px 0}
.write-toggle:hover{border-color:var(--green);color:var(--green)}
.write-panel{border:1px solid var(--border);border-radius:6px;padding:18px;margin:0 0 22px;background:var(--bg-2)}
.write-panel[hidden]{display:none}
.write-field{margin-bottom:14px}
.write-field label{display:block;font-size:12px;color:var(--dim);margin-bottom:5px}
.write-field input,.write-field textarea{
  width:100%;background:var(--bg);border:1px solid var(--border);border-radius:4px;color:var(--fg);
  font-family:inherit;font-size:13.5px;padding:8px 10px;
}
.write-field input:focus,.write-field textarea:focus{outline:2px solid var(--green);outline-offset:1px;border-color:var(--green)}
.write-field textarea{min-height:140px;resize:vertical;line-height:1.6}
.write-hint{font-size:11.5px;color:var(--dimmer);margin-top:4px}
.write-submit{background:var(--green);color:var(--bg);border:none;border-radius:4px;font-family:inherit;
  font-weight:700;font-size:13.5px;padding:9px 20px;cursor:pointer}
.write-submit:hover{opacity:.85}
.write-submit:disabled{opacity:.5;cursor:default}
.write-status{font-size:12.5px;margin-top:10px}
.write-status.err{color:var(--red)}
.write-status.ok{color:var(--green)}

.post-page-nav{padding:16px 0;font-size:13px}

footer{border-top:1px solid var(--border);padding:20px 0 40px}
.footer-line{color:var(--dimmer);font-size:12px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}
.footer-line a{color:var(--dim)}
.footer-line a:hover{color:var(--green)}

@media(max-width:560px){body{font-size:14px}.entry-title{font-size:16px}}
