    .chat-page { padding: 0 2px 22px; }
    .chat-group { margin-bottom: 20px; }
    .chat-group-title { margin: 0 3px 8px; color: #7b847f; font-size: 11px; font-weight: 850; letter-spacing: .8px; text-transform: uppercase; }
    .chat-page-list { display: grid; gap: 9px; }
    .chat-page-person { position: relative; width: 100%; min-height: 69px; padding: 10px 12px; border: 1px solid #e6e4dd; border-radius: 18px; display: grid; grid-template-columns: 46px minmax(0,1fr) auto; gap: 11px; align-items: center; background: #fff; text-align: left; cursor: pointer; }
    .chat-page-person .link-unread-badge {
      top: 6px; right: auto; left: 47px; min-width: 20px; height: 20px;
      padding: 0 5px; border-width: 2px; font-size: 9px;
      box-shadow: 0 2px 7px rgba(169,61,53,.18);
    }
    .chat-page-person:active { transform: scale(.985); background: #f4f7f5; }
    .chat-page-avatar { width: 46px; height: 46px; border-radius: 14px; display: grid; place-items: center; color: #fff; background: linear-gradient(145deg,#668d79,#355e4b); font-size: 12px; font-weight: 850; }
    .chat-page-avatar[data-chat-profile] { cursor: pointer; }
    .chat-page-avatar[data-chat-profile]:active { transform: scale(.94); }
    .chat-page-copy strong, .chat-page-copy small { display: block; }
    .chat-page-copy small { margin-top: 4px; color: #79837d; font-size: 11px; line-height: 1.3; }
    .chat-page-state { color: #18181B; font-size: 11px; font-weight: 800; }
    .chat-page-meta { display: grid; justify-items: end; gap: 5px; white-space: nowrap; }
    .chat-page-time { color: #929894; font-size: 10px; font-weight: 650; }
    .picturelink-invite { margin-bottom: 17px; padding: 14px; border-radius: 21px; background: linear-gradient(145deg,#F4F4F5,#f5ecdf); }
    .picturelink-invite-title { margin: 0 2px 9px; color: #68746e; font-size: 11px; font-weight: 850; letter-spacing: .7px; text-transform: uppercase; }
    .picturelink-invite-list { display: grid; gap: 9px; margin-bottom: 17px; }
    .picturelink-folder-panel { display: none; gap: 9px; margin: 9px 0 17px; padding-left: 10px; border-left: 2px solid #dce8e1; }
    .picturelink-folder-panel.open { display: grid; animation: rise .18s ease both; }
    .picturelink-folder-row { margin-bottom: 9px; }
    .picturelink-folder-row.open { border-color: #aac8b8; background: #f1f7f4; }
    .picturelink-invite-head { display: grid; grid-template-columns: 46px minmax(0,1fr); gap: 11px; align-items: center; }
    .picturelink-invite-head strong, .picturelink-invite-head small { display: block; }
    .picturelink-invite-head small { margin-top: 4px; color: #748079; font-size: 11px; line-height: 1.35; }
    .picturelink-reason { margin: 11px 0 0; padding: 10px 11px; border-radius: 13px; color: #4f6057; background: rgba(255,255,255,.72); font-size: 12px; line-height: 1.45; }
    .picturelink-reason strong { display: block; margin-bottom: 3px; color: #18181B; font-size: 9px; letter-spacing: .5px; text-transform: uppercase; }
    .picturelink-invite-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 12px; }
    .picturelink-invite-actions button { height: 39px; border: 0; border-radius: 13px; color: #18181B; background: rgba(255,255,255,.8); font-weight: 800; cursor: pointer; }
    .picturelink-invite-actions button.primary { color: #fff; background: #18181B; }
    .picturelink-invite-actions button:disabled { opacity: .6; cursor: default; }
    #visitorMeDrawer { z-index: 43; }
    #visitorMeDrawer .me-name-card { position: relative; cursor: default; }
    #visitorMeDrawer .me-story-avatar { cursor: default; }
    #visitorMeDrawer .me-profile-stat { cursor: default; }
    #visitorMeDrawer .me-profile-stat[data-visitor-more] { cursor: pointer; }
    #visitorMeDrawer .me-profile-stat:active { transform: none; }
    #visitorMeDrawer .me-profile-stat[data-visitor-more]:active { transform: scale(.95); }
    #visitorMeDrawer .history button { width: auto; padding: 10px 4px; }
    #visitorMeDrawer .visitor-me-content.me-quick-content { padding-top: 0; }
    #visitorMeDrawer .profile-cover-wrap { border-radius: 24px; }
    #visitorMeDrawer .profile-hero.has-cover.has-bio .profile-bio-card {
      transition: margin-top .22s ease;
    }
    .visitor-me-content { display: grid; }
    .visitor-me-panel { grid-area: 1 / 1; display: block; visibility: hidden; pointer-events: none; }
    .visitor-me-panel.active { visibility: visible; pointer-events: auto; }
    /* Hidden tabs take no height, so the page ends where the open tab ends
       (not at the tallest tab, e.g. a long Post list under a short Spotlight). */
    .visitor-me-panel:not(.active), .me-quick-panel:not(.active) { height: 0; overflow: hidden; }
    .connect-picture-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; padding: 0 2px 18px; }
    .connect-picture { position: relative; min-height: 190px; padding: 13px; overflow: hidden; border: 0; border-radius: 19px; display: flex; flex-direction: column; justify-content: flex-end; color: #fff; background: var(--connect-picture); text-align: left; cursor: pointer; box-shadow: 0 5px 16px rgba(0,0,0,.08); }
    .connect-picture:nth-child(3n) { min-height: 225px; }
    .connect-picture-emoji { margin: auto; font-size: 47px; }
    .connect-picture-partner { position: absolute; top: 10px; right: 10px; width: 34px; height: 34px; border: 2px solid rgba(255,255,255,.85); border-radius: 50%; display: grid; place-items: center; background: rgba(255,255,255,.22); font-size: 18px; backdrop-filter: blur(6px); }
    .connect-picture strong, .connect-picture small { display: block; text-shadow: 0 1px 5px rgba(0,0,0,.3); }
    .connect-picture strong { font-size: 14px; }
    .connect-picture small { margin-top: 4px; font-size: 10px; opacity: .9; }
    .mini-avatar { width: 25px; height: 25px; flex: 0 0 25px; border-radius: 50%; display: grid; place-items: center; color: #fff; background: #292929; font-size: 9px; font-weight: 750; }
    .moment-feed { display: grid; gap: 16px; padding: 0 2px 18px; }
    .moment-hub { padding: 0 2px 18px; }
    .picwall-page { padding: 0 2px 20px; }
    .picwall-note { margin-bottom: 15px; padding: 12px 14px; border-radius: 16px; background: #F4F4F5; color: #52525B; font-size: 13px; line-height: 1.4; }
    .picwall-note strong { display: block; margin-bottom: 3px; color: #18181B; }
    .picwall-camera-button { width: 100%; height: 38px; margin-top: 10px; border: 0; border-radius: 12px; color: #fff; background: #18181B; font-weight: 800; cursor: pointer; }
    .story-post-fab {
      position: absolute;
      right: 18px;
      bottom: 92px;
      z-index: 14;
      width: 54px;
      height: 54px;
      border: 0;
      border-radius: 50%;
      display: none !important;
      place-items: center;
      color: #34383a;
      border: 1px solid rgba(120,126,124,.18);
      background: rgba(245,247,246,.78);
      box-shadow: 0 12px 28px rgba(40,48,44,.13);
      backdrop-filter: blur(14px);
      -webkit-backdrop-filter: blur(14px);
      font-size: 32px;
      font-weight: 400;
      line-height: 1;
      cursor: pointer;
    }
    .story-post-fab.show { display: grid; }
    .story-post-fab:active { transform: scale(.94); }
    .friends-fab-menu {
      position: absolute; right: 18px; bottom: 154px; z-index: 19;
      width: 190px; padding: 7px; border: 1px solid #e8e8e8; border-radius: 17px;
      display: none; background: #fff; box-shadow: 0 15px 38px rgba(0,0,0,.15);
    }
    .friends-fab-menu.show { display: grid; gap: 3px; }
    .friends-fab-menu button {
      min-height: 46px; padding: 8px 11px; border: 0; border-radius: 12px;
      display: flex; align-items: center; gap: 10px; background: transparent;
      font-weight: 700; text-align: left; cursor: pointer;
    }
    .friends-fab-menu button:hover { background: #f4f5f3; }
    .picwall-thread { display: grid; gap: 13px; }
    .picwall-post { padding: 14px; border: 1px solid #e5e3dc; border-radius: 21px; background: #fff; box-shadow: 0 4px 14px rgba(0,0,0,.035); }
    .picwall-pair { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; padding: 5px 4px 13px; }
    .picwall-person { display: grid; justify-items: start; gap: 4px; font-size: 11px; font-weight: 750; }
    .picwall-person.right { justify-items: end; }
    .picwall-avatar { width: 43px; height: 43px; border-radius: 50%; display: grid; place-items: center; background: #F4F4F5; font-size: 23px; box-shadow: 0 3px 10px rgba(0,0,0,.07); }
    .picwall-link { width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; background: #f2eee5; color: #18181B; font-size: 15px; }
    .picwall-live { margin: -3px 4px 10px; display: flex; align-items: center; justify-content: space-between; gap: 8px; color: #77817c; font-size: 10px; }
    .picwall-live strong { padding: 4px 7px; border-radius: 8px; color: #3F3F46; background: #F4F4F5; font-size: 9px; letter-spacing: .25px; text-transform: uppercase; }
    .picwall-post p { margin: 0; font-size: 15px; line-height: 1.48; }
    .picwall-media { height: 210px; margin-top: 12px; border-radius: 17px; display: grid; place-items: center; background: var(--picwall-bg); color: #fff; font-size: 58px; }
    .picwall-reactions { display: flex; gap: 7px; margin-top: 10px; }
    .picwall-reaction { height: 34px; padding: 0 10px; border: 0; border-radius: 11px; background: #f3f4f1; cursor: pointer; }
    .picwall-reaction.active { color: #a85b00; background: #fff0d8; }
    .story-distribution-actions {
      display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 5px;
      margin-top: 9px; padding-top: 9px; border-top: 1px solid #efefeb;
    }
    .story-distribution-actions button {
      min-width: 0; height: 38px; padding: 0 4px; border: 0; border-radius: 11px;
      display: grid; place-items: center; align-content: center; gap: 1px;
      color: #5c6460; background: #f5f6f4; font-size: 9px; font-weight: 750; cursor: pointer;
    }
    .story-distribution-actions button span { font-size: 15px; line-height: 1; }
    .story-distribution-actions button:active { background: #F4F4F5; transform: scale(.97); }
    .moment-card { overflow: hidden; border: 1px solid #ededed; border-radius: 20px; background: #fff; box-shadow: 0 3px 14px rgba(0,0,0,.04); cursor: pointer; }
    .moment-head { display: flex; align-items: center; gap: 10px; padding: 12px 13px; }
    .moment-head .mini-avatar { width: 36px; height: 36px; flex-basis: 36px; font-size: 11px; }
    .moment-head strong, .moment-head small { display: block; }
    .moment-head small { margin-top: 2px; color: #888; font-size: 11px; }
    .moment-camera-badge { width: 34px; height: 34px; margin-left: auto; border-radius: 50%; display: grid; place-items: center; color: #18181B; background: #F4F4F5; font-size: 17px; box-shadow: 0 3px 10px rgba(24, 24, 27, .08); }
    .moment-art { height: 248px; display: grid; place-items: center; color: rgba(255,255,255,.96); background: var(--moment-bg); font-size: 70px; }
    .moment-card:nth-child(3n) .moment-art { height: 300px; }
    .moment-actions { display: flex; gap: 10px; padding: 9px 12px 3px; }
    .moment-action { min-width: 38px; height: 36px; padding: 0 8px; border: 0; border-radius: 12px; display: grid; place-items: center; background: transparent; cursor: pointer; font-size: 21px; }
    .moment-action:hover { background: #f5f5f5; }
    .moment-action.liked { color: #f0445a; background: #fff0f2; }
    .moment-copy { padding: 5px 14px 15px; font-size: 14px; line-height: 1.45; }
    .moment-copy strong { margin-right: 5px; }
    .moment-comments { display: none; padding: 0 13px 14px; }
    .moment-comments.open { display: block; animation: rise .18s ease both; }
    .moment-comment-list { display: grid; gap: 7px; margin: 0 2px 10px; }
    .moment-comment { padding: 8px 10px; border-radius: 12px; background: #f6f6f6; font-size: 13px; line-height: 1.35; }
    .moment-comment strong { margin-right: 5px; }
    .moment-comment.ai-comment { background: #eef6ff; }
    .moment-comment .ai-label { margin-left: 4px; padding: 2px 5px; border-radius: 6px; color: #1976d2; background: #dceeff; font-size: 9px; vertical-align: 1px; }
    .moment-comment-compose { display: grid; grid-template-columns: 1fr auto; gap: 7px; }
    .moment-comment-input { min-width: 0; height: 39px; padding: 0 12px; border: 1px solid #e5e5e5; border-radius: 20px; outline: 0; background: #fff; }
    .moment-comment-send { height: 39px; padding: 0 14px; border: 0; border-radius: 20px; color: #fff; background: var(--blue); cursor: pointer; font-weight: 650; }
    .live-thread-messages {
      display: flex;
      flex-direction: column;
      width: 100%;
      min-width: 0;
      gap: 2px;
    }
    .live-thread-messages .message { flex: 0 0 auto; }
    .message {
      max-width: 90%; margin: 8px 0; padding: 0; display: flex; align-items: flex-end; gap: 7px;
      line-height: 1.42; background: transparent; animation: rise .2s ease both;
      touch-action: pan-y;
    }
    .message.user {
      width: 100%;
      max-width: 100%;
      align-self: flex-end;
      justify-content: flex-start;
      flex-direction: row-reverse;
      gap: 8px;
      background: transparent;
    }
    .message.assistant { align-self: flex-start; max-width: 90%; }
    .message-avatar {
      width: 28px; height: 28px; flex: 0 0 28px; border-radius: 50%; display: grid; place-items: center;
      color: #fff; background: #3F3F46; font-size: 9px; font-weight: 850; overflow: hidden;
    }
    html.is-chat-room-chrome .message:not(.user) .message-avatar,
    .main.is-direct-chat .message:not(.user) .message-avatar {
      cursor: pointer;
    }
    html.is-chat-room-chrome .message:not(.user) .message-avatar:active,
    .main.is-direct-chat .message:not(.user) .message-avatar:active {
      transform: scale(.94);
    }
    .soul-assistant-avatar { cursor: pointer; }
    .circle-private-feed .circle-private-post:not(.circle-compose-preview-post) .circle-private-avatar,
    .brain-notes-list .circle-private-post:not(.circle-compose-preview-post) .circle-private-avatar { cursor: pointer; }
    .circle-private-feed .circle-private-post:not(.circle-compose-preview-post) .circle-private-avatar:active,
    .brain-notes-list .circle-private-post:not(.circle-compose-preview-post) .circle-private-avatar:active { transform: scale(.94); }
    .soul-assistant-avatar:active { transform: scale(.94); }
    .message.assistant .message-avatar { color: #3F3F46; background: #F4F4F5; font-size: 17px; }
    .message.user .message-avatar { color: #fff; background: #242424; }
    .message-bubble {
      min-width: 0;
      max-width: 75%;
      padding: 10px 13px;
      border-radius: 18px;
      background: #f5f7f5;
      cursor: pointer;
      touch-action: pan-y;
      overflow-wrap: anywhere;
      word-break: break-word;
      white-space: pre-wrap;
    }
    .message.assistant .message-bubble { border-bottom-left-radius: 6px; }
    .message.user .message-bubble {
      padding: 10px 13px;
      background: #f1f1f1;
      border-bottom-right-radius: 6px;
    }
    .thread-header {
      position: sticky; top: -16px; z-index: 5; margin: -16px -25px 14px; padding: 16px 25px 14px;
      display: flex; align-items: center; gap: 12px; background: rgba(255,255,255,.96);
      border-bottom: 1px solid #ededed; backdrop-filter: blur(12px);
      box-shadow: 0 5px 14px rgba(0,0,0,.04);
    }
    .person-agent {
      position: absolute; right: 16px; top: 19px;
      width: 42px; height: 42px; border: 0; border-radius: 14px;
      display: grid; place-items: center; color: #fff;
      background: linear-gradient(135deg, #198cff, #7b55dc); cursor: pointer;
      font-size: 11px; font-weight: 700;
    }
    .thread-avatar {
      width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center;
      color: #fff; background: #292929; font-size: 14px; font-weight: 700;
    }
    .thread-avatar.ai { background: linear-gradient(135deg, #288eff, #8157db); }
    .thread-copy strong, .thread-copy small { display: block; }
    .thread-copy strong { font-size: 17px; }
    .thread-copy small { margin-top: 3px; color: #888; }
    .thread-copy .common-interests { color: #198cff; font-size: 12px; }
    .soul-summary-bar {
      position: sticky;
      top: -16px;
      z-index: 5;
      width: calc(100% + 50px);
      min-height: 38px;
      margin: -16px -25px 14px;
      padding: 9px 16px 9px 18px;
      border: 0;
      border-bottom: 1px solid #E4E4E7;
      box-sizing: border-box;
      display: flex;
      align-items: center;
      gap: 8px;
      overflow: visible;
      color: #3F3F46;
      background: rgba(239,247,243,.96);
      backdrop-filter: blur(12px);
      font-size: 12px;
      font-weight: 750;
    }
    .soul-summary-copy {
      flex: 1 1 auto;
      min-width: 0;
      padding: 0;
      border: 0;
      overflow: hidden;
      color: inherit;
      background: transparent;
      cursor: pointer;
      font: inherit;
      text-align: left;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    .soul-summary-add {
      flex: 0 0 auto;
      height: 26px;
      min-width: 44px;
      margin-left: auto;
      padding: 0 12px;
      border: 0;
      border-radius: 13px;
      color: #fff;
      background: #4a515b;
      cursor: pointer;
      font-size: 12px;
      font-weight: 750;
    }
    .soul-summary-bar:active { background: #F4F4F5; }
    .main:has(.soul-assistant-page) .composer-wrap { display: none; }
    .soul-assistant-page { padding: 2px 1px 28px; }
    .soul-assistant-head { display: flex; align-items: center; gap: 11px; margin-bottom: 16px; }
    .soul-assistant-head > button {
      width: 40px; height: 40px; flex: 0 0 40px; border: 0; border-radius: 50%;
      display: grid; place-items: center; background: #f1f3f1; cursor: pointer; font-size: 25px;
    }
    .soul-assistant-head h2, .soul-assistant-head small { display: block; margin: 0; }
    .soul-assistant-head h2 { font-size: 21px; }
    .soul-assistant-head small { margin-top: 2px; color: #7b847f; font-size: 11px; }
    .soul-assistant-hero {
      margin-bottom: 12px; padding: 14px; border-radius: 18px; display: flex; align-items: center; gap: 11px;
      color: #18181B; background: linear-gradient(145deg,#F4F4F5,#f0ecfb);
    }
    .soul-assistant-avatar { width: 44px; height: 44px; flex: 0 0 44px; border-radius: 50%; display: grid; place-items: center; background: rgba(255,255,255,.72); font-size: 23px; overflow: hidden; background-size: cover; background-position: center; }
    .soul-assistant-hero strong, .soul-assistant-hero p { margin: 0; }
    .soul-assistant-hero p { margin-top: 3px; color: #617068; font-size: 12px; }
    .soul-assistant-card { margin-bottom: 12px; padding: 15px; border: 1px solid #e5e8e5; border-radius: 19px; background: #fff; }
    .soul-assistant-card h3, .soul-assistant-card p { margin: 0; }
    .soul-assistant-card h3 { font-size: 15px; }
    .soul-assistant-card > p { margin-top: 7px; color: #5c6761; font-size: 13px; line-height: 1.48; }
    .soul-assistant-suggestions { margin-top: 12px; display: flex; flex-wrap: wrap; gap: 7px; }
    .soul-assistant-suggestions button { padding: 8px 10px; border: 0; border-radius: 14px; color: #3F3F46; background: #F4F4F5; cursor: pointer; font-size: 11px; font-weight: 750; }
    .soul-assistant-notes { margin-top: 10px; display: grid; gap: 8px; }
    .soul-assistant-note { padding: 10px 11px; border-radius: 13px; background: #f5f6f4; }
    .soul-assistant-note small { color: #8b918d; font-size: 9px; }
    .soul-assistant-note p { margin-top: 4px; color: #3f4743; font-size: 12px; white-space: pre-wrap; }
    .soul-assistant-empty { color: #8b918d !important; font-size: 12px !important; }
    .soul-assistant-input { min-height: 76px; margin-top: 10px; padding: 11px; border: 1px solid #dfe3df; border-radius: 13px; resize: vertical; background: #fafbf9; white-space: pre-wrap; }
    .soul-assistant-save { width: 100%; min-height: 40px; margin-top: 8px; border: 0; border-radius: 13px; color: #fff; background: #3F3F46; cursor: pointer; font-weight: 800; }
    @keyframes rise { from { opacity: 0; transform: translateY(7px); } }
    @media (hover: none) {
      .message { animation: none; }
    }
    .typing { display: flex; gap: 4px; padding: 12px 0; }
    .typing i { width: 6px; height: 6px; background: #aaa; border-radius: 50%; animation: blink .9s infinite alternate; }
    .typing i:nth-child(2) { animation-delay: .2s; }
    .typing i:nth-child(3) { animation-delay: .4s; }
    @keyframes blink { to { opacity: .25; transform: translateY(-2px); } }
    .composer-wrap {
      position: relative;
      z-index: 12;
      flex-shrink: 0;
      padding: 3px 10px calc(9px + env(safe-area-inset-bottom, 0px));
      margin-bottom: 0;
      background: #fff;
    }
    /* Keyboard open: the keyboard covers the home-bar area, so drop the
       safe-area padding and sit the box 2px above the keyboard. */
    html.is-keyboard-open .composer-wrap {
      padding-bottom: 2px !important;
    }
    .chat-room-chrome {
      flex: 0 0 auto;
      display: flex;
      flex-direction: column;
      min-height: 0;
      background: #fff;
    }
    /* keyboard-fit.js: hide the top bar while the keyboard slides in/out,
       then fade it back in at its final position (no visible jump). */
    .topbar,
    .chat-room-chrome {
      transition: opacity .18s ease;
    }
    html.is-keyboard-moving .topbar,
    html.is-keyboard-moving .chat-room-chrome {
      opacity: 0;
      transition: none;
    }
    .chat-room-chrome[hidden] { display: none !important; }
    .chat-room-header-host .topbar {
      position: relative;
      top: 0;
      left: auto;
      right: auto;
      transform: none;
      flex-shrink: 0;
      transition: none;
      background: #fff;
      pointer-events: none;
    }
    html.is-chat-room-chrome:not(.is-desktop-board)[data-main-tab="chat"] .chat-room-chrome .topbar {
      position: relative;
      top: 0;
      left: auto;
      right: auto;
      z-index: 1;
      background: #fff;
    }
    html.is-chat-room-chrome .chat-room-chrome,
    html.is-chat-room-chrome .chat-room-chrome .topbar {
      transform: none !important;
    }
    html.is-chat-room-chrome .chat-room-chrome.float-top-hide-target.is-scroll-hidden,
    html.is-chat-room-chrome .chat-room-chrome .topbar.float-top-hide-target.is-scroll-hidden {
      transform: none !important;
    }
    #chatRoomSoulHost .soul-summary-bar {
      position: relative;
      top: auto;
      margin: 0;
      width: 100%;
      flex-shrink: 0;
      padding: 9px 16px;
      box-sizing: border-box;
    }
    html.is-chat-room-chrome:not(.is-desktop-board)[data-main-tab="chat"] .main.is-chat-room-layout .conversation {
      padding-top: 0;
    }
    html.is-chat-room-chrome .main-bottom-shell { display: none !important; }
    .main.is-chat-room-layout .conversation {
      flex: 1 1 0%;
      min-height: 0;
    }
    html.is-keyboard-open .conversation:has(.agent-home) .agent-home {
      min-height: auto;
    }
    .composer-input-form {
      flex: 1 1 auto;
      min-width: 0;
      display: flex;
      margin: 0;
    }
    .main:has(.soul-line-page) .composer-wrap { display: none; }
    .main:has(.friends-chat-page) .composer-wrap { display: none; }
    .app:has(.group-chat-room) .topbar,
    .app:has(.group-chat-room) .main-bottom-shell { display: none !important; }
    .main:has(.main-search-page) .composer-wrap { display: none; }
    .main:has(.group-chat-room) .conversation {
      overflow: hidden;
      padding: 0;
    }
    .soul-line-page { padding: 4px 4px 30px; }
    .soul-line-page [data-soul-line-panel="chat"] .friends-chat-page { animation: none; }
    .soul-line-page [data-soul-line-panel="friends"] .link-contact-list { padding-bottom: 8px; }
    .soul-line-person { margin-bottom: 10px; padding: 13px; border: 1px solid #e5e8e4; border-radius: 17px; display: flex; align-items: center; gap: 12px; background: #fff; }
    .soul-line-avatar { width: 43px; height: 43px; border-radius: 14px; display: grid; place-items: center; background: #F4F4F5; font-size: 23px; }
    .soul-line-copy { min-width: 0; flex: 1; }
    .soul-line-copy strong, .soul-line-copy small { display: block; }
    .soul-line-copy small { margin-top: 3px; color: #7d8581; }
    .soul-line-add { min-width: 58px; height: 34px; border: 0; border-radius: 17px; color: #fff; background: #18181B; font-weight: 800; cursor: pointer; }
    .soul-line-add.added { color: #18181B; background: #F4F4F5; }
    .composer-dock { display: none; }
    .main.is-direct-chat .composer-dock,
    .main:has(.soul-summary-bar, .group-chat-room) .composer-dock { display: block; }
    .main:has(.group-chat-room.circle-tab-active) .composer-wrap,
    .main:has(.group-chat-room.circle-tab-active) .composer-dock { display: none; }
    .main:has(.global-page) .composer-wrap { display: none; }
    .app:has(.soul-line-page, .global-page) #menuButton,
    .app:has(.soul-line-page, .global-page) #profileButton {
      opacity: 0; visibility: hidden; pointer-events: none;
    }
    .main-mode-buttons { display: none; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 3px 10px 9px; padding: 6px; border: 1px solid #e5e7e4; border-radius: 24px; background: rgba(255,255,255,.96); box-shadow: 0 8px 28px rgba(36,50,43,.1); }
    .main-mode-buttons button { min-width: 0; height: 46px; border: 0; border-radius: 18px; color: #737b77; background: transparent; font-size: 13px; font-weight: 800; cursor: pointer; }
    .main-mode-buttons button.active { color: #fff; background: #18181B; }
    .main:has(.agent-home) .main-mode-buttons,
    .main:has(.global-page) .main-mode-buttons,
    .main:has(.soul-line-page) .main-mode-buttons { display: grid; }
    .main:has(.agent-home),
    .main:has(.soul-line-page),
    .main:has(.global-page) { position: relative; }
    .pane-chat .main:has(.agent-home) .composer-wrap {
      display: block;
      padding: 3px 10px 8px 20px;
    }
    .pane-chat .main:has(.agent-chat) .composer-wrap {
      display: block;
      padding: 3px 10px 8px 20px;
    }
    .pane-chat .main:has(.agent-home) .composer-dock { display: block; }
    .pane-chat .main:has(.agent-home) .composer {
      min-height: 58px;
      padding: 6px;
      gap: 5px;
      display: flex;
      align-items: center;
      border: 1px solid #eceeea;
      border-radius: 30px;
      background: #fff;
      box-shadow: 0 6px 20px rgba(0,0,0,.075);
    }
    .pane-chat .main:has(.agent-home) .composer-divider { display: none; }
    .pane-chat .main:has(.agent-home) .composer.thread-mode #plusButton { display: none !important; }
    .pane-chat .main:has(.agent-home) #composerHomeButton,
    .pane-chat .main:has(.agent-home) #composerFriendsButton {
      display: grid !important;
      place-items: center;
      align-content: center;
    }
    .pane-chat .main:has(.agent-home) #composerHomeButton {
      width: 52px;
      height: 52px;
      flex: 0 0 52px;
      border: 1px solid #eceeea;
      border-radius: 50%;
      color: #171717;
      background: #fff;
      box-shadow: 0 5px 16px rgba(0,0,0,.08);
    }
    .pane-chat .main:has(.agent-home) #composerHomeButton .composer-side-icon {
      font-size: 31px;
      font-weight: 350;
    }
    .pane-chat .main:has(.agent-home) #composerFriendsButton {
      width: 52px;
      height: 52px;
      flex: 0 0 52px;
      border: 0;
      border-radius: 20px;
      color: #5d6470;
      background: #eceef2;
      box-shadow: none;
    }
    .pane-chat .main:has(.agent-home) #composerFriendsButton .composer-side-label {
      font-size: 9px;
      font-weight: 800;
    }
    .pane-chat .main:has(.agent-home) .composer textarea { padding-left: 4px; }
    .pane-chat .main:has(.agent-home) .main-mode-buttons { display: none !important; }
    .main:has(.agent-home) .main-mode-buttons,
    .main:has(.soul-line-page) .main-mode-buttons,
    .main:has(.global-page) .main-mode-buttons {
      position: absolute; z-index: 12; inset: auto 0 10px; display: block;
      margin: 0; padding: 0; border: 0; background: transparent; box-shadow: none;
      pointer-events: none;
    }
    .main:has(.agent-home) .main-mode-buttons button,
    .main:has(.soul-line-page) .main-mode-buttons button,
    .main:has(.global-page) .main-mode-buttons button {
      position: absolute; bottom: 0; width: 52px; height: 52px; padding: 0;
      border: 1px solid #dde2de; border-radius: 50%; color: #53605a;
      background: rgba(255,255,255,.97); box-shadow: 0 7px 20px rgba(35,48,41,.14);
      font-size: 9px; pointer-events: auto;
    }
    .main:has(.agent-home) .main-mode-buttons [data-main-mode="global"] { left: 10px; }
    .main:has(.agent-home) .main-mode-buttons [data-main-mode="friendly"],
    .main:has(.soul-line-page) .main-mode-buttons [data-main-mode="friendly"] { right: 10px; }
    .main:has(.agent-home) .main-mode-buttons [data-main-mode="home"] { display: none; }
    .main:has(.soul-line-page) .main-mode-buttons [data-main-mode="home"] { display: none; }
    .main:has(.soul-line-page) .main-mode-buttons [data-main-mode="global"] { right: 10px; bottom: 60px; }
    .main:has(.global-page) .main-mode-buttons [data-main-mode="global"] { display: none; }
    .main:has(.global-page) .main-mode-buttons [data-main-mode="home"] { left: 10px; }
    .main:has(.global-page) .main-mode-buttons [data-main-mode="friendly"] { left: 10px; bottom: 60px; }
    .global-new-placeholder { min-height: 55vh; display: grid; place-items: center; color: #747b77; }
    .global-new-placeholder h2 { margin: 0; font-size: 22px; }
    .composer-side { width: 46px; height: 46px; border: 0; border-radius: 20px; display: grid; place-items: center; align-content: center; gap: 1px; color: #818884; background: #f3f4f2; cursor: pointer; flex: 0 0 46px; }
    .composer-side.active { color: #18181B; background: #F4F4F5; }
    .composer-side-icon { font-size: 19px; font-weight: 850; line-height: 1; }
    .composer-side-icon svg { width: 19px; height: 19px; display: block; }
    .composer-side-icon:empty { display: none; }
    .composer-side-label { font-size: 8px; font-weight: 800; }
    .composer {
      min-height: 58px; padding: 6px; display: flex; align-items: center; gap: 5px;
      border: 1px solid #eceeea; border-radius: 30px; background: #fff;
      box-shadow: 0 6px 20px rgba(0,0,0,.075);
    }
    .composer textarea { min-width: 0; }
    .composer-divider { width: 1px; height: 28px; background: #eceeea; flex: 0 0 1px; }
    .composer.thread-mode #plusButton,
    .main.is-direct-chat #plusButton,
    .main:has(.soul-summary-bar) #plusButton,
    .composer.thread-mode #composerHomeButton + .composer-divider,
    .main.is-direct-chat #composerHomeButton + .composer-divider,
    .main:has(.soul-summary-bar) #composerHomeButton + .composer-divider { display: none; }
    .composer.thread-mode #composerHomeButton,
    .main.is-direct-chat #composerHomeButton,
    .main:has(.soul-summary-bar) #composerHomeButton {
      width: 52px; height: 52px; flex-basis: 52px; border: 1px solid #eceeea;
      border-radius: 50%; color: #171717; background: #fff;
      box-shadow: 0 5px 16px rgba(0,0,0,.08);
    }
    .composer.thread-mode #composerHomeButton .composer-side-icon,
    .main.is-direct-chat #composerHomeButton .composer-side-icon,
    .main:has(.soul-summary-bar) #composerHomeButton .composer-side-icon { font-size: 31px; font-weight: 350; }
    .composer.thread-mode #composerHomeButton .composer-side-icon { transition: transform .2s ease; }
    .main.chat-attachments-open #composerHomeButton .composer-side-icon { transform: rotate(90deg); }
    .composer.thread-mode #composerHomeButton,
    .main.is-direct-chat #composerHomeButton,
    .main:has(.soul-summary-bar) #composerHomeButton { touch-action: manipulation; }
    .composer.thread-mode #composerHomeButton .composer-side-label,
    .main.is-direct-chat #composerHomeButton .composer-side-label,
    .main:has(.soul-summary-bar) #composerHomeButton .composer-side-label { display: none; }
    .composer.thread-mode #composerFriendsButton,
    .main.is-direct-chat #composerFriendsButton,
    .main:has(.soul-summary-bar) #composerFriendsButton { color: #714fd2; background: #f0edff; }
    .composer.thread-mode textarea,
    .main.is-direct-chat textarea,
    .main:has(.soul-summary-bar) textarea,
    .composer.thread-mode .composer-input-form,
    .main.is-direct-chat .composer-input-form,
    .main:has(.soul-summary-bar) .composer-input-form {
      flex: 1 1 auto;
      min-width: 0;
    }
    .composer.thread-mode textarea,
    .main.is-direct-chat textarea,
    .main:has(.soul-summary-bar) textarea {
      white-space: pre-wrap;
      overflow-x: hidden;
    }
    .plus, .mic, .send {
      border: 0; background: transparent; border-radius: 50%; cursor: pointer;
      display: grid; place-items: center; flex: 0 0 42px; height: 42px;
    }
    .plus { flex-basis: 38px; height: 38px; color: #5653c8; background: #eeedff; font-size: 20px; font-weight: 700; line-height: 1; }
    .plus.home-return { color: #18181B; background: #F4F4F5; font-size: 21px; }
    textarea {
      width: 100%; height: 42px; max-height: 110px; resize: none; border: 0; outline: 0;
      padding: 10px 4px 8px; color: #222; background: transparent; line-height: 22px; white-space: nowrap; overflow-x: hidden;
    }
    textarea::placeholder { color: #999; }
    .composer-await-reply {
      margin: 0;
      padding: 10px 4px 8px;
      flex: 1 1 auto;
      min-width: 0;
      font-size: 13px;
      line-height: 20px;
      color: #79837d;
      text-align: center;
    }
    .composer.is-await-reply textarea { display: none; }
    #input.prompt-scroll::placeholder {
      animation: prompt-scroll 5.4s ease-in-out infinite;
    }
    @keyframes prompt-scroll {
      0%, 18% { text-indent: 0; }
      70%, 88% { text-indent: var(--prompt-shift, -70px); }
      100% { text-indent: 0; }
    }
    @media (prefers-reduced-motion: reduce) {
      #input.prompt-scroll::placeholder { animation: none; text-overflow: ellipsis; }
    }
    .mic-shape { width: 13px; height: 21px; border: 2px solid #111; border-radius: 9px; position: relative; }
    .mic-shape::before { content: ""; position: absolute; width: 21px; height: 13px; left: -6px; top: 8px; border: 2px solid #111; border-top: 0; border-radius: 0 0 12px 12px; }
    .mic-shape::after { content: ""; position: absolute; height: 6px; border-left: 2px solid #111; left: 4px; top: 20px; }
    .send { color: #fff; background: var(--blue); transition: transform .15s, background .15s; }
    .send { position: relative; }
    .message-badge {
      position: absolute; right: -3px; top: -5px; min-width: 18px; height: 18px;
      padding: 0 5px; border: 2px solid #fff; border-radius: 999px;
      display: grid; place-items: center; color: #fff; background: #f04444;
      font-size: 10px; font-weight: 750; line-height: 1;
    }
    .message-badge.hidden { display: none; }
    .send.voice { background: var(--blue); }
    .wave { display: flex; align-items: center; gap: 2px; height: 22px; }
    .wave i { width: 2px; background: #fff; border-radius: 2px; }
    .wave i:nth-child(1), .wave i:nth-child(5) { height: 7px; }
    .wave i:nth-child(2), .wave i:nth-child(4) { height: 14px; }
    .wave i:nth-child(3) { height: 21px; }
    .message-symbol {
      width: 20px; height: 16px; border: 2px solid #fff; border-radius: 7px;
      position: relative;
    }
    .message-symbol::after {
      content: ""; position: absolute; left: 3px; bottom: -5px; width: 6px; height: 6px;
      border-left: 2px solid #fff; transform: skew(-28deg);
    }
    .home-symbol { color: #fff; font-size: 27px; font-weight: 800; line-height: 1; transform: translateY(-1px); }
    .composer.thread-mode .message-badge,
    .send.home-mode .message-badge { display: none; }
    .send.soul-mode { display: none; }
    .send.home-mode { display: none; }
    .send.voice:not(.home-mode):not(.soul-mode) { display: none; }
    .send.soul-mode .message-badge { display: none; }
    .soul-symbol { color: #fff; font-size: 25px; line-height: 1; animation: soulPulse 1.8s ease-in-out infinite; }
    @keyframes soulPulse { 50% { transform: scale(1.16) rotate(8deg); opacity: .82; } }
    .soul-awake-card { margin: 0 2px 14px; padding: 14px; border-radius: 19px; color: #3F3F46; background: linear-gradient(145deg,#F4F4F5,#eee9ff); box-shadow: 0 5px 18px rgba(65,80,126,.09); animation: rise .2s ease both; }
    .soul-awake-card strong, .soul-awake-card small { display: block; }
    .soul-awake-card strong { font-size: 14px; }
    .soul-awake-card small { margin-top: 6px; color: #65726c; font-size: 12px; line-height: 1.45; }
    .agent-home { min-height: 100%; padding: 34px 8px 12px; display: flex; flex-direction: column; justify-content: space-between; }
    .soul-line-moment-preview { height: 145px; border-radius: 15px; display: grid; place-items: center; background: linear-gradient(145deg,#e9ae87,#8f78c8); font-size: 50px; }
    .soul-line-moment-caption { margin-top: 9px; color: #36433d; font-size: 14px; line-height: 1.4; }
    .soul-line-stream { margin-top: 14px; padding-bottom: 22px; display: grid; gap: 15px; }
    .soul-line-chat { display: grid; grid-template-columns: 38px minmax(0,1fr); align-items: end; gap: 9px; }
    .soul-line-chat-avatar { width: 38px; height: 38px; border-radius: 13px; display: grid; place-items: center; background: #F4F4F5; font-size: 21px; }
    .soul-line-chat-content { min-width: 0; }
    .soul-line-chat-meta { margin: 0 0 4px 5px; display: flex; align-items: center; gap: 7px; }
    .soul-line-chat-meta strong { font-size: 12px; }
    .soul-line-chat-meta time { color: #929894; font-size: 10px; }
    .soul-line-chat-bubble { width: fit-content; max-width: 92%; padding: 11px 13px; border-radius: 17px 17px 17px 5px; color: #222; background: #f0f1ef; font-size: 14px; line-height: 1.42; }
    .soul-line-chat-bubble .soul-line-moment-preview { width: 190px; max-width: 100%; height: 125px; margin-bottom: 8px; }
    .soul-line-chat.right { grid-template-columns: minmax(0,1fr) 38px; }
    .soul-line-chat.right .soul-line-chat-avatar { grid-column: 2; grid-row: 1; }
    .soul-line-chat.right .soul-line-chat-content { grid-column: 1; grid-row: 1; display: grid; justify-items: end; }
    .soul-line-chat.right .soul-line-chat-meta { margin-right: 5px; }
    .soul-line-chat.right .soul-line-chat-bubble { border-radius: 17px 17px 5px 17px; background: #F4F4F5; }
    .soul-line-person-group { position: relative; display: grid; gap: 8px; }
    .soul-line-person-group + .soul-line-person-group { margin-top: 10px; padding-top: 16px; border-top: 1px solid #eceeeb; }
    .soul-line-person-head { display: flex; align-items: center; gap: 9px; margin-bottom: 1px; }
    .soul-line-person-head .soul-line-chat-avatar { flex: 0 0 38px; }
    .soul-line-person-head span:nth-child(2) { display: grid; gap: 1px; }
    .soul-line-person-head small { color: #929894; font-size: 10px; }
    .soul-line-person-group .soul-line-chat { display: block; padding-left: 47px; }
    .soul-line-person-group .soul-line-chat-bubble { max-width: 92%; }
    .soul-line-person-group.right .soul-line-person-head { justify-content: flex-end; }
    .soul-line-person-group.right .soul-line-person-head .soul-line-chat-avatar { order: 2; }
    .soul-line-person-group.right .soul-line-person-head span:nth-child(2) { text-align: right; }
    .soul-line-person-group.right .soul-line-chat { padding: 0 47px 0 0; display: grid; justify-items: end; }
    .soul-line-person-group.right .soul-line-chat-bubble { border-radius: 17px 17px 5px 17px; background: #F4F4F5; }
    .soul-line-clear { width: 34px; height: 34px; margin: 3px 0 0 47px; padding: 0; border: 0; border-radius: 50%; display: grid; place-items: center; color: #414743; background: #f2f3f1; font-size: 17px; cursor: pointer; transition: transform .16s, background .16s; }
    .soul-line-clear:hover { transform: scale(1.08); background: #eceeeb; }
    .soul-line-person-group.right .soul-line-clear { margin: 3px 47px 0 auto; }
    .soul-line-person-group.bombing { animation: soulBombShake .42s ease both; }
    .soul-line-person-group.bombing::after { content: "💥"; position: absolute; left: 50%; top: 50%; z-index: 3; font-size: 54px; pointer-events: none; animation: soulBombPoof .58s ease-out both; }
    @keyframes soulBombShake { 20% { transform: translateX(-5px) rotate(-1deg); } 40% { transform: translateX(5px) rotate(1deg); } 60% { transform: translateX(-3px); } 80% { transform: translateX(3px); } 100% { opacity: 0; transform: scale(.92); } }
    @keyframes soulBombPoof { 0% { opacity: 0; transform: translate(-50%,-50%) scale(.25); } 40% { opacity: 1; transform: translate(-50%,-50%) scale(1.18); } 100% { opacity: 0; transform: translate(-50%,-62%) scale(1.7); } }
    .agent-welcome { text-align: center; }
    .agent-welcome h2 { margin: 0 0 22px; font-size: 27px; }
    .agent-welcome p { max-width: 310px; margin: 9px auto 24px; color: #858585; font-size: 13px; line-height: 1.5; }
    .agent-thought-feed { margin: 0 0 16px; display: grid; gap: 9px; }
    .agent-thought-feed-label { margin: 5px 4px 9px; color: #303633; text-align: center; font-size: 19px; font-weight: 850; letter-spacing: -.3px; }
    .agent-thought-feed-label time { display: block; margin-top: 5px; color: #8a918d; font-size: 11px; font-weight: 650; letter-spacing: 0; }
    .agent-thought-card { position: relative; margin-left: 18px; margin-right: 2px; padding: 12px 13px; border: 1px solid #eee3cf; border-radius: 7px 19px 19px 19px; background: linear-gradient(145deg,#fffdf7,#fff4dc); }
    .agent-thought-card header { position: static; min-height: 0; padding: 0; border: 0; display: grid; grid-template-columns: 32px minmax(0,1fr) auto; align-items: center; gap: 9px; background: transparent; box-shadow: none; }
    .agent-thought-avatar { width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; color: #fff; background: var(--thought-avatar,#6f8a7e); font-size: 9px; font-weight: 850; }
    .agent-thought-person strong, .agent-thought-person small { display: block; }
    .agent-thought-person strong { color: #3d403e; font-size: 12px; }
    .agent-thought-person small { margin-top: 2px; color: #9b6b19; font-size: 9px; }
    .agent-thought-card time { color: #a49c8f; font-size: 10px; }
    .agent-thought-card p { margin: 7px 0 0; color: #3d403e; font-size: 13px; line-height: 1.45; }
    .agent-thought-actions { margin-top: 10px; display: flex; justify-content: flex-end; gap: 8px; }
    .agent-thought-actions button { min-width: 54px; padding: 6px 10px; border: 0; border-radius: 999px; color: #777e7a; background: rgba(255,255,255,.72); cursor: pointer; font-size: 10px; font-weight: 750; }
    .agent-thought-actions button.active { color: #d44b63; background: #ffe9ee; }
    .agent-thought-actions .thought-bomb { min-width: 32px; width: 32px; padding: 0; font-size: 15px; }
    .agent-thought-card.bombing { animation: soulBombShake .42s ease both; }
    .agent-thought-card.bombing::after { content: "💥"; position: absolute; left: 50%; top: 50%; z-index: 3; font-size: 48px; pointer-events: none; animation: soulBombPoof .58s ease-out both; }
    .agent-thought-comments { display: none; margin-top: 9px; padding-top: 9px; border-top: 1px solid rgba(163,126,61,.16); }
    .agent-thought-comments.show { display: block; }
    .agent-thought-comment-list { display: grid; gap: 5px; margin-bottom: 7px; color: #686e6a; font-size: 10px; }
    .agent-thought-comment-compose { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 6px; }
    .agent-thought-comment-compose input { min-width: 0; padding: 8px 10px; border: 1px solid #eadfc9; border-radius: 12px; outline: 0; background: #fff; font-size: 10px; }
    .agent-thought-comment-compose button { padding: 7px 10px; border: 0; border-radius: 11px; color: #fff; background: #9b6b19; cursor: pointer; font-size: 10px; font-weight: 750; }
    .agent-quick-list { display: grid; gap: 9px; padding-bottom: 100px; }
    .agent-quick { width: 100%; min-height: 58px; padding: 11px 14px; border: 1px solid #e8e7e2; border-radius: 18px; display: grid; grid-template-columns: 38px minmax(0,1fr) auto; align-items: center; gap: 11px; background: #fff; text-align: left; cursor: pointer; }
    .agent-quick:active { transform: scale(.985); background: #f5f7f6; }
    .agent-quick-icon { width: 38px; height: 38px; border-radius: 13px; display: grid; place-items: center; background: #eef2ff; font-size: 19px; }
    .agent-quick strong, .agent-quick small { display: block; }
    .agent-quick small { margin-top: 3px; color: #8a8f8c; font-size: 11px; }
    .agent-quick-arrow { color: #9a9d9b; font-size: 18px; }
    .arrow { width: 11px; height: 11px; border-left: 2px solid #fff; border-top: 2px solid #fff; transform: rotate(45deg) translate(2px, 2px); }
    .arrow::after { content: ""; position: absolute; width: 2px; height: 16px; background: #fff; transform: rotate(-45deg); left: 4px; top: -3px; }
    .overlay {
      position: absolute; inset: 0; z-index: 40; background: rgba(0,0,0,.16);
      opacity: 0; pointer-events: none; transition: opacity .22s;
    }
    .overlay.show { opacity: 1; pointer-events: auto; }
    .drawer {
      position: absolute; z-index: 42; inset: 0 auto 0 0; width: min(84%, 365px);
      padding: var(--safe-top) 20px 24px; background: #fff; transform: translateX(-102%);
      transition: transform .27s cubic-bezier(.2,.8,.2,1), box-shadow .22s;
      box-shadow: none;
      overflow-y: auto;
      overflow-anchor: none;
      overscroll-behavior: contain;
      scrollbar-width: none;
    }
    .drawer::-webkit-scrollbar { display: none; }
    .drawer.show { transform: translateX(0); box-shadow: 14px 0 35px rgba(0,0,0,.12); }
    .drawer.right {
      inset: 0 0 0 auto;
      transform: translateX(102%);
      box-shadow: none;
    }
    .drawer.right.show { transform: translateX(0); box-shadow: -14px 0 35px rgba(0,0,0,.12); }
    .drawer.right.is-right-panel-slide.is-dragging { transition: none; }
    .drawer h2 { margin: 0 -20px 16px; padding: 14px 20px 12px; font-size: 22px; text-align: center; }
    .history { margin-top: 25px; }
    .history small { display: block; color: #999; margin: 0 10px 8px; }
    .history button { width: 100%; border: 0; background: transparent; border-radius: 12px; text-align: left; padding: 12px 10px; cursor: pointer; }
    .history button:hover { background: #f5f5f5; }
    .me-page { display: none; padding-bottom: 24px; }
    .me-page.active { display: block; animation: rise .2s ease both; }
    .me-home.hidden { display: none; }
    .me-profile-strip { grid-column: 1 / -1; margin: 2px -3px -2px; padding: 8px 3px 1px; border-top: 1px solid #e7e7e7; display: grid; grid-template-columns: repeat(4,1fr); }
    .me-profile-stat { min-width: 0; padding: 1px; border: 0; border-right: 1px solid #e4e4e4; display: grid; justify-items: center; gap: 2px; background: transparent; cursor: pointer; }
    .me-profile-stat:last-child { border-right: 0; }
    .me-profile-stat:active { transform: scale(.95); }
    .me-stat-icon { width: 24px; height: 24px; border-radius: 8px; display: grid; place-items: center; background: #F4F4F5; font-size: 12px; }
    .me-profile-stat strong { font-size: 13px; line-height: 1; }
    .me-profile-stat small { max-width: 100%; overflow: hidden; color: #7b847f; font-size: 8px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
    .me-more-pop {
      position: absolute;
      left: auto;
      right: 8px;
      bottom: 54px;
      z-index: 8;
      min-width: 132px;
      padding: 6px;
      border-radius: 16px;
      background: #fff;
      box-shadow: 0 12px 28px rgba(0,0,0,.16);
    }
    .me-more-pop[hidden] { display: none; }
    .me-more-pop button {
      width: 100%;
      min-height: 40px;
      padding: 8px 10px;
      border: 0;
      border-radius: 12px;
      display: flex;
      align-items: baseline;
      justify-content: space-between;
      gap: 10px;
      background: transparent;
      cursor: pointer;
      text-align: left;
    }
    .me-more-pop button:hover { background: #f4f6f4; }
    .me-more-pop strong { font-size: 14px; }
    .me-more-pop small { color: #7b847f; font-size: 11px; font-weight: 700; }

    /* Group chats (meetups): system lines, the sender's name on their bubbles. */
    .message.chat-system-line { display: flex; justify-content: center; margin: 6px 0; }
    .chat-system-text { margin: 0; max-width: 80%; padding: 4px 10px; border-radius: 999px; background: #eeeff1; color: #6c6f76; font-size: 12px; line-height: 1.35; text-align: center; }
    .message-sender-name { display: block; margin-bottom: 2px; font-size: 11.5px; font-weight: 650; color: #6c6f76; }
    .message-bubble.photo-bubble .message-sender-name { padding: 6px 8px 0; }
    html[data-profile-theme="dark"] .chat-system-text { background: #1d2128; color: #a9afba; }
    html[data-profile-theme="dark"] .message-sender-name { color: #a9afba; }

    /* In a chat: ← 🔍 on the left, the name in the middle, (Us) ⋯ on the right. */
    .chat-search-button[hidden] { display: none !important; }
    .app:has(.is-direct-chat, .soul-summary-bar) .chat-search-button { width: 40px; height: 40px; padding: 0; border: 0; background: transparent; box-shadow: none; color: #30343a; display: grid; place-items: center; pointer-events: auto; }
    /* Two buttons in each corner: both widen alike so the title stays centered. */
    html .app:has(#chatSearchButton:not([hidden])) .topbar { grid-template-columns: 84px minmax(0, 1fr) 84px; }
    html .app:has(#chatSearchButton:not([hidden])) .topbar-corner-left { display: flex; justify-content: flex-start; align-items: center; gap: 2px; width: auto; min-width: 0; justify-self: start; }
    html .app:has(#chatSearchButton:not([hidden])) .topbar-corner-right { display: flex; justify-content: flex-end; align-items: center; gap: 2px; width: auto; min-width: 0; justify-self: end; }
    html .app:has(#chatSearchButton:not([hidden])) .topbar-corner-right #findableTopButton { display: none; }

    /* Chat info (⋯) and search: light gray cards on a white page. White all the way up, so it
       matches the iPhone status bar, which iOS keeps white in the home-screen app. */
    .ci-page { position: fixed; inset: 0; z-index: 205; display: flex; flex-direction: column; background: #fff; color: #20211f; transform: translateX(100%); transition: transform .26s cubic-bezier(.2, .8, .2, 1); }
    .ci-page.open { transform: none; }
    .ci-head { flex: none; display: grid; grid-template-columns: 44px 1fr 44px; align-items: center; padding: max(10px, env(safe-area-inset-top, 0px)) 10px 8px; }
    .ci-back { width: 40px; height: 40px; padding: 0; border: 0; border-radius: 50%; background: #f4f3ef; color: #20211f; display: grid; place-items: center; cursor: pointer; }
    .ci-title { min-width: 0; text-align: center; display: grid; }
    .ci-title strong { font-size: 16.5px; font-weight: 650; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .ci-title small { font-size: 12px; color: #6c6d67; }
    .ci-body { flex: 1; overflow-y: auto; padding: 4px 16px calc(28px + env(safe-area-inset-bottom, 0px)); }
    .ci-card { margin-top: 12px; padding: 2px 14px; border-radius: 18px; background: #f6f5f2; }
    .ci-card:empty { display: none; }
    .ci-row { width: 100%; min-height: 52px; padding: 6px 0; border: 0; background: none; color: #20211f; font: inherit; text-align: left; display: flex; align-items: center; gap: 13px; }
    button.ci-row { cursor: pointer; }
    .ci-row + .ci-row { box-shadow: inset 35px 1px 0 -34px #f6f5f2, inset 0 1px #e9e8e3; }
    .ci-row.muted { color: #6c6d67; }
    .ci-ic { flex: none; display: grid; }
    .ci-text { flex: 1; min-width: 0; font-size: 16px; display: grid; gap: 1px; }
    .ci-text small { font-size: 12.5px; color: #6c6d67; }
    .ci-text small.soon { color: #be123c; font-weight: 600; }
    .ci-value { max-width: 45%; font-size: 14px; color: #6c6d67; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .ci-chev { flex: none; color: #b4b3ac; display: grid; }
    .ci-chev svg { width: 16px; height: 16px; }
    .ci-switch { position: relative; flex: none; width: 46px; height: 28px; border-radius: 999px; background: #e4e3de; transition: background .2s; }
    .ci-switch i { position: absolute; left: 3px; top: 3px; width: 22px; height: 22px; border-radius: 50%; background: #fff; box-shadow: 0 1px 2px rgb(0 0 0 / .2); transition: left .2s; }
    .ci-switch.on { background: #2e7d55; }
    .ci-switch.on i { left: 21px; }
    .ci-pill { display: block; width: 100%; height: 48px; margin-top: 16px; border: 1px solid #f3d5d2; border-radius: 999px; background: #fff; color: #b42318; font: inherit; font-size: 15.5px; font-weight: 600; cursor: pointer; }
    .ci-empty { margin: 40px 0; text-align: center; font-size: 14.5px; color: #6c6d67; }
    .ci-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; margin-top: 12px; }
    .ci-tile { aspect-ratio: 1; padding: 0; border: 0; border-radius: 8px; overflow: hidden; background: #e7e6e1; cursor: pointer; }
    .ci-tile img { width: 100%; height: 100%; object-fit: cover; display: block; }
    .ci-loc { display: grid; place-items: center; align-content: center; gap: 4px; padding: 6px; color: #20211f; text-decoration: none; font-size: 12px; text-align: center; background: #f6f5f2; }
    .ci-viewer { position: fixed; inset: 0; z-index: 270; display: grid; place-items: center; background: rgb(0 0 0 / .92); }
    .ci-viewer img { max-width: 100%; max-height: 100%; object-fit: contain; }
    .ci-confirm { position: fixed; inset: 0; z-index: 260; display: grid; align-items: end; justify-items: center; padding: 0 12px calc(14px + env(safe-area-inset-bottom, 0px)); background: rgb(16 24 40 / .4); }
    .ci-confirm-card { width: min(100%, 420px); padding: 18px; border-radius: 20px; background: #fff; display: grid; gap: 8px; }
    .ci-confirm-card strong { font-size: 17px; }
    .ci-confirm-card p { margin: 0; font-size: 14.5px; line-height: 1.45; color: #4f504b; }
    .ci-confirm-card > div { display: flex; gap: 8px; margin-top: 8px; }
    .ci-confirm-card > div button { flex: 1; height: 46px; border: 1px solid #e2e1db; border-radius: 999px; background: #fff; color: #20211f; font: inherit; font-size: 15px; font-weight: 600; cursor: pointer; }
    .ci-confirm-card > div button.danger { border-color: #e5484d; background: #e5484d; color: #fff; }
    .ci-reasons { display: grid !important; gap: 6px !important; }
    .ci-reasons button { height: 46px; text-align: left; padding: 0 16px !important; font-weight: 500 !important; }
    .ci-search-head { flex: none; display: flex; align-items: center; gap: 10px; padding: max(10px, env(safe-area-inset-top, 0px)) 14px 10px; background: #fff; border-bottom: 1px solid #ececea; }
    .ci-search-page { background: #fff; }
    .ci-search-box { flex: 1; height: 42px; display: flex; align-items: center; gap: 8px; padding: 0 14px; border-radius: 999px; background: #f4f3ef; color: #6c6d67; }
    .ci-search-box input { flex: 1; min-width: 0; border: 0; background: none; font: inherit; font-size: 16px; color: #20211f; outline: none; }
    .ci-cancel { border: 0; background: none; color: #20211f; font: inherit; font-size: 15.5px; font-weight: 600; cursor: pointer; }
    .ci-count { margin: 12px 0 2px; font-size: 12.5px; color: #6c6d67; }
    .ci-hit { width: 100%; padding: 12px 0; border: 0; border-bottom: 1px solid #f0efea; background: none; color: #20211f; font: inherit; text-align: left; cursor: pointer; }
    .ci-hit span { display: flex; gap: 8px; align-items: baseline; }
    .ci-hit strong { font-size: 14px; }
    .ci-hit small { font-size: 12px; color: #6c6d67; }
    .ci-hit p { margin: 3px 0 0; font-size: 15px; line-height: 1.4; }
    .ci-hit mark { background: #fff1c2; color: inherit; border-radius: 3px; }
    .message.ci-found .message-bubble { box-shadow: 0 0 0 3px #fde68a; transition: box-shadow .3s; }
    html[data-profile-theme="dark"] .ci-page, html[data-profile-theme="dark"] .ci-search-head, html[data-profile-theme="dark"] .ci-search-page { background: #09090B; color: #f2f3f5; }
    html[data-profile-theme="dark"] .ci-card, html[data-profile-theme="dark"] .ci-back, html[data-profile-theme="dark"] .ci-confirm-card, html[data-profile-theme="dark"] .ci-pill { background: #171a20; color: #f2f3f5; }
    html[data-profile-theme="dark"] .ci-row, html[data-profile-theme="dark"] .ci-cancel, html[data-profile-theme="dark"] .ci-hit, html[data-profile-theme="dark"] .ci-back { color: #f2f3f5; }
    html[data-profile-theme="dark"] .ci-row + .ci-row { box-shadow: inset 35px 1px 0 -34px #171a20, inset 0 1px #2a2e36; }
    html[data-profile-theme="dark"] .ci-search-box { background: #242830; }
    html[data-profile-theme="dark"] .ci-search-box input { color: #f2f3f5; }

    /* Chat list: a pinned chat shows a pin after its name; a muted one a crossed bell and a dot. */
    .chat-flags { display: inline-flex; gap: 4px; align-items: center; margin-left: 6px; vertical-align: -1px; color: #9a9b94; }
    .chat-flag { display: grid; }
    /* Muted: new messages show as a small red dot, with no number. */
    .link-contact.recent-chat.is-muted .link-unread-badge, .cl-row.is-muted .cl-badge { width: 9px; height: 9px; min-width: 0; padding: 0; border-radius: 50%; font-size: 0; line-height: 0; overflow: hidden; background: #e11d48; }

    /* Friends → Chats: search box, then the Circle row, then one list (no headings). */
    .main-chat-page .chat-group-title { display: none; }
    .friends-top { padding: 2px 0 0; }
    .friends-search {
      display: flex;
      align-items: center;
      gap: 8px;
      height: 38px;
      margin: 0 0 4px;
      padding: 0 12px;
      border-radius: 12px;
      background: #f2f2f0;
      color: #8a8b84;
    }
    .friends-search input {
      flex: 1;
      min-width: 0;
      border: 0;
      padding: 0;
      background: transparent;
      color: #20211f;
      font: inherit;
      font-size: 16px;
      outline: none;
      -webkit-appearance: none;
      appearance: none;
    }
    .friends-search input::-webkit-search-cancel-button { -webkit-appearance: none; }

    /* The Circle card: the Circle mark, a line, a red dot when friends posted something new. */
    .circle-card {
      width: 100%;
      display: flex;
      align-items: center;
      gap: 12px;
      margin: 6px 0 10px;
      padding: 12px;
      border: 0;
      border-radius: 16px;
      background: #fff;
      box-shadow: 0 0 0 1px #ecebe6, 0 2px 8px rgba(0, 0, 0, .04);
      color: inherit;
      font: inherit;
      text-align: left;
      cursor: pointer;
    }
    .circle-card > svg:last-child { flex: none; color: #b0b1aa; }
    .circle-card .circle-mark { flex: none; width: 40px; height: 40px; }
    .circle-card-copy {
      flex: 1;
      min-width: 0;
      display: grid;
      gap: 2px;
    }
    .circle-card-copy strong { font-size: 15.5px; font-weight: 600; }
    .circle-card-copy small {
      overflow: hidden;
      color: #6c6d67;
      font-size: 13px;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    .circle-card.is-new .circle-card-copy small { color: #20211f; }
    .circle-card-dot {
      flex: none;
      width: 10px;
      height: 10px;
      border-radius: 50%;
      background: #e11d48;
    }
    .main-chat-page .is-search-miss { display: none !important; }
    .friends-search-empty[hidden] { display: none; }
    .friends-search-empty {
      display: grid;
      justify-items: center;
      gap: 12px;
      padding: 28px 10px;
      color: #6c6d67;
      font-size: 14px;
      text-align: center;
    }
    .friends-search-empty strong { font-weight: 500; }
    .friends-search-empty button {
      border: 0;
      background: none;
      color: #20211f;
      font: inherit;
      font-weight: 600;
      cursor: pointer;
    }

    /* Chats: scan inside the search box, + (add a friend) beside it; the + at the top is gone. */
    .friends-search-row { display: flex; align-items: center; gap: 8px; margin: 0 0 4px; }
    .friends-search-row .friends-search { flex: 1; min-width: 0; margin: 0; padding-right: 4px; }
    .friends-search-scan { flex: none; width: 34px; height: 34px; border: 0; background: none; color: #6c6d67; display: grid; place-items: center; padding: 0; cursor: pointer; }
    .friends-add { flex: none; width: 38px; height: 38px; border: 0; border-radius: 50%; background: #f2f2f0; color: #30343a; display: grid; place-items: center; padding: 0; cursor: pointer; }
    html:not(.is-desktop-board)[data-main-tab="chat"] #menuButton.is-add-friend:not(.is-back) { visibility: hidden; pointer-events: none; }
