.dig-forum-shell {
    color: var(--dig-ink);
    --forum-bg: var(--bg);
    --forum-surface-1: var(--surface-1, var(--surface));
    --forum-surface-2: var(--surface-2);
    --forum-border: var(--dig-border);
    --forum-text: var(--text);
    --forum-muted: var(--text-muted);
    --forum-link: var(--link);
    --forum-focus: var(--focus);
    max-width: 76rem;
    margin-inline: auto;
    padding-top: 0.45rem;
}

.ui-topnav .ui-topnav__inner {
    min-height: 52px;
    padding-top: 0.2rem;
    padding-bottom: 0.2rem;
}

.ui-topnav .ui-topnav__link.portal-nav-link {
    min-height: 44px;
    padding-top: 0.38rem;
    padding-bottom: 0.38rem;
}

.ui-utility-bar {
    border-bottom-width: 1px;
}

.ui-utility-bar__inner {
    min-height: 36px;
    padding-top: 1px;
    padding-bottom: 1px;
    align-items: center;
}

.ui-header-controls {
    min-height: 36px;
    gap: 6px;
    align-items: center;
}

.dig-forum-shell h1,
.dig-forum-shell h2,
.dig-forum-shell h3,
.dig-forum-shell h4 {
    color: var(--dig-ink);
}

.dig-forum-shell a {
    color: var(--forum-link);
    text-decoration-thickness: 1.5px;
    text-underline-offset: 0.16em;
}

.dig-forum-panel {
    background: var(--forum-surface-1);
    border: 1px solid var(--forum-border);
    border-radius: 0.75rem;
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: linear-gradient(
        180deg,
        color-mix(in srgb, var(--forum-surface-1) 86%, white) 0%,
        color-mix(in srgb, var(--forum-surface-2) 88%, var(--forum-surface-1)) 100%
    );
    border: 1px solid var(--dig-border);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.28),
        0 12px 26px color-mix(in srgb, var(--forum-border) 34%, transparent);
    backdrop-filter: blur(10px) saturate(130%);
    -webkit-backdrop-filter: blur(10px) saturate(130%);
}

.dig-forum-panel::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    background: linear-gradient(
        180deg,
        rgba(255, 255, 255, 0.2) 0%,
        rgba(255, 255, 255, 0.04) 100%
    );
}

.dig-forum-panel > * {
    position: relative;
    z-index: 1;
}

.dig-forum-panel--nested {
    box-shadow: var(--dig-shadow-sm);
}

.dig-forum-index-card {
    padding: 0.5rem 1rem 1rem;
}

.dig-forum-shell .ui-page-header {
    margin-bottom: 0.35rem;
}

.dig-forum-shell .ui-page-header__inner {
    gap: 0.7rem;
}

.dig-forum-shell .ui-page-header__title {
    font-size: clamp(1.6rem, 2.4vw, 2.1rem);
    line-height: 1.2;
}

.dig-forum-shell .ui-page-header__subtitle {
    margin-top: 0.2rem;
    color: var(--forum-muted);
    font-size: 0.96rem;
}

.dig-forum-breadcrumbs {
    margin-bottom: 0.55rem;
}

.dig-forum-breadcrumbs ol {
    display: flex;
    flex-wrap: wrap;
    gap: 0.2rem;
    font-size: 0.93rem;
    line-height: 1.45;
    color: var(--forum-muted);
}

.dig-forum-breadcrumbs li {
    min-height: 30px;
    display: inline-flex;
    align-items: center;
}

.dig-forum-shell .dig-forum-category-list {
    margin: 0;
    padding: 0;
    list-style: none;
    border: 1px solid var(--dig-border);
    border-radius: 0.75rem;
    overflow: hidden;
    background: var(--forum-surface-1);
}

.dig-forum-shell .dig-forum-category-list > .dig-forum-category-row + .dig-forum-category-row {
    margin-top: 0;
}

