/* Fuse Intelligence Community Forum — premium board UI */
.forum-page {
    --forum-gold: #e8c36a;
    --forum-gold-hot: #fff1b0;
    --forum-accent: var(--accent, #5ba3f5);
    --forum-accent-dim: rgba(91, 163, 245, 0.14);
    --forum-accent-glow: rgba(91, 163, 245, 0.35);
    --forum-gold-glow: rgba(232, 195, 106, 0.28);
    --forum-panel: rgba(12, 16, 24, 0.72);
    --forum-panel-2: rgba(8, 11, 18, 0.55);
    --forum-stroke: rgba(255, 255, 255, 0.08);
    --forum-stroke-accent: rgba(91, 163, 245, 0.28);
    --forum-radius: 1.15rem;
    --forum-radius-sm: 0.75rem;
    padding-bottom: 3rem;
}

[data-theme="light"] .forum-page {
    --forum-gold: #8a6620;
    --forum-gold-hot: #6b4d12;
    --forum-gold-glow: rgba(138, 102, 32, 0.22);
    --forum-text: #1a2230;
    --forum-panel: rgba(255, 255, 255, 0.82);
    --forum-panel-2: rgba(248, 250, 252, 0.92);
    --forum-stroke: rgba(26, 34, 48, 0.1);
    --forum-stroke-accent: rgba(74, 144, 226, 0.22);
}

/* ── Hero & stats strip ── */
.forum-hero {
    position: relative;
    margin-bottom: 2rem;
    padding: 1.75rem 1.85rem 1.65rem;
    border-radius: calc(var(--forum-radius) + 0.15rem);
    border: 1px solid var(--forum-stroke-accent);
    background:
        radial-gradient(ellipse 90% 120% at 0% 0%, rgba(91, 163, 245, 0.14), transparent 55%),
        radial-gradient(ellipse 60% 80% at 100% 0%, rgba(232, 195, 106, 0.1), transparent 50%),
        var(--forum-panel);
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.05);
    overflow: hidden;
}
.forum-hero::after {
    content: '';
    position: absolute;
    inset: auto -20% -60% auto;
    width: 45%;
    height: 120%;
    background: radial-gradient(circle, rgba(91, 163, 245, 0.12), transparent 68%);
    pointer-events: none;
}
.forum-hero--compact {
    padding: 1.35rem 1.5rem;
    margin-bottom: 1.25rem;
}
.forum-hero__eyebrow {
    font-size: 0.68rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--forum-accent);
    margin-bottom: 0.45rem;
}
.forum-hero__title {
    font-family: Inter, system-ui, sans-serif;
    font-size: clamp(1.65rem, 4vw, 2.35rem);
    font-weight: 700;
    line-height: 1.15;
    margin: 0 0 0.5rem;
}
.forum-hero__lead {
    margin: 0;
    max-width: 36rem;
    opacity: 0.72;
    line-height: 1.55;
    font-size: 0.95rem;
}
.forum-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    align-items: center;
}
.forum-stat-strip {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.65rem;
    margin-bottom: 2rem;
}
@media (min-width: 640px) {
    .forum-stat-strip { grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 32rem; }
}
.forum-stat-chip {
    padding: 0.85rem 1rem;
    border-radius: var(--forum-radius-sm);
    border: 1px solid var(--forum-stroke);
    background: var(--forum-panel-2);
    text-align: center;
    backdrop-filter: blur(12px);
}
.forum-stat-chip strong {
    display: block;
    font-size: 1.35rem;
    font-weight: 700;
    color: var(--forum-accent);
    line-height: 1.1;
}
.forum-stat-chip span {
    display: block;
    font-size: 0.68rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    opacity: 0.55;
    margin-top: 0.2rem;
}

