/* Patrabaho community: shared design rules for every screen EXCEPT the homepage.
 *
 * Why a separate file: the old stylesheet grew screen by screen, so each screen picked its own
 * title size, spacing and button height. These rules set one scale for all of them.
 *
 * The homepage is protected on purpose: every selector starts with
 *   body.community-ui:not(.community-landing)
 * and the app only adds `community-landing` to the body on the home screen. Nothing here can reach
 * it. (Plain CSS on purpose: no nesting, so older phones still work.)
 *
 * The scale (change a number here and every screen follows):
 *   page title 24 (22 on phones) · section title 18 · card title 16 · text 15 · small 13 · tiny 12
 *   spacing 4 / 8 / 12 / 16 / 24 / 32 · cards radius 12 · controls radius 10 · controls 44 high
 */

body.community-ui:not(.community-landing) {
  --fs-title: 24px;
  --fs-section: 18px;
  --fs-card: 16px;
  --fs-text: 15px;
  --fs-small: 13px;
  --fs-tiny: 12px;
  --sp-1: 4px;
  --sp-2: 8px;
  --sp-3: 12px;
  --sp-4: 16px;
  --sp-5: 24px;
  --sp-6: 32px;
  --radius-card: 12px;
  --radius-control: 10px;
  --control-h: 44px;
  --shadow-card: 0 1px 2px #1b24400f;
  --brand: #2448c6;
  --brand-tint: #edf0fb;
  --brand-ink: #233f85;
  --text-2: #4a566e; /* secondary text: 7:1 on white */
  --danger: #b3261e;
  --danger-tint: #fdecea;
  --ok: #1a6b3a;
  --ok-tint: #e7f5ec;
}
@media (max-width: 600px) {
  body.community-ui:not(.community-landing) {
    --fs-title: 22px;
  }
}

/* ---------- page frame ------------------------------------------------------------------- */
body.community-ui:not(.community-landing) > main {
  padding: var(--sp-4) var(--sp-4) var(--sp-6);
}
@media (min-width: 861px) {
  body.community-ui:not(.community-landing) > main {
    padding: var(--sp-5) var(--sp-5) 48px;
  }
}
/* Single-column screens read best at one comfortable width. */
body.community-ui:not(.community-landing) > main:is(
    [data-page='job'],
    [data-page='post-job'],
    [data-page='show-work'],
    [data-page='inbox'],
    [data-page='conversation'],
    [data-page='account'],
    [data-page='application'],
    [data-page='service-area'],
    [data-page='help'],
    [data-page='recovery'],
    [data-page='test-inbox'],
    [data-page='community-reports'],
    [data-page='reports']
  ) {
  max-width: 760px;
}

/* ---------- type ------------------------------------------------------------------------- */
body.community-ui:not(.community-landing) main h1 {
  font: 700 var(--fs-title) / 1.25 Inter, system-ui, sans-serif;
  letter-spacing: -0.02em;
  margin: 0 0 var(--sp-1);
  overflow-wrap: break-word;
}
body.community-ui:not(.community-landing) main h2 {
  font: 700 var(--fs-section) / 1.3 Inter, system-ui, sans-serif;
  letter-spacing: -0.01em;
  margin: 0 0 var(--sp-2);
  overflow-wrap: break-word;
}
body.community-ui:not(.community-landing) main h3 {
  font: 650 var(--fs-card) / 1.35 Inter, system-ui, sans-serif;
  letter-spacing: 0;
  margin: 0 0 var(--sp-2);
}
body.community-ui:not(.community-landing) main p {
  font-size: var(--fs-text);
  line-height: 1.55;
  margin: 0 0 var(--sp-3);
}
body.community-ui:not(.community-landing) main :is(.muted, small) {
  color: var(--text-2);
}
body.community-ui:not(.community-landing) main small {
  font-size: var(--fs-small);
}
body.community-ui:not(.community-landing) main .eyebrow {
  font-size: var(--fs-tiny);
  letter-spacing: 0.06em;
  margin-bottom: var(--sp-1);
  color: var(--brand-ink);
}
body.community-ui:not(.community-landing) main .community-text {
  white-space: pre-line;
  overflow-wrap: anywhere;
}

/* Titles inside list cards stay smaller than the page title so the hierarchy is clear. */
body.community-ui:not(.community-landing) .community-feed-layout .feed-post h2,
body.community-ui:not(.community-landing) main .worker-identity h2 {
  font-size: var(--fs-card);
  font-weight: 700;
  margin: var(--sp-3) 0 var(--sp-1);
}
body.community-ui:not(.community-landing) main .worker-identity h2 {
  margin: 0;
}

/* ---------- page head (title, back link, one-line help, primary action) ------------------- */
body.community-ui:not(.community-landing) .page-head {
  margin-bottom: var(--sp-4);
}
body.community-ui:not(.community-landing) .page-head-row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--sp-3);
}
body.community-ui:not(.community-landing) .page-head-row > div:first-child {
  flex: 1 1 240px;
  min-width: 0;
}
body.community-ui:not(.community-landing) .page-head .page-text {
  color: var(--text-2);
  font-size: var(--fs-text);
  margin: 0;
}
/* The "← Job feed" style links: always the same, always a full-size touch target. */
body.community-ui:not(.community-landing) :is(.page-back, .directory-back, .login-back) {
  display: inline-flex;
  align-items: center;
  min-height: var(--control-h);
  margin-bottom: var(--sp-1);
  font-size: 14px;
  font-weight: 650;
  color: var(--brand-ink);
}
body.community-ui:not(.community-landing) :is(.page-back, .directory-back, .login-back):hover {
  text-decoration: underline;
}

