:root {
    --rb-bg: #060912;
    --rb-surface: rgba(12, 18, 30, 0.86);
    --rb-surface-strong: rgba(16, 24, 41, 0.96);
    --rb-surface-soft: rgba(17, 25, 40, 0.7);
    --rb-surface-elevated: rgba(20, 31, 51, 0.96);
    --rb-search-surface: rgba(10, 15, 28, 0.76);
    --rb-shell-contrast: rgba(255, 255, 255, 0.04);
    --rb-list-surface: rgba(255, 255, 255, 0.04);
    --rb-empty-surface: rgba(16, 24, 41, 0.54);
    --rb-presence-ring: rgba(11, 15, 28, 0.96);
    --rb-border: rgba(136, 168, 255, 0.14);
    --rb-border-strong: rgba(136, 168, 255, 0.24);
    --rb-text: #f3f7ff;
    --rb-text-soft: #b6c3dd;
    --rb-text-muted: #7f8faa;
    --rb-accent: #3b82f6;
    --rb-accent-strong: #6aa9ff;
    --rb-accent-soft: rgba(59, 130, 246, 0.18);
    --rb-danger: #f97393;
    --rb-warning: #fb7185;
    --rb-success: #38bdf8;
    --rb-shadow: 0 22px 60px rgba(0, 0, 0, 0.42);
    --rb-shadow-soft: 0 12px 32px rgba(0, 0, 0, 0.24);
    --rb-glow: 0 0 0 1px rgba(106, 169, 255, 0.16), 0 18px 52px rgba(26, 39, 71, 0.42);
    --rb-radius-xl: 30px;
    --rb-radius-lg: 24px;
    --rb-radius-md: 18px;
    --rb-radius-sm: 14px;
}


:root[data-theme='light'] {
    --rb-bg: #edf3ff;
    --rb-surface: rgba(255, 255, 255, 0.92);
    --rb-surface-strong: rgba(255, 255, 255, 0.98);
    --rb-surface-soft: rgba(245, 249, 255, 0.78);
    --rb-surface-elevated: rgba(255, 255, 255, 0.96);
    --rb-search-surface: rgba(255, 255, 255, 0.92);
    --rb-shell-contrast: rgba(56, 92, 160, 0.06);
    --rb-list-surface: rgba(248, 251, 255, 0.96);
    --rb-empty-surface: rgba(255, 255, 255, 0.9);
    --rb-presence-ring: rgba(255, 255, 255, 0.98);
    --rb-border: rgba(56, 92, 160, 0.12);
    --rb-border-strong: rgba(56, 92, 160, 0.22);
    --rb-text: #0d1627;
    --rb-text-soft: #37445f;
    --rb-text-muted: #6d7b95;
    --rb-accent-soft: rgba(59, 130, 246, 0.12);
    --rb-shadow: 0 24px 48px rgba(45, 66, 109, 0.12);
    --rb-shadow-soft: 0 12px 26px rgba(45, 66, 109, 0.08);
    --rb-glow: 0 0 0 1px rgba(59, 130, 246, 0.1), 0 18px 46px rgba(75, 108, 177, 0.14);
}

html,
body {
    min-height: 100%;
}

body {
    color: var(--rb-text) !important;
    padding-bottom: 0 !important;
}

.vibes-bg,
.site-signature-powered,
.site-signature-divider {
    display: none !important;
}

#app.page-glitch {
    animation: none !important;
}

body,
.auth-page,
.lobby-page,
.chat-layout,
.dm-inbox-page,
.profile-page {
    color: var(--rb-text);
}

.btn {
    border: 1px solid transparent !important;
    border-bottom-width: 1px !important;
    border-radius: var(--rb-radius-sm) !important;
    box-shadow: none !important;
    font-family: var(--font-display);
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: -0.01em;
}

.btn-primary {
    background: var(--rb-accent) !important;
    color: #f8fbff !important;
    border-color: rgba(143, 198, 255, 0.36) !important;
    box-shadow: 0 14px 28px rgba(35, 86, 181, 0.28) !important;
}

.btn-primary:hover {
    transform: translateY(-1px);
    filter: brightness(1.04);
}

.btn-secondary,
.btn-ghost,
.nav-theme-btn {
    background: var(--rb-surface-soft) !important;
    color: var(--rb-text-soft) !important;
    border-color: var(--rb-border) !important;
}

.btn-secondary:hover,
.btn-ghost:hover,
.nav-theme-btn:hover {
    background: rgba(59, 130, 246, 0.12) !important;
    color: var(--rb-text) !important;
    border-color: var(--rb-border-strong) !important;
}

.form-label {
    color: var(--rb-text-soft) !important;
    font-size: 11px !important;
    text-transform: lowercase;
}

.form-control {
    background: rgba(7, 12, 24, 0.76) !important;
    border: 1px solid var(--rb-border) !important;
    border-bottom-width: 1px !important;
    border-radius: var(--rb-radius-sm) !important;
    color: var(--rb-text) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.02);
}

:root[data-theme='light'] .form-control {
    background: rgba(255, 255, 255, 0.92) !important;
}

.form-control:focus {
    border-color: rgba(96, 165, 250, 0.5) !important;
    box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.14) !important;
}

.form-control::placeholder,
.chat-textarea::placeholder,
.post-content-input::placeholder,
.spotted-content-input::placeholder,
.spotted-reply-input::placeholder {
    color: var(--rb-text-muted) !important;
}

.card,
.auth-card,
.modal,
.room-card,
.post-card,
.spotted-card,
.rail-card,
.profile-side-card,
.profile-hero,
.dm-directory,
.dm-thread-panel,
.chat-sidebar,
.chat-main,
.chat-input-wrapper,
.navbar-search-dropdown,
.notification-dropdown {
    background: var(--rb-surface) !important;
    border: 1px solid var(--rb-border) !important;
    border-bottom-width: 1px !important;
    box-shadow: var(--rb-shadow-soft);
    backdrop-filter: blur(22px);
}

.toast {
    background: var(--rb-surface-strong) !important;
    color: var(--rb-text) !important;
    border: 1px solid var(--rb-border) !important;
}

.toast-success,
.toast-info,
.toast-warn,
.toast-error {
    border-left: 3px solid var(--rb-accent) !important;
}

.page-loader {
    background: var(--rb-bg) !important;
}

.loader-text {
    color: rgba(240, 247, 255, 0.68) !important;
}

.auth-page {
    padding: 28px 28px 56px !important;
    background: var(--rb-bg) !important;
}

.auth-bg-shape {
    display: none;
}