/* ── Breadcrumb ── */
.forum-crumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.5rem;
    font-size: 0.78rem;
    margin-bottom: 1rem;
    padding: 0.45rem 0.75rem;
    border-radius: 999px;
    width: fit-content;
    max-width: 100%;
    background: var(--forum-panel-2);
    border: 1px solid var(--forum-stroke);
}
.forum-crumb a {
    color: var(--forum-accent);
    text-decoration: none;
    transition: opacity 0.15s;
}
.forum-crumb a:hover { opacity: 0.85; }
.forum-crumb__sep { opacity: 0.35; user-select: none; }
.forum-crumb__here {
    opacity: 0.88;
    font-weight: 600;
    max-width: 18rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* ── Trending ── */
.forum-trending {
    position: relative;
    margin-bottom: 2.5rem;
    padding: 1.5rem 1.5rem 1.65rem;
    border-radius: var(--forum-radius);
    border: 1px solid var(--forum-stroke-accent);
    background:
        radial-gradient(ellipse 70% 80% at 10% 0%, rgba(91, 163, 245, 0.16), transparent 55%),
        radial-gradient(ellipse 50% 70% at 100% 20%, rgba(232, 195, 106, 0.1), transparent 50%),
        var(--forum-panel);
    box-shadow: 0 0 48px rgba(91, 163, 245, 0.07), inset 0 1px 0 rgba(255, 255, 255, 0.04);
    overflow: hidden;
}
.forum-trending::before {
    content: '';
    position: absolute;
    inset: -40% auto auto -10%;
    width: 50%;
    height: 80%;
    background: radial-gradient(circle, rgba(91, 163, 245, 0.18), transparent 70%);
    pointer-events: none;
    animation: forum-pulse 6s ease-in-out infinite;
}
.forum-trending__head {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.5rem 1rem;
    margin-bottom: 1.15rem;
}
.forum-trending__head h2 {
    font-family: Inter, system-ui, sans-serif;
    font-size: 1.15rem;
    color: var(--forum-accent);
    margin: 0;
}
.forum-trending__head p {
    margin: 0;
    font-size: 0.78rem;
    opacity: 0.52;
}
.forum-trend-slider__updated {
    margin: 0;
    font-size: 0.68rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--forum-accent);
    opacity: 0.72;
}
.forum-trend-slider__viewport {
    position: relative;
}
.forum-trend-slider__window {
    overflow: hidden;
    border-radius: var(--forum-radius-sm);
    border: 1px solid var(--forum-stroke);
    background: rgba(0, 0, 0, 0.22);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
}
[data-theme="light"] .forum-trend-slider__window {
    background: rgba(255, 255, 255, 0.45);
}
.forum-trend-slider__track {
    display: flex;
    transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
    will-change: transform;
}
.forum-trend-slide {
    flex: 0 0 100%;
    min-width: 100%;
    padding: 1.35rem 1.4rem 1.5rem;
    position: relative;
    overflow: hidden;
}
.forum-trend-slide::before {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: 0.9;
}
.forum-trend-slide--gold::before {
    background:
        radial-gradient(ellipse 80% 70% at 0% 0%, rgba(232, 195, 106, 0.18), transparent 55%),
        radial-gradient(ellipse 60% 80% at 100% 100%, rgba(245, 215, 110, 0.08), transparent 50%);
}
.forum-trend-slide--blue::before {
    background:
        radial-gradient(ellipse 80% 70% at 0% 0%, rgba(91, 163, 245, 0.2), transparent 55%),
        radial-gradient(ellipse 60% 80% at 100% 100%, rgba(96, 165, 250, 0.08), transparent 50%);
}
.forum-trend-slide--violet::before {
    background:
        radial-gradient(ellipse 80% 70% at 0% 0%, rgba(192, 132, 252, 0.18), transparent 55%),
        radial-gradient(ellipse 60% 80% at 100% 100%, rgba(129, 140, 248, 0.08), transparent 50%);
}
.forum-trend-slide--cyan::before {
    background:
        radial-gradient(ellipse 80% 70% at 0% 0%, rgba(34, 211, 238, 0.16), transparent 55%),
        radial-gradient(ellipse 60% 80% at 100% 100%, rgba(56, 189, 248, 0.08), transparent 50%);
}
.forum-trend-slide__head,
.forum-trend-slide__list,
.forum-trend-slide__empty {
    position: relative;
    z-index: 1;
}
.forum-trend-slide__eyebrow {
    margin: 0 0 0.35rem;
    font-size: 0.62rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--forum-accent);
    opacity: 0.85;
}
.forum-trend-slide__title {
    margin: 0;
    font-family: Inter, system-ui, sans-serif;
    font-size: clamp(1.15rem, 2.4vw, 1.45rem);
    line-height: 1.15;
    color: var(--forum-text, #eef2f8);
}
.forum-trend-slide__subtitle {
    margin: 0.45rem 0 0;
    font-size: 0.82rem;
    opacity: 0.58;
    max-width: 38rem;
}
.forum-trend-slide__empty {
    margin: 1.1rem 0 0;
    padding: 1rem 1.05rem;
    border-radius: 0.85rem;
    border: 1px dashed var(--forum-stroke);
    font-size: 0.88rem;
    opacity: 0.72;
}
.forum-trend-slide__list {
    list-style: none;
    margin: 1.15rem 0 0;
    padding: 0;
    display: grid;
    gap: 0.65rem;
}
@media (min-width: 760px) {
    .forum-trend-slide__list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.75rem 1rem;
    }
}
.forum-trend-slide__list li {
    display: flex;
    gap: 0.7rem;
    align-items: flex-start;
    padding: 0.75rem 0.85rem;
    border-radius: 0.85rem;
    border: 1px solid rgba(255, 255, 255, 0.06);
    background: rgba(0, 0, 0, 0.18);
    transition: border-color 0.2s ease, transform 0.2s ease, background 0.2s ease;
}
[data-theme="light"] .forum-trend-slide__list li {
    background: rgba(255, 255, 255, 0.55);
}
.forum-trend-slide__list li:hover {
    border-color: var(--forum-stroke-accent);
    transform: translateY(-1px);
    background: rgba(0, 0, 0, 0.26);
}
.forum-trend-slide__rank {
    flex: 0 0 1.5rem;
    height: 1.5rem;
    border-radius: 0.45rem;
    display: grid;
    place-items: center;
    font-size: 0.72rem;
    font-weight: 700;
    color: var(--forum-gold);
    background: rgba(232, 195, 106, 0.12);
    border: 1px solid rgba(232, 195, 106, 0.25);
}
.forum-trend-slide__body {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.28rem;
}
.forum-trend-slide__author {
    display: block;
    margin-bottom: 0.1rem;
}
.forum-trend-slide__body a {
    display: block;
    color: inherit;
    text-decoration: none;
}
.forum-trend-slide__item-title {
    display: block;
    font-weight: 600;
    line-height: 1.35;
    font-size: 0.92rem;
}
.forum-trend-slide__body a:hover .forum-trend-slide__item-title {
    color: var(--forum-accent);
}
.forum-trend-slide__meta {
    display: block;
    font-size: 0.72rem;
    opacity: 0.56;
    margin-top: 0.18rem;
}
.forum-trend-slider__footer {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    margin-top: 0.95rem;
}
.forum-trend-slider__dots {
    display: flex;
    align-items: center;
    gap: 0.45rem;
}
.forum-trend-slider__dot {
    width: 0.55rem;
    height: 0.55rem;
    border-radius: 999px;
    border: 0;
    padding: 0;
    background: rgba(255, 255, 255, 0.18);
    cursor: pointer;
    transition: transform 0.2s ease, background 0.2s ease, width 0.2s ease;
}
.forum-trend-slider__dot.is-active {
    width: 1.35rem;
    background: linear-gradient(90deg, var(--forum-accent), var(--forum-gold));
}
.forum-trend-slider__progress {
    flex: 1;
    height: 3px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    overflow: hidden;
}
.forum-trend-slider__progress-bar {
    display: block;
    width: 0%;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--forum-accent), var(--forum-gold));
}
.forum-trend-slider.is-paused .forum-trend-slider__progress-bar {
    animation-play-state: paused !important;
}
.forum-trend-slider.is-playing .forum-trend-slider__progress-bar {
    animation: forum-trend-progress 5s linear forwards;
}
@keyframes forum-trend-progress {
    from { width: 0%; }
    to { width: 100%; }
}

/* Legacy trend cards (saved pages / older markup) */
.forum-trending__grid {
    position: relative;
    display: grid;
    gap: 0.85rem;
    grid-template-columns: 1fr;
}
@media (min-width: 900px) {
    .forum-trending__grid { grid-template-columns: 1.2fr 1fr 0.9fr; }
}
.forum-trend-card {
    padding: 1rem 1.05rem;
    border-radius: var(--forum-radius-sm);
    background: rgba(0, 0, 0, 0.22);
    border: 1px solid var(--forum-stroke);
    transition: border-color 0.2s, transform 0.2s;
}
[data-theme="light"] .forum-trend-card {
    background: rgba(255, 255, 255, 0.5);
}
.forum-trend-card:hover { border-color: var(--forum-stroke-accent); }
.forum-trend-card h3 {
    font-family: Inter, system-ui, sans-serif;
    font-size: 0.68rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--forum-accent);
    margin: 0 0 0.75rem;
}
.forum-trend-card ul { list-style: none; margin: 0; padding: 0; }
.forum-trend-card li {
    display: flex;
    gap: 0.65rem;
    align-items: flex-start;
}
.forum-trend-card li + li {
    margin-top: 0.7rem;
    padding-top: 0.7rem;
    border-top: 1px solid var(--forum-stroke);
}
.forum-trend-card__rank {
    flex: 0 0 1.35rem;
    height: 1.35rem;
    border-radius: 0.4rem;
    display: grid;
    place-items: center;
    font-size: 0.68rem;
    font-weight: 700;
    color: var(--forum-gold);
    background: rgba(232, 195, 106, 0.12);
    border: 1px solid rgba(232, 195, 106, 0.25);
}
.forum-trend-card a {
    display: block;
    flex: 1;
    min-width: 0;
    color: inherit;
    text-decoration: none;
}
.forum-trend-card__title {
    display: block;
    font-weight: 600;
    line-height: 1.35;
    font-size: 0.92rem;
}
.forum-trend-card a:hover .forum-trend-card__title { color: var(--forum-accent); }
.forum-trend-card__meta {
    display: block;
    font-size: 0.72rem;
    opacity: 0.52;
    margin-top: 0.25rem;
}
.forum-trend-user {
    align-items: flex-start !important;
}
.forum-trend-user > div {
    flex: 1;
    min-width: 0;
}
.forum-trend-user .forum-uname { display: inline-flex; }

