/**
 * Firetorn Forum Styles
 * YaBB SE inspired design with Firetorn's premium aesthetic
 */

/* ===== FIRETORN COLOR SYSTEM ===== */
:root {
    /* Firetorn core colors */
    --ff-bg-primary: #0b0b0b;
    --ff-bg-secondary: rgba(16,16,16,.62);
    --ff-bg-tertiary: rgba(16,16,16,.78);
    --ff-text-primary: #eae6dc;
    --ff-text-secondary: #b4ad9f;
    --ff-accent-primary: #c88a2a;
    --ff-accent-secondary: #f0b85b;
    --ff-border-color: rgba(200,138,42,.18);
    --ff-border-light: rgba(200,138,42,.28);
    --ff-shadow: 0 18px 60px rgba(0,0,0,.45);
    --ff-radius: 18px;
    --ff-radius-sm: 12px;
    --ff-focus: rgba(200,138,42,.22);
    
    /* Try to inherit from theme if available */
    --ff-bg-primary: var(--ft-bg, #0b0b0b);
    --ff-bg-secondary: var(--ft-panel, rgba(16,16,16,.62));
    --ff-bg-tertiary: var(--ft-panel-strong, rgba(16,16,16,.78));
    --ff-text-primary: var(--ft-text, #eae6dc);
    --ff-text-secondary: var(--ft-muted, #b4ad9f);
    --ff-accent-primary: var(--ft-gold, #c88a2a);
    --ff-accent-secondary: var(--ft-gold-2, #f0b85b);
}

/* ===== GLOBAL FORUM CONTAINER ===== */
.firetorn-forum {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
    color: var(--ff-text-primary);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    line-height: 1.6;
    background: radial-gradient(1000px 500px at 20% 0%, rgba(200,138,42,.08), transparent 60%),
                radial-gradient(900px 450px at 80% 20%, rgba(240,184,91,.06), transparent 55%),
                transparent;
}

/* ===== BREADCRUMBS (YaBB style with Firetorn polish) ===== */
.ff-breadcrumbs {
    background: linear-gradient(180deg, var(--ff-bg-tertiary), var(--ff-bg-secondary));
    border: 1px solid rgba(255,255,255,.06);
    border-radius: var(--ff-radius-sm);
    padding: 12px 18px;
    margin-bottom: 20px;
    font-size: 13px;
    box-shadow: var(--ff-shadow);
}

.ff-breadcrumbs a {
    color: var(--ff-accent-secondary);
    text-decoration: none;
    position: relative;
    padding: 2px 4px;
    transition: color .12s ease;
}

.ff-breadcrumbs a::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -2px;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--ff-accent-primary), var(--ff-accent-secondary), var(--ff-accent-primary), transparent);
    transform: scaleX(.25);
    opacity: 0;
    transition: transform .18s ease, opacity .18s ease;
}

.ff-breadcrumbs a:hover {
    color: var(--ff-text-primary);
}

.ff-breadcrumbs a:hover::after {
    transform: scaleX(1);
    opacity: .85;
}

.ff-separator {
    margin: 0 8px;
    color: var(--ff-text-secondary);
    opacity: .5;
}

/* ===== FORUM NAVIGATION ===== */
.ff-forum-nav {
    background: linear-gradient(180deg, var(--ff-bg-tertiary), var(--ff-bg-secondary));
    border: 1px solid rgba(255,255,255,.06);
    border-radius: var(--ff-radius-sm);
    padding: 12px 18px;
    margin-bottom: 20px;
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    box-shadow: var(--ff-shadow);
}

.ff-nav-link {
    color: var(--ff-text-primary);
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
    padding: 8px 16px;
    border-radius: 10px;
    position: relative;
    transition: transform .12s ease, color .12s ease, background .12s ease;
}

/* Ember underline that "ignites" */
.ff-nav-link::after {
    content: "";
    position: absolute;
    left: .75rem;
    right: .75rem;
    bottom: .35rem;
    height: 1px;
    background: linear-gradient(90deg,
        transparent,
        rgba(200,138,42,.35),
        rgba(240,184,91,.55),
        rgba(200,138,42,.35),
        transparent
    );
    transform: scaleX(.25);
    transform-origin: 50% 50%;
    opacity: 0;
    transition: transform .18s ease, opacity .18s ease;
}

.ff-nav-link:hover,
.ff-nav-link:focus {
    color: var(--ff-accent-secondary);
    background: rgba(255,255,255,.04);
    transform: translateY(-1px);
}

.ff-nav-link:hover::after,
.ff-nav-link:focus::after {
    opacity: 1;
    transform: scaleX(1);
}

.ff-admin-nav {
    margin-top: 30px;
    border-color: var(--ff-border-light);
}

.ff-admin-nav strong {
    color: var(--ff-accent-primary);
    padding: 8px 12px;
    font-size: 13px;
}

/* ===== BOARD CATEGORY HEADERS ===== */
.ff-category-header {
    background: linear-gradient(180deg, var(--ff-bg-tertiary), var(--ff-bg-secondary));
    border: 1px solid rgba(255,255,255,.06);
    border-bottom: 2px solid var(--ff-accent-primary);
    border-radius: var(--ff-radius-sm) var(--ff-radius-sm) 0 0;
    padding: 14px 20px;
    margin-top: 30px;
    margin-bottom: 0;
    font-weight: 600;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--ff-text-primary);
    box-shadow: var(--ff-shadow);
}

/* ===== BOARD TABLE (Classic YaBB with Firetorn premium feel) ===== */
.ff-board-table {
    width: 100%;
    background: linear-gradient(180deg, var(--ff-bg-tertiary), var(--ff-bg-secondary));
    border: 1px solid rgba(255,255,255,.06);
    border-top: none;
    border-radius: 0 0 var(--ff-radius-sm) var(--ff-radius-sm);
    border-collapse: collapse;
    margin-bottom: 30px;
    box-shadow: var(--ff-shadow);
}

.ff-board-table thead {
    background: rgba(0,0,0,.25);
    border-bottom: 1px solid var(--ff-border-color);
}

.ff-board-table th {
    padding: 12px 18px;
    text-align: left;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    color: var(--ff-text-secondary);
    border-bottom: 1px solid var(--ff-border-color);
}

.ff-board-table td {
    padding: 18px;
    border-bottom: 1px solid rgba(255,255,255,.04);
    vertical-align: top;
}

.ff-board-table tbody tr {
    transition: background .12s ease, transform .12s ease;
}

.ff-board-table tbody tr:hover {
    background: rgba(255,255,255,.02);
    transform: translateX(2px);
}

/* Board icon column */
.ff-board-icon {
    width: 50px;
    text-align: center;
}

.ff-board-icon img,
.ff-board-icon svg {
    width: 32px;
    height: 32px;
    opacity: 0.6;
    transition: opacity .12s ease;
}

.ff-board-table tbody tr:hover .ff-board-icon svg {
    opacity: 0.9;
}

/* Board info column with ember underline on title */
.ff-board-info {
    width: auto;
}

.ff-board-name {
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 5px;
}

.ff-board-name a {
    color: var(--ff-text-primary);
    text-decoration: none;
    position: relative;
    display: inline-block;
    padding: 2px 2px 6px;
    transition: transform .12s ease, color .12s ease;
}

/* Ember underline for board titles */
.ff-board-name a::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg,
        transparent,
        rgba(200,138,42,.35),
        rgba(240,184,91,.85),
        rgba(200,138,42,.35),
        transparent
    );
    transform: scaleX(.18);
    transform-origin: left;
    opacity: 0;
    transition: transform .18s ease, opacity .18s ease;
}

