/* craigslist-style: system sans, blue links, gray hairlines, tables, no decoration */
html { background: #fff; }
/* sizes measured from craigslist.org on 2026-09-15: 16px body, 18px listing
   titles, 14px meta, 22.4px bold serif posting title + price, #222 text, 980px column */
body {
  margin: 0 auto;
  padding: 10px 16px;
  font-family: "Open Sans", Helvetica, Arial, "Liberation Sans", sans-serif;
  font-size: 16px;
  line-height: 1.4;
  color: #222;
  max-width: 980px;
}
a { color: #0000ee; text-decoration: none; }
a:visited { color: #551a8b; }
a:hover { text-decoration: underline; }
h1, h2, h3 { font-weight: bold; margin: 14px 0 8px; }
h1 { font-size: 22.4px; font-family: "Bitstream Vera Serif", "Times New Roman", Times, serif; }
h2 { font-size: 18px; }
h3 { font-size: 16px; }
p { margin: 8px 0; }
hr { border: 0; border-top: 1px solid #ccc; margin: 10px 0; }
table { border-collapse: collapse; }
td, th { padding: 4px 10px 4px 0; vertical-align: top; text-align: left; }
th { font-weight: normal; color: #444; border-bottom: 1px solid #ccc; font-size: 14px; }
pre, code { font-family: "Courier New", Courier, monospace; font-size: 14px; }
pre { background: #f6f6f6; border: 1px solid #ddd; padding: 8px; overflow-x: auto; }
input, select, textarea, button { font: inherit; }
input[type=text], input[type=email], input[type=tel], input[type=number], input[type=url], select, textarea {
  border: 1px solid #999; padding: 4px 6px; background: #fff;
}
textarea { width: 100%; max-width: 640px; }
label { display: block; margin: 8px 0 2px; }
.small { font-size: 14px; color: #555; }
.muted { color: #666; }
.err { color: #b00; }
.ok { color: #060; }
.price { color: #060; font-weight: bold; }
h1 .price { font-family: inherit; }
.box { border: 1px solid #ccc; padding: 6px 8px; margin: 8px 0; }
.notice { border: 1px solid #ccc; background: #fafafa; padding: 6px 8px; margin: 8px 0; }

/* masthead */
#masthead { display: flex; align-items: baseline; gap: 16px; margin-bottom: 6px; }
#masthead .logo { font-size: 22px; font-weight: bold; color: #551a8b; }
#masthead .logo:hover { text-decoration: none; }
#masthead .bc { color: #666; }
#masthead .bc a { color: #0000ee; }
#topnav { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 8px; }
#topnav a::before { content: "[ "; color: #666; }
#topnav a::after { content: " ]"; color: #666; }
#topnav .badge { color: #b00; }

/* front page */
#front { display: flex; gap: 40px; flex-wrap: wrap; }
#front .col { min-width: 240px; }
#front .col h3 { margin-top: 0; }
#front ul { list-style: none; margin: 0; padding: 0; }
#front li { margin: 3px 0; font-size: 14.4px; }
#front .search input[type=text] { width: 200px; }

/* listings */
.rows { width: 100%; }
.rows td { padding-top: 6px; padding-bottom: 6px; }
.rows td:nth-child(2) a { font-size: 18px; }
.rows .d { color: #666; white-space: nowrap; width: 7em; font-size: 14px; }
.rows .p { white-space: nowrap; text-align: right; }
.rows .c { color: #666; white-space: nowrap; font-size: 14px; }
.rows tr:hover { background: #f5f5f5; }

/* posting */
.posting { max-width: 720px; }
.posting .attrs { margin: 6px 0; }
.posting .attrs span { display: inline-block; border: 1px solid #ccc; background: #f7f7f7; padding: 2px 8px; margin: 0 6px 6px 0; font-size: 14px; }
.posting .body { margin-top: 10px; }
.posting .body img { max-width: 100%; }
.posting .body pre { white-space: pre-wrap; }

/* trust badges */
.trust { margin: 6px 0; }
.trust span { white-space: nowrap; }

/* forms */
.form { max-width: 640px; }
.form .row { margin: 8px 0; }
.form input[type=text], .form input[type=email], .form input[type=tel], .form input[type=url] { width: 320px; max-width: 100%; }
.form .actions { margin-top: 12px; }
.form .actions button { padding: 5px 14px; }
.inline-form { display: inline; }
.linkbutton { background: none; border: 0; padding: 0; color: #0000ee; cursor: pointer; }
.linkbutton:hover { text-decoration: underline; }

/* status chips */
.st { font-size: 13px; padding: 1px 6px; border: 1px solid #ccc; }
.st-draft { color: #666; }
.st-submitted { color: #a60; border-color: #e8c98a; }
.st-approved { color: #060; border-color: #9c9; }
.st-rejected { color: #b00; border-color: #e99; }
.st-delisted { color: #666; text-decoration: line-through; }

footer { margin-top: 36px; padding-top: 8px; border-top: 1px solid #ccc; color: #666; font-size: 14px; }
footer a { margin-right: 8px; }

@media (max-width: 600px) {
  body { padding: 8px 12px; }
  #front { gap: 16px; }
  .rows .d { display: none; }
}
