
  /**
 * Community layout, chrome, feed, detail, comments, states.
 * UI/UX Revamp — professional community reading experience.
 */

  /* ─── Page surfaces ──────────────────────────────────────── */

  .acc-page-landing,
  .acc-page-category {
    /* Soft page feel when theme allows; cards stay white */
  }

  .acc-page-single {
    max-width: var(--acc-reading-max);
    margin-left: auto;
    margin-right: auto;
  }

  .acc-page-form {
    max-width: var(--acc-form-max);
    margin-left: auto;
    margin-right: auto;
  }

  /* ─── Community Chrome ───────────────────────────────────── */

  .acc-chrome {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--acc-space-3) var(--acc-space-4);
    padding-bottom: var(--acc-space-4);
    margin-bottom: var(--acc-space-5);
    border-bottom: 1px solid var(--acc-color-border);
  }

  .acc-chrome__brand {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
  }

  .acc-chrome__title {
    margin: 0;
    font-size: var(--acc-font-size-2xl);
    font-weight: var(--acc-font-weight-semibold);
    letter-spacing: -0.025em;
    line-height: var(--acc-line-height-tight);
    color: var(--acc-color-text);
  }

  .acc-chrome__title a {
    color: inherit;
    text-decoration: none;
  }
  @media (hover: hover) and (pointer: fine) {
    .acc-chrome__title a:hover {
      color: var(--acc-color-accent);
    }
  }

  .acc-chrome__context {
    margin: 0;
    font-size: var(--acc-font-size-sm);
    color: var(--acc-color-text-muted);
    line-height: var(--acc-line-height-normal);
  }

  .acc-chrome__actions {
    display: flex;
    align-items: center;
    gap: var(--acc-space-2);
    flex-shrink: 0;
    margin-left: auto;
  }

  .acc-chrome__actions > * {
    flex-shrink: 0;
  }

  /* Legacy page header (detail/form) */
  .acc-page-header {
    margin-bottom: var(--acc-space-4);
  }

  .acc-page-header__title {
    margin: 0 0 var(--acc-space-2);
    font-size: var(--acc-font-size-2xl);
    font-weight: var(--acc-font-weight-semibold);
    letter-spacing: -0.025em;
    line-height: var(--acc-line-height-tight);
    color: var(--acc-color-text);
  }

  .acc-page-header__subtitle {
    margin: 0;
    color: var(--acc-color-text-muted);
    font-size: var(--acc-font-size-sm);
    line-height: var(--acc-line-height-normal);
    max-width: 52ch;
  }

  /* Breadcrumb */
  .acc-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    font-size: var(--acc-font-size-sm);
    color: var(--acc-color-text-muted);
    margin-bottom: var(--acc-space-4);
  }

  .acc-breadcrumb a {
    color: var(--acc-color-text-muted);
    text-decoration: none;
    font-weight: var(--acc-font-weight-medium);
  }
  @media (hover: hover) and (pointer: fine) {
    .acc-breadcrumb a:hover {
      color: var(--acc-color-accent);
    }
  }

  .acc-breadcrumb__sep {
    color: var(--acc-color-text-subtle);
    user-select: none;
  }

  /* ─── Toolbar: chips + filter ────────────────────────────── */

  .acc-toolbar {
    display: flex;
    flex-direction: column;
    gap: var(--acc-space-3);
    margin-bottom: var(--acc-space-5);
  }

  .acc-toolbar__row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--acc-space-3);
  }

  .acc-feed-meta {
    margin: 0 0 var(--acc-space-3);
    font-size: var(--acc-font-size-sm);
    color: var(--acc-color-text-muted);
  }

  .acc-filter-control {
    position: relative;
    display: inline-flex;
    align-items: center;
    margin-left: auto;
  }

  .acc-toolbar__controls {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--acc-space-3);
    margin-left: auto;
  }

  .acc-toolbar__controls .acc-filter-control,
  .acc-toolbar__controls .acc-sort-control {
    margin-left: 0;
  }

  .acc-dropdown__item.is-selected {
    background: var(--acc-color-accent-soft);
    color: var(--acc-color-accent);
    font-weight: var(--acc-font-weight-medium);
  }

  @media (max-width: 768px) {
    .acc-toolbar__controls {
      width: 100%;
      gap: var(--acc-space-2);
    }
    .acc-toolbar__controls .acc-dropdown {
      flex: 1 1 50%;
    }
    .acc-toolbar__controls .acc-btn {
      width: 100%;
      justify-content: space-between;
    }
    .acc-sort-control .acc-dropdown__menu {
      right: 0;
      left: auto;
    }
    .acc-filter-control .acc-dropdown__menu {
      left: 0;
      right: auto;
    }
  }

  /* Form controls */
  .acc-select,
  .acc-input,
  .acc-textarea {
    width: 100%;
    max-width: 100%;
    border: 1px solid var(--acc-color-border);
    border-radius: var(--acc-radius-md);
    padding: 10px 14px;
    font-family: var(--acc-font-family);
    font-size: var(--acc-font-size-base);
    line-height: var(--acc-line-height-normal);
    color: var(--acc-color-text);
    background: var(--acc-color-bg-elevated);
    transition:
      border-color var(--acc-transition-fast),
      box-shadow var(--acc-transition-fast);
  }
  @media (hover: hover) and (pointer: fine) {
    .acc-select:hover,
    .acc-input:hover,
    .acc-textarea:hover {
      border-color: var(--acc-color-border-strong);
    }
  }

  .acc-select:focus,
  .acc-input:focus,
  .acc-textarea:focus {
    outline: 2px solid transparent;
    border-color: var(--acc-color-accent);
    box-shadow: 0 0 0 3px var(--acc-color-accent-soft);
  }

  /* ─── Feed & Thread cards ────────────────────────────────── */

  .acc-feed {
    display: flex;
    flex-direction: column;
    gap: var(--acc-space-3);
  }

  .acc-pinned {
    margin-bottom: var(--acc-space-5);
  }

  .acc-pinned__label {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 0 0 var(--acc-space-3);
    font-size: var(--acc-font-size-xs);
    font-weight: var(--acc-font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    /* Section label — muted text; accent reserved for pin badge/border */
    color: var(--acc-color-text-muted);
  }

  .acc-feed--pinned {
    gap: var(--acc-space-3);
  }

  .acc-thread-card {
    position: relative;
    background: var(--acc-color-bg-elevated);
    border: 1px solid var(--acc-color-border);
    border-radius: var(--acc-radius-card);
    box-shadow: var(--acc-shadow-card);
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    transition:
      box-shadow var(--acc-transition-fast),
      border-color var(--acc-transition-fast),
      transform var(--acc-transition-fast);
  }
  @media (hover: hover) and (pointer: fine) {
    .acc-thread-card:hover {
      box-shadow: var(--acc-shadow-card-hover);
      border-color: color-mix(in srgb, var(--acc-color-accent) 35%, transparent);
		transform: translateY(-2px);
    }
  }

  .acc-thread-card:focus-within {
    border-color: var(--acc-color-accent);
    box-shadow: 0 0 0 3px var(--acc-color-accent-soft);
  }

  .acc-thread-card--pinned {
    border-left: 3px solid var(--acc-color-accent);
    background: linear-gradient(
      90deg,
      var(--acc-color-accent-softer),
      var(--acc-color-bg-elevated) 48%
    );
  }

  .acc-thread-card__title-link {
    color: var(--acc-color-text);
    text-decoration: none;
  }

  .acc-thread-card__title-link::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
  }

  .acc-thread-card__title-link:focus {
    outline: 2px solid var(--acc-color-accent);
    outline-offset: 2px;
  }
  @media (hover: hover) and (pointer: fine) {
    .acc-thread-card:hover .acc-thread-card__title-link,
    .acc-root .acc-thread-card__title-link:hover {
      /* Keep title primary text; slight weight cue only — accent is for actions */
      color: var(--acc-color-text);
      text-decoration: underline;
      text-decoration-color: var(--acc-color-border-strong);
      text-underline-offset: 3px;
    }
  }
  .acc-root .acc-thread-card__title-link:focus-visible {
    color: var(--acc-color-text);
    text-decoration: underline;
    text-decoration-color: var(--acc-color-border-strong);
    text-underline-offset: 3px;
  }

  .acc-thread-card__meta,
  .acc-thread-card__stats,
  .acc-pill,
  .acc-badge {
    position: relative;
    z-index: 2;
  }

  .acc-thread-card__thumb {
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background: var(--acc-color-bg-soft);
  }

  @media (max-width: 768px) {
    .acc-thread-card__thumb {
      max-height: 240px;
    }
  }

  .acc-thread-card__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    -webkit-user-drag: none;
    user-select: none;
  }

  .acc-thread-card__body {
    padding: var(--acc-space-4) var(--acc-space-5);
    display: flex;
    flex-direction: column;
    gap: var(--acc-space-2);
    min-width: 0;
  }

  .acc-thread-card__status,
  .acc-thread-card__badges {
    display: flex;
    flex-wrap: wrap;
    gap: var(--acc-space-2, 8px);
    margin-bottom: 2px;
    min-width: 0;
  }

  .acc-thread-card__title,
  .acc-thread-card__excerpt,
  .acc-chat-share-card__excerpt {
    display: -webkit-box;
    -webkit-line-clamp: var(--acc-line-clamp, 2);
    -webkit-box-orient: vertical;
    overflow: hidden;
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  .acc-thread-card__footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--acc-space-2) var(--acc-space-3);
    margin-top: var(--acc-space-1);
    padding: var(--acc-space-3) var(--acc-space-5) var(--acc-space-4);
    border-top: 1px solid var(--acc-color-border);
  }

  .acc-thread-card__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 10px;
    font-size: var(--acc-font-size-xs);
    color: var(--acc-color-text-muted);
    min-width: 0;
  }

  .acc-thread-card__author {
    font-weight: var(--acc-font-weight-medium);
    color: var(--acc-color-text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
    max-width: 12rem;
  }

  .acc-thread-card__dot {
    color: var(--acc-color-text-subtle);
  }

  .acc-thread-card__stats {
    display: inline-flex;
    align-items: center;
    gap: var(--acc-space-3);
    font-size: var(--acc-font-size-xs);
    color: var(--acc-color-text-muted);
    flex-shrink: 0;
  }

  .acc-stat {
    display: inline-flex;
    align-items: center;
    gap: 4px;
  }

  .acc-stat .acc-icon {
    width: 14px;
    height: 14px;
    opacity: 0.75;
  }

  .acc-stat {
    appearance: none;
    background: transparent;
    border: none;
    padding: 0;
    font: inherit;
    cursor: pointer;
    color: inherit;
    transition:
      color var(--acc-transition-fast),
      transform var(--acc-transition-fast);
  }
  @media (hover: hover) and (pointer: fine) {
    .acc-stat:hover {
      color: var(--acc-color-accent);
    }
  }
  .acc-stat:focus-visible {
    color: var(--acc-color-accent);
    outline: 2px solid var(--acc-color-accent);
    outline-offset: 2px;
  }

  .acc-stat.is-liked {
    color: var(--acc-color-accent);
  }

  .acc-stat .acc-stat__icon {
    display: inline-flex;
    line-height: 0;
  }

  .acc-stat.is-liked .acc-icon--heart {
    display: none;
  }

  .acc-stat:not(.is-liked) .acc-icon--heart-filled {
    display: none;
  }

  .acc-stat.is-animating {
    transform: scale(1.15);
  }

  .acc-stat--action {
    background: transparent;
    border: none;
    padding: 0;
    cursor: pointer;
    font-family: inherit;
    color: inherit;
  }
  @media (hover: hover) and (pointer: fine) {
    .acc-stat--action:hover {
      color: var(--acc-color-text);
    }
  }

  .acc-feed-more {
    display: flex;
    justify-content: center;
    margin-top: var(--acc-space-6);
  }

  /* Desktop: side thumb for cards with media (unless explicit vertical) */
  @media (min-width: 768px) {
    .acc-thread-card--has-thumb:not(.acc-thread-card--vertical) {
      grid-template-columns: 140px minmax(0, 1fr);
    }

    .acc-thread-card--has-thumb:not(.acc-thread-card--vertical) .acc-thread-card__thumb {
      max-height: none;
    }

    .acc-thread-card--has-thumb:not(.acc-thread-card--vertical) .acc-thread-card__footer {
      grid-column: 2 / -1;
    }
  }

  /* ─── Thread detail ──────────────────────────────────────── */

  .acc-thread-detail {
    margin-bottom: var(--acc-space-8);
  }

  .acc-thread-detail__header {
    margin-bottom: var(--acc-space-5);
  }

  .acc-thread-detail__status {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: var(--acc-space-3);
  }

  .acc-thread-detail__title {
    margin: 0 0 var(--acc-space-3);
    font-size: var(--acc-font-size-3xl);
    font-weight: var(--acc-font-weight-semibold);
    line-height: var(--acc-line-height-tight);
    letter-spacing: -0.03em;
    color: var(--acc-color-text);
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  .acc-thread-detail__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 12px;
    align-items: center;
    color: var(--acc-color-text-muted);
    font-size: var(--acc-font-size-sm);
  }

  .acc-thread-detail__content {
    font-size: 1.0625rem;
    line-height: var(--acc-line-height-relaxed);
    margin-bottom: var(--acc-space-5);
    color: var(--acc-color-text);
  }

  .acc-thread-detail__content p {
    margin: 0 0 1em;
  }

  .acc-thread-detail__content p:last-child {
    margin-bottom: 0;
  }

  /* Lifecycle status actions (listing / freelance single) */
  .acc-lifecycle-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--acc-space-2);
    margin: 0 0 var(--acc-space-5);
    padding: var(--acc-space-3) var(--acc-space-4);
    border-radius: var(--acc-radius-card);
    border: 1px solid var(--acc-color-border);
    background: var(--acc-color-bg-elevated);
  }

  .acc-lifecycle-actions__btn {
    border-radius: 999px;
  }

  /* Callouts */
  .acc-callout {
    display: flex;
    align-items: flex-start;
    gap: var(--acc-space-3);
    padding: var(--acc-space-3) var(--acc-space-4);
    border-radius: var(--acc-radius-md);
    font-size: var(--acc-font-size-sm);
    margin-bottom: var(--acc-space-5);
  }

  .acc-callout--locked {
    background: var(--acc-color-warning-soft);
    color: var(--acc-color-warning);
    border: 1px solid color-mix(in srgb, var(--acc-color-warning) 15%, transparent);
  }

  .acc-callout--solved {
    background: var(--acc-color-success-soft);
    color: var(--acc-color-success);
    border: 1px solid color-mix(in srgb, var(--acc-color-success) 12%, transparent);
  }

  .acc-callout .acc-icon {
    flex-shrink: 0;
    margin-top: 1px;
  }

  /* Action bar */
  .acc-action-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--acc-space-2);
    padding: var(--acc-space-4) 0;
    border-top: 1px solid var(--acc-color-border);
    border-bottom: 1px solid var(--acc-color-border);
    margin-bottom: var(--acc-space-6);
  }

  .acc-action-bar__primary {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--acc-space-2);
  }

  .acc-action-bar__secondary {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--acc-space-1);
    margin-left: auto;
  }

  /* Like button */
  .acc-like {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border: 1px solid var(--acc-color-border);
    background: var(--acc-color-bg-elevated);
    border-radius: var(--acc-radius-pill);
    padding: 8px 14px;
    min-height: 36px;
    cursor: pointer;
    font-family: var(--acc-font-family);
    font-size: var(--acc-font-size-sm);
    font-weight: var(--acc-font-weight-medium);
    line-height: inherit;
    color: var(--acc-color-text-muted);
    transition:
      color var(--acc-transition-fast),
      border-color var(--acc-transition-fast),
      background var(--acc-transition-fast),
      transform var(--acc-transition-fast);
  }
  .acc-like::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    min-width: 44px;
    min-height: 44px;
    width: 100%;
    height: 100%;
  }
  @media (hover: hover) and (pointer: fine) {
    .acc-like:hover {
      color: var(--acc-color-accent);
      border-color: color-mix(in srgb, var(--acc-color-accent) 45%, transparent);
      background: var(--acc-color-accent-softer);
    }
  }

  .acc-like:active {
	transform: scale(0.95);
}

