* { margin: 0; padding: 0; box-sizing: border-box; }
body {
  font-family: Georgia, "Times New Roman", Times, serif;
  font-size: 16px;
  line-height: 1.6;
  color: #000;
  background: #fff;
}
main { max-width: 900px; margin: 0 auto; padding: 64px 20px; }
h2 { font-size: 1.25rem; font-weight: bold; margin-bottom: 16px; }
ul { list-style: disc; padding-left: 20px; }
a, a:visited { color: #0000f0; }
hr { border: none; border-top: 1px solid #000; margin: 24px 0; }

.controls { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-bottom: 10px; }
#search {
  flex: 1; min-width: 170px; font-family: inherit; font-size: 14px;
  padding: 7px 12px; border: 1px solid #999; border-radius: 999px; outline: none;
}
#search:focus, #region:focus { border-color: #000; }
#region {
  font-family: inherit; font-size: 13px; padding: 7px 32px 7px 12px; cursor: pointer;
  background: #fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' fill='none' stroke='%23666' stroke-width='1.5'/></svg>") no-repeat right 12px center;
  color: #222; border: 1px solid #999; border-radius: 999px; outline: none;
  -webkit-appearance: none; appearance: none;
}
.chips { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 6px; }
.chips button {
  font-family: inherit; font-size: 13px; padding: 6px 13px; cursor: pointer;
  background: #fff; color: #444; border: 1px solid #999; border-radius: 999px;
}
.chips button.on { background: #000; color: #fff; border-color: #000; }
.chips .n { opacity: 0.6; font-size: 12px; }
#count { font-size: 12.5px; color: #888; margin: 8px 0 2px; }

table { width: 100%; border-collapse: collapse; table-layout: fixed; }
th {
  text-align: left; font-size: 12px; font-weight: normal; color: #888;
  padding: 8px 12px 6px 0; border-bottom: 1px solid #000;
}
td {
  padding: 6px 12px 6px 0; border-bottom: 1px solid #e4e4e4; vertical-align: middle;
  font-size: 14.5px; line-height: 1.5;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.c-name { width: 22%; }
.c-where { width: 13%; }
.c-tags { width: 17%; text-align: right; padding-right: 0; }
td.desc { color: #333; }
td.where { color: #888; font-size: 13px; }
td.tags { text-align: right; padding-right: 0; }
.pill { display: inline-block; font-size: 11.5px; padding: 1px 9px; border-radius: 999px; margin-left: 3px; white-space: nowrap; }
.pill.Founder  { background: #EEEDFE; color: #3C3489; }
.pill.Operator { background: #E1F5EE; color: #085041; }
.pill.Investor { background: #FAEEDA; color: #633806; }
.pill.Academic { background: #E6F1FB; color: #0C447C; }
.pill.Other    { background: #F1EFE8; color: #444441; }
.empty { color: #888; font-size: 14px; padding: 16px 0; }
.foot { color: #888; font-size: 12px; }
.foot a { color: #888; }

/* suggest page */
.back { font-size: 14px; display: inline-block; margin-bottom: 24px; }
.lead { color: #444; margin-bottom: 24px; }
.field { display: grid; gap: 6px; margin-bottom: 16px; }
.field label, .field .lbl { font-size: 14px; }
.field input, .field textarea {
  font-family: inherit; font-size: 15px; padding: 9px 12px;
  border: 1px solid #999; border-radius: 10px; outline: none; width: 100%;
}
.field textarea { min-height: 80px; resize: vertical; }
.field input:focus, .field textarea:focus { border-color: #000; }
.tagpick { display: flex; flex-wrap: wrap; gap: 16px; font-size: 14px; }
.tagpick label { display: inline-flex; align-items: center; gap: 6px; cursor: pointer; }
.tagpick input { width: auto; }
.submit {
  font-family: inherit; font-size: 15px; padding: 10px 22px; cursor: pointer;
  background: #000; color: #fff; border: 0; border-radius: 999px;
}
.submit[disabled] { opacity: 0.5; cursor: progress; }
.hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
#status { font-size: 14px; margin-top: 12px; min-height: 1.5em; }
#status.err { color: #b00020; }
.thanks { font-size: 1.25rem; margin: 12px 0 8px; }

@media (max-width: 640px) {
  main { padding: 28px 12px; }
  body { font-size: 13px; }
  h2 { font-size: 1.1rem; margin-bottom: 10px; }
  .controls { gap: 6px; }
  #search { min-width: 100%; font-size: 12px; padding: 6px 10px; }
  #region, .chips button { font-size: 11px; padding: 5px 9px; }
  #region { padding-right: 28px; }
  th { font-size: 9px; padding-right: 6px; }
  td { font-size: 10px; padding: 3px 6px 3px 0; white-space: normal; }
  .c-name { width: 28%; }
  .c-where { display: none; }
  td.where { display: none; }
  .c-tags { width: 19%; }
  td.tags { white-space: normal; }
  .pill { font-size: 8px; padding: 1px 5px; margin-left: 2px; }
}
