/* The general (whole-paper) discussion room — shared by /paper and /amendments.
   Document-like per DESIGN.md: 2px radii, mono eyebrows, saffron accent. */

.gd-root { font-family: var(--sans); color: var(--ink); }

/* ── Header ── */
.gd-head { position: sticky; top: 0; z-index: 2; background: var(--paper);
  padding-bottom: .75rem; border-bottom: 1px solid var(--line); margin-bottom: 1rem; }
.gd-meta { font-family: var(--mono); font-size: 11px; letter-spacing: .04em;
  color: var(--ink-muted); margin: .5rem 0 .75rem; }
.gd-sorts { display: flex; gap: 2px; }
.gd-sort { font-family: var(--mono); font-size: 10px; letter-spacing: .1em;
  text-transform: uppercase; padding: 5px 10px; border: 1px solid var(--line);
  border-radius: 2px; background: transparent; color: var(--ink-muted); cursor: pointer; }
.gd-sort:hover { color: var(--ink); }
.gd-sort.is-active { background: var(--accent); border-color: var(--accent); color: #fff; }

/* ── Cards ── */
.gd-card { border: 1px solid var(--line); border-radius: 2px; background: var(--paper-card, #fff);
  padding: .75rem .85rem; margin-bottom: .6rem; }
.gd-card.is-anon { opacity: .82; }
.gd-card-head { display: flex; align-items: baseline; gap: .5rem; flex-wrap: wrap; margin-bottom: .35rem; }
.gd-author { font-size: .84rem; font-weight: 600; }
.gd-when { font-family: var(--mono); font-size: 10px; color: var(--ink-muted); margin-left: auto; }
.gd-badge { font-family: var(--mono); font-size: 9px; letter-spacing: .08em; text-transform: uppercase;
  padding: 1px 5px; border-radius: 2px; background: var(--paper-rail, #eee); color: var(--ink-soft); }
.gd-badge-editor { background: var(--accent); color: #fff; }
.gd-body { font-size: .88rem; line-height: 1.6; white-space: pre-wrap; }
.gd-dim { color: var(--ink-muted); }
.gd-actions { display: flex; gap: .9rem; margin-top: .5rem;
  font-family: var(--mono); font-size: 10px; letter-spacing: .06em; text-transform: uppercase; }
.gd-actions button { background: none; border: 0; padding: 0; cursor: pointer;
  color: var(--ink-muted); font: inherit; letter-spacing: inherit; text-transform: inherit; }
.gd-actions button:hover { color: var(--accent); }

/* ── Replies ── */
.gd-replies { margin-top: .5rem; padding-left: .65rem; border-left: 2px solid var(--line);
  display: flex; flex-direction: column; gap: .35rem; }
.gd-reply { background: var(--paper); border: 1px solid var(--line); border-radius: 2px; padding: .4rem .55rem; }
.gd-reply-meta { font-size: .72rem; font-weight: 600; color: var(--ink-soft); margin-bottom: .15rem; }
.gd-reply-body { font-size: .78rem; line-height: 1.45; white-space: pre-wrap; }
.gd-replybox { margin-top: .5rem; }

/* ── Shared form controls ── */
.gd-root textarea { width: 100%; box-sizing: border-box; padding: .6rem .7rem;
  border: 1px solid var(--line); border-radius: 2px; font: inherit; font-size: .88rem;
  line-height: 1.5; background: var(--paper); color: var(--ink); resize: vertical; }
.gd-root textarea:focus { outline: 2px solid var(--accent); border-color: transparent; }
.gd-btn { font-family: var(--mono); font-size: 10px; letter-spacing: .1em; text-transform: uppercase;
  padding: 7px 14px; border-radius: 2px; border: 1px solid var(--accent);
  background: var(--accent); color: #fff; cursor: pointer; }
.gd-btn[disabled] { opacity: .45; cursor: default; }
.gd-btn-quiet { background: transparent; color: var(--ink-muted); border-color: var(--line); }

/* ── States ── */
.gd-empty { border: 1px dashed var(--line); border-radius: 2px; padding: 1.25rem;
  color: var(--ink-soft); font-size: .88rem; line-height: 1.6; }
.gd-error { color: var(--ink-soft); font-size: .85rem; }
.gd-more { display: block; margin: .75rem auto 0; }
.gd-pending { opacity: .55; }

/* ── Compact (the /paper modal) ── */
.gd-root.is-compact .gd-body { font-size: .84rem; }
.gd-root.is-compact .gd-card { padding: .65rem .7rem; }

/* ── Composer ── */
.gd-composer { margin-bottom: 1.25rem; }
.gd-identity { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap;
  font-size: .8rem; color: var(--ink-soft); margin-bottom: .5rem; }
.gd-identity label { display: flex; align-items: center; gap: .35rem; cursor: pointer; }
.gd-anon-notice { font-size: .78rem; color: var(--ink-muted); margin: .5rem 0 0;
  line-height: 1.55; max-width: 60ch; }
.gd-composer-foot { display: flex; align-items: center; gap: .6rem; margin-top: .5rem; }
.gd-hint { font-family: var(--mono); font-size: 10px; color: var(--ink-muted); margin-left: auto; }
.gd-msg { font-size: .82rem; color: var(--ink-soft); }
.gd-starters { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .6rem; }
.gd-starter { font-size: .78rem; padding: 5px 10px; border: 1px solid var(--line);
  border-radius: 2px; background: transparent; color: var(--ink-soft); cursor: pointer; text-align: left; }
.gd-starter:hover { border-color: var(--accent); color: var(--accent); }
.gd-signin { border: 1px dashed var(--line); border-radius: 2px; padding: 1.1rem;
  text-align: center; margin-bottom: 1.25rem; }
.gd-signin p { margin: 0 0 .6rem; color: var(--ink-soft); font-size: .88rem; }