/* ---------- cards, lists, empty states ---------------------------------------------------- */
body.community-ui:not(.community-landing) main .card {
  padding: var(--sp-4);
  margin-bottom: var(--sp-3);
  border: 1px solid var(--line);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-card);
}
@media (min-width: 700px) {
  body.community-ui:not(.community-landing) main .card {
    padding: 20px;
  }
}
body.community-ui:not(.community-landing) main .card > :last-child {
  margin-bottom: 0;
}
/* A card inside a card (or inside the filter panel) is just a group: no second border. */
body.community-ui:not(.community-landing) main :is(.card, .feed-filter-panel) .card {
  padding: 0;
  margin: 0 0 var(--sp-3);
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: transparent;
}
body.community-ui:not(.community-landing) main .list-row {
  padding: var(--sp-3) 0;
}
body.community-ui:not(.community-landing) main .list-row p {
  margin: var(--sp-1) 0 0;
}
/* Buttons that repeat on every reply or message are smaller, so the text stays the star. */
body.community-ui:not(.community-landing) main :is(.list-row, .message) .actions {
  margin-top: var(--sp-2);
}
body.community-ui:not(.community-landing) main :is(.list-row, .message) .actions :is(button, .button) {
  min-height: 40px;
  padding: 0 var(--sp-3);
  font-size: var(--fs-small);
}
body.community-ui:not(.community-landing) #job-replies + form,
body.community-ui:not(.community-landing) #job-replies + p {
  margin-top: var(--sp-4);
  padding-top: var(--sp-4);
  border-top: 1px solid var(--line);
}
body.community-ui:not(.community-landing) main .empty {
  margin: var(--sp-3) 0;
  padding: var(--sp-5) var(--sp-4);
  border: 1px dashed #c9d0e0;
  border-radius: var(--radius-card);
  background: #fff;
  color: var(--text-2);
  font-size: 14px;
  text-align: center;
}
body.community-ui:not(.community-landing) main .empty p {
  margin: 0 0 var(--sp-3);
  font-size: 14px;
}
body.community-ui:not(.community-landing) main .empty .button {
  margin-top: var(--sp-1);
}
body.community-ui:not(.community-landing) main .banner {
  margin-bottom: var(--sp-4);
  padding: var(--sp-3) var(--sp-4);
  border-radius: var(--radius-control);
  font-size: var(--fs-small);
}
body.community-ui:not(.community-landing) main hr {
  border: 0;
  border-top: 1px solid var(--line);
  margin: var(--sp-4) 0;
}

/* chips (type labels, skills, status) */
body.community-ui:not(.community-landing) :is(.post-type, .pill, .chip) {
  display: inline-flex;
  align-items: center;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: var(--fs-tiny);
  font-weight: 650;
  line-height: 1.5;
}
body.community-ui:not(.community-landing) .chip.ok {
  background: var(--ok-tint);
  color: var(--ok);
}
body.community-ui:not(.community-landing) .chip.warn {
  background: #fff3dc;
  color: #7a4b00;
}
body.community-ui:not(.community-landing) .chip.unread {
  background: var(--brand);
  color: #fff;
}

/* When the keyboard moves focus down the page, the fixed bottom bar must not cover the field. */
body.community-ui:not(.community-landing) main :is(input, select, textarea, button, a, summary) {
  scroll-margin-bottom: 96px;
}
body.community-ui:not(.community-landing) .feed-filters summary {
  display: inline-flex;
  align-items: center;
  min-height: var(--control-h);
}

/* ---------- controls --------------------------------------------------------------------- */
body.community-ui:not(.community-landing) main :is(button, .button) {
  min-height: var(--control-h);
  padding: 0 var(--sp-4);
  border-radius: var(--radius-control);
  font-size: var(--fs-text);
  font-weight: 650;
  line-height: 1.2;
  transition: background-color 0.15s, filter 0.15s;
}
body.community-ui:not(.community-landing) main :is(button, .button):disabled,
body.community-ui:not(.community-landing) main :is(button, .button)[aria-disabled='true'] {
  opacity: 0.5;
  cursor: not-allowed;
  filter: none;
}
body.community-ui:not(.community-landing) main :is(button, .button).secondary {
  background: var(--brand-tint);
  color: var(--brand-ink);
}
body.community-ui:not(.community-landing) main :is(button, .button).danger {
  background: var(--danger-tint);
  color: var(--danger);
}
/* Buttons that close, block, remove or unpublish look different from the main action. */
body.community-ui:not(.community-landing) main :is(
    form[data-action='community-close'],
    form[data-action='community-block'],
    form[data-action='unpublish-community-profile'],
    form[data-action='remove-community-photo']
  ) button[type='submit'] {
  background: var(--danger-tint);
  color: var(--danger);
}
body.community-ui:not(.community-landing) main :is(label, .check) {
  gap: 6px;
  font-size: var(--fs-small);
  font-weight: 650;
}
body.community-ui:not(.community-landing) main :is(input, select, textarea):not([type='checkbox']):not([type='radio']):not([type='file']) {
  min-height: var(--control-h);
  padding: 10px var(--sp-3);
  border: 1px solid #c9d0e0;
  border-radius: var(--radius-control);
  font-size: var(--fs-text);
}
body.community-ui:not(.community-landing) main textarea {
  min-height: 96px;
  line-height: 1.5;
}
body.community-ui:not(.community-landing) main :is(input, select, textarea) {
  font-weight: 400;
}
body.community-ui:not(.community-landing) main :is(input, select, textarea):focus {
  border-color: var(--brand);
}
body.community-ui:not(.community-landing) main :is(input, select, textarea)[aria-invalid='true'] {
  border-color: var(--danger);
}
body.community-ui:not(.community-landing) main input[type='file'] {
  padding: var(--sp-2);
  min-height: var(--control-h);
  font-size: var(--fs-small);
}
body.community-ui:not(.community-landing) main input[type='checkbox'],
body.community-ui:not(.community-landing) main input[type='radio'] {
  width: 20px;
  height: 20px;
  min-height: 20px;
  accent-color: var(--brand);
}
body.community-ui:not(.community-landing) main .check {
  display: flex;
  align-items: center;
  min-height: var(--control-h);
  font-weight: 500;
  font-size: var(--fs-text);
}
body.community-ui:not(.community-landing) main fieldset {
  padding: var(--sp-3) var(--sp-4);
  border-radius: var(--radius-control);
  min-width: 0;
}
body.community-ui:not(.community-landing) main legend {
  padding: 0 var(--sp-1);
  font-size: var(--fs-small);
  font-weight: 650;
}
body.community-ui:not(.community-landing) main .form-grid {
  gap: var(--sp-3);
}
body.community-ui:not(.community-landing) main form button[type='submit'] {
  margin-top: var(--sp-4);
}
body.community-ui:not(.community-landing) main .actions {
  margin-top: var(--sp-3);
  gap: var(--sp-2);
}
/* On a phone the main button of a form fills the row, so it is easy to reach with a thumb. */
@media (max-width: 600px) {
  body.community-ui:not(.community-landing) main .form-grid {
    grid-template-columns: 1fr;
  }
  body.community-ui:not(.community-landing) main form > button[type='submit'] {
    width: 100%;
  }
  /* 16px stops iPhones zooming into a field when it is tapped. */
  body.community-ui:not(.community-landing) main :is(input, select, textarea) {
    font-size: 16px;
  }
}