.auth-grid {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.auth-card {
    border-radius: var(--rb-radius-xl) !important;
    padding: 34px 32px !important;
    background: var(--rb-surface) !important;
    box-shadow: var(--rb-shadow);
}

.auth-logo-tag,
.auth-inline-pill,
.timeline-context-pill,
.feed-panel-kicker,
.spotted-room-eyebrow,
.dm-directory-eyebrow,
.rail-hero-eyebrow,
.site-signature-copy {
    text-transform: lowercase !important;
    letter-spacing: 0.06em !important;
}

.timeline-context-pill,
.spotted-compose-pill,
.room-settings-pill,
.profile-style-chip,
.profile-presence-chip,
.post-stat-chip,
.spotted-group-badge,
.spotted-anon-badge,
.room-meta-badge,
.room-mode-badge,
.room-access-badge,
.badge,
.lobby-tab,
.spotted-filter-chip {
    border: 1px solid var(--rb-border) !important;
    background: rgba(59, 130, 246, 0.08) !important;
    color: var(--rb-text-soft) !important;
}

.auth-title,
.lobby-title,
.spotted-room-title,
.profile-display-name,
.chat-room-name,
.dm-directory-title {
    color: var(--rb-text) !important;
    letter-spacing: -0.04em;
}

.auth-title,
.lobby-title {
    font-size: clamp(2rem, 4vw, 2.8rem) !important;
    line-height: 0.95;
}

.auth-subtitle,
.lobby-subtitle,
.spotted-room-subtitle,
.feed-panel-copy,
.post-create-meta,
.spotted-compose-subtitle,
.profile-bio,
.profile-status,
.chat-room-desc {
    color: var(--rb-text-soft) !important;
}

.avatar-upload-btn,
.otp-input {
    background: rgba(59, 130, 246, 0.08) !important;
    border-color: var(--rb-border) !important;
    color: var(--rb-text-soft) !important;
}

.otp-input {
    color: var(--rb-text) !important;
}

.auth-logo-frame {
    box-shadow: none !important;
}

.auth-footer,
.auth-footer a,
.auth-text-link {
    color: var(--rb-text-soft) !important;
}

.auth-footer a:hover,
.auth-text-link:hover {
    color: var(--rb-text) !important;
}

.navbar {
    background: var(--rb-surface) !important;
    border-right: 1px solid var(--rb-border) !important;
    border-bottom: none !important;
    height: 100vh !important;
    width: 284px;
    padding: 18px 18px 24px !important;
    position: fixed !important;
    top: 0;
    left: 0;
    z-index: 120;
    box-shadow: 18px 0 42px rgba(4, 9, 19, 0.32);
    backdrop-filter: blur(24px);
}

.navbar-inner {
    max-width: none !important;
    height: 100%;
    display: flex !important;
    flex-direction: column;
    justify-content: space-between;
    gap: 22px;
}

.rb-sidebar-top,
.rb-sidebar-bottom {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.navbar-logo {
    display: grid !important;
    grid-template-columns: 1fr;
    gap: 10px;
    align-items: start !important;
}

.navbar-logo-frame {
    width: 176px !important;
    height: 52px !important;
    border-radius: 20px !important;
}

.navbar-logo-badge {
    width: fit-content;
    padding: 7px 12px !important;
    background: rgba(59, 130, 246, 0.08) !important;
    border: 1px solid var(--rb-border) !important;
    color: var(--rb-text-soft) !important;
    font-size: 10px !important;
}

.navbar-search-wrap {
    position: relative;
    display: grid !important;
    gap: 10px;
}

.navbar-search {
    border-radius: 18px !important;
    border: 1px solid var(--rb-border) !important;
    background: var(--rb-search-surface) !important;
}

.navbar-search svg,
.navbar-search-input,
.nav-link-icon-mark,
.mobile-bottom-icon,
.notification-bell-btn,
.post-share-btn,
.post-share-link,
.rail-card-link,
.room-access-badge svg,
.chat-gif-btn,
.chat-send-btn {
    color: var(--rb-text-soft);
}

.navbar-search-input {
    color: var(--rb-text) !important;
}

.navbar-search-dropdown {
    top: calc(100% + 10px) !important;
    right: 0;
    left: 0;
    width: auto !important;
    max-height: 420px;
    border-radius: 22px !important;
}

.navbar-invite-btn,
.notification-bell-btn {
    background: rgba(59, 130, 246, 0.08) !important;
    border: 1px solid var(--rb-border) !important;
    color: var(--rb-text-soft) !important;
}

.navbar-nav {
    display: grid !important;
    gap: 8px;
}

.nav-link-shell {
    width: 100%;
    justify-content: flex-start !important;
    gap: 12px;
    padding: 14px 16px !important;
    border-radius: 18px !important;
    background: transparent !important;
    color: var(--rb-text-soft) !important;
    border: 1px solid transparent !important;
}

.nav-link-shell.active,
.mobile-bottom-link.active {
    background: rgba(59, 130, 246, 0.16) !important;
    border-color: rgba(96, 165, 250, 0.24) !important;
    color: var(--rb-text) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.nav-link-shell:hover {
    background: rgba(59, 130, 246, 0.08) !important;
    color: var(--rb-text) !important;
}

.rb-sidebar-utility-row {
    display: flex;
    align-items: center;
    gap: 10px;
}

.rb-sidebar-utility-row .nav-theme-btn {
    flex: 1;
}

.rb-profile-glance {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    padding: 14px;
    border-radius: 20px;
    border: 1px solid var(--rb-border);
    background: rgba(59, 130, 246, 0.08);
    color: inherit;
    cursor: pointer;
}

.rb-profile-glance-copy {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-width: 0;
}

.rb-profile-glance-name {
    color: var(--rb-text);
    font-size: 14px;
    font-weight: 700;
}

.rb-profile-glance-handle {
    color: var(--rb-text-muted);
    font-size: 12px;
    font-weight: 600;
}

.nav-avatar {
    width: 42px !important;
    height: 42px !important;
    border: 2px solid rgba(106, 169, 255, 0.24) !important;
}

.site-signature-app {
    position: fixed !important;
    left: 24px !important;
    right: auto !important;
    bottom: 18px !important;
    width: auto !important;
    padding: 8px 12px !important;
    border-radius: 999px !important;
    border: 1px solid var(--rb-border) !important;
    background: var(--rb-surface) !important;
    box-shadow: none !important;
    pointer-events: none !important;
}

.site-signature-copy {
    color: var(--rb-text-muted) !important;
    font-size: 10px !important;
}

.mobile-bottom-nav {
    display: none;
}

.lobby-page,
.profile-page,
.chat-layout,
.dm-inbox-page {
    margin-left: 284px;
}

.lobby-page,
.profile-page {
    padding: 26px 28px 90px;
}

.timeline-layout {
    max-width: 1220px;
    margin: 0 auto;
    display: grid !important;
    grid-template-columns: minmax(0, 760px) 340px;
    justify-content: center;
    gap: 24px;
}

.timeline-main,
.timeline-rail {
    min-width: 0;
}

.timeline-rail {
    position: sticky;
    top: 24px;
    align-self: start;
}

.rb-feed-head {
    display: grid;
    gap: 18px;
    margin-bottom: 18px;
    padding: 22px;
    border-radius: var(--rb-radius-xl);
    background: var(--rb-surface);
    border: 1px solid var(--rb-border);
    box-shadow: var(--rb-shadow-soft);
    position: static;
    top: auto;
    z-index: 25;
    backdrop-filter: blur(22px);
}

.rb-feed-head-actions {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: center;
}

.rb-head-stat {
    display: grid;
    gap: 4px;
    padding: 12px 14px;
    border-radius: 18px;
    background: rgba(59, 130, 246, 0.08);
    border: 1px solid var(--rb-border);
}

.rb-head-stat-label {
    color: var(--rb-text-muted);
    font-size: 11px;
    font-weight: 700;
    text-transform: lowercase;
}

.rb-head-stat-value {
    color: var(--rb-text);
    font-size: 18px;
    font-family: var(--font-display);
    font-weight: 800;
}

.lobby-tabs {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.lobby-tab {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 14px 16px !important;
    border-radius: 18px !important;
    color: var(--rb-text-soft) !important;
    font-family: var(--font-display);
    font-size: 12px;
    font-weight: 700;
}

.lobby-tab.active {
    color: var(--rb-text) !important;
    background: rgba(59, 130, 246, 0.18) !important;
    border-color: rgba(96, 165, 250, 0.28) !important;
}

.feed-panel {
    padding: 18px 22px;
    border-radius: 22px;
    border: 1px solid var(--rb-border);
    background: var(--rb-surface);
    display: grid;
    gap: 10px;
}

.feed-panel-intro {
    margin-bottom: 18px;
}

.feed-panel-title {
    font-family: var(--font-display);
    font-size: 22px;
    font-weight: 700;
    line-height: 1.05;
}

.premium-composer-card,
.premium-feed-card,
.premium-room-card,
.premium-spotted-surface .spotted-card {
    border-radius: 26px !important;
    box-shadow: var(--rb-glow);
}

.post-create-form,
.spotted-compose-card {
    padding: 22px !important;
    margin-bottom: 18px;
}

.posts-feed .premium-composer-card,
.premium-spotted-surface .spotted-compose-card {
    position: static;
    top: auto;
    z-index: 16;
}

.lobby-tab-content,
.posts-feed,
.rooms-feed,
.premium-spotted-surface,
.feed-stream,
.rooms-stream {
    min-height: 0;
}

.post-create-header,
.spotted-compose-head {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    justify-content: space-between;
}

.post-create-copy,
.spotted-hero-copy {
    display: grid;
    gap: 4px;
}

.post-create-prompt,
.spotted-compose-title,
.room-card-name,
.profile-side-stat,
.post-title {
    color: var(--rb-text) !important;
    font-family: var(--font-display);
    font-weight: 700;
    letter-spacing: -0.03em;
}

.post-create-meta,
.spotted-compose-hint,
.spotted-compose-subtitle,
.post-footer-copy,
.spotted-action-meta,
.room-card-activity {
    color: var(--rb-text-muted);
}

.post-create-avatar,
.post-author-avatar,
.rail-person-avatar,
.dm-conversation-avatar,
.sidebar-person-avatar,
.notif-avatar,
.friend-card-avatar,
.message-avatar,
.profile-avatar {
    border: 2px solid rgba(109, 163, 255, 0.16) !important;
}

.post-title-input,
.post-content-input,
.spotted-content-input,
.spotted-reply-input {
    margin-top: 14px;
}

.post-content-input,
.spotted-content-input,
.spotted-reply-input,
.chat-textarea {
    resize: none;
    min-height: 124px;
    line-height: 1.6;
}

.spotted-reply-input {
    min-height: 78px;
}

.post-create-actions,
.spotted-compose-actions {
    margin-top: 14px;
    display: flex;
    justify-content: space-between;
    gap: 14px;
    align-items: center;
}

.post-create-hints {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.post-create-hints span {
    padding: 7px 10px;
    border-radius: 999px;
    background: var(--rb-shell-contrast);
    border: 1px solid var(--rb-border);
    color: var(--rb-text-muted);
    font-size: 11px;
    font-weight: 700;
    text-transform: lowercase;
}

.feed-stream {
    display: grid;
    gap: 16px;
}

.post-card,
.spotted-card,
.room-card {
    padding: 22px !important;
}

.post-card {
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.post-card:hover,
.room-card:hover,
.spotted-card:hover {
    transform: translateY(-2px);
    border-color: rgba(96, 165, 250, 0.24) !important;
}

.post-card-topline,
.spotted-card-topline,
.room-card-footer {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: flex-start;
}

.post-card-side,
.spotted-card-badges {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
}

.post-author {
    gap: 12px !important;
}

.post-author-meta,
.post-card-time,
.spotted-card-time,
.room-creator,
.room-card-desc,
.rail-room-meta,
.rail-person-meta,
.dm-conversation-subline,
.dm-conversation-preview,
.sidebar-person-meta {
    color: var(--rb-text-muted) !important;
}

.post-title {
    margin-top: 14px;
    font-size: 24px !important;
}

.post-content {
    margin-top: 12px;
    color: var(--rb-text) !important;
    font-size: 15px;
    line-height: 1.7;
}

.post-reactions-bar,
.post-card-footer,
.spotted-card-actions,
.spotted-reply-composer,
.chat-header,
.chat-sidebar-header,
.dm-directory-header,
.dm-conversation-topline {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    align-items: center;
}

.post-reactions-bar,
.post-card-footer {
    margin-top: 18px;
}

.post-reactions-list,
.spotted-reaction-row,
.room-card-meta,
.profile-meta-row,
.chat-header-meta,
.message-reactions,
.dm-directory-meta,
.room-card-badges,
.post-create-hints,
.spotted-compose-pills,
.spotted-reaction-picker {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    align-items: center;
}

.post-reaction-pill,
.spotted-reaction-pill,
.reaction-pill,
.post-add-reaction-btn,
.post-emoji-btn,
.spotted-emoji-btn {
    border-radius: 999px !important;
    border: 1px solid var(--rb-border) !important;
    background: rgba(59, 130, 246, 0.08) !important;
    color: var(--rb-text-soft) !important;
    padding: 8px 12px;
    font-size: 12px;
    font-weight: 700;
}

.post-reaction-pill.active,
.spotted-reaction-pill.active,
.reaction-pill.active {
    background: rgba(59, 130, 246, 0.16) !important;
    color: var(--rb-text) !important;
    border-color: rgba(96, 165, 250, 0.3) !important;
}

.post-share-link,
.spotted-reply-link,
.rail-card-link {
    background: none;
    border: none;
    color: var(--rb-accent-strong);
    font-family: var(--font-display);
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
}

.feed-inline-loader,
.feed-endcap,
.empty-state,
.spotted-empty-shell {
    padding: 22px;
    border-radius: 22px;
    border: 1px dashed var(--rb-border-strong);
    background: rgba(14, 21, 36, 0.64);
    color: var(--rb-text-muted);
    text-align: center;
}

.premium-empty-state .empty-state-title {
    color: var(--rb-text);
}

.rail-stack {
    display: grid;
    gap: 16px;
}

.rail-card {
    padding: 20px;
    border-radius: 24px !important;
}

.rail-card-head {
    margin-bottom: 14px;
}

.rail-card-title,
.rail-hero-title {
    color: var(--rb-text) !important;
    font-family: var(--font-display);
}

.rail-card-link:hover,
.post-share-link:hover,
.spotted-reply-link:hover {
    color: var(--rb-text);
}

.rail-trend-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.rail-trend-pill,
.rail-room-item,
.rail-person-item,
.rail-spotted-item,
.search-result-item,
.dm-conversation-card,
.sidebar-room-item,
.sidebar-person-item,
.friend-card,
.notif-item,
.share-room-item {
    background: var(--rb-shell-contrast) !important;
    border: 1px solid transparent;
    border-radius: 18px !important;
    transition: transform 0.16s ease, background 0.16s ease, border-color 0.16s ease;
}

.rail-room-item:hover,
.rail-person-item:hover,
.rail-spotted-item:hover,
.search-result-item:hover,
.dm-conversation-card:hover,
.sidebar-room-item:hover,
.sidebar-person-item:hover,
.friend-card:hover,
.notif-item:hover,
.share-room-item:hover {
    transform: translateY(-1px);
    background: rgba(59, 130, 246, 0.08) !important;
    border-color: var(--rb-border);
}

.spotted-room {
    display: grid;
    gap: 18px;
}

.spotted-room-hero {
    padding: 24px;
    border-radius: 28px;
    border: 1px solid rgba(249, 115, 147, 0.18);
    background: var(--rb-surface);
    box-shadow: var(--rb-shadow);
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: center;
}

.spotted-hero-signal {
    min-width: 150px;
    display: grid;
    gap: 4px;
    padding: 16px;
    border-radius: 22px;
    border: 1px solid rgba(249, 115, 147, 0.18);
    background: rgba(249, 115, 147, 0.08);
    text-align: center;
}

.spotted-hero-signal-label,
.spotted-hero-signal-foot,
.spotted-urgency-label,
.spotted-reply-branch {
    color: var(--rb-text-muted);
    font-size: 11px;
    font-weight: 700;
    text-transform: lowercase;
}

.spotted-hero-signal-value {
    color: var(--rb-text);
    font-family: var(--font-display);
    font-size: 34px;
    font-weight: 800;
}

.spotted-filter-strip {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    padding-bottom: 2px;
}

.spotted-filter-chip {
    min-width: 132px;
    padding: 12px 14px;
    border-radius: 20px !important;
    display: grid;
    gap: 2px;
    justify-items: start;
}

.spotted-filter-chip.active {
    background: rgba(59, 130, 246, 0.16) !important;
    border-color: rgba(109, 163, 255, 0.3) !important;
}

.spotted-filter-chip-label {
    color: var(--rb-text);
    font-size: 12px;
    font-weight: 700;
}

.spotted-filter-chip-meta {
    color: var(--rb-text-muted);
    font-size: 10px;
    font-weight: 700;
}

.spotted-compose-controls {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 14px;
}

#spotted-room-select-wrap {
    display: none;
    opacity: 0.42;
    transition: opacity 0.16s ease;
}

#spotted-room-select-wrap.visible {
    display: block;
    opacity: 1;
}

.spotted-card {
    display: grid;
    gap: 16px;
    border-color: rgba(249, 115, 147, 0.16) !important;
    background: var(--rb-surface) !important;
}

.spotted-card.urgency-critical {
    box-shadow: 0 0 0 1px rgba(249, 115, 147, 0.18), 0 22px 48px rgba(57, 19, 36, 0.42);
}

.spotted-card.urgency-hot {
    box-shadow: 0 0 0 1px rgba(96, 165, 250, 0.14), 0 22px 48px rgba(22, 39, 69, 0.34);
}

.spotted-card-content {
    color: #f9fbff;
    font-size: 18px;
    line-height: 1.7;
    letter-spacing: -0.02em;
}

.spotted-urgency-block {
    display: grid;
    gap: 10px;
}

.spotted-urgency-copy {
    display: flex;
    justify-content: space-between;
    gap: 10px;
}

.spotted-urgency-time {
    color: #ffd3dc;
    font-size: 12px;
    font-weight: 700;
}

.spotted-urgency-bar {
    height: 8px;
    border-radius: 999px;
    overflow: hidden;
    background: var(--rb-shell-contrast);
}

.spotted-urgency-bar span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #f97393 0%, #fb7185 42%, #6aa9ff 100%);
}

.spotted-action-meta {
    font-size: 12px;
    font-weight: 700;
}

.spotted-replies-block {
    display: grid;
    gap: 12px;
    padding-top: 6px;
    border-top: 1px solid var(--rb-border);
}

.spotted-replies-head {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    color: var(--rb-text);
    font-size: 13px;
    font-weight: 700;
}

.spotted-replies-list {
    display: grid;
    gap: 10px;
}

.spotted-reply-item {
    padding: 14px;
    border-radius: 18px;
    border: 1px solid var(--rb-border);
    background: var(--rb-shell-contrast);
}

.spotted-reply-item.nested {
    margin-left: 18px;
    background: rgba(59, 130, 246, 0.06);
}

.spotted-reply-topline {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: 8px;
}

.spotted-reply-anon,
.spotted-urgency-label {
    color: #ffd6e2;
    font-size: 11px;
    font-weight: 700;
    text-transform: lowercase;
}

.spotted-reply-content {
    color: var(--rb-text);
    line-height: 1.6;
}

.spotted-reply-target {
    display: none;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 12px;
    border-radius: 14px;
    background: rgba(59, 130, 246, 0.08);
    color: var(--rb-text-soft);
    border: 1px solid var(--rb-border);
}

.spotted-reply-target.visible {
    display: flex;
}

.spotted-reply-target button {
    background: none;
    border: none;
    color: var(--rb-accent-strong);
    font-weight: 700;
    cursor: pointer;
}

.rooms-feed {
    display: grid;
    gap: 16px;
}

.rooms-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.room-card-desc {
    margin: 12px 0 16px;
    line-height: 1.6;
}

.room-card-footer {
    margin-top: 16px;
}

.room-card-activity {
    font-size: 12px;
    font-weight: 700;
}

.profile-page {
    max-width: 1240px;
    margin-right: auto;
    padding-top: 26px;
}

.profile-layout {
    display: block;
    max-width: 760px;
    margin: 0 auto;
}

.profile-hero {
    overflow: hidden;
    border-radius: var(--rb-radius-xl) !important;
}

.profile-banner {
    min-height: 180px;
    background: linear-gradient(135deg, rgba(59, 130, 246, 0.88), rgba(14, 165, 233, 0.52)) !important;
}

.profile-banner-badge {
    border: 1px solid rgba(255, 255, 255, 0.18);
    background: rgba(10, 16, 28, 0.28);
    color: #f3f7ff;
    text-transform: lowercase;
}

.profile-info {
    padding: 0 26px 26px;
}

.profile-display-name {
    font-size: 34px !important;
}

.profile-side-stack {
    display: grid;
    gap: 16px;
}

.profile-side-card {
    padding: 18px 18px 20px;
    border-radius: 24px !important;
}

.profile-side-copy {
    margin-top: 8px;
    color: var(--rb-text-muted);
    font-size: 13px;
    line-height: 1.6;
}

.profile-section {
    margin-top: 22px;
    padding: 22px;
    border-radius: 24px;
    border: 1px solid var(--rb-border);
    background: var(--rb-surface);
    box-shadow: var(--rb-shadow-soft);
}

.profile-section-title {
    margin-bottom: 16px;
    color: var(--rb-text);
    font-family: var(--font-display);
    font-size: 20px;
    font-weight: 700;
    text-transform: lowercase;
}

.chat-layout,
.dm-inbox-page {
    min-height: 100vh;
    padding: 24px 24px 84px;
    display: grid;
    grid-template-columns: 320px minmax(0, 1fr);
    gap: 20px;
}

.chat-sidebar,
.dm-directory {
    border-radius: 26px !important;
    padding: 18px;
    display: flex;
    flex-direction: column;
    min-height: calc(100vh - 48px);
}

.chat-main,
.dm-thread-shell,
.dm-thread-panel {
    min-height: calc(100vh - 48px);
    border-radius: 26px !important;
}

.chat-main,
.dm-thread-panel {
    background: var(--rb-surface) !important;
}

.chat-header,
.dm-directory-header,
.chat-sidebar-header {
    padding: 18px 22px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    background: rgba(10, 16, 28, 0.58);
    backdrop-filter: blur(18px);
}

.chat-messages {
    padding: 22px 22px 10px;
    background: var(--rb-surface);
}

.chat-composer-shell {
    padding: 16px 18px 18px;
    background: rgba(10, 16, 28, 0.9);
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.chat-input-wrapper {
    padding: 12px;
    border-radius: 22px !important;
}

.chat-textarea {
    min-height: 58px;
}

.message-group {
    gap: 10px !important;
    margin-bottom: 14px;
}

.message-content {
    max-width: min(720px, 88%) !important;
}

.message-bubble {
    border-radius: 22px !important;
    border: 1px solid rgba(255, 255, 255, 0.06);
    background: rgba(255, 255, 255, 0.04) !important;
    color: var(--rb-text) !important;
    box-shadow: none !important;
}

.message-group.mine .message-bubble {
    background: linear-gradient(135deg, rgba(59, 130, 246, 0.18), rgba(59, 130, 246, 0.1)) !important;
    border-color: rgba(96, 165, 250, 0.24) !important;
}

.message-meta,
.message-status-note,
.message-time,
.chat-char-count,
.dm-conversation-time,
.notif-sub {
    color: var(--rb-text-muted) !important;
}

.message-action-btn,
.chat-gif-btn,
.chat-send-btn,
.mobile-sidebar-toggle {
    border: 1px solid var(--rb-border) !important;
    background: rgba(59, 130, 246, 0.08) !important;
    color: var(--rb-text-soft) !important;
}

.system-message {
    color: var(--rb-text-muted) !important;
    background: transparent !important;
}

.search-result-item,
.dm-conversation-card,
.sidebar-room-item,
.sidebar-person-item,
.friend-card {
    padding: 12px 14px !important;
}

.dm-conversation-card.active,
.sidebar-room-item.active {
    background: rgba(59, 130, 246, 0.12) !important;
    border-color: var(--rb-border-strong) !important;
}

.modal-overlay {
    background: rgba(5, 8, 16, 0.74) !important;
    backdrop-filter: blur(10px);
}

.modal {
    border-radius: 28px !important;
    padding: 20px !important;
}

.modal-title {
    color: var(--rb-text) !important;
    text-transform: lowercase;
}

.notification-dropdown,
.mention-autocomplete,
.gif-picker-panel {
    border-radius: 24px !important;
}

.gif-picker-panel {
    background: var(--rb-surface-strong) !important;
    border: 1px solid var(--rb-border) !important;
}

.shared-post-card,
.message-media-card,
.notif-type-icon,
.share-room-dot {
    border-radius: 16px !important;
}

.dm-inbox-page {
    grid-template-columns: minmax(320px, 380px) minmax(0, 1fr);
    align-items: stretch;
    max-width: 1480px;
    margin: 0 auto;
}

.dm-directory {
    position: relative;
    overflow: hidden;
    gap: 18px;
    padding: 18px;
    background: linear-gradient(180deg, var(--rb-surface-strong), var(--rb-surface)) !important;
    border: 1px solid var(--rb-border) !important;
    box-shadow: var(--rb-shadow-soft);
}

.dm-directory::before,
.dm-thread-panel::before {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.dm-directory::before {
    background:
        radial-gradient(circle at top left, rgba(59, 130, 246, 0.16), transparent 42%),
        radial-gradient(circle at bottom right, rgba(56, 189, 248, 0.12), transparent 38%);
    opacity: 0.95;
}

.dm-directory > *,
.dm-thread-panel > * {
    position: relative;
    z-index: 1;
}

.dm-directory-hero {
    display: grid;
    gap: 16px;
    padding: 22px;
    border-radius: 28px;
    border: 1px solid var(--rb-border);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.02));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

:root[data-theme='light'] .dm-directory-hero {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(244, 248, 255, 0.9));
}

.dm-directory-hero-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.dm-directory-hero-copy {
    display: grid;
    gap: 8px;
    min-width: 0;
}

.dm-directory-eyebrow {
    color: var(--rb-accent-strong) !important;
    font-size: 11px !important;
    letter-spacing: 0.12em !important;
}

.dm-directory-title {
    color: var(--rb-text) !important;
    font-family: var(--font-display);
    font-size: clamp(2rem, 3vw, 2.6rem);
    font-weight: 800;
    letter-spacing: -0.05em;
    line-height: 0.92;
}

.dm-directory-copy {
    max-width: 32ch;
    color: var(--rb-text-soft);
    font-size: 14px;
    line-height: 1.65;
    font-weight: 600;
}

.dm-directory-lobby-btn,
.dm-thread-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    white-space: nowrap;
}

.dm-directory-lobby-btn svg,
.dm-thread-action svg {
    width: 16px;
    height: 16px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
}

.dm-directory-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.dm-directory-stat {
    display: grid;
    gap: 4px;
    padding: 14px 16px;
    border-radius: 20px;
    border: 1px solid var(--rb-border);
    background: var(--rb-list-surface);
}

.dm-directory-stat-label {
    color: var(--rb-text-muted);
    font-size: 11px;
    font-weight: 700;
    text-transform: lowercase;
}

.dm-directory-stat-value {
    color: var(--rb-text);
    font-family: var(--font-display);
    font-size: 28px;
    font-weight: 800;
    line-height: 1;
}

.dm-directory-toolbar {
    display: grid;
    gap: 12px;
}

.dm-directory-search {
    border-radius: 22px !important;
    padding: 14px 16px;
    background: var(--rb-search-surface) !important;
    border: 1px solid var(--rb-border) !important;
    box-shadow: none !important;
}

.dm-directory-meta {
    width: 100%;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 12px 14px;
    border-radius: 18px;
    border: 1px solid var(--rb-border);
    background: var(--rb-shell-contrast);
    color: var(--rb-text-soft) !important;
    line-height: 1.55;
}

.dm-directory-list-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 0 4px;
}

.dm-directory-list-title {
    color: var(--rb-text);
    font-family: var(--font-display);
    font-size: 14px;
    font-weight: 700;
    text-transform: lowercase;
}

.dm-directory-list-summary {
    color: var(--rb-text-muted);
    font-size: 12px;
    font-weight: 700;
}

.dm-conversation-list {
    gap: 12px;
    padding-right: 4px;
}

.dm-conversation-card {
    width: 100%;
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    padding: 16px !important;
    border-radius: 24px !important;
    border: 1px solid transparent !important;
    background: var(--rb-list-surface) !important;
    box-shadow: none !important;
}

.dm-conversation-card:hover {
    transform: translateY(-2px);
    border-color: var(--rb-border-strong) !important;
    background: var(--rb-surface-soft) !important;
}

.dm-conversation-card.active {
    background: var(--rb-surface-elevated) !important;
    border-color: rgba(96, 165, 250, 0.28) !important;
    box-shadow: 0 18px 32px rgba(15, 23, 42, 0.14);
}

.dm-conversation-avatar {
    width: 56px;
    height: 56px;
    border-radius: 18px;
    border: 2px solid rgba(109, 163, 255, 0.16) !important;
}

.dm-conversation-copy {
    display: grid;
    gap: 6px;
}

.dm-conversation-topline {
    align-items: center;
    margin-bottom: 0;
}

.dm-conversation-name {
    color: var(--rb-text) !important;
    font-size: 15px;
    font-weight: 700;
}

.dm-conversation-subline {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 0;
    color: var(--rb-text-muted) !important;
    font-size: 12px;
    font-weight: 700;
}

.dm-conversation-dot,
.dm-thread-subtitle-dot {
    width: 4px;
    height: 4px;
    border-radius: 999px;
    background: var(--rb-border-strong);
    flex-shrink: 0;
}

.dm-conversation-preview {
    color: var(--rb-text-soft) !important;
    font-size: 13px;
    line-height: 1.55;
}

.dm-conversation-side {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.dm-conversation-state,
.dm-thread-chip,
.dm-brief-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 11px;
    border-radius: 999px;
    border: 1px solid var(--rb-border);
    background: var(--rb-shell-contrast);
    color: var(--rb-text-soft);
    font-size: 11px;
    font-weight: 700;
    text-transform: lowercase;
}

.dm-conversation-state.online,
.dm-thread-chip.online {
    background: rgba(56, 189, 248, 0.12);
    border-color: rgba(56, 189, 248, 0.24);
    color: #7dd3fc;
}

.dm-conversation-state.busy,
.dm-thread-chip.busy {
    background: rgba(249, 115, 147, 0.12);
    border-color: rgba(249, 115, 147, 0.24);
    color: #fda4af;
}

.dm-conversation-state.offline,
.dm-thread-chip.offline {
    color: var(--rb-text-muted);
}

.dm-conversation-card.active .dm-conversation-state {
    background: rgba(59, 130, 246, 0.14);
    border-color: rgba(96, 165, 250, 0.28);
    color: var(--rb-text);
}

.dm-conversation-empty {
    padding: 28px 20px;
    border-radius: 22px;
    border: 1px dashed var(--rb-border-strong);
    background: var(--rb-empty-surface) !important;
    color: var(--rb-text-muted);
}

.dm-thread-shell {
    min-width: 0;
}

.dm-thread-panel {
    position: relative;
    overflow: hidden;
    background: linear-gradient(180deg, var(--rb-surface-strong), var(--rb-surface)) !important;
    border: 1px solid var(--rb-border) !important;
}

.dm-thread-panel::before {
    background:
        radial-gradient(circle at top right, rgba(59, 130, 246, 0.14), transparent 32%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.02), transparent 24%);
}

