@import url("/webjars/bootstrap/5.3.8/css/bootstrap.min.css");
@import url("https://maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css");


body {
    /*padding-top: 3.5rem;*/
}

.void-console-nav {
    display: block;
    padding: 0;
    border-bottom: 1px solid rgba(128, 190, 185, 0.22);
    background:
        repeating-linear-gradient(90deg, rgba(117, 202, 187, 0.045) 0 1px, transparent 1px 64px),
        linear-gradient(180deg, rgba(6, 11, 16, 0.98), rgba(4, 9, 14, 0.94));
    box-shadow: 0 18px 44px rgba(0, 0, 0, 0.32);
}

.void-nav-status-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.45rem 0.85rem;
    border-bottom: 1px solid rgba(128, 190, 185, 0.16);
    color: rgba(201, 216, 221, 0.72);
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
    font-size: 0.68rem;
    font-weight: 900;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.void-signal-online {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    color: #deb15f;
}

.void-signal-dot {
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 999px;
    background: #75cab9;
    box-shadow: 0 0 14px rgba(117, 202, 185, 0.9);
    animation: voidSignalBlink 2.8s ease-in-out infinite;
}

.void-channel-label {
    color: rgba(201, 216, 221, 0.58);
}

.void-console-nav .void-nav-row {
    padding: 0.55rem 0.85rem;
}

.void-nav-brand {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    color: #ffffff;
    font-weight: 950;
}

.void-brand-mark {
    width: 2.25rem;
    height: 2.25rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(128, 190, 185, 0.24);
    border-radius: 0.5rem;
    background: rgba(117, 202, 187, 0.12);
    color: #deb15f;
    font-size: 1.1rem;
    font-weight: 950;
}

.void-console-nav .navbar-toggler {
    border-color: rgba(128, 190, 185, 0.28);
    border-radius: 0.5rem;
    color: #75cab9;
}

.void-console-nav .navbar-toggler:focus {
    box-shadow: 0 0 0 0.2rem rgba(117, 202, 185, 0.16);
}

.void-console-nav .navbar-nav {
    gap: 0.25rem;
}

.void-console-nav .nav-link {
    border: 1px solid transparent;
    border-radius: 999px;
    color: rgba(230, 237, 242, 0.78);
    font-size: 0.86rem;
    font-weight: 850;
    padding: 0.5rem 0.78rem;
}

.void-console-nav .nav-link:hover,
.void-console-nav .nav-link:focus-visible,
.void-console-nav .show > .nav-link {
    border-color: rgba(117, 202, 187, 0.34);
    background: rgba(117, 202, 187, 0.12);
    color: #ffffff;
}

.void-console-nav .nav-link.active {
    border-color: #75cab9;
    background: #75cab9;
    color: #071016;
}

.void-console-nav .dropdown-menu,
.void-console-nav .profile-menu,
.void-console-nav .notification-panel {
    border: 1px solid rgba(128, 190, 185, 0.22);
    background: rgba(4, 9, 14, 0.98);
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.42);
}

.void-console-nav .dropdown-menu {
    padding: 0.45rem;
    border-radius: 0.5rem;
}

.void-console-nav .dropdown-item {
    border-radius: 0.38rem;
    color: rgba(230, 237, 242, 0.78);
    font-weight: 750;
}

.void-console-nav .dropdown-item:hover,
.void-console-nav .dropdown-item:focus-visible {
    background: rgba(117, 202, 187, 0.14);
    color: #ffffff;
}

.void-console-nav .tools-menu .dropdown-item.active {
    background: #deb15f;
    color: #071016;
}

.void-console-nav .void-login-action,
.void-console-nav .void-signup-action {
    border-radius: 999px;
    font-weight: 850;
}

.void-console-nav .void-login-action {
    border-color: rgba(128, 190, 185, 0.34);
    color: rgba(230, 237, 242, 0.84);
}

.void-console-nav .void-login-action:hover,
.void-console-nav .void-login-action:focus-visible {
    background: rgba(117, 202, 187, 0.14);
    color: #ffffff;
}

.void-console-nav .void-signup-action {
    border-color: #deb15f;
    background: #deb15f;
    color: #071016;
}

.void-console-nav .notification-panel-title {
    color: #ffffff;
    border-bottom-color: rgba(128, 190, 185, 0.18);
}

.void-console-nav .notification-empty {
    color: rgba(201, 216, 221, 0.68) !important;
}

.void-console-nav .notification-item {
    border-bottom-color: rgba(128, 190, 185, 0.14);
    background: rgba(4, 9, 14, 0.98);
    color: rgba(230, 237, 242, 0.82);
}

.void-console-nav .notification-item:hover,
.void-console-nav .notification-item:focus-visible,
.void-console-nav .notification-item.unread {
    background: rgba(117, 202, 187, 0.12);
}

.void-console-nav .notification-title {
    color: #ffffff;
}

.void-console-nav .notification-text,
.void-console-nav .notification-time {
    color: rgba(201, 216, 221, 0.7);
}

.nav-profile {
    position: relative;
}

.avatar-btn {
    width: 38px;
    height: 38px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.4);
    background: transparent;
    color: #ffffff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out;
}

.avatar-btn:hover,
.avatar-btn:focus-visible {
    background-color: rgba(255, 255, 255, 0.12);
    border-color: rgba(255, 255, 255, 0.7);
}

.avatar-initials {
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.12em;
}

.profile-menu {
    position: absolute;
    top: calc(100% + 0.5rem);
    right: 0;
    min-width: 170px;
    border-radius: 0.5rem;
    border: 1px solid rgba(0, 0, 0, 0.12);
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.15);
}

.nav-notifications {
    position: relative;
}

.notification-btn {
    width: 38px;
    height: 38px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.4);
    background: transparent;
    color: #ffffff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    position: relative;
}

.notification-btn:hover,
.notification-btn:focus-visible {
    background-color: rgba(255, 255, 255, 0.12);
    border-color: rgba(255, 255, 255, 0.7);
}

.notification-badge {
    position: absolute;
    top: -5px;
    right: -5px;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 999px;
    background: #dc3545;
    color: #ffffff;
    font-size: 0.7rem;
    font-weight: 700;
    line-height: 18px;
}

.notification-panel {
    position: absolute;
    top: calc(100% + 0.5rem);
    right: 0;
    width: min(340px, calc(100vw - 2rem));
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.12);
    border-radius: 0.5rem;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.15);
    z-index: 1050;
    overflow: hidden;
}

.notification-panel-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.75rem 1rem;
    font-weight: 700;
    color: #212529;
    border-bottom: 1px solid #e9ecef;
}

.notification-panel-title a {
    color: inherit;
    font-size: 0.78rem;
    font-weight: 800;
    text-decoration: none;
}

.notification-panel-title a:hover,
.notification-panel-title a:focus-visible {
    text-decoration: underline;
}

.notification-enable-btn,
.notification-browser-status {
    display: block;
    width: calc(100% - 2rem);
    margin: 0.75rem 1rem 0;
    border: 1px solid rgba(117, 202, 185, 0.34);
    border-radius: 0.45rem;
    background: rgba(117, 202, 185, 0.12);
    color: #ffffff;
    font-size: 0.78rem;
    font-weight: 850;
    padding: 0.45rem 0.65rem;
    text-align: center;
}

.notification-enable-btn:hover,
.notification-enable-btn:focus-visible {
    background: rgba(117, 202, 185, 0.2);
}

.notification-empty {
    padding: 1rem;
}

.notification-item {
    width: 100%;
    border: 0;
    border-bottom: 1px solid #e9ecef;
    background: #ffffff;
    color: #212529;
    display: block;
    padding: 0.75rem 1rem;
    text-align: left;
}

.notification-item:last-child {
    border-bottom: 0;
}

.notification-item:hover,
.notification-item:focus-visible,
.notification-item.unread {
    background: #f8f9fa;
}

.notification-title,
.notification-text,
.notification-time {
    display: block;
}

.notification-title {
    font-weight: 700;
}

.notification-text {
    color: #495057;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.notification-time {
    color: #6c757d;
    font-size: 0.8rem;
    margin-top: 0.2rem;
}

.post-avatar {
    width: 44px;
    height: 44px;
    border-radius: 999px;
    background-color: #212529;
    color: #ffffff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.post-avatar-text {
    font-size: 0.85rem;
    font-weight: 600;
    letter-spacing: 0.12em;
}

.post-header {
    flex-wrap: nowrap;
}

.post-handle {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.post-meta small {
    white-space: nowrap;
}

.post-content {
    min-width: 0;
    flex: 1 1 auto;
}

.back-office .table-responsive {
    max-height: 70vh;
    overflow: auto;
}

.back-office .table td,
.back-office .table th {
    white-space: nowrap;
    padding-right: 1.25rem;
}

.back-office .table td:last-child,
.back-office .table th:last-child {
    padding-right: 0.75rem;
}

.back-office .card {
    border-radius: 1rem;
    border-color: #e5e7eb;
}

.back-office .card-body {
    padding: 1.5rem;
}

.back-office .table-responsive {
    background: #ffffff;
}

.back-office-nav .nav-link {
    color: #111827;
    border-radius: 999px;
    padding: 0.4rem 1.1rem;
    border: 1px solid #e5e7eb;
}

.back-office-nav .nav-link.active {
    background: #111827;
    color: #ffffff;
    border-color: #111827;
}

@media (max-width: 992px) {
    .nav-profile .dropdown-menu {
        position: static;
        margin-top: 0.5rem;
        min-width: 100%;
    }

    .nav-notifications {
        position: static;
    }

    .notification-panel {
        position: static;
        width: 100%;
        margin-top: 0.5rem;
    }
}

.post-text {
    margin-top: 1rem;
    margin-bottom: 1rem;
}

.post-body {
    font-size: 1.25rem;
    line-height: 1.45;
}

.post-context-text {
    font-size: 1.1rem;
    line-height: 1.35;
}

.vin-decoder-page {
    background: #f6f7f9;
}

.vin-decoder-shell {
    display: grid;
    gap: 1.25rem;
}

.vin-decoder-input,
.vin-result {
    background: #ffffff;
    border: 1px solid #dee2e6;
    border-radius: 0.5rem;
    padding: clamp(1rem, 3vw, 2rem);
}

.vin-decode-form .form-control {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.vin-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
}

.vin-summary-item {
    border: 1px solid #e9ecef;
    border-radius: 0.5rem;
    padding: 0.85rem;
    background: #fbfcfd;
    min-width: 0;
}

.vin-summary-item span {
    display: block;
    color: #6c757d;
    font-size: 0.8rem;
    margin-bottom: 0.2rem;
}

.vin-summary-item strong {
    display: block;
    color: #212529;
    font-size: 1.1rem;
    overflow-wrap: anywhere;
}

.vin-summary-wide {
    grid-column: span 2;
}

.vin-output-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 1rem;
    margin-top: 1.25rem;
}

.vin-output-panel {
    min-width: 0;
}

.vin-code-output {
    background: #111827;
    color: #f8f9fa;
    border-radius: 0.5rem;
    padding: 1rem;
    max-height: 460px;
    overflow: auto;
    white-space: pre-wrap;
    word-break: break-word;
}

@media (max-width: 768px) {
    .vin-summary-grid,
    .vin-output-grid {
        grid-template-columns: 1fr;
    }

    .vin-summary-wide {
        grid-column: auto;
    }
}

.home-page {
    overflow-x: hidden;
}

.home-void-gateway {
    background:
        linear-gradient(180deg, rgba(7, 11, 16, 0.92), rgba(7, 11, 16, 0.96)),
        url("/3b825c1d3018ae14ad2d/images/photos/IMG_0390.jpeg") center center / cover fixed no-repeat;
}

.home-void-shell {
    min-height: calc(100vh - 56px);
    display: flex;
    align-items: center;
    padding: 5.25rem 0 3rem;
}

.home-void-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.74fr);
    gap: 2rem;
    align-items: center;
}

.home-void-copy {
    max-width: 760px;
}

.home-kicker {
    letter-spacing: 0.28em;
    text-transform: uppercase;
    font-size: 0.75rem;
    font-weight: 700;
    color: #deb15f;
    margin-bottom: 0.75rem;
}

.home-void-copy h1 {
    max-width: 760px;
    font-size: 5.9rem;
    line-height: 0.92;
    font-weight: 900;
    color: #ffffff;
    text-shadow: 0 4px 0 rgba(61, 78, 94, 0.55);
    margin-bottom: 1.25rem;
}

.home-intro {
    max-width: 630px;
    color: rgba(229, 238, 240, 0.82);
    font-size: 1.25rem;
    line-height: 1.55;
    margin-bottom: 1.75rem;
}

.home-void-primary {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    min-height: 3.1rem;
    padding: 0.75rem 1.15rem;
    border-color: rgba(117, 202, 187, 0.82);
    background: #75cab9;
    color: #071016;
    box-shadow: 0 18px 36px rgba(0, 0, 0, 0.34);
}

.home-void-primary:hover,
.home-void-primary:focus-visible {
    border-color: #a5e3d8;
    background: #a5e3d8;
    color: #071016;
}

.home-void-signal-panel {
    border: 1px solid rgba(128, 190, 185, 0.22);
    border-radius: 0.5rem;
    background: rgba(5, 9, 14, 0.74);
    box-shadow: 0 22px 70px rgba(0, 0, 0, 0.34);
    backdrop-filter: blur(12px);
    overflow: hidden;
}

.home-void-panel-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: 1rem 1.1rem;
    border-bottom: 1px solid rgba(128, 190, 185, 0.18);
    color: rgba(229, 238, 240, 0.7);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.home-void-active {
    padding: 1rem;
}

.home-void-signal-list,
.home-void-empty {
    display: grid;
    gap: 0.65rem;
}

.home-void-signal-item,
.home-void-empty {
    border: 1px solid rgba(128, 190, 185, 0.14);
    border-radius: 0.45rem;
    color: rgba(229, 238, 240, 0.82);
    background: rgba(8, 16, 20, 0.82);
    text-decoration: none;
}

.home-void-signal-item {
    display: grid;
    grid-template-columns: 1fr;
    align-items: start;
    min-height: 5.1rem;
    padding: 0.75rem;
}

.home-void-empty {
    display: grid;
    gap: 0.7rem;
    min-height: 18rem;
    align-content: center;
    padding: 1.15rem;
}

.home-void-signal-item:hover,
.home-void-signal-item:focus-visible {
    border-color: rgba(117, 202, 187, 0.52);
    color: #ffffff;
    background: rgba(12, 25, 29, 0.9);
}