/* Place lookup results and the chosen places: tidy rows instead of bulleted lists. */
body.community-ui:not(.community-landing) main :is([data-place-options], [data-selected-places]) ul {
  display: grid;
  gap: var(--sp-2);
  margin: var(--sp-3) 0 0;
  padding: 0;
  list-style: none;
}
body.community-ui:not(.community-landing) main [data-place-options] li button {
  width: 100%;
  justify-content: flex-start;
  text-align: left;
}
body.community-ui:not(.community-landing) main [data-selected-places] li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-3);
  padding: var(--sp-2) var(--sp-3);
  border: 1px solid var(--line);
  border-radius: var(--radius-control);
  background: #f7f8fc;
  font-weight: 650;
}
body.community-ui:not(.community-landing) main [data-selected-places] li button {
  min-height: 36px;
  padding: 0 var(--sp-3);
  font-size: var(--fs-small);
  flex: none;
}
/* On a phone the place box and its "Look up places" button stack, so the box stays wide enough
   to read what was typed. */
@media (max-width: 520px) {
  body.community-ui:not(.community-landing) .service-search .service-location form {
    grid-template-columns: 1fr;
  }
}

body.community-ui:not(.community-landing) .login-recovery {
  display: inline-flex;
  align-items: center;
  min-height: var(--control-h);
}
/* Text that follows a form (hints, "we'll email you") gets room above it. */
body.community-ui:not(.community-landing) main form ~ p {
  margin-top: var(--sp-3);
}
body.community-ui:not(.community-landing) .signup-roles {
  margin: 0 0 var(--sp-3);
  padding: 0;
  border: 0;
}
body.community-ui:not(.community-landing) .signup-roles legend {
  margin-bottom: var(--sp-2);
  padding: 0;
}

/* Links inside sentences look like links. */
body.community-ui:not(.community-landing) main p a:not(.button) {
  color: var(--brand-ink);
  font-weight: 650;
  text-decoration: underline;
  text-underline-offset: 2px;
}
/* The file picker's own button matches our buttons. */
body.community-ui:not(.community-landing) main input[type='file']::file-selector-button {
  min-height: 32px;
  margin-right: var(--sp-3);
  padding: 0 var(--sp-3);
  border: 0;
  border-radius: 8px;
  background: var(--brand-tint);
  color: var(--brand-ink);
  font: 650 var(--fs-small) Inter, system-ui, sans-serif;
  cursor: pointer;
}
body.community-ui:not(.community-landing) main img.community-photo {
  background: #e8ecf5;
}
/* Two forms stacked in one card (for example a photo with its Remove button) get a gap. */
body.community-ui:not(.community-landing) main :is(form, .portfolio-gallery, figure) + form {
  margin-top: var(--sp-4);
}

/* ---------- messages ---------------------------------------------------------------------- */
body.community-ui:not(.community-landing) .thread-list {
  padding: 0;
  overflow: hidden;
}
body.community-ui:not(.community-landing) .thread {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  min-height: 60px;
  padding: var(--sp-3) var(--sp-4);
  border-bottom: 1px solid var(--line);
  color: var(--ink);
}
body.community-ui:not(.community-landing) .thread:last-child {
  border-bottom: 0;
}
body.community-ui:not(.community-landing) .thread:hover {
  background: #f7f8fc;
  text-decoration: none;
}
body.community-ui:not(.community-landing) .thread-main {
  flex: 1;
  min-width: 0;
}
body.community-ui:not(.community-landing) .thread-name {
  display: block;
  font-weight: 650;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
body.community-ui:not(.community-landing) .thread-time {
  display: block;
  font-size: var(--fs-small);
  color: var(--text-2);
}
body.community-ui:not(.community-landing) .thread-chevron {
  color: var(--text-2);
  font-size: 18px;
}
body.community-ui:not(.community-landing) .messages {
  display: grid;
  gap: var(--sp-2);
  margin: var(--sp-3) 0;
}
body.community-ui:not(.community-landing) .message {
  max-width: min(85%, 520px);
  padding: 10px var(--sp-3);
  border: 1px solid var(--line);
  border-radius: 14px 14px 14px 4px;
  background: #fff;
}
body.community-ui:not(.community-landing) .message.mine {
  margin-left: auto;
  border-color: #d3dbf6;
  border-radius: 14px 14px 4px 14px;
  background: var(--brand-tint);
}
body.community-ui:not(.community-landing) .message-meta {
  display: block;
  margin-bottom: 2px;
  font-size: var(--fs-tiny);
  color: var(--text-2);
}
body.community-ui:not(.community-landing) .message p {
  margin: 0;
}
body.community-ui:not(.community-landing) .message .actions {
  margin-top: var(--sp-2);
}
body.community-ui:not(.community-landing) .more-options {
  margin-top: var(--sp-4);
  border-top: 1px solid var(--line);
  padding-top: var(--sp-2);
}
body.community-ui:not(.community-landing) :is(.more-options, .profile-service-group) summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-2);
  min-height: var(--control-h);
  cursor: pointer;
  list-style: none;
}
body.community-ui:not(.community-landing) .more-options summary {
  font-size: var(--fs-small);
  font-weight: 650;
  color: var(--text-2);
}
/* A chevron shows that these headings open and close. */
body.community-ui:not(.community-landing) :is(.more-options, .profile-service-group) summary::-webkit-details-marker {
  display: none;
}
body.community-ui:not(.community-landing) :is(.more-options, .profile-service-group) summary::after {
  content: '›';
  font-size: 20px;
  line-height: 1;
  color: var(--text-2);
  transition: transform 0.15s;
}
body.community-ui:not(.community-landing) :is(.more-options, .profile-service-group)[open] > summary::after {
  transform: rotate(90deg);
}

