/*
 * Vibes Pass030 — theme-adaptive palette bridge.
 *
 * This file declares Vibes-local aliases only. It does not repaint canonical
 * Blueprint Kit / Module Kit product surfaces. Selected Theme Profile variables
 * win wherever their public scope exists; WordPress global colors and Vibes
 * native hints are fallback inputs for Vibes-owned presentation.
 */

:root,
body {
    --vibes-adaptive-page: var(--wp--preset--color--base, var(--wp--preset--color--background, var(--vibes-native-page, #0d0a1c)));
    --vibes-adaptive-text: var(--wp--preset--color--contrast, var(--wp--preset--color--foreground, var(--vibes-native-text, #f7f3ff)));
    --vibes-adaptive-primary: var(--wp--preset--color--accent-1, var(--wp--preset--color--primary, var(--vibes-native-primary, #ec168c)));
    --vibes-adaptive-secondary: var(--wp--preset--color--accent-2, var(--wp--preset--color--secondary, var(--vibes-native-secondary, #7c3cff)));

    --vibes-page: var(--vibes-adaptive-page);
    --vibes-surface: color-mix(in srgb, var(--vibes-adaptive-page) 88%, var(--vibes-adaptive-text) 12%);
    --vibes-surface-raised: color-mix(in srgb, var(--vibes-adaptive-page) 80%, var(--vibes-adaptive-text) 20%);
    --vibes-text: var(--vibes-adaptive-text);
    --vibes-text-muted: color-mix(in srgb, var(--vibes-adaptive-text) 66%, transparent);
    --vibes-border: color-mix(in srgb, var(--vibes-adaptive-text) 16%, transparent);
    --vibes-border-strong: color-mix(in srgb, var(--vibes-adaptive-text) 30%, transparent);
    --vibes-primary: var(--vibes-adaptive-primary);
    --vibes-secondary: var(--vibes-adaptive-secondary);
    --vibes-focus: color-mix(in srgb, var(--vibes-adaptive-secondary) 62%, var(--vibes-adaptive-primary));
    --vibes-success: #22c55e;
    --vibes-warning: #f59e0b;
    --vibes-danger: #ef4444;
    --vibes-radius-sm: 12px;
    --vibes-radius: 18px;
}

[data-scmk-theme-profile] {
    --vibes-page: var(--scmk-theme-colors-surface-page, var(--vibes-adaptive-page));
    --vibes-surface: var(--scmk-theme-colors-surface-default, color-mix(in srgb, var(--vibes-page) 88%, var(--vibes-text) 12%));
    --vibes-surface-raised: var(--scmk-theme-colors-surface-elevated, color-mix(in srgb, var(--vibes-page) 80%, var(--vibes-text) 20%));
    --vibes-text: var(--scmk-theme-colors-text-primary, var(--vibes-adaptive-text));
    --vibes-text-muted: var(--scmk-theme-colors-text-secondary, color-mix(in srgb, var(--vibes-text) 66%, transparent));
    --vibes-border: var(--scmk-theme-colors-border-default, color-mix(in srgb, var(--vibes-text) 16%, transparent));
    --vibes-border-strong: var(--scmk-theme-colors-border-strong, color-mix(in srgb, var(--vibes-text) 30%, transparent));
    --vibes-primary: var(--scmk-theme-colors-accent-primary, var(--vibes-adaptive-primary));
    --vibes-secondary: var(--scmk-theme-colors-accent-secondary, var(--vibes-adaptive-secondary));
    --vibes-focus: var(--scmk-theme-colors-focus, color-mix(in srgb, var(--vibes-secondary) 62%, var(--vibes-primary)));
    --vibes-success: var(--scmk-theme-colors-state-success, #22c55e);
    --vibes-warning: var(--scmk-theme-colors-state-warning, #f59e0b);
    --vibes-danger: var(--scmk-theme-colors-state-danger, #ef4444);
    --vibes-radius-sm: var(--scmk-theme-radius-md, 12px);
    --vibes-radius: var(--scmk-theme-radius-lg, 18px);
}

/*
 * Pass035: Vibes owns the shared visual canvas for its authenticated network
 * surface family. Blueprint Kit continues to own shell geometry and Module Kit
 * continues to own component presentation; this rule only applies Vibes paint
 * and inherited text language through the existing family contract.
 */
body.vibes-theme.vibes-theme-sdk-surface.vibes-network-theme {
    min-height: 100vh;
    background: var(--vibes-page);
    color: var(--vibes-text);
}


/*
 * Pass036 — legacy Vibes authentication visual transplant.
 * Vibes owns only theme imagery/paint here. Module Kit owns Auth anatomy and
 * Blueprint Kit owns layout.auth geometry.
 */
body.vibes-theme.vibes-theme-sdk-surface.vibes-view-login,
body.vibes-theme.vibes-theme-sdk-surface.vibes-view-register,
body.vibes-theme.vibes-theme-sdk-surface.vibes-view-forgot-password {
    min-height: 100vh;
    background:
      radial-gradient(circle at 6% 12%, color-mix(in srgb, var(--vibes-secondary) 28%, transparent), transparent 28%),
      radial-gradient(circle at 92% 10%, rgba(25, 202, 255, .16), transparent 30%),
      linear-gradient(135deg, #050613 0%, #08101e 56%, #050816 100%);
    color: #fff;
}
body.vibes-theme.vibes-view-register .scmk-auth-hero,
body.vibes-theme.vibes-view-forgot-password .scmk-auth-hero {
    background-image:
      linear-gradient(180deg,rgba(5,7,20,.10),rgba(5,7,20,.28) 48%,rgba(5,7,20,.72)),
      url('../images/register-hero-community.webp');
    background-size: cover;
    background-position: center bottom;
}
body.vibes-theme.vibes-view-login .scmk-auth-hero {
    background-image:
      linear-gradient(180deg,rgba(5,7,20,.10),rgba(5,7,20,.30) 48%,rgba(5,7,20,.74)),
      url('../images/login-hero-community.webp');
    background-size: cover;
    background-position: center bottom;
}
body.vibes-theme :is(.scmk-auth-action-row,.scmk-auth-form-shell,.scmk-auth-value-cards,.scmk-auth-trust,.scmk-auth-footer) {
    --scmk-auth-theme-primary: var(--vibes-primary);
    --scmk-auth-theme-secondary: var(--vibes-secondary);
}

/*
 * Pass043 — Vibes Stream Master Canon skin.
 * Visual authority: Feed Page(6).png + Vibes Master Canon Blueprint.
 * Vibes owns shell paint and the persistent Messenger shell only.
 */
body.vibes-theme.vibes-network-theme.vibes-view-stream,
body.vibes-theme.vibes-network-theme.shiftcontrol-view-stream {
    --vibes-stream-page:#030612;
    --vibes-stream-panel:#071022;
    --vibes-stream-panel-2:#0a1230;
    --vibes-stream-border:rgba(122,91,255,.19);
    --vibes-stream-border-hot:rgba(255,47,146,.34);
    --vibes-stream-text:#f8f8ff;
    --vibes-stream-muted:#a9b3d3;
    --vibes-stream-pink:#ff2f92;
    --vibes-stream-purple:#8d34ff;
    --vibes-stream-cyan:#24d8ff;
    --vibes-stream-orange:#ff7429;
    background:
      radial-gradient(circle at 15% -4%,rgba(111,49,255,.13),transparent 30%),
      radial-gradient(circle at 72% 3%,rgba(255,31,142,.08),transparent 27%),
      linear-gradient(180deg,#02040e 0%,#040817 52%,#030612 100%);
    color:var(--vibes-stream-text);
}

/* Canonical VIBES wordmark in place of the older script treatment. */
body.vibes-theme .vibes-topbar--replica .vibes-logo--replica {
    height:52px;
    display:inline-flex;
    align-items:center;
    gap:11px;
    line-height:1;
    color:#fff;
}
body.vibes-theme .vibes-topbar--replica .vibes-logo--replica::before {
    content:"V";
    width:35px;
    height:39px;
    display:grid;
    place-items:center;
    flex:0 0 35px;
    font:900 31px/1 Inter,ui-sans-serif,system-ui,sans-serif;
    font-style:italic;
    letter-spacing:-.18em;
    padding-right:5px;
    color:transparent;
    background:linear-gradient(145deg,#22d7ff 2%,#844dff 31%,#f42aa4 62%,#ff7a22 92%);
    -webkit-background-clip:text;
    background-clip:text;
    filter:drop-shadow(0 0 9px rgba(216,35,255,.28));
    transform:skewX(-8deg);
}
body.vibes-theme .vibes-topbar--replica .vibes-logo--replica:not(.vibes-canonical-logo--fallback) .vibes-logo-word {
    font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
    font-size:27px;
    font-weight:850;
    letter-spacing:.025em;
    text-transform:uppercase;
    background:none;
    color:#fff;
    text-shadow:none;
}
body.vibes-theme .vibes-topbar--replica .vibes-logo-heart,
body.vibes-theme .vibes-topbar--replica .vibes-logo--replica small { display:none; }

body.vibes-theme .vibes-topbar--replica .vibes-search {
    height:42px;
    padding:0 14px;
    border-radius:13px;
    border-color:rgba(128,100,255,.15);
    background:linear-gradient(180deg,rgba(16,21,53,.86),rgba(9,13,36,.92));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
}
body.vibes-theme .vibes-topbar--replica .vibes-search button { font-size:19px; }
body.vibes-theme .vibes-topbar--replica .vibes-search input { font-size:12px; }
body.vibes-theme .vibes-topbar--replica .vibes-primary-nav { gap:14px; }
body.vibes-theme .vibes-topbar--replica .vibes-primary-nav a {
    min-width:58px;
    gap:3px;
    padding:7px 5px;
    border-radius:9px;
    color:#c7cce2;
}
body.vibes-theme .vibes-topbar--replica .vibes-primary-nav a > span { font-size:18px; }
body.vibes-theme .vibes-topbar--replica .vibes-primary-nav a small { font-size:10px; }
body.vibes-theme .vibes-topbar--replica .vibes-primary-nav a:hover { transform:none; background:rgba(255,255,255,.035); }
body.vibes-theme .vibes-topbar--replica .vibes-primary-nav a.is-active::after {
    left:8px;
    right:8px;
    bottom:-8px;
    height:2px;
    background:linear-gradient(90deg,var(--vibes-stream-pink),var(--vibes-stream-purple),var(--vibes-stream-orange));
    box-shadow:0 0 12px rgba(255,47,146,.75);
}
body.vibes-theme .vibes-topbar--replica .vibes-primary-nav b {
    top:-4px;
    right:5px;
    padding:1px 5px;
    font-size:9px;
}
body.vibes-theme .vibes-topbar--replica .vibes-userbar { gap:8px; justify-content:flex-end; }
body.vibes-theme .vibes-topbar--replica .vibes-userbar .icon-btn {
    width:31px;
    height:31px;
    border-radius:9px;
    font-size:13px;
}
body.vibes-theme .vibes-topbar--replica .vibes-switch { width:44px; height:24px; padding:3px; }
body.vibes-theme .vibes-topbar--replica .vibes-switch span { width:16px; height:16px; }
body.vibes-theme .vibes-topbar--replica .vibes-divider { height:31px; }
body.vibes-theme .vibes-topbar--replica .vibes-account-avatar .avatar {
    width:38px;
    height:38px;
    border-width:1px;
    box-shadow:0 0 0 2px rgba(255,47,146,.18),0 0 12px rgba(255,47,146,.14);
}
body.vibes-theme .vibes-topbar--replica .user-meta { min-width:62px; }
body.vibes-theme .vibes-topbar--replica .user-meta strong { font-size:12px; }
body.vibes-theme .vibes-topbar--replica .user-meta small { font-size:9px; }
body.vibes-theme .vibes-topbar--replica .vibes-create-action {
    height:38px;
    padding:0 13px;
    border-radius:9px;
    font-size:10.5px;
    box-shadow:0 8px 22px rgba(255,47,146,.20);
}

/* Left rail paint — compact navigation and utility cards. */
body.shiftcontrol-view-stream .vibes-left-rail .nav-card,
body.shiftcontrol-view-stream .vibes-footer-inner {
    border-color:var(--vibes-stream-border);
    border-radius:12px;
    background:linear-gradient(180deg,rgba(10,17,43,.96),rgba(4,9,27,.97));
    box-shadow:0 12px 34px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.025);
}
body.shiftcontrol-view-stream .vibes-left-rail .nav-card { padding:7px; }
body.shiftcontrol-view-stream .vibes-left-rail .rail-item {
    height:34px;
    gap:9px;
    padding:0 10px;
    border-radius:7px;
    font-size:11px;
}
body.shiftcontrol-view-stream .vibes-left-rail .rail-item > span:first-child {
    width:18px;
    font-size:14px;
    color:#d3d9ef;
    text-shadow:none;
}
body.shiftcontrol-view-stream .vibes-left-rail .rail-item:hover {
    transform:none;
    background:rgba(255,255,255,.035);
}
body.shiftcontrol-view-stream .vibes-left-rail .rail-item.is-active {
    background:linear-gradient(90deg,rgba(255,45,91,.91),rgba(133,31,206,.88));
    box-shadow:0 7px 18px rgba(255,47,146,.18),inset 0 1px 0 rgba(255,255,255,.12);
}
body.shiftcontrol-view-stream .vibes-left-rail .badge,
body.shiftcontrol-view-stream .vibes-left-rail .rail-item em {
    padding:1px 5px;
    font-size:8.5px;
}

/* The Stream canvas keeps the blueprint geometry but receives the shared Vibes surface language. */
body.shiftcontrol-view-stream .sc-blueprint-region--primary,
body.shiftcontrol-view-stream .sc-blueprint-region--context_rail,
body.shiftcontrol-view-stream .sc-blueprint-region--right_rail {
    color:var(--vibes-stream-text);
}
body.shiftcontrol-view-stream .sc-blueprint-adapter-slot {
    border-radius:12px;
}
body.shiftcontrol-view-stream :focus-visible {
    outline:2px solid color-mix(in srgb,var(--vibes-stream-cyan) 70%,#fff);
    outline-offset:2px;
}

/*
 * Persistent Messenger. Vibes owns every dimension and visual state below;
 * ShiftControl remains the data/action owner. The core SVG is strictly contained.
 */
.vibes-global-messenger-dock,
.vibes-messenger-dock {
    --vibes-messenger-panel-width:356px;
    --vibes-messenger-radius:16px;
    --vibes-messenger-border:rgba(135,82,255,.38);
    position:fixed;
    right:18px;
    bottom:18px;
    z-index:2147481000;
    width:auto;
    max-width:calc(100vw - 24px);
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    gap:9px;
    color:#f8f8ff;
    font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
    pointer-events:none;
}
.vibes-global-messenger-dock *,
.vibes-global-messenger-dock *::before,
.vibes-global-messenger-dock *::after { box-sizing:border-box; }
.vibes-global-messenger-dock button,
.vibes-global-messenger-dock a,
.vibes-global-messenger-dock input,
.vibes-global-messenger-dock form,
.vibes-global-messenger-dock .messenger-panel,
.vibes-global-messenger-dock .messenger-closed-flow { pointer-events:auto; }

.messenger-closed-flow {
    display:flex;
    flex-direction:column-reverse;
    align-items:flex-end;
    gap:8px;
}
.messenger-global-action,
.messenger-bubble {
    position:relative;
    width:46px;
    height:46px;
    min-width:46px;
    min-height:46px;
    margin:0;
    padding:0;
    display:grid;
    place-items:center;
    border:1px solid rgba(255,255,255,.13);
    border-radius:50%;
    color:#fff;
    text-decoration:none;
    background:linear-gradient(145deg,#7d2aff,#e925b4 52%,#ff6c2d);
    box-shadow:0 9px 26px rgba(0,0,0,.42),0 0 22px rgba(221,35,255,.24),inset 0 1px 0 rgba(255,255,255,.22);
    cursor:pointer;
    overflow:visible;
}
.messenger-global-action {
    width:34px;
    height:34px;
    min-width:34px;
    min-height:34px;
    margin-right:6px;
    font-size:20px;
    line-height:1;
    background:linear-gradient(145deg,#6e2dff,#bd1be7);
}
.messenger-energy-ring {
    position:absolute;
    inset:-6px;
    border-radius:50%;
    border:1px solid rgba(241,53,255,.22);
    box-shadow:0 0 20px rgba(230,31,255,.18);
    pointer-events:none;
}
.messenger-energy-ring i {
    position:absolute;
    inset:0;
    border-radius:inherit;
    border:1px solid transparent;
    border-top-color:rgba(42,220,255,.45);
    animation:vibesMessengerOrbit 5s linear infinite;
}
.messenger-energy-ring i:nth-child(2) { inset:3px; border-top-color:rgba(255,66,180,.56); animation-duration:3.8s; animation-direction:reverse; }
.messenger-energy-ring i:nth-child(3) { inset:7px; border-top-color:rgba(255,132,52,.58); animation-duration:3s; }
.vibes-messenger-core-mark {
    width:25px;
    height:25px;
    min-width:0;
    min-height:0;
    display:grid;
    place-items:center;
    overflow:hidden;
    color:#fff;
}
.vibes-messenger-core-mark svg {
    display:block;
    width:100%;
    height:100%;
    max-width:100%;
    max-height:100%;
    overflow:visible;
    fill:none;
    stroke:currentColor;
    stroke-width:3.3;
    stroke-linecap:round;
    stroke-linejoin:round;
    filter:drop-shadow(0 0 4px rgba(255,255,255,.36));
}
.vibes-messenger-core-mark.is-small { width:22px; height:22px; }
.vibes-messenger-core-mark.is-header { width:28px; height:28px; }
.messenger-unread-badge {
    position:absolute;
    top:-5px;
    right:-5px;
    min-width:19px;
    height:19px;
    padding:0 5px;
    display:grid;
    place-items:center;
    border:2px solid #06091a;
    border-radius:999px;
    background:#ff176f;
    color:#fff;
    font-size:9px;
    font-weight:850;
    box-shadow:0 0 12px rgba(255,23,111,.56);
}
.messenger-preview-capsule {
    width:218px;
    min-height:58px;
    padding:8px 10px;
    display:none;
    grid-template-columns:1fr auto;
    align-items:center;
    gap:8px;
    border:1px solid var(--vibes-messenger-border);
    border-radius:15px;
    color:#fff;
    background:linear-gradient(145deg,rgba(13,18,52,.98),rgba(8,10,31,.98));
    box-shadow:0 16px 38px rgba(0,0,0,.42),0 0 24px rgba(194,35,255,.13);
}
.vibes-global-messenger-dock.has-unread.is-closed .messenger-preview-capsule { display:grid; }
.messenger-preview-wave { display:none; }
.messenger-preview-identity { display:flex; align-items:center; gap:8px; min-width:0; }
.messenger-preview-identity > span:last-child { min-width:0; }
.messenger-preview-identity strong,
.messenger-preview-identity small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.messenger-preview-identity strong { font-size:11px; }
.messenger-preview-identity small { color:#aeb7d6; font-size:9px; margin-top:2px; }
.messenger-preview-avatars { display:flex; align-items:center; }

.messenger-panel {
    width:var(--vibes-messenger-panel-width);
    max-width:calc(100vw - 24px);
    min-height:530px;
    max-height:min(720px,calc(100dvh - 32px));
    display:flex;
    flex-direction:column;
    overflow:hidden;
    border:1px solid var(--vibes-messenger-border);
    border-radius:var(--vibes-messenger-radius);
    background:
      radial-gradient(circle at 12% 0%,rgba(129,44,255,.19),transparent 34%),
      linear-gradient(180deg,rgba(9,14,39,.99),rgba(4,8,25,.99));
    box-shadow:0 24px 70px rgba(0,0,0,.58),0 0 38px rgba(199,35,255,.15),inset 0 1px 0 rgba(255,255,255,.055);
    transform-origin:100% 100%;
}
.vibes-global-messenger-dock.is-closed .messenger-panel,
.vibes-global-messenger-dock:not(.is-open):not(.is-minimized) .messenger-panel {
    display:none;
}
.vibes-global-messenger-dock.is-open .messenger-closed-flow,
.vibes-global-messenger-dock.is-minimized .messenger-closed-flow { display:none; }
.vibes-global-messenger-dock.is-minimized .messenger-panel {
    width:260px;
    min-height:0;
    max-height:none;
}
.vibes-global-messenger-dock.is-minimized .messenger-panel > :not(.messenger-head) { display:none; }
.vibes-global-messenger-dock.is-minimized .messenger-head { border-bottom:0; }

.messenger-head {
    min-height:64px;
    padding:10px 11px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    border-bottom:1px solid rgba(255,255,255,.07);
    background:linear-gradient(90deg,rgba(114,38,224,.17),rgba(255,31,140,.08),transparent);
}
.messenger-brand { display:flex; align-items:center; gap:8px; min-width:0; }
.messenger-brand > span:last-child { min-width:0; line-height:1.15; }
.messenger-brand strong,
.messenger-brand small { display:block; white-space:nowrap; }
.messenger-brand strong { font-size:12px; }
.messenger-brand small { margin-top:3px; color:#aeb7d6; font-size:9px; }
.messenger-presence-dot {
    width:7px;
    height:7px;
    margin-right:4px;
    display:inline-block;
    border-radius:50%;
    background:#29e79a;
    box-shadow:0 0 9px rgba(41,231,154,.65);
}
.messenger-actions { display:flex; align-items:center; gap:3px; }
.messenger-icon,
.messenger-thread-actions button,
.messenger-thread-back {
    width:27px;
    height:27px;
    padding:0;
    display:grid;
    place-items:center;
    border:1px solid rgba(255,255,255,.08);
    border-radius:8px;
    color:#dce1f5;
    text-decoration:none;
    background:rgba(255,255,255,.035);
    font-size:14px;
}
.messenger-icon:disabled,
.messenger-thread-actions button:disabled { opacity:.42; }
.messenger-tabs {
    min-height:43px;
    padding:6px 10px 0;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:5px;
    border-bottom:1px solid rgba(255,255,255,.055);
}
.messenger-tabs button {
    position:relative;
    height:35px;
    border:0;
    border-radius:8px 8px 0 0;
    color:#919bbb;
    background:transparent;
    font-size:10px;
}
.messenger-tabs button.is-active { color:#fff; background:rgba(126,45,255,.13); }
.messenger-tabs button.is-active::after {
    content:"";
    position:absolute;
    left:12px;
    right:12px;
    bottom:0;
    height:2px;
    background:linear-gradient(90deg,#a52cff,#ff2f92,#ff7a22);
}
.messenger-tabs b {
    min-width:15px;
    padding:1px 4px;
    border-radius:999px;
    background:#ff176f;
    font-size:8px;
}
.messenger-search-row {
    padding:9px 10px;
    display:grid;
    grid-template-columns:minmax(0,1fr) 34px;
    gap:7px;
}
.messenger-search {
    height:35px;
    padding:0 10px;
    display:flex;
    align-items:center;
    gap:7px;
    border:1px solid rgba(255,255,255,.075);
    border-radius:10px;
    background:rgba(255,255,255,.035);
    color:#9aa5c5;
}
.messenger-search input {
    width:100%;
    min-width:0;
    border:0;
    outline:0;
    background:transparent;
    color:#fff;
    font-size:10px;
}
.messenger-filter {
    border:1px solid rgba(255,255,255,.075);
    border-radius:10px;
    color:#a8b2ce;
    background:rgba(255,255,255,.035);
}
.messenger-conversation-list {
    min-height:350px;
    flex:1;
    overflow:auto;
    overscroll-behavior:contain;
    scrollbar-width:thin;
    scrollbar-color:rgba(144,67,255,.45) transparent;
}
.messenger-loading-state {
    min-height:220px;
    padding:30px;
    display:grid;
    place-items:center;
    color:#8f99bb;
    text-align:center;
    font-size:10.5px;
}
.messenger-list-view { display:flex; flex:1; min-height:0; flex-direction:column; }
.messenger-thread-view { display:flex; flex:1; min-height:0; flex-direction:column; }
.messenger-thread-view[hidden] { display:none; }
.messenger-thread-head {
    min-height:54px;
    padding:8px 10px;
    display:grid;
    grid-template-columns:28px 34px minmax(0,1fr) auto;
    gap:7px;
    align-items:center;
    border-bottom:1px solid rgba(255,255,255,.06);
}
.messenger-thread-avatar {
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    overflow:hidden;
    border-radius:50%;
    background:#1b2450;
}
.messenger-thread-avatar img { width:100%; height:100%; object-fit:cover; }
.messenger-thread-person { min-width:0; }
.messenger-thread-person strong,
.messenger-thread-person small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.messenger-thread-person strong { font-size:11px; }
.messenger-thread-person small { color:#929dbd; font-size:8.5px; }
.messenger-thread-actions { display:flex; gap:3px; }
.messenger-body {
    min-height:260px;
    flex:1;
    padding:12px;
    overflow:auto;
    background:linear-gradient(180deg,rgba(255,255,255,.006),rgba(123,36,255,.025));
}
.messenger-foot {
    padding:9px;
    border-top:1px solid rgba(255,255,255,.06);
}
.vibes-messenger-send-form {
    display:grid;
    grid-template-columns:30px minmax(0,1fr) 30px 34px;
    gap:6px;
    align-items:center;
}
.messenger-compose-add,
.messenger-emoji,
.messenger-send {
    width:30px;
    height:30px;
    padding:0;
    border:1px solid rgba(255,255,255,.075);
    border-radius:9px;
    color:#d9def1;
    background:rgba(255,255,255,.035);
}
.messenger-send {
    width:34px;
    color:#fff;
    border:0;
    background:linear-gradient(135deg,#8e2fff,#ff2f92 58%,#ff7828);
}
.messenger-input input {
    width:100%;
    height:34px;
    padding:0 11px;
    border:1px solid rgba(255,255,255,.075);
    border-radius:11px;
    outline:0;
    color:#fff;
    background:rgba(255,255,255,.035);
    font-size:10.5px;
}
.messenger-bottom-nav {
    min-height:48px;
    padding:6px 10px;
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:5px;
    border-top:1px solid rgba(255,255,255,.055);
}
.messenger-bottom-nav button,
.messenger-bottom-nav a {
    height:34px;
    display:grid;
    place-items:center;
    border:0;
    border-radius:9px;
    color:#8f99b9;
    text-decoration:none;
    background:transparent;
}
.messenger-bottom-nav .is-active { color:#ff55b5; background:rgba(255,47,146,.10); }
.messenger-wave-action {
    color:#fff !important;
    background:linear-gradient(135deg,#752eff,#dc28c8) !important;
    box-shadow:0 0 18px rgba(198,38,255,.22);
}

@keyframes vibesMessengerOrbit { to { transform:rotate(360deg); } }

@media (max-width:1180px) {
    body.vibes-theme .vibes-topbar--replica .vibes-logo--replica:not(.vibes-canonical-logo--fallback) .vibes-logo-word { font-size:23px; }
    body.vibes-theme .vibes-topbar--replica .vibes-logo--replica::before { width:30px; font-size:27px; }
}
@media (max-width:900px) {
    body.vibes-theme .vibes-topbar--replica .vibes-logo--replica { height:42px; }
    body.vibes-theme .vibes-topbar--replica .vibes-logo--replica:not(.vibes-canonical-logo--fallback) .vibes-logo-word { font-size:20px; }
    body.vibes-theme .vibes-topbar--replica .vibes-logo--replica::before { width:26px; height:32px; font-size:23px; }
    body.vibes-theme .vibes-topbar--replica .vibes-search { height:38px; }
    .vibes-global-messenger-dock,
    .vibes-messenger-dock { right:10px; bottom:10px; max-width:calc(100vw - 20px); }
    .messenger-preview-capsule { display:none !important; }
    .messenger-global-action { display:none; }
    .messenger-bubble {
        width:42px;
        height:42px;
        min-width:42px;
        min-height:42px;
    }
    .vibes-messenger-core-mark { width:22px; height:22px; }
    .messenger-panel {
        width:min(390px,calc(100vw - 20px));
        max-width:calc(100vw - 20px);
        min-height:min(580px,calc(100dvh - 20px));
        max-height:calc(100dvh - 20px);
        border-radius:14px;
    }
}
@media (max-width:560px) {
    .messenger-head { min-height:58px; padding:8px; }
    .messenger-actions { gap:2px; }
    .messenger-icon { width:25px; height:25px; font-size:12px; }
    .messenger-call,
    .messenger-video { display:none; }
    .messenger-conversation-list { min-height:300px; }
    .messenger-bottom-nav { min-height:44px; padding-block:5px; }
}
@media (prefers-reduced-motion:reduce) {
    .messenger-energy-ring i { animation:none; }
}


/*
 * Pass044 — Stream comment usability and compact shell skin.
 * Module Kit owns comment anatomy. Vibes supplies brand tokens, the generic
 * emoji popover skin, and narrow authenticated topbar paint only.
 */
body.shiftcontrol-view-stream .scmk-comment-thread {
    --scmk-comment-surface:rgba(4,9,25,.70);
    --scmk-comment-surface-raised:rgba(9,16,39,.94);
    --scmk-comment-surface-soft:rgba(255,255,255,.035);
    --scmk-comment-border:rgba(122,91,255,.17);
    --scmk-comment-text:#f5f7ff;
    --scmk-comment-muted:#99a5c8;
    --scmk-comment-accent:#ff2f92;
    --scmk-comment-accent-secondary:#8738ff;
}
body.shiftcontrol-view-stream .scmk-comment-thread__composer-field > .vibes-emoji-system {
    position:absolute;
    right:9px;
    bottom:9px;
    z-index:5;
    width:34px;
    height:34px;
    margin:0;
    display:inline-flex;
    align-items:center;
    justify-content:center;
}
body.shiftcontrol-view-stream .scmk-comment-thread .vibes-emoji-toggle {
    width:32px;
    height:32px;
    min-width:32px;
    min-height:32px;
    margin:0;
    padding:0;
    display:grid;
    place-items:center;
    border:1px solid rgba(255,255,255,.10);
    border-radius:9px;
    color:#f8f8ff;
    background:rgba(255,255,255,.055);
    box-shadow:none;
    font-size:15px;
    line-height:1;
    cursor:pointer;
}
body.shiftcontrol-view-stream .scmk-comment-thread .vibes-emoji-toggle:hover,
body.shiftcontrol-view-stream .scmk-comment-thread .vibes-emoji-toggle:focus-visible {
    border-color:rgba(255,58,168,.40);
    background:rgba(255,47,146,.11);
    transform:none;
}
body.shiftcontrol-view-stream .scmk-comment-thread .vibes-emoji-picker {
    position:absolute;
    right:0;
    bottom:calc(100% + 8px);
    z-index:100;
    width:min(276px,calc(100vw - 32px));
    max-height:220px;
    padding:9px;
    display:none !important;
    grid-template-columns:repeat(6,minmax(34px,1fr));
    gap:4px;
    overflow:auto;
    border:1px solid rgba(139,90,255,.30);
    border-radius:14px;
    background:rgba(7,11,31,.985);
    box-shadow:0 18px 52px rgba(0,0,0,.52),0 0 24px rgba(181,38,255,.10);
    backdrop-filter:blur(18px);
}
body.shiftcontrol-view-stream .scmk-comment-thread .vibes-emoji-picker.is-open { display:grid !important; }
body.shiftcontrol-view-stream .scmk-comment-thread .vibes-emoji-option {
    min-width:34px;
    height:34px;
    margin:0;
    padding:0;
    display:grid;
    place-items:center;
    border:0;
    border-radius:8px;
    color:inherit;
    background:transparent;
    font-size:17px;
    line-height:1;
    cursor:pointer;
}
body.shiftcontrol-view-stream .scmk-comment-thread .vibes-emoji-option:hover,
body.shiftcontrol-view-stream .scmk-comment-thread .vibes-emoji-option:focus-visible { background:rgba(255,255,255,.09); }

@media (max-width:900px) {
    body.vibes-theme .vibes-topbar--replica .vibes-primary-nav { display:none !important; }
    body.vibes-theme .vibes-topbar--replica .vibes-userbar {
        min-width:0;
        gap:6px;
        overflow:visible;
    }
    body.vibes-theme .vibes-topbar--replica .vibes-account-menu > summary { gap:6px; }
    body.vibes-theme .vibes-topbar--replica .vibes-account-avatar .avatar { width:34px; height:34px; }
    body.vibes-theme .vibes-topbar--replica .vibes-create-action { height:34px; padding-inline:10px; }
}
@media (max-width:760px) {
    body.vibes-theme .vibes-topbar--replica .vibes-create-action,
    body.vibes-theme .vibes-topbar--replica .user-meta,
    body.vibes-theme .vibes-topbar--replica .vibes-divider,
    body.vibes-theme .vibes-topbar--replica .vibes-switch,
    body.vibes-theme .vibes-topbar--replica .vibes-userbar > .icon-btn { display:none !important; }
    body.vibes-theme .vibes-topbar--replica .vibes-logo--replica { gap:7px; }
    body.vibes-theme .vibes-topbar--replica .vibes-logo--replica:not(.vibes-canonical-logo--fallback) .vibes-logo-word { font-size:19px; }
    body.vibes-theme .vibes-topbar--replica .vibes-search { min-width:0; width:100%; }
    body.vibes-theme .vibes-topbar--replica .vibes-search input { min-width:0; }
}
@media (max-width:520px) {
    body.vibes-theme .vibes-topbar--replica .vibes-logo--replica:not(.vibes-canonical-logo--fallback) .vibes-logo-word { display:none; }
    body.vibes-theme .vibes-topbar--replica .vibes-logo--replica::before { width:28px; flex-basis:28px; }
    body.shiftcontrol-view-stream .scmk-comment-thread .vibes-emoji-picker {
        position:fixed;
        left:10px;
        right:10px;
        bottom:10px;
        width:auto;
        max-height:min(42vh,240px);
        grid-template-columns:repeat(6,1fr);
        z-index:2147482000;
    }
}

/* Pass044 shell-control completion after Blueprint paint retirement. */
body.vibes-theme .vibes-topbar--replica {
    color:var(--vibes-stream-text);
    background:linear-gradient(180deg,rgba(3,5,16,.985),rgba(4,7,22,.95));
    backdrop-filter:blur(18px);
}
body.vibes-theme .vibes-topbar--replica .vibes-logo--replica { text-decoration:none; }
body.vibes-theme .vibes-topbar--replica .vibes-search {
    min-width:0;
    display:flex;
    align-items:center;
    gap:9px;
}
body.vibes-theme .vibes-topbar--replica .vibes-search button {
    width:24px;
    height:24px;
    min-width:24px;
    margin:0;
    padding:0;
    display:grid;
    place-items:center;
    border:0;
    border-radius:7px;
    color:#cdd7f4;
    background:transparent;
    box-shadow:none;
    cursor:pointer;
}
body.vibes-theme .vibes-topbar--replica .vibes-search input {
    min-width:0;
    width:100%;
    height:100%;
    padding:0;
    border:0;
    outline:0;
    color:#f7f8ff;
    background:transparent;
    appearance:none;
}
body.vibes-theme .vibes-topbar--replica .vibes-search input::placeholder { color:#939dbc; opacity:1; }
body.vibes-theme .vibes-topbar--replica .vibes-primary-nav {
    min-width:0;
    display:flex;
    align-items:center;
    justify-content:center;
}
body.vibes-theme .vibes-topbar--replica .vibes-primary-nav a {
    position:relative;
    display:grid;
    place-items:center;
    text-decoration:none;
}
body.vibes-theme .vibes-topbar--replica .vibes-userbar {
    min-width:0;
    display:flex;
    align-items:center;
}
body.vibes-theme .vibes-topbar--replica .vibes-userbar button,
body.vibes-theme .vibes-topbar--replica .vibes-userbar a { font:inherit; }
body.vibes-theme .vibes-topbar--replica .vibes-userbar .icon-btn {
    margin:0;
    padding:0;
    display:grid;
    place-items:center;
    border:0;
    color:#d8e1f9;
    background:transparent;
    box-shadow:none;
}
body.vibes-theme .vibes-topbar--replica .vibes-switch {
    margin:0;
    border:1px solid rgba(255,255,255,.11);
    border-radius:999px;
    background:linear-gradient(90deg,#222c5b,#100d2c);
}
body.vibes-theme .vibes-topbar--replica .vibes-switch span {
    display:block;
    border-radius:50%;
    background:#fff;
    box-shadow:0 0 14px rgba(255,255,255,.52);
}
body.vibes-theme .vibes-topbar--replica .vibes-divider { width:1px; background:rgba(255,255,255,.10); }
body.vibes-theme .vibes-topbar--replica .vibes-account-menu { position:relative; min-width:0; }
body.vibes-theme .vibes-topbar--replica .vibes-account-menu > summary {
    min-width:0;
    display:flex;
    align-items:center;
    list-style:none;
    color:#fff;
    cursor:pointer;
}
body.vibes-theme .vibes-topbar--replica .vibes-account-menu > summary::-webkit-details-marker { display:none; }
body.vibes-theme .vibes-topbar--replica .vibes-account-avatar,
body.vibes-theme .vibes-topbar--replica .vibes-account-avatar .avatar {
    display:grid;
    place-items:center;
    overflow:hidden;
    border-radius:50%;
    background:#151d43;
}
body.vibes-theme .vibes-topbar--replica .vibes-account-avatar .avatar {
    border:1px solid rgba(255,255,255,.15);
}
body.vibes-theme .vibes-topbar--replica .vibes-account-avatar img { width:100%; height:100%; display:block; object-fit:cover; }
body.vibes-theme .vibes-topbar--replica .user-meta { min-width:0; line-height:1.14; }
body.vibes-theme .vibes-topbar--replica .user-meta strong,
body.vibes-theme .vibes-topbar--replica .user-meta small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
body.vibes-theme .vibes-topbar--replica .vibes-account-caret { color:#d5ddf2; }
body.vibes-theme .vibes-topbar--replica .vibes-account-panel {
    position:absolute;
    top:calc(100% + 9px);
    right:0;
    z-index:90;
    width:224px;
    padding:7px;
    border:1px solid rgba(122,91,255,.24);
    border-radius:13px;
    background:rgba(7,11,31,.985);
    box-shadow:0 18px 48px rgba(0,0,0,.48);
}
body.vibes-theme .vibes-topbar--replica .vibes-account-panel a {
    display:block;
    padding:9px 10px;
    border-radius:9px;
    color:#f6f7ff;
    text-decoration:none;
}
body.vibes-theme .vibes-topbar--replica .vibes-account-panel a:hover { background:rgba(255,255,255,.05); }
body.vibes-theme .vibes-topbar--replica .vibes-account-panel small { color:#929dbd; }
body.vibes-theme .vibes-topbar--replica .vibes-create-action {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    border:0;
    color:#fff;
    text-decoration:none;
    white-space:nowrap;
    background:linear-gradient(105deg,#9b29ff,#ff2f92 64%,#ff7429);
}

/* Shell Navigation board: one wordmark and one geometry system across routes. */
body.vibes-theme:not(.shiftcontrol-view-stream) .vibes-topbar--replica > .vibes-topbar__inner[data-sc-blueprint-shell-region="topbar-inner"] {
    grid-template-columns:170px minmax(280px,400px) minmax(350px,1fr) auto !important;
    gap:16px !important;
}
body.vibes-theme .vibes-topbar--replica .vibes-logo--replica {
    width:max-content;
    min-width:0;
    height:auto;
    display:grid;
    grid-template-columns:auto auto;
    grid-template-rows:auto auto;
    column-gap:5px;
    row-gap:0;
    align-items:center;
    overflow:visible;
    line-height:.78;
}
body.vibes-theme .vibes-topbar--replica .vibes-logo--replica::before { content:none; display:none; }
body.vibes-theme .vibes-topbar--replica .vibes-logo--replica:not(.vibes-canonical-logo--fallback) .vibes-logo-word {
    display:block;
    font-family:"Brush Script MT","Segoe Script",cursive;
    font-size:43px;
    font-weight:900;
    letter-spacing:.1px;
    text-transform:none;
    color:transparent;
    background:linear-gradient(135deg,#ff876f,#ff2f92 70%);
    -webkit-background-clip:text;
    background-clip:text;
    text-shadow:0 0 18px rgba(255,47,146,.30);
}
body.vibes-theme .vibes-topbar--replica .vibes-logo-heart {
    display:block;
    color:#ff2f92;
    font-size:13px;
    text-shadow:0 0 12px rgba(255,47,146,.7);
}
body.vibes-theme .vibes-topbar--replica .vibes-logo--replica small {
    display:block;
    grid-column:1 / -1;
    margin:1px 0 0 37px;
    color:#f7f4ff;
    font:600 7px/1 Inter,ui-sans-serif,system-ui,sans-serif;
    letter-spacing:.01em;
}
@media (max-width:1220px) {
    body.vibes-theme:not(.shiftcontrol-view-stream) .vibes-topbar--replica > .vibes-topbar__inner[data-sc-blueprint-shell-region="topbar-inner"] {
        grid-template-columns:160px minmax(220px,1fr) auto !important;
    }
    body.vibes-theme .vibes-topbar--replica .vibes-primary-nav { display:none !important; }
}
@media (max-width:760px) {
    body.vibes-theme:not(.shiftcontrol-view-stream) .vibes-topbar--replica > .vibes-topbar__inner[data-sc-blueprint-shell-region="topbar-inner"] {
        grid-template-columns:88px minmax(0,1fr) auto !important;
        gap:8px !important;
    }
    body.vibes-theme .vibes-topbar--replica .vibes-logo--replica:not(.vibes-canonical-logo--fallback) .vibes-logo-word { display:block; font-size:29px; }
    body.vibes-theme .vibes-topbar--replica .vibes-logo-heart,
    body.vibes-theme .vibes-topbar--replica .vibes-logo--replica small { display:none; }
}

/* Shell Navigation blueprint fidelity: Vibes-owned paint and typography. */
body.vibes-theme .vibes-topbar{
    font-family:Inter,Mulish,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
}
html:has(body.vibes-theme.admin-bar){
    margin-top:0!important;
    padding-top:0!important;
    --sc-shell-adminbar-height:22px;
}
html:has(body.vibes-theme.admin-bar) body.vibes-theme{
    padding-top:22px!important;
    --sc-shell-adminbar-height:22px;
}
body.vibes-theme:not(.admin-bar){--sc-shell-adminbar-height:0px}
body.vibes-theme .vibes-topbar--replica .vibes-userbar{height:46px}
body.vibes-theme .vibes-topbar--replica,
body.vibes-theme .vibes-topbar--replica *,
body.vibes-theme .vibes-topbar--replica *::before,
body.vibes-theme .vibes-topbar--replica *::after{box-sizing:border-box}
body.vibes-network-theme:not(.shiftcontrol-view-stream) .vibes-topbar:not(.vibes-topbar--replica)[data-sc-blueprint-shell-topbar="v1"]{
    position:relative;
    height:86px!important;
    overflow:hidden;
    isolation:isolate;
    background:linear-gradient(90deg,#050614 0%,#070518 35%,#140727 68%,#08061a 100%);
}
body.vibes-network-theme:not(.shiftcontrol-view-stream) .vibes-topbar:not(.vibes-topbar--replica)[data-sc-blueprint-shell-topbar="v1"]::before{
    content:"";
    position:absolute;
    z-index:-1;
    inset:0 0 0 42%;
    pointer-events:none;
    opacity:.62;
    background:
      radial-gradient(circle at 88% 38%,rgba(255,37,190,.72) 0 2px,transparent 3px),
      radial-gradient(circle at 67% 70%,rgba(115,38,255,.48),transparent 25%),
      linear-gradient(112deg,transparent 0 36%,rgba(127,24,214,.18) 37% 49%,transparent 50%),
      repeating-linear-gradient(98deg,transparent 0 54px,rgba(255,27,183,.18) 55px 57px,transparent 58px 91px),
      linear-gradient(180deg,rgba(10,4,31,.1),rgba(39,4,55,.45));
    box-shadow:inset 70px 0 74px #070518;
}
body.vibes-network-theme:not(.shiftcontrol-view-stream) .vibes-topbar:not(.vibes-topbar--replica) .vibes-topbar__inner{position:relative;z-index:1;height:86px!important}
body.vibes-network-theme:not(.shiftcontrol-view-stream) .vibes-topbar:not(.vibes-topbar--replica) .vibes-logo--shell-suite{min-width:0!important}
body.vibes-network-theme:not(.shiftcontrol-view-stream) .vibes-topbar:not(.vibes-topbar--replica) .vibes-logo--shell-suite>.vibes-shell-manifesto{
    display:flex!important;
    align-items:baseline;
    gap:8px;
    width:max-content!important;
    height:auto!important;
    flex:0 0 auto!important;
    place-items:initial!important;
    border-radius:0!important;
    background:none!important;
    color:#fff;
    font-size:30px;
    font-weight:850;
    line-height:1;
    letter-spacing:-.045em;
    text-shadow:0 2px 18px rgba(0,0,0,.45);
}
body.vibes-network-theme:not(.shiftcontrol-view-stream) .vibes-topbar:not(.vibes-topbar--replica) .vibes-shell-manifesto b{font:inherit;color:#fff}
body.vibes-network-theme:not(.shiftcontrol-view-stream) .vibes-topbar:not(.vibes-topbar--replica) .vibes-shell-manifesto i,
body.vibes-network-theme:not(.shiftcontrol-view-stream) .vibes-topbar:not(.vibes-topbar--replica) .vibes-shell-manifesto em{font:italic 820 30px/1 Inter,Mulish,ui-sans-serif,system-ui,sans-serif}
body.vibes-network-theme:not(.shiftcontrol-view-stream) .vibes-topbar:not(.vibes-topbar--replica) .vibes-shell-manifesto i{color:#ff6642;text-shadow:0 0 18px rgba(255,75,54,.34)}
body.vibes-network-theme:not(.shiftcontrol-view-stream) .vibes-topbar:not(.vibes-topbar--replica) .vibes-shell-manifesto em{color:#e41bd2;text-shadow:0 0 20px rgba(232,25,206,.42)}
html body.vibes-network-theme:not(.shiftcontrol-view-stream) .vibes-topbar:not(.vibes-topbar--replica) .vibes-logo--shell-suite>.vibes-logo-word,
html body.vibes-network-theme:not(.shiftcontrol-view-stream) .vibes-topbar:not(.vibes-topbar--replica) .vibes-logo--shell-suite>.vibes-logo-heart,
html body.vibes-network-theme:not(.shiftcontrol-view-stream) .vibes-topbar:not(.vibes-topbar--replica) .vibes-logo--shell-suite>small{display:none!important}
body.vibes-network-theme:not(.shiftcontrol-view-stream) .vibes-topbar:not(.vibes-topbar--replica) .vibes-search{
    height:38px!important;
    border-radius:10px!important;
    background:rgba(12,12,37,.73)!important;
    border-color:rgba(112,88,190,.2)!important;
}
body.vibes-network-theme:not(.shiftcontrol-view-stream) .vibes-topbar:not(.vibes-topbar--replica) .vibes-primary-nav a{min-width:50px!important;padding:6px 7px 7px!important}
body.vibes-network-theme:not(.shiftcontrol-view-stream) .vibes-topbar:not(.vibes-topbar--replica) .vibes-primary-nav a>span{font-size:15px!important}
body.vibes-network-theme:not(.shiftcontrol-view-stream) .vibes-topbar:not(.vibes-topbar--replica) .vibes-primary-nav small{font-size:9px!important}
@media(max-width:1320px){
    body.vibes-network-theme:not(.shiftcontrol-view-stream) .vibes-topbar:not(.vibes-topbar--replica)[data-sc-blueprint-shell-topbar="v1"],
    body.vibes-network-theme:not(.shiftcontrol-view-stream) .vibes-topbar:not(.vibes-topbar--replica) .vibes-topbar__inner{height:76px!important}
    body.vibes-network-theme:not(.shiftcontrol-view-stream) .vibes-topbar:not(.vibes-topbar--replica) .vibes-logo--shell-suite>.vibes-shell-manifesto{display:none!important}
    html body.vibes-network-theme:not(.shiftcontrol-view-stream) .vibes-topbar:not(.vibes-topbar--replica) .vibes-logo--shell-suite>.vibes-logo-word{display:inline!important}
    html body.vibes-network-theme:not(.shiftcontrol-view-stream) .vibes-topbar:not(.vibes-topbar--replica) .vibes-logo--shell-suite>.vibes-logo-heart{display:inline!important}
    html body.vibes-network-theme:not(.shiftcontrol-view-stream) .vibes-topbar:not(.vibes-topbar--replica) .vibes-logo--shell-suite>small{display:block!important}
}
@media(max-width:640px){
    body.vibes-network-theme:not(.shiftcontrol-view-stream) .vibes-topbar:not(.vibes-topbar--replica)[data-sc-blueprint-shell-topbar="v1"],
    body.vibes-network-theme:not(.shiftcontrol-view-stream) .vibes-topbar:not(.vibes-topbar--replica) .vibes-topbar__inner{height:62px!important}
    html body.vibes-network-theme:not(.shiftcontrol-view-stream) .vibes-topbar:not(.vibes-topbar--replica) .vibes-logo--shell-suite>small{display:none!important}
}

/* Canonical custom-logo projection. Placement remains owned by the existing
 * shell/footer geometry; only the identity source changes. */
body.vibes-theme .vibes-canonical-logo--fallback{
    display:inline-flex;
    align-items:center;
    gap:10px;
    width:max-content;
    min-width:0;
    height:auto;
    overflow:visible;
    color:#fff;
    line-height:1;
    text-decoration:none;
}
body.vibes-theme .vibes-canonical-logo--fallback .vibes-canonical-logo__mark{
    position:relative;
    display:inline-block;
    flex:0 0 32px;
    width:32px;
    height:38px;
    filter:drop-shadow(0 0 16px rgba(160,82,255,.46));
}
body.vibes-theme .vibes-canonical-logo--fallback .vibes-canonical-logo__mark::before,
body.vibes-theme .vibes-canonical-logo--fallback .vibes-canonical-logo__mark::after{
    content:"";
    position:absolute;
    top:3px;
    width:8px;
    height:32px;
    border-radius:999px;
    transform-origin:center;
}
body.vibes-theme .vibes-canonical-logo--fallback .vibes-canonical-logo__mark::before{left:7px;transform:rotate(-30deg);background:linear-gradient(180deg,#1ee4ff,#8b4dff 62%,#ff2bb6);}
body.vibes-theme .vibes-canonical-logo--fallback .vibes-canonical-logo__mark::after{right:7px;transform:rotate(30deg);background:linear-gradient(180deg,#ffb13b,#ff4574 42%,#8b4dff 100%);}
body.vibes-theme .vibes-canonical-logo--fallback .vibes-canonical-logo__word{
    display:inline!important;
    color:#fff;
    background:none;
    -webkit-background-clip:initial;
    background-clip:initial;
    font:900 27px/1 Inter,Arial,sans-serif;
    letter-spacing:.01em;
    text-transform:uppercase;
    text-shadow:none;
}
body.vibes-theme .vibes-topbar--replica .vibes-logo--replica.vibes-canonical-logo--fallback,
body.vibes-network-theme:not(.shiftcontrol-view-stream) .vibes-topbar:not(.vibes-topbar--replica) .vibes-logo--shell-suite.vibes-canonical-logo--fallback{display:inline-flex;grid-template:none;line-height:1;}
body.vibes-theme .vibes-topbar--replica .vibes-logo--replica.vibes-canonical-logo--fallback small,
body.vibes-network-theme:not(.shiftcontrol-view-stream) .vibes-topbar:not(.vibes-topbar--replica) .vibes-logo--shell-suite.vibes-canonical-logo--fallback small{display:none!important;}
body.vibes-theme .vibes-canonical-logo--custom .vibes-canonical-logo__image{
    display:block;
    width:auto;
    max-width:100%;
    height:auto;
    object-fit:contain;
}
body.vibes-theme .vibes-topbar--replica .vibes-logo--replica.vibes-canonical-logo--custom{
    display:flex;
    width:min(160px,100%);
    height:52px;
    align-items:center;
    overflow:hidden;
}
body.vibes-theme .vibes-topbar--replica .vibes-logo--replica.vibes-canonical-logo--custom .vibes-canonical-logo__image{
    max-width:160px;
    max-height:48px;
}
body.vibes-network-theme:not(.shiftcontrol-view-stream) .vibes-topbar:not(.vibes-topbar--replica) .vibes-logo--shell-suite.vibes-canonical-logo--custom{
    display:flex;
    width:min(210px,100%);
    height:52px;
    align-items:center;
    overflow:hidden;
}
body.vibes-network-theme:not(.shiftcontrol-view-stream) .vibes-topbar:not(.vibes-topbar--replica) .vibes-logo--shell-suite.vibes-canonical-logo--custom .vibes-canonical-logo__image{
    max-width:210px;
    max-height:48px;
}
body.vibes-network-theme .vibes-footer-brand-logo,
body.vibes-network-theme .vibes-shell-footer-logo{display:inline-flex;align-items:center;text-decoration:none;}
body.vibes-network-theme .vibes-footer-brand-logo .vibes-canonical-logo__image,
body.vibes-network-theme .vibes-shell-footer-logo .vibes-canonical-logo__image{max-width:148px;max-height:34px;}
body.shiftcontrol-view-stream .footer-brand.vibes-canonical-logo--custom .vibes-canonical-logo__image{max-width:148px;max-height:34px;}
body.shiftcontrol-view-stream .footer-brand.vibes-canonical-logo--fallback{gap:7px;}
body.shiftcontrol-view-stream .footer-brand.vibes-canonical-logo--fallback .vibes-canonical-logo__mark{width:22px;height:26px;flex-basis:22px;}
body.shiftcontrol-view-stream .footer-brand.vibes-canonical-logo--fallback .vibes-canonical-logo__mark::before,
body.shiftcontrol-view-stream .footer-brand.vibes-canonical-logo--fallback .vibes-canonical-logo__mark::after{top:2px;width:6px;height:22px;}
body.shiftcontrol-view-stream .footer-brand.vibes-canonical-logo--fallback .vibes-canonical-logo__mark::before{left:5px;}
body.shiftcontrol-view-stream .footer-brand.vibes-canonical-logo--fallback .vibes-canonical-logo__mark::after{right:5px;}
body.shiftcontrol-view-stream .footer-brand.vibes-canonical-logo--fallback .vibes-canonical-logo__word{font-size:12px;}
@media(max-width:760px){
    body.vibes-theme .vibes-topbar--replica .vibes-logo--replica.vibes-canonical-logo--custom{width:min(80px,100%);height:42px;}
    body.vibes-theme .vibes-topbar--replica .vibes-logo--replica.vibes-canonical-logo--custom .vibes-canonical-logo__image{max-width:80px;max-height:38px;}
}