.ff-board-name a:hover {
    color: var(--ff-accent-secondary);
    transform: translateY(-1px);
}

.ff-board-name a:hover::after {
    opacity: .85;
    transform: scaleX(1);
}

.ff-board-description {
    font-size: 13px;
    color: var(--ff-text-secondary);
    line-height: 1.5;
}

/* Stats column */
.ff-board-stats {
    width: 140px;
    text-align: center;
    font-size: 13px;
    color: var(--ff-text-secondary);
}

.ff-stat-separator {
    margin: 0 8px;
    color: var(--ff-border-color);
}

/* Last post column */
.ff-board-lastpost {
    width: 260px;
    font-size: 12px;
}

.ff-last-post {
    margin-top: 5px;
}

.ff-last-post-label {
    color: var(--ff-text-secondary);
    font-weight: 600;
    text-transform: uppercase;
    font-size: 10px;
    letter-spacing: .5px;
}

.ff-last-post a {
    color: var(--ff-accent-secondary);
    text-decoration: none;
    position: relative;
    padding-bottom: 2px;
}

.ff-last-post a::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--ff-accent-primary), transparent);
    opacity: 0;
    transition: opacity .15s ease;
}

.ff-last-post a:hover {
    color: var(--ff-text-primary);
}

.ff-last-post a:hover::after {
    opacity: .75;
}