.home-void-eyebrow {
    color: rgba(222, 177, 95, 0.9);
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.home-void-signal-copy {
    min-width: 0;
}

.home-void-signal-item strong,
.home-void-empty strong {
    color: #ffffff;
    display: block;
    font-size: 1rem;
    line-height: 1.1;
    margin-bottom: 0.25rem;
}

.home-void-active-text {
    color: rgba(229, 238, 240, 0.84);
    display: -webkit-box;
    font-size: 0.92rem;
    line-height: 1.35;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.home-void-active-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin-top: 0.55rem;
}

.home-void-active-stats span {
    border: 1px solid rgba(117, 202, 187, 0.28);
    border-radius: 999px;
    color: #d8f3ed;
    font-size: 0.82rem;
    font-weight: 800;
    padding: 0.3rem 0.62rem;
}

@media (max-width: 992px) {
    .home-void-shell {
        min-height: auto;
        padding-top: 4rem;
    }

    .home-void-hero {
        grid-template-columns: 1fr;
    }

    .home-void-copy h1 {
        font-size: 4.3rem;
    }
}

@media (max-width: 576px) {
    .home-void-gateway {
        background-attachment: scroll;
    }

    .home-void-shell {
        padding: 3rem 0 2rem;
    }

    .home-void-copy h1 {
        font-size: 3.15rem;
        text-shadow: 0 3px 0 rgba(61, 78, 94, 0.48);
    }

    .home-intro {
        font-size: 1.08rem;
    }

    .home-void-empty {
        min-height: 14rem;
    }
}

.site-page {
    background: #f4f0e8;
    color: #17202a;
}

.site-main {
    min-height: calc(100vh - 56px);
}

.site-hero {
    position: relative;
    overflow: hidden;
    color: #ffffff;
    padding: clamp(3.5rem, 8vw, 6rem) 0 clamp(4rem, 8vw, 6.5rem);
    background:
        linear-gradient(90deg, rgba(13, 18, 24, 0.84), rgba(13, 18, 24, 0.48)),
        url("/3b825c1d3018ae14ad2d/images/photos/IMG_0257.jpeg") center center / cover no-repeat;
}

.site-hero::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 5rem;
    background: linear-gradient(180deg, rgba(244, 240, 232, 0), #f4f0e8);
    pointer-events: none;
}

.site-hero .container,
.site-hero .container-fluid {
    position: relative;
    z-index: 1;
}

.site-hero h1 {
    max-width: 780px;
    font-size: clamp(2.4rem, 6vw, 5.4rem);
    line-height: 0.95;
    font-weight: 800;
    margin-bottom: 0.9rem;
}

.site-hero p:not(.home-kicker) {
    max-width: 640px;
    color: rgba(255, 255, 255, 0.88);
    font-size: clamp(1.05rem, 2vw, 1.25rem);
    line-height: 1.48;
    margin-bottom: 0;
}

.site-content {
    padding: clamp(1.5rem, 4vw, 3rem) 0 4rem;
}

.content-panel,
.site-page .card {
    border: 1px solid rgba(23, 32, 42, 0.12);
    border-radius: 0.5rem;
    box-shadow: 0 16px 44px rgba(23, 32, 42, 0.10);
}

.content-panel {
    background: #ffffff;
    padding: clamp(1rem, 3vw, 2rem);
}

.site-page .card {
    overflow: hidden;
}

.site-page .btn {
    border-radius: 0.35rem;
    font-weight: 700;
}

.site-page .form-control,
.site-page .form-select {
    border-radius: 0.35rem;
}

.site-page .list-group {
    border-radius: 0.5rem;
}

.site-hero-void {
    background:
        linear-gradient(90deg, rgba(13, 18, 24, 0.86), rgba(37, 58, 92, 0.52)),
        url("/3b825c1d3018ae14ad2d/images/photos/IMG_0390.jpeg") center center / cover no-repeat;
}

.void-rules {
    display: grid;
    gap: 0.35rem;
    max-width: 42rem;
    margin: 1.1rem 0 0;
    padding-left: 1.35rem;
}

.void-rules li::marker {
    color: #f0d39b;
    font-weight: 900;
}

.site-hero-lunch {
    background:
        linear-gradient(90deg, rgba(13, 18, 24, 0.84), rgba(79, 125, 77, 0.56)),
        url("/3b825c1d3018ae14ad2d/images/photos/IMG_0947.jpeg") center center / cover no-repeat;
}

.site-hero-vin {
    background:
        linear-gradient(90deg, rgba(13, 18, 24, 0.86), rgba(122, 64, 95, 0.56)),
        url("/3b825c1d3018ae14ad2d/images/photos/IMG_1668.JPG") center center / cover no-repeat;
}

.site-hero-blog,
.site-hero-profile,
.site-hero-user,
.site-hero-post {
    background:
        linear-gradient(90deg, rgba(13, 18, 24, 0.86), rgba(37, 58, 92, 0.50)),
        url("/3b825c1d3018ae14ad2d/images/photos/IMG_0072.jpeg") center center / cover no-repeat;
}

.site-hero-photo {
    background:
        linear-gradient(90deg, rgba(13, 18, 24, 0.82), rgba(144, 96, 31, 0.42)),
        url("/3b825c1d3018ae14ad2d/images/photos/IMG_0130.jpeg") center center / cover no-repeat;
}

.site-hero-report,
.site-hero-office {
    background:
        linear-gradient(90deg, rgba(13, 18, 24, 0.88), rgba(122, 64, 95, 0.50)),
        url("/3b825c1d3018ae14ad2d/images/photos/IMG_1854.jpeg") center center / cover no-repeat;
}

.site-hero-messages {
    background:
        linear-gradient(90deg, rgba(13, 18, 24, 0.88), rgba(79, 125, 77, 0.52)),
        url("/3b825c1d3018ae14ad2d/images/photos/IMG_0947.jpeg") center center / cover no-repeat;
}

.void-shell-page {
    min-height: 100vh;
    background-color: #070b10;
    background-image:
        linear-gradient(180deg, rgba(8, 16, 20, 0.92), rgba(5, 8, 13, 0.98)),
        repeating-linear-gradient(90deg, rgba(117, 202, 187, 0.055) 0 1px, transparent 1px 68px),
        repeating-linear-gradient(0deg, rgba(222, 177, 95, 0.04) 0 1px, transparent 1px 68px),
        linear-gradient(126deg, rgba(49, 104, 105, 0.22), transparent 42%, rgba(128, 82, 51, 0.14));
    color: #e6edf2;
}

.void-shell-page .site-main {
    background: transparent;
    color: inherit;
    min-height: calc(100vh - 56px);
}

.void-shell-page .site-hero,
.void-shell-page .site-content {
    background: transparent;
}

.void-shell-page .site-hero {
    border-bottom: 1px solid rgba(128, 190, 185, 0.18);
}

.void-shell-page .site-hero::after {
    background: none;
}

.void-shell-page .site-hero p:not(.home-kicker) {
    color: rgba(229, 238, 240, 0.78);
}

.void-shell-page #nav .navbar {
    background: rgba(6, 11, 16, 0.92) !important;
    border-bottom: 1px solid rgba(128, 190, 185, 0.2);
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.34);
}

.void-shell-page #nav .navbar-brand,
.void-shell-page #nav .nav-link {
    color: rgba(230, 237, 242, 0.86);
}

.void-shell-page #nav .navbar-brand:hover,
.void-shell-page #nav .navbar-brand:focus-visible,
.void-shell-page #nav .nav-link:hover,
.void-shell-page #nav .nav-link:focus-visible {
    color: #ffffff;
}

.void-shell-page #footer {
    background: transparent;
    color: inherit;
    height: auto;
    min-height: 0;
    padding-top: 0;
}

.void-shell-page #footer footer {
    border-top: 1px solid rgba(128, 190, 185, 0.18);
    background: rgba(5, 9, 14, 0.56);
    margin-top: 0 !important;
}

.void-shell-page #footer .text-muted {
    color: rgba(201, 216, 221, 0.66) !important;
}

.zip-coordinate-main {
    background:
        radial-gradient(circle at 18% 12%, rgba(222, 177, 95, 0.12), transparent 24rem),
        radial-gradient(circle at 82% 8%, rgba(117, 202, 185, 0.14), transparent 26rem),
        linear-gradient(180deg, #081018 0%, #101820 48%, #070b10 100%);
    min-height: 100vh;
}

.zip-coordinate-shell {
    padding: clamp(1rem, 3vw, 2rem) 0 clamp(2.5rem, 6vw, 5rem);
}

.zip-coordinate-container {
    width: min(100% - 1.5rem, 1080px);
    margin: 0 auto;
}

.zip-coordinate-hero,
.zip-coordinate-panel {
    border: 1px solid rgba(128, 190, 185, 0.2);
    border-radius: 0.5rem;
    background: rgba(7, 12, 18, 0.78);
    box-shadow: 0 22px 58px rgba(0, 0, 0, 0.34);
    color: #e6edf2;
}

.zip-coordinate-hero {
    margin-bottom: 1rem;
    padding: clamp(1.25rem, 4vw, 2rem);
}

.zip-coordinate-hero h1 {
    color: #edf4f5;
    font-size: clamp(2.25rem, 6vw, 4.5rem);
    font-weight: 950;
    letter-spacing: 0;
    line-height: 0.95;
    margin: 0;
}

.zip-coordinate-hero p:last-child {
    color: rgba(201, 216, 221, 0.74);
    font-weight: 800;
    margin: 0.75rem 0 0;
    max-width: 46rem;
}

.zip-coordinate-grid {
    display: grid;
    grid-template-columns: minmax(280px, 380px) minmax(0, 1fr);
    gap: 1rem;
    align-items: start;
}

.zip-coordinate-panel {
    min-width: 0;
    padding: clamp(1rem, 3vw, 1.35rem);
}

.zip-coordinate-panel h2 {
    color: #edf4f5;
    font-weight: 950;
    margin-bottom: 1rem;
}

.zip-coordinate-form .form-control {
    border-color: rgba(128, 190, 185, 0.24);
    background: rgba(4, 9, 14, 0.72);
    color: #edf4f5;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
}

.zip-coordinate-form .form-control::placeholder {
    color: rgba(201, 216, 221, 0.5);
}

.zip-coordinate-form .form-control:focus {
    border-color: #75cab9;
    box-shadow: 0 0 0 0.2rem rgba(117, 202, 185, 0.15);
}

.zip-coordinate-form .form-text,
.zip-coordinate-panel .form-label {
    color: rgba(201, 216, 221, 0.68);
}

.zip-coordinate-result-header,
.zip-coordinate-output-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.zip-coordinate-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
    margin: 1rem 0;
}

.zip-coordinate-summary div,
.zip-coordinate-output {
    border: 1px solid rgba(128, 190, 185, 0.18);
    border-radius: 0.5rem;
    background: rgba(4, 9, 14, 0.62);
    min-width: 0;
    padding: 0.85rem;
}

.zip-coordinate-summary span,
.zip-coordinate-output h3 {
    color: rgba(222, 177, 95, 0.82);
    display: block;
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    margin: 0 0 0.25rem;
    text-transform: uppercase;
}

.zip-coordinate-summary strong,
.zip-coordinate-output code,
.zip-coordinate-output pre {
    color: #edf4f5;
}

.zip-coordinate-summary strong {
    display: block;
    font-size: 1.15rem;
    overflow-wrap: anywhere;
}

.zip-coordinate-output {
    margin-top: 0.75rem;
}

.zip-coordinate-output code,
.zip-coordinate-output pre {
    display: block;
    margin: 0;
    overflow-x: auto;
    white-space: pre-wrap;
    word-break: break-word;
}

.canes-box-main {
    background:
        radial-gradient(circle at 18% 12%, rgba(215, 28, 46, 0.14), transparent 24rem),
        radial-gradient(circle at 82% 8%, rgba(222, 177, 95, 0.12), transparent 26rem),
        linear-gradient(180deg, #081018 0%, #101820 48%, #070b10 100%);
    min-height: 100vh;
}

.canes-box-shell {
    padding: clamp(1rem, 3vw, 2rem) 0 clamp(2.5rem, 6vw, 5rem);
}

.canes-box-container {
    display: grid;
    gap: 1rem;
    width: min(100% - 1.5rem, 1080px);
    margin: 0 auto;
}

.canes-box-hero,
.canes-box-panel {
    border: 1px solid rgba(128, 190, 185, 0.2);
    border-radius: 0.5rem;
    background: rgba(7, 12, 18, 0.78);
    box-shadow: 0 22px 58px rgba(0, 0, 0, 0.34);
    color: #e6edf2;
}

.canes-box-hero {
    padding: clamp(1.25rem, 4vw, 2rem);
}

.canes-box-hero h1 {
    color: #edf4f5;
    font-size: clamp(2.25rem, 6vw, 4.5rem);
    font-weight: 950;
    letter-spacing: 0;
    line-height: 0.95;
    margin: 0;
}

.canes-box-hero p:last-child {
    color: rgba(201, 216, 221, 0.74);
    font-weight: 800;
    margin: 0.75rem 0 0;
    max-width: 46rem;
}

.canes-box-panel {
    min-width: 0;
    padding: clamp(1rem, 3vw, 1.35rem);
}

.canes-box-index-panel {
    border: 1px solid rgba(128, 190, 185, 0.2);
    border-radius: 0.5rem;
    background: rgba(7, 12, 18, 0.78);
    box-shadow: 0 22px 58px rgba(0, 0, 0, 0.34);
    color: #e6edf2;
    padding: clamp(1.25rem, 4vw, 2rem);
}

.canes-box-index-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
    gap: 1rem;
}

.canes-box-index-card {
    border: 1px solid rgba(128, 190, 185, 0.18);
    border-radius: 0.5rem;
    background: rgba(4, 9, 14, 0.62);
    min-width: 0;
    padding: clamp(1rem, 3vw, 1.35rem);
}

.canes-box-index-number {
    display: block;
    font-size: clamp(2.75rem, 8vw, 5.75rem);
    font-weight: 950;
    letter-spacing: 0;
    line-height: 0.88;
    overflow-wrap: anywhere;
}

.canes-box-index-card span {
    color: rgba(201, 216, 221, 0.72);
    display: block;
    font-weight: 800;
    margin-top: 0.75rem;
}

.canes-box-index-higher {
    color: #ff6262;
}

.canes-box-index-lower {
    color: #75cab9;
}

.canes-box-index-neutral {
    color: #edf4f5;
}

.canes-box-summary {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
    gap: 0.75rem;
}

.canes-box-summary div {
    border: 1px solid rgba(128, 190, 185, 0.18);
    border-radius: 0.5rem;
    background: rgba(4, 9, 14, 0.62);
    min-width: 0;
    padding: 0.85rem;
}

.canes-box-summary strong {
    color: #edf4f5;
    display: block;
    font-size: 1.35rem;
    font-weight: 950;
    overflow-wrap: anywhere;
}

.canes-box-metro-trend-summary {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
    gap: 0.75rem;
}

.canes-box-metro-trend-summary div {
    border: 1px solid rgba(128, 190, 185, 0.18);
    border-radius: 0.5rem;
    background: rgba(4, 9, 14, 0.62);
    min-width: 0;
    padding: 0.85rem;
}

.canes-box-metro-trend-summary strong {
    color: #edf4f5;
    display: block;
    font-size: 1.25rem;
    font-weight: 950;
    overflow-wrap: anywhere;
}

.canes-box-metro-trend-store {
    color: rgba(201, 216, 221, 0.78);
    font-weight: 800;
    margin: 0.8rem 0 0;
}

.canes-box-official-curl {
    border: 1px solid rgba(222, 177, 95, 0.22);
    border-radius: 0.5rem;
    background: rgba(4, 9, 14, 0.68);
    margin-top: 1rem;
    padding: 1rem;
}

.canes-box-official-curl-header {
    align-items: center;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
}

.canes-box-official-curl h3 {
    color: #edf4f5;
    font-size: 1.1rem;
    font-weight: 950;
    margin: 0;
}

.canes-box-official-curl p:not(.profile-label) {
    color: rgba(201, 216, 221, 0.78);
    font-weight: 800;
    margin: 0.75rem 0;
}

.canes-box-official-curl pre {
    background: rgba(0, 0, 0, 0.36);
    border: 1px solid rgba(128, 190, 185, 0.16);
    border-radius: 0.4rem;
    color: #d7f7ef;
    margin: 0;
    max-height: 18rem;
    overflow: auto;
    padding: 0.85rem;
    white-space: pre;
}

.canes-box-official-curl code {
    color: inherit;
    font-size: 0.82rem;
}

.canes-box-chart {
    margin-top: 1rem;
    min-height: 16rem;
    overflow-x: auto;
}

.canes-box-chart svg {
    display: block;
    width: 100%;
    min-width: 36rem;
}

.canes-box-chart-axis {
    stroke: rgba(201, 216, 221, 0.22);
    stroke-width: 2;
}

