/* Shared type and controls for every public page, including the home page. */
:root {
  --sans: "Segoe UI", "Microsoft YaHei UI", "Microsoft YaHei", "PingFang SC", system-ui, sans-serif;
  --serif: var(--sans);
  --mono: Consolas, "SFMono-Regular", "Microsoft YaHei UI", monospace;
  --muted: #62645e;
}
body {
  font-family: var(--sans);
  -webkit-font-smoothing: auto;
  -moz-osx-font-smoothing: auto;
  text-rendering: auto;
}
button, input, select, textarea { font-family: var(--sans); }
h1, h2, h3, .brand-name { letter-spacing: -.025em; font-weight: 700; }
.site-name, .dir-name, .card-title h3 { font-size: 15px; font-weight: 700; letter-spacing: 0; }
.site-name, .site-meta, .dir-meta { display: block; }
.site-meta, .dir-meta, .card-title p, .site-date, .site-date small,
.detail-sub, .results-head span, .panel-title small, .field label, .field-title,
.tag, .rating, .badge, .model-card small, .table th {
  font-family: var(--sans);
  font-size: 12px;
  line-height: 1.5;
  letter-spacing: 0;
}
.site-meta, .dir-meta, .card-title p, .tag { color: #595c55; }
.site-price, .dir-price, .table { font-size: 13px; }
.card-desc, .similar-card p { font-size: 13px; }
.site-row, .similar-card, .feature-card { transition: border-color .15s, background-color .15s, box-shadow .15s; }
.site-row:hover, .similar-card:hover, .feature-card:hover { transform: none; }
.button:hover { filter: none; }
.cta, .button, .banner-button, .search button, .searchbar button, .quick, .category {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 600;
  line-height: 20px;
  letter-spacing: 0;
  white-space: nowrap;
  flex-shrink: 0;
  gap: 6px;
}
/* Keep the label centered independently of the trailing arrow. */
.nav-actions .cta {
  position: relative;
  min-width: 112px;
  height: 40px;
  padding: 0 28px;
}
.nav-actions .cta .cta-label { display: block; line-height: 20px; }
.nav-actions .cta .cta-arrow {
  position: absolute;
  right: 10px;
  top: 50%;
  margin-top: -10px;
  width: 14px;
  height: 20px;
  line-height: 20px;
  font-size: 14px;
  font-weight: 400;
}
.detail-grid > div { min-width: 0; }
.detail-tools{padding:20px 22px}.status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.status-grid>div{display:grid;gap:5px;border-top:1px solid #dcdcd4;padding-top:10px}.status-label{font-size:11px;color:var(--muted)}.status-ok{color:#4e7b21}.status-bad{color:#b54132}.inline-form,.feedback-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.inline-form input,.feedback-form input,.feedback-form select,.feedback-form textarea{border:1px solid #dcdcd4;background:#fff;border-radius:6px;padding:0 11px;height:42px;outline:0;font-size:12px}.feedback-form textarea{width:100%;height:auto;padding:11px;resize:vertical}.feedback-form .form-row{display:flex;gap:8px;align-items:center;width:100%}.inline-form input{min-width:240px}.muted{color:var(--muted);font-size:12px}
.panel-title { align-items: center; flex-wrap: wrap; }
@media (max-width: 620px) {
  .nav-actions .cta { display: none; }
  .status-grid { grid-template-columns: 1fr; }
  .inline-form input { min-width: 0; flex: 1; }
  .inline-form .button { width: 100%; }
  .feedback-form .form-row { flex-wrap: wrap; }
  .feedback-form select, .feedback-form input { flex: 1; min-width: 0; }
}