/* ── Category board ── */
.forum-board { display: grid; gap: 1.35rem; }
.forum-category {
    border-radius: var(--forum-radius);
    border: 1px solid var(--forum-stroke);
    background: var(--forum-panel);
    overflow: hidden;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.18);
}
.forum-category__head {
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
    width: 100%;
    margin: 0;
    padding: 1.1rem 1.25rem 0.95rem;
    border: 0;
    border-bottom: 1px solid var(--forum-stroke);
    background:
        linear-gradient(90deg, rgba(91, 163, 245, 0.08), transparent 40%),
        rgba(0, 0, 0, 0.12);
    color: inherit;
    font: inherit;
    text-align: left;
    cursor: pointer;
    transition: background 0.18s ease;
}
.forum-category__head:hover {
    background:
        linear-gradient(90deg, rgba(91, 163, 245, 0.14), transparent 45%),
        rgba(0, 0, 0, 0.18);
}
.forum-category__head:focus-visible {
    outline: 2px solid rgba(91, 163, 245, 0.75);
    outline-offset: -2px;
}
.forum-category:not(.is-open) .forum-category__head {
    border-bottom-color: transparent;
}
[data-theme="light"] .forum-category__head { background: rgba(74, 144, 226, 0.05); }
[data-theme="light"] .forum-category__head:hover { background: rgba(74, 144, 226, 0.1); }
.forum-category__icon {
    flex: 0 0 2.5rem;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 0.75rem;
    display: grid;
    place-items: center;
    font-size: 1.1rem;
    color: var(--forum-gold);
    background: rgba(232, 195, 106, 0.1);
    border: 1px solid rgba(232, 195, 106, 0.28);
    box-shadow: 0 0 20px rgba(232, 195, 106, 0.08);
}
.forum-category__copy {
    flex: 1 1 auto;
    min-width: 0;
}
.forum-category__head h2 {
    font-family: Inter, system-ui, sans-serif;
    font-size: 1.12rem;
    font-weight: 700;
    color: var(--forum-accent);
    margin: 0 0 0.15rem;
}
.forum-category__head p {
    margin: 0;
    font-size: 0.84rem;
    opacity: 0.58;
    line-height: 1.45;
}
.forum-category__chevron {
    flex: 0 0 1.5rem;
    width: 1.5rem;
    height: 1.5rem;
    margin-top: 0.35rem;
    margin-left: auto;
    border-radius: 999px;
    position: relative;
    background: rgba(91, 163, 245, 0.1);
    border: 1px solid rgba(91, 163, 245, 0.28);
    transition: transform 0.25s ease, background 0.18s ease;
}
.forum-category__chevron::before {
    content: '';
    position: absolute;
    inset: 0;
    margin: auto;
    width: 0.45rem;
    height: 0.45rem;
    border-right: 2px solid var(--forum-accent);
    border-bottom: 2px solid var(--forum-accent);
    transform: translateY(-15%) rotate(45deg);
}
.forum-category:not(.is-open) .forum-category__chevron {
    transform: rotate(-90deg);
}
.forum-category__panel {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.28s ease;
}
.forum-category.is-open .forum-category__panel {
    grid-template-rows: 1fr;
}
.forum-category__panel-inner {
    overflow: hidden;
    min-height: 0;
}
.forum-subforums { display: grid; }
@media (prefers-reduced-motion: reduce) {
    .forum-category__panel,
    .forum-category__chevron {
        transition: none;
    }
}
.forum-subforum {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 0.75rem 1.25rem;
    align-items: center;
    padding: 1rem 1.25rem;
    color: inherit;
    text-decoration: none;
    border-top: 1px solid var(--forum-stroke);
    transition: background 0.18s, padding-left 0.18s;
}
.forum-subforum:first-child { border-top: 0; }
.forum-subforum:hover {
    background: rgba(91, 163, 245, 0.06);
    padding-left: 1.45rem;
    color: inherit;
}
.forum-subforum__main {
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
    min-width: 0;
}
.forum-subforum__icon {
    flex: 0 0 2.15rem;
    width: 2.15rem;
    height: 2.15rem;
    border-radius: 0.65rem;
    display: grid;
    place-items: center;
    font-size: 0.95rem;
    background: var(--forum-panel-2);
    border: 1px solid var(--forum-stroke);
}
.forum-subforum h3 {
    font-size: 1rem;
    font-weight: 600;
    margin: 0 0 0.25rem;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.4rem;
}
.forum-subforum p {
    margin: 0;
    font-size: 0.82rem;
    opacity: 0.58;
    line-height: 1.45;
}
.forum-subforum__stats {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.35rem;
}
.forum-subforum__stat {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.72rem;
    padding: 0.25rem 0.55rem;
    border-radius: 999px;
    background: var(--forum-panel-2);
    border: 1px solid var(--forum-stroke);
    white-space: nowrap;
}
.forum-subforum__stat strong {
    color: var(--forum-accent);
    font-weight: 700;
}

/* ── Thread list (forum view) ── */
.forum-board-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.85rem;
}
.forum-board-toolbar__meta {
    font-size: 0.78rem;
    opacity: 0.55;
}
.forum-thread-table {
    border-radius: var(--forum-radius);
    border: 1px solid var(--forum-stroke);
    background: var(--forum-panel);
    overflow: hidden;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.16);
}
.forum-thread-table__head {
    display: none;
    grid-template-columns: minmax(0, 1fr) 5.5rem 5.5rem 9rem;
    gap: 0.75rem;
    padding: 0.65rem 1.15rem;
    font-size: 0.65rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    opacity: 0.45;
    border-bottom: 1px solid var(--forum-stroke);
    background: rgba(0, 0, 0, 0.15);
}
@media (min-width: 768px) {
    .forum-thread-table__head { display: grid; }
}
.forum-thread-list { display: grid; }
.forum-thread-row {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.65rem;
    padding: 1rem 1.15rem;
    border-top: 1px solid var(--forum-stroke);
    transition: background 0.15s;
}
.forum-thread-row:first-child { border-top: 0; }
.forum-thread-row:hover { background: rgba(91, 163, 245, 0.04); }
.forum-thread-row.is-pinned {
    background: linear-gradient(90deg, rgba(232, 195, 106, 0.07), transparent 55%);
    border-left: 3px solid rgba(232, 195, 106, 0.55);
}
@media (min-width: 768px) {
    .forum-thread-row {
        grid-template-columns: minmax(0, 1fr) 5.5rem 5.5rem 9rem;
        align-items: center;
        gap: 0.75rem;
    }
}
.forum-thread-row__topic {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    min-width: 0;
}
.forum-thread-row__main { min-width: 0; flex: 1; }
.forum-thread-row__main h2 {
    font-size: 1rem;
    font-weight: 600;
    margin: 0 0 0.35rem;
    line-height: 1.35;
}
.forum-thread-row__main h2 a {
    color: inherit;
    text-decoration: none;
}
.forum-thread-row__main h2 a:hover { color: var(--forum-accent); }
.forum-thread-row__byline {
    margin: 0;
    font-size: 0.76rem;
    opacity: 0.58;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.5rem;
}
.forum-thread-row__last {
    font-size: 0.72rem;
    opacity: 0.48;
}
.forum-thread-row__stat {
    font-size: 0.82rem;
    text-align: left;
}
@media (min-width: 768px) {
    .forum-thread-row__stat { text-align: center; }
}
.forum-thread-row__stat strong {
    display: block;
    font-size: 1rem;
    color: var(--forum-accent);
    font-weight: 700;
}
.forum-thread-row__stat span {
    display: block;
    font-size: 0.65rem;
    opacity: 0.45;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}
.forum-thread-row__activity {
    font-size: 0.76rem;
    opacity: 0.58;
    line-height: 1.35;
}
@media (min-width: 768px) {
    .forum-thread-row__activity { text-align: right; }
}
.forum-thread-row__activity strong {
    display: block;
    color: inherit;
    font-weight: 600;
    opacity: 0.85;
}