.canes-box-chart-line {
    fill: none;
    stroke: #deb15f;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 4;
}

.canes-box-chart-points circle {
    fill: #75cab9;
    stroke: #071018;
    stroke-width: 2;
}

.canes-box-chart-points text {
    fill: #edf4f5;
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0;
    text-anchor: middle;
}

.canes-box-empty {
    color: rgba(201, 216, 221, 0.76);
    font-weight: 800;
    margin: 0;
}

.canes-box-result-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    border-bottom: 1px solid rgba(128, 190, 185, 0.16);
    margin-bottom: 0.8rem;
    padding-bottom: 0.75rem;
}

.canes-box-result-header h2 {
    color: #edf4f5;
    font-weight: 950;
    margin: 0;
}

.canes-box-table {
    --bs-table-bg: rgba(4, 9, 14, 0.58);
    --bs-table-border-color: rgba(128, 190, 185, 0.14);
    margin: 0;
}

.canes-box-metro-button {
    appearance: none;
    background: transparent;
    border: 0;
    color: #8ef1dc;
    display: inline;
    font: inherit;
    font-weight: 950;
    padding: 0;
    text-align: left;
}

.canes-box-metro-button:hover,
.canes-box-metro-button:focus-visible {
    color: #deb15f;
    outline: 0;
    text-decoration: underline;
    text-underline-offset: 0.18em;
}

.canes-box-metro-row-selected td {
    background: rgba(117, 202, 185, 0.1);
}

@media (max-width: 720px) {
    .canes-box-summary,
    .canes-box-metro-trend-summary {
        grid-template-columns: minmax(0, 1fr);
    }

    .canes-box-official-curl-header {
        align-items: stretch;
        flex-direction: column;
    }
}

.feed-shell {
    max-width: 760px;
    margin: 0 auto 1rem;
}

.feed-shell:last-child {
    margin-bottom: 0;
}

.vin-decoder-page {
    background: #f4f0e8;
}

.vin-decoder-shell {
    margin-top: -3rem;
    position: relative;
    z-index: 2;
}

.vin-decoder-input,
.vin-result {
    box-shadow: 0 16px 44px rgba(23, 32, 42, 0.12);
}

.gallery-panel {
    padding-left: clamp(1rem, 3vw, 2rem);
    padding-right: clamp(1rem, 3vw, 2rem);
}

.gallery-panel img {
    box-shadow: 0 14px 34px rgba(23, 32, 42, 0.16);
}

.auth-page {
    min-height: 100vh;
    background:
        linear-gradient(90deg, rgba(13, 18, 24, 0.86), rgba(13, 18, 24, 0.42)),
        url("/3b825c1d3018ae14ad2d/images/photos/IMG_0691.jpeg") center center / cover fixed no-repeat;
}

.auth-shell {
    width: min(100% - 2rem, 1120px);
    min-height: calc(100vh - 56px);
    margin: 0 auto;
    display: grid;
    align-items: center;
    padding: 3rem 0;
}

.auth-heading {
    color: #ffffff;
    text-align: center;
    margin-bottom: 1.25rem;
}

.auth-heading h1 {
    font-size: clamp(2.3rem, 5vw, 4rem);
    line-height: 1;
    font-weight: 800;
    margin-bottom: 0.75rem;
}

.auth-heading p:not(.home-kicker) {
    max-width: 520px;
    margin: 0 auto;
    color: rgba(255, 255, 255, 0.84);
}

.auth-page .card {
    background: rgba(255, 255, 255, 0.96);
    backdrop-filter: blur(8px);
}

.profile-page dl dd {
    overflow-wrap: anywhere;
}

.lunch-panel {
    min-height: 220px;
}

.wfl-secondary-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 1rem;
}

.wfl-secondary-nav a {
    display: inline-flex;
    align-items: center;
    min-height: 2.25rem;
    padding: 0.35rem 0.8rem;
    border: 1px solid rgba(23, 32, 42, 0.14);
    border-radius: 0.5rem;
    color: rgba(23, 32, 42, 0.76);
    font-weight: 800;
    text-decoration: none;
}

.wfl-secondary-nav a:hover,
.wfl-secondary-nav a:focus-visible,
.wfl-secondary-nav a.active {
    border-color: #4f7d4d;
    background: #eef6ed;
    color: #244323;
}

.wfl-freshness {
    margin: 0 0 1rem;
    padding: 0.75rem 0.9rem;
    border: 1px solid rgba(23, 32, 42, 0.12);
    border-radius: 0.65rem;
    background: rgba(255, 255, 255, 0.72);
    color: rgba(23, 32, 42, 0.76);
}

.wfl-freshness p {
    margin: 0;
}

.wfl-freshness details p {
    margin-top: 0.5rem;
    font-size: 0.9rem;
}

.wfl-list-heading {
    margin-bottom: 1rem;
}

.wfl-list-heading h2 {
    margin-bottom: 0.25rem;
    font-size: 1.35rem;
}

.wfl-list-heading p {
    margin: 0;
    color: rgba(23, 32, 42, 0.72);
}

.wfl-list-card .lunch-vote-summary {
    overflow-wrap: anywhere;
}

.wfl-list-card .lunch-vote-control {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.wfl-list-card .lunch-vote-button {
    min-width: 2.75rem;
    min-height: 2.5rem;
    border: 1px solid rgba(23, 32, 42, 0.28);
    border-radius: 0.35rem;
    background: #ffffff;
    color: #244323;
}

.wfl-list-card .lunch-vote-button:hover {
    border-color: #4f7d4d;
    background: #eef6ed;
}

.wfl-list-card .lunch-vote-button:focus-visible {
    outline: 3px solid #4f7d4d;
    outline-offset: 2px;
}

.wfl-list-card .lunch-vote-button[aria-pressed="true"] {
    border-color: #4f7d4d;
    background: #dcebd9;
    color: #244323;
    font-weight: 800;
}

.wfl-list-card .lunch-vote-button:disabled {
    cursor: not-allowed;
    opacity: 0.55;
}

.lunch-toolbar {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(12rem, 18rem);
    align-items: center;
    gap: 1rem;
    margin-bottom: 1rem;
    padding: 1rem;
    border: 1px solid rgba(23, 32, 42, 0.1);
    border-radius: 0.5rem;
    background: #ffffff;
}

.lunch-toolbar p {
    margin: 0;
    color: rgba(23, 32, 42, 0.72);
}

.lunch-primary-refresh {
    min-height: 3.35rem;
    font-size: 1.08rem;
    font-weight: 800;
}

.lunch-controls {
    width: 100%;
    margin-bottom: 1rem;
}

.lunch-tools-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
    padding: 0.45rem;
    border: 1px solid rgba(23, 32, 42, 0.1);
    border-radius: 0.5rem;
    background: #ffffff;
}

.lunch-tool-tab {
    min-height: 2.25rem;
    padding: 0.4rem 0.75rem;
    border: 1px solid rgba(23, 32, 42, 0.14);
    border-radius: 0.4rem;
    background: #f8faf6;
    color: rgba(23, 32, 42, 0.76);
    font-size: 0.92rem;
    font-weight: 800;
}

.lunch-tool-tab.active {
    border-color: rgba(47, 111, 78, 0.7);
    background: #e8f3ec;
    color: #244634;
}

.lunch-control-panel {
    width: 100%;
    margin-bottom: 0;
    padding: 0.9rem;
    border: 1px solid rgba(23, 32, 42, 0.1);
    border-radius: 0.5rem;
    background: #ffffff;
}

.lunch-control-heading {
    margin-bottom: 0.75rem;
}

.lunch-control-heading h2 {
    margin: 0 0 0.25rem;
    font-size: 1rem;
}

.lunch-control-heading p {
    margin: 0;
    color: rgba(23, 32, 42, 0.68);
    font-size: 0.92rem;
}

.lunch-location-controls,
.lunch-zip-form {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.5rem;
}

.lunch-zip-input {
    width: 8.5rem;
}

.lunch-filters {
    background: #f8faf6;
}

.lunch-radius-control {
    display: grid;
    gap: 0.35rem;
    max-width: 12rem;
    margin-bottom: 0.75rem;
    color: rgba(23, 32, 42, 0.76);
    font-size: 0.9rem;
    font-weight: 700;
}

.lunch-filter-options {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.lunch-filter {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    min-height: 2.1rem;
    padding: 0.35rem 0.65rem;
    border: 1px solid rgba(23, 32, 42, 0.16);
    border-radius: 999px;
    background: #ffffff;
    color: rgba(23, 32, 42, 0.82);
    cursor: pointer;
    font-size: 0.92rem;
}

.lunch-filter input {
    margin: 0;
}

.lunch-filter-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0.75rem;
}

.lunch-filter-status {
    min-height: 1.25rem;
    margin: 0.5rem 0 0;
    color: rgba(23, 32, 42, 0.72);
    font-size: 0.9rem;
}

.lunch-session-panel {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1rem;
    padding: 0.9rem;
    border: 1px solid rgba(23, 32, 42, 0.1);
    border-radius: 0.5rem;
    background: #ffffff;
}

.lunch-controls .lunch-session-panel {
    margin-bottom: 0;
}

.lunch-session-panel h2 {
    margin: 0 0 0.25rem;
    font-size: 1rem;
}

.lunch-session-panel p {
    margin: 0 0 0.5rem;
    color: rgba(23, 32, 42, 0.72);
}

.lunch-session-status {
    min-height: 1.2rem;
    font-size: 0.9rem;
}

.lunch-session-tools {
    grid-column: 1 / -1;
}

.lunch-session-actions {
    margin-top: 0.6rem;
}

.lunch-session-link,
.lunch-session-invitees {
    max-width: 28rem;
}

.lunch-picks {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
}

.lunch-picks-loading {
    min-height: 13rem;
    place-items: center;
}

.lunch-loading-state {
    display: grid;
    justify-items: center;
    gap: 0.75rem;
    padding: 2rem;
    color: rgba(23, 32, 42, 0.72);
    text-align: center;
}

.lunch-loading-state p {
    margin: 0;
    font-weight: 800;
}

.lunch-loading-wheel {
    width: 2.4rem;
    height: 2.4rem;
    border: 0.28rem solid rgba(47, 111, 78, 0.18);
    border-top-color: #2f6f4e;
    border-radius: 999px;
    animation: lunch-spin 0.75s linear infinite;
}

@keyframes lunch-spin {
    to {
        transform: rotate(360deg);
    }
}

.lunch-pick {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.85rem;
    min-height: 160px;
    padding: 1rem;
    border: 1px solid rgba(23, 32, 42, 0.12);
    border-radius: 0.5rem;
    background: #fbfcf8;
    cursor: pointer;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.lunch-pick:hover,
.lunch-pick:focus-within {
    border-color: rgba(79, 125, 77, 0.38);
    box-shadow: 0 0.75rem 1.5rem rgba(23, 32, 42, 0.08);
}

.lunch-pick-rank {
    width: 2.25rem;
    height: 2.25rem;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background: #4f7d4d;
    color: #ffffff;
    font-weight: 800;
}

.lunch-pick-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
}

.lunch-pick-body h2 {
    font-size: 1.15rem;
    margin-bottom: 0.5rem;
    overflow-wrap: anywhere;
}

.lunch-pick-body h2 a {
    color: inherit;
    text-decoration: none;
}

.lunch-pick-body h2 a:hover,
.lunch-pick-body h2 a:focus-visible {
    text-decoration: underline;
}

.lunch-pick-delete {
    flex: 0 0 auto;
}

.lunch-cuisine {
    display: inline-block;
    margin-bottom: 0.5rem;
    color: #3d663b;
    font-size: 0.9rem;
    font-weight: 700;
    overflow-wrap: anywhere;
}

.lunch-pick-body p,
.lunch-empty p {
    color: rgba(23, 32, 42, 0.72);
}

.lunch-session-voters {
    min-height: 1.25rem;
    margin-bottom: 0;
    font-size: 0.88rem;
}

.lunch-pick-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0.85rem;
}

.lunch-empty {
    min-height: 180px;
    display: grid;
    place-items: center;
    text-align: center;
}

@media (max-width: 900px) {
    .lunch-toolbar {
        align-items: flex-start;
        grid-template-columns: 1fr;
    }

    .lunch-location-controls,
    .lunch-zip-form {
        justify-content: flex-start;
    }

    .lunch-picks {
        grid-template-columns: 1fr;
    }

    .lunch-session-panel {
        grid-template-columns: 1fr;
        align-items: stretch;
    }
}

.back-office .site-content {
    padding-top: 1.5rem;
}

.back-office .site-hero {
    padding-top: 2rem;
    padding-bottom: 2.75rem;
}

.back-office .site-hero h1 {
    font-size: clamp(2rem, 4vw, 3.6rem);
}

.back-office-content {
    margin-top: -1rem;
    position: relative;
    z-index: 2;
}

.admin-metrics {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.85rem;
    margin-bottom: 1rem;
}

.admin-metric {
    background: #ffffff;
    border: 1px solid rgba(23, 32, 42, 0.12);
    border-left: 5px solid #253a5c;
    border-radius: 0.5rem;
    box-shadow: 0 14px 34px rgba(23, 32, 42, 0.10);
    padding: 1rem;
    min-width: 0;
}

.admin-metric span,
.queue-count,
.queue-age,
.detail-label {
    color: #6b7280;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.admin-metric strong {
    display: block;
    color: #17202a;
    font-size: clamp(1.85rem, 4vw, 2.7rem);
    line-height: 1;
    margin-top: 0.5rem;
}

.metric-open {
    border-left-color: #b45309;
}

.metric-pending {
    border-left-color: #90601f;
}

.metric-suspended {
    border-left-color: #9f1239;
}

.admin-dashboard-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 380px);
    gap: 1rem;
    align-items: start;
}

.queue-panel,
.activity-panel {
    background: #ffffff;
    border: 1px solid rgba(23, 32, 42, 0.12);
    border-radius: 0.5rem;
    box-shadow: 0 16px 44px rgba(23, 32, 42, 0.10);
    padding: clamp(1rem, 2vw, 1.35rem);
}

.queue-panel-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.queue-panel-header h2 {
    margin: 0;
    font-size: 1.35rem;
    font-weight: 800;
}

.queue-list,
.activity-list {
    display: grid;
    gap: 0.75rem;
}

.admin-filter-bar {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.admin-filter-bar label {
    display: grid;
    gap: 0.25rem;
    color: #46515f;
    font-size: 0.85rem;
    font-weight: 700;
}

.activity-filter-bar {
    grid-template-columns: 1fr;
}

.queue-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    margin-top: 1rem;
}

.operations-grid {
    display: grid;
    gap: 1rem;
}

.operation-panel {
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    background: #fffdf8;
    padding: 1rem;
}

.operation-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin-bottom: 1rem;
}

.operation-form {
    margin-bottom: 1rem;
}

.operation-result {
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    background: #fbfcfd;
    color: #46515f;
    padding: 0.85rem;
    overflow-wrap: anywhere;
}

.operation-success {
    border-color: #bbf7d0;
    background: #f0fdf4;
    color: #14532d;
}

.operation-message {
    margin-bottom: 0.75rem;
    font-weight: 700;
}

.operation-stat-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.65rem;
}

.operation-stat-grid span {
    display: block;
    border: 1px solid rgba(23, 32, 42, 0.10);
    border-radius: 0.5rem;
    background: rgba(255, 255, 255, 0.72);
    padding: 0.7rem;
    color: #46515f;
    font-size: 0.86rem;
}

.operation-stat-grid strong {
    display: block;
    color: #17202a;
    font-size: 1.5rem;
    line-height: 1;
    margin-bottom: 0.25rem;
}