.dm-thread-frame {
    min-height: 100%;
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr) auto auto;
}

.dm-thread-topbar {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    padding: 24px 24px 18px;
    border-bottom: 1px solid var(--rb-border);
    background: rgba(255, 255, 255, 0.03);
}

.dm-thread-topbar-main {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    min-width: 0;
}

.dm-thread-persona {
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 0;
    cursor: pointer;
}

.dm-thread-avatar-wrap {
    position: relative;
    flex-shrink: 0;
}

.dm-thread-avatar {
    width: 64px;
    height: 64px;
    border-radius: 20px;
    object-fit: cover;
    border: 2px solid rgba(109, 163, 255, 0.16);
    box-shadow: var(--rb-shadow-soft);
}

.dm-thread-presence {
    position: absolute;
    right: -2px;
    bottom: -2px;
    width: 14px;
    height: 14px;
    border-radius: 999px;
    border: 2px solid var(--rb-presence-ring);
    background: var(--rb-text-muted);
}

.dm-thread-presence.online {
    background: #34d399;
}

.dm-thread-presence.busy {
    background: #fb7185;
}

.dm-thread-copy {
    display: grid;
    gap: 6px;
    min-width: 0;
}

.dm-thread-kicker,
.dm-thread-state-kicker {
    color: var(--rb-accent-strong);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.dm-thread-name {
    min-width: 0;
}

.dm-thread-name .verified-name-row {
    gap: 8px;
}

.dm-thread-name-text {
    color: var(--rb-text);
    font-family: var(--font-display);
    font-size: 28px;
    font-weight: 800;
    letter-spacing: -0.05em;
    line-height: 1;
}

.dm-thread-subtitle {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    color: var(--rb-text-soft);
    font-size: 13px;
    font-weight: 700;
}

.dm-thread-topbar-side {
    display: grid;
    gap: 12px;
    justify-items: end;
}

.dm-thread-badges,
.dm-thread-brief-pills {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.dm-thread-brief {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 14px 24px 18px;
    border-bottom: 1px solid var(--rb-border);
}

.dm-thread-brief-copy {
    color: var(--rb-text-soft);
    font-size: 13px;
    font-weight: 600;
    line-height: 1.55;
}

.dm-thread-messages {
    padding: 20px 24px 12px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.02), transparent 20%),
        var(--rb-surface) !important;
}