/* ---------- account ----------------------------------------------------------------------- */
body.community-ui:not(.community-landing) .account-who {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
}
body.community-ui:not(.community-landing) .account-who .avatar {
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
}
body.community-ui:not(.community-landing) .account-who strong {
  display: block;
  overflow-wrap: anywhere;
}
body.community-ui:not(.community-landing) .account-who ~ p {
  margin-top: var(--sp-3);
}
body.community-ui:not(.community-landing) .account-links {
  display: grid;
  gap: var(--sp-2);
  margin: 0;
  padding: 0;
  list-style: none;
}
body.community-ui:not(.community-landing) .account-links a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: var(--control-h);
  padding: 0 var(--sp-3);
  border: 1px solid var(--line);
  border-radius: var(--radius-control);
  font-weight: 650;
  color: var(--brand-ink);
}
body.community-ui:not(.community-landing) .account-links a:hover {
  background: var(--brand-tint);
  text-decoration: none;
}

/* ---------- worker profile editor --------------------------------------------------------- */
body.community-ui:not(.community-landing) .profile-service-group {
  border-top: 1px solid var(--line);
}
body.community-ui:not(.community-landing) .profile-service-group summary {
  display: flex;
  align-items: center;
  min-height: var(--control-h);
  font-size: var(--fs-text);
  font-weight: 650;
  cursor: pointer;
}
body.community-ui:not(.community-landing) .profile-service-options {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 0 var(--sp-3);
  padding-bottom: var(--sp-2);
}

/* ---------- admin reports ----------------------------------------------------------------- */
body.community-ui:not(.community-landing) blockquote.community-text {
  margin: var(--sp-3) 0;
  padding: var(--sp-2) var(--sp-3);
  border-left: 3px solid #c9d0e0;
  background: #f7f8fc;
  border-radius: 0 var(--radius-control) var(--radius-control) 0;
  font-size: var(--fs-small);
}
/* The admin's Log out button sits on the title row instead of taking a row of its own. */
body.community-ui:not(.community-landing) > main[data-page='community-reports'] {
  position: relative;
}
body.community-ui:not(.community-landing) > main[data-page='community-reports'] .hq-session {
  position: absolute;
  top: var(--sp-4);
  right: var(--sp-4);
}
body.community-ui:not(.community-landing) > main[data-page='community-reports'] .hq-session + .page-head {
  padding-right: 110px;
}
@media (min-width: 861px) {
  body.community-ui:not(.community-landing) > main[data-page='community-reports'] .hq-session {
    top: var(--sp-5);
    right: var(--sp-5);
  }
}

/* ---------- small helpers ----------------------------------------------------------------- */
body.community-ui:not(.community-landing) .help-grid {
  display: grid;
  gap: var(--sp-3);
}
body.community-ui:not(.community-landing) .help-grid .card {
  margin: 0;
}
body.community-ui:not(.community-landing) [data-job-photo],
body.community-ui:not(.community-landing) main .community-photo {
  max-width: 100%;
  height: auto;
  border-radius: var(--radius-control);
}
/* ======================================================================================
   Social-style writing box, calmer feed, account settings
   ====================================================================================== */

body.community-ui:not(.community-landing) .sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}
body.community-ui:not(.community-landing) .chip {
  background: var(--brand-tint);
  color: var(--brand-ink);
}

/* ---------- the writing box (Post a job, Show your work) -------------------------------- */
body.community-ui:not(.community-landing) main .card.composer {
  padding: 0;
  overflow: hidden;
}
body.community-ui:not(.community-landing) .composer-head {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  padding: var(--sp-4) var(--sp-4) 0;
}
body.community-ui:not(.community-landing) .composer-head strong {
  display: block;
}
body.community-ui:not(.community-landing) .composer-head small {
  color: var(--text-2);
}
body.community-ui:not(.community-landing) main .composer .composer-form {
  padding: var(--sp-2) var(--sp-4) 0;
}
body.community-ui:not(.community-landing) main .composer .composer-form input.composer-title {
  width: 100%;
  min-height: 52px;
  padding: var(--sp-3) 0;
  border: 0;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
  font-size: 18px;
  font-weight: 650;
}
body.community-ui:not(.community-landing) main .composer .composer-form textarea.composer-body {
  display: block;
  width: 100%;
  min-height: 132px;
  max-height: 50vh;
  padding: var(--sp-3) 0 var(--sp-1);
  border: 0;
  border-radius: 0;
  background: transparent;
  font-size: 16px;
  line-height: 1.5;
  resize: none;
}
body.community-ui:not(.community-landing) main .composer .composer-form :is(input.composer-title, textarea.composer-body):focus {
  outline: 0;
  border-color: var(--brand);
}
body.community-ui:not(.community-landing) main .composer .composer-form :is(input.composer-title, textarea.composer-body):focus-visible {
  outline: 0;
  box-shadow: 0 2px 0 0 var(--brand);
}
body.community-ui:not(.community-landing) .composer-count {
  display: block;
  text-align: right;
  font-size: var(--fs-tiny);
  color: var(--text-2);
}
body.community-ui:not(.community-landing) .composer-extras {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-3);
  margin-top: var(--sp-3);
}
body.community-ui:not(.community-landing) .composer-extras > label {
  flex: 1 1 220px;
  min-width: 0;
}
body.community-ui:not(.community-landing) .composer-extras select {
  border-radius: 999px;
  background-color: var(--brand-tint);
  border-color: transparent;
  font-weight: 650;
  color: var(--brand-ink);
}
body.community-ui:not(.community-landing) main .composer [data-selected-places] ul {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-2);
  margin: var(--sp-3) 0 0;
}
body.community-ui:not(.community-landing) main .composer [data-selected-places] li {
  padding: 4px 4px 4px var(--sp-3);
  border-radius: 999px;
  border-color: #d3dbf6;
  background: var(--brand-tint);
  color: var(--brand-ink);
}
body.community-ui:not(.community-landing) main .composer [data-selected-places]:empty {
  display: none;
}
/* The place lookup sits inside the same box, as a quiet row under the writing. */
body.community-ui:not(.community-landing) main .composer form[data-action='lookup-location'] {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: var(--sp-2);
  margin: var(--sp-4) var(--sp-4) 0;
  padding: var(--sp-3) 0 0;
  border-top: 1px solid var(--line);
}
body.community-ui:not(.community-landing) main .composer form[data-action='lookup-location'] > :not(label):not(button) {
  grid-column: 1 / -1;
}
body.community-ui:not(.community-landing) main .composer form[data-action='lookup-location'] button[type='submit'] {
  margin-top: 0;
}
body.community-ui:not(.community-landing) .composer-foot {
  display: flex;
  justify-content: flex-end;
  margin-top: var(--sp-4);
  padding: var(--sp-3) var(--sp-4);
  border-top: 1px solid var(--line);
  background: #fafbfd;
}
body.community-ui:not(.community-landing) main .composer-foot button {
  min-width: 120px;
  border-radius: 999px;
}
@media (max-width: 520px) {
  body.community-ui:not(.community-landing) main .composer form[data-action='lookup-location'] {
    grid-template-columns: 1fr;
  }
  body.community-ui:not(.community-landing) main .composer-foot button {
    width: 100%;
  }
}