.dig-forum-shell .dig-forum-category-row {
    margin: 0;
    padding: 0;
    min-height: 44px;
    border: 0;
    border-top: 1px solid var(--forum-border);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.dig-forum-shell .dig-forum-category-list > .dig-forum-category-row:first-child {
    border-top: 0;
}

.dig-forum-shell .dig-clickable-row__body--actions {
    flex: 1 1 16rem;
    min-width: 0;
    gap: 0.3rem;
    padding: 1rem;
}

.dig-forum-shell .dig-forum-category-row .dig-clickable-row__link--row {
    min-height: 46px;
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    color: var(--forum-text);
    font-weight: 650;
    font-size: 1.08rem;
    line-height: 1.35;
}

.dig-forum-shell .dig-forum-category-row:hover {
    background: color-mix(in srgb, var(--forum-surface-2) 68%, var(--forum-surface-1));
}

.dig-forum-shell .dig-forum-category-row .dig-clickable-row__link {
    min-height: 0;
    max-width: none;
    overflow: visible;
    white-space: normal;
    color: var(--forum-text);
    font-size: 1.08rem;
    line-height: 1.35;
}

.dig-forum-shell .dig-clickable-row__description {
    color: var(--forum-muted);
    font-size: 1rem;
    line-height: 1.55;
}

.dig-forum-shell .dig-clickable-row__actions--meta {
    position: relative;
    z-index: 1;
    width: auto;
    margin-left: auto;
    align-items: center;
    gap: 0.45rem;
    padding: 1rem 1rem 1rem 0;
    pointer-events: none;
}

.dig-forum-shell .dig-clickable-row__meta--quiet {
    color: var(--forum-muted);
    font-size: 0.95rem;
    line-height: 1.35;
}

.dig-forum-shell .dig-clickable-row__meta-slot {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    pointer-events: none;
}

.dig-forum-shell .dig-forum-stat-chip {
    display: inline-flex;
    align-items: center;
    border: 1px solid var(--forum-border);
    border-radius: 999px;
    background: color-mix(in srgb, var(--forum-surface-2) 85%, transparent);
    color: var(--forum-muted);
    font-size: 0.87rem;
    line-height: 1;
    padding: 0.36rem 0.64rem;
    white-space: nowrap;
}

.dig-forum-shell .dig-clickable-row__action-links {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    pointer-events: auto;
}

.dig-forum-shell .dig-clickable-row__btn--link {
    min-height: 44px;
    min-width: 44px;
    padding: 0.5rem 0.8rem;
    border-radius: 999px;
    text-decoration: none;
    font-size: 0.9rem;
    line-height: 1.15;
    color: var(--dig-link);
}

.dig-forum-shell .dig-clickable-row__chevron {
    color: var(--forum-muted);
    flex-shrink: 0;
}

.dig-forum-shell .dig-forum-category-list--nested {
    margin: 0;
    border: 0;
    border-top: 1px solid var(--forum-border);
    border-radius: 0;
    background: var(--forum-surface-2);
}

.dig-forum-shell .dig-forum-category-list--nested .dig-forum-category-row {
    border-top-color: color-mix(in srgb, var(--forum-border) 76%, var(--forum-surface-2));
}

.dig-forum-shell .dig-forum-category-list--nested .dig-clickable-row__body--actions {
    padding-left: 1.4rem;
}

.dig-forum-panel--subcat {
    background: var(--dig-surface-2);
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.dig-forum-panel-header {
    background: var(--forum-surface-2);
    border-bottom: 1px solid var(--forum-border);
    font-size: 0.98rem;
    line-height: 1.45;
}

.dig-forum-muted {
    color: var(--forum-muted);
    font-size: 0.97rem;
    line-height: 1.45;
}

.dig-forum-meta-label {
    color: var(--forum-text);
    font-weight: 600;
    margin-right: 0.25rem;
}

.dig-forum-link {
    color: var(--dig-link);
}
.dig-forum-link-danger {
    color: var(--dig-danger, var(--dig-red));
}
.dig-forum-muted-link {
    color: var(--text-muted);
}

.dig-forum-input {
    background: var(--control-bg);
    border: 1px solid var(--forum-border);
    color: var(--dig-ink);
    min-height: 44px;
    font-size: 1rem;
    line-height: 1.45;
}

.dig-forum-input:focus {
    outline: 2px solid var(--dig-focus);
    outline-offset: 1px;
}

.dig-forum-input:disabled,
.dig-forum-checkbox:disabled {
    background: var(--disabled-bg);
    color: var(--disabled-text);
    cursor: not-allowed;
}

.dig-forum-checkbox {
    accent-color: var(--dig-link);
    width: 1rem;
    height: 1rem;
}

.dig-forum-alert {
    border: 1px solid var(--forum-border);
    background: var(--forum-surface-2);
    color: var(--dig-body);
}

.dig-forum-alert--danger {
    border-color: var(--badge-danger-border);
    background: var(--badge-danger-bg);
}

.dig-forum-shell .bg-white {
    background: var(--dig-surface-1) !important;
}
.dig-forum-shell .bg-gray-100 {
    background: var(--dig-surface-2) !important;
}
.dig-forum-shell .bg-gray-400,
.dig-forum-shell .bg-gray-500,
.dig-forum-shell .bg-blue-500 {
    background: var(--chip-bg) !important;
    border-color: var(--chip-border) !important;
    color: var(--chip-text) !important;
}
.dig-forum-shell .bg-red-500,
.dig-forum-shell .hover\:bg-red-400:hover {
    background: var(--badge-danger-bg) !important;
    border-color: var(--badge-danger-border) !important;
    color: var(--badge-danger-text) !important;
}
.dig-forum-shell .bg-orange-500 {
    background: var(--badge-success-bg) !important;
    border-color: var(--badge-success-border) !important;
    color: var(--badge-success-text) !important;
}
.dig-forum-shell .text-gray-500 {
    color: var(--text-muted) !important;
}
.dig-forum-shell .text-gray-800 {
    color: var(--dig-ink) !important;
}
.dig-forum-shell .text-blue-500 {
    color: var(--dig-link) !important;
}
.dig-forum-shell .border,
.dig-forum-shell .border-b,
.dig-forum-shell .list-group {
    border-color: var(--forum-border) !important;
}
.dig-forum-shell .shadow-sm {
    box-shadow: var(--dig-shadow-sm) !important;
}
.dig-forum-shell .card {
    background: var(--dig-surface-1);
    border: 1px solid var(--dig-hairline);
    border-radius: 0.75rem;
}
.dig-forum-shell .card-body {
    color: var(--dig-body);
}
.dig-forum-shell .form-check-label,
.dig-forum-shell label {
    color: var(--dig-body);
}
.dig-forum-shell .ring-blue-500,
.dig-forum-shell .border-blue-500 {
    --tw-ring-color: var(--dig-link) !important;
    border-color: var(--dig-link) !important;
}

.dig-forum-shell .threads.list-group {
    border: 1px solid var(--dig-border) !important;
    border-radius: 0.75rem;
    background: var(--forum-surface-1);
    box-shadow: none !important;
    overflow: hidden;
}

.dig-forum-page {
    font-size: 1.03rem;
    line-height: 1.58;
}

.dig-forum-subtitle {
    margin: 0 0 0.6rem;
    font-size: 1.25rem;
    line-height: 1.3;
    color: var(--forum-text);
}

.dig-forum-empty-state {
    padding: 1rem;
}

.dig-forum-empty-state__actions {
    margin-top: 0.85rem;
}

.dig-forum-paginator {
    margin-top: 0.6rem;
    margin-bottom: 0.6rem;
}

.dig-forum-pagination__list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.dig-forum-pagination__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    padding: 0.45rem 0.75rem;
    border-radius: 10px;
    border: 1px solid var(--forum-border);
    background: var(--forum-surface-1);
    color: var(--forum-text);
    text-decoration: none;
    font-weight: 600;
}

.dig-forum-pagination__item.is-active .dig-forum-pagination__link {
    background: var(--dig-navy-700);
    border-color: var(--dig-navy-700);
    color: var(--dig-white);
}

.dig-forum-pagination__item.is-disabled .dig-forum-pagination__link {
    opacity: 0.52;
}

.dig-forum-thread-row__select {
    display: flex;
    justify-content: center;
    position: relative;
    z-index: 2;
    padding-right: 0.6rem;
}

.dig-forum-shell .dig-forum-panel.ui-record-card {
    border: 1px solid color-mix(in srgb, var(--forum-border) 88%, white 12%);
}

.dig-forum-thread-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
}