.acc-like:focus-visible {
    outline: 2px solid var(--acc-color-accent);
    outline-offset: 2px;
  }

  .acc-like.is-liked {
    color: var(--acc-color-accent);
    border-color: transparent;
    background: var(--acc-color-accent-soft);
  }

  .acc-like.is-liked .acc-like__icon {
    color: var(--acc-color-accent);
  }

  .acc-like.is-animating {
    transform: scale(1.08);
  }

  .acc-like__icon {
    display: inline-flex;
    line-height: 0;
  }

  .acc-like__icon .acc-icon {
    width: 16px;
    height: 16px;
  }

  .acc-like.is-liked .acc-like__icon .acc-icon--heart {
    display: none;
  }

  .acc-like:not(.is-liked) .acc-like__icon .acc-icon--heart-filled {
    display: none;
  }

  .acc-gallery-wrapper {
    position: relative;
    margin-bottom: var(--acc-space-5);
  }

  /* Gallery — sharp previews via acc_preview (~960px); open in lightbox */
  .acc-gallery {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    gap: var(--acc-space-2);
    margin-bottom: 0;
  }

  .acc-gallery::-webkit-scrollbar {
    display: none;
  }

  .acc-gallery--single {
    grid-template-columns: minmax(0, 1fr);
    max-width: 640px;
  }

  .acc-thread-detail .acc-gallery--single,
  .acc-page-single .acc-gallery--single,
  .acc-preset-detail .acc-gallery--single,
  .acc-bongkar-detail .acc-gallery--single,
  .acc-detail .acc-gallery--single,
  .acc-page-detail .acc-gallery--single,
  .acc-thread-detail .acc-gallery--multi,
  .acc-page-single .acc-gallery--multi,
  .acc-preset-detail .acc-gallery--multi,
  .acc-bongkar-detail .acc-gallery--multi,
  .acc-detail .acc-gallery--multi,
  .acc-page-detail .acc-gallery--multi {
    width: 100%;
    max-width: 100%;
    height: auto;
  }

  .acc-thread-detail .acc-gallery--single .acc-gallery__item,
  .acc-page-single .acc-gallery--single .acc-gallery__item,
  .acc-preset-detail .acc-gallery--single .acc-gallery__item,
  .acc-bongkar-detail .acc-gallery--single .acc-gallery__item,
  .acc-detail .acc-gallery--single .acc-gallery__item,
  .acc-page-detail .acc-gallery--single .acc-gallery__item,
  .acc-thread-detail .acc-gallery--multi .acc-gallery__item,
  .acc-page-single .acc-gallery--multi .acc-gallery__item,
  .acc-preset-detail .acc-gallery--multi .acc-gallery__item,
  .acc-bongkar-detail .acc-gallery--multi .acc-gallery__item,
  .acc-detail .acc-gallery--multi .acc-gallery__item,
  .acc-page-detail .acc-gallery--multi .acc-gallery__item,
  .acc-gallery--multi .acc-gallery__item {
    display: block;
    width: 100%;
    height: auto;
    min-height: 0;
    max-height: none;
    background: transparent;
    border-radius: var(--acc-radius-md);
    overflow: hidden;
    margin: 0;
    flex: 0 0 85%;
    flex-shrink: 0;
    scroll-snap-align: start;
  }

  .acc-gallery-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: var(--acc-z-gallery, 10);
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.5);
    color: white;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
  }

  .acc-gallery-nav--prev {
    left: 8px;
  }

  .acc-gallery-nav--next {
    right: 8px;
  }

  .acc-gallery-nav[hidden],
  .acc-gallery-nav:disabled {
    display: none;
  }

  @media (hover: hover) and (pointer: fine) {
    .acc-gallery__item:hover {
      box-shadow: 0 0 0 2px var(--acc-color-accent);
    }
  }

  .acc-gallery__item:focus-visible {
    box-shadow: 0 0 0 2px var(--acc-color-accent);
    outline: 2px solid var(--acc-color-accent);
    outline-offset: 2px;
  }

  .acc-gallery__item img {
    width: 100%;
    height: auto;
    display: block;
    /* Avoid browser soft upscaling blur on crisp sources */
    image-rendering: auto;
    -webkit-user-drag: none;
    user-select: none;
    pointer-events: none;
  }

  .acc-thread-detail .acc-gallery--single .acc-gallery__item img,
  .acc-page-single .acc-gallery--single .acc-gallery__item img,
  .acc-preset-detail .acc-gallery--single .acc-gallery__item img,
  .acc-bongkar-detail .acc-gallery--single .acc-gallery__item img,
  .acc-detail .acc-gallery--single .acc-gallery__item img,
  .acc-page-detail .acc-gallery--single .acc-gallery__item img,
  .acc-thread-detail .acc-gallery--multi .acc-gallery__item img,
  .acc-page-single .acc-gallery--multi .acc-gallery__item img,
  .acc-preset-detail .acc-gallery--multi .acc-gallery__item img,
  .acc-bongkar-detail .acc-gallery--multi .acc-gallery__item img,
  .acc-detail .acc-gallery--multi .acc-gallery__item img,
  .acc-page-detail .acc-gallery--multi .acc-gallery__item img {
    display: block;
    width: 100%;
    height: auto;
    max-width: 100%;
    max-height: none;
    aspect-ratio: auto;
    object-fit: initial;
    margin: 0;
    border-radius: var(--acc-radius-md);
  }

  /* ─── Image lightbox ─────────────────────────────────────── */

  .acc-lightbox {
    position: fixed;
    inset: 0;
    z-index: var(--acc-z-lightbox, 10050);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition:
      opacity 0.2s ease,
      visibility 0.2s ease;
    /* Isolate from page; keep community context */
    isolation: isolate;
  }

  .acc-lightbox.is-open {
    opacity: 1;
    visibility: visible;
  }

  .acc-lightbox__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(10, 12, 18, 0.88);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    cursor: zoom-out;
  }

  .acc-lightbox__stage {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: min(96vw, 1200px);
    height: min(88vh, 900px);
    max-width: 100%;
    touch-action: none;
    overflow: hidden;
  }

  .acc-lightbox__img-wrap {
    position: relative;
    max-width: 100%;
    max-height: 100%;
    transform-origin: center center;
    will-change: transform;
    transition: transform 0.15s ease-out;
  }

  .acc-lightbox__img {
    display: block;
    max-width: min(96vw, 1200px);
    max-height: min(88vh, 900px);
    width: auto;
    height: auto;
    object-fit: contain;
    border-radius: var(--acc-radius-sm, 6px);
    box-shadow: 0 12px 48px rgba(0, 0, 0, 0.45);
    -webkit-user-drag: none;
    user-select: none;
    cursor: grab;
  }

  .acc-lightbox.is-zoomed .acc-lightbox__img {
    cursor: grab;
  }

  .acc-lightbox.is-dragging .acc-lightbox__img {
    cursor: grabbing;
  }

  .acc-lightbox__toolbar {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    padding: 12px 16px;
    pointer-events: none;
  }

  .acc-lightbox__toolbar > * {
    pointer-events: auto;
  }

  .acc-lightbox__counter {
    margin-right: auto;
    color: rgba(255, 255, 255, 0.85);
    font-size: 0.8125rem;
    font-weight: 500;
    font-variant-numeric: tabular-nums;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(0, 0, 0, 0.35);
  }

  .acc-lightbox__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: none;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
    cursor: pointer;
    transition:
      background 0.15s ease,
      transform 0.15s ease;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
  }
  @media (hover: hover) and (pointer: fine) {
    .acc-lightbox__btn:hover {
      background: rgba(255, 255, 255, 0.22);
    }
  }
  .acc-lightbox__btn:focus-visible {
    background: rgba(255, 255, 255, 0.22);
    outline: 2px solid var(--acc-color-accent);
    outline-offset: 2px;
  }

  .acc-lightbox__btn:active {
    transform: scale(0.96);
  }

  .acc-lightbox__nav {
    position: absolute;
    top: 50%;
    z-index: 2;
    transform: translateY(-50%);
  }

  .acc-lightbox__nav--prev {
    left: 12px;
  }

  .acc-lightbox__nav--next {
    right: 12px;
  }

  .acc-lightbox__nav[hidden] {
    display: none;
  }

  body.acc-lightbox-open {
    overflow: hidden;
  }

  @media (max-width: 768px) {
    .acc-lightbox__stage {
      width: 100dvw;
      height: 100dvh;
      max-height: 100dvh;
    }

    .acc-lightbox__img {
      max-width: 100dvw;
      max-height: 100dvh;
      border-radius: 0;
    }

    .acc-lightbox__nav--prev {
      left: 4px;
    }

    .acc-lightbox__nav--next {
      right: 4px;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .acc-lightbox,
    .acc-lightbox__img-wrap,
    .acc-lightbox__btn {
      transition: none;
    }
  }

  /* External links */
  .acc-ext-links {
    display: flex;
    flex-direction: column;
    gap: var(--acc-space-2);
    margin-bottom: var(--acc-space-5);
  }

  .acc-ext-link {
    display: flex;
    align-items: center;
    gap: var(--acc-space-3);
    padding: var(--acc-space-3) var(--acc-space-4);
    border: 1px solid var(--acc-color-border);
    border-radius: var(--acc-radius-md);
    text-decoration: none;
    color: inherit;
    background: var(--acc-color-bg-elevated);
    transition:
      border-color var(--acc-transition-fast),
      background var(--acc-transition-fast);
  }
  @media (hover: hover) and (pointer: fine) {
    .acc-ext-link:hover {
      border-color: var(--acc-color-accent);
      background: var(--acc-color-accent-softer);
      /* Keep link label/host primary text; accent is border/bg only */
      color: var(--acc-color-text);
      text-decoration: none;
    }
  }
  @media (hover: hover) and (pointer: fine) {
    .acc-root a.acc-ext-link:hover {
      color: var(--acc-color-text);
      text-decoration: none;
    }
  }
  .acc-root a.acc-ext-link:focus-visible {
    color: var(--acc-color-text);
    text-decoration: none;
  }

  .acc-ext-link__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: var(--acc-radius-sm);
    background: var(--acc-color-bg-soft);
    color: var(--acc-color-text-muted);
    flex-shrink: 0;
  }

  .acc-ext-link__body {
    min-width: 0;
    flex: 1;
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  .acc-ext-link__label {
    display: block;
    font-weight: var(--acc-font-weight-semibold);
    font-size: var(--acc-font-size-sm);
    color: var(--acc-color-text);
    overflow-wrap: anywhere;
    word-break: break-word;
    min-width: 0;
  }

  .acc-ext-link__host {
    display: block;
    font-size: var(--acc-font-size-xs);
    color: var(--acc-color-text-muted);
    margin-top: 2px;
    overflow-wrap: anywhere;
    word-break: break-word;
    min-width: 0;
  }

  /* ─── Comments ───────────────────────────────────────────── */

  .acc-comments {
    padding-top: var(--acc-space-2);
  }

  .acc-comments__header {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--acc-space-3);
    margin-bottom: var(--acc-space-4);
  }

  .acc-comments__title {
    margin: 0;
    font-size: var(--acc-font-size-lg);
    font-weight: var(--acc-font-weight-semibold);
    color: var(--acc-color-text);
    display: flex;
    align-items: center;
    gap: 8px;
  }

  .acc-comments__count {
    font-weight: var(--acc-font-weight-medium);
    color: var(--acc-color-text-muted);
    font-size: var(--acc-font-size-base);
  }

  .acc-comment-form {
    margin-bottom: var(--acc-space-5);
    display: flex;
    flex-direction: column;
    gap: var(--acc-space-3);
    padding: var(--acc-space-4);
    background: var(--acc-color-bg-elevated);
    border: 1px solid var(--acc-color-border);
    border-radius: var(--acc-radius-card);
    box-shadow: var(--acc-shadow-soft);
  }

  .acc-comment-form .acc-textarea {
    min-height: 88px;
    resize: vertical;
  }

  .acc-comment-form__actions {
    display: flex;
    justify-content: flex-end;
    gap: var(--acc-space-2);
  }

  .acc-comment-list,
  .acc-comment-replies {
    list-style: none;
    margin: 0;
    padding: 0;
  }

  .acc-comment {
    display: flex;
    gap: var(--acc-space-3);
    padding: var(--acc-space-4) 0;
    border-bottom: 1px solid var(--acc-color-border);
  }

  .acc-comment:last-child {
    border-bottom: none;
  }

  .acc-comment--reply {
    border-bottom: none;
    padding: var(--acc-space-3) 0;
  }

  .acc-comment__avatar {
    flex-shrink: 0;
  }

  .acc-comment__avatar img {
    width: 36px;
    height: 36px;
  }

  .acc-comment--reply .acc-comment__avatar img,
  .acc-comment--reply .acc-avatar-fallback {
    width: 28px;
    height: 28px;
    font-size: 0.75rem;
  }

  .acc-comment__main {
    flex: 1;
    min-width: 0;
  }

  .acc-comment__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 10px;
    align-items: baseline;
    margin-bottom: 6px;
    font-size: var(--acc-font-size-sm);
  }

  .acc-comment__name {
    font-weight: var(--acc-font-weight-semibold);
    color: var(--acc-color-text);
  }

  .acc-comment__time {
    color: var(--acc-color-text-muted);
    font-size: var(--acc-font-size-xs);
  }

  .acc-comment__content {
    font-size: var(--acc-font-size-base);
    line-height: var(--acc-line-height-normal);
    color: var(--acc-color-text);
  }

  .acc-comment__content p {
    margin: 0 0 0.5em;
  }

  .acc-comment__content p:last-child {
    margin-bottom: 0;
  }

  .acc-comment__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 8px;
    align-items: center;
    margin-top: var(--acc-space-2);
  }

  .acc-comment-replies {
    margin-top: var(--acc-space-2);
    padding-left: var(--acc-space-3);
    border-left: 2px solid var(--acc-color-accent-soft);
  }

  .acc-reply-composer {
    margin-top: var(--acc-space-3);
    padding: var(--acc-space-3);
    background: var(--acc-color-bg-soft);
    border-radius: var(--acc-radius-md);
    border: 1px solid var(--acc-color-border);
    animation: acc-fade-in 180ms ease;
  }

  .acc-reply-composer .acc-textarea {
    min-height: 64px;
    margin-bottom: var(--acc-space-2);
  }

  .acc-comments-empty {
    list-style: none;
    padding: var(--acc-space-6) 0;
  }

  .acc-notice {
    padding: var(--acc-space-4);
    background: var(--acc-color-bg-soft);
    border: 1px solid var(--acc-color-border);
    border-radius: var(--acc-radius-md);
    color: var(--acc-color-text-muted);
    font-size: var(--acc-font-size-sm);
    margin-bottom: var(--acc-space-4);
  }

  .acc-notice--soft {
    padding: var(--acc-space-2) var(--acc-space-3);
    margin-top: 0;
    margin-bottom: var(--acc-space-3);
    background: var(--acc-color-bg-soft, #f6f5ff);
    border-style: dashed;
  }

  .acc-notice--auth {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
  }

  .acc-notice--soft[hidden] {
    display: none;
  }

  /* ─── Skeleton feed ──────────────────────────────────────── */

  .acc-skeleton-feed {
    display: flex;
    flex-direction: column;
    gap: var(--acc-space-3);
    margin-bottom: var(--acc-space-4);
  }

  .acc-skeleton-card {
    padding: var(--acc-space-5);
    border: 1px solid var(--acc-color-border);
    border-radius: var(--acc-radius-card);
    background: var(--acc-color-bg-elevated);
  }

  .acc-skeleton--title {
    height: 18px;
    width: 68%;
    margin-bottom: 14px;
  }

  .acc-skeleton--line {
    height: 12px;
    width: 100%;
    margin-bottom: 8px;
  }

  .acc-skeleton--short {
    width: 42%;
  }

  /* ─── Category directory ─────────────────────────────────── */

  .acc-category-grid {
    list-style: none;
    margin: var(--acc-space-5) 0 0;
    padding: 0;
    display: grid;
    gap: var(--acc-space-3);
    grid-template-columns: minmax(0, 1fr);
  }

  @media (min-width: 768px) {
    .acc-category-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

  .acc-category-card {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: var(--acc-space-5);
    border: 1px solid var(--acc-color-border);
    border-radius: var(--acc-radius-card);
    text-decoration: none;
    color: inherit;
    background: var(--acc-color-bg-elevated);
    box-shadow: var(--acc-shadow-card);
    transition:
      border-color var(--acc-transition-fast),
      box-shadow var(--acc-transition-fast),
      transform var(--acc-transition-fast);
    min-height: 100%;
  }
  @media (hover: hover) and (pointer: fine) {
    .acc-category-card:hover {
      border-color: color-mix(in srgb, var(--acc-color-accent) 40%, transparent);
      box-shadow: var(--acc-shadow-card-hover);
      /* Keep name/body primary text; beat .acc-root a:hover accent */
      color: var(--acc-color-text);
      text-decoration: none;
      transform: translateY(-1px);
    }
  }
  @media (hover: hover) and (pointer: fine) {
    /* Higher specificity so category name stays text on hover/focus (not accent) */
    .acc-root a.acc-category-card:hover {
      color: var(--acc-color-text);
      text-decoration: none;
    }
  }
  .acc-root a.acc-category-card:focus-visible {
    color: var(--acc-color-text);
    text-decoration: none;
  }

  .acc-category-card__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--acc-space-2);
  }

  .acc-category-card__name {
    font-weight: var(--acc-font-weight-semibold);
    font-size: var(--acc-font-size-base);
    color: var(--acc-color-text);
  }

  .acc-category-card__chevron {
    color: var(--acc-color-text-subtle);
    flex-shrink: 0;
  }
  @media (hover: hover) and (pointer: fine) {
    .acc-category-card:hover .acc-category-card__chevron {
      color: var(--acc-color-accent);
    }
  }

  .acc-category-card__desc {
    display: block;
    color: var(--acc-color-text-muted);
    font-size: var(--acc-font-size-sm);
    line-height: var(--acc-line-height-normal);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .acc-category-card__count {
    font-size: var(--acc-font-size-xs);
    color: var(--acc-color-text-muted);
    margin-top: auto;
    padding-top: var(--acc-space-2);
  }

  /* ─── Toast ──────────────────────────────────────────────── */

  .acc-toast-root {
    position: fixed;
    top: 24px;
    right: 24px;
    z-index: var(--acc-z-toast);
    display: flex;
    flex-direction: column;
    gap: 12px;
    max-width: min(380px, calc(100dvw - 48px));
    pointer-events: none;
  }

  @media (max-width: 768px) {
    .acc-toast-root {
      top: auto;
      bottom: 24px;
      right: 50%;
      transform: translateX(50%);
      align-items: center;
    }
  }

  .acc-toast {
    padding: 14px 18px;
    border-radius: var(--acc-radius-md);
    background: var(--acc-color-bg-elevated);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    border-left: 4px solid var(--acc-color-accent);
    font-size: var(--acc-font-size-sm);
    font-weight: 500;
    line-height: 1.45;
    color: var(--acc-color-text);
    animation: acc-slide-in 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    pointer-events: auto;
    width: 100%;
    text-align: left;
  }

  @keyframes acc-slide-in {
    from {
      opacity: 0;
      transform: translateY(20px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  .acc-toast--success {
    border-left-color: var(--acc-color-success);
    background: var(--acc-color-success-soft);
  }

  .acc-toast--error {
    border-left-color: var(--acc-color-danger);
    background: var(--acc-color-danger-soft);
  }

  .acc-toast--dismissible {
    display: flex;
    align-items: center;
    gap: 12px;
  }

  .acc-toast__close,
  .acc-toast__close-btn {
    margin-left: auto;
    background: transparent;
    border: none;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: inherit;
    padding: 0;
  }

  .acc-toast.is-leaving {
    opacity: 0;
    transform: translateY(-10px) scale(0.95);
    transition:
      opacity 0.3s ease,
      transform 0.3s ease;
  }

  /* ─── Modal ──────────────────────────────────────────────── */

  .acc-modal[hidden] {
    display: none;
  }

  .acc-modal {
    position: fixed;
    inset: 0;
    z-index: var(--acc-z-modal);
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 16px;
    overflow-y: auto;
    overscroll-behavior: contain;
    opacity: 0;
    visibility: hidden;
    transition:
      opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1),
      visibility 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  }

  .acc-modal.is-open {
    opacity: 1;
    visibility: visible;
  }

  .acc-modal.is-leaving {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }

  .acc-modal__backdrop {
    position: absolute;
    inset: 0;
    background: var(--acc-color-overlay);
  }

  .acc-modal__dialog {
    position: relative;
    background: var(--acc-color-bg-elevated, #ffffff);
    border-radius: var(--acc-radius-lg);
    padding: var(--acc-space-6);
    width: min(440px, 100%);
    box-shadow: var(--acc-shadow-modal);
    z-index: 1;
    margin: auto;
    max-height: min(90vh, 640px);
    overflow-y: auto;
    transform: scale(0.95) translateY(10px);
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    font-family: var(--acc-font-family);
    color: var(--acc-color-text);
  }

  .acc-modal.is-open .acc-modal__dialog {
    transform: scale(1) translateY(0);
  }

  /* Wider modern composer sheet + typography isolation (outside .acc-root) */
  .acc-modal--new-thread,
  .acc-modal.acc-modal--new-thread {
    font-family: var(--acc-font-family);
    color: var(--acc-color-text);
  }

  .acc-modal--new-thread .acc-modal__dialog {
    width: min(560px, 100%);
    max-height: min(92vh, 720px);
    padding: var(--acc-space-5) var(--acc-space-5) var(--acc-space-4);
    font-family: var(--acc-font-family);
    color: var(--acc-color-text);
    /* Restored scrollability by removing overflow: visible */
  }

  .acc-modal--new-thread .acc-modal__body {
    margin-top: 0;
    padding-top: var(--acc-space-2);
    font-family: var(--acc-font-family);
  }

  .acc-modal--new-thread input,
  .acc-modal--new-thread textarea,
  .acc-modal--new-thread select,
  .acc-modal--new-thread button {
    font-family: var(--acc-font-family);
  }

  .acc-modal__dialog h2:not(.acc-visually-hidden) {
    margin: 0 0 var(--acc-space-4);
    font-size: var(--acc-font-size-xl);
    font-weight: var(--acc-font-weight-semibold);
    padding-right: 32px;
    color: var(--acc-color-text);
  }

  .acc-modal__close {
    position: absolute;
    top: 8px;
    right: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border: 0;
    background: transparent;
    border-radius: var(--acc-radius-md);
    cursor: pointer;
    color: var(--acc-color-text-muted);
    transition:
      background var(--acc-transition-fast),
      color var(--acc-transition-fast);
  }
  @media (hover: hover) and (pointer: fine) {
    .acc-modal__close:hover {
      background: var(--acc-color-bg-soft);
      color: var(--acc-color-text);
    }
  }

  .acc-modal__close:focus-visible {
    outline: 2px solid var(--acc-color-accent);
    outline-offset: 2px;
  }

  .acc-radio {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 8px 0;
    font-weight: 400;
    font-size: var(--acc-font-size-sm);
    cursor: pointer;
  }

  /* Mod move select inside dropdown */
  .acc-mod-move {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 8px 12px;
    font-size: var(--acc-font-size-sm);
    color: var(--acc-color-text-muted);
  }

  .acc-mod-move .acc-select {
    font-size: var(--acc-font-size-sm);
    padding: 8px 10px;
  }

  /* Legacy details mod menu fallback */
  .acc-mod-menu {
    margin-left: auto;
  }

  .acc-mod-menu summary {
    cursor: pointer;
    color: var(--acc-color-text-muted);
    font-size: var(--acc-font-size-sm);
    font-weight: 600;
    list-style: none;
  }
  @media (hover: hover) and (pointer: fine) {
    .acc-mod-menu summary:hover {
      color: var(--acc-color-accent);
    }
  }

  .acc-mod-menu summary::-webkit-details-marker {
    display: none;
  }

  .acc-mod-menu__actions {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 4px;
    margin-top: 8px;
    padding: 6px;
    border: 1px solid var(--acc-color-border);
    border-radius: var(--acc-radius-md);
    background: var(--acc-color-bg-elevated);
    box-shadow: var(--acc-shadow-dropdown);
    min-width: 180px;
  }

  /* ─── Auth gate ──────────────────────────────────────────── */

  .acc-auth-gate {
    max-width: 480px;
    margin: var(--acc-space-8) auto;
  }

  .acc-auth-gate .acc-empty {
    padding: var(--acc-space-10) var(--acc-space-6);
  }

  /* ─── Motion ─────────────────────────────────────────────── */

  @keyframes acc-fade-in {
    from {
      opacity: 0;
      transform: translateY(4px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  @media (prefers-reduced-motion: reduce) {
    @keyframes acc-fade-in {
      from {
        opacity: 1;
        transform: none;
      }
      to {
        opacity: 1;
        transform: none;
      }
    }

    .acc-like.is-animating {
      transform: none;
    }

    .acc-toast {
      animation: none;
    }
    @media (hover: hover) and (pointer: fine) {
      .acc-category-card:hover {
        transform: none;
      }
    }
  }

  /* ─── Responsive ─────────────────────────────────────────── */

  @media (max-width: 768px) {
    .acc-root {
      padding: var(--acc-space-4) var(--acc-space-4);
    }

    @media (max-width: 360px) {
      .acc-root {
        padding-left: 12px;
        padding-right: 12px;
      }
    }

    .acc-chrome {
      margin-bottom: var(--acc-space-4);
      padding-bottom: var(--acc-space-3);
    }

    .acc-chrome__title {
      font-size: var(--acc-font-size-xl);
    }

    .acc-chrome__actions .acc-btn {
      min-height: 40px;
    }

    .acc-thread-detail__title {
      font-size: var(--acc-font-size-2xl);
    }

    .acc-gallery {
    }

    .acc-gallery--single {
      max-width: none;
    }

    .acc-gallery--single .acc-gallery__item {
    }

    .acc-action-bar {
      gap: var(--acc-space-2);
    }

    .acc-action-bar__secondary {
      margin-left: 0;
      width: 100%;
      justify-content: flex-start;
    }

    .acc-comment-replies {
      padding-left: var(--acc-space-2);
    }

    .acc-thread-card__body {
      padding: var(--acc-space-4);
    }

    .acc-thread-card__footer {
      flex-direction: column;
      align-items: flex-start;
      padding: var(--acc-space-3) var(--acc-space-4) var(--acc-space-4);
    }
  }

  @media (min-width: 768px) and (max-width: 1023px) {
    .acc-root {
      padding: var(--acc-space-5) var(--acc-space-5);
    }
  }

  @media (min-width: 1024px) {
    .acc-root {
      padding: var(--acc-space-8) var(--acc-space-6);
    }

    .acc-page-landing .acc-feed,
    .acc-page-category .acc-feed,
    .acc-page-landing .acc-skeleton-feed,
    .acc-page-category .acc-skeleton-feed {
      max-width: var(--acc-content-max);
      margin-left: auto;
      margin-right: auto;
    }

    .acc-page-landing .acc-toolbar,
    .acc-page-landing .acc-chrome,
    .acc-page-landing .acc-pinned,
    .acc-page-landing .acc-feed-more,
    .acc-page-category .acc-toolbar,
    .acc-page-category .acc-chrome,
    .acc-page-category .acc-feed-more {
      max-width: var(--acc-content-max);
      margin-left: auto;
      margin-right: auto;
    }
  }

  /* Page actions (legacy category CTA cleanup) */
  .acc-page-actions {
    margin: 0 0 var(--acc-space-4);
  }

  /* Shell leftovers for any status pages */
  .acc-shell__header {
    margin-bottom: var(--acc-spacing-lg);
  }

  .acc-shell__title {
    margin: 0 0 var(--acc-spacing-sm);
    font-size: var(--acc-font-size-2xl);
    font-weight: var(--acc-font-weight-semibold);
    letter-spacing: -0.02em;
    color: var(--acc-color-text);
  }

  .acc-shell__subtitle {
    margin: 0;
    color: var(--acc-color-text-muted);
  }

  .acc-shell__section-title {
    margin: 0 0 var(--acc-spacing-md);
    font-size: var(--acc-font-size-sm);
    font-weight: var(--acc-font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--acc-color-text-muted);
  }

  /* Theme main wrapper — root already pads; keep main minimal */
  .acc-main {
    padding: 0;
    width: 100%;
    max-width: 100%;
  }

  /* ─── UX Composer Revamp ──────────────────────────────────── */

  .acc-composer__dummy-trigger {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    background: var(--acc-color-bg-soft);
    border: 1px solid var(--acc-color-border);
    border-radius: var(--acc-radius-xl);
    cursor: pointer;
    transition:
      background var(--acc-transition-fast),
      border-color var(--acc-transition-fast);
  }
  @media (hover: hover) and (pointer: fine) {
    .acc-composer__dummy-trigger:hover {
      background: var(--acc-color-bg-elevated);
      border-color: var(--acc-color-border-dark);
    }
  }

  .acc-composer__avatar-placeholder {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--acc-color-border);
    flex-shrink: 0;
  }

  .acc-composer__dummy-text {
    flex-grow: 1;
    color: var(--acc-color-text-muted);
    font-size: var(--acc-font-size-md);
  }

  .acc-composer__dummy-icon {
    color: var(--acc-color-text-muted);
  }

  /* Reply Context Banner */
  .acc-composer__reply-context {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 16px;
    background: var(--acc-color-bg-soft);
    border-bottom: 1px solid var(--acc-color-border);
    font-size: var(--acc-font-size-sm);
    color: var(--acc-color-text-muted);
    border-top-left-radius: var(--acc-radius-xl);
    border-top-right-radius: var(--acc-radius-xl);
    margin: -12px -16px 12px -16px;
    transition:
      max-height 0.3s ease,
      opacity 0.3s ease,
      padding 0.3s ease,
      margin 0.3s ease;
    max-height: 100px;
    opacity: 1;
    overflow: hidden;
  }

  .acc-composer__reply-context[hidden] {
    display: flex;
    max-height: 0;
    opacity: 0;
    padding-top: 0;
    padding-bottom: 0;
    margin-top: 0;
    margin-bottom: 0;
    border-bottom-width: 0;
    pointer-events: none;
  }

  .acc-composer__reply-info {
    display: flex;
    align-items: center;
    gap: 8px;
  }

  .acc-composer__reply-info strong {
    color: var(--acc-color-text);
    font-weight: 600;
  }

  .acc-composer__reply-cancel {
    background: transparent;
    border: none;
    color: var(--acc-color-text-muted);
    cursor: pointer;
    line-height: 1;
    font-size: 1rem;
    border-radius: 4px;
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  @media (hover: hover) and (pointer: fine) {
    .acc-composer__reply-cancel:hover {
      background: var(--acc-color-border);
      color: var(--acc-color-text);
    }
  }

  .acc-composer--reply .acc-composer__form {
    border-radius: var(--acc-radius-xl);
    overflow: visible;
  }

  /* ==========================================================================
   Member Profile
   ========================================================================== */

  .acc-profile-container {
    max-width: 800px;
    margin: 2rem auto;
    padding: 0 1.5rem;
  }
  .acc-profile-header {
    position: relative;
    background: linear-gradient(
      135deg,
      var(--acc-color-accent) 0%,
      var(--acc-color-accent-hover) 100%
    );
    height: 140px;
  }
  .acc-profile-body {
    padding: 2rem;
    position: relative;
  }
  .acc-profile-avatar-wrapper {
    position: absolute;
    top: -75px;
    left: 2rem;
    border: 4px solid var(--acc-color-bg-elevated, #fff);
    border-radius: 50%;
    overflow: hidden;
    background: var(--acc-color-bg-base, #f3f4f6);
  }
  .acc-profile-identity {
    margin-top: 4.5rem;
    margin-bottom: 2rem;
  }
  .acc-profile-name {
    font-size: 1.75rem;
    font-weight: 700;
    margin: 0 0 0.5rem 0;
    color: var(--acc-color-text-primary);
  }
  .acc-profile-profession {
    display: inline-flex;
    align-items: center;
    padding: 0.25rem 0.75rem;
    background-color: var(--acc-color-accent-soft);
    color: var(--acc-color-accent);
    font-size: 0.875rem;
    font-weight: 600;
    border-radius: 9999px;
    margin-bottom: 0.75rem;
  }
  .acc-profile-location {
    display: flex;
    align-items: center;
    color: var(--acc-color-text-muted);
    font-size: 0.925rem;
    gap: 0.35rem;
  }
  .acc-profile-section {
    border-top: 1px solid var(--acc-color-border);
    padding: 2rem 0;
  }
  .acc-profile-section-title {
    font-size: 1.15rem;
    font-weight: 600;
    margin: 0 0 1.25rem 0;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--acc-color-text-primary);
  }
  .acc-gear-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
    gap: 1rem;
  }
  .acc-gear-grid > * {
    min-width: 0;
  }
  .acc-gear-label {
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--acc-color-text-muted);
    margin-bottom: 0.35rem;
  }
  .acc-gear-val {
    font-size: 0.95rem;
    font-weight: 500;
    color: var(--acc-color-text-primary);
    overflow-wrap: anywhere;
    word-break: break-word;
  }
  .acc-social-list {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
  }
  .acc-social-link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    border: 1px solid var(--acc-color-border);
    border-radius: 8px;
    color: var(--acc-color-text-primary);
    text-decoration: none;
    font-size: 0.95rem;
    font-weight: 500;
  }
  @media (hover: hover) and (pointer: fine) {
    .acc-social-link:hover {
      background-color: var(--acc-color-bg-soft);
      border-color: var(--acc-color-text-muted);
    }
  }
  .acc-social-link:focus-visible {
    outline: 2px solid var(--acc-color-accent);
    outline-offset: 2px;
  }
  .acc-contact-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
    gap: 1rem;
  }
  .acc-contact-field {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem;
    background: var(--acc-color-bg-soft);
    border: 1px solid var(--acc-color-border);
    border-radius: 10px;
  }
  .acc-contact-meta {
    display: flex;
    flex-direction: column;
  }
  .acc-contact-title {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--acc-color-text-primary);
  }
  .acc-contact-desc {
    font-size: 0.775rem;
    color: var(--acc-color-text-muted);
  }
  .acc-contact-value {
    font-size: 1rem;
    font-weight: 600;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    color: var(--acc-color-text-primary);
    min-width: 0;
    word-break: break-all;
  }

  @media (max-width: 768px) {
    .acc-profile-container {
      margin: 1rem auto;
      padding: 0 1rem;
    }
    .acc-profile-body {
      padding: 1.5rem;
      display: flex;
      flex-direction: column;
      align-items: center;
      text-align: center;
    }
    .acc-profile-avatar-wrapper {
      position: relative;
      top: 0;
      left: 0;
      margin-top: -75px;
      margin-bottom: 1rem;
    }
    .acc-profile-identity {
      margin-top: 0;
      display: flex;
      flex-direction: column;
      align-items: center;
    }
    .acc-profile-section {
      width: 100%;
      text-align: left;
    }
    .acc-contact-field {
      flex-direction: column;
      align-items: flex-start;
      gap: 0.75rem;
    }
  }

  @media (max-width: 480px) {
    .acc-profile-container {
      margin: 0.5rem auto;
      padding: 0 4px;
    }
    .acc-profile-body {
      padding: 1rem 0.75rem;
    }
  }


@media (forced-colors: active) {
  .acc-input:focus,
  .acc-textarea:focus,
  .acc-select:focus {
    outline: 2px solid CanvasText;
    outline-offset: 2px;
  }
}

.acc-stat:active {
	transform: scale(0.95);
}

/* A11y & States Fixes */
.acc-thread-card__meta a,
.acc-thread-card__author a,
.acc-stat,
.acc-pill,
.acc-badge {
    position: relative;
    z-index: 2;
}

/* Disabled state */
.acc-select:disabled,
.acc-input:disabled,
.acc-textarea:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    background: var(--acc-color-bg-soft);
}

/* Success state */
.acc-input[aria-invalid="false"],
.acc-textarea[aria-invalid="false"],
.acc-select[aria-invalid="false"] {
    border-color: var(--acc-color-success);
}

.acc-input[aria-invalid="false"]:focus,
.acc-textarea[aria-invalid="false"]:focus,
.acc-select[aria-invalid="false"]:focus {
    box-shadow: 0 0 0 3px var(--acc-color-success-soft);
}

@media (max-width: 768px) {
  .acc-stat, .acc-stat--action {
    padding: 8px 10px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 2;
  }
}

[data-acc-feed-list].is-loading {
  opacity: 0.5;
  pointer-events: none;
  transition: opacity 0.2s ease;
}

/* ─── Harmonized Thread Cards & Category Items ─────────────────── */
.acc-thread-card {
  border-radius: var(--acc-radius-lg, 16px);
  background: var(--acc-color-bg-elevated, #ffffff);
  border: 1px solid color-mix(in srgb, var(--acc-color-border, #e2e8f0) 85%, transparent);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04), 0 2px 8px rgba(0, 0, 0, 0.03);
  transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.2s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.2s ease;
}

@media (hover: hover) and (pointer: fine) {
  .acc-thread-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
    border-color: color-mix(in srgb, var(--acc-color-accent, #6d5efc) 35%, var(--acc-color-border, #e2e8f0));
  }
}

/* ─── Skeleton Shimmer Feed Cards ─── */
.acc-skeleton-card {
  padding: var(--acc-space-4);
  border-radius: var(--acc-radius-lg, 16px);
  background: var(--acc-color-bg-elevated, #ffffff);
  border: 1px solid var(--acc-color-border, #e2e8f0);
  margin-bottom: var(--acc-space-3);
}

.acc-skeleton-card__header {
  display: flex;
  align-items: center;
  gap: var(--acc-space-3);
  margin-bottom: var(--acc-space-3);
}

.acc-skeleton-card__avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--acc-color-bg-soft, #e2e8f0);
  flex-shrink: 0;
}

.acc-skeleton-card__meta {
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex: 1;
}

.acc-skeleton-card__author {
  height: 14px;
  width: 35%;
  border-radius: 4px;
  background: linear-gradient(90deg, #f1f5f9 25%, #ffffff 50%, #f1f5f9 75%);
  background-size: 200% 100%;
  animation: acc-shimmer-card 1.6s infinite ease-in-out;
}

.acc-skeleton-card__date {
  height: 10px;
  width: 20%;
  border-radius: 4px;
  background: #f1f5f9;
}

.acc-skeleton-card__title {
  height: 18px;
  width: 75%;
  border-radius: 4px;
  margin-bottom: 10px;
  background: linear-gradient(90deg, #f1f5f9 25%, #ffffff 50%, #f1f5f9 75%);
  background-size: 200% 100%;
  animation: acc-shimmer-card 1.6s infinite ease-in-out;
}

.acc-skeleton-card__text {
  height: 12px;
  width: 100%;
  border-radius: 4px;
  margin-bottom: 6px;
  background: #f1f5f9;
}

.acc-skeleton-card__text--short {
  width: 50%;
}

@keyframes acc-shimmer-card {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

/* ─── Comment Parent Flash Glow ─── */
.acc-comment--parent-flash {
  animation: acc-comment-flash 1.8s ease-out;
}

@keyframes acc-comment-flash {
  0% {
    box-shadow: 0 0 0 3px var(--acc-color-accent, #6d5efc), 0 0 20px color-mix(in srgb, var(--acc-color-accent, #6d5efc) 45%, transparent);
    transform: scale(1.01);
  }
  50% {
    box-shadow: 0 0 0 3px var(--acc-color-accent, #6d5efc), 0 0 10px color-mix(in srgb, var(--acc-color-accent, #6d5efc) 25%, transparent);
  }
  100% {
    box-shadow: none;
    transform: scale(1);
  }
}

/* ─── Desktop Floating Context Action Bar on Comments ─── */
.acc-comment {
  position: relative;
}

.acc-comment__floating-bar {
  display: none;
}

@media (hover: hover) and (pointer: fine) {
  .acc-comment__floating-bar {
    position: absolute;
    top: -12px;
    right: 16px;
    display: inline-flex;
    align-items: center;
    gap: 2px;
    padding: 3px 6px;
    background: var(--acc-color-bg-elevated, #ffffff);
    border: 1px solid var(--acc-color-border, rgba(0, 0, 0, 0.12));
    border-radius: var(--acc-radius-pill, 9999px);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
    opacity: 0;
    pointer-events: none;
    transform: translateY(4px);
    transition: opacity 0.18s ease, transform 0.18s ease;
    z-index: 20;
  }

  .acc-comment:hover .acc-comment__floating-bar,
  .acc-comment:focus-within .acc-comment__floating-bar {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
  }

  .acc-comment__floating-btn {
    appearance: none;
    border: 0;
    background: transparent;
    padding: 4px 10px;
    font-size: 12px;
    font-weight: var(--acc-font-weight-semibold, 600);
    line-height: 1;
    cursor: pointer;
    border-radius: var(--acc-radius-pill, 9999px);
    color: var(--acc-color-text-muted, #64748b);
    transition: background-color 0.12s ease, transform 0.12s ease;
  }

  .acc-comment__floating-btn:hover {
    background: var(--acc-color-bg-soft, #f1f5f9);
    color: var(--acc-color-text, #0f172a);
    transform: scale(1.1);
  }

  .acc-comment__floating-btn--danger:hover {
    background: color-mix(in srgb, var(--acc-color-danger, #b91c1c) 12%, #fff);
    color: var(--acc-color-danger, #b91c1c);
  }
}

/* ─── Like Button Micro-interaction ─── */
.acc-like-btn--pop {
  animation: acc-pop-scale 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

@keyframes acc-pop-scale {
  0% { transform: scale(1); }
  50% { transform: scale(1.25); }
  100% { transform: scale(1); }
}

/* ─── Reduced Motion Accessibility Fallback ─── */
@media (prefers-reduced-motion: reduce) {
  .acc-thread-card,
  .acc-skeleton-card__author,
  .acc-skeleton-card__title,
  .acc-comment--parent-flash,
  .acc-like-btn--pop {
    animation: none !important;
    transition: none !important;
  }
}

