/* ---------------------------------------------------------------------------
   /ideas/ — the idea board.
   Loaded only by templates/ideas.html, after collaborate.css (which supplies
   the hero, the rule, and the whole form). Tokens only, no hex, so the light
   theme and print follow automatically.
   --------------------------------------------------------------------------- */

.ib-sr {
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}

/* ---- hero cover ---------------------------------------------------------- */
.ib-cover {
  margin:0; border:1px solid var(--line); border-radius:var(--radius);
  overflow:hidden; box-shadow:var(--shadow); background:var(--bg-1);
}
.ib-cover img { display:block; width:100%; height:auto; aspect-ratio:1200/750; }

/* ---- open ideas ---------------------------------------------------------- */
.ib-list, .ib-repos { list-style:none; margin:0; padding:0; display:grid; gap:18px; }
.ib-list { grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); }
.ib-repos { grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr)); }

.ib-idea, .ib-repo {
  display:flex; flex-direction:column; gap:10px; background:var(--bg-2);
  border:1px solid var(--line); border-radius:var(--radius); padding:20px 22px;
}
.ib-idea h3, .ib-repo h3 { margin:0; font-family:var(--display); font-size:19px; color:var(--ink); line-height:1.25; }
.ib-idea p, .ib-repo p { margin:0; color:var(--muted); font-size:14.5px; text-wrap:pretty; }

.ib-meta { display:flex; flex-wrap:wrap; gap:8px; }
.ib-tag, .ib-status {
  font-family:var(--mono); font-size:10.5px; letter-spacing:.12em; text-transform:uppercase;
  padding:4px 9px; border-radius:999px; border:1px solid var(--line); color:var(--muted);
}
.ib-tag { color:var(--accent-2); background:var(--accent2-soft);
  border-color:color-mix(in srgb, var(--accent-2) 40%, var(--line)); }

.ib-idea.is-yours { border-style:dashed; background:transparent; }
.ib-idea.is-yours .btn { align-self:flex-start; margin-top:auto; }

/* ---- repos --------------------------------------------------------------- */
.ib-slug { font-family:var(--mono); font-size:12px; color:var(--muted-2); overflow-wrap:anywhere; }
.ib-repo .acts { display:flex; flex-wrap:wrap; align-items:center; gap:10px 14px; margin-top:auto; padding-top:4px; }
.ib-repo .btn { padding:9px 14px; font-size:14px; }
.ib-post { font-size:14px; color:var(--accent); text-decoration:underline; text-underline-offset:2px; }

/* ---- form fallback line --------------------------------------------------- */
.ib-fallback { margin-top:18px; }

@media print {
  .ib-cover, .ib-repo .acts, #suggest form { display:none !important; }
  .ib-idea, .ib-repo { border-color:#c8c8c8; }
}
