.os-core-shell { display: grid; gap: 22px; }
.os-category-tabs { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 4px; }
.os-category-tabs a {
  white-space: nowrap;
  border: 1px solid var(--line, #dfe5dc);
  border-radius: 8px;
  padding: 9px 11px;
  background: #fff;
  font-weight: 750;
}
.os-core-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.os-core-card {
  border: 1px solid var(--line, #dfe5dc);
  border-radius: 8px;
  background: #fff;
  padding: 18px;
}
.os-core-card a { display: grid; gap: 8px; }
.os-core-card strong { font-size: 1.1rem; line-height: 1.25; }
.os-core-card span { color: var(--muted, #617067); font-size: 0.9rem; }
.os-core-card p { margin: 0; color: var(--muted, #617067); }
.os-form {
  display: grid;
  gap: 14px;
  margin: 22px 0;
  padding: 18px;
  border: 1px solid var(--line, #dfe5dc);
  border-radius: 8px;
  background: #fff;
}
.os-form label { display: grid; gap: 7px; font-weight: 750; }
.os-hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.os-message {
  margin: 14px 0;
  border: 1px solid #b9dacd;
  border-radius: 8px;
  background: #edf8f4;
  padding: 12px 14px;
  font-weight: 750;
}
.os-answers { margin-top: 34px; display: grid; gap: 16px; }
.os-answer {
  border-top: 1px solid var(--line, #dfe5dc);
  padding-top: 16px;
}
.os-answer-meta { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; color: var(--muted, #617067); }
.os-vote, .os-report button {
  min-height: 38px;
  padding: 8px 10px;
  margin-top: 8px;
  background: var(--accent, #117a65);
}
.os-vote.is-voted { background: #3455a4; }
.os-report { display: inline; margin-left: 8px; }
.os-single-actions { margin-top: 22px; }
.os-cross-links {
  margin-top: 28px;
  padding: 18px;
  border: 1px solid var(--line, #dfe5dc);
  border-radius: 8px;
  background: #fff;
}
.os-cross-links h2 { font-size: 1.2rem; margin-bottom: 10px; }
.os-cross-links a { display: block; padding: 8px 0; color: var(--accent, #117a65); }
.os-profile {
  border: 1px solid var(--line, #dfe5dc);
  border-radius: 8px;
  background: #fff;
  padding: 20px;
}
.os-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-top: 18px; }
.os-stats span { border: 1px solid var(--line, #dfe5dc); border-radius: 8px; padding: 14px; color: var(--muted, #617067); }
.os-stats strong { display: block; color: var(--ink, #18201d); font-size: 1.55rem; }
@media (max-width: 820px) {
  .os-core-list, .os-stats { grid-template-columns: 1fr; }
}