.ff-author {
    color: var(--ff-text-primary);
    font-weight: 500;
}

.ff-date {
    color: var(--ff-text-secondary);
    font-style: italic;
    opacity: .7;
}

/* ===== TOPIC TABLE ===== */
.ff-topic-table {
    width: 100%;
    background: linear-gradient(180deg, var(--ff-bg-tertiary), var(--ff-bg-secondary));
    border: 1px solid rgba(255,255,255,.06);
    border-radius: var(--ff-radius-sm);
    border-collapse: collapse;
    margin-bottom: 20px;
    box-shadow: var(--ff-shadow);
}

.ff-topic-table thead {
    background: rgba(0,0,0,.25);
}

.ff-topic-table th {
    padding: 12px 18px;
    text-align: left;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    color: var(--ff-text-secondary);
    border-bottom: 1px solid var(--ff-border-color);
}

.ff-topic-table td {
    padding: 14px 18px;
    border-bottom: 1px solid rgba(255,255,255,.04);
    vertical-align: middle;
}

.ff-topic-table tbody tr {
    transition: background .12s ease, transform .12s ease;
}

.ff-topic-table tbody tr:hover {
    background: rgba(255,255,255,.02);
    transform: translateX(2px);
}

/* Topic row with sticky/locked indicators */
.ff-topic-row.sticky {
    background: rgba(200,138,42,.05);
}

.ff-topic-row.locked {
    opacity: 0.7;
}

.ff-topic-icon {
    width: 40px;
    text-align: center;
    font-size: 20px;
}

.ff-topic-info {
    width: auto;
}

.ff-topic-title {
    font-size: 15px;
    font-weight: 600;
    margin-bottom: 4px;
}

.ff-topic-title a {
    color: var(--ff-text-primary);
    text-decoration: none;
    position: relative;
    display: inline-block;
    padding: 2px 2px 6px;
    transition: transform .12s ease, color .12s ease;
}

/* Ember underline for topic titles */
.ff-topic-title a::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg,
        transparent,
        rgba(200,138,42,.35),
        rgba(240,184,91,.85),
        rgba(200,138,42,.35),
        transparent
    );
    transform: scaleX(.18);
    transform-origin: left;
    opacity: 0;
    transition: transform .18s ease, opacity .18s ease;
}

.ff-topic-title a:hover {
    color: var(--ff-accent-secondary);
    transform: translateY(-1px);
}

.ff-topic-title a:hover::after {
    opacity: .85;
    transform: scaleX(1);
}

.ff-topic-badges {
    display: inline-block;
    margin-left: 8px;
}

.ff-badge {
    display: inline-block;
    padding: 3px 8px;
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    border-radius: 6px;
    margin-right: 4px;
    letter-spacing: .5px;
}

.ff-badge.sticky {
    background: var(--ff-accent-primary);
    color: var(--ff-bg-primary);
}

.ff-badge.locked {
    background: rgba(255,255,255,.08);
    color: var(--ff-text-secondary);
}

.ff-topic-starter {
    font-size: 12px;
    color: var(--ff-text-secondary);
}

.ff-topic-stats {
    width: 100px;
    text-align: center;
    font-size: 13px;
    color: var(--ff-text-secondary);
}

.ff-topic-lastpost {
    width: 200px;
    font-size: 12px;
}