.operation-pre {
    margin: 0;
    white-space: pre-wrap;
}

.operation-list {
    display: grid;
    gap: 0.45rem;
    margin: 0.85rem 0 0;
    padding-left: 1.1rem;
}

.operation-list span {
    display: block;
    color: #64748b;
    font-size: 0.82rem;
}

.queue-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    border: 1px solid #e5e7eb;
    border-left: 6px solid #253a5c;
    border-radius: 0.5rem;
    background: #fffdf8;
    padding: 1rem;
    cursor: pointer;
    transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease;
}

.queue-card:hover,
.queue-card:focus-visible {
    transform: translateY(-2px);
    box-shadow: 0 14px 34px rgba(23, 32, 42, 0.12);
    outline: none;
}

.queue-open {
    border-left-color: #d97706;
}

.queue-severe,
.queue-suspended {
    border-left-color: #be123c;
    background: #fff7f8;
}

.queue-pending {
    border-left-color: #b45309;
}

.queue-resolved {
    border-left-color: #15803d;
    background: #f7fbf5;
}

.queue-topline,
.queue-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.queue-topline {
    justify-content: space-between;
    margin-bottom: 0.55rem;
}

.queue-card h3 {
    margin: 0 0 0.35rem;
    font-size: 1.1rem;
    font-weight: 800;
}

.queue-card p {
    color: #46515f;
    margin-bottom: 0.65rem;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.queue-meta {
    color: #6b7280;
    font-size: 0.88rem;
}

.queue-actions {
    width: 170px;
    align-self: center;
}

.status-pill {
    display: inline-flex;
    align-items: center;
    min-height: 1.65rem;
    border-radius: 999px;
    padding: 0.2rem 0.65rem;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.05em;
}

.status-open,
.status-pending {
    background: #fff3cd;
    color: #7c4a03;
}

.status-resolved {
    background: #dcfce7;
    color: #166534;
}

.status-suspended {
    background: #ffe4e6;
    color: #9f1239;
}

.status-neutral {
    background: #e5e7eb;
    color: #374151;
}

.empty-state {
    border: 1px dashed #cbd5e1;
    border-radius: 0.5rem;
    background: #fbfcfd;
    color: #64748b;
    padding: 1.25rem;
    text-align: center;
}

.activity-item {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.75rem;
    padding: 0.85rem;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    background: #fbfcfd;
}

.activity-item strong,
.activity-item span {
    display: block;
}

.activity-item strong {
    color: #17202a;
    font-size: 0.95rem;
}

.activity-item span {
    color: #6b7280;
    font-size: 0.82rem;
    margin-top: 0.15rem;
}

.activity-dot {
    width: 0.75rem;
    height: 0.75rem;
    border-radius: 999px;
    margin-top: 0.3rem;
    background: #64748b;
}

.activity-success {
    background: #15803d;
}

.activity-warning {
    background: #d97706;
}

.activity-danger {
    background: #be123c;
}

.back-office-drawer {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 1060;
    width: min(460px, 100vw);
    height: 100vh;
    background: #ffffff;
    border-left: 1px solid rgba(23, 32, 42, 0.16);
    box-shadow: -24px 0 70px rgba(23, 32, 42, 0.22);
    display: grid;
    grid-template-rows: auto 1fr;
}

.drawer-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    padding: 1.25rem;
    border-bottom: 1px solid #e5e7eb;
}

.drawer-header h2 {
    margin: 0;
    font-size: 1.45rem;
    font-weight: 800;
}

.drawer-body {
    overflow: auto;
    padding: 1.25rem;
}

.detail-section {
    display: grid;
    gap: 0.65rem;
    margin-bottom: 1.25rem;
}

.detail-row {
    display: grid;
    grid-template-columns: 120px 1fr;
    gap: 0.75rem;
    align-items: baseline;
}

.detail-row span {
    color: #6b7280;
    font-size: 0.85rem;
}

.detail-row strong,
.detail-copy {
    color: #17202a;
    overflow-wrap: anywhere;
}

.detail-copy {
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    background: #fbfcfd;
    padding: 0.85rem;
    margin: 0;
}

@media (max-width: 768px) {
    .site-hero {
        padding-top: 3rem;
        padding-bottom: 4rem;
    }

    .vin-decoder-shell {
        margin-top: -2rem;
    }

    .zip-coordinate-grid,
    .zip-coordinate-summary {
        grid-template-columns: 1fr;
    }

    .zip-coordinate-result-header,
    .zip-coordinate-output-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .admin-metrics,
    .admin-dashboard-grid {
        grid-template-columns: 1fr;
    }

    .queue-card {
        grid-template-columns: 1fr;
    }

    .queue-actions {
        width: 100%;
    }

    .operation-stat-grid {
        grid-template-columns: 1fr;
    }

    .detail-row {
        grid-template-columns: 1fr;
    }
}

.fa-2 {
    font-size: 2em;
}

.fa-3 {
    font-size: 3em;
}

.flush-green {
    background-color: #C3D898;
    border-color: #C3D898;
}

.flush-light-blue {
    background-color: #69A2B0;
    border-color: #69A2B0;
}

.flush-dark-blue {
    background-color: #1C3144;
    border-color: #1C3144;
}

.flush-pink {
    background-color: #D4ADCF;
    border-color: #D4ADCF;
}

.flush-brown {
    background-color: #96705B;
    border-color: #96705B;
}

.jumbotron {
    background-color: transparent;
    padding: 2rem 1rem;
    /*margin-bottom: 2rem;*/
    /*border-radius: .3rem;*/
}

.main-color {
    background-color: #5effb8;
}

.podcast-links {
    text-align: center;
    padding: 10px;
    margin: 10px;
}

.podcast-link {
    padding: 10px;
    margin: 10px;
}

#footer {
    height: calc(100vh - 540px);
    padding-top: 10px;
}

#footer-my-info-container {
    margin-right: auto;
    margin-left: auto;
    padding-left: 15px;
    padding-right: 15px;
    text-align: center;
}

/* Compact thread context blocks on post/feed pages */
.parent-context.card,
.root-context.card {
    background-color: #f8f9fa; /* subtle gray */
    border-color: #e9ecef;     /* light border */
    border-radius: .5rem;
}

/* Emphasize hierarchy by varying the left border color */
.root-context.card {
    border-left: 3px solid #cfd4da; /* lighter for root */
}

.parent-context.card {
    border-left: 3px solid #6c757d; /* darker for immediate parent */
}

.parent-context .card-body,
.root-context .card-body {
    padding: .5rem .75rem; /* tighter spacing */
}

.parent-context .small,
.root-context .small {
    line-height: 1.2;
}

.parent-context a.small,
.root-context a.small {
    color: #6c757d; /* muted link for context actions */
}

/* Vertical connector between root-context and parent-context */
.parent-context.card { position: relative; }
.root-context.card + .parent-context.card::before {
    content: "";
    position: absolute;
    left: 0;            /* align with border-left */
    top: -12px;         /* match adjusted gap */
    width: 3px;         /* same as border-left width */
    height: 12px;       /* fit entirely within the gap */
    background-color: #6c757d; /* same as parent-context border */
    pointer-events: none;      /* avoid blocking clicks */
}

/* Increase gap between root and parent to accommodate connector */
.root-context.card { margin-bottom: 0.75rem; }

/* Feed usernames: blue link without underline by default; underline on hover */
.list-group-item .fw-semibold > a {
    text-decoration: none;
}
.list-group-item .fw-semibold > a:hover {
    text-decoration: underline;
}

/* Post text: no underline; darken entire text on hover of item */
.post-item .post-link {
    text-decoration: none;
}
.post-item:hover .post-link {
    color: #212529; /* dark body color */
    text-decoration: none;
}

/* Make entire post area feel clickable and provide hover affordance */
.post-item {
    cursor: pointer;
    transition: background-color .15s ease-in-out;
}
.post-item:hover {
    background-color: #f8f9fa; /* subtle hover */
}

@media (max-width: 576px) {
    .post-item {
        padding-left: 0.75rem;
        padding-right: 0.75rem;
    }

    .post-avatar {
        width: 32px;
        height: 32px;
    }

    .post-body {
        font-size: 1rem;
        line-height: 1.4;
    }

    .post-header {
        align-items: center;
    }
}

.feed-composer-card {
    background: #fffdf8;
    border: 1px solid rgba(23, 32, 42, 0.12);
    border-radius: 0.5rem;
    box-shadow: 0 18px 48px rgba(23, 32, 42, 0.14);
}

.feed-composer-heading,
.feed-composer-actions,
.feed-toolbar,
.post-header,
.post-meta,
.post-actions,
.reply-composer-actions {
    display: flex;
    align-items: center;
}

.feed-composer-heading,
.feed-composer-actions,
.feed-toolbar,
.post-header {
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1rem;
}

.feed-composer-heading h2 {
    margin: 0;
    font-size: clamp(1.45rem, 3vw, 2rem);
    font-weight: 800;
}

.feed-composer-input {
    min-height: 132px;
    border: 1px solid rgba(23, 32, 42, 0.16);
    background: #fbfcfd;
    font-size: 1.12rem;
    line-height: 1.45;
    resize: vertical;
}

.feed-composer-input:focus {
    border-color: #253a5c;
    box-shadow: 0 0 0 0.2rem rgba(37, 58, 92, 0.16);
}

.composer-count {
    border-radius: 999px;
    background: #17202a;
    color: #ffffff;
    font-weight: 800;
    padding: 0.35rem 0.75rem;
    white-space: nowrap;
}

.composer-preview-shell {
    margin-top: 0.75rem;
}

.composer-preview {
    background: rgba(5, 12, 18, 0.72);
    border: 1px solid rgba(125, 220, 205, 0.28);
    border-radius: 0.5rem;
    color: #edf4f5;
    padding: 0.85rem;
}

.composer-preview-empty {
    color: #9fb3c3;
}

.composer-preview-label {
    color: #7ddccd;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.composer-preview-text {
    margin: 0.35rem 0 0;
    white-space: pre-wrap;
}

.composer-preview-count {
    color: #9fb3c3;
    font-size: 0.82rem;
    margin-top: 0.5rem;
}

.composer-preview-count-over {
    color: #ff6b6b;
    font-weight: 800;
}

.composer-hint {
    color: #6b7280;
    font-size: 0.9rem;
}

.feed-composer-actions {
    margin-top: 0.85rem;
}

.feed-toolbar {
    position: sticky;
    top: 0.75rem;
    z-index: 5;
    background: rgba(255, 253, 248, 0.92);
    border: 1px solid rgba(23, 32, 42, 0.12);
    border-radius: 0.5rem;
    box-shadow: 0 12px 30px rgba(23, 32, 42, 0.10);
    backdrop-filter: blur(10px);
    padding: 0.75rem;
    margin-bottom: 0.85rem;
}

.feed-segment {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.feed-filter {
    border: 1px solid transparent;
    border-radius: 999px;
    background: transparent;
    color: #374151;
    font-weight: 800;
    padding: 0.38rem 0.85rem;
}

.feed-filter.active {
    background: #17202a;
    color: #ffffff;
}

.feed-filter:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

.feed-sort-label {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    color: #6b7280;
    font-size: 0.85rem;
    font-weight: 800;
    margin: 0;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.feed-new-banner {
    position: sticky;
    top: 4.8rem;
    z-index: 4;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    color: #ffffff;
    background: #253a5c;
    border-radius: 0.5rem;
    box-shadow: 0 14px 34px rgba(23, 32, 42, 0.16);
    padding: 0.65rem 0.85rem;
    margin-bottom: 0.85rem;
    font-weight: 800;
}

.feed-list {
    position: relative;
    display: grid;
    gap: 1rem;
}

.feed-list::before {
    content: "";
    position: absolute;
    top: 0.5rem;
    bottom: 0.5rem;
    left: 1.85rem;
    width: 2px;
    background: linear-gradient(180deg, rgba(37, 58, 92, 0), rgba(37, 58, 92, 0.34), rgba(37, 58, 92, 0));
}

.post-item {
    position: relative;
    cursor: pointer;
    border: 1px solid rgba(23, 32, 42, 0.12);
    border-left: 6px solid #253a5c;
    border-radius: 0.5rem;
    background: #ffffff;
    box-shadow: 0 14px 34px rgba(23, 32, 42, 0.10);
    padding: 1rem;
    overflow: visible;
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.post-item:hover,
.post-item:focus-within {
    background: #ffffff;
    border-color: rgba(23, 32, 42, 0.26);
    box-shadow: 0 22px 54px rgba(23, 32, 42, 0.16);
    transform: translateY(-3px);
}

.post-item-new {
    animation: postInserted 1.1s ease;
}

.post-shell {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.9rem;
}

.post-avatar {
    position: relative;
    z-index: 1;
    width: 48px;
    height: 48px;
    background: #17202a;
    box-shadow: 0 0 0 5px #ffffff;
}

.post-author {
    flex: 1 1 12rem;
    min-width: 0;
}

.post-author small {
    display: block;
    color: #6b7280;
    font-size: 0.82rem;
}

.post-handle {
    display: inline-block;
    max-width: 100%;
    color: #17202a;
    font-weight: 900;
    overflow: hidden;
    text-overflow: ellipsis;
    text-decoration: none;
    vertical-align: bottom;
    white-space: nowrap;
}

.post-handle:hover {
    color: #253a5c;
    text-decoration: underline;
}

.post-meta {
    position: relative;
    flex: 0 1 auto;
    flex-wrap: wrap;
    gap: 0.45rem;
    justify-content: flex-end;
    min-width: 0;
}

.post-chips {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.35rem;
    min-width: 0;
}

.post-chip {
    border-radius: 999px;
    background: #eef2ff;
    color: #253a5c;
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.04em;
    padding: 0.22rem 0.55rem;
    text-transform: uppercase;
}

.post-chip-kept-alive,
.post-chip-expires {
    background: #ffe4e6;
    color: #9f1239;
}

.post-chip-new {
    background: #dcfce7;
    color: #166534;
}

.post-menu-btn {
    width: 2rem;
    height: 2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #e5e7eb;
    border-radius: 999px;
    background: #fbfcfd;
    color: #374151;
}

.post-menu {
    position: absolute;
    right: 0;
    top: calc(100% + 0.4rem);
    z-index: 20;
    min-width: 150px;
    background: #ffffff;
    border: 1px solid rgba(23, 32, 42, 0.14);
    border-radius: 0.5rem;
    box-shadow: 0 16px 44px rgba(23, 32, 42, 0.16);
    padding: 0.35rem;
}

.post-menu button {
    width: 100%;
    border: 0;
    border-radius: 0.35rem;
    background: transparent;
    color: #17202a;
    padding: 0.45rem 0.6rem;
    text-align: left;
}

.post-menu button:hover,
.post-menu button:focus-visible {
    background: #f4f0e8;
}

.post-menu button.danger {
    color: #be123c;
}

.inline-context {
    border: 1px solid #e5e7eb;
    border-left: 4px solid #90601f;
    border-radius: 0.5rem;
    background: #fffdf8;
    padding: 0.75rem;
    margin-top: 0.85rem;
}

.inline-context .context-label {
    color: #6b7280;
    font-size: 0.82rem;
    font-weight: 800;
}

.inline-context p {
    color: #374151;
    margin: 0.2rem 0 0.15rem;
    font-weight: 700;
}

.inline-context a {
    color: #253a5c;
    font-weight: 800;
    text-decoration: none;
}

.post-text {
    margin: 0;
}

.post-text-wrap {
    margin-top: 0.9rem;
}

.post-text-wrap.is-collapsed {
    max-height: 5.6rem;
    overflow: hidden;
    position: relative;
}

.post-text-wrap.is-collapsed::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 2.2rem;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0), #ffffff);
}

.post-body {
    font-size: 1.08rem;
    line-height: 1.55;
}

.post-expand-btn {
    border: 0;
    background: transparent;
    color: #253a5c;
    font-weight: 900;
    padding: 0.25rem 0 0;
}

.mention-link {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    background: #eef2ff;
    color: #253a5c;
    font-weight: 900;
    line-height: 1.2;
    padding: 0.06rem 0.38rem;
    text-decoration: none;
}

.mention-link:hover {
    background: #dbe4ff;
    color: #17202a;
}

.text-link {
    color: #205b76;
    font-weight: 800;
    overflow-wrap: anywhere;
    text-decoration-color: rgba(32, 91, 118, 0.42);
    text-underline-offset: 0.16em;
}

.text-link:hover,
.text-link:focus-visible {
    color: #133849;
}

.post-link-previews {
    display: grid;
    gap: 0.62rem;
    margin-top: 0.82rem;
}

.post-youtube-embeds {
    display: grid;
    gap: 0.72rem;
    margin-top: 0.82rem;
}

.post-youtube-embed {
    aspect-ratio: 16 / 9;
    background: #101820;
    border: 1px solid #d9e1e7;
    border-radius: 0.5rem;
    overflow: hidden;
}

.post-youtube-embed iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
}