.dm-thread-loader {
    min-height: 100%;
    display: grid;
    place-items: center;
    color: var(--rb-text-muted);
    font-size: 13px;
    font-weight: 700;
}

.dm-composer-shell {
    padding: 16px 18px 18px;
    border-top: 1px solid var(--rb-border);
    background: var(--rb-surface-strong);
}

.dm-input-area {
    display: grid;
    gap: 12px;
}

.dm-input-wrapper {
    padding: 12px 14px;
    border-radius: 22px !important;
    border: 1px solid var(--rb-border) !important;
    background: var(--rb-search-surface) !important;
    box-shadow: none !important;
}

.dm-composer-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.dm-composer-tip {
    color: var(--rb-text-muted);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.5;
}

.dm-thread-state {
    min-height: 100%;
    display: grid;
    align-content: center;
    justify-items: center;
    gap: 18px;
    padding: 28px;
}

.dm-thread-state .mobile-sidebar-toggle {
    justify-self: start;
}

.dm-thread-state-card,
.dm-message-empty {
    width: min(100%, 460px);
    display: grid;
    justify-items: center;
    gap: 12px;
    padding: 28px;
    border-radius: 28px;
    border: 1px solid var(--rb-border);
    background: var(--rb-surface);
    text-align: center;
    box-shadow: var(--rb-shadow-soft);
}

