/* theme: terminal, a scrolling guestbook.log, CRT style. matches the
   loading-screen dots, the VT323 import, and the "devtool/secret" tags
   already on the site better than a generic card grid does. */

.wall-theme-terminal {
  background: #001400;
  color: #33ff66;
  font-family: "Ubuntu Mono", monospace;
  border: 1px solid #0f3d1f;
  border-radius: 6px;
  padding: 18px 18px 24px;
  position: relative;
  overflow: hidden;
}
.wall-theme-terminal::after {
  content: "";
  position: absolute; inset: 0; pointer-events: none;
  background: repeating-linear-gradient(0deg, rgba(0,0,0,0.15) 0px, rgba(0,0,0,0.15) 1px, transparent 1px, transparent 3px);
}

.wall-theme-terminal .wall-heading { text-align: left; }
.wall-theme-terminal .wall-heading h2 { font-family: "VT323", monospace; font-size: 1.6rem; color: #66ff99; margin: 0; }
.wall-theme-terminal .wall-heading h2::before { content: "$ tail -f "; color: #1f8f45; }
.wall-theme-terminal .wall-heading h2::after { content: "_"; animation: wallblink 1s steps(1) infinite; }
.wall-theme-terminal .wall-heading p { color: #1f8f45; font-size: 0.78rem; margin: 4px 0 16px; }

@keyframes wallblink { 50% { opacity: 0; } }

.wall-theme-terminal .wall-controls { border-bottom: 1px dashed #0f3d1f; padding-bottom: 8px; }
.wall-theme-terminal .wall-count { font-size: 0.72rem; color: #1f8f45; }
.wall-theme-terminal .wall-sort button { background: none; border: 1px solid #0f3d1f; color: #1f8f45; padding: 3px 9px; border-radius: 3px; cursor: pointer; font-size: 0.7rem; font-family: inherit; }
.wall-theme-terminal .wall-sort button.active { color: #001400; background: #33ff66; border-color: #33ff66; }

.wall-theme-terminal .wall-authbar { color: #1f8f45; }
.wall-theme-terminal .wall-authbar .switch { color: #66ff99; }
.wall-theme-terminal .wall-authform { justify-content: flex-start; margin-left: 0; }
.wall-theme-terminal .wall-authform input { font-family: inherit; font-size: 0.8rem; color: #33ff66; background: #000c00; border: 1px solid #0f3d1f; border-radius: 3px; padding: 6px 8px; }
.wall-theme-terminal .wall-authform button { font-family: inherit; font-size: 0.75rem; background: #0f3d1f; color: #33ff66; border: 1px solid #1f8f45; padding: 6px 12px; border-radius: 3px; cursor: pointer; }
.wall-theme-terminal .wall-authform .err { color: #ff6666; }

.wall-theme-terminal .wall-compose { max-width: 100%; }
.wall-theme-terminal .wall-compose label { display: block; font-size: 0.72rem; color: #1f8f45; margin-bottom: 6px; }
.wall-theme-terminal .wall-compose label::before { content: "> "; }
.wall-theme-terminal .wall-compose textarea { font-family: inherit; font-size: 0.85rem; color: #33ff66; background: #000c00; border: 1px solid #0f3d1f; border-radius: 3px; padding: 8px 10px; }
.wall-theme-terminal .wall-compose-file { color: #1f8f45; }
.wall-theme-terminal .wall-filelabel { color: #66ff99; }
.wall-theme-terminal .wall-compose-foot input[type=text] { font-family: inherit; font-size: 0.75rem; background: #000c00; border: 1px solid #0f3d1f; border-radius: 3px; color: #33ff66; padding: 5px 7px; }
.wall-theme-terminal .wall-compose-foot button { font-family: inherit; font-size: 0.75rem; background: #0f3d1f; color: #33ff66; border: 1px solid #1f8f45; padding: 8px 14px; border-radius: 3px; cursor: pointer; letter-spacing: 0.03em; }
.wall-theme-terminal .wall-compose-foot button:hover { background: #1f8f45; color: #001400; }

/* single-column log feed instead of a masonry grid */
.wall-theme-terminal .wall-grid { columns: 1; }

.wall-theme-terminal .wall-post {
  background: none; border: none; border-bottom: 1px dashed #0f3d1f; border-radius: 0;
  padding: 10px 0 12px; margin: 0 0 4px;
}
.wall-theme-terminal .wall-post-head { gap: 8px; }
.wall-theme-terminal .wall-post-name { font-weight: bold; color: #66ff99; }
.wall-theme-terminal .wall-post-name::before { content: "["; color: #1f8f45; }
.wall-theme-terminal .wall-post-name::after { content: "]"; color: #1f8f45; }
.wall-theme-terminal .wall-post-time { font-size: 0.68rem; color: #1f8f45; }
.wall-theme-terminal .wall-post-body { font-size: 0.85rem; color: #33ff66; }
.wall-theme-terminal .wall-post-body::before { content: "> "; color: #1f8f45; }
.wall-theme-terminal .wall-reacts button { color: #1f8f45; font-size: 0.7rem; }
.wall-theme-terminal .wall-reacts button:hover { color: #66ff99; }
.wall-theme-terminal .wall-replylink { color: #1f8f45; font-size: 0.7rem; }
.wall-theme-terminal .wall-replylink:hover { color: #66ff99; }

.wall-theme-terminal .wall-thread { border-left: 1px dashed #0f3d1f; padding-left: 16px; }
.wall-theme-terminal .wall-reply { background: none; padding: 4px 0; }
.wall-theme-terminal .wall-reply-head::before { content: "\21B3 "; color: #1f8f45; }
.wall-theme-terminal .wall-reply-name { color: #66ff99; font-size: 0.78rem; }
.wall-theme-terminal .wall-reply-time { color: #1f8f45; font-size: 0.65rem; }
.wall-theme-terminal .wall-reply-body { color: #33ff66; font-size: 0.78rem; }
.wall-theme-terminal .wall-reply .wall-reacts button { font-size: 0.65rem; }
.wall-theme-terminal .wall-reply .wall-replylink { font-size: 0.65rem; }
.wall-theme-terminal .wall-reply .wall-thread { margin-top: 8px; border-left-style: dotted; }

.wall-theme-terminal .wall-attachment-file { color: #66ff99; font-size: 0.78rem; }
.wall-theme-terminal .wall-attachment-file span { color: #1f8f45; }
.wall-theme-terminal .wall-attachment-img img { border: 1px solid #0f3d1f; }
.wall-theme-terminal .wall-replybox input[type=text] { font-family: inherit; font-size: 0.75rem; color: #33ff66; background: #000c00; border: 1px solid #0f3d1f; border-radius: 3px; padding: 5px 7px; }
.wall-theme-terminal .wall-replybox button { font-family: inherit; font-size: 0.68rem; background: #0f3d1f; color: #33ff66; border: 1px solid #1f8f45; padding: 0 10px; border-radius: 3px; cursor: pointer; }

.wall-theme-terminal .wall-loadmore { background: none; border: 1px solid #0f3d1f; color: #1f8f45; padding: 8px 16px; border-radius: 3px; cursor: pointer; font-family: inherit; font-size: 0.7rem; }
.wall-theme-terminal .wall-loadmore:hover { color: #66ff99; border-color: #1f8f45; }
.wall-theme-terminal .wall-annot { color: #0f3d1f; font-size: 0.65rem; }
.wall-theme-terminal .wall-annot::before { content: "# "; }
.wall-theme-terminal .wall-empty { color: #1f8f45; }
.wall-theme-terminal .wall-empty::before { content: "-- no entries in log --"; }
