/* ==========================================================================
   PGPony Board — /board
   Extends style.css tokens. Same dark terminal language as the rest.
   ========================================================================== */

.bd-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 26px; }
.bd-cats { display: flex; gap: 0; border: 1px solid var(--line-strong); border-radius: var(--radius); overflow: hidden; flex-wrap: wrap; }
.bd-cats a { padding: 10px 18px; font-size: 13px; color: var(--text-dim); border-right: 1px solid var(--line); }
.bd-cats a:last-child { border-right: 0; }
.bd-cats a:hover { color: var(--text); background: var(--bg-card-hov); }
.bd-cats a.on { color: var(--bg); background: var(--accent); font-weight: 600; }
.bd-newbtn { font-size: 13px; color: var(--bg); background: var(--accent); border: 1px solid var(--accent); border-radius: var(--radius); padding: 10px 20px; font-weight: 600; }
.bd-newbtn:hover { color: var(--bg); background: #b5ffd7; border-color: #b5ffd7; }

/* Flash */
.bd-flash { border: 1px solid var(--line-strong); border-left: 2px solid var(--text-dim); border-radius: var(--radius); background: var(--bg-card); padding: 13px 16px; font-size: 13.5px; color: var(--text-dim); margin-bottom: 22px; }
.bd-flash strong { color: var(--text); }
.bd-flash-ok { border-left-color: var(--ok); }
.bd-flash-ok strong { color: var(--ok); }
.bd-flash-warn { border-left-color: var(--warn); }
.bd-flash-warn strong { color: var(--warn); }
.bd-flash-err { border-left-color: var(--danger); }
.bd-flash-err strong { color: var(--danger); }

/* Topic list */
.bd-list { border: 1px solid var(--line-strong); border-radius: var(--radius); overflow: hidden; }
.bd-row { display: grid; grid-template-columns: 1fr auto auto auto; gap: 16px; align-items: center; padding: 15px 18px; border-bottom: 1px solid var(--line); background: var(--bg); }
.bd-row:last-child { border-bottom: 0; }
.bd-row:hover { background: var(--bg-card-hov); }
.bd-row-title { font-size: 14.5px; color: var(--text); min-width: 0; }
.bd-row-title a { color: var(--text); }
.bd-row-title a:hover { color: var(--accent); }
.bd-row-meta { font-size: 12px; color: var(--text-faint); margin-top: 3px; }
.bd-col-num { font-size: 12.5px; color: var(--text-dim); white-space: nowrap; text-align: right; }
.bd-empty { padding: 40px 18px; text-align: center; color: var(--text-faint); font-size: 13.5px; background: var(--bg); }
@media (max-width: 640px) { .bd-row { grid-template-columns: 1fr auto; } .bd-col-hide-m { display: none; } }

/* Chips */
.bd-chip { display: inline-block; font-size: 11px; letter-spacing: 0.05em; border: 1px solid var(--line-strong); border-radius: var(--radius); padding: 2px 8px; color: var(--text-dim); white-space: nowrap; }
.bd-chip-bugs { color: var(--danger); border-color: rgba(255,107,107,0.4); }
.bd-chip-features { color: var(--accent); border-color: var(--line-accent); }
.bd-chip-general { color: var(--text-dim); }
.bd-chip-planned { color: var(--warn); border-color: rgba(255,181,71,0.4); }
.bd-chip-shipped { color: var(--ok); border-color: var(--line-accent); }
.bd-chip-answered { color: var(--ok); border-color: var(--line-accent); }
.bd-chip-closed { color: var(--text-faint); }
.bd-chip-pin { color: var(--warn); border-color: rgba(255,181,71,0.4); }

/* Posts */
.bd-post { border: 1px solid var(--line-strong); border-radius: var(--radius); background: var(--bg); margin-bottom: 18px; overflow: hidden; }
.bd-post-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding: 11px 16px; border-bottom: 1px solid var(--line); background: var(--bg-alt); font-size: 12.5px; color: var(--text-dim); }
.bd-post-who { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; min-width: 0; }
.bd-signed { color: var(--ok); }
.bd-fpr { color: var(--text-faint); font-size: 11.5px; letter-spacing: 0.05em; word-break: break-all; }
.bd-op { color: var(--warn); }
.bd-post-body { padding: 16px 18px; font-size: 14px; line-height: 1.7; color: var(--text); white-space: pre-wrap; word-wrap: break-word; }
.bd-post-orig { border-top: 1px dashed var(--line); }
.bd-post-orig summary { cursor: pointer; padding: 9px 16px; font-size: 12px; color: var(--text-faint); list-style: none; }
.bd-post-orig summary::before { content: '+ '; color: var(--accent); }
.bd-post-orig[open] summary::before { content: '\2212  '; }
.bd-post-orig summary::-webkit-details-marker { display: none; }
.bd-post-orig pre { margin: 0; padding: 0 16px 14px; font-size: 11.5px; color: var(--text-dim); overflow-x: auto; }