/* ── Pills ── */
.forum-pill {
    display: inline-flex;
    align-items: center;
    font-size: 0.6rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 0.18rem 0.5rem;
    border-radius: 999px;
    background: rgba(91, 163, 245, 0.16);
    color: var(--forum-accent);
    vertical-align: middle;
}
.forum-pill--mute { background: rgba(255, 255, 255, 0.07); color: inherit; opacity: 0.7; }
.forum-pill--warn { background: rgba(248, 113, 113, 0.15); color: #fca5a5; }
.forum-pill--gold {
    background: rgba(232, 195, 106, 0.14);
    color: var(--forum-gold);
    border: 1px solid rgba(232, 195, 106, 0.28);
}

/* ── Pagination ── */
.forum-pager {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-top: 1.35rem;
    justify-content: center;
}
.forum-pager a {
    min-width: 2.15rem;
    height: 2.15rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.55rem;
    border: 1px solid var(--forum-stroke);
    color: inherit;
    font-size: 0.82rem;
    text-decoration: none;
    transition: background 0.15s, border-color 0.15s;
}
.forum-pager a.is-current,
.forum-pager a:hover {
    background: var(--forum-accent-dim);
    border-color: var(--forum-stroke-accent);
    color: var(--forum-accent);
}

/* ── Thread layout (two column) ── */
.forum-layout {
    display: grid;
    gap: 1.25rem;
    align-items: start;
}
@media (min-width: 1024px) {
    .forum-layout {
        grid-template-columns: minmax(0, 1fr) 17rem;
    }
}
.forum-layout__aside {
    display: grid;
    gap: 0.85rem;
}
@media (min-width: 1024px) {
    .forum-layout__aside { position: sticky; top: 5.5rem; }
}
.forum-side-card {
    padding: 1.05rem 1.1rem;
    border-radius: var(--forum-radius-sm);
    border: 1px solid var(--forum-stroke);
    background: var(--forum-panel);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.14);
}
.forum-side-card--stats {
    background:
        radial-gradient(ellipse 80% 70% at 0% 0%, rgba(91, 163, 245, 0.1), transparent 55%),
        var(--forum-panel);
}
.forum-side-card--action {
    border-color: var(--forum-stroke-accent);
    background:
        radial-gradient(ellipse 70% 80% at 100% 100%, rgba(232, 195, 106, 0.08), transparent 50%),
        var(--forum-panel);
}
.forum-side-card h3 {
    font-size: 0.68rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--forum-accent);
    margin: 0 0 0.75rem;
}
.forum-side-stats {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.5rem;
}
.forum-side-stats div {
    padding: 0.7rem 0.5rem;
    border-radius: 0.55rem;
    background: var(--forum-panel-2);
    border: 1px solid var(--forum-stroke);
    text-align: center;
}
.forum-side-stats strong {
    display: block;
    font-size: 1.1rem;
    color: var(--forum-accent);
    line-height: 1.2;
}
.forum-side-stats span {
    font-size: 0.65rem;
    opacity: 0.5;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.forum-side-card p {
    margin: 0;
    font-size: 0.82rem;
    opacity: 0.65;
    line-height: 1.5;
}
.forum-side-card__board {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    margin-bottom: 0.15rem;
}
.forum-side-card__board strong {
    font-size: 0.95rem;
    opacity: 1;
    color: inherit;
}
.forum-side-card__board span {
    font-size: 0.76rem;
    opacity: 0.55;
}
.forum-side-card .btn-gold,
.forum-side-card .btn-gold-outline {
    width: 100%;
    justify-content: center;
    margin-top: 0.65rem;
}

/* ── Thread hero ── */
.forum-thread-hero {
    position: relative;
    margin-bottom: 1.35rem;
    padding: 1.45rem 1.55rem 1.35rem;
    border-radius: calc(var(--forum-radius) + 0.1rem);
    border: 1px solid var(--forum-stroke-accent);
    background:
        radial-gradient(ellipse 85% 110% at 0% 0%, rgba(91, 163, 245, 0.13), transparent 55%),
        radial-gradient(ellipse 55% 80% at 100% 0%, rgba(232, 195, 106, 0.09), transparent 50%),
        var(--forum-panel);
    box-shadow: 0 20px 48px rgba(0, 0, 0, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.04);
    overflow: hidden;
}
.forum-thread-hero.is-pinned {
    border-color: rgba(232, 195, 106, 0.4);
    background:
        radial-gradient(ellipse 85% 110% at 0% 0%, rgba(232, 195, 106, 0.14), transparent 55%),
        radial-gradient(ellipse 55% 80% at 100% 0%, rgba(91, 163, 245, 0.08), transparent 50%),
        var(--forum-panel);
}
.forum-thread-hero.is-locked {
    opacity: 0.96;
}
.forum-thread-hero__top {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem;
    margin-bottom: 0.75rem;
}
.forum-thread-head__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}
.forum-pill--link {
    text-decoration: none;
    transition: background 0.15s, color 0.15s;
}
.forum-pill--link:hover {
    background: rgba(91, 163, 245, 0.28);
    color: var(--forum-gold-hot, #fff1b0);
}
.forum-thread-hero__jump {
    flex-shrink: 0;
}
.forum-thread-hero__title {
    font-family: Inter, system-ui, sans-serif;
    font-size: clamp(1.4rem, 3.2vw, 2rem);
    font-weight: 700;
    line-height: 1.22;
    margin: 0 0 1.1rem;
    max-width: 42rem;
}
.forum-thread-hero__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 1rem 1.5rem;
    padding-top: 1rem;
    border-top: 1px solid var(--forum-stroke);
}
.forum-thread-hero__starter {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    min-width: 0;
}
.forum-thread-hero__starter-label {
    display: block;
    font-size: 0.65rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    opacity: 0.45;
    margin-bottom: 0.15rem;
}
.forum-thread-hero__stats {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin: 0;
    margin-left: auto;
}
.forum-thread-hero__stats > div {
    min-width: 4.25rem;
    padding: 0.45rem 0.7rem;
    border-radius: 0.55rem;
    background: var(--forum-panel-2);
    border: 1px solid var(--forum-stroke);
    text-align: center;
}
.forum-thread-hero__stats dt {
    font-size: 0.58rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    opacity: 0.45;
    margin: 0 0 0.15rem;
}
.forum-thread-hero__stats dd {
    margin: 0;
    font-size: 0.88rem;
    font-weight: 700;
    color: var(--forum-accent);
    line-height: 1.2;
}

/* Legacy thread head (if any older markup) */
.forum-thread-head {
    margin-bottom: 1.25rem;
}
.forum-thread-head__title {
    font-family: Inter, system-ui, sans-serif;
    font-size: clamp(1.35rem, 3vw, 1.85rem);
    font-weight: 700;
    line-height: 1.25;
    margin: 0 0 0.65rem;
}
.forum-thread-head__meta {
    margin: 0;
    font-size: 0.82rem;
    opacity: 0.55;
}