/* ===== POST CONTAINER (YaBB style with premium panels) ===== */
.ff-post {
    display: table;
    width: 100%;
    background: linear-gradient(180deg, var(--ff-bg-tertiary), var(--ff-bg-secondary));
    border: 1px solid rgba(255,255,255,.06);
    border-radius: var(--ff-radius-sm);
    border-collapse: collapse;
    margin-bottom: 18px;
    box-shadow: var(--ff-shadow);
    transition: transform .12s ease, border-color .12s ease;
}

.ff-post:hover {
    transform: translateY(-2px);
    border-color: rgba(200,138,42,.22);
}

.ff-post-header {
    display: table-row;
    background: rgba(0,0,0,.25);
    border-bottom: 1px solid var(--ff-border-color);
}

.ff-post-header-left,
.ff-post-header-right {
    display: table-cell;
    padding: 10px 20px;
    font-size: 12px;
}

.ff-post-header-left {
    font-weight: 600;
    color: var(--ff-text-primary);
}

.ff-post-header-right {
    text-align: right;
    color: var(--ff-text-secondary);
}

.ff-post-body {
    display: table-row;
}

.ff-post-usercard {
    display: table-cell;
    width: 200px;
    padding: 20px;
    background: rgba(0,0,0,.15);
    border-right: 1px solid var(--ff-border-color);
    vertical-align: top;
}

.ff-post-content-wrapper {
    display: table-cell;
    padding: 20px;
    vertical-align: top;
}

/* ===== USER CARD ===== */
.ff-user-card {
    text-align: center;
}

.ff-user-avatar img {
    width: 100px;
    height: 100px;
    border-radius: 8px;
    border: 2px solid var(--ff-border-color);
    margin-bottom: 12px;
    box-shadow: 0 8px 24px rgba(0,0,0,.35);
    transition: transform .12s ease, border-color .12s ease;
}

.ff-user-avatar a:hover img {
    transform: translateY(-2px);
    border-color: var(--ff-accent-primary);
}

.ff-username {
    font-size: 15px;
    font-weight: 600;
    color: var(--ff-text-primary);
    margin-bottom: 4px;
}

.ff-username a {
    color: var(--ff-text-primary);
    text-decoration: none;
    position: relative;
    display: inline-block;
    padding: 2px 4px;
    transition: color .12s ease;
}

.ff-username a::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -2px;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--ff-accent-primary), var(--ff-accent-secondary), transparent);
    transform: scaleX(.25);
    opacity: 0;
    transition: transform .18s ease, opacity .18s ease;
}

.ff-username a:hover {
    color: var(--ff-accent-secondary);
}

.ff-username a:hover::after {
    transform: scaleX(1);
    opacity: .85;
}

.ff-user-avatar a {
    display: block;
}

.ff-member-title {
    font-size: 11px;
    color: var(--ff-accent-primary);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .5px;
    margin-bottom: 12px;
}

.ff-user-stats,
.ff-user-joined {
    font-size: 11px;
    color: var(--ff-text-secondary);
    margin-bottom: 4px;
}

.ff-stat-label {
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .3px;
}

/* ===== POST CONTENT ===== */
.ff-post-content {
    color: var(--ff-text-primary);
    font-size: 14px;
    line-height: 1.8;
}

.ff-post-content p {
    margin-bottom: 14px;
}

.ff-post-content a {
    color: var(--ff-accent-secondary);
    text-decoration: none;
    position: relative;
    padding: 0 .10em;
}

.ff-post-content a::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -2px;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(200,138,42,.25), rgba(240,184,91,.75), rgba(200,138,42,.25));
    transform: scaleX(.55);
    transform-origin: left;
    opacity: .65;
    transition: transform .18s ease, opacity .18s ease;
}

.ff-post-content a:hover::before {
    transform: scaleX(1);
    opacity: 1;
}

.ff-post-signature {
    margin-top: 20px;
    padding-top: 15px;
    border-top: 1px solid var(--ff-border-color);
    font-size: 12px;
    color: var(--ff-text-secondary);
    font-style: italic;
}

/* ===== BBCODE ELEMENTS ===== */
.ff-quote {
    background: rgba(0,0,0,.25);
    border-left: 3px solid var(--ff-accent-primary);
    border-radius: 0 8px 8px 0;
    padding: 14px 18px;
    margin: 16px 0;
}