.dm-thread-state-icon,
.dm-message-empty-icon {
    width: 72px;
    height: 72px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 24px;
    border: 1px solid var(--rb-border);
    background: var(--rb-shell-contrast);
    color: var(--rb-accent-strong);
}

.dm-thread-state-icon svg,
.dm-message-empty-icon svg {
    width: 28px;
    height: 28px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
}

.dm-thread-state-title,
.dm-message-empty-title {
    color: var(--rb-text);
    font-family: var(--font-display);
    font-size: 28px;
    font-weight: 800;
    letter-spacing: -0.05em;
    line-height: 1;
}

.dm-thread-state-text,
.dm-message-empty-text {
    color: var(--rb-text-soft);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.65;
}

.dm-message-empty {
    margin: 18px auto 0;
}

.dm-day-divider {
    display: flex;
    justify-content: center;
    margin: 8px 0 16px;
}

.dm-day-divider span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 12px;
    border-radius: 999px;
    border: 1px solid var(--rb-border);
    background: var(--rb-shell-contrast);
    color: var(--rb-text-muted);
    font-size: 11px;
    font-weight: 700;
    text-transform: lowercase;
}

.dm-message-group {
    align-items: flex-end;
    gap: 12px !important;
    margin-bottom: 18px;
}

.dm-message-avatar {
    width: 36px !important;
    height: 36px !important;
    border-radius: 14px !important;
}