.post-rich-embeds {
    display: grid;
    gap: 0.72rem;
    margin-top: 0.82rem;
}

.post-rich-embed {
    border: 1px solid #d9e1e7;
    border-radius: 0.5rem;
    background: #101820;
    overflow: hidden;
}

.post-rich-embed-youtube,
.post-rich-embed-spotify {
    aspect-ratio: 16 / 9;
}

.post-rich-embed-soundcloud {
    min-height: 10.4rem;
}

.post-rich-iframe {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 9.5rem;
    border: 0;
}

.post-rich-embed-soundcloud .post-rich-iframe {
    min-height: 10.4rem;
}

.post-rich-embeds-images {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
    gap: 0.5rem;
}

.post-rich-image-trigger {
    position: relative;
    display: block;
    width: 100%;
    border: 1px solid #d9e1e7;
    border-radius: 0.5rem;
    padding: 0;
    background: #0b1117;
    cursor: zoom-in;
    overflow: hidden;
}

.post-rich-image-trigger:hover,
.post-rich-image-trigger:focus-visible {
    border-color: rgba(32, 91, 118, 0.45);
}

.post-action:focus-visible,
.post-menu-btn:focus-visible,
.post-copy-btn:focus-visible,
.post-report-btn:focus-visible,
.post-hide-thread-btn:focus-visible,
.post-delete-btn:focus-visible,
.void-thread-control:focus-visible,
.void-thread-collapse:focus-visible,
.post-rich-image-trigger:focus-visible,
.notification-btn:focus-visible,
.avatar-btn:focus-visible {
    outline: 3px solid #7ddccd;
    outline-offset: 3px;
}

.post-rich-image {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 10rem;
    max-height: 34rem;
    object-fit: contain;
    background: #0b1117;
}

.post-rich-gif-badge {
    position: absolute;
    right: 0.55rem;
    bottom: 0.55rem;
    border: 1px solid rgba(117, 202, 185, 0.34);
    border-radius: 999px;
    background: rgba(4, 9, 14, 0.84);
    color: #b8fff0;
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0;
    line-height: 1;
    padding: 0.35rem 0.5rem;
    pointer-events: none;
}

.post-image-lightbox {
    position: fixed;
    inset: 0;
    z-index: 2000;
    display: grid;
    place-items: center;
    padding: 1rem;
    background: rgba(0, 0, 0, 0.86);
}

.post-image-lightbox img {
    max-width: min(100%, 72rem);
    max-height: 88vh;
    object-fit: contain;
}

.post-image-lightbox-close {
    position: fixed;
    top: 1rem;
    right: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.35);
    border-radius: 0.5rem;
    background: #050c12;
    color: #fff;
    min-width: 2.5rem;
    min-height: 2.5rem;
}

.post-image-fallback {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    border: 1px solid #d9e1e7;
    border-radius: 0.5rem;
    padding: 0.9rem;
    background: #101820;
    color: #d7e6ef;
}

.post-image-fallback a {
    color: #9fe7d8;
    font-weight: 800;
}

.post-rich-card-github {
    display: grid;
    gap: 0.18rem;
    background: #f8fbfc;
    color: #17202a;
    padding: 0.8rem 0.9rem;
    text-decoration: none;
}

.post-rich-card-github:hover,
.post-rich-card-github:focus-visible {
    border-color: rgba(32, 91, 118, 0.34);
    background: #f0f7f8;
    color: #17202a;
}

.post-rich-provider {
    color: #5a6874;
    font-size: 0.76rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.post-rich-title {
    font-size: 1rem;
    font-weight: 900;
    overflow-wrap: anywhere;
}

.post-rich-detail {
    color: #495664;
    font-size: 0.88rem;
    font-weight: 800;
}

.post-link-preview {
    display: grid;
    grid-template-columns: minmax(0, 8.6rem) minmax(0, 1fr);
    align-items: stretch;
    border: 1px solid #d9e1e7;
    border-radius: 0.5rem;
    background: #f8fbfc;
    color: #17202a;
    min-height: 6.7rem;
    overflow: hidden;
    text-decoration: none;
}

.post-link-preview-no-image {
    grid-template-columns: minmax(0, 1fr);
}

.post-link-preview:hover,
.post-link-preview:focus-visible {
    border-color: rgba(32, 91, 118, 0.34);
    color: #17202a;
    background: #f0f7f8;
}

.post-link-preview-image {
    display: block;
    background: #dfe8ed;
    min-height: 100%;
}

.post-link-preview-image img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 6.7rem;
    object-fit: cover;
}

.post-link-preview-copy {
    display: grid;
    align-content: center;
    gap: 0.22rem;
    min-width: 0;
    padding: 0.72rem 0.82rem;
}

.post-link-preview-domain {
    color: #5a6874;
    font-size: 0.78rem;
    font-weight: 900;
    overflow-wrap: anywhere;
    text-transform: uppercase;
}

