@charset "UTF-8";
/*!
 * Fresns (https://fresns.org)
 * Copyright 2021-Present Jevan Tang
 * Licensed under the Apache-2.0 license
 */

body {
    --comet-primary: #4a3fa8;
    --comet-primary-deep: #382d8f;
    --comet-action: #4a3fa8;
    --comet-action-deep: #382d8f;
    --comet-primary-soft: #efebff;
    --comet-primary-soft-2: #f7f4ff;
    --comet-gold: #ffca3b;
    --comet-gold-soft: #fff3ca;
    --comet-orange: #ff8a34;
    --comet-coral: #ff6d3c;
    --comet-ink: #241f45;
    --comet-muted: #66718a;
    --comet-border: rgba(36, 31, 69, 0.09);
    --comet-shadow: 0 14px 30px rgba(46, 34, 110, 0.08);
    --comet-surface: #ffffff;
    --comet-surface-raised: #ffffff;
    --comet-surface-soft: #f7f5fc;
    --comet-surface-hover: #f1eef9;
    --comet-text-body: #302b4c;
    --comet-text-strong: #17143d;
    --comet-text-subtle: #66718a;
    --comet-chip-bg: #f5f2ff;
    --comet-chip-text: #443a78;
    --comet-gold-text: #7a5200;
    --comet-info-soft: #e7f3ff;
    --comet-info-text: #155ea8;
    --comet-success-soft: #e8f7ee;
    --comet-success-text: #147947;
    --comet-danger-soft: #fff0f2;
    --comet-danger-text: #a8273b;
    --comet-neutral-soft: #f0f1f5;
    --comet-neutral-text: #5f6472;
    --comet-card-radius-lg: 1.5rem;
    --comet-card-radius-md: 1.14rem;
    --comet-nav-width: 224px;
    --comet-sidebar-width: 332px;
    background:
        radial-gradient(circle at top left, rgba(74, 63, 168, 0.08), transparent 28%),
        radial-gradient(circle at top right, rgba(255, 202, 59, 0.13), transparent 20%),
        linear-gradient(180deg, #ffffff 0%, #faf9ff 100%);
    line-height: 1.38;
    font-family: Inter, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    color: var(--comet-ink);
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
h1,
h2,
h3,
h4,
.fs-3,
.fs-4,
.comet-private-title,
.comet-chat-dock-title,
.comet-chat-dock-item-title,
.comet-sidebar-card-title,
.comet-page-header h1 {
    font-family: 'DejaVu Sans', Inter, 'Segoe UI', sans-serif;
    letter-spacing: -0.02em;
}
.fs-7 {
    font-size: 0.9rem;
}
.fs-8 {
    font-size: 0.8rem;
}
.w-65 {
    width: 65% !important;
}
.w-35 {
    width: 35% !important;
}
.zoom-image {
    cursor: zoom-in;
}
.iframe-modal {
    width: 100%;
    overflow: auto;
}
.border-end-rounded-0 {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

/* Navbar */
.fs-navbar {
    --bs-bg-opacity: 1;
    background-color: rgba(255, 255, 255, 0.96) !important;
    backdrop-filter: blur(10px);
}
.fs-navbar .navbar-brand:hover {
    background-color: rgba(74, 63, 168, 0.08);
}
.fs-menus .nav-link {
    font-size: clamp(1.26rem, 1.16rem + 0.24vw, 1.4rem);
    color: #2b2554;
    padding: 0.62rem 0.78rem;
    align-items: center;
    line-height: 1.15;
    transition: background-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
}
.fs-menus .nav-link:hover {
    background-color: rgba(74, 63, 168, 0.08);
    color: var(--comet-primary);
    transform: translateX(1px);
}
.fs-menus .active {
    font-weight: 700;
    background-color: rgba(74, 63, 168, 0.1);
    color: var(--comet-primary);
}
.fs-menus .comet-feedback-nav-item {
    margin-top: 0.8rem !important;
}
.fs-menus .comet-feedback-nav-link {
    border: 1px solid rgba(92, 72, 177, 0.16);
    background: linear-gradient(135deg, #f0ecff 0%, #e2dafd 100%);
    color: #493a91;
    font-size: 0.88rem;
    font-weight: 800;
    letter-spacing: 0.055em;
    box-shadow: 0 0.65rem 1.45rem rgba(84, 65, 164, 0.12);
}
.fs-menus .comet-feedback-nav-link:hover,
.fs-menus .comet-feedback-nav-link:focus-visible {
    border-color: rgba(92, 72, 177, 0.28);
    background: linear-gradient(135deg, #e9e2ff 0%, #d8cdfb 100%);
    color: #34256f;
    transform: translateY(-1px);
    box-shadow: 0 0.8rem 1.65rem rgba(84, 65, 164, 0.17);
}
.fs-create {
    font-size: 1rem;
    background: linear-gradient(135deg, var(--comet-orange), var(--comet-coral));
    border: var(--bs-btn-border-width) solid transparent;
    color: #fff !important;
    box-shadow: 0 10px 24px rgba(255, 109, 60, 0.22);
    min-height: 3.05rem;
    padding: 0.9rem 1.28rem;
    line-height: 1.1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
}
.nav-avatar img {
    width: 40px;
    height: 40px;
}
.btn-account {
    line-height: 1.25rem;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    padding: 0.85rem 0.95rem !important;
    border: 1px solid rgba(36, 31, 69, 0.08);
    background: var(--comet-surface-raised);
    box-shadow: 0 10px 24px rgba(36, 31, 69, 0.06);
}
.btn-account:hover {
    background-color: var(--comet-surface-hover);
}
.comet-account-shell {
    width: 100%;
    align-items: stretch !important;
}
.comet-sidebar-utility {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.5rem;
    width: 100%;
    padding-top: 0.45rem;
}
.comet-sidebar-utility-btn {
    position: relative;
    min-height: 2.8rem;
    border-radius: 0.9rem;
    border: 1px solid rgba(36, 31, 69, 0.08);
    background: var(--comet-surface-raised);
    color: var(--comet-primary);
    box-shadow: 0 10px 24px rgba(36, 31, 69, 0.05);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.98rem;
    transition: transform 0.18s ease, background-color 0.18s ease, color 0.18s ease;
}
.comet-sidebar-utility-btn:hover,
.comet-sidebar-utility-btn:focus {
    color: var(--comet-primary-deep);
    background: var(--comet-surface-hover);
    transform: translateY(-1px);
}
.comet-sidebar-utility-btn.active {
    background: rgba(74, 63, 168, 0.1);
    color: var(--comet-primary-deep);
    border-color: rgba(74, 63, 168, 0.16);
}
.comet-sidebar-utility-badge {
    position: absolute;
    top: 0.26rem;
    right: 0.28rem;
    min-width: 1.18rem;
    height: 1.18rem;
    padding: 0 0.28rem;
    border-radius: 999px;
    background: #ef5b6f;
    color: #fff;
    font-size: 0.66rem;
    line-height: 1.18rem;
    font-weight: 700;
    text-align: center;
    box-shadow: 0 6px 14px rgba(239, 91, 111, 0.22);
}
.comet-sidebar-create {
    margin-top: 0.85rem;
}
.comet-mobile-header-actions {
    min-height: 2.9rem;
}
.comet-mobile-create {
    width: auto;
    min-width: 0;
    padding-inline: 0.96rem;
    padding-block: 0.7rem;
    font-size: 0.94rem;
}
.comet-mobile-menu-toggle {
    border-radius: 1rem;
    border: 1px solid rgba(36, 31, 69, 0.1);
    background: var(--comet-surface-raised);
    padding: 0.58rem 0.82rem;
    box-shadow: 0 8px 18px rgba(36, 31, 69, 0.06);
}
.comet-mobile-menu-toggle:focus,
.comet-mobile-menu-toggle:hover {
    background: var(--comet-surface-hover);
}
.navbar-toggler:focus {
    box-shadow: 0 0 0 0.18rem rgba(74, 63, 168, 0.12);
}
.btn-account-profile {
    flex: 1 1 auto;
    min-width: 0;
    color: var(--comet-ink);
    min-height: 3rem;
}
.btn-account-profile:hover .nav-nickname,
.btn-account-profile:focus .nav-nickname {
    color: var(--comet-primary);
}
.btn-account-menu {
    width: 2.8rem;
    height: 2.8rem;
    flex: 0 0 auto;
    border: 1px solid rgba(36, 31, 69, 0.08);
    background: var(--comet-surface-raised);
    box-shadow: 0 10px 24px rgba(36, 31, 69, 0.06);
    color: #6d6794;
}
.btn-account-menu:hover,
.btn-account-menu:focus {
    background: var(--comet-surface-hover);
    color: var(--comet-primary);
}
.comet-tabbar-spacer {
    display: none;
}
.fs-tabbar {
    background: rgba(255, 255, 255, 0.97) !important;
    backdrop-filter: blur(16px);
    box-shadow: 0 -10px 24px rgba(16, 40, 63, 0.08);
    padding-bottom: env(safe-area-inset-bottom);
}
.fs-tabbar .row {
    --bs-gutter-x: 0.18rem;
    margin-inline: 0.35rem !important;
}
.fs-tabbar .col {
    min-width: 0;
    padding-inline: 0.12rem;
}
.comet-tabbar-link {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.2rem;
    min-height: 4.1rem;
    border-radius: 1rem;
    padding: 0.4rem 0.2rem 0.5rem;
}
.comet-tabbar-icon {
    line-height: 1;
}
.comet-tabbar-label {
    line-height: 1.05;
    text-align: center;
}
.nav-nickname {
    font-weight: 700;
}
.fs-main {
    margin-top: 36px;
    border-right: 0px var(--bs-border-style) rgba(19, 48, 74, 0.08) !important;
}
.main-fullscreen {
    margin-top: 44px;
}
@media (min-width: 992px) {
    body {
        --comet-nav-width: clamp(240px, 17vw, 268px);
        --comet-sidebar-width: clamp(334px, 21.6vw, 372px);
    }
    .fs-navbar .navbar-brand {
        padding: 0.55rem;
    }
    .fs-navbar .container-fluid {
        height: 100vh;
        min-height: 100vh;
        overflow-y: auto;
        gap: 0.18rem;
        scrollbar-width: none;
        -ms-overflow-style: none;
    }
    .fs-navbar .navbar-collapse {
        display: flex !important;
        flex-direction: column;
        align-items: stretch;
        width: 100%;
        flex: 1 1 auto;
        min-height: 0;
        overflow-y: auto;
        scrollbar-width: none;
        -ms-overflow-style: none;
    }
    .fs-menus {
        flex: 1 1 auto;
        width: 100%;
        gap: 0.12rem;
        min-height: 0;
        overflow-y: auto;
        scrollbar-width: none;
        -ms-overflow-style: none;
    }
    .ms-25 {
        margin-left: var(--comet-nav-width);
    }
    .fs-navbar {
        overflow-y: auto;
        height: 100vh;
        align-items: start;
        width: var(--comet-nav-width);
        background-color: var(--comet-surface) !important;
        scrollbar-width: none;
        -ms-overflow-style: none;
    }
    .fs-account {
        position: static;
        text-align: left;
        width: calc(100% - 2rem);
        left: 1rem;
        right: 1rem;
        margin-top: auto;
        padding-top: 0.42rem;
        flex: 0 0 auto;
    }
    .fs-main {
        width: calc(100% - var(--comet-nav-width) - var(--comet-sidebar-width));
        float: left !important;
        margin-left: var(--comet-nav-width);
        margin-top: 0;
        padding-left: 1.66rem;
        padding-right: 3.46rem;
        border-right: none !important;
    }
    .fs-main.fs-main--wide {
        width: calc(100% - var(--comet-nav-width));
        border-right: none !important;
        padding-left: 1.38rem;
        padding-right: 1.32rem;
    }
    .fs-sidebar {
        width: var(--comet-sidebar-width);
        padding: 0 1rem 0 3.08rem;
        float: left !important;
    }
    .main-fullscreen .account-settings {
        width: 50%;
    }
}
@media (min-width: 1200px) {
    body {
        --comet-nav-width: clamp(268px, 19vw, 300px);
        --comet-sidebar-width: clamp(352px, 21.2vw, 396px);
    }
    .ms-25 {
        margin-left: var(--comet-nav-width);
    }
    .fs-navbar .container-fluid {
        height: 100vh;
        min-height: 100vh;
        overflow-y: auto;
        gap: 0.18rem;
    }
    .fs-navbar .navbar-collapse {
        display: flex !important;
        flex-direction: column;
        align-items: stretch;
        width: 100%;
        flex: 1 1 auto;
        min-height: 0;
        overflow: hidden;
    }
    .fs-menus {
        flex: 1 1 auto;
        width: 100%;
        gap: 0.12rem;
        min-height: 0;
    }
    .fs-navbar {
        overflow-y: auto;
        height: 100vh;
        align-items: start;
        width: var(--comet-nav-width);
        background-color: var(--comet-surface) !important;
    }
    .fs-account {
        position: static;
        text-align: left;
        width: calc(100% - 2rem);
        left: 1rem;
        right: 1rem;
        margin-top: auto;
        padding-top: 0.42rem;
        flex: 0 0 auto;
    }
    .fs-main {
        width: calc(100% - var(--comet-nav-width) - var(--comet-sidebar-width));
        float: left !important;
        margin-left: var(--comet-nav-width);
        margin-top: 0;
        padding-left: 1.82rem;
        padding-right: 3.72rem;
        border-right: none !important;
    }
    .fs-main.fs-main--wide {
        width: calc(100% - var(--comet-nav-width));
        border-right: none !important;
        padding-left: 1.44rem;
        padding-right: 1.32rem;
    }
    .fs-sidebar {
        width: var(--comet-sidebar-width);
        padding: 0 1rem 0 3.36rem;
        float: left !important;
    }
    .main-fullscreen .account-settings {
        width: 50%;
    }
}
.fs-navbar::-webkit-scrollbar,
.fs-navbar .container-fluid::-webkit-scrollbar,
.fs-navbar .navbar-collapse::-webkit-scrollbar,
.fs-menus::-webkit-scrollbar {
    width: 0;
    height: 0;
    display: none;
}
.link-fresns {
    color: var(--comet-primary);
}

/* Common */
.fs-hover {
    border-radius: 1rem;
    transition: background-color 0.16s ease, border-color 0.16s ease, color 0.16s ease;
}
.fs-hover:hover {
    background-color: var(--comet-surface-hover);
}
.fs-hover:focus-within {
    background-color: var(--comet-surface-hover);
}
.fs-text-decoration a {
    text-decoration: none;
}
.fs-text-decoration a:hover {
    text-decoration: underline;
}
.nav-link {
    color: var(--comet-primary);
}
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
    background-color: var(--comet-primary);
}
.fs-list-group .fs-mark {
    color: var(--comet-primary);
    border: var(--bs-btn-border-width) solid var(--comet-primary);
}
.fs-list-group .fs-mark:hover {
    color: var(--bs-white);
    background-color: var(--comet-primary);
    border: var(--bs-btn-border-width) solid var(--comet-primary);
}

.btn-success,
.btn.btn-success {
    color: #fff;
    background: linear-gradient(135deg, var(--comet-action), var(--comet-action-deep));
    background-color: var(--comet-action);
    border-color: transparent;
    box-shadow: 0 10px 24px rgba(74, 63, 168, 0.18);
}
.btn-success:hover,
.btn-success:focus,
.btn-success:active,
.btn.btn-success:hover,
.btn.btn-success:focus,
.btn.btn-success:active {
    color: #fff;
    background: linear-gradient(135deg, var(--comet-action-deep), #2f2776);
    background-color: var(--comet-action-deep);
    border-color: transparent;
}
.btn-outline-success {
    color: var(--comet-primary);
    border-color: rgba(74, 63, 168, 0.25);
}
.btn-outline-success:hover,
.btn-outline-success:focus,
.btn-outline-success:active {
    color: #fff;
    background-color: var(--comet-primary);
    border-color: var(--comet-primary);
}
.btn-warning {
    color: #2f2558 !important;
    background-color: var(--comet-gold);
    border-color: var(--comet-gold);
}
.btn-warning:hover,
.btn-warning:focus,
.btn-warning:active {
    color: #2f2558 !important;
    background-color: #f1be34;
    border-color: #f1be34;
}
.text-primary {
    color: var(--comet-primary) !important;
}
.bg-primary {
    background-color: var(--comet-primary) !important;
}
.bg-danger,
.text-bg-danger {
    background-color: #ef5b6f !important;
    color: #fff !important;
}
.text-bg-primary {
    background-color: var(--comet-primary) !important;
    color: #fff !important;
}
.text-bg-light {
    background-color: var(--comet-chip-bg) !important;
    color: var(--comet-chip-text) !important;
}

/* loader */
.loader {
    width: 48px;
    height: 48px;
    margin: auto;
    position: relative;
}

.loader:before {
    content: '';
    width: 48px;
    height: 5px;
    background: #f0808050;
    position: absolute;
    top: 60px;
    left: 0;
    border-radius: 50%;
    animation: shadow324 0.5s linear infinite;
}

.loader:after {
    content: '';
    width: 100%;
    height: 100%;
    background: #f08080;
    position: absolute;
    top: 0;
    left: 0;
    border-radius: 4px;
    animation: jump7456 0.5s linear infinite;
}

@keyframes jump7456 {
    15% {
        border-bottom-right-radius: 3px;
    }

    25% {
        transform: translateY(9px) rotate(22.5deg);
    }

    50% {
        transform: translateY(18px) scale(1, 0.9) rotate(45deg);
        border-bottom-right-radius: 40px;
    }

    75% {
        transform: translateY(9px) rotate(67.5deg);
    }

    100% {
        transform: translateY(0) rotate(90deg);
    }
}

@keyframes shadow324 {
    0%,
    100% {
        transform: scale(1, 1);
    }

    50% {
        transform: scale(1.2, 1);
    }
}

.auth-avatar {
    width: 4rem;
    height: 4rem;
}
.auth-nickname img {
    width: 1rem;
    height: 1rem;
    margin-top: -0.2rem;
}
.list-cover {
    width: 3rem;
    height: 3rem;
    margin-left: 1rem;
}
.list-name {
    text-decoration: none;
    color: var(--comet-text-strong);
    max-width: 16rem;
    margin-bottom: 0.3rem;
}
.list-name:hover {
    text-decoration: underline;
    color: var(--comet-primary);
}
.list-recommend {
    width: 1.2rem;
    height: 1.2rem;
    margin-top: 0.15rem;
}
.list-btn {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    overflow: visible;
    margin-top: 0.5rem;
    margin-bottom: 0.6rem;
}
.badge-bg-info .badge {
    font-weight: 400;
    background-color: var(--comet-info-soft);
    color: var(--comet-info-text);
    margin-bottom: 0.2rem;
    margin-right: 0.2rem;
}

.comet-user-list-item,
.comet-hashtag-list-item {
    margin-bottom: 0.38rem;
    border: 1px solid transparent;
    background: transparent;
}

.comet-user-list-item {
    padding-inline: 0.25rem 0.85rem;
}

.comet-hashtag-list-item {
    align-items: center;
    padding-inline: 1rem;
}

.comet-user-list-item:hover,
.comet-user-list-item:focus-within,
.comet-hashtag-list-item:hover,
.comet-hashtag-list-item:focus-within {
    border-color: var(--comet-border);
    box-shadow: inset 0 1px 0 color-mix(in srgb, var(--comet-surface-raised) 70%, transparent);
}

@media (min-width: 992px) {
    .list-name {
        max-width: 18rem;
    }
    .list-btn {
        margin-top: -0.25rem;
        margin-bottom: 0rem;
        margin-right: 0.8rem;
    }
}

/* Sidebar */
.fs-list-group {
    background-color: var(--comet-surface);
    border: 1px solid var(--comet-border);
    border-radius: 1.2rem !important;
    box-shadow: var(--comet-shadow);
    overflow: hidden;
}
.fs-list-group a:hover,
.fs-list-group .position-relative:hover {
    background-color: rgba(74, 63, 168, 0.045);
}
.fs-list-group .btn-success {
    color: var(--bs-white);
    background-color: var(--comet-primary);
    border: var(--bs-btn-border-width) solid var(--comet-primary);
}

/* User */
.user-avatar {
    width: 2.4rem;
    height: 2.4rem;
    margin: 1rem;
}
.user-decorate {
    width: 4.4rem;
    height: 4.4rem;
    position: absolute;
}
.user-primary {
    margin-top: 0.88rem;
}
.user-info {
    max-width: 18rem;
}
.user-link {
    text-decoration: none;
    color: var(--comet-text-strong);
}
.user-link:hover .user-nickname {
    text-decoration: underline;
    color: var(--comet-text-strong);
}
.user-link .user-nickname {
    font-weight: 500;
    font-size: 1rem;
    max-width: 7rem;
    margin-right: 0.3rem;
}
.user-link .user-verified img {
    width: 1.2rem;
    height: 1.2rem;
    margin-top: -0.2rem;
    margin-right: 0.4rem;
}
.user-link .user-name {
    font-size: 0.8rem;
    margin-right: 0.4rem;
    margin-top: 0.1rem;
}
.user-role {
    margin-top: -0.16rem;
}
.user-role .badge {
    font-weight: 400;
    background-color: var(--comet-chip-bg);
    color: var(--comet-chip-text);
    margin-right: 0.4rem;
}
.user-role img {
    height: 1rem;
    margin-right: 0.4rem;
}
.user-icon {
    margin-left: 0.1rem;
}
.user-icon img {
    margin-right: 0.3rem;
    margin-bottom: 0.3rem;
    height: 1rem;
}
.user-secondary {
    font-size: 0.8rem;
    margin-top: 0.2rem;
}
.user-secondary a {
    text-decoration: none;
}
.user-secondary a:hover {
    text-decoration: underline;
}
@media (min-width: 992px) {
    .user-icon {
        max-width: 16rem;
        margin-bottom: 0rem;
    }
}

/* Profile */
.profile-avatar {
    width: 4.4rem;
    height: 4.4rem;
    margin: 2.2rem;
}
.profile-decorate {
    width: 8.8rem;
    height: 8.8rem;
    position: absolute;
}
.profile-nickname h1 {
    font-size: 1.5rem;
    margin-right: 0.4rem;
    margin-bottom: 0;
}
.profile-nickname img {
    width: 1.2rem;
    height: 1.2rem;
    margin-top: 0.3rem;
    margin-right: 0.4rem;
}
.profile-nickname span {
    font-size: 0.7rem;
    font-weight: 400;
    height: fit-content;
    margin-top: 0.3rem;
}

/* Post and Comment */
.content-title img {
    max-height: 2rem;
}

.content-article h1 {
    font-size: 2rem;
    margin-bottom: 1rem;
}
.content-article h2 {
    font-size: 1.5rem;
    margin-top: 2.5rem;
    margin-bottom: 1rem;
}
.content-article h3 {
    font-size: 1.2rem;
    margin-top: 1.5rem;
}
.content-article h4 {
    font-size: 1rem;
    margin-top: 2.5rem;
    margin-bottom: 1rem;
}
.content-article h5 {
    font-size: 0.9rem;
    margin-top: 1.5rem;
}
.content-article blockquote {
    padding: 10px 15px;
    margin-bottom: 20px;
    background-color: var(--comet-surface-soft);
    border-left: 4px solid color-mix(in srgb, var(--comet-primary) 45%, var(--comet-border));
    word-break: break-word;
    font-size: 15px;
}
.content-article blockquote p {
    margin-bottom: 0;
}
.content-article img {
    max-width: 100%;
}
.content-article ul li {
    margin-bottom: 0.4rem;
}
.content-article table {
    margin-bottom: 1rem;
}
.content-article table tr {
    background-color: var(--comet-surface-raised);
    border-top: 1px solid var(--comet-border);
}
.content-article table thead tr {
    background-color: var(--comet-info-soft);
}
.content-article table tr:nth-child(2n) {
    background-color: var(--comet-surface-soft);
}
.content-article table th,
.content-article table td {
    padding: 10px 15px;
    border: 1px solid var(--comet-border);
}

.fresns_hashtag,
.fresns_link,
.fresns_mention {
    text-decoration: none;
    position: relative;
    z-index: 999;
}
.fresns_sticker {
    padding: 0;
    margin: 0;
    zoom: 0.5;
    -moz-transform: scale(0.5);
    -moz-transform-origin: center;
}
.fresns_file_image {
    margin-bottom: 15px;
}

.content-files video {
    width: 100%;
    max-height: 300px;
    padding-right: 0.4rem;
    padding-bottom: 0.4rem;
}
@media (min-width: 992px) {
    .content-files video {
        width: 50%;
        max-height: 300px;
        padding-right: 0.4rem;
        padding-bottom: 0.4rem;
    }
}

.content-group img {
    width: 1.2rem;
    height: 1.2rem;
    margin-right: 0.35rem;
}
.content-group a {
    color: var(--comet-text-subtle) !important;
    background: linear-gradient(180deg, var(--comet-surface-raised), var(--comet-surface-soft)) !important;
    border: 1px solid rgba(36, 31, 69, 0.08) !important;
    padding: 0.48rem 0.92rem;
    font-size: 0.8rem;
    font-weight: 600;
    box-shadow: 0 8px 18px rgba(36, 31, 69, 0.04);
}
.content-group a:hover {
    color: var(--comet-primary) !important;
    background: var(--comet-surface-hover) !important;
    border: 1px solid rgba(74, 63, 168, 0.18) !important;
}
.content-user-list {
    padding-top: 0.1rem;
}

.interaction-box {
    width: auto;
}
.interaction .btn-inter {
    line-height: 1;
    font-size: 0.85rem;
    padding: 0.3rem 0.52rem;
    border: none;
    border-radius: 0.9rem;
    color: #66718a;
    background: transparent;
    transition: background-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
}
.interaction .btn-inter img {
    width: 2rem;
    height: 2rem;
    padding: 0.4rem;
    margin-top: -0.15rem;
}
.interaction .btn-inter:hover {
    color: var(--comet-primary) !important;
    background: var(--comet-primary-soft-2);
    transform: translateY(-1px);
}
.interaction .btn-inter:hover img {
    background-color: rgba(74, 63, 168, 0.1);
    border-radius: 1.2rem;
}
.interaction .btn-active {
    color: #fda956 !important;
}
.interaction-more img {
    width: 1rem;
    height: 1rem;
    margin-right: 0.3rem;
}

/* Post */
.post-allow-static {
    margin-top: -120px;
    height: 120px;
    position: relative;
    background: linear-gradient(to bottom, transparent, var(--comet-surface));
    pointer-events: none;
}
.post-top-comment {
    margin-top: 0.78rem;
    padding: 0.8rem 0.92rem;
    font-size: 0.88rem;
    background: linear-gradient(180deg, var(--comet-surface-raised), var(--comet-surface-soft));
    border: 1px solid rgba(74, 63, 168, 0.1);
    border-radius: 1rem;
}
.post-top-comment:hover {
    background: var(--comet-surface-hover);
}
.comment-author a {
    text-decoration: none;
}
.comment-image-1 .image-box,
.comment-image-2 .image-box {
    max-width: 50%;
    padding-right: 0.5rem;
    padding-top: 0.5rem;
}
.comment-image-3 .image-box,
.comment-image-4 .image-box,
.comment-image-5 .image-box,
.comment-image-6 .image-box,
.comment-image-7 .image-box,
.comment-image-8 .image-box,
.comment-image-9 .image-box {
    max-width: 33%;
    padding-right: 0.5rem;
    padding-top: 0.5rem;
}

/* Comment */
.author-badge {
    padding: 0.1rem 0.2rem;
    font-size: 0.5rem;
    color: #6c757d !important;
    border: 1px solid #6c757d;
    border-radius: 0.4rem;
    margin-left: 0.15rem;
}
.comment-preview {
    margin-top: 0.78rem;
    padding: 0.8rem 0.92rem 0.35rem 0.92rem;
    font-size: 0.88rem;
    background: var(--comet-surface-raised);
    border: 1px solid rgba(74, 63, 168, 0.1);
    border-radius: 1rem;
}
.comment-preview:hover {
    background: var(--comet-surface-hover);
}

/* File */
.image-box,
.document-box,
.content-files video,
.content-files audio {
    z-index: 999;
}

/* File Image */
.file-image-1 .image-box {
    max-width: 60%;
    padding-right: 0.4rem;
}
.file-image-1 .image-box img {
    max-height: 400px;
}
.file-image-2 .image-box {
    max-width: 50%;
    padding-right: 0.4rem;
}
.file-image-3 .image-box {
    max-width: 33%;
    padding-right: 0.4rem;
}
.file-image-4 .image-box {
    max-width: 50%;
    padding-right: 0.4rem;
    padding-bottom: 0.4rem;
}
.file-image-5 .image-box,
.file-image-6 .image-box,
.file-image-7 .image-box,
.file-image-8 .image-box,
.file-image-9 .image-box {
    max-width: 33%;
    padding-right: 0.4rem;
    padding-bottom: 0.4rem;
}

/* File Video */
.btn-video-play {
    line-height: 0rem;
    padding: 0.2rem 0.5rem;
}
.btn-video-play i {
    font-size: 2.5rem;
}
.file-video .position-relative {
    width: 50%;
    padding-right: 0.4rem;
    padding-bottom: 0.4rem;
}

/* File Document */
.document-box {
    width: 100%;
    display: flex;
    align-items: center;
    background-color: var(--comet-surface-soft);
    color: var(--comet-text-body);
    font-size: 0.9rem;
    margin: 0.5rem 0;
    padding: 0rem;
}
.document-box:hover {
    background-color: var(--comet-surface-hover);
}
.document-box .document-icon {
    background-color: #f57f59;
    border-top-left-radius: 0.2rem;
    border-bottom-left-radius: 0.2rem;
    color: #fff;
    font-size: 1.2rem;
    padding: 0.5rem 1rem;
}
.document-box .document-name {
    margin-left: 0.75rem;
}
.document-icon-fs {
    font-size: 5rem;
}
.file-download-user img {
    width: 2rem;
    height: 2rem;
    margin: 0.2rem;
}

/* Extend Frame Info */
.frame-box-info {
    background-color: var(--comet-surface-soft);
}
.frame-box-info:hover {
    background-color: var(--comet-surface-hover);
}
.frame-box-text {
    padding: 1rem;
    border-left: 0.3rem solid var(--comet-border);
    background-color: var(--comet-surface-soft);
    color: var(--comet-text-subtle);
    font-size: 0.9rem;
    font-weight: 400;
}
.frame-box-text:hover {
    background-color: var(--comet-surface-hover);
}
.frame-box-text p {
    margin-bottom: 0.3rem;
}
.frame-title {
    font-size: 0.9rem;
    line-height: 1.3;
    color: var(--comet-text-body);
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.frame-desc {
    font-size: 0.8rem;
    color: #888888;
}
.frame-image-basic {
    width: 3.5rem;
    height: 3.5rem;
}
.frame-image-big {
    width: 7rem;
    height: 7rem;
}
.frame-image-portrait {
    width: 5rem;
    height: 7rem;
}
.frame-image-landscape {
    width: 8rem;
    height: 5.6rem;
}
.frame-box-big {
    height: 7rem;
    padding: 0.8rem 0;
}
.frame-box-portrait {
    height: 7rem;
    padding: 0.8rem 0;
}
.frame-box-landscape {
    height: 5.6rem;
    padding: 0.5rem 0;
}

/* Comment */
.comment-author .user-avatar {
    width: 2rem;
    height: 2rem;
    margin: 0.8rem;
}
.comment-author .user-decorate {
    width: 3.6rem;
    height: 3.6rem;
}
.comment-author .user-primary {
    margin-top: 0.6rem;
}
.comment-author .user-link .user-nickname {
    font-weight: 400;
    font-size: 0.95rem;
}
.comment-author .user-info .text-muted {
    font-size: 0.95rem;
}
.comment-box {
    margin-left: 3.6rem;
    margin-right: 1rem;
}
.comment-content p {
    font-size: 0.95rem;
    margin-bottom: 0.5rem;
}
.comment-preview {
    padding: 0.8rem 0.92rem 0.35rem 0.92rem;
    font-size: 0.88rem;
    background: var(--comet-surface-raised);
    border-radius: 1rem;
}
.comment-preview:hover {
    background: var(--comet-surface-hover);
}
.comment-interaction {
    margin-right: 0.5rem;
}
.comment-interaction button {
    line-height: 0rem;
    font-size: 0.85rem;
    padding: 0rem;
}
.comment-interaction button span {
    font-size: 0.7rem;
    margin-left: 0.3rem;
}
.comment-interaction button:hover {
    color: #f60 !important;
}
.comment-interaction .btn-active {
    color: #fda956 !important;
}
.comment-interaction .comment-btn {
    line-height: 0rem;
    padding: 0.8rem 0.6rem;
}

.comment-post {
    padding: 0.6rem;
    font-size: 0.9rem;
    line-height: 1.4;
    color: var(--comet-text-body) !important;
    background-color: var(--comet-surface-soft);
    border-radius: 0.4rem;
}
.comment-post:hover {
    background-color: var(--comet-surface-hover);
}
.comment-post:hover .border-top {
    border-top-color: #cccccc !important;
}
.comment-post img {
    height: 2.8rem;
    width: 2.8rem;
    margin-right: 0.6rem;
}
.comment-post .flex-grow-1 {
    padding-top: 0.1rem;
    line-height: 1.5;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.comment-post-group {
    margin-top: 0.2rem;
    padding-top: 0.2rem;
    padding-right: 0.2rem;
    font-size: 0.8rem;
    font-weight: 400;
    text-align: end;
}
.fs-reply-to-comment {
    border: 1px dashed #e4e4e4;
    background-color: color-mix(in srgb, var(--comet-gold-soft) 52%, var(--comet-surface-raised));
    padding: 10px;
    margin-bottom: 10px;
    color: #999;
    font-size: 14px;
}
.fs-reply-to-comment a {
    color: #999;
    font-size: 14px;
}

/*
 * Editor CSS
 */
.fresns-editor {
    width: 100%;
    max-width: 900px;
    padding: 1.25rem 0 3rem;
}
.fresns-editor.fresns-editor-box {
    margin-top: 0 !important;
}

.fresns-editor .editor-alert .alert {
    line-height: 1.6;
}

.fresns-editor .editor-group button {
    background-color: var(--comet-surface-soft);
    border-radius: 1.15rem;
    border: 1px solid rgba(36, 31, 69, 0.08) !important;
    color: var(--comet-ink);
}

.fresns-editor .editor-group button:hover {
    background-color: var(--comet-surface-hover);
}

.fresns-editor .editor-toolbar {
    padding: 0.45rem;
    gap: 0.2rem;
    background: var(--comet-surface-soft);
    border: 1px solid rgba(36, 31, 69, 0.08);
    border-radius: 1.25rem 1.25rem 0 0;
}

.fresns-editor .editor-toolbar i {
    font-size: 1.25rem;
}

.fresns-editor .editor-toolbar span {
    font-size: 0.75rem;
    margin-top: 0.2rem;
}

.fresns-editor .editor-toolbar .btn {
    min-width: 4.8rem;
    border-radius: 1rem !important;
}

.fresns-editor .editor-box {
    background-color: var(--comet-surface-raised);
    border: 1px solid rgba(36, 31, 69, 0.08);
    border-top: 0;
    border-radius: 0 0 1.35rem 1.35rem;
    padding: 1rem 1.1rem 1.25rem !important;
    box-shadow: 0 24px 50px rgba(28, 24, 74, 0.08);
}

.fresns-editor .editor-title,
.fresns-editor .editor-content {
    border-radius: 1rem !important;
    border: 1px solid rgba(36, 31, 69, 0.1) !important;
    background: var(--comet-surface-raised) !important;
    color: var(--comet-text-body);
}

.fresns-editor .editor-title {
    min-height: 3.4rem;
    padding-inline: 1rem !important;
}

.fresns-editor .editor-content {
    min-height: 18rem;
    padding: 1rem !important;
    line-height: 1.68;
}

.fresns-editor .editor-submit .btn {
    border-radius: 999px;
    min-height: 3.45rem;
}

.comet-composer-modal .modal-content {
    border: 1px solid rgba(36, 31, 69, 0.08);
    border-radius: 1.6rem;
    box-shadow: 0 26px 60px rgba(28, 24, 74, 0.14);
    overflow: hidden;
}
.comet-composer-modal__header {
    padding: 1.35rem 1.45rem 1rem;
    border-bottom: 1px solid rgba(36, 31, 69, 0.08);
    align-items: flex-start;
}
.comet-composer-modal__eyebrow {
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #7266c4;
    margin-bottom: 0.3rem;
}
.comet-composer {
    padding: 1.1rem 0 0;
}
.comet-composer__surface {
    border: 1px solid rgba(36, 31, 69, 0.08);
    border-radius: 1.35rem;
    background: linear-gradient(180deg, var(--comet-surface-raised) 0%, var(--comet-surface) 100%);
    padding: 1.1rem;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
}
.comet-composer-group-picker {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: 0.95rem 1.05rem;
    border: 1px solid rgba(36, 31, 69, 0.08);
    border-radius: 1.15rem;
    background: var(--comet-surface-soft);
    margin-bottom: 1rem;
    color: var(--comet-ink);
}
.comet-composer-group-picker__label,
.comet-composer-group-picker__meta {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
}
.comet-composer-group-picker__meta {
    color: #73698a;
    font-size: 0.88rem;
}
.comet-composer__title-shell {
    margin-bottom: 0.95rem;
}
.comet-composer__field-label {
    display: block;
    margin-bottom: 0.45rem;
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--comet-text-subtle);
}
.comet-composer__title-input,
.comet-composer__helper .form-control,
.comet-composer__textarea {
    border-color: rgba(36, 31, 69, 0.1);
    border-radius: 1rem;
    background: var(--comet-surface-raised);
    color: var(--comet-text-body);
    box-shadow: none;
}
.comet-composer__title-input {
    min-height: 3.3rem;
    padding-inline: 1rem;
    font-size: 1rem;
}
.comet-composer__toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin-bottom: 0.9rem;
}
.comet-composer__tool {
    min-width: 2.8rem;
    min-height: 2.8rem;
    border-radius: 0.95rem;
    border: 1px solid var(--comet-border);
    background: var(--comet-chip-bg);
    color: var(--comet-primary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    box-shadow: none;
}
.comet-composer__tool--text {
    gap: 0.45rem;
    min-width: auto;
    padding-inline: 0.9rem;
}
.comet-composer__tool:hover {
    background: var(--comet-surface-hover);
    color: var(--comet-primary-deep);
}
.comet-composer__modes {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    margin-bottom: 0.95rem;
}
.comet-composer__mode-btn {
    border: 1px solid rgba(74, 63, 168, 0.14);
    background: var(--comet-surface-raised);
    color: var(--comet-chip-text);
    min-width: 6rem;
    border-radius: 999px !important;
    font-weight: 600;
}
.comet-composer__mode-btn.is-active {
    background: var(--comet-action);
    color: #fff;
    border-color: transparent;
}
.comet-composer__hints {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.45rem;
}
.comet-composer__hints .badge {
    background: var(--comet-chip-bg);
    color: var(--comet-chip-text);
    font-weight: 500;
    padding: 0.55rem 0.78rem;
}
.comet-composer__helper {
    margin-bottom: 0.95rem;
    padding: 1rem 1.05rem;
    border: 1px solid rgba(36, 31, 69, 0.08);
    border-radius: 1.1rem;
    background: var(--comet-surface-soft);
}
.comet-composer__helper-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 0.9rem;
}
.comet-composer__helper-title {
    font-weight: 700;
    color: var(--comet-text-strong);
}
.comet-composer__helper-foot {
    margin-top: 0.75rem;
    color: var(--comet-text-subtle);
    font-size: 0.86rem;
}
.comet-composer__guide-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.8rem;
}
.comet-composer__guide-card {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    padding: 0.95rem 1rem;
    border-radius: 1rem;
    border: 1px solid rgba(36, 31, 69, 0.08);
    background: var(--comet-surface-raised);
}
.comet-composer__guide-card strong {
    color: var(--comet-text-strong);
    font-size: 0.92rem;
}
.comet-composer__guide-card code {
    width: fit-content;
    max-width: 100%;
}
.comet-composer__template-menu {
    min-width: 21rem;
    border-radius: 1rem;
    border-color: rgba(36, 31, 69, 0.08);
}
.comet-composer__template-item {
    display: flex;
    flex-direction: column;
    gap: 0.18rem;
    border-radius: 0.9rem;
    padding: 0.8rem 0.9rem;
}
.comet-composer__template-item:hover,
.comet-composer__template-item:focus {
    background: var(--comet-surface-hover);
}
.comet-composer__template-name {
    color: var(--comet-text-strong);
    font-weight: 700;
}
.comet-composer__template-copy {
    color: var(--comet-text-subtle);
    font-size: 0.86rem;
}
.comet-composer__editor-shell {
    border: 1px solid rgba(36, 31, 69, 0.08);
    border-radius: 1.2rem;
    background: var(--comet-surface-raised);
    overflow: hidden;
}
.comet-composer__pane {
    padding: 1rem;
}
.comet-composer[data-composer-mode='split'] .comet-composer__editor-shell {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 0;
}
.comet-composer[data-composer-mode='split'] [data-comet-composer-pane='write'],
.comet-composer[data-composer-mode='split'] [data-comet-composer-pane='preview'] {
    display: block !important;
}
.comet-composer[data-composer-mode='split'] [data-comet-composer-pane='preview'] {
    border-left: 1px solid rgba(36, 31, 69, 0.08);
    background: var(--comet-surface-soft);
}
.comet-composer__textarea {
    min-height: 20rem;
    resize: vertical;
    padding: 0.95rem 1rem;
    font-size: 1rem;
    line-height: 1.68;
    background: transparent;
}
.comet-composer__textarea:focus,
.comet-composer__title-input:focus,
.comet-composer__helper .form-control:focus {
    border-color: rgba(74, 63, 168, 0.24);
    box-shadow: 0 0 0 0.2rem rgba(74, 63, 168, 0.08);
}
.comet-composer__preview-note {
    color: var(--comet-text-subtle);
    font-size: 0.92rem;
    margin-bottom: 0.85rem;
}
.comet-composer__preview {
    min-height: 20rem;
}
.comet-composer__preview-empty {
    color: var(--comet-text-subtle);
    padding: 1rem 0;
}
.comet-composer__preview-title {
    font-size: 2rem;
    line-height: 1.08;
    margin-bottom: 1rem;
}
.comet-composer__footer {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 1rem;
    margin-top: 1rem;
}
.comet-composer__foot-meta {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    color: var(--comet-text-subtle);
    font-size: 0.9rem;
}
.comet-composer__stats {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin-top: 0.2rem;
}
.comet-composer__stats span {
    padding: 0.38rem 0.64rem;
    border-radius: 999px;
    background: var(--comet-chip-bg);
    color: var(--comet-chip-text);
    font-size: 0.79rem;
    font-weight: 600;
}
.comet-composer__submit {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-shrink: 0;
}
.comet-composer__emoji-menu {
    min-width: 24rem;
    border-radius: 1rem;
    border-color: rgba(36, 31, 69, 0.08);
}
.comet-composer__emoji-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}
.comet-composer__emoji-btn {
    min-width: 2.6rem;
    min-height: 2.6rem;
    border-radius: 0.9rem;
    border: 1px solid rgba(36, 31, 69, 0.08);
    background: var(--comet-surface-raised);
    font-size: 1.1rem;
}
.comet-composer__sticker-btn img {
    margin: 0.12rem;
    zoom: 0.52;
}
.comet-composer-token {
    color: var(--comet-primary);
    font-weight: 700;
}
.comet-composer-token--hashtag {
    color: #9b6b11;
}
@media (max-width: 991.98px) {
    .comet-composer-modal__header,
    .comet-composer__footer,
    .comet-composer__modes,
    .comet-composer__helper-head {
        flex-direction: column;
        align-items: stretch;
    }
    .comet-composer__submit,
    .comet-composer__hints {
        justify-content: flex-start;
    }
    .comet-composer__emoji-menu {
        min-width: min(24rem, 92vw);
    }
    .comet-composer__template-menu {
        min-width: min(21rem, 92vw);
    }
    .comet-composer__guide-grid {
        grid-template-columns: 1fr;
    }
    .comet-composer[data-composer-mode='split'] .comet-composer__editor-shell {
        grid-template-columns: 1fr;
    }
    .comet-composer[data-composer-mode='split'] [data-comet-composer-pane='preview'] {
        border-left: 0;
        border-top: 1px solid rgba(36, 31, 69, 0.08);
    }
}

/* 2026-08-29 discovery, support, onboarding, invitation and theme pass */
.fs-menus .nav-link {
    font-size: 1.02rem;
}

.comet-sidebar-utility {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.comet-sidebar-utility--operator {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.comet-section-kicker {
    display: block;
    margin-bottom: 0.38rem;
    color: var(--comet-primary);
    font-size: 0.74rem;
    font-weight: 850;
    letter-spacing: 0.085em;
    text-transform: uppercase;
}

.comet-onboarding-page,
.comet-invite-page {
    min-height: calc(100vh - 5rem);
    padding: clamp(1rem, 3vw, 3rem);
}

.comet-onboarding-shell {
    width: min(70rem, 100%);
    margin: 0 auto;
}

.comet-onboarding-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(16rem, 0.7fr);
    gap: 2rem;
    align-items: end;
    margin-bottom: 1.25rem;
    padding: clamp(1.4rem, 3vw, 2.4rem);
    border: 1px solid var(--comet-border);
    border-radius: 1.7rem;
    background:
        radial-gradient(circle at 92% 12%, rgba(255, 202, 59, 0.25), transparent 34%),
        linear-gradient(140deg, #fff 0%, #f6f3ff 100%);
    box-shadow: var(--comet-shadow);
}

.comet-onboarding-hero h1 {
    max-width: 17ch;
    margin: 0 0 0.75rem;
    font-size: clamp(2rem, 4vw, 3.5rem);
    line-height: 1.02;
}

.comet-onboarding-hero p {
    max-width: 58ch;
    margin: 0;
    color: var(--comet-muted);
    font-size: 1rem;
}

.comet-onboarding-progress {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.6rem 0.75rem;
    align-items: center;
    padding: 1rem;
    border: 1px solid rgba(74, 63, 168, 0.1);
    border-radius: 1.2rem;
    background: var(--comet-surface-raised);
}

.comet-onboarding-progress > span:nth-child(odd) {
    width: 2rem;
    height: 2rem;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: var(--comet-primary);
    color: #fff;
    font-size: 0.78rem;
    font-weight: 800;
}

.comet-onboarding-form {
    display: grid;
    gap: 1rem;
}

.comet-onboarding-card {
    display: grid;
    grid-template-columns: 3rem minmax(0, 1fr);
    gap: 1.15rem;
    padding: clamp(1.25rem, 2.5vw, 2rem);
    border: 1px solid var(--comet-border);
    border-radius: 1.5rem;
    background: color-mix(in srgb, var(--comet-surface-raised) 96%, transparent);
    box-shadow: 0 10px 28px rgba(46, 34, 110, 0.06);
}

.comet-onboarding-card__number,
.comet-help-form-step > span {
    width: 2.7rem;
    height: 2.7rem;
    display: grid;
    place-items: center;
    border-radius: 0.9rem;
    background: var(--comet-primary-soft);
    color: var(--comet-primary);
    font-size: 0.78rem;
    font-weight: 850;
}

.comet-onboarding-card h2,
.comet-help-form-step h2 {
    margin: 0 0 0.3rem;
    font-size: 1.32rem;
}

.comet-onboarding-card__content > p,
.comet-help-form-step p {
    margin: 0 0 1.2rem;
    color: var(--comet-muted);
}

.comet-onboarding-options {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin-top: 1rem;
}

.comet-onboarding-options label {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    min-height: 2.8rem;
    padding: 0.65rem 0.9rem;
    border: 1px solid var(--comet-border);
    border-radius: 999px;
    background: var(--comet-primary-soft-2);
    cursor: pointer;
}

.comet-onboarding-tip-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
}

.comet-onboarding-tip-grid > div {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.25rem 0.55rem;
    padding: 0.9rem;
    border-radius: 1rem;
    background: var(--comet-primary-soft-2);
}

.comet-onboarding-tip-grid i {
    grid-row: 1 / span 2;
    color: var(--comet-primary);
}

.comet-onboarding-tip-grid span {
    color: var(--comet-muted);
    font-size: 0.84rem;
}

.comet-onboarding-actions {
    display: flex;
    justify-content: flex-end;
    gap: 0.7rem;
    padding: 0.75rem 0 1rem;
}

.comet-contribution-strip {
    display: grid;
    grid-template-columns: minmax(10rem, 1.4fr) repeat(4, minmax(7rem, 1fr));
    gap: 0.5rem;
}

.comet-contribution-strip > div {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 5rem;
    padding: 0.85rem 1rem;
    border: 1px solid var(--comet-border);
    border-radius: 1rem;
    background: var(--comet-surface-raised);
}

.comet-contribution-strip strong {
    color: var(--comet-primary-deep);
    font-size: 1.08rem;
}

.comet-contribution-strip span {
    color: var(--comet-muted);
    font-size: 0.78rem;
}

.comet-contribution-strip .comet-contribution-level {
    background: linear-gradient(135deg, var(--comet-primary-soft), var(--comet-gold-soft));
}

.comet-help-page {
    width: min(68rem, calc(100% - 1.5rem));
    margin: 1rem auto 3rem;
}

.comet-help-hero,
.comet-help-detail-head,
.comet-help-compose-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.25rem;
    margin-bottom: 1rem;
    padding: clamp(1.25rem, 2.8vw, 2rem);
    border: 1px solid var(--comet-border);
    border-radius: 1.5rem;
    background:
        radial-gradient(circle at 88% 10%, rgba(255, 202, 59, 0.25), transparent 32%),
        linear-gradient(145deg, #fff, #f7f4ff);
    box-shadow: var(--comet-shadow);
}

.comet-help-hero h1,
.comet-help-compose-head h1,
.comet-help-detail-head h1 {
    margin: 0 0 0.5rem;
    font-size: clamp(1.75rem, 3vw, 2.65rem);
    line-height: 1.08;
}

.comet-help-hero p,
.comet-help-compose-head p {
    max-width: 58ch;
    margin: 0;
    color: var(--comet-muted);
}

.comet-help-scope {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.4rem;
    margin-bottom: 0.75rem;
    padding: 0.35rem;
    border: 1px solid var(--comet-border);
    border-radius: 999px;
    background: color-mix(in srgb, var(--comet-surface-raised) 92%, transparent);
}

.comet-help-scope a {
    min-height: 2.65rem;
    display: grid;
    place-items: center;
    border-radius: 999px;
    color: var(--comet-primary-deep);
    text-decoration: none;
    font-weight: 750;
}

.comet-help-scope a.is-active {
    background: var(--comet-primary);
    color: #fff;
}

.comet-help-filter {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    margin: 0 0 1rem auto;
    width: fit-content;
}

.comet-help-filter label {
    color: var(--comet-muted);
    font-size: 0.85rem;
}

.comet-help-filter .form-select {
    min-width: 14rem;
}

.comet-help-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
}

.comet-help-card,
.comet-help-detail-card,
.comet-help-response-card,
.comet-help-offers-section,
.comet-help-resolve-card,
.comet-help-matches,
.comet-help-compose > section {
    border: 1px solid var(--comet-border);
    border-radius: 1.35rem;
    background: color-mix(in srgb, var(--comet-surface-raised) 96%, transparent);
    box-shadow: 0 10px 26px rgba(46, 34, 110, 0.055);
}

.comet-help-card {
    display: flex;
    flex-direction: column;
    min-height: 18rem;
    padding: 1.25rem;
}

.comet-help-card__meta,
.comet-help-tags,
.comet-help-card__activity {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem;
}

.comet-help-type,
.comet-help-status,
.comet-help-tags span,
.comet-recommendation-reasons span,
.comet-help-reasons span {
    display: inline-flex;
    align-items: center;
    min-height: 1.8rem;
    padding: 0.28rem 0.65rem;
    border-radius: 999px;
    background: var(--comet-primary-soft);
    color: var(--comet-primary-deep);
    font-size: 0.72rem;
    font-weight: 750;
}

.comet-help-status {
    margin-left: auto;
    background: var(--comet-success-soft);
    color: var(--comet-success-text);
}

.comet-help-status--matched,
.comet-help-status--resolved {
    background: var(--comet-gold-soft);
    color: #765700;
}

.comet-help-status--closed {
    background: var(--comet-neutral-soft);
    color: var(--comet-neutral-text);
}

.comet-help-card h2 {
    margin: 0.9rem 0 0.55rem;
    font-size: 1.24rem;
    line-height: 1.22;
}

.comet-help-card h2 a {
    color: var(--comet-ink);
    text-decoration: none;
}

.comet-help-card > p {
    color: var(--comet-muted);
}

.comet-help-card footer {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 0.75rem;
    margin-top: auto;
    padding-top: 1rem;
    border-top: 1px solid var(--comet-border);
}

.comet-help-person {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    min-width: 0;
    color: var(--comet-ink);
    text-decoration: none;
}

.comet-help-person img {
    width: 2.75rem;
    height: 2.75rem;
    flex: 0 0 auto;
    border-radius: 50%;
    object-fit: cover;
}

.comet-help-person span {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.comet-help-person strong,
.comet-help-person small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.comet-help-person small,
.comet-help-card__activity {
    color: var(--comet-muted);
    font-size: 0.76rem;
}

.comet-help-compose {
    display: grid;
    gap: 0.85rem;
}

.comet-help-compose > section {
    padding: clamp(1.25rem, 2.5vw, 2rem);
}

.comet-help-form-step {
    display: grid;
    grid-template-columns: 3rem 1fr;
    gap: 1rem;
    margin-bottom: 1rem;
}

.comet-help-compose-actions {
    display: flex;
    justify-content: flex-end;
    gap: 0.65rem;
    padding: 0.5rem 0;
}

.comet-help-detail-head {
    align-items: flex-start;
}

.comet-help-detail-head__copy {
    flex: 1;
}

.comet-help-detail-card,
.comet-help-response-card,
.comet-help-offers-section,
.comet-help-resolve-card,
.comet-help-matches {
    margin-bottom: 0.85rem;
    padding: clamp(1.2rem, 2.5vw, 1.8rem);
}

.comet-help-detail-body {
    margin: 1.25rem 0;
    font-size: 1rem;
    line-height: 1.65;
}

.comet-help-detail-card > footer {
    display: flex;
    gap: 1rem;
    margin-top: 1rem;
    padding-top: 0.85rem;
    border-top: 1px solid var(--comet-border);
    color: var(--comet-muted);
    font-size: 0.8rem;
}

.comet-help-response-card,
.comet-help-resolve-card {
    display: grid;
    grid-template-columns: minmax(0, 0.8fr) minmax(20rem, 1.2fr);
    gap: 1.25rem;
}

.comet-help-response-card h2,
.comet-help-resolve-card h2,
.comet-help-offers-section h2,
.comet-help-matches h2 {
    margin: 0 0 0.35rem;
    font-size: 1.28rem;
}

.comet-help-response-card p,
.comet-help-resolve-card p {
    color: var(--comet-muted);
}

.comet-help-current-offer {
    padding: 1rem;
    border-radius: 1rem;
    background: var(--comet-primary-soft-2);
}

.comet-section-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.comet-section-heading h2 {
    margin: 0;
}

.comet-help-offers-list {
    display: grid;
    gap: 0.65rem;
}

.comet-help-offer {
    padding: 1rem;
    border: 1px solid var(--comet-border);
    border-radius: 1rem;
}

.comet-help-offer.is-accepted {
    border-color: rgba(74, 63, 168, 0.3);
    background: var(--comet-primary-soft-2);
}

.comet-help-offer > p {
    margin: 0.9rem 0;
}

.comet-help-offer__actions,
.comet-help-resolve-card form {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.7rem;
}

.comet-help-resolve-card .form-select {
    min-width: 12rem;
}

.comet-help-match-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.7rem;
}

.comet-help-match-grid > article {
    padding: 0.9rem;
    border: 1px solid var(--comet-border);
    border-radius: 1rem;
}

.comet-help-reasons,
.comet-recommendation-reasons {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-top: 0.75rem;
}

.comet-discovery-dashboard {
    display: grid;
    grid-template-columns: minmax(0, 1.75fr) minmax(17rem, 0.75fr);
    gap: 0.9rem;
}

.comet-discovery-primary,
.comet-discovery-panel,
.comet-discovery-signals {
    border: 1px solid var(--comet-border);
    border-radius: 1.35rem;
    background: color-mix(in srgb, var(--comet-surface-raised) 96%, transparent);
    box-shadow: 0 10px 26px rgba(46, 34, 110, 0.055);
}

.comet-discovery-primary,
.comet-discovery-panel {
    padding: 1.15rem;
    min-width: 0;
}

.comet-discovery-aside {
    display: grid;
    align-content: start;
    gap: 0.75rem;
    min-width: 0;
}

.comet-recommendation-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
}

.comet-recommendation-card {
    display: flex;
    flex-direction: column;
    min-height: 12.5rem;
    padding: 0.9rem;
    border: 1px solid var(--comet-border);
    border-radius: 1rem;
    background: linear-gradient(150deg, var(--comet-surface-raised), var(--comet-surface-soft));
}

.comet-recommendation-actions {
    display: flex;
    gap: 0.85rem;
    margin-top: auto;
    padding-top: 0.75rem;
    font-size: 0.8rem;
    font-weight: 750;
}

.comet-discovery-help-list {
    display: grid;
    gap: 0.45rem;
}

.comet-discovery-help-list > a {
    display: flex;
    flex-direction: column;
    gap: 0.18rem;
    padding: 0.7rem;
    border-radius: 0.8rem;
    background: var(--comet-primary-soft-2);
    color: var(--comet-ink);
    text-decoration: none;
}

.comet-discovery-help-list span,
.comet-impact-list small,
.comet-impact-note {
    color: var(--comet-muted);
    font-size: 0.73rem;
}

.comet-discovery-panel > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    list-style: none;
}

.comet-discovery-panel > summary > span {
    display: flex;
    flex-direction: column;
}

.comet-impact-list {
    display: grid;
    gap: 0.45rem;
    margin: 1rem 0 0.75rem;
    padding-left: 1.5rem;
}

.comet-impact-list a {
    display: flex;
    justify-content: space-between;
    gap: 0.5rem;
    color: var(--comet-ink);
    text-decoration: none;
}

.comet-discovery-signals {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    padding: 1rem 1.15rem;
}

.comet-discovery-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.comet-discovery-chips a {
    padding: 0.36rem 0.68rem;
    border-radius: 999px;
    background: var(--comet-primary-soft-2);
    color: var(--comet-primary-deep);
    text-decoration: none;
    font-size: 0.78rem;
    font-weight: 700;
}

.comet-group-membership-note {
    display: flex;
    gap: 0.85rem;
    margin: 0.75rem 0 1rem;
    padding: 1rem 1.15rem;
    border: 1px solid rgba(255, 138, 52, 0.24);
    border-radius: 1rem;
    background: color-mix(in srgb, var(--comet-gold-soft) 58%, var(--comet-surface-raised));
}

.comet-group-membership-note > i {
    color: var(--comet-orange);
    margin-top: 0.18rem;
}

.comet-group-membership-note p {
    margin: 0.25rem 0;
}

.comet-invite-card {
    width: min(42rem, 100%);
    margin: clamp(1rem, 6vh, 4rem) auto;
    padding: clamp(1.4rem, 4vw, 2.6rem);
    border: 1px solid var(--comet-border);
    border-radius: 1.7rem;
    background:
        radial-gradient(circle at 90% 8%, rgba(255, 202, 59, 0.24), transparent 28%),
        linear-gradient(145deg, #fff, #f7f4ff);
    box-shadow: var(--comet-shadow);
}

.comet-invite-icon {
    width: 3.5rem;
    height: 3.5rem;
    display: grid;
    place-items: center;
    margin-bottom: 1rem;
    border-radius: 1rem;
    background: var(--comet-primary);
    color: #fff;
    font-size: 1.25rem;
}

.comet-invite-card h1 {
    margin-bottom: 0.75rem;
    font-size: clamp(2rem, 5vw, 3rem);
    line-height: 1.03;
}

.comet-invite-card > p {
    margin-bottom: 1.4rem;
    color: var(--comet-muted);
    line-height: 1.6;
}

.comet-copy-field {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.55rem;
    margin-top: 0.45rem;
}

.comet-copy-status {
    min-height: 1.5rem;
    padding: 0.3rem 0.5rem;
    color: #247448;
    font-size: 0.8rem;
}

.comet-invite-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin: 0.8rem 0 1.2rem;
}

.comet-invite-card aside {
    display: flex;
    gap: 0.8rem;
    padding: 1rem;
    border-radius: 1rem;
    background: var(--comet-primary-soft-2);
}

.comet-invite-card aside i {
    color: var(--comet-primary);
}

.comet-invite-card aside div {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.comet-invite-card aside span {
    color: var(--comet-muted);
    font-size: 0.82rem;
}

.comet-entry-theme-toggle {
    width: 2.7rem;
    height: 2.7rem;
    display: grid;
    place-items: center;
    padding: 0;
}

@media (max-width: 991.98px) {
    .comet-onboarding-hero,
    .comet-discovery-dashboard {
        grid-template-columns: 1fr;
    }

    .comet-onboarding-tip-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .comet-contribution-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .comet-contribution-level {
        grid-column: 1 / -1;
    }
}

@media (max-width: 767.98px) {
    .comet-invite-page .form-control,
    .comet-help-page .form-control,
    .comet-help-page .form-select,
    .comet-onboarding-page .form-control,
    .comet-onboarding-page .form-select,
    .comet-focused-shell .form-control,
    .comet-focused-shell .form-select,
    .comet-search-context-shell .form-control,
    .comet-search-context-shell .form-select {
        min-height: 44px;
    }

    .comet-help-compose-head > .btn {
        align-items: center;
        display: inline-flex;
        flex: 0 0 44px;
        height: 44px;
        justify-content: center;
        min-width: 44px;
        padding: 0;
        width: 44px;
    }

    .comet-hashtag-card .fs-mark,
    .comet-search-results .fs-mark {
        align-items: center;
        display: inline-flex;
        justify-content: center;
        min-height: 44px;
        min-width: 44px;
    }

    .comet-onboarding-card,
    .comet-help-form-step {
        grid-template-columns: 1fr;
    }

    .comet-onboarding-card__number,
    .comet-help-form-step > span {
        width: 2.4rem;
        height: 2.4rem;
    }

    .comet-help-list,
    .comet-recommendation-grid,
    .comet-help-match-grid,
    .comet-discovery-signals {
        grid-template-columns: 1fr;
    }

    .comet-help-response-card,
    .comet-help-resolve-card {
        grid-template-columns: 1fr;
    }

    .comet-help-hero,
    .comet-help-detail-head,
    .comet-help-compose-head {
        align-items: stretch;
        flex-direction: column;
    }

    .comet-help-hero > .btn,
    .comet-help-detail-head > form,
    .comet-help-detail-head > form .btn {
        width: 100%;
    }

    .comet-help-card {
        min-height: auto;
    }
}

@media (max-width: 575.98px) {
    .comet-save-search-form {
        grid-template-columns: minmax(0, 1fr);
    }

    .comet-save-search-form .btn,
    .comet-save-search-form .form-control {
        width: 100%;
    }

    .comet-onboarding-page,
    .comet-invite-page {
        padding: 0.65rem;
    }

    .comet-onboarding-hero,
    .comet-onboarding-card,
    .comet-invite-card,
    .comet-help-hero,
    .comet-help-detail-head,
    .comet-help-compose-head,
    .comet-help-card,
    .comet-help-detail-card,
    .comet-help-response-card,
    .comet-help-offers-section,
    .comet-help-resolve-card,
    .comet-help-matches {
        border-radius: 1.15rem;
    }

    .comet-onboarding-tip-grid,
    .comet-contribution-strip {
        grid-template-columns: 1fr;
    }

    .comet-help-page {
        width: calc(100% - 0.75rem);
        margin-top: 0.5rem;
    }

    .comet-help-scope {
        border-radius: 1rem;
    }

    .comet-help-scope a {
        padding: 0.5rem;
        font-size: 0.78rem;
        text-align: center;
    }

    .comet-help-filter,
    .comet-help-filter .form-select,
    .comet-copy-field,
    .comet-onboarding-actions,
    .comet-help-compose-actions,
    .comet-help-offer__actions,
    .comet-help-resolve-card form {
        width: 100%;
    }

    .comet-copy-field {
        grid-template-columns: 1fr;
    }

    .comet-onboarding-actions,
    .comet-help-compose-actions,
    .comet-help-offer__actions,
    .comet-help-resolve-card form {
        align-items: stretch;
        flex-direction: column;
    }

    .comet-onboarding-actions .btn,
    .comet-help-compose-actions .btn,
    .comet-help-offer__actions .btn,
    .comet-help-resolve-card .btn,
    .comet-help-resolve-card .form-select,
    .comet-invite-actions .btn {
        width: 100%;
    }
}

/* Community proposal, review, and event-lane workflows */
.comet-workflow-shell {
    width: min(1180px, calc(100% - 2rem));
    margin: 1.5rem auto 3rem;
}

.comet-workflow-hero,
.comet-workflow-card,
.comet-review-card,
.comet-insight-card,
.comet-duplicate-check {
    border: 1px solid var(--comet-border);
    background: var(--comet-surface-raised);
    color: var(--comet-text-body);
    box-shadow: var(--comet-shadow);
}

.comet-workflow-hero {
    position: relative;
    padding: clamp(1.4rem, 3vw, 2.5rem);
    overflow: hidden;
    border-radius: var(--comet-card-radius-lg);
    background:
        radial-gradient(circle at 92% 4%, color-mix(in srgb, var(--comet-gold) 23%, transparent), transparent 30%),
        linear-gradient(135deg, var(--comet-surface-raised), var(--comet-primary-soft-2));
}

.comet-workflow-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: 1.5rem;
}

.comet-workflow-hero h1 {
    max-width: 52rem;
    margin: 0.3rem 0 0.7rem;
    color: var(--comet-text-strong);
    font-size: clamp(1.75rem, 4vw, 3.4rem);
    line-height: 1.04;
}

.comet-workflow-hero p {
    max-width: 46rem;
    margin: 0;
    color: var(--comet-text-subtle);
    font-size: 1rem;
    line-height: 1.58;
}

.comet-workflow-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(18rem, 0.8fr);
    gap: 1rem;
    margin-top: 1rem;
}

.comet-workflow-card {
    padding: clamp(1.3rem, 2.5vw, 2rem);
    border-radius: var(--comet-card-radius-lg);
}

.comet-workflow-card--soft {
    background: linear-gradient(160deg, var(--comet-surface-soft), var(--comet-surface-raised));
}

.comet-workflow-card h2 {
    margin: 0.3rem 0 0.6rem;
    color: var(--comet-text-strong);
    font-size: 1.35rem;
}

.comet-workflow-step {
    color: var(--comet-primary);
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.comet-review-state {
    display: inline-flex;
    align-items: center;
    gap: 0.48rem;
    min-height: 2.55rem;
    padding: 0.62rem 0.9rem;
    border-radius: 999px;
    font-weight: 750;
    white-space: nowrap;
}

.comet-review-state--pending {
    background: var(--comet-gold-soft);
    color: var(--comet-gold-text);
}

.comet-review-state--success {
    background: var(--comet-success-soft);
    color: var(--comet-success-text);
}

.comet-review-state--danger {
    background: var(--comet-danger-soft);
    color: var(--comet-danger-text);
}

.comet-review-detail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.72rem;
    margin-top: 1.25rem;
}

.comet-review-detail-grid > div {
    min-width: 0;
    padding: 0.9rem 1rem;
    border: 1px solid var(--comet-border);
    border-radius: 1rem;
    background: var(--comet-surface-soft);
}

.comet-review-detail-grid span,
.comet-review-detail-grid strong {
    display: block;
}

.comet-review-detail-grid span {
    margin-bottom: 0.25rem;
    color: var(--comet-text-subtle);
    font-size: 0.75rem;
    font-weight: 750;
    letter-spacing: 0.045em;
    text-transform: uppercase;
}

.comet-review-detail-grid strong {
    color: var(--comet-text-strong);
    overflow-wrap: anywhere;
}

.comet-match-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.9rem;
    min-width: 0;
    padding: 0.85rem 0.95rem;
    border: 1px solid var(--comet-border);
    border-radius: 1rem;
    background: var(--comet-surface-raised);
}

.comet-match-row strong,
.comet-match-row span {
    display: block;
}

.comet-match-row strong {
    color: var(--comet-text-strong);
}

.comet-match-row > div > span {
    margin-top: 0.15rem;
    color: var(--comet-text-subtle);
    font-size: 0.79rem;
}

.comet-match-row > a,
.comet-match-row > div > a {
    position: relative;
    z-index: 1;
    color: var(--comet-primary);
    font-weight: 700;
    text-decoration: none;
}

.comet-duplicate-check {
    padding: 1rem;
    border-radius: 1.1rem;
    background: var(--comet-primary-soft-2);
}

.comet-event-lanes {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    padding: 0.38rem;
    border: 1px solid var(--comet-border);
    border-radius: 999px;
    background: var(--comet-surface-raised);
}

.comet-event-lane {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.42rem;
    min-height: 2.45rem;
    padding: 0.62rem 1rem;
    border-radius: 999px;
    color: var(--comet-text-subtle);
    font-weight: 700;
    text-decoration: none;
}

.comet-event-lane:hover,
.comet-event-lane:focus-visible {
    background: var(--comet-surface-hover);
    color: var(--comet-primary);
}

.comet-event-lane.is-active {
    background: var(--comet-primary);
    color: #fff;
}

.comet-status-pill-featured {
    background: var(--comet-gold-soft);
    color: var(--comet-gold-text);
}

.comet-status-pill-comet {
    background: var(--comet-primary-soft);
    color: var(--comet-primary);
}

.comet-community-ops-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin: 0 1rem 1rem;
}

.comet-review-card {
    padding: 1rem;
    border-radius: 1.15rem;
    box-shadow: none;
}

.comet-review-card h3,
.comet-insight-card h3 {
    margin: 0;
    color: var(--comet-text-strong);
    font-size: 1rem;
}

.comet-review-card p {
    color: var(--comet-text-body);
    line-height: 1.55;
}

.comet-review-form {
    padding-top: 0.9rem;
    border-top: 1px solid var(--comet-border);
}

.comet-review-checks {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
}

.comet-review-checks label {
    display: inline-flex;
    align-items: center;
    gap: 0.42rem;
    min-height: 2.35rem;
    padding: 0.52rem 0.75rem;
    border: 1px solid var(--comet-border);
    border-radius: 999px;
    background: var(--comet-surface-soft);
    color: var(--comet-text-body);
    font-size: 0.84rem;
}

.comet-insights-panel {
    margin: 0 1rem 3rem;
    padding: clamp(1rem, 2.5vw, 1.6rem);
}

.comet-insights-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
}

.comet-insight-card {
    min-width: 0;
    padding: 1rem;
    border-radius: 1.1rem;
    box-shadow: none;
}

.comet-insight-card h3 {
    margin-bottom: 0.8rem;
}

.comet-insight-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.55rem 0;
    border-top: 1px solid var(--comet-border);
    color: var(--comet-text-body);
    font-size: 0.82rem;
}

.comet-insight-row span {
    min-width: 0;
    overflow-wrap: anywhere;
}

.comet-insight-row strong {
    flex: 0 0 auto;
    color: var(--comet-primary);
    white-space: nowrap;
}

html[data-comet-theme="dark"] .comet-workflow-hero,
html[data-comet-theme="dark"] .comet-workflow-card,
html[data-comet-theme="dark"] .comet-review-card,
html[data-comet-theme="dark"] .comet-insight-card,
html[data-comet-theme="dark"] .comet-duplicate-check,
html[data-comet-theme="dark"] .comet-match-row,
html[data-comet-theme="dark"] .comet-event-lanes {
    border-color: var(--comet-border) !important;
    background-color: var(--comet-surface-raised) !important;
    color: var(--comet-text-body) !important;
}

html[data-comet-theme="dark"] .comet-workflow-hero {
    background:
        radial-gradient(circle at 92% 4%, rgba(255, 202, 59, 0.11), transparent 30%),
        linear-gradient(135deg, var(--comet-surface-raised), var(--comet-surface-soft)) !important;
}

@media (max-width: 1199.98px) {
    .comet-insights-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 991.98px) {
    .comet-workflow-grid,
    .comet-community-ops-grid {
        grid-template-columns: 1fr;
    }

    .comet-community-ops-grid,
    .comet-insights-panel {
        margin-right: 0.75rem;
        margin-left: 0.75rem;
    }
}

@media (max-width: 575.98px) {
    .comet-workflow-shell {
        width: calc(100% - 1rem);
        margin-top: 0.5rem;
    }

    .comet-workflow-hero-grid,
    .comet-review-detail-grid,
    .comet-insights-grid {
        grid-template-columns: 1fr;
    }

    .comet-workflow-hero,
    .comet-workflow-card {
        border-radius: 1.15rem;
    }

    .comet-review-state {
        justify-self: start;
    }

    .comet-match-row {
        align-items: flex-start;
        flex-direction: column;
    }

    .comet-match-row > div:last-child {
        width: 100%;
        justify-content: space-between;
    }

    .comet-event-lanes {
        display: grid;
        grid-template-columns: 1fr 1fr;
        width: calc(100% - 1.5rem);
        border-radius: 1rem;
    }
}

html[data-comet-theme="dark"] {
    color-scheme: dark;
}

html[data-comet-theme="dark"] body {
    --comet-primary: #a99cff;
    --comet-primary-deep: #d4ceff;
    --comet-action: #6754dc;
    --comet-action-deep: #4a3fa8;
    --comet-primary-soft: #302957;
    --comet-primary-soft-2: #211d38;
    --comet-gold-soft: #40381f;
    --comet-ink: #f3f1ff;
    --comet-muted: #b6b2c9;
    --comet-border: rgba(221, 216, 255, 0.12);
    --comet-shadow: 0 16px 36px rgba(0, 0, 0, 0.25);
    --comet-surface: #1a1726;
    --comet-surface-raised: #211d30;
    --comet-surface-soft: #242039;
    --comet-surface-hover: #2c2641;
    --comet-text-body: #e2deef;
    --comet-text-strong: #f7f5ff;
    --comet-text-subtle: #b6b2c9;
    --comet-chip-bg: #302957;
    --comet-chip-text: #ddd7ff;
    --comet-gold-text: #ffe49a;
    --comet-info-soft: #182d45;
    --comet-info-text: #a8d1ff;
    --comet-success-soft: #19352a;
    --comet-success-text: #93e3b7;
    --comet-danger-soft: #3a202a;
    --comet-danger-text: #ffadb9;
    --comet-neutral-soft: #2a2734;
    --comet-neutral-text: #cbc6d8;
    --comet-card-border: rgba(221, 216, 255, 0.14);
    --comet-card-shadow: 0 0.7rem 1.9rem rgba(0, 0, 0, 0.24);
    --bs-body-color: #f3f1ff;
    --bs-body-bg: #12101b;
    --bs-secondary-color: #b6b2c9;
    --bs-border-color: rgba(221, 216, 255, 0.13);
    background:
        radial-gradient(circle at top left, rgba(111, 91, 225, 0.18), transparent 30%),
        radial-gradient(circle at top right, rgba(255, 202, 59, 0.08), transparent 22%),
        #12101b;
    color: var(--comet-ink);
}

html[data-comet-theme="dark"] .fs-navbar,
html[data-comet-theme="dark"] .fs-tabbar,
html[data-comet-theme="dark"] .comet-private-header,
html[data-comet-theme="dark"] .comet-chat-dock,
html[data-comet-theme="dark"] .comet-chat-dock-panel {
    background-color: rgba(22, 19, 34, 0.96) !important;
}

html[data-comet-theme="dark"] .fs-menus .nav-link,
html[data-comet-theme="dark"] .comet-help-card h2 a,
html[data-comet-theme="dark"] .comet-help-person,
html[data-comet-theme="dark"] .comet-discovery-help-list > a,
html[data-comet-theme="dark"] .comet-impact-list a {
    color: var(--comet-ink);
}

html[data-comet-theme="dark"] .text-dark,
html[data-comet-theme="dark"] .link-dark,
html[data-comet-theme="dark"] .comet-feed-article .content-title,
html[data-comet-theme="dark"] .comet-feed-article .content-title a,
html[data-comet-theme="dark"] .comet-sidebar-event-title,
html[data-comet-theme="dark"] .comet-opportunity-card h2 a {
    color: var(--comet-text-strong) !important;
}

html[data-comet-theme="dark"] .fs-menus .comet-feedback-nav-link {
    border-color: rgba(190, 177, 255, 0.24);
    background: linear-gradient(135deg, #352e58 0%, #28223f 100%);
    color: #f4f0ff;
}

html[data-comet-theme="dark"] .fs-menus .comet-feedback-nav-link:hover,
html[data-comet-theme="dark"] .fs-menus .comet-feedback-nav-link:focus-visible {
    border-color: rgba(190, 177, 255, 0.42);
    background: linear-gradient(135deg, #42386d 0%, #31294c 100%);
    color: #ffffff;
}

html[data-comet-theme="dark"] .card,
html[data-comet-theme="dark"] .bg-white,
html[data-comet-theme="dark"] .modal-content,
html[data-comet-theme="dark"] .dropdown-menu,
html[data-comet-theme="dark"] .list-group-item,
html[data-comet-theme="dark"] .comet-group-panel,
html[data-comet-theme="dark"] .comet-page-banner,
html[data-comet-theme="dark"] .comet-profile-card,
html[data-comet-theme="dark"] .comet-sidebar-card,
html[data-comet-theme="dark"] .comet-search-context-shell,
html[data-comet-theme="dark"] .comet-onboarding-card,
html[data-comet-theme="dark"] .comet-help-card,
html[data-comet-theme="dark"] .comet-help-detail-card,
html[data-comet-theme="dark"] .comet-help-response-card,
html[data-comet-theme="dark"] .comet-help-offers-section,
html[data-comet-theme="dark"] .comet-help-resolve-card,
html[data-comet-theme="dark"] .comet-help-matches,
html[data-comet-theme="dark"] .comet-help-compose > section,
html[data-comet-theme="dark"] .comet-discovery-primary,
html[data-comet-theme="dark"] .comet-discovery-panel,
html[data-comet-theme="dark"] .comet-discovery-signals {
    background: #1a1726 !important;
    color: var(--comet-ink);
    border-color: var(--comet-border) !important;
}

html[data-comet-theme="dark"] .comet-onboarding-hero,
html[data-comet-theme="dark"] .comet-help-hero,
html[data-comet-theme="dark"] .comet-help-detail-head,
html[data-comet-theme="dark"] .comet-help-compose-head,
html[data-comet-theme="dark"] .comet-invite-card,
html[data-comet-theme="dark"] .comet-recommendation-card {
    background:
        radial-gradient(circle at 88% 10%, rgba(255, 202, 59, 0.1), transparent 32%),
        linear-gradient(145deg, #1d192a, #171421);
}

html[data-comet-theme="dark"] .form-control,
html[data-comet-theme="dark"] .form-select,
html[data-comet-theme="dark"] .form-check-input,
html[data-comet-theme="dark"] .input-group-text {
    border-color: rgba(221, 216, 255, 0.16);
    background-color: #13111d;
    color: var(--comet-ink);
}

html[data-comet-theme="dark"] .form-control::placeholder,
html[data-comet-theme="dark"] textarea::placeholder {
    color: #858096;
}

html[data-comet-theme="dark"] .text-secondary,
html[data-comet-theme="dark"] .text-muted {
    color: var(--comet-muted) !important;
}

html[data-comet-theme="dark"] .btn-outline-secondary,
html[data-comet-theme="dark"] .btn-light,
html[data-comet-theme="dark"] .comet-sidebar-utility-btn,
html[data-comet-theme="dark"] .btn-account {
    border-color: rgba(221, 216, 255, 0.16);
    background-color: #201c2d;
    color: var(--comet-ink);
}

html[data-comet-theme="dark"] .comet-group-membership-note {
    background: #2b2119;
}

html[data-comet-theme="dark"] a:not(.btn):not(.nav-link):not(.comet-help-person) {
    color: #b8adff;
}

/* Feedback completion: focused work, governance, profile export, and calm responsive forms. */
.comet-settings-avatar {
    width: 8rem;
    height: 8rem;
    object-fit: cover;
    background: var(--comet-soft-blue);
}

.comet-focused-shell,
.comet-cv-shell {
    width: min(100%, 68rem);
    padding: 1.25rem;
}

.comet-form-section {
    padding: 1.15rem;
    border: 1px solid rgba(74, 63, 168, 0.1);
    border-radius: 1rem;
    background: linear-gradient(135deg, var(--comet-surface-raised) 0%, var(--comet-surface) 100%);
}

.comet-form-section-heading {
    display: flex;
    align-items: flex-start;
    gap: 0.8rem;
    margin-bottom: 1rem;
}

.comet-form-section-heading h2 {
    margin: 0 0 0.16rem;
    font-size: 1rem;
    line-height: 1.25;
}

.comet-form-section-heading p {
    margin: 0;
    color: var(--comet-muted);
    font-size: 0.84rem;
    line-height: 1.45;
}

.comet-form-step {
    flex: 0 0 1.85rem;
    width: 1.85rem;
    height: 1.85rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--comet-primary);
    color: #fff;
    font-size: 0.76rem;
    font-weight: 800;
}

.comet-cv-document {
    padding: clamp(1.2rem, 4vw, 3rem);
    border: 1px solid rgba(19, 48, 74, 0.09);
    border-radius: 1.25rem;
    background: var(--comet-surface-raised);
    box-shadow: 0 18px 44px rgba(16, 40, 63, 0.09);
}

.comet-cv-header {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 1.25rem;
    align-items: center;
    padding-bottom: 1.35rem;
    margin-bottom: 1.35rem;
    border-bottom: 1px solid rgba(19, 48, 74, 0.08);
}

.comet-cv-avatar {
    width: 6.2rem;
    height: 6.2rem;
    object-fit: cover;
    border-radius: 1.35rem;
    background: #eef3ff;
}

.comet-cv-header h1 {
    font-size: clamp(1.55rem, 3vw, 2.2rem);
}

.comet-cv-lead {
    font-size: 1rem;
    line-height: 1.55;
}

.comet-cv-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.comet-cv-section {
    padding: 1rem;
    border-radius: 0.9rem;
    background: var(--comet-surface-soft);
}

.comet-cv-section h2 {
    margin-bottom: 0.65rem;
    font-size: 0.92rem;
}

.comet-cv-section ul {
    margin: 0;
    padding-left: 1.1rem;
    color: var(--comet-muted);
    font-size: 0.84rem;
    line-height: 1.55;
}

.comet-cv-footer {
    margin-top: 1.3rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(19, 48, 74, 0.08);
    color: var(--comet-muted);
    font-size: 0.74rem;
}

body.comet-focus-mode .main-fullscreen {
    min-height: 100vh;
    background: radial-gradient(circle at 85% 5%, rgba(255, 196, 71, 0.08), transparent 24%), var(--comet-surface-soft);
}

@media (min-width: 1500px) {
    body.comet-chat-dock-collapsed {
        --comet-dock-width: 4.6rem;
    }

    .comet-chat-dock.is-rail-collapsed {
        --comet-chat-rail-width: 3.75rem;
    }

    .comet-chat-dock.is-rail-collapsed .comet-chat-dock-head {
        padding-inline: 0.5rem;
    }

    .comet-chat-dock.is-rail-collapsed [data-comet-chat-dock-heading],
    .comet-chat-dock.is-rail-collapsed .comet-chat-dock-head > .comet-chat-dock-link,
    .comet-chat-dock.is-rail-collapsed .comet-chat-dock-tabs,
    .comet-chat-dock.is-rail-collapsed .comet-chat-dock-list {
        display: none !important;
    }

    .comet-chat-dock.is-rail-collapsed .comet-chat-dock-head > div {
        justify-content: center !important;
    }
}

/* Finished social workflows: clear governance, saved search, and event-time tools. */
.comet-governance-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: center;
    padding: 1rem 0;
}

.comet-governance-row + .comet-governance-row {
    border-top: 1px solid var(--comet-border, #e8e5f2);
}

.comet-channel-settings {
    border-top: 1px solid var(--comet-border, #e8e5f2);
}

.comet-channel-status {
    width: auto;
    min-width: 7.5rem;
}

.comet-saved-searches {
    padding-top: 1rem;
    border-top: 1px solid var(--comet-border, #e7e3f2);
}

.comet-save-search-form {
    display: grid;
    grid-template-columns: minmax(10rem, 1fr) auto;
    gap: 0.5rem;
    width: min(100%, 26rem);
}

.comet-saved-search-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem;
}

.comet-saved-search-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.5rem;
    align-items: center;
    min-width: 0;
    padding: 0.7rem 0.8rem;
    border: 1px solid var(--comet-border, #e7e3f2);
    border-radius: 0.9rem;
    background: var(--comet-surface-raised);
}

.comet-event-agenda-list {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.comet-event-session {
    display: grid;
    grid-template-columns: 4.75rem minmax(0, 1fr);
    gap: 1rem;
    align-items: start;
    padding: 1rem;
    border: 1px solid var(--comet-border, #e6e2f1);
    border-radius: 1rem;
    background: linear-gradient(135deg, var(--comet-surface-raised) 70%, color-mix(in srgb, var(--comet-gold-soft) 52%, var(--comet-surface-raised)));
}

.comet-event-session-time {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    color: var(--comet-primary-deep);
    font-weight: 750;
}

.comet-event-session-time small {
    color: var(--comet-text-subtle);
    font-size: 0.78rem;
    font-weight: 550;
}

.comet-event-session-editor {
    border: 1px solid var(--comet-border, #e6e2f1);
    border-radius: 1rem;
    background: var(--comet-surface-raised);
    overflow: hidden;
}

.comet-event-session-editor > summary {
    display: block;
    cursor: pointer;
    list-style: none;
}

.comet-event-session-editor > summary::-webkit-details-marker {
    display: none;
}

.comet-event-session-editor .comet-event-session {
    border: 0;
    border-radius: 0;
}

.comet-event-question {
    padding: 1.05rem;
    border: 1px solid var(--comet-border, #e5e1f1);
    border-radius: 1rem;
    background: var(--comet-surface-raised);
}

.comet-event-question + .comet-event-question {
    margin-top: 0.75rem;
}

.comet-event-answer {
    padding: 0.9rem 1rem;
    border-radius: 0.9rem;
    color: var(--comet-chip-text);
    background: var(--comet-primary-soft-2);
}

.comet-rating-options {
    display: grid;
    grid-template-columns: repeat(5, minmax(2.8rem, 1fr));
    gap: 0.6rem;
    max-width: 25rem;
}

.comet-rating-options input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.comet-rating-options span {
    display: grid;
    min-height: 3rem;
    place-items: center;
    border: 1px solid #ded9ef;
    border-radius: 0.9rem;
    color: var(--comet-chip-text);
    background: var(--comet-surface-raised);
    cursor: pointer;
    font-weight: 750;
}

.comet-rating-options input:checked + span,
.comet-rating-options input:focus-visible + span {
    border-color: #5140b3;
    color: #fff;
    background: #5140b3;
    box-shadow: 0 0 0 0.2rem rgba(81, 64, 179, 0.15);
}

@media (max-width: 767.98px) {
    .comet-governance-row {
        grid-template-columns: 1fr;
    }

    .comet-governance-row form {
        justify-content: flex-start !important;
    }

    .comet-saved-search-list {
        grid-template-columns: 1fr;
    }

    .comet-save-search-form {
        width: 100%;
    }
}

@media (max-width: 575.98px) {
    .comet-event-session {
        grid-template-columns: 3.75rem minmax(0, 1fr);
        gap: 0.75rem;
        padding: 0.85rem;
    }

    .comet-rating-options {
        gap: 0.4rem;
    }

    .comet-rating-options span {
        min-height: 2.8rem;
    }
}

@media (max-width: 767.98px) {
    .comet-focused-shell,
    .comet-cv-shell {
        padding: 0.7rem;
    }

    .comet-form-section {
        padding: 0.9rem;
    }

    .comet-form-section-heading {
        gap: 0.62rem;
    }

    .comet-cv-header {
        grid-template-columns: 1fr;
    }

    .comet-cv-avatar {
        width: 5rem;
        height: 5rem;
    }

    .comet-cv-grid {
        grid-template-columns: 1fr;
    }
}

@media print {
    .fs-header,
    .fs-tabbar,
    .comet-cv-actions,
    .comet-chat-dock {
        display: none !important;
    }

    .main-fullscreen,
    .comet-cv-shell {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .comet-cv-document {
        border: 0;
        border-radius: 0;
        box-shadow: none;
    }
}
@media (max-width: 767.98px) {
    .fresns-editor {
        padding: 0.9rem 0 2rem;
    }
    .fresns-editor .editor-toolbar .btn {
        min-width: 4.2rem;
    }
    .comet-composer {
        padding-top: 0.9rem;
    }
    .comet-composer__surface {
        padding: 0.9rem;
        border-radius: 1.15rem;
    }
    .comet-composer__toolbar {
        gap: 0.45rem;
    }
    .comet-composer__tool,
    .comet-composer__emoji-btn {
        min-width: 2.5rem;
        min-height: 2.5rem;
    }
    .comet-composer__textarea,
    .comet-composer__preview {
        min-height: 15rem;
    }
    .comet-composer__preview-title {
        font-size: 1.5rem;
    }
}

/* stickers */
.stickers .dropdown-menu {
    width: 90%;
}
@media (min-width: 992px) {
    .stickers .dropdown-menu {
        width: 40%;
    }
}
.fs-sticker img {
    margin: 0.2rem;
    zoom: 0.5;
    cursor: pointer;
}

/* file */
.editor-btn-delete {
    background-color: color-mix(in srgb, var(--comet-surface-raised) 72%, transparent);
}

/* file image */
.editor-file-image .position-relative {
    float: left;
    width: auto;
    max-width: 31%;
    margin-left: 0.5rem;
    margin-top: 0.5rem;
}
.editor-file-image-1 .position-relative {
    width: auto;
    max-width: 60%;
    margin-top: 0.5rem;
}
.editor-file-image-1 input {
    display: none;
}
.editor-file-image-2 .position-relative {
    float: left;
    width: auto;
    max-width: 47%;
    margin-left: 0.5rem;
    margin-top: 0.5rem;
}
.editor-file-image-3 .position-relative {
    float: left;
    width: auto;
    max-width: 30%;
    margin-left: 0.5rem;
    margin-top: 0.5rem;
}
.editor-file-image-4 .position-relative {
    float: left;
    width: auto;
    max-width: 47%;
    margin-left: 0.5rem;
    margin-top: 0.5rem;
}
.editor-file-image-5 .position-relative {
    float: left;
    width: auto;
    max-width: 30%;
    margin-left: 0.5rem;
    margin-top: 0.5rem;
}
.editor-file-image-6 .position-relative {
    float: left;
    width: auto;
    max-width: 30%;
    margin-left: 0.5rem;
    margin-top: 0.5rem;
}
.editor-file-image-7 .position-relative {
    float: left;
    width: auto;
    max-width: 30%;
    margin-left: 0.5rem;
    margin-top: 0.5rem;
}
.editor-file-image-8 .position-relative {
    float: left;
    width: auto;
    max-width: 30%;
    margin-left: 0.5rem;
    margin-top: 0.5rem;
}
.editor-file-image-9 .position-relative {
    float: left;
    width: auto;
    max-width: 30%;
    margin-left: 0.5rem;
    margin-top: 0.5rem;
}

/* file video */
.editor-file-video .position-relative {
    width: auto;
    max-width: 48%;
    float: left;
    margin-left: 0.5rem;
    margin-top: 0.5rem;
}
.editor-btn-video-play {
    line-height: 0rem;
    padding: 0.15rem 0.4rem;
}
.editor-btn-video-play i {
    font-size: 2rem;
}

/* file audio */
.editor-file-audio audio {
    width: 100%;
}
.editor-file-audio .position-relative {
    margin-top: 0.5rem;
}

/* file document */
.editor-file-document .position-relative {
    margin-top: 0.5rem;
}
.editor-file-document .editor-document-box {
    margin-bottom: 1rem;
    border-radius: 0.2rem;
    background-color: var(--comet-surface-soft);
    color: var(--comet-text-body);
    font-size: 0.9rem;
    display: flex;
    align-items: center;
}
.editor-file-document .editor-document-icon {
    background-color: #f57f59;
    border-top-left-radius: 0.2rem;
    border-bottom-left-radius: 0.2rem;
    color: #fff;
    font-size: 1.2rem;
    padding: 0.4rem 1rem;
}
.editor-file-document .editor-document-name {
    margin-left: 0.75rem;
}

/* extend frame text */
.editor-frame-text {
    margin-bottom: 1rem;
    padding: 0.8rem 0.8rem 0.4rem 0.8rem;
    border-left: 0.2rem solid var(--comet-border);
    background-color: var(--comet-surface-soft);
    color: var(--comet-text-subtle);
    font-size: 0.9rem;
    font-weight: 400;
    overflow: auto;
}
.editor-frame-text p {
    margin-bottom: 0.4rem;
}

/* extend frame info */
.editor-frame-info {
    margin-bottom: 1rem;
    background-color: var(--comet-surface-soft);
    display: table;
    width: 100%;
}
.editor-frame-info:hover {
    background-color: var(--comet-surface-hover);
}
.editor-info-img {
    display: table-cell;
    vertical-align: top;
    text-align: left;
}
.editor-info-body {
    display: table-cell;
    vertical-align: middle;
    padding: 0 1rem;
    text-align: left;
}
.editor-info-btn {
    display: table-cell;
    vertical-align: middle;
    padding-right: 1rem;
    text-align: right;
}

.editor-info-basic .editor-info-img,
.editor-info-basic img {
    width: 50px;
    height: 50px;
}
.editor-info-big .editor-info-img,
.editor-info-big img {
    width: 100px;
    height: 100px;
}
.editor-info-portrait .editor-info-img,
.editor-info-portrait img {
    width: 90px;
    height: 100px;
}
.editor-info-landscape .editor-info-img,
.editor-info-landscape img {
    width: 110px;
    height: 70px;
}
.editor-info-body .editor-info-title {
    font-size: 0.88rem;
    line-height: 1.3;
    color: #495057;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.editor-info-body .editor-info-desc {
    font-size: 0.8rem;
    color: #888888;
    margin-top: 0.4rem;
}

/* conversation */
.conversation-list-avatar {
    width: 4rem;
    height: 4rem;
}
.conversation-avatar {
    width: 3rem;
    height: 3rem;
}
.conversation-user-verified {
    width: 1.2rem;
    height: 1.2rem;
    margin-top: -0.2rem;
}
.conversation-user-name {
    font-size: 0.8rem;
    font-weight: 400;
}
.conversation-brief {
    font-size: 0.88rem;
    line-height: 1.56;
    color: var(--comet-text-subtle);
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.comet-conversation-row {
    background: var(--comet-surface-raised);
    transition: background-color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
    padding-block: 1.08rem !important;
}
.comet-conversation-row:hover {
    background: var(--comet-surface-hover);
    transform: translateY(-1px);
    box-shadow: inset 0 0 0 1px rgba(74, 63, 168, 0.08);
}
.comet-conversation-list-shell {
    border-top: 0;
    border-bottom: 0;
    background: var(--comet-surface);
}
.comet-unread-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.8rem;
    min-height: 1.7rem;
    border-radius: 999px;
    padding: 0.22rem 0.64rem;
    background: #ef5b6f;
    color: #fff;
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
}
.comet-unread-pill-sm {
    min-width: 1.55rem;
    min-height: 1.55rem;
    padding: 0.12rem 0.42rem;
    font-size: 0.72rem;
}
.comet-conversation-stream {
    max-height: min(65vh, 720px);
    overflow-y: auto;
    padding-right: 0.35rem;
    scroll-behavior: smooth;
    border-radius: 1rem;
    background: linear-gradient(180deg, var(--comet-surface-soft), var(--comet-surface-raised));
    border: 1px solid var(--comet-border);
    padding: 0.45rem 0.35rem 0.1rem 0.1rem;
}
.comet-conversation-typing {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    color: var(--comet-text-subtle);
    font-size: 0.9rem;
}
.comet-typing-dot {
    width: 0.45rem;
    height: 0.45rem;
    border-radius: 999px;
    background: var(--comet-primary);
    display: inline-block;
    animation: comet-typing-bounce 1s infinite ease-in-out;
}
.comet-typing-dot:nth-child(2) {
    animation-delay: 0.12s;
}
.comet-typing-dot:nth-child(3) {
    animation-delay: 0.24s;
}
.comet-live-indicator {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    font-size: 0.85rem;
    color: var(--comet-text-subtle);
}
.comet-message-hero {
    padding-bottom: 1.55rem;
}
.comet-message-panel-header {
    background: linear-gradient(180deg, var(--comet-surface-raised), var(--comet-surface));
    border-bottom: 0 !important;
    padding-bottom: 0.96rem !important;
}
.comet-message-thread-header {
    background: linear-gradient(180deg, var(--comet-surface-raised), var(--comet-surface));
    border-bottom: 1px solid var(--comet-border);
}
.comet-unread-pill-soft {
    background: var(--comet-chip-bg);
    color: var(--comet-chip-text);
    min-width: 0;
    padding-inline: 0.66rem;
}
.comet-message-list-card {
    border-radius: 1.35rem;
}
.comet-message-list-card .list-group-item {
    border: 0 !important;
}
.comet-message-list-card .list-group-item + .list-group-item {
    border-top: 1px solid rgba(19, 48, 74, 0.05) !important;
}
.comet-message-list-card .list-group-item:last-child {
    border-bottom: 0 !important;
}
.comet-live-dot {
    width: 0.6rem;
    height: 0.6rem;
    border-radius: 999px;
    background: var(--comet-orange);
    box-shadow: 0 0 0 0 rgba(255, 138, 52, 0.4);
    animation: comet-live-pulse 1.8s infinite;
}
@keyframes comet-typing-bounce {
    0%, 80%, 100% {
        transform: translateY(0);
        opacity: 0.45;
    }
    40% {
        transform: translateY(-0.18rem);
        opacity: 1;
    }
}
.comet-conversation-status {
    transition: opacity 0.2s ease;
}
.object-fit-cover {
    object-fit: cover;
}
.comet-group-chat-row .conversation-list-avatar {
    width: 3.5rem;
    height: 3.5rem;
    flex-shrink: 0;
}
.comet-conversation-row-meta {
    min-width: 5.4rem;
    justify-content: flex-end;
    align-items: center !important;
}
.comet-group-chat-row-meta {
    min-width: 5.9rem;
    justify-content: flex-end;
    align-items: center !important;
}
.comet-group-chat-shell .card-header,
.comet-group-chat-shell .card-footer {
    background: var(--comet-surface-raised);
}
.comet-group-chat-shell .card-body,
.comet-group-chat-shell .card-footer,
.comet-group-chat-shell .card-header,
.comet-live-conversation .card-body,
.comet-live-conversation .card-footer,
.comet-live-conversation .card-header {
    padding: 1.34rem 1.38rem;
}
.comet-message-bubble {
    border-radius: 1rem;
    padding: 0.74rem 0.96rem;
    line-height: 1.5;
}
.comet-message-bubble-me {
    background: linear-gradient(180deg, var(--comet-action), var(--comet-action-deep));
    color: #ffffff;
}
.comet-message-bubble-them {
    background: var(--comet-surface-soft);
    color: var(--comet-text-body);
}
.comet-group-chat-channel-list .list-group-item {
    background: transparent;
    padding-left: 0.45rem !important;
    padding-right: 0.45rem !important;
}
.comet-group-chat-channel-list .list-group-item.active {
    border-radius: 1rem;
    background: var(--comet-primary-soft-2) !important;
    border: 1px solid rgba(15, 118, 110, 0.14) !important;
}
.comet-group-chat-channel-list .comet-unread-pill-sm,
.comet-group-chat-row .comet-unread-pill {
    background: linear-gradient(135deg, var(--comet-action), var(--comet-action-deep));
    background-color: var(--comet-action);
    min-width: 4.6rem;
    padding-inline: 0.72rem;
    font-weight: 700;
}
.comet-group-chat-row .comet-unread-pill {
    font-size: 0.76rem;
    letter-spacing: 0.01em;
    min-width: 4.85rem;
    justify-content: center;
}
.comet-live-chat-form .input-group {
    align-items: stretch;
    gap: 0.66rem;
}
.conversation-send-textarea {
    min-height: 3.45rem;
    border-radius: 1rem !important;
    padding: 0.82rem 0.92rem;
    line-height: 1.48;
    resize: vertical;
}
.conversation-send-submit {
    min-width: 7rem;
    border-radius: 1rem !important;
    padding-inline: 1.15rem;
    font-weight: 600;
}
.comet-group-chat-form .conversation-send-submit,
.comet-live-chat-form .conversation-send-submit {
    border-color: rgba(19, 48, 74, 0.14);
}
.comet-group-chat-message .conversation-avatar {
    width: 2.7rem;
    height: 2.7rem;
}
.comet-group-chat-preview {
    display: block;
    border: 1px solid rgba(19, 48, 74, 0.08);
    border-radius: 1rem;
    background: var(--comet-surface-raised);
    padding: 0.85rem 0.95rem;
    transition: background-color 0.18s ease, transform 0.18s ease;
}
.comet-group-chat-preview:hover {
    background: var(--comet-surface-hover);
    transform: translateY(-1px);
}
@keyframes comet-live-pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(22, 163, 74, 0.45);
    }
    70% {
        box-shadow: 0 0 0 0.55rem rgba(22, 163, 74, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(22, 163, 74, 0);
    }
}

/* research profiles */
.comet-profile-headline {
    color: var(--comet-text-strong);
    font-size: 0.98rem;
    line-height: 1.45;
}
.comet-profile-meta {
    color: var(--comet-text-subtle);
    font-size: 0.9rem;
}
.comet-feed-author-meta {
    max-width: 24rem;
    line-height: 1.45;
}
.comet-profile-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    border-radius: 999px;
    padding: 0.35rem 0.8rem;
    background: var(--comet-chip-bg);
    color: var(--comet-chip-text);
    font-size: 0.82rem;
    line-height: 1.15;
}
.comet-profile-chip-strong {
    background: var(--comet-primary-soft);
    color: var(--comet-primary-deep);
}
.comet-profile-chip-soft {
    background: var(--comet-gold-soft);
    color: var(--comet-gold-text);
}
.comet-profile-card {
    height: 100%;
    border: 1px solid rgba(19, 48, 74, 0.08);
    border-radius: 1.2rem;
    background: var(--comet-surface-raised);
    padding: 1.1rem 1.15rem;
    box-shadow: var(--comet-shadow);
}
.comet-profile-card-title {
    font-size: 1rem;
    font-weight: 700;
    color: var(--comet-text-strong);
    margin-bottom: 1rem;
}
.comet-profile-label {
    font-size: 0.78rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--comet-text-subtle);
    margin-bottom: 0.45rem;
}
.comet-profile-body {
    color: var(--comet-text-body);
    line-height: 1.55;
}
.comet-profile-kv-list {
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
}
.comet-profile-kv-item {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    color: var(--comet-text-body);
}
.comet-search-panel,
.comet-settings-panel {
    border: 1px solid var(--comet-border);
    border-radius: 1.2rem;
    background: var(--comet-surface-raised);
    box-shadow: var(--comet-shadow);
}
.comet-search-panel {
    padding: 1.15rem 1.15rem 1.25rem;
}
.comet-settings-panel {
    padding: 1.1rem 1.1rem 1.15rem;
}
.comet-settings-panel-compact {
    padding: 1rem 1.05rem 1.05rem;
}
.comet-settings-panel-title {
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--comet-text-strong);
    margin-bottom: 0.9rem;
}
.comet-profile-optional > summary {
    color: var(--comet-text-strong);
    cursor: pointer;
    font-weight: 700;
    min-height: 2.75rem;
    padding: 0.55rem 0;
}
.comet-profile-optional[open] > summary {
    margin-bottom: 0.25rem;
}
.comet-settings-panel .form-control,
.comet-settings-panel .form-select,
[data-comet-profile-form] .form-control,
[data-comet-profile-form] .form-select {
    min-height: 2.75rem;
}
.comet-settings-panel .form-check-label {
    min-height: 2.75rem;
    display: inline-flex;
    align-items: center;
}
@media (max-width: 575.98px) {
    .comet-settings-panel {
        padding: 0.7rem;
    }
}
.comet-sidebar-section-title {
    font-size: 0.84rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: var(--comet-text-strong);
}
.comet-sidebar-section-copy {
    font-size: 0.9rem;
    color: var(--comet-muted);
    line-height: 1.58;
    margin: 0.52rem 0 1.08rem;
}
.comet-search-shell {
    border: 1px solid rgba(19, 48, 74, 0.05);
    border-radius: var(--comet-card-radius-lg);
    background:
        radial-gradient(circle at top right, rgba(255, 202, 59, 0.08), transparent 34%),
        linear-gradient(180deg, var(--comet-surface-raised), var(--comet-surface));
    box-shadow: var(--comet-shadow);
    padding: 1.72rem 1.56rem 1.54rem;
}
.comet-search-context-shell {
    border: 1px solid rgba(74, 63, 168, 0.08);
    border-radius: 1.2rem;
    background: linear-gradient(180deg, var(--comet-surface-raised), var(--comet-surface-soft));
    box-shadow: 0 12px 26px rgba(46, 34, 110, 0.05);
    padding: 0.95rem 1rem 1rem;
}
.comet-search-context-label {
    font-size: 0.73rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--comet-primary);
}
.comet-private-shell {
    width: 100%;
    max-width: 1040px;
    margin-inline: auto;
    min-height: calc(100vh - 9.5rem);
    display: flex;
    align-items: center;
}
.fs-header--private-shell {
    position: sticky;
    top: 0;
    z-index: 1035;
    background: color-mix(in srgb, var(--comet-surface-raised) 96%, transparent);
    backdrop-filter: blur(12px);
}
.comet-private-header {
    background: color-mix(in srgb, var(--comet-surface-raised) 88%, transparent);
    backdrop-filter: blur(18px);
    border-bottom-color: rgba(36, 31, 69, 0.08) !important;
    box-shadow: 0 10px 28px rgba(36, 31, 69, 0.05);
}
.comet-private-header-inner {
    width: min(74rem, 100%);
    min-height: 4.65rem;
    margin-inline: auto;
    padding: 0.72rem clamp(1rem, 3vw, 2rem);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}
.comet-private-header-brand {
    display: inline-flex;
    align-items: center;
    gap: 0.72rem;
    color: var(--comet-ink);
}
.comet-private-header-brand img {
    width: 2.55rem;
    height: 2.55rem;
    object-fit: contain;
}
.comet-private-header-name {
    font-size: 0.96rem;
    font-weight: 800;
    letter-spacing: -0.015em;
    line-height: 1.15;
}
.comet-private-header-note {
    color: var(--comet-muted);
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1.25;
    text-transform: uppercase;
}
.comet-private-header-actions {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    color: var(--comet-muted);
    font-size: 0.78rem;
}
.comet-private-header-actions .btn {
    min-width: 7.5rem;
    min-height: 2.55rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-color: rgba(81, 64, 179, 0.24);
    color: var(--comet-primary);
    font-weight: 750;
}
.comet-private-header-actions .btn:hover,
.comet-private-header-actions .btn:focus-visible {
    border-color: var(--comet-primary);
    color: #fff;
    background: var(--comet-primary);
}
.comet-main-private {
    padding: 2rem 1rem 3rem;
}
.comet-private-card {
    position: relative;
    overflow: hidden;
    width: 100%;
    background:
        radial-gradient(circle at top right, rgba(255, 202, 59, 0.14), transparent 26%),
        radial-gradient(circle at bottom left, rgba(98, 83, 244, 0.08), transparent 28%),
        linear-gradient(180deg, var(--comet-surface-raised), var(--comet-surface));
    border: 1px solid var(--comet-border);
    border-radius: 1.75rem;
    box-shadow: var(--comet-shadow);
    padding: 2.25rem 2.35rem;
    color: var(--comet-text-body);
}
.comet-private-card-auth .comet-private-title {
    max-width: 30rem;
}
.comet-private-card-auth .comet-private-copy {
    max-width: 40rem;
}
.comet-private-card-auth .comet-private-side {
    align-self: stretch;
}
.comet-private-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.18fr) minmax(17rem, 0.82fr);
    gap: 1.9rem;
    align-items: start;
}
.comet-private-main,
.comet-private-side {
    min-width: 0;
}
.comet-private-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.42rem;
    padding: 0.5rem 0.9rem;
    border-radius: 999px;
    background: var(--comet-primary-soft);
    color: var(--comet-primary);
    font-size: 0.84rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}
.comet-private-title {
    font-size: clamp(2.05rem, 3.6vw, 3rem);
    line-height: 1.05;
    font-weight: 800;
    color: var(--comet-text-strong);
}
.comet-private-copy {
    max-width: 720px;
    font-size: 1.08rem;
    line-height: 1.7;
    color: var(--comet-muted);
}

.comet-recovery-card {
    width: min(100%, 43rem);
    padding: clamp(1.55rem, 4vw, 2.35rem);
}

.comet-recovery-card .comet-private-main {
    width: 100%;
    max-width: none;
    text-align: left;
}

.comet-recovery-card .comet-private-title,
.comet-recovery-card .comet-private-copy {
    margin-inline: 0;
}

.comet-recovery-card .comet-private-title {
    max-width: 15ch;
    font-size: clamp(2rem, 5vw, 2.7rem);
    line-height: 1.04;
}

.comet-recovery-card .comet-private-copy {
    max-width: 36rem;
    font-size: 0.96rem;
    line-height: 1.62;
}

.comet-recovery-heading {
    margin-bottom: 1.3rem;
}

.comet-recovery-form {
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
    padding: 1.05rem;
    border: 1px solid var(--comet-border);
    border-radius: 1.2rem;
    background: var(--comet-surface-soft);
}

.comet-recovery-form .form-label {
    margin-bottom: 0.42rem;
    color: var(--comet-text-strong);
    font-size: 0.82rem;
}

.comet-recovery-form .form-control {
    min-height: 3.15rem;
    border-color: var(--comet-border);
    background: var(--comet-surface-raised);
    color: var(--comet-text-body);
}

.comet-recovery-form .form-control:focus {
    border-color: color-mix(in srgb, var(--comet-primary) 58%, transparent);
    background: var(--comet-surface-raised);
    box-shadow: 0 0 0 0.22rem color-mix(in srgb, var(--comet-primary) 16%, transparent);
}

.comet-recovery-form .btn {
    min-height: 3.1rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}

.comet-recovery-links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem 1.1rem;
    margin-top: 1.15rem;
    padding-top: 1rem;
    border-top: 1px solid var(--comet-border);
    font-size: 0.82rem;
    font-weight: 650;
}

.comet-login-entry-panel {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: center;
    padding: 1.05rem;
    border: 1px solid var(--comet-border);
    border-radius: 1.2rem;
    background: var(--comet-surface-soft);
}

.comet-login-entry-panel > div {
    min-width: 0;
}

.comet-login-entry-eyebrow,
.comet-login-entry-panel strong,
.comet-login-entry-panel small {
    display: block;
}

.comet-login-entry-eyebrow {
    margin-bottom: 0.28rem;
    color: var(--comet-primary);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.075em;
    text-transform: uppercase;
}

.comet-login-entry-panel strong {
    color: var(--comet-text-strong);
    line-height: 1.35;
}

.comet-login-entry-panel small {
    margin-top: 0.3rem;
    color: var(--comet-muted);
    line-height: 1.45;
}

.comet-login-entry-panel .btn {
    min-width: 12rem;
    min-height: 3rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    white-space: nowrap;
}
.comet-private-signal-row {
    margin-top: 1.35rem;
}
.comet-private-feature-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.98rem;
    margin-top: 0;
}
.comet-private-feature {
    border: 1px solid rgba(74, 63, 168, 0.08);
    border-radius: 1.24rem;
    background: linear-gradient(180deg, var(--comet-surface-raised), var(--comet-surface-soft));
    backdrop-filter: blur(10px);
    padding: 1.05rem 1.05rem 1.08rem;
    min-height: 100%;
}
.comet-private-feature-title {
    font-size: 0.92rem;
    font-weight: 800;
    color: var(--comet-primary-deep);
    margin-bottom: 0.35rem;
}
.comet-private-feature-copy {
    font-size: 0.9rem;
    line-height: 1.55;
    color: var(--comet-muted);
}
.comet-private-actions {
    margin-top: 1.55rem;
}
.comet-private-meta {
    margin-top: 1.35rem;
    padding-top: 1.05rem;
    border-top: 1px solid rgba(74, 63, 168, 0.1);
}
.comet-sidebar-card {
    border: 1px solid rgba(19, 48, 74, 0.05);
    background: var(--comet-surface);
    border-radius: var(--comet-card-radius-lg);
    box-shadow: 0 18px 34px rgba(46, 34, 110, 0.06);
    content-visibility: auto;
    contain-intrinsic-size: 300px;
    overflow: hidden;
}
.comet-sidebar-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}
.comet-sidebar-card-title {
    color: var(--comet-text-strong);
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.22;
    letter-spacing: -0.02em;
}
.comet-sidebar-card-copy {
    font-size: 0.93rem;
    line-height: 1.66;
}
.comet-sidebar-section-copy {
    font-size: 0.93rem;
    line-height: 1.66;
}
.comet-sidebar-card .list-group-item {
    border-left: 0 !important;
    border-right: 0 !important;
    border-bottom: 0 !important;
}
.comet-search-label {
    display: block;
    font-size: 0.82rem;
    font-weight: 700;
    color: #4a4376;
}
.comet-search-select {
    border-color: rgba(74, 63, 168, 0.14);
    background-color: var(--comet-primary-soft-2);
    color: #2d2858;
    min-height: 3.2rem;
    padding-inline: 1rem;
}
.comet-search-select:focus,
.comet-search-input-row .form-control:focus {
    border-color: rgba(74, 63, 168, 0.35);
    box-shadow: 0 0 0 0.2rem rgba(74, 63, 168, 0.11);
}
.comet-search-form .btn-success {
    min-width: 0;
}
.comet-search-input-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0.68rem;
    align-items: stretch;
}
.comet-search-input-row .form-control {
    border-color: rgba(74, 63, 168, 0.12);
    background: var(--comet-primary-soft-2);
    min-height: 3.2rem;
    padding-inline: 1rem;
    min-width: 0;
}
.comet-search-submit {
    min-height: 3.2rem;
    width: 100%;
    padding-inline: 1.12rem;
}
.comet-search-helper {
    font-size: 0.78rem;
    color: #6a648f;
    margin-bottom: 0.65rem !important;
    letter-spacing: 0.01em;
}
.comet-search-hint {
    font-size: 0.79rem;
    color: #7a749d;
    margin-top: 0.75rem !important;
    line-height: 1.5;
}
.comet-search-context-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 0.58rem;
}
.comet-search-context-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.42rem;
    min-height: 2.4rem;
    padding: 0.48rem 0.92rem;
    border-radius: 999px;
    border: 1px solid rgba(74, 63, 168, 0.14);
    background: var(--comet-surface-raised);
    color: var(--comet-primary-deep);
    text-decoration: none;
    font-size: 0.84rem;
    font-weight: 700;
    transition: background-color 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
}
.comet-search-context-link:hover,
.comet-search-context-link:focus {
    background: var(--comet-surface-hover);
    border-color: rgba(74, 63, 168, 0.22);
    color: var(--comet-primary);
    transform: translateY(-1px);
}
.comet-search-context-link.active {
    background: linear-gradient(180deg, var(--comet-primary), var(--comet-primary-deep));
    background-color: var(--comet-primary);
    border-color: transparent;
    color: #ffffff;
    box-shadow: 0 10px 24px rgba(74, 63, 168, 0.18);
}
.comet-search-context-link i {
    font-size: 0.82rem;
}
.comet-search-context-nav-secondary .comet-search-context-link {
    background: var(--comet-primary-soft-2);
}
.comet-search-context-nav-secondary .comet-search-context-link.active {
    background: linear-gradient(180deg, var(--comet-primary), var(--comet-primary-deep));
    background-color: var(--comet-primary);
}
.comet-search-results-note {
    color: #5f6c7b;
    align-self: center;
    font-size: 0.88rem;
}
.comet-sidebar-link-item {
    border-top-color: transparent !important;
    border-bottom-color: transparent !important;
    border-radius: 1rem !important;
    transition: background-color 0.18s ease, transform 0.18s ease;
}
.comet-sidebar-link-item:hover {
    background: var(--comet-surface-hover);
    transform: translateY(-1px);
}
.comet-sidebar-user {
    align-items: center;
    min-height: 5.5rem;
}
.comet-sidebar-user .user-avatar {
    width: 3rem;
    height: 3rem;
}
.comet-sidebar-user .user-decorate {
    width: 5rem;
    height: 5rem;
}
.comet-empty-state {
    border: 1px dashed rgba(19, 48, 74, 0.18);
    border-radius: 1.2rem;
    background: var(--comet-primary-soft-2);
    padding: 1.5rem;
}
.comet-inline-alert {
    border-radius: 1rem;
    border: 1px solid transparent;
    padding: 0.95rem 1rem;
    font-size: 0.95rem;
}
.comet-inline-alert-success {
    background: var(--comet-primary-soft);
    border-color: rgba(74, 63, 168, 0.16);
    color: var(--comet-primary-deep);
}
.comet-inline-alert-danger {
    background: var(--comet-danger-soft);
    border-color: color-mix(in srgb, var(--comet-danger-text) 24%, transparent);
    color: var(--comet-danger-text);
}
.comet-inline-note {
    padding: 0.9rem 1rem;
    border-radius: 1rem;
    background: var(--comet-surface-soft);
    border: 1px solid rgba(74, 63, 168, 0.1);
    color: var(--comet-text-body);
}
.comet-filter-select {
    min-width: 11rem;
}
.comet-moderation-card {
    padding: 1.1rem 1.15rem;
    border: 1px solid rgba(51, 65, 85, 0.08);
    border-radius: 1.25rem;
    background: var(--comet-surface-raised);
    box-shadow: 0 10px 24px rgba(28, 25, 23, 0.03);
    content-visibility: auto;
    contain-intrinsic-size: 300px;
}
.comet-moderation-card .form-label {
    font-size: 0.78rem;
    font-weight: 700;
    color: var(--comet-text-subtle);
    letter-spacing: 0.02em;
    text-transform: uppercase;
}
.comet-operator-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.78rem;
}
.comet-operator-stat {
    border: 1px solid rgba(19, 48, 74, 0.07);
    border-radius: 1rem;
    background: linear-gradient(180deg, var(--comet-surface-raised), var(--comet-surface));
    padding: 1rem;
}
.comet-operator-stat-value {
    font-size: 1.3rem;
    font-weight: 800;
    line-height: 1;
    color: var(--comet-primary-deep);
}
.comet-operator-stat-label {
    margin-top: 0.3rem;
    color: var(--comet-muted);
    font-size: 0.8rem;
}
.comet-operator-filter-form .btn {
    min-height: 2.8rem;
}
.comet-audit-log-card {
    border-radius: 1rem;
    border: 1px solid rgba(19, 48, 74, 0.07);
    background: linear-gradient(180deg, var(--comet-surface-raised), var(--comet-surface));
    padding: 0.95rem 1rem;
    box-shadow: 0 8px 18px rgba(16, 40, 63, 0.04);
    content-visibility: auto;
    contain-intrinsic-size: 120px;
}
.comet-inline-tip {
    border-radius: 1rem;
    padding: 0.95rem 1rem;
    background: linear-gradient(180deg, var(--comet-primary-soft-2), var(--comet-surface));
    border: 1px solid rgba(74, 63, 168, 0.12);
}
.comet-notification-overview {
    background: linear-gradient(180deg, var(--comet-surface-raised), var(--comet-surface));
    padding: 1.8rem !important;
}
.comet-notification-overview-stats {
    justify-content: flex-start;
    gap: 0.55rem !important;
}
.comet-notification-event-column {
    padding: 1.45rem 1.3rem 1.3rem;
    background: linear-gradient(180deg, var(--comet-surface-raised), var(--comet-surface));
}
.comet-page-header {
    padding-inline: 0.22rem;
    margin-bottom: 1.08rem;
}
.comet-page-header p {
    max-width: 42rem;
    line-height: 1.6;
}
.comet-page-header h1,
.comet-page-header .fs-3 {
    line-height: 1.12;
}
.comet-page-banner {
    border: 1px solid rgba(19, 48, 74, 0.08);
    border-radius: var(--comet-card-radius-lg);
    background:
        radial-gradient(circle at top right, rgba(255, 202, 59, 0.1), transparent 25%),
        radial-gradient(circle at bottom left, rgba(98, 83, 244, 0.08), transparent 32%),
        linear-gradient(180deg, #ffffff, #fbfcff);
    box-shadow: 0 18px 36px rgba(16, 40, 63, 0.055);
    min-height: 13.4rem;
    padding: 2rem 2.14rem;
}
.comet-page-hero-card {
    position: relative;
    overflow: hidden;
}
.comet-page-hero-card::after {
    content: "";
    position: absolute;
    top: -5rem;
    right: -4rem;
    width: 13rem;
    height: 13rem;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(255, 202, 59, 0.18), rgba(255, 202, 59, 0));
    pointer-events: none;
}
.comet-page-hero-layout,
.comet-page-hero-copy,
.comet-page-hero-meta,
.comet-page-hero-actions {
    position: relative;
    z-index: 1;
}
.comet-page-kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.38rem 0.78rem;
    border-radius: 999px;
    background: rgba(74, 63, 168, 0.08);
    color: var(--comet-primary);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}
.comet-page-hero-copy {
    max-width: 47rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.comet-page-hero-copy-shell {
    min-width: 0;
}
.comet-page-hero-side {
    min-width: 18.8rem;
    max-width: 24rem;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: stretch;
    align-items: stretch !important;
}
.comet-page-hero-aside {
    width: min(100%, 23rem);
    margin-left: auto;
    min-height: 100%;
    padding: 1.08rem 1.14rem 1.14rem;
    border: 1px solid rgba(74, 63, 168, 0.1);
    border-radius: 1.28rem;
    background:
        radial-gradient(circle at top right, rgba(255, 202, 59, 0.09), transparent 34%),
        linear-gradient(180deg, var(--comet-surface-raised), var(--comet-surface-soft));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.82);
}
.comet-page-hero-aside-kicker {
    font-size: 0.73rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--comet-primary);
}
.comet-page-hero-aside-copy {
    margin-top: 0.42rem;
    font-size: 0.9rem;
    line-height: 1.6;
    color: var(--comet-muted);
}
.comet-page-hero-aside .comet-page-hero-meta,
.comet-page-hero-aside .comet-page-hero-actions {
    justify-content: flex-start !important;
}
.comet-page-hero-aside .comet-page-hero-meta {
    gap: 0.48rem !important;
}
.comet-page-hero-aside .comet-page-hero-actions .btn {
    min-width: 12rem;
}
.comet-page-hero-back {
    width: 2.7rem;
    height: 2.7rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--comet-primary);
    background: rgba(74, 63, 168, 0.05);
}
.comet-page-hero-copy h1,
.comet-page-hero-copy .fs-3,
.comet-page-hero-copy .fs-4 {
    color: var(--comet-ink);
    font-weight: 800;
    letter-spacing: -0.03em;
    line-height: 1.04;
}
.comet-page-hero-copy .text-secondary {
    font-size: 1rem;
    line-height: 1.72;
    color: #5e6f82 !important;
}
.comet-page-hero-meta {
    align-items: center;
    gap: 0.55rem !important;
}
.comet-page-hero-meta .comet-profile-chip {
    box-shadow: 0 8px 18px rgba(36, 31, 69, 0.04);
    white-space: nowrap;
}
.comet-page-hero-actions {
    align-items: center;
    justify-content: flex-end;
}
.comet-page-hero-actions .btn {
    min-height: 3rem;
    padding-inline: 1.35rem;
}
@media (min-width: 992px) {
    .comet-page-hero-layout {
        display: grid !important;
        grid-template-columns: minmax(0, 1.76fr) minmax(17.8rem, 0.84fr);
        align-items: start;
        gap: 2.3rem;
    }
}
.fs-main--wide .comet-page-header,
.fs-main--wide .comet-group-panel,
.fs-main--wide .comet-discover-hero,
.fs-main--wide .comet-event-card,
.fs-main--wide .comet-feed-card,
.fs-main--wide .comet-opportunity-card {
    box-shadow: 0 10px 24px rgba(36, 31, 69, 0.05);
}
.comet-group-panel,
.comet-event-card,
.comet-opportunity-card {
    content-visibility: auto;
    contain-intrinsic-size: 360px;
}
.comet-filter-strip {
    padding-inline: 0.42rem !important;
}
.comet-filter-pill {
    padding: 0.56rem 0.82rem;
    font-weight: 600;
    line-height: 1.15;
    border-color: rgba(19, 48, 74, 0.1) !important;
}
.comet-feed-hero {
    padding: 1.84rem 1.88rem 1.56rem;
}
.comet-feed-hero-chips .comet-profile-chip {
    padding: 0.46rem 0.82rem;
}
.comet-feed-tabs {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0 !important;
    align-items: stretch;
    padding: 0 !important;
    margin: 0.56rem 1rem 1rem !important;
    overflow: hidden;
}
.comet-feed-tabs .nav-link {
    margin: 0 !important;
    min-width: 0;
    text-align: center;
    display: flex;
    align-items: stretch;
    padding-inline: 0 !important;
}
.comet-feed-tabs .comet-filter-pill {
    border-radius: 999px !important;
    min-height: 2.94rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding-inline: 0.72rem;
}
.comet-feed-tabs .nav-link.active {
    box-shadow: 0 12px 24px rgba(74, 63, 168, 0.16);
}
.fs-main:not(.fs-main--wide) > .clearfix > .comet-feed-card {
    margin-inline: 1rem !important;
}
.comet-feed-article {
    border: 1px solid rgba(19, 48, 74, 0.06);
    padding-top: 0.82rem;
    padding-bottom: 0.96rem;
}
.comet-feed-card {
    content-visibility: auto;
    contain-intrinsic-size: 520px;
}
.comet-feed-card + .comet-feed-card,
.comet-group-panel + .comet-group-panel,
.comet-sidebar-card + .comet-sidebar-card {
    margin-top: 1.16rem;
}
.comet-feed-article .content-author {
    padding-top: 0.15rem;
    padding-inline: 0.28rem;
}
.comet-feed-article .content-main {
    margin-top: 0.08rem;
}
.comet-feed-article .content-article {
    color: var(--comet-text-body);
    line-height: 1.62;
    font-size: 0.99rem;
}
.comet-post-body > :last-child {
    margin-bottom: 0;
}
.comet-post-body h1,
.comet-post-body h2,
.comet-post-body h3,
.comet-post-body h4 {
    color: var(--comet-text-strong);
    font-weight: 800;
    line-height: 1.14;
    margin-top: 1.2rem;
    margin-bottom: 0.7rem;
}
.comet-post-body h1 {
    font-size: 1.7rem;
}
.comet-post-body h2 {
    font-size: 1.42rem;
}
.comet-post-body h3 {
    font-size: 1.18rem;
}
.comet-post-body p,
.comet-post-body li {
    color: var(--comet-text-body);
}
.comet-post-body a {
    color: var(--comet-primary);
    font-weight: 600;
}
.comet-post-body ul,
.comet-post-body ol {
    padding-left: 1.3rem;
    margin-bottom: 1rem;
}
.comet-post-body .task-list-item {
    list-style: none;
    margin-left: -0.2rem;
}
.comet-post-body .task-list-item label {
    display: inline-flex;
    align-items: flex-start;
    gap: 0.55rem;
}
.comet-post-body .task-list-item input[type='checkbox'] {
    margin-top: 0.28rem;
    accent-color: var(--comet-primary);
}
.comet-post-body blockquote {
    margin: 1rem 0;
    padding: 0.95rem 1rem;
    border-left: 4px solid rgba(74, 63, 168, 0.3);
    border-radius: 0 1rem 1rem 0;
    background: var(--comet-primary-soft-2);
    color: var(--comet-text-body);
}
.comet-post-body code {
    background: var(--comet-primary-soft);
    color: var(--comet-primary-deep);
    border-radius: 0.45rem;
    padding: 0.18rem 0.38rem;
    font-size: 0.92em;
}
.comet-post-body pre {
    background: #17142a;
    color: #f7f5ff;
    border-radius: 1rem;
    padding: 1rem 1.05rem;
    overflow-x: auto;
    margin: 1rem 0;
}
.comet-post-body pre code {
    background: transparent;
    color: inherit;
    padding: 0;
}
.comet-post-body hr {
    margin: 1.35rem 0;
    border: 0;
    border-top: 1px solid rgba(36, 31, 69, 0.12);
}
.comet-post-body table {
    width: 100%;
    border-collapse: collapse;
    margin: 1.2rem 0;
    overflow: hidden;
    border-radius: 1rem;
    background: var(--comet-surface-raised);
    box-shadow: inset 0 0 0 1px rgba(36, 31, 69, 0.08);
}
.comet-post-body thead tr {
    background: var(--comet-surface-soft);
}
.comet-post-body th,
.comet-post-body td {
    padding: 0.82rem 0.95rem;
    border-bottom: 1px solid rgba(36, 31, 69, 0.08);
    text-align: left;
    vertical-align: top;
}
.comet-post-body tbody tr:last-child td {
    border-bottom: 0;
}
.comet-embed-card {
    border: 1px solid rgba(36, 31, 69, 0.08);
    border-radius: 1.15rem;
    background: var(--comet-surface-raised);
    overflow: hidden;
    box-shadow: 0 12px 28px rgba(16, 40, 63, 0.06);
    margin: 1.05rem 0;
}
.comet-embed-frame {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    background: #090817;
}
.comet-embed-frame iframe {
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
}
.comet-embed-card--image .comet-embed-frame {
    aspect-ratio: auto;
    background: var(--comet-surface-soft);
}
.comet-embed-image {
    display: block;
    width: 100%;
    max-height: min(70vh, 44rem);
    object-fit: contain;
}
.comet-embed-caption {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.85rem 1rem;
    color: var(--comet-text-subtle);
    font-size: 0.88rem;
}
.comet-embed-caption a {
    color: var(--comet-primary);
    font-weight: 600;
    text-decoration: none;
}
.comet-embed-caption a:hover {
    color: var(--comet-primary-deep);
}
.comet-feed-article .content-title h1,
.comet-feed-article .content-title .h5 {
    line-height: 1.18;
}
.comet-feed-article .interaction {
    border-top: 0;
    padding-top: 0.62rem;
}
.comet-feed-article .content-append,
.comet-feed-article .comment-preview,
.comet-feed-article .post-top-comment,
.comet-feed-article .interaction {
    margin-left: 0.4rem !important;
    margin-right: 0.4rem !important;
}
.comet-feed-author-meta {
    display: flex;
    flex-direction: column;
    gap: 0.12rem;
}
.comet-feed-author-meta .text-secondary {
    line-height: 1.52;
}
.comment-preview,
.post-top-comment {
    border: 1px solid rgba(19, 48, 74, 0.08);
    border-radius: 1rem;
    background: var(--comet-surface-raised);
    box-shadow: 0 10px 22px rgba(16, 40, 63, 0.04);
    padding: 1rem 1.08rem;
}
.comet-comment-preview-row {
    line-height: 1.58;
    color: var(--comet-text-body);
}
.comet-comment-preview-row:last-of-type {
    margin-bottom: 0.35rem !important;
}
.comet-comment-preview-link {
    color: var(--comet-primary);
    font-weight: 600;
}
.comet-comment-preview-link:hover {
    color: var(--comet-primary-deep);
}
.comet-comment-stream {
    margin-top: 0.72rem;
    padding-top: 0.78rem;
    border-top: 1px solid var(--comet-border);
}
.comet-comment-stream__items,
.comet-comment-replies__items {
    display: flex;
    flex-direction: column;
    gap: 0.68rem;
}
.comet-feed-comment {
    display: grid;
    grid-template-columns: 2.25rem minmax(0, 1fr);
    align-items: start;
    gap: 0.62rem;
    min-width: 0;
}
.comet-feed-comment__avatar-wrap {
    width: 2.25rem;
    height: 2.25rem;
}
.comet-feed-comment__avatar {
    display: block;
    width: 2.25rem;
    height: 2.25rem;
    object-fit: cover;
    background: var(--comet-primary-soft);
}
.comet-feed-comment__body {
    min-width: 0;
}
.comet-feed-comment__bubble {
    width: fit-content;
    max-width: min(100%, 46rem);
    padding: 0.62rem 0.78rem 0.66rem;
    border: 1px solid var(--comet-border);
    border-radius: 0.35rem 1rem 1rem 1rem;
    background: var(--comet-surface-soft);
}
.comet-feed-comment__head {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.32rem 0.48rem;
    margin-bottom: 0.22rem;
    line-height: 1.25;
}
.comet-feed-comment__author {
    color: var(--comet-text-strong);
    font-size: 0.84rem;
    font-weight: 750;
    text-decoration: none;
}
.comet-feed-comment__author:hover {
    color: var(--comet-primary);
}
.comet-feed-comment__author-badge {
    padding: 0.12rem 0.38rem;
    border-radius: 999px;
    background: var(--comet-primary-soft);
    color: var(--comet-primary-deep);
    font-size: 0.65rem;
    font-weight: 750;
}
.comet-feed-comment__head time {
    color: var(--comet-text-subtle);
    font-size: 0.72rem;
}
.comet-feed-comment__content {
    color: var(--comet-text-body);
    font-size: 0.9rem;
    line-height: 1.48;
}
.comet-feed-comment__content > :last-child {
    margin-bottom: 0;
}
.comet-feed-comment__attachments {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-top: 0.42rem;
    color: var(--comet-text-subtle);
    font-size: 0.75rem;
}
.comet-feed-comment__actions {
    display: flex;
    align-items: center;
    gap: 0.12rem;
    margin: 0.22rem 0 0 0.35rem;
}
.comet-feed-comment__action-form {
    margin: 0;
}
.comet-feed-comment__action {
    min-height: 1.9rem;
    padding: 0.2rem 0.42rem;
    border: 0;
    border-radius: 0.55rem;
    background: transparent;
    color: var(--comet-text-subtle);
    font-size: 0.73rem;
    font-weight: 700;
    line-height: 1;
}
.comet-feed-comment__action:hover,
.comet-feed-comment__action.btn-active {
    background: var(--comet-primary-soft);
    color: var(--comet-primary-deep);
}
.comet-feed-comment__action .show-count:empty {
    display: none;
}
.comet-comment-replies-toggle,
.comet-comment-stream__more {
    display: inline-flex;
    align-items: center;
    gap: 0.42rem;
    width: fit-content;
    min-height: 2rem;
    padding: 0.26rem 0.42rem;
    border: 0;
    border-radius: 0.58rem;
    background: transparent;
    color: var(--comet-primary);
    font-size: 0.78rem;
    font-weight: 750;
}
.comet-comment-replies-toggle:hover,
.comet-comment-stream__more:hover {
    background: var(--comet-primary-soft);
    color: var(--comet-primary-deep);
}
.comet-comment-replies-toggle {
    margin: 0.12rem 0 0 0.3rem;
}
.comet-comment-replies {
    margin-top: 0.48rem;
    padding-left: 0.12rem;
}
.comet-feed-comment--reply {
    grid-template-columns: 1.9rem minmax(0, 1fr);
}
.comet-feed-comment--reply .comet-feed-comment__avatar-wrap,
.comet-feed-comment--reply .comet-feed-comment__avatar {
    width: 1.9rem;
    height: 1.9rem;
}
.comet-comment-stream__footer {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.45rem;
    min-height: 0.2rem;
    margin-top: 0.28rem;
}
.comet-comment-stream__status {
    color: var(--comet-text-subtle);
    font-size: 0.75rem;
}
.comet-event-search-panel .form-label {
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: var(--comet-text-subtle);
}
.comet-event-search-panel .form-control,
.comet-event-search-panel .form-select {
    min-height: 3.15rem;
    border-color: rgba(19, 48, 74, 0.1);
    background: var(--comet-surface-raised);
    padding-inline: 1rem;
}
.comet-event-search-panel {
    padding: 1.45rem 1.45rem 1.35rem;
}
.comet-event-search-panel .row {
    --bs-gutter-x: 1rem;
}
.comet-event-search-panel .btn {
    min-height: 3rem;
}
.comet-event-filter-form {
    row-gap: 1.25rem !important;
}
.comet-event-search-panel .form-label {
    margin-bottom: 0.45rem !important;
}
.comet-event-search-panel .form-control::placeholder {
    color: #8b87a7;
}
.comet-event-search-panel .col-12 .btn {
    min-width: 0;
}

/* groups */
.min-w-0 {
    min-width: 0;
}
.comet-group-panel {
    border: 1px solid rgba(19, 48, 74, 0.08);
    border-radius: 1.2rem;
    background: var(--comet-surface);
    box-shadow: 0 12px 28px rgba(16, 40, 63, 0.05);
    overflow: hidden;
}
.comet-message-overview h1 {
    color: var(--comet-text-strong);
    font-weight: 700;
    line-height: 1.15;
}
.comet-message-overview {
    gap: 1rem;
    padding: 1.7rem !important;
}
.comet-message-overview .badge {
    font-size: 0.86rem;
    padding: 0.72rem 1rem;
}
.comet-message-summary-stack {
    display: flex;
    flex-direction: column;
    gap: 0.7rem;
    max-width: none;
    margin-left: 0;
    width: 100%;
}
.comet-message-list-card .border-bottom {
    padding-block: 1rem !important;
    border-bottom: 0 !important;
}
.comet-message-list-card .comet-message-panel-header {
    padding-inline: 1.08rem !important;
}
.comet-message-list-card .comet-conversation-list-shell {
    padding: 0.18rem 0 0.3rem;
}
.comet-feed-card {
    background: var(--comet-surface);
    border-radius: 1.2rem;
    border: 1px solid rgba(19, 48, 74, 0.05);
    box-shadow: 0 12px 28px rgba(16, 40, 63, 0.05);
    margin: 0.24rem 0 0.78rem;
}
.comet-quick-comment-shell {
    margin-top: 0.72rem !important;
    border-top: 1px solid var(--comet-border);
    padding-top: 0.78rem;
}
.comet-inline-comment-composer {
    width: 100%;
    margin: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    overflow: visible;
}
.comet-inline-comment-composer__form {
    padding: 0;
}
.comet-comment-replying {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.6rem;
    margin: 0 0 0.42rem 2.88rem;
    padding: 0.38rem 0.62rem;
    border-radius: 0.72rem;
    background: var(--comet-primary-soft);
    color: var(--comet-primary-deep);
    font-size: 0.76rem;
}
.comet-comment-replying button {
    display: inline-grid;
    place-items: center;
    width: 1.75rem;
    height: 1.75rem;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: inherit;
}
.comet-comment-replying button:hover {
    background: rgba(74, 63, 168, 0.1);
}
.comet-comment-composer__row {
    display: grid;
    grid-template-columns: 2.25rem minmax(0, 1fr);
    align-items: end;
    gap: 0.55rem;
}
.comet-comment-composer__avatar {
    width: 2.25rem;
    height: 2.25rem;
    margin-bottom: 0.18rem;
    object-fit: cover;
    background: var(--comet-primary-soft);
}
.comet-comment-composer__field {
    min-width: 0;
    padding: 0.22rem 0.38rem 0.22rem 0.72rem;
    border: 1px solid var(--comet-border);
    border-radius: 1rem;
    background: var(--comet-surface-soft);
    transition: border-color 0.16s ease, box-shadow 0.16s ease, background-color 0.16s ease;
}
.comet-comment-composer__field:focus-within {
    border-color: color-mix(in srgb, var(--comet-primary) 45%, transparent);
    background: var(--comet-surface-raised);
    box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--comet-primary) 10%, transparent);
}
.comet-inline-comment-composer textarea.form-control {
    width: 100%;
    min-height: 2.62rem;
    max-height: 8.75rem;
    padding: 0.58rem 0.18rem 0.34rem;
    border: 0 !important;
    border-radius: 0;
    background: transparent !important;
    color: var(--comet-text-body) !important;
    font-size: 0.9rem;
    line-height: 1.42;
    resize: none;
    overflow-y: auto;
    box-shadow: none !important;
}
.comet-inline-comment-composer textarea.form-control::placeholder {
    color: var(--comet-text-subtle);
}
.comet-comment-composer__tools {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.2rem 0.5rem;
    min-height: 1.75rem;
}
.comet-comment-composer__tool {
    display: inline-grid;
    place-items: center;
    width: 1.8rem;
    height: 1.8rem;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: var(--comet-text-subtle);
}
.comet-comment-composer__tool:hover {
    background: var(--comet-primary-soft);
    color: var(--comet-primary-deep);
}
.comet-comment-composer__option {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    color: var(--comet-text-subtle);
    font-size: 0.7rem;
    cursor: pointer;
}
.comet-comment-composer__option input {
    width: 0.85rem;
    height: 0.85rem;
    accent-color: var(--comet-primary);
}
.comet-comment-composer__submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.42rem;
    min-width: 4.6rem;
    min-height: 2.62rem;
    margin-bottom: 0.18rem;
    padding: 0.55rem 0.82rem;
    border: 0;
    border-radius: 0.88rem;
    background: var(--comet-action);
    color: #fff;
    font-size: 0.82rem;
    font-weight: 750;
    margin-left: auto;
    transition: transform 0.15s ease, opacity 0.15s ease, background-color 0.15s ease;
}
.comet-comment-composer__submit:hover:not(:disabled) {
    background: var(--comet-action-deep);
    transform: translateY(-1px);
}
.comet-comment-composer__submit:disabled {
    opacity: 0.42;
    cursor: not-allowed;
}
.comet-comment-composer__status {
    min-height: 1rem;
    margin: 0.2rem 0 0 2.88rem;
    color: var(--comet-text-subtle);
    font-size: 0.72rem;
}
.comet-comment-emoji-menu {
    min-width: 12rem;
    border-color: var(--comet-border);
    border-radius: 0.85rem;
    background: var(--comet-surface-raised);
}
.comet-comment-emoji {
    width: 2.35rem;
    height: 2.35rem;
    padding: 0;
    border: 0;
    border-radius: 0.55rem;
    background: transparent;
    font-size: 1.15rem;
}
.comet-comment-emoji:hover {
    background: var(--comet-surface-hover);
}
.comet-chat-side-panel {
    background: linear-gradient(180deg, var(--comet-surface-raised), var(--comet-surface));
}
.comet-message-list-card,
.comet-live-conversation,
.comet-group-chat-shell,
.comet-chat-side-panel {
    box-shadow: 0 10px 26px rgba(36, 31, 69, 0.05);
}
.comet-group-hero {
    overflow: hidden;
    border: 1px solid var(--comet-border);
    border-radius: 1.4rem;
    background: var(--comet-surface);
    box-shadow: var(--comet-card-shadow, 0 14px 32px rgba(16, 40, 63, 0.06));
}
.comet-group-hero-banner {
    height: 164px;
    background: linear-gradient(135deg, rgba(74, 63, 168, 0.14), rgba(255, 202, 59, 0.18));
    background-size: cover;
    background-position: center;
}
.comet-group-hero-body {
    margin-top: 0;
    padding: 0 1.2rem 1.2rem;
    position: relative;
}
.comet-group-cover {
    width: 132px;
    height: 132px;
    margin-top: -3.5rem;
    object-fit: cover;
    border: 4px solid var(--comet-surface);
    box-shadow: 0 18px 34px rgba(16, 40, 63, 0.14);
    background: var(--comet-surface-soft);
}
.comet-group-list-cover {
    width: 108px;
    height: 108px;
    object-fit: cover;
    background: var(--comet-surface-soft);
    border: 1px solid var(--comet-border);
    box-shadow: 0 14px 28px rgba(16, 40, 63, 0.08);
}
.comet-group-list-item {
    margin: 0.92rem 0;
    padding: 1.52rem 1.58rem;
    border: 1px solid rgba(19, 48, 74, 0.08) !important;
    border-radius: var(--comet-card-radius-lg);
    background: linear-gradient(180deg, var(--comet-surface-raised), var(--comet-surface));
    box-shadow: 0 12px 28px rgba(16, 40, 63, 0.05);
    transition: transform 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;
}
.comet-group-list-item:hover {
    background: var(--comet-surface-raised);
    transform: translateY(-2px);
    box-shadow: 0 18px 34px rgba(16, 40, 63, 0.08);
}
.comet-group-meta-line {
    color: var(--comet-text-subtle);
    font-size: 0.84rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    align-items: center;
}
.comet-group-recommend-chip {
    background: var(--comet-gold-soft) !important;
    color: var(--comet-gold-text) !important;
    box-shadow: none !important;
}
.comet-group-list-actions {
    min-width: 11rem;
    width: 11rem;
    padding-top: 0.1rem;
    align-self: flex-start;
}
.comet-group-list-actions .btn,
.comet-group-list-actions .dropdown-toggle,
.comet-group-list-actions .fs-mark {
    min-height: 3rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
}
.comet-group-open-btn {
    border-color: rgba(74, 63, 168, 0.18);
    color: var(--comet-primary);
    background: linear-gradient(180deg, var(--comet-surface-raised), var(--comet-surface));
    box-shadow: 0 8px 18px rgba(36, 31, 69, 0.04);
    font-weight: 700;
}
.comet-follow-form {
    margin: 0;
    width: 100%;
}
.comet-member-follow-form {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 0;
}
.comet-follow-total {
    display: inline-flex;
    align-items: center;
    min-height: 2rem;
    padding: 0.25rem 0.65rem;
    border: 1px solid var(--comet-border);
    border-radius: 999px;
    color: var(--comet-text-subtle);
    background: var(--comet-surface-soft);
    font-size: 0.82rem;
    line-height: 1.2;
    white-space: nowrap;
}
.comet-follow-total--menu {
    margin: 0.15rem 1rem 0.45rem;
    min-height: 1.6rem;
    padding: 0.15rem 0.5rem;
}
.comet-block-form {
    position: relative;
    display: inline-flex;
    align-items: center;
    margin: 0;
}
.comet-block-control {
    min-height: 2.5rem;
    min-width: 4.25rem;
    border-color: transparent;
    color: var(--comet-text-subtle);
    background: transparent;
}
.comet-block-control:hover,
.comet-block-control:focus-visible {
    border-color: var(--comet-border);
    color: var(--comet-text-body);
    background: var(--comet-surface-soft);
}
.comet-block-confirm {
    position: absolute;
    top: calc(100% + 0.35rem);
    right: 0;
    z-index: 1050;
    width: min(15rem, calc(100vw - 2rem));
    text-align: left;
}
.comet-block-confirm .card {
    border-color: var(--comet-border);
    color: var(--comet-text-body);
    background: var(--comet-surface-raised);
    box-shadow: 0 12px 28px rgba(19, 17, 43, 0.14);
}
.comet-follow-mark {
    min-width: 0;
    justify-content: center;
}
.comet-group-list-actions .fs-mark {
    margin-right: 0 !important;
}
.comet-group-list-actions .btn-outline-success,
.comet-group-list-actions .btn-success,
.comet-group-list-actions .btn-outline-secondary {
    padding-inline: 1.05rem;
}
.comet-group-list-item .text-secondary {
    line-height: 1.55;
}
.comet-group-list-description {
    max-width: 46rem;
    font-size: 0.96rem;
    line-height: 1.62;
}
.comet-group-list-item .text-dark.list-name {
    font-size: 1.22rem;
    letter-spacing: -0.02em;
}
.comet-group-subgroup-stack {
    margin-left: 0.12rem;
    padding-left: 1.08rem;
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    border-left: 1px solid rgba(74, 63, 168, 0.09);
}
.comet-group-subgroup-stack .comet-group-list-item {
    margin: 0;
    padding: 1.16rem 1.22rem;
    box-shadow: 0 8px 22px rgba(16, 40, 63, 0.04);
}
.profile-header .btn-success {
    box-shadow: 0 10px 22px rgba(74, 63, 168, 0.16);
}
.comet-page-banner.comet-group-panel {
    border-radius: 1.45rem;
}
.comet-group-tabs .nav-link {
    color: var(--comet-text-body);
    border: 1px solid rgba(19, 48, 74, 0.08);
    background: var(--comet-surface-soft);
    padding: 0.78rem 1.15rem;
}
.comet-group-tabs .nav-link.active {
    background: var(--comet-primary);
    border-color: var(--comet-primary);
    color: #fff;
}
.comet-group-extension {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 132px;
    border: 1px solid rgba(19, 48, 74, 0.08);
    border-radius: 1rem;
    background: linear-gradient(180deg, var(--comet-surface-raised), var(--comet-surface));
    padding: 1rem;
    transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.comet-group-extension:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 26px rgba(16, 40, 63, 0.08);
}
.comet-group-stats-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
}
.comet-group-stat-card {
    border-radius: 1rem;
    background: var(--comet-surface-soft);
    border: 1px solid rgba(19, 48, 74, 0.07);
    padding: 1.15rem;
}
.comet-group-stat-value {
    font-size: 1.35rem;
    font-weight: 700;
    color: var(--comet-text-strong);
}
.comet-group-stat-label {
    color: var(--comet-text-subtle);
    font-size: 0.84rem;
}
.comet-group-member + .comet-group-member {
    padding-top: 0.25rem;
}
.comet-group-parent-cover {
    width: 72px;
    height: 72px;
    object-fit: cover;
    background: var(--comet-surface-soft);
}

/* events */
.comet-event-card {
    overflow: hidden;
    border: 1px solid rgba(19, 48, 74, 0.08);
    border-radius: var(--comet-card-radius-lg);
    background: var(--comet-surface);
    box-shadow: 0 14px 30px rgba(16, 40, 63, 0.06);
    transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.comet-event-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 18px 34px rgba(16, 40, 63, 0.09);
}
.comet-event-card-cover {
    position: relative;
    overflow: hidden;
    padding: 1.42rem 1.48rem 1.18rem;
    border-bottom: 1px solid rgba(19, 48, 74, 0.08);
    background: color-mix(in srgb, var(--comet-event-accent, var(--comet-primary)) 14%, var(--comet-surface-raised));
}
.comet-event-card-cover > * {
    position: relative;
    z-index: 1;
}
.comet-event-card-cover::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0));
    pointer-events: none;
}
.comet-event-card-body {
    padding: 1.45rem 1.48rem 1.52rem;
}
.comet-event-card .comet-profile-chip {
    padding: 0.42rem 0.78rem;
}
.comet-event-card h2 {
    line-height: 1.15;
}
.comet-event-card h2 a {
    color: var(--comet-ink) !important;
}
.comet-event-card h2 a:hover {
    color: var(--comet-primary) !important;
}
.comet-event-card .text-secondary {
    line-height: 1.58;
    max-width: 42rem;
}
.comet-event-card-actions {
    min-width: 12.2rem;
    width: 12.2rem;
}
.comet-event-card-actions .btn,
.comet-event-card-actions form,
.comet-event-card-actions form button {
    width: 100%;
}
.comet-event-card-actions .btn,
.comet-event-card-actions form button {
    min-height: 2.92rem;
}
.comet-status-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2rem;
    padding: 0.38rem 0.8rem;
    border-radius: 999px;
    font-size: 0.76rem;
    font-weight: 700;
    line-height: 1.05;
    letter-spacing: 0.01em;
    white-space: nowrap;
    box-shadow: 0 8px 18px rgba(36, 31, 69, 0.08);
}
.comet-status-pill-live {
    background: #ef5b6f;
    color: #fff;
}
.comet-status-pill-upcoming {
    background: var(--comet-primary);
    color: #fff;
}
html[data-comet-theme="dark"] .comet-status-pill-upcoming {
    background: var(--comet-action-deep);
}
.comet-status-pill-ended {
    background: var(--comet-primary-soft);
    color: var(--comet-primary-deep);
}
.comet-status-pill-cancelled {
    background: #4d476e;
    color: #fff;
}
.comet-status-pill-neutral {
    background: var(--comet-neutral-soft);
    color: var(--comet-neutral-text);
}
.comet-event-hero {
    overflow: hidden;
    border: 1px solid rgba(19, 48, 74, 0.08);
    border-radius: var(--comet-card-radius-lg);
    background: var(--comet-surface);
    box-shadow: 0 14px 32px rgba(16, 40, 63, 0.06);
}
.comet-event-hero-banner {
    min-height: 150px;
    padding: 1.25rem;
    background: color-mix(in srgb, var(--comet-event-accent, var(--comet-primary)) 16%, var(--comet-surface-raised));
    display: flex;
    align-items: flex-start;
}
.comet-event-hero-body {
    margin-top: -1.4rem;
    padding: 0 1.2rem 1.2rem;
    position: relative;
}
.comet-sidebar-event {
    padding: 1.04rem 1.06rem !important;
    border-top: 0 !important;
    border-bottom: 0 !important;
    border-radius: 1rem !important;
    background: var(--comet-surface-raised);
    box-shadow: inset 0 0 0 1px rgba(19, 48, 74, 0.05);
    transition: background-color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}
.comet-sidebar-event:hover {
    transform: translateY(-1px);
    background: var(--comet-surface-hover);
    box-shadow:
        inset 0 0 0 1px rgba(74, 63, 168, 0.08),
        0 10px 20px rgba(16, 40, 63, 0.05);
}
.comet-sidebar-event-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.42rem;
    color: var(--comet-text-subtle);
    font-size: 0.84rem;
}
.comet-sidebar-event .comet-status-pill {
    min-height: 1.84rem;
    padding-inline: 0.7rem;
    font-size: 0.72rem;
    box-shadow: none;
}
.comet-discover-hero {
    border: 1px solid rgba(19, 48, 74, 0.08);
    border-radius: 1.4rem;
    background: var(--comet-surface);
    box-shadow: 0 14px 32px rgba(16, 40, 63, 0.06);
    padding: 1.96rem 2rem 1.9rem;
}
.comet-discover-thread-shell {
    box-shadow: 0 12px 28px rgba(16, 40, 63, 0.05);
    border-radius: 1.35rem !important;
    margin-top: 1.24rem;
    background: var(--comet-surface);
}
.comet-discover-thread-head {
    padding-bottom: 0.7rem !important;
}
.comet-discover-thread-actions .btn {
    min-height: 2.92rem;
}
.comet-discover-stack-note {
    max-width: 36rem;
    line-height: 1.55;
}
.comet-discover-thread-shell .post-content,
.comet-discover-thread-shell .comment-content {
    line-height: 1.68;
}
.comet-opportunity-card {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(19, 48, 74, 0.08);
    border-radius: var(--comet-card-radius-lg);
    background: var(--comet-surface);
    box-shadow: 0 12px 28px rgba(16, 40, 63, 0.05);
    padding: 1.78rem 1.86rem;
}
.comet-event-rhythm-card {
    overflow: hidden;
    padding: 1.6rem 1.78rem !important;
}
.comet-event-rhythm-stats .comet-profile-chip {
    box-shadow: 0 8px 18px rgba(36, 31, 69, 0.04);
}
.comet-event-rhythm-panel {
    border-radius: 1.3rem;
    padding: 0.08rem;
    background: var(--comet-surface-soft);
    box-shadow: inset 0 0 0 1px rgba(19, 48, 74, 0.04);
}
.comet-event-rhythm-panel .comet-settings-panel-title {
    font-size: 0.92rem;
    color: var(--comet-text-strong);
    padding: 1rem 1.18rem 0;
    margin-bottom: 0.42rem;
}
.comet-event-rhythm-panel > .text-secondary,
.comet-event-rhythm-panel > .d-flex {
    padding: 0 1.18rem 1.12rem;
}
.comet-opportunity-kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-bottom: 0.6rem;
    padding: 0.32rem 0.72rem;
    border-radius: 999px;
    background: rgba(102, 69, 195, 0.1);
    color: var(--comet-primary);
    font-size: 0.77rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
.comet-opportunity-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.68rem;
}
.comet-opportunity-sidecard {
    background: var(--comet-surface);
    padding: 1.36rem 1.42rem !important;
}
.comet-opportunity-event-card {
    display: block;
    padding: 1.08rem 1.12rem;
    border-top: 0;
    border-radius: 1rem;
    background: var(--comet-surface-raised);
    box-shadow: inset 0 0 0 1px rgba(19, 48, 74, 0.06);
}
.comet-feed-card .border-top,
.comet-group-panel .border-top,
.comet-sidebar-card .border-top {
    border-top: 0 !important;
}
.comet-opportunity-event-card:first-of-type {
    border-top: 0;
    padding-top: 0.88rem;
}
.comet-opportunity-event-card + .comet-opportunity-event-card {
    margin-top: 0.48rem;
}
.comet-thread-section-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.88rem;
    padding-bottom: 0;
    border-bottom: 0 !important;
}
.comet-thread-section-head h3 {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    margin: 0;
    color: var(--comet-ink);
}
.comet-thread-sticky-stack {
    border-radius: 1rem;
    background: var(--comet-surface-soft);
    padding: 0.2rem 0;
}
.comet-opportunity-empty {
    border: 1px dashed rgba(74, 63, 168, 0.18);
    border-radius: 1.25rem;
    background: var(--comet-surface);
    padding: 1.7rem;
}
.comet-opportunity-card h2.fs-4 {
    max-width: 16ch;
    line-height: 1.06;
    letter-spacing: -0.03em;
}
.comet-opportunity-card .text-secondary {
    line-height: 1.64;
}
.comet-page-hero-aside {
    padding: 1.36rem 1.42rem;
}
.comet-page-hero-aside-copy,
.comet-page-hero-copy .text-secondary {
    max-width: 40rem;
}
.comet-page-hero-side .comet-profile-chip {
    white-space: nowrap;
}
.comet-chat-dock {
    --comet-chat-rail-width: 100%;
    --comet-chat-panel-offset: calc(var(--comet-chat-rail-width) + 0.72rem);
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    width: var(--comet-dock-width, clamp(11.4rem, 12.2vw, 12.8rem));
    padding: 0.42rem 0.48rem 0.42rem 0.22rem;
    z-index: 1035;
    pointer-events: none;
    display: flex;
    align-items: stretch;
    justify-content: flex-end;
}
.comet-chat-dock > * {
    pointer-events: auto;
}
.comet-chat-dock-rail {
    width: var(--comet-chat-rail-width);
    height: 100%;
    border: 1px solid rgba(19, 48, 74, 0.08);
    border-radius: 1rem 0 0 1rem;
    background: var(--comet-surface-raised);
    backdrop-filter: blur(16px);
    box-shadow: 0 14px 34px rgba(16, 40, 63, 0.11);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}
.comet-chat-dock-head {
    padding: 0.82rem 0.72rem 0.38rem;
    border-bottom: 0;
}
.comet-chat-dock-kicker {
    font-size: 0.62rem;
    font-weight: 700;
    color: var(--comet-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.comet-chat-dock-title {
    font-size: 0.96rem;
    font-weight: 800;
    color: var(--comet-primary-deep);
}
.comet-chat-dock-link {
    font-size: 0.72rem;
    color: var(--comet-primary);
    text-decoration: none;
}
.comet-chat-dock-tabs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.32rem;
    padding: 0.48rem 0.86rem 0.4rem;
}
.comet-chat-dock-tab {
    border: 1px solid rgba(74, 63, 168, 0.12);
    background: var(--comet-surface-raised);
    color: var(--comet-primary-deep);
    border-radius: 999px;
    font-size: 0.82rem;
    font-weight: 700;
    padding: 0.42rem 0.32rem;
}
.comet-chat-dock-tab.active {
    background: linear-gradient(180deg, var(--comet-action), var(--comet-action-deep));
    color: #ffffff;
    border-color: transparent;
}
.comet-chat-dock-list {
    flex: 1 1 auto;
    overflow-y: auto;
    padding: 0 0.72rem 0.82rem;
    display: flex;
    flex-direction: column;
    gap: 0.54rem;
}
.comet-chat-dock-empty {
    padding: 0.72rem 0.18rem;
    color: var(--comet-muted);
    font-size: 0.74rem;
    line-height: 1.45;
}
.comet-chat-dock-item {
    border: 0;
    background: var(--comet-surface-raised);
    border-radius: 0.95rem;
    padding: 0.7rem 0.72rem;
    text-align: left;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.5rem;
    position: relative;
    box-shadow: inset 0 0 0 1px rgba(19, 48, 74, 0.07);
    transition: transform 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;
}
.comet-chat-dock-item:hover,
.comet-chat-dock-item:focus {
    background: var(--comet-surface-hover);
    transform: translateY(-1px);
    box-shadow: inset 0 0 0 1px rgba(74, 63, 168, 0.18);
}
.comet-chat-dock-item.active {
    background: var(--comet-primary-soft);
    box-shadow: inset 0 0 0 1px rgba(74, 63, 168, 0.24);
}
.comet-chat-dock-avatar {
    width: 2.45rem;
    height: 2.45rem;
    border-radius: 999px;
    background: var(--comet-surface-soft);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--comet-primary);
    overflow: hidden;
    flex-shrink: 0;
}
.comet-chat-dock-item-copy {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 0.14rem;
    min-width: 0;
    text-align: left;
}
.comet-chat-dock-item-title {
    font-size: 0.88rem;
    font-weight: 700;
    color: var(--comet-primary-deep);
    line-height: 1.2;
}
.comet-chat-dock-item-meta {
    font-size: 0.74rem;
    color: var(--comet-muted);
    line-height: 1.36;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}
.comet-chat-dock-badge {
    position: absolute;
    top: 0.26rem;
    right: 0.24rem;
    min-width: 1.32rem;
    min-height: 1.32rem;
    padding: 0.12rem 0.34rem;
    border-radius: 999px;
    background: #ef5b6f;
    color: #ffffff;
    font-size: 0.76rem;
    font-weight: 800;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.comet-chat-dock-panel {
    position: absolute;
    right: var(--comet-chat-panel-offset);
    bottom: 1rem;
    width: min(19.4rem, calc(100vw - var(--comet-nav-width, 20vw) - var(--comet-dock-width, 12rem) - 1rem));
    height: min(21.2rem, calc(100vh - 1.2rem));
    border: 1px solid rgba(19, 48, 74, 0.08);
    border-radius: 1rem;
    background: color-mix(in srgb, var(--comet-surface-raised) 98%, transparent);
    backdrop-filter: blur(16px);
    box-shadow: 0 18px 36px rgba(16, 40, 63, 0.15);
    padding: 0.72rem;
    display: flex;
    flex-direction: column;
    min-height: 0;
}
.comet-chat-dock-tray {
    position: absolute;
    right: var(--comet-chat-panel-offset);
    bottom: 1rem;
    display: flex;
    flex-direction: row-reverse;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.42rem;
    max-width: min(20rem, calc(100vw - var(--comet-nav-width, 20vw) - var(--comet-dock-width, 12rem) - 1rem));
}
.comet-chat-dock-tray-item {
    border: 1px solid rgba(19, 48, 74, 0.08);
    background: color-mix(in srgb, var(--comet-surface-raised) 96%, transparent);
    color: var(--comet-primary-deep);
    border-radius: 999px;
    min-height: 2.28rem;
    max-width: 10rem;
    padding: 0.4rem 0.66rem;
    display: flex;
    align-items: center;
    gap: 0.55rem;
    box-shadow: 0 8px 18px rgba(16, 40, 63, 0.09);
    font-size: 0.74rem;
    font-weight: 600;
}
.comet-chat-dock-tray-badge {
    min-width: 1.35rem;
    min-height: 1.35rem;
    padding: 0.1rem 0.35rem;
    border-radius: 999px;
    background: #ef5b6f;
    color: #ffffff;
    font-size: 0.72rem;
    font-weight: 800;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.comet-chat-dock-tray-close {
    margin-left: auto;
    color: var(--comet-muted);
    font-size: 0.72rem;
}
.comet-chat-dock-panel-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.45rem;
    margin-bottom: 0.34rem;
}
.comet-chat-dock-panel-kicker {
    font-size: 0.66rem;
    font-weight: 700;
    color: var(--comet-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.comet-chat-dock-panel-title {
    font-size: 0.84rem;
    font-weight: 800;
    color: var(--comet-primary-deep);
    line-height: 1.15;
}
.comet-chat-dock-panel-copy {
    font-size: 0.68rem;
    color: var(--comet-muted);
    line-height: 1.3;
}
.comet-chat-dock-icon {
    width: 1.62rem;
    height: 1.62rem;
    border: 1px solid rgba(19, 48, 74, 0.08);
    border-radius: 999px;
    background: var(--comet-surface-raised);
    color: var(--comet-primary-deep);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.comet-chat-dock-stream {
    flex: 1 1 auto;
    min-height: 0;
    max-height: none;
    overflow-y: auto;
    padding-right: 0.08rem;
}
.comet-chat-dock-stream .comet-message-item {
    margin-top: 0.36rem !important;
}
.comet-chat-dock-stream .comet-message-bubble {
    font-size: 0.76rem;
    line-height: 1.32;
    padding: 0.52rem 0.7rem;
    border-radius: 0.78rem;
    max-width: 13.2rem;
}
.comet-chat-dock-stream .text-muted {
    font-size: 0.58rem;
}
.comet-chat-dock-panel .conversation-avatar {
    width: 1.32rem;
    height: 1.32rem;
}
.comet-chat-dock-form .conversation-send-textarea {
    min-height: 2.1rem;
    font-size: 0.76rem;
    padding: 0.46rem 0.58rem;
    line-height: 1.28;
}
.comet-chat-dock-form .input-group {
    align-items: stretch;
}
.comet-chat-dock-form .conversation-send-submit {
    min-width: 4.3rem;
    font-size: 0.76rem;
    padding-inline: 0.88rem;
}
.comet-chat-dock-form .text-muted {
    font-size: 0.56rem;
}
.comet-event-rhythm-card .row {
    align-items: stretch;
}
.comet-event-rhythm-card [class*="col-"] {
    display: flex;
}
.comet-event-rhythm-panel {
    width: 100%;
    min-height: 100%;
}
.comet-opportunity-card .d-flex.flex-column.flex-lg-row {
    gap: 1.2rem !important;
}
.comet-opportunity-card .text-lg-end {
    flex: 0 0 auto;
    align-self: flex-start;
}
.comet-opportunity-card .btn {
    min-height: 2.9rem;
    padding-inline: 1.22rem;
}
.comet-opportunity-sidecard .comet-sidebar-card-copy {
    margin-bottom: 1rem !important;
}
.comet-opportunity-event-card .fw-semibold {
    line-height: 1.24;
}
.comet-opportunity-event-card .small {
    line-height: 1.48;
}

@media (min-width: 1500px) {
    body.comet-has-chat-dock {
        --comet-nav-width: clamp(248px, 18.4vw, 278px);
        --comet-dock-width: clamp(10.9rem, 11.2vw, 12.2rem);
        --comet-main-width: calc((100vw - var(--comet-nav-width) - var(--comet-dock-width)) * 0.716);
        --comet-sidebar-width: calc((100vw - var(--comet-nav-width) - var(--comet-dock-width)) * 0.284);
    }

    body.comet-has-chat-dock .fs-navbar {
        width: var(--comet-nav-width);
    }

    body.comet-has-chat-dock .ms-25 {
        margin-left: var(--comet-nav-width);
    }

    body.comet-has-chat-dock main.main-fullscreen,
    body.comet-has-chat-dock main.fs-main {
        width: var(--comet-main-width);
        padding-left: 1.68rem;
        padding-right: 2.92rem;
    }

    body.comet-has-chat-dock main.main-fullscreen {
        width: calc(100vw - var(--comet-nav-width) - var(--comet-dock-width));
    }

    body.comet-has-chat-dock .fs-main {
        width: var(--comet-main-width);
        margin-left: var(--comet-nav-width);
    }

    body.comet-has-chat-dock .fs-main.fs-main--wide {
        width: calc(100vw - var(--comet-nav-width) - var(--comet-dock-width));
        padding-left: 1.68rem;
        padding-right: 2.12rem;
    }

    body.comet-has-chat-dock .fs-sidebar {
        width: var(--comet-sidebar-width);
        margin-right: 0;
        padding: 0 0.9rem 0 2.72rem;
    }
}

@media (max-width: 1199.98px) {
    .comet-chat-dock {
        display: none !important;
    }
}

@media (min-width: 1200px) and (max-width: 1499.98px) {
    .comet-chat-dock {
        display: none !important;
    }
}

@media (max-width: 991.98px) {
    .comet-tabbar-spacer {
        display: block;
        height: calc(5.35rem + env(safe-area-inset-bottom));
    }
    .fs-tabbar .row {
        --bs-gutter-x: 0.12rem;
        margin-inline: 0.22rem !important;
    }
    .comet-tabbar-link {
        min-height: 4.55rem;
        padding: 0.48rem 0.1rem 0.54rem;
        border-radius: 0.95rem;
    }
    .comet-tabbar-icon {
        font-size: 1.02rem;
    }
    .comet-tabbar-label {
        display: block;
        width: 100%;
        font-size: 0.67rem !important;
        letter-spacing: -0.01em;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        word-break: normal;
        min-height: 0.72rem;
    }
    .fs-menus .nav-link {
        font-size: 1rem;
        padding: 0.72rem 0.9rem;
    }
    .fs-create {
        min-height: 3.15rem;
        padding: 0.9rem 1.2rem;
    }
    .main-fullscreen,
    .fs-main {
        padding-bottom: calc(5.8rem + env(safe-area-inset-bottom));
    }
    .comet-page-header {
        padding-inline: 0;
        margin-bottom: 0.8rem;
    }
    .comet-page-banner {
        padding: 1rem 0.92rem;
        border-radius: 1rem;
    }
    .comet-page-hero-side {
        min-width: 0;
        width: 100%;
        align-items: stretch !important;
    }
    .comet-search-input-row {
        grid-template-columns: minmax(0, 1fr);
    }
    .comet-page-hero-actions {
        width: 100%;
        justify-content: flex-start !important;
    }
    .comet-page-hero-actions .btn {
        width: 100%;
        justify-content: center;
    }
    .comet-feed-hero {
        padding: 1rem 0.92rem 0.94rem;
    }
    .comet-feed-hero h1,
    .comet-feed-hero .fs-3 {
        font-size: clamp(1.7rem, 8vw, 2rem);
    }
    .comet-feed-hero .text-secondary,
    .comet-page-banner .text-secondary {
        font-size: 0.92rem;
        line-height: 1.52;
    }
    .comet-group-list-item {
        padding: 1rem 0.92rem;
        margin: 0.72rem 0;
    }
    .comet-group-list-cover {
        width: 82px;
        height: 82px;
    }
    .comet-filter-strip {
        padding-inline: 0.82rem !important;
    }
    .comet-search-shell,
    .comet-group-panel,
    .comet-event-card,
    .comet-opportunity-card,
    .comet-group-hero,
    .comet-event-hero,
    .fs-list-group,
    .comet-discover-hero,
    .comet-feed-card {
        border-radius: 1rem !important;
        box-shadow: 0 8px 22px rgba(16, 40, 63, 0.05);
    }

    .comet-conversation-stream {
        max-height: 44vh;
    }
    .comet-message-overview,
    .comet-notification-overview {
        padding: 0.96rem !important;
    }
    .comet-message-overview h1,
    .comet-notification-overview h1,
    .comet-message-overview .fs-3 {
        font-size: clamp(1.5rem, 7.5vw, 1.9rem);
    }
    .comet-message-summary-stack .justify-content-lg-end,
    .comet-page-banner .justify-content-lg-end {
        justify-content: flex-start !important;
    }
    .comet-message-thread-header,
    .comet-group-chat-shell .card-body,
    .comet-group-chat-shell .card-footer,
    .comet-group-chat-shell .card-header,
    .comet-live-conversation .card-body,
    .comet-live-conversation .card-footer,
    .comet-live-conversation .card-header {
        padding: 0.96rem 0.92rem;
    }
    .comet-group-chat-form .input-group,
    .comet-direct-chat-form .input-group {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr);
        width: 100%;
        gap: 0.65rem;
    }
    .comet-group-chat-form .conversation-send-textarea,
    .comet-direct-chat-form .conversation-send-textarea {
        display: block;
        width: 100% !important;
        min-width: 100% !important;
        min-height: 5rem;
        padding: 0.82rem 0.9rem;
        font-size: 1rem;
        line-height: 1.45;
    }
    .comet-group-chat-form .conversation-send-submit,
    .comet-direct-chat-form .conversation-send-submit {
        width: 100%;
        min-width: 100%;
        min-height: 3.2rem;
    }
    .comet-private-card {
        padding: 1.3rem 1.15rem;
        border-radius: 1.22rem;
    }
    .comet-private-layout {
        grid-template-columns: 1fr;
        gap: 1.05rem;
    }
    .comet-private-shell {
        min-height: auto;
    }
    .comet-private-signal-row {
        margin-top: 1.05rem;
    }
    .comet-private-feature-grid {
        grid-template-columns: 1fr;
        gap: 0.72rem;
        margin-top: 1.15rem;
    }
    .comet-private-feature {
        padding: 0.92rem 0.92rem 0.96rem;
    }
    .comet-main-private {
        padding-inline: 0.7rem;
        padding-top: 1rem;
    }
    .comet-group-list-actions {
        width: 100%;
        min-width: 0;
        justify-content: flex-start !important;
        gap: 0.55rem;
    }
    .comet-group-list-actions .btn,
    .comet-group-list-actions .fs-mark {
        min-width: 0;
    }
    .comet-group-chat-row-meta {
        min-width: 0;
        width: 100%;
        justify-content: space-between;
        margin-top: 0.42rem;
        padding-top: 0.12rem;
        gap: 0.55rem !important;
    }
    .comet-conversation-row-meta {
        min-width: 0;
        width: 100%;
        justify-content: space-between;
        margin-top: 0.38rem;
        gap: 0.55rem !important;
    }
    .comet-sidebar-utility {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 0.5rem;
        padding-top: 0.55rem;
    }
    .comet-sidebar-utility-btn {
        min-height: 3rem;
        border-radius: 0.95rem;
    }
    .comet-feed-article .content-article {
        font-size: 0.94rem;
        line-height: 1.55;
    }
    .comet-event-card-actions,
    .comet-discover-thread-actions {
        min-width: 0;
        width: 100%;
    }
    .comet-event-card-actions .btn,
    .comet-event-card-actions form,
    .comet-event-card-actions form button,
    .comet-discover-thread-actions .btn {
        width: 100%;
    }
    .comet-feed-tabs {
        margin-top: 0.38rem;
        margin-bottom: 0.6rem;
        padding: 0.1rem !important;
    }
    .comet-feed-card {
        margin: 0.34rem 0 0.62rem;
    }
    .comet-feed-hero-chips {
        width: 100%;
        justify-content: flex-start !important;
        gap: 0.45rem !important;
    }
    .comet-feed-hero-chips .comet-profile-chip {
        padding: 0.38rem 0.68rem;
        font-size: 0.76rem;
    }
    .comet-group-chat-row .conversation-list-avatar {
        width: 2.9rem;
        height: 2.9rem;
    }
    .comet-unread-pill,
    .comet-group-chat-row .comet-unread-pill {
        min-width: 0;
        padding-inline: 0.55rem;
        font-size: 0.72rem;
    }
    .comet-filter-select {
        min-width: 0;
        width: 100%;
    }
    .comet-moderation-card {
        padding: 1rem;
        border-radius: 1rem;
    }
    .comet-operator-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .comet-search-shell {
        padding: 1rem 0.95rem 1.02rem;
    }
    .comet-search-submit {
        width: 100%;
    }
    .comet-sidebar-card-copy,
    .comet-sidebar-section-copy {
        font-size: 0.88rem;
        line-height: 1.48;
    }
    .comet-group-subgroup-stack {
        padding-left: 0.2rem;
        gap: 0.55rem;
        border-left: 0;
    }
    .comet-thread-section-head {
        align-items: flex-start;
        flex-direction: column;
        gap: 0.55rem;
    }
    .comet-event-search-panel {
        padding: 1rem 0.95rem 1.02rem;
    }
    .comet-event-search-panel .row {
        --bs-gutter-x: 0.72rem;
    }
    .comet-event-search-panel .form-control,
    .comet-event-search-panel .form-select {
        min-height: 2.95rem;
    }
    .comet-event-search-panel .col-12 {
        align-items: stretch !important;
    }
    .comet-event-search-panel .col-12 .btn {
        width: 100%;
    }
    .comet-event-search-panel .col-12 .ms-auto {
        margin-left: 0 !important;
        width: 100%;
        text-align: left;
        padding-top: 0.12rem;
    }
    .comet-message-list-card {
        border-radius: 1rem;
    }
    .comet-message-panel-header {
        padding-inline: 0.92rem !important;
    }
    .comet-conversation-row {
        padding-block: 0.88rem !important;
    }
    .comet-group-chat-channel-list .list-group-item {
        padding-block: 0.88rem !important;
    }
    .comet-group-chat-shell .card-header .fs-5,
    .comet-live-conversation .card-header .fs-5 {
        font-size: 1.06rem !important;
    }
}

@media (min-width: 992px) and (max-height: 920px) {
    .fs-navbar .container-fluid {
        padding-top: 0.45rem;
        padding-bottom: 0.75rem;
    }
    .fs-navbar .navbar-brand {
        padding: 0.45rem;
        margin-bottom: 0.2rem;
    }
    .fs-navbar .navbar-brand img.d-none.d-sm-block {
        width: 44px;
        height: 44px;
    }
    .fs-menus .nav-item.mt-1 {
        margin-top: 0.28rem !important;
    }
    .fs-menus .nav-link {
        font-size: 0.98rem;
        padding: 0.64rem 0.82rem;
    }
    .fs-create {
        min-height: 3rem;
        padding: 0.82rem 1rem;
        font-size: 0.97rem;
    }
    .fs-account {
        width: calc(100% - 1.15rem);
        left: 0.575rem;
        right: 0.575rem;
        padding-top: 0.45rem;
    }
    .comet-sidebar-utility {
        gap: 0.48rem;
        padding-top: 0.4rem;
    }
    .comet-sidebar-utility-btn {
        min-height: 2.78rem;
        border-radius: 0.9rem;
        font-size: 1rem;
    }
    .comet-sidebar-utility-badge {
        top: 0.24rem;
        right: 0.26rem;
    }
}

@media (min-width: 992px) and (max-height: 800px) {
    body {
        --comet-nav-width: clamp(198px, 17vw, 224px);
    }
    .fs-navbar .navbar-brand img.d-none.d-sm-block {
        width: 38px;
        height: 38px;
    }
    .fs-menus .nav-item.mt-1 {
        margin-top: 0.14rem !important;
    }
    .fs-menus .nav-link {
        font-size: 0.96rem;
        padding: 0.58rem 0.76rem;
    }
    .fs-create {
        min-height: 2.78rem;
        padding: 0.72rem 0.9rem;
        font-size: 0.95rem;
    }
    .comet-sidebar-utility {
        gap: 0.38rem;
    }
    .comet-sidebar-utility-btn {
        min-height: 2.5rem;
        font-size: 0.94rem;
    }
}

@media (max-width: 575.98px) {
    .comet-tabbar-link {
        min-height: 4.72rem;
    }
    .comet-tabbar-label {
        font-size: 0.63rem !important;
    }
    .fs-navbar .container-fluid {
        padding-inline: 0.8rem;
    }
    .fs-navbar .navbar-collapse {
        margin-top: 0.35rem;
        padding: 0.78rem;
        border: 1px solid var(--comet-border);
        border-radius: 1.2rem;
        background: var(--comet-surface-raised);
        box-shadow: 0 16px 32px rgba(36, 31, 69, 0.08);
    }
    .fs-navbar .navbar-collapse:not(.show) {
        margin-top: 0;
        padding: 0;
        border: 0;
        box-shadow: none;
        background: transparent;
    }
    .fs-menus .nav-link {
        font-size: 1rem;
        padding: 0.78rem 0.95rem;
    }
    .fs-create {
        min-height: 3.25rem;
        padding: 0.95rem 1.3rem;
        font-size: 1rem;
    }
    .comet-feed-tabs {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .comet-feed-tabs .comet-filter-pill {
        min-height: 2.7rem;
        font-size: 0.92rem;
    }
    .comet-search-context-shell {
        padding: 0.9rem 0.9rem 0.92rem;
        border-radius: 1rem;
    }
    .comet-search-context-nav {
        flex-wrap: nowrap;
        overflow-x: auto;
        padding-bottom: 0.08rem;
        scrollbar-width: none;
    }
    .comet-search-context-nav::-webkit-scrollbar {
        display: none;
    }
    .comet-search-context-link {
        flex: 0 0 auto;
        padding: 0.52rem 0.82rem;
        font-size: 0.84rem;
    }
    .comet-page-banner,
    .comet-feed-hero,
    .comet-discover-hero,
    .comet-group-hero,
    .comet-event-hero,
    .comet-message-overview,
    .comet-notification-overview {
        padding: 0.92rem 0.86rem !important;
    }
    .comet-event-search-panel .form-label,
    .comet-search-label,
    .comet-moderation-card .form-label {
        font-size: 0.74rem;
    }
    .comet-group-list-item .text-dark.list-name {
        font-size: 0.98rem;
    }
    .comet-profile-chip {
        font-size: 0.76rem;
        padding: 0.32rem 0.66rem;
    }
    .comet-private-title {
        font-size: clamp(1.8rem, 11vw, 2.35rem);
    }
    .comet-private-copy {
        font-size: 0.98rem;
        line-height: 1.62;
    }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
    .comet-chat-dock {
        display: none !important;
    }

    .comet-page-banner,
    .comet-feed-hero,
    .comet-discover-hero,
    .comet-group-hero,
    .comet-event-hero,
    .comet-message-overview,
    .comet-notification-overview {
        padding: 1.3rem 1.35rem !important;
    }

    .comet-feed-card {
        margin: 0.4rem 0.15rem 0.72rem;
    }

    .comet-group-list-item,
    .comet-event-card {
        padding: 1.18rem 1.2rem;
    }
    .comet-event-card-actions {
        min-width: 11rem;
        width: 11rem;
    }

    .comet-search-shell {
        padding: 0.92rem !important;
    }
}
/* COMET layout polish 2026-07 */
@media (min-width: 1500px) {
    body.comet-has-chat-dock {
        --comet-nav-width: clamp(248px, 16.6vw, 272px);
        --comet-dock-width: clamp(8.9rem, 9vw, 10.2rem);
        --comet-usable-width: calc(100vw - var(--comet-nav-width) - var(--comet-dock-width));
        --comet-sidebar-width: clamp(370px, calc(var(--comet-usable-width) * 0.32), 430px);
        --comet-main-width: calc(var(--comet-usable-width) - var(--comet-sidebar-width));
    }

    body.comet-has-chat-dock main.fs-main {
        width: var(--comet-main-width);
        padding-left: 1.62rem;
        padding-right: 1.44rem;
    }

    body.comet-has-chat-dock .fs-sidebar {
        width: var(--comet-sidebar-width);
        padding: 0 1.04rem 0 1.28rem;
    }

    body.comet-has-chat-dock main.main-fullscreen {
        width: calc(100vw - var(--comet-nav-width) - var(--comet-dock-width));
    }
}

@media (min-width: 992px) and (max-width: 1499.98px) {
    .fs-main {
        padding-right: 1.7rem;
    }

    .fs-sidebar {
        padding-left: 1.35rem;
    }
}

.comet-page-hero-card {
    min-height: 0;
}

.comet-page-hero-layout {
    align-items: stretch !important;
}

.comet-page-hero-side {
    min-width: min(21rem, 100%);
    max-width: 100%;
}

.comet-page-hero-aside {
    width: 100%;
    margin-left: 0;
    padding: 1.28rem 1.38rem;
}

@media (min-width: 992px) {
    .comet-page-hero-layout {
        grid-template-columns: minmax(0, 1.58fr) minmax(20rem, 0.92fr);
        gap: 1.75rem;
    }
}

.comet-sidebar-card {
    contain-intrinsic-size: 240px;
}

.comet-search-shell {
    padding: 1.45rem 1.58rem !important;
}

.comet-search-input-row {
    grid-template-columns: minmax(0, 1fr);
}

.comet-search-input-row .form-control {
    min-width: 0;
}

.comet-search-submit {
    width: 100%;
    min-height: 3.05rem;
}

.comet-deadline-card {
    padding: 1.42rem 1.42rem 1.12rem;
    overflow: visible;
}

.comet-deadline-card-header {
    padding: 0 !important;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.95rem;
    align-items: start;
}

.comet-deadline-card-header .comet-sidebar-card-title {
    max-width: none;
    margin: 0;
    text-wrap: balance;
}

.comet-sidebar-see-all {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: max-content;
    white-space: nowrap;
    line-height: 1;
    margin-top: 0.18rem;
}

.comet-deadline-card-copy {
    padding: 0 !important;
    margin-top: 0.56rem;
    margin-bottom: 1rem;
    line-height: 1.5;
    max-width: 27rem;
}

.comet-sidebar-event-list {
    display: grid;
    gap: 0.82rem;
}

.comet-sidebar-event {
    display: block;
    padding: 1rem 1.05rem;
    border-radius: 1.12rem;
    background: color-mix(in srgb, var(--comet-surface-raised) 82%, transparent);
    box-shadow: inset 0 0 0 1px rgba(74, 63, 168, 0.08);
    color: inherit;
    transition: transform 0.16s ease, box-shadow 0.16s ease, background-color 0.16s ease;
}

.comet-sidebar-event:hover,
.comet-sidebar-event:focus {
    background: var(--comet-surface-hover);
    transform: translateY(-1px);
    box-shadow: inset 0 0 0 1px rgba(74, 63, 168, 0.16), 0 10px 22px rgba(36, 31, 69, 0.07);
}

.comet-sidebar-event-main {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0.62rem;
    align-items: start;
}

.comet-sidebar-event-title {
    line-height: 1.16;
    letter-spacing: -0.02em;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: manual;
}

.comet-sidebar-event-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.28rem;
    margin-top: 0.34rem;
    color: var(--comet-muted);
    font-size: 0.82rem;
    line-height: 1.28;
}

.comet-sidebar-event-date {
    margin-top: 0.62rem;
    line-height: 1.38;
}

.comet-sidebar-event .comet-status-pill {
    justify-self: start;
    max-width: 100%;
    white-space: nowrap;
    text-align: center;
    line-height: 1.12;
    padding-inline: 0.68rem;
}

.comet-chat-dock {
    width: var(--comet-dock-width, clamp(8.6rem, 8.9vw, 9.9rem));
    padding-left: 0.18rem;
}

.comet-chat-dock-head {
    padding: 0.74rem 0.62rem 0.28rem;
}

.comet-chat-dock-tabs {
    padding-inline: 0.58rem;
}

.comet-chat-dock-tab {
    font-size: 0.74rem;
    padding: 0.36rem 0.2rem;
}

.comet-chat-dock-list {
    padding-inline: 0.5rem;
    gap: 0.46rem;
}

.comet-chat-dock-item {
    padding: 0.58rem 0.52rem;
    gap: 0.42rem;
}

.comet-chat-dock-avatar {
    width: 2.08rem;
    height: 2.08rem;
}

.comet-chat-dock-item-title {
    font-size: 0.8rem;
}

.comet-chat-dock-item-meta {
    font-size: 0.68rem;
    -webkit-line-clamp: 1;
}

.comet-chat-dock-panel {
    width: min(16.4rem, calc(100vw - var(--comet-nav-width, 18vw) - var(--comet-dock-width, 9rem) - 1rem));
    height: min(18.2rem, calc(100vh - 1.2rem));
    padding: 0.56rem;
    border-radius: 0.9rem;
}

.comet-chat-dock-panel-head {
    gap: 0.42rem;
}

.comet-chat-dock-panel-kicker {
    font-size: 0.62rem;
}

.comet-chat-dock-panel-title {
    font-size: 0.86rem;
}

.comet-chat-dock-panel-copy {
    font-size: 0.66rem;
}

.comet-chat-dock-stream {
    padding: 0.52rem;
    min-height: 0;
}

.comet-chat-dock-stream .comet-message-bubble {
    max-width: 82%;
    padding: 0.52rem 0.68rem;
    font-size: 0.76rem;
    line-height: 1.38;
}

.comet-chat-dock-form {
    margin-top: 0.54rem !important;
}

.comet-chat-dock-form .conversation-send-textarea {
    min-height: 2.7rem;
    max-height: 4.2rem;
    padding: 0.68rem 0.78rem;
    font-size: 0.78rem;
}

.comet-chat-dock-form .conversation-send-submit {
    min-height: 2.7rem;
    padding-inline: 0.9rem;
    font-size: 0.76rem;
}

.comet-chat-dock-form .text-muted {
    font-size: 0.64rem;
}

@media (max-width: 991.98px) {
    .comet-page-hero-aside,
    .comet-search-shell,
    .comet-deadline-card {
        padding: 1rem !important;
    }

    .comet-sidebar-event-main {
        grid-template-columns: 1fr;
    }

    .comet-sidebar-event .comet-status-pill {
        justify-self: start;
    }
}

/* COMET polish + performance pass 2026-07-19 */
@media (min-width: 1500px) {
    body.comet-has-chat-dock {
        --comet-nav-width: clamp(252px, 15.6vw, 286px);
        --comet-dock-width: clamp(7.45rem, 7.45vw, 8.75rem);
        --comet-usable-width: calc(100vw - var(--comet-nav-width) - var(--comet-dock-width));
        --comet-sidebar-width: clamp(374px, calc(var(--comet-usable-width) * 0.28), 440px);
        --comet-main-width: calc(var(--comet-usable-width) - var(--comet-sidebar-width));
    }

    body.comet-has-chat-dock main.fs-main {
        width: var(--comet-main-width);
        padding-left: clamp(1.25rem, 1.18vw, 1.75rem);
        padding-right: clamp(1.05rem, 0.95vw, 1.42rem);
    }

    body.comet-has-chat-dock .fs-sidebar {
        width: var(--comet-sidebar-width);
        padding-left: clamp(1rem, 0.92vw, 1.38rem);
        padding-right: clamp(0.95rem, 0.9vw, 1.28rem);
    }

    body.comet-has-chat-dock main.main-fullscreen {
        width: calc(100vw - var(--comet-nav-width) - var(--comet-dock-width));
    }
}

@media (min-width: 1200px) and (max-width: 1499.98px) {
    body {
        --comet-nav-width: clamp(226px, 17vw, 252px);
        --comet-sidebar-width: clamp(324px, 26.5vw, 384px);
    }

    .fs-main {
        padding-left: 1.15rem;
        padding-right: 1rem;
    }

    .fs-sidebar {
        padding-left: 1rem;
        padding-right: 1rem;
    }
}

.comet-page-hero-card,
.comet-feed-card,
.comet-group-panel,
.comet-event-card,
.comet-opportunity-card,
.comet-sidebar-card {
    contain: layout paint style;
}

@supports (content-visibility: auto) {
    .comet-feed-card,
    .comet-group-panel,
    .comet-event-card,
    .comet-opportunity-card,
    .comet-sidebar-card {
        content-visibility: auto;
    }
}

.comet-page-hero-card {
    padding: clamp(1.38rem, 2.1vw, 2.25rem) !important;
}

.comet-page-hero-layout {
    gap: clamp(1.15rem, 1.55vw, 1.85rem) !important;
}

.comet-page-hero-aside,
.comet-search-shell,
.comet-deadline-card,
.comet-opportunity-sidecard {
    padding: clamp(1.12rem, 1.25vw, 1.5rem) !important;
}

.comet-event-rhythm-card {
    padding: clamp(1.15rem, 1.35vw, 1.55rem) !important;
}

.comet-event-rhythm-panel {
    display: flex;
    flex-direction: column;
    gap: 0.64rem;
    padding: 1.12rem !important;
}

.comet-event-rhythm-panel .comet-settings-panel-title,
.comet-event-rhythm-panel > .text-secondary,
.comet-event-rhythm-panel > .d-flex {
    padding: 0 !important;
    margin: 0;
}

.comet-event-rhythm-panel > .d-flex {
    gap: 0.65rem !important;
}

.comet-opportunity-card {
    padding: clamp(1.22rem, 1.4vw, 1.62rem) !important;
}

.comet-opportunity-card h2.fs-4 {
    max-width: 28ch;
}

.comet-opportunity-card .text-secondary {
    max-width: 42rem;
}

.comet-opportunity-meta {
    gap: 0.46rem;
}

.comet-opportunity-event-card {
    padding: 1rem !important;
}

.comet-opportunity-event-card .d-flex {
    align-items: flex-start !important;
}

.comet-deadline-card-header {
    grid-template-columns: minmax(0, 1fr) max-content;
    gap: 0.9rem;
}

.comet-sidebar-see-all {
    white-space: nowrap;
}

.comet-deadline-card-copy {
    max-width: 100%;
}

.comet-sidebar-event-list {
    gap: 0.72rem;
}

.comet-sidebar-event {
    padding: 0.95rem 1rem;
}

.comet-sidebar-event-main {
    gap: 0.54rem;
}

.comet-sidebar-event-title {
    max-width: 100%;
    overflow-wrap: break-word;
}

.comet-sidebar-event .comet-status-pill {
    width: max-content;
    max-width: 100%;
}

.comet-chat-dock {
    width: var(--comet-dock-width, clamp(7.45rem, 7.45vw, 8.75rem));
    padding: 0.5rem 0.52rem 0.5rem 0.18rem;
}

.comet-chat-dock-rail {
    border-radius: 1.2rem 0 0 1.2rem;
}

.comet-chat-dock-item {
    min-height: 4.1rem;
}

.comet-chat-dock-panel {
    width: min(21rem, calc(100vw - var(--comet-nav-width, 16vw) - var(--comet-dock-width, 8rem) - 1.25rem));
    height: min(22.4rem, calc(100vh - 1.5rem));
    bottom: 1rem;
}

.comet-chat-dock-stream {
    content-visibility: auto;
    contain: content;
}

@media (max-width: 991.98px) {
    body {
        font-size: 15px;
        overflow-x: hidden;
    }

    .fs-main,
    .main-fullscreen {
        padding-left: 0.82rem !important;
        padding-right: 0.82rem !important;
    }

    .comet-page-hero-card,
    .comet-feed-card,
    .comet-group-panel,
    .comet-event-card,
    .comet-opportunity-card,
    .comet-sidebar-card {
        border-radius: 1.18rem;
    }

    .comet-page-hero-layout {
        grid-template-columns: 1fr !important;
    }

    .comet-page-hero-side {
        min-width: 0;
    }

    .comet-feed-card,
    .comet-opportunity-card {
        padding: 1rem !important;
    }

    .comet-feed-article .content-title h1,
    .comet-opportunity-card h2.fs-4 {
        font-size: clamp(1.25rem, 6vw, 1.7rem);
        line-height: 1.12;
    }

    .comet-search-input-row {
        grid-template-columns: 1fr;
    }

    .comet-search-submit {
        width: 100%;
    }

    .comet-event-rhythm-card .row {
        --bs-gutter-y: 0.85rem;
    }
}

@media (max-width: 575.98px) {
    .fs-main,
    .main-fullscreen {
        padding-left: 0.68rem !important;
        padding-right: 0.68rem !important;
    }

    .comet-page-hero-card,
    .comet-feed-card,
    .comet-opportunity-card,
    .comet-event-rhythm-card {
        padding: 0.9rem !important;
    }

    .comet-page-hero-aside,
    .comet-search-shell,
    .comet-deadline-card,
    .comet-opportunity-sidecard {
        padding: 0.92rem !important;
    }

    .comet-deadline-card-header {
        align-items: center;
    }

    .comet-opportunity-meta .comet-profile-chip,
    .comet-sidebar-event-meta,
    .comet-sidebar-event-date {
        font-size: 0.78rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }
}

/* COMET responsive comfort pass 2026-07-31 */
@media (max-width: 767.98px) {
    .comet-page-header.mx-3 {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .comet-page-header.mt-3 {
        margin-top: 0.78rem !important;
    }

    .comet-user-list-item,
    .comet-user-list-content,
    .comet-user-list-item .user-primary,
    .comet-user-list-item .user-info,
    .comet-user-list-item .user-link,
    .comet-user-list-item .user-secondary {
        min-width: 0;
        max-width: 100%;
    }

    .comet-user-list-item {
        width: 100%;
        overflow: hidden;
    }

    .comet-user-list-item .user-info {
        flex-wrap: wrap;
        gap: 0.24rem 0.5rem;
        overflow: visible !important;
        white-space: normal !important;
    }

    .comet-user-list-item .user-link {
        overflow: hidden;
    }

    .comet-user-list-item .user-nickname,
    .comet-user-list-item .user-name {
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .comet-user-list-item .user-secondary,
    .comet-user-list-item .user-secondary p,
    .comet-user-list-item .comet-profile-headline,
    .comet-user-list-item .comet-profile-meta {
        overflow-wrap: anywhere;
    }

    .comet-user-list-item .comet-profile-chip {
        max-width: 100%;
        white-space: normal;
        overflow-wrap: anywhere;
    }

    .comet-feed-card .flex-grow-1,
    .comet-feed-card .user-primary,
    .comet-feed-card .user-info,
    .comet-feed-card .user-link,
    .comet-feed-card .user-secondary,
    .comet-feed-card .comet-feed-author-meta,
    .comet-post-detail .flex-grow-1,
    .comet-post-detail .user-primary,
    .comet-post-detail .user-info,
    .comet-post-detail .user-link,
    .comet-post-detail .user-secondary,
    .comet-post-detail .comet-feed-author-meta {
        min-width: 0;
        max-width: 100%;
    }

    .comet-feed-card .user-info,
    .comet-post-detail .user-info {
        flex-wrap: wrap;
        gap: 0.24rem 0.5rem;
        overflow: visible !important;
        white-space: normal !important;
    }

    .comet-feed-card .user-link,
    .comet-post-detail .user-link {
        overflow: hidden;
    }

    .comet-feed-card .user-nickname,
    .comet-feed-card .user-name,
    .comet-post-detail .user-nickname,
    .comet-post-detail .user-name {
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .comet-feed-card .comet-feed-author-meta .text-secondary,
    .comet-post-detail .comet-feed-author-meta .text-secondary {
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .comet-feed-card .comet-feed-author-meta .comet-profile-chip,
    .comet-post-detail .comet-feed-author-meta .comet-profile-chip {
        align-self: flex-start;
        width: auto;
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .comet-group-list-shell {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .comet-group-list-item {
        padding: 1rem !important;
        margin: 0.78rem 0;
    }

    .comet-group-list-layout {
        display: grid !important;
        grid-template-columns: 4.75rem minmax(0, 1fr);
        gap: 0.9rem !important;
    }

    .comet-group-list-cover {
        width: 4.75rem;
        height: 4.75rem;
    }

    .comet-group-list-content,
    .comet-group-list-content > header {
        display: contents;
    }

    .comet-group-list-heading {
        grid-column: 2;
        gap: 0.72rem !important;
    }

    .comet-group-list-body {
        grid-column: 1 / -1;
        padding-top: 0.15rem;
        margin-left: calc(-4.75rem - 0.9rem);
        width: calc(100% + 4.75rem + 0.9rem);
    }

    .comet-group-list-item .text-dark.list-name {
        font-size: 1.08rem;
        line-height: 1.25;
        white-space: normal !important;
    }

    .comet-group-meta-line {
        margin-bottom: 0 !important;
    }

    .comet-group-list-actions {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: 100%;
        min-width: 0;
        gap: 0.55rem !important;
        padding-top: 0;
    }

    .comet-group-list-actions > *,
    .comet-group-list-actions form,
    .comet-group-list-actions .btn,
    .comet-group-list-actions .fs-mark {
        width: 100%;
        min-width: 0;
    }

    .comet-group-list-actions .btn,
    .comet-group-list-actions .fs-mark {
        min-height: 2.8rem;
        padding-inline: 0.72rem;
    }

    .comet-group-list-description {
        max-width: none;
        font-size: 0.94rem;
        line-height: 1.58;
    }

    .comet-messages-grid,
    .comet-group-chat-layout {
        --bs-gutter-x: 0;
        margin-left: 0 !important;
        margin-right: 0 !important;
        row-gap: 1rem;
    }

    .comet-messages-grid > [class*="col-"],
    .comet-group-chat-layout > [class*="col-"] {
        padding-left: 0;
        padding-right: 0;
    }

    .comet-message-overview .comet-page-hero-layout {
        gap: 0.92rem !important;
    }

    .comet-message-summary-stack {
        gap: 0.58rem;
        padding: 0.9rem !important;
    }

    .comet-message-summary-stack .comet-page-hero-aside-copy,
    .comet-message-summary-stack .text-secondary {
        line-height: 1.5;
    }

    .comet-message-summary-stack > .d-flex {
        justify-content: flex-start !important;
    }

    .comet-message-summary-stack > .text-secondary.fs-7 {
        display: none;
    }

    .comet-message-list-card {
        border-radius: 1.12rem !important;
    }

    .comet-message-panel-header {
        padding: 0.92rem !important;
    }

    .comet-conversation-row {
        padding: 0.92rem !important;
    }

    .comet-conversation-row .conversation-list-avatar {
        width: 3.25rem;
        height: 3.25rem;
    }

    .comet-conversation-row .conversation-brief {
        font-size: 0.86rem;
        line-height: 1.48;
    }

    .comet-group-chat-shell .card-header > .d-flex {
        flex-wrap: wrap;
        gap: 0.65rem !important;
    }

    .comet-group-chat-shell .comet-live-indicator {
        margin-left: auto;
    }

    .comet-group-chat-shell .card-header,
    .comet-group-chat-shell .card-body,
    .comet-group-chat-shell .card-footer {
        padding: 0.9rem !important;
    }

    .comet-group-chat-shell .comet-inline-tip {
        padding: 0.82rem 0.88rem;
        margin-bottom: 0.82rem !important;
    }

    .comet-live-conversation .comet-inline-tip {
        display: none;
    }

    .comet-group-chat-shell .comet-conversation-stream,
    .comet-live-conversation:not(.comet-group-chat-shell) .comet-conversation-stream {
        min-height: 12rem;
        max-height: 24vh;
        padding: 0.4rem 0.28rem 0.1rem 0.08rem;
    }

    .comet-group-chat-form .input-group,
    .comet-direct-chat-form .input-group {
        display: flex;
        flex-direction: row !important;
        flex-wrap: nowrap;
        align-items: stretch;
        gap: 0.5rem;
    }

    .comet-group-chat-form .conversation-send-textarea,
    .comet-direct-chat-form .conversation-send-textarea {
        min-width: 0;
        min-height: 3.2rem;
        max-height: 8rem;
        padding: 0.72rem 0.78rem;
    }

    .comet-group-chat-form .conversation-send-submit,
    .comet-direct-chat-form .conversation-send-submit {
        width: auto;
        min-width: 5.35rem;
        min-height: 3.2rem;
        padding-inline: 0.85rem;
    }

    .comet-group-chat-form > .d-flex,
    .comet-direct-chat-form > .d-flex {
        display: none !important;
    }

    .comet-chat-side-panel {
        padding: 1rem !important;
    }

    .comet-group-chat-channel-list .list-group-item {
        min-height: 3.35rem;
    }

    .comet-group-tree-panel {
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }
}

@media (max-width: 419.98px) {
    .comet-group-hero-banner {
        height: 8.25rem;
    }

    .comet-group-hero-body {
        margin-top: 0;
        padding: 0 1rem 1.15rem;
    }

    .comet-group-identity {
        width: 100%;
    }

    .comet-group-cover {
        width: 6.6rem;
        height: 6.6rem;
        margin-top: -2.8rem;
    }

    .comet-group-identity > .min-w-0,
    .comet-group-hero-body > .d-flex,
    .comet-group-hero-body > .d-flex > .d-flex {
        width: 100%;
    }

    .comet-group-hero-body h1 {
        font-size: 1.65rem;
        line-height: 1.12;
    }

    .comet-group-hero-body .comet-profile-body {
        font-size: 0.96rem;
        line-height: 1.55;
    }

    .comet-page-hero-card,
    .comet-feed-card,
    .comet-group-panel,
    .comet-event-card,
    .comet-opportunity-card {
        border-radius: 1.05rem !important;
    }

    .comet-message-overview h1,
    .comet-message-overview .fs-3 {
        font-size: 1.48rem !important;
        line-height: 1.12;
    }

    .comet-group-list-layout {
        grid-template-columns: 4.35rem minmax(0, 1fr);
        gap: 0.78rem !important;
    }

    .comet-group-list-cover {
        width: 4.35rem;
        height: 4.35rem;
    }

    .comet-group-list-body {
        margin-left: calc(-4.35rem - 0.78rem);
        width: calc(100% + 4.35rem + 0.78rem);
    }

    .comet-group-list-actions .btn,
    .comet-group-list-actions .fs-mark {
        font-size: 0.82rem;
    }

    .comet-group-chat-form .conversation-send-submit,
    .comet-direct-chat-form .conversation-send-submit {
        min-width: 4.9rem;
    }
}

/* Mobile message composers must never inherit Bootstrap's narrow input-group width. */
@media (max-width: 767.98px) {
    .comet-group-chat-form .input-group,
    .comet-direct-chat-form .input-group,
    .comet-chat-dock-form .input-group {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr);
        width: 100%;
        gap: 0.65rem;
    }

    .comet-group-chat-form .conversation-send-textarea,
    .comet-direct-chat-form .conversation-send-textarea,
    .comet-chat-dock-form .conversation-send-textarea {
        display: block;
        width: 100% !important;
        min-width: 100% !important;
        min-height: 5rem;
        max-height: 10rem;
        flex: 0 0 auto !important;
        padding: 0.82rem 0.9rem;
        font-size: 1rem;
        line-height: 1.45;
    }

    .comet-group-chat-form .conversation-send-submit,
    .comet-direct-chat-form .conversation-send-submit,
    .comet-chat-dock-form .conversation-send-submit {
        width: 100% !important;
        min-width: 100% !important;
        min-height: 3.2rem;
        font-size: 0.98rem;
        padding: 0.72rem 1rem;
    }

    .comet-group-chat-form,
    .comet-direct-chat-form {
        width: 100%;
    }

    .comet-chat-dock-form .d-flex,
    .comet-group-chat-form > .d-flex,
    .comet-direct-chat-form > .d-flex {
        display: none !important;
    }
}

/* Feedback-led clarity pass: content first, boundaries visible, controls unmistakable. */
.comet-related-group-card {
    min-width: 0;
}

.comet-related-group-cover {
    width: 4.25rem;
    height: 4.25rem;
    border: 1px solid var(--comet-border);
    border-radius: 1rem;
    object-fit: cover;
    background: var(--comet-surface-soft);
}

.comet-related-group-description {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    line-height: 1.5;
}

.comet-page-hero-card--compact {
    min-height: 0 !important;
    padding: clamp(1.15rem, 2vw, 1.65rem) !important;
}

.comet-page-hero-card--compact .comet-page-hero-copy {
    max-width: 52rem;
}

.comet-page-hero-card--compact h1 {
    letter-spacing: -0.025em;
}

.comet-message-header-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.55rem;
}

.comet-opportunity-filters {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.9rem 1.1rem;
    align-items: center;
    margin-top: 1rem;
    padding: 1rem;
    border: 1px solid var(--comet-border, #e6e3f3);
    border-radius: 1.15rem;
    background: var(--comet-surface);
    box-shadow: 0 0.65rem 1.8rem rgba(40, 29, 94, 0.06);
}

.comet-opportunity-category-list,
.comet-opportunity-search {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.55rem;
}

.comet-opportunity-filter-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.42rem;
    min-height: 2.55rem;
    padding: 0.55rem 0.9rem;
    border: 1px solid var(--comet-border);
    border-radius: 999px;
    color: var(--comet-primary-deep);
    background: var(--comet-surface-raised);
    font-size: 0.88rem;
    font-weight: 650;
    text-decoration: none;
}

.comet-opportunity-filter-chip:hover,
.comet-opportunity-filter-chip:focus-visible,
.comet-opportunity-filter-chip.is-active {
    border-color: #4b3bb3;
    color: #fff;
    background: #4b3bb3;
}

.comet-opportunity-search {
    grid-column: 1 / -1;
}

.comet-opportunity-search .form-control {
    flex: 1 1 18rem;
    min-height: 2.75rem;
    border-radius: 999px;
}

.comet-opportunity-result-count {
    grid-column: 2;
    grid-row: 1;
    color: var(--comet-text-subtle);
    font-size: 0.86rem;
    white-space: nowrap;
}

.comet-opportunity-card .btn-primary {
    position: relative;
    z-index: 2;
    box-shadow: 0 0.55rem 1.25rem rgba(75, 59, 179, 0.18);
}

.comet-opportunity-kicker i {
    margin-right: 0.28rem;
}

.comet-composer__audience {
    display: grid;
    gap: 0.38rem;
    padding: 0.72rem 0.82rem;
    border: 1px solid var(--comet-border);
    border-radius: 0.85rem;
    color: var(--comet-text-body);
    background: var(--comet-surface-soft);
    font-size: 0.84rem;
}

.comet-composer__audience i {
    width: 1rem;
    margin-right: 0.28rem;
    color: #4b3bb3;
    text-align: center;
}

.comet-composer__format-note {
    color: #777184;
}

.comet-profile-save-status.text-success {
    font-weight: 650;
}

.comet-visibility-guide {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
    padding: 0.9rem;
    border: 1px solid #e3dff2;
    border-radius: 1rem;
    background: var(--comet-surface-soft);
}

.comet-visibility-guide__intro {
    grid-column: 1 / -1;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 0.45rem 1rem;
    color: var(--comet-text-subtle);
    font-size: 0.86rem;
}

.comet-visibility-guide__item {
    display: flex;
    align-items: flex-start;
    gap: 0.62rem;
    padding: 0.76rem;
    border-radius: 0.82rem;
    color: var(--comet-text-body);
    background: var(--comet-surface-raised);
    font-size: 0.82rem;
    line-height: 1.45;
}

.comet-visibility-guide__item i {
    margin-top: 0.18rem;
    color: #4b3bb3;
}

.comet-event-color-field {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.comet-event-color-field .form-control-color {
    flex: 0 0 3.4rem;
    width: 3.4rem;
    height: 3rem;
    padding: 0.28rem;
    border-radius: 0.8rem;
}

@media (max-width: 991.98px) {
    .comet-message-header-actions {
        justify-content: flex-start;
    }

    .comet-opportunity-filters {
        grid-template-columns: 1fr;
    }

    .comet-opportunity-result-count {
        grid-column: 1;
        grid-row: auto;
    }

    .comet-visibility-guide {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 575.98px) {
    .comet-page-hero-card--compact {
        padding: 1rem !important;
    }

    .comet-opportunity-filters {
        padding: 0.82rem;
        border-radius: 1rem;
    }

    .comet-opportunity-category-list {
        flex-wrap: nowrap;
        margin-inline: -0.15rem;
        padding: 0.15rem;
        overflow-x: auto;
        scrollbar-width: none;
    }

    .comet-opportunity-category-list::-webkit-scrollbar {
        display: none;
    }

    .comet-opportunity-filter-chip {
        flex: 0 0 auto;
    }

    .comet-opportunity-search .btn-primary {
        min-width: 6.5rem;
    }

    .comet-composer__footer {
        gap: 0.8rem;
    }

    .comet-composer__audience {
        font-size: 0.81rem;
    }

    .comet-event-color-field {
        align-items: flex-start;
    }
}

@media (min-width: 1500px) {
    body.comet-has-chat-dock.comet-chat-dock-collapsed {
        --comet-dock-width: 4.6rem;
    }
}

/* Registration and operator access: compact type, generous rhythm, clear decisions. */
@media (min-width: 992px) {
    body {
        font-size: 15px;
    }

    .form-control,
    .form-select,
    .btn {
        font-size: 0.9rem;
    }
}

.comet-registration-page {
    min-height: calc(100vh - 4.5rem);
    padding: clamp(1.25rem, 3vw, 2.6rem) clamp(0.9rem, 3vw, 2rem) 4rem;
    background:
        radial-gradient(circle at 12% 8%, rgba(255, 197, 48, 0.12), transparent 26rem),
        radial-gradient(circle at 88% 12%, rgba(81, 64, 179, 0.1), transparent 29rem),
        linear-gradient(180deg, color-mix(in srgb, var(--comet-surface-soft) 54%, var(--bs-body-bg)), var(--bs-body-bg));
    color: var(--comet-text-body);
}

.comet-registration-shell {
    width: min(66rem, 100%);
    margin: 0 auto;
}

.comet-registration-intro {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(16rem, 0.72fr);
    gap: clamp(1.25rem, 3vw, 2.4rem);
    align-items: center;
    margin-bottom: 1.25rem;
    padding: clamp(1.35rem, 3vw, 2rem);
    border: 1px solid var(--comet-border);
    border-radius: 1.5rem;
    background:
        radial-gradient(circle at 94% 5%, rgba(255, 202, 59, 0.2), transparent 15rem),
        radial-gradient(circle at 4% 100%, rgba(81, 64, 179, 0.09), transparent 18rem),
        color-mix(in srgb, var(--comet-surface-raised) 96%, transparent);
    box-shadow: var(--comet-shadow);
}

.comet-registration-intro::after {
    position: absolute;
    z-index: -1;
    right: -5rem;
    top: -7rem;
    width: 18rem;
    height: 18rem;
    border-radius: 50%;
    background: color-mix(in srgb, var(--comet-gold-soft) 62%, transparent);
    content: "";
    pointer-events: none;
}

.comet-registration-intro-copy {
    min-width: 0;
}

.comet-registration-mode,
.comet-registration-eyebrow {
    display: block;
    margin-bottom: 0.55rem;
    color: var(--comet-primary);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.075em;
    text-transform: uppercase;
}

.comet-registration-intro h1,
.comet-registration-status-card h1 {
    max-width: 18ch;
    margin: 0 0 0.72rem;
    color: var(--comet-text-strong);
    font-size: clamp(2rem, 4vw, 2.85rem);
    line-height: 1.02;
    letter-spacing: -0.045em;
}

.comet-registration-intro-copy > p,
.comet-registration-status-card > p {
    max-width: 43rem;
    margin: 0;
    color: var(--comet-muted);
    font-size: 0.98rem;
    line-height: 1.65;
}

.comet-registration-roadmap {
    display: flex;
    flex-direction: column;
    gap: 0.72rem;
    padding: 1.1rem;
    border: 1px solid var(--comet-border);
    border-radius: 1.2rem;
    background: var(--comet-surface-soft);
}

.comet-registration-roadmap .comet-registration-eyebrow {
    margin-bottom: 0.05rem;
}

.comet-registration-roadmap > div {
    display: grid;
    grid-template-columns: 1.8rem minmax(0, 1fr);
    gap: 0.62rem;
    align-items: center;
    color: var(--comet-text-body);
    font-size: 0.78rem;
    line-height: 1.35;
}

.comet-registration-roadmap > div strong {
    width: 1.8rem;
    height: 1.8rem;
    display: grid;
    place-items: center;
    border-radius: 999px;
    color: var(--comet-primary);
    background: var(--comet-surface-raised);
    box-shadow: inset 0 0 0 1px rgba(81, 64, 179, 0.12);
    font-size: 0.68rem;
}

.comet-registration-invite-note {
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem 0.85rem;
    width: max-content;
    max-width: 100%;
    margin-top: 1.1rem;
    padding: 0.68rem 0.9rem;
    border: 1px solid rgba(81, 64, 179, 0.12);
    border-radius: 0.9rem;
    background: var(--comet-surface-raised);
    color: var(--comet-muted);
    font-size: 0.82rem;
}

.comet-registration-invite-note strong {
    color: var(--comet-primary-deep);
}

.comet-registration-form {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.comet-registration-card,
.comet-registration-status-card {
    border: 1px solid var(--comet-border);
    border-radius: 1.4rem;
    background: color-mix(in srgb, var(--comet-surface-raised) 97%, transparent);
    box-shadow: var(--comet-shadow);
    color: var(--comet-text-body);
}

.comet-registration-card {
    padding: clamp(1.15rem, 2.8vw, 1.8rem);
}

.comet-registration-card--invalid {
    max-width: 44rem;
}

.comet-registration-card--invalid h2 {
    margin-bottom: 0.5rem;
}

.comet-registration-card--invalid p {
    color: var(--comet-muted);
    line-height: 1.6;
}

.comet-registration-section-head {
    display: grid;
    grid-template-columns: 2.2rem minmax(0, 1fr);
    gap: 0.8rem;
    margin-bottom: 1.35rem;
}

.comet-registration-section-head > span {
    width: 2.2rem;
    height: 2.2rem;
    border-radius: 999px;
    background: var(--comet-surface-soft);
    color: var(--comet-primary);
    display: grid;
    place-items: center;
    font-size: 0.73rem;
    font-weight: 800;
}

.comet-registration-section-head h2 {
    margin: 0 0 0.2rem;
    color: var(--comet-text-strong);
    font-size: 1.08rem;
    letter-spacing: -0.015em;
}

.comet-registration-section-head p {
    margin: 0;
    color: var(--comet-muted);
    font-size: 0.82rem;
    line-height: 1.5;
}

.comet-registration-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.15rem 1.25rem;
}

.comet-field {
    display: flex;
    flex-direction: column;
    min-width: 0;
    gap: 0.42rem;
}

.comet-field--wide {
    grid-column: 1 / -1;
}

.comet-field > span,
.comet-invitation-form label > span,
.comet-access-review-form label > span {
    color: var(--comet-text-strong);
    font-size: 0.78rem;
    font-weight: 700;
}

.comet-field em,
.comet-invitation-form em,
.comet-access-review-form em {
    color: var(--comet-muted);
    font-size: 0.72rem;
    font-style: normal;
    font-weight: 500;
}

.comet-field .form-control,
.comet-field .form-select {
    min-height: 3rem;
    border-color: var(--comet-border);
    border-radius: 0.88rem;
    padding: 0.68rem 0.82rem;
    background-color: var(--comet-surface-soft);
    color: var(--comet-text-body);
}

.comet-field .form-control:focus,
.comet-field .form-select:focus {
    border-color: rgba(81, 64, 179, 0.42);
    background-color: var(--comet-surface-raised);
    box-shadow: 0 0 0 0.2rem rgba(81, 64, 179, 0.09);
}

.comet-field textarea.form-control {
    min-height: 7.3rem;
    resize: vertical;
}

.comet-field > small:not(.invalid-feedback) {
    color: var(--comet-muted);
    font-size: 0.71rem;
    line-height: 1.4;
}

.comet-registration-consent {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
}

.comet-registration-consent label {
    display: grid;
    grid-template-columns: 1.15rem minmax(0, 1fr);
    gap: 0.72rem;
    align-items: start;
    color: var(--comet-muted);
    font-size: 0.8rem;
    line-height: 1.5;
}

.comet-registration-consent input {
    width: 1.05rem;
    height: 1.05rem;
    margin-top: 0.08rem;
    accent-color: var(--comet-primary);
}

.comet-registration-submit {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.2rem;
    padding: 1rem 0.15rem 0;
}

.comet-registration-submit > div {
    display: flex;
    flex-direction: column;
    gap: 0.18rem;
}

.comet-registration-submit strong {
    font-size: 0.82rem;
}

.comet-registration-submit span,
.comet-registration-footer {
    color: var(--comet-muted);
    font-size: 0.76rem;
}

.comet-registration-footer {
    display: flex;
    justify-content: center;
    gap: 0.4rem;
    padding-top: 1.45rem;
}

.comet-registration-page--status {
    display: grid;
    place-items: center;
}

.comet-registration-status-card {
    width: min(42rem, 100%);
    padding: clamp(1.5rem, 4vw, 2.8rem);
}

.comet-registration-status-icon {
    width: 3rem;
    height: 3rem;
    margin: 1.2rem 0 1rem;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background: var(--comet-primary-soft);
    color: var(--comet-primary);
    font-size: 1.15rem;
}

.comet-registration-status-icon--approved {
    background: var(--comet-success-soft);
    color: var(--comet-success-text);
}

.comet-registration-status-icon--rejected {
    background: var(--comet-danger-soft);
    color: var(--comet-danger-text);
}

.comet-registration-reference {
    display: flex;
    flex-direction: column;
    width: max-content;
    margin: 1.15rem 0;
    padding: 0.72rem 0.95rem;
    border-radius: 0.9rem;
    background: var(--comet-surface-soft);
}

.comet-registration-reference span {
    color: var(--comet-muted);
    font-size: 0.7rem;
}

.comet-registration-reference strong {
    color: var(--comet-primary-deep);
    letter-spacing: 0.04em;
}

.comet-registration-home-link {
    display: inline-block;
    margin-top: 1.15rem;
    font-size: 0.8rem;
}

.comet-access-page {
    width: min(74rem, calc(100% - 2rem));
    margin-inline: auto;
    padding: 1.25rem 0 3.5rem;
}

.comet-access-hero {
    margin-bottom: 1rem;
    padding-inline: 0;
}

.comet-access-hero .comet-page-banner {
    border-color: rgba(81, 64, 179, 0.11);
    background:
        radial-gradient(circle at 94% 0, rgba(255, 202, 59, 0.17), transparent 15rem),
        radial-gradient(circle at 4% 100%, rgba(81, 64, 179, 0.08), transparent 18rem),
        linear-gradient(180deg, #fff, #fcfbff);
    box-shadow: 0 18px 42px rgba(39, 28, 99, 0.07);
}

.comet-access-summary {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.5rem;
}

.comet-access-layout > [class*="col-"] {
    min-width: 0;
}

.comet-access-layout .comet-group-panel {
    border-color: rgba(81, 64, 179, 0.1);
    box-shadow: 0 14px 34px rgba(39, 28, 99, 0.055);
}

.comet-access-side {
    align-self: start;
}

.comet-access-admin-card {
    overflow: hidden;
}

@media (min-width: 1200px) {
    .comet-access-side {
        position: sticky;
        top: 1rem;
    }
}

.comet-access-application {
    padding: 1.2rem;
    border: 1px solid rgba(25, 38, 61, 0.09);
    border-radius: 1.15rem;
    background: var(--comet-surface-raised);
}

.comet-access-application.is-pending {
    border-color: rgba(81, 64, 179, 0.2);
    box-shadow: 0 10px 24px rgba(35, 27, 96, 0.05);
}

.comet-access-application-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.comet-access-application-head h2 {
    margin: 0 0 0.18rem;
    font-size: 1.08rem;
}

.comet-access-reference {
    color: var(--comet-muted);
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.04em;
}

.comet-access-facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.62rem;
    margin-top: 1rem;
}

.comet-access-facts > div,
.comet-access-answers > div {
    padding: 0.75rem 0.8rem;
    border-radius: 0.85rem;
    background: var(--comet-surface-soft);
}

.comet-access-facts span,
.comet-access-answers span,
.comet-access-decision > span {
    display: block;
    margin-bottom: 0.2rem;
    color: var(--comet-muted);
    font-size: 0.67rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.comet-access-facts strong {
    display: block;
    color: var(--comet-ink);
    font-size: 0.78rem;
    font-weight: 600;
    line-height: 1.45;
}

.comet-access-answers {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.62rem;
    margin-top: 0.62rem;
}

.comet-access-answers p,
.comet-access-decision p {
    margin: 0;
    color: var(--comet-ink);
    font-size: 0.78rem;
    line-height: 1.5;
}

.comet-access-review-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.8rem;
    align-items: end;
    margin-top: 0.85rem;
    padding-top: 0.85rem;
    border-top: 1px solid rgba(25, 38, 61, 0.08);
}

.comet-access-review-form.is-submitting {
    opacity: 0.82;
}

.comet-access-review-form button:disabled {
    cursor: wait;
}

.comet-access-review-status {
    grid-column: 1 / -1;
    min-height: 1.25rem;
    color: var(--comet-muted);
    font-size: 0.75rem;
    line-height: 1.45;
}

.comet-access-review-status.is-error {
    color: var(--bs-danger-text-emphasis, #b42338);
}

.comet-access-decision.is-success,
.comet-access-decision.is-warning {
    border-radius: 0.85rem;
    padding: 0.8rem 0.9rem;
    border: 1px solid var(--comet-border);
    background: var(--comet-surface-soft);
}

.comet-access-decision.is-success strong {
    color: var(--bs-success-text-emphasis, #157347);
}

.comet-access-decision.is-warning strong {
    color: var(--bs-warning-text-emphasis, #8a5a00);
}

.comet-access-review-form label,
.comet-invitation-form label {
    display: flex;
    flex-direction: column;
    gap: 0.38rem;
}

.comet-registration-moderator-control {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.5rem;
}

.comet-access-decision {
    margin-top: 0.85rem;
    padding-top: 0.85rem;
    border-top: 1px solid rgba(25, 38, 61, 0.08);
}

.comet-access-decision strong {
    font-size: 0.78rem;
}

.comet-invitation-created {
    padding: 0.9rem;
    border: 1px solid rgba(81, 64, 179, 0.18);
    border-radius: 1rem;
    background: var(--comet-primary-soft-2);
}

.comet-invitation-created strong,
.comet-invitation-created p {
    display: block;
    font-size: 0.78rem;
}

.comet-invitation-created p {
    margin: 0.2rem 0 0.65rem;
    color: var(--comet-muted);
}

.comet-invitation-form {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    padding: 1rem;
    border-radius: 1rem;
    background: var(--comet-surface-soft);
}

.comet-invitation-form > .row {
    --bs-gutter-x: 0;
    margin-inline: 0;
}

.comet-invitation-row {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    padding: 0.88rem 0;
    border-top: 1px solid rgba(25, 38, 61, 0.08);
}

.comet-invitation-row strong,
.comet-invitation-row span {
    display: block;
}

.comet-invitation-row strong {
    font-size: 0.8rem;
}

.comet-invitation-row span {
    color: var(--comet-muted);
    font-size: 0.68rem;
    line-height: 1.4;
}

/* The persistent chat rail stays present but visually lighter and easier to scan. */
@media (min-width: 1500px) {
    body.comet-has-chat-dock {
        --comet-dock-width: clamp(13.2rem, 13.1vw, 14.6rem);
    }

    .comet-chat-dock {
        padding: 0.7rem 0.7rem 0.7rem 0.25rem;
    }

    .comet-chat-dock-rail {
        border-color: rgba(81, 64, 179, 0.1);
        border-radius: 1.2rem 0 0 1.2rem;
        background: color-mix(in srgb, var(--comet-surface-raised) 86%, transparent);
        backdrop-filter: blur(22px) saturate(1.08);
        box-shadow: 0 16px 36px rgba(28, 23, 66, 0.09);
    }

    .comet-chat-dock-list {
        padding-inline: 0.8rem;
        gap: 0.62rem;
    }

    .comet-chat-dock-item {
        padding: 0.72rem 0.75rem;
        background: color-mix(in srgb, var(--comet-surface-raised) 78%, transparent);
        box-shadow: inset 0 0 0 1px rgba(81, 64, 179, 0.07);
    }

    .comet-chat-dock-panel {
        right: calc(var(--comet-chat-rail-width) + 0.85rem);
    }
}

@media (max-width: 767.98px) {
    .comet-mobile-back {
        display: grid !important;
        min-width: 2.75rem;
        min-height: 2.75rem;
        padding: 0;
        place-items: center;
    }

    .comet-registration-page {
        padding: 1rem 0.72rem 6rem;
    }

    .comet-registration-intro {
        grid-template-columns: 1fr;
        gap: 1rem;
        padding: 1.15rem;
        border-radius: 1.15rem;
    }

    .comet-registration-roadmap {
        padding: 0.9rem;
    }

    .comet-registration-intro h1,
    .comet-registration-status-card h1 {
        font-size: 2.05rem;
    }

    .comet-registration-card {
        padding: 1rem;
        border-radius: 1.05rem;
    }

    .comet-registration-grid,
    .comet-access-facts,
    .comet-access-answers,
    .comet-access-review-form {
        grid-template-columns: 1fr;
    }

    .comet-registration-submit {
        align-items: stretch;
        flex-direction: column;
    }

    .comet-registration-submit .btn {
        width: 100%;
        min-height: 3.15rem;
    }

    .comet-registration-footer {
        flex-wrap: wrap;
    }

    .comet-registration-consent label {
        min-height: 2.75rem;
        align-items: center;
    }

    .comet-access-application-head {
        flex-direction: column;
    }

    .comet-registration-moderator-control {
        grid-template-columns: 1fr;
    }

    .comet-registration-moderator-control .btn {
        width: 100%;
    }

    .comet-access-layout .form-control,
    .comet-access-layout .form-select,
    .comet-access-layout .btn,
    .comet-report-review-form .form-control,
    .comet-report-review-form .form-select,
    .comet-report-review-form .btn,
    .comet-operator-layout .form-control,
    .comet-operator-layout .form-select,
    .comet-operator-layout .btn,
    .comet-operator-filter-form .form-control,
    .comet-operator-filter-form .form-select,
    .comet-operator-filter-form .btn {
        min-height: 2.75rem;
    }

    .comet-access-layout,
    .comet-operator-layout {
        margin-inline: 0 !important;
        --bs-gutter-x: 1rem;
    }

    .comet-access-page {
        width: min(100% - 1rem, 74rem);
        padding-top: 0.75rem;
    }

    .comet-access-summary {
        justify-content: flex-start;
    }

    .comet-report-review-form {
        --bs-gutter-x: 0.75rem;
    }

    .interaction .btn-inter,
    .comet-touch-icon,
    .btn.btn-outline-secondary.border-0.rounded-circle {
        min-width: 2.75rem;
        min-height: 2.75rem;
    }

    .btn.btn-outline-secondary.border-0.rounded-circle,
    .comet-touch-icon {
        display: inline-grid;
        padding: 0 !important;
        place-items: center;
    }

    .comet-search-panel .form-control,
    .comet-search-panel .form-select,
    .comet-search-panel .btn,
    .comet-follow-form .btn,
    [id^="fs-mark-block-"] {
        min-height: 2.75rem;
    }

    [id^="fs-mark-block-"] {
        min-width: 2.75rem;
    }

    .comet-search-panel .form-check-label,
    .comet-touch-check {
        min-height: 2.75rem;
        align-items: center !important;
    }

    .comet-group-detail-layout {
        width: auto;
        margin-inline: 0;
    }

    .comet-operator-layout .comet-group-panel,
    .comet-operator-layout .comet-moderation-card {
        padding-inline: 0.85rem !important;
    }
}

@media (max-width: 575.98px) {
    .comet-private-header-inner {
        min-height: 4.15rem;
        padding: 0.55rem 0.75rem;
    }

    .comet-private-header-brand {
        gap: 0.48rem;
    }

    .comet-private-header-brand img {
        width: 2.2rem;
        height: 2.2rem;
    }

    .comet-private-header-actions {
        gap: 0.45rem;
    }

    .comet-private-header-actions .btn {
        min-width: 0;
        min-height: 2.45rem;
        padding-inline: 0.9rem;
    }
}

/* COMET calm social shell 2026-08: fewer columns, clearer hierarchy. */
body {
    --comet-nav-width: 13.5rem;
    --comet-sidebar-width: 20rem;
    --comet-shell-max: 74rem;
    --comet-radius: 1.18rem;
    --comet-card-border: rgba(36, 31, 69, 0.085);
    --comet-card-shadow: 0 0.65rem 1.8rem rgba(44, 34, 98, 0.055);
    background:
        radial-gradient(circle at 92% 0, rgba(255, 202, 59, 0.09), transparent 27rem),
        radial-gradient(circle at 8% 2%, rgba(74, 63, 168, 0.06), transparent 30rem),
        #f8f8fc;
    color: var(--comet-ink);
    font-family: 'Aptos', 'Segoe UI Variable Text', 'Segoe UI', sans-serif;
    font-size: 15px;
    line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
.fs-3,
.fs-4,
.comet-private-title,
.comet-chat-dock-title,
.comet-chat-dock-item-title,
.comet-sidebar-card-title,
.comet-page-header h1 {
    font-family: 'Aptos Display', 'Segoe UI Variable Display', 'Trebuchet MS', sans-serif;
    letter-spacing: -0.028em;
}

.comet-page-hero-card,
.comet-feed-card,
.comet-group-panel,
.comet-event-card,
.comet-opportunity-card,
.comet-sidebar-card,
.comet-live-conversation,
.comet-message-list-card {
    border: 1px solid var(--comet-card-border) !important;
    border-radius: var(--comet-radius) !important;
    background-color: var(--comet-surface);
    box-shadow: var(--comet-card-shadow);
}

.comet-page-hero-card {
    padding: clamp(1.2rem, 1.8vw, 1.7rem) !important;
    overflow: hidden;
}

.comet-page-hero-card::after {
    opacity: 0.56;
}

.comet-page-hero-copy h1,
.comet-page-hero-copy .fs-3 {
    font-size: clamp(1.55rem, 2.2vw, 2rem) !important;
    line-height: 1.08;
}

.comet-page-hero-copy .text-secondary,
.comet-page-header p {
    max-width: 46rem;
    color: var(--comet-text-subtle) !important;
    font-size: 0.94rem;
    line-height: 1.55;
}

.comet-page-kicker {
    color: var(--comet-primary);
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.075em;
    text-transform: uppercase;
}

.comet-filter-strip,
.comet-opportunity-filters {
    border-color: var(--comet-card-border) !important;
    box-shadow: 0 0.42rem 1.25rem rgba(44, 34, 98, 0.045) !important;
}

.comet-filter-pill,
.comet-opportunity-filter-chip {
    min-height: 2.55rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.comet-feed-card {
    margin: 0.55rem 0 1rem;
    padding-block: 1.15rem !important;
}

.comet-feed-article .content-main,
.comet-feed-article .content-append,
.comet-feed-article .interaction,
.comet-feed-article .comment-preview,
.comet-feed-article .post-top-comment {
    margin-inline: 1.2rem !important;
}

.comet-feed-article .content-article {
    color: var(--comet-text-body);
    font-size: 0.96rem;
    line-height: 1.62;
}

.comet-feed-article .content-title h1,
.comet-feed-article .content-title .h5 {
    margin-bottom: 0.72rem !important;
    font-size: 1.16rem;
    line-height: 1.3;
}

.comet-feed-article .interaction {
    padding-top: 0.65rem;
    border-top: 1px solid rgba(36, 31, 69, 0.065);
}

.comet-feed-article .interaction .btn-inter {
    min-width: 2.65rem;
    min-height: 2.65rem;
    border-radius: 0.78rem;
}

.comet-sidebar-card {
    padding: 1.18rem !important;
}

.comet-sidebar-event-list {
    gap: 0.68rem;
}

.comet-sidebar-event {
    padding: 0.9rem 0.92rem;
    border-radius: 0.95rem;
    background: var(--comet-surface-raised);
}

/* Opportunities become one readable board instead of another split screen. */
.comet-opportunity-board {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
    width: min(100%, 62rem);
    max-width: 62rem;
    min-width: 0;
    margin-inline: auto !important;
}

.comet-opportunity-context-strip {
    padding: 1rem;
    border: 1px solid var(--comet-card-border);
    border-radius: var(--comet-radius);
    background: linear-gradient(135deg, color-mix(in srgb, var(--comet-surface-raised) 98%, transparent), color-mix(in srgb, var(--comet-surface-soft) 96%, transparent));
    box-shadow: var(--comet-card-shadow);
}

.comet-opportunity-context-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.8rem;
}

.comet-opportunity-context-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.72rem;
}

.comet-opportunity-event-card {
    min-width: 0;
    padding: 0.9rem !important;
    border: 1px solid rgba(74, 63, 168, 0.08);
    border-radius: 0.95rem;
    background: color-mix(in srgb, var(--comet-surface-raised) 88%, transparent);
}

.comet-opportunity-list {
    min-width: 0;
}

.comet-opportunity-card {
    padding: 1.25rem 1.35rem !important;
}

.comet-opportunity-card h2.fs-4 {
    max-width: 38ch;
    font-size: clamp(1.25rem, 1.8vw, 1.55rem);
    line-height: 1.18;
}

.comet-opportunity-notes {
    max-width: 46rem;
}

/* Event discovery keeps primary choices visible and advanced choices optional. */
.comet-event-controls {
    display: grid;
    gap: 1rem;
}

.comet-event-primary-filters {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.comet-event-filter-group {
    min-width: 0;
}

.comet-event-filter-label {
    margin-bottom: 0.48rem;
    color: var(--comet-muted);
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.055em;
    text-transform: uppercase;
}

.comet-event-filter-group .comet-filter-pill {
    border: 1px solid var(--comet-border) !important;
    background: var(--comet-surface-raised);
    color: var(--comet-text-body) !important;
    box-shadow: none;
}

.comet-event-filter-group .comet-filter-pill:hover,
.comet-event-filter-group .comet-filter-pill:focus-visible {
    border-color: color-mix(in srgb, var(--comet-primary) 30%, var(--comet-border)) !important;
    background: var(--comet-surface-hover);
    color: var(--comet-primary-deep) !important;
}

.comet-event-filter-group .comet-filter-pill.active {
    border-color: transparent !important;
    background-color: var(--comet-action) !important;
    background-image: linear-gradient(135deg, var(--comet-action), var(--comet-action-deep)) !important;
    color: #ffffff !important;
    box-shadow: 0 0.45rem 1rem color-mix(in srgb, var(--comet-primary) 20%, transparent);
}

.comet-event-filter-form {
    display: grid;
    gap: 0.9rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(36, 31, 69, 0.07);
}

.comet-event-quick-search {
    display: grid;
    grid-template-columns: minmax(15rem, 1fr) auto auto auto;
    gap: 0.62rem;
    align-items: end;
}

.comet-event-quick-search .form-label {
    grid-column: 1 / -1;
    margin-bottom: -0.2rem !important;
}

.comet-event-quick-search .form-control,
.comet-event-quick-search .btn {
    min-height: 2.8rem;
}

.comet-event-result-count {
    align-self: center;
    min-width: max-content;
    padding-inline: 0.4rem;
}

.comet-event-advanced {
    border-radius: 0.92rem;
    background: var(--comet-surface-soft);
}

.comet-event-advanced > summary {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-height: 2.75rem;
    padding: 0.68rem 0.85rem;
    color: var(--comet-primary-deep);
    cursor: pointer;
    font-size: 0.86rem;
    font-weight: 700;
    list-style: none;
}

.comet-event-advanced > summary::-webkit-details-marker {
    display: none;
}

.comet-event-advanced-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.8rem;
    padding: 0 0.85rem 0.85rem;
}

.comet-event-advanced-grid .form-select {
    min-height: 2.75rem;
}

/* The chat list is an on-demand drawer, not a permanent fourth column. */
@media (min-width: 1200px) {
    body.comet-has-chat-dock,
    body.comet-has-chat-dock.comet-chat-dock-collapsed {
        --comet-nav-width: 13.5rem !important;
        --comet-sidebar-width: 20rem !important;
        --comet-dock-width: 0px !important;
    }

    .comet-chat-dock {
        --comet-chat-rail-width: 20rem;
        position: fixed;
        inset: 0 0 0 auto;
        width: 0 !important;
        padding: 0 !important;
        overflow: visible;
        z-index: 1050;
    }

    .comet-chat-dock-launcher {
        position: fixed;
        right: 1rem;
        bottom: 1rem;
        display: none;
        align-items: center;
        gap: 0.55rem;
        min-height: 3.15rem;
        padding: 0.55rem 0.92rem 0.55rem 0.62rem;
        border: 1px solid rgba(74, 63, 168, 0.12);
        border-radius: 999px;
        color: #fff;
        background: linear-gradient(135deg, var(--comet-primary), var(--comet-primary-deep));
        box-shadow: 0 0.9rem 2rem rgba(56, 45, 143, 0.26);
        font-size: 0.86rem;
        font-weight: 750;
        z-index: 3;
    }

    .comet-chat-dock-launcher-icon {
        width: 2rem;
        height: 2rem;
        display: grid;
        place-items: center;
        border-radius: 999px;
        color: var(--comet-primary-deep);
        background: var(--comet-surface-raised);
    }

    .comet-chat-dock-scrim {
        position: fixed;
        inset: 0;
        display: block;
        border: 0;
        background: rgba(29, 24, 57, 0.16);
        backdrop-filter: blur(2px);
        opacity: 1;
        transition: opacity 0.18s ease;
        z-index: 0;
    }

    .comet-chat-dock-rail {
        position: fixed;
        top: 0.75rem;
        right: 0.75rem;
        bottom: 0.75rem;
        width: var(--comet-chat-rail-width) !important;
        height: auto;
        border-radius: 1.2rem !important;
        background: color-mix(in srgb, var(--comet-surface-raised) 94%, transparent);
        box-shadow: 0 1.2rem 3rem rgba(29, 24, 57, 0.18);
        transform: translateX(0);
        opacity: 1;
        transition: transform 0.2s ease, opacity 0.16s ease;
        z-index: 1;
    }

    .comet-chat-dock.is-rail-collapsed .comet-chat-dock-launcher {
        display: inline-flex;
    }

    .comet-chat-dock.is-rail-collapsed .comet-chat-dock-scrim {
        display: none;
        opacity: 0;
    }

    .comet-chat-dock.is-rail-collapsed .comet-chat-dock-rail {
        display: flex !important;
        transform: translateX(calc(100% + 1.5rem));
        opacity: 0;
        pointer-events: none;
    }

    .comet-chat-dock.is-rail-collapsed [data-comet-chat-dock-heading],
    .comet-chat-dock.is-rail-collapsed .comet-chat-dock-head > .comet-chat-dock-link,
    .comet-chat-dock.is-rail-collapsed .comet-chat-dock-tabs,
    .comet-chat-dock.is-rail-collapsed .comet-chat-dock-list {
        display: initial !important;
    }

    .comet-chat-dock-panel {
        position: fixed;
        right: calc(var(--comet-chat-rail-width) + 1.5rem) !important;
        bottom: 0.75rem;
        width: min(22rem, calc(100vw - var(--comet-chat-rail-width) - 3rem));
        height: min(31rem, calc(100vh - 1.5rem));
        padding: 0.82rem;
        border-radius: 1.15rem;
        z-index: 2;
    }

    .comet-chat-dock-panel .conversation-send-textarea {
        min-height: 3.1rem;
        font-size: 0.9rem;
    }

    .comet-chat-dock-tray {
        position: fixed;
        right: 1rem;
        bottom: 4.8rem;
        max-width: 22rem;
        z-index: 2;
    }
}

@media (min-width: 992px) {
    body {
        --comet-nav-width: 13.5rem;
        --comet-sidebar-width: 20rem;
        /* Percentages exclude a classic Windows scrollbar; 100vw does not. */
        --comet-available-width: calc(100% - var(--comet-nav-width));
        --comet-shell-width: min(var(--comet-shell-max), var(--comet-available-width));
        --comet-shell-offset: max(0px, calc((var(--comet-available-width) - var(--comet-shell-width)) / 2));
    }

    .fs-navbar {
        width: var(--comet-nav-width) !important;
        border-color: rgba(36, 31, 69, 0.075) !important;
        background: rgba(255, 255, 255, 0.94) !important;
        backdrop-filter: blur(18px);
    }

    .fs-navbar .container-fluid {
        padding: 1rem 0.85rem 0.85rem;
    }

    .fs-navbar .navbar-brand img {
        width: 2.75rem;
        height: 2.75rem;
        object-fit: contain;
    }

    .fs-menus {
        margin-top: 0.9rem;
        gap: 0.16rem;
    }

    .fs-menus .nav-link {
        width: 100%;
        min-height: 2.72rem;
        padding: 0.62rem 0.72rem;
        border-radius: 0.85rem !important;
        font-size: 0.96rem;
    }

    .fs-menus .nav-link i {
        margin-left: 0.18rem !important;
        margin-right: 0.72rem !important;
    }

    .fs-menus .nav-link:hover {
        transform: none;
    }

    .fs-account {
        width: 100%;
        margin-inline: 0 !important;
    }

    .comet-sidebar-utility {
        gap: 0.42rem;
    }

    .comet-sidebar-utility-btn {
        min-height: 2.65rem;
        border-radius: 0.78rem;
        box-shadow: none;
    }

    .fs-create {
        min-height: 2.85rem;
        box-shadow: 0 0.65rem 1.5rem rgba(255, 109, 60, 0.18);
    }

    .ms-25 {
        margin-left: calc(var(--comet-nav-width) + var(--comet-shell-offset)) !important;
    }

    .fs-main {
        float: left !important;
        width: calc(var(--comet-shell-width) - var(--comet-sidebar-width)) !important;
        margin-left: calc(var(--comet-nav-width) + var(--comet-shell-offset)) !important;
        padding: 0 0.72rem 2rem 0 !important;
    }

    .fs-sidebar {
        float: left !important;
        width: var(--comet-sidebar-width) !important;
        padding: 0 0 2rem 0.72rem !important;
    }

    .fs-main.fs-main--wide {
        width: var(--comet-shell-width) !important;
        padding-inline: 0 !important;
    }

    .main-fullscreen:not(.comet-main-private) {
        width: var(--comet-shell-width) !important;
        max-width: var(--comet-shell-max);
        margin-left: calc(var(--comet-nav-width) + var(--comet-shell-offset)) !important;
        padding-inline: 0 !important;
    }

    .comet-page-header,
    .comet-opportunity-filters {
        margin-inline: 0 !important;
    }

    .comet-page-header {
        margin-top: 1rem !important;
    }

    .comet-page-hero-actions {
        display: flex;
        justify-content: flex-end;
        align-items: center;
        width: auto !important;
    }

    .comet-page-hero-actions .btn {
        width: auto !important;
        min-width: 10rem;
    }
}

@media (min-width: 992px) and (max-width: 1279.98px) {
    body {
        --comet-shell-max: 58rem;
    }

    .fs-sidebar {
        display: none !important;
    }

    .fs-main {
        width: var(--comet-shell-width) !important;
        padding-inline: 0 !important;
    }
}

@media (max-width: 991.98px) {
    body {
        font-size: 15px;
    }

    .fs-main,
    .main-fullscreen {
        width: 100% !important;
        padding-inline: 0.55rem !important;
    }

    .comet-page-header.mx-3,
    .comet-opportunity-board.mx-3,
    .comet-opportunity-filters,
    .comet-group-detail-layout {
        margin-inline: 0 !important;
    }

    .comet-page-header {
        margin-top: 0.7rem !important;
    }

    .comet-page-hero-card,
    .comet-feed-card,
    .comet-group-panel,
    .comet-event-card,
    .comet-opportunity-card,
    .comet-sidebar-card,
    .comet-live-conversation,
    .comet-message-list-card {
        border-radius: 1.05rem !important;
        box-shadow: 0 0.42rem 1.25rem rgba(44, 34, 98, 0.045);
    }

    .comet-page-hero-card {
        padding: 1rem !important;
    }

    .comet-feed-tabs {
        margin: 0.62rem 1rem 0.72rem !important;
    }

    .comet-feed-card {
        margin: 0 0 0.78rem;
        padding-block: 0.95rem !important;
    }

    .comet-feed-article .content-main,
    .comet-feed-article .content-append,
    .comet-feed-article .interaction,
    .comet-feed-article .comment-preview,
    .comet-feed-article .post-top-comment {
        margin-inline: 0.92rem !important;
    }

    .comet-event-primary-filters {
        grid-template-columns: 1fr;
        gap: 0.82rem;
    }

    .comet-event-quick-search {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .comet-event-quick-search .form-label,
    .comet-event-quick-search .form-control,
    .comet-event-result-count {
        grid-column: 1 / -1;
    }

    .comet-event-quick-search .btn {
        width: 100%;
    }

    .comet-event-advanced-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .comet-opportunity-context-list {
        display: flex;
        gap: 0.7rem;
        overflow-x: auto;
        scroll-snap-type: x proximity;
        scrollbar-width: none;
    }

    .comet-opportunity-context-list::-webkit-scrollbar {
        display: none;
    }

    .comet-opportunity-context-list .comet-opportunity-event-card {
        flex: 0 0 min(17rem, 84vw);
        scroll-snap-align: start;
    }

    .comet-group-context {
        display: grid;
        grid-auto-flow: column;
        grid-auto-columns: minmax(17rem, 84vw);
        gap: 0.72rem;
        overflow-x: auto;
        scroll-snap-type: x proximity;
        scrollbar-width: none;
    }

    .comet-group-context::-webkit-scrollbar {
        display: none;
    }

    .comet-group-context > .comet-group-panel {
        min-width: 0;
        height: 100%;
        margin-bottom: 0 !important;
        scroll-snap-align: start;
    }

    .comet-live-conversation .card-body,
    .comet-live-conversation .card-footer,
    .comet-message-thread-header {
        padding: 0.92rem !important;
    }

    .comet-group-hero-banner {
        height: 7rem;
    }

    .comet-group-hero-body {
        margin-top: 0;
        padding: 0 1rem 1.1rem;
    }

    .comet-group-cover {
        width: 5.35rem;
        height: 5.35rem;
        margin-top: -2.65rem;
        border-radius: 1rem !important;
    }

    .comet-group-hero-body > .d-flex {
        gap: 1rem !important;
    }
}

@media (max-width: 575.98px) {
    .fs-main,
    .main-fullscreen {
        padding-inline: 0.42rem !important;
    }

    .comet-page-hero-copy h1,
    .comet-page-hero-copy .fs-3 {
        font-size: 1.45rem !important;
    }

    .comet-page-hero-copy .text-secondary,
    .comet-page-header p {
        font-size: 0.88rem;
    }

    .comet-opportunity-context-head {
        align-items: flex-start;
    }

    .comet-opportunity-context-head h2 {
        font-size: 1rem;
    }

    .comet-opportunity-card {
        padding: 1rem !important;
    }

    .comet-opportunity-card .btn {
        width: 100%;
    }

    .comet-opportunity-category-list {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.48rem;
        margin-inline: 0;
        padding: 0;
        overflow: visible;
    }

    .comet-opportunity-filter-chip {
        width: 100%;
        min-width: 0;
        justify-content: flex-start;
        padding-inline: 0.72rem;
    }

    .comet-opportunity-context-list {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        overflow: visible;
    }

    .comet-opportunity-context-list .comet-opportunity-event-card {
        width: 100%;
    }

    .comet-opportunity-context-list .comet-opportunity-event-card:nth-child(n + 3) {
        display: none;
    }

    .comet-event-advanced-grid {
        grid-template-columns: 1fr;
    }

    .comet-event-controls {
        padding: 0.9rem !important;
    }

    .comet-event-filter-group .d-flex {
        flex-wrap: nowrap !important;
        overflow-x: auto;
        padding-bottom: 0.1rem;
        scrollbar-width: none;
    }

    .comet-event-filter-group .d-flex::-webkit-scrollbar {
        display: none;
    }

    .comet-event-filter-group .comet-filter-pill {
        flex: 0 0 auto;
    }

    .comet-event-quick-search {
        grid-template-columns: 1fr 1fr;
    }

    .comet-event-quick-search .form-control,
    .comet-event-quick-search .form-label,
    .comet-event-result-count {
        grid-column: 1 / -1;
    }

    .comet-feed-article .content-article {
        font-size: 0.94rem;
        line-height: 1.58;
    }
}

/* Search stays task-first: scope, filters, then optional saved views. */
.comet-search-context-shell {
    padding: 0.85rem 0.95rem 0.92rem;
}

.comet-search-context-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.comet-search-context-title {
    color: var(--comet-ink, #17143d);
    font-size: 0.98rem;
    font-weight: 750;
}

.comet-search-context-nav-secondary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.5rem;
}

.comet-search-context-nav-secondary .comet-search-context-link {
    width: 100%;
    min-height: 2.55rem;
}

.comet-saved-searches {
    padding-top: 0.72rem;
}

.comet-saved-search-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    min-height: 2.25rem;
    color: var(--comet-primary, #4a3fa8);
    font-size: 0.86rem;
    font-weight: 700;
    cursor: pointer;
    list-style: none;
}

.comet-saved-search-summary::-webkit-details-marker {
    display: none;
}

.comet-saved-search-summary::after {
    content: "+";
    display: grid;
    width: 1.7rem;
    height: 1.7rem;
    place-items: center;
    border: 1px solid var(--comet-border, #e7e3f2);
    border-radius: 50%;
    background: var(--comet-surface-raised);
    color: var(--comet-primary, #4a3fa8);
    font-size: 1rem;
    font-weight: 500;
}

.comet-saved-searches[open] .comet-saved-search-summary::after {
    content: "\2212";
}

.comet-saved-search-count {
    margin-left: auto;
    padding: 0.14rem 0.5rem;
    border-radius: 999px;
    background: var(--comet-primary-soft-2, #f1efff);
    color: var(--comet-primary, #4a3fa8);
    font-size: 0.72rem;
}

.comet-saved-search-body {
    padding-top: 0.65rem;
}

/* Bootstrap rows stay inside the simplified one-column shell. */
.main-fullscreen .row,
.fs-main.fs-main--wide .row {
    max-width: 100%;
    margin-right: 0;
    margin-left: 0;
}

.comet-chat-dock.is-rail-collapsed .comet-chat-dock-rail {
    visibility: hidden;
}

.comet-chat-dock:not(.is-rail-collapsed) .comet-chat-dock-rail {
    visibility: visible;
}

.comet-group-member--compact > a {
    align-items: center !important;
}

.comet-group-member--compact .position-relative {
    width: 2.65rem;
    height: 2.65rem;
}

.comet-group-member--compact .user-avatar {
    width: 2.65rem;
    height: 2.65rem;
}

.comet-group-report-button {
    min-height: 2.75rem;
}

.comet-group-actions .comet-follow-form {
    width: auto;
}

.comet-group-list-actions .btn,
.comet-group-list-actions .fs-mark {
    white-space: nowrap;
}

@media (max-width: 575.98px) {
    .comet-search-context-shell {
        padding: 0.72rem;
    }

    .comet-search-context-title {
        font-size: 0.9rem;
    }

    .comet-search-context-nav-secondary {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.42rem;
        margin-inline: 0;
        overflow: visible;
    }

    .comet-search-context-nav-secondary .comet-search-context-link {
        width: 100%;
        min-height: 2.45rem;
    }

    .comet-event-filter-group .d-flex {
        flex-wrap: wrap !important;
        overflow: visible;
        padding-bottom: 0;
    }

    .comet-event-filter-group .comet-filter-pill {
        flex: 1 1 auto;
    }

    .comet-group-context {
        display: flex;
        flex-flow: row nowrap;
        align-items: start;
    }

    .comet-group-context > .comet-group-panel {
        flex: 0 0 min(17rem, 84vw);
        height: auto !important;
        align-self: start;
    }

    .comet-group-tabs .nav {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 0.32rem !important;
    }

    .comet-group-tabs .nav-link {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 0;
        padding: 0.58rem 0.2rem;
        font-size: 0.79rem;
        white-space: nowrap;
    }

    .comet-opportunity-search {
        display: grid;
        grid-template-columns: auto auto;
        width: 100%;
    }

    .comet-opportunity-search .form-control {
        grid-column: 1 / -1;
        width: 100%;
        min-width: 0;
    }

    .comet-group-actions {
        flex-direction: row !important;
        align-items: center;
    }

    .comet-group-actions .comet-follow-form,
    .comet-group-actions .btn,
    .comet-group-actions .fs-mark {
        width: auto;
    }

    .comet-save-search-form {
        width: 100%;
    }

    .comet-save-search-form .form-control {
        min-width: 0;
        flex: 1 1 10rem;
    }
}

/* Focused guest entry and consistently aligned desktop navigation. */
.comet-private-card--focused {
    width: min(100%, 50rem);
    padding: clamp(2rem, 5vw, 4rem);
}

.comet-private-card--focused .comet-private-main {
    width: min(100%, 42rem);
    margin-inline: auto;
    text-align: center;
}

.comet-private-card--focused .comet-private-title,
.comet-private-card--focused .comet-private-copy {
    margin-inline: auto;
}

.comet-private-card--focused .comet-private-title {
    max-width: 38rem;
    font-size: clamp(2.15rem, 4.5vw, 3.45rem);
    line-height: 1.02;
}

.comet-private-card--focused .comet-private-copy {
    max-width: 35rem;
    font-size: 1.02rem;
    line-height: 1.65;
}

.comet-private-card--focused.comet-recovery-card {
    width: min(100%, 43rem);
    padding: clamp(1.55rem, 4vw, 2.35rem);
}

.comet-private-card--focused.comet-recovery-card .comet-private-main {
    width: 100%;
    max-width: none;
    margin-inline: 0;
    text-align: left;
}

.comet-private-card--focused.comet-recovery-card .comet-private-title,
.comet-private-card--focused.comet-recovery-card .comet-private-copy {
    margin-inline: 0;
}

.comet-private-card--focused.comet-recovery-card .comet-private-title {
    max-width: 15ch;
    font-size: clamp(2rem, 5vw, 2.7rem);
    line-height: 1.04;
}

.comet-private-card--focused.comet-recovery-card .comet-private-copy {
    max-width: 36rem;
    font-size: 0.96rem;
    line-height: 1.62;
}

.comet-private-card--focused .comet-private-actions {
    justify-content: center;
    margin-top: 1.8rem;
}

.comet-private-card--focused .comet-private-actions .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 10.75rem;
    min-height: 3.1rem;
}

.comet-private-access-note {
    margin-top: 1rem;
    color: #7a748e;
    font-size: 0.82rem;
    line-height: 1.5;
}

.comet-deadline-card-header {
    align-items: center;
}

.comet-sidebar-see-all--button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 4.6rem;
    min-height: 2.2rem;
    padding: 0.38rem 0.72rem;
    border: 1px solid rgba(74, 63, 168, 0.12);
    border-radius: 999px;
    background: var(--comet-surface-raised);
    color: var(--comet-primary-deep);
    font-weight: 700;
}

.comet-sidebar-see-all--button:hover,
.comet-sidebar-see-all--button:focus {
    border-color: rgba(74, 63, 168, 0.24);
    background: var(--comet-primary-soft-2);
    color: var(--comet-primary);
}

@media (min-width: 992px) {
    /* Keep the brand, navigation and utilities inside one height budget. */
    .fs-navbar {
        --comet-nav-row: clamp(44px, 5vh, 48px);
        --comet-nav-gap: clamp(2px, 0.4vh, 5px);
        height: 100vh;
        height: 100dvh;
        padding-block: 0;
        overflow: hidden;
    }

    .fs-navbar .container-fluid {
        align-items: stretch !important;
        height: 100%;
        min-height: 0;
        padding: clamp(6px, 1vh, 12px) 12px;
        gap: 4px;
        overflow-y: auto;
        scrollbar-width: none;
    }

    .fs-navbar .container-fluid::-webkit-scrollbar {
        width: 0;
        display: none;
    }

    .fs-navbar .navbar-brand {
        display: flex;
        align-items: center;
        justify-content: center;
        flex: 0 0 44px;
        align-self: center;
        width: 104px;
        height: 44px;
        padding: 2px;
        margin: 0;
    }

    .fs-navbar .navbar-brand img.comet-brand-wordmark {
        width: 100px;
        height: auto;
        max-height: 38px;
        object-fit: contain;
        box-sizing: border-box;
        padding: 1px 2px 2px;
    }

    .fs-navbar .navbar-collapse {
        flex: 1 0 auto;
        min-height: auto;
        justify-content: space-between;
        overflow: visible;
    }

    .fs-navbar .navbar-collapse,
    .fs-navbar .fs-menus,
    .fs-navbar .fs-menus .nav-item {
        width: 100%;
    }

    .fs-navbar .fs-menus {
        flex: 0 0 auto;
        align-items: stretch;
        margin-block: 0;
        padding-inline: 0;
        gap: var(--comet-nav-gap);
        overflow: visible;
    }

    .fs-navbar .fs-menus .nav-item {
        margin-top: 0 !important;
    }

    .fs-navbar .fs-menus .nav-link {
        display: flex !important;
        width: 100%;
        min-height: var(--comet-nav-row);
        padding: 6px 12px;
        align-items: center;
        border-radius: 0.86rem !important;
        font-size: 0.94rem;
        line-height: 1.25;
    }

    .fs-navbar .fs-menus .nav-link i {
        flex: 0 0 1.2rem;
        width: 1.2rem;
        margin: 0 0.7rem 0 0 !important;
        text-align: center;
    }

    .fs-navbar .fs-menus .nav-link span {
        min-width: 0;
        margin-right: 0 !important;
        overflow-wrap: anywhere;
    }

    .fs-navbar .fs-account {
        display: grid;
        width: 100% !important;
        margin-inline: 0 !important;
        padding-top: 8px;
        gap: 8px;
        text-align: left;
    }

    .fs-navbar .fs-account > .btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        min-height: 2.85rem;
        margin: 0 !important;
        padding: 0.68rem 0.9rem;
        border-radius: 0.86rem;
        font-size: 0.92rem;
        font-weight: 750;
    }

    .fs-navbar .fs-account > .btn:first-child {
        border-color: transparent;
        background: linear-gradient(135deg, var(--comet-action), var(--comet-action-deep));
        color: #fff;
        box-shadow: 0 0.7rem 1.45rem rgba(74, 63, 168, 0.18);
    }

    .fs-navbar .fs-account > .btn + .btn {
        border-color: rgba(74, 63, 168, 0.15);
        background: var(--comet-surface-raised);
        color: var(--comet-primary-deep);
        box-shadow: none;
    }

    .fs-navbar .comet-sidebar-utility {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 4px;
        padding-top: 0;
    }

    .fs-navbar .comet-sidebar-utility--operator {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .fs-navbar .comet-sidebar-utility-btn {
        width: 100%;
        min-width: 0;
        min-height: 44px;
        padding: 6px;
        line-height: 1.25;
        border-radius: 0.78rem;
    }

    .fs-navbar .comet-sidebar-create {
        width: 100%;
        margin-top: 0;
    }

    .fs-navbar .comet-sidebar-create .fs-create {
        width: 100%;
        min-height: 44px;
        padding: 8px 12px;
        font-size: 0.94rem;
        border-radius: 0.86rem !important;
    }
}

@media (min-width: 992px) and (max-height: 740px) {
    body,
    body.comet-has-chat-dock,
    body.comet-has-chat-dock.comet-chat-dock-collapsed {
        /* Five 44px targets fit without compressing icons or hiding actions. */
        --comet-nav-width: max(264px, 16.5rem) !important;
    }

    .fs-navbar .comet-sidebar-utility,
    .fs-navbar .comet-sidebar-utility--operator {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
}

@media (min-width: 992px) and (max-height: 640px) {
    .fs-navbar {
        --comet-nav-gap: 0px;
    }

    .fs-navbar .container-fluid {
        padding-block: 4px;
        gap: 4px;
    }

    .fs-navbar .fs-account {
        padding-top: 4px;
        gap: 6px;
    }
}

@media (max-width: 991.98px) {
    .fs-navbar {
        z-index: 1031;
    }

    .fs-navbar .navbar-brand {
        min-height: 44px;
        min-width: 44px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        margin-inline: 0;
    }

    .fs-navbar .navbar-brand img.comet-brand-wordmark {
        width: 108px;
        height: auto;
        max-height: 44px;
    }

    .fs-navbar .comet-mobile-menu-toggle {
        width: 44px;
        height: 44px;
        padding: 6px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    .fs-navbar .comet-mobile-create {
        min-height: 44px;
        padding: 8px 10px;
        font-size: 0.875rem;
        line-height: 1.2;
    }

    .fs-navbar .navbar-collapse.show {
        max-height: calc(100vh - 4.5rem - env(safe-area-inset-bottom));
        max-height: calc(100dvh - 4.5rem - env(safe-area-inset-bottom));
        overflow-y: auto;
        overscroll-behavior: contain;
        padding: 8px;
    }

    .fs-navbar .fs-menus {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 2px;
        margin: 0;
    }

    .fs-navbar .fs-menus .nav-item {
        min-width: 0;
        margin: 0 !important;
    }

    .fs-navbar .fs-menus .nav-link {
        display: flex !important;
        width: 100%;
        height: 100%;
        min-height: 44px;
        padding: 6px 8px;
        border-radius: 12px !important;
        font-size: 0.875rem;
        line-height: 1.3;
        overflow-wrap: anywhere;
    }

    .fs-navbar .fs-menus .nav-link i {
        flex: 0 0 16px;
        margin: 0 8px 0 0 !important;
    }

    .fs-navbar .fs-menus .nav-link span {
        min-width: 0;
        margin-right: 0 !important;
    }

    .fs-navbar .fs-account {
        margin-block: 8px 0 !important;
        padding: 0;
    }

    .fs-navbar .comet-sidebar-utility,
    .fs-navbar .comet-sidebar-utility--operator {
        grid-template-columns: repeat(auto-fit, minmax(44px, 1fr));
        gap: 4px;
        padding-top: 4px;
    }

    .fs-navbar .comet-sidebar-utility-btn {
        min-height: 44px;
        min-width: 44px;
    }
}

@media (min-width: 576px) and (max-width: 991.98px) and (max-height: 560px) {
    .fs-navbar .fs-menus {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .comet-private-card--focused {
        padding: 2rem 1.15rem;
    }

    .comet-private-card--focused.comet-recovery-card {
        padding: 1.4rem 1rem;
        border-radius: 1.3rem;
    }

    .comet-recovery-form {
        padding: 0.85rem;
    }

    .comet-login-entry-panel {
        grid-template-columns: 1fr;
        padding: 0.9rem;
    }

    .comet-login-entry-panel .btn {
        width: 100%;
        min-width: 0;
    }

    .comet-recovery-card .comet-private-title {
        font-size: clamp(1.85rem, 9vw, 2.35rem);
    }

    .comet-private-card--focused .comet-private-actions {
        display: grid !important;
        grid-template-columns: 1fr;
        width: 100%;
        gap: 0.65rem !important;
    }

    .comet-private-card--focused .comet-private-actions .btn {
        width: 100%;
    }
}

/* COMET clarity pass: compact page heads, progressive disclosure, and one-column reading. */
.comet-simple-page-head {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 0.85rem 1.25rem;
    width: min(calc(100% - 2rem), 62rem);
    margin-inline: auto !important;
    margin-bottom: 1rem;
    padding: 0.7rem 0 1rem;
    border-bottom: 1px solid rgba(36, 31, 69, 0.075);
}

.comet-simple-page-head h1 {
    color: var(--comet-ink, #17143d);
    font-size: clamp(1.55rem, 2.2vw, 1.95rem) !important;
    line-height: 1.08;
    letter-spacing: -0.035em;
}

.comet-simple-page-head p {
    max-width: 42rem;
    color: var(--comet-text-subtle) !important;
    font-size: 0.92rem;
    line-height: 1.5;
}

.comet-simple-page-head--inline {
    align-items: center;
    justify-content: flex-start;
}

.comet-simple-page-actions {
    display: flex;
    align-items: center;
    gap: 0.55rem;
}

.comet-simple-page-actions .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 9rem;
    min-height: 2.7rem;
}

.comet-disclosure-card {
    width: 100%;
    padding: 1rem 1.1rem;
    border: 1px solid var(--comet-card-border, rgba(36, 31, 69, 0.085));
    border-radius: 1rem;
    background: var(--comet-surface);
    box-shadow: 0 0.42rem 1.25rem rgba(44, 34, 98, 0.04);
}

.comet-disclosure-card > summary,
.comet-filter-disclosure > summary {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    min-height: 2rem;
    color: var(--comet-ink, #17143d);
    font-weight: 750;
    cursor: pointer;
    list-style: none;
}

.comet-disclosure-card > summary::-webkit-details-marker,
.comet-filter-disclosure > summary::-webkit-details-marker {
    display: none;
}

.comet-disclosure-card > summary::after,
.comet-filter-disclosure > summary::after {
    content: "+";
    display: grid;
    flex: 0 0 1.8rem;
    width: 1.8rem;
    height: 1.8rem;
    margin-left: auto;
    place-items: center;
    border: 1px solid rgba(74, 63, 168, 0.14);
    border-radius: 50%;
    color: var(--comet-primary, #4a3fa8);
    background: var(--comet-surface-raised);
    font-size: 1rem;
    font-weight: 500;
}

.comet-disclosure-card[open] > summary::after,
.comet-filter-disclosure[open] > summary::after {
    content: "\2212";
}

.comet-event-overview-summary {
    justify-content: flex-start;
}

.comet-event-overview-summary > :nth-child(2) {
    margin-left: auto;
}

.comet-event-overview-summary::after {
    margin-left: 0 !important;
}

.comet-context-section {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(36, 31, 69, 0.075);
}

/* Opportunities: a single, consistent board with compact controls. */
.comet-simple-page-head > .comet-opportunity-filters {
    flex: 0 0 100%;
    width: 100%;
}

.comet-opportunity-filters {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0.75rem;
    margin-top: 0.35rem;
    padding: 0.9rem;
    border-radius: 1rem;
}

.comet-opportunity-filter-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    min-width: 0;
}

.comet-opportunity-category-list {
    min-width: 0;
}

.comet-opportunity-filter-chip {
    min-height: 2.35rem;
    padding: 0.45rem 0.78rem;
    font-size: 0.84rem;
}

.comet-opportunity-result-count {
    grid-column: auto;
    grid-row: auto;
    flex: 0 0 auto;
}

.comet-opportunity-search {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 0.55rem;
    width: 100%;
}

.comet-opportunity-search .form-control,
.comet-opportunity-search .btn {
    width: 100%;
    min-height: 2.7rem;
}

.comet-opportunity-search .form-control {
    min-width: 0;
}

.comet-opportunity-list,
.comet-opportunity-list > div,
.comet-opportunity-card,
.comet-opportunity-notes {
    width: 100%;
    max-width: none;
}

.comet-opportunity-board {
    width: min(calc(100% - 2rem), 62rem);
    max-width: 62rem;
}

.comet-opportunity-card {
    position: relative;
    padding: 1rem 1.1rem !important;
}

.comet-opportunity-card h2.fs-5 {
    max-width: 46rem;
    color: var(--comet-ink, #17143d);
    font-size: 1.08rem !important;
    line-height: 1.32;
}

.comet-opportunity-card p {
    max-width: 48rem;
    font-size: 0.9rem;
    line-height: 1.5;
}

.comet-opportunity-meta-line {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem 0.5rem;
    color: var(--comet-text-subtle);
    font-size: 0.78rem;
}

.comet-opportunity-meta-line span + span::before {
    margin-right: 0.5rem;
    color: #c0bacb;
    content: "\00b7";
}

/* Search: three essential fields first; all secondary controls stay optional. */
.comet-search-panel {
    display: grid;
    gap: 0.9rem;
}

.comet-search-primary-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.8rem;
}

.comet-filter-disclosure {
    padding-top: 0.8rem;
    border-top: 1px solid rgba(36, 31, 69, 0.075);
}

.comet-filter-disclosure > summary {
    width: 100%;
    color: var(--comet-primary-deep, #382d8f);
    font-size: 0.88rem;
}

.comet-search-advanced-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.8rem;
    padding-top: 0.85rem;
}

.comet-search-checks {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.25rem 1rem;
    padding-top: 0.85rem;
}

.comet-search-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.55rem;
}

.comet-search-actions .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 8.5rem;
    min-height: 2.7rem;
}

.comet-profile-research-disclosure {
    width: min(calc(100% - 2rem), 62rem);
    max-width: 62rem;
}

.comet-profile-research-disclosure > summary {
    font-size: 1rem;
}

.comet-messages-grid > [class*="col-"] {
    width: 100%;
}

.comet-messages-grid,
.comet-event-controls,
.comet-event-list,
.comet-group-list-shell,
.comet-search-results,
.comet-notification-tabs {
    width: min(calc(100% - 2rem), 62rem);
    max-width: 62rem;
    margin-inline: auto !important;
}

.comet-search-context-shell,
.comet-search-panel {
    width: 100%;
    max-width: 62rem;
    margin-inline: auto;
}

.comet-notification-overview,
.comet-event-rhythm-card {
    width: min(calc(100% - 2rem), 62rem);
    max-width: 62rem;
    margin-inline: auto !important;
}

@media (max-width: 991.98px) {
    .comet-simple-page-head {
        width: calc(100% - 1.1rem);
    }

    .comet-opportunity-board.mx-3,
    .comet-messages-grid,
    .comet-event-controls,
    .comet-event-list,
    .comet-group-list-shell,
    .comet-search-results,
    .comet-notification-tabs,
    .comet-notification-overview,
    .comet-event-rhythm-card {
        width: calc(100% - 1.1rem);
        margin-inline: auto !important;
    }

    .comet-search-primary-grid {
        grid-template-columns: 1fr;
    }

    .comet-group-context {
        display: grid;
        grid-auto-flow: row;
        grid-template-columns: minmax(0, 1fr);
        grid-auto-columns: initial;
        gap: 0.75rem;
        overflow: visible;
    }

    .comet-group-context > .comet-group-panel {
        width: 100%;
        max-width: none;
        height: auto;
        margin-bottom: 0 !important;
    }
}

@media (max-width: 575.98px) {
    .comet-simple-page-head {
        align-items: stretch;
        width: calc(100% - 0.84rem);
        padding-top: 0.55rem;
    }

    .comet-simple-page-actions,
    .comet-simple-page-actions .btn {
        width: 100%;
    }

    .comet-event-overview-summary {
        align-items: flex-start !important;
    }

    .comet-event-overview-summary > :nth-child(2) {
        display: none !important;
    }

    .comet-opportunity-filter-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .comet-opportunity-category-list {
        display: flex;
        flex-wrap: nowrap;
        width: 100%;
        margin: 0;
        padding: 0 0 0.1rem;
        overflow-x: auto;
        scrollbar-width: none;
    }

    .comet-opportunity-category-list::-webkit-scrollbar {
        display: none;
    }

    .comet-opportunity-filter-chip {
        flex: 0 0 auto;
        width: auto;
        justify-content: center;
    }

    .comet-opportunity-search {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .comet-opportunity-search .form-control {
        grid-column: 1 / -1;
    }

    .comet-opportunity-search button:last-child {
        grid-column: 1 / -1;
    }

    .comet-search-advanced-grid,
    .comet-search-checks {
        grid-template-columns: 1fr;
    }

    .comet-search-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .comet-search-actions .btn {
        width: 100%;
        min-width: 0;
    }

    .comet-search-actions .comet-search-results-note {
        grid-column: 1 / -1;
        margin-left: 0 !important;
    }

    .comet-profile-research-disclosure {
        width: calc(100% - 0.84rem);
    }
}

/* Keep page headings below the fixed compact header on web and Android. */
@media (max-width: 991.98px) {
    .fs-main,
    .main-fullscreen:not(.comet-main-private) {
        margin-top: 3.5rem;
    }
}
@media (max-width: 575.98px) {
    .comet-save-search-form {
        grid-template-columns: minmax(0, 1fr);
        width: 100%;
    }

    .comet-save-search-form .btn,
    .comet-save-search-form .form-control {
        width: 100%;
    }
}

/* Compact social-style comments keep the writing area usable on phones. */
@media (max-width: 575.98px) {
    .comet-feed-article .interaction {
        margin-inline: 0.45rem !important;
        padding-inline: 0.45rem !important;
    }

    .comet-comment-composer__row {
        grid-template-columns: minmax(0, 1fr);
    }

    .comet-comment-composer__avatar {
        display: none;
    }

    .comet-comment-composer__field {
        padding-inline: 0.66rem 0.4rem;
    }

    .comet-comment-composer__tool {
        width: 2.5rem;
        height: 2.5rem;
    }

    .comet-comment-composer__submit {
        min-width: 2.75rem;
        width: 2.75rem;
        min-height: 2.75rem;
        padding-inline: 0;
    }

    .comet-comment-composer__submit span {
        display: none;
    }

    .comet-comment-replying,
    .comet-comment-composer__status {
        margin-left: 0;
    }

    .comet-comment-composer__option span {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
    }

    .comet-feed-comment {
        grid-template-columns: 2rem minmax(0, 1fr);
        gap: 0.48rem;
    }

    .comet-feed-comment__avatar-wrap,
    .comet-feed-comment__avatar {
        width: 2rem;
        height: 2rem;
    }

    .comet-feed-comment__bubble {
        padding: 0.58rem 0.68rem 0.62rem;
    }
}

/* Dark-mode safety net for custom surfaces that sit outside Bootstrap tokens. */
html[data-comet-theme="dark"] .profile-nickname h1 {
    color: #7de5d3 !important;
}

html[data-comet-theme="dark"] .interaction .btn-inter,
html[data-comet-theme="dark"] .comet-tabbar-link,
html[data-comet-theme="dark"] .comet-tabbar-label {
    color: #cbc6dd;
}

html[data-comet-theme="dark"] .comet-mobile-menu-toggle {
    border-color: var(--comet-border);
    color: var(--comet-text-strong);
}

html[data-comet-theme="dark"] .btn-close {
    filter: invert(1) grayscale(100%) brightness(180%);
    opacity: 0.72;
}

html[data-comet-theme="dark"] .btn-close:hover,
html[data-comet-theme="dark"] .btn-close:focus-visible {
    opacity: 1;
}

html[data-comet-theme="dark"] .interaction .btn-inter:hover {
    color: #d9d2ff !important;
    background: var(--comet-surface-hover);
}

html[data-comet-theme="dark"] .nav-pills .nav-link.active,
html[data-comet-theme="dark"] .comet-filter-pill.active,
html[data-comet-theme="dark"] .comet-filter-pill.is-active {
    border-color: transparent !important;
    background: #5543bd !important;
    color: #ffffff !important;
}

html[data-comet-theme="dark"] .comet-profile-card,
html[data-comet-theme="dark"] .comet-search-panel,
html[data-comet-theme="dark"] .comet-settings-panel,
html[data-comet-theme="dark"] .comet-contribution-strip > div,
html[data-comet-theme="dark"] .comet-moderation-card,
html[data-comet-theme="dark"] .comet-form-section,
html[data-comet-theme="dark"] .comet-composer__surface,
html[data-comet-theme="dark"] .comet-composer__editor-shell,
html[data-comet-theme="dark"] .comet-composer__guide-card,
html[data-comet-theme="dark"] .comet-group-list-item,
html[data-comet-theme="dark"] .comet-message-panel-header,
html[data-comet-theme="dark"] .comet-message-thread-header,
html[data-comet-theme="dark"] .comet-conversation-row,
html[data-comet-theme="dark"] .comet-conversation-list-shell,
html[data-comet-theme="dark"] .comet-conversation-stream {
    border-color: var(--comet-border) !important;
    color: var(--comet-text-body);
}

html[data-comet-theme="dark"] .comet-profile-card-title,
html[data-comet-theme="dark"] .comet-profile-headline,
html[data-comet-theme="dark"] .comet-message-panel-header,
html[data-comet-theme="dark"] .comet-conversation-row h5,
html[data-comet-theme="dark"] .comet-composer__helper-title,
html[data-comet-theme="dark"] .comet-composer__guide-card strong {
    color: var(--comet-text-strong) !important;
}

html[data-comet-theme="dark"] .comet-profile-body,
html[data-comet-theme="dark"] .comet-profile-kv-item,
html[data-comet-theme="dark"] .comet-group-list-description,
html[data-comet-theme="dark"] .conversation-brief,
html[data-comet-theme="dark"] .comet-search-panel .form-label,
html[data-comet-theme="dark"] .comet-search-panel .form-check-label {
    color: var(--comet-text-body) !important;
}

@media (max-width: 991.98px) {
    html[data-comet-theme="dark"] .fs-navbar .navbar-collapse.show {
        border-color: var(--comet-border);
        background: rgba(26, 23, 38, 0.98);
        box-shadow: 0 18px 38px rgba(0, 0, 0, 0.34);
    }
}

/* Post detail uses the same compact, progressively loaded discussion as the feed. */
.comet-post-detail-page {
    width: min(calc(100% - 1.5rem), 62rem);
    margin: 0 auto 3rem;
}

.comet-post-detail-shell {
    overflow: hidden;
    border: 1px solid var(--comet-border);
    border-radius: 1.35rem;
    background: var(--comet-surface);
    box-shadow: var(--comet-shadow) !important;
}

.comet-post-detail-shell > .comet-inline-comment-composer {
    width: auto;
    margin: 0 1rem 1rem;
    padding-top: 1rem;
    border-top: 1px solid var(--comet-border);
}

.comet-post-detail-comments {
    margin-top: 1rem;
    padding: clamp(1rem, 2.4vw, 1.4rem);
    border: 1px solid var(--comet-border);
    border-radius: 1.35rem;
    background: var(--comet-surface);
    box-shadow: var(--comet-shadow);
}

.comet-post-detail-comments__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.85rem;
    padding-bottom: 0.85rem;
    border-bottom: 1px solid var(--comet-border);
}

.comet-post-detail-comments__head h2 {
    margin: 0.16rem 0 0;
    color: var(--comet-text-strong);
    font-size: 1.15rem;
}

.comet-post-detail-comments__count {
    display: inline-flex;
    min-width: 2.2rem;
    min-height: 2.2rem;
    align-items: center;
    justify-content: center;
    padding: 0.32rem 0.7rem;
    border-radius: 999px;
    background: var(--comet-primary-soft);
    color: var(--comet-primary-deep);
    font-size: 0.82rem;
    font-weight: 800;
}

/* Late dark-theme rules intentionally win over responsive light translucencies. */
html[data-comet-theme="dark"] body.comet-focus-mode .main-fullscreen {
    background: radial-gradient(circle at 85% 5%, rgba(255, 196, 71, 0.06), transparent 24%), var(--bs-body-bg) !important;
}

html[data-comet-theme="dark"] .comet-chat-dock-rail,
html[data-comet-theme="dark"] .comet-chat-dock-panel,
html[data-comet-theme="dark"] .comet-chat-dock-tray-item {
    border-color: var(--comet-border) !important;
    background: color-mix(in srgb, var(--comet-surface-raised) 96%, transparent) !important;
    color: var(--comet-text-body);
    box-shadow: 0 1.2rem 3rem rgba(0, 0, 0, 0.34);
}

html[data-comet-theme="dark"] .comet-chat-dock-item {
    background: var(--comet-surface-soft) !important;
    box-shadow: inset 0 0 0 1px var(--comet-border);
}

html[data-comet-theme="dark"] .comet-chat-dock-item:hover,
html[data-comet-theme="dark"] .comet-chat-dock-item:focus,
html[data-comet-theme="dark"] .comet-chat-dock-item.active {
    background: var(--comet-surface-hover) !important;
}

html[data-comet-theme="dark"] .comet-chat-dock-title,
html[data-comet-theme="dark"] .comet-chat-dock-item-title,
html[data-comet-theme="dark"] .comet-chat-dock-panel-title,
html[data-comet-theme="dark"] .comet-chat-dock-tray-item {
    color: var(--comet-text-strong) !important;
}

html[data-comet-theme="dark"] .comet-chat-dock-tab:not(.active),
html[data-comet-theme="dark"] .comet-chat-dock-icon,
html[data-comet-theme="dark"] .comet-chat-dock-form .conversation-send-textarea {
    border-color: var(--comet-border);
    background: var(--comet-surface-soft);
    color: var(--comet-text-body);
}

html[data-comet-theme="dark"] .comet-help-scope,
html[data-comet-theme="dark"] .comet-event-advanced,
html[data-comet-theme="dark"] .comet-sidebar-event,
html[data-comet-theme="dark"] .comet-registration-card,
html[data-comet-theme="dark"] .comet-registration-status-card,
html[data-comet-theme="dark"] .comet-access-facts > div,
html[data-comet-theme="dark"] .comet-access-answers > div,
html[data-comet-theme="dark"] .comet-invitation-form,
html[data-comet-theme="dark"] .comet-opportunity-event-card,
html[data-comet-theme="dark"] .comet-composer__audience {
    border-color: var(--comet-border) !important;
    background: var(--comet-surface-soft) !important;
    color: var(--comet-text-body) !important;
}

html[data-comet-theme="dark"] .comet-event-card-cover,
html[data-comet-theme="dark"] .comet-event-hero-banner {
    border-color: var(--comet-border) !important;
    background: color-mix(in srgb, var(--comet-event-accent, var(--comet-primary)) 24%, var(--comet-surface-raised)) !important;
}

html[data-comet-theme="dark"] .comet-sidebar-utility-btn:hover,
html[data-comet-theme="dark"] .comet-sidebar-utility-btn:focus-visible,
html[data-comet-theme="dark"] .comet-sidebar-utility-btn.active {
    border-color: rgba(190, 177, 255, 0.24) !important;
    background: var(--comet-surface-hover) !important;
    color: var(--comet-text-strong) !important;
}

html[data-comet-theme="dark"] .fs-hover:hover,
html[data-comet-theme="dark"] .fs-hover:focus-within,
html[data-comet-theme="dark"] .dropdown-item:hover,
html[data-comet-theme="dark"] .dropdown-item:focus,
html[data-comet-theme="dark"] .list-group-item-action:hover,
html[data-comet-theme="dark"] .list-group-item-action:focus {
    background: var(--comet-surface-hover) !important;
    color: var(--comet-text-body) !important;
}

html[data-comet-theme="dark"] .bg-light,
html[data-comet-theme="dark"] .bg-light-subtle,
html[data-comet-theme="dark"] .text-bg-light {
    background-color: var(--comet-surface-soft) !important;
    color: var(--comet-text-body) !important;
}

html[data-comet-theme="dark"] .border-light {
    border-color: var(--comet-border) !important;
}

html[data-comet-theme="dark"] .text-black-50 {
    color: var(--comet-text-subtle) !important;
}

html[data-comet-theme="dark"] .badge-bg-info .badge {
    background-color: var(--comet-info-soft) !important;
    color: var(--comet-info-text) !important;
}

html[data-comet-theme="dark"] .comet-search-context-link:hover,
html[data-comet-theme="dark"] .comet-search-context-link:focus,
html[data-comet-theme="dark"] .comet-sidebar-link-item:hover,
html[data-comet-theme="dark"] .comet-invitation-created,
html[data-comet-theme="dark"] .comet-post-body blockquote,
html[data-comet-theme="dark"] .comet-post-body code {
    border-color: var(--comet-border) !important;
    background: var(--comet-surface-hover) !important;
    color: var(--comet-text-body) !important;
}

html[data-comet-theme="dark"] .comet-search-context-link.active,
html[data-comet-theme="dark"] .comet-search-context-link.active:hover,
html[data-comet-theme="dark"] .comet-search-context-link.active:focus {
    border-color: transparent !important;
    background: #5543bd !important;
    color: #ffffff !important;
}

@media (max-width: 767.98px) {
    .comet-post-detail-page {
        width: calc(100% - 0.84rem);
    }

    .comet-post-detail-shell,
    .comet-post-detail-comments {
        border-radius: 1.05rem;
    }

    .comet-post-detail-shell > .comet-inline-comment-composer {
        margin-inline: 0.72rem;
    }
}

/* Notification inbox */
.comet-notification-page {
    padding-bottom: 2rem;
}

.comet-notification-head {
    align-items: flex-end;
    gap: 1.25rem;
}

.comet-notification-head p {
    max-width: 38rem;
    line-height: 1.55;
}

.comet-notification-all {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    min-height: 2.8rem;
    padding-inline: 1.08rem;
    border: 1px solid var(--comet-border);
    background: var(--comet-surface-raised);
    color: var(--comet-primary);
    font-weight: 700;
    box-shadow: 0 0.55rem 1.35rem rgba(46, 34, 110, 0.06);
}

.comet-notification-all:hover,
.comet-notification-all:focus-visible {
    border-color: rgba(74, 63, 168, 0.22);
    background: var(--comet-surface-hover);
    color: var(--comet-primary-deep);
}

.comet-notification-all.is-active {
    border-color: transparent;
    background: var(--comet-primary);
    color: #fff;
}

.comet-notification-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    padding: 0.68rem;
    border: 1px solid var(--comet-border);
    border-radius: 1.2rem;
    background: color-mix(in srgb, var(--comet-surface-raised) 94%, transparent);
    box-shadow: var(--comet-shadow);
}

.comet-notification-tabs .nav-link {
    display: inline-flex;
    flex: 1 1 7rem;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    min-height: 2.55rem;
    padding: 0.6rem 0.86rem !important;
    border: 1px solid transparent;
    border-radius: 0.82rem !important;
    color: var(--comet-text-body);
    font-weight: 700;
    white-space: nowrap;
}

.comet-notification-tabs .nav-link:hover,
.comet-notification-tabs .nav-link:focus-visible {
    border-color: var(--comet-border);
    background: var(--comet-surface-hover);
    color: var(--comet-primary);
}

.comet-notification-tabs .nav-link.active {
    border-color: transparent;
    background: var(--comet-primary);
    color: #fff;
    box-shadow: 0 0.5rem 1rem rgba(74, 63, 168, 0.16);
}

.comet-notification-toolbar,
.comet-notification-list,
.comet-notification-empty {
    width: min(calc(100% - 2rem), 62rem);
    max-width: 62rem;
    margin-inline: auto !important;
}

.comet-notification-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.85rem !important;
    padding: 0.8rem 0.95rem;
    border: 1px solid var(--comet-border);
    border-radius: 1rem;
    background: var(--comet-surface-soft);
}

.comet-notification-list {
    display: grid;
    gap: 0.72rem;
    border: 0;
    background: transparent;
}

.comet-notification-item {
    position: relative;
    gap: 0.92rem;
    min-width: 0;
    min-height: 6.2rem;
    padding: 1.08rem 1.15rem !important;
    border: 1px solid var(--comet-border) !important;
    border-radius: 1.15rem !important;
    background: linear-gradient(180deg, var(--comet-surface-raised), var(--comet-surface)) !important;
    color: var(--comet-text-body);
    box-shadow: 0 0.55rem 1.35rem rgba(46, 34, 110, 0.055);
    transition: border-color 0.18s ease, background 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}

.comet-notification-item:hover,
.comet-notification-item:focus-within {
    border-color: rgba(74, 63, 168, 0.2) !important;
    background: linear-gradient(180deg, var(--comet-surface-raised), var(--comet-surface-hover)) !important;
    box-shadow: 0 0.85rem 1.8rem rgba(46, 34, 110, 0.09);
    transform: translateY(-1px);
}

.comet-notification-item.is-unread {
    border-color: rgba(74, 63, 168, 0.22) !important;
    background: linear-gradient(135deg, var(--comet-primary-soft-2), var(--comet-surface-raised)) !important;
}

.comet-notification-unread-dot {
    position: absolute;
    top: 1rem;
    right: 1rem;
    width: 0.62rem;
    height: 0.62rem;
    border: 2px solid var(--comet-surface-raised);
    border-radius: 999px;
    background: var(--comet-coral);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--comet-coral) 16%, transparent);
}

.comet-notification-avatar {
    flex: 0 0 auto;
    width: 3.15rem !important;
    height: 3.15rem !important;
    margin: 0 !important;
    border: 1px solid color-mix(in srgb, var(--comet-primary) 16%, var(--comet-border));
    background: var(--comet-surface-soft);
    object-fit: cover;
}

.comet-notification-avatar--brand {
    padding: 0.56rem;
    object-fit: contain;
}

.comet-notification-item-body {
    min-width: 0;
    padding-right: 0.75rem;
}

.comet-notification-item .user-nickname,
.comet-notification-item .user-link,
.comet-notification-item .fw-semibold {
    color: var(--comet-text-strong);
}

.comet-notification-item .user-info {
    margin-bottom: 0.32rem;
}

.comet-notification-item .user-secondary {
    gap: 0.38rem;
    color: var(--comet-text-body);
    line-height: 1.48;
}

.comet-notification-time {
    margin-left: 0.45rem;
    background: var(--comet-neutral-soft);
    color: var(--comet-neutral-text);
    vertical-align: middle;
}

.comet-notification-item .comment-post,
.comet-notification-item .content-group > a {
    border-color: var(--comet-border);
    background: var(--comet-surface-soft);
    color: var(--comet-text-body);
}

.comet-notification-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.45rem;
    padding: 2.35rem 1.25rem;
    border: 1px solid var(--comet-border);
    border-radius: 1.35rem;
    background: linear-gradient(180deg, var(--comet-surface-raised), var(--comet-surface));
    box-shadow: var(--comet-shadow);
}

.comet-notification-empty-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    margin-bottom: 0.2rem;
    border-radius: 1rem;
    background: var(--comet-primary-soft);
    color: var(--comet-primary);
    font-size: 1.2rem;
}

.comet-registration-mail-note {
    display: flex;
    align-items: flex-start;
    gap: 0.58rem;
    max-width: 38rem;
    margin: 1.35rem auto 0 !important;
    padding: 0.88rem 1rem;
    border: 1px solid var(--comet-border);
    border-radius: 1rem;
    background: var(--comet-surface-soft);
    color: var(--comet-text-subtle);
    font-size: 0.86rem !important;
    line-height: 1.5 !important;
    text-align: left;
}

.comet-registration-mail-note i {
    margin-top: 0.18rem;
    color: var(--comet-primary);
}

html[data-comet-theme="dark"] .comet-notification-tabs,
html[data-comet-theme="dark"] .comet-notification-toolbar,
html[data-comet-theme="dark"] .comet-notification-empty,
html[data-comet-theme="dark"] .comet-notification-item {
    border-color: var(--comet-border) !important;
    background: var(--comet-surface-raised) !important;
    color: var(--comet-text-body) !important;
}

html[data-comet-theme="dark"] .comet-notification-item.is-unread {
    border-color: rgba(190, 177, 255, 0.3) !important;
    background: linear-gradient(135deg, #28223f, var(--comet-surface-raised)) !important;
}

html[data-comet-theme="dark"] .comet-notification-item:hover,
html[data-comet-theme="dark"] .comet-notification-item:focus-within {
    border-color: rgba(190, 177, 255, 0.3) !important;
    background: var(--comet-surface-hover) !important;
}

html[data-comet-theme="dark"] .comet-notification-all {
    border-color: var(--comet-border);
    background: var(--comet-surface-raised);
    color: var(--comet-chip-text);
}

html[data-comet-theme="dark"] .comet-notification-all:hover,
html[data-comet-theme="dark"] .comet-notification-all:focus-visible,
html[data-comet-theme="dark"] .comet-notification-tabs .nav-link:hover,
html[data-comet-theme="dark"] .comet-notification-tabs .nav-link:focus-visible {
    border-color: rgba(190, 177, 255, 0.28);
    background: var(--comet-surface-hover);
    color: var(--comet-text-strong);
}

html[data-comet-theme="dark"] .comet-notification-all.is-active,
html[data-comet-theme="dark"] .comet-notification-tabs .nav-link.active {
    border-color: transparent;
    background: #5c49c6;
    color: #fff;
}

html[data-comet-theme="dark"] .comet-notification-item .comment-post,
html[data-comet-theme="dark"] .comet-notification-item .content-group > a,
html[data-comet-theme="dark"] .comet-notification-time {
    border-color: var(--comet-border) !important;
    background: var(--comet-surface-soft) !important;
    color: var(--comet-text-body) !important;
}

@media (max-width: 575.98px) {
    .comet-notification-head {
        gap: 0.9rem;
    }

    .comet-notification-all {
        width: 100%;
    }

    .comet-notification-tabs {
        flex-wrap: nowrap;
        width: calc(100% - 0.84rem);
        padding: 0.54rem;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        scrollbar-width: thin;
    }

    .comet-notification-tabs .nav-link {
        flex: 0 0 auto;
        min-width: 7.2rem;
    }

    .comet-notification-toolbar,
    .comet-notification-list,
    .comet-notification-empty {
        width: calc(100% - 0.84rem);
    }

    .comet-notification-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .comet-notification-toolbar .btn {
        width: 100%;
        min-height: 2.7rem;
    }

    .comet-notification-item {
        gap: 0.72rem;
        min-height: 5.7rem;
        padding: 0.92rem !important;
        border-radius: 1rem !important;
    }

    .comet-notification-avatar {
        width: 2.75rem !important;
        height: 2.75rem !important;
    }

    .comet-notification-item-body {
        padding-right: 0.35rem;
    }

    .comet-notification-time {
        display: inline-flex;
        margin-top: 0.35rem;
        margin-left: 0;
    }
}

/* Personalized opportunities and member resource library */
.comet-opportunity-shell,
.comet-resource-shell {
    width: min(1240px, calc(100% - 2rem));
    margin: 1.25rem auto 3rem;
}

.comet-opportunity-hero,
.comet-resource-hero {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1.5rem;
    padding: clamp(1.4rem, 3vw, 2.4rem);
    border: 1px solid var(--comet-border);
    border-radius: var(--comet-card-radius-lg);
    background:
        radial-gradient(circle at 86% 0%, color-mix(in srgb, var(--comet-gold) 19%, transparent), transparent 28%),
        linear-gradient(135deg, var(--comet-surface-raised), var(--comet-primary-soft-2));
    color: var(--comet-text-body);
    box-shadow: var(--comet-shadow);
}

.comet-opportunity-hero h1,
.comet-resource-hero h1 {
    max-width: 47rem;
    margin: 0.35rem 0 0.65rem;
    color: var(--comet-text-strong);
    font-size: clamp(1.85rem, 4vw, 3.2rem);
    line-height: 1.06;
}

.comet-opportunity-hero p,
.comet-resource-hero p {
    max-width: 50rem;
    margin: 0;
    color: var(--comet-text-subtle);
    line-height: 1.6;
}

.comet-opportunity-hero-actions {
    display: flex;
    flex: 0 0 auto;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.55rem;
}

.comet-opportunity-controls,
.comet-resource-controls {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin: 1rem 0;
    padding: 1rem;
    border: 1px solid var(--comet-border);
    border-radius: 1.35rem;
    background: var(--comet-surface-raised);
    box-shadow: var(--comet-shadow);
}

.comet-opportunity-shell .comet-opportunity-category-list,
.comet-resource-shell .comet-opportunity-category-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.comet-opportunity-shell .comet-opportunity-filter-chip,
.comet-resource-shell .comet-opportunity-filter-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.42rem;
    min-height: 2.55rem;
    padding: 0.62rem 0.95rem;
    border: 1px solid var(--comet-border);
    border-radius: 999px;
    background: var(--comet-surface-soft);
    color: var(--comet-chip-text);
    font-weight: 700;
    text-decoration: none;
}

.comet-opportunity-shell .comet-opportunity-filter-chip:hover,
.comet-opportunity-shell .comet-opportunity-filter-chip:focus-visible,
.comet-resource-shell .comet-opportunity-filter-chip:hover,
.comet-resource-shell .comet-opportunity-filter-chip:focus-visible {
    border-color: color-mix(in srgb, var(--comet-primary) 30%, var(--comet-border));
    background: var(--comet-surface-hover);
    color: var(--comet-primary);
}

.comet-opportunity-shell .comet-opportunity-filter-chip.is-active,
.comet-resource-shell .comet-opportunity-filter-chip.is-active {
    border-color: transparent;
    background: var(--comet-action);
    color: #fff;
}

.comet-opportunity-shell .comet-opportunity-search {
    display: grid;
    grid-template-columns: minmax(14rem, 1.5fr) minmax(11rem, 0.8fr) minmax(9rem, 0.55fr) auto auto;
    align-items: end;
    gap: 0.65rem;
}

.comet-field-stack {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 0.35rem;
}

.comet-field-stack label,
.comet-track-form > label {
    color: var(--comet-text-subtle);
    font-size: 0.75rem;
    font-weight: 750;
    letter-spacing: 0.035em;
}

.comet-opportunity-shell .form-control,
.comet-opportunity-shell .form-select,
.comet-resource-shell .form-control {
    min-height: 2.8rem;
    border-color: var(--comet-border);
    border-radius: 0.9rem;
    background: var(--comet-surface-soft);
    color: var(--comet-text-body);
}

.comet-opportunity-control-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding-top: 0.85rem;
    border-top: 1px solid var(--comet-border);
    color: var(--comet-text-subtle);
    font-size: 0.84rem;
}

.comet-opportunity-control-footer .form-control {
    width: min(15rem, 100%);
    min-height: 2.35rem;
}

.comet-opportunity-shell .comet-opportunity-list {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
}

.comet-opportunity-shell .comet-opportunity-card--ranked {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(15rem, 19rem);
    gap: 1.25rem;
    min-height: 0 !important;
    padding: clamp(1rem, 2.5vw, 1.45rem) !important;
    border: 1px solid var(--comet-border) !important;
    border-radius: 1.35rem !important;
    background: var(--comet-surface-raised) !important;
    color: var(--comet-text-body) !important;
    box-shadow: var(--comet-shadow);
}

.comet-opportunity-card--ranked h2 {
    margin: 0 0 0.55rem;
    font-size: clamp(1.1rem, 2vw, 1.35rem);
    line-height: 1.25;
}

.comet-opportunity-card--ranked h2 a {
    color: var(--comet-text-strong) !important;
    text-decoration: none;
}

.comet-opportunity-card--ranked h2 a:hover,
.comet-opportunity-card--ranked h2 a:focus-visible {
    color: var(--comet-primary) !important;
}

.comet-opportunity-card--ranked p {
    margin: 0 0 0.85rem;
    color: var(--comet-text-subtle) !important;
    line-height: 1.58;
}

.comet-opportunity-card--ranked .comet-opportunity-kicker,
.comet-resource-card .comet-opportunity-kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    color: var(--comet-primary);
}

.comet-track-state {
    display: inline-flex;
    align-items: center;
    min-height: 1.85rem;
    padding: 0.34rem 0.65rem;
    border-radius: 999px;
    background: var(--comet-success-soft);
    color: var(--comet-success-text);
    font-size: 0.76rem;
    font-weight: 800;
}

.comet-match-reasons {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin-top: 0.9rem;
}

.comet-match-reasons span {
    display: inline-flex;
    align-items: center;
    gap: 0.38rem;
    padding: 0.42rem 0.65rem;
    border-radius: 999px;
    background: var(--comet-primary-soft);
    color: var(--comet-chip-text);
    font-size: 0.76rem;
    font-weight: 650;
}

.comet-match-reasons i {
    color: var(--comet-primary);
}

.comet-opportunity-card-side {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    padding-left: 1.1rem;
    border-left: 1px solid var(--comet-border);
}

.comet-track-form {
    display: flex;
    flex-direction: column;
    gap: 0.48rem;
    padding: 0.8rem;
    border: 1px solid var(--comet-border);
    border-radius: 1rem;
    background: var(--comet-surface-soft);
}

.comet-track-form textarea {
    min-height: 4.5rem !important;
    resize: vertical;
}

.comet-track-form small {
    min-height: 1.1rem;
    color: var(--comet-success-text);
    line-height: 1.35;
}

.comet-resource-controls {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
}

.comet-resource-search {
    display: flex;
    flex: 1 1 25rem;
    justify-content: flex-end;
    gap: 0.55rem;
}

.comet-resource-search .form-control {
    max-width: 27rem;
}

.comet-resource-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
}

.comet-resource-card {
    display: flex;
    min-width: 0;
    flex-direction: column;
    padding: clamp(1rem, 2.5vw, 1.4rem);
    border: 1px solid var(--comet-border);
    border-radius: 1.35rem;
    background: var(--comet-surface-raised);
    color: var(--comet-text-body);
    box-shadow: var(--comet-shadow);
}

.comet-resource-card h2 {
    margin: 0.65rem 0 0.55rem;
    color: var(--comet-text-strong);
    font-size: 1.18rem;
    line-height: 1.3;
}

.comet-resource-card h2 a {
    color: inherit;
    text-decoration: none;
}

.comet-resource-card p {
    flex: 1 1 auto;
    margin-bottom: 0.85rem;
    color: var(--comet-text-subtle);
    line-height: 1.55;
}

.comet-resource-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 1rem;
    padding-top: 0.9rem;
    border-top: 1px solid var(--comet-border);
}

.comet-resource-empty {
    grid-column: 1 / -1;
}

html[data-comet-theme="dark"] .comet-opportunity-hero,
html[data-comet-theme="dark"] .comet-resource-hero,
html[data-comet-theme="dark"] .comet-opportunity-controls,
html[data-comet-theme="dark"] .comet-resource-controls,
html[data-comet-theme="dark"] .comet-opportunity-card--ranked,
html[data-comet-theme="dark"] .comet-resource-card,
html[data-comet-theme="dark"] .comet-track-form {
    border-color: var(--comet-border) !important;
    background-color: var(--comet-surface-raised) !important;
    color: var(--comet-text-body) !important;
}

html[data-comet-theme="dark"] .comet-opportunity-hero,
html[data-comet-theme="dark"] .comet-resource-hero {
    background:
        radial-gradient(circle at 86% 0%, rgba(255, 202, 59, 0.1), transparent 28%),
        linear-gradient(135deg, var(--comet-surface-raised), var(--comet-surface-soft)) !important;
}

html[data-comet-theme="dark"] .comet-track-form {
    background: var(--comet-surface-soft) !important;
}

@media (max-width: 991.98px) {
    .comet-opportunity-shell .comet-opportunity-search {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .comet-opportunity-shell .comet-opportunity-search .btn {
        width: 100%;
    }

    .comet-resource-controls {
        align-items: stretch;
        flex-direction: column;
    }

    .comet-resource-search {
        flex-basis: auto;
        justify-content: stretch;
    }

    .comet-resource-search .form-control {
        max-width: none;
    }
}

@media (max-width: 767.98px) {
    .comet-opportunity-hero,
    .comet-resource-hero,
    .comet-opportunity-control-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .comet-opportunity-hero-actions,
    .comet-opportunity-control-footer form {
        justify-content: stretch;
    }

    .comet-opportunity-hero-actions .btn,
    .comet-resource-hero .btn,
    .comet-opportunity-control-footer .form-control,
    .comet-opportunity-control-footer .btn {
        width: 100%;
        max-width: none;
    }

    .comet-opportunity-shell .comet-opportunity-card--ranked {
        grid-template-columns: 1fr;
    }

    .comet-opportunity-card-side {
        padding-top: 1rem;
        padding-left: 0;
        border-top: 1px solid var(--comet-border);
        border-left: 0;
    }

    .comet-resource-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 575.98px) {
    .comet-opportunity-shell,
    .comet-resource-shell {
        width: calc(100% - 0.8rem);
        margin-top: 0.45rem;
    }

    .comet-opportunity-hero,
    .comet-resource-hero,
    .comet-opportunity-controls,
    .comet-resource-controls,
    .comet-opportunity-shell .comet-opportunity-card--ranked,
    .comet-resource-card {
        border-radius: 1.05rem !important;
    }

    .comet-opportunity-shell .comet-opportunity-category-list,
    .comet-resource-shell .comet-opportunity-category-list {
        flex-wrap: nowrap;
        padding-bottom: 0.2rem;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
    }

    .comet-opportunity-shell .comet-opportunity-filter-chip,
    .comet-resource-shell .comet-opportunity-filter-chip {
        flex: 0 0 auto;
    }

    .comet-opportunity-shell .comet-opportunity-search,
    .comet-resource-search {
        display: grid;
        grid-template-columns: 1fr;
    }

    .comet-resource-actions .btn {
        width: 100%;
    }
}

/* Guided tour, contribution transparency, team matching, and contact consent. */
body.comet-tour-open {
    overflow: hidden;
}

[data-comet-fragment-region] {
    transition: opacity 160ms ease, filter 160ms ease;
}

[data-comet-fragment-region].is-comet-fragment-loading {
    opacity: 0.62;
    filter: saturate(0.75);
    pointer-events: none;
}

.is-comet-fragment-trigger-loading {
    pointer-events: none;
}


.comet-impact-shell,
.comet-team-shell {
    width: min(72rem, calc(100% - 2rem));
    margin: 1.4rem auto 3rem;
}

.comet-impact-hero,
.comet-team-hero,
.comet-team-form {
    border: 1px solid var(--comet-border);
    border-radius: var(--comet-card-radius-lg);
    background:
        radial-gradient(circle at 90% 0%, color-mix(in srgb, var(--comet-gold) 18%, transparent), transparent 30%),
        linear-gradient(145deg, var(--comet-surface-raised), var(--comet-primary-soft-2));
    color: var(--comet-text-body);
    box-shadow: var(--comet-shadow);
}

.comet-impact-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 1.25rem;
    padding: clamp(1.4rem, 4vw, 2.5rem);
}

.comet-impact-hero h1,
.comet-team-hero h1 {
    max-width: 52rem;
    margin: 0.35rem 0 0.65rem;
    color: var(--comet-text-strong);
    font-size: clamp(1.9rem, 5vw, 3.4rem);
    line-height: 1.04;
}

.comet-impact-hero p,
.comet-team-hero p {
    max-width: 48rem;
    margin: 0;
    color: var(--comet-text-subtle);
    line-height: 1.6;
}

.comet-impact-score-card {
    display: grid;
    min-width: 10rem;
    padding: 1.25rem;
    text-align: center;
    border: 1px solid color-mix(in srgb, var(--comet-primary) 28%, var(--comet-border));
    border-radius: 1.3rem;
    background: var(--comet-surface-raised);
}

.comet-impact-score-card strong {
    color: var(--comet-primary);
    font-size: 2.3rem;
    line-height: 1;
}

.comet-impact-score-card span,
.comet-impact-score-card small {
    margin-top: 0.35rem;
    color: var(--comet-text-subtle);
}

.comet-impact-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
    margin: 1rem 0;
}

.comet-impact-metrics > div {
    display: grid;
    gap: 0.25rem;
    min-width: 0;
    padding: 1rem;
    border: 1px solid var(--comet-border);
    border-radius: 1rem;
    background: var(--comet-surface-raised);
    color: var(--comet-text-subtle);
}

.comet-impact-metrics strong {
    color: var(--comet-text-strong);
    font-size: 1.5rem;
}

.comet-impact-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(16rem, 0.65fr);
    gap: 1rem;
    margin-bottom: 1rem;
}

.comet-impact-rule-list,
.comet-impact-levels {
    display: grid;
    gap: 0.65rem;
}

.comet-impact-rule-list article,
.comet-impact-levels > div {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    min-width: 0;
    padding: 0.8rem;
    border: 1px solid var(--comet-border);
    border-radius: 0.9rem;
    background: var(--comet-surface-soft);
}

.comet-impact-rule-list article > span {
    display: grid;
    width: 3.2rem;
    min-width: 3.2rem;
    height: 3.2rem;
    place-items: center;
    border-radius: 0.9rem;
    background: var(--comet-primary-soft);
    color: var(--comet-primary);
    font-weight: 850;
}

.comet-impact-rule-list p {
    margin: 0.15rem 0 0;
    color: var(--comet-text-subtle);
    line-height: 1.45;
}

.comet-impact-levels > div {
    justify-content: space-between;
    color: var(--comet-text-subtle);
}

.comet-impact-levels > div.is-reached {
    border-color: color-mix(in srgb, var(--comet-primary) 32%, var(--comet-border));
    background: var(--comet-primary-soft);
    color: var(--comet-text-strong);
}

.comet-impact-leaderboard {
    display: grid;
    gap: 0.55rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.comet-impact-leaderboard li {
    display: grid;
    grid-template-columns: 2.25rem minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 0.75rem;
    min-height: 3.35rem;
    padding: 0.65rem 0.8rem;
    border: 1px solid var(--comet-border);
    border-radius: 0.9rem;
    background: var(--comet-surface-soft);
}

.comet-impact-leaderboard a {
    color: var(--comet-text-strong);
    font-weight: 750;
    text-decoration: none;
}

.comet-impact-leaderboard small {
    color: var(--comet-text-subtle);
}

.comet-team-hero {
    padding: clamp(1.4rem, 4vw, 2.6rem);
}

.comet-team-form {
    margin-top: 1rem;
    padding: clamp(1.2rem, 3vw, 1.8rem);
    background: var(--comet-surface-raised);
}

.comet-team-form-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(9rem, 0.28fr) auto;
    align-items: end;
    gap: 0.75rem;
    margin-top: 0.9rem;
}

.comet-team-form-row .btn {
    min-height: 3rem;
    padding-inline: 1.25rem;
}

.comet-team-grid,
.comet-team-principles {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.85rem;
    margin-top: 1rem;
}

.comet-team-card,
.comet-team-principles > div {
    min-width: 0;
    padding: 1.1rem;
    border: 1px solid var(--comet-border);
    border-radius: 1.2rem;
    background: var(--comet-surface-raised);
    color: var(--comet-text-body);
    box-shadow: var(--comet-shadow);
}

.comet-team-score {
    display: inline-flex;
    margin: 0.9rem 0 0.7rem;
    padding: 0.35rem 0.65rem;
    border-radius: 999px;
    background: var(--comet-primary-soft);
    color: var(--comet-primary);
    font-size: 0.78rem;
    font-weight: 800;
}

.comet-team-principles > div {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.35rem 0.75rem;
}

.comet-team-principles i {
    grid-row: span 2;
    color: var(--comet-primary);
    font-size: 1.25rem;
}

.comet-team-principles span {
    color: var(--comet-text-subtle);
    line-height: 1.45;
}

.comet-contact-request {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    margin-bottom: 0.8rem;
    padding: 0.85rem;
    border: 1px solid color-mix(in srgb, var(--comet-primary) 28%, var(--comet-border));
    border-radius: 1rem;
    background: var(--comet-primary-soft-2);
    color: var(--comet-text-body);
}

.comet-contact-request[data-contact-state="declined"] {
    border-color: color-mix(in srgb, var(--comet-danger-text) 28%, var(--comet-border));
    background: var(--comet-danger-soft);
}

.comet-contact-request-icon {
    display: grid;
    width: 2.75rem;
    min-width: 2.75rem;
    height: 2.75rem;
    place-items: center;
    border-radius: 0.85rem;
    background: var(--comet-primary-soft);
    color: var(--comet-primary);
}

.comet-contact-request strong {
    color: var(--comet-text-strong);
}

.comet-contact-request p {
    margin: 0.15rem 0 0;
    color: var(--comet-text-subtle);
    font-size: 0.86rem;
    line-height: 1.45;
}

.comet-contact-request-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.45rem;
}

html[data-comet-theme="dark"] .comet-impact-hero,
html[data-comet-theme="dark"] .comet-team-hero,
html[data-comet-theme="dark"] .comet-team-form,
html[data-comet-theme="dark"] .comet-team-card,
html[data-comet-theme="dark"] .comet-team-principles > div,
html[data-comet-theme="dark"] .comet-impact-metrics > div,
html[data-comet-theme="dark"] .comet-impact-score-card,
html[data-comet-theme="dark"] .comet-contact-request {
    border-color: var(--comet-border);
    background-color: var(--comet-surface-raised);
    color: var(--comet-text-body);
}

@media (max-width: 991.98px) {
    .comet-impact-metrics,
    .comet-team-grid,
    .comet-team-principles {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .comet-impact-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767.98px) {
    .comet-impact-hero,
    .comet-team-form-row {
        grid-template-columns: 1fr;
    }

    .comet-impact-score-card {
        width: 100%;
    }

    .comet-contact-request {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .comet-contact-request-actions {
        width: 100%;
        justify-content: stretch;
    }

    .comet-contact-request-actions .btn {
        flex: 1 1 9rem;
    }
}

@media (max-width: 575.98px) {

    .comet-impact-shell,
    .comet-team-shell {
        width: calc(100% - 0.8rem);
        margin-top: 0.45rem;
    }

    .comet-impact-metrics,
    .comet-team-grid,
    .comet-team-principles {
        grid-template-columns: 1fr;
    }

    .comet-impact-leaderboard li {
        grid-template-columns: 2rem minmax(0, 1fr) auto;
    }

    .comet-impact-leaderboard small {
        display: none;
    }
}

/* Weekly research quiz */
.comet-weekly-quiz-shell {
    width: min(62rem, calc(100% - 2rem));
    margin: 1rem auto 3rem;
}

.comet-weekly-quiz-hero {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1.5rem;
    padding: clamp(1.5rem, 4vw, 2.6rem);
    border: 1px solid var(--comet-border);
    border-radius: 1.7rem;
    background:
        radial-gradient(circle at 92% 10%, color-mix(in srgb, var(--comet-gold) 18%, transparent), transparent 34%),
        linear-gradient(135deg, var(--comet-surface-raised), var(--comet-surface-soft));
    box-shadow: var(--comet-shadow-soft);
}

.comet-weekly-quiz-hero > div {
    max-width: 43rem;
}

.comet-weekly-quiz-hero h1 {
    margin: 0.45rem 0 0.65rem;
    color: var(--comet-text-strong);
    font-size: clamp(1.8rem, 4vw, 3rem);
    line-height: 1.03;
    letter-spacing: -0.045em;
}

.comet-weekly-quiz-hero p {
    margin: 0;
    color: var(--comet-text-subtle);
    font-size: 1rem;
    line-height: 1.65;
}

.comet-weekly-quiz-hero .btn {
    min-height: 2.75rem;
    flex: 0 0 auto;
}

.comet-weekly-quiz-card {
    margin-top: 1rem;
    padding: clamp(1.25rem, 4vw, 2.5rem);
    border: 1px solid var(--comet-border);
    border-radius: 1.7rem;
    background: var(--comet-surface-raised);
    box-shadow: var(--comet-shadow-soft);
}

.comet-weekly-quiz-card__heading {
    max-width: 48rem;
}

.comet-weekly-quiz-card__heading > span {
    color: var(--comet-primary);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.comet-weekly-quiz-card__heading h2 {
    margin: 0.55rem 0 1.4rem;
    color: var(--comet-text-strong);
    font-size: clamp(1.25rem, 3vw, 1.8rem);
    line-height: 1.3;
}

.comet-weekly-quiz-form fieldset {
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
}

.comet-weekly-quiz-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

.comet-weekly-quiz-option {
    display: grid;
    grid-template-columns: auto 2.2rem minmax(0, 1fr);
    align-items: center;
    gap: 0.7rem;
    min-height: 4.4rem;
    margin: 0;
    padding: 0.9rem 1rem;
    border: 1px solid var(--comet-border);
    border-radius: 1.1rem;
    background: var(--comet-surface-soft);
    color: var(--comet-text-body);
    cursor: pointer;
    transition: border-color 160ms ease, background-color 160ms ease, transform 160ms ease;
}

.comet-weekly-quiz-option:hover,
.comet-weekly-quiz-option:focus-within {
    border-color: var(--comet-primary);
    background: var(--comet-primary-soft);
    transform: translateY(-1px);
}

.comet-weekly-quiz-option input {
    width: 1.15rem;
    height: 1.15rem;
    margin: 0;
    accent-color: var(--comet-primary);
}

.comet-weekly-quiz-option > span {
    display: grid;
    width: 2.2rem;
    height: 2.2rem;
    place-items: center;
    border-radius: 0.75rem;
    background: var(--comet-surface-raised);
    color: var(--comet-primary);
    font-size: 0.78rem;
    font-weight: 800;
}

.comet-weekly-quiz-option strong {
    color: inherit;
    font-size: 0.92rem;
    font-weight: 650;
    line-height: 1.4;
}

.comet-weekly-quiz-option.is-selected {
    border-color: var(--comet-primary);
    background: var(--comet-primary-soft);
}

.comet-weekly-quiz-option.is-correct {
    border-color: var(--comet-success-text);
    background: var(--comet-success-soft);
}

.comet-weekly-quiz-form.is-complete .comet-weekly-quiz-option {
    cursor: default;
    transform: none;
}

.comet-weekly-quiz-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 1rem;
}

.comet-weekly-quiz-actions p {
    margin: 0;
    color: var(--comet-text-subtle);
    font-size: 0.86rem;
}

.comet-weekly-quiz-actions .btn {
    min-height: 2.8rem;
}

.comet-weekly-quiz-result {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    margin-top: 1.25rem;
    padding: 1.1rem;
    border: 1px solid var(--comet-border);
    border-radius: 1.1rem;
    background: var(--comet-surface-soft);
}

.comet-weekly-quiz-result[hidden] {
    display: none;
}

.comet-weekly-quiz-result__icon {
    display: grid;
    width: 2.75rem;
    min-width: 2.75rem;
    height: 2.75rem;
    place-items: center;
    border-radius: 0.9rem;
    background: var(--comet-primary-soft);
    color: var(--comet-primary);
}

.comet-weekly-quiz-result.is-correct .comet-weekly-quiz-result__icon {
    background: var(--comet-success-soft);
    color: var(--comet-success-text);
}

.comet-weekly-quiz-result strong {
    display: block;
    color: var(--comet-text-strong);
}

.comet-weekly-quiz-result p {
    margin: 0.25rem 0 0.35rem;
    color: var(--comet-text-body);
    line-height: 1.55;
}

.comet-weekly-quiz-result small,
.comet-weekly-quiz-footer span {
    color: var(--comet-text-subtle);
}

.comet-weekly-quiz-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 0.25rem 0;
    font-size: 0.86rem;
}

.comet-weekly-quiz-footer a {
    color: var(--comet-primary);
    font-weight: 700;
    text-decoration: none;
}

@media (max-width: 767.98px) {
    .comet-weekly-quiz-shell {
        width: calc(100% - 1rem);
        margin-top: 0.5rem;
    }

    .comet-weekly-quiz-hero,
    .comet-weekly-quiz-actions,
    .comet-weekly-quiz-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .comet-weekly-quiz-hero .btn,
    .comet-weekly-quiz-actions .btn {
        width: 100%;
    }

    .comet-weekly-quiz-options {
        grid-template-columns: 1fr;
    }
}

/* Completion pass: keep new workflow controls comfortably tappable and legible. */
.comet-opportunity-control-footer .form-control,
.comet-team-form .form-control,
.comet-team-form .form-select,
.comet-group-panel form input.form-control:not([type="color"]) {
    min-height: 2.75rem;
}

.comet-team-form-row {
    grid-template-columns: minmax(0, 1fr) minmax(11rem, 0.32fr) auto;
}

html[data-comet-theme="dark"] .comet-opportunity-shell a.comet-opportunity-filter-chip.is-active,
html[data-comet-theme="dark"] .comet-opportunity-shell a.comet-opportunity-filter-chip.is-active:hover,
html[data-comet-theme="dark"] .comet-opportunity-shell a.comet-opportunity-filter-chip.is-active:focus-visible,
html[data-comet-theme="dark"] .comet-resource-shell a.comet-opportunity-filter-chip.is-active,
html[data-comet-theme="dark"] .comet-resource-shell a.comet-opportunity-filter-chip.is-active:hover,
html[data-comet-theme="dark"] .comet-resource-shell a.comet-opportunity-filter-chip.is-active:focus-visible {
    background: var(--comet-action);
    color: #fff !important;
}

@media (max-width: 767.98px) {
    .comet-team-form-row {
        grid-template-columns: 1fr;
    }
}

/* Shared action rhythm: links, buttons, and form-wrapped membership actions. */
.comet-action-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.65rem;
    min-width: 0;
}
.comet-action-row > .form-control { flex: 1 1 14rem; width: auto; min-width: 0; }
:is(.comet-action-row, .comet-group-actions, .comet-resource-actions, .comet-event-card-actions) .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.75rem;
    padding-block: 0.65rem;
    line-height: 1.2rem;
    font-size: 0.875rem;
    white-space: normal;
    text-align: center;
}
:is(.comet-action-row, .comet-group-actions, .comet-resource-actions, .comet-event-card-actions) form { margin-bottom: 0; }
.comet-group-actions { align-items: center; }
.comet-group-actions > form { display: flex; align-items: center; }
.comet-group-actions .btn { padding-inline: 1rem; }
.comet-blog-shell {
    width: min(100%, 66rem);
    margin: 0 auto;
    padding: clamp(1.1rem, 3vw, 2.5rem) clamp(0.8rem, 2vw, 1.5rem) 3rem;
    color: var(--comet-text-body);
}
.comet-blog-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1.25rem; margin-bottom: 1.75rem; }
.comet-blog-heading > div:first-child { flex: 1 1 22rem; }
.comet-blog-heading h1 { margin: 0.5rem 0 0.65rem; font-size: clamp(1.7rem, 3vw, 2.3rem); line-height: 1.2; }
.comet-blog-heading p { max-width: 42rem; margin: 0; color: var(--comet-text-subtle); line-height: 1.65; }
.comet-blog-shell :is(h1, h2, label, strong) { color: var(--comet-text-strong); }
.comet-blog-shell .btn-primary { background: var(--comet-action); border-color: var(--comet-action); color: #fff; }
.comet-blog-shell .btn-primary:hover { background: var(--comet-action-deep); border-color: var(--comet-action-deep); color: #fff; }
.comet-blog-shell :is(a, button, summary):focus-visible { outline: 3px solid var(--comet-primary); outline-offset: 3px; }
.comet-blog-shell [hidden] { display: none !important; }
.comet-blog-controls { display: grid; gap: 1.15rem; padding-bottom: 1.5rem; margin-bottom: 0.5rem; border-bottom: 1px solid var(--comet-border); }
.comet-blog-search { max-width: 38rem; }
.comet-blog-card, .comet-blog-editor {
    padding: clamp(1.2rem, 3vw, 2rem);
    border: 1px solid var(--comet-border);
    border-radius: 1.25rem;
    background: var(--comet-surface-raised);
    margin-block: 1.25rem;
}
.comet-blog-card h2 { font-size: clamp(1.2rem, 2vw, 1.5rem); line-height: 1.4; margin: 0.8rem 0; }
.comet-blog-card h2 a { color: var(--comet-text-strong); text-decoration: none; }
.comet-blog-card h2 a:hover { color: var(--comet-primary); text-decoration: underline; text-underline-offset: 0.2em; }
.comet-blog-card p { max-width: 60ch; color: var(--comet-text-subtle); line-height: 1.7; }
.comet-blog-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 0.6rem 1rem; color: var(--comet-text-subtle); font-size: 0.82rem; }
.comet-blog-empty { padding: 3rem 1rem; max-width: 38rem; margin: auto; text-align: center; }
.comet-blog-empty > i { font-size: 2rem; color: var(--comet-primary); margin-bottom: 1.2rem; }
.comet-blog-empty h2 { font-size: 1.5rem; }
.comet-blog-empty p { color: var(--comet-text-subtle); line-height: 1.75; }
.comet-blog-reading { max-width: 56rem; }
.comet-blog-article-header { margin-block: 2rem; border-bottom: 1px solid var(--comet-border); padding-bottom: 2rem; }
.comet-blog-article-header h1 { font-size: clamp(2rem, 4vw, 3rem); line-height: 1.2; margin-block: 1rem; overflow-wrap: anywhere; }
.comet-blog-deck { font-size: 1.125rem; color: var(--comet-text-subtle); line-height: 1.75; }
.comet-blog-prose { font-size: 1rem; line-height: 1.85; overflow-wrap: anywhere; }
.comet-blog-prose .comet-post-body { line-height: inherit; }
.comet-blog-prose :is(h2, h3) { margin-top: 1.6em; margin-bottom: 0.75em; line-height: 1.35; }
.comet-blog-prose p { margin-bottom: 1.25em; }
.comet-blog-prose :is(table, pre) { display: block; max-width: 100%; overflow-x: auto; }
.comet-blog-prose img { max-width: 100%; height: auto; border-radius: 0.75rem; }
.comet-blog-footer { border-top: 1px solid var(--comet-border); margin-top: 2rem; padding-top: 1.5rem; color: var(--comet-text-subtle); }
.comet-blog-fields { display: grid; gap: 0.65rem; }
.comet-blog-fields label:not(:first-child) { margin-top: 1rem; }
.comet-blog-shell label { font-size: 0.875rem; font-weight: 650; }
.comet-blog-shell .form-control { min-height: 2.9rem; font-size: 1rem; }
.comet-blog-shell textarea.form-control { line-height: 1.75; }
.comet-blog-writing { margin-top: 1.75rem; }
.comet-blog-editor .comet-composer__toolbar { padding: 0; gap: 0.4rem; background: transparent; }
.comet-blog-editor .comet-composer__tool-btn { min-height: 2.75rem; font-size: 0.8rem; padding: 0.55rem 0.75rem; border: 1px solid var(--comet-border); border-radius: 0.6rem; background: var(--comet-surface); color: var(--comet-text-strong); }
.comet-blog-editor .comet-composer__tool-btn:hover { background: var(--comet-surface-raised); border-color: var(--comet-primary); }
.comet-blog-shell .btn { min-height: 2.75rem; display: inline-flex; align-items: center; justify-content: center; }
.comet-blog-tools { width: 100%; }
.comet-blog-tools summary, .comet-blog-options summary { cursor: pointer; padding-block: 0.8rem; color: var(--comet-primary); font-size: 0.875rem; }
.comet-blog-tools > div { padding-bottom: 0.75rem; }
.comet-blog-editor .comet-composer__modes { margin-block: 1rem; gap: 1rem; }
.comet-blog-editor .comet-composer__textarea { min-height: 26rem; font-size: 1rem; }
.comet-blog-editor .comet-composer__pane { min-width: 0; }
.comet-blog-savebar { border-top: 1px solid var(--comet-border); margin-top: 1.5rem; padding-top: 1.5rem; display: grid; gap: 1.25rem; }
.comet-blog-savebar p { margin-top: 0.75rem; font-size: 0.82rem; }
.comet-blog-options { margin-top: 1.5rem; border-top: 1px solid var(--comet-border); }
.comet-blog-options p { color: var(--comet-text-subtle); font-size: 0.85rem; line-height: 1.6; }
.comet-blog-error { color: var(--comet-danger-text); }
.comet-blog-writer { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 1rem; padding-block: 1.2rem; border-bottom: 1px solid var(--comet-border); }
.comet-blog-writer:last-child { border: 0; padding-bottom: 0; }
.comet-blog-writer .btn { min-height: 2.75rem; }
@media (max-width: 575.98px) {
    .comet-blog-heading > .comet-action-row { width: 100%; }
    .comet-blog-heading > .comet-action-row > .btn { flex: 1 1 auto; }
    .comet-blog-editor { padding: 1rem; border-radius: 1rem; }
    .comet-blog-editor .comet-composer__editor-shell { grid-template-columns: minmax(0, 1fr); }
    .comet-blog-editor .comet-composer__textarea { min-height: 22rem; }
    .comet-blog-savebar .btn { flex: 1 1 8rem; }
    .comet-blog-writer { align-items: flex-start; }
}