.dm-message-content {
    max-width: min(720px, 78%) !important;
}

.dm-message-bubble {
    padding: 14px 16px !important;
    border-radius: 24px !important;
    border: 1px solid var(--rb-border) !important;
    background: var(--rb-list-surface) !important;
}

.message-group.mine .dm-message-bubble {
    background: rgba(59, 130, 246, 0.16) !important;
    border-color: rgba(96, 165, 250, 0.28) !important;
}

.dm-thread-panel .message-meta {
    margin-bottom: 8px;
    color: var(--rb-text-muted) !important;
    font-size: 12px;
    font-weight: 700;
}

.dm-thread-panel .message-username {
    color: var(--rb-text) !important;
}

.dm-thread-panel .message-bubble-row {
    align-items: flex-end;
    gap: 10px;
}

.dm-thread-panel .message-status-note {
    margin-top: 6px;
    font-size: 11px;
    text-transform: lowercase;
}

.dm-thread-panel .message-actions {
    opacity: 0;
    transition: opacity 0.16s ease;
}

.dm-thread-panel .message-group:hover .message-actions {
    opacity: 1;
}

.dm-thread-panel .message-media-card,
.dm-thread-panel .shared-post-card {
    border: 1px solid var(--rb-border);
    background: var(--rb-shell-contrast) !important;
}