.post-link-preview-title {
    display: -webkit-box;
    color: #17202a;
    font-size: 0.98rem;
    font-weight: 900;
    line-height: 1.24;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.post-link-preview-description {
    display: -webkit-box;
    color: #495664;
    font-size: 0.88rem;
    line-height: 1.35;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.post-actions {
    flex-wrap: wrap;
    gap: 0.55rem;
    border-top: 1px solid #eef0f3;
    margin-top: 0.95rem;
    padding-top: 0.75rem;
}

.post-action {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    border: 1px solid #e5e7eb;
    border-radius: 999px;
    background: #fbfcfd;
    color: #46515f;
    font-weight: 800;
    min-height: 2rem;
    padding: 0.28rem 0.7rem;
}

.post-action:hover,
.post-action:focus-visible {
    color: #17202a;
    border-color: rgba(23, 32, 42, 0.24);
    background: #f4f0e8;
}

.post-keep-alive-btn.is-kept-alive {
    color: #be123c;
    background: #fff1f2;
    border-color: #fecdd3;
}

.keep-alive-count {
    opacity: 0.72;
}

.keep-alive-feedback {
    min-width: 0;
    color: #15803d;
    font-size: 0.76rem;
    font-weight: 900;
}

.keep-alive-pulse {
    animation: likePulse 0.42s ease;
}

.reply-composer {
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    background: #fbfcfd;
    margin-top: 0.85rem;
    padding: 0.75rem;
}

.reply-composer-actions {
    justify-content: flex-end;
    gap: 0.5rem;
    margin-top: 0.6rem;
}

.replies {
    border-left: 3px solid #e5e7eb;
    margin-top: 0.9rem;
    margin-left: 1rem;
    padding-left: 1rem;
}

.inline-reply {
    border-radius: 0.5rem;
    background: #fbfcfd;
    padding: 0.7rem;
    margin-top: 0.55rem;
}

.inline-reply-meta {
    color: #6b7280;
    font-size: 0.82rem;
    font-weight: 700;
    margin-bottom: 0.2rem;
}

.inline-reply-meta span {
    color: #17202a;
}

.inline-reply-meta a,
.inline-reply-more a {
    color: #253a5c;
    font-weight: 900;
    text-decoration: none;
}

.feed-toast {
    color: #166534;
    font-size: 0.85rem;
    font-weight: 800;
    margin-top: 0.45rem;
}

.feed-empty-state,
.feed-skeleton {
    border: 1px dashed #cbd5e1;
    border-radius: 0.5rem;
    background: #fffdf8;
    box-shadow: 0 14px 34px rgba(23, 32, 42, 0.08);
    padding: 1.4rem;
}

.feed-empty-state h2 {
    font-size: 1.45rem;
    font-weight: 900;
    margin-bottom: 0.3rem;
}

.feed-empty-state p:last-child {
    color: #6b7280;
    margin-bottom: 0;
}

.void-shell-page .feed-composer-card,
.void-shell-page #composerPrompt .card,
.void-shell-page .feed-empty-state {
    background: rgba(12, 21, 27, 0.94);
    border-color: rgba(128, 190, 185, 0.24);
    box-shadow: 0 22px 58px rgba(0, 0, 0, 0.36);
    color: #e6edf2;
}

.void-shell-page #composerPrompt .text-muted,
.void-shell-page .feed-empty-state p:last-child,
.void-shell-page .composer-hint {
    color: rgba(201, 216, 221, 0.68) !important;
}

.void-shell-page .feed-composer-input,
.void-shell-page .thread-composer-panel .form-control {
    background: rgba(4, 9, 14, 0.76);
    border-color: rgba(128, 190, 185, 0.25);
    color: #edf4f5;
}

.void-shell-page .feed-composer-input::placeholder,
.void-shell-page .thread-composer-panel .form-control::placeholder {
    color: rgba(201, 216, 221, 0.52);
}

.void-shell-page .feed-composer-input:focus,
.void-shell-page .thread-composer-panel .form-control:focus {
    border-color: #75cab9;
    box-shadow: 0 0 0 0.2rem rgba(117, 202, 185, 0.15);
}

.void-shell-page .composer-count {
    background: rgba(222, 177, 95, 0.16);
    border: 1px solid rgba(222, 177, 95, 0.26);
    color: #f0d39b;
}

.void-shell-page .feed-toolbar {
    background: rgba(7, 14, 19, 0.88);
    border-color: rgba(128, 190, 185, 0.22);
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.28);
}

.void-shell-page .feed-filter {
    color: rgba(230, 237, 242, 0.74);
}

.void-shell-page .feed-filter.active {
    background: #75cab9;
    color: #071016;
}

.void-shell-page .feed-sort-label {
    color: rgba(201, 216, 221, 0.68);
}

.void-shell-page .feed-sort-label .form-select {
    background-color: rgba(4, 9, 14, 0.78);
    border-color: rgba(128, 190, 185, 0.24);
    color: #e6edf2;
}

.void-shell-page .feed-list::before {
    background: linear-gradient(180deg, rgba(117, 202, 185, 0), rgba(117, 202, 185, 0.35), rgba(222, 177, 95, 0));
}

.void-shell-page .post-item {
    background: rgba(8, 16, 22, 0.92);
    border-color: rgba(128, 190, 185, 0.2);
    border-left-color: #75cab9;
    box-shadow: 0 18px 46px rgba(0, 0, 0, 0.32);
    color: #e6edf2;
}

.void-shell-page .post-item:hover,
.void-shell-page .post-item:focus-within {
    background: rgba(11, 22, 28, 0.98);
    border-color: rgba(128, 190, 185, 0.38);
    box-shadow: 0 24px 62px rgba(0, 0, 0, 0.44);
}

.void-shell-page .post-shell {
    background:
        linear-gradient(135deg, rgba(20, 39, 45, 0.24), transparent 44%),
        repeating-linear-gradient(90deg, rgba(222, 177, 95, 0.025) 0 1px, transparent 1px 42px);
}

.void-shell-page .post-avatar {
    background: linear-gradient(135deg, #1d383e, #6c4e36);
    box-shadow: 0 0 0 5px rgba(8, 16, 22, 0.96);
}

.void-shell-page .post-handle,
.void-shell-page .inline-context a,
.void-shell-page .inline-reply-meta a,
.void-shell-page .inline-reply-more a,
.void-shell-page .thread-context-card a,
.void-shell-page .post-expand-btn {
    color: #9ee1d2;
}

.void-shell-page .post-handle:hover,
.void-shell-page .inline-context a:hover,
.void-shell-page .thread-context-card a:hover {
    color: #cff4eb;
}

.void-shell-page .post-item:hover .post-link {
    color: inherit;
}

.void-shell-page .post-author small,
.void-shell-page .post-meta,
.void-shell-page .inline-context .context-label,
.void-shell-page .inline-reply-meta {
    color: rgba(201, 216, 221, 0.66);
}

.void-shell-page .post-lifespan {
    display: block;
    color: rgba(201, 216, 221, 0.62);
    font-size: 0.78rem;
    font-variant-numeric: tabular-nums;
    font-weight: 800;
    line-height: 1.3;
    margin-top: 0.18rem;
    white-space: nowrap;
}

.void-shell-page .post-lifespan.is-ending {
    color: #f0b88a;
}

.void-shell-page .post-chip {
    background: rgba(117, 202, 185, 0.13);
    color: #9ee1d2;
}

.void-shell-page .post-chip-kept-alive,
.void-shell-page .post-chip-expires {
    background: rgba(240, 184, 138, 0.16);
    color: #f0c89e;
}

.void-shell-page .post-chip-new {
    background: rgba(123, 196, 119, 0.16);
    color: #bce5a8;
}

.void-shell-page .post-menu-btn,
.void-shell-page .post-action {
    background: rgba(4, 9, 14, 0.68);
    border-color: rgba(128, 190, 185, 0.22);
    color: rgba(230, 237, 242, 0.82);
}

.void-shell-page .post-action:hover,
.void-shell-page .post-action:focus-visible {
    background: rgba(117, 202, 185, 0.15);
    border-color: rgba(117, 202, 185, 0.42);
    color: #ffffff;
}

.void-shell-page .post-keep-alive-btn.is-kept-alive,
.void-thread-page .post-keep-alive-btn.is-kept-alive {
    background: rgba(240, 184, 138, 0.16);
    border-color: rgba(240, 184, 138, 0.42);
    color: #f0c89e;
}

.void-shell-page .keep-alive-feedback,
.void-thread-page .keep-alive-feedback {
    color: #9ee1d2;
}

.void-shell-page .post-menu {
    background: #0c151b;
    border-color: rgba(128, 190, 185, 0.24);
    box-shadow: 0 20px 52px rgba(0, 0, 0, 0.44);
}

.void-shell-page .post-menu button {
    color: #e6edf2;
}

.void-shell-page .post-menu button:hover,
.void-shell-page .post-menu button:focus-visible {
    background: rgba(117, 202, 185, 0.12);
}

.void-shell-page .post-text-wrap.is-collapsed::after {
    background: linear-gradient(180deg, rgba(12, 22, 28, 0), rgba(12, 22, 28, 0.98));
}

.void-shell-page .inline-context,
.void-shell-page .reply-composer,
.void-shell-page .inline-reply {
    background: rgba(4, 9, 14, 0.56);
    border-color: rgba(222, 177, 95, 0.2);
    color: #dce6ea;
}

.void-shell-page .inline-context p,
.void-shell-page .inline-reply-meta span {
    color: #dce6ea;
}

.void-shell-page .post-actions,
.void-shell-page .replies {
    border-color: rgba(128, 190, 185, 0.18);
}

.void-shell-page .mention-link {
    background: rgba(117, 202, 185, 0.14);
    color: #9ee1d2;
}

.void-shell-page .mention-link:hover,
.void-shell-page .mention-link:focus-visible {
    background: rgba(117, 202, 185, 0.24);
    color: #edf4f5;
}

.void-shell-page .text-link {
    color: #9ee1d2;
    text-decoration-color: rgba(158, 225, 210, 0.42);
}

.void-shell-page .text-link:hover,
.void-shell-page .text-link:focus-visible {
    color: #edf4f5;
}

.void-shell-page .post-link-preview {
    background: rgba(4, 9, 14, 0.56);
    border-color: rgba(128, 190, 185, 0.22);
    color: #edf4f5;
}

.void-shell-page .post-youtube-embed,
.void-thread-page .post-youtube-embed,
.void-shell-page .post-rich-embed,
.void-thread-page .post-rich-embed {
    background: rgba(4, 9, 14, 0.7);
    border-color: rgba(128, 190, 185, 0.22);
}

.void-shell-page .post-rich-card-github,
.void-thread-page .post-rich-card-github {
    background:
        linear-gradient(135deg, rgba(117, 202, 185, 0.12), transparent 54%),
        rgba(4, 9, 14, 0.68);
    color: #edf4f5;
}

.void-shell-page .post-rich-card-github:hover,
.void-shell-page .post-rich-card-github:focus-visible,
.void-thread-page .post-rich-card-github:hover,
.void-thread-page .post-rich-card-github:focus-visible {
    background: rgba(10, 20, 27, 0.86);
    border-color: rgba(117, 202, 185, 0.42);
    color: #ffffff;
}

.void-shell-page .post-rich-provider,
.void-thread-page .post-rich-provider,
.void-shell-page .post-rich-detail,
.void-thread-page .post-rich-detail {
    color: #9db0b9;
}

.void-shell-page .post-link-preview:hover,
.void-shell-page .post-link-preview:focus-visible {
    background: rgba(10, 20, 27, 0.86);
    border-color: rgba(117, 202, 185, 0.42);
}

.void-shell-page .post-link-preview-image {
    background: rgba(117, 202, 185, 0.14);
}

.void-shell-page .post-link-preview-domain,
.void-shell-page .post-link-preview-description {
    color: #9db0b9;
}

.void-shell-page .post-link-preview-title {
    color: #edf4f5;
}

.void-shell-page .post-item-expiring {
    animation: voidPostExpiring 0.72s cubic-bezier(0.56, 0.08, 0.64, 0.98) forwards;
    pointer-events: none;
    transform-origin: center 38%;
}

.feed-skeleton {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.85rem;
}

.skeleton-avatar,
.skeleton-lines span {
    display: block;
    border-radius: 999px;
    background: linear-gradient(90deg, #e5e7eb, #f8fafc, #e5e7eb);
    background-size: 200% 100%;
    animation: skeletonSweep 1.2s linear infinite;
}

.skeleton-avatar {
    width: 48px;
    height: 48px;
}

.skeleton-lines {
    display: grid;
    gap: 0.6rem;
}

.skeleton-lines span {
    height: 0.85rem;
}

.skeleton-lines span:nth-child(1) {
    width: 38%;
}

.skeleton-lines span:nth-child(2) {
    width: 92%;
}

.skeleton-lines span:nth-child(3) {
    width: 68%;
}

.profile-shell,
.user-profile-shell {
    display: grid;
    grid-template-columns: minmax(260px, 340px) minmax(0, 1fr);
    gap: 1.25rem;
    align-items: start;
    min-width: 0;
}

.profile-overview,
.thread-side {
    display: grid;
    gap: 1rem;
    min-width: 0;
}

.profile-card,
.profile-posts-panel,
.thread-root-panel,
.thread-composer-panel,
.thread-replies-panel,
.thread-summary-card {
    border: 1px solid rgba(23, 32, 42, 0.12);
    border-radius: 0.5rem;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 18px 48px rgba(23, 32, 42, 0.11);
}

.profile-card {
    display: grid;
    gap: 1rem;
    padding: 1.15rem;
    min-width: 0;
}

.profile-federation-card {
    gap: 0.65rem;
}

.profile-federation-card h2 {
    color: #17202a;
    font-size: 1.05rem;
    font-weight: 900;
    margin: 0;
}

.profile-federation-card .form-check {
    margin: 0;
}

.profile-federation-card .form-check-label {
    color: #17202a;
    font-weight: 800;
}

.profile-federation-detail,
.profile-federation-status {
    color: #46515f;
    font-size: 0.88rem;
    line-height: 1.5;
    margin: 0;
}

.profile-federation-status {
    font-weight: 800;
}

.profile-avatar-lg {
    width: 86px;
    height: 86px;
    display: grid;
    place-items: center;
    border-radius: 1.1rem;
    background: linear-gradient(135deg, #17202a, #4f7d4d);
    color: #ffffff;
    font-size: 2rem;
    font-weight: 900;
    box-shadow: 0 12px 32px rgba(23, 32, 42, 0.20);
}

.profile-label,
.thread-label {
    color: #6b7280;
    font-size: 0.76rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    margin-bottom: 0.2rem;
    text-transform: uppercase;
}

.profile-identity h2,
.profile-posts-header h2,
.thread-panel-header h2,
.thread-composer-panel h2 {
    color: #17202a;
    font-weight: 900;
    letter-spacing: 0;
    margin-bottom: 0;
    min-width: 0;
    overflow-wrap: anywhere;
}

.profile-identity p:last-child {
    color: #46515f;
    margin-bottom: 0;
    overflow-wrap: anywhere;
}

.profile-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.profile-chip,
.thread-count-pill,
.thread-status-pill {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    border-radius: 999px;
    background: #eef2ff;
    color: #253a5c;
    font-size: 0.75rem;
    font-weight: 900;
    padding: 0.28rem 0.65rem;
    text-transform: uppercase;
    max-width: 100%;
    overflow-wrap: anywhere;
}

.profile-chip-status.is-active,
.thread-status-pill.is-live {
    background: #dcfce7;
    color: #166534;
}

.profile-chip-status.is-suspended,
.thread-status-pill.is-expired {
    background: #ffe4e6;
    color: #9f1239;
}

.thread-status-pill.is-soon {
    background: #fef3c7;
    color: #92400e;
}

.profile-detail-grid,
.thread-summary-card dl {
    display: grid;
    gap: 0.65rem;
    margin: 0;
}

.profile-detail-grid div,
.thread-summary-card dl div {
    display: grid;
    gap: 0.15rem;
    border-top: 1px solid #eef0f3;
    padding-top: 0.65rem;
}

.profile-detail-grid dt,
.thread-summary-card dt {
    color: #6b7280;
    font-size: 0.76rem;
    font-weight: 900;
    text-transform: uppercase;
}

.profile-detail-grid dd,
.thread-summary-card dd {
    color: #17202a;
    font-weight: 800;
    margin: 0;
    overflow-wrap: anywhere;
}

.profile-stat-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.7rem;
}

.profile-stat {
    border: 1px solid rgba(23, 32, 42, 0.12);
    border-radius: 0.5rem;
    background: #fffdf8;
    box-shadow: 0 12px 28px rgba(23, 32, 42, 0.08);
    padding: 0.85rem;
    min-width: 0;
}

.profile-stat span {
    display: block;
    color: #17202a;
    font-size: 1.35rem;
    font-weight: 900;
    line-height: 1;
}

.profile-stat small {
    display: block;
    color: #6b7280;
    font-weight: 800;
    overflow-wrap: anywhere;
}

.profile-posts-panel,
.thread-root-panel,
.thread-replies-panel {
    padding: 1rem;
    min-width: 0;
}

.profile-posts-header,
.thread-panel-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1rem;
    border-bottom: 1px solid #eef0f3;
    margin-bottom: 1rem;
    padding-bottom: 0.85rem;
}

.profile-posts-header > div,
.thread-panel-header > div {
    min-width: 0;
}

.profile-feed-list,
.thread-feed-list {
    gap: 0.9rem;
}

.profile-empty-state,
.thread-empty-state,
.user-empty-state {
    box-shadow: none;
}

.user-profile-actions {
    display: grid;
    gap: 0.55rem;
}

.user-profile-card .btn {
    justify-content: center;
    width: 100%;
}

.profile-trust-status {
    color: #46515f;
    font-size: 0.92rem;
    font-weight: 800;
    margin: 0;
}

.void-shell-page .profile-card,
.void-shell-page .profile-posts-panel,
.void-shell-page .profile-stat,
.void-shell-page .thread-root-panel,
.void-shell-page .thread-composer-panel,
.void-shell-page .thread-replies-panel,
.void-shell-page .thread-summary-card {
    background: rgba(11, 20, 26, 0.94);
    border-color: rgba(128, 190, 185, 0.22);
    box-shadow: 0 22px 56px rgba(0, 0, 0, 0.34);
    color: #e6edf2;
}

.void-shell-page .profile-identity h2,
.void-shell-page .profile-posts-header h2,
.void-shell-page .thread-panel-header h2,
.void-shell-page .thread-composer-panel h2,
.void-shell-page .profile-stat span,
.void-shell-page .profile-detail-grid dd,
.void-shell-page .thread-summary-card dd {
    color: #edf4f5;
}

.void-shell-page .profile-trust-status {
    color: #b6c9cf;
}

.void-shell-page .profile-label,
.void-shell-page .thread-label,
.void-shell-page .profile-identity p:last-child,
.void-shell-page .profile-detail-grid dt,
.void-shell-page .thread-summary-card dt,
.void-shell-page .profile-stat small {
    color: rgba(201, 216, 221, 0.68);
}

.void-shell-page .profile-detail-grid div,
.void-shell-page .thread-summary-card dl div,
.void-shell-page .profile-posts-header,
.void-shell-page .thread-panel-header {
    border-color: rgba(128, 190, 185, 0.16);
}

.void-shell-page .profile-chip,
.void-shell-page .thread-count-pill,
.void-shell-page .thread-status-pill {
    background: rgba(117, 202, 185, 0.13);
    color: #9ee1d2;
}

.void-shell-page .profile-chip-status.is-active,
.void-shell-page .thread-status-pill.is-live {
    background: rgba(123, 196, 119, 0.16);
    color: #bce5a8;
}

.void-shell-page .profile-chip-status.is-suspended,
.void-shell-page .thread-status-pill.is-expired {
    background: rgba(240, 184, 138, 0.16);
    color: #f0c89e;
}

.void-shell-page .thread-status-pill.is-soon {
    background: rgba(222, 177, 95, 0.16);
    color: #f0d39b;
}

.void-shell-page .thread-context-stack::before {
    background: linear-gradient(180deg, #deb15f, #75cab9);
}

.void-shell-page .thread-context-card {
    background: rgba(4, 9, 14, 0.64);
    border-color: rgba(222, 177, 95, 0.22);
    color: #dce6ea;
}

.void-shell-page .thread-context-card span {
    color: rgba(222, 177, 95, 0.76);
}

.void-shell-page .thread-context-card p {
    color: #dce6ea;
}

.void-shell-page .thread-jump-link {
    background: rgba(4, 9, 14, 0.58);
    border-color: rgba(128, 190, 185, 0.24);
    color: #9ee1d2;
}

.void-shell-page .thread-jump-link:hover,
.void-shell-page .thread-jump-link:focus-visible {
    background: rgba(117, 202, 185, 0.14);
    color: #edf4f5;
}

.void-shell-page .thread-expired-state {
    border: 1px solid rgba(240, 184, 138, 0.28);
    border-left: 5px solid #f0b88a;
    border-radius: 0.5rem;
    background: rgba(27, 19, 17, 0.58);
    color: #edf4f5;
    padding: clamp(1rem, 3vw, 1.35rem);
}

.void-shell-page .thread-expired-state h2 {
    color: #edf4f5;
    font-weight: 900;
    margin-bottom: 0.45rem;
}

.void-shell-page .thread-expired-state p:last-of-type {
    color: rgba(223, 216, 209, 0.74);
}

.void-shell-page .btn-dark {
    background: #75cab9;
    border-color: #75cab9;
    color: #071016;
}

.void-shell-page .btn-dark:hover,
.void-shell-page .btn-dark:focus-visible {
    background: #9ee1d2;
    border-color: #9ee1d2;
    color: #071016;
}

.void-shell-page .btn-outline-dark {
    border-color: rgba(158, 225, 210, 0.52);
    color: #bdebe1;
}

.void-shell-page .btn-outline-dark:hover,
.void-shell-page .btn-outline-dark:focus-visible {
    background: rgba(117, 202, 185, 0.15);
    border-color: #9ee1d2;
    color: #ffffff;
}

.void-messages-page {
    background:
        radial-gradient(circle at 18% 8%, rgba(222, 177, 95, 0.12), transparent 24rem),
        radial-gradient(circle at 82% 16%, rgba(117, 202, 185, 0.14), transparent 28rem),
        linear-gradient(180deg, #081018 0%, #101820 42%, #070b10 100%);
    min-height: 100vh;
}

.void-notifications-page {
    background:
        radial-gradient(circle at 18% 8%, rgba(222, 177, 95, 0.12), transparent 24rem),
        radial-gradient(circle at 82% 16%, rgba(117, 202, 185, 0.14), transparent 28rem),
        linear-gradient(180deg, #081018 0%, #101820 42%, #070b10 100%);
    min-height: 100vh;
}

.void-notifications-page .void-messages-header {
    color: #e6edf2;
}

.void-notifications-page .void-messages-header h1 {
    color: #edf4f5;
}

.void-notifications-page .void-messages-header p:last-child,
.void-notifications-page .profile-label {
    color: rgba(201, 216, 221, 0.72);
}

.notifications-center-panel {
    border: 1px solid rgba(128, 190, 185, 0.2);
    border-radius: 0.5rem;
    background: rgba(7, 12, 18, 0.78);
    box-shadow: 0 22px 58px rgba(0, 0, 0, 0.34);
    color: #e6edf2;
    padding: 1rem;
}

.notifications-center-panel .messages-panel-header {
    border-color: rgba(128, 190, 185, 0.16);
}

.notifications-center-panel .messages-panel-header h2 {
    color: #edf4f5;
}

.notification-settings {
    display: grid;
    gap: 0.85rem;
    margin-bottom: 1rem;
    border: 1px solid rgba(128, 190, 185, 0.2);
    border-radius: 0.5rem;
    background: rgba(7, 12, 18, 0.78);
    box-shadow: 0 22px 58px rgba(0, 0, 0, 0.24);
    color: #e6edf2;
    padding: 1rem;
}

.notification-settings-form {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
    gap: 0.6rem;
}

.notification-setting-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    border: 1px solid rgba(128, 190, 185, 0.16);
    border-radius: 0.5rem;
    background: rgba(4, 9, 14, 0.58);
    color: #edf4f5;
    font-weight: 800;
    padding: 0.72rem 0.85rem;
}

.notification-setting-toggle input {
    width: 1.1rem;
    height: 1.1rem;
    accent-color: #75cab9;
}

.notification-settings-status {
    min-height: 1.35rem;
    color: rgba(201, 216, 221, 0.72);
    font-weight: 800;
    margin: 0;
}

.notifications-center-list {
    display: grid;
    gap: 0.7rem;
}

.notification-center-item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 1rem;
    width: 100%;
    border: 1px solid rgba(128, 190, 185, 0.16);
    border-left: 5px solid transparent;
    border-radius: 0.5rem;
    background: rgba(4, 9, 14, 0.6);
    color: #e6edf2;
    padding: 0.85rem;
    text-align: left;
}

.notification-center-item:hover,
.notification-center-item:focus-visible {
    border-left-color: #75cab9;
    background: linear-gradient(90deg, rgba(117, 202, 185, 0.15), rgba(4, 9, 14, 0.72));
}

.notification-center-item.unread {
    border-color: rgba(222, 177, 95, 0.42);
    border-left-color: #deb15f;
    background: linear-gradient(90deg, rgba(222, 177, 95, 0.18), rgba(4, 9, 14, 0.74));
}

.notification-center-state {
    border: 1px solid rgba(117, 202, 185, 0.24);
    border-radius: 999px;
    color: #75cab9;
    font-size: 0.72rem;
    font-weight: 900;
    padding: 0.25rem 0.55rem;
    text-transform: uppercase;
}

.notification-center-item.unread .notification-center-state {
    border-color: rgba(222, 177, 95, 0.44);
    color: #deb15f;
}

.notification-center-copy {
    display: grid;
    gap: 0.2rem;
    min-width: 0;
}

.notification-center-copy strong {
    color: #edf4f5;
    overflow-wrap: anywhere;
}

.notification-center-copy span,
.notification-center-item time {
    color: rgba(201, 216, 221, 0.7);
}

.notification-center-copy span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.notification-center-item time {
    font-size: 0.78rem;
    font-weight: 800;
    white-space: nowrap;
}

.void-notifications-page .feed-empty-state {
    border-color: rgba(128, 190, 185, 0.18);
    background: rgba(4, 9, 14, 0.62);
    box-shadow: none;
    color: #edf4f5;
}

.void-messages-shell {
    padding: clamp(0.85rem, 2vw, 1.5rem) 0 clamp(2rem, 5vw, 4rem);
}

.void-messages-container {
    width: min(100% - 1.5rem, 1180px);
    margin: 0 auto;
}

.void-messages-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    border: 1px solid rgba(128, 190, 185, 0.18);
    border-radius: 0.5rem;
    background: rgba(7, 12, 18, 0.76);
    box-shadow: 0 22px 58px rgba(0, 0, 0, 0.32);
    margin-bottom: 1rem;
    padding: clamp(1rem, 3vw, 1.35rem);
}

.void-messages-header h1 {
    color: #edf4f5;
    font-size: clamp(2rem, 5vw, 3.5rem);
    font-weight: 950;
    letter-spacing: 0;
    line-height: 0.95;
    margin: 0;
}

.void-messages-header p:last-child {
    color: rgba(201, 216, 221, 0.72);
    font-weight: 800;
    margin: 0.5rem 0 0;
}

.messages-shell {
    display: grid;
    grid-template-columns: minmax(260px, 340px) minmax(0, 1fr);
    gap: 1.25rem;
    align-items: start;
    min-width: 0;
}

.messages-panel {
    border: 1px solid rgba(23, 32, 42, 0.12);
    border-radius: 0.5rem;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 18px 48px rgba(23, 32, 42, 0.11);
    padding: 1rem;
    min-width: 0;
}

.messages-panel-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1rem;
    border-bottom: 1px solid #eef0f3;
    margin-bottom: 1rem;
    padding-bottom: 0.85rem;
}

.messages-panel-header h2 {
    color: #17202a;
    font-weight: 900;
    margin-bottom: 0;
    overflow-wrap: anywhere;
}

.messages-panel-header > div {
    min-width: 0;
}

.message-thread-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.5rem;
}