.ff-quote-header {
    font-size: 11px;
    font-weight: 600;
    color: var(--ff-accent-primary);
    text-transform: uppercase;
    letter-spacing: .5px;
    margin-bottom: 10px;
}

.ff-quote-body {
    color: var(--ff-text-secondary);
    line-height: 1.6;
}

.ff-code {
    background: rgba(0,0,0,.35);
    border: 1px solid var(--ff-border-color);
    border-radius: 8px;
    padding: 14px;
    margin: 16px 0;
    overflow-x: auto;
    font-family: "Courier New", monospace;
    font-size: 13px;
    line-height: 1.6;
    color: var(--ff-accent-secondary);
}

.ff-posted-image {
    max-width: 100%;
    height: auto;
    border: 1px solid var(--ff-border-color);
    border-radius: 8px;
    margin: 12px 0;
    box-shadow: 0 8px 24px rgba(0,0,0,.35);
}

.ff-list {
    margin-left: 25px;
    margin-bottom: 14px;
    color: var(--ff-text-primary);
}

/* ===== BBCODE TOOLBAR ===== */
.ff-bbcode-toolbar {
    background: rgba(0,0,0,.25);
    border: 1px solid var(--ff-border-color);
    border-radius: 8px;
    padding: 10px;
    margin-bottom: 10px;
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}

.ff-bbcode-btn {
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.08);
    color: var(--ff-text-primary);
    padding: 6px 12px;
    cursor: pointer;
    font-size: 12px;
    font-weight: 600;
    border-radius: 6px;
    transition: all 0.12s ease;
}

.ff-bbcode-btn:hover {
    background: rgba(200,138,42,.12);
    border-color: var(--ff-accent-primary);
    color: var(--ff-accent-secondary);
    transform: translateY(-1px);
}

/* ===== FORMS ===== */
.ff-form-group {
    margin-bottom: 20px;
}

.ff-form-label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 8px;
    color: var(--ff-text-primary);
    text-transform: uppercase;
    letter-spacing: .5px;
}

.ff-input,
.ff-textarea {
    width: 100%;
    background: rgba(0,0,0,.28);
    border: 1px solid rgba(255,255,255,.10);
    color: var(--ff-text-primary);
    padding: 12px 16px;
    font-size: 14px;
    font-family: inherit;
    border-radius: var(--ff-radius-sm);
    transition: border-color .12s ease, box-shadow .12s ease;
}

.ff-textarea {
    min-height: 200px;
    font-family: "Courier New", monospace;
    resize: vertical;
    line-height: 1.6;
}

.ff-input:focus,
.ff-textarea:focus {
    outline: none;
    border-color: var(--ff-accent-primary);
    box-shadow: 0 0 0 6px var(--ff-focus);
}

.ff-btn {
    background: linear-gradient(180deg, rgba(200,138,42,.22), rgba(200,138,42,.06));
    border: 1px solid rgba(200,138,42,.35);
    color: var(--ff-text-primary);
    padding: 12px 24px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    border-radius: var(--ff-radius-sm);
    box-shadow: 0 14px 40px rgba(0,0,0,.35);
    transition: transform .12s ease, filter .12s ease, background .12s ease;
    text-decoration: none;
    display: inline-block;
}

.ff-btn:hover {
    transform: translateY(-2px);
    filter: brightness(1.08);
}

.ff-btn-secondary {
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.10);
    color: var(--ff-text-secondary);
}

.ff-btn-secondary:hover {
    background: rgba(255,255,255,.08);
    color: var(--ff-text-primary);
}

/* ===== PAGINATION ===== */
.ff-pagination {
    background: linear-gradient(180deg, var(--ff-bg-tertiary), var(--ff-bg-secondary));
    border: 1px solid rgba(255,255,255,.06);
    border-radius: var(--ff-radius-sm);
    padding: 12px 18px;
    margin-top: 20px;
    text-align: center;
    box-shadow: var(--ff-shadow);
}