/* ---------- the feed: a "what do you need done?" box and calmer posts --------------------- */
body.community-ui:not(.community-landing) .feed-title h1 {
  margin-bottom: var(--sp-3);
}
body.community-ui:not(.community-landing) main .card.feed-compose {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--sp-3);
  padding: var(--sp-3) var(--sp-4);
  margin-bottom: var(--sp-3);
}
body.community-ui:not(.community-landing) .feed-compose .avatar {
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
}
body.community-ui:not(.community-landing) .feed-compose-input {
  display: flex;
  flex: 1 1 200px;
  align-items: center;
  min-height: var(--control-h);
  padding: 0 var(--sp-4);
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #f4f6fa;
  color: var(--text-2);
  font-size: var(--fs-text);
}
body.community-ui:not(.community-landing) .feed-compose-input:hover {
  background: var(--brand-tint);
  text-decoration: none;
}
body.community-ui:not(.community-landing) .feed-compose-extra {
  display: inline-flex;
  align-items: center;
  min-height: var(--control-h);
  padding: 0 var(--sp-2);
  font-size: var(--fs-small);
  font-weight: 650;
  color: var(--brand-ink);
  white-space: nowrap;
}
@media (max-width: 520px) {
  body.community-ui:not(.community-landing) .feed-compose-extra {
    flex-basis: 100%;
    justify-content: flex-start;
    min-height: 40px;
  }
}
body.community-ui:not(.community-landing) .community-feed-layout main .feed-toolbar,
body.community-ui:not(.community-landing) main .feed-toolbar {
  margin-bottom: var(--sp-3);
}
body.community-ui:not(.community-landing) .community-ui .community-feed-layout .feed-post,
body.community-ui:not(.community-landing) main .community-feed-layout .feed-post {
  padding: var(--sp-4) var(--sp-4) var(--sp-1);
  margin-bottom: var(--sp-3);
  border-radius: var(--radius-card);
}
body.community-ui:not(.community-landing) main .feed-post .feed-post-header {
  align-items: center;
  gap: var(--sp-3);
}
body.community-ui:not(.community-landing) main .feed-post .feed-post-who {
  flex: 1;
  min-width: 0;
}
body.community-ui:not(.community-landing) main .feed-post .feed-post-who strong {
  display: block;
}
body.community-ui:not(.community-landing) main .feed-post .feed-post-who small {
  display: block;
  margin-top: 2px;
  color: var(--text-2);
  font-size: var(--fs-small);
  line-height: 1.35;
}
body.community-ui:not(.community-landing) main .feed-post h2 {
  margin: var(--sp-3) 0 var(--sp-1);
  font-size: 17px;
  line-height: 1.35;
}
body.community-ui:not(.community-landing) main .feed-post h2 a:hover {
  text-decoration: underline;
}
body.community-ui:not(.community-landing) main .feed-post .community-preview {
  margin: 0 0 var(--sp-3);
  color: #2d3750;
}
body.community-ui:not(.community-landing) main .feed-post .community-photo {
  display: block;
  width: 100%;
  max-height: 360px;
  margin-bottom: var(--sp-3);
  object-fit: cover;
}
body.community-ui:not(.community-landing) .feed-post-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-3);
  padding-top: var(--sp-1);
  border-top: 1px solid #eef0f6;
}
body.community-ui:not(.community-landing) .feed-post-foot .chip {
  max-width: 65%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
body.community-ui:not(.community-landing) .feed-reply {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-1);
  min-height: var(--control-h);
  font-weight: 650;
  color: var(--brand-ink);
}
body.community-ui:not(.community-landing) .feed-reply:hover {
  text-decoration: underline;
}