.skeleton {
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.04), rgba(110, 167, 255, 0.12), rgba(255, 255, 255, 0.04)) !important;
}

.skeleton-shell {
    display: grid;
    gap: 10px;
}

.skeleton-line {
    height: 12px;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.04), rgba(110, 167, 255, 0.12), rgba(255, 255, 255, 0.04));
}

.skeleton-line-sm {
    width: 38%;
}

.skeleton-line-xs {
    width: 22%;
}

.skeleton-line-lg {
    width: 78%;
}

@media (max-width: 1180px) {
    .timeline-layout {
        grid-template-columns: minmax(0, 1fr);
    }

    .timeline-rail {
        position: static;
    }

    .rooms-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 1099px) {
    .navbar {
        width: 100%;
        height: auto !important;
        position: sticky !important;
        border-right: none !important;
        border-bottom: 1px solid var(--rb-border) !important;
        padding: 14px 16px !important;
        box-shadow: 0 16px 42px rgba(4, 9, 19, 0.22);
    }

    .navbar-inner {
        gap: 14px;
    }

    .rb-sidebar-top {
        gap: 14px;
    }

    .navbar-logo {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between;
        width: 100%;
    }

    .navbar-logo-frame {
        width: 150px !important;
        height: 44px !important;
    }

    .navbar-nav,
    .rb-profile-glance,
    .site-signature-app {
        display: none !important;
    }

    .rb-sidebar-utility-row {
        justify-content: flex-end;
    }

    .lobby-page,
    .profile-page,
    .chat-layout,
    .dm-inbox-page {
        margin-left: 0;
    }

    .lobby-page,
    .profile-page {
        padding: 18px 16px 108px;
    }

    .chat-layout,
    .dm-inbox-page {
        grid-template-columns: minmax(0, 1fr);
        padding: 16px 16px 110px;
    }

    .chat-sidebar,
    .dm-directory {
        min-height: auto;
    }

    .chat-main,
    .dm-thread-shell,
    .dm-thread-panel {
        min-height: 68vh;
    }

    .dm-directory-hero-top,
    .dm-thread-topbar,
    .dm-thread-brief,
    .dm-composer-foot {
        flex-direction: column;
        align-items: stretch;
    }

    .dm-thread-topbar-side {
        justify-items: stretch;
    }

    .dm-thread-badges,
    .dm-thread-brief-pills {
        justify-content: flex-start;
    }

    .dm-thread-action {
        width: 100%;
    }

    .mobile-bottom-nav {
        position: fixed;
        left: 12px;
        right: 12px;
        bottom: 12px;
        z-index: 140;
        display: grid;
        gap: 8px;
        padding: 8px;
        border-radius: 24px;
        border: 1px solid var(--rb-border);
        background: var(--rb-surface-strong);
        box-shadow: var(--rb-shadow);
        backdrop-filter: blur(22px);
    }

    .mobile-bottom-link {
        min-width: 0;
        display: grid;
        justify-items: center;
        gap: 4px;
        padding: 10px 6px;
        border-radius: 18px;
        background: transparent;
        border: 1px solid transparent;
        color: var(--rb-text-muted);
        font-size: 10px;
        font-weight: 700;
        cursor: pointer;
    }

    .mobile-bottom-icon svg {
        width: 18px;
        height: 18px;
    }

    .timeline-layout,
    .spotted-room-hero,
    .post-create-actions,
    .spotted-compose-actions,
    .post-card-topline,
    .spotted-card-topline,
    .spotted-card-actions,
    .room-card-footer,
    .chat-header,
    .dm-directory-header {
        grid-template-columns: none;
        flex-direction: column;
        align-items: stretch;
    }

    .posts-feed .premium-composer-card,
    .premium-spotted-surface .spotted-compose-card {
        position: static;
    }

    .lobby-tabs {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .spotted-compose-controls {
        grid-template-columns: minmax(0, 1fr);
    }

    .notification-dropdown {
        width: min(320px, calc(100vw - 28px)) !important;
        right: 0 !important;
    }
}

@media (max-width: 768px) {
    .dm-directory {
        display: none;
        position: fixed;
        inset: 84px 16px 92px 16px;
        z-index: 180;
        min-height: 0 !important;
        max-height: calc(100vh - 176px);
    }

    .dm-directory.open {
        display: flex !important;
    }

    .dm-thread-shell {
        padding: 0;
    }

    .dm-thread-panel {
        min-height: calc(100vh - 220px);
    }

    .dm-directory-title {
        font-size: 34px;
    }

    .dm-conversation-card {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .dm-conversation-side {
        grid-column: 2;
        justify-content: flex-start;
    }

    .dm-thread-topbar {
        padding: 18px 18px 16px;
    }

    .dm-thread-brief,
    .dm-thread-messages,
    .dm-composer-shell {
        padding-left: 18px;
        padding-right: 18px;
    }

    .dm-thread-avatar {
        width: 54px;
        height: 54px;
        border-radius: 18px;
    }

    .dm-thread-name-text {
        font-size: 24px;
    }

    .dm-message-content {
        max-width: 100% !important;
    }

    .dm-thread-panel .message-actions {
        opacity: 1;
    }

    .dm-composer-foot {
        align-items: flex-start;
    }
}

@media (max-width: 640px) {
    .auth-page {
        padding: 16px 14px 48px !important;
    }

    .auth-grid {
        display: flex;
    }

    .auth-card {
        padding: 24px 18px !important;
    }

    .post-create-form,
    .spotted-compose-card,
    .post-card,
    .spotted-card,
    .rail-card,
    .profile-hero,
    .profile-section,
    .chat-sidebar,
    .dm-directory,
    .chat-main,
    .dm-thread-panel {
        border-radius: 22px !important;
    }

    .rb-feed-head {
        padding: 18px;
    }

    .auth-title,
    .lobby-title {
        font-size: 32px !important;
    }

    .post-title {
        font-size: 21px !important;
    }

    .spotted-card-content {
        font-size: 16px;
    }

    .message-content {
        max-width: 100% !important;
    }

    .dm-directory-hero,
    .dm-thread-state-card,
    .dm-message-empty {
        padding: 22px;
        border-radius: 24px;
    }

    .dm-directory-stat-value {
        font-size: 24px;
    }

    .dm-thread-state-title,
    .dm-message-empty-title {
        font-size: 24px;
    }
}

/* Unified background — no melting colors */
body {
    background: var(--rb-bg) !important;
}

:root[data-theme='light'] body {
    background: var(--rb-bg) !important;
}

.vibes-bg {
    display: none !important;
}

.btn-primary {
    background: var(--rb-accent) !important;
    border-color: rgba(143, 198, 255, 0.36) !important;
    box-shadow: 0 14px 28px rgba(35, 86, 181, 0.28) !important;
}

.btn-secondary:hover,
.btn-ghost:hover,
.nav-theme-btn:hover {
    background: rgba(59, 130, 246, 0.12) !important;
}

.nav-link-shell.active,
.mobile-bottom-link.active {
    background: rgba(59, 130, 246, 0.16) !important;
    border-color: rgba(96, 165, 250, 0.24) !important;
}

.rb-feed-head {
    gap: 14px;
    padding: 20px 22px;
    border-radius: 26px !important;
    background: var(--rb-surface) !important;
}

.rb-feed-headline {
    display: grid;
    gap: 6px;
}

.timeline-context-pill {
    width: fit-content;
    padding: 7px 10px;
    border-radius: 999px;
    background: rgba(59, 130, 246, 0.08) !important;
    border-color: var(--rb-border) !important;
}

.lobby-subtitle {
    max-width: 42rem;
}

.rb-feed-head-actions {
    flex-wrap: wrap;
    align-items: stretch;
}

.rb-head-stat {
    min-width: 128px;
    background: rgba(59, 130, 246, 0.08) !important;
}

.lobby-tabs {
    padding: 8px;
    border-radius: 20px;
    border: 1px solid var(--rb-border);
    background: var(--rb-shell-contrast);
}

.lobby-tab {
    position: relative;
    min-height: 52px;
    border: 1px solid transparent !important;
}

.lobby-tab.active {
    background: rgba(59, 130, 246, 0.16) !important;
    border-color: rgba(96, 165, 250, 0.24) !important;
}

.lobby-tab.active::after {
    content: '';
    position: absolute;
    left: 16px;
    right: 16px;
    bottom: 7px;
    height: 3px;
    border-radius: 999px;
    background: var(--rb-accent);
}

.post-create-form,
.spotted-compose-card,
.post-card,
.spotted-card,
.room-card,
.rail-card {
    background: var(--rb-surface) !important;
}

:root[data-theme='light'] .post-create-form,
:root[data-theme='light'] .spotted-compose-card,
:root[data-theme='light'] .post-card,
:root[data-theme='light'] .spotted-card,
:root[data-theme='light'] .room-card,
:root[data-theme='light'] .rail-card {
    background: var(--rb-surface) !important;
}

.post-create-avatar,
.post-author-avatar {
    width: 36px !important;
    height: 36px !important;
    border-radius: 12px !important;
    object-fit: cover;
}

.post-card:hover,
.room-card:hover,
.spotted-card:hover {
    border-color: var(--rb-border-strong) !important;
}

.post-reaction-pill.active,
.spotted-reaction-pill.active,
.reaction-pill.active {
    background: rgba(59, 130, 246, 0.16) !important;
    border-color: var(--rb-border-strong) !important;
}

.feed-inline-loader,
.feed-endcap,
.empty-state,
.spotted-empty-shell {
    background: var(--rb-empty-surface) !important;
}

.rail-stack,
.rail-list {
    display: grid;
    gap: 10px;
}

.rail-card {
    padding: 18px !important;
    border-radius: 22px !important;
}

.rail-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
}

.rail-card-title {
    font-size: 15px;
    font-weight: 700;
}

.rail-account-item,
.rail-room-item,
.rail-person-item,
.rail-spotted-item {
    width: 100%;
    text-align: left;
    padding: 14px !important;
    border: 1px solid var(--rb-border) !important;
    background: var(--rb-list-surface) !important;
}

.rail-account-item,
.rail-person-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
}