.ff-pagination a,
.ff-pagination span {
    display: inline-block;
    padding: 8px 14px;
    margin: 0 4px;
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.08);
    color: var(--ff-text-primary);
    text-decoration: none;
    font-size: 13px;
    border-radius: 8px;
    transition: all .12s ease;
}

.ff-pagination a:hover {
    background: rgba(200,138,42,.12);
    color: var(--ff-accent-secondary);
    border-color: var(--ff-accent-primary);
    transform: translateY(-1px);
}

.ff-pagination .current {
    background: var(--ff-accent-primary);
    color: var(--ff-bg-primary);
    border-color: var(--ff-accent-primary);
    font-weight: 600;
}

/* ===== WHO'S ONLINE ===== */
.ff-whos-online {
    background: linear-gradient(180deg, var(--ff-bg-tertiary), var(--ff-bg-secondary));
    border: 1px solid rgba(255,255,255,.06);
    border-radius: var(--ff-radius-sm);
    padding: 14px 20px;
    margin-bottom: 20px;
    font-size: 13px;
    color: var(--ff-text-secondary);
    box-shadow: var(--ff-shadow);
}

.ff-whos-online strong {
    color: var(--ff-accent-primary);
    font-weight: 600;
}

/* ===== PAGE HEADERS ===== */
.ff-profile-container,
.ff-rules-container,
.ff-search-container,
.ff-memberlist-container,
.ff-board-header,
.ff-topic-header {
    background: linear-gradient(180deg, var(--ff-bg-tertiary), var(--ff-bg-secondary));
    border: 1px solid rgba(255,255,255,.06);
    border-radius: var(--ff-radius);
    padding: 30px;
    margin-top: 20px;
    box-shadow: var(--ff-shadow);
}

.ff-profile-container h1,
.ff-rules-container h1,
.ff-search-container h1,
.ff-memberlist-container h1,
.ff-board-header h1,
.ff-topic-header h1 {
    color: var(--ff-text-primary);
    border-bottom: 2px solid var(--ff-accent-primary);
    padding-bottom: 15px;
    margin-bottom: 25px;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 768px) {
    .ff-board-table,
    .ff-topic-table {
        font-size: 12px;
    }
    
    .ff-board-lastpost,
    .ff-topic-lastpost {
        display: none;
    }
    
    .ff-post {
        display: block;
    }
    
    .ff-post-usercard {
        display: block;
        width: 100%;
        border-right: none;
        border-bottom: 1px solid var(--ff-border-color);
    }
    
    .ff-user-card {
        display: flex;
        align-items: center;
        text-align: left;
        gap: 15px;
    }
    
    .ff-user-avatar img {
        width: 60px;
        height: 60px;
    }
    
    .ff-post-content-wrapper {
        display: block;
    }
    
    .ff-forum-nav {
        gap: 6px;
    }
    
    .ff-nav-link {
        padding: 6px 12px;
        font-size: 12px;
    }
}

/* ===== FIELD HELP TEXT ===== */
.ff-field-help {
    font-size: 12px;
    color: var(--ff-text-secondary);
    margin-top: 6px;
    font-style: italic;
}

/* ===== NOTICES ===== */
.ff-notice {
    padding: 16px 20px;
    margin-bottom: 20px;
    border-left: 4px solid;
    border-radius: 0 8px 8px 0;
    background: rgba(0,0,0,.25);
}

.ff-notice-success {
    background: rgba(0,255,0,.08);
    border-color: #00ff00;
    color: #00ff00;
}

/* ===== NO RESULTS / EMPTY STATES ===== */
.ff-no-topics,
.ff-no-results,
.ff-no-boards {
    padding: 60px 40px;
    text-align: center;
    background: linear-gradient(180deg, var(--ff-bg-tertiary), var(--ff-bg-secondary));
    border: 1px solid rgba(255,255,255,.06);
    border-radius: var(--ff-radius);
    color: var(--ff-text-secondary);
    font-style: italic;
    box-shadow: var(--ff-shadow);
}

/* ===== ACCESSIBILITY ===== */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
    outline: none;
    box-shadow: 0 0 0 6px var(--ff-focus);
    border-radius: var(--ff-radius-sm);
}