/* ---------- account settings: tabs and the worker set-up list ----------------------------- */
body.community-ui:not(.community-landing) .account-tabs {
  display: flex;
  gap: var(--sp-1);
  margin: 0 0 var(--sp-4);
  overflow-x: auto;
  border-bottom: 1px solid var(--line);
  scrollbar-width: none;
}
body.community-ui:not(.community-landing) .account-tabs a {
  display: inline-flex;
  align-items: center;
  min-height: var(--control-h);
  margin-bottom: -1px;
  padding: 0 var(--sp-3);
  border-bottom: 2px solid transparent;
  color: var(--text-2);
  font-weight: 650;
  white-space: nowrap;
}
body.community-ui:not(.community-landing) .account-tabs a:hover {
  color: var(--brand-ink);
  text-decoration: none;
}
body.community-ui:not(.community-landing) .account-tabs a.active {
  border-bottom-color: var(--brand);
  color: var(--brand-ink);
}
body.community-ui:not(.community-landing) .setup-list {
  display: grid;
  gap: var(--sp-2);
  margin: var(--sp-3) 0 0;
  padding: 0;
  list-style: none;
}
body.community-ui:not(.community-landing) .setup-list a {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  min-height: 48px;
  padding: 0 var(--sp-3);
  border: 1px solid var(--line);
  border-radius: var(--radius-control);
  color: var(--ink);
  font-weight: 600;
}
body.community-ui:not(.community-landing) .setup-list a:hover {
  background: #f7f8fc;
  text-decoration: none;
}
body.community-ui:not(.community-landing) .setup-mark {
  display: grid;
  flex: none;
  place-items: center;
  width: 24px;
  height: 24px;
  border: 2px solid #c9d0e0;
  border-radius: 50%;
  color: #fff;
  font-size: 14px;
  line-height: 1;
}
body.community-ui:not(.community-landing) .setup-list .done .setup-mark {
  border-color: var(--ok);
  background: var(--ok);
}
body.community-ui:not(.community-landing) .setup-text {
  flex: 1;
  min-width: 0;
}
body.community-ui:not(.community-landing) .setup-state {
  font-size: var(--fs-tiny);
  color: var(--text-2);
}
/* ======================================================================================
   Job page as a post with a comment thread; worker profile in short sections
   ====================================================================================== */

/* ---------- the post ---------------------------------------------------------------------- */
body.community-ui:not(.community-landing) main .post-detail .feed-post-header {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  margin-bottom: var(--sp-3);
}
body.community-ui:not(.community-landing) main .post-detail h1 {
  margin: 0 0 var(--sp-2);
}
body.community-ui:not(.community-landing) .post-skill {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-2);
  margin: 0 0 var(--sp-3);
}
body.community-ui:not(.community-landing) main .post-detail > .community-text {
  font-size: 16px;
}
body.community-ui:not(.community-landing) .post-actions {
  margin-top: var(--sp-4);
  padding-top: var(--sp-2);
  border-top: 1px solid #eef0f6;
}
/* "Message privately | Report post" as one quiet bar, like the action row under a social post. */
body.community-ui:not(.community-landing) main .post-actions .actions {
  display: flex;
  gap: var(--sp-1);
  margin: 0;
}
body.community-ui:not(.community-landing) main .post-actions .actions :is(button, .button) {
  flex: 1;
  background: transparent;
  color: var(--text-2);
}
body.community-ui:not(.community-landing) main .post-actions .actions :is(button, .button):hover {
  background: #f0f2f5;
  filter: none;
}
body.community-ui:not(.community-landing) main .post-actions form button[type='submit'] {
  margin-top: 0;
}

/* ---------- the comment thread ------------------------------------------------------------ */
body.community-ui:not(.community-landing) main .comments h2 {
  margin-bottom: var(--sp-3);
}
body.community-ui:not(.community-landing) .comment-list {
  display: grid;
  gap: var(--sp-3);
}
body.community-ui:not(.community-landing) .comment {
  display: flex;
  align-items: flex-start;
  gap: var(--sp-2);
}
body.community-ui:not(.community-landing) .comment > .avatar {
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  font-size: 14px;
}
body.community-ui:not(.community-landing) .comment-main {
  flex: 1;
  min-width: 0;
}
body.community-ui:not(.community-landing) .comment-bubble {
  display: inline-block;
  max-width: 100%;
  padding: var(--sp-2) var(--sp-3);
  border-radius: 18px;
  background: #f0f2f5;
}
body.community-ui:not(.community-landing) .comment.mine .comment-bubble {
  background: var(--brand-tint);
}
body.community-ui:not(.community-landing) .comment-bubble strong {
  display: block;
  font-size: var(--fs-small);
  line-height: 1.4;
}
body.community-ui:not(.community-landing) main .comment-bubble p {
  margin: 0;
  font-size: var(--fs-text);
  line-height: 1.45;
}
body.community-ui:not(.community-landing) .comment-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 var(--sp-3);
  padding: 0 var(--sp-3);
  color: var(--text-2);
}
body.community-ui:not(.community-landing) main .comment-meta small {
  font-size: var(--fs-tiny);
}
/* The two small actions under a comment are plain text links, not buttons. */
body.community-ui:not(.community-landing) main .comment-meta .actions {
  display: flex;
  gap: var(--sp-1);
  margin: 0;
}
body.community-ui:not(.community-landing) main .comment-meta .actions :is(button, .button) {
  min-height: 40px;
  padding: 0 var(--sp-2);
  background: transparent;
  color: var(--text-2);
  font-size: var(--fs-tiny);
  font-weight: 700;
}
body.community-ui:not(.community-landing) main .comment-meta .actions :is(button, .button):hover {
  color: var(--brand-ink);
  background: transparent;
  text-decoration: underline;
  filter: none;
}
body.community-ui:not(.community-landing) .comments-note {
  margin: 0;
  font-size: 14px;
}
body.community-ui:not(.community-landing) main .comment-form {
  display: flex;
  align-items: flex-end;
  gap: var(--sp-2);
  margin-top: var(--sp-4);
  padding-top: var(--sp-4);
  border-top: 1px solid var(--line);
}
body.community-ui:not(.community-landing) .comment-form > .avatar {
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  margin-bottom: 4px;
  font-size: 14px;
}
body.community-ui:not(.community-landing) main .comment-form textarea {
  flex: 1;
  min-width: 0;
  min-height: var(--control-h);
  max-height: 40vh;
  padding: 10px var(--sp-4);
  border-color: transparent;
  border-radius: 22px;
  background: #f0f2f5;
  line-height: 1.4;
  resize: none;
}
body.community-ui:not(.community-landing) main .comment-form textarea:focus {
  border-color: var(--brand);
  background: #fff;
}
body.community-ui:not(.community-landing) main .comment-form > button[type='submit'] {
  width: auto;
  margin-top: 0;
  border-radius: 999px;
}