#loadOlderMessages {
    align-self: center;
    margin-bottom: 0.75rem;
}

.message-new-form {
    border-bottom: 1px solid #eef0f3;
    margin-bottom: 0.75rem;
    padding-bottom: 0.85rem;
    position: relative;
}

.message-new-form .input-group {
    flex-wrap: nowrap;
}

.message-new-form .form-control {
    min-width: 0;
}

.message-suggestions {
    display: grid;
    gap: 0.3rem;
    position: absolute;
    z-index: 8;
    top: calc(100% - 0.65rem);
    right: 0;
    left: 0;
    border: 1px solid #d9e1e7;
    border-radius: 0.5rem;
    background: #ffffff;
    box-shadow: 0 18px 42px rgba(23, 32, 42, 0.16);
    padding: 0.35rem;
}

.message-suggestion-option {
    display: grid;
    grid-template-columns: 1.8rem minmax(0, 1fr);
    gap: 0.5rem;
    align-items: center;
    width: 100%;
    border: 0;
    border-radius: 0.4rem;
    background: transparent;
    color: #17202a;
    padding: 0.45rem 0.5rem;
    text-align: left;
}

.message-suggestion-option:hover,
.message-suggestion-option:focus-visible {
    background: #eef7f6;
}

.message-suggestion-avatar {
    display: grid;
    place-items: center;
    width: 1.8rem;
    height: 1.8rem;
    border-radius: 999px;
    background: #17202a;
    color: #ffffff;
    font-size: 0.78rem;
    font-weight: 900;
}

.message-suggestion-empty {
    color: #6b7280;
    font-size: 0.9rem;
    font-weight: 800;
    padding: 0.5rem 0.6rem;
}

.conversation-list,
.message-list {
    display: grid;
    gap: 0.65rem;
}

.conversation-row {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 0.7rem;
    align-items: center;
    width: 100%;
    border: 1px solid #e5e7eb;
    border-left: 5px solid transparent;
    border-radius: 0.5rem;
    background: #fbfcfd;
    padding: 0.75rem;
    text-align: left;
    min-width: 0;
}

.conversation-row:hover,
.conversation-row:focus-visible,
.conversation-row.active {
    border-left-color: #253a5c;
    background: #fffdf8;
}

.conversation-row.is-unread {
    border-left-color: #be123c;
    background: #fff7f8;
}

.conversation-row.is-unread .conversation-main strong,
.conversation-row.is-unread .conversation-main small {
    font-weight: 900;
}

.conversation-avatar {
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    border-radius: 0.75rem;
    background: #17202a;
    color: #ffffff;
    font-weight: 900;
    flex: 0 0 auto;
}

.conversation-main {
    min-width: 0;
}

.conversation-main strong,
.conversation-main small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.conversation-main small,
.conversation-empty {
    color: #6b7280;
}

.conversation-unread {
    display: inline-grid;
    place-items: center;
    min-width: 1.35rem;
    height: 1.35rem;
    border-radius: 999px;
    background: #be123c;
    color: #ffffff;
    font-size: 0.75rem;
    font-weight: 900;
}

.messages-thread-panel {
    min-height: 560px;
}

.message-list {
    max-height: 520px;
    overflow-y: auto;
    padding-right: 0.25rem;
}

.message-bubble-row {
    display: flex;
}

.message-bubble-row.is-mine {
    justify-content: flex-end;
}

.message-bubble {
    width: min(76%, 620px);
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    background: #fbfcfd;
    padding: 0.75rem;
    min-width: 0;
}

.message-bubble-row.is-mine .message-bubble {
    border-color: rgba(37, 58, 92, 0.22);
    background: #eef2ff;
}

.message-bubble-meta {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.75rem;
    color: #6b7280;
    font-size: 0.78rem;
    font-weight: 800;
    margin-bottom: 0.35rem;
}

.message-bubble-meta span,
.message-bubble-meta time {
    min-width: 0;
    overflow-wrap: anywhere;
}

.message-bubble p {
    color: #17202a;
    margin: 0;
    overflow-wrap: anywhere;
    white-space: pre-wrap;
}

.message-form {
    border-top: 1px solid #eef0f3;
    margin-top: 1rem;
    padding-top: 1rem;
}

.message-form-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1rem;
    margin-top: 0.75rem;
}

.void-messages-bridge {
    grid-template-columns: minmax(280px, 360px) minmax(0, 1fr);
}

.void-messages-page .messages-panel {
    border-color: rgba(128, 190, 185, 0.2);
    background: rgba(7, 12, 18, 0.78);
    box-shadow: 0 22px 58px rgba(0, 0, 0, 0.34);
    color: #e6edf2;
}

.void-messages-rail .messages-panel {
    border-radius: 1rem 0.35rem 0.35rem 1rem;
}

.void-messages-thread {
    border-radius: 0.35rem 1rem 1rem 0.35rem;
}

.void-messages-page .messages-panel-header {
    border-color: rgba(128, 190, 185, 0.16);
}

.void-messages-page .messages-panel-header h2 {
    color: #edf4f5;
}

.void-messages-page .profile-label,
.void-messages-page .form-label,
.void-messages-page .conversation-main small,
.void-messages-page .conversation-empty {
    color: rgba(201, 216, 221, 0.68);
}

.void-messages-page .message-new-form {
    border-color: rgba(128, 190, 185, 0.16);
}

.void-messages-page .input-group-text,
.void-messages-page .message-new-form .form-control,
.void-messages-page .message-form .form-control {
    border-color: rgba(128, 190, 185, 0.22);
    background: rgba(4, 9, 14, 0.68);
    color: #edf4f5;
}

.void-messages-page .message-new-form .form-control::placeholder,
.void-messages-page .message-form .form-control::placeholder {
    color: rgba(201, 216, 221, 0.52);
}

.void-messages-page .message-new-form .form-control:focus,
.void-messages-page .message-form .form-control:focus {
    border-color: #75cab9;
    box-shadow: 0 0 0 0.2rem rgba(117, 202, 185, 0.15);
}

.void-messages-page .message-suggestions {
    border-color: rgba(128, 190, 185, 0.26);
    background: rgba(4, 9, 14, 0.96);
    box-shadow: 0 22px 48px rgba(0, 0, 0, 0.34);
}

.void-messages-page .message-suggestion-option {
    color: #edf4f5;
}

.void-messages-page .message-suggestion-option:hover,
.void-messages-page .message-suggestion-option:focus-visible {
    background: rgba(117, 202, 185, 0.14);
}