.rail-room-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.rail-spotted-item {
    display: grid;
    gap: 10px;
}

.rail-account-main,
.rail-person-main,
.rail-room-main {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.rail-account-copy,
.rail-person-copy {
    min-width: 0;
    display: grid;
    gap: 3px;
}

.rail-avatar-stack {
    position: relative;
    display: inline-flex;
    flex-shrink: 0;
}

.rail-person-avatar {
    width: 36px !important;
    height: 36px !important;
    border-radius: 12px !important;
    object-fit: cover;
    flex-shrink: 0;
}

.rail-account-avatar {
    width: 40px !important;
    height: 40px !important;
}

.rail-person-presence {
    position: absolute;
    right: -1px;
    bottom: -1px;
    width: 11px;
    height: 11px;
    border-radius: 999px;
    border: 2px solid var(--rb-presence-ring);
    background: #34d399;
}

:root[data-theme='light'] .rail-person-presence {
    border-color: var(--rb-presence-ring);
}

.rail-person-presence.is-busy {
    background: #fb7185;
}

.rail-account-name-text,
.rail-person-name-text {
    color: var(--rb-text);
    font-size: 14px;
    font-weight: 700;
}

.rail-account-meta,
.rail-person-meta,
.rail-room-meta,
.rail-spotted-time {
    font-size: 12px;
}

.rail-account-stats,
.rail-person-tags {
    display: flex;
    gap: 6px;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.rail-mini-pill,
.rail-room-chip,
.rail-spotted-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
    border-radius: 999px;
    border: 1px solid var(--rb-border);
    background: rgba(59, 130, 246, 0.08);
    color: var(--rb-text-soft);
    font-size: 11px;
    font-weight: 700;
}

.rail-spotted-topline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.rail-spotted-copy {
    color: var(--rb-text-soft);
    font-size: 13px;
    line-height: 1.5;
    overflow: hidden;
}

.rail-empty {
    padding: 14px;
    border-radius: 16px;
    border: 1px dashed var(--rb-border-strong);
    color: var(--rb-text-muted);
    font-size: 13px;
    text-align: center;
}

.spotted-room-hero {
    border-color: var(--rb-border) !important;
    background: var(--rb-surface) !important;
}

.spotted-hero-signal {
    min-width: 132px;
    border-color: var(--rb-border) !important;
    background: var(--rb-list-surface) !important;
}

.spotted-card {
    border-color: var(--rb-border) !important;
    background: var(--rb-surface) !important;
}

.spotted-urgency-bar span {
    background: linear-gradient(90deg, #22d3ee 0%, #8b5cf6 52%, #f97316 100%);
}

@media (max-width: 640px) {
    .rail-account-item,
    .rail-person-item {
        grid-template-columns: minmax(0, 1fr);
    }

    .rail-room-item {
        display: grid;
        justify-content: stretch;
    }

    .rail-account-stats,
    .rail-person-tags {
        justify-content: flex-start;
    }
}