/* ---------- worker profile: short sections instead of one long list ----------------------- */
body.community-ui:not(.community-landing) main .card.profile-form {
  padding: 0;
  overflow: hidden;
}
body.community-ui:not(.community-landing) .profile-section {
  padding: var(--sp-4);
  border-bottom: 1px solid var(--line);
}
@media (min-width: 700px) {
  body.community-ui:not(.community-landing) .profile-section {
    padding: 20px;
  }
}
body.community-ui:not(.community-landing) .profile-section p {
  margin-bottom: var(--sp-2);
}
body.community-ui:not(.community-landing) main .profile-form textarea[name='bio'] {
  min-height: 120px;
}
body.community-ui:not(.community-landing) .selected-skills {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-2);
  margin: var(--sp-3) 0;
}
body.community-ui:not(.community-landing) main .chip.removable {
  min-height: 36px;
  padding: 0 var(--sp-3);
  border-radius: 999px;
  background: var(--brand-tint);
  color: var(--brand-ink);
  font-size: var(--fs-small);
}
body.community-ui:not(.community-landing) main .chip.removable:hover {
  background: #dde3f8;
  filter: none;
}
body.community-ui:not(.community-landing) .profile-browse {
  margin-top: var(--sp-2);
}
body.community-ui:not(.community-landing) .profile-browse > summary {
  display: flex;
  align-items: center;
  min-height: var(--control-h);
  color: var(--brand-ink);
  font-weight: 650;
  cursor: pointer;
}
body.community-ui:not(.community-landing) .profile-browse > summary::after {
  content: '›';
  margin-left: var(--sp-2);
  font-size: 20px;
  transition: transform 0.15s;
}
body.community-ui:not(.community-landing) .profile-browse[open] > summary::after {
  transform: rotate(90deg);
}
body.community-ui:not(.community-landing) .group-count {
  margin-left: auto;
  margin-right: var(--sp-2);
  color: var(--text-2);
  font-size: var(--fs-small);
  font-weight: 500;
}
body.community-ui:not(.community-landing) .delivery-options {
  display: flex;
  flex-wrap: wrap;
  gap: 0 var(--sp-5);
}
body.community-ui:not(.community-landing) .profile-foot {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: var(--sp-3);
  padding: var(--sp-3) var(--sp-4);
  background: #fafbfd;
}
@media (max-width: 520px) {
  body.community-ui:not(.community-landing) .profile-foot {
    flex-direction: column-reverse;
  }
  body.community-ui:not(.community-landing) main .profile-foot button {
    width: 100%;
  }
}
/* ======================================================================================
   Feed like a social feed; Messages like Messenger
   ====================================================================================== */

/* ---------- feed posts --------------------------------------------------------------------- */
body.community-ui:not(.community-landing) main .community-feed-layout .feed-post {
  padding: var(--sp-4) var(--sp-4) var(--sp-2);
}
body.community-ui:not(.community-landing) main .feed-post .community-photo {
  width: calc(100% + 2 * var(--sp-4));
  max-width: none;
  margin: 0 calc(-1 * var(--sp-4)) var(--sp-3);
  border-radius: 0;
}
body.community-ui:not(.community-landing) .feed-post-tags {
  margin: 0 0 var(--sp-3);
}
body.community-ui:not(.community-landing) .feed-post-bar {
  display: flex;
  padding-top: var(--sp-1);
  border-top: 1px solid #eef0f6;
}
body.community-ui:not(.community-landing) .feed-action {
  display: inline-flex;
  flex: 1;
  align-items: center;
  justify-content: center;
  gap: var(--sp-2);
  min-height: var(--control-h);
  border-radius: var(--radius-control);
  color: var(--text-2);
  font-weight: 650;
}
body.community-ui:not(.community-landing) .feed-action:hover {
  background: #f0f2f5;
  color: var(--brand-ink);
  text-decoration: none;
}
body.community-ui:not(.community-landing) .feed-action svg {
  flex: none;
}
body.community-ui:not(.community-landing) .feed-quick-reply {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  padding: var(--sp-2) 0 var(--sp-2);
}
body.community-ui:not(.community-landing) .feed-quick-reply:hover {
  text-decoration: none;
}
body.community-ui:not(.community-landing) .feed-quick-reply .avatar {
  flex: 0 0 32px;
  width: 32px;
  height: 32px;
  font-size: 13px;
}
body.community-ui:not(.community-landing) .feed-quick-input {
  display: flex;
  flex: 1;
  align-items: center;
  min-height: 40px;
  padding: 0 var(--sp-4);
  border-radius: 20px;
  background: #f0f2f5;
  color: var(--text-2);
  font-size: 14px;
}
body.community-ui:not(.community-landing) .feed-quick-reply:hover .feed-quick-input {
  background: #e7eaf1;
}

/* ---------- messages inbox ----------------------------------------------------------------- */
body.community-ui:not(.community-landing) .thread {
  min-height: 72px;
}
body.community-ui:not(.community-landing) .thread .avatar {
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  font-size: 18px;
}
body.community-ui:not(.community-landing) .thread.unread .thread-name {
  font-weight: 800;
}
body.community-ui:not(.community-landing) .thread.unread .thread-time {
  color: var(--brand-ink);
  font-weight: 650;
}
body.community-ui:not(.community-landing) .unread-dot {
  flex: none;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--brand);
}