.void-messages-page .message-suggestion-avatar {
    background: linear-gradient(135deg, #75cab9, #deb15f);
    color: #061016;
}

.void-messages-page .message-suggestion-empty {
    color: rgba(201, 216, 221, 0.68);
}

.void-messages-page .conversation-row {
    border-color: rgba(128, 190, 185, 0.16);
    background: rgba(4, 9, 14, 0.6);
    color: #e6edf2;
}

.void-messages-page .conversation-row:hover,
.void-messages-page .conversation-row:focus-visible,
.void-messages-page .conversation-row.active {
    border-left-color: #75cab9;
    background: linear-gradient(90deg, rgba(117, 202, 185, 0.15), rgba(4, 9, 14, 0.72));
}

.void-messages-page .conversation-row.is-unread {
    border-color: rgba(222, 177, 95, 0.42);
    border-left-color: #deb15f;
    background: linear-gradient(90deg, rgba(222, 177, 95, 0.18), rgba(4, 9, 14, 0.74));
    box-shadow: inset 0 0 0 1px rgba(222, 177, 95, 0.08);
}

.void-messages-page .conversation-row.is-unread:hover,
.void-messages-page .conversation-row.is-unread:focus-visible,
.void-messages-page .conversation-row.is-unread.active {
    border-left-color: #deb15f;
    background: linear-gradient(90deg, rgba(222, 177, 95, 0.24), rgba(117, 202, 185, 0.1));
}

.void-messages-page .conversation-main strong {
    color: #edf4f5;
}

.void-messages-page .conversation-avatar {
    border-radius: 999px;
    background: linear-gradient(135deg, #75cab9, #deb15f);
    color: #061016;
    box-shadow: 0 0 0 4px rgba(8, 16, 22, 0.72);
}

.void-messages-page .conversation-unread {
    background: #75cab9;
    color: #061016;
}

.void-messages-page .message-list {
    scrollbar-color: rgba(117, 202, 185, 0.44) rgba(4, 9, 14, 0.62);
}

.void-messages-page .message-bubble {
    border-color: rgba(128, 190, 185, 0.22);
    border-radius: 1rem 1rem 1rem 0.25rem;
    background: rgba(12, 21, 27, 0.9);
    color: #edf4f5;
}

.void-messages-page .message-bubble-row.is-mine .message-bubble {
    border-color: rgba(222, 177, 95, 0.28);
    border-radius: 1rem 1rem 0.25rem 1rem;
    background: rgba(222, 177, 95, 0.14);
}

.void-messages-page .message-bubble-meta {
    color: rgba(201, 216, 221, 0.64);
}

.void-messages-page .message-bubble p {
    color: #edf4f5;
}

.void-messages-page .message-form {
    border-color: rgba(128, 190, 185, 0.16);
}

.void-messages-page .feed-empty-state {
    border-color: rgba(128, 190, 185, 0.18);
    background: rgba(4, 9, 14, 0.62);
    box-shadow: none;
    color: #edf4f5;
}

.thread-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(240px, 300px);
    gap: 1.25rem;
    align-items: start;
}

.thread-main {
    display: grid;
    gap: 1rem;
    min-width: 0;
}

.thread-root-body {
    display: grid;
    gap: 1rem;
}

.thread-context-stack {
    display: grid;
    gap: 0.65rem;
    position: relative;
}

.thread-context-stack::before {
    content: "";
    position: absolute;
    left: 0.85rem;
    top: 0.75rem;
    bottom: 0.75rem;
    width: 2px;
    background: linear-gradient(180deg, #90601f, #4f7d4d);
}

.thread-context-card {
    position: relative;
    border: 1px solid #e5e7eb;
    border-left: 5px solid #90601f;
    border-radius: 0.5rem;
    background: #fffdf8;
    margin-left: 1.4rem;
    padding: 0.85rem;
}

.thread-context-card div {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    align-items: center;
    margin-bottom: 0.3rem;
}

.thread-context-card span {
    color: #6b7280;
    font-size: 0.78rem;
    font-weight: 900;
    text-transform: uppercase;
}

.thread-context-card a {
    color: #253a5c;
    font-weight: 900;
    text-decoration: none;
}

.thread-context-card p {
    color: #374151;
    font-weight: 800;
    margin: 0 0 0.25rem;
}

.thread-composer-panel {
    padding: 1rem;
}

.thread-side {
    position: sticky;
    top: 5rem;
}

.thread-summary-card {
    padding: 1rem;
}

.thread-summary-card dl {
    margin-top: 0.6rem;
}

.thread-jump-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    color: #253a5c;
    font-weight: 900;
    margin-top: 1rem;
    padding: 0.55rem 0.75rem;
    text-decoration: none;
}

.thread-jump-link:hover,
.thread-jump-link:focus-visible {
    background: #f4f0e8;
    color: #17202a;
}

.void-thread-page {
    background:
        radial-gradient(circle at 74% 0%, rgba(117, 202, 185, 0.14), transparent 28rem),
        linear-gradient(180deg, #081018 0%, #101820 42%, #070b10 100%);
    min-height: 100vh;
}

.void-thread-shell {
    padding: clamp(0.75rem, 2vw, 1.25rem) 0 clamp(2rem, 5vw, 4rem);
}

.void-thread-container {
    width: min(100%, 720px);
    margin: 0 auto;
    border-inline: 1px solid rgba(128, 190, 185, 0.16);
    background: rgba(7, 12, 18, 0.74);
    min-height: calc(100vh - 4rem);
}

.void-thread-topbar {
    position: sticky;
    top: 0;
    z-index: 5;
    display: grid;
    grid-template-columns: 2.5rem minmax(0, 1fr) auto;
    gap: 0.75rem;
    align-items: center;
    border-bottom: 1px solid rgba(128, 190, 185, 0.16);
    background: rgba(7, 12, 18, 0.9);
    backdrop-filter: blur(14px);
    padding: 0.75rem 1rem;
}

.void-thread-back {
    display: grid;
    place-items: center;
    width: 2.25rem;
    height: 2.25rem;
    border: 1px solid rgba(158, 225, 210, 0.34);
    border-radius: 999px;
    color: #9ee1d2;
    font-size: 1.15rem;
    font-weight: 900;
    text-decoration: none;
}

.void-thread-back:hover,
.void-thread-back:focus-visible {
    background: rgba(117, 202, 185, 0.14);
    color: #edf4f5;
}

.void-thread-heading {
    min-width: 0;
}

.void-thread-heading h1 {
    color: #edf4f5;
    font-size: 1.05rem;
    font-weight: 900;
    margin: 0;
}

.void-thread-heading p {
    color: rgba(201, 216, 221, 0.68);
    font-size: 0.82rem;
    font-weight: 800;
    margin: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.void-thread-focus {
    border-bottom: 1px solid rgba(128, 190, 185, 0.18);
}

.void-thread-focus .thread-root-body {
    gap: 0;
}

.void-thread-focus .thread-context-stack {
    gap: 0;
}

.void-thread-focus .thread-context-stack::before {
    display: none;
}

.void-thread-navigation {
    display: grid;
    gap: 0.85rem;
    border-bottom: 1px solid rgba(128, 190, 185, 0.16);
    padding: 0.9rem 1rem;
}

.void-thread-controls {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 0.75rem 1rem;
}

.void-thread-control,
.void-thread-collapse {
    border: 1px solid rgba(125, 220, 205, 0.34);
    border-radius: 0.5rem;
    background: rgba(5, 12, 18, 0.72);
    color: #e8f7f4;
    font-weight: 800;
    padding: 0.45rem 0.7rem;
}

.void-thread-control:hover,
.void-thread-control:focus-visible,
.void-thread-collapse:hover,
.void-thread-collapse:focus-visible {
    background: rgba(117, 202, 185, 0.13);
    border-color: rgba(125, 220, 205, 0.58);
    color: #ffffff;
}

.void-thread-row-tools {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.55rem;
}

.void-thread-depth-label {
    color: #9fb3c3;
    font-size: 0.78rem;
    font-weight: 800;
}

.void-thread-jump-links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
}

.void-thread-jump {
    display: grid;
    gap: 0.12rem;
    border: 1px solid rgba(128, 190, 185, 0.2);
    border-radius: 0.8rem;
    background: rgba(4, 9, 14, 0.52);
    color: #edf4f5;
    min-width: 0;
    padding: 0.62rem 0.72rem;
    text-decoration: none;
}

.void-thread-jump:hover,
.void-thread-jump:focus-visible {
    background: rgba(117, 202, 185, 0.12);
    border-color: rgba(117, 202, 185, 0.42);
    color: #ffffff;
}

.void-thread-jump span {
    color: rgba(222, 177, 95, 0.82);
    font-size: 0.72rem;
    font-weight: 950;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.void-thread-jump strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.void-thread-jump-next {
    text-align: right;
}

.void-thread-map {
    border: 1px solid rgba(128, 190, 185, 0.16);
    border-radius: 0.9rem;
    background:
        linear-gradient(135deg, rgba(117, 202, 185, 0.08), transparent 48%),
        rgba(4, 9, 14, 0.48);
    overflow: hidden;
}

.void-thread-map-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    border-bottom: 1px solid rgba(128, 190, 185, 0.12);
    color: rgba(222, 177, 95, 0.84);
    font-size: 0.74rem;
    font-weight: 950;
    letter-spacing: 0.12em;
    padding: 0.65rem 0.75rem;
    text-transform: uppercase;
}

.void-thread-map-heading strong {
    color: #9ee1d2;
}

.void-thread-map-list {
    display: grid;
}

.void-thread-map-item {
    display: grid;
    grid-template-columns: 1rem minmax(0, 1fr);
    gap: 0.58rem;
    align-items: start;
    color: rgba(237, 244, 245, 0.76);
    padding: 0.58rem 0.72rem 0.58rem calc(0.72rem + (var(--thread-depth, 0) * 1.05rem));
    text-decoration: none;
}

.void-thread-map-item + .void-thread-map-item {
    border-top: 1px solid rgba(128, 190, 185, 0.08);
}

.void-thread-map-item:hover,
.void-thread-map-item:focus-visible {
    background: rgba(117, 202, 185, 0.1);
    color: #ffffff;
}

.void-thread-map-item.is-selected {
    background: rgba(222, 177, 95, 0.1);
    color: #ffffff;
}

.void-thread-map-rail {
    width: 0.55rem;
    height: 0.55rem;
    margin-top: 0.38rem;
    border: 2px solid rgba(158, 225, 210, 0.55);
    border-radius: 999px;
    box-shadow: 0 0 12px rgba(117, 202, 185, 0.18);
}

.void-thread-map-item.is-selected .void-thread-map-rail {
    background: #deb15f;
    border-color: #deb15f;
}

.void-thread-map-copy {
    display: grid;
    gap: 0.08rem;
    min-width: 0;
}

.void-thread-map-handle {
    color: #9ee1d2;
    font-size: 0.82rem;
    font-weight: 950;
}

.void-thread-map-text {
    color: rgba(201, 216, 221, 0.78);
    font-size: 0.86rem;
    line-height: 1.32;
    overflow-wrap: anywhere;
}

.void-context-echo {
    display: grid;
    grid-template-columns: 2.5rem minmax(0, 1fr);
    gap: 0.75rem;
    border-bottom: 1px solid rgba(128, 190, 185, 0.12);
    color: inherit;
    padding: 0.8rem 1rem;
    text-decoration: none;
}

.void-context-echo:hover,
.void-context-echo:focus-visible {
    background: rgba(117, 202, 185, 0.08);
    color: inherit;
}

.void-context-line {
    justify-self: center;
    width: 2px;
    min-height: 3rem;
    background: linear-gradient(180deg, rgba(222, 177, 95, 0.1), rgba(158, 225, 210, 0.55));
}

.void-context-copy {
    display: grid;
    gap: 0.18rem;
    min-width: 0;
}

.void-context-label,
.void-context-handle {
    color: rgba(222, 177, 95, 0.76);
    font-size: 0.75rem;
    font-weight: 900;
    text-transform: uppercase;
}

.void-context-handle {
    color: rgba(201, 216, 221, 0.68);
    text-transform: none;
}

.void-context-text {
    color: rgba(237, 244, 245, 0.78);
    font-weight: 800;
    overflow-wrap: anywhere;
}

.void-shell-page .void-thread-selected-post,
.void-thread-selected-post {
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    padding: clamp(1rem, 3vw, 1.25rem);
}

.void-shell-page .void-thread-selected-post:hover,
.void-shell-page .void-thread-selected-post:focus-within,
.void-thread-selected-post:hover,
.void-thread-selected-post:focus-within {
    background: transparent;
    border-color: transparent;
    box-shadow: none;
    transform: none;
}

.void-thread-selected-post .post-body {
    font-size: clamp(1.18rem, 2.6vw, 1.55rem);
    line-height: 1.38;
}

.void-thread-page .post-shell {
    background:
        linear-gradient(135deg, rgba(20, 39, 45, 0.24), transparent 44%),
        repeating-linear-gradient(90deg, rgba(222, 177, 95, 0.025) 0 1px, transparent 1px 42px);
}

.void-thread-page .post-avatar {
    background: linear-gradient(135deg, #1d383e, #6c4e36);
    box-shadow: 0 0 0 5px rgba(8, 16, 22, 0.96);
}

.void-thread-page .post-handle,
.void-thread-page .post-expand-btn {
    color: #9ee1d2;
}

.void-thread-page .post-handle:hover,
.void-thread-page .post-expand-btn:hover,
.void-thread-page .post-expand-btn:focus-visible {
    color: #cff4eb;
}

.void-thread-page .post-author small,
.void-thread-page .post-meta {
    color: rgba(201, 216, 221, 0.66);
}

.void-thread-page .post-actions {
    border-color: rgba(128, 190, 185, 0.18);
}

.void-thread-page .post-menu-btn,
.void-thread-page .post-action {
    background: rgba(4, 9, 14, 0.68);
    border-color: rgba(128, 190, 185, 0.22);
    color: rgba(230, 237, 242, 0.82);
}

.void-thread-page .post-action:hover,
.void-thread-page .post-action:focus-visible {
    background: rgba(117, 202, 185, 0.15);
    border-color: rgba(117, 202, 185, 0.42);
    color: #ffffff;
}

.void-thread-page .post-link-preview {
    background: rgba(4, 9, 14, 0.56);
    border-color: rgba(128, 190, 185, 0.22);
    color: #edf4f5;
}

.void-thread-page .post-link-preview-domain,
.void-thread-page .post-link-preview-description {
    color: #9db0b9;
}

.void-thread-page .post-link-preview-title {
    color: #edf4f5;
}

.void-thread-composer {
    display: grid;
    grid-template-columns: 2.25rem minmax(0, 1fr);
    gap: 0.75rem;
    border-bottom: 1px solid rgba(128, 190, 185, 0.16);
    padding: 0.9rem 1rem;
}

.void-thread-composer-avatar {
    display: grid;
    place-items: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 999px;
    background: linear-gradient(135deg, #75cab9, #deb15f);
    color: #061016;
    font-weight: 950;
}

.void-thread-composer-main {
    min-width: 0;
}

.void-thread-composer .form-control {
    border: 1px solid rgba(128, 190, 185, 0.22);
    border-radius: 0.75rem;
    background: rgba(4, 9, 14, 0.64);
    color: #edf4f5;
}

.void-thread-composer .form-control::placeholder {
    color: rgba(201, 216, 221, 0.52);
}

.void-thread-composer .form-control:focus {
    border-color: #75cab9;
    box-shadow: 0 0 0 0.2rem rgba(117, 202, 185, 0.15);
}

.void-thread-composer-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 0.65rem;
}

.void-thread-composer-actions span {
    color: rgba(201, 216, 221, 0.66);
    font-size: 0.82rem;
    font-weight: 800;
}

.void-thread-replies {
    min-width: 0;
}

.void-thread-section-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    border-bottom: 1px solid rgba(128, 190, 185, 0.16);
    padding: 0.9rem 1rem;
}

.void-thread-section-header h2 {
    color: #edf4f5;
    font-size: 1rem;
    font-weight: 900;
    margin: 0;
}

.void-thread-list {
    gap: 0;
}

.void-thread-list::before {
    left: 2.45rem;
    top: 1rem;
    bottom: 1rem;
    background: linear-gradient(180deg, rgba(117, 202, 185, 0), rgba(117, 202, 185, 0.34), rgba(222, 177, 95, 0.18), rgba(117, 202, 185, 0));
}

.void-shell-page .void-thread-list .post-item,
.void-thread-list .post-item {
    border: 0;
    border-bottom: 1px solid rgba(128, 190, 185, 0.14);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: #e6edf2;
    padding: 1rem;
}

.void-shell-page .void-thread-list .post-item:hover,
.void-shell-page .void-thread-list .post-item:focus-within,
.void-thread-list .post-item:hover,
.void-thread-list .post-item:focus-within {
    background: rgba(117, 202, 185, 0.08);
    border-color: rgba(128, 190, 185, 0.2);
    box-shadow: none;
    transform: none;
}

.void-thread-list .thread-empty-state {
    border: 0;
    border-bottom: 1px solid rgba(128, 190, 185, 0.14);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: #edf4f5;
    padding: 1rem;
}

@keyframes postInserted {
    0% {
        box-shadow: 0 0 0 0 rgba(37, 58, 92, 0.28);
        transform: translateY(-6px);
    }
    100% {
        box-shadow: 0 14px 34px rgba(23, 32, 42, 0.10);
        transform: translateY(0);
    }
}

@keyframes likePulse {
    0% { transform: scale(1); }
    45% { transform: scale(1.18); }
    100% { transform: scale(1); }
}

@keyframes voidSignalBlink {
    0%,
    100% {
        opacity: 1;
        box-shadow: 0 0 14px rgba(117, 202, 185, 0.9);
    }
    50% {
        opacity: 0.35;
        box-shadow: 0 0 4px rgba(117, 202, 185, 0.45);
    }
}

@keyframes voidPostExpiring {
    0% {
        filter: blur(0);
        max-height: 34rem;
        opacity: 1;
        transform: scale(1);
    }
    38% {
        filter: blur(0.5px);
        opacity: 0.82;
        transform: scale(0.985, 0.92);
    }
    100% {
        filter: blur(2px);
        margin-block: -0.5rem;
        max-height: 0;
        opacity: 0;
        padding-block: 0;
        transform: scale(0.78, 0.08);
    }
}

@keyframes skeletonSweep {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

@media (max-width: 992px) {
    .profile-shell,
    .user-profile-shell,
    .messages-shell {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .notification-center-item {
        grid-template-columns: 1fr;
        gap: 0.45rem;
    }

    .notification-center-item time {
        white-space: normal;
    }

    .void-thread-container {
        border-inline: 0;
        min-height: 100vh;
    }

    .void-thread-topbar {
        grid-template-columns: 2.25rem minmax(0, 1fr);
    }

    .void-thread-topbar .thread-status-pill {
        grid-column: 2;
        justify-self: start;
    }

    .void-thread-section-header,
    .void-thread-composer-actions {
        align-items: flex-start;
        flex-direction: column;
    }

    .thread-layout {
        grid-template-columns: 1fr;
    }

    .void-messages-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .void-messages-bridge {
        grid-template-columns: 1fr;
    }

    .void-messages-rail .messages-panel,
    .void-messages-thread {
        border-radius: 0.5rem;
    }

    .message-bubble {
        width: 100%;
    }

    .conversation-row {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .conversation-unread {
        grid-column: 2;
        justify-self: start;
    }

    .thread-side {
        position: static;
    }

    .profile-posts-header,
    .messages-panel-header,
    .thread-panel-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .messages-panel-header .btn {
        width: 100%;
    }

    .profile-stat-grid {
        grid-template-columns: 1fr;
    }

    .feed-toolbar,
    .post-header {
        align-items: stretch;
        flex-direction: column;
    }

    .feed-sort-label {
        width: 100%;
    }

    .feed-sort-label .form-select {
        flex: 1;
    }

    .feed-list::before {
        display: none;
    }

    .void-thread-list::before {
        display: block;
        left: 2.1rem;
    }

    .post-shell {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .post-avatar {
        display: none;
    }

    .void-thread-list .post-shell,
    .void-thread-selected-post .post-shell {
        grid-template-columns: auto minmax(0, 1fr);
        gap: 0.75rem;
    }

    .void-thread-list .post-avatar,
    .void-thread-selected-post .post-avatar {
        display: inline-flex;
        width: 40px;
        height: 40px;
    }

    .post-author {
        flex: 0 1 auto;
        width: 100%;
    }

    .post-meta {
        width: 100%;
        justify-content: flex-start;
    }

    .post-chips {
        justify-content: flex-start;
    }
}

@media (max-width: 576px) {
    .void-messages-container {
        width: min(100% - 0.75rem, 1180px);
    }

    .void-messages-page .message-bubble {
        width: min(90%, 620px);
    }

    .feed-list {
        gap: 0.7rem;
    }

    .post-item {
        border-left-width: 4px;
        padding: 0.75rem;
    }

    .post-header {
        gap: 0.45rem;
    }

    .post-author small {
        font-size: 0.76rem;
    }

    .post-text-wrap {
        margin-top: 0.55rem;
    }

    .post-body {
        font-size: 0.98rem;
        line-height: 1.42;
    }

    .post-link-preview {
        grid-template-columns: minmax(0, 1fr);
    }

    .post-link-preview-image img {
        aspect-ratio: 16 / 8;
        height: auto;
        min-height: 0;
    }

    .post-actions {
        gap: 0.4rem;
        margin-top: 0.65rem;
        padding-top: 0.55rem;
    }

    .post-action {
        min-height: 1.85rem;
        padding: 0.22rem 0.58rem;
    }

    .inline-context {
        margin-top: 0.55rem;
        padding: 0.6rem;
    }
}
