/* Shared communication rail: the existing bell, messenger and personal recent chats. */
:root {
  --communication-rail-width:52px; --communication-control-size:40px;
  --communication-glass:#26332294;
  --communication-ink:#ffffff; --communication-edge:#ffffff1c; --communication-hover:#ffffff12;
  --communication-separator:#ffffff20; --communication-solid:var(--theme-sidebar);
}
:root[data-theme="classic"] {
  --communication-glass:#ffffff52; --communication-ink:#3e4b59; --communication-edge:#2837460e;
  --communication-hover:#344e680d; --communication-separator:#344e681c; --communication-solid:#f1f3f5;
}
:root[data-theme="dark"] { --communication-glass:#17212b73; }
:root[data-theme="vibe"] { --communication-glass:#41306494; }
:root[data-theme="courtyard"] { --communication-glass:#28202f94; }
:root[data-theme="macos"] { --communication-glass:#203b3294; }
html:root .communication-rail { display:none; }
@media(min-width:1101px){
  html:root body.communication-rail-visible>.page { margin-right:var(--communication-rail-width); }
  html:root .communication-rail:not([hidden]) {
    position:fixed;z-index:8;inset:var(--communication-rail-top,var(--workspace-header-height)) 0 0 auto;width:var(--communication-rail-width);
    display:flex;flex-direction:column;align-items:center;gap:4px;padding:var(--workspace-content-top,20px) 2px 8px;
    background:var(--communication-glass);
    color:var(--communication-ink);border-left:1px solid var(--communication-edge);
    backdrop-filter:blur(18px) saturate(115%);-webkit-backdrop-filter:blur(18px) saturate(115%);
    box-shadow:inset 1px 0 #ffffff08;
  }
  html:root .communication-notifications { flex:none; }
  html:root .communication-messenger { display:flex;flex:1;min-height:0;width:100%;flex-direction:column;align-items:center;gap:4px; }
  html:root .communication-messenger[hidden] { display:none; }
  html:root .communication-rail :is(.communication-button,#notifications-toggle) {
    position:relative;display:grid;place-items:center;flex:none;width:var(--communication-control-size);height:var(--communication-control-size);min-height:var(--communication-control-size);margin:0;padding:0;
    border:0;border-radius:10px;box-shadow:none;
    transition:background-color var(--motion-popup) ease,border-color var(--motion-popup) ease,color var(--motion-popup) ease;
  }
  html:root .communication-rail :is(.communication-button,#notifications-toggle) { background:transparent;color:var(--communication-ink); }
  html:root .communication-rail :is(.communication-button,#notifications-toggle):is(:hover,[aria-pressed="true"],[aria-expanded="true"]) { background:var(--communication-hover); }
  html:root .communication-rail .notification-panel {
    top:0;right:calc(100% + 14px);width:400px;max-height:calc(100dvh - var(--communication-rail-top,var(--workspace-header-height)) - 24px);
    border-radius:var(--radius-modal);box-shadow:var(--shadow-modal);
  }
  html:root body.communication-rail-visible .toast-region { right:calc(var(--communication-rail-width) + 16px); }
  html:root body.communication-rail-visible .window-tray { right:calc(var(--communication-rail-width) + 16px); }
}
html:root .communication-rail .ui-icon { width:20px;height:20px; }
html:root .communication-separator { flex:none;width:20px;height:1px;margin:3px 0;background:var(--communication-separator); }
html:root .communication-chats { flex:1;min-height:0;width:100%;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;align-items:center;gap:4px;padding:2px 0 8px;scrollbar-width:thin;scrollbar-color:var(--communication-separator) transparent;overscroll-behavior:contain; }
html:root .communication-rail .communication-chat {
  position:relative;display:grid;place-items:center;flex:none;width:var(--communication-control-size);height:var(--communication-control-size);min-height:var(--communication-control-size);margin:0;padding:0;
  border:0;border-radius:10px;background:transparent;color:var(--communication-ink);box-shadow:none;
  transition:background-color var(--motion-popup) ease,border-color var(--motion-popup) ease;
}
html:root .communication-rail .communication-chat:is(:hover,.is-current) { background:var(--communication-hover); }
html:root .communication-rail :is(.communication-chat,.communication-button,#notifications-toggle):focus-visible { outline:2px solid var(--communication-ink);outline-offset:1px; }
html:root .communication-rail .communication-chat:focus-visible { outline-offset:-2px; }
html:root .communication-rail .communication-avatar { display:grid;place-items:center;width:32px;height:32px;min-width:32px;overflow:hidden;border:0;border-radius:50%;font-size:.6875rem;font-weight:600;line-height:1;box-shadow:none; }
html:root .communication-avatar img { width:100%;height:100%;object-fit:cover; }
.communication-tone-0 { background:#b6d9e7;color:#143b50; }
.communication-tone-1 { background:#c8b9ed;color:#39265c; }
.communication-tone-2 { background:#b8dbc8;color:#204c3a; }
.communication-tone-3 { background:#efc9b4;color:#65402b; }
.communication-tone-4 { background:#ddc0d5;color:#5c2b4d; }
.communication-tone-5 { background:#d4dcb0;color:#3b4721; }
html:root .communication-rail .communication-count,html:root .communication-rail #notification-count {
  position:absolute;z-index:1;right:0;top:0;display:grid;place-items:center;min-width:16px;height:16px;min-height:16px;
  padding:0 3px;margin:0;border:0;border-radius:999px;background:#be4251;color:#ffffff;
  font:650 9px/16px system-ui,sans-serif;box-shadow:none;white-space:nowrap;
}
html:root .communication-rail :is(.communication-count,#notification-count)[hidden] { display:none; }
html:root .communication-chat.is-muted .communication-count { background:#647082; }
html:root .communication-chat.communication-stale .communication-count { opacity:.65; }
html:root .communication-tooltip { position:absolute;z-index:22;width:max-content;max-width:280px;padding:9px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text-primary);box-shadow:var(--shadow-dropdown);font-size:.8125rem;line-height:1.4;overflow-wrap:anywhere;pointer-events:none; }
@keyframes communication-chat-appear { from{opacity:0;}to{opacity:1;} }
.communication-chat-new { animation:communication-chat-appear var(--motion-popup) ease; }
@media(prefers-reduced-motion:reduce){html:root .communication-rail :is(.communication-chat,.communication-button,#notifications-toggle) { transition:none;animation:none; }}
@media(pointer:coarse){:root { --communication-rail-width:56px; --communication-control-size:44px; }}
@media(prefers-reduced-transparency:reduce){html:root .communication-rail:not([hidden]) { backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--communication-solid); }}
@media(forced-colors:active){html:root .communication-rail:not([hidden]) { --communication-ink:CanvasText;--communication-separator:CanvasText;--communication-hover:Canvas;background:Canvas;backdrop-filter:none;-webkit-backdrop-filter:none;border-left:1px solid CanvasText; }html:root .communication-chat.is-current { outline:2px solid Highlight; }}