/* ── Posts ── */
.forum-admin-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem;
    margin-bottom: 1rem;
    padding: 0.65rem 0.85rem;
    border-radius: var(--forum-radius-sm);
    border: 1px dashed rgba(91, 163, 245, 0.3);
    background: rgba(91, 163, 245, 0.05);
}
.forum-admin-bar__label {
    font-size: 0.65rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    opacity: 0.5;
    margin-right: 0.25rem;
}
.forum-admin-bar .btn-admin-sm {
    font-size: 0.7rem;
    padding: 0.35rem 0.75rem;
    border: 1px solid rgba(91, 163, 245, 0.35);
    color: #5ba3f5;
    background: transparent;
    border-radius: 9999px;
    cursor: pointer;
}
.forum-admin-bar .btn-admin-danger { border-color: rgba(248, 113, 113, 0.45); color: #fca5a5; }

.forum-posts { display: grid; gap: 1.15rem; }
.forum-post {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    border-radius: var(--forum-radius);
    border: 1px solid var(--forum-stroke);
    background: var(--forum-panel);
    overflow: hidden;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.12);
    scroll-margin-top: 5rem;
    transition: border-color 0.25s ease, box-shadow 0.25s ease;
}
.forum-post.is-op {
    border-color: rgba(232, 195, 106, 0.38);
    box-shadow: 0 14px 40px rgba(232, 195, 106, 0.08), 0 10px 28px rgba(0, 0, 0, 0.12);
}
.forum-post.is-op .forum-post__sidebar {
    background:
        linear-gradient(180deg, rgba(232, 195, 106, 0.1), transparent 60%),
        rgba(0, 0, 0, 0.2);
}
.forum-post:target,
.forum-comment:target {
    border-color: var(--forum-stroke-accent);
    box-shadow: 0 0 0 2px rgba(91, 163, 245, 0.25), 0 12px 36px rgba(0, 0, 0, 0.16);
    animation: forum-target-pulse 1.4s ease-out;
}
@keyframes forum-target-pulse {
    0% { box-shadow: 0 0 0 4px rgba(91, 163, 245, 0.4), 0 12px 36px rgba(0, 0, 0, 0.16); }
    100% { box-shadow: 0 0 0 2px rgba(91, 163, 245, 0.25), 0 12px 36px rgba(0, 0, 0, 0.16); }
}
@media (prefers-reduced-motion: reduce) {
    .forum-post:target,
    .forum-comment:target { animation: none; }
}
@media (min-width: 768px) {
    .forum-post {
        grid-template-columns: 12rem minmax(0, 1fr);
    }
}
.forum-post__sidebar {
    padding: 1.15rem 1.05rem;
    background: rgba(0, 0, 0, 0.18);
    border-bottom: 1px solid var(--forum-stroke);
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.85rem;
}
@media (min-width: 768px) {
    .forum-post__sidebar {
        flex-direction: column;
        align-items: flex-start;
        border-bottom: 0;
        border-right: 1px solid var(--forum-stroke);
        padding: 1.25rem 1.1rem;
    }
}
.forum-post__num {
    font-size: 0.62rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    opacity: 0.42;
    font-weight: 700;
    order: -1;
}
@media (min-width: 768px) {
    .forum-post__num {
        order: 0;
        margin-bottom: 0.15rem;
    }
}
.forum-post.is-op .forum-post__num {
    color: var(--forum-gold);
    opacity: 0.85;
}
.forum-post__meta {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.4rem;
    flex: 1;
    min-width: 0;
}
.forum-post__rep {
    font-size: 0.72rem;
    opacity: 0.48;
    font-variant-numeric: tabular-nums;
}
.forum-post__body {
    padding: 1.15rem 1.25rem 1.2rem;
    min-width: 0;
}
@media (min-width: 768px) {
    .forum-post__body {
        padding: 1.25rem 1.4rem 1.35rem;
    }
}
.forum-post__body-head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.95rem;
    padding-bottom: 0.7rem;
    border-bottom: 1px solid var(--forum-stroke);
}
.forum-post__body-head-left {
    display: flex;
    align-items: center;
    gap: 0.65rem;
}
.forum-post__time {
    font-size: 0.74rem;
    opacity: 0.48;
}
.forum-post__permalink {
    font-size: 0.7rem;
    font-weight: 600;
    color: var(--forum-accent);
    text-decoration: none;
    opacity: 0.55;
    padding: 0.15rem 0.4rem;
    border-radius: 0.35rem;
    border: 1px solid transparent;
    transition: opacity 0.15s, border-color 0.15s, background 0.15s;
}
.forum-post__permalink:hover {
    opacity: 1;
    border-color: var(--forum-stroke-accent);
    background: var(--forum-accent-dim);
}

