/* Small refinements of the existing light theme; layouts and feature styles stay intact. */
:root {
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --muted: #5d6978;
}
body { line-height: 1.5; }
button, input, select, textarea { font-family: inherit; }
.primary, .secondary, .danger {
  min-height: 44px;
  gap: 10px;
  border-radius: 9px;
  font-size: .875rem;
  line-height: 1.4;
}
.primary { background: #237d48; color: #fff; }
.primary:hover { background: #1c653a; color: #fff; }
.secondary:hover { background: #f0f6f2; border-color: #c8dcd0; }
button:focus-visible, a:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible {
  outline: 3px solid #237d48;
  outline-offset: 3px;
}
.social-card, .rail-card, .workspace-heading, .form-card,
.chat-inbox, .chat-thread {
  border-color: #e4e9ee;
  box-shadow: 0 2px 8px #14243905;
}
.social-card h2, .rail-heading h2, .chat-thread-head h2 { line-height: 1.35; }
.post-text, .comment-text { line-height: 1.6; }
.rail-heading button, .first-steps-head button, .first-step button,
.post-photo-picker button, .composer-shortcuts button,
.feed-settings button, .feed-post-options button {
  font-size: .875rem;
}
.rail-heading button, .first-steps-head button { min-height: 36px; }
.first-step p, .post-photo-picker small, .rail-card > .muted {
  font-size: .8125rem;
  line-height: 1.55;
}
.first-step h3 { font-size: 1rem; }
.feed-tab { font-size: .875rem; }
#profile-form label, #dog-form label { font-size: .875rem; }
#profile-form small, #dog-form small, .form-intro p { font-size: .8125rem; }
#profile-form input, #dog-form input, #dog-form select,
#dog-form textarea { font-size: 1rem; }
@media (max-width: 700px) {
  .primary, .secondary, .danger { padding: 10px 14px; }
  #post-form .composer-settings { grid-template-columns: minmax(0, 1fr); }
  .rail-heading button, .first-steps-head button { min-height: 44px; }
  .feed-tab { font-size: .875rem; }
  .workspace-heading { flex-wrap: wrap; }
  .workspace-heading > div { min-width: 0; flex: 1 1 180px; }
  .workspace-heading .primary { white-space: normal; }
}