.dig-forum-reply-panel {
    padding: 1rem;
}

.dig-forum-post-actions a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 0.35rem 0.55rem;
    border-radius: 0.5rem;
}

.dig-forum-post-actions a:hover {
    background: var(--forum-surface-2);
}

.dig-forum-shell .ui-header-icon-btn,
.dig-forum-shell .ui-header-signin-btn,
.dig-forum-shell .ui-header-auth-chip,
.dig-forum-shell .ui-a11y-tools__toggle,
.dig-forum-shell .ui-text-scale__button,
.dig-forum-shell .ui-contrast-toggle {
    min-height: 44px;
}

@media (prefers-color-scheme: dark) {
    .dig-forum-shell {
        --forum-surface-1: color-mix(in srgb, var(--surface) 95%, #0a1628);
        --forum-surface-2: color-mix(in srgb, var(--surface-2) 98%, #0a1628);
        --forum-border: color-mix(in srgb, var(--dig-border) 72%, #d6e2f3);
        --forum-text: #edf2f8;
        --forum-muted: #cfd9e6;
        --forum-link: #9ecbff;
    }

    .dig-forum-panel {
        background: linear-gradient(
            180deg,
            rgba(10, 22, 40, 0.74) 0%,
            rgba(23, 42, 72, 0.68) 100%
        );
        border-color: var(--forum-border);
        box-shadow:
            inset 0 1px 0 rgba(255, 255, 255, 0.08),
            0 14px 32px rgba(0, 8, 22, 0.5);
    }

    .dig-forum-panel::before {
        background: linear-gradient(
            180deg,
            rgba(255, 255, 255, 0.08) 0%,
            rgba(255, 255, 255, 0.02) 100%
        );
    }

    .dig-forum-shell .threads.list-group,
    .dig-forum-shell .dig-forum-category-list {
        border-color: var(--forum-border) !important;
    }
}

@media (max-width: 640px) {
    .dig-forum-shell .dig-clickable-row__body--actions {
        flex-basis: 100%;
        padding-bottom: 0.5rem;
    }

    .dig-forum-shell .dig-clickable-row__actions--meta {
        width: 100%;
        margin-left: 0;
        justify-content: space-between;
        padding: 0 1rem 1rem;
        pointer-events: none;
    }

    .dig-forum-shell .dig-clickable-row__meta--quiet {
        white-space: normal;
    }

    .dig-forum-shell .dig-clickable-row__action-links {
        justify-content: flex-end;
    }

}

@media (prefers-reduced-motion: reduce) {
    .dig-forum-shell *,
    .dig-forum-shell *::before,
    .dig-forum-shell *::after {
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

.forum-rich-editor {
    border: 1px solid var(--forum-border);
    border-radius: 0.75rem;
    overflow: hidden;
    background: var(--forum-surface-1);
}

.forum-rich-editor__toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    padding: 0.5rem;
    border-bottom: 1px solid var(--forum-border);
    background: var(--forum-surface-2);
}

.forum-rich-editor__btn {
    border: 1px solid var(--forum-border);
    border-radius: 0.5rem;
    padding: 0.22rem 0.46rem;
    background: transparent;
    color: var(--forum-text);
    font-size: 0.85rem;
    cursor: pointer;
}

.forum-rich-editor__btn:focus-visible,
.forum-rich-editor__surface:focus-visible {
    outline: 2px solid var(--dig-focus);
    outline-offset: 2px;
}

.forum-rich-editor__surface {
    min-height: 12rem;
    padding: 0.75rem;
    background: var(--forum-surface-1);
}