.forum-avatar {
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(91, 163, 245, 0.12);
    border: 2px solid rgba(91, 163, 245, 0.35);
    font-weight: 700;
    font-size: 0.95rem;
    color: var(--forum-accent);
    flex-shrink: 0;
    box-shadow: 0 0 18px rgba(91, 163, 245, 0.12);
}
.forum-avatar--sm { width: 2.15rem; height: 2.15rem; font-size: 0.78rem; }
.forum-avatar--lg { width: 3.75rem; height: 3.75rem; font-size: 1.35rem; }
.forum-avatar--ember { border-color: rgba(251, 146, 60, 0.45); color: #fb923c; background: rgba(251, 146, 60, 0.1); }
.forum-avatar--fuse { border-color: rgba(96, 165, 250, 0.45); color: #60a5fa; background: rgba(96, 165, 250, 0.1); }
.forum-avatar--circuit { border-color: rgba(34, 211, 238, 0.45); color: #22d3ee; background: rgba(34, 211, 238, 0.08); }
.forum-avatar--catalyst { border-color: rgba(192, 132, 252, 0.45); color: #c084fc; background: rgba(192, 132, 252, 0.08); }
.forum-avatar--apex { border-color: rgba(244, 114, 182, 0.5); color: #f472b6; background: rgba(244, 114, 182, 0.08); }
.forum-avatar--admin {
    border-color: rgba(232, 195, 106, 0.65);
    color: var(--forum-gold);
    background: rgba(232, 195, 106, 0.12);
    box-shadow: 0 0 22px rgba(232, 195, 106, 0.18);
}

.forum-prose {
    line-height: 1.75;
    word-break: break-word;
    font-size: 0.98rem;
    max-width: 48rem;
}
.forum-prose--sm { font-size: 0.9rem; line-height: 1.65; }
.forum-prose a { color: var(--forum-accent); }
.forum-prose p { margin: 0 0 0.85em; }
.forum-prose p:last-child { margin-bottom: 0; }
.forum-edited { font-size: 0.72rem; opacity: 0.42; margin: 0.75rem 0 0; font-style: italic; }

.forum-post__foot,
.forum-comment__foot {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.65rem;
    margin-top: 1rem;
    padding-top: 0.85rem;
    border-top: 1px solid var(--forum-stroke);
}
.forum-post__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin-left: auto;
    font-size: 0.76rem;
}
.forum-post__actions a { color: var(--forum-accent); text-decoration: none; }
.forum-post__actions a:hover { text-decoration: underline; }
.forum-post__comment-jump {
    opacity: 0.75;
}
.forum-text-btn {
    background: none;
    border: none;
    padding: 0;
    color: var(--forum-accent);
    cursor: pointer;
    font-size: inherit;
}
.forum-text-btn--danger { color: #fca5a5; }
.forum-btn-sm { padding: 0.4rem 0.95rem; font-size: 0.76rem; }

/* ── Votes ── */
.forum-votes {
    display: inline-flex;
    align-items: center;
    gap: 0.15rem;
    padding: 0.22rem 0.4rem;
    border-radius: 999px;
    background: var(--forum-panel-2);
    border: 1px solid var(--forum-stroke);
}
.forum-vote {
    width: 1.7rem;
    height: 1.7rem;
    border-radius: 0.45rem;
    border: none;
    background: transparent;
    color: inherit;
    opacity: 0.55;
    cursor: pointer;
    line-height: 1;
    font-size: 0.72rem;
    transition: opacity 0.15s, background 0.15s, transform 0.15s;
}
.forum-vote:hover:not(:disabled) {
    opacity: 1;
    background: rgba(91, 163, 245, 0.12);
    transform: scale(1.06);
}
.forum-vote.is-on.forum-vote--up {
    opacity: 1;
    color: #86efac;
    background: rgba(134, 239, 172, 0.12);
}
.forum-vote.is-on.forum-vote--down {
    opacity: 1;
    color: #fca5a5;
    background: rgba(252, 165, 165, 0.12);
}
.forum-vote:disabled { cursor: default; opacity: 0.22; }
.forum-vote-count {
    font-size: 0.78rem;
    font-weight: 700;
    min-width: 1.1rem;
    text-align: center;
    color: var(--forum-accent);
}
.forum-vote-count--down { opacity: 0.45; color: inherit; font-weight: 500; }

/* ── Comments ── */
.forum-comments {
    margin-top: 1.25rem;
    padding: 1rem 0 0;
    border-top: 1px dashed var(--forum-stroke-accent);
    display: grid;
    gap: 0.7rem;
}
.forum-comments__label {
    font-size: 0.65rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    opacity: 0.42;
    margin: 0 0 0.15rem;
}
.forum-comment {
    display: grid;
    grid-template-columns: 3px minmax(0, 1fr);
    gap: 0;
    border-radius: var(--forum-radius-sm);
    background: rgba(0, 0, 0, 0.18);
    border: 1px solid var(--forum-stroke);
    scroll-margin-top: 5rem;
    overflow: hidden;
    transition: border-color 0.2s ease;
}
[data-theme="light"] .forum-comment { background: rgba(255, 255, 255, 0.55); }
.forum-comment__rail {
    background: linear-gradient(180deg, var(--forum-accent), rgba(91, 163, 245, 0.15));
    opacity: 0.7;
}
.forum-comment__content {
    padding: 0.85rem 0.95rem 0.9rem;
    min-width: 0;
}
.forum-comment__head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
}
.forum-comment__who {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem;
    flex: 1;
    min-width: 0;
}
.forum-comment__time {
    font-size: 0.7rem;
    opacity: 0.45;
    margin-left: auto;
}
.forum-comment__foot {
    margin-top: 0.75rem;
    padding-top: 0.65rem;
    border-top: 1px solid var(--forum-stroke);
}
.forum-comment-form {
    display: grid;
    gap: 0.55rem;
    margin-top: 0.2rem;
    padding: 0.85rem 0.95rem;
    border-radius: var(--forum-radius-sm);
    border: 1px dashed var(--forum-stroke);
    background: var(--forum-panel-2);
    scroll-margin-top: 5rem;
}
.forum-comment-form .btn-gold-outline {
    justify-self: start;
}

/* ── Composer (new thread / reply / edit) ── */
.forum-composer {
    border-radius: var(--forum-radius);
    border: 1px solid var(--forum-stroke-accent);
    background:
        radial-gradient(ellipse 80% 60% at 100% 0%, rgba(91, 163, 245, 0.08), transparent 55%),
        var(--forum-panel);
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.04);
    overflow: hidden;
}
.forum-composer__head {
    padding: 1.15rem 1.25rem 0.85rem;
    border-bottom: 1px solid var(--forum-stroke);
}
.forum-composer__head h2 {
    font-family: Inter, system-ui, sans-serif;
    font-size: 1.15rem;
    color: var(--forum-accent);
    margin: 0 0 0.25rem;
}
.forum-composer__head p {
    margin: 0;
    font-size: 0.82rem;
    opacity: 0.58;
    line-height: 1.45;
}
.forum-composer__context {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    margin-top: 0.75rem;
    padding: 0.65rem 0.75rem;
    border-radius: var(--forum-radius-sm);
    background: var(--forum-panel-2);
    border: 1px solid var(--forum-stroke);
    font-size: 0.82rem;
}
.forum-composer__body { padding: 1.15rem 1.25rem 1.25rem; }
.forum-composer__field { margin-bottom: 1rem; }
.forum-composer__field label {
    display: block;
    font-size: 0.72rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    opacity: 0.55;
    margin-bottom: 0.45rem;
    font-weight: 600;
}
.forum-composer__toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-bottom: 0.55rem;
}
.forum-composer__hint {
    display: inline-flex;
    align-items: center;
    padding: 0.22rem 0.5rem;
    border-radius: 0.4rem;
    font-size: 0.72rem;
    font-family: 'JetBrains Mono', ui-monospace, monospace;
    background: var(--forum-panel-2);
    border: 1px solid var(--forum-stroke);
    opacity: 0.65;
}
.forum-composer__input,
.forum-composer textarea,
.forum-composer input[type="text"] {
    width: 100%;
    min-height: 10rem;
    resize: vertical;
}
.forum-composer__foot {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-top: 0.85rem;
    padding-top: 0.85rem;
    border-top: 1px solid var(--forum-stroke);
}
.forum-composer__count {
    font-size: 0.72rem;
    opacity: 0.45;
    font-variant-numeric: tabular-nums;
}
.forum-composer__count.is-warn { color: #fca5a5; opacity: 0.85; }
.forum-composer__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin-left: auto;
}

.forum-composer-layout {
    display: grid;
    gap: 1.25rem;
}
@media (min-width: 900px) {
    .forum-composer-layout {
        grid-template-columns: minmax(0, 1.4fr) minmax(0, 0.9fr);
        align-items: start;
    }
}
.forum-composer-aside {
    padding: 1.1rem 1.15rem;
    border-radius: var(--forum-radius-sm);
    border: 1px solid var(--forum-stroke);
    background: var(--forum-panel-2);
}
.forum-composer-aside h3 {
    font-size: 0.72rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--forum-accent);
    margin: 0 0 0.65rem;
}
.forum-composer-aside ul {
    margin: 0;
    padding-left: 1.1rem;
    font-size: 0.82rem;
    opacity: 0.65;
    line-height: 1.55;
}
.forum-composer-aside li + li { margin-top: 0.35rem; }

.forum-reply-wrap {
    margin-top: 1.75rem;
    scroll-margin-top: 4rem;
}

/* ── Empty states ── */
.forum-empty {
    font-size: 0.9rem;
    opacity: 0.55;
    margin: 0;
}
.forum-empty--panel {
    padding: 2rem 1.5rem;
    border: 1px dashed var(--forum-stroke-accent);
    border-radius: var(--forum-radius);
    text-align: center;
    background: var(--forum-panel-2);
    line-height: 1.55;
}
.forum-empty--panel a { color: var(--forum-accent); }
.forum-empty--locked,
.forum-empty--cta {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
}
.forum-empty__icon {
    font-size: 1.35rem;
    opacity: 0.7;
    line-height: 1;
}

/* ── Signature ── */
.forum-signature {
    margin-top: 1.1rem;
    padding-top: 0.85rem;
    border-top: 1px dashed rgba(91, 163, 245, 0.22);
    font-size: 0.84rem;
    opacity: 0.82;
}
.forum-signature img {
    max-height: 72px;
    max-width: 240px;
    object-fit: contain;
    border-radius: 4px;
    display: inline-block;
    vertical-align: middle;
}
.forum-signature a { color: var(--forum-accent); }

/* ── Profile / ranks (unchanged structure, refined) ── */
.forum-member__id { display: flex; gap: 1rem; align-items: flex-start; }
.forum-stat-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.65rem;
    margin-top: 1.25rem;
}
@media (min-width: 700px) {
    .forum-stat-grid { grid-template-columns: repeat(6, 1fr); }
}
.forum-stat-grid div,
.forum-settings-stats div {
    padding: 0.85rem 0.7rem;
    border-radius: 0.8rem;
    border: 1px solid var(--forum-stroke);
    background: var(--forum-panel);
    text-align: center;
}
.forum-stat-grid strong,
.forum-settings-stats strong {
    display: block;
    font-size: 1.25rem;
    color: var(--forum-accent);
}
.forum-stat-grid span,
.forum-settings-stats span { font-size: 0.72rem; opacity: 0.55; }
.forum-settings-stats {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.55rem;
    margin-bottom: 1.25rem;
}
@media (min-width: 640px) {
    .forum-settings-stats { grid-template-columns: repeat(4, 1fr); }
}
.forum-rank-list { display: grid; gap: 0.85rem; }
.forum-rank-card {
    display: grid;
    gap: 1rem;
    padding: 1.1rem 1.2rem;
    border-radius: 0.95rem;
    border: 1px solid var(--forum-stroke-accent);
    background: var(--forum-panel);
}
@media (min-width: 700px) {
    .forum-rank-card { grid-template-columns: 14rem 1fr; align-items: center; }
}
.forum-rank-card.is-special {
    border-color: rgba(232, 195, 106, 0.5);
    background:
        radial-gradient(ellipse 60% 80% at 0% 50%, rgba(232, 195, 106, 0.12), transparent 60%),
        var(--forum-panel);
}
.forum-rank-card h2 { font-size: 1.2rem; margin: 0 0 0.2rem; }
.forum-rank-card p { margin: 0; opacity: 0.75; }
.forum-rank-card__req { font-size: 0.78rem; color: var(--forum-accent); opacity: 1 !important; margin-bottom: 0.35rem !important; }
.forum-rank-card__preview { display: flex; flex-direction: column; align-items: flex-start; gap: 0.45rem; }
.forum-rep-rules { list-style: none; margin: 0; padding: 0; }
.forum-rep-rules li {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.45rem 0;
    border-bottom: 1px solid var(--forum-stroke);
}
.forum-rep-rules strong { color: var(--forum-accent); }

