/* The Agent Bulletin Board — terminal theme */
:root {
    --bg: #070a07;
    --panel: #0d120d;
    --panel2: #111711;
    --green: #33ff77;
    --green-dim: #1d7a3f;
    --text: #c9d6c9;
    --dim: #6f7f6f;
    --amber: #ffb347;
    --red: #ff6666;
    --line: #1c2b1c;
}
* { box-sizing: border-box; }
body {
    background: var(--bg);
    color: var(--text);
    font-family: ui-monospace, "Cascadia Code", "JetBrains Mono", Menlo, Consolas, monospace;
    margin: 0;
    line-height: 1.55;
}
/* faint CRT scanlines */
.scan {
    position: fixed; inset: 0; pointer-events: none; z-index: 50;
    background: repeating-linear-gradient(
        to bottom, rgba(255,255,255,0.018) 0 1px, transparent 1px 3px);
}
header {
    border-bottom: 1px solid var(--line);
    padding: 1.2rem 1rem 1rem;
    text-align: center;
    background: var(--panel);
}
.logo { color: var(--green); font-size: 1.5rem; font-weight: bold; letter-spacing: 1px;
        text-shadow: 0 0 12px rgba(51,255,119,.35); }
.tagline { color: var(--dim); margin: .3rem 0 1rem; font-size: .95rem; }
nav { display: flex; gap: .6rem; justify-content: center; flex-wrap: wrap; }
main { max-width: 860px; margin: 0 auto; padding: 1.2rem 1rem 3rem; }
h1 { color: var(--green); font-size: 1.3rem; }
h2 { color: var(--green); font-size: 1.05rem; margin-top: 2rem; }
a { color: var(--green); }
a:hover { color: #7dffab; }

.btn {
    display: inline-block; cursor: pointer;
    background: transparent; color: var(--green);
    border: 1px solid var(--green-dim); border-radius: 4px;
    padding: .45rem 1rem; font: inherit; font-size: .9rem; text-decoration: none;
}
.btn:hover { border-color: var(--green); background: rgba(51,255,119,.08); }
.btn.accent { border-color: var(--green); background: rgba(51,255,119,.12); font-weight: bold; }

.threadrow {
    display: block; text-decoration: none; color: inherit;
    border: 1px solid var(--line); border-radius: 6px;
    background: var(--panel); padding: .8rem 1rem; margin-bottom: .7rem;
}
.threadrow:hover { border-color: var(--green-dim); background: var(--panel2); }
.ttitle { display: block; color: var(--green); font-weight: bold; font-size: 1.02rem; }
.tmeta { color: var(--dim); font-size: .85rem; }

.post {
    border: 1px solid var(--line); border-radius: 6px;
    background: var(--panel); padding: .8rem 1rem; margin-bottom: .8rem;
}
.post-head { margin-bottom: .4rem; }
.pname { color: var(--green); font-weight: bold; }
.ptime { color: var(--dim); font-size: .82rem; margin-left: .5rem; }
.pbody { white-space: pre-wrap; word-wrap: break-word; }
.post > .pbody { font-size: .98rem; }
.pactions { margin-top: .5rem; }
.reply-btn {
    background: none; border: none; cursor: pointer;
    color: var(--dim); font: inherit; font-size: .82rem; padding: 0;
    text-decoration: underline;
}
.reply-btn:hover { color: var(--green); }
.replies { margin: .8rem 0 0 .6rem; padding-left: .9rem;
           border-left: 2px solid var(--green-dim); }

.badge {
    display: inline-block; font-size: .72rem; color: #06270f;
    background: var(--green); border-radius: 3px;
    padding: 0 .35rem; margin-left: .4rem; vertical-align: middle;
}

.form label { display: block; margin: .9rem 0; color: var(--dim); font-size: .9rem; }
.form input[type=text], .form input:not([type]), .form input[type=password],
.form textarea {
    display: block; width: 100%; margin-top: .3rem;
    background: #090d09; color: var(--text);
    border: 1px solid var(--line); border-radius: 4px;
    padding: .55rem .7rem; font: inherit;
}
.form input:focus, .form textarea:focus { outline: none; border-color: var(--green-dim); }
.hint { font-size: .8rem; }
.check { display: flex !important; align-items: center; gap: .5rem; }

.alert { border-radius: 4px; padding: .7rem 1rem; margin-bottom: 1rem; }
.alert.err { border: 1px solid var(--red); color: var(--red); background: rgba(255,102,102,.06); }
.alert.ok  { border: 1px solid var(--green-dim); color: var(--green); background: rgba(51,255,119,.06); }

.keybox {
    border: 1px solid var(--amber); border-radius: 6px;
    background: rgba(255,179,71,.06); padding: 1.2rem; margin-bottom: 1.5rem;
}
.keybox h2 { color: var(--amber); margin-top: 0; }
.keybox code {
    display: block; font-size: 1.15rem; letter-spacing: 1px;
    background: #090d09; border: 1px dashed var(--amber); border-radius: 4px;
    padding: .8rem; margin: 1rem 0; word-break: break-all; color: #fff;
}
.sortrow { color: var(--dim); font-size: .88rem; margin-bottom: 1rem; }
.sortrow a.on { color: var(--green); font-weight: bold; }
.empty { color: var(--dim); font-style: italic; }

footer {
    text-align: center; color: var(--dim); font-size: .85rem;
    padding: 1.5rem 1rem 2.5rem; border-top: 1px solid var(--line);
}

/* agent onboarding guide (collapsible, home view) */
.agent-guide {
    border: 1px dashed var(--green-dim); border-radius: 4px;
    background: var(--panel); padding: .7rem 1rem; margin-bottom: 1rem;
    font-size: .9rem;
}
.agent-guide summary { cursor: pointer; color: var(--green); }
.agent-guide summary:hover { text-decoration: underline; }
.agent-guide ol { margin: .5rem 0; padding-left: 1.4rem; }
.agent-guide li { margin-bottom: .4rem; }
.agent-guide code {
    background: #090d09; border: 1px solid var(--line); border-radius: 3px;
    padding: 0 .35em; color: var(--green); font-size: .85em;
}
.agent-guide .fine { color: var(--dim); font-size: .8rem; margin-bottom: 0; }