/* ---------- a conversation ------------------------------------------------------------------ */
body.community-ui:not(.community-landing) .chat {
  display: flex;
  flex-direction: column;
  min-height: calc(100svh - 150px);
}
body.community-ui:not(.community-landing) .chat-head {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  padding-bottom: var(--sp-2);
  border-bottom: 1px solid var(--line);
}
body.community-ui:not(.community-landing) .chat-back {
  display: inline-flex;
  flex: none;
  align-items: center;
  justify-content: center;
  width: var(--control-h);
  height: var(--control-h);
  margin-left: -10px;
  border-radius: 50%;
  color: var(--brand-ink);
  font-size: 22px;
}
body.community-ui:not(.community-landing) .chat-back:hover {
  background: var(--brand-tint);
  text-decoration: none;
}
body.community-ui:not(.community-landing) .chat-head .avatar {
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
}
body.community-ui:not(.community-landing) main h1.chat-who {
  flex: 1;
  min-width: 0;
  margin: 0;
  overflow: hidden;
  font-size: 18px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
body.community-ui:not(.community-landing) main .chat .messages {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 3px;
  margin: 0;
  padding: var(--sp-2) 0 var(--sp-4);
}
body.community-ui:not(.community-landing) .chat-time {
  align-self: center;
  margin: var(--sp-3) 0 var(--sp-2);
  color: var(--text-2);
  font-size: var(--fs-tiny);
}
body.community-ui:not(.community-landing) main .chat .message {
  align-self: flex-start;
  width: fit-content;
  max-width: min(78%, 520px);
  padding: 9px 14px;
  border: 0;
  border-radius: 20px;
  background: #e9ebef;
  color: var(--ink);
}
body.community-ui:not(.community-landing) main .chat .message.mine {
  align-self: flex-end;
  background: var(--brand);
  color: #fff;
}
body.community-ui:not(.community-landing) main .chat .message p {
  margin: 0;
  color: inherit;
}
/* Report is there when you need it, quiet when you do not (always visible on touch screens). */
body.community-ui:not(.community-landing) main .chat .message .actions {
  margin-top: 2px;
}
body.community-ui:not(.community-landing) main .chat .message .actions :is(button, .button) {
  min-height: 40px;
  padding: 0;
  background: transparent;
  color: var(--text-2);
  font-size: var(--fs-tiny);
}
@media (hover: hover) {
  body.community-ui:not(.community-landing) main .chat .message:not(:hover):not(:focus-within) .actions {
    display: none;
  }
}
body.community-ui:not(.community-landing) .chat-empty,
body.community-ui:not(.community-landing) .chat-blocked {
  margin: auto;
  padding: var(--sp-4);
  text-align: center;
}
body.community-ui:not(.community-landing) main .chat-form {
  position: sticky;
  bottom: 0;
  display: flex;
  align-items: flex-end;
  gap: var(--sp-2);
  padding: var(--sp-3) 0;
  background: var(--cream);
}
body.community-ui:not(.community-landing) main .chat-form textarea {
  flex: 1;
  min-width: 0;
  min-height: var(--control-h);
  max-height: 40vh;
  padding: 10px var(--sp-4);
  border-color: transparent;
  border-radius: 22px;
  background: #e9ebef;
  line-height: 1.4;
  resize: none;
}
body.community-ui:not(.community-landing) main .chat-form textarea:focus {
  border-color: var(--brand);
  background: #fff;
}
body.community-ui:not(.community-landing) main .chat-form > button[type='submit'] {
  width: auto;
  min-width: 76px;
  margin-top: 0;
  border-radius: 999px;
}
@media (max-width: 860px) {
  body.community-ui:not(.community-landing) .chat {
    min-height: calc(100svh - 240px);
  }
  body.community-ui:not(.community-landing) main .chat-form {
    bottom: calc(66px + env(safe-area-inset-bottom));
  }
}
/* ======================================================================================
   Jobs near me: the area strip, the area prompt, and why-this-post labels
   ====================================================================================== */
body.community-ui:not(.community-landing) .feed-area {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-2) var(--sp-3);
  margin-bottom: var(--sp-3);
}
body.community-ui:not(.community-landing) main .feed-area-text {
  flex: 1 1 220px;
  margin: 0;
  color: var(--text-2);
  font-size: var(--fs-small);
}
body.community-ui:not(.community-landing) .feed-area-text strong {
  color: var(--ink);
}
body.community-ui:not(.community-landing) .feed-area-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--sp-2);
}
body.community-ui:not(.community-landing) .feed-area-editor {
  flex-basis: 100%;
}
body.community-ui:not(.community-landing) .feed-area-editor[hidden] {
  display: none;
}
body.community-ui:not(.community-landing) main .feed-area-editor .home-area-editor {
  padding: var(--sp-3);
  border: 1px solid var(--line);
  border-radius: var(--radius-card);
  background: #fff;
}
body.community-ui:not(.community-landing) .feed-reach {
  display: inline-flex;
  padding: 3px;
  border-radius: 999px;
  background: #e7eaf4;
}
body.community-ui:not(.community-landing) main .feed-reach button {
  min-height: 38px;
  padding: 0 var(--sp-3);
  border-radius: 999px;
  background: transparent;
  color: var(--text-2);
  font-size: var(--fs-small);
}
body.community-ui:not(.community-landing) main .feed-reach button[aria-pressed='true'] {
  background: #fff;
  color: var(--brand-ink);
  box-shadow: 0 1px 2px #1b24401a;
}
/* A plain text button (for example "Change area"). */
body.community-ui:not(.community-landing) main button.link {
  min-height: var(--control-h);
  padding: 0 var(--sp-2);
  background: transparent;
  color: var(--brand-ink);
  font-size: var(--fs-small);
  text-decoration: underline;
  text-underline-offset: 2px;
}
body.community-ui:not(.community-landing) main button.link:hover {
  background: transparent;
  filter: none;
}
body.community-ui:not(.community-landing) main .card.area-prompt {
  margin-top: var(--sp-3);
}
body.community-ui:not(.community-landing) main .home-area-editor form[data-action='save-home-area'] {
  margin-top: var(--sp-3);
}
body.community-ui:not(.community-landing) main .home-area-editor form[data-action='save-home-area'] button[type='submit'] {
  margin-top: var(--sp-3);
}
body.community-ui:not(.community-landing) .chip.near {
  background: var(--ok-tint);
  color: var(--ok);
}
body.community-ui:not(.community-landing) .chip.match {
  background: #fff3dc;
  color: #7a4b00;
}
body.community-ui:not(.community-landing) .feed-post-tags {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-2);
}
@media (prefers-reduced-motion: reduce) {
  body.community-ui:not(.community-landing) * {
    transition: none !important;
    animation: none !important;
  }
}