.forum-rank-badge {
    display: inline-flex;
    align-items: center;
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 0.18rem 0.5rem;
    border-radius: 999px;
    border: 1px solid rgba(91, 163, 245, 0.3);
}
.forum-rank-badge--spark { color: #9ca3af; border-color: rgba(156, 163, 175, 0.35); }
.forum-rank-badge--ember { color: #fb923c; border-color: rgba(251, 146, 60, 0.4); }
.forum-rank-badge--fuse { color: #60a5fa; border-color: rgba(96, 165, 250, 0.45); }
.forum-rank-badge--circuit { color: #22d3ee; border-color: rgba(34, 211, 238, 0.45); }
.forum-rank-badge--catalyst { color: #c084fc; border-color: rgba(192, 132, 252, 0.45); }
.forum-rank-badge--apex { color: #f472b6; border-color: rgba(244, 114, 182, 0.5); }
.forum-rank-badge--admin {
    color: #1a1406;
    background: linear-gradient(135deg, #f5d76e, #d4af37);
    border-color: #e8c36a;
}

.forum-uname {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    font-weight: 700;
    text-decoration: none;
    color: inherit;
}
.forum-uname:hover { filter: brightness(1.1); }
.forum-crown {
    display: inline-flex;
    color: #f5d76e;
    filter: drop-shadow(0 0 6px rgba(245, 215, 110, 0.7));
    animation: forum-crown-bob 2.2s ease-in-out infinite;
}
.forum-uname--spark .forum-uname__text { color: inherit; opacity: 0.9; }
.forum-uname--ember .forum-uname__text { color: #fb923c; animation: forum-ember 2.4s ease-in-out infinite; }
.forum-uname--fuse .forum-uname__text {
    color: #7dd3fc;
    text-shadow: 0 0 10px rgba(125, 211, 252, 0.45);
    animation: forum-fuse 2.8s ease-in-out infinite;
}
.forum-uname--circuit .forum-uname__text {
    background: linear-gradient(90deg, #67e8f9, #ffffff, #38bdf8, #67e8f9);
    background-size: 220% auto;
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
    animation: forum-shimmer 2.6s linear infinite;
}
.forum-uname--catalyst .forum-uname__text {
    background: linear-gradient(90deg, #c084fc, #f0abfc, #818cf8, #c084fc);
    background-size: 220% auto;
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
    animation: forum-shimmer 2.1s linear infinite;
    filter: drop-shadow(0 0 8px rgba(192, 132, 252, 0.35));
}
.forum-uname--apex .forum-uname__text {
    background: linear-gradient(90deg, #f472b6, #fbbf24, #38bdf8, #f472b6);
    background-size: 240% auto;
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
    animation: forum-shimmer 1.8s linear infinite;
    filter: drop-shadow(0 0 10px rgba(244, 114, 182, 0.4));
}
.forum-uname--admin .forum-uname__text {
    background: linear-gradient(90deg, #b8860b, #fff4c2, #f5d76e, #d4af37, #fff1b0, #b8860b);
    background-size: 260% auto;
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
    animation: forum-gold 1.7s linear infinite;
    filter: drop-shadow(0 0 8px rgba(245, 215, 110, 0.45));
}

@keyframes forum-shimmer { to { background-position: 200% center; } }
@keyframes forum-gold { to { background-position: 200% center; } }
@keyframes forum-ember {
    0%, 100% { text-shadow: 0 0 4px rgba(251, 146, 60, 0.2); }
    50% { text-shadow: 0 0 14px rgba(251, 146, 60, 0.7); }
}
@keyframes forum-fuse {
    0%, 100% { text-shadow: 0 0 6px rgba(125, 211, 252, 0.25); }
    50% { text-shadow: 0 0 16px rgba(125, 211, 252, 0.7); }
}
@keyframes forum-crown-bob {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-2px); }
}
@keyframes forum-pulse {
    0%, 100% { opacity: 0.45; }
    50% { opacity: 0.9; }
}

@media (max-width: 767px) {
    .forum-subforum {
        grid-template-columns: 1fr;
    }
    .forum-subforum__stats {
        flex-direction: row;
        align-items: flex-start;
        flex-wrap: wrap;
    }
    .forum-hero { padding: 1.25rem 1.15rem; }
    .forum-stat-strip { grid-template-columns: 1fr; }
    .forum-thread-hero {
        padding: 1.15rem 1.1rem 1.1rem;
    }
    .forum-thread-hero__title {
        margin-bottom: 0.9rem;
    }
    .forum-thread-hero__stats {
        margin-left: 0;
        width: 100%;
    }
    .forum-thread-hero__stats > div {
        flex: 1 1 calc(50% - 0.45rem);
        min-width: 0;
    }
    .forum-post__num {
        position: absolute;
        top: 0.85rem;
        right: 1rem;
    }
    .forum-post__sidebar {
        position: relative;
        padding-right: 3.5rem;
    }
}

/* ── Rich text (WYSIWYG) editor ── */
.forum-editor { position: relative; }
.forum-editor [hidden] { display: none !important; }
.forum-editor__bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.25rem;
    padding: 0.5rem 0.6rem;
    margin-bottom: 0.55rem;
    border-radius: var(--forum-radius-sm);
    background: var(--forum-panel-2);
    border: 1px solid var(--forum-stroke);
}
.forum-editor__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2rem;
    height: 1.9rem;
    padding: 0 0.55rem;
    border: 1px solid transparent;
    border-radius: 0.45rem;
    background: transparent;
    color: inherit;
    font-size: 0.74rem;
    line-height: 1;
    cursor: pointer;
    white-space: nowrap;
    font-family: 'JetBrains Mono', ui-monospace, monospace;
    transition: background 0.15s, border-color 0.15s, color 0.15s;
}
.forum-editor__btn:hover,
.forum-editor__btn:focus-visible {
    background: var(--forum-accent-dim);
    border-color: var(--forum-stroke);
    color: var(--forum-accent);
}
.forum-editor__btn.is-active {
    background: var(--forum-accent-dim);
    border-color: var(--forum-stroke-accent);
    color: var(--forum-accent);
}
.forum-editor__btn--mode { margin-left: auto; }
.forum-editor__sep {
    width: 1px;
    height: 1.4rem;
    margin: 0 0.25rem;
    background: var(--forum-stroke);
}
.forum-editor__image-err {
    margin: 0 0 0.45rem;
    font-size: 0.74rem;
    color: #fca5a5;
}
.forum-editor__image-pop {
    position: absolute;
    top: 3.3rem;
    right: 0.6rem;
    z-index: 40;
    display: grid;
    gap: 0.5rem;
    width: min(23rem, calc(100% - 1.2rem));
    padding: 0.8rem;
    border-radius: var(--forum-radius-sm);
    border: 1px solid var(--forum-stroke-accent);
    background: var(--forum-panel);
    box-shadow: 0 18px 44px rgba(0, 0, 0, 0.38);
}
.forum-editor__image-row {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.forum-editor__image-row .input-lux {
    flex: 1;
    min-width: 0;
}
.forum-editor__image-note { font-size: 0.66rem; opacity: 0.5; }
.forum-editor__area {
    min-height: 12rem;
    max-height: 34rem;
    overflow-y: auto;
    padding: 0.9rem 1rem;
    border-radius: var(--forum-radius-sm);
    border: 1px solid var(--forum-stroke);
    background: var(--forum-panel-2);
    line-height: 1.7;
    font-size: 0.95rem;
    word-break: break-word;
    outline: none;
    transition: border-color 0.15s, box-shadow 0.15s;
}
.forum-editor__area:focus {
    border-color: var(--forum-stroke-accent);
    box-shadow: 0 0 0 3px var(--forum-accent-dim);
}
.forum-editor__area.is-empty::before {
    content: attr(data-placeholder);
    opacity: 0.35;
    pointer-events: none;
}
.forum-editor__area.is-dragover {
    border-color: var(--forum-accent);
    box-shadow: 0 0 0 3px var(--forum-accent-glow);
}
.forum-editor__source {
    width: 100%;
    min-height: 14rem;
    resize: vertical;
    padding: 0.9rem 1rem;
    border-radius: var(--forum-radius-sm);
    border: 1px solid var(--forum-stroke);
    background: var(--forum-panel-2);
    color: inherit;
    font-family: 'JetBrains Mono', ui-monospace, monospace;
    font-size: 0.8rem;
    line-height: 1.6;
    outline: none;
}
.forum-editor__source:focus {
    border-color: var(--forum-stroke-accent);
}

/* ── Rich rendering inside .forum-prose ── */
.forum-prose img {
    max-width: 100%;
    height: auto;
    border-radius: 0.6rem;
    border: 1px solid var(--forum-stroke);
    margin: 0.4em 0;
}
.forum-prose h1, .forum-prose h2, .forum-prose h3, .forum-prose h4, .forum-prose h5, .forum-prose h6 {
    margin: 1.15em 0 0.4em;
    font-family: Inter, system-ui, sans-serif;
    line-height: 1.3;
}
.forum-prose h1 { font-size: 1.3rem; }
.forum-prose h2 { font-size: 1.2rem; }
.forum-prose h3 { font-size: 1.08rem; }
.forum-prose h4, .forum-prose h5, .forum-prose h6 { font-size: 1rem; }
.forum-prose h1:first-child, .forum-prose h2:first-child, .forum-prose h3:first-child { margin-top: 0; }
.forum-prose ul, .forum-prose ol {
    margin: 0 0 0.85em;
    padding-left: 1.5em;
}
.forum-prose li { margin: 0.2em 0; }
.forum-prose blockquote {
    margin: 0.85em 0;
    padding: 0.55em 1em;
    border-left: 3px solid var(--forum-stroke-accent);
    background: var(--forum-panel-2);
    border-radius: 0 0.5rem 0.5rem 0;
}
.forum-prose pre {
    margin: 0.85em 0;
    padding: 0.85em 1em;
    background: var(--forum-panel-2);
    border: 1px solid var(--forum-stroke);
    border-radius: 0.6rem;
    overflow-x: auto;
    font-family: 'JetBrains Mono', ui-monospace, monospace;
    font-size: 0.82rem;
    line-height: 1.6;
}
.forum-prose code {
    font-family: 'JetBrains Mono', ui-monospace, monospace;
    font-size: 0.86em;
    background: var(--forum-accent-dim);
    border: 1px solid var(--forum-stroke);
    border-radius: 0.35rem;
    padding: 0.08em 0.4em;
}
.forum-prose pre code {
    background: none;
    border: none;
    padding: 0;
    font-size: inherit;
}
.forum-prose hr {
    border: none;
    border-top: 1px solid var(--forum-stroke);
    margin: 1.4em 0;
}
.forum-prose table {
    border-collapse: collapse;
    margin: 0.85em 0;
    font-size: 0.9rem;
}
.forum-prose th, .forum-prose td {
    border: 1px solid var(--forum-stroke);
    padding: 0.4em 0.7em;
    text-align: left;
}
.forum-prose th { background: var(--forum-panel-2); }
.forum-prose mark {
    background: rgba(232, 195, 106, 0.28);
    color: inherit;
    border-radius: 0.25rem;
    padding: 0 0.15em;
}
.forum-prose div { margin: 0 0 0.85em; }

/* ── Light theme ── */
[data-theme="light"] .forum-hero,
[data-theme="light"] .forum-thread-hero,
[data-theme="light"] .forum-composer {
    box-shadow: 0 18px 44px rgba(26, 34, 48, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.6);
}
[data-theme="light"] .forum-trend-slider__window {
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.6);
}
[data-theme="light"] .forum-trend-slide__list li:hover {
    background: rgba(255, 255, 255, 0.8);
}
[data-theme="light"] .forum-trend-slider__dot {
    background: rgba(26, 34, 48, 0.18);
}
[data-theme="light"] .forum-trend-slider__progress {
    background: rgba(26, 34, 48, 0.12);
}
[data-theme="light"] .forum-trend-slide__list li,
[data-theme="light"] .forum-thread-table__head,
[data-theme="light"] .forum-post__sidebar {
    border-color: var(--forum-stroke);
}
[data-theme="light"] .forum-thread-table__head,
[data-theme="light"] .forum-post__sidebar {
    background: rgba(26, 34, 48, 0.05);
}
[data-theme="light"] .forum-thread-table__head {
    opacity: 0.7;
}
[data-theme="light"] .forum-pill--mute {
    background: rgba(26, 34, 48, 0.08);
    opacity: 0.85;
}
[data-theme="light"] .forum-pill--warn,
[data-theme="light"] .forum-text-btn--danger,
[data-theme="light"] .forum-vote.is-on.forum-vote--down,
[data-theme="light"] .forum-composer__count.is-warn,
[data-theme="light"] .forum-editor__image-err,
[data-theme="light"] .forum-admin-bar .btn-admin-danger {
    color: #b42323;
}
[data-theme="light"] .forum-pill--warn {
    background: rgba(180, 35, 35, 0.1);
}
[data-theme="light"] .forum-crown {
    color: #b8860b;
}
[data-theme="light"] .forum-rank-badge--admin {
    background: linear-gradient(135deg, #e6c458, #b8902a);
    border-color: #a67c1a;
}
[data-theme="light"] .forum-uname--circuit .forum-uname__text {
    background-image: linear-gradient(90deg, #0e7490, #2563eb, #0891b2, #0e7490);
}
[data-theme="light"] .forum-uname--catalyst .forum-uname__text {
    background-image: linear-gradient(90deg, #7e22ce, #a21caf, #4f46e5, #7e22ce);
}
[data-theme="light"] .forum-uname--apex .forum-uname__text {
    background-image: linear-gradient(90deg, #be185d, #b45309, #0369a1, #be185d);
}
[data-theme="light"] .forum-uname--admin .forum-uname__text {
    background-image: linear-gradient(90deg, #8a6620, #b8902a, #6b4d12, #a67c1a, #8a6620);
}
[data-theme="light"] .forum-editor__image-pop {
    box-shadow: 0 18px 44px rgba(26, 34, 48, 0.18);
}