/* Vote box */
.bd-vote { display: flex; align-items: center; gap: 14px; border: 1px solid var(--line-accent); border-radius: var(--radius); background: var(--bg-card); padding: 14px 18px; margin-bottom: 22px; flex-wrap: wrap; }
.bd-vote-count { font-size: 22px; font-weight: 600; color: var(--accent); }
.bd-vote-label { font-size: 13px; color: var(--text-dim); }
.bd-vote form { margin-left: auto; }
.bd-vote button { font-family: var(--mono); font-size: 13px; color: var(--accent); background: transparent; border: 1px solid var(--line-accent); border-radius: var(--radius); padding: 9px 18px; cursor: pointer; }
.bd-vote button:hover { background: rgba(95,255,175,0.1); }

/* Forms */
.bd-form { border: 1px solid var(--line-strong); border-radius: var(--radius); background: var(--bg); padding: 20px; }
.bd-field { margin-bottom: 16px; }
.bd-field label { display: block; font-size: 12.5px; letter-spacing: 0.03em; color: var(--text); margin-bottom: 7px; }
.bd-field label .dim { color: var(--text-faint); }
.bd-field textarea, .bd-field input[type="text"], .bd-field select {
  width: 100%; font-family: var(--mono); font-size: 13px; line-height: 1.55;
  color: var(--text); background: var(--bg-alt);
  border: 1px solid var(--line-strong); border-radius: var(--radius);
  padding: 11px 12px; resize: vertical;
}
.bd-field textarea:focus, .bd-field input:focus, .bd-field select:focus {
  outline: none; border-color: var(--line-accent); box-shadow: 0 0 0 3px var(--accent-glow);
}
.bd-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }
.bd-submit { font-family: var(--mono); font-size: 13.5px; font-weight: 600; color: var(--bg); background: var(--accent); border: 1px solid var(--accent); border-radius: var(--radius); padding: 11px 24px; cursor: pointer; }
.bd-submit:hover { background: #b5ffd7; border-color: #b5ffd7; }

/* Sign-your-post flow */
.bd-sign { margin: 4px 0 18px; border: 1px solid var(--line); border-radius: var(--radius); }
.bd-sign summary { cursor: pointer; padding: 11px 14px; font-size: 13px; color: var(--text-dim); list-style: none; }
.bd-sign summary::before { content: '+ '; color: var(--accent); }
.bd-sign[open] summary::before { content: '\2212  '; }
.bd-sign summary::-webkit-details-marker { display: none; }
.bd-sign[open] { background: var(--bg-card); }
.bd-sign-inner { padding: 0 14px 14px; }
.bd-sign-help { font-size: 12.5px; color: var(--text-dim); line-height: 1.65; margin: 0 0 14px; }
.bd-canon { width: 100%; font-family: var(--mono); font-size: 12px; color: var(--accent); background: var(--bg-alt); border: 1px dashed var(--line-strong); border-radius: var(--radius); padding: 11px 12px; resize: vertical; }

.bd-note { font-size: 12.5px; color: var(--text-faint); line-height: 1.65; }
.bd-backlink { font-size: 13px; }
